/** * web_search tool for pi — Exa MCP search with DuckDuckGo fallback. * * web_fetch is handled by the npm:pi-smart-fetch package (TLS impersonation + * defuddle content extraction). This extension only provides search so it works * regardless of which model pi is currently routed to. Exa MCP and DDG both * require no API key for this use case. * * Why wreq-js: bare Node `fetch()` (even with a spoofed User-Agent header) gets * served DDG's anti-bot anomaly/captcha page (`cc=botnet`) because the TLS/HTTP2 * fingerprint leaks "this is Node, not Chrome". wreq-js wraps native Rust * bindings that emulate real browser TLS/HTTP2 fingerprints, which is the same * primitive pi-smart-fetch uses for `web_fetch`. * * The upstream WebSearchTool in Claude Code is a thin wrapper around Anthropic's * first-party server-side `web_search_20250305` tool, gated to * firstParty/vertex/foundry providers running Claude. Pi often runs Kimi or other * non-Claude models, so that path is unavailable by definition. */ import type { ExtensionAPI } from '@earendil-works/pi-coding-agent'; export default function (pi: ExtensionAPI): void; //# sourceMappingURL=index.d.ts.map