34 lines
1.5 KiB
JavaScript
34 lines
1.5 KiB
JavaScript
"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
|