/** * OpenAI provider as a declarative `WireFormatConfig`. Same canonical events * as `OpenAIProvider`; the per-message body is the loop body of * `parseOpenAIStream` split into a stateful step. */ import type { StopReason, Usage } from '@wrongstack/core/types'; interface StreamingArgBuffer { chunks: string[]; length: number; } interface OpenAIStreamToolState { id?: string | undefined; name?: string | undefined; argBuf: StreamingArgBuffer; emittedStart: boolean; emittedChunkIndex: number; } export interface OpenAIStreamState { model: string; usage: Usage; stopReason: StopReason; started: boolean; textOpen: boolean; thinkingOpen: boolean; toolByIndex: Map; finalEmitted: boolean; /** Set once `[DONE]` or a `finish_reason` is seen — a proper end-of-stream. */ sawTerminal: boolean; } export declare const openaiWireFormat: import("../wire-format.js").WireFormatConfig; export {}; //# sourceMappingURL=openai.d.ts.map