/** * web_search — keyword web search backed by DuckDuckGo's HTML endpoint. * * Free, no API key, no rate-limit signup. Returns up to N results as a * structured plain-text list (title, URL, snippet) the model can read and * then follow up with `web_fetch` for the full page. * * Why this exists: free models routinely hallucinate `web_search_exa` / * `google_search` tool calls. This gives them a real tool of the right shape * so the call succeeds. */ import type { Tool } from './types.js'; import { htmlToText } from '../html-parser.js'; interface SearchResult { title: string; url: string; snippet: string; } declare function decodeDdgRedirect(href: string): string; declare function parseDdgLite(html: string, limit: number): SearchResult[]; export declare const WebSearchTool: Tool; export declare const _internal: { parseDdgLite: typeof parseDdgLite; decodeDdgRedirect: typeof decodeDdgRedirect; htmlToText: typeof htmlToText; }; export {};