@wavequery/conductor
Version:
Modular LLM orchestration framework
40 lines • 928 B
JavaScript
/**
* Registry for managing LLM providers
*/
export class LLMRegistry {
constructor() {
this.providers = new Map();
}
/**
* Register a new LLM provider
*/
register(name, provider) {
if (this.providers.has(name)) {
throw new Error(`Provider ${name} is already registered`);
}
this.providers.set(name, provider);
}
/**
* Get a registered provider
*/
get(name) {
const provider = this.providers.get(name);
if (!provider) {
throw new Error(`Provider ${name} not found`);
}
return provider;
}
/**
* Remove a provider from the registry
*/
unregister(name) {
this.providers.delete(name);
}
/**
* List all registered providers
*/
listProviders() {
return Array.from(this.providers.keys());
}
}
//# sourceMappingURL=llm-registry.js.map