"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VisionProviderFactory = void 0; const openAIVisionProvider_1 = require("./openAIVisionProvider"); const geminiVisionProvider_1 = require("./geminiVisionProvider"); const ollamaVisionProvider_1 = require("./ollamaVisionProvider"); const openRouterVisionProvider_1 = require("./openRouterVisionProvider"); /** * Factory for creating vision AI providers */ class VisionProviderFactory { static getProvider(config) { const providerName = config.visionProvider; const providerConfig = config.visionProviders[providerName]; if (!providerConfig) { throw new Error(`Vision provider "${providerName}" not configured.`); } switch (providerName) { case 'openai': return new openAIVisionProvider_1.OpenAIVisionProvider(providerConfig); case 'gemini': return new geminiVisionProvider_1.GeminiVisionProvider(providerConfig); case "ollama": return new ollamaVisionProvider_1.OllamaVisionProvider(providerConfig); case 'openrouter': return new openRouterVisionProvider_1.OpenRouterVisionProvider(providerConfig); // Add other providers here default: throw new Error(`Vision provider "${providerName}" not implemented.`); } } } exports.VisionProviderFactory = VisionProviderFactory; //# sourceMappingURL=visionProviderFactory.js.map