Skip to main content

LlmApi

@codebolt/client-sdk


Class: LlmApi

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:22

Provides API methods for managing Large Language Model (LLM) providers, models, and configurations.

Handles all LLM-related operations including provider management, API key configuration, model selection, local model downloads, and per-agent LLM settings. This is the central API for controlling which AI models are available and how they are configured in CodeBolt.

Constructors

Constructor

new LlmApi(http: HttpClient): LlmApi;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:23

Parameters

ParameterType
httpHttpClient

Returns

LlmApi

Methods

cancelDownload()

cancelDownload(data: LLMCancelDownloadRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:240

Cancels an in-progress model download.

Stops the download of a model that was previously initiated with downloadModel. Any partially downloaded data may be cleaned up.

Parameters

ParameterTypeDescription
dataLLMCancelDownloadRequestThe cancellation request identifying the download to stop

Returns

Promise<unknown>

A promise that resolves when the cancellation has been processed


deleteLocalModel()

deleteLocalModel(modelId: string): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:295

Deletes a locally downloaded model from disk.

Permanently removes a model that was previously downloaded for local execution, freeing up disk space. The model can be re-downloaded later if needed.

Parameters

ParameterTypeDescription
modelIdstringThe identifier of the local model to delete

Returns

Promise<unknown>

A promise that resolves when the model has been deleted

Example

await client.llm.deleteLocalModel('llama3:8b');

downloadModel()

downloadModel(data: LLMDownloadModelRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:226

Initiates the download of a model for local use.

Starts an asynchronous download of a model that can be run locally (e.g., via Ollama). Use getDownloadStatus to monitor progress.

Parameters

ParameterTypeDescription
dataLLMDownloadModelRequestThe download request specifying which model to download

Returns

Promise<unknown>

A promise that resolves when the download has been initiated

Example

await client.llm.downloadModel({ modelId: 'llama3:8b' });
const status = await client.llm.getDownloadStatus('llama3:8b');

getAllModels()

getAllModels(data?: Record<string, unknown>): Promise<LLMModel[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:99

Retrieves all models across all configured providers.

Returns a flat list of every available model from all providers. Optionally accepts filter criteria to narrow results by capability, provider, or other attributes.

Parameters

ParameterTypeDescription
data?Record<string, unknown>Optional filter criteria for narrowing the model list

Returns

Promise<LLMModel[]>

A promise that resolves to an array of all available LLM models

Example

const allModels = await client.llm.getAllModels();
console.log(`Total available models: ${allModels.length}`);

getDownloadedLocalModels()

getDownloadedLocalModels(): Promise<LLMModel[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:277

Retrieves the list of models that have been downloaded for local execution.

Returns all models currently available on disk for local inference, as opposed to cloud-hosted models that require API calls.

Returns

Promise<LLMModel[]>

A promise that resolves to an array of locally downloaded models

Example

const localModels = await client.llm.getDownloadedLocalModels();
console.log(`${localModels.length} models available locally`);

getDownloadStatus()

getDownloadStatus(modelId: string): Promise<LLMDownloadStatus>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:259

Checks the current download status of a model.

Returns progress information for an active or completed model download, including percentage complete, bytes downloaded, and any error state.

Parameters

ParameterTypeDescription
modelIdstringThe identifier of the model to check

Returns

Promise<LLMDownloadStatus>

A promise that resolves to the current download status

Example

const status = await client.llm.getDownloadStatus('llama3:8b');
console.log(`Download progress: ${status.progress}%`);

getEmbeddingSupportedLLMs()

getEmbeddingSupportedLLMs(): Promise<LLMProvider[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:80

Retrieves LLM providers that support text embedding capabilities.

Filters providers to only those offering embedding models, which convert text into numerical vectors for semantic search, similarity matching, and RAG workflows.

Returns

Promise<LLMProvider[]>

A promise that resolves to an array of embedding-capable LLM providers

Example

const embeddingProviders = await client.llm.getEmbeddingSupportedLLMs();

getLocalAgent()

getLocalAgent(agentName: string): Promise<LLMLocalAgentConfig>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:206

Retrieves the LLM configuration for a specific local agent.

Returns the provider and model settings that have been configured for the given agent, or the default configuration if no agent-specific override exists.

Parameters

ParameterTypeDescription
agentNamestringThe name of the agent whose LLM configuration to retrieve

Returns

Promise<LLMLocalAgentConfig>

A promise that resolves to the agent's LLM configuration

Example

const config = await client.llm.getLocalAgent('code-reviewer');
console.log(`Agent uses: ${config.modelId}`);

getModels()

getModels(data: LLMGetModelsRequest): Promise<LLMModel[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:164

Retrieves the available models for a specific LLM provider.

Queries the models catalog for a given provider, returning all models that can be used with that provider's current configuration and API key.

Parameters

ParameterTypeDescription
dataLLMGetModelsRequestThe request specifying which provider's models to retrieve

Returns

Promise<LLMModel[]>

A promise that resolves to an array of models available for the provider

Example

const models = await client.llm.getModels({ providerId: 'openai' });

getPricing()

getPricing(): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:51

Fetches the current pricing information for all LLM models.

Returns token pricing data (input/output cost per token) for each model across all providers. Useful for cost estimation and budget tracking of LLM usage.

Returns

Promise<unknown>

A promise that resolves to the pricing data for all available models


getProviders()

getProviders(): Promise<LLMProvider[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:39

Retrieves all configured LLM providers with their current status and available models.

Returns the complete list of LLM providers (e.g., OpenAI, Anthropic, Ollama) that have been configured in the system, including whether they have valid API keys set.

Returns

Promise<LLMProvider[]>

A promise that resolves to an array of LLM provider configurations

Example

const providers = await client.llm.getProviders();
const activeProviders = providers.filter(p => p.isActive);

setDefault()

setDefault(data: LLMSetDefaultRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:145

Sets the default LLM model and provider for the workspace.

Configures which model is used by default when no specific model is requested. This affects all operations that rely on LLM inference without explicit model selection.

Parameters

ParameterTypeDescription
dataLLMSetDefaultRequestThe default LLM configuration

Returns

Promise<unknown>

A promise that resolves when the default has been updated

Example

await client.llm.setDefault({
providerId: 'anthropic',
modelId: 'claude-sonnet-4-5-20250929',
});

setLocalAgent()

setLocalAgent(data: LLMLocalAgentConfig): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:187

Configures the LLM settings for a specific local agent.

Allows overriding the default LLM configuration on a per-agent basis, so different agents can use different models or provider settings tailored to their tasks.

Parameters

ParameterTypeDescription
dataLLMLocalAgentConfigThe agent-specific LLM configuration

Returns

Promise<unknown>

A promise that resolves when the agent configuration has been saved

Example

await client.llm.setLocalAgent({
agentName: 'code-reviewer',
providerId: 'anthropic',
modelId: 'claude-sonnet-4-5-20250929',
});

updateKey()

updateKey(data: LLMUpdateKeyRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:122

Updates the API key for a specific LLM provider.

Sets or rotates the authentication key used to communicate with an LLM provider's API. The key is stored securely and used for all subsequent requests to that provider.

Parameters

ParameterTypeDescription
dataLLMUpdateKeyRequestThe key update request

Returns

Promise<unknown>

A promise that resolves when the key has been updated

Example

await client.llm.updateKey({
providerId: 'openai',
apiKey: 'sk-...',
});

updatePricingToLocal()

updatePricingToLocal(): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/llm.api.ts:63

Syncs the latest LLM pricing information to local storage.

Downloads the most up-to-date pricing catalog from the remote source and persists it locally. Call this periodically to ensure cost calculations reflect current rates.

Returns

Promise<unknown>

A promise that resolves when the local pricing data has been updated