/** * AgentGuard(TM) Spend: local Advisor LLM client. * * All provider calls go from the customer terminal to the configured provider. * No AgentGuard service is contacted for prompts or completions. * * Patent notice: Protected by U.S. patent-pending technology * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626; * 64/071,781; 64/071,789). */ export type AdvisorProvider = 'openrouter' | 'openai' | 'anthropic' | 'compatible' | 'mock'; export interface AdvisorChatMessage { role: 'system' | 'user' | 'assistant'; content: string; } export interface AdvisorClientOptions { provider?: AdvisorProvider; apiKey?: string; baseUrl?: string; model?: string; timeoutMs?: number; fetchImpl?: FetchLike; } export interface AdvisorClient { provider: AdvisorProvider; model: string; baseUrl: string; streamChat(messages: AdvisorChatMessage[], signal?: AbortSignalLike): AsyncIterable; } type FetchLike = (url: string, init: Record) => Promise; type AbortSignalLike = { aborted?: boolean; addEventListener?: (type: 'abort', listener: () => void, options?: { once?: boolean; }) => void; }; export declare function resolveAdvisorApiKey(provider?: AdvisorProvider, explicit?: string): string | null; export declare function createAdvisorClient(options?: AdvisorClientOptions): AdvisorClient; export declare function parseSseResponse(response: any, pickText: (json: any) => string): AsyncIterable; export {}; //# sourceMappingURL=llm-client.d.ts.map