Skip to content

Class: OpenAiModelDriver ​

Defined in: openai/src/driver/openai-model-driver.ts:33

Runtime ModelDriver implementation for the OpenAI /v1/responses HTTP protocol (@paraharness/openai).

Supports native text.format JSON-schema structured output, previous_response_id server-side branching, automatic cross-seat failover stripping of account-bound previous_response_id, item IDs (rs_..., fc_..., msg_...), and encrypted_content, and full-turn (1..k) function_call_output pairing in prepareFork().

Implements ​

Constructors ​

Constructor ​

ts
new OpenAiModelDriver(
   transport?, 
   modelNode?, 
   driverCtx?
): OpenAiModelDriver;

Defined in: openai/src/driver/openai-model-driver.ts:58

Initializes an OpenAiModelDriver with an HTTP transport, optional OpenAiModelNode, and runtime context.

Defers all credential and environment variable lookups until invokeTurn() is executed.

Parameters ​

ParameterTypeDefault valueDescription
transport?OpenAiHttpTransportdefaultOpenAiHttpTransportHTTP transport for /v1/responses.
modelNode?OpenAiModelNodeundefinedOptional bound OpenAiModelNode.
driverCtx?RuntimeDriverContextundefinedOptional runtime driver context.

Returns ​

OpenAiModelDriver

Methods ​

appendToolResultNotes() ​

ts
appendToolResultNotes(
   frame, 
   notes, 
   targetCallId?, 
   opts?
): Promise<WireFrameRecord>;

Defined in: openai/src/driver/openai-model-driver.ts:131

Appends synchronization or recovery notes in-place to an OpenAI role: 'tool' or role: 'user' frame.

Updates both rawWireFrame (function_call_output or user message items) and frame.canonical.

Parameters ​

ParameterTypeDescription
frameWireFrameRecordExisting tool or user wire frame record.
notesreadonly string[]Synchronization note strings to append.
targetCallId?stringOptional tool callId to target on a tool frame.
opts?AppendToolResultNotesOptionsOptional error status override.

Returns ​

Promise<WireFrameRecord>

Updated wire frame record to persist via LedgerStore.replaceMessageFrame().

Implementation of ​

ModelDriver.appendToolResultNotes


invokeTurn() ​

ts
invokeTurn(req): Promise<ModelTurnResponse>;

Defined in: openai/src/driver/openai-model-driver.ts:80

Invokes a single OpenAI /v1/responses turn over req.history and returns the raw wire frame and canonical projection.

Validates HTTP status codes before parsing bodyText so non-JSON error payloads never crash with SyntaxError, automatically strips account-bound state on cross-seat failover, and propagates HTTP 429 with { status: 429, resetAtMs }.

Parameters ​

ParameterTypeDescription
reqModelTurnRequestTurn request payload, wire prefix, and structured output schema.

Returns ​

Promise<ModelTurnResponse>

Raw wire response, canonical message, structured output, and usage metrics.

Throws ​

On HTTP 429 rate limits, non-2xx statuses, aborted signals, or outputSchema validation failures.

Implementation of ​

ModelDriver.invokeTurn


prepareFork() ​

ts
prepareFork(ctx, target): Promise<readonly WireFrameRecord[]>;

Defined in: openai/src/driver/openai-model-driver.ts:115

Synthesizes the initial WireFrameRecord[] chain for a downward fork or cross-model escalation.

Preserves previous_response_id, server item IDs, and encrypted_content on same-model, same-seat forks (substituteTombstones: false) and strips them when substituteTombstones: true or across distinct seats.

Parameters ​

ParameterTypeDescription
ctxForkContextFork lineage, history mode, and assistant turn-batch pairing metadata.
targetPrepareForkTargetTarget model configuration and tombstone substitution flag.

Returns ​

Promise<readonly WireFrameRecord[]>

Synthesized wire frame chain to persist in LedgerStore.

Implementation of ​

ModelDriver.prepareFork

Properties ​

vendor ​

ts
readonly vendor: "openai";

Defined in: openai/src/driver/openai-model-driver.ts:38

Vendor alias matching vendorId ('openai').

Implementation of ​

ModelDriver.vendor


vendorId ​

ts
readonly vendorId: "openai";

Defined in: openai/src/driver/openai-model-driver.ts:35

Primary vendor identifier ('openai').

Implementation of ​

ModelDriver.vendorId

Released under the MIT License.