Skip to main content

Class: AIModelProviderManager

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:68

Description​

Manages and provides access to various configured AI model provider instances (IProvider).

Constructors​

Constructor​

new AIModelProviderManager(): AIModelProviderManager

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:79

Returns​

AIModelProviderManager

Properties​

isInitialized​

isInitialized: boolean = false

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:77

Methods​

checkOverallHealth()​

checkOverallHealth(): Promise<{ isOverallHealthy: boolean; providerDetails: object[]; }>

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:388

Returns​

Promise<{ isOverallHealthy: boolean; providerDetails: object[]; }>


getDefaultProvider()​

getDefaultProvider(): IProvider | undefined

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:284

Returns​

IProvider | undefined


getModelInfo()​

getModelInfo(modelId, providerId?): Promise<ModelInfo | undefined>

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:365

Parameters​

modelId​

string

providerId?​

string

Returns​

Promise<ModelInfo | undefined>


getProvider()​

getProvider(providerId): IProvider | undefined

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:264

Parameters​

providerId​

string

Returns​

IProvider | undefined


getProviderEntry()​

getProviderEntry(providerId): ProviderConfigEntry | undefined

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:278

The configuration entry a provider is served from: of the enabled entries whose providerId names it, in any letter case, the last one whose provider initialized. A later entry's provider replaces an earlier one's, and an entry whose provider fails to initialize leaves the one served before it.

Parameters​

providerId​

string

The provider's id, in any letter case.

Returns​

ProviderConfigEntry | undefined

The entry as configured, or undefined when the provider is not served.


getProviderForModel()​

getProviderForModel(modelId): IProvider | undefined

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:289

Parameters​

modelId​

string

Returns​

IProvider | undefined


getProviderInitError()​

getProviderInitError(providerId): unknown

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:260

Returns the error a provider threw during initialize, so a caller that finds the provider missing can report why (for example the HTTP 401 of a rejected API key) instead of a bare "not available".

Parameters​

providerId​

string

The provider id as configured.

Returns​

unknown

The thrown error, or undefined when the provider initialized or was never configured.


initialize()​

initialize(config): Promise<void>

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:113

Parameters​

config​

AIModelProviderManagerConfig

Returns​

Promise<void>


listAllAvailableModels()​

listAllAvailableModels(): Promise<ModelInfo[]>

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:321

Lists every model the initialized providers serve: one row per (providerId, modelId), in provider registration order. Two providers can serve the same model id (gemini and gemini-cli, anthropic and claude-code-cli), and routing names the provider, so each keeps its row. A bare-id find still lands on the first-registered provider, matching getProviderForModel.

Returns​

Promise<ModelInfo[]>


shutdown()​

shutdown(): Promise<void>

Defined in: packages/agentos/src/core/llm/providers/AIModelProviderManager.ts:420

Returns​

Promise<void>