import type { LlmAdapter, AdapterRequest, AdapterResponse, AdapterStreamChunk } from '@mast-ai/core'; import type { ReasoningEffort, UsageMetadata } from './OpenAIChatCompletionsAdapter.js'; /** Reasoning-summary verbosity that gates what the model emits as `thinking` events. */ export type ReasoningSummary = 'auto' | 'concise' | 'detailed'; /** Per-request defaults applied to every call made by an {@link OpenAIResponsesAdapter}. */ export interface OpenAIResponsesAdapterDefaults { /** Forwarded as `reasoning.effort` on every request. Reasoning models honour this. */ reasoningEffort?: ReasoningEffort; /** * Forwarded as `reasoning.summary` on every request. Required to receive * reasoning summary deltas as `thinking` events. Defaults to `"auto"` so * reasoning models surface thinking content without extra configuration. * Set to `false` to disable. */ reasoningSummary?: ReasoningSummary | false; } /** * {@link LlmAdapter} implementation backed by the OpenAI Responses API * (`/v1/responses`). * * Unlike {@link OpenAIChatCompletionsAdapter}, this adapter surfaces reasoning * content from reasoning models — `gpt-5`, `o-series` — as `thinking` events. * The adapter runs statelessly (`store: false`); the caller's `Conversation` * history is replayed on every request. */ export declare class OpenAIResponsesAdapter implements LlmAdapter { private client; private modelName; private onUsageUpdate?; private defaults; /** * @param apiKey - OpenAI API key. * @param modelName - Model identifier (defaults to `"gpt-4o-mini"`). Any * Responses-API-compatible model works, including reasoning models. * @param onUsageUpdate - Optional callback invoked with token-usage data after each response. * @param defaults - Provider-specific defaults applied to every request. */ constructor(apiKey: string, modelName?: string, onUsageUpdate?: (usage: UsageMetadata) => void, defaults?: OpenAIResponsesAdapterDefaults); private buildBaseParams; /** {@inheritDoc LlmAdapter.generate} */ generate(request: AdapterRequest): Promise; /** {@inheritDoc LlmAdapter.generateStream} */ generateStream(request: AdapterRequest): AsyncIterable; }