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()); }