@@ -29,6 +29,7 @@ const liveEnabled = OPENAI_API_KEY.trim().length > 0 && process.env.OPENCLAW_LIV
2929const describeLive = liveEnabled ? describe : describe . skip ;
3030const EMPTY_AUTH_STORE = { version : 1 , profiles : { } } as const ;
3131const LIVE_TTS_TIMEOUT_MS = 60_000 ;
32+ const LIVE_STT_FIXTURE_TTS_TIMEOUT_MS = 120_000 ;
3233const ModelRegistryCtor = ModelRegistry as unknown as {
3334 new ( authStorage : AuthStorage , modelsJsonPath ?: string ) : ModelRegistry ;
3435} ;
@@ -336,7 +337,7 @@ describeLive("openai plugin live", () => {
336337 text : phrase ,
337338 cfg,
338339 providerConfig : ttsConfig . providerConfigs . openai ?? { } ,
339- timeoutMs : ttsConfig . timeoutMs ,
340+ timeoutMs : LIVE_STT_FIXTURE_TTS_TIMEOUT_MS ,
340341 } ) ;
341342 if ( ! telephony ) {
342343 throw new Error ( "OpenAI telephony synthesis did not return audio" ) ;
@@ -357,13 +358,12 @@ describeLive("openai plugin live", () => {
357358 audio,
358359 expectedNormalizedText : / o p e n a i .* r e a l t i m e .* t r a n s c r i p t i o n / ,
359360 } ) ;
360-
361361 const normalized = transcripts . join ( " " ) . toLowerCase ( ) ;
362362 const compact = normalizeTranscriptForMatch ( normalized ) ;
363363 expect ( compact ) . toContain ( "openai" ) ;
364364 expect ( normalized ) . toContain ( "transcription" ) ;
365365 expect ( partials . length + transcripts . length ) . toBeGreaterThan ( 0 ) ;
366- } , 180_000 ) ;
366+ } , 240_000 ) ;
367367
368368 it ( "generates an image through the registered image provider" , async ( ) => {
369369 const { imageProviders } = await registerOpenAIPlugin ( ) ;
0 commit comments