/** Configurable web search provider for DeepSeek Harness. */ import type { Context, Volatile } from '@deepseek-ai/cordis'; import z from '@deepseek-ai/schemastery'; import type { BraveConfig, CredentialReader, GeminiConfig, ProviderKind, SearchBackend, SearxngConfig, TavilyConfig, WikipediaConfig } from './types.ts'; export { BraveBackend } from './brave.ts'; export { GeminiBackend } from './gemini.ts'; export { SearxngBackend, discoverSearxngEngines, endpointFor } from './searxng.ts'; export { TavilyBackend } from './tavily.ts'; export type { BraveConfig, CredentialReader, GeminiConfig, ProviderKind, SearchBackend, SearxngConfig, TavilyConfig, WikipediaConfig } from './types.ts'; export { WikipediaBackend } from './wikipedia.ts'; /** Stable provider id selected by the host `web` service. */ export declare const PROVIDER_ID = "lemoncat7-search"; /** Default key environment variable for Brave Search. */ export declare const BRAVE_API_KEY_ENV = "BRAVE_SEARCH_API_KEY"; /** Default key environment variable for Tavily. */ export declare const TAVILY_API_KEY_ENV = "TAVILY_API_KEY"; /** Default key environment variable for the Gemini Developer API. */ export declare const GEMINI_API_KEY_ENV = "GEMINI_API_KEY"; /** Cost-conscious Gemini model used for Google Search grounding. */ export declare const DEFAULT_GEMINI_MODEL = "gemini-3.5-flash-lite"; /** Default SearXNG instance configured by the shipped bundle. */ export declare const SEARXNG_BASE_URL_ENV = "SEARXNG_BASE_URL"; /** Settings namespace consumed by the browser card and Host provider. */ export declare const WEB_SEARCH_MULTI_SETTINGS_NAMESPACE = "lemoncat7-web-search"; /** Cordis plugin name used in loader diagnostics. */ export declare const name = "lemoncat7-web-search"; /** Host service required by this provider. */ export declare const inject: string[]; /** Plugin configuration. Exactly one backend is active for each plugin row. */ export interface Config { readonly provider?: ProviderKind; readonly requestTimeoutMs?: number; readonly searxng?: SearxngConfig; readonly brave?: BraveConfig; readonly tavily?: TavilyConfig; readonly gemini?: GeminiConfig; readonly wikipedia?: WikipediaConfig; } export declare const Config: z; requestTimeoutMs: z; searxng: z; brave: z; tavily: z; gemini: z; wikipedia: z; }>>>, NoInfer; requestTimeoutMs: z; searxng: z; brave: z; tavily: z; gemini: z; wikipedia: z; }>>>, "volatile">; /** Environment lookup used to keep credentials out of Cordis config. */ export type EnvironmentReader = (name: string) => string | undefined; /** Resolve and validate the selected external backend. */ export declare function createBackend(config: Config, environment: EnvironmentReader, credentials: CredentialReader): SearchBackend; /** Register the selected backend under the stable provider id. */ export declare function apply(context: Context, config: Volatile): void;