claude-flow-novice
Version:
Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes Local RuVector Accelerator and all CFN skills for complete functionality.
39 lines (38 loc) • 1.28 kB
JavaScript
import { ProviderError } from './provider-interface.js';
import { AnthropicProvider } from './anthropic-provider.js';
export class ProviderFactory {
static providers = new Map([
[
'anthropic',
AnthropicProvider
]
]);
/**
* Create a provider instance
* @param type Provider type
* @param apiKey Optional API key (defaults to env variable)
* @returns LLM Provider instance
*/ static createProvider(type, apiKey) {
const ProviderClass = this.providers.get(type);
if (!ProviderClass) {
throw new ProviderError(`Provider ${type} is not supported`, 'PROVIDER_NOT_FOUND', {
availableProviders: Array.from(this.providers.keys())
});
}
return new ProviderClass(apiKey);
}
/**
* Register a new provider
* @param type Provider type
* @param providerClass Provider implementation class
*/ static registerProvider(type, providerClass) {
this.providers.set(type, providerClass);
}
/**
* Get available provider types
* @returns List of registered provider types
*/ static getAvailableProviders() {
return Array.from(this.providers.keys());
}
}
//# sourceMappingURL=provider-factory.js.map