/** * OpenAI provider, implements the {@link LLMProvider} contract for OpenAI, * OpenAI-compatible endpoints (Azure OpenAI, Moonshot AI), and OpenAI's * Responses API. * * Ported from `src/provider/runtime-loader.ts` as part of PR 11. * * @module extensions/ext-llm-openai/openai-provider */ import type { LLMProvider, LLMProviderConfig } from "../../../src/extensions/llm/index.js"; import type { EmbeddingRuntime, ModelRuntime, RuntimeAssistantContentPart } from "../../../src/provider/types.js"; import { buildProviderError, isNumberArray, mergeUsage, parseRetryAfterMs, ProviderError, ProviderOverloadedError, ProviderQuotaError, ProviderRateLimitError, ProviderRequestError, TOOL_INPUT_PENDING_THRESHOLD_MS } from "../../../src/provider/shared/index.js"; import { type OpenAIChatRequestCapabilities, type OpenAICompatibleLanguageOptions } from "./openai-chat-request-builder.js"; export { buildProviderError, isNumberArray, mergeUsage, parseRetryAfterMs, ProviderError, ProviderOverloadedError, ProviderQuotaError, ProviderRateLimitError, ProviderRequestError, TOOL_INPUT_PENDING_THRESHOLD_MS, }; export interface OpenAIRuntimeConfig { apiKey: string; baseURL?: string; /** Display/telemetry label. */ name?: string; /** Provider identity for OpenAI request defaults. Defaults to `name` in low-level factories. */ providerName?: string; chatRequestCapabilities?: OpenAIChatRequestCapabilities; fetch?: typeof globalThis.fetch; } export declare function createOpenAIModelRuntime(config: OpenAIRuntimeConfig, modelId: string): ModelRuntime; export declare function createOpenAIResponsesRuntime(config: OpenAIRuntimeConfig, modelId: string): ModelRuntime; export declare function createOpenAIEmbeddingRuntime(config: OpenAIRuntimeConfig, modelId: string): EmbeddingRuntime; export declare class OpenAIProvider implements LLMProvider { readonly id = "openai"; createModel(modelId: string, config: LLMProviderConfig): ModelRuntime; createEmbedding(modelId: string, config: LLMProviderConfig): EmbeddingRuntime; createResponses(modelId: string, config: LLMProviderConfig): ModelRuntime; } //# sourceMappingURL=openai-provider.d.ts.map