UNPKG

jorel

Version:

A unified wrapper for working with LLMs from multiple providers, including streams, images, documents & automatic tool use.

33 lines (32 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JorElProviderManager = void 0; /** * Manages LLM providers for JorEl */ class JorElProviderManager { constructor(logger) { this.logger = logger; this.providers = {}; this.logger.debug("ProviderManager", "Provider manager initialized"); } /** Register a new LLM provider */ registerProvider(provider, coreProvider) { if (this.providers[provider]) throw new Error(`Provider ${provider} is already registered`); this.providers[provider] = coreProvider; this.logger.debug("ProviderManager", `Registered provider ${provider}`); } /** Get a registered LLM provider */ getProvider(provider) { const coreProvider = this.providers[provider]; if (!coreProvider) throw new Error(`Provider ${provider} is not registered`); return coreProvider; } /** List all registered LLM provider ids */ listProviders() { return Object.keys(this.providers); } } exports.JorElProviderManager = JorElProviderManager;