Files
2026-06-07 03:58:32 -04:00

22 lines
743 B
TypeScript

import { OpenAIScriptProvider } from "./openai-script";
import { ElevenLabsAudioProvider } from "./elevenlabs-audio";
import { OpenAIArtProvider } from "./openai-art";
import type { ArtProvider, AudioProvider, ScriptProvider } from "../types";
// Registry of active providers. Swapping a model later = change one line here.
let script: ScriptProvider | null = null;
let audio: AudioProvider | null = null;
let art: ArtProvider | null = null;
export function scriptProvider(): ScriptProvider {
return (script ??= new OpenAIScriptProvider());
}
export function audioProvider(): AudioProvider {
return (audio ??= new ElevenLabsAudioProvider());
}
export function artProvider(): ArtProvider {
return (art ??= new OpenAIArtProvider());
}