@@ -10,6 +10,7 @@ import { Semaphore } from "../engine/semaphore.ts";
1010import { normalizeSchema , parseAndValidate } from "../engine/schema.ts" ;
1111import { resolveBackend } from "../adapters/registry.ts" ;
1212import { OpenAIResponsesAdapter } from "../adapters/openai-responses.ts" ;
13+ import { isReconnectAdvisory } from "../adapters/stream-errors.ts" ;
1314
1415async function tempDir ( ) : Promise < string > {
1516 return mkdtemp ( path . join ( tmpdir ( ) , "codex-workflow-test-" ) ) ;
@@ -548,6 +549,14 @@ describe("dynamic workflow engine", () => {
548549 await rm ( dir , { recursive : true , force : true } ) ;
549550 } ) ;
550551
552+ it ( "treats prefixed Reconnecting stream messages as advisory" , ( ) => {
553+ assert . equal ( isReconnectAdvisory ( "Reconnecting... 1/5" ) , true ) ;
554+ assert . equal ( isReconnectAdvisory ( "error: Reconnecting... 1/5" ) , true ) ;
555+ assert . equal ( isReconnectAdvisory ( "[warn] Reconnecting... 1/5" ) , true ) ;
556+ assert . equal ( isReconnectAdvisory ( "fatal reconnecting failed" ) , false ) ;
557+ assert . equal ( isReconnectAdvisory ( "error: authentication failed" ) , false ) ;
558+ } ) ;
559+
551560 it ( "retries transient adapter errors without consuming schema repair attempts" , async ( ) => {
552561 const dir = await tempDir ( ) ;
553562 const journalPath = path . join ( dir , "journal.jsonl" ) ;
0 commit comments