@tarquinen/opencode-dcp 1.3.0-beta.0 → 1.3.1-beta.0

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 (172) hide show
  1. package/README.md +11 -10
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +18 -13
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/auth.d.ts +4 -0
  6. package/dist/lib/auth.d.ts.map +1 -0
  7. package/dist/lib/auth.js +32 -0
  8. package/dist/lib/auth.js.map +1 -0
  9. package/dist/lib/commands/context.d.ts.map +1 -1
  10. package/dist/lib/commands/context.js +36 -23
  11. package/dist/lib/commands/context.js.map +1 -1
  12. package/dist/lib/config.d.ts +6 -6
  13. package/dist/lib/config.d.ts.map +1 -1
  14. package/dist/lib/config.js +46 -45
  15. package/dist/lib/config.js.map +1 -1
  16. package/dist/lib/hooks.d.ts.map +1 -1
  17. package/dist/lib/hooks.js +8 -29
  18. package/dist/lib/hooks.js.map +1 -1
  19. package/dist/lib/messages/inject.d.ts +7 -0
  20. package/dist/lib/messages/inject.d.ts.map +1 -1
  21. package/dist/lib/messages/inject.js +70 -63
  22. package/dist/lib/messages/inject.js.map +1 -1
  23. package/dist/lib/messages/prune.js +7 -7
  24. package/dist/lib/messages/prune.js.map +1 -1
  25. package/dist/lib/messages/utils.d.ts +21 -1
  26. package/dist/lib/messages/utils.d.ts.map +1 -1
  27. package/dist/lib/messages/utils.js +49 -39
  28. package/dist/lib/messages/utils.js.map +1 -1
  29. package/dist/lib/prompts/compress-tool-spec.d.ts +2 -0
  30. package/dist/lib/prompts/compress-tool-spec.d.ts.map +1 -0
  31. package/dist/lib/prompts/compress-tool-spec.js +58 -0
  32. package/dist/lib/prompts/compress-tool-spec.js.map +1 -0
  33. package/dist/lib/prompts/distill-tool-spec.d.ts +2 -0
  34. package/dist/lib/prompts/distill-tool-spec.d.ts.map +1 -0
  35. package/dist/lib/prompts/distill-tool-spec.js +48 -0
  36. package/dist/lib/prompts/distill-tool-spec.js.map +1 -0
  37. package/dist/lib/prompts/index.d.ts +7 -0
  38. package/dist/lib/prompts/index.d.ts.map +1 -1
  39. package/dist/lib/prompts/index.js +28 -36
  40. package/dist/lib/prompts/index.js.map +1 -1
  41. package/dist/lib/prompts/nudge.generated.d.ts +2 -0
  42. package/dist/lib/prompts/nudge.generated.d.ts.map +1 -0
  43. package/dist/lib/prompts/nudge.generated.js +17 -0
  44. package/dist/lib/prompts/nudge.generated.js.map +1 -0
  45. package/dist/lib/prompts/prune-tool-spec.d.ts +2 -0
  46. package/dist/lib/prompts/prune-tool-spec.d.ts.map +1 -0
  47. package/dist/lib/prompts/prune-tool-spec.js +40 -0
  48. package/dist/lib/prompts/prune-tool-spec.js.map +1 -0
  49. package/dist/lib/prompts/system.generated.d.ts +2 -0
  50. package/dist/lib/prompts/system.generated.d.ts.map +1 -0
  51. package/dist/lib/prompts/system.generated.js +90 -0
  52. package/dist/lib/prompts/system.generated.js.map +1 -0
  53. package/dist/lib/state/persistence.d.ts +2 -2
  54. package/dist/lib/state/persistence.d.ts.map +1 -1
  55. package/dist/lib/state/persistence.js +1 -1
  56. package/dist/lib/state/persistence.js.map +1 -1
  57. package/dist/lib/state/state.js +3 -3
  58. package/dist/lib/state/state.js.map +1 -1
  59. package/dist/lib/state/tool-cache.d.ts.map +1 -1
  60. package/dist/lib/state/tool-cache.js +2 -5
  61. package/dist/lib/state/tool-cache.js.map +1 -1
  62. package/dist/lib/state/types.d.ts +2 -2
  63. package/dist/lib/state/types.d.ts.map +1 -1
  64. package/dist/lib/state/utils.js +1 -1
  65. package/dist/lib/state/utils.js.map +1 -1
  66. package/dist/lib/strategies/index.d.ts +1 -1
  67. package/dist/lib/strategies/index.d.ts.map +1 -1
  68. package/dist/lib/strategies/index.js +1 -1
  69. package/dist/lib/strategies/index.js.map +1 -1
  70. package/dist/lib/tools/compress.d.ts +4 -0
  71. package/dist/lib/tools/compress.d.ts.map +1 -0
  72. package/dist/lib/tools/{squash.js → compress.js} +22 -22
  73. package/dist/lib/tools/compress.js.map +1 -0
  74. package/dist/lib/tools/{discard.d.ts → distill.d.ts} +2 -2
  75. package/dist/lib/tools/distill.d.ts.map +1 -0
  76. package/dist/lib/tools/{extract.js → distill.js} +12 -7
  77. package/dist/lib/tools/{extract.js.map → distill.js.map} +1 -1
  78. package/dist/lib/tools/index.d.ts +3 -3
  79. package/dist/lib/tools/index.d.ts.map +1 -1
  80. package/dist/lib/tools/index.js +3 -3
  81. package/dist/lib/tools/index.js.map +1 -1
  82. package/dist/lib/tools/prune-shared.d.ts.map +1 -1
  83. package/dist/lib/tools/prune-shared.js +32 -12
  84. package/dist/lib/tools/prune-shared.js.map +1 -1
  85. package/dist/lib/tools/prune.d.ts +4 -0
  86. package/dist/lib/tools/prune.d.ts.map +1 -0
  87. package/dist/lib/tools/{discard.js → prune.js} +6 -6
  88. package/dist/lib/tools/prune.js.map +1 -0
  89. package/dist/lib/tools/utils.d.ts +3 -3
  90. package/dist/lib/tools/utils.d.ts.map +1 -1
  91. package/dist/lib/tools/utils.js +7 -7
  92. package/dist/lib/tools/utils.js.map +1 -1
  93. package/dist/lib/ui/notification.d.ts +1 -1
  94. package/dist/lib/ui/notification.d.ts.map +1 -1
  95. package/dist/lib/ui/notification.js +6 -6
  96. package/dist/lib/ui/notification.js.map +1 -1
  97. package/package.json +6 -4
  98. package/dist/lib/prompts/discard-tool-spec.d.ts +0 -2
  99. package/dist/lib/prompts/discard-tool-spec.d.ts.map +0 -1
  100. package/dist/lib/prompts/discard-tool-spec.js +0 -18
  101. package/dist/lib/prompts/discard-tool-spec.js.map +0 -1
  102. package/dist/lib/prompts/extract-tool-spec.d.ts +0 -2
  103. package/dist/lib/prompts/extract-tool-spec.d.ts.map +0 -1
  104. package/dist/lib/prompts/extract-tool-spec.js +0 -23
  105. package/dist/lib/prompts/extract-tool-spec.js.map +0 -1
  106. package/dist/lib/prompts/nudge/all.d.ts +0 -2
  107. package/dist/lib/prompts/nudge/all.d.ts.map +0 -1
  108. package/dist/lib/prompts/nudge/all.js +0 -9
  109. package/dist/lib/prompts/nudge/all.js.map +0 -1
  110. package/dist/lib/prompts/nudge/discard-extract.d.ts +0 -2
  111. package/dist/lib/prompts/nudge/discard-extract.d.ts.map +0 -1
  112. package/dist/lib/prompts/nudge/discard-extract.js +0 -8
  113. package/dist/lib/prompts/nudge/discard-extract.js.map +0 -1
  114. package/dist/lib/prompts/nudge/discard-squash.d.ts +0 -2
  115. package/dist/lib/prompts/nudge/discard-squash.d.ts.map +0 -1
  116. package/dist/lib/prompts/nudge/discard-squash.js +0 -8
  117. package/dist/lib/prompts/nudge/discard-squash.js.map +0 -1
  118. package/dist/lib/prompts/nudge/discard.d.ts +0 -2
  119. package/dist/lib/prompts/nudge/discard.d.ts.map +0 -1
  120. package/dist/lib/prompts/nudge/discard.js +0 -8
  121. package/dist/lib/prompts/nudge/discard.js.map +0 -1
  122. package/dist/lib/prompts/nudge/extract-squash.d.ts +0 -2
  123. package/dist/lib/prompts/nudge/extract-squash.d.ts.map +0 -1
  124. package/dist/lib/prompts/nudge/extract-squash.js +0 -8
  125. package/dist/lib/prompts/nudge/extract-squash.js.map +0 -1
  126. package/dist/lib/prompts/nudge/extract.d.ts +0 -2
  127. package/dist/lib/prompts/nudge/extract.d.ts.map +0 -1
  128. package/dist/lib/prompts/nudge/extract.js +0 -8
  129. package/dist/lib/prompts/nudge/extract.js.map +0 -1
  130. package/dist/lib/prompts/nudge/squash.d.ts +0 -2
  131. package/dist/lib/prompts/nudge/squash.d.ts.map +0 -1
  132. package/dist/lib/prompts/nudge/squash.js +0 -8
  133. package/dist/lib/prompts/nudge/squash.js.map +0 -1
  134. package/dist/lib/prompts/squash-tool-spec.d.ts +0 -2
  135. package/dist/lib/prompts/squash-tool-spec.d.ts.map +0 -1
  136. package/dist/lib/prompts/squash-tool-spec.js +0 -33
  137. package/dist/lib/prompts/squash-tool-spec.js.map +0 -1
  138. package/dist/lib/prompts/system/all.d.ts +0 -2
  139. package/dist/lib/prompts/system/all.d.ts.map +0 -1
  140. package/dist/lib/prompts/system/all.js +0 -26
  141. package/dist/lib/prompts/system/all.js.map +0 -1
  142. package/dist/lib/prompts/system/discard-extract.d.ts +0 -2
  143. package/dist/lib/prompts/system/discard-extract.d.ts.map +0 -1
  144. package/dist/lib/prompts/system/discard-extract.js +0 -26
  145. package/dist/lib/prompts/system/discard-extract.js.map +0 -1
  146. package/dist/lib/prompts/system/discard-squash.d.ts +0 -2
  147. package/dist/lib/prompts/system/discard-squash.d.ts.map +0 -1
  148. package/dist/lib/prompts/system/discard-squash.js +0 -25
  149. package/dist/lib/prompts/system/discard-squash.js.map +0 -1
  150. package/dist/lib/prompts/system/discard.d.ts +0 -2
  151. package/dist/lib/prompts/system/discard.d.ts.map +0 -1
  152. package/dist/lib/prompts/system/discard.js +0 -27
  153. package/dist/lib/prompts/system/discard.js.map +0 -1
  154. package/dist/lib/prompts/system/extract-squash.d.ts +0 -2
  155. package/dist/lib/prompts/system/extract-squash.d.ts.map +0 -1
  156. package/dist/lib/prompts/system/extract-squash.js +0 -25
  157. package/dist/lib/prompts/system/extract-squash.js.map +0 -1
  158. package/dist/lib/prompts/system/extract.d.ts +0 -2
  159. package/dist/lib/prompts/system/extract.d.ts.map +0 -1
  160. package/dist/lib/prompts/system/extract.js +0 -27
  161. package/dist/lib/prompts/system/extract.js.map +0 -1
  162. package/dist/lib/prompts/system/squash.d.ts +0 -2
  163. package/dist/lib/prompts/system/squash.d.ts.map +0 -1
  164. package/dist/lib/prompts/system/squash.js +0 -27
  165. package/dist/lib/prompts/system/squash.js.map +0 -1
  166. package/dist/lib/tools/discard.d.ts.map +0 -1
  167. package/dist/lib/tools/discard.js.map +0 -1
  168. package/dist/lib/tools/extract.d.ts +0 -4
  169. package/dist/lib/tools/extract.d.ts.map +0 -1
  170. package/dist/lib/tools/squash.d.ts +0 -4
  171. package/dist/lib/tools/squash.d.ts.map +0 -1
  172. package/dist/lib/tools/squash.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,KAAK,EAAE,YAAY,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB;AAcD,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CA8BvC;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqClF"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACpC,KAAK,EAAE,YAAY,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB;AAcD,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CA8BvC;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqClF"}
@@ -25,7 +25,7 @@ export async function saveSessionState(sessionState, logger, sessionName) {
25
25
  const state = {
26
26
  sessionName: sessionName,
27
27
  prune: sessionState.prune,
28
- squashSummaries: sessionState.squashSummaries,
28
+ compressSummaries: sessionState.compressSummaries,
29
29
  stats: sessionState.stats,
30
30
  lastUpdated: new Date().toISOString(),
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export function createSessionState() {
34
34
  toolIds: [],
35
35
  messageIds: [],
36
36
  },
37
- squashSummaries: [],
37
+ compressSummaries: [],
38
38
  stats: {
39
39
  pruneTokenCounter: 0,
40
40
  totalPruneTokens: 0,
@@ -54,7 +54,7 @@ export function resetSessionState(state) {
54
54
  toolIds: [],
55
55
  messageIds: [],
56
56
  };
57
- state.squashSummaries = [];
57
+ state.compressSummaries = [];
58
58
  state.stats = {
59
59
  pruneTokenCounter: 0,
60
60
  totalPruneTokens: 0,
@@ -87,7 +87,7 @@ export async function ensureSessionInitialized(client, state, sessionId, logger,
87
87
  toolIds: persisted.prune.toolIds || [],
88
88
  messageIds: persisted.prune.messageIds || [],
89
89
  };
90
- state.squashSummaries = persisted.squashSummaries || [];
90
+ state.compressSummaries = persisted.compressSummaries || [];
91
91
  state.stats = {
92
92
  pruneTokenCounter: persisted.stats?.pruneTokenCounter || 0,
93
93
  totalPruneTokens: persisted.stats?.totalPruneTokens || 0,
@@ -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 +1 @@
1
- {"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../../lib/state/tool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,SAAS,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAKxC;;GAEG;AACH,wBAAsB,aAAa,CAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAajE"}
1
+ {"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../../lib/state/tool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,SAAS,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAKxC;;GAEG;AACH,wBAAsB,aAAa,CAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAajE"}
@@ -27,12 +27,9 @@ export async function syncToolCache(state, config, logger, messages) {
27
27
  turnProtectionTurns > 0 &&
28
28
  state.currentTurn - turnCounter < turnProtectionTurns;
29
29
  state.lastToolPrune =
30
- (part.tool === "discard" ||
31
- part.tool === "extract" ||
32
- part.tool === "squash") &&
33
- part.state.status === "completed";
30
+ part.tool === "distill" || part.tool === "compress" || part.tool === "prune";
34
31
  const allProtectedTools = config.tools.settings.protectedTools;
35
- if (part.tool === "discard" || part.tool === "extract" || part.tool === "squash") {
32
+ if (part.tool === "distill" || part.tool === "compress" || part.tool === "prune") {
36
33
  state.nudgeCounter = 0;
37
34
  }
38
35
  else if (!allProtectedTools.includes(part.tool) && !isProtectedByTurn) {
@@ -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":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,mBAAmB,GAAG,IAAI,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,KAAmB,EACnB,MAAoB,EACpB,MAAc,EACd,QAAqB;IAErB,IAAI,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAE7D,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;QACtB,IAAI,WAAW,GAAG,CAAC,CAAA;QAEnB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACZ,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC7B,WAAW,EAAE,CAAA;oBACb,SAAQ;gBACZ,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACvC,SAAQ;gBACZ,CAAC;gBAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAA;gBAC3D,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAA;gBACvD,MAAM,iBAAiB,GACnB,qBAAqB;oBACrB,mBAAmB,GAAG,CAAC;oBACvB,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAA;gBAEzD,KAAK,CAAC,aAAa;oBACf,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAA;gBAEhF,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAA;gBAE9D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/E,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;gBAC1B,CAAC;qBAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACtE,KAAK,CAAC,YAAY,EAAE,CAAA;gBACxB,CAAC;gBAED,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxC,SAAQ;gBACZ,CAAC;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACpB,SAAQ;gBACZ,CAAC;gBAED,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;oBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;oBACnC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAgC;oBACnD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACnE,IAAI,EAAE,WAAW;iBACpB,CAAC,CAAA;gBACF,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,qBAAqB,WAAW,GAAG,CAAC,CAAA;YAClF,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CACP,wBAAwB,KAAK,CAAC,cAAc,CAAC,IAAI,kBAAkB,KAAK,CAAC,WAAW,mBAAmB,KAAK,CAAC,YAAY,EAAE,CAC9H,CAAA;QACD,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;YACxD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IACvD,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACnD,OAAM;IACV,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAC9D,CAAC,EACD,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,mBAAmB,CAClD,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;AACL,CAAC"}
@@ -15,7 +15,7 @@ export interface SessionStats {
15
15
  pruneTokenCounter: number;
16
16
  totalPruneTokens: number;
17
17
  }
18
- export interface SquashSummary {
18
+ export interface CompressSummary {
19
19
  anchorMessageId: string;
20
20
  summary: string;
21
21
  }
@@ -27,7 +27,7 @@ export interface SessionState {
27
27
  sessionId: string | null;
28
28
  isSubAgent: boolean;
29
29
  prune: Prune;
30
- squashSummaries: SquashSummary[];
30
+ compressSummaries: CompressSummary[];
31
31
  stats: SessionStats;
32
32
  toolParameters: Map<string, ToolParameterEntry>;
33
33
  nudgeCounter: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,KAAK,CAAA;IACZ,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACpC,KAAK,EAAE,YAAY,CAAA;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B"}
@@ -36,7 +36,7 @@ export function resetOnCompaction(state) {
36
36
  state.toolParameters.clear();
37
37
  state.prune.toolIds = [];
38
38
  state.prune.messageIds = [];
39
- state.squashSummaries = [];
39
+ state.compressSummaries = [];
40
40
  state.nudgeCounter = 0;
41
41
  state.lastToolPrune = false;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,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,iBAAiB,CAAC,KAAmB;IACjD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACxB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;IAC3B,KAAK,CAAC,eAAe,GAAG,EAAE,CAAA;IAC1B,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;IACtB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,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,iBAAiB,CAAC,KAAmB;IACjD,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC5B,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACxB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;IAC3B,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAA;IAC5B,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;IACtB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAA;AAC/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { deduplicate } from "./deduplication";
2
- export { createDiscardTool, createExtractTool, createSquashTool } from "../tools";
2
+ export { createPruneTool, createDistillTool, createCompressTool } from "../tools";
3
3
  export { supersedeWrites } from "./supersede-writes";
4
4
  export { purgeErrors } from "./purge-errors";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { deduplicate } from "./deduplication";
2
- export { createDiscardTool, createExtractTool, createSquashTool } from "../tools";
2
+ export { createPruneTool, createDistillTool, createCompressTool } from "../tools";
3
3
  export { supersedeWrites } from "./supersede-writes";
4
4
  export { purgeErrors } from "./purge-errors";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { tool } from "@opencode-ai/plugin";
2
+ import type { PruneToolContext } from "./types";
3
+ export declare function createCompressTool(ctx: PruneToolContext): ReturnType<typeof tool>;
4
+ //# sourceMappingURL=compress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../lib/tools/compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAe/C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAyIjF"}
@@ -4,22 +4,22 @@ import { saveSessionState } from "../state/persistence";
4
4
  import { loadPrompt } from "../prompts";
5
5
  import { estimateTokensBatch, getCurrentParams } from "../strategies/utils";
6
6
  import { collectContentInRange, findStringInMessages, collectToolIdsInRange, collectMessageIdsInRange, } from "./utils";
7
- import { sendSquashNotification } from "../ui/notification";
8
- const SQUASH_TOOL_DESCRIPTION = loadPrompt("squash-tool-spec");
9
- export function createSquashTool(ctx) {
7
+ import { sendCompressNotification } from "../ui/notification";
8
+ const COMPRESS_TOOL_DESCRIPTION = loadPrompt("compress-tool-spec");
9
+ export function createCompressTool(ctx) {
10
10
  return tool({
11
- description: SQUASH_TOOL_DESCRIPTION,
11
+ description: COMPRESS_TOOL_DESCRIPTION,
12
12
  args: {
13
13
  input: tool.schema
14
14
  .array(tool.schema.string())
15
15
  .length(4)
16
- .describe("[startString, endString, topic, summary] - 4 required strings: (1) startString: unique text from conversation marking range start, (2) endString: unique text marking range end, (3) topic: short 3-5 word label for UI, (4) summary: comprehensive text replacing all squashed content"),
16
+ .describe("[startString, endString, topic, summary] - 4 required strings: (1) startString: unique text from conversation marking range start, (2) endString: unique text marking range end, (3) topic: short 3-5 word label for UI, (4) summary: comprehensive text replacing all compressed content"),
17
17
  },
18
18
  async execute(args, toolCtx) {
19
19
  const { client, state, logger } = ctx;
20
20
  const sessionId = toolCtx.sessionID;
21
21
  const [startString, endString, topic, summary] = args.input;
22
- logger.info("Squash tool invoked");
22
+ logger.info("Compress tool invoked");
23
23
  // logger.info(
24
24
  // JSON.stringify({
25
25
  // startString: startString?.substring(0, 50) + "...",
@@ -33,8 +33,8 @@ export function createSquashTool(ctx) {
33
33
  });
34
34
  const messages = messagesResponse.data || messagesResponse;
35
35
  await ensureSessionInitialized(client, state, sessionId, logger, messages);
36
- const startResult = findStringInMessages(messages, startString, logger, state.squashSummaries);
37
- const endResult = findStringInMessages(messages, endString, logger, state.squashSummaries);
36
+ const startResult = findStringInMessages(messages, startString, logger, state.compressSummaries, "startString");
37
+ const endResult = findStringInMessages(messages, endString, logger, state.compressSummaries, "endString");
38
38
  if (startResult.messageIndex > endResult.messageIndex) {
39
39
  throw new Error(`startString appears after endString in the conversation. Start must come before end.`);
40
40
  }
@@ -43,39 +43,39 @@ export function createSquashTool(ctx) {
43
43
  state.prune.toolIds.push(...containedToolIds);
44
44
  state.prune.messageIds.push(...containedMessageIds);
45
45
  // Remove any existing summaries whose anchors are now inside this range
46
- // This prevents duplicate injections when a larger squash subsumes a smaller one
47
- const removedSummaries = state.squashSummaries.filter((s) => containedMessageIds.includes(s.anchorMessageId));
46
+ // This prevents duplicate injections when a larger compress subsumes a smaller one
47
+ const removedSummaries = state.compressSummaries.filter((s) => containedMessageIds.includes(s.anchorMessageId));
48
48
  if (removedSummaries.length > 0) {
49
- // logger.info("Removing subsumed squash summaries", {
49
+ // logger.info("Removing subsumed compress summaries", {
50
50
  // count: removedSummaries.length,
51
51
  // anchorIds: removedSummaries.map((s) => s.anchorMessageId),
52
52
  // })
53
- state.squashSummaries = state.squashSummaries.filter((s) => !containedMessageIds.includes(s.anchorMessageId));
53
+ state.compressSummaries = state.compressSummaries.filter((s) => !containedMessageIds.includes(s.anchorMessageId));
54
54
  }
55
- const squashSummary = {
55
+ const compressSummary = {
56
56
  anchorMessageId: startResult.messageId,
57
57
  summary: summary,
58
58
  };
59
- state.squashSummaries.push(squashSummary);
59
+ state.compressSummaries.push(compressSummary);
60
60
  const contentsToTokenize = collectContentInRange(messages, startResult.messageIndex, endResult.messageIndex);
61
- const estimatedSquashedTokens = estimateTokensBatch(contentsToTokenize);
62
- state.stats.pruneTokenCounter += estimatedSquashedTokens;
61
+ const estimatedCompressedTokens = estimateTokensBatch(contentsToTokenize);
62
+ state.stats.pruneTokenCounter += estimatedCompressedTokens;
63
63
  const currentParams = getCurrentParams(state, messages, logger);
64
- await sendSquashNotification(client, logger, ctx.config, state, sessionId, containedToolIds, containedMessageIds, topic, summary, startResult, endResult, messages.length, currentParams);
64
+ await sendCompressNotification(client, logger, ctx.config, state, sessionId, containedToolIds, containedMessageIds, topic, summary, startResult, endResult, messages.length, currentParams);
65
65
  state.stats.totalPruneTokens += state.stats.pruneTokenCounter;
66
66
  state.stats.pruneTokenCounter = 0;
67
67
  state.nudgeCounter = 0;
68
- // logger.info("Squash range created", {
68
+ // logger.info("Compress range created", {
69
69
  // startMessageId: startResult.messageId,
70
70
  // endMessageId: endResult.messageId,
71
71
  // toolIdsRemoved: containedToolIds.length,
72
72
  // messagesInRange: containedMessageIds.length,
73
- // estimatedTokens: estimatedSquashedTokens,
73
+ // estimatedTokens: estimatedCompressedTokens,
74
74
  // })
75
75
  saveSessionState(state, logger).catch((err) => logger.error("Failed to persist state", { error: err.message }));
76
- const messagesSquashed = endResult.messageIndex - startResult.messageIndex + 1;
77
- return `Squashed ${messagesSquashed} messages (${containedToolIds.length} tool calls) into summary. The content will be replaced with your summary.`;
76
+ const messagesCompressed = endResult.messageIndex - startResult.messageIndex + 1;
77
+ return `Compressed ${messagesCompressed} messages (${containedToolIds.length} tool calls) into summary. The content will be replaced with your summary.`;
78
78
  },
79
79
  });
80
80
  }
81
- //# sourceMappingURL=squash.js.map
81
+ //# sourceMappingURL=compress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../lib/tools/compress.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { tool } from "@opencode-ai/plugin";
2
2
  import type { PruneToolContext } from "./types";
3
- export declare function createDiscardTool(ctx: PruneToolContext): ReturnType<typeof tool>;
4
- //# sourceMappingURL=discard.d.ts.map
3
+ export declare function createDistillTool(ctx: PruneToolContext): ReturnType<typeof tool>;
4
+ //# sourceMappingURL=distill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distill.d.ts","sourceRoot":"","sources":["../../../lib/tools/distill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO/C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAiDhF"}
@@ -1,15 +1,15 @@
1
1
  import { tool } from "@opencode-ai/plugin";
2
2
  import { executePruneOperation } from "./prune-shared";
3
3
  import { loadPrompt } from "../prompts";
4
- const EXTRACT_TOOL_DESCRIPTION = loadPrompt("extract-tool-spec");
5
- export function createExtractTool(ctx) {
4
+ const DISTILL_TOOL_DESCRIPTION = loadPrompt("distill-tool-spec");
5
+ export function createDistillTool(ctx) {
6
6
  return tool({
7
- description: EXTRACT_TOOL_DESCRIPTION,
7
+ description: DISTILL_TOOL_DESCRIPTION,
8
8
  args: {
9
9
  ids: tool.schema
10
10
  .array(tool.schema.string())
11
11
  .min(1)
12
- .describe("Numeric IDs as strings to extract from the <prunable-tools> list"),
12
+ .describe("Numeric IDs as strings to distill from the <prunable-tools> list"),
13
13
  distillation: tool.schema
14
14
  .array(tool.schema.string())
15
15
  .min(1)
@@ -17,14 +17,19 @@ export function createExtractTool(ctx) {
17
17
  },
18
18
  async execute(args, toolCtx) {
19
19
  if (!args.distillation || args.distillation.length === 0) {
20
- ctx.logger.debug("Extract tool called without distillation: " + JSON.stringify(args));
20
+ ctx.logger.debug("Distill tool called without distillation: " + JSON.stringify(args));
21
21
  throw new Error("Missing distillation. You must provide a distillation string for each ID.");
22
22
  }
23
+ if (!Array.isArray(args.distillation)) {
24
+ ctx.logger.debug("Distill tool called with non-array distillation: " + JSON.stringify(args));
25
+ throw new Error(`Invalid distillation format: expected an array of strings, got ${typeof args.distillation}. ` +
26
+ `Example: distillation: ["summary for id 0", "summary for id 1"]`);
27
+ }
23
28
  // Log the distillation for debugging/analysis
24
29
  ctx.logger.info("Distillation data received:");
25
30
  ctx.logger.info(JSON.stringify(args.distillation, null, 2));
26
- return executePruneOperation(ctx, toolCtx, args.ids, "extraction", "Extract", args.distillation);
31
+ return executePruneOperation(ctx, toolCtx, args.ids, "extraction", "Distill", args.distillation);
27
32
  },
28
33
  });
29
34
  }
30
- //# sourceMappingURL=extract.js.map
35
+ //# sourceMappingURL=distill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../lib/tools/extract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,wBAAwB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;AAEhE,MAAM,UAAU,iBAAiB,CAAC,GAAqB;IACnD,OAAO,IAAI,CAAC;QACR,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE;YACF,GAAG,EAAE,IAAI,CAAC,MAAM;iBACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,kEAAkE,CAAC;YACjF,YAAY,EAAE,IAAI,CAAC,MAAM;iBACpB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACL,mGAAmG,CACtG;SACR;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,MAAM,CAAC,KAAK,CACZ,4CAA4C,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACtE,CAAA;gBACD,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAA;YACL,CAAC;YAED,8CAA8C;YAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAE3D,OAAO,qBAAqB,CACxB,GAAG,EACH,OAAO,EACP,IAAI,CAAC,GAAG,EACR,YAA2B,EAC3B,SAAS,EACT,IAAI,CAAC,YAAY,CACpB,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"distill.js","sourceRoot":"","sources":["../../../lib/tools/distill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,wBAAwB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;AAEhE,MAAM,UAAU,iBAAiB,CAAC,GAAqB;IACnD,OAAO,IAAI,CAAC;QACR,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE;YACF,GAAG,EAAE,IAAI,CAAC,MAAM;iBACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,kEAAkE,CAAC;YACjF,YAAY,EAAE,IAAI,CAAC,MAAM;iBACpB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACL,mGAAmG,CACtG;SACR;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,MAAM,CAAC,KAAK,CACZ,4CAA4C,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACtE,CAAA;gBACD,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAA;YACL,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,KAAK,CACZ,mDAAmD,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7E,CAAA;gBACD,MAAM,IAAI,KAAK,CACX,kEAAkE,OAAO,IAAI,CAAC,YAAY,IAAI;oBAC1F,iEAAiE,CACxE,CAAA;YACL,CAAC;YAED,8CAA8C;YAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAE3D,OAAO,qBAAqB,CACxB,GAAG,EACH,OAAO,EACP,IAAI,CAAC,GAAG,EACR,YAA2B,EAC3B,SAAS,EACT,IAAI,CAAC,YAAY,CACpB,CAAA;QACL,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { PruneToolContext } from "./types";
2
- export { createDiscardTool } from "./discard";
3
- export { createExtractTool } from "./extract";
4
- export { createSquashTool } from "./squash";
2
+ export { createPruneTool } from "./prune";
3
+ export { createDistillTool } from "./distill";
4
+ export { createCompressTool } from "./compress";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- export { createDiscardTool } from "./discard";
2
- export { createExtractTool } from "./extract";
3
- export { createSquashTool } from "./squash";
1
+ export { createPruneTool } from "./prune";
2
+ export { createDistillTool } from "./distill";
3
+ export { createCompressTool } from "./compress";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prune-shared.d.ts","sourceRoot":"","sources":["../../../lib/tools/prune-shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAE,WAAW,EAA2B,MAAM,oBAAoB,CAAA;AAQzE,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9B,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CAwHjB"}
1
+ {"version":3,"file":"prune-shared.d.ts","sourceRoot":"","sources":["../../../lib/tools/prune-shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,EAAE,WAAW,EAA2B,MAAM,oBAAoB,CAAA;AAQzE,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9B,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CAyIjB"}
@@ -1,4 +1,5 @@
1
1
  import { buildToolIdList } from "../messages/utils";
2
+ import { syncToolCache } from "../state/tool-cache";
2
3
  import { sendUnifiedNotification } from "../ui/notification";
3
4
  import { formatPruningResultForTool } from "../ui/utils";
4
5
  import { ensureSessionInitialized } from "../state";
@@ -28,21 +29,27 @@ export async function executePruneOperation(ctx, toolCtx, ids, reason, toolName,
28
29
  });
29
30
  const messages = messagesResponse.data || messagesResponse;
30
31
  await ensureSessionInitialized(ctx.client, state, sessionId, logger, messages);
32
+ await syncToolCache(state, config, logger, messages);
31
33
  const currentParams = getCurrentParams(state, messages, logger);
32
34
  const toolIdList = buildToolIdList(state, messages, logger);
33
- // Validate that all numeric IDs are within bounds
34
- if (numericToolIds.some((id) => id < 0 || id >= toolIdList.length)) {
35
- logger.debug("Invalid tool IDs provided: " + numericToolIds.join(", "));
36
- throw new Error("Invalid IDs provided. Only use numeric IDs from the <prunable-tools> list.");
37
- }
38
- // Validate that all IDs exist in cache and aren't protected
39
- // (rejects hallucinated IDs and turn-protected tools not shown in <prunable-tools>)
35
+ const validNumericIds = [];
36
+ const skippedIds = [];
37
+ // Validate and filter IDs
40
38
  for (const index of numericToolIds) {
39
+ // Validate that all numeric IDs are within bounds
40
+ if (index < 0 || index >= toolIdList.length) {
41
+ logger.debug(`Rejecting prune request - index out of bounds: ${index}`);
42
+ skippedIds.push(index.toString());
43
+ continue;
44
+ }
41
45
  const id = toolIdList[index];
42
46
  const metadata = state.toolParameters.get(id);
47
+ // Validate that all IDs exist in cache and aren't protected
48
+ // (rejects hallucinated IDs and turn-protected tools not shown in <prunable-tools>)
43
49
  if (!metadata) {
44
50
  logger.debug("Rejecting prune request - ID not in cache (turn-protected or hallucinated)", { index, id });
45
- throw new Error("Invalid IDs provided. Only use numeric IDs from the <prunable-tools> list.");
51
+ skippedIds.push(index.toString());
52
+ continue;
46
53
  }
47
54
  const allProtectedTools = config.tools.settings.protectedTools;
48
55
  if (allProtectedTools.includes(metadata.tool)) {
@@ -51,7 +58,8 @@ export async function executePruneOperation(ctx, toolCtx, ids, reason, toolName,
51
58
  id,
52
59
  tool: metadata.tool,
53
60
  });
54
- throw new Error("Invalid IDs provided. Only use numeric IDs from the <prunable-tools> list.");
61
+ skippedIds.push(index.toString());
62
+ continue;
55
63
  }
56
64
  const filePath = getFilePathFromParameters(metadata.parameters);
57
65
  if (isProtectedFilePath(filePath, config.protectedFilePatterns)) {
@@ -61,10 +69,18 @@ export async function executePruneOperation(ctx, toolCtx, ids, reason, toolName,
61
69
  tool: metadata.tool,
62
70
  filePath,
63
71
  });
64
- throw new Error("Invalid IDs provided. Only use numeric IDs from the <prunable-tools> list.");
72
+ skippedIds.push(index.toString());
73
+ continue;
65
74
  }
75
+ validNumericIds.push(index);
66
76
  }
67
- const pruneToolIds = numericToolIds.map((index) => toolIdList[index]);
77
+ if (validNumericIds.length === 0) {
78
+ const errorMsg = skippedIds.length > 0
79
+ ? `Invalid IDs provided: [${skippedIds.join(", ")}]. Only use numeric IDs from the <prunable-tools> list.`
80
+ : `No valid IDs provided to ${toolName.toLowerCase()}.`;
81
+ throw new Error(errorMsg);
82
+ }
83
+ const pruneToolIds = validNumericIds.map((index) => toolIdList[index]);
68
84
  state.prune.toolIds.push(...pruneToolIds);
69
85
  const toolMetadata = new Map();
70
86
  for (const id of pruneToolIds) {
@@ -82,6 +98,10 @@ export async function executePruneOperation(ctx, toolCtx, ids, reason, toolName,
82
98
  state.stats.pruneTokenCounter = 0;
83
99
  state.nudgeCounter = 0;
84
100
  saveSessionState(state, logger).catch((err) => logger.error("Failed to persist state", { error: err.message }));
85
- return formatPruningResultForTool(pruneToolIds, toolMetadata, workingDirectory);
101
+ let result = formatPruningResultForTool(pruneToolIds, toolMetadata, workingDirectory);
102
+ if (skippedIds.length > 0) {
103
+ result += `\n\nNote: ${skippedIds.length} IDs were skipped (invalid, protected, or missing metadata): ${skippedIds.join(", ")}`;
104
+ }
105
+ return result;
86
106
  }
87
107
  //# sourceMappingURL=prune-shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prune-shared.js","sourceRoot":"","sources":["../../../lib/tools/prune-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune-shared.js","sourceRoot":"","sources":["../../../lib/tools/prune-shared.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAe,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAE3F,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,GAAqB,EACrB,OAA8B,EAC9B,GAAa,EACb,MAAmB,EACnB,QAAgB,EAChB,YAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAA;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IAEnC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,eAAe,CAAC,CAAA;IACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IAE/D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,4CAA4C,CAAC,CAAA;QACrE,MAAM,IAAI,KAAK,CACX,yEAAyE,QAAQ,CAAC,WAAW,EAAE,GAAG,CACrG,CAAA;IACL,CAAC;IAED,MAAM,cAAc,GAAa,GAAG;SAC/B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QACpF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC5E,CAAC;IAED,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnD,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;KAC1B,CAAC,CAAA;IACF,MAAM,QAAQ,GAAgB,gBAAgB,CAAC,IAAI,IAAI,gBAAgB,CAAA;IAEvE,MAAM,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9E,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAa,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAErE,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,MAAM,UAAU,GAAa,EAAE,CAAA;IAE/B,0BAA0B;IAC1B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,kDAAkD;QAClD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,kDAAkD,KAAK,EAAE,CAAC,CAAA;YACvE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,SAAQ;QACZ,CAAC;QAED,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE7C,4DAA4D;QAC5D,oFAAoF;QACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CACR,4EAA4E,EAC5E,EAAE,KAAK,EAAE,EAAE,EAAE,CAChB,CAAA;YACD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,SAAQ;QACZ,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAA;QAC9D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACrD,KAAK;gBACL,EAAE;gBACF,IAAI,EAAE,QAAQ,CAAC,IAAI;aACtB,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,SAAQ;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC1D,KAAK;gBACL,EAAE;gBACF,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ;aACX,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjC,SAAQ;QACZ,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GACV,UAAU,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD;YAC1G,CAAC,CAAC,4BAA4B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAA;QAC/D,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,YAAY,GAAa,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAChF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;IAEzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAA;IAC1D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnD,IAAI,cAAc,EAAE,CAAC;YACjB,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEpF,MAAM,uBAAuB,CACzB,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,YAAY,CACf,CAAA;IAED,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAA;IAC7D,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAA;IACjC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;IAEtB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAClE,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;IACrF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,aAAa,UAAU,CAAC,MAAM,gEAAgE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACnI,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { tool } from "@opencode-ai/plugin";
2
+ import type { PruneToolContext } from "./types";
3
+ export declare function createPruneTool(ctx: PruneToolContext): ReturnType<typeof tool>;
4
+ //# sourceMappingURL=prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../../lib/tools/prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAO/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAgB9E"}
@@ -1,21 +1,21 @@
1
1
  import { tool } from "@opencode-ai/plugin";
2
2
  import { executePruneOperation } from "./prune-shared";
3
3
  import { loadPrompt } from "../prompts";
4
- const DISCARD_TOOL_DESCRIPTION = loadPrompt("discard-tool-spec");
5
- export function createDiscardTool(ctx) {
4
+ const PRUNE_TOOL_DESCRIPTION = loadPrompt("prune-tool-spec");
5
+ export function createPruneTool(ctx) {
6
6
  return tool({
7
- description: DISCARD_TOOL_DESCRIPTION,
7
+ description: PRUNE_TOOL_DESCRIPTION,
8
8
  args: {
9
9
  ids: tool.schema
10
10
  .array(tool.schema.string())
11
11
  .min(1)
12
- .describe("Numeric IDs as strings from the <prunable-tools> list to discard"),
12
+ .describe("Numeric IDs as strings from the <prunable-tools> list to prune"),
13
13
  },
14
14
  async execute(args, toolCtx) {
15
15
  const numericIds = args.ids;
16
16
  const reason = "noise";
17
- return executePruneOperation(ctx, toolCtx, numericIds, reason, "Discard");
17
+ return executePruneOperation(ctx, toolCtx, numericIds, reason, "Prune");
18
18
  },
19
19
  });
20
20
  }
21
- //# sourceMappingURL=discard.js.map
21
+ //# sourceMappingURL=prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../lib/tools/prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,sBAAsB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;AAE5D,MAAM,UAAU,eAAe,CAAC,GAAqB;IACjD,OAAO,IAAI,CAAC;QACR,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE;YACF,GAAG,EAAE,IAAI,CAAC,MAAM;iBACX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,gEAAgE,CAAC;SAClF;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAA;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAA;YAEtB,OAAO,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3E,CAAC;KACJ,CAAC,CAAA;AACN,CAAC"}
@@ -1,12 +1,12 @@
1
- import type { WithParts, SquashSummary } from "../state";
1
+ import type { WithParts, CompressSummary } from "../state";
2
2
  import type { Logger } from "../logger";
3
3
  /**
4
4
  * Searches messages for a string and returns the message ID where it's found.
5
5
  * Searches in text parts, tool outputs, tool inputs, and other textual content.
6
- * Also searches through existing squash summaries to enable chained squashing.
6
+ * Also searches through existing compress summaries to enable chained compression.
7
7
  * Throws an error if the string is not found or found more than once.
8
8
  */
9
- export declare function findStringInMessages(messages: WithParts[], searchString: string, logger: Logger, squashSummaries?: SquashSummary[]): {
9
+ export declare function findStringInMessages(messages: WithParts[], searchString: string, logger: Logger, compressSummaries: CompressSummary[] | undefined, stringType: "startString" | "endString"): {
10
10
  messageId: string;
11
11
  messageIndex: number;
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,SAAS,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,aAAa,EAAO,GACtC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CA2D7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAiBV;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAWV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAkCV"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/tools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,SAAS,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,eAAe,EAAE,YAAK,EACzC,UAAU,EAAE,aAAa,GAAG,WAAW,GACxC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CA2D7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAiBV;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAWV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,EAAE,CAkCV"}