/** * OpenAI provider implementation * * HTTP Agent Pooling Status: ✅ IMPLEMENTED * Implementation: HttpsAgent with keepAlive: true, configured via httpAgent option * Benefits: Connection reuse, reduced latency, improved performance * * Self-registers with the LLM Provider Registry using dependency inversion pattern */ import type { BatchableProvider } from '../../batch/batch-provider.interface.js'; import type { BatchRequest, BatchResult, BatchStatusInfo, BatchSubmission } from '../../batch/batch.types.js'; import type { LLMCompletionOptions, LLMCompletionResult } from '../../types/llm.types.js'; import { BaseLLMProvider } from '../provider.interface.js'; export declare class OpenAIProvider extends BaseLLMProvider implements BatchableProvider { name: import("../../config/providers.config.js").ProviderName; private client; complete(options: LLMCompletionOptions): Promise; getAlternativeModels(currentModel?: string): string[]; isConfigured(): boolean; streamComplete(options: LLMCompletionOptions, onChunk: (chunk: string) => void): Promise; /** * Process streaming response chunks into a completion result. */ validateModel(modelName: string): Promise; private processStream; /** * Extract usage metrics from OpenAI response, including automatic cache metrics. * OpenAI returns cached token counts in prompt_tokens_details.cached_tokens. */ private extractUsage; private getClient; /** * Resolve `temperature`/`top_p` to send, or `undefined` to omit them entirely. * Reasoning-controlled models (see REASONING_CONTROLLED_MODELS) reject both as * unsupported parameters. */ private resolveSamplingParams; cancelBatch(batchId: string): Promise; getBatchResults(batchId: string): Promise; getBatchStatus(batchId: string): Promise; submitBatch(requests: BatchRequest[]): Promise; supportsBatch(): true; } //# sourceMappingURL=openai.provider.d.ts.map