@tarquinen/opencode-dcp 1.1.0-beta.1 → 1.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +17 -23
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +316 -274
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +3 -0
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/logger.d.ts +17 -0
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +90 -7
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/messages/prune.d.ts.map +1 -1
- package/dist/lib/messages/prune.js +37 -28
- package/dist/lib/messages/prune.js.map +1 -1
- package/dist/lib/messages/utils.js +7 -7
- package/dist/lib/model-selector.d.ts +3 -3
- package/dist/lib/model-selector.d.ts.map +1 -1
- package/dist/lib/model-selector.js +34 -34
- package/dist/lib/model-selector.js.map +1 -1
- package/dist/lib/prompt.d.ts.map +1 -1
- package/dist/lib/prompt.js +36 -24
- package/dist/lib/prompt.js.map +1 -1
- package/dist/lib/shared-utils.d.ts.map +1 -1
- package/dist/lib/shared-utils.js +1 -1
- package/dist/lib/shared-utils.js.map +1 -1
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/persistence.js +4 -7
- package/dist/lib/state/persistence.js.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/state.js +7 -5
- package/dist/lib/state/state.js.map +1 -1
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/tool-cache.js +7 -13
- package/dist/lib/state/tool-cache.js.map +1 -1
- package/dist/lib/strategies/deduplication.js +3 -3
- package/dist/lib/strategies/deduplication.js.map +1 -1
- package/dist/lib/strategies/on-idle.d.ts.map +1 -1
- package/dist/lib/strategies/on-idle.js +24 -24
- package/dist/lib/strategies/on-idle.js.map +1 -1
- package/dist/lib/strategies/supersede-writes.js +4 -4
- package/dist/lib/strategies/supersede-writes.js.map +1 -1
- package/dist/lib/strategies/tools.d.ts.map +1 -1
- package/dist/lib/strategies/tools.js +23 -17
- package/dist/lib/strategies/tools.js.map +1 -1
- package/dist/lib/strategies/utils.d.ts.map +1 -1
- package/dist/lib/strategies/utils.js +20 -9
- package/dist/lib/strategies/utils.js.map +1 -1
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/notification.js +26 -23
- package/dist/lib/ui/notification.js.map +1 -1
- package/dist/lib/ui/utils.d.ts.map +1 -1
- package/dist/lib/ui/utils.js +9 -9
- package/dist/lib/ui/utils.js.map +1 -1
- package/package.json +61 -58
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Add to your OpenCode config:
|
|
|
13
13
|
```jsonc
|
|
14
14
|
// opencode.jsonc
|
|
15
15
|
{
|
|
16
|
-
|
|
16
|
+
"plugin": ["@tarquinen/opencode-dcp@latest"],
|
|
17
17
|
}
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -56,82 +56,82 @@ DCP uses its own config file:
|
|
|
56
56
|
|
|
57
57
|
```jsonc
|
|
58
58
|
{
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// Remove duplicate tool calls (same tool with same arguments)
|
|
68
|
-
"deduplication": {
|
|
69
|
-
"enabled": true,
|
|
70
|
-
// Additional tools to protect from pruning
|
|
71
|
-
"protectedTools": []
|
|
72
|
-
},
|
|
73
|
-
// Prune write tool inputs when the file has been subsequently read
|
|
74
|
-
"supersedeWrites": {
|
|
75
|
-
"enabled": true
|
|
76
|
-
},
|
|
77
|
-
// Removes tool content from context without preservation (for completed tasks or noise)
|
|
78
|
-
"discardTool": {
|
|
79
|
-
"enabled": true,
|
|
80
|
-
// Additional tools to protect from pruning
|
|
81
|
-
"protectedTools": [],
|
|
82
|
-
// Protect from pruning for <turn protection> message turns
|
|
83
|
-
"turnProtection": {
|
|
59
|
+
// Enable or disable the plugin
|
|
60
|
+
"enabled": true,
|
|
61
|
+
// Enable debug logging to ~/.config/opencode/logs/dcp/
|
|
62
|
+
"debug": false,
|
|
63
|
+
// Notification display: "off", "minimal", or "detailed"
|
|
64
|
+
"pruneNotification": "detailed",
|
|
65
|
+
// Protect from pruning for <turns> message turns
|
|
66
|
+
"turnProtection": {
|
|
84
67
|
"enabled": false,
|
|
85
|
-
"turns": 4
|
|
86
|
-
},
|
|
87
|
-
// Nudge the LLM to use the discard tool (every <frequency> tool results)
|
|
88
|
-
"nudge": {
|
|
89
|
-
"enabled": true,
|
|
90
|
-
"frequency": 10
|
|
91
|
-
}
|
|
68
|
+
"turns": 4,
|
|
92
69
|
},
|
|
93
|
-
//
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
70
|
+
// LLM-driven context pruning tools
|
|
71
|
+
"tools": {
|
|
72
|
+
// Shared settings for all prune tools
|
|
73
|
+
"settings": {
|
|
74
|
+
// Nudge the LLM to use prune tools (every <nudgeFrequency> tool results)
|
|
75
|
+
"nudgeEnabled": true,
|
|
76
|
+
"nudgeFrequency": 10,
|
|
77
|
+
// Additional tools to protect from pruning
|
|
78
|
+
"protectedTools": [],
|
|
79
|
+
},
|
|
80
|
+
// Removes tool content from context without preservation (for completed tasks or noise)
|
|
81
|
+
"discard": {
|
|
82
|
+
"enabled": true,
|
|
83
|
+
},
|
|
84
|
+
// Distills key findings into preserved knowledge before removing raw content
|
|
85
|
+
"extract": {
|
|
86
|
+
"enabled": true,
|
|
87
|
+
// Show distillation content as an ignored message notification
|
|
88
|
+
"showDistillation": false,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
// Automatic pruning strategies
|
|
92
|
+
"strategies": {
|
|
93
|
+
// Remove duplicate tool calls (same tool with same arguments)
|
|
94
|
+
"deduplication": {
|
|
95
|
+
"enabled": true,
|
|
96
|
+
// Additional tools to protect from pruning
|
|
97
|
+
"protectedTools": [],
|
|
98
|
+
},
|
|
99
|
+
// Prune write tool inputs when the file has been subsequently read
|
|
100
|
+
"supersedeWrites": {
|
|
101
|
+
"enabled": true,
|
|
102
|
+
},
|
|
103
|
+
// (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
|
|
104
|
+
"onIdle": {
|
|
105
|
+
"enabled": false,
|
|
106
|
+
// Additional tools to protect from pruning
|
|
107
|
+
"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
|
+
},
|
|
110
115
|
},
|
|
111
|
-
// (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
|
|
112
|
-
"onIdle": {
|
|
113
|
-
"enabled": false,
|
|
114
|
-
// Additional tools to protect from pruning
|
|
115
|
-
"protectedTools": [],
|
|
116
|
-
// Override model for analysis (format: "provider/model")
|
|
117
|
-
// "model": "anthropic/claude-haiku-4-5",
|
|
118
|
-
// Show toast notifications when model selection fails
|
|
119
|
-
"showModelErrorToasts": true,
|
|
120
|
-
// When true, fallback models are not permitted
|
|
121
|
-
"strictModelSelection": false
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
116
|
}
|
|
125
117
|
```
|
|
126
118
|
|
|
127
119
|
</details>
|
|
128
120
|
|
|
121
|
+
### Turn Protection
|
|
122
|
+
|
|
123
|
+
When enabled, turn protection prevents tool outputs from being pruned for a configurable number of message turns. This gives the AI time to reference recent tool outputs before they become prunable. Applies to both `discard` and `extract` tools, as well as automatic strategies.
|
|
124
|
+
|
|
129
125
|
### Protected Tools
|
|
130
126
|
|
|
131
127
|
By default, these tools are always protected from pruning across all strategies:
|
|
132
128
|
`task`, `todowrite`, `todoread`, `discard`, `extract`, `batch`
|
|
133
129
|
|
|
134
|
-
The `protectedTools` arrays in each
|
|
130
|
+
The `protectedTools` arrays in each section add to this default list:
|
|
131
|
+
|
|
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
|
|
135
135
|
|
|
136
136
|
### Config Precedence
|
|
137
137
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,MAuFK,CAAA;AAEnB,eAAe,MAAM,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,8 @@ const plugin = (async (ctx) => {
|
|
|
10
10
|
return {};
|
|
11
11
|
}
|
|
12
12
|
// Suppress AI SDK warnings
|
|
13
|
-
if (typeof globalThis !==
|
|
13
|
+
if (typeof globalThis !== "undefined") {
|
|
14
|
+
;
|
|
14
15
|
globalThis.AI_SDK_LOG_WARNINGS = false;
|
|
15
16
|
}
|
|
16
17
|
const logger = new Logger(config.debug);
|
|
@@ -20,8 +21,8 @@ const plugin = (async (ctx) => {
|
|
|
20
21
|
});
|
|
21
22
|
return {
|
|
22
23
|
"experimental.chat.system.transform": async (_input, output) => {
|
|
23
|
-
const discardEnabled = config.
|
|
24
|
-
const extractEnabled = config.
|
|
24
|
+
const discardEnabled = config.tools.discard.enabled;
|
|
25
|
+
const extractEnabled = config.tools.extract.enabled;
|
|
25
26
|
let promptName;
|
|
26
27
|
if (discardEnabled && extractEnabled) {
|
|
27
28
|
promptName = "system/system-prompt-both";
|
|
@@ -40,22 +41,22 @@ const plugin = (async (ctx) => {
|
|
|
40
41
|
},
|
|
41
42
|
"experimental.chat.messages.transform": createChatMessageTransformHandler(ctx.client, state, logger, config),
|
|
42
43
|
tool: {
|
|
43
|
-
...(config.
|
|
44
|
+
...(config.tools.discard.enabled && {
|
|
44
45
|
discard: createDiscardTool({
|
|
45
46
|
client: ctx.client,
|
|
46
47
|
state,
|
|
47
48
|
logger,
|
|
48
49
|
config,
|
|
49
|
-
workingDirectory: ctx.directory
|
|
50
|
+
workingDirectory: ctx.directory,
|
|
50
51
|
}),
|
|
51
52
|
}),
|
|
52
|
-
...(config.
|
|
53
|
+
...(config.tools.extract.enabled && {
|
|
53
54
|
extract: createExtractTool({
|
|
54
55
|
client: ctx.client,
|
|
55
56
|
state,
|
|
56
57
|
logger,
|
|
57
58
|
config,
|
|
58
|
-
workingDirectory: ctx.directory
|
|
59
|
+
workingDirectory: ctx.directory,
|
|
59
60
|
}),
|
|
60
61
|
}),
|
|
61
62
|
},
|
|
@@ -63,9 +64,9 @@ const plugin = (async (ctx) => {
|
|
|
63
64
|
// Add enabled tools to primary_tools by mutating the opencode config
|
|
64
65
|
// This works because config is cached and passed by reference
|
|
65
66
|
const toolsToAdd = [];
|
|
66
|
-
if (config.
|
|
67
|
+
if (config.tools.discard.enabled)
|
|
67
68
|
toolsToAdd.push("discard");
|
|
68
|
-
if (config.
|
|
69
|
+
if (config.tools.extract.enabled)
|
|
69
70
|
toolsToAdd.push("extract");
|
|
70
71
|
if (toolsToAdd.length > 0) {
|
|
71
72
|
const existingPrimaryTools = opencodeConfig.experimental?.primary_tools ?? [];
|
|
@@ -73,7 +74,7 @@ const plugin = (async (ctx) => {
|
|
|
73
74
|
...opencodeConfig.experimental,
|
|
74
75
|
primary_tools: [...existingPrimaryTools, ...toolsToAdd],
|
|
75
76
|
};
|
|
76
|
-
logger.info(`Added ${toolsToAdd.map(t => `'${t}'`).join(" and ")} to experimental.primary_tools via config mutation`);
|
|
77
|
+
logger.info(`Added ${toolsToAdd.map((t) => `'${t}'`).join(" and ")} to experimental.primary_tools via config mutation`);
|
|
77
78
|
}
|
|
78
79
|
},
|
|
79
80
|
event: createEventHandler(ctx.client, config, state, logger, ctx.directory),
|
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,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,iCAAiC,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEnF,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,2BAA2B;IAC3B,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PluginInput } from
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
export interface Deduplication {
|
|
3
3
|
enabled: boolean;
|
|
4
4
|
protectedTools: string[];
|
|
@@ -10,45 +10,39 @@ export interface OnIdle {
|
|
|
10
10
|
strictModelSelection?: boolean;
|
|
11
11
|
protectedTools: string[];
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface DiscardTool {
|
|
14
14
|
enabled: boolean;
|
|
15
|
-
frequency: number;
|
|
16
15
|
}
|
|
17
|
-
export interface
|
|
16
|
+
export interface ExtractTool {
|
|
18
17
|
enabled: boolean;
|
|
19
|
-
|
|
18
|
+
showDistillation: boolean;
|
|
20
19
|
}
|
|
21
|
-
export interface
|
|
22
|
-
|
|
20
|
+
export interface ToolSettings {
|
|
21
|
+
nudgeEnabled: boolean;
|
|
22
|
+
nudgeFrequency: number;
|
|
23
23
|
protectedTools: string[];
|
|
24
|
-
turnProtection: PruneToolTurnProtection;
|
|
25
|
-
nudge: PruneToolNudge;
|
|
26
24
|
}
|
|
27
|
-
export interface
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
nudge: PruneToolNudge;
|
|
25
|
+
export interface Tools {
|
|
26
|
+
settings: ToolSettings;
|
|
27
|
+
discard: DiscardTool;
|
|
28
|
+
extract: ExtractTool;
|
|
32
29
|
}
|
|
33
|
-
export interface
|
|
30
|
+
export interface SupersedeWrites {
|
|
34
31
|
enabled: boolean;
|
|
35
|
-
protectedTools: string[];
|
|
36
|
-
turnProtection: PruneToolTurnProtection;
|
|
37
|
-
nudge: PruneToolNudge;
|
|
38
|
-
showDistillation: boolean;
|
|
39
32
|
}
|
|
40
|
-
export interface
|
|
33
|
+
export interface TurnProtection {
|
|
41
34
|
enabled: boolean;
|
|
35
|
+
turns: number;
|
|
42
36
|
}
|
|
43
37
|
export interface PluginConfig {
|
|
44
38
|
enabled: boolean;
|
|
45
39
|
debug: boolean;
|
|
46
|
-
|
|
40
|
+
pruneNotification: "off" | "minimal" | "detailed";
|
|
41
|
+
turnProtection: TurnProtection;
|
|
42
|
+
tools: Tools;
|
|
47
43
|
strategies: {
|
|
48
44
|
deduplication: Deduplication;
|
|
49
45
|
onIdle: OnIdle;
|
|
50
|
-
discardTool: DiscardTool;
|
|
51
|
-
extractTool: ExtractTool;
|
|
52
46
|
supersedeWrites: SupersedeWrites;
|
|
53
47
|
};
|
|
54
48
|
}
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|