import type { ResponseCreateParamsStreaming, ResponseInput, ResponseOutputMessage, ResponseStreamEvent } from "openai/resources/responses/responses.js"; import type { Api, AssistantMessage, Context, Model, SimpleStreamOptions, StreamOptions, Usage } from "../types.js"; import type { AssistantMessageEventStream } from "../utils/event-stream.js"; import { type FirstStreamEventInternalOptions } from "../utils/stream-first-event-timeout.js"; import { type AzureResponsesTextContentPart, type AzureResponsesTextDeltaEvent } from "./openai-responses-stream-compat.js"; import { convertResponsesToolPayload, convertResponsesTools } from "./openai-responses-tools.js"; type ResponsesTextContentPart = ResponseOutputMessage["content"][number] | AzureResponsesTextContentPart; type ResponsesStreamOutputMessage = Omit & { content: ResponsesTextContentPart[]; }; type ResponsesContentPartAddedEvent = Extract; type ResponsesOutputItemDoneEvent = Extract; type AzureResponsesContentPartAddedEvent = Omit & { part: AzureResponsesTextContentPart; }; type AzureResponsesOutputItemDoneEvent = Omit & { item: ResponsesStreamOutputMessage; }; export type OpenAIResponsesStreamEvent = ResponseStreamEvent | AzureResponsesContentPartAddedEvent | AzureResponsesOutputItemDoneEvent | AzureResponsesTextDeltaEvent; interface OpenAIResponsesStreamOptions { serviceTier?: ResponseCreateParamsStreaming["service_tier"]; resolveServiceTier?: (responseServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined, requestServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => ResponseCreateParamsStreaming["service_tier"] | undefined; applyServiceTierPricing?: (usage: Usage, serviceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => void; } interface ConvertResponsesMessagesOptions { includeSystemPrompt?: boolean; replayResponsesItemIds?: boolean; } export { convertResponsesToolPayload, convertResponsesTools }; export type { ConvertResponsesToolsOptions } from "./openai-responses-tools.js"; type ResponsesRequestOptions = { signal?: AbortSignal; timeout?: number; maxRetries?: number; }; type ResponsesStreamRequest = { withResponse(): Promise<{ data: AsyncIterable; response: Response; }>; }; type ResponsesStreamClient = { responses: { create(params: ResponseCreateParamsStreaming, options: ResponsesRequestOptions): ResponsesStreamRequest; }; }; type ResponsesLifecycleStreamOptions = Pick & FirstStreamEventInternalOptions; type OpenAIResponsesProcessStreamOptions = OpenAIResponsesStreamOptions & FirstStreamEventInternalOptions; type ResponsesReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh" | "max"; type ResponsesReasoningSummary = "auto" | "detailed" | "concise" | null; type ResponsesCommonParamsOptions = Pick & { reasoningEffort?: ResponsesReasoningEffort; reasoningSummary?: ResponsesReasoningSummary; }; export declare function convertResponsesMessages(model: Model, context: Context, allowedToolCallProviders: ReadonlySet, options?: ConvertResponsesMessagesOptions): ResponseInput; export declare function createResponsesAssistantOutput(model: Model, api?: Api): AssistantMessage; export declare function resolveResponsesReasoningEffort(model: Model, reasoning: SimpleStreamOptions["reasoning"] | undefined): ResponsesReasoningEffort | undefined; export declare function applyCommonResponsesParams(params: ResponseCreateParamsStreaming, model: Model, context: Context, options?: ResponsesCommonParamsOptions, config?: { setDefaultReasoningOff?: boolean; }): void; export declare function runResponsesStreamLifecycle(params: { stream: AssistantMessageEventStream; model: Model; output: AssistantMessage; options?: ResponsesLifecycleStreamOptions; createClient: () => ResponsesStreamClient; buildParams: () => ResponseCreateParamsStreaming; processStreamOptions?: OpenAIResponsesProcessStreamOptions; formatError: (error: unknown) => string; }): Promise; export declare function processResponsesStream(openaiStream: AsyncIterable, output: AssistantMessage, stream: AssistantMessageEventStream, model: Model, options?: OpenAIResponsesProcessStreamOptions): Promise;