@@ -126,7 +126,7 @@ describe("maybeCompactCodexAppServerSession", () => {
126126 expect ( details . pending ) . toBe ( true ) ;
127127 } ) ;
128128
129- it ( "skips native app-server compaction for automatic budget triggers" , async ( ) => {
129+ it ( "starts native app-server compaction for automatic budget triggers" , async ( ) => {
130130 const fake = createFakeCodexClient ( ) ;
131131 setCodexAppServerClientFactoryForTest ( async ( ) => fake . client ) ;
132132 const sessionFile = await writeTestBinding ( ) ;
@@ -142,16 +142,45 @@ describe("maybeCompactCodexAppServerSession", () => {
142142 } ) ,
143143 ) ;
144144
145+ expect ( fake . request ) . toHaveBeenCalledWith ( "thread/compact/start" , { threadId : "thread-1" } ) ;
146+ expect ( result . ok ) . toBe ( true ) ;
147+ expect ( result . compacted ) . toBe ( false ) ;
148+ expect ( result . reason ) . toBeUndefined ( ) ;
149+ expect ( result . result ?. tokensBefore ) . toBe ( 456 ) ;
150+ expect ( compactDetails ( result ) ) . toMatchObject ( {
151+ backend : "codex-app-server" ,
152+ threadId : "thread-1" ,
153+ signal : "thread/compact/start" ,
154+ pending : true ,
155+ } ) ;
156+ } ) ;
157+
158+ it ( "skips native app-server compaction for overflow triggers" , async ( ) => {
159+ const fake = createFakeCodexClient ( ) ;
160+ setCodexAppServerClientFactoryForTest ( async ( ) => fake . client ) ;
161+ const sessionFile = await writeTestBinding ( ) ;
162+
163+ const result = requireCompactResult (
164+ await maybeCompactCodexAppServerSession ( {
165+ sessionId : "session-1" ,
166+ sessionKey : "agent:main:session-1" ,
167+ sessionFile,
168+ workspaceDir : tempDir ,
169+ trigger : "overflow" ,
170+ currentTokenCount : 654 ,
171+ } ) ,
172+ ) ;
173+
145174 expect ( fake . request ) . not . toHaveBeenCalled ( ) ;
146175 expect ( result . ok ) . toBe ( true ) ;
147176 expect ( result . compacted ) . toBe ( false ) ;
148177 expect ( result . reason ) . toBe ( "codex app-server owns automatic compaction" ) ;
149- expect ( result . result ?. tokensBefore ) . toBe ( 456 ) ;
178+ expect ( result . result ?. tokensBefore ) . toBe ( 654 ) ;
150179 expect ( compactDetails ( result ) ) . toMatchObject ( {
151180 backend : "codex-app-server" ,
152181 skipped : true ,
153182 reason : "non_manual_trigger" ,
154- trigger : "budget " ,
183+ trigger : "overflow " ,
155184 } ) ;
156185 } ) ;
157186
0 commit comments