22 lines
743 B
TypeScript
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());
|
||
|
|
}
|