Skip to content

ema / ema / OpenAIClient

Class: OpenAIClient

Defined in: packages/ema/src/llm/openai_client.ts:31

OpenAI-compatible client that adapts EMA schema to Responses API.

Extends

  • LLMClientBase

Implements

Constructors

Constructor

ts
new OpenAIClient(
   model, 
   config, 
   retryConfig): OpenAIClient;

Defined in: packages/ema/src/llm/openai_client.ts:34

Parameters

model

string

config

LLMApiConfig

retryConfig

RetryConfig

Returns

OpenAIClient

Overrides

ts
LLMClientBase.constructor

Properties

config

ts
readonly config: LLMApiConfig;

Defined in: packages/ema/src/llm/openai_client.ts:36


model

ts
readonly model: string;

Defined in: packages/ema/src/llm/openai_client.ts:35


retryCallback

ts
retryCallback: (exception, attempt) => void | undefined = undefined;

Defined in: packages/ema/src/llm/base.ts:16

Inherited from

ts
LLMClientBase.retryCallback

retryConfig

ts
readonly retryConfig: RetryConfig;

Defined in: packages/ema/src/llm/openai_client.ts:37

Methods

adaptMessages()

ts
adaptMessages(messages): OpenAIMessage[];

Defined in: packages/ema/src/llm/openai_client.ts:145

Convert a batch of EMA messages.

Parameters

messages

Message[]

Returns

OpenAIMessage[]

Overrides

ts
LLMClientBase.adaptMessages

adaptMessageToAPI()

ts
adaptMessageToAPI(message): OpenAIMessage[];

Defined in: packages/ema/src/llm/openai_client.ts:51

Map EMA message shape to OpenAI Responses input items.

Parameters

message

Message

Returns

OpenAIMessage[]

Implementation of

SchemaAdapter.adaptMessageToAPI


adaptResponseFromAPI()

ts
adaptResponseFromAPI(response): LLMResponse;

Defined in: packages/ema/src/llm/openai_client.ts:159

Normalize OpenAI response into EMA schema.

Parameters

response

Response

Returns

LLMResponse

Implementation of

SchemaAdapter.adaptResponseFromAPI


adaptTools()

ts
adaptTools(tools): FunctionTool[];

Defined in: packages/ema/src/llm/openai_client.ts:154

Convert a batch of tools.

Parameters

tools

Tool[]

Returns

FunctionTool[]

Overrides

ts
LLMClientBase.adaptTools

adaptToolToAPI()

ts
adaptToolToAPI(tool): FunctionTool;

Defined in: packages/ema/src/llm/openai_client.ts:134

Map tool definition to OpenAI Responses tool schema.

Parameters

tool

Tool

Returns

FunctionTool

Implementation of

SchemaAdapter.adaptToolToAPI


generate()

ts
generate(
   messages, 
   tools?, 
   systemPrompt?, 
signal?): Promise<LLMResponse>;

Defined in: packages/ema/src/llm/openai_client.ts:258

Public generate entrypoint matching LLMClientBase.

Parameters

messages

Message[]

tools?

Tool[]

systemPrompt?

string

signal?

AbortSignal

Returns

Promise<LLMResponse>

Overrides

ts
LLMClientBase.generate

makeApiRequest()

ts
makeApiRequest(
   apiMessages, 
   apiTools?, 
   systemPrompt?, 
signal?): Promise<Response>;

Defined in: packages/ema/src/llm/openai_client.ts:239

Execute a Responses API request.

Parameters

apiMessages

OpenAIMessage[]

apiTools?

FunctionTool[]

systemPrompt?

string

signal?

AbortSignal

Returns

Promise<Response>

Overrides

ts
LLMClientBase.makeApiRequest