Skip to content

OpenAIFrontendAdapter

Defined in: adapters/openai.ts:290

Frontend adapter for OpenAI Chat Completions API.

new OpenAIFrontendAdapter(): OpenAIFrontendAdapter

OpenAIFrontendAdapter

readonly metadata: AdapterMetadata

Defined in: adapters/openai.ts:295

Adapter metadata for identification and capabilities.

FrontendAdapter.metadata

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.

IRChatResponse

Universal IR chat response

Promise<OpenAIResponse>

Promise resolving to OpenAI Chat Completions response

If conversion fails

const adapter = new OpenAIFrontendAdapter();
const openaiResponse = await adapter.fromIR(irResponse);
console.log(openaiResponse.choices[0].message.content);

FrontendAdapter.fromIR


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.

IRChatStream

Universal IR chat stream

StreamConversionOptions

Optional stream conversion options (stream mode, etc.)

AsyncGenerator<OpenAIStreamChunk, void, undefined>

OpenAI-formatted streaming chunks

If stream conversion fails

const adapter = new OpenAIFrontendAdapter();
for await (const chunk of adapter.fromIRStream(irStream)) {
console.log(chunk.choices[0].delta.content);
}

FrontendAdapter.fromIRStream


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.

OpenAIRequest

OpenAI Chat Completions API request

Promise<IRChatRequest>

Promise resolving to IR chat request

If conversion fails

const adapter = new OpenAIFrontendAdapter();
const irRequest = await adapter.toIR({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
temperature: 0.7
});

FrontendAdapter.toIR