UNPKG

@quantumai/quantum-cli-core

Version:

Quantum CLI Core - Multi-LLM Collaboration System

41 lines 1.55 kB
/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { GeminiProvider } from './gemini-provider.js'; import { OpenAIProvider } from './openai-provider.js'; import { AnthropicProvider } from './anthropic-provider.js'; export class ProviderFactory { static createProvider(providerConfig, geminiClient, _config) { switch (providerConfig.type) { case 'gemini': return new GeminiProvider(providerConfig, geminiClient); case 'openai': return new OpenAIProvider(providerConfig); case 'anthropic': return new AnthropicProvider(providerConfig); default: throw new Error(`Unknown provider type: ${providerConfig.type}`); } } static async validateAllProviders(providerConfigs, geminiClient, config) { const results = []; for (const providerConfig of providerConfigs) { try { const provider = ProviderFactory.createProvider(providerConfig, geminiClient, config); const isValid = await provider.validateCredentials(); results.push({ provider, isValid }); } catch (error) { results.push({ provider: null, isValid: false, error: error instanceof Error ? error.message : 'Unknown error', }); } } return results; } } //# sourceMappingURL=provider-factory.js.map