/** * OpenAIProvider — supports OpenAI, OpenRouter, Kimi, GLM, Qwen, and any * OpenAI-compatible API endpoint. * * Usage modes: * provider=openai → api.openai.com/v1 * provider=openrouter → openrouter.ai/api/v1 * provider=custom + baseUrl → any OpenAI-compatible endpoint * * Well-known base URLs for Chinese model providers: * Kimi (Moonshot): https://api.moonshot.cn/v1 * GLM (Zhipu): https://open.bigmodel.cn/api/paas/v4 * Qwen (Alibaba): https://dashscope.aliyuncs.com/compatible-mode/v1 * * This adapter translates our internal tool format to OpenAI function calling, * and maps responses back to LLMResponse. */ import type { LLMProvider, LLMRequest, LLMResponse, LLMStreamChunk } from "./LLMProvider.js"; export interface OpenAIProviderOptions { apiKey: string; baseUrl?: string; /** Extra headers (e.g. for OpenRouter: HTTP-Referer, X-Title) */ extraHeaders?: Record; } export declare class OpenAIProvider implements LLMProvider { private apiKey; private baseUrl; private extraHeaders; constructor(options: OpenAIProviderOptions); private geminiSchemaToJsonSchema; private toOpenAITools; private toOpenAIMessages; generate(request: LLMRequest): Promise; generateStream(request: LLMRequest, onChunk: (chunk: LLMStreamChunk) => void): Promise; } /** * Factory: creates an OpenAIProvider pre-configured for the given sub-provider. */ export declare function createOpenAICompatibleProvider(subProvider: "openai" | "openrouter" | "kimi" | "glm" | "qwen" | "custom", apiKey: string, customBaseUrl?: string): OpenAIProvider; //# sourceMappingURL=OpenAIProvider.d.ts.map