@tarquinen/opencode-dcp 1.3.0-beta.1 → 1.3.1-beta.2

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 (164) hide show
  1. package/README.md +12 -11
  2. package/dist/index.js +13 -13
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/commands/context.d.ts.map +1 -1
  5. package/dist/lib/commands/context.js +36 -23
  6. package/dist/lib/commands/context.js.map +1 -1
  7. package/dist/lib/config.d.ts +7 -7
  8. package/dist/lib/config.d.ts.map +1 -1
  9. package/dist/lib/config.js +47 -46
  10. package/dist/lib/config.js.map +1 -1
  11. package/dist/lib/hooks.d.ts.map +1 -1
  12. package/dist/lib/hooks.js +8 -29
  13. package/dist/lib/hooks.js.map +1 -1
  14. package/dist/lib/messages/inject.d.ts +7 -0
  15. package/dist/lib/messages/inject.d.ts.map +1 -1
  16. package/dist/lib/messages/inject.js +67 -62
  17. package/dist/lib/messages/inject.js.map +1 -1
  18. package/dist/lib/messages/prune.js +7 -7
  19. package/dist/lib/messages/prune.js.map +1 -1
  20. package/dist/lib/messages/utils.d.ts +22 -2
  21. package/dist/lib/messages/utils.d.ts.map +1 -1
  22. package/dist/lib/messages/utils.js +46 -12
  23. package/dist/lib/messages/utils.js.map +1 -1
  24. package/dist/lib/prompts/compress-tool-spec.d.ts +2 -0
  25. package/dist/lib/prompts/compress-tool-spec.d.ts.map +1 -0
  26. package/dist/lib/prompts/compress-tool-spec.js +58 -0
  27. package/dist/lib/prompts/compress-tool-spec.js.map +1 -0
  28. package/dist/lib/prompts/distill-tool-spec.d.ts +2 -0
  29. package/dist/lib/prompts/distill-tool-spec.d.ts.map +1 -0
  30. package/dist/lib/prompts/distill-tool-spec.js +48 -0
  31. package/dist/lib/prompts/distill-tool-spec.js.map +1 -0
  32. package/dist/lib/prompts/index.d.ts +7 -0
  33. package/dist/lib/prompts/index.d.ts.map +1 -1
  34. package/dist/lib/prompts/index.js +28 -36
  35. package/dist/lib/prompts/index.js.map +1 -1
  36. package/dist/lib/prompts/nudge.generated.d.ts +2 -0
  37. package/dist/lib/prompts/nudge.generated.d.ts.map +1 -0
  38. package/dist/lib/prompts/nudge.generated.js +17 -0
  39. package/dist/lib/prompts/nudge.generated.js.map +1 -0
  40. package/dist/lib/prompts/prune-tool-spec.d.ts +2 -0
  41. package/dist/lib/prompts/prune-tool-spec.d.ts.map +1 -0
  42. package/dist/lib/prompts/prune-tool-spec.js +40 -0
  43. package/dist/lib/prompts/prune-tool-spec.js.map +1 -0
  44. package/dist/lib/prompts/system.generated.d.ts +2 -0
  45. package/dist/lib/prompts/system.generated.d.ts.map +1 -0
  46. package/dist/lib/prompts/system.generated.js +90 -0
  47. package/dist/lib/prompts/system.generated.js.map +1 -0
  48. package/dist/lib/state/persistence.d.ts +2 -2
  49. package/dist/lib/state/persistence.d.ts.map +1 -1
  50. package/dist/lib/state/persistence.js +1 -1
  51. package/dist/lib/state/persistence.js.map +1 -1
  52. package/dist/lib/state/state.js +3 -3
  53. package/dist/lib/state/state.js.map +1 -1
  54. package/dist/lib/state/tool-cache.d.ts.map +1 -1
  55. package/dist/lib/state/tool-cache.js +2 -5
  56. package/dist/lib/state/tool-cache.js.map +1 -1
  57. package/dist/lib/state/types.d.ts +2 -2
  58. package/dist/lib/state/types.d.ts.map +1 -1
  59. package/dist/lib/state/utils.js +1 -1
  60. package/dist/lib/state/utils.js.map +1 -1
  61. package/dist/lib/strategies/index.d.ts +1 -1
  62. package/dist/lib/strategies/index.d.ts.map +1 -1
  63. package/dist/lib/strategies/index.js +1 -1
  64. package/dist/lib/strategies/index.js.map +1 -1
  65. package/dist/lib/tools/compress.d.ts +4 -0
  66. package/dist/lib/tools/compress.d.ts.map +1 -0
  67. package/dist/lib/tools/{squash.js → compress.js} +22 -22
  68. package/dist/lib/tools/compress.js.map +1 -0
  69. package/dist/lib/tools/{discard.d.ts → distill.d.ts} +2 -2
  70. package/dist/lib/tools/distill.d.ts.map +1 -0
  71. package/dist/lib/tools/{extract.js → distill.js} +12 -7
  72. package/dist/lib/tools/{extract.js.map → distill.js.map} +1 -1
  73. package/dist/lib/tools/index.d.ts +3 -3
  74. package/dist/lib/tools/index.d.ts.map +1 -1
  75. package/dist/lib/tools/index.js +3 -3
  76. package/dist/lib/tools/index.js.map +1 -1
  77. package/dist/lib/tools/prune.d.ts +4 -0
  78. package/dist/lib/tools/prune.d.ts.map +1 -0
  79. package/dist/lib/tools/{discard.js → prune.js} +6 -6
  80. package/dist/lib/tools/prune.js.map +1 -0
  81. package/dist/lib/tools/utils.d.ts +3 -3
  82. package/dist/lib/tools/utils.d.ts.map +1 -1
  83. package/dist/lib/tools/utils.js +7 -7
  84. package/dist/lib/tools/utils.js.map +1 -1
  85. package/dist/lib/ui/notification.d.ts +1 -1
  86. package/dist/lib/ui/notification.d.ts.map +1 -1
  87. package/dist/lib/ui/notification.js +7 -7
  88. package/dist/lib/ui/notification.js.map +1 -1
  89. package/package.json +6 -4
  90. package/dist/lib/prompts/discard-tool-spec.d.ts +0 -2
  91. package/dist/lib/prompts/discard-tool-spec.d.ts.map +0 -1
  92. package/dist/lib/prompts/discard-tool-spec.js +0 -18
  93. package/dist/lib/prompts/discard-tool-spec.js.map +0 -1
  94. package/dist/lib/prompts/extract-tool-spec.d.ts +0 -2
  95. package/dist/lib/prompts/extract-tool-spec.d.ts.map +0 -1
  96. package/dist/lib/prompts/extract-tool-spec.js +0 -23
  97. package/dist/lib/prompts/extract-tool-spec.js.map +0 -1
  98. package/dist/lib/prompts/nudge/all.d.ts +0 -2
  99. package/dist/lib/prompts/nudge/all.d.ts.map +0 -1
  100. package/dist/lib/prompts/nudge/all.js +0 -9
  101. package/dist/lib/prompts/nudge/all.js.map +0 -1
  102. package/dist/lib/prompts/nudge/discard-extract.d.ts +0 -2
  103. package/dist/lib/prompts/nudge/discard-extract.d.ts.map +0 -1
  104. package/dist/lib/prompts/nudge/discard-extract.js +0 -8
  105. package/dist/lib/prompts/nudge/discard-extract.js.map +0 -1
  106. package/dist/lib/prompts/nudge/discard-squash.d.ts +0 -2
  107. package/dist/lib/prompts/nudge/discard-squash.d.ts.map +0 -1
  108. package/dist/lib/prompts/nudge/discard-squash.js +0 -8
  109. package/dist/lib/prompts/nudge/discard-squash.js.map +0 -1
  110. package/dist/lib/prompts/nudge/discard.d.ts +0 -2
  111. package/dist/lib/prompts/nudge/discard.d.ts.map +0 -1
  112. package/dist/lib/prompts/nudge/discard.js +0 -8
  113. package/dist/lib/prompts/nudge/discard.js.map +0 -1
  114. package/dist/lib/prompts/nudge/extract-squash.d.ts +0 -2
  115. package/dist/lib/prompts/nudge/extract-squash.d.ts.map +0 -1
  116. package/dist/lib/prompts/nudge/extract-squash.js +0 -8
  117. package/dist/lib/prompts/nudge/extract-squash.js.map +0 -1
  118. package/dist/lib/prompts/nudge/extract.d.ts +0 -2
  119. package/dist/lib/prompts/nudge/extract.d.ts.map +0 -1
  120. package/dist/lib/prompts/nudge/extract.js +0 -8
  121. package/dist/lib/prompts/nudge/extract.js.map +0 -1
  122. package/dist/lib/prompts/nudge/squash.d.ts +0 -2
  123. package/dist/lib/prompts/nudge/squash.d.ts.map +0 -1
  124. package/dist/lib/prompts/nudge/squash.js +0 -8
  125. package/dist/lib/prompts/nudge/squash.js.map +0 -1
  126. package/dist/lib/prompts/squash-tool-spec.d.ts +0 -2
  127. package/dist/lib/prompts/squash-tool-spec.d.ts.map +0 -1
  128. package/dist/lib/prompts/squash-tool-spec.js +0 -33
  129. package/dist/lib/prompts/squash-tool-spec.js.map +0 -1
  130. package/dist/lib/prompts/system/all.d.ts +0 -2
  131. package/dist/lib/prompts/system/all.d.ts.map +0 -1
  132. package/dist/lib/prompts/system/all.js +0 -26
  133. package/dist/lib/prompts/system/all.js.map +0 -1
  134. package/dist/lib/prompts/system/discard-extract.d.ts +0 -2
  135. package/dist/lib/prompts/system/discard-extract.d.ts.map +0 -1
  136. package/dist/lib/prompts/system/discard-extract.js +0 -26
  137. package/dist/lib/prompts/system/discard-extract.js.map +0 -1
  138. package/dist/lib/prompts/system/discard-squash.d.ts +0 -2
  139. package/dist/lib/prompts/system/discard-squash.d.ts.map +0 -1
  140. package/dist/lib/prompts/system/discard-squash.js +0 -25
  141. package/dist/lib/prompts/system/discard-squash.js.map +0 -1
  142. package/dist/lib/prompts/system/discard.d.ts +0 -2
  143. package/dist/lib/prompts/system/discard.d.ts.map +0 -1
  144. package/dist/lib/prompts/system/discard.js +0 -27
  145. package/dist/lib/prompts/system/discard.js.map +0 -1
  146. package/dist/lib/prompts/system/extract-squash.d.ts +0 -2
  147. package/dist/lib/prompts/system/extract-squash.d.ts.map +0 -1
  148. package/dist/lib/prompts/system/extract-squash.js +0 -25
  149. package/dist/lib/prompts/system/extract-squash.js.map +0 -1
  150. package/dist/lib/prompts/system/extract.d.ts +0 -2
  151. package/dist/lib/prompts/system/extract.d.ts.map +0 -1
  152. package/dist/lib/prompts/system/extract.js +0 -27
  153. package/dist/lib/prompts/system/extract.js.map +0 -1
  154. package/dist/lib/prompts/system/squash.d.ts +0 -2
  155. package/dist/lib/prompts/system/squash.d.ts.map +0 -1
  156. package/dist/lib/prompts/system/squash.js +0 -27
  157. package/dist/lib/prompts/system/squash.js.map +0 -1
  158. package/dist/lib/tools/discard.d.ts.map +0 -1
  159. package/dist/lib/tools/discard.js.map +0 -1
  160. package/dist/lib/tools/extract.d.ts +0 -4
  161. package/dist/lib/tools/extract.d.ts.map +0 -1
  162. package/dist/lib/tools/squash.d.ts +0 -4
  163. package/dist/lib/tools/squash.d.ts.map +0 -1
  164. package/dist/lib/tools/squash.js.map +0 -1
package/dist/lib/hooks.js CHANGED
@@ -2,7 +2,7 @@ import { syncToolCache } from "./state/tool-cache";
2
2
  import { deduplicate, supersedeWrites, purgeErrors } from "./strategies";
3
3
  import { prune, insertPruneToolContext } from "./messages";
4
4
  import { checkSession } from "./state";
5
- import { loadPrompt } from "./prompts";
5
+ import { renderSystemPrompt } from "./prompts";
6
6
  import { handleStatsCommand } from "./commands/stats";
7
7
  import { handleContextCommand } from "./commands/context";
8
8
  import { handleHelpCommand } from "./commands/help";
@@ -22,36 +22,15 @@ export function createSystemPromptHandler(state, logger, config) {
22
22
  logger.info("Skipping DCP system prompt injection for internal agent");
23
23
  return;
24
24
  }
25
- const discardEnabled = config.tools.discard.enabled;
26
- const extractEnabled = config.tools.extract.enabled;
27
- const squashEnabled = config.tools.squash.enabled;
28
- let promptName;
29
- if (discardEnabled && extractEnabled && squashEnabled) {
30
- promptName = "system/system-prompt-all";
31
- }
32
- else if (discardEnabled && extractEnabled) {
33
- promptName = "system/system-prompt-discard-extract";
34
- }
35
- else if (discardEnabled && squashEnabled) {
36
- promptName = "system/system-prompt-discard-squash";
37
- }
38
- else if (extractEnabled && squashEnabled) {
39
- promptName = "system/system-prompt-extract-squash";
40
- }
41
- else if (discardEnabled) {
42
- promptName = "system/system-prompt-discard";
43
- }
44
- else if (extractEnabled) {
45
- promptName = "system/system-prompt-extract";
46
- }
47
- else if (squashEnabled) {
48
- promptName = "system/system-prompt-squash";
49
- }
50
- else {
25
+ const flags = {
26
+ prune: config.tools.prune.enabled,
27
+ distill: config.tools.distill.enabled,
28
+ compress: config.tools.compress.enabled,
29
+ };
30
+ if (!flags.prune && !flags.distill && !flags.compress) {
51
31
  return;
52
32
  }
53
- const syntheticPrompt = loadPrompt(promptName);
54
- output.system.push(syntheticPrompt);
33
+ output.system.push(renderSystemPrompt(flags));
55
34
  };
56
35
  }
57
36
  export function createChatMessageTransformHandler(client, state, logger, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,12 @@
1
1
  import type { SessionState, WithParts } from "../state";
2
2
  import type { Logger } from "../logger";
3
3
  import type { PluginConfig } from "../config";
4
+ export declare const wrapPrunableTools: (content: string) => string;
5
+ export declare const wrapCompressContext: (messageCount: number) => string;
6
+ export declare const wrapCooldownMessage: (flags: {
7
+ prune: boolean;
8
+ distill: boolean;
9
+ compress: boolean;
10
+ }) => string;
4
11
  export declare const insertPruneToolContext: (state: SessionState, config: PluginConfig, logger: Logger, messages: WithParts[]) => void;
5
12
  //# sourceMappingURL=inject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../lib/messages/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA6H7C,eAAO,MAAM,sBAAsB,GAC/B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,IAoEF,CAAA"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../lib/messages/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAe7C,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAGlC,CAAA;AAElB,eAAO,MAAM,mBAAmB,GAAI,cAAc,MAAM,KAAG,MAIvC,CAAA;AAEpB,eAAO,MAAM,mBAAmB,GAAI,OAAO;IACvC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CACpB,KAAG,MAmBH,CAAA;AA8ED,eAAO,MAAM,sBAAsB,GAC/B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,IAsFF,CAAA"}
@@ -1,49 +1,24 @@
1
- import { loadPrompt } from "../prompts";
2
- import { extractParameterKey, buildToolIdList, createSyntheticToolPart, createSyntheticUserMessage, isIgnoredUserMessage, } from "./utils";
1
+ import { renderNudge } from "../prompts";
2
+ import { extractParameterKey, buildToolIdList, createSyntheticUserMessage, createSyntheticAssistantMessage, createSyntheticToolPart, isDeepSeekOrKimi, isIgnoredUserMessage, } from "./utils";
3
3
  import { getFilePathFromParameters, isProtectedFilePath } from "../protected-file-patterns";
4
4
  import { getLastUserMessage, isMessageCompacted } from "../shared-utils";
5
- const getNudgeString = (config) => {
6
- const discardEnabled = config.tools.discard.enabled;
7
- const extractEnabled = config.tools.extract.enabled;
8
- const squashEnabled = config.tools.squash.enabled;
9
- if (discardEnabled && extractEnabled && squashEnabled) {
10
- return loadPrompt(`nudge/nudge-all`);
11
- }
12
- else if (discardEnabled && extractEnabled) {
13
- return loadPrompt(`nudge/nudge-discard-extract`);
14
- }
15
- else if (discardEnabled && squashEnabled) {
16
- return loadPrompt(`nudge/nudge-discard-squash`);
17
- }
18
- else if (extractEnabled && squashEnabled) {
19
- return loadPrompt(`nudge/nudge-extract-squash`);
20
- }
21
- else if (discardEnabled) {
22
- return loadPrompt(`nudge/nudge-discard`);
23
- }
24
- else if (extractEnabled) {
25
- return loadPrompt(`nudge/nudge-extract`);
26
- }
27
- else if (squashEnabled) {
28
- return loadPrompt(`nudge/nudge-squash`);
29
- }
30
- return "";
31
- };
32
- const wrapPrunableTools = (content) => `<prunable-tools>
5
+ export const wrapPrunableTools = (content) => `<prunable-tools>
33
6
  The following tools have been invoked and are available for pruning. This list does not mandate immediate action. Consider your current goals and the resources you need before pruning valuable tool inputs or outputs. Consolidate your prunes for efficiency; it is rarely worth pruning a single tiny tool output. Keep the context free of noise.
34
7
  ${content}
35
8
  </prunable-tools>`;
36
- const getCooldownMessage = (config) => {
37
- const discardEnabled = config.tools.discard.enabled;
38
- const extractEnabled = config.tools.extract.enabled;
39
- const squashEnabled = config.tools.squash.enabled;
9
+ export const wrapCompressContext = (messageCount) => `<compress-context>
10
+ Compress available. Conversation: ${messageCount} messages.
11
+ Compress collapses completed task sequences or exploration phases into summaries.
12
+ Uses text boundaries [startString, endString, topic, summary].
13
+ </compress-context>`;
14
+ export const wrapCooldownMessage = (flags) => {
40
15
  const enabledTools = [];
41
- if (discardEnabled)
42
- enabledTools.push("discard");
43
- if (extractEnabled)
44
- enabledTools.push("extract");
45
- if (squashEnabled)
46
- enabledTools.push("squash");
16
+ if (flags.prune)
17
+ enabledTools.push("prune");
18
+ if (flags.distill)
19
+ enabledTools.push("distill");
20
+ if (flags.compress)
21
+ enabledTools.push("compress");
47
22
  let toolName;
48
23
  if (enabledTools.length === 0) {
49
24
  toolName = "pruning tools";
@@ -56,16 +31,30 @@ const getCooldownMessage = (config) => {
56
31
  toolName = `${enabledTools.join(", ")} or ${last} tools`;
57
32
  }
58
33
  return `<context-info>
59
- Context management was just performed. Do not use the ${toolName} again. A fresh list will be available after your next tool use.
34
+ Context management was just performed. Do NOT use the ${toolName} again. A fresh list will be available after your next tool use.
60
35
  </context-info>`;
61
36
  };
62
- const buildSquashContext = (state, messages) => {
37
+ const getNudgeString = (config) => {
38
+ const flags = {
39
+ prune: config.tools.prune.enabled,
40
+ distill: config.tools.distill.enabled,
41
+ compress: config.tools.compress.enabled,
42
+ };
43
+ if (!flags.prune && !flags.distill && !flags.compress) {
44
+ return "";
45
+ }
46
+ return renderNudge(flags);
47
+ };
48
+ const getCooldownMessage = (config) => {
49
+ return wrapCooldownMessage({
50
+ prune: config.tools.prune.enabled,
51
+ distill: config.tools.distill.enabled,
52
+ compress: config.tools.compress.enabled,
53
+ });
54
+ };
55
+ const buildCompressContext = (state, messages) => {
63
56
  const messageCount = messages.filter((msg) => !isMessageCompacted(state, msg)).length;
64
- return `<squash-context>
65
- Squash available. Conversation: ${messageCount} messages.
66
- Squash collapses completed task sequences or exploration phases into summaries.
67
- Uses text boundaries [startString, endString, topic, summary].
68
- </squash-context>`;
57
+ return wrapCompressContext(messageCount);
69
58
  };
70
59
  const buildPrunableToolsList = (state, config, logger, messages) => {
71
60
  const lines = [];
@@ -103,32 +92,32 @@ const buildPrunableToolsList = (state, config, logger, messages) => {
103
92
  return wrapPrunableTools(lines.join("\n"));
104
93
  };
105
94
  export const insertPruneToolContext = (state, config, logger, messages) => {
106
- const discardEnabled = config.tools.discard.enabled;
107
- const extractEnabled = config.tools.extract.enabled;
108
- const squashEnabled = config.tools.squash.enabled;
109
- if (!discardEnabled && !extractEnabled && !squashEnabled) {
95
+ const pruneEnabled = config.tools.prune.enabled;
96
+ const distillEnabled = config.tools.distill.enabled;
97
+ const compressEnabled = config.tools.compress.enabled;
98
+ if (!pruneEnabled && !distillEnabled && !compressEnabled) {
110
99
  return;
111
100
  }
112
- const discardOrExtractEnabled = discardEnabled || extractEnabled;
101
+ const pruneOrDistillEnabled = pruneEnabled || distillEnabled;
113
102
  const contentParts = [];
114
103
  if (state.lastToolPrune) {
115
104
  logger.debug("Last tool was prune - injecting cooldown message");
116
105
  contentParts.push(getCooldownMessage(config));
117
106
  }
118
107
  else {
119
- // Inject <prunable-tools> only when discard or extract is enabled
120
- if (discardOrExtractEnabled) {
108
+ // Inject <prunable-tools> only when prune or distill is enabled
109
+ if (pruneOrDistillEnabled) {
121
110
  const prunableToolsList = buildPrunableToolsList(state, config, logger, messages);
122
111
  if (prunableToolsList) {
123
112
  // logger.debug("prunable-tools: \n" + prunableToolsList)
124
113
  contentParts.push(prunableToolsList);
125
114
  }
126
115
  }
127
- // Inject <squash-context> always when squash is enabled (every turn)
128
- if (squashEnabled) {
129
- const squashContext = buildSquashContext(state, messages);
130
- // logger.debug("squash-context: \n" + squashContext)
131
- contentParts.push(squashContext);
116
+ // Inject <compress-context> always when compress is enabled (every turn)
117
+ if (compressEnabled) {
118
+ const compressContext = buildCompressContext(state, messages);
119
+ // logger.debug("compress-context: \n" + compressContext)
120
+ contentParts.push(compressContext);
132
121
  }
133
122
  // Add nudge if threshold reached
134
123
  if (config.tools.settings.nudgeEnabled &&
@@ -149,13 +138,29 @@ export const insertPruneToolContext = (state, config, logger, messages) => {
149
138
  const variant = state.variant ?? userInfo.variant;
150
139
  // Find the last message that isn't an ignored user message
151
140
  const lastNonIgnoredMessage = messages.findLast((msg) => !(msg.info.role === "user" && isIgnoredUserMessage(msg)));
141
+ // It's not safe to inject assistant role messages following a user message as models such
142
+ // as Claude expect the assistant "turn" to start with reasoning parts. Reasoning parts in many
143
+ // cases also cannot be faked as they may be encrypted by the model.
144
+ // Gemini only accepts synth reasoning text if it is "skip_thought_signature_validator"
152
145
  if (!lastNonIgnoredMessage || lastNonIgnoredMessage.info.role === "user") {
153
146
  messages.push(createSyntheticUserMessage(lastUserMessage, combinedContent, variant));
154
147
  }
155
148
  else {
156
- // Append tool part to the last assistant message instead of creating a new message
157
- const toolPart = createSyntheticToolPart(lastNonIgnoredMessage, combinedContent);
158
- lastNonIgnoredMessage.parts.push(toolPart);
149
+ // For DeepSeek and Kimi, append tool part to existing message, for some reason they don't
150
+ // output reasoning parts following an assistant injection containing either just text part,
151
+ // or text part with synth reasoning, and there's no docs on how their reasoning encryption
152
+ // works as far as I can find. IDK what's going on here, seems like the only possible ways
153
+ // to inject for them is a user role message, or a tool part apeended to last assistant message.
154
+ const providerID = userInfo.model?.providerID || "";
155
+ const modelID = userInfo.model?.modelID || "";
156
+ if (isDeepSeekOrKimi(providerID, modelID)) {
157
+ const toolPart = createSyntheticToolPart(lastNonIgnoredMessage, combinedContent);
158
+ lastNonIgnoredMessage.parts.push(toolPart);
159
+ }
160
+ else {
161
+ // Create a new assistant message with just a text part
162
+ messages.push(createSyntheticAssistantMessage(lastUserMessage, combinedContent, variant));
163
+ }
159
164
  }
160
165
  };
161
166
  //# sourceMappingURL=inject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../lib/messages/inject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../lib/messages/inject.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { isMessageCompacted, getLastUserMessage } from "../shared-utils";
2
- import { createSyntheticUserMessage, SQUASH_SUMMARY_PREFIX } from "./utils";
2
+ import { createSyntheticUserMessage, COMPRESS_SUMMARY_PREFIX } from "./utils";
3
3
  const PRUNED_TOOL_OUTPUT_REPLACEMENT = "[Output removed to save context - information superseded or no longer needed]";
4
4
  const PRUNED_TOOL_ERROR_INPUT_REPLACEMENT = "[input removed due to failed tool call]";
5
5
  const PRUNED_QUESTION_INPUT_REPLACEMENT = "[questions removed - see output for user's answers]";
6
6
  export const prune = (state, logger, config, messages) => {
7
- filterSquashedRanges(state, logger, messages);
7
+ filterCompressedRanges(state, logger, messages);
8
8
  pruneToolOutputs(state, logger, messages);
9
9
  pruneToolInputs(state, logger, messages);
10
10
  pruneToolErrors(state, logger, messages);
@@ -85,7 +85,7 @@ const pruneToolErrors = (state, logger, messages) => {
85
85
  }
86
86
  }
87
87
  };
88
- const filterSquashedRanges = (state, logger, messages) => {
88
+ const filterCompressedRanges = (state, logger, messages) => {
89
89
  if (!state.prune.messageIds?.length) {
90
90
  return;
91
91
  }
@@ -93,22 +93,22 @@ const filterSquashedRanges = (state, logger, messages) => {
93
93
  for (const msg of messages) {
94
94
  const msgId = msg.info.id;
95
95
  // Check if there's a summary to inject at this anchor point
96
- const summary = state.squashSummaries?.find((s) => s.anchorMessageId === msgId);
96
+ const summary = state.compressSummaries?.find((s) => s.anchorMessageId === msgId);
97
97
  if (summary) {
98
98
  // Find user message for variant and as base for synthetic message
99
99
  const msgIndex = messages.indexOf(msg);
100
100
  const userMessage = getLastUserMessage(messages, msgIndex);
101
101
  if (userMessage) {
102
102
  const userInfo = userMessage.info;
103
- const summaryContent = SQUASH_SUMMARY_PREFIX + summary.summary;
103
+ const summaryContent = COMPRESS_SUMMARY_PREFIX + summary.summary;
104
104
  result.push(createSyntheticUserMessage(userMessage, summaryContent, userInfo.variant));
105
- logger.info("Injected squash summary", {
105
+ logger.info("Injected compress summary", {
106
106
  anchorMessageId: msgId,
107
107
  summaryLength: summary.summary.length,
108
108
  });
109
109
  }
110
110
  else {
111
- logger.warn("No user message found for squash summary", {
111
+ logger.warn("No user message found for compress summary", {
112
112
  anchorMessageId: msgId,
113
113
  });
114
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../lib/messages/prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../lib/messages/prune.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,28 @@
1
1
  import { Logger } from "../logger";
2
2
  import type { SessionState, WithParts } from "../state";
3
- export declare const SQUASH_SUMMARY_PREFIX = "[Squashed conversation block]\n\n";
3
+ export declare const COMPRESS_SUMMARY_PREFIX = "[Compressed conversation block]\n\n";
4
+ export declare const isDeepSeekOrKimi: (providerID: string, modelID: string) => boolean;
4
5
  export declare const createSyntheticUserMessage: (baseMessage: WithParts, content: string, variant?: string) => WithParts;
5
- export declare const createSyntheticToolPart: (assistantMessage: WithParts, content: string) => any;
6
+ export declare const createSyntheticAssistantMessage: (baseMessage: WithParts, content: string, variant?: string) => WithParts;
7
+ export declare const createSyntheticToolPart: (baseMessage: WithParts, content: string) => {
8
+ id: string;
9
+ sessionID: string;
10
+ messageID: string;
11
+ type: "tool";
12
+ callID: string;
13
+ tool: string;
14
+ state: {
15
+ status: "completed";
16
+ input: {};
17
+ output: string;
18
+ title: string;
19
+ metadata: {};
20
+ time: {
21
+ start: number;
22
+ end: number;
23
+ };
24
+ };
25
+ };
6
26
  /**
7
27
  * Extracts a human-readable key from tool metadata for display purposes.
8
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,qBAAqB,sCAAsC,CAAA;AASxE,eAAO,MAAM,0BAA0B,GACnC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,UAAU,MAAM,KACjB,SA2BF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,kBAAkB,SAAS,EAAE,SAAS,MAAM,KAAG,GA6BtF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,YAAY,GAAG,KAAG,MAkHnE,CAAA;AAED,wBAAgB,eAAe,CAC3B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf,MAAM,EAAE,CAgBV;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAazD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,EAAE,EAAE,WAAW,MAAM,KAAG,MAE3E,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGvD,eAAO,MAAM,uBAAuB,wCAAwC,CAAA;AAI5E,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,SAAS,MAAM,KAAG,OAStE,CAAA;AAED,eAAO,MAAM,0BAA0B,GACnC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,UAAU,MAAM,KACjB,SA2BF,CAAA;AAED,eAAO,MAAM,+BAA+B,GACxC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,UAAU,MAAM,KACjB,SAoCF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,aAAa,SAAS,EAAE,SAAS,MAAM;;;;;;;;;;;;;;;;;;CAuB9E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,YAAY,GAAG,KAAG,MAkHnE,CAAA;AAED,wBAAgB,eAAe,CAC3B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf,MAAM,EAAE,CAgBV;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAazD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,EAAE,EAAE,WAAW,MAAM,KAAG,MAE3E,CAAA"}
@@ -1,10 +1,14 @@
1
1
  import { ulid } from "ulid";
2
2
  import { isMessageCompacted } from "../shared-utils";
3
- export const SQUASH_SUMMARY_PREFIX = "[Squashed conversation block]\n\n";
3
+ export const COMPRESS_SUMMARY_PREFIX = "[Compressed conversation block]\n\n";
4
4
  const generateUniqueId = (prefix) => `${prefix}_${ulid()}`;
5
- const isGeminiModel = (modelID) => {
5
+ export const isDeepSeekOrKimi = (providerID, modelID) => {
6
+ const lowerProviderID = providerID.toLowerCase();
6
7
  const lowerModelID = modelID.toLowerCase();
7
- return lowerModelID.includes("gemini");
8
+ return (lowerProviderID.includes("deepseek") ||
9
+ lowerProviderID.includes("kimi") ||
10
+ lowerModelID.includes("deepseek") ||
11
+ lowerModelID.includes("kimi"));
8
12
  };
9
13
  export const createSyntheticUserMessage = (baseMessage, content, variant) => {
10
14
  const userInfo = baseMessage.info;
@@ -32,19 +36,50 @@ export const createSyntheticUserMessage = (baseMessage, content, variant) => {
32
36
  ],
33
37
  };
34
38
  };
35
- export const createSyntheticToolPart = (assistantMessage, content) => {
39
+ export const createSyntheticAssistantMessage = (baseMessage, content, variant) => {
40
+ const userInfo = baseMessage.info;
41
+ const now = Date.now();
42
+ const messageId = generateUniqueId("msg");
43
+ const partId = generateUniqueId("prt");
44
+ return {
45
+ info: {
46
+ id: messageId,
47
+ sessionID: userInfo.sessionID,
48
+ role: "assistant",
49
+ agent: userInfo.agent || "code",
50
+ parentID: userInfo.id,
51
+ modelID: userInfo.model.modelID,
52
+ providerID: userInfo.model.providerID,
53
+ mode: "default",
54
+ path: {
55
+ cwd: "/",
56
+ root: "/",
57
+ },
58
+ time: { created: now, completed: now },
59
+ cost: 0,
60
+ tokens: { input: 0, output: 0, reasoning: 0, cache: { read: 0, write: 0 } },
61
+ ...(variant !== undefined && { variant }),
62
+ },
63
+ parts: [
64
+ {
65
+ id: partId,
66
+ sessionID: userInfo.sessionID,
67
+ messageID: messageId,
68
+ type: "text",
69
+ text: content,
70
+ },
71
+ ],
72
+ };
73
+ };
74
+ export const createSyntheticToolPart = (baseMessage, content) => {
75
+ const userInfo = baseMessage.info;
36
76
  const now = Date.now();
37
77
  const partId = generateUniqueId("prt");
38
78
  const callId = generateUniqueId("call");
39
- const modelID = assistantMessage.info.modelID || "";
40
- // For Gemini models, add thoughtSignature bypass to avoid validation errors
41
- const toolPartMetadata = isGeminiModel(modelID)
42
- ? { google: { thoughtSignature: "skip_thought_signature_validator" } }
43
- : undefined;
44
79
  return {
45
80
  id: partId,
46
- sessionID: assistantMessage.info.sessionID,
47
- messageID: assistantMessage.info.id,
81
+ sessionID: userInfo.sessionID,
82
+ messageID: baseMessage.info.id,
48
83
  type: "tool",
49
84
  callID: callId,
50
85
  tool: "context_info",
@@ -56,7 +91,6 @@ export const createSyntheticToolPart = (assistantMessage, content) => {
56
91
  metadata: {},
57
92
  time: { start: now, end: now },
58
93
  },
59
- ...(toolPartMetadata && { metadata: toolPartMetadata }),
60
94
  };
61
95
  };
62
96
  /**
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export declare const COMPRESS_TOOL_SPEC = "Collapses a contiguous range of conversation into a single summary.\n\n## When to Use This Tool\n\nUse `compress` when you want to condense an entire sequence of work into a brief summary:\n\n- **Phase Completion:** You completed a phase (research, tool calls, implementation) and want to collapse the entire sequence into a summary.\n- **Exploration Done:** You explored multiple files or ran multiple commands and only need a summary of what you learned.\n- **Failed Attempts:** You tried several unsuccessful approaches and want to condense them into a brief note.\n- **Verbose Output:** A section of conversation has grown large but can be summarized without losing critical details.\n\n## When NOT to Use This Tool\n\n- **If you need specific details:** If you'll need exact code, file contents, or error messages from the range, keep them.\n- **For individual tool outputs:** Use `prune` or `distill` for single tool outputs. Compress targets conversation ranges.\n- **If it's recent content:** You may still need recent work for the current phase.\n\n## How It Works\n\n1. `startString` \u2014 A unique text string that marks the start of the range to compress\n2. `endString` \u2014 A unique text string that marks the end of the range to compress\n3. `topic` \u2014 A short label (3-5 words) describing the compressed content\n4. `summary` \u2014 The replacement text that will be inserted\n\nEverything between startString and endString (inclusive) is removed and replaced with your summary.\n\n**Important:** The compress will FAIL if `startString` or `endString` is not found in the conversation. The compress will also FAIL if either string is found multiple times. Provide a larger string with more surrounding context to uniquely identify the intended match.\n\n## Best Practices\n- **Choose unique strings:** Pick text that appears only once in the conversation.\n- **Write concise topics:** Examples: \"Auth System Exploration\", \"Token Logic Refactor\"\n- **Write comprehensive summaries:** Include key information like file names, function signatures, and important findings.\n- **Timing:** Best used after finishing a work phase, not during active exploration.\n\n## Format\n\n- `input`: Array with four elements: [startString, endString, topic, summary]\n\n## Example\n\n<example_compress>\nConversation: [Asked about auth] -> [Read 5 files] -> [Analyzed patterns] -> [Found \"JWT tokens with 24h expiry\"]\n\n[Uses compress with:\n input: [\n \"Asked about authentication\",\n \"JWT tokens with 24h expiry\",\n \"Auth System Exploration\",\n \"Auth: JWT 24h expiry, bcrypt passwords, refresh rotation. Files: auth.ts, tokens.ts, middleware/auth.ts\"\n ]\n]\n</example_compress>\n\n<example_keep>\nAssistant: [Just finished reading auth.ts]\nI've read the auth file and now need to make edits based on it. I'm keeping this in context rather than compressing.\n</example_keep>";
2
+ //# sourceMappingURL=compress-tool-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress-tool-spec.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-tool-spec.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,o2FAwDf,CAAA"}
@@ -0,0 +1,58 @@
1
+ export const COMPRESS_TOOL_SPEC = `Collapses a contiguous range of conversation into a single summary.
2
+
3
+ ## When to Use This Tool
4
+
5
+ Use \`compress\` when you want to condense an entire sequence of work into a brief summary:
6
+
7
+ - **Phase Completion:** You completed a phase (research, tool calls, implementation) and want to collapse the entire sequence into a summary.
8
+ - **Exploration Done:** You explored multiple files or ran multiple commands and only need a summary of what you learned.
9
+ - **Failed Attempts:** You tried several unsuccessful approaches and want to condense them into a brief note.
10
+ - **Verbose Output:** A section of conversation has grown large but can be summarized without losing critical details.
11
+
12
+ ## When NOT to Use This Tool
13
+
14
+ - **If you need specific details:** If you'll need exact code, file contents, or error messages from the range, keep them.
15
+ - **For individual tool outputs:** Use \`prune\` or \`distill\` for single tool outputs. Compress targets conversation ranges.
16
+ - **If it's recent content:** You may still need recent work for the current phase.
17
+
18
+ ## How It Works
19
+
20
+ 1. \`startString\` — A unique text string that marks the start of the range to compress
21
+ 2. \`endString\` — A unique text string that marks the end of the range to compress
22
+ 3. \`topic\` — A short label (3-5 words) describing the compressed content
23
+ 4. \`summary\` — The replacement text that will be inserted
24
+
25
+ Everything between startString and endString (inclusive) is removed and replaced with your summary.
26
+
27
+ **Important:** The compress will FAIL if \`startString\` or \`endString\` is not found in the conversation. The compress will also FAIL if either string is found multiple times. Provide a larger string with more surrounding context to uniquely identify the intended match.
28
+
29
+ ## Best Practices
30
+ - **Choose unique strings:** Pick text that appears only once in the conversation.
31
+ - **Write concise topics:** Examples: "Auth System Exploration", "Token Logic Refactor"
32
+ - **Write comprehensive summaries:** Include key information like file names, function signatures, and important findings.
33
+ - **Timing:** Best used after finishing a work phase, not during active exploration.
34
+
35
+ ## Format
36
+
37
+ - \`input\`: Array with four elements: [startString, endString, topic, summary]
38
+
39
+ ## Example
40
+
41
+ <example_compress>
42
+ Conversation: [Asked about auth] -> [Read 5 files] -> [Analyzed patterns] -> [Found "JWT tokens with 24h expiry"]
43
+
44
+ [Uses compress with:
45
+ input: [
46
+ "Asked about authentication",
47
+ "JWT tokens with 24h expiry",
48
+ "Auth System Exploration",
49
+ "Auth: JWT 24h expiry, bcrypt passwords, refresh rotation. Files: auth.ts, tokens.ts, middleware/auth.ts"
50
+ ]
51
+ ]
52
+ </example_compress>
53
+
54
+ <example_keep>
55
+ Assistant: [Just finished reading auth.ts]
56
+ I've read the auth file and now need to make edits based on it. I'm keeping this in context rather than compressing.
57
+ </example_keep>`;
58
+ //# sourceMappingURL=compress-tool-spec.js.map