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
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
| Parameter | Type | Default value | Description |
|---|---|---|---|
transport? | OpenAiHttpTransport | defaultOpenAiHttpTransport | HTTP transport for /v1/responses. |
modelNode? | OpenAiModelNode | undefined | Optional bound OpenAiModelNode. |
driverCtx? | RuntimeDriverContext | undefined | Optional runtime driver context. |
Returns
OpenAiModelDriver
Methods
appendToolResultNotes()
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
| Parameter | Type | Description |
|---|---|---|
frame | WireFrameRecord | Existing tool or user wire frame record. |
notes | readonly string[] | Synchronization note strings to append. |
targetCallId? | string | Optional tool callId to target on a tool frame. |
opts? | AppendToolResultNotesOptions | Optional error status override. |
Returns
Promise<WireFrameRecord>
Updated wire frame record to persist via LedgerStore.replaceMessageFrame().
Implementation of
ModelDriver.appendToolResultNotes
invokeTurn()
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
| Parameter | Type | Description |
|---|---|---|
req | ModelTurnRequest | Turn 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
prepareFork()
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
| Parameter | Type | Description |
|---|---|---|
ctx | ForkContext | Fork lineage, history mode, and assistant turn-batch pairing metadata. |
target | PrepareForkTarget | Target model configuration and tombstone substitution flag. |
Returns
Promise<readonly WireFrameRecord[]>
Synthesized wire frame chain to persist in LedgerStore.
Implementation of
Properties
vendor
readonly vendor: "openai";Defined in: openai/src/driver/openai-model-driver.ts:38
Vendor alias matching vendorId ('openai').
Implementation of
vendorId
readonly vendorId: "openai";Defined in: openai/src/driver/openai-model-driver.ts:35
Primary vendor identifier ('openai').