/** * OpenKernel — OpenAI-Compatible Provider * * Generic provider for any endpoint speaking the OpenAI chat completions API. * Powers: OpenRouter, Groq, GitHub Models, NVIDIA, HF, vLLM, LM Studio, SGLang, etc. */ import type { CompletionChunk, CompletionRequest, CompletionResult, ProviderCapabilities, ProviderInfo, ProviderInterface, ProviderModel } from '../types.js'; export interface OpenAICompatibleOptions { id: string; name: string; type?: 'local' | 'cloud'; baseURL: string; apiKey?: string; headerName?: string; timeoutMs?: number; knownModels?: Array & { id: string; }>; } export declare class OpenAICompatibleProvider implements ProviderInterface { info: ProviderInfo; private baseURL; private apiKey?; private headerName; private timeoutMs; private knownModels; constructor(options: OpenAICompatibleOptions); capabilities(): Promise; complete(request: CompletionRequest): Promise; completeStream(request: CompletionRequest): AsyncIterable; refresh(): Promise; verify(): Promise<{ ok: boolean; latencyMs: number; error?: string; rateLimitTokens?: number; }>; private parseTokenLimit; private fetchModels; /** * Infer capabilities for a live-fetched model from its id. Excludes non-chat * endpoints (embeddings/audio/rerank/guard) from coding; everything else — a * general instruct/chat LLM — is treated as coding+reasoning capable. */ private inferCapabilities; private toProviderModel; private headers; private buildMessages; }