Files
aidio-description/dist/providers/vision/visionProviderFactory.js

34 lines
1.5 KiB
JavaScript
Raw Normal View History

"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