Skip to content

feat(cli): add Alexandria discovery and Find Tools - #220

Draft
developersdigest wants to merge 9 commits into
mainfrom
alexandria-cli
Draft

feat(cli): add Alexandria discovery and Find Tools#220
developersdigest wants to merge 9 commits into
mainfrom
alexandria-cli

Conversation

@developersdigest

@developersdigest developersdigest commented Sep 11, 2026

Copy link
Copy Markdown
Member

Adds Alexandria discovery and provider execution to the CLI: search --sources alexandria returns tool contracts, find-tools explores providers and capabilities, and scrape --exchange executes a selected tool with a stable request ID. Semantic and contextual matches share the tools result.

Updates the bundled main, Search, and Scrape skills with the Alexandria workflow, unified data.tools results, Find Tools pagination, and execution retry guidance. Detailed examples live in a shared skill reference.

Includes the existing Exchange command groundwork and retains the proxy commands for the current deployment. The Alexandria workflow uses the canonical Search/Scrape endpoints and requires the billing API update plus the matching Exchange deployment before release.

CLI implementation validation: 112 focused command tests and the TypeScript build passed. Semantic discovery and free Find Tools calls passed against firecrawl-local; paid execution was covered with mock HTTP tests. The local Cubic review had no remaining valid findings. The skill update passed frontmatter validation, Prettier, reference-link and shell-syntax checks, and the feedback guard checks; command flags and Particle inputs were verified against the implementation and a prior live response.

Related previews: SDKs, MCP, and docs.

…xchange command

Search accepts `--sources exchange` and passes `data.exchange[]` capability
hits through untouched (readable "=== Exchange Providers ===" section, JSON
keeps id/creditsUsed). New `firecrawl exchange discover [cohort] [provider]
[capability] [--query q] [--limit n] [--expand all]` walks or semantically
searches the catalogue via GET /exchange/discover, and `firecrawl exchange
retrieve <provider/capability>... --options '<json>'` executes capabilities
through the url-less POST /v2/scrape {exchange:[...], integration:'cli'}
shape, printing each item with its creditsCost and mirroring the API
envelope with --json. `firecrawl scrape --exchange provider/capability
--options '<json>'` delegates to the same executor. Exchange requests are
refused locally in keyless mode with an explanatory error (exit 1) and API
error bodies (403/402/409) are relayed instead of the axios status text.

Claude-Session: https://claude.ai/code/session_01KpbshKPNuCDBD4TLJ8T2UQ
Exchange capability addresses are provider-relative (e.g. series/observations
for fred), not finance/series/observations. Fix README, help text, option
descriptions, comments and test fixtures; no behaviour change.

Claude-Session: https://claude.ai/code/session_01KpbshKPNuCDBD4TLJ8T2UQ
…accept

Carry requiresAction through exchange retrieve and scrape failures, print a
terms block in human mode and a failure envelope in --json mode, add
`firecrawl alexandria terms <provider>` and `terms accept <provider>`
(interactive only, posts to the dashboard accept route), register the group as
`alexandria` with `exchange` as a hidden alias, and document the flow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant