2424 */
2525
2626import { SDKLogger } from '../../Foundation/SDKLogger' ;
27- import { ExtensionPoint , ServiceKey } from '../../Infrastructure/ExtensionPoint' ;
27+ import { ExtensionPoint } from '../../Infrastructure/ExtensionPoint' ;
28+ import type { LLMProvider , STTProvider , TTSProvider } from '../../Infrastructure/ProviderTypes' ;
2829import { PipelineState } from './VoiceAgentTypes' ;
2930import type {
3031 VoicePipelineCallbacks ,
@@ -42,39 +43,19 @@ export type {
4243const logger = new SDKLogger ( 'VoicePipeline' ) ;
4344
4445// ---------------------------------------------------------------------------
45- // Service interfaces for cross-package access
46+ // Dynamic backend access helpers (typed via ExtensionPoint provider registry)
4647// ---------------------------------------------------------------------------
4748
48- interface STTService {
49- transcribe ( audio : Float32Array , options ?: { sampleRate ?: number } ) : Promise < { text : string ; [ key : string ] : unknown } > ;
49+ function requireSTT ( ) : STTProvider {
50+ return ExtensionPoint . requireProvider ( 'stt' , '@runanywhere/web-onnx' ) ;
5051}
5152
52- interface TextGenerationService {
53- generateStream ( prompt : string , options ?: { maxTokens ?: number ; temperature ?: number ; systemPrompt ?: string } ) : Promise < {
54- stream : AsyncIterable < string > ;
55- result : Promise < { text : string ; tokensUsed : number ; tokensPerSecond : number ; [ key : string ] : unknown } > ;
56- cancel : ( ) => void ;
57- } > ;
53+ function requireTextGeneration ( ) : LLMProvider {
54+ return ExtensionPoint . requireProvider ( 'llm' , '@runanywhere/web-llamacpp' ) ;
5855}
5956
60- interface TTSService {
61- synthesize ( text : string , options ?: { speed ?: number } ) : Promise < { audioData : Float32Array ; sampleRate : number ; durationMs : number ; processingTimeMs : number ; [ key : string ] : unknown } > ;
62- }
63-
64- // ---------------------------------------------------------------------------
65- // Dynamic backend access helpers (typed via ExtensionPoint service registry)
66- // ---------------------------------------------------------------------------
67-
68- function requireSTT ( ) : STTService {
69- return ExtensionPoint . requireService < STTService > ( ServiceKey . STT , '@runanywhere/web-onnx' ) ;
70- }
71-
72- function requireTextGeneration ( ) : TextGenerationService {
73- return ExtensionPoint . requireService < TextGenerationService > ( ServiceKey . TextGeneration , '@runanywhere/web-llamacpp' ) ;
74- }
75-
76- function requireTTS ( ) : TTSService {
77- return ExtensionPoint . requireService < TTSService > ( ServiceKey . TTS , '@runanywhere/web-onnx' ) ;
57+ function requireTTS ( ) : TTSProvider {
58+ return ExtensionPoint . requireProvider ( 'tts' , '@runanywhere/web-onnx' ) ;
7859}
7960
8061// ---------------------------------------------------------------------------
0 commit comments