import { type Api, type Model, type TranscriptContext, type Transport } from "@earendil-works/pi-ai"; import type { CodexConversionConfig } from "../../../adapter/activation/config.ts"; import type { CodexTurnState } from "../turn-state.ts"; import type { BeforeCodexRequestSend, CanonicalHistoryDecision, CodexDiagnosticsLane, CodexDiagnosticsSink, CodexProviderStreamOptions, CodexUsageRecorder, OpenAICodexStreamOptions, ResponsesBody } from "../types.ts"; export type CodexProviderRuntimeConfig = Pick & Partial>; export interface CodexTransportRecoveryDependencies { getConfig?: () => CodexProviderRuntimeConfig | undefined; useResponsesLite?: (model: Model) => boolean; turnState?: CodexTurnState | undefined; onPreparedPayload?: ((payload: ResponsesBody) => void) | undefined; beforeRequestSend?: BeforeCodexRequestSend | undefined; onStreamSettled?: () => void | undefined; getDiagnostics?: (() => CodexDiagnosticsSink | undefined) | undefined; recordUsage?: CodexUsageRecorder | undefined; prepareRequestBody: (model: Model, context: TranscriptContext, options: OpenAICodexStreamOptions | undefined, responsesLite: boolean) => Promise; } export declare function getEffectiveCodexTransport(transport: Transport | undefined, sessionId?: string | undefined): Transport; export declare class CodexTransportRequest { lane: Exclude; readonly runtimeConfig: CodexProviderRuntimeConfig | undefined; readonly responsesLite: boolean; readonly resolvedContext: TranscriptContext; readonly preferredTransport: Transport; readonly effectiveTransport: Transport; readonly effectiveOptions: OpenAICodexStreamOptions; private preconnect; private readonly model; private readonly deps; private readonly options; constructor(model: Model, context: TranscriptContext, options: CodexProviderStreamOptions | undefined, deps: CodexTransportRecoveryDependencies); close(): Promise; prepare(diagnostics: CodexDiagnosticsSink | undefined): Promise<{ accountId: string; canonicalSessionToken: import("../session-continuity.ts").CanonicalSessionToken | undefined; reconstructedBody: ResponsesBody; body: ResponsesBody; canonicalHistory: CanonicalHistoryDecision | undefined; baseSseHeaders: Headers; websocketHeaders: Headers; bodyJson: string; websocketBody: ResponsesBody; sseBody: string | Uint8Array; transport: Transport; }>; }