diff --git a/packages/compact/compact-basic/src/index.ts b/packages/compact/compact-basic/src/index.ts index 4c7bce00bc..f7fdadb3fa 100644 --- a/packages/compact/compact-basic/src/index.ts +++ b/packages/compact/compact-basic/src/index.ts @@ -291,6 +291,7 @@ export class BasicCompactService extends CompactService { }], system: SUMMARIZE_SYSTEM_PROMPT, maxTokens: this.config.maxTokens, + sessionId: agent.session.id, } // exactOptionalPropertyTypes: only set `signal` when present — assigning // `undefined` to an optional `signal?: AbortSignal` is a type error. @@ -512,8 +513,6 @@ export class BasicCompactService extends CompactService { // ---- Internal helpers ---- - /** - /** * Frame the raw summary blocks into the content that lands on the surface: * a checkpoint preamble (so a resuming model reads it as a checkpoint, not a diff --git a/packages/compact/compact-basic/tests/compact-basic.spec.ts b/packages/compact/compact-basic/tests/compact-basic.spec.ts index 1134862793..10aae6d8be 100644 --- a/packages/compact/compact-basic/tests/compact-basic.spec.ts +++ b/packages/compact/compact-basic/tests/compact-basic.spec.ts @@ -975,6 +975,7 @@ describe('BasicCompactService.summarize (real ctx.llm.stream)', () => { expect(adapter.lastOptions!.system).toContain('compaction engine') expect(adapter.lastOptions!.system).toContain('## Next Step') expect(adapter.lastOptions!.maxTokens).toBe(512) + expect(adapter.lastOptions!.sessionId).toBe(SessionId('summary')) expect(adapter.lastOptions!.messages[0]!.content[0]).toMatchObject({ type: 'text' }) })