Appearance
Class: OpenAIClient
Defined in: llm/openai_client.ts:21
LLM client using OpenAI's protocol.
This client uses the official OpenAI SDK and supports:
- Reasoning content (via reasoning_split=True)
- Tool calling
- Retry logic
Extends
LLMClient
Constructors
Constructor
ts
new OpenAIClient(
apiKey,
apiBase,
model,
retryConfig?,
proxyUrl?): OpenAIClient;Defined in: llm/openai_client.ts:24
Parameters
apiKey
string
API key for authentication
apiBase
string
Base URL for the API
model
string
Model name to use
retryConfig?
RetryConfig
Optional retry configuration
proxyUrl?
string
Optional proxy URL
Returns
OpenAIClient
Overrides
ts
LLMClient.constructorProperties
apiBase
ts
protected readonly apiBase: string;Defined in: llm/base.ts:30
Base URL for the API
Inherited from
ts
LLMClient.apiBaseapiKey
ts
protected readonly apiKey: string;Defined in: llm/base.ts:26
API key for authentication
Inherited from
ts
LLMClient.apiKeymodel
ts
protected readonly model: string;Defined in: llm/base.ts:34
Model name to use
Inherited from
ts
LLMClient.modelretryCallback
ts
retryCallback: (exception, attempt) => void | undefined = undefined;Defined in: llm/base.ts:19
Inherited from
ts
LLMClient.retryCallbackretryConfig
ts
protected readonly retryConfig: RetryConfig;Defined in: llm/base.ts:38
Optional retry configuration
Inherited from
ts
LLMClient.retryConfigMethods
_convertMessages()
ts
_convertMessages(messages): [string | undefined, Record<string, unknown>[]];Defined in: llm/openai_client.ts:170
Converts internal messages to OpenAI format. Note: OpenAI includes system message in the messages array
Parameters
messages
Message[]
List of internal Message objects
Returns
[string | undefined, Record<string, unknown>[]]
Tuple of (system_message, api_messages)
Overrides
ts
LLMClient._convertMessages_makeApiRequest()
ts
_makeApiRequest(apiMessages, tools?): Promise<any>;Defined in: llm/openai_client.ts:71
Executes API request (core method that can be retried).
Parameters
apiMessages
Record<string, unknown>[]
List of messages in OpenAI format
tools?
any[]
Optional list of tools
Returns
Promise<any>
OpenAI ChatCompletion response (full response including usage)
_parseResponse()
ts
_parseResponse(response): LLMResponse;Defined in: llm/openai_client.ts:124
Parses OpenAI response into LLMResponse.
Parameters
response
any
OpenAI ChatCompletion response (full response object)
Returns
LLMResponse object
_prepareRequest()
ts
_prepareRequest(messages, tools?): object;Defined in: llm/openai_client.ts:230
Prepares the request for OpenAI API.
Parameters
messages
Message[]
List of conversation messages
tools?
any[]
Optional list of available tools
Returns
object
Dictionary containing request parameters
apiMessages
ts
apiMessages: Record<string, unknown>[];tools?
ts
optional tools: any[];Overrides
ts
LLMClient._prepareRequestgenerate()
ts
generate(messages, tools?): Promise<LLMResponse>;Defined in: llm/openai_client.ts:249
Generates response from OpenAI LLM.
Parameters
messages
Message[]
List of conversation messages
tools?
any[]
Optional list of available tools
Returns
Promise<LLMResponse>
LLMResponse containing the generated content
Overrides
ts
LLMClient.generate