WIP typescript conversion

This commit is contained in:
2025-06-10 19:24:13 +02:00
parent 9425b4b256
commit 507d4f6474
26 changed files with 2128 additions and 27 deletions

View File

@@ -0,0 +1,31 @@
import { VisionProvider } from '../../interfaces';
import { Config } from '../../config/config';
import { OpenAIVisionProvider } from './openAIVisionProvider';
import { GeminiVisionProvider } from './geminiVisionProvider';
import { OllamaVisionProvider } from './ollamaVisionProvider';
/**
* Factory for creating vision AI providers
*/
export class VisionProviderFactory {
static getProvider(config: Config): VisionProvider {
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(providerConfig);
case 'gemini':
return new GeminiVisionProvider(providerConfig);
case "ollama":
return new OllamaVisionProvider(providerConfig);
// Add other providers here
default:
throw new Error(`Vision provider "${providerName}" not implemented.`);
}
}
}