Abstract Class: OpenAICompatibleProvider

Defined in: providers/openai-compatible.ts:137

Abstract base class for OpenAI-compatible LLM providers

Provides shared implementation for providers that use the OpenAI chat completions API format (OpenAI, Ollama, Azure OpenAI, Gemini).

Extended by

Implements

Constructors

Constructor

new OpenAICompatibleProvider(config): OpenAICompatibleProvider;

Defined in: providers/openai-compatible.ts:149

Parameters

Parameter Type
config OpenAICompatibleConfig

Returns

OpenAICompatibleProvider

Properties

name

abstract readonly name: string;

Defined in: providers/openai-compatible.ts:141

Provider name (e.g., ‘openai’, ‘ollama’, ‘gemini’)

Implementation of

LLMProvider.name

Methods

chat()

chat(messages, options?): AsyncIterable<StreamChunk>;

Defined in: providers/openai-compatible.ts:222

Stream chat completion from the provider

Parameters

Parameter Type Description
messages Message[] Conversation messages
options? ChatOptions Chat options (thinking is ignored for non-Claude providers)

Returns

AsyncIterable<StreamChunk>

Implementation of

LLMProvider.chat

countTokens()

countTokens(messages): Promise<number>;

Defined in: providers/openai-compatible.ts:631

Count tokens in messages using tiktoken (cl100k_base encoding)

Parameters

Parameter Type
messages Message[]

Returns

Promise<number>

Implementation of

LLMProvider.countTokens

getModel()

getModel(): string;

Defined in: providers/openai-compatible.ts:158

Get the current default model ID.

Returns

string

Implementation of

LLMProvider.getModel

setModel()

setModel(modelId): void;

Defined in: providers/openai-compatible.ts:162

Change the default model for subsequent calls. Same provider only. Takes effect on the next chat() call, not mid-stream.

Parameters

Parameter Type Description
modelId string The new model ID (e.g., ‘claude-opus-4-20250514’)

Returns

void

Implementation of

LLMProvider.setModel