OpenAIFrontendAdapter
Defined in: adapters/openai.ts:290
Frontend adapter for OpenAI Chat Completions API.
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new OpenAIFrontendAdapter():
OpenAIFrontendAdapter
Returns
Section titled “Returns”OpenAIFrontendAdapter
Properties
Section titled “Properties”metadata
Section titled “metadata”
readonlymetadata:AdapterMetadata
Defined in: adapters/openai.ts:295
Adapter metadata for identification and capabilities.
Implementation of
Section titled “Implementation of”Methods
Section titled “Methods”fromIR()
Section titled “fromIR()”fromIR(
response):Promise<OpenAIResponse>
Defined in: adapters/openai.ts:398
Convert Universal IR response back to OpenAI Chat Completions API format.
This method transforms the standardized IR response into the format expected by OpenAI’s Chat Completions API. It handles message conversion, finish reason mapping, and usage statistics formatting.
Parameters
Section titled “Parameters”response
Section titled “response”Universal IR chat response
Returns
Section titled “Returns”Promise<OpenAIResponse>
Promise resolving to OpenAI Chat Completions response
Throws
Section titled “Throws”If conversion fails
Example
Section titled “Example”const adapter = new OpenAIFrontendAdapter();const openaiResponse = await adapter.fromIR(irResponse);console.log(openaiResponse.choices[0].message.content);Implementation of
Section titled “Implementation of”fromIRStream()
Section titled “fromIRStream()”fromIRStream(
stream,options?):AsyncGenerator<OpenAIStreamChunk,void,undefined>
Defined in: adapters/openai.ts:462
Convert Universal IR stream to OpenAI Server-Sent Events (SSE) format.
This async generator method transforms a stream of IR chunks into OpenAI-formatted streaming chunks. It handles stream mode conversion (delta/full/text), tracks message metadata, and emits properly formatted SSE events compatible with OpenAI’s streaming API.
Parameters
Section titled “Parameters”stream
Section titled “stream”Universal IR chat stream
options?
Section titled “options?”Optional stream conversion options (stream mode, etc.)
Returns
Section titled “Returns”AsyncGenerator<OpenAIStreamChunk, void, undefined>
Yields
Section titled “Yields”OpenAI-formatted streaming chunks
Throws
Section titled “Throws”If stream conversion fails
Example
Section titled “Example”const adapter = new OpenAIFrontendAdapter();for await (const chunk of adapter.fromIRStream(irStream)) { console.log(chunk.choices[0].delta.content);}Implementation of
Section titled “Implementation of”toIR()
Section titled “toIR()”toIR(
request):Promise<IRChatRequest>
Defined in: adapters/openai.ts:338
Convert OpenAI Chat Completions API request to Universal IR format.
This method transforms an OpenAI-formatted request into the standardized Intermediate Representation (IR) format used across all AI Matey adapters. Since OpenAI’s format is similar to IR, this is largely a pass-through with field name mapping.
Parameters
Section titled “Parameters”request
Section titled “request”OpenAI Chat Completions API request
Returns
Section titled “Returns”Promise<IRChatRequest>
Promise resolving to IR chat request
Throws
Section titled “Throws”If conversion fails
Example
Section titled “Example”const adapter = new OpenAIFrontendAdapter();const irRequest = await adapter.toIR({ model: 'gpt-4', messages: [{ role: 'user', content: 'Hello!' }], temperature: 0.7});