"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TTSProviderFactory = void 0; const openAITTSProvider_1 = require("./openAITTSProvider"); const elevenLabsTTSProvider_1 = require("./elevenLabsTTSProvider"); const googleCloudTTSProvider_1 = require("./googleCloudTTSProvider"); /** * Factory for creating TTS providers */ class TTSProviderFactory { static getProvider(config) { const providerName = config.ttsProvider; const providerConfig = config.ttsProviders[providerName]; if (!providerConfig) { throw new Error(`TTS provider "${providerName}" not configured.`); } switch (providerName) { case 'openai': return new openAITTSProvider_1.OpenAITTSProvider(providerConfig); case 'elevenlabs': return new elevenLabsTTSProvider_1.ElevenLabsTTSProvider(providerConfig); case 'google': return new googleCloudTTSProvider_1.GoogleCloudTTSProvider(providerConfig); // Add other providers here default: throw new Error(`TTS provider "${providerName}" not implemented.`); } } } exports.TTSProviderFactory = TTSProviderFactory; //# sourceMappingURL=ttsProviderFactory.js.map