/** * OpenAI adapter for LLM integration * * Supports all OpenAI models including GPT-5, o3, and GPT-4.1 families. * * @packageDocumentation */ import type { LLMProvider, OpenAIConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js'; import { BaseLLMAdapter } from './base.js'; /** * GPT-5 Models (Latest - 2025) * - gpt-5: Flagship model for general-purpose and agentic use * - gpt-5-mini: Smaller, faster version * - gpt-5-nano: Smallest, most cost-effective */ export declare const GPT_5_MODELS: { readonly 'gpt-5': "gpt-5"; readonly 'gpt-5-mini': "gpt-5-mini"; readonly 'gpt-5-nano': "gpt-5-nano"; }; /** * o-Series Reasoning Models (Latest - 2025) * - o3: Most powerful reasoning model * - o3-pro: Extended thinking for complex tasks * - o4-mini: Fast, cost-efficient reasoning */ export declare const O_SERIES_MODELS: { readonly o3: "o3"; readonly 'o3-pro': "o3-pro"; readonly 'o4-mini': "o4-mini"; readonly o1: "o1"; }; /** * GPT-4.1 Models (2025) * - Major gains in coding and instruction following * - Up to 1M token context */ export declare const GPT_4_1_MODELS: { readonly 'gpt-4.1': "gpt-4.1"; readonly 'gpt-4.1-mini': "gpt-4.1-mini"; readonly 'gpt-4.1-nano': "gpt-4.1-nano"; }; /** * GPT-4o Models (2024-2025) * - Optimized for speed and multimodal */ export declare const GPT_4O_MODELS: { readonly 'gpt-4o': "gpt-4o"; readonly 'gpt-4o-mini': "gpt-4o-mini"; }; /** * Legacy GPT-4 Models */ export declare const GPT_4_LEGACY_MODELS: { readonly 'gpt-4-turbo': "gpt-4-turbo"; readonly 'gpt-4': "gpt-4"; }; /** * All available OpenAI models */ export declare const OPENAI_MODELS: { readonly 'gpt-4-turbo': "gpt-4-turbo"; readonly 'gpt-4': "gpt-4"; readonly 'gpt-4o': "gpt-4o"; readonly 'gpt-4o-mini': "gpt-4o-mini"; readonly 'gpt-4.1': "gpt-4.1"; readonly 'gpt-4.1-mini': "gpt-4.1-mini"; readonly 'gpt-4.1-nano': "gpt-4.1-nano"; readonly o3: "o3"; readonly 'o3-pro': "o3-pro"; readonly 'o4-mini': "o4-mini"; readonly o1: "o1"; readonly 'gpt-5': "gpt-5"; readonly 'gpt-5-mini': "gpt-5-mini"; readonly 'gpt-5-nano': "gpt-5-nano"; }; /** * Model alias type for convenient model selection */ export type OpenAIModelAlias = keyof typeof OPENAI_MODELS; /** * Resolve a model alias or ID to the full model ID */ export declare function resolveOpenAIModel(modelOrAlias: string): string; /** * OpenAI adapter for chat completions */ export declare class OpenAIAdapter extends BaseLLMAdapter { private readonly baseUrl; private readonly organization?; constructor(config: OpenAIConfig); get provider(): LLMProvider; complete(request: CompletionRequest): Promise; } /** * Create an OpenAI adapter from environment variables * * @param model - Model ID or alias (e.g., 'gpt-5', 'o3', 'gpt-4.1', 'gpt-4o') * Use aliases for convenience or full model IDs for specific versions. * Any valid OpenAI model ID will work - not limited to the aliases. * * @example * ```typescript * // Using current flagship model * const adapter = createOpenAIAdapter('gpt-5'); * * // Using reasoning model for complex tasks * const adapter = createOpenAIAdapter('o3'); * * // Using fast, cost-effective reasoning * const adapter = createOpenAIAdapter('o4-mini'); * * // Using a future model (when released) * const adapter = createOpenAIAdapter('gpt-6'); * ``` */ export declare function createOpenAIAdapter(model?: OpenAIModelAlias | string, overrides?: Partial): OpenAIAdapter; /** * List all available OpenAI model aliases */ export declare function listOpenAIModels(): { alias: string; modelId: string; }[]; //# sourceMappingURL=openai.d.ts.map