UNPKG

@just-every/ensemble

Version:

LLM provider abstraction layer with unified streaming interface

42 lines 1.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerExternalModel = registerExternalModel; exports.getExternalModel = getExternalModel; exports.getExternalProvider = getExternalProvider; exports.isExternalModel = isExternalModel; exports.clearExternalRegistrations = clearExternalRegistrations; exports.overrideModelClass = overrideModelClass; exports.getModelClassOverride = getModelClassOverride; const externalModels = new Map(); const externalProviders = new Map(); const modelClassOverrides = new Map(); function registerExternalModel(model, provider) { const modelId = model.id; externalModels.set(modelId, model); if (!externalProviders.has(model.provider)) { externalProviders.set(model.provider, provider); } console.log(`[Ensemble] Registered external model: ${modelId} with provider: ${model.provider}`); } function getExternalModel(modelId) { return externalModels.get(modelId); } function getExternalProvider(providerId) { return externalProviders.get(providerId); } function isExternalModel(modelId) { return externalModels.has(modelId); } function clearExternalRegistrations() { externalModels.clear(); externalProviders.clear(); modelClassOverrides.clear(); } function overrideModelClass(className, modelClass) { modelClassOverrides.set(className, modelClass); console.log(`[Ensemble] Overrode model class: ${className} with models: ${modelClass.models?.join(', ')}`); } function getModelClassOverride(className) { return modelClassOverrides.get(className); } //# sourceMappingURL=external_models.js.map