/** * Bocha AI direct HTTP transport. * * POST /v1/web-search — Bing-compatible wrapped web search. The JSON * envelope carries `{ code, msg, data }`; results live at * `data.webPages.value[]`. Application-level envelope codes are the * adapter's concern (see adapter.ts normalization); this module owns * the HTTP status mapping. */ import type { ProviderQuotaFetchResponse } from "../types.js"; export interface BochaTransportDeps { readonly fetch?: (input: string, init: Record) => Promise; readonly setTimeout?: typeof setTimeout; readonly clearTimeout?: typeof clearTimeout; readonly env?: NodeJS.ProcessEnv; } /** One Bing-shaped page row inside `data.webPages.value[]`. */ export interface BochaWebPageItem { readonly id?: string; readonly name?: string; readonly url?: string; readonly siteName?: string; readonly snippet?: string; readonly summary?: string; readonly dateLastCrawled?: string; } /** * Wrapped Bing-compatible envelope. Results live at * `data.webPages.value[]` (SCHEMA.md — pinned, never the JSON root). */ export interface BochaSearchResponse { readonly code?: number; readonly msg?: string; readonly data?: { readonly webPages?: { readonly value?: readonly BochaWebPageItem[]; }; }; readonly webPages?: { readonly value?: readonly BochaWebPageItem[]; }; } export interface BochaSearchParams { readonly query: string; readonly freshness?: "noLimit" | "oneDay" | "oneWeek" | "oneMonth" | "oneYear"; readonly summary?: boolean; readonly count?: number; } export declare function resolveTimeoutMs(env: NodeJS.ProcessEnv): number; export declare function fetchBochaWebSearch(apiKey: string, params: BochaSearchParams, deps?: BochaTransportDeps): Promise; //# sourceMappingURL=client.d.ts.map