export declare function htmlToText(html: string): string;
/**
* Web search tool — uses provider-native web search when available.
*
* Native emission via `providerHint: { type: 'web-search', ... }`:
* - Anthropic adapter emits `{ type: 'web_search_20250305', name: 'web_search',
* max_uses?, allowed_domains? }`.
* - Google adapter emits a separate top-level tools entry `{ google_search: {} }`.
* - OpenAI's chat-completions surface has no equivalent (web_search is
* Responses-API-only) — falls through to the DuckDuckGo `server` execute
* below. Same fallback applies to any provider without a native hint match.
*
* Mirrors the Phase 2 file-search providerHint cascade — same plumbing,
* different tool. `domains([...])` lowers to `allowed_domains` on Anthropic;
* Gemini's `google_search` block doesn't accept domain restriction so the
* `domains` opt is ignored there (the model still respects domain hints in
* the prompt). `maxResults(n)` lowers to Anthropic's `max_uses`; ignored on
* Gemini for the same reason.
*/
export declare class WebSearch {
private _domains;
private _maxResults;
private constructor();
static make(): WebSearch;
domains(domains: string[]): this;
maxResults(n: number): this;
/** Convert to a tool definition that can be added to an agent's tools array */
toTool(): import("./tool.js").ServerToolBuilder<{
query: string;
}, {
results: string;
error?: never;
} | {
error: string;
results?: never;
}>;
}
/**
* Web fetch tool — fetches a web page and returns its text content.
*/
export declare class WebFetch {
private _maxLength;
private constructor();
static make(): WebFetch;
maxLength(n: number): this;
toTool(): import("./tool.js").ServerToolBuilder<{
url: string;
}, {
content: string;
url: string;
status: number;
error?: never;
} | {
error: string;
url: string;
content?: never;
status?: never;
}>;
}
/**
* Code execution tool — uses provider-native code interpreter when available.
* No server-side fallback for security — returns an error if the provider
* doesn't support native code execution.
*/
export declare class CodeExecution {
private constructor();
static make(): CodeExecution;
toTool(): import("./tool.js").ServerToolBuilder<{
code: string;
language: string;
}, {
error: string;
}>;
}
//# sourceMappingURL=provider-tools.d.ts.map