Skip to content

Commit 425212a

Browse files
committed
fix: repair session compact type narrowing
1 parent 1877d0f commit 425212a

2 files changed

Lines changed: 32 additions & 13 deletions

File tree

src/config/sessions/session-accessor.test.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,8 +553,27 @@ describe("session accessor file-backed seam", () => {
553553
sessionKey: "agent:main:main",
554554
storePath,
555555
};
556+
const contextBudgetStatus: NonNullable<SessionEntry["contextBudgetStatus"]> = {
557+
schemaVersion: 1,
558+
source: "pre-prompt-estimate",
559+
updatedAt: 90,
560+
provider: "openai",
561+
model: "gpt-5.5",
562+
route: "fits",
563+
shouldCompact: false,
564+
estimatedPromptTokens: 10,
565+
contextTokenBudget: 100,
566+
promptBudgetBeforeReserve: 80,
567+
reserveTokens: 20,
568+
effectiveReserveTokens: 20,
569+
remainingPromptBudgetTokens: 70,
570+
overflowTokens: 0,
571+
toolResultReducibleChars: 0,
572+
messageCount: 1,
573+
unwindowedMessageCount: 1,
574+
};
556575
await upsertSessionEntry(scope, {
557-
contextBudgetStatus: { route: "stale" } as NonNullable<SessionEntry["contextBudgetStatus"]>,
576+
contextBudgetStatus,
558577
inputTokens: 10,
559578
outputTokens: 20,
560579
sessionFile: manualTranscriptPath,

src/gateway/server-methods/sessions.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2629,7 +2629,18 @@ export const sessionsHandlers: GatewayRequestHandlers = {
26292629
},
26302630
);
26312631
if (!trimResult.compacted) {
2632-
if ("reason" in trimResult && trimResult.reason === "no transcript") {
2632+
if ("kept" in trimResult) {
2633+
respond(
2634+
true,
2635+
{
2636+
ok: true,
2637+
key: target.canonicalKey,
2638+
compacted: false,
2639+
kept: trimResult.kept,
2640+
},
2641+
undefined,
2642+
);
2643+
} else {
26332644
respond(
26342645
true,
26352646
{
@@ -2640,18 +2651,7 @@ export const sessionsHandlers: GatewayRequestHandlers = {
26402651
},
26412652
undefined,
26422653
);
2643-
return;
26442654
}
2645-
respond(
2646-
true,
2647-
{
2648-
ok: true,
2649-
key: target.canonicalKey,
2650-
compacted: false,
2651-
kept: trimResult.kept,
2652-
},
2653-
undefined,
2654-
);
26552655
return;
26562656
}
26572657

0 commit comments

Comments
 (0)