/** * OpenRouter API (Chat Completions style with choices[]) — request building; wire types and * parsing shared via ChatCompletionsProvider. */ import type { ChatMessageDto } from '../protocol.js'; import type { ChatRequestOpts } from '../aiProvider.js'; import { ChatCompletionsProvider } from './chatCompletions.js'; /** OpenRouter web search plugin */ interface OpenRouterWebPlugin { id: 'web'; max_results?: number; } /** OpenRouter request payload */ export type OpenRouterRequestPayload = { model: string; messages: ChatMessageDto[]; stream: boolean; reasoning?: { effort: 'none' | 'low' | 'medium' | 'high'; }; plugins?: OpenRouterWebPlugin[]; }; export declare class OpenRouterProvider extends ChatCompletionsProvider { protected readonly providerName = "OpenRouter"; readonly defaultBaseUrl = "https://openrouter.ai"; readonly path: string; private readonly effortMap; buildHeaders(apiKey: string, origin?: string): Record; buildPayload(messages: ChatMessageDto[], model: string, opts: ChatRequestOpts, stream: boolean): OpenRouterRequestPayload; } export {}; //# sourceMappingURL=openRouter.d.ts.map