@tarquinen/opencode-dcp 1.1.2-beta.0 → 1.1.3

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 (79) hide show
  1. package/README.md +24 -24
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +18 -19
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/config.d.ts +6 -8
  6. package/dist/lib/config.d.ts.map +1 -1
  7. package/dist/lib/config.js +60 -76
  8. package/dist/lib/config.js.map +1 -1
  9. package/dist/lib/hooks.d.ts +0 -3
  10. package/dist/lib/hooks.d.ts.map +1 -1
  11. package/dist/lib/hooks.js +3 -25
  12. package/dist/lib/hooks.js.map +1 -1
  13. package/dist/lib/messages/index.d.ts +2 -1
  14. package/dist/lib/messages/index.d.ts.map +1 -1
  15. package/dist/lib/messages/index.js +2 -1
  16. package/dist/lib/messages/index.js.map +1 -1
  17. package/dist/lib/messages/inject.d.ts +5 -0
  18. package/dist/lib/messages/inject.d.ts.map +1 -0
  19. package/dist/lib/messages/inject.js +99 -0
  20. package/dist/lib/messages/inject.js.map +1 -0
  21. package/dist/lib/messages/prune.d.ts +0 -1
  22. package/dist/lib/messages/prune.d.ts.map +1 -1
  23. package/dist/lib/messages/prune.js +38 -117
  24. package/dist/lib/messages/prune.js.map +1 -1
  25. package/dist/lib/messages/utils.d.ts +0 -1
  26. package/dist/lib/messages/utils.d.ts.map +1 -1
  27. package/dist/lib/messages/utils.js +27 -27
  28. package/dist/lib/messages/utils.js.map +1 -1
  29. package/dist/lib/prompts/index.d.ts +2 -0
  30. package/dist/lib/prompts/index.d.ts.map +1 -0
  31. package/dist/lib/prompts/index.js +13 -0
  32. package/dist/lib/prompts/index.js.map +1 -0
  33. package/dist/lib/shared-utils.d.ts +0 -1
  34. package/dist/lib/shared-utils.d.ts.map +1 -1
  35. package/dist/lib/shared-utils.js +0 -9
  36. package/dist/lib/shared-utils.js.map +1 -1
  37. package/dist/lib/state/state.js +2 -2
  38. package/dist/lib/state/state.js.map +1 -1
  39. package/dist/lib/state/types.d.ts +1 -1
  40. package/dist/lib/state/types.d.ts.map +1 -1
  41. package/dist/lib/strategies/index.d.ts +1 -1
  42. package/dist/lib/strategies/index.d.ts.map +1 -1
  43. package/dist/lib/strategies/index.js +1 -1
  44. package/dist/lib/strategies/index.js.map +1 -1
  45. package/dist/lib/strategies/purge-errors.d.ts +13 -0
  46. package/dist/lib/strategies/purge-errors.d.ts.map +1 -0
  47. package/dist/lib/strategies/purge-errors.js +54 -0
  48. package/dist/lib/strategies/purge-errors.js.map +1 -0
  49. package/dist/lib/strategies/tools.d.ts.map +1 -1
  50. package/dist/lib/strategies/tools.js +4 -7
  51. package/dist/lib/strategies/tools.js.map +1 -1
  52. package/dist/lib/ui/notification.d.ts +2 -3
  53. package/dist/lib/ui/notification.d.ts.map +1 -1
  54. package/dist/lib/ui/notification.js +13 -36
  55. package/dist/lib/ui/notification.js.map +1 -1
  56. package/dist/lib/ui/utils.d.ts +2 -0
  57. package/dist/lib/ui/utils.d.ts.map +1 -1
  58. package/dist/lib/ui/utils.js +14 -0
  59. package/dist/lib/ui/utils.js.map +1 -1
  60. package/package.json +2 -5
  61. package/dist/lib/model-selector.d.ts +0 -17
  62. package/dist/lib/model-selector.d.ts.map +0 -1
  63. package/dist/lib/model-selector.js +0 -141
  64. package/dist/lib/model-selector.js.map +0 -1
  65. package/dist/lib/prompt.d.ts +0 -3
  66. package/dist/lib/prompt.d.ts.map +0 -1
  67. package/dist/lib/prompt.js +0 -128
  68. package/dist/lib/prompt.js.map +0 -1
  69. package/dist/lib/prompts/assistant/nudge/nudge-both.txt +0 -10
  70. package/dist/lib/prompts/assistant/nudge/nudge-discard.txt +0 -9
  71. package/dist/lib/prompts/assistant/nudge/nudge-extract.txt +0 -9
  72. package/dist/lib/prompts/assistant/system/system-prompt-both.txt +0 -44
  73. package/dist/lib/prompts/assistant/system/system-prompt-discard.txt +0 -36
  74. package/dist/lib/prompts/assistant/system/system-prompt-extract.txt +0 -36
  75. package/dist/lib/prompts/on-idle-analysis.txt +0 -30
  76. package/dist/lib/strategies/on-idle.d.ts +0 -14
  77. package/dist/lib/strategies/on-idle.d.ts.map +0 -1
  78. package/dist/lib/strategies/on-idle.js +0 -220
  79. package/dist/lib/strategies/on-idle.js.map +0 -1
package/README.md CHANGED
@@ -19,29 +19,37 @@ Add to your OpenCode config:
19
19
 
20
20
  Using `@latest` ensures you always get the newest version automatically when OpenCode starts.
21
21
 
22
+ > **Note:** If you use OAuth plugins (e.g., for Google or other services), place this plugin last in your `plugin` array to avoid interfering with their authentication flows.
23
+
22
24
  Restart OpenCode. The plugin will automatically start optimizing your sessions.
23
25
 
24
26
  ## How Pruning Works
25
27
 
26
- DCP uses multiple strategies to reduce context size:
28
+ DCP uses multiple tools and strategies to reduce context size:
27
29
 
28
- **Deduplication** — Identifies repeated tool calls (e.g., reading the same file multiple times) and keeps only the most recent output. Runs automatically on every request with zero LLM cost.
30
+ ### Tools
29
31
 
30
- **Supersede Writes** — Prunes write tool inputs for files that have subsequently been read. When a file is written and later read, the original write content becomes redundant since the current file state is captured in the read result. Runs automatically on every request with zero LLM cost.
32
+ **Discard** — Exposes a `discard` tool that the AI can call to remove completed or noisy tool content from context.
33
+
34
+ **Extract** — Exposes an `extract` tool that the AI can call to distill valuable context into concise summaries before removing the tool content.
31
35
 
32
- **Discard Tool** — Exposes a `discard` tool that the AI can call to remove completed or noisy tool outputs from context. Use this for task completion cleanup and removing irrelevant outputs.
36
+ ### Strategies
33
37
 
34
- **Extract Tool** — Exposes an `extract` tool that the AI can call to distill valuable context into concise summaries before removing the raw outputs. Use this when you need to preserve key findings while reducing context size.
38
+ **Deduplication** — Identifies repeated tool calls (e.g., reading the same file multiple times) and keeps only the most recent output. Runs automatically on every request with zero LLM cost.
39
+
40
+ **Supersede Writes** — Prunes write tool inputs for files that have subsequently been read. When a file is written and later read, the original write content becomes redundant since the current file state is captured in the read result. Runs automatically on every request with zero LLM cost.
35
41
 
36
- **On Idle Analysis** — Uses a language model to semantically analyze conversation context during idle periods and identify tool outputs that are no longer relevant.
42
+ **Purge Errors** — Prunes tool inputs for tools that returned errors after a configurable number of turns (default: 4). Error messages are preserved for context, but the potentially large input content is removed. Runs automatically on every request with zero LLM cost.
37
43
 
38
- Your session history is never modified. DCP replaces pruned outputs with a placeholder before sending requests to your LLM.
44
+ Your session history is never modifiedDCP replaces pruned content with placeholders before sending requests to your LLM.
39
45
 
40
46
  ## Impact on Prompt Caching
41
47
 
42
48
  LLM providers like Anthropic and OpenAI cache prompts based on exact prefix matching. When DCP prunes a tool output, it changes the message content, which invalidates cached prefixes from that point forward.
43
49
 
44
- **Trade-off:** You lose some cache read benefits but gain larger token savings from reduced context size. In most cases, the token savings outweigh the cache miss cost—especially in long sessions where context bloat becomes significant.
50
+ **Trade-off:** You lose some cache read benefits but gain larger token savings from reduced context size and performance improvements through reduced context poisoning. In most cases, the token savings outweigh the cache miss cost—especially in long sessions where context bloat becomes significant.
51
+
52
+ **Best use case:** Providers that count usage in requests, such as Github Copilot and Google Antigravity have no negative price impact.
45
53
 
46
54
  ## Configuration
47
55
 
@@ -98,19 +106,15 @@ DCP uses its own config file:
98
106
  },
99
107
  // Prune write tool inputs when the file has been subsequently read
100
108
  "supersedeWrites": {
101
- "enabled": true,
102
- },
103
- // (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
104
- "onIdle": {
105
109
  "enabled": false,
110
+ },
111
+ // Prune tool inputs for errored tools after X turns
112
+ "purgeErrors": {
113
+ "enabled": true,
114
+ // Number of turns before errored tool inputs are pruned
115
+ "turns": 4,
106
116
  // Additional tools to protect from pruning
107
117
  "protectedTools": [],
108
- // Override model for analysis (format: "provider/model")
109
- // "model": "anthropic/claude-haiku-4-5",
110
- // Show toast notifications when model selection fails
111
- "showModelErrorToasts": true,
112
- // When true, fallback models are not permitted
113
- "strictModelSelection": false,
114
118
  },
115
119
  },
116
120
  }
@@ -125,13 +129,9 @@ When enabled, turn protection prevents tool outputs from being pruned for a conf
125
129
  ### Protected Tools
126
130
 
127
131
  By default, these tools are always protected from pruning across all strategies:
128
- `task`, `todowrite`, `todoread`, `discard`, `extract`, `batch`
129
-
130
- The `protectedTools` arrays in each section add to this default list:
132
+ `task`, `todowrite`, `todoread`, `discard`, `extract`, `batch`, `write`, `edit`
131
133
 
132
- - `tools.settings.protectedTools` Protects tools from the `discard` and `extract` tools
133
- - `strategies.deduplication.protectedTools` — Protects tools from deduplication
134
- - `strategies.onIdle.protectedTools` — Protects tools from on-idle analysis
134
+ The `protectedTools` arrays in each section add to this default list.
135
135
 
136
136
  ### Config Precedence
137
137
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AASjD,QAAA,MAAM,MAAM,EAAE,MA2GK,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;AAQjD,QAAA,MAAM,MAAM,EAAE,MAqGK,CAAA;AAEnB,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { getConfig } from "./lib/config";
2
2
  import { Logger } from "./lib/logger";
3
- import { loadPrompt } from "./lib/prompt";
3
+ import { loadPrompt } from "./lib/prompts";
4
4
  import { createSessionState } from "./lib/state";
5
5
  import { createDiscardTool, createExtractTool } from "./lib/strategies";
6
- import { createChatMessageTransformHandler, createEventHandler } from "./lib/hooks";
6
+ import { createChatMessageTransformHandler } from "./lib/hooks";
7
7
  const plugin = (async (ctx) => {
8
8
  const config = getConfig(ctx);
9
9
  if (!config.enabled) {
@@ -20,31 +20,31 @@ const plugin = (async (ctx) => {
20
20
  strategies: config.strategies,
21
21
  });
22
22
  return {
23
- "chat.params": async (input, _output) => {
24
- const isReasoning = input.model.capabilities?.reasoning ?? false;
25
- if (state.isReasoningModel !== isReasoning) {
26
- logger.info(`Reasoning model status changed: ${state.isReasoningModel} -> ${isReasoning}`, {
27
- modelId: input.model.id,
28
- providerId: input.model.providerID,
29
- });
30
- }
31
- state.isReasoningModel = isReasoning;
32
- },
33
23
  "experimental.chat.system.transform": async (_input, output) => {
24
+ const systemText = output.system.join("\n");
25
+ const internalAgentSignatures = [
26
+ "You are a title generator",
27
+ "You are a helpful AI assistant tasked with summarizing conversations",
28
+ "Summarize what was done in this conversation",
29
+ ];
30
+ if (internalAgentSignatures.some((sig) => systemText.includes(sig))) {
31
+ logger.info("Skipping DCP injection for internal agent");
32
+ state.isInternalAgent = true;
33
+ return;
34
+ }
35
+ // Reset flag for normal sessions
36
+ state.isInternalAgent = false;
34
37
  const discardEnabled = config.tools.discard.enabled;
35
38
  const extractEnabled = config.tools.extract.enabled;
36
- // Use user-role prompts for reasoning models (second person),
37
- // assistant-role prompts for non-reasoning models (first person)
38
- const roleDir = state.isReasoningModel ? "user" : "assistant";
39
39
  let promptName;
40
40
  if (discardEnabled && extractEnabled) {
41
- promptName = `${roleDir}/system/system-prompt-both`;
41
+ promptName = "user/system/system-prompt-both";
42
42
  }
43
43
  else if (discardEnabled) {
44
- promptName = `${roleDir}/system/system-prompt-discard`;
44
+ promptName = "user/system/system-prompt-discard";
45
45
  }
46
46
  else if (extractEnabled) {
47
- promptName = `${roleDir}/system/system-prompt-extract`;
47
+ promptName = "user/system/system-prompt-extract";
48
48
  }
49
49
  else {
50
50
  return;
@@ -90,7 +90,6 @@ const plugin = (async (ctx) => {
90
90
  logger.info(`Added ${toolsToAdd.map((t) => `'${t}'`).join(" and ")} to experimental.primary_tools via config mutation`);
91
91
  }
92
92
  },
93
- event: createEventHandler(ctx.client, config, state, logger, ctx.directory),
94
93
  };
95
94
  });
96
95
  export default plugin;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,6 @@ export interface Deduplication {
3
3
  enabled: boolean;
4
4
  protectedTools: string[];
5
5
  }
6
- export interface OnIdle {
7
- enabled: boolean;
8
- model?: string;
9
- showModelErrorToasts?: boolean;
10
- strictModelSelection?: boolean;
11
- protectedTools: string[];
12
- }
13
6
  export interface DiscardTool {
14
7
  enabled: boolean;
15
8
  }
@@ -30,6 +23,11 @@ export interface Tools {
30
23
  export interface SupersedeWrites {
31
24
  enabled: boolean;
32
25
  }
26
+ export interface PurgeErrors {
27
+ enabled: boolean;
28
+ turns: number;
29
+ protectedTools: string[];
30
+ }
33
31
  export interface TurnProtection {
34
32
  enabled: boolean;
35
33
  turns: number;
@@ -42,8 +40,8 @@ export interface PluginConfig {
42
40
  tools: Tools;
43
41
  strategies: {
44
42
  deduplication: Deduplication;
45
- onIdle: OnIdle;
46
43
  supersedeWrites: SupersedeWrites;
44
+ purgeErrors: PurgeErrors;
47
45
  };
48
46
  }
49
47
  export declare const VALID_CONFIG_KEYS: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,KAAK;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACjD,cAAc,EAAE,cAAc,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,eAAe,CAAA;KACnC,CAAA;CACJ;AAKD,eAAO,MAAM,iBAAiB,aAkC5B,CAAA;AAgBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAmiBD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CA2GxD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,KAAK;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACjD,cAAc,EAAE,cAAc,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,WAAW,EAAE,WAAW,CAAA;KAC3B,CAAA;CACJ;AAcD,eAAO,MAAM,iBAAiB,aAgC5B,CAAA;AAgBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAsgBD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CA2GxD"}
@@ -2,7 +2,16 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync, statSync } from "fs
2
2
  import { join, dirname } from "path";
3
3
  import { homedir } from "os";
4
4
  import { parse } from "jsonc-parser";
5
- const DEFAULT_PROTECTED_TOOLS = ["task", "todowrite", "todoread", "discard", "extract", "batch"];
5
+ const DEFAULT_PROTECTED_TOOLS = [
6
+ "task",
7
+ "todowrite",
8
+ "todoread",
9
+ "discard",
10
+ "extract",
11
+ "batch",
12
+ "write",
13
+ "edit",
14
+ ];
6
15
  // Valid config keys for validation against user config
7
16
  export const VALID_CONFIG_KEYS = new Set([
8
17
  // Top-level keys
@@ -31,13 +40,11 @@ export const VALID_CONFIG_KEYS = new Set([
31
40
  // strategies.supersedeWrites
32
41
  "strategies.supersedeWrites",
33
42
  "strategies.supersedeWrites.enabled",
34
- // strategies.onIdle
35
- "strategies.onIdle",
36
- "strategies.onIdle.enabled",
37
- "strategies.onIdle.model",
38
- "strategies.onIdle.showModelErrorToasts",
39
- "strategies.onIdle.strictModelSelection",
40
- "strategies.onIdle.protectedTools",
43
+ // strategies.purgeErrors
44
+ "strategies.purgeErrors",
45
+ "strategies.purgeErrors.enabled",
46
+ "strategies.purgeErrors.turns",
47
+ "strategies.purgeErrors.protectedTools",
41
48
  ]);
42
49
  // Extract all key paths from a config object for validation
43
50
  function getConfigKeyPaths(obj, prefix = "") {
@@ -170,57 +177,41 @@ function validateConfigTypes(config) {
170
177
  actual: typeof strategies.deduplication.protectedTools,
171
178
  });
172
179
  }
173
- // onIdle
174
- if (strategies.onIdle) {
175
- if (strategies.onIdle.enabled !== undefined &&
176
- typeof strategies.onIdle.enabled !== "boolean") {
180
+ // supersedeWrites
181
+ if (strategies.supersedeWrites) {
182
+ if (strategies.supersedeWrites.enabled !== undefined &&
183
+ typeof strategies.supersedeWrites.enabled !== "boolean") {
177
184
  errors.push({
178
- key: "strategies.onIdle.enabled",
185
+ key: "strategies.supersedeWrites.enabled",
179
186
  expected: "boolean",
180
- actual: typeof strategies.onIdle.enabled,
181
- });
182
- }
183
- if (strategies.onIdle.model !== undefined &&
184
- typeof strategies.onIdle.model !== "string") {
185
- errors.push({
186
- key: "strategies.onIdle.model",
187
- expected: "string",
188
- actual: typeof strategies.onIdle.model,
187
+ actual: typeof strategies.supersedeWrites.enabled,
189
188
  });
190
189
  }
191
- if (strategies.onIdle.showModelErrorToasts !== undefined &&
192
- typeof strategies.onIdle.showModelErrorToasts !== "boolean") {
190
+ }
191
+ // purgeErrors
192
+ if (strategies.purgeErrors) {
193
+ if (strategies.purgeErrors.enabled !== undefined &&
194
+ typeof strategies.purgeErrors.enabled !== "boolean") {
193
195
  errors.push({
194
- key: "strategies.onIdle.showModelErrorToasts",
196
+ key: "strategies.purgeErrors.enabled",
195
197
  expected: "boolean",
196
- actual: typeof strategies.onIdle.showModelErrorToasts,
198
+ actual: typeof strategies.purgeErrors.enabled,
197
199
  });
198
200
  }
199
- if (strategies.onIdle.strictModelSelection !== undefined &&
200
- typeof strategies.onIdle.strictModelSelection !== "boolean") {
201
+ if (strategies.purgeErrors.turns !== undefined &&
202
+ typeof strategies.purgeErrors.turns !== "number") {
201
203
  errors.push({
202
- key: "strategies.onIdle.strictModelSelection",
203
- expected: "boolean",
204
- actual: typeof strategies.onIdle.strictModelSelection,
204
+ key: "strategies.purgeErrors.turns",
205
+ expected: "number",
206
+ actual: typeof strategies.purgeErrors.turns,
205
207
  });
206
208
  }
207
- if (strategies.onIdle.protectedTools !== undefined &&
208
- !Array.isArray(strategies.onIdle.protectedTools)) {
209
+ if (strategies.purgeErrors.protectedTools !== undefined &&
210
+ !Array.isArray(strategies.purgeErrors.protectedTools)) {
209
211
  errors.push({
210
- key: "strategies.onIdle.protectedTools",
212
+ key: "strategies.purgeErrors.protectedTools",
211
213
  expected: "string[]",
212
- actual: typeof strategies.onIdle.protectedTools,
213
- });
214
- }
215
- }
216
- // supersedeWrites
217
- if (strategies.supersedeWrites) {
218
- if (strategies.supersedeWrites.enabled !== undefined &&
219
- typeof strategies.supersedeWrites.enabled !== "boolean") {
220
- errors.push({
221
- key: "strategies.supersedeWrites.enabled",
222
- expected: "boolean",
223
- actual: typeof strategies.supersedeWrites.enabled,
214
+ actual: typeof strategies.purgeErrors.protectedTools,
224
215
  });
225
216
  }
226
217
  }
@@ -291,13 +282,12 @@ const defaultConfig = {
291
282
  protectedTools: [...DEFAULT_PROTECTED_TOOLS],
292
283
  },
293
284
  supersedeWrites: {
294
- enabled: true,
295
- },
296
- onIdle: {
297
285
  enabled: false,
286
+ },
287
+ purgeErrors: {
288
+ enabled: true,
289
+ turns: 4,
298
290
  protectedTools: [...DEFAULT_PROTECTED_TOOLS],
299
- showModelErrorToasts: true,
300
- strictModelSelection: false,
301
291
  },
302
292
  },
303
293
  };
@@ -404,19 +394,15 @@ function createDefaultConfig() {
404
394
  },
405
395
  // Prune write tool inputs when the file has been subsequently read
406
396
  "supersedeWrites": {
407
- "enabled": true
397
+ "enabled": false
408
398
  },
409
- // (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
410
- "onIdle": {
411
- "enabled": false,
399
+ // Prune tool inputs for errored tools after X turns
400
+ "purgeErrors": {
401
+ "enabled": true,
402
+ // Number of turns before errored tool inputs are pruned
403
+ "turns": 4,
412
404
  // Additional tools to protect from pruning
413
- "protectedTools": [],
414
- // Override model for analysis (format: "provider/model")
415
- // "model": "anthropic/claude-haiku-4-5",
416
- // Show toast notifications when model selection fails
417
- "showModelErrorToasts": true,
418
- // When true, fallback models are not permitted
419
- "strictModelSelection": false
405
+ "protectedTools": []
420
406
  }
421
407
  }
422
408
  }
@@ -456,21 +442,19 @@ function mergeStrategies(base, override) {
456
442
  ]),
457
443
  ],
458
444
  },
459
- onIdle: {
460
- enabled: override.onIdle?.enabled ?? base.onIdle.enabled,
461
- model: override.onIdle?.model ?? base.onIdle.model,
462
- showModelErrorToasts: override.onIdle?.showModelErrorToasts ?? base.onIdle.showModelErrorToasts,
463
- strictModelSelection: override.onIdle?.strictModelSelection ?? base.onIdle.strictModelSelection,
445
+ supersedeWrites: {
446
+ enabled: override.supersedeWrites?.enabled ?? base.supersedeWrites.enabled,
447
+ },
448
+ purgeErrors: {
449
+ enabled: override.purgeErrors?.enabled ?? base.purgeErrors.enabled,
450
+ turns: override.purgeErrors?.turns ?? base.purgeErrors.turns,
464
451
  protectedTools: [
465
452
  ...new Set([
466
- ...base.onIdle.protectedTools,
467
- ...(override.onIdle?.protectedTools ?? []),
453
+ ...base.purgeErrors.protectedTools,
454
+ ...(override.purgeErrors?.protectedTools ?? []),
468
455
  ]),
469
456
  ],
470
457
  },
471
- supersedeWrites: {
472
- enabled: override.supersedeWrites?.enabled ?? base.supersedeWrites.enabled,
473
- },
474
458
  };
475
459
  }
476
460
  function mergeTools(base, override) {
@@ -513,13 +497,13 @@ function deepCloneConfig(config) {
513
497
  ...config.strategies.deduplication,
514
498
  protectedTools: [...config.strategies.deduplication.protectedTools],
515
499
  },
516
- onIdle: {
517
- ...config.strategies.onIdle,
518
- protectedTools: [...config.strategies.onIdle.protectedTools],
519
- },
520
500
  supersedeWrites: {
521
501
  ...config.strategies.supersedeWrites,
522
502
  },
503
+ purgeErrors: {
504
+ ...config.strategies.purgeErrors,
505
+ protectedTools: [...config.strategies.purgeErrors.protectedTools],
506
+ },
523
507
  },
524
508
  };
525
509
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,4 @@ import type { PluginConfig } from "./config";
4
4
  export declare function createChatMessageTransformHandler(client: any, state: SessionState, logger: Logger, config: PluginConfig): (input: {}, output: {
5
5
  messages: WithParts[];
6
6
  }) => Promise<void>;
7
- export declare function createEventHandler(client: any, config: PluginConfig, state: SessionState, logger: Logger, workingDirectory?: string): ({ event }: {
8
- event: any;
9
- }) => Promise<void>;
10
7
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAO5C,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,IAEN,OAAO,EAAE,EAAE,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAoB7D;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,IAEX,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBAqB1C"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAM5C,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,IAEN,OAAO,EAAE,EAAE,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAqB7D"}
package/dist/lib/hooks.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { syncToolCache } from "./state/tool-cache";
2
- import { deduplicate, supersedeWrites } from "./strategies";
2
+ import { deduplicate, supersedeWrites, purgeErrors } from "./strategies";
3
3
  import { prune, insertPruneToolContext } from "./messages";
4
4
  import { checkSession } from "./state";
5
- import { runOnIdle } from "./strategies/on-idle";
6
5
  export function createChatMessageTransformHandler(client, state, logger, config) {
7
6
  return async (input, output) => {
8
7
  await checkSession(client, state, logger, output.messages);
9
- if (state.isSubAgent) {
8
+ if (state.isSubAgent || state.isInternalAgent) {
10
9
  return;
11
10
  }
12
11
  syncToolCache(state, config, logger, output.messages);
13
12
  deduplicate(state, logger, config, output.messages);
14
13
  supersedeWrites(state, logger, config, output.messages);
14
+ purgeErrors(state, logger, config, output.messages);
15
15
  prune(state, logger, config, output.messages);
16
16
  insertPruneToolContext(state, config, logger, output.messages);
17
17
  if (state.sessionId) {
@@ -19,26 +19,4 @@ export function createChatMessageTransformHandler(client, state, logger, config)
19
19
  }
20
20
  };
21
21
  }
22
- export function createEventHandler(client, config, state, logger, workingDirectory) {
23
- return async ({ event }) => {
24
- if (state.sessionId === null || state.isSubAgent) {
25
- return;
26
- }
27
- if (event.type === "session.status" && event.properties.status.type === "idle") {
28
- if (!config.strategies.onIdle.enabled) {
29
- return;
30
- }
31
- if (state.lastToolPrune) {
32
- logger.info("Skipping OnIdle pruning - last tool was prune");
33
- return;
34
- }
35
- try {
36
- await runOnIdle(client, state, logger, config, workingDirectory);
37
- }
38
- catch (err) {
39
- logger.error("OnIdle pruning failed", { error: err.message });
40
- }
41
- }
42
- };
43
- }
44
22
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,UAAU,iCAAiC,CAC7C,MAAW,EACX,KAAmB,EACnB,MAAc,EACd,MAAoB;IAEpB,OAAO,KAAK,EAAE,KAAS,EAAE,MAAiC,EAAE,EAAE;QAC1D,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE1D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,OAAM;QACV,CAAC;QAED,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAErD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEvD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE7C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,MAAW,EACX,MAAoB,EACpB,KAAmB,EACnB,MAAc,EACd,gBAAyB;IAEzB,OAAO,KAAK,EAAE,EAAE,KAAK,EAAkB,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC/C,OAAM;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAM;YACV,CAAC;YACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;gBAC5D,OAAM;YACV,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;YACpE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACjE,CAAC;QACL,CAAC;IACL,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,UAAU,iCAAiC,CAC7C,MAAW,EACX,KAAmB,EACnB,MAAc,EACd,MAAoB;IAEpB,OAAO,KAAK,EAAE,KAAS,EAAE,MAAiC,EAAE,EAAE;QAC1D,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE1D,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAM;QACV,CAAC;QAED,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAErD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACnD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACvD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEnD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE7C,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC,CAAA;AACL,CAAC"}
@@ -1,2 +1,3 @@
1
- export { prune, insertPruneToolContext } from "./prune";
1
+ export { prune } from "./prune";
2
+ export { insertPruneToolContext } from "./inject";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA"}
@@ -1,2 +1,3 @@
1
- export { prune, insertPruneToolContext } from "./prune";
1
+ export { prune } from "./prune";
2
+ export { insertPruneToolContext } from "./inject";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { SessionState, WithParts } from "../state";
2
+ import type { Logger } from "../logger";
3
+ import type { PluginConfig } from "../config";
4
+ export declare const insertPruneToolContext: (state: SessionState, config: PluginConfig, logger: Logger, messages: WithParts[]) => void;
5
+ //# sourceMappingURL=inject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../lib/messages/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAsF7C,eAAO,MAAM,sBAAsB,GAC/B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,IAmCF,CAAA"}