@pentoshi/clai 3.12.1 → 3.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/LICENSE +1 -1
  2. package/dist/agent/compaction-summary.d.ts +20 -12
  3. package/dist/agent/compaction-summary.js +72 -14
  4. package/dist/agent/compaction-summary.js.map +1 -1
  5. package/dist/agent/context-manager.d.ts +2 -0
  6. package/dist/agent/context-manager.js +64 -35
  7. package/dist/agent/context-manager.js.map +1 -1
  8. package/dist/agent/events.d.ts +1 -0
  9. package/dist/agent/message-slim.d.ts +6 -18
  10. package/dist/agent/message-slim.js +41 -23
  11. package/dist/agent/message-slim.js.map +1 -1
  12. package/dist/agent/runner.js +133 -97
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/app/adapters/agent-event-adapter.js +1 -0
  15. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  16. package/dist/app/controllers/session-compact-helper.d.ts +3 -1
  17. package/dist/app/controllers/session-compact-helper.js +86 -42
  18. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  19. package/dist/app/controllers/session-context-usage.js +0 -2
  20. package/dist/app/controllers/session-context-usage.js.map +1 -1
  21. package/dist/app/controllers/session-controller.js +3 -0
  22. package/dist/app/controllers/session-controller.js.map +1 -1
  23. package/dist/app/events/app-event.d.ts +1 -0
  24. package/dist/app/events/app-event.js.map +1 -1
  25. package/dist/prompts/embedded.js +1 -1
  26. package/dist/prompts/embedded.js.map +1 -1
  27. package/dist/prompts/index.js +3 -3
  28. package/dist/prompts/index.js.map +1 -1
  29. package/dist/prompts/system.agent.md +2 -2
  30. package/dist/tools/elevated-shell.d.ts +4 -29
  31. package/dist/tools/elevated-shell.js +46 -71
  32. package/dist/tools/elevated-shell.js.map +1 -1
  33. package/dist/tools/registry.js +47 -17
  34. package/dist/tools/registry.js.map +1 -1
  35. package/dist/tools/shell.d.ts +2 -14
  36. package/dist/tools/shell.js +19 -43
  37. package/dist/tools/shell.js.map +1 -1
  38. package/dist/tui/state.js +5 -5
  39. package/dist/tui/state.js.map +1 -1
  40. package/dist/tui-v2/components/status/status-line.d.ts +1 -0
  41. package/dist/tui-v2/components/status/status-line.js +62 -3
  42. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  43. package/dist/tui-v2/rendering/incremental-strip.js +1 -1
  44. package/dist/tui-v2/rendering/incremental-strip.js.map +1 -1
  45. package/dist/tui-v2/rendering/strip-tool-surfaces.d.ts +0 -8
  46. package/dist/tui-v2/rendering/strip-tool-surfaces.js +31 -17
  47. package/dist/tui-v2/rendering/strip-tool-surfaces.js.map +1 -1
  48. package/dist/tui-v2/state/transcript-compaction.js +1 -4
  49. package/dist/tui-v2/state/transcript-compaction.js.map +1 -1
  50. package/dist/tui-v2/state/transcript-reducer.js +3 -1
  51. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  52. package/dist/version.generated.d.ts +2 -2
  53. package/dist/version.generated.js +2 -2
  54. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 pentoshi007
3
+ Copyright (c) 2026 pentoshi007
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * Prompts and helpers for LLM-based context compaction.
3
3
  * The model produces structured continuation memory — not a raw transcript dump.
4
4
  */
5
- export declare const COMPACTION_SYSTEM_PROMPT = "You are a session-memory compressor for an autonomous coding and security agent.\n\nWrite a dense, accurate CONTINUATION MEMORY for another assistant that will resume this work with no other history.\n\nYou are SUMMARIZING a past session, NOT continuing it. Do not answer the user, do not perform the next task, and do not role-play the agent. Never emit tool calls or invent tool results, file-write receipts (bytes/lines/sha256), exit codes, or \"TOOL:\" / \"[tools: \u2026]\" transcript lines \u2014 describe what already happened in your own words.\n\nRules:\n- Fidelity over style. Never invent tool results, file contents, findings, URLs, ports, or completions.\n- Prefer concrete artifacts: absolute paths, commands (short form), exit outcomes, HTTP status, plan task ids/states, job ids, open ports, confirmed vs unconfirmed findings.\n- LENGTH: aim for ~1400\u20132400 tokens of dense structured bullets \u2014 a richer, complete memory beats a terse one, but finish within budget rather than cutting mid-sentence. No full tool transcripts or HTML bodies.\n- DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before\u2192after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.\n- NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE \u2014 do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.\n- Omit secrets, API keys, passwords, tokens, and full credential material. Say \"[redacted]\" if present.\n- Omit progress bars, repeated failures, and decorative chatter \u2014 but list genuinely informative failures (with cause and attempt count) under Open risks / failures.\n- Do not wrap the whole answer in markdown code fences.\n- If something is unknown, write \"(unknown)\" rather than guessing.\n- PHASE AWARENESS: Temporary UI/mode gates (plan-mode gather-only, \"await accept\", \"do not implement yet\") are HISTORICAL context \u2014 never rewrite them as permanent forever-rules for the resuming agent. Durable user/engagement policy (scope, non-destructive default, stay on remote target when that is the engagement) may still apply.";
5
+ export declare const COMPACTION_SYSTEM_PROMPT = "You are a session-memory compressor for an autonomous coding and security agent.\n\nWrite a dense, accurate CONTINUATION MEMORY for another assistant that will resume this work with no other history.\n\nYou are SUMMARIZING a past session, NOT continuing it. Do not answer the user, do not perform the next task, and do not role-play the agent. Never emit tool calls or invent tool results, file-write receipts (bytes/lines/sha256), exit codes, or \"TOOL:\" / \"[tools: \u2026]\" transcript lines \u2014 describe what already happened in your own words.\n\nRules:\n- Fidelity over style. Never invent tool results, file contents, findings, URLs, ports, or completions.\n- Prefer concrete artifacts: absolute paths, commands (short form), exit outcomes, HTTP status, plan task ids/states, job ids, open ports, confirmed vs unconfirmed findings.\n- LENGTH: aim for ~1800\u20133600 tokens of dense structured bullets \u2014 preserve every consequential fact, but finish every section and bullet within budget rather than cutting mid-sentence. Prefer one precise mention over repeated coverage.\n- DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before\u2192after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.\n- NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE \u2014 do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.\n- Omit secrets, API keys, passwords, tokens, and full credential material. Say \"[redacted]\" if present.\n- Omit progress bars, repeated failures, and decorative chatter \u2014 but list genuinely informative failures (with cause and attempt count) under Open risks / failures.\n- Do not wrap the whole answer in markdown code fences.\n- If something is unknown, write \"(unknown)\" rather than guessing.\n- PHASE AWARENESS: Temporary UI/mode gates (plan-mode gather-only, \"await accept\", \"do not implement yet\") are HISTORICAL context \u2014 never rewrite them as permanent forever-rules for the resuming agent. Durable user/engagement policy (scope, non-destructive default, stay on remote target when that is the engagement) may still apply.";
6
6
  export interface CompactionPromptParts {
7
7
  visualTranscript?: string | undefined;
8
8
  messageTranscript: string;
@@ -16,6 +16,10 @@ export interface CompactionPromptParts {
16
16
  }
17
17
  /** User message fed to the summarizer model. */
18
18
  export declare function buildCompactionUserPrompt(parts: CompactionPromptParts): string;
19
+ export declare function buildDirectCompactionPrompt(input: {
20
+ readonly durableState?: string | undefined;
21
+ readonly purpose?: "default" | "plan-implement" | undefined;
22
+ }): string;
19
23
  /** Soft cap for transcript fed to the summarizer (chars). */
20
24
  export declare const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48000;
21
25
  /**
@@ -24,17 +28,12 @@ export declare const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48000;
24
28
  * so its allowance must comfortably exceed the ~1400–2400 token target while
25
29
  * still discouraging hidden reasoning blowout.
26
30
  */
27
- export declare const COMPACTION_MAX_COMPLETION_TOKENS = 3072;
28
- /** Map passes extract facts at the same detail level but for one region only. */
29
- export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 1536;
30
- /** Chars per map-stage chunk when the transcript exceeds one summarizer call. */
31
- export declare const COMPACTION_CHUNK_CHAR_BUDGET = 96000;
32
- /**
33
- * Upper bound on map-stage summarizer calls. Chunks grow instead of being
34
- * dropped, so a very long session costs more chars per call but never loses a
35
- * region of history.
36
- */
37
- export declare const MAX_COMPACTION_CHUNKS = 2;
31
+ export declare const COMPACTION_MAX_COMPLETION_TOKENS = 8192;
32
+ export declare const COMPACTION_INPUT_SAFETY_TOKENS = 4096;
33
+ export declare function compactionSinglePassInputBudget(contextLimitTokens: number): number;
34
+ export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 3072;
35
+ export declare const COMPACTION_CHUNK_CHAR_BUDGET = 64000;
36
+ export declare const MAX_COMPACTION_CHUNKS = 8;
38
37
  /**
39
38
  * Split the transcript into ordered chunks that together contain every
40
39
  * character of the input. Boundaries prefer blank lines so a message is not cut
@@ -64,4 +63,13 @@ export declare function trimTranscriptForCompaction(transcript: string, budget?:
64
63
  * contains these artifacts, so their presence means the summary is unusable and
65
64
  * compaction should fail loudly rather than persist garbage.
66
65
  */
66
+ export declare function normalizeCompactionSummary(summary: string): string;
67
+ export declare function looksLikeIncompleteCompactionSummary(summary: string): boolean;
68
+ export declare function isCompactionCompletionTruncated(response: {
69
+ finishReason?: string | undefined;
70
+ usage?: {
71
+ completionTokens?: number | undefined;
72
+ } | undefined;
73
+ }, maxTokens: number): boolean;
74
+ export declare function buildCompactionRetryPrompt(prompt: string, reason: "truncated" | "incomplete" | "reasoning-only" | "replayed"): string;
67
75
  export declare function looksLikeTranscriptReplay(summary: string): boolean;
@@ -11,7 +11,7 @@ You are SUMMARIZING a past session, NOT continuing it. Do not answer the user, d
11
11
  Rules:
12
12
  - Fidelity over style. Never invent tool results, file contents, findings, URLs, ports, or completions.
13
13
  - Prefer concrete artifacts: absolute paths, commands (short form), exit outcomes, HTTP status, plan task ids/states, job ids, open ports, confirmed vs unconfirmed findings.
14
- - LENGTH: aim for ~14002400 tokens of dense structured bullets — a richer, complete memory beats a terse one, but finish within budget rather than cutting mid-sentence. No full tool transcripts or HTML bodies.
14
+ - LENGTH: aim for ~18003600 tokens of dense structured bullets — preserve every consequential fact, but finish every section and bullet within budget rather than cutting mid-sentence. Prefer one precise mention over repeated coverage.
15
15
  - DETAIL LEVEL: mechanism-level specificity. For code changes name the file path with line anchors, what changed, the before→after behavior, and the verification evidence (which tests/typecheck/build status prove it). For debugging name the root cause, each failed approach, and why it failed. For research name exact findings with their evidence. For pending work give the next concrete step a cold reader can execute immediately. A reader resuming with no other context must not need to re-discover anything recorded below.
16
16
  - NO DUPLICATION: state each fact exactly once, in its best section. This memory is prepended to a live context that ALSO re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE — do not restate the full plan or every task, and do not reproduce long user prompts verbatim; capture goals/deltas concisely.
17
17
  - Omit secrets, API keys, passwords, tokens, and full credential material. Say "[redacted]" if present.
@@ -39,7 +39,7 @@ export function buildCompactionUserPrompt(parts) {
39
39
  else {
40
40
  sections.push("Create a complete but compact continuation memory of the session below.", "Treat resumed history and newer turns as one continuous conversation.", "Open with a single ORIENTATION line — current objective plus status (done / in progress / blocked) — so the resuming agent reorients in one read. Keep it to one line; the details belong in the sections below, not restated here.", "", "Organize under these exact section headings (skip a section only if empty):", "## User goals", "## Key facts and environment", "## Decisions and constraints", "## Work completed", "## In flight / blocked", "## Commands/tools and results", "## Current state", "## Remaining work", "## Relevant files", "## Open risks / failures", "", "How to fill sections (resume-quality critical — write for a reader with zero prior context):", "- User goals: the objective plus hard constraints the user imposed verbatim or near-verbatim (style rules, forbiddens, scope limits), and the requested execution boundary (entire program/all phases versus a named phase versus unspecified).", "- Key facts and environment: mechanism-level truths discovered during the session — API/data shapes and field semantics, regex or parser behaviors, gate conditions and flag interactions, environment quirks (broken credentials, unavailable services, tool versions), and anything verified empirically. Each bullet must let the resumer act without re-verifying.", "- Decisions and constraints: each decision with its rationale and source (user directive, discovered evidence, tool constraint), not just the decision itself.", "- Work completed: one bullet per change/result with file path and line anchors, what changed, before→after behavior, and explicit verification evidence (test counts, exit codes, commands that passed, or 'not yet verified'). Group as Completed, then any reverted/abandoned changes with why.", "- In flight / blocked: edits made but not verified, designs decided but not applied, and blocked items with the exact missing piece — including the concrete next edit already determined but not yet performed.", "- Commands/tools and results: key commands with outcomes; notable failures with root cause and how many attempts before success/abandonment so the resumer does not retry dead ends.", "- Current state: what is true at compaction time — running servers/jobs (ids, ports), dirty worktree state, open handles, last observed outputs.", "- Remaining work: an ordered, numbered list of concrete next steps — each step names the action, the file/line or artifact it applies to, and the verification command that proves it done. Do not restate plan tasks already recorded in the live plan; record the deltas and execution detail.", "- Relevant files: path → role, what changed there, and line anchors worth resuming from. Include test files with their pass/fail state.", "- Open risks / failures: unresolved bugs, known-broken neighbors left untouched, suspicious observations not yet explained.", "", "Preserve: user intentions, decisions, constraints, requested execution boundary (entire program/all phases versus a named phase versus unspecified), referenced roadmap/plan/task/index paths, stack/package manager,", "commands and key results, plan task states/hierarchy, errors and failed approaches,", "Responder notification ids, linked task/parent ids, job/PID/status, durable artifact paths, and the authoritative consumed/analyzed state from RESPONDER RESULT LEDGER entries. Never describe consumed=true ledger entries as unread, pending, or needing another artifact read.", "servers/jobs still running, and exactly what remains.", "", "AVOID BLOAT — this memory is prepended to a context that re-injects fresh ACTIVE PLAN, SESSION STATE, and ENGAGEMENT SCOPE after compaction:", "- DEDUPLICATE: state each fact once in its best section. Never repeat the same path, command, decision, or finding across multiple sections.", "- Do NOT restate the full plan or list every task under Remaining work — the live ACTIVE PLAN is re-injected separately. Record only deltas: the next task, blockers, dependency/order caveats, and states not obvious from the plan.", "- Do NOT reproduce long user prompts verbatim. Capture the goal and hard constraints concisely under User goals.", "- Omit routine fs.list / fs.read / tool.check receipts and transient logs whose result is already captured. Prefer dense bullets over prose.", "", "PHASE AWARENESS under Decisions and constraints:", "- If earlier turns were plan-mode research, do not elevate gather-only / await-accept / no-implement rules as permanent forever-constraints for agent execution.", "- Durable engagement policy (scope, remote target, non-destructive default) may still be listed as current.", "- Prefer labeling historical plan-mode gates as \"(plan-mode only; superseded after accept)\" when they appear in the material.");
41
41
  }
42
- const target = "Be specific over short. Target ~14002400 tokens of memory (~8001200 for plan-mode handoffs). Dense bullets over prose. No secrets. No fabricated successes. No full tool dumps.";
42
+ const target = "Be specific over short. Target ~18003600 tokens of dense continuation memory (~9001600 for plan-mode handoffs), using more only when required to preserve verified state. Finish every bullet and section. End on a complete sentence. No secrets, fabricated successes, raw pseudo-tool syntax, or full tool dumps.";
43
43
  sections.push(target);
44
44
  if (durable) {
45
45
  sections.push("", "DURABLE STATE (trust this over older chatter):", durable);
@@ -47,6 +47,13 @@ export function buildCompactionUserPrompt(parts) {
47
47
  sections.push("", "SESSION MATERIAL:", "", transcript);
48
48
  return sections.join("\n");
49
49
  }
50
+ export function buildDirectCompactionPrompt(input) {
51
+ return buildCompactionUserPrompt({
52
+ messageTranscript: "The session material is the exact conversation-message prefix immediately before this instruction. Summarize that prefix only; do not treat this instruction as session content.",
53
+ ...(input.durableState ? { durableState: input.durableState } : {}),
54
+ ...(input.purpose ? { purpose: input.purpose } : {}),
55
+ });
56
+ }
50
57
  /** Soft cap for transcript fed to the summarizer (chars). */
51
58
  export const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48_000;
52
59
  /**
@@ -55,17 +62,18 @@ export const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48_000;
55
62
  * so its allowance must comfortably exceed the ~1400–2400 token target while
56
63
  * still discouraging hidden reasoning blowout.
57
64
  */
58
- export const COMPACTION_MAX_COMPLETION_TOKENS = 3_072;
59
- /** Map passes extract facts at the same detail level but for one region only. */
60
- export const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 1_536;
61
- /** Chars per map-stage chunk when the transcript exceeds one summarizer call. */
62
- export const COMPACTION_CHUNK_CHAR_BUDGET = 96_000;
63
- /**
64
- * Upper bound on map-stage summarizer calls. Chunks grow instead of being
65
- * dropped, so a very long session costs more chars per call but never loses a
66
- * region of history.
67
- */
68
- export const MAX_COMPACTION_CHUNKS = 2;
65
+ export const COMPACTION_MAX_COMPLETION_TOKENS = 8_192;
66
+ export const COMPACTION_INPUT_SAFETY_TOKENS = 4_096;
67
+ export function compactionSinglePassInputBudget(contextLimitTokens) {
68
+ if (!Number.isFinite(contextLimitTokens))
69
+ return 0;
70
+ return Math.max(0, Math.floor(contextLimitTokens) -
71
+ COMPACTION_MAX_COMPLETION_TOKENS -
72
+ COMPACTION_INPUT_SAFETY_TOKENS);
73
+ }
74
+ export const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 3_072;
75
+ export const COMPACTION_CHUNK_CHAR_BUDGET = 64_000;
76
+ export const MAX_COMPACTION_CHUNKS = 8;
69
77
  /**
70
78
  * Split the transcript into ordered chunks that together contain every
71
79
  * character of the input. Boundaries prefer blank lines so a message is not cut
@@ -142,12 +150,62 @@ export function trimTranscriptForCompaction(transcript, budget = COMPACTION_TRAN
142
150
  * contains these artifacts, so their presence means the summary is unusable and
143
151
  * compaction should fail loudly rather than persist garbage.
144
152
  */
153
+ export function normalizeCompactionSummary(summary) {
154
+ const seenBullets = new Set();
155
+ const output = [];
156
+ for (const line of summary.replace(/\r\n?/g, "\n").split("\n")) {
157
+ const trimmed = line.trim();
158
+ const bullet = /^(?:[-*+]|\d+[.)])\s+(.+)$/.exec(trimmed);
159
+ if (bullet) {
160
+ const key = bullet[1].replace(/\s+/g, " ").trim().toLowerCase();
161
+ if (seenBullets.has(key))
162
+ continue;
163
+ seenBullets.add(key);
164
+ }
165
+ if (!trimmed && output[output.length - 1]?.trim() === "")
166
+ continue;
167
+ output.push(line.replace(/[ \t]+$/g, ""));
168
+ }
169
+ return output.join("\n").trim();
170
+ }
171
+ export function looksLikeIncompleteCompactionSummary(summary) {
172
+ const text = summary.trim();
173
+ if (!text)
174
+ return true;
175
+ if ((text.match(/```/g)?.length ?? 0) % 2 !== 0)
176
+ return true;
177
+ const last = text.split("\n").at(-1)?.trim() ?? "";
178
+ if (/^#{1,6}\s+\S/.test(last))
179
+ return true;
180
+ if (/[,;:(\[{=+\-–—]$/.test(last))
181
+ return true;
182
+ return /\b(?:and|or|the|a|an|to|with|without|has|have|had|is|are|was|were|from|for|of|in|on|at|by|as|that|which|whose|because|so)$/i.test(last);
183
+ }
184
+ export function isCompactionCompletionTruncated(response, maxTokens) {
185
+ if (response.finishReason?.toLowerCase() === "length")
186
+ return true;
187
+ const used = response.usage?.completionTokens;
188
+ return typeof used === "number" && used >= Math.max(1, maxTokens - 32);
189
+ }
190
+ export function buildCompactionRetryPrompt(prompt, reason) {
191
+ const issue = reason === "truncated"
192
+ ? "The previous draft hit its output limit."
193
+ : reason === "reasoning-only"
194
+ ? "The previous draft contained no visible memory."
195
+ : reason === "replayed"
196
+ ? "The previous draft replayed source transcript or raw pseudo-tool syntax."
197
+ : "The previous draft ended abruptly or was structurally incomplete.";
198
+ return `${prompt}\n\nQUALITY RETRY: ${issue} Rewrite the entire continuation memory from the source, not a continuation of the failed draft. Preserve all consequential facts once, use dense bullets, stay within the requested target, finish every section and bullet, and end on a complete sentence.`;
199
+ }
145
200
  export function looksLikeTranscriptReplay(summary) {
146
201
  const hardMarkers = [
147
202
  /sha256_12\s*=/i,
148
203
  /Do NOT re-read this file/i,
149
204
  /\(\s*exit\s*=\s*-?\d+\s*,\s*ok\s*=\s*(?:true|false)\s*\)/i,
150
- /<tool_call>|<arg_key>|<arg_value>|<\/tool_call>/i,
205
+ /<tool_calls?(?::[^>]+)?>|<arg_key>|<arg_value>|<\/tool_call/i,
206
+ /<\|tool_(?:calls_section|call|call_argument)_(?:begin|end)\|>/i,
207
+ /<[||]+DSML[||]+(?:tool_calls|invoke|parameter)\b/i,
208
+ /<[||]+(?:open|close|sep)[||]+>/i,
151
209
  /\bbytes\s*=\s*\d+\s+lines\s*=\s*\d+/i,
152
210
  ];
153
211
  if (hardMarkers.some((re) => re.test(summary)))
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;8UAgBsS,CAAC;AAc/U,gDAAgD;AAChD,MAAM,UAAU,yBAAyB,CAAC,KAA4B;IACpE,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC;IAEzD,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,UAAU,GAAG,GAAG,MAAM,oCAAoC,YAAY,EAAE,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,MAAM,IAAI,YAAY,CAAC;IACtC,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,6HAA6H,EAC7H,8IAA8I,EAC9I,iIAAiI,EACjI,sKAAsK,EACtK,EAAE,EACF,6MAA6M,EAC7M,eAAe,EACf,mDAAmD,EACnD,2CAA2C,EAC3C,uBAAuB,EACvB,iCAAiC,EACjC,4BAA4B,EAC5B,sBAAsB,EACtB,yDAAyD,EACzD,gEAAgE,EAChE,mCAAmC,EACnC,kBAAkB,EAClB,uCAAuC,EACvC,0BAA0B,EAC1B,EAAE,EACF,oDAAoD,EACpD,yKAAyK,EACzK,6IAA6I,EAC7I,kNAAkN,EAClN,4MAA4M,EAC5M,sIAAsI,EACtI,4HAA4H,EAC5H,gIAAgI,EAChI,sPAAsP,EACtP,yNAAyN,EACzN,0JAA0J,EAC1J,wJAAwJ,EACxJ,sMAAsM,EACtM,kMAAkM,EAClM,qNAAqN,EACrN,4HAA4H,EAC5H,+EAA+E,CAChF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CACX,yEAAyE,EACzE,uEAAuE,EACvE,qOAAqO,EACrO,EAAE,EACF,6EAA6E,EAC7E,eAAe,EACf,8BAA8B,EAC9B,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAC/B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,EAAE,EACF,8FAA8F,EAC9F,iPAAiP,EACjP,wWAAwW,EACxW,gKAAgK,EAChK,mSAAmS,EACnS,kNAAkN,EAClN,sLAAsL,EACtL,kJAAkJ,EAClJ,kSAAkS,EAClS,yIAAyI,EACzI,6HAA6H,EAC7H,EAAE,EACF,uNAAuN,EACvN,qFAAqF,EACrF,mRAAmR,EACnR,uDAAuD,EACvD,EAAE,EACF,8IAA8I,EAC9I,8IAA8I,EAC9I,uOAAuO,EACvO,kHAAkH,EAClH,8IAA8I,EAC9I,EAAE,EACF,kDAAkD,EAClD,kKAAkK,EAClK,6GAA6G,EAC7G,iIAAiI,CAClI,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GACV,wTAAwT,CAAC;IAC3T,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEtB,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,gDAAgD,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAG3C;IACC,OAAO,yBAAyB,CAAC;QAC/B,iBAAiB,EACf,kLAAkL;QACpL,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAEtD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAC7C,kBAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC5B,gCAAgC;QAChC,8BAA8B,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,KAAK,CAAC;AAE1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAkB,EAClB,UAAU,GAAG,4BAA4B,EACzC,SAAS,GAAG,qBAAqB;IAEjC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,MAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,GAAG,GAAG,QAAQ,CAAC;QAChE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACpC,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,0BAA0B,CAAC,KAK1C;IACC,MAAM,KAAK,GACT,KAAK,CAAC,OAAO,KAAK,gBAAgB;QAChC,CAAC,CAAC,+HAA+H;QACjI,CAAC,CAAC,6OAA6O,CAAC;IACpP,OAAO;QACL,oBAAoB,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,6BAA6B;QAClF,wIAAwI;QACxI,KAAK;QACL,oUAAoU;QACpU,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,KAAK,CAAC,KAAK;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,2BAA2B,CAAC,KAI3C;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SACrD,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,yBAAyB,CAAC;QAC/B,iBAAiB,EAAE,MAAM;QACzB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC,CAAC;AACL,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,MAAM,GAAG,iCAAiC;IAE1C,IAAI,UAAU,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,UAAU,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IAChC,OAAO,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACzB,wDAAwD;QACxD,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CACxB,CAAC;AACJ,CAAC;AAGD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACjE,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,OAAe;IAClE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,6HAA6H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,QAGC,EACD,SAAiB;IAEjB,IAAI,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,MAAkE;IAElE,MAAM,KAAK,GACT,MAAM,KAAK,WAAW;QACpB,CAAC,CAAC,0CAA0C;QAC5C,CAAC,CAAC,MAAM,KAAK,gBAAgB;YAC3B,CAAC,CAAC,iDAAiD;YACnD,CAAC,CAAC,MAAM,KAAK,UAAU;gBACrB,CAAC,CAAC,0EAA0E;gBAC5E,CAAC,CAAC,mEAAmE,CAAC;IAC9E,OAAO,GAAG,MAAM,sBAAsB,KAAK,+PAA+P,CAAC;AAC7S,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,WAAW,GAAG;QAClB,gBAAgB;QAChB,2BAA2B;QAC3B,2DAA2D;QAC3D,8DAA8D;QAC9D,gEAAgE;QAChE,mDAAmD;QACnD,iCAAiC;QACjC,sCAAsC;KACvC,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5D,MAAM,WAAW,GAAG;QAClB,sBAAsB;QACtB,aAAa;QACb,sBAAsB;QACtB,cAAc;KACf,CAAC;IACF,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AAClE,CAAC"}
@@ -33,6 +33,7 @@ export interface CompactOptions {
33
33
  budgetTokens?: number | undefined;
34
34
  /** Keep this many trailing messages (system + user/assistant pairs). */
35
35
  keepRecent?: number | undefined;
36
+ singlePassInputBudgetTokens?: number | undefined;
36
37
  /**
37
38
  * Bias summarizer prompt (e.g. plan-implement preserves recon evidence).
38
39
  * Does not change accept/reject heuristics.
@@ -76,6 +77,7 @@ export interface CompactionSummaryStage {
76
77
  readonly phase: "single" | "map" | "reduce";
77
78
  readonly index?: number | undefined;
78
79
  readonly total?: number | undefined;
80
+ readonly sourceMessages?: readonly ChatMessage[] | undefined;
79
81
  }
80
82
  /**
81
83
  * Compact older turns into a model-written memory while retaining recent
@@ -2,7 +2,7 @@ import { readImageDimensions } from "../attachments/image-content.js";
2
2
  import { redactSecrets } from "../llm/provider.js";
3
3
  import { stripThinking } from "../ui/thinking.js";
4
4
  import { expandKeepStartForToolPairs, hasOrphanToolMessages, } from "./tool-history.js";
5
- import { buildCompactionChunkPrompt, buildCompactionReducePrompt, buildCompactionUserPrompt, chunkTranscriptForCompaction, looksLikeTranscriptReplay, } from "./compaction-summary.js";
5
+ import { buildCompactionChunkPrompt, buildCompactionReducePrompt, buildCompactionUserPrompt, buildDirectCompactionPrompt, chunkTranscriptForCompaction, COMPACTION_CHUNK_CHAR_BUDGET, looksLikeIncompleteCompactionSummary, looksLikeTranscriptReplay, normalizeCompactionSummary, } from "./compaction-summary.js";
6
6
  import { DURABLE_ENVELOPE_PREFIX, isDurableEnvelopeContent, } from "./durable-envelope.js";
7
7
  import { isResponderResultLedgerMessage, RESPONDER_RESULT_LEDGER_PREFIX, } from "./responder-context.js";
8
8
  import { measureToolCallsChars, slimToolArgs, } from "./message-slim.js";
@@ -222,33 +222,32 @@ export async function compactMessagesWithSummary(messages, summarize, options =
222
222
  // after compaction and their current form is captured in durableState below.
223
223
  // Feeding old copies into the summarizer only bloats input and invites the
224
224
  // model to restate the plan — drop them from the transcript.
225
- const messageTranscript = older
225
+ const visual = sessionTranscript?.trim()
226
+ ? redactSecrets(sessionTranscript.trim())
227
+ : "";
228
+ const historyRecords = older
226
229
  .filter((message) => !(message.role === "system" && isDurableSystem(message.content)))
227
230
  .map((message) => {
228
231
  let content = redactSecrets(message.content);
229
232
  if (message.role === "assistant") {
230
233
  content = stripThinking(content).visible;
231
234
  }
235
+ const source = content.trim();
232
236
  if (message.toolCalls?.length) {
233
237
  content +=
234
238
  "\n[tools: " +
235
239
  message.toolCalls.map((t) => t.name).join(", ") +
236
240
  "]";
237
241
  }
238
- return `${message.role.toUpperCase()}: ${content}`;
239
- })
242
+ return { source, rendered: `${message.role.toUpperCase()}: ${content}` };
243
+ });
244
+ const uncoveredHistory = visual
245
+ ? historyRecords.filter((record) => !record.source || !visual.includes(record.source))
246
+ : historyRecords;
247
+ const messageTranscript = uncoveredHistory
248
+ .map((record) => record.rendered)
240
249
  .join("\n\n");
241
- const visual = sessionTranscript?.trim()
242
- ? redactSecrets(sessionTranscript.trim())
243
- : "";
244
- // The V2 transcript normally contains the same user/assistant/tool evidence
245
- // as model history, but additionally labels tool output. Sending both makes
246
- // a compaction pay twice for identical material. Only omit model history
247
- // after proving each non-system older turn is represented verbatim in the
248
- // visual transcript; partial/restored transcripts retain both sources.
249
- const visualCoversOlderHistory = Boolean(visual) && older
250
- .filter((message) => message.role !== "system" && message.content.trim())
251
- .every((message) => visual.includes(message.content.trim()));
250
+ const visualCoversOlderHistory = Boolean(visual) && uncoveredHistory.length === 0;
252
251
  const durableBits = messages
253
252
  .filter((m) => m.role === "system" && isDurableSystem(m.content))
254
253
  .map((m) => {
@@ -276,12 +275,6 @@ export async function compactMessagesWithSummary(messages, summarize, options =
276
275
  const durableState = [options.durableEnvelope?.trim(), durableBits]
277
276
  .filter((part) => Boolean(part))
278
277
  .join("\n\n");
279
- // Keep every region of both sources. The visual transcript has tool-output
280
- // detail while model history is the authoritative fallback after resumes;
281
- // trimming either would make the agent forget completed checks and repeat
282
- // work. `chunkTranscriptForCompaction` limits this to two map calls plus one
283
- // final reduce, so preserving evidence does not recreate the old request
284
- // fan-out.
285
278
  const combinedTranscript = [
286
279
  visual ? `VISUAL TRANSCRIPT:\n\n${visual}` : "",
287
280
  messageTranscript && !visualCoversOlderHistory
@@ -290,32 +283,65 @@ export async function compactMessagesWithSummary(messages, summarize, options =
290
283
  ]
291
284
  .filter(Boolean)
292
285
  .join("\n\n---\n\n");
293
- const chunks = chunkTranscriptForCompaction(combinedTranscript);
294
- // Weak models occasionally echo a region verbatim. Retry that one stage with
295
- // an explicit correction before it contaminates the final memory; never
296
- // blindly spend another whole map/reduce pass.
286
+ const directPrompt = buildDirectCompactionPrompt({
287
+ ...(durableState ? { durableState } : {}),
288
+ ...(options.purpose ? { purpose: options.purpose } : {}),
289
+ });
290
+ const directSourceMessages = visual
291
+ ? undefined
292
+ : messages.slice(0, tailStart);
293
+ const singlePassInputBudget = Math.max(0, options.singlePassInputBudgetTokens ?? 0);
294
+ const directInputTokens = directSourceMessages
295
+ ? estimateMessagesTokens([
296
+ ...directSourceMessages,
297
+ { role: "user", content: directPrompt },
298
+ ])
299
+ : Number.POSITIVE_INFINITY;
300
+ const useDirectSinglePass = Boolean(directSourceMessages?.length) &&
301
+ singlePassInputBudget > 0 &&
302
+ directInputTokens <= singlePassInputBudget;
303
+ const serializedPromptTokens = estimateTokens(buildCompactionUserPrompt({
304
+ messageTranscript: "",
305
+ ...(durableState ? { durableState } : {}),
306
+ ...(options.purpose ? { purpose: options.purpose } : {}),
307
+ }));
308
+ const dynamicChunkChars = singlePassInputBudget > serializedPromptTokens
309
+ ? Math.max(COMPACTION_CHUNK_CHAR_BUDGET, Math.floor((singlePassInputBudget - serializedPromptTokens) * 3.3))
310
+ : COMPACTION_CHUNK_CHAR_BUDGET;
311
+ const chunks = chunkTranscriptForCompaction(combinedTranscript, dynamicChunkChars);
297
312
  const summarizeUsable = async (prompt, stage) => {
298
313
  const first = await summarize(prompt, stage);
299
- const visible = stripThinking(first ?? "").visible.trim();
300
- // Provider adapters already make one no-thinking retry for an empty/
301
- // reasoning-only response. Do not add another request here in that case.
314
+ const visible = normalizeCompactionSummary(stripThinking(first ?? "").visible);
302
315
  if (!visible) {
303
316
  throw new Error("compaction failed: model returned an empty summary");
304
317
  }
305
- if (!looksLikeTranscriptReplay(visible))
306
- return first;
307
- const repaired = await summarize(`${prompt}\n\nQUALITY CORRECTION: Your previous result was unusable because it was empty or replayed source material. Return only a concise transformed memory of facts; do not quote or reproduce the transcript.`, stage);
308
- const repairedVisible = stripThinking(repaired ?? "").visible.trim();
318
+ const replayed = looksLikeTranscriptReplay(visible);
319
+ const incomplete = looksLikeIncompleteCompactionSummary(visible);
320
+ if (!replayed && !incomplete)
321
+ return visible;
322
+ const repaired = await summarize(`${prompt}\n\nQUALITY CORRECTION: The previous result was unusable because it ${replayed
323
+ ? "replayed raw source or pseudo-tool material"
324
+ : "ended abruptly before the memory was complete"}. Rewrite the entire memory from the source, preserve every consequential fact once, finish all bullets and sections, and return only the completed structured memory.`, stage);
325
+ const repairedVisible = normalizeCompactionSummary(stripThinking(repaired ?? "").visible);
309
326
  if (!repairedVisible) {
310
327
  throw new Error("compaction failed: model returned an empty summary");
311
328
  }
312
329
  if (looksLikeTranscriptReplay(repairedVisible)) {
313
330
  throw new Error("compaction failed: model replayed the transcript instead of summarizing — original context retained");
314
331
  }
315
- return repaired;
332
+ if (looksLikeIncompleteCompactionSummary(repairedVisible)) {
333
+ throw new Error("compaction failed: model returned an incomplete summary — original context retained");
334
+ }
335
+ return repairedVisible;
316
336
  };
317
337
  let modelSummary;
318
- if (chunks.length <= 1) {
338
+ if (useDirectSinglePass && directSourceMessages) {
339
+ modelSummary = await summarizeUsable(directPrompt, {
340
+ phase: "single",
341
+ sourceMessages: directSourceMessages,
342
+ });
343
+ }
344
+ else if (chunks.length <= 1) {
319
345
  modelSummary = await summarizeUsable(buildCompactionUserPrompt({
320
346
  visualTranscript: visual || undefined,
321
347
  messageTranscript: visualCoversOlderHistory ? "" : messageTranscript,
@@ -344,13 +370,16 @@ export async function compactMessagesWithSummary(messages, summarize, options =
344
370
  }), { phase: "reduce", total: chunks.length });
345
371
  }
346
372
  const rawSummary = redactSecrets(modelSummary.trim());
347
- const summary = stripThinking(rawSummary).visible.trim();
373
+ const summary = normalizeCompactionSummary(stripThinking(rawSummary).visible);
348
374
  if (!summary) {
349
375
  throw new Error("compaction failed: model returned an empty summary");
350
376
  }
351
377
  if (looksLikeTranscriptReplay(summary)) {
352
378
  throw new Error("compaction failed: model replayed the transcript instead of summarizing — retry /compact or switch model");
353
379
  }
380
+ if (looksLikeIncompleteCompactionSummary(summary)) {
381
+ throw new Error("compaction failed: model returned an incomplete summary — retry /compact or switch model");
382
+ }
354
383
  const head = preserveSystemHead ? [messages[0]] : [];
355
384
  const rawTail = messages.slice(tailStart);
356
385
  let responderLedger;
@@ -1 +1 @@
1
- {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/agent/context-manager.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,7 @@ export type AgentEvent = {
82
82
  type: "compaction-delta";
83
83
  id: string;
84
84
  text: string;
85
+ replace?: boolean | undefined;
85
86
  } | {
86
87
  type: "compaction-completed";
87
88
  id: string;
@@ -1,24 +1,12 @@
1
- /**
2
- * Cap in-memory / re-sent message bulk from native toolCalls.
3
- *
4
- * fs.write / writeMany put entire file bodies in tool-call args. Those were
5
- * stored verbatim in history and LoopGuard signatures, so a scaffold turn
6
- * could hold many multi-MB strings — memory climbed into the multi-GB range
7
- * and Macs heated under GC. Full file bodies remain on disk; tool results
8
- * still report paths/bytes.
9
- */
10
- /** Strings at or above this are replaced with a length+hash stub. */
11
1
  export declare const SLIM_ARG_STRING_CHARS = 400;
12
- /** Hard ceiling for a single string kept as-is in history (safety). */
13
2
  export declare const SLIM_ARG_ABSOLUTE_MAX_CHARS = 8000;
14
- /**
15
- * Replace large string values with a compact stub so history/loop-guard
16
- * never retains full write payloads. Small strings and structure stay intact
17
- * so path-based identity still works for loop detection.
18
- */
19
- export declare function slimValue(value: unknown, depth?: number): unknown;
3
+ export declare function slimValue(value: unknown, depth?: number, key?: string): unknown;
20
4
  export declare function slimToolArgs(args: Record<string, unknown>): Record<string, unknown>;
21
- /** Approximate UTF-16 code units for token budgeting (same basis as content). */
5
+ export declare function findElidedStubArg(value: unknown, path?: string, depth?: number): {
6
+ key: string;
7
+ value: string;
8
+ } | undefined;
9
+ export declare function elidedStubReuseMessage(key: string): string;
22
10
  export declare function measureToolCallsChars(toolCalls: readonly {
23
11
  readonly name?: string;
24
12
  readonly id?: string;