From 128d10d9e97e60c1bf326357f071e59e90ac6c6c Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Sun, 10 May 2026 20:03:11 -0400 Subject: [PATCH] Simplify compaction test helpers (#26742) --- .../opencode/test/session/compaction.test.ts | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/packages/opencode/test/session/compaction.test.ts b/packages/opencode/test/session/compaction.test.ts index b890d1149e..2b36610e58 100644 --- a/packages/opencode/test/session/compaction.test.ts +++ b/packages/opencode/test/session/compaction.test.ts @@ -226,12 +226,6 @@ async function summaryAssistant(sessionID: SessionID, parentID: MessageID, root: return msg } -async function lastCompactionPart(sessionID: SessionID) { - return (await svc.messages({ sessionID })) - .at(-2) - ?.parts.find((item): item is MessageV2.CompactionPart => item.type === "compaction") -} - function createCompactionMarker(sessionID: SessionID) { return SessionNs.Service.use((ssn) => Effect.gen(function* () { @@ -258,14 +252,6 @@ async function createCompactionMarkerAsync(sessionID: SessionID) { return run(createCompactionMarker(sessionID)) } -function readLastCompactionPart(sessionID: SessionID) { - return SessionNs.Service.use((ssn) => ssn.messages({ sessionID })).pipe( - Effect.map((messages) => - messages.at(-2)?.parts.find((item): item is MessageV2.CompactionPart => item.type === "compaction"), - ), - ) -} - function fake( input: Parameters[0], result: "continue" | "compact", @@ -379,6 +365,10 @@ function readCompactionPart(sessionID: SessionID) { ) } +async function lastCompactionPart(sessionID: SessionID) { + return run(readCompactionPart(sessionID)) +} + function llm() { const queue: Array< Stream.Stream | ((input: LLM.StreamInput) => Stream.Stream) @@ -1057,7 +1047,7 @@ describe("session.compaction.process", () => { yield* createUserMessage(session.id, "first") const keep = yield* createUserMessage(session.id, "second") yield* createUserMessage(session.id, "third") - yield* SessionCompaction.use.create({ sessionID: session.id, agent: "build", model: ref, auto: false }) + yield* createSummaryCompaction(session.id) const msgs = yield* ssn.messages({ sessionID: session.id }) const parent = msgs.at(-1)?.info.id @@ -1069,7 +1059,7 @@ describe("session.compaction.process", () => { auto: false, }) - const part = yield* readLastCompactionPart(session.id) + const part = yield* readCompactionPart(session.id) expect(part?.type).toBe("compaction") expect(part?.tail_start_id).toBe(keep.id) }).pipe(Effect.provide(compactionProcessLayer({ config: cfg({ tail_turns: 2, preserve_recent_tokens: 10_000 }) }))), @@ -1083,7 +1073,7 @@ describe("session.compaction.process", () => { yield* createUserMessage(session.id, "first") yield* createUserMessage(session.id, "x".repeat(2_000)) const keep = yield* createUserMessage(session.id, "tiny") - yield* SessionCompaction.use.create({ sessionID: session.id, agent: "build", model: ref, auto: false }) + yield* createSummaryCompaction(session.id) const msgs = yield* ssn.messages({ sessionID: session.id }) const parent = msgs.at(-1)?.info.id @@ -1095,7 +1085,7 @@ describe("session.compaction.process", () => { auto: false, }) - const part = yield* readLastCompactionPart(session.id) + const part = yield* readCompactionPart(session.id) expect(part?.type).toBe("compaction") expect(part?.tail_start_id).toBe(keep.id) }).pipe(Effect.provide(compactionProcessLayer({ config: cfg({ tail_turns: 2, preserve_recent_tokens: 100 }) }))),