@tarquinen/opencode-dcp 3.1.4 → 3.2.0-beta0

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 (135) hide show
  1. package/README.md +10 -3
  2. package/dist/index.d.ts +5 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/analysis/tokens.d.ts +63 -0
  7. package/dist/lib/analysis/tokens.d.ts.map +1 -0
  8. package/dist/lib/analysis/tokens.js +179 -0
  9. package/dist/lib/analysis/tokens.js.map +1 -0
  10. package/dist/lib/commands/context.d.ts +1 -0
  11. package/dist/lib/commands/context.d.ts.map +1 -1
  12. package/dist/lib/commands/context.js +4 -138
  13. package/dist/lib/commands/context.js.map +1 -1
  14. package/dist/lib/commands/decompress.js +1 -1
  15. package/dist/lib/commands/decompress.js.map +1 -1
  16. package/dist/lib/commands/help.js +2 -2
  17. package/dist/lib/commands/help.js.map +1 -1
  18. package/dist/lib/commands/manual.js +2 -2
  19. package/dist/lib/commands/manual.js.map +1 -1
  20. package/dist/lib/commands/recompress.js +1 -1
  21. package/dist/lib/commands/recompress.js.map +1 -1
  22. package/dist/lib/commands/stats.js +1 -1
  23. package/dist/lib/commands/stats.js.map +1 -1
  24. package/dist/lib/commands/sweep.d.ts.map +1 -1
  25. package/dist/lib/commands/sweep.js +4 -3
  26. package/dist/lib/commands/sweep.js.map +1 -1
  27. package/dist/lib/compress/message-utils.js +1 -1
  28. package/dist/lib/compress/message.js +1 -1
  29. package/dist/lib/compress/message.js.map +1 -1
  30. package/dist/lib/compress/pipeline.js +2 -2
  31. package/dist/lib/compress/pipeline.js.map +1 -1
  32. package/dist/lib/compress/protected-content.js +1 -1
  33. package/dist/lib/compress/range.js +1 -1
  34. package/dist/lib/compress/range.js.map +1 -1
  35. package/dist/lib/compress/search.js +2 -2
  36. package/dist/lib/compress/search.js.map +1 -1
  37. package/dist/lib/{shared-utils.d.ts → compress-permission.d.ts} +2 -5
  38. package/dist/lib/compress-permission.d.ts.map +1 -0
  39. package/dist/lib/compress-permission.js +10 -0
  40. package/dist/lib/compress-permission.js.map +1 -0
  41. package/dist/lib/config.d.ts +7 -0
  42. package/dist/lib/config.d.ts.map +1 -1
  43. package/dist/lib/config.js +84 -36
  44. package/dist/lib/config.js.map +1 -1
  45. package/dist/lib/hooks.js +1 -1
  46. package/dist/lib/hooks.js.map +1 -1
  47. package/dist/lib/logger.d.ts +2 -1
  48. package/dist/lib/logger.d.ts.map +1 -1
  49. package/dist/lib/logger.js +14 -6
  50. package/dist/lib/logger.js.map +1 -1
  51. package/dist/lib/message-ids.js +1 -1
  52. package/dist/lib/messages/inject/inject.d.ts.map +1 -1
  53. package/dist/lib/messages/inject/inject.js +15 -19
  54. package/dist/lib/messages/inject/inject.js.map +1 -1
  55. package/dist/lib/messages/inject/utils.d.ts.map +1 -1
  56. package/dist/lib/messages/inject/utils.js +6 -6
  57. package/dist/lib/messages/inject/utils.js.map +1 -1
  58. package/dist/lib/messages/priority.js +3 -3
  59. package/dist/lib/messages/priority.js.map +1 -1
  60. package/dist/lib/messages/prune.d.ts.map +1 -1
  61. package/dist/lib/messages/prune.js +2 -1
  62. package/dist/lib/messages/prune.js.map +1 -1
  63. package/dist/lib/messages/query.d.ts +7 -0
  64. package/dist/lib/messages/query.d.ts.map +1 -0
  65. package/dist/lib/messages/query.js +39 -0
  66. package/dist/lib/messages/query.js.map +1 -0
  67. package/dist/lib/messages/reasoning-strip.js +1 -1
  68. package/dist/lib/messages/reasoning-strip.js.map +1 -1
  69. package/dist/lib/messages/utils.d.ts +3 -5
  70. package/dist/lib/messages/utils.d.ts.map +1 -1
  71. package/dist/lib/messages/utils.js +33 -38
  72. package/dist/lib/messages/utils.js.map +1 -1
  73. package/dist/lib/prompts/compress-message.d.ts +1 -1
  74. package/dist/lib/prompts/compress-message.d.ts.map +1 -1
  75. package/dist/lib/prompts/compress-message.js +1 -1
  76. package/dist/lib/prompts/compress-range.d.ts +1 -1
  77. package/dist/lib/prompts/compress-range.d.ts.map +1 -1
  78. package/dist/lib/prompts/compress-range.js +1 -1
  79. package/dist/lib/state/state.js +1 -1
  80. package/dist/lib/state/state.js.map +1 -1
  81. package/dist/lib/state/tool-cache.js +2 -2
  82. package/dist/lib/state/tool-cache.js.map +1 -1
  83. package/dist/lib/state/utils.d.ts +1 -0
  84. package/dist/lib/state/utils.d.ts.map +1 -1
  85. package/dist/lib/state/utils.js +12 -3
  86. package/dist/lib/state/utils.js.map +1 -1
  87. package/dist/lib/strategies/deduplication.js +1 -1
  88. package/dist/lib/strategies/deduplication.js.map +1 -1
  89. package/dist/lib/strategies/purge-errors.js +1 -1
  90. package/dist/lib/strategies/purge-errors.js.map +1 -1
  91. package/dist/lib/{strategies/utils.d.ts → token-utils.d.ts} +5 -3
  92. package/dist/lib/token-utils.d.ts.map +1 -0
  93. package/dist/lib/{strategies/utils.js → token-utils.js} +22 -15
  94. package/dist/lib/token-utils.js.map +1 -0
  95. package/dist/lib/ui/notification.d.ts.map +1 -1
  96. package/dist/lib/ui/notification.js +10 -6
  97. package/dist/lib/ui/notification.js.map +1 -1
  98. package/dist/lib/ui/utils.d.ts +0 -1
  99. package/dist/lib/ui/utils.d.ts.map +1 -1
  100. package/dist/lib/ui/utils.js +2 -12
  101. package/dist/lib/ui/utils.js.map +1 -1
  102. package/dist/tui/data/context.d.ts +7 -0
  103. package/dist/tui/data/context.d.ts.map +1 -0
  104. package/dist/tui/data/context.js +133 -0
  105. package/dist/tui/data/context.js.map +1 -0
  106. package/dist/tui/index.d.ts +8 -0
  107. package/dist/tui/index.d.ts.map +1 -0
  108. package/dist/tui/index.js +28 -0
  109. package/dist/tui/index.js.map +1 -0
  110. package/dist/tui/routes/summary.d.ts +8 -0
  111. package/dist/tui/routes/summary.d.ts.map +1 -0
  112. package/dist/tui/routes/summary.js +83 -0
  113. package/dist/tui/routes/summary.js.map +1 -0
  114. package/dist/tui/shared/names.d.ts +8 -0
  115. package/dist/tui/shared/names.d.ts.map +1 -0
  116. package/dist/tui/shared/names.js +7 -0
  117. package/dist/tui/shared/names.js.map +1 -0
  118. package/dist/tui/shared/theme.d.ts +17 -0
  119. package/dist/tui/shared/theme.d.ts.map +1 -0
  120. package/dist/tui/shared/theme.js +44 -0
  121. package/dist/tui/shared/theme.js.map +1 -0
  122. package/dist/tui/shared/types.d.ts +30 -0
  123. package/dist/tui/shared/types.d.ts.map +1 -0
  124. package/dist/tui/shared/types.js +2 -0
  125. package/dist/tui/shared/types.js.map +1 -0
  126. package/dist/tui/slots/sidebar-content.d.ts +6 -0
  127. package/dist/tui/slots/sidebar-content.d.ts.map +1 -0
  128. package/dist/tui/slots/sidebar-content.js +244 -0
  129. package/dist/tui/slots/sidebar-content.js.map +1 -0
  130. package/package.json +34 -2
  131. package/dist/lib/shared-utils.d.ts.map +0 -1
  132. package/dist/lib/shared-utils.js +0 -37
  133. package/dist/lib/shared-utils.js.map +0 -1
  134. package/dist/lib/strategies/utils.d.ts.map +0 -1
  135. package/dist/lib/strategies/utils.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import type { PluginConfig } from "../config";
2
1
  import type { SessionState, WithParts } from "../state";
3
2
  export declare const createSyntheticUserMessage: (baseMessage: WithParts, content: string, variant?: string, stableSeed?: string) => WithParts;
4
3
  export declare const createSyntheticTextPart: (baseMessage: WithParts, content: string, stableSeed?: string) => {
@@ -15,13 +14,12 @@ type ToolPart = Extract<MessagePart, {
15
14
  type TextPart = Extract<MessagePart, {
16
15
  type: "text";
17
16
  }>;
18
- export declare const appendToTextPart: (part: TextPart, injection: string) => boolean;
19
17
  export declare const appendToLastTextPart: (message: WithParts, injection: string) => boolean;
20
- export declare const hasContent: (message: WithParts) => boolean;
18
+ export declare const appendToTextPart: (part: TextPart, injection: string) => boolean;
19
+ export declare const appendToLastToolPart: (message: WithParts, tag: string) => boolean;
21
20
  export declare const appendToToolPart: (part: ToolPart, tag: string) => boolean;
21
+ export declare const hasContent: (message: WithParts) => boolean;
22
22
  export declare function buildToolIdList(state: SessionState, messages: WithParts[]): string[];
23
- export declare const isIgnoredUserMessage: (message: WithParts) => boolean;
24
- export declare function isProtectedUserMessage(config: PluginConfig, message: WithParts): boolean;
25
23
  export declare const replaceBlockIdsWithBlocked: (text: string) => string;
26
24
  export declare const stripHallucinationsFromString: (text: string) => string;
27
25
  export declare const stripHallucinations: (messages: WithParts[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAavD,eAAO,MAAM,0BAA0B,GACnC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,aAAa,MAAM,KACpB,SA2BF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAChC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,aAAa,MAAM;;;;;;CAatB,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7C,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AACtD,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtD,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,WAAW,MAAM,KAAG,OAgBpE,CAAA;AAaD,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,EAAE,WAAW,MAAM,KAAG,OAO5E,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,SAAS,SAAS,KAAG,OAU/C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,KAAG,OAU9D,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAiBpF;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAiBzD,CAAA;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAOxF;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,KAAG,MAEzD,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,MAE5D,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,UAAU,SAAS,EAAE,KAAG,IAgB3D,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAcvD,eAAO,MAAM,0BAA0B,GACnC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,aAAa,MAAM,KACpB,SA2BF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAChC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,aAAa,MAAM;;;;;;CAatB,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7C,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AACtD,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtD,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,EAAE,WAAW,MAAM,KAAG,OAO5E,CAAA;AAaD,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,WAAW,MAAM,KAAG,OAgBpE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,EAAE,KAAK,MAAM,KAAG,OAOtE,CAAA;AAaD,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,KAAG,OAU9D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,SAAS,SAAS,KAAG,OAU/C,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAiBpF;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,KAAG,MAEzD,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,MAE5D,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,UAAU,SAAS,EAAE,KAAG,IAgB3D,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { isMessageCompacted } from "../shared-utils";
2
+ import { isMessageCompacted } from "../state/utils";
3
3
  const SUMMARY_ID_HASH_LENGTH = 16;
4
4
  const DCP_BLOCK_ID_TAG_REGEX = /(<dcp-message-id(?=[\s>])[^>]*>)b\d+(<\/dcp-message-id>)/g;
5
5
  const DCP_PAIRED_TAG_REGEX = /<dcp[^>]*>[\s\S]*?<\/dcp[^>]*>/gi;
@@ -47,6 +47,22 @@ export const createSyntheticTextPart = (baseMessage, content, stableSeed) => {
47
47
  text: content,
48
48
  };
49
49
  };
50
+ export const appendToLastTextPart = (message, injection) => {
51
+ const textPart = findLastTextPart(message);
52
+ if (!textPart) {
53
+ return false;
54
+ }
55
+ return appendToTextPart(textPart, injection);
56
+ };
57
+ const findLastTextPart = (message) => {
58
+ for (let i = message.parts.length - 1; i >= 0; i--) {
59
+ const part = message.parts[i];
60
+ if (part.type === "text") {
61
+ return part;
62
+ }
63
+ }
64
+ return null;
65
+ };
50
66
  export const appendToTextPart = (part, injection) => {
51
67
  if (typeof part.text !== "string") {
52
68
  return false;
@@ -62,21 +78,31 @@ export const appendToTextPart = (part, injection) => {
62
78
  part.text = baseText.length > 0 ? `${baseText}\n\n${normalizedInjection}` : normalizedInjection;
63
79
  return true;
64
80
  };
65
- const findLastTextPart = (message) => {
81
+ export const appendToLastToolPart = (message, tag) => {
82
+ const toolPart = findLastToolPart(message);
83
+ if (!toolPart) {
84
+ return false;
85
+ }
86
+ return appendToToolPart(toolPart, tag);
87
+ };
88
+ const findLastToolPart = (message) => {
66
89
  for (let i = message.parts.length - 1; i >= 0; i--) {
67
90
  const part = message.parts[i];
68
- if (part.type === "text") {
91
+ if (part.type === "tool") {
69
92
  return part;
70
93
  }
71
94
  }
72
95
  return null;
73
96
  };
74
- export const appendToLastTextPart = (message, injection) => {
75
- const textPart = findLastTextPart(message);
76
- if (!textPart) {
97
+ export const appendToToolPart = (part, tag) => {
98
+ if (part.state?.status !== "completed" || typeof part.state.output !== "string") {
77
99
  return false;
78
100
  }
79
- return appendToTextPart(textPart, injection);
101
+ if (part.state.output.includes(tag)) {
102
+ return true;
103
+ }
104
+ part.state.output = `${part.state.output}${tag}`;
105
+ return true;
80
106
  };
81
107
  export const hasContent = (message) => {
82
108
  return message.parts.some((part) => (part.type === "text" &&
@@ -86,16 +112,6 @@ export const hasContent = (message) => {
86
112
  part.state?.status === "completed" &&
87
113
  typeof part.state.output === "string"));
88
114
  };
89
- export const appendToToolPart = (part, tag) => {
90
- if (part.state?.status !== "completed" || typeof part.state.output !== "string") {
91
- return false;
92
- }
93
- if (part.state.output.includes(tag)) {
94
- return true;
95
- }
96
- part.state.output = `${part.state.output}${tag}`;
97
- return true;
98
- };
99
115
  export function buildToolIdList(state, messages) {
100
116
  const toolIds = [];
101
117
  for (const msg of messages) {
@@ -114,27 +130,6 @@ export function buildToolIdList(state, messages) {
114
130
  state.toolIdList = toolIds;
115
131
  return toolIds;
116
132
  }
117
- export const isIgnoredUserMessage = (message) => {
118
- if (message.info.role !== "user") {
119
- return false;
120
- }
121
- const parts = Array.isArray(message.parts) ? message.parts : [];
122
- if (parts.length === 0) {
123
- return true;
124
- }
125
- for (const part of parts) {
126
- if (!part.ignored) {
127
- return false;
128
- }
129
- }
130
- return true;
131
- };
132
- export function isProtectedUserMessage(config, message) {
133
- return (config.compress.mode === "message" &&
134
- config.compress.protectUserMessages &&
135
- message.info.role === "user" &&
136
- !isIgnoredUserMessage(message));
137
- }
138
133
  export const replaceBlockIdsWithBlocked = (text) => {
139
134
  return text.replace(DCP_BLOCK_ID_TAG_REGEX, "$1BLOCKED$2");
140
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const COMPRESS_MESSAGE = "Collapse selected individual messages in the conversation into detailed summaries.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings, tool outcomes, and user intent details that matter... EVERYTHING that preserves the value of the selected message after the raw message is removed.\n\nUSER INTENT FIDELITY\nWhen a selected message contains user intent, preserve that intent with extra care. Do not change scope, constraints, priorities, acceptance criteria, or requested outcomes.\nDirectly quote short user instructions when that best preserves exact meaning.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool output, and repetition. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nMESSAGE IDS\nYou specify individual raw messages by ID using the injected IDs visible in the conversation:\n\n- `mNNNN` IDs identify raw messages\n\nEach message has an ID inside XML metadata tags like `<dcp-message-id priority=\"high\">m0007</dcp-message-id>`.\nThe ID tag appears at the end of the message it belongs to \u2014 it identifies the message above it, not the one below it.\nTreat these tags as message metadata only, not as content to summarize. Use only the inner `mNNNN` value as the `messageId`.\nThe `priority` attribute indicates relative context cost. Prefer higher-priority closed messages before lower-priority ones.\nMessages marked as `<dcp-message-id>BLOCKED</dcp-message-id>` cannot be compressed.\n\nRules:\n\n- Pick each `messageId` directly from injected IDs visible in context.\n- Only use raw message IDs of the form `mNNNN`.\n- Ignore XML attributes such as `priority` when copying the ID; use only the inner `mNNNN` value.\n- Do NOT use compressed block IDs like `bN`.\n- Do not invent IDs. Use only IDs that are present in context.\n- Do not target prior compressed blocks or block summaries.\n\nBATCHING\nSelect MANY messages in a single tool call when they are independently safe to compress.\nEach entry should summarize exactly one message, and the tool can receive as many entries as needed in one batch.\nWhen several messages are equally safe to compress, prefer higher-priority messages first.\n\nBecause each message is compressed independently:\n\n- Do not describe ranges\n- Do not use start/end boundaries\n- Do not use compressed block placeholders\n- Do not reference prior compressed blocks with `(bN)`\n";
1
+ export declare const COMPRESS_MESSAGE = "Collapse selected individual messages in the conversation into detailed summaries.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings, tool outcomes, and user intent details that matter... EVERYTHING that preserves the value of the selected message after the raw message is removed.\n\nUSER INTENT FIDELITY\nWhen a selected message contains user intent, preserve that intent with extra care. Do not change scope, constraints, priorities, acceptance criteria, or requested outcomes.\nDirectly quote short user instructions when that best preserves exact meaning.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool output, and repetition. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nMESSAGE IDS\nYou specify individual raw messages by ID using the injected IDs visible in the conversation:\n\n- `mNNNN` IDs identify raw messages\n\nEach message has an ID inside XML metadata tags like `<dcp-message-id priority=\"high\">m0007</dcp-message-id>`.\nThe ID tag appears at the end of the message it belongs to \u2014 each ID covers all the content above it back to the previous ID.\nTreat these tags as message metadata only, not as content to summarize. Use only the inner `mNNNN` value as the `messageId`.\nThe `priority` attribute indicates relative context cost. Prefer higher-priority closed messages before lower-priority ones.\nMessages marked as `<dcp-message-id>BLOCKED</dcp-message-id>` cannot be compressed.\n\nRules:\n\n- Pick each `messageId` directly from injected IDs visible in context.\n- Only use raw message IDs of the form `mNNNN`.\n- Ignore XML attributes such as `priority` when copying the ID; use only the inner `mNNNN` value.\n- Do NOT use compressed block IDs like `bN`.\n- Do not invent IDs. Use only IDs that are present in context.\n- Do not target prior compressed blocks or block summaries.\n\nBATCHING\nSelect MANY messages in a single tool call when they are independently safe to compress.\nEach entry should summarize exactly one message, and the tool can receive as many entries as needed in one batch.\nWhen several messages are equally safe to compress, prefer higher-priority messages first.\n\nBecause each message is compressed independently:\n\n- Do not describe ranges\n- Do not use start/end boundaries\n- Do not use compressed block placeholders\n- Do not reference prior compressed blocks with `(bN)`\n";
2
2
  //# sourceMappingURL=compress-message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compress-message.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-message.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,4+EA0C5B,CAAA"}
1
+ {"version":3,"file":"compress-message.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-message.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,m/EA0C5B,CAAA"}
@@ -15,7 +15,7 @@ You specify individual raw messages by ID using the injected IDs visible in the
15
15
  - \`mNNNN\` IDs identify raw messages
16
16
 
17
17
  Each message has an ID inside XML metadata tags like \`<dcp-message-id priority="high">m0007</dcp-message-id>\`.
18
- The ID tag appears at the end of the message it belongs to — it identifies the message above it, not the one below it.
18
+ The ID tag appears at the end of the message it belongs to — each ID covers all the content above it back to the previous ID.
19
19
  Treat these tags as message metadata only, not as content to summarize. Use only the inner \`mNNNN\` value as the \`messageId\`.
20
20
  The \`priority\` attribute indicates relative context cost. Prefer higher-priority closed messages before lower-priority ones.
21
21
  Messages marked as \`<dcp-message-id>BLOCKED</dcp-message-id>\` cannot be compressed.
@@ -1,2 +1,2 @@
1
- export declare const COMPRESS_RANGE = "Collapse a range in the conversation into a detailed summary.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings... EVERYTHING that maintains context integrity. This is not a brief note - it is an authoritative record so faithful that the original conversation adds no value.\n\nUSER INTENT FIDELITY\nWhen the compressed range includes user messages, preserve the user's intent with extra care. Do not change scope, constraints, priorities, acceptance criteria, or requested outcomes.\nDirectly quote user messages when they are short enough to include safely. Direct quotes are preferred when they best preserve exact meaning.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool outputs, back-and-forth exploration. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nCOMPRESSED BLOCK PLACEHOLDERS\nWhen the selected range includes previously compressed blocks, use this exact placeholder format when referencing one:\n\n- `(bN)`\n\nCompressed block sections in context are clearly marked with a header:\n\n- `[Compressed conversation section]`\n\nCompressed block IDs always use the `bN` form (never `mNNNN`) and are represented in the same XML metadata tag format.\n\nRules:\n\n- Include every required block placeholder exactly once.\n- Do not invent placeholders for blocks outside the selected range.\n- Treat `(bN)` placeholders as RESERVED TOKENS. Do not emit `(bN)` text anywhere except intentional placeholders.\n- If you need to mention a block in prose, use plain text like `compressed bN` (not as a placeholder).\n- Preflight check before finalizing: the set of `(bN)` placeholders in your summary must exactly match the required set, with no duplicates.\n\nThese placeholders are semantic references. They will be replaced with the full stored compressed block content when the tool processes your output.\n\nFLOW PRESERVATION WITH PLACEHOLDERS\nWhen you use compressed block placeholders, write the surrounding summary text so it still reads correctly AFTER placeholder expansion.\n\n- Treat each placeholder as a stand-in for a full conversation segment, not as a short label.\n- Ensure transitions before and after each placeholder preserve chronology and causality.\n- Do not write text that depends on the placeholder staying literal (for example, \"as noted in `(b2)`\").\n- Your final meaning must be coherent once each placeholder is replaced with its full compressed block content.\n\nBOUNDARY IDS\nYou specify boundaries by ID using the injected IDs visible in the conversation:\n\n- `mNNNN` IDs identify raw messages\n- `bN` IDs identify previously compressed blocks\n\nEach message has an ID inside XML metadata tags like `<dcp-message-id>...</dcp-message-id>`.\nThe ID tag appears at the end of the message it belongs to \u2014 it identifies the message above it, not the one below it.\nTreat these tags as boundary metadata only, not as tool result content.\n\nRules:\n\n- Pick `startId` and `endId` directly from injected IDs in context.\n- IDs must exist in the current visible context.\n- `startId` must appear before `endId`.\n- Do not invent IDs. Use only IDs that are present in context.\n\nBATCHING\nWhen multiple independent ranges are ready and their boundaries do not overlap, include all of them as separate entries in the `content` array of a single tool call. Each entry should have its own `startId`, `endId`, and `summary`.\n";
1
+ export declare const COMPRESS_RANGE = "Collapse a range in the conversation into a detailed summary.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings... EVERYTHING that maintains context integrity. This is not a brief note - it is an authoritative record so faithful that the original conversation adds no value.\n\nUSER INTENT FIDELITY\nWhen the compressed range includes user messages, preserve the user's intent with extra care. Do not change scope, constraints, priorities, acceptance criteria, or requested outcomes.\nDirectly quote user messages when they are short enough to include safely. Direct quotes are preferred when they best preserve exact meaning.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool outputs, back-and-forth exploration. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nCOMPRESSED BLOCK PLACEHOLDERS\nWhen the selected range includes previously compressed blocks, use this exact placeholder format when referencing one:\n\n- `(bN)`\n\nCompressed block sections in context are clearly marked with a header:\n\n- `[Compressed conversation section]`\n\nCompressed block IDs always use the `bN` form (never `mNNNN`) and are represented in the same XML metadata tag format.\n\nRules:\n\n- Include every required block placeholder exactly once.\n- Do not invent placeholders for blocks outside the selected range.\n- Treat `(bN)` placeholders as RESERVED TOKENS. Do not emit `(bN)` text anywhere except intentional placeholders.\n- If you need to mention a block in prose, use plain text like `compressed bN` (not as a placeholder).\n- Preflight check before finalizing: the set of `(bN)` placeholders in your summary must exactly match the required set, with no duplicates.\n\nThese placeholders are semantic references. They will be replaced with the full stored compressed block content when the tool processes your output.\n\nFLOW PRESERVATION WITH PLACEHOLDERS\nWhen you use compressed block placeholders, write the surrounding summary text so it still reads correctly AFTER placeholder expansion.\n\n- Treat each placeholder as a stand-in for a full conversation segment, not as a short label.\n- Ensure transitions before and after each placeholder preserve chronology and causality.\n- Do not write text that depends on the placeholder staying literal (for example, \"as noted in `(b2)`\").\n- Your final meaning must be coherent once each placeholder is replaced with its full compressed block content.\n\nBOUNDARY IDS\nYou specify boundaries by ID using the injected IDs visible in the conversation:\n\n- `mNNNN` IDs identify raw messages\n- `bN` IDs identify previously compressed blocks\n\nEach message has an ID inside XML metadata tags like `<dcp-message-id>...</dcp-message-id>`.\nThe ID tag appears at the end of the message it belongs to \u2014 each ID covers all the content above it back to the previous ID.\nTreat these tags as boundary metadata only, not as tool result content.\n\nRules:\n\n- Pick `startId` and `endId` directly from injected IDs in context.\n- IDs must exist in the current visible context.\n- `startId` must appear before `endId`.\n- Do not invent IDs. Use only IDs that are present in context.\n\nBATCHING\nWhen multiple independent ranges are ready and their boundaries do not overlap, include all of them as separate entries in the `content` array of a single tool call. Each entry should have its own `startId`, `endId`, and `summary`.\n";
2
2
  //# sourceMappingURL=compress-range.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compress-range.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-range.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,6+GA2D1B,CAAA"}
1
+ {"version":3,"file":"compress-range.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-range.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,o/GA2D1B,CAAA"}
@@ -45,7 +45,7 @@ You specify boundaries by ID using the injected IDs visible in the conversation:
45
45
  - \`bN\` IDs identify previously compressed blocks
46
46
 
47
47
  Each message has an ID inside XML metadata tags like \`<dcp-message-id>...</dcp-message-id>\`.
48
- The ID tag appears at the end of the message it belongs to — it identifies the message above it, not the one below it.
48
+ The ID tag appears at the end of the message it belongs to — each ID covers all the content above it back to the previous ID.
49
49
  Treat these tags as boundary metadata only, not as tool result content.
50
50
 
51
51
  Rules:
@@ -1,6 +1,6 @@
1
1
  import { loadSessionState, saveSessionState } from "./persistence";
2
2
  import { isSubAgentSession, findLastCompactionTimestamp, countTurns, resetOnCompaction, createPruneMessagesState, loadPruneMessagesState, loadPruneMap, collectTurnNudgeAnchors, } from "./utils";
3
- import { getLastUserMessage } from "../shared-utils";
3
+ import { getLastUserMessage } from "../messages/query";
4
4
  export const checkSession = async (client, state, logger, messages, manualModeDefault) => {
5
5
  const lastUserMessage = getLastUserMessage(messages);
6
6
  if (!lastUserMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { isMessageCompacted } from "../shared-utils";
2
- import { countToolTokens } from "../strategies/utils";
1
+ import { isMessageCompacted } from "./utils";
2
+ import { countToolTokens } from "../token-utils";
3
3
  const MAX_TOOL_CACHE_SIZE = 1000;
4
4
  /**
5
5
  * Sync tool parameters from session messages.
@@ -1 +1 @@
1
- {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../../lib/state/tool-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../../lib/state/tool-cache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { CompressionBlock, PruneMessagesState, PrunedMessageEntry, SessionState, WithParts } from "./types";
2
+ export declare const isMessageCompacted: (state: SessionState, msg: WithParts) => boolean;
2
3
  interface PersistedPruneMessagesState {
3
4
  byMessageId?: Record<string, PrunedMessageEntry>;
4
5
  blocksById?: Record<string, CompressionBlock>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACZ,MAAM,SAAS,CAAA;AAKhB,UAAU,2BAA2B;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAQzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAc7E;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAS7D;AAED,wBAAgB,sBAAsB,CAClC,SAAS,CAAC,EAAE,2BAA2B,GACxC,kBAAkB,CAmKpB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA0B1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAc3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACZ,MAAM,SAAS,CAAA;AAIhB,eAAO,MAAM,kBAAkB,GAAI,OAAO,YAAY,EAAE,KAAK,SAAS,KAAG,OASxE,CAAA;AAED,UAAU,2BAA2B;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAQzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAc7E;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAS7D;AAED,wBAAgB,sBAAsB,CAClC,SAAS,CAAC,EAAE,2BAA2B,GACxC,kBAAkB,CAmKpB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA0B1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAc3D"}
@@ -1,6 +1,15 @@
1
- import { isMessageCompacted, messageHasCompress } from "../shared-utils";
2
- import { isIgnoredUserMessage } from "../messages/utils";
3
- import { countTokens } from "../strategies/utils";
1
+ import { isIgnoredUserMessage, messageHasCompress } from "../messages/query";
2
+ import { countTokens } from "../token-utils";
3
+ export const isMessageCompacted = (state, msg) => {
4
+ if (msg.info.time.created < state.lastCompaction) {
5
+ return true;
6
+ }
7
+ const pruneEntry = state.prune.messages.byMessageId.get(msg.info.id);
8
+ if (pruneEntry && pruneEntry.activeBlockIds.length > 0) {
9
+ return true;
10
+ }
11
+ return false;
12
+ };
4
13
  export async function isSubAgentSession(client, sessionID) {
5
14
  try {
6
15
  const result = await client.session.get({ path: { id: sessionID } });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAE,GAAc,EAAW,EAAE;IAC/E,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACf,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpE,IAAI,UAAU,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAWD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAW,EAAE,SAAiB;IAClE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QACpE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAA;IAClC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAqB;IAC7D,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAChC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAmB,EAAE,QAAqB;IACjE,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACjC,SAAQ;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7B,SAAS,EAAE,CAAA;YACf,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAA4B;IACrD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,GAAG,EAAE,CAAA;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CACtC,CAAC,KAAK,EAA6B,EAAE,CACjC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnE,CAAA;IACD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB;IACpC,OAAO;QACH,WAAW,EAAE,IAAI,GAAG,EAA8B;QAClD,UAAU,EAAE,IAAI,GAAG,EAA4B;QAC/C,cAAc,EAAE,IAAI,GAAG,EAAU;QACjC,uBAAuB,EAAE,IAAI,GAAG,EAAkB;QAClD,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;KACf,CAAA;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,SAAuC;IAEvC,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;IACxC,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACvF,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,SAAQ;YACZ,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;gBAChD,CAAC,CAAC;oBACI,GAAG,IAAI,GAAG,CACN,KAAK,CAAC,WAAW,CAAC,MAAM,CACpB,CAAC,EAAE,EAAgB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CACvD,CACJ;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAA;YACR,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;gBACtD,CAAC,CAAC;oBACI,GAAG,IAAI,GAAG,CACN,KAAK,CAAC,cAAc,CAAC,MAAM,CACvB,CAAC,EAAE,EAAgB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CACvD,CACJ;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAA;YAER,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC7B,UAAU;gBACV,WAAW;gBACX,cAAc;aACjB,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnF,SAAQ;YACZ,CAAC;YAED,MAAM,aAAa,GAAG,CAAC,KAAc,EAAY,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC;oBACI,GAAG,IAAI,GAAG,CACN,KAAK,CAAC,MAAM,CACR,CAAC,IAAI,EAAkB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAC/D,CACJ;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAA;YACZ,MAAM,aAAa,GAAG,CAAC,KAAc,EAAY,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAChF,CAAC,CAAC,EAAE,CAAA;YAEZ,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE;gBAC1B,OAAO;gBACP,KAAK,EACD,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;oBAC/B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC7B,KAAK,CAAC,KAAK,GAAG,CAAC;oBACX,CAAC,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC,OAAO;gBACjB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI;gBAC7B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,KAAK,IAAI;gBACnD,gBAAgB,EACZ,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;oBAC1C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACnC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC;oBACrC,CAAC,CAAC,CAAC;gBACX,aAAa,EACT,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;oBAC3E,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;oBAClC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;wBACjC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;wBAC5B,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACjF,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACzD,UAAU,EACN,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;oBAChC,CAAC,CAAC,KAAK,CAAC,UAAU;oBAClB,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;wBAC/B,CAAC,CAAC,KAAK,CAAC,KAAK;wBACb,CAAC,CAAC,EAAE;gBACd,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC/D,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACzD,eAAe,EACX,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBAC1E,iBAAiB,EACb,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;gBAC9E,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACvD,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACvD,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC;gBACnD,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACvD,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC;gBACjD,mBAAmB,EAAE,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBAC7D,gBAAgB,EAAE,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACvD,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpE,aAAa,EACT,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBAC7E,oBAAoB,EAChB,OAAO,KAAK,CAAC,oBAAoB,KAAK,QAAQ;oBAC9C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC;oBACxC,CAAC,CAAC,KAAK,CAAC,oBAAoB;oBAC5B,CAAC,CAAC,SAAS;gBACnB,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAClE,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC5C,SAAQ;YACZ,CAAC;YACD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;IAED,IACI,SAAS,CAAC,uBAAuB;QACjC,OAAO,SAAS,CAAC,uBAAuB,KAAK,QAAQ,EACvD,CAAC;QACC,KAAK,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CACnD,SAAS,CAAC,uBAAuB,CACpC,EAAE,CAAC;YACA,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC3E,SAAQ;YACZ,CAAC;YACD,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;YACrE,CAAC;QACL,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAqB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,IAAI,oBAAoB,GAAkB,IAAI,CAAA;IAE9C,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAK;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;YAC1C,CAAC;YACD,SAAQ;QACZ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,oBAAoB,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;YACjC,oBAAoB,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAmB;IAC1D,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,SAAQ;QACZ,CAAC;QACD,KAAK,IAAI,KAAK,CAAC,aAAa,CAAA;IAChC,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACjD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,wBAAwB,EAAE,CAAA;IACjD,KAAK,CAAC,UAAU,GAAG;QACf,OAAO,EAAE,IAAI,GAAG,EAAkB;QAClC,KAAK,EAAE,IAAI,GAAG,EAAkB;QAChC,OAAO,EAAE,CAAC;KACb,CAAA;IACD,KAAK,CAAC,MAAM,GAAG;QACX,mBAAmB,EAAE,IAAI,GAAG,EAAU;QACtC,gBAAgB,EAAE,IAAI,GAAG,EAAU;QACnC,qBAAqB,EAAE,IAAI,GAAG,EAAU;KAC3C,CAAA;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { getFilePathsFromParameters, isFilePathProtected, isToolNameProtected, } from "../protected-patterns";
2
- import { getTotalToolTokens } from "./utils";
2
+ import { getTotalToolTokens } from "../token-utils";
3
3
  /**
4
4
  * Deduplication strategy - prunes older tool calls that have identical
5
5
  * tool name and parameters, keeping only the most recent occurrence.
@@ -1 +1 @@
1
- {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../../lib/strategies/deduplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../../lib/strategies/deduplication.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getFilePathsFromParameters, isFilePathProtected, isToolNameProtected, } from "../protected-patterns";
2
- import { getTotalToolTokens } from "./utils";
2
+ import { getTotalToolTokens } from "../token-utils";
3
3
  /**
4
4
  * Purge Errors strategy - prunes tool inputs for tools that errored
5
5
  * after they are older than a configurable number of turns.
@@ -1 +1 @@
1
- {"version":3,"file":"purge-errors.js","sourceRoot":"","sources":["../../../lib/strategies/purge-errors.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,KAAmB,EACnB,MAAc,EACd,MAAoB,EACpB,QAAqB,EACjB,EAAE;IACN,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAC7D,OAAM;IACV,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAM;IACV,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAM;IACV,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAA;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,SAAQ;QACZ,CAAC;QAED,uBAAuB;QACvB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACrD,SAAQ;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAChF,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC/D,SAAQ;QACZ,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,SAAQ;QACZ,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAA;QACjD,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACtE,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,CACR,UAAU,WAAW,CAAC,MAAM,6CAA6C,aAAa,SAAS,CAClG,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"purge-errors.js","sourceRoot":"","sources":["../../../lib/strategies/purge-errors.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,KAAmB,EACnB,MAAc,EACd,MAAoB,EACpB,QAAqB,EACjB,EAAE;IACN,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAC7D,OAAM;IACV,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAM;IACV,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAM;IACV,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAA;IACnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAEtE,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,SAAQ;QACZ,CAAC;QAED,uBAAuB;QACvB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACrD,SAAQ;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAChF,IAAI,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC/D,SAAQ;QACZ,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,SAAQ;QACZ,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAA;QACjD,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACtE,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,CACR,UAAU,WAAW,CAAC,MAAM,6CAA6C,aAAa,SAAS,CAClG,CAAA;IACL,CAAC;AACL,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { SessionState, WithParts } from "../state";
2
- import { Logger } from "../logger";
1
+ import { SessionState, WithParts } from "./state";
2
+ import { Logger } from "./logger";
3
3
  export declare function getCurrentTokenUsage(state: SessionState, messages: WithParts[]): number;
4
4
  export declare function getCurrentParams(state: SessionState, messages: WithParts[], logger: Logger): {
5
5
  providerId: string | undefined;
@@ -9,9 +9,11 @@ export declare function getCurrentParams(state: SessionState, messages: WithPart
9
9
  };
10
10
  export declare function countTokens(text: string): number;
11
11
  export declare function estimateTokensBatch(texts: string[]): number;
12
+ export declare const COMPACTED_TOOL_OUTPUT_PLACEHOLDER = "[Old tool result content cleared]";
13
+ export declare function extractCompletedToolOutput(part: any): string | undefined;
12
14
  export declare function extractToolContent(part: any): string[];
13
15
  export declare function countToolTokens(part: any): number;
14
16
  export declare function getTotalToolTokens(state: SessionState, toolIds: string[]): number;
15
17
  export declare function countMessageTextTokens(msg: WithParts): number;
16
18
  export declare function countAllMessageTokens(msg: WithParts): number;
17
- //# sourceMappingURL=utils.d.ts.map
19
+ //# sourceMappingURL=token-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CA6BvF;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf;IACC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAkBA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAG3D;AAED,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAMpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAcxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAmBtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAGjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAU7D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAY5D"}
@@ -1,5 +1,5 @@
1
1
  import { countTokens as anthropicCountTokens } from "@anthropic-ai/tokenizer";
2
- import { getLastUserMessage } from "../shared-utils";
2
+ import { getLastUserMessage } from "./messages/query";
3
3
  export function getCurrentTokenUsage(state, messages) {
4
4
  for (let i = messages.length - 1; i >= 0; i--) {
5
5
  const msg = messages[i];
@@ -57,28 +57,35 @@ export function estimateTokensBatch(texts) {
57
57
  return 0;
58
58
  return countTokens(texts.join(" "));
59
59
  }
60
+ export const COMPACTED_TOOL_OUTPUT_PLACEHOLDER = "[Old tool result content cleared]";
61
+ function stringifyToolContent(value) {
62
+ return typeof value === "string" ? value : JSON.stringify(value);
63
+ }
64
+ export function extractCompletedToolOutput(part) {
65
+ if (part?.type !== "tool" ||
66
+ part.state?.status !== "completed" ||
67
+ part.state?.output === undefined) {
68
+ return undefined;
69
+ }
70
+ if (part.state?.time?.compacted) {
71
+ return COMPACTED_TOOL_OUTPUT_PLACEHOLDER;
72
+ }
73
+ return stringifyToolContent(part.state.output);
74
+ }
60
75
  export function extractToolContent(part) {
61
76
  const contents = [];
62
77
  if (part?.type !== "tool") {
63
78
  return contents;
64
79
  }
65
80
  if (part.state?.input !== undefined) {
66
- const inputContent = typeof part.state.input === "string"
67
- ? part.state.input
68
- : JSON.stringify(part.state.input);
69
- contents.push(inputContent);
81
+ contents.push(stringifyToolContent(part.state.input));
70
82
  }
71
- if (part.state?.status === "completed" && part.state?.output) {
72
- const content = typeof part.state.output === "string"
73
- ? part.state.output
74
- : JSON.stringify(part.state.output);
75
- contents.push(content);
83
+ const completedOutput = extractCompletedToolOutput(part);
84
+ if (completedOutput !== undefined) {
85
+ contents.push(completedOutput);
76
86
  }
77
87
  else if (part.state?.status === "error" && part.state?.error) {
78
- const content = typeof part.state.error === "string"
79
- ? part.state.error
80
- : JSON.stringify(part.state.error);
81
- contents.push(content);
88
+ contents.push(stringifyToolContent(part.state.error));
82
89
  }
83
90
  return contents;
84
91
  }
@@ -121,4 +128,4 @@ export function countAllMessageTokens(msg) {
121
128
  return 0;
122
129
  return estimateTokensBatch(texts);
123
130
  }
124
- //# sourceMappingURL=utils.js.map
131
+ //# sourceMappingURL=token-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-utils.js","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAA;AAC/D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3D,CAAA;AAED,UAAU,4BAA4B;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAmED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,GAAG,EACX,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC,CAiClB;AA4BD,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,EAAE,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC,CAiIlB;AAED,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAA;AAC/D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3D,CAAA;AAED,UAAU,4BAA4B;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAmED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,GAAG,EACX,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC,CAiClB;AAoCD,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,EAAE,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC,CA2HlB;AAED,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -96,6 +96,13 @@ function getCompressionLabel(entries) {
96
96
  }
97
97
  return `Compression #${runId}`;
98
98
  }
99
+ function formatCompressionMetrics(removedTokens, summaryTokens) {
100
+ const metrics = [`-${formatTokenCount(removedTokens, true)} removed`];
101
+ if (summaryTokens > 0) {
102
+ metrics.push(`+${formatTokenCount(summaryTokens, true)} summary`);
103
+ }
104
+ return metrics.join(", ");
105
+ }
99
106
  export async function sendCompressNotification(client, logger, config, state, sessionId, entries, batchTopic, sessionMessageIds, params) {
100
107
  if (config.pruneNotification === "off") {
101
108
  return false;
@@ -150,24 +157,21 @@ export async function sendCompressNotification(client, logger, config, state, se
150
157
  : "(unknown topic)");
151
158
  const totalActiveSummaryTkns = getActiveSummaryTokenUsage(state);
152
159
  const totalGross = state.stats.totalPruneTokens + state.stats.pruneTokenCounter;
153
- const notificationHeader = totalActiveSummaryTkns > 0
154
- ? `▣ DCP | ~${formatTokenCount(totalGross, true)} tokens removed (~${formatTokenCount(totalActiveSummaryTkns, true)} summary tokens added)`
155
- : `▣ DCP | ~${formatTokenCount(totalGross, true)} tokens removed`;
160
+ const notificationHeader = `▣ DCP | ${formatCompressionMetrics(totalGross, totalActiveSummaryTkns)}`;
156
161
  if (config.pruneNotification === "minimal") {
157
162
  message = `${notificationHeader} — ${compressionLabel}`;
158
163
  }
159
164
  else {
160
165
  message = notificationHeader;
161
- const pruneTokenCounterStr = `~${formatTokenCount(compressedTokens)}`;
162
166
  const activePrunedMessages = new Map();
163
167
  for (const [messageId, entry] of state.prune.messages.byMessageId) {
164
168
  if (entry.activeBlockIds.length > 0) {
165
169
  activePrunedMessages.set(messageId, entry.tokenCount);
166
170
  }
167
171
  }
168
- const progressBar = formatProgressBar(sessionMessageIds, activePrunedMessages, newlyCompressedMessageIds, 70);
172
+ const progressBar = formatProgressBar(sessionMessageIds, activePrunedMessages, newlyCompressedMessageIds, 50);
169
173
  message += `\n\n${progressBar}`;
170
- message += `\n▣ ${compressionLabel} (${pruneTokenCounterStr} removed, ~${formatTokenCount(summaryTokens, true)} summary tokens added)`;
174
+ message += `\n▣ ${compressionLabel} ${formatCompressionMetrics(compressedTokens, summaryTokens)}`;
171
175
  message += `\n→ Topic: ${topic}`;
172
176
  message += `\n→ Items: ${newlyCompressedMessageIds.length} messages`;
173
177
  if (newlyCompressedToolIds.length > 0) {