@tarquinen/opencode-dcp 1.0.2 → 1.0.4

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.
package/README.md CHANGED
@@ -27,12 +27,12 @@ DCP uses multiple strategies to reduce context size:
27
27
 
28
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.
29
29
 
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.
31
+
30
32
  **Prune Tool** — Exposes a `prune` tool that the AI can call to manually trigger pruning when it determines context cleanup is needed.
31
33
 
32
34
  **On Idle Analysis** — Uses a language model to semantically analyze conversation context during idle periods and identify tool outputs that are no longer relevant.
33
35
 
34
- *More strategies coming soon.*
35
-
36
36
  Your session history is never modified. DCP replaces pruned outputs with a placeholder before sending requests to your LLM.
37
37
 
38
38
  ## Impact on Prompt Caching
@@ -68,6 +68,10 @@ DCP uses its own config file:
68
68
  // Additional tools to protect from pruning
69
69
  "protectedTools": []
70
70
  },
71
+ // Prune write tool inputs when the file has been subsequently read
72
+ "supersedeWrites": {
73
+ "enabled": true
74
+ },
71
75
  // Exposes a prune tool to your LLM to call when it determines pruning is necessary
72
76
  "pruneTool": {
73
77
  "enabled": true,
@@ -19,6 +19,9 @@ export interface PruneTool {
19
19
  protectedTools: string[];
20
20
  nudge: PruneToolNudge;
21
21
  }
22
+ export interface SupersedeWrites {
23
+ enabled: boolean;
24
+ }
22
25
  export interface PluginConfig {
23
26
  enabled: boolean;
24
27
  debug: boolean;
@@ -27,6 +30,7 @@ export interface PluginConfig {
27
30
  deduplication: Deduplication;
28
31
  onIdle: OnIdle;
29
32
  pruneTool: PruneTool;
33
+ supersedeWrites: SupersedeWrites;
30
34
  };
31
35
  }
32
36
  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,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,KAAK,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IAC9C,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,SAAS,CAAA;KACvB,CAAA;CACJ;AAKD,eAAO,MAAM,iBAAiB,aAyB5B,CAAA;AAgBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AA6VD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CA4FxD"}
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,cAAc;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,KAAK,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IAC9C,UAAU,EAAE;QACR,aAAa,EAAE,aAAa,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,EAAE,SAAS,CAAA;QACpB,eAAe,EAAE,eAAe,CAAA;KACnC,CAAA;CACJ;AAKD,eAAO,MAAM,iBAAiB,aA4B5B,CAAA;AAgBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAgXD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CA4FxD"}
@@ -15,6 +15,9 @@ export const VALID_CONFIG_KEYS = new Set([
15
15
  'strategies.deduplication',
16
16
  'strategies.deduplication.enabled',
17
17
  'strategies.deduplication.protectedTools',
18
+ // strategies.supersedeWrites
19
+ 'strategies.supersedeWrites',
20
+ 'strategies.supersedeWrites.enabled',
18
21
  // strategies.onIdle
19
22
  'strategies.onIdle',
20
23
  'strategies.onIdle.enabled',
@@ -28,7 +31,7 @@ export const VALID_CONFIG_KEYS = new Set([
28
31
  'strategies.pruneTool.protectedTools',
29
32
  'strategies.pruneTool.nudge',
30
33
  'strategies.pruneTool.nudge.enabled',
31
- 'strategies.pruneTool.nudge.frequency',
34
+ 'strategies.pruneTool.nudge.frequency'
32
35
  ]);
33
36
  // Extract all key paths from a config object for validation
34
37
  function getConfigKeyPaths(obj, prefix = '') {
@@ -107,6 +110,12 @@ function validateConfigTypes(config) {
107
110
  }
108
111
  }
109
112
  }
113
+ // supersedeWrites
114
+ if (strategies.supersedeWrites) {
115
+ if (strategies.supersedeWrites.enabled !== undefined && typeof strategies.supersedeWrites.enabled !== 'boolean') {
116
+ errors.push({ key: 'strategies.supersedeWrites.enabled', expected: 'boolean', actual: typeof strategies.supersedeWrites.enabled });
117
+ }
118
+ }
110
119
  }
111
120
  return errors;
112
121
  }
@@ -155,6 +164,9 @@ const defaultConfig = {
155
164
  enabled: true,
156
165
  protectedTools: [...DEFAULT_PROTECTED_TOOLS]
157
166
  },
167
+ supersedeWrites: {
168
+ enabled: true
169
+ },
158
170
  pruneTool: {
159
171
  enabled: true,
160
172
  protectedTools: [...DEFAULT_PROTECTED_TOOLS],
@@ -246,6 +258,10 @@ function createDefaultConfig() {
246
258
  // Additional tools to protect from pruning
247
259
  "protectedTools": []
248
260
  },
261
+ // Prune write tool inputs when the file has been subsequently read
262
+ "supersedeWrites": {
263
+ "enabled": true
264
+ },
249
265
  // Exposes a prune tool to your LLM to call when it determines pruning is necessary
250
266
  "pruneTool": {
251
267
  "enabled": true,
@@ -331,6 +347,9 @@ function mergeStrategies(base, override) {
331
347
  enabled: override.pruneTool?.nudge?.enabled ?? base.pruneTool.nudge.enabled,
332
348
  frequency: override.pruneTool?.nudge?.frequency ?? base.pruneTool.nudge.frequency
333
349
  }
350
+ },
351
+ supersedeWrites: {
352
+ enabled: override.supersedeWrites?.enabled ?? base.supersedeWrites.enabled
334
353
  }
335
354
  };
336
355
  }
@@ -350,6 +369,9 @@ function deepCloneConfig(config) {
350
369
  ...config.strategies.pruneTool,
351
370
  protectedTools: [...config.strategies.pruneTool.protectedTools],
352
371
  nudge: { ...config.strategies.pruneTool.nudge }
372
+ },
373
+ supersedeWrites: {
374
+ ...config.strategies.supersedeWrites
353
375
  }
354
376
  }
355
377
  };
@@ -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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"}
@@ -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;AAQ5C,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,IAGhB,OAAO,EAAE,EACT,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAgBxC;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,IAGrB,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBA4BhC"}
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;AAQ5C,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,IAGhB,OAAO,EAAE,EACT,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAiBxC;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,IAGrB,WAAW;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBA4BhC"}
package/dist/lib/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { syncToolCache } from "./state/tool-cache";
2
- import { deduplicate } from "./strategies";
2
+ import { deduplicate, supersedeWrites } from "./strategies";
3
3
  import { prune, insertPruneToolContext } from "./messages";
4
4
  import { checkSession } from "./state";
5
5
  import { runOnIdle } from "./strategies/on-idle";
@@ -11,6 +11,7 @@ export function createChatMessageTransformHandler(client, state, logger, config)
11
11
  }
12
12
  syncToolCache(state, config, logger, output.messages);
13
13
  deduplicate(state, logger, config, output.messages);
14
+ supersedeWrites(state, logger, config, output.messages);
14
15
  prune(state, logger, config, output.messages);
15
16
  insertPruneToolContext(state, config, logger, output.messages);
16
17
  };
@@ -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,MAAM,cAAc,CAAA;AAC1C,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;AAGhD,MAAM,UAAU,iCAAiC,CAC7C,MAAW,EACX,KAAmB,EACnB,MAAc,EACd,MAAoB;IAEpB,OAAO,KAAK,EACR,KAAS,EACT,MAAiC,EACnC,EAAE;QACA,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,CAAC;QAEtD,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;IAClE,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,MAAW,EACX,MAAoB,EACpB,KAAmB,EACnB,MAAc,EACd,gBAAyB;IAEzB,OAAO,KAAK,EACR,EAAE,KAAK,EAAkB,EAC3B,EAAE;QACA,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,CACX,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,gBAAgB,CACnB,CAAA;YACL,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,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;AAGhD,MAAM,UAAU,iCAAiC,CAC7C,MAAW,EACX,KAAmB,EACnB,MAAc,EACd,MAAoB;IAEpB,OAAO,KAAK,EACR,KAAS,EACT,MAAiC,EACnC,EAAE;QACA,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,CAAC;QAEtD,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;IAClE,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,MAAW,EACX,MAAoB,EACpB,KAAmB,EACnB,MAAc,EACd,gBAAyB;IAEzB,OAAO,KAAK,EACR,EAAE,KAAK,EAAkB,EAC3B,EAAE;QACA,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,CACX,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,gBAAgB,CACnB,CAAA;YACL,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"}
@@ -109,6 +109,10 @@ const pruneToolInputs = (state, logger, messages) => {
109
109
  if (part.tool !== 'write' && part.tool !== 'edit') {
110
110
  continue;
111
111
  }
112
+ // Don't prune yet if tool is still pending or running
113
+ if (part.state.status === "pending" || part.state.status === "running") {
114
+ continue;
115
+ }
112
116
  if (part.state.input?.content !== undefined) {
113
117
  part.state.input.content = PRUNED_TOOL_INPUT_REPLACEMENT;
114
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../lib/messages/prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../lib/messages/prune.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CAyBd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAgBjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAc3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAKvC,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,OAAO,CAAC,IAAI,CAyBd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAgBjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAc3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -62,18 +62,16 @@ export async function ensureSessionInitialized(client, state, sessionId, logger,
62
62
  }
63
63
  logger.info("session ID = " + sessionId);
64
64
  logger.info("Initializing session state", { sessionId: sessionId });
65
- // Clear previous session data
66
65
  resetSessionState(state);
67
66
  state.sessionId = sessionId;
68
67
  const isSubAgent = await isSubAgentSession(client, sessionId);
69
68
  state.isSubAgent = isSubAgent;
70
69
  logger.info("isSubAgent = " + isSubAgent);
71
- // Load session data from storage
70
+ state.lastCompaction = findLastCompactionTimestamp(messages);
72
71
  const persisted = await loadSessionState(sessionId, logger);
73
72
  if (persisted === null) {
74
73
  return;
75
74
  }
76
- // Populate state with loaded data
77
75
  state.prune = {
78
76
  toolIds: persisted.prune.toolIds || []
79
77
  };
@@ -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,4 +1,5 @@
1
1
  export { deduplicate } from "./deduplication";
2
2
  export { runOnIdle } from "./on-idle";
3
3
  export { createPruneTool } from "./prune-tool";
4
+ export { supersedeWrites } from "./supersede-writes";
4
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,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,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,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { deduplicate } from "./deduplication";
2
2
  export { runOnIdle } from "./on-idle";
3
3
  export { createPruneTool } from "./prune-tool";
4
+ export { supersedeWrites } from "./supersede-writes";
4
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,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,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,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { PluginConfig } from "../config";
2
+ import { Logger } from "../logger";
3
+ import type { SessionState, WithParts } from "../state";
4
+ /**
5
+ * Supersede Writes strategy - prunes write tool inputs for files that have
6
+ * subsequently been read. When a file is written and later read, the original
7
+ * write content becomes redundant since the current file state is captured
8
+ * in the read result.
9
+ *
10
+ * Modifies the session state in place to add pruned tool call IDs.
11
+ */
12
+ export declare const supersedeWrites: (state: SessionState, logger: Logger, config: PluginConfig, messages: WithParts[]) => void;
13
+ //# sourceMappingURL=supersede-writes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supersede-writes.d.ts","sourceRoot":"","sources":["../../../lib/strategies/supersede-writes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIvD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GACxB,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,KACtB,IAgFF,CAAA"}
@@ -0,0 +1,80 @@
1
+ import { buildToolIdList } from "../messages/utils";
2
+ import { calculateTokensSaved } from "./utils";
3
+ /**
4
+ * Supersede Writes strategy - prunes write tool inputs for files that have
5
+ * subsequently been read. When a file is written and later read, the original
6
+ * write content becomes redundant since the current file state is captured
7
+ * in the read result.
8
+ *
9
+ * Modifies the session state in place to add pruned tool call IDs.
10
+ */
11
+ export const supersedeWrites = (state, logger, config, messages) => {
12
+ if (!config.strategies.supersedeWrites.enabled) {
13
+ return;
14
+ }
15
+ // Build list of all tool call IDs from messages (chronological order)
16
+ const allToolIds = buildToolIdList(state, messages, logger);
17
+ if (allToolIds.length === 0) {
18
+ return;
19
+ }
20
+ // Filter out IDs already pruned
21
+ const alreadyPruned = new Set(state.prune.toolIds);
22
+ const unprunedIds = allToolIds.filter(id => !alreadyPruned.has(id));
23
+ if (unprunedIds.length === 0) {
24
+ return;
25
+ }
26
+ // Track write tools by file path: filePath -> [{ id, index }]
27
+ // We track index to determine chronological order
28
+ const writesByFile = new Map();
29
+ // Track read file paths with their index
30
+ const readsByFile = new Map();
31
+ for (let i = 0; i < allToolIds.length; i++) {
32
+ const id = allToolIds[i];
33
+ const metadata = state.toolParameters.get(id);
34
+ if (!metadata) {
35
+ continue;
36
+ }
37
+ const filePath = metadata.parameters?.filePath;
38
+ if (!filePath) {
39
+ continue;
40
+ }
41
+ if (metadata.tool === 'write') {
42
+ if (!writesByFile.has(filePath)) {
43
+ writesByFile.set(filePath, []);
44
+ }
45
+ writesByFile.get(filePath).push({ id, index: i });
46
+ }
47
+ else if (metadata.tool === 'read') {
48
+ if (!readsByFile.has(filePath)) {
49
+ readsByFile.set(filePath, []);
50
+ }
51
+ readsByFile.get(filePath).push(i);
52
+ }
53
+ }
54
+ // Find writes that are superseded by subsequent reads
55
+ const newPruneIds = [];
56
+ for (const [filePath, writes] of writesByFile.entries()) {
57
+ const reads = readsByFile.get(filePath);
58
+ if (!reads || reads.length === 0) {
59
+ continue;
60
+ }
61
+ // For each write, check if there's a read that comes after it
62
+ for (const write of writes) {
63
+ // Skip if already pruned
64
+ if (alreadyPruned.has(write.id)) {
65
+ continue;
66
+ }
67
+ // Check if any read comes after this write
68
+ const hasSubsequentRead = reads.some(readIndex => readIndex > write.index);
69
+ if (hasSubsequentRead) {
70
+ newPruneIds.push(write.id);
71
+ }
72
+ }
73
+ }
74
+ if (newPruneIds.length > 0) {
75
+ state.stats.totalPruneTokens += calculateTokensSaved(state, messages, newPruneIds);
76
+ state.prune.toolIds.push(...newPruneIds);
77
+ logger.debug(`Marked ${newPruneIds.length} superseded write tool calls for pruning`);
78
+ }
79
+ };
80
+ //# sourceMappingURL=supersede-writes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supersede-writes.js","sourceRoot":"","sources":["../../../lib/strategies/supersede-writes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@tarquinen/opencode-dcp",
4
- "version": "1.0.2",
4
+ "version": "1.0.4",
5
5
  "type": "module",
6
6
  "description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context",
7
7
  "main": "./dist/index.js",