BREAKING CHANGE: remove Tavily, Firecrawl, provider fallback, and web-search-config. web_search and web_fetch now use Exa-shaped inputs and return raw Exa-style details.
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# AGENTS.md
|
|
|
|
## Project overview
|
|
- `pi-web-search` is a Pi extension package that exposes Exa-backed `web_search` and `web_fetch`.
|
|
- Entry point: `index.ts`.
|
|
- Runtime/config loading: `src/runtime.ts`, `src/config.ts`.
|
|
- Tool/input schemas: `src/schema.ts`.
|
|
- Exa SDK adapter helpers: `src/providers/exa.ts`.
|
|
- Tool adapters: `src/tools/`.
|
|
- Output formatting: `src/format.ts`.
|
|
|
|
## Commands
|
|
- Install deps: `npm install`
|
|
- Run tests: `npm test`
|
|
|
|
## Working conventions
|
|
- The package is Exa-only. Do not reintroduce provider registries, fallback graphs, or provider-specific option blocks.
|
|
- `web_search` should stay Exa-shaped and map closely to `exa.search(query, options)`.
|
|
- `web_fetch` should stay Exa-shaped and map closely to `exa.getContents(urls, options)`.
|
|
- Keep tool `details` close to raw Exa responses; keep human-readable formatting compact in `src/format.ts`.
|
|
- Prefer focused tests next to the changed modules.
|
|
- Update `README.md` and config examples when Exa config/schema or tool parameters change.
|
|
|
|
## Docs
|
|
- Design specs live under `docs/superpowers/specs/`.
|
|
- Use `YYYY-MM-DD-<topic>-design.md` naming for design specs.
|
|
- If a new spec supersedes an older one, say that explicitly in the newer file.
|