mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
22 lines
777 B
JavaScript
22 lines
777 B
JavaScript
export const VOICE_PROVIDERS = Object.freeze({
|
|
openai: Object.freeze({ label: 'OpenAI' }), // i18n-ignore: provider product name
|
|
gemini: Object.freeze({ label: 'Gemini' }), // i18n-ignore: provider product name
|
|
});
|
|
|
|
/** Optional providers require an explicit host opt-in and an available factory. */
|
|
export function supportedVoiceProviders(
|
|
requested = ['openai'],
|
|
factories = {},
|
|
) {
|
|
if (!Array.isArray(requested))
|
|
throw new TypeError('supportedProviders must be an array');
|
|
const selected = [...new Set(requested)].filter(
|
|
(name) =>
|
|
Object.hasOwn(VOICE_PROVIDERS, name) &&
|
|
typeof factories[name] === 'function',
|
|
);
|
|
if (!selected.length)
|
|
throw new Error('No supported voice provider is configured');
|
|
return Object.freeze(selected);
|
|
}
|