@just-every/ensemble
Version:
LLM provider abstraction layer with unified streaming interface
42 lines • 1.62 kB
JavaScript
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
;