@tarquinen/opencode-dcp 2.1.7 → 2.2.1-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +100 -111
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -29
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/commands/context.d.ts.map +1 -1
  6. package/dist/lib/commands/context.js +36 -8
  7. package/dist/lib/commands/context.js.map +1 -1
  8. package/dist/lib/commands/help.d.ts.map +1 -1
  9. package/dist/lib/commands/help.js +2 -6
  10. package/dist/lib/commands/help.js.map +1 -1
  11. package/dist/lib/commands/manual.d.ts +1 -3
  12. package/dist/lib/commands/manual.d.ts.map +1 -1
  13. package/dist/lib/commands/manual.js +4 -43
  14. package/dist/lib/commands/manual.js.map +1 -1
  15. package/dist/lib/commands/sweep.d.ts.map +1 -1
  16. package/dist/lib/commands/sweep.js +2 -12
  17. package/dist/lib/commands/sweep.js.map +1 -1
  18. package/dist/lib/config.d.ts +5 -20
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js +172 -348
  21. package/dist/lib/config.js.map +1 -1
  22. package/dist/lib/hooks.d.ts +7 -0
  23. package/dist/lib/hooks.d.ts.map +1 -1
  24. package/dist/lib/hooks.js +26 -24
  25. package/dist/lib/hooks.js.map +1 -1
  26. package/dist/lib/logger.d.ts.map +1 -1
  27. package/dist/lib/logger.js +6 -0
  28. package/dist/lib/logger.js.map +1 -1
  29. package/dist/lib/messages/index.d.ts +2 -3
  30. package/dist/lib/messages/index.d.ts.map +1 -1
  31. package/dist/lib/messages/index.js +2 -3
  32. package/dist/lib/messages/index.js.map +1 -1
  33. package/dist/lib/messages/inject/inject.d.ts +6 -0
  34. package/dist/lib/messages/inject/inject.d.ts.map +1 -0
  35. package/dist/lib/messages/inject/inject.js +99 -0
  36. package/dist/lib/messages/inject/inject.js.map +1 -0
  37. package/dist/lib/messages/inject/utils.d.ts +20 -0
  38. package/dist/lib/messages/inject/utils.d.ts.map +1 -0
  39. package/dist/lib/messages/inject/utils.js +137 -0
  40. package/dist/lib/messages/inject/utils.js.map +1 -0
  41. package/dist/lib/messages/utils.d.ts +7 -11
  42. package/dist/lib/messages/utils.d.ts.map +1 -1
  43. package/dist/lib/messages/utils.js +33 -132
  44. package/dist/lib/messages/utils.js.map +1 -1
  45. package/dist/lib/prompts/_codegen/system.generated.d.ts +1 -1
  46. package/dist/lib/prompts/_codegen/system.generated.d.ts.map +1 -1
  47. package/dist/lib/prompts/_codegen/system.generated.js +36 -32
  48. package/dist/lib/prompts/_codegen/system.generated.js.map +1 -1
  49. package/dist/lib/prompts/compress.d.ts +2 -0
  50. package/dist/lib/prompts/compress.d.ts.map +1 -0
  51. package/dist/lib/prompts/compress.js +122 -0
  52. package/dist/lib/prompts/compress.js.map +1 -0
  53. package/dist/lib/prompts/index.d.ts +6 -10
  54. package/dist/lib/prompts/index.d.ts.map +1 -1
  55. package/dist/lib/prompts/index.js +17 -40
  56. package/dist/lib/prompts/index.js.map +1 -1
  57. package/dist/lib/prompts/iteration-nudge.d.ts +2 -0
  58. package/dist/lib/prompts/iteration-nudge.d.ts.map +1 -0
  59. package/dist/lib/prompts/iteration-nudge.js +9 -0
  60. package/dist/lib/prompts/iteration-nudge.js.map +1 -0
  61. package/dist/lib/prompts/nudge.d.ts +2 -0
  62. package/dist/lib/prompts/nudge.d.ts.map +1 -0
  63. package/dist/lib/prompts/nudge.js +40 -0
  64. package/dist/lib/prompts/nudge.js.map +1 -0
  65. package/dist/lib/prompts/turn-nudge.d.ts +2 -0
  66. package/dist/lib/prompts/turn-nudge.d.ts.map +1 -0
  67. package/dist/lib/prompts/turn-nudge.js +12 -0
  68. package/dist/lib/prompts/turn-nudge.js.map +1 -0
  69. package/dist/lib/state/persistence.d.ts +7 -2
  70. package/dist/lib/state/persistence.d.ts.map +1 -1
  71. package/dist/lib/state/persistence.js +58 -39
  72. package/dist/lib/state/persistence.js.map +1 -1
  73. package/dist/lib/state/state.d.ts.map +1 -1
  74. package/dist/lib/state/state.js +20 -8
  75. package/dist/lib/state/state.js.map +1 -1
  76. package/dist/lib/state/tool-cache.d.ts.map +1 -1
  77. package/dist/lib/state/tool-cache.js +3 -17
  78. package/dist/lib/state/tool-cache.js.map +1 -1
  79. package/dist/lib/state/types.d.ts +7 -8
  80. package/dist/lib/state/types.d.ts.map +1 -1
  81. package/dist/lib/state/utils.d.ts +2 -2
  82. package/dist/lib/state/utils.d.ts.map +1 -1
  83. package/dist/lib/state/utils.js +29 -19
  84. package/dist/lib/state/utils.js.map +1 -1
  85. package/dist/lib/strategies/deduplication.d.ts.map +1 -1
  86. package/dist/lib/strategies/deduplication.js +0 -11
  87. package/dist/lib/strategies/deduplication.js.map +1 -1
  88. package/dist/lib/strategies/index.d.ts +0 -1
  89. package/dist/lib/strategies/index.d.ts.map +1 -1
  90. package/dist/lib/strategies/index.js +0 -1
  91. package/dist/lib/strategies/index.js.map +1 -1
  92. package/dist/lib/strategies/purge-errors.d.ts.map +1 -1
  93. package/dist/lib/strategies/purge-errors.js +0 -11
  94. package/dist/lib/strategies/purge-errors.js.map +1 -1
  95. package/dist/lib/strategies/supersede-writes.d.ts.map +1 -1
  96. package/dist/lib/strategies/supersede-writes.js +0 -11
  97. package/dist/lib/strategies/supersede-writes.js.map +1 -1
  98. package/dist/lib/strategies/utils.d.ts +1 -0
  99. package/dist/lib/strategies/utils.d.ts.map +1 -1
  100. package/dist/lib/strategies/utils.js +15 -0
  101. package/dist/lib/strategies/utils.js.map +1 -1
  102. package/dist/lib/tools/compress-utils.d.ts +7 -4
  103. package/dist/lib/tools/compress-utils.d.ts.map +1 -1
  104. package/dist/lib/tools/compress-utils.js +34 -25
  105. package/dist/lib/tools/compress-utils.js.map +1 -1
  106. package/dist/lib/tools/compress.d.ts +2 -2
  107. package/dist/lib/tools/compress.d.ts.map +1 -1
  108. package/dist/lib/tools/compress.js +28 -58
  109. package/dist/lib/tools/compress.js.map +1 -1
  110. package/dist/lib/tools/index.d.ts +1 -3
  111. package/dist/lib/tools/index.d.ts.map +1 -1
  112. package/dist/lib/tools/index.js +0 -2
  113. package/dist/lib/tools/index.js.map +1 -1
  114. package/dist/lib/tools/types.d.ts +1 -1
  115. package/dist/lib/tools/types.d.ts.map +1 -1
  116. package/dist/lib/ui/notification.d.ts +2 -2
  117. package/dist/lib/ui/notification.d.ts.map +1 -1
  118. package/dist/lib/ui/notification.js +24 -28
  119. package/dist/lib/ui/notification.js.map +1 -1
  120. package/dist/lib/ui/utils.d.ts +3 -4
  121. package/dist/lib/ui/utils.d.ts.map +1 -1
  122. package/dist/lib/ui/utils.js +165 -24
  123. package/dist/lib/ui/utils.js.map +1 -1
  124. package/package.json +2 -1
  125. package/dist/lib/messages/inject.d.ts +0 -14
  126. package/dist/lib/messages/inject.d.ts.map +0 -1
  127. package/dist/lib/messages/inject.js +0 -266
  128. package/dist/lib/messages/inject.js.map +0 -1
  129. package/dist/lib/messages/sync.d.ts +0 -4
  130. package/dist/lib/messages/sync.d.ts.map +0 -1
  131. package/dist/lib/messages/sync.js +0 -29
  132. package/dist/lib/messages/sync.js.map +0 -1
  133. package/dist/lib/prompts/_codegen/compress-nudge.generated.d.ts +0 -2
  134. package/dist/lib/prompts/_codegen/compress-nudge.generated.d.ts.map +0 -1
  135. package/dist/lib/prompts/_codegen/compress-nudge.generated.js +0 -15
  136. package/dist/lib/prompts/_codegen/compress-nudge.generated.js.map +0 -1
  137. package/dist/lib/prompts/_codegen/compress.generated.d.ts +0 -2
  138. package/dist/lib/prompts/_codegen/compress.generated.d.ts.map +0 -1
  139. package/dist/lib/prompts/_codegen/compress.generated.js +0 -66
  140. package/dist/lib/prompts/_codegen/compress.generated.js.map +0 -1
  141. package/dist/lib/prompts/_codegen/distill.generated.d.ts +0 -2
  142. package/dist/lib/prompts/_codegen/distill.generated.d.ts.map +0 -1
  143. package/dist/lib/prompts/_codegen/distill.generated.js +0 -33
  144. package/dist/lib/prompts/_codegen/distill.generated.js.map +0 -1
  145. package/dist/lib/prompts/_codegen/nudge.generated.d.ts +0 -2
  146. package/dist/lib/prompts/_codegen/nudge.generated.d.ts.map +0 -1
  147. package/dist/lib/prompts/_codegen/nudge.generated.js +0 -17
  148. package/dist/lib/prompts/_codegen/nudge.generated.js.map +0 -1
  149. package/dist/lib/prompts/_codegen/prune.generated.d.ts +0 -2
  150. package/dist/lib/prompts/_codegen/prune.generated.d.ts.map +0 -1
  151. package/dist/lib/prompts/_codegen/prune.generated.js +0 -23
  152. package/dist/lib/prompts/_codegen/prune.generated.js.map +0 -1
  153. package/dist/lib/tools/distill.d.ts +0 -4
  154. package/dist/lib/tools/distill.d.ts.map +0 -1
  155. package/dist/lib/tools/distill.js +0 -41
  156. package/dist/lib/tools/distill.js.map +0 -1
  157. package/dist/lib/tools/prune-shared.d.ts +0 -8
  158. package/dist/lib/tools/prune-shared.d.ts.map +0 -1
  159. package/dist/lib/tools/prune-shared.js +0 -127
  160. package/dist/lib/tools/prune-shared.js.map +0 -1
  161. package/dist/lib/tools/prune.d.ts +0 -4
  162. package/dist/lib/tools/prune.d.ts.map +0 -1
  163. package/dist/lib/tools/prune.js +0 -28
  164. package/dist/lib/tools/prune.js.map +0 -1
package/README.md CHANGED
@@ -22,17 +22,22 @@ Using `@latest` ensures you always get the newest version automatically when Ope
22
22
 
23
23
  Restart OpenCode. The plugin will automatically start optimizing your sessions.
24
24
 
25
+ ## Beta Notice (v2.2.0-beta0)
26
+
27
+ - Strategy shift to a single user-facing context tool: `compress`.
28
+ - Context management is now less surgical and more focused on preserving high-signal work grouped by task.
29
+
25
30
  ## How Pruning Works
26
31
 
27
- DCP uses multiple tools and strategies to reduce context size:
32
+ DCP uses one user-facing tool and strategies to reduce context size:
28
33
 
29
- ### Tools
34
+ For model-facing behavior (prompts and tool calls), this capability is always addressed as `compress`.
30
35
 
31
- **Distill** — Exposes a `distill` tool that the AI can call to distill valuable context into concise summaries before removing the tool content.
36
+ ### Tool
32
37
 
33
- **Compress** — Exposes a `compress` tool that the AI can call to collapse a large section of conversation (messages and tools) into a single summary.
38
+ **Compress** — Exposes a single `compress` tool with one method: select a conversation range using injected `startId` and `endId` (`mNNNN` or `bN`), then replace it with a technical summary.
34
39
 
35
- **Prune** Exposes a `prune` tool that the AI can call to remove completed or noisy tool content from context.
40
+ The model can use that same method at different scales: tiny ranges for noise cleanup, focused ranges for preserving key findings, and full chapters for completed work.
36
41
 
37
42
  ### Strategies
38
43
 
@@ -69,108 +74,93 @@ DCP uses its own config file:
69
74
  - Custom config directory: `$OPENCODE_CONFIG_DIR/dcp.jsonc` (or `dcp.json`), if `OPENCODE_CONFIG_DIR` is set
70
75
  - Project: `.opencode/dcp.jsonc` (or `dcp.json`) in your project's `.opencode` directory
71
76
 
72
- > <details>
73
- > <summary><strong>Default Configuration</strong> (click to expand)</summary>
74
- >
75
- > ```jsonc
76
- > {
77
- > "$schema": "https://raw.githubusercontent.com/Opencode-DCP/opencode-dynamic-context-pruning/master/dcp.schema.json",
78
- > // Enable or disable the plugin
79
- > "enabled": true,
80
- > // Enable debug logging to ~/.config/opencode/logs/dcp/
81
- > "debug": false,
82
- > // Notification display: "off", "minimal", or "detailed"
83
- > "pruneNotification": "detailed",
84
- > // Notification type: "chat" (in-conversation) or "toast" (system toast)
85
- > "pruneNotificationType": "chat",
86
- > // Slash commands configuration
87
- > "commands": {
88
- > "enabled": true,
89
- > // Additional tools to protect from pruning via commands (e.g., /dcp sweep)
90
- > "protectedTools": [],
91
- > },
92
- > // Manual mode: disables autonomous context management,
93
- > // tools only run when explicitly triggered via /dcp commands
94
- > "manualMode": {
95
- > "enabled": false,
96
- > // When true, automatic strategies (deduplication, supersedeWrites, purgeErrors)
97
- > // still run even in manual mode
98
- > "automaticStrategies": true,
99
- > },
100
- > // Protect from pruning for <turns> message turns past tool invocation
101
- > "turnProtection": {
102
- > "enabled": false,
103
- > "turns": 4,
104
- > },
105
- > // Protect file operations from pruning via glob patterns
106
- > // Patterns match tool parameters.filePath (e.g. read/write/edit)
107
- > "protectedFilePatterns": [],
108
- > // LLM-driven context pruning tools
109
- > "tools": {
110
- > // Shared settings for all prune tools
111
- > "settings": {
112
- > // Nudge the LLM to use prune tools (every <nudgeFrequency> tool results)
113
- > "nudgeEnabled": true,
114
- > "nudgeFrequency": 10,
115
- > // Token limit at which the model compresses session context
116
- > // to keep the model in the "smart zone" (not a hard limit)
117
- > // Accepts: number or "X%" (percentage of model's context window)
118
- > "contextLimit": 100000,
119
- > // Optional per-model overrides by exact providerID/modelID
120
- > // Accepts: number or "X%"
121
- > // Example:
122
- > // "modelLimits": {
123
- > // "openai/gpt-5": 120000,
124
- > // "anthropic/claude-3-7-sonnet": "80%"
125
- > // },
126
- > // Additional tools to protect from pruning
127
- > "protectedTools": [],
128
- > },
129
- > // Distills key findings into preserved knowledge before removing raw content
130
- > "distill": {
131
- > // Permission mode: "allow" (no prompt), "ask" (prompt), "deny" (tool not registered)
132
- > "permission": "allow",
133
- > // Show distillation content as an ignored message notification
134
- > "showDistillation": false,
135
- > },
136
- > // Collapses a range of conversation content into a single summary
137
- > "compress": {
138
- > // Permission mode: "deny" (tool not registered), "ask" (prompt), "allow" (no prompt)
139
- > "permission": "deny",
140
- > // Show summary content as an ignored message notification
141
- > "showCompression": false,
142
- > },
143
- > // Removes tool content from context without preservation (for completed tasks or noise)
144
- > "prune": {
145
- > // Permission mode: "allow" (no prompt), "ask" (prompt), "deny" (tool not registered)
146
- > "permission": "allow",
147
- > },
148
- > },
149
- > // Automatic pruning strategies
150
- > "strategies": {
151
- > // Remove duplicate tool calls (same tool with same arguments)
152
- > "deduplication": {
153
- > "enabled": true,
154
- > // Additional tools to protect from pruning
155
- > "protectedTools": [],
156
- > },
157
- > // Prune write tool inputs when the file has been subsequently read
158
- > "supersedeWrites": {
159
- > "enabled": true,
160
- > },
161
- > // Prune tool inputs for errored tools after X turns
162
- > "purgeErrors": {
163
- > "enabled": true,
164
- > // Number of turns before errored tool inputs are pruned
165
- > "turns": 4,
166
- > // Additional tools to protect from pruning
167
- > "protectedTools": [],
168
- > },
169
- > },
170
- > }
171
- > ```
172
- >
173
- > </details>
77
+ > [!IMPORTANT]
78
+ > Defaults are applied automatically. Expand this if you want to review or override settings.
79
+
80
+ <details>
81
+ <summary><strong>Default Configuration</strong> (click to expand)</summary>
82
+
83
+ ```jsonc
84
+ {
85
+ "$schema": "https://raw.githubusercontent.com/Opencode-DCP/opencode-dynamic-context-pruning/master/dcp.schema.json",
86
+ // Enable or disable the plugin
87
+ "enabled": true,
88
+ // Enable debug logging to ~/.config/opencode/logs/dcp/
89
+ "debug": false,
90
+ // Notification display: "off", "minimal", or "detailed"
91
+ "pruneNotification": "detailed",
92
+ // Notification type: "chat" (in-conversation) or "toast" (system toast)
93
+ "pruneNotificationType": "chat",
94
+ // Slash commands configuration
95
+ "commands": {
96
+ "enabled": true,
97
+ // Additional tools to protect from pruning via commands (e.g., /dcp sweep)
98
+ "protectedTools": [],
99
+ },
100
+ // Manual mode: disables autonomous context management,
101
+ // tools only run when explicitly triggered via /dcp commands
102
+ "manualMode": {
103
+ "enabled": false,
104
+ // When true, automatic strategies (deduplication, supersedeWrites, purgeErrors)
105
+ // still run even in manual mode
106
+ "automaticStrategies": true,
107
+ },
108
+ // Protect from pruning for <turns> message turns past tool invocation
109
+ "turnProtection": {
110
+ "enabled": false,
111
+ "turns": 4,
112
+ },
113
+ // Protect file operations from pruning via glob patterns
114
+ // Patterns match tool parameters.filePath (e.g. read/write/edit)
115
+ "protectedFilePatterns": [],
116
+ // Unified context compression tool and behavior settings
117
+ "compress": {
118
+ // Permission mode: "allow" (no prompt), "ask" (prompt), "deny" (tool not registered)
119
+ "permission": "allow",
120
+ // Show summary content in a chat notification
121
+ "showCompression": false,
122
+ // Token limit at which the model compresses session context
123
+ // to keep the model in the "smart zone" (not a hard limit)
124
+ // Accepts: number or "X%" (percentage of model's context window)
125
+ "contextLimit": 100000,
126
+ // Optional per-model overrides by exact providerID/modelID
127
+ // Accepts: number or "X%"
128
+ // Example:
129
+ // "modelLimits": {
130
+ // "openai/gpt-5": 120000,
131
+ // "anthropic/claude-3-7-sonnet": "80%"
132
+ // },
133
+ // How often the context-limit nudge fires (1 = every fetch, 5 = every 5th)
134
+ "nudgeFrequency": 5,
135
+ // Start iteration nudges after this many messages
136
+ // have occurred since the last user message
137
+ "iterationNudgeThreshold": 15,
138
+ },
139
+ // Automatic pruning strategies
140
+ "strategies": {
141
+ // Remove duplicate tool calls (same tool with same arguments)
142
+ "deduplication": {
143
+ "enabled": true,
144
+ // Additional tools to protect from pruning
145
+ "protectedTools": [],
146
+ },
147
+ // Prune write tool inputs when the file has been subsequently read
148
+ "supersedeWrites": {
149
+ "enabled": true,
150
+ },
151
+ // Prune tool inputs for errored tools after X turns
152
+ "purgeErrors": {
153
+ "enabled": true,
154
+ // Number of turns before errored tool inputs are pruned
155
+ "turns": 4,
156
+ // Additional tools to protect from pruning
157
+ "protectedTools": [],
158
+ },
159
+ },
160
+ }
161
+ ```
162
+
163
+ </details>
174
164
 
175
165
  ### Commands
176
166
 
@@ -181,16 +171,15 @@ DCP provides a `/dcp` slash command:
181
171
  - `/dcp stats` — Shows cumulative pruning statistics across all sessions.
182
172
  - `/dcp sweep` — Prunes all tools since the last user message. Accepts an optional count: `/dcp sweep 10` prunes the last 10 tools. Respects `commands.protectedTools`.
183
173
  - `/dcp manual [on|off]` — Toggle manual mode or set explicit state. When on, the AI will not autonomously use context management tools.
184
- - `/dcp prune [focus]` — Trigger a single prune tool execution. Optional focus text directs the AI's pruning decisions.
185
- - `/dcp distill [focus]` — Trigger a single distill tool execution. Optional focus text directs what to distill.
174
+
186
175
  - `/dcp compress [focus]` — Trigger a single compress tool execution. Optional focus text directs what range to compress.
187
176
 
188
177
  ### Protected Tools
189
178
 
190
179
  By default, these tools are always protected from pruning:
191
- `task`, `todowrite`, `todoread`, `distill`, `compress`, `prune`, `batch`, `plan_enter`, `plan_exit`
180
+ `task`, `todowrite`, `todoread`, `compress`, `batch`, `plan_enter`, `plan_exit`
192
181
 
193
- The `protectedTools` arrays in each section add to this default list.
182
+ The `protectedTools` arrays in `commands` and `strategies` add to this default list.
194
183
 
195
184
  ### Config Precedence
196
185
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAYjD,QAAA,MAAM,MAAM,EAAE,MAkHK,CAAA;AAEnB,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAajD,QAAA,MAAM,MAAM,EAAE,MA6FK,CAAA;AAEnB,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { getConfig } from "./lib/config";
2
2
  import { Logger } from "./lib/logger";
3
3
  import { createSessionState } from "./lib/state";
4
- import { createPruneTool, createDistillTool, createCompressTool } from "./lib/strategies";
5
- import { createChatMessageTransformHandler, createCommandExecuteHandler, createSystemPromptHandler, } from "./lib/hooks";
4
+ import { createCompressTool } from "./lib/tools";
5
+ import { createChatMessageTransformHandler, createCommandExecuteHandler, createSystemPromptHandler, createTextCompleteHandler, } from "./lib/hooks";
6
6
  import { configureClientAuth, isSecureMode } from "./lib/auth";
7
7
  const plugin = (async (ctx) => {
8
8
  const config = getConfig(ctx);
@@ -27,18 +27,10 @@ const plugin = (async (ctx) => {
27
27
  state.variant = input.variant;
28
28
  logger.debug("Cached variant from chat.message hook", { variant: input.variant });
29
29
  },
30
+ "experimental.text.complete": createTextCompleteHandler(),
30
31
  "command.execute.before": createCommandExecuteHandler(ctx.client, state, logger, config, ctx.directory),
31
32
  tool: {
32
- ...(config.tools.distill.permission !== "deny" && {
33
- distill: createDistillTool({
34
- client: ctx.client,
35
- state,
36
- logger,
37
- config,
38
- workingDirectory: ctx.directory,
39
- }),
40
- }),
41
- ...(config.tools.compress.permission !== "deny" && {
33
+ ...(config.compress.permission !== "deny" && {
42
34
  compress: createCompressTool({
43
35
  client: ctx.client,
44
36
  state,
@@ -47,15 +39,6 @@ const plugin = (async (ctx) => {
47
39
  workingDirectory: ctx.directory,
48
40
  }),
49
41
  }),
50
- ...(config.tools.prune.permission !== "deny" && {
51
- prune: createPruneTool({
52
- client: ctx.client,
53
- state,
54
- logger,
55
- config,
56
- workingDirectory: ctx.directory,
57
- }),
58
- }),
59
42
  },
60
43
  config: async (opencodeConfig) => {
61
44
  if (config.commands.enabled) {
@@ -66,12 +49,8 @@ const plugin = (async (ctx) => {
66
49
  };
67
50
  }
68
51
  const toolsToAdd = [];
69
- if (config.tools.distill.permission !== "deny")
70
- toolsToAdd.push("distill");
71
- if (config.tools.compress.permission !== "deny")
52
+ if (config.compress.permission !== "deny")
72
53
  toolsToAdd.push("compress");
73
- if (config.tools.prune.permission !== "deny")
74
- toolsToAdd.push("prune");
75
54
  if (toolsToAdd.length > 0) {
76
55
  const existingPrimaryTools = opencodeConfig.experimental?.primary_tools ?? [];
77
56
  opencodeConfig.experimental = {
@@ -84,9 +63,7 @@ const plugin = (async (ctx) => {
84
63
  const permission = opencodeConfig.permission ?? {};
85
64
  opencodeConfig.permission = {
86
65
  ...permission,
87
- distill: config.tools.distill.permission,
88
- compress: config.tools.compress.permission,
89
- prune: config.tools.prune.permission,
66
+ compress: config.compress.permission,
90
67
  };
91
68
  },
92
69
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EACH,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,GAC5B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,MAAM,GAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAE7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAA;IAElC,IAAI,YAAY,EAAE,EAAE,CAAC;QACjB,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/B,wEAAwE;IAC5E,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAChC,CAAC,CAAA;IAEF,OAAO;QACH,oCAAoC,EAAE,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAEtF,sCAAsC,EAAE,iCAAiC,CACrE,GAAG,CAAC,MAAM,EACV,KAAK,EACL,MAAM,EACN,MAAM,CACF;QACR,cAAc,EAAE,KAAK,EACjB,KAMC,EACD,OAAY,EACd,EAAE;YACA,wDAAwD;YACxD,oDAAoD;YACpD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;YAC7B,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACrF,CAAC;QACD,wBAAwB,EAAE,2BAA2B,CACjD,GAAG,CAAC,MAAM,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,GAAG,CAAC,SAAS,CAChB;QACD,IAAI,EAAE;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI;gBAC9C,OAAO,EAAE,iBAAiB,CAAC;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,gBAAgB,EAAE,GAAG,CAAC,SAAS;iBAClC,CAAC;aACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,IAAI;gBAC/C,QAAQ,EAAE,kBAAkB,CAAC;oBACzB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,gBAAgB,EAAE,GAAG,CAAC,SAAS;iBAClC,CAAC;aACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI;gBAC5C,KAAK,EAAE,eAAe,CAAC;oBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,gBAAgB,EAAE,GAAG,CAAC,SAAS;iBAClC,CAAC;aACL,CAAC;SACL;QACD,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC1B,cAAc,CAAC,OAAO,KAAK,EAAE,CAAA;gBAC7B,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;oBAC5B,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,6BAA6B;iBAC7C,CAAA;YACL,CAAC;YAED,MAAM,UAAU,GAAa,EAAE,CAAA;YAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1E,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,EAAE,aAAa,IAAI,EAAE,CAAA;gBAC7E,cAAc,CAAC,YAAY,GAAG;oBAC1B,GAAG,cAAc,CAAC,YAAY;oBAC9B,aAAa,EAAE,CAAC,GAAG,oBAAoB,EAAE,GAAG,UAAU,CAAC;iBAC1D,CAAA;gBACD,MAAM,CAAC,IAAI,CACP,SAAS,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAC7G,CAAA;YACL,CAAC;YAED,uCAAuC;YACvC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,IAAI,EAAE,CAAA;YAClD,cAAc,CAAC,UAAU,GAAG;gBACxB,GAAG,UAAU;gBACb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gBACxC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU;gBAC1C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;aAClB,CAAA;QAC1B,CAAC;KACJ,CAAA;AACL,CAAC,CAAkB,CAAA;AAEnB,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAyMD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AA0OD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF"}
@@ -48,9 +48,10 @@ function analyzeTokens(state, messages) {
48
48
  assistant: 0,
49
49
  tools: 0,
50
50
  toolCount: 0,
51
+ toolsInContextCount: 0,
51
52
  prunedTokens: state.stats.totalPruneTokens,
52
- prunedToolCount: state.prune.tools.size,
53
- prunedMessageCount: state.prune.messages.size,
53
+ prunedToolCount: 0,
54
+ prunedMessageCount: 0,
54
55
  total: 0,
55
56
  };
56
57
  let firstAssistant;
@@ -85,17 +86,27 @@ function analyzeTokens(state, messages) {
85
86
  const toolOutputParts = [];
86
87
  let firstUserText = "";
87
88
  let foundFirstUser = false;
88
- const foundToolIds = new Set();
89
+ const allToolIds = new Set();
90
+ const activeToolIds = new Set();
91
+ const prunedByMessageToolIds = new Set();
92
+ const allMessageIds = new Set();
89
93
  for (const msg of messages) {
94
+ allMessageIds.add(msg.info.id);
90
95
  const parts = Array.isArray(msg.parts) ? msg.parts : [];
91
96
  const isCompacted = isMessageCompacted(state, msg);
97
+ const isMessagePruned = state.prune.messages.has(msg.info.id);
92
98
  const isIgnoredUser = msg.info.role === "user" && isIgnoredUserMessage(msg);
93
99
  for (const part of parts) {
94
100
  if (part.type === "tool") {
95
101
  const toolPart = part;
96
- if (toolPart.callID && !foundToolIds.has(toolPart.callID)) {
97
- breakdown.toolCount++;
98
- foundToolIds.add(toolPart.callID);
102
+ if (toolPart.callID) {
103
+ allToolIds.add(toolPart.callID);
104
+ if (!isCompacted) {
105
+ activeToolIds.add(toolPart.callID);
106
+ }
107
+ if (isMessagePruned) {
108
+ prunedByMessageToolIds.add(toolPart.callID);
109
+ }
99
110
  }
100
111
  const isPruned = toolPart.callID && state.prune.tools.has(toolPart.callID);
101
112
  if (!isCompacted && !isPruned) {
@@ -129,6 +140,24 @@ function analyzeTokens(state, messages) {
129
140
  foundFirstUser = true;
130
141
  }
131
142
  }
143
+ const prunedByToolIds = new Set();
144
+ for (const id of allToolIds) {
145
+ if (state.prune.tools.has(id)) {
146
+ prunedByToolIds.add(id);
147
+ }
148
+ }
149
+ const prunedToolIds = new Set([...prunedByToolIds, ...prunedByMessageToolIds]);
150
+ const toolsInContextCount = [...activeToolIds].filter((id) => !prunedByToolIds.has(id)).length;
151
+ let prunedMessageCount = 0;
152
+ for (const id of state.prune.messages.keys()) {
153
+ if (allMessageIds.has(id)) {
154
+ prunedMessageCount++;
155
+ }
156
+ }
157
+ breakdown.toolCount = allToolIds.size;
158
+ breakdown.toolsInContextCount = toolsInContextCount;
159
+ breakdown.prunedToolCount = prunedToolIds.size;
160
+ breakdown.prunedMessageCount = prunedMessageCount;
132
161
  const firstUserTokens = countTokens(firstUserText);
133
162
  breakdown.user = countTokens(userTextParts.join("\n"));
134
163
  const toolInputTokens = countTokens(toolInputParts.join("\n"));
@@ -151,8 +180,7 @@ function createBar(value, maxValue, width, char = "█") {
151
180
  function formatContextMessage(breakdown) {
152
181
  const lines = [];
153
182
  const barWidth = 30;
154
- const toolsInContext = breakdown.toolCount - breakdown.prunedToolCount;
155
- const toolsLabel = `Tools (${toolsInContext})`;
183
+ const toolsLabel = `Tools (${breakdown.toolsInContextCount})`;
156
184
  const categories = [
157
185
  { label: "System", value: breakdown.system, char: "█" },
158
186
  { label: "User", value: breakdown.user, char: "▓" },
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/commands/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIvD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AA4CD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/commands/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIvD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AA0CD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E"}
@@ -11,16 +11,12 @@ const BASE_COMMANDS = [
11
11
  ["/dcp manual [on|off]", "Toggle manual mode or set explicit state"],
12
12
  ];
13
13
  const TOOL_COMMANDS = {
14
- prune: ["/dcp prune [focus]", "Trigger manual prune tool execution"],
15
- distill: ["/dcp distill [focus]", "Trigger manual distill tool execution"],
16
14
  compress: ["/dcp compress [focus]", "Trigger manual compress tool execution"],
17
15
  };
18
16
  function getVisibleCommands(config) {
19
17
  const commands = [...BASE_COMMANDS];
20
- for (const tool of ["prune", "distill", "compress"]) {
21
- if (config.tools[tool].permission !== "deny") {
22
- commands.push(TOOL_COMMANDS[tool]);
23
- }
18
+ if (config.compress.permission !== "deny") {
19
+ commands.push(TOOL_COMMANDS.compress);
24
20
  }
25
21
  return commands;
26
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/commands/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../lib/commands/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAWtD,MAAM,aAAa,GAAuB;IACtC,CAAC,cAAc,EAAE,gDAAgD,CAAC;IAClE,CAAC,YAAY,EAAE,6BAA6B,CAAC;IAC7C,CAAC,gBAAgB,EAAE,sDAAsD,CAAC;IAC1E,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;CACvE,CAAA;AAED,MAAM,aAAa,GAAqC;IACpD,QAAQ,EAAE,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;CAChF,CAAA;AAED,SAAS,kBAAkB,CAAC,MAAoB;IAC5C,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;IAEnC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAmB,EAAE,MAAoB;IAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;IACrE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAA;IACzF,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAA;IACzF,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAA;IACzF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAuB;IAC3D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IAE1D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;IACtB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAEpE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;AACxC,CAAC"}
@@ -4,8 +4,6 @@
4
4
  *
5
5
  * Usage:
6
6
  * /dcp manual [on|off] - Toggle manual mode or set explicit state
7
- * /dcp prune [focus] - Trigger manual prune execution
8
- * /dcp distill [focus] - Trigger manual distill execution
9
7
  * /dcp compress [focus] - Trigger manual compress execution
10
8
  */
11
9
  import type { Logger } from "../logger";
@@ -20,5 +18,5 @@ export interface ManualCommandContext {
20
18
  messages: WithParts[];
21
19
  }
22
20
  export declare function handleManualToggleCommand(ctx: ManualCommandContext, modeArg?: string): Promise<void>;
23
- export declare function handleManualTriggerCommand(ctx: ManualCommandContext, tool: "prune" | "distill" | "compress", userFocus?: string): Promise<string | null>;
21
+ export declare function handleManualTriggerCommand(ctx: ManualCommandContext, tool: "compress", userFocus?: string): Promise<string | null>;
24
22
  //# sourceMappingURL=manual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../../lib/commands/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA6D7C,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,wBAAsB,yBAAyB,CAC3C,GAAG,EAAE,oBAAoB,EACzB,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,0BAA0B,CAC5C,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,EACtC,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB"}
1
+ {"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../../lib/commands/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA2B7C,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,wBAAsB,yBAAyB,CAC3C,GAAG,EAAE,oBAAoB,EACzB,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,0BAA0B,CAC5C,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -4,32 +4,12 @@
4
4
  *
5
5
  * Usage:
6
6
  * /dcp manual [on|off] - Toggle manual mode or set explicit state
7
- * /dcp prune [focus] - Trigger manual prune execution
8
- * /dcp distill [focus] - Trigger manual distill execution
9
7
  * /dcp compress [focus] - Trigger manual compress execution
10
8
  */
11
9
  import { sendIgnoredMessage } from "../ui/notification";
12
10
  import { getCurrentParams } from "../strategies/utils";
13
- import { syncToolCache } from "../state/tool-cache";
14
- import { buildToolIdList } from "../messages/utils";
15
- import { buildPrunableToolsList } from "../messages/inject";
16
- const MANUAL_MODE_ON = "Manual mode is now ON. Use /dcp prune, /dcp distill, or /dcp compress to trigger context tools manually.";
11
+ const MANUAL_MODE_ON = "Manual mode is now ON. Use /dcp compress to trigger context tools manually.";
17
12
  const MANUAL_MODE_OFF = "Manual mode is now OFF.";
18
- const NO_PRUNABLE_TOOLS = "No prunable tool outputs are currently available for manual triggering.";
19
- const PRUNE_TRIGGER_PROMPT = [
20
- "<prune triggered manually>",
21
- "Manual mode trigger received. You must now use the prune tool exactly once.",
22
- "Find the most significant set of prunable tool outputs to remove safely.",
23
- "Follow prune policy and avoid pruning outputs that may be needed later.",
24
- "Return after prune with a brief explanation of what you pruned and why.",
25
- ].join("\n\n");
26
- const DISTILL_TRIGGER_PROMPT = [
27
- "<distill triggered manually>",
28
- "Manual mode trigger received. You must now use the distill tool.",
29
- "Select the most information-dense prunable outputs and distill them into complete technical substitutes.",
30
- "Be exhaustive and preserve all critical technical details.",
31
- "Return after distill with a brief explanation of what was distilled and why.",
32
- ].join("\n\n");
33
13
  const COMPRESS_TRIGGER_PROMPT = [
34
14
  "<compress triggered manually>",
35
15
  "Manual mode trigger received. You must now use the compress tool.",
@@ -37,19 +17,12 @@ const COMPRESS_TRIGGER_PROMPT = [
37
17
  "Choose safe boundaries and preserve all critical implementation details.",
38
18
  "Return after compress with a brief explanation of what range was compressed.",
39
19
  ].join("\n\n");
40
- function getTriggerPrompt(tool, context, userFocus) {
41
- const base = tool === "prune"
42
- ? PRUNE_TRIGGER_PROMPT
43
- : tool === "distill"
44
- ? DISTILL_TRIGGER_PROMPT
45
- : COMPRESS_TRIGGER_PROMPT;
20
+ function getTriggerPrompt(tool, userFocus) {
21
+ const base = COMPRESS_TRIGGER_PROMPT;
46
22
  const sections = [base];
47
23
  if (userFocus && userFocus.trim().length > 0) {
48
24
  sections.push(`Additional user focus:\n${userFocus.trim()}`);
49
25
  }
50
- if (context) {
51
- sections.push(context);
52
- }
53
26
  return sections.join("\n\n");
54
27
  }
55
28
  export async function handleManualToggleCommand(ctx, modeArg) {
@@ -68,18 +41,6 @@ export async function handleManualToggleCommand(ctx, modeArg) {
68
41
  logger.info("Manual mode toggled", { manualMode: state.manualMode });
69
42
  }
70
43
  export async function handleManualTriggerCommand(ctx, tool, userFocus) {
71
- const { client, state, config, logger, sessionId, messages } = ctx;
72
- if (tool === "prune" || tool === "distill") {
73
- syncToolCache(state, config, logger, messages);
74
- buildToolIdList(state, messages, logger);
75
- const prunableToolsList = buildPrunableToolsList(state, config, logger);
76
- if (!prunableToolsList) {
77
- const params = getCurrentParams(state, messages, logger);
78
- await sendIgnoredMessage(client, sessionId, NO_PRUNABLE_TOOLS, params, logger);
79
- return null;
80
- }
81
- return getTriggerPrompt(tool, prunableToolsList, userFocus);
82
- }
83
- return getTriggerPrompt("compress", undefined, userFocus);
44
+ return getTriggerPrompt(tool, userFocus);
84
45
  }
85
46
  //# sourceMappingURL=manual.js.map