@tarquinen/opencode-dcp 0.4.16 → 1.0.0-beta.1
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 +58 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -59
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +30 -13
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +339 -121
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/hooks.d.ts +5 -13
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +26 -125
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/logger.d.ts +5 -9
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +30 -160
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/messages/index.d.ts +2 -0
- package/dist/lib/messages/index.d.ts.map +1 -0
- package/dist/lib/messages/index.js +2 -0
- package/dist/lib/messages/index.js.map +1 -0
- package/dist/lib/messages/prune.d.ts +6 -0
- package/dist/lib/messages/prune.d.ts.map +1 -0
- package/dist/lib/messages/prune.js +85 -0
- package/dist/lib/messages/prune.js.map +1 -0
- package/dist/lib/messages/utils.d.ts +10 -0
- package/dist/lib/messages/utils.d.ts.map +1 -0
- package/dist/lib/messages/utils.js +103 -0
- package/dist/lib/messages/utils.js.map +1 -0
- package/dist/lib/model-selector.js +3 -3
- package/dist/lib/model-selector.js.map +1 -1
- package/dist/lib/{core/prompt.d.ts → prompt.d.ts} +1 -1
- package/dist/lib/prompt.d.ts.map +1 -0
- package/dist/lib/{core/prompt.js → prompt.js} +2 -6
- package/dist/lib/prompt.js.map +1 -0
- package/dist/lib/prompts/pruning.txt +1 -1
- package/dist/lib/prompts/tool.txt +3 -3
- package/dist/lib/state/index.d.ts +3 -27
- package/dist/lib/state/index.d.ts.map +1 -1
- package/dist/lib/state/index.js +3 -40
- package/dist/lib/state/index.js.map +1 -1
- package/dist/lib/state/persistence.d.ts +4 -4
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/persistence.js +24 -20
- package/dist/lib/state/persistence.js.map +1 -1
- package/dist/lib/state/state.d.ts +7 -0
- package/dist/lib/state/state.d.ts.map +1 -0
- package/dist/lib/state/state.js +76 -0
- package/dist/lib/state/state.js.map +1 -0
- package/dist/lib/state/tool-cache.d.ts +4 -6
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/tool-cache.js +14 -46
- package/dist/lib/state/tool-cache.js.map +1 -1
- package/dist/lib/state/types.d.ts +30 -0
- package/dist/lib/state/types.d.ts.map +1 -0
- package/dist/lib/state/types.js +2 -0
- package/dist/lib/state/types.js.map +1 -0
- package/dist/lib/strategies/deduplication.d.ts +10 -0
- package/dist/lib/strategies/deduplication.d.ts.map +1 -0
- package/dist/lib/strategies/deduplication.js +89 -0
- package/dist/lib/strategies/deduplication.js.map +1 -0
- package/dist/lib/strategies/index.d.ts +4 -0
- package/dist/lib/strategies/index.d.ts.map +1 -0
- package/dist/lib/strategies/index.js +4 -0
- package/dist/lib/strategies/index.js.map +1 -0
- package/dist/lib/strategies/on-idle.d.ts +14 -0
- package/dist/lib/strategies/on-idle.d.ts.map +1 -0
- package/dist/lib/strategies/on-idle.js +216 -0
- package/dist/lib/strategies/on-idle.js.map +1 -0
- package/dist/lib/strategies/prune-tool.d.ts +17 -0
- package/dist/lib/strategies/prune-tool.d.ts.map +1 -0
- package/dist/lib/strategies/prune-tool.js +70 -0
- package/dist/lib/strategies/prune-tool.js.map +1 -0
- package/dist/lib/ui/display-utils.d.ts +3 -12
- package/dist/lib/ui/display-utils.d.ts.map +1 -1
- package/dist/lib/ui/display-utils.js +12 -79
- package/dist/lib/ui/display-utils.js.map +1 -1
- package/dist/lib/ui/notification.d.ts +7 -23
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/notification.js +38 -47
- package/dist/lib/ui/notification.js.map +1 -1
- package/dist/lib/utils.d.ts +9 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +61 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +1 -1
- package/dist/lib/core/janitor.d.ts +0 -38
- package/dist/lib/core/janitor.d.ts.map +0 -1
- package/dist/lib/core/janitor.js +0 -292
- package/dist/lib/core/janitor.js.map +0 -1
- package/dist/lib/core/prompt.d.ts.map +0 -1
- package/dist/lib/core/prompt.js.map +0 -1
- package/dist/lib/core/strategies/deduplication.d.ts +0 -7
- package/dist/lib/core/strategies/deduplication.d.ts.map +0 -1
- package/dist/lib/core/strategies/deduplication.js +0 -76
- package/dist/lib/core/strategies/deduplication.js.map +0 -1
- package/dist/lib/core/strategies/index.d.ts +0 -51
- package/dist/lib/core/strategies/index.d.ts.map +0 -1
- package/dist/lib/core/strategies/index.js +0 -48
- package/dist/lib/core/strategies/index.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/anthropic.d.ts +0 -8
- package/dist/lib/fetch-wrapper/formats/anthropic.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/anthropic.js +0 -96
- package/dist/lib/fetch-wrapper/formats/anthropic.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/bedrock.d.ts +0 -8
- package/dist/lib/fetch-wrapper/formats/bedrock.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/bedrock.js +0 -97
- package/dist/lib/fetch-wrapper/formats/bedrock.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/gemini.d.ts +0 -8
- package/dist/lib/fetch-wrapper/formats/gemini.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/gemini.js +0 -134
- package/dist/lib/fetch-wrapper/formats/gemini.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/index.d.ts +0 -6
- package/dist/lib/fetch-wrapper/formats/index.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/index.js +0 -6
- package/dist/lib/fetch-wrapper/formats/index.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/openai-chat.d.ts +0 -3
- package/dist/lib/fetch-wrapper/formats/openai-chat.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/openai-chat.js +0 -100
- package/dist/lib/fetch-wrapper/formats/openai-chat.js.map +0 -1
- package/dist/lib/fetch-wrapper/formats/openai-responses.d.ts +0 -3
- package/dist/lib/fetch-wrapper/formats/openai-responses.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/formats/openai-responses.js +0 -63
- package/dist/lib/fetch-wrapper/formats/openai-responses.js.map +0 -1
- package/dist/lib/fetch-wrapper/gc-tracker.d.ts +0 -4
- package/dist/lib/fetch-wrapper/gc-tracker.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/gc-tracker.js +0 -61
- package/dist/lib/fetch-wrapper/gc-tracker.js.map +0 -1
- package/dist/lib/fetch-wrapper/handler.d.ts +0 -3
- package/dist/lib/fetch-wrapper/handler.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/handler.js +0 -118
- package/dist/lib/fetch-wrapper/handler.js.map +0 -1
- package/dist/lib/fetch-wrapper/index.d.ts +0 -18
- package/dist/lib/fetch-wrapper/index.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/index.js +0 -107
- package/dist/lib/fetch-wrapper/index.js.map +0 -1
- package/dist/lib/fetch-wrapper/prunable-list.d.ts +0 -8
- package/dist/lib/fetch-wrapper/prunable-list.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/prunable-list.js +0 -38
- package/dist/lib/fetch-wrapper/prunable-list.js.map +0 -1
- package/dist/lib/fetch-wrapper/tool-tracker.d.ts +0 -9
- package/dist/lib/fetch-wrapper/tool-tracker.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/tool-tracker.js +0 -12
- package/dist/lib/fetch-wrapper/tool-tracker.js.map +0 -1
- package/dist/lib/fetch-wrapper/types.d.ts +0 -62
- package/dist/lib/fetch-wrapper/types.d.ts.map +0 -1
- package/dist/lib/fetch-wrapper/types.js +0 -7
- package/dist/lib/fetch-wrapper/types.js.map +0 -1
- package/dist/lib/pruning-tool.d.ts +0 -20
- package/dist/lib/pruning-tool.d.ts.map +0 -1
- package/dist/lib/pruning-tool.js +0 -160
- package/dist/lib/pruning-tool.js.map +0 -1
- package/dist/lib/state/id-mapping.d.ts +0 -25
- package/dist/lib/state/id-mapping.d.ts.map +0 -1
- package/dist/lib/state/id-mapping.js +0 -51
- package/dist/lib/state/id-mapping.js.map +0 -1
- package/dist/lib/tokenizer.d.ts +0 -3
- package/dist/lib/tokenizer.d.ts.map +0 -1
- package/dist/lib/tokenizer.js +0 -16
- package/dist/lib/tokenizer.js.map +0 -1
- package/dist/lib/version-checker.d.ts +0 -9
- package/dist/lib/version-checker.d.ts.map +0 -1
- package/dist/lib/version-checker.js +0 -77
- package/dist/lib/version-checker.js.map +0 -1
package/dist/lib/config.js
CHANGED
|
@@ -1,34 +1,190 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync, statSync
|
|
1
|
+
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
|
-
|
|
5
|
+
const DEFAULT_PROTECTED_TOOLS = ['task', 'todowrite', 'todoread', 'prune', 'batch', 'write', 'edit'];
|
|
6
|
+
// Valid config keys for validation against user config
|
|
7
|
+
export const VALID_CONFIG_KEYS = new Set([
|
|
8
|
+
// Top-level keys
|
|
9
|
+
'enabled',
|
|
10
|
+
'debug',
|
|
11
|
+
'showUpdateToasts',
|
|
12
|
+
'pruningSummary',
|
|
13
|
+
'strategies',
|
|
14
|
+
// strategies.deduplication
|
|
15
|
+
'strategies.deduplication',
|
|
16
|
+
'strategies.deduplication.enabled',
|
|
17
|
+
'strategies.deduplication.protectedTools',
|
|
18
|
+
// strategies.pruneThinkingBlocks
|
|
19
|
+
'strategies.pruneThinkingBlocks',
|
|
20
|
+
'strategies.pruneThinkingBlocks.enabled',
|
|
21
|
+
// strategies.onIdle
|
|
22
|
+
'strategies.onIdle',
|
|
23
|
+
'strategies.onIdle.enabled',
|
|
24
|
+
'strategies.onIdle.model',
|
|
25
|
+
'strategies.onIdle.showModelErrorToasts',
|
|
26
|
+
'strategies.onIdle.strictModelSelection',
|
|
27
|
+
'strategies.onIdle.protectedTools',
|
|
28
|
+
// strategies.pruneTool
|
|
29
|
+
'strategies.pruneTool',
|
|
30
|
+
'strategies.pruneTool.enabled',
|
|
31
|
+
'strategies.pruneTool.protectedTools',
|
|
32
|
+
'strategies.pruneTool.nudge',
|
|
33
|
+
'strategies.pruneTool.nudge.enabled',
|
|
34
|
+
'strategies.pruneTool.nudge.frequency',
|
|
35
|
+
]);
|
|
36
|
+
// Extract all key paths from a config object for validation
|
|
37
|
+
function getConfigKeyPaths(obj, prefix = '') {
|
|
38
|
+
const keys = [];
|
|
39
|
+
for (const key of Object.keys(obj)) {
|
|
40
|
+
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
41
|
+
keys.push(fullKey);
|
|
42
|
+
if (obj[key] && typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
|
|
43
|
+
keys.push(...getConfigKeyPaths(obj[key], fullKey));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return keys;
|
|
47
|
+
}
|
|
48
|
+
// Returns invalid keys found in user config
|
|
49
|
+
export function getInvalidConfigKeys(userConfig) {
|
|
50
|
+
const userKeys = getConfigKeyPaths(userConfig);
|
|
51
|
+
return userKeys.filter(key => !VALID_CONFIG_KEYS.has(key));
|
|
52
|
+
}
|
|
53
|
+
function validateConfigTypes(config) {
|
|
54
|
+
const errors = [];
|
|
55
|
+
// Top-level validators
|
|
56
|
+
if (config.enabled !== undefined && typeof config.enabled !== 'boolean') {
|
|
57
|
+
errors.push({ key: 'enabled', expected: 'boolean', actual: typeof config.enabled });
|
|
58
|
+
}
|
|
59
|
+
if (config.debug !== undefined && typeof config.debug !== 'boolean') {
|
|
60
|
+
errors.push({ key: 'debug', expected: 'boolean', actual: typeof config.debug });
|
|
61
|
+
}
|
|
62
|
+
if (config.showUpdateToasts !== undefined && typeof config.showUpdateToasts !== 'boolean') {
|
|
63
|
+
errors.push({ key: 'showUpdateToasts', expected: 'boolean', actual: typeof config.showUpdateToasts });
|
|
64
|
+
}
|
|
65
|
+
if (config.pruningSummary !== undefined) {
|
|
66
|
+
const validValues = ['off', 'minimal', 'detailed'];
|
|
67
|
+
if (!validValues.includes(config.pruningSummary)) {
|
|
68
|
+
errors.push({ key: 'pruningSummary', expected: '"off" | "minimal" | "detailed"', actual: JSON.stringify(config.pruningSummary) });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
// Strategies validators
|
|
72
|
+
const strategies = config.strategies;
|
|
73
|
+
if (strategies) {
|
|
74
|
+
// deduplication
|
|
75
|
+
if (strategies.deduplication?.enabled !== undefined && typeof strategies.deduplication.enabled !== 'boolean') {
|
|
76
|
+
errors.push({ key: 'strategies.deduplication.enabled', expected: 'boolean', actual: typeof strategies.deduplication.enabled });
|
|
77
|
+
}
|
|
78
|
+
if (strategies.deduplication?.protectedTools !== undefined && !Array.isArray(strategies.deduplication.protectedTools)) {
|
|
79
|
+
errors.push({ key: 'strategies.deduplication.protectedTools', expected: 'string[]', actual: typeof strategies.deduplication.protectedTools });
|
|
80
|
+
}
|
|
81
|
+
// pruneThinkingBlocks
|
|
82
|
+
if (strategies.pruneThinkingBlocks?.enabled !== undefined && typeof strategies.pruneThinkingBlocks.enabled !== 'boolean') {
|
|
83
|
+
errors.push({ key: 'strategies.pruneThinkingBlocks.enabled', expected: 'boolean', actual: typeof strategies.pruneThinkingBlocks.enabled });
|
|
84
|
+
}
|
|
85
|
+
// onIdle
|
|
86
|
+
if (strategies.onIdle) {
|
|
87
|
+
if (strategies.onIdle.enabled !== undefined && typeof strategies.onIdle.enabled !== 'boolean') {
|
|
88
|
+
errors.push({ key: 'strategies.onIdle.enabled', expected: 'boolean', actual: typeof strategies.onIdle.enabled });
|
|
89
|
+
}
|
|
90
|
+
if (strategies.onIdle.model !== undefined && typeof strategies.onIdle.model !== 'string') {
|
|
91
|
+
errors.push({ key: 'strategies.onIdle.model', expected: 'string', actual: typeof strategies.onIdle.model });
|
|
92
|
+
}
|
|
93
|
+
if (strategies.onIdle.showModelErrorToasts !== undefined && typeof strategies.onIdle.showModelErrorToasts !== 'boolean') {
|
|
94
|
+
errors.push({ key: 'strategies.onIdle.showModelErrorToasts', expected: 'boolean', actual: typeof strategies.onIdle.showModelErrorToasts });
|
|
95
|
+
}
|
|
96
|
+
if (strategies.onIdle.strictModelSelection !== undefined && typeof strategies.onIdle.strictModelSelection !== 'boolean') {
|
|
97
|
+
errors.push({ key: 'strategies.onIdle.strictModelSelection', expected: 'boolean', actual: typeof strategies.onIdle.strictModelSelection });
|
|
98
|
+
}
|
|
99
|
+
if (strategies.onIdle.protectedTools !== undefined && !Array.isArray(strategies.onIdle.protectedTools)) {
|
|
100
|
+
errors.push({ key: 'strategies.onIdle.protectedTools', expected: 'string[]', actual: typeof strategies.onIdle.protectedTools });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// pruneTool
|
|
104
|
+
if (strategies.pruneTool) {
|
|
105
|
+
if (strategies.pruneTool.enabled !== undefined && typeof strategies.pruneTool.enabled !== 'boolean') {
|
|
106
|
+
errors.push({ key: 'strategies.pruneTool.enabled', expected: 'boolean', actual: typeof strategies.pruneTool.enabled });
|
|
107
|
+
}
|
|
108
|
+
if (strategies.pruneTool.protectedTools !== undefined && !Array.isArray(strategies.pruneTool.protectedTools)) {
|
|
109
|
+
errors.push({ key: 'strategies.pruneTool.protectedTools', expected: 'string[]', actual: typeof strategies.pruneTool.protectedTools });
|
|
110
|
+
}
|
|
111
|
+
if (strategies.pruneTool.nudge) {
|
|
112
|
+
if (strategies.pruneTool.nudge.enabled !== undefined && typeof strategies.pruneTool.nudge.enabled !== 'boolean') {
|
|
113
|
+
errors.push({ key: 'strategies.pruneTool.nudge.enabled', expected: 'boolean', actual: typeof strategies.pruneTool.nudge.enabled });
|
|
114
|
+
}
|
|
115
|
+
if (strategies.pruneTool.nudge.frequency !== undefined && typeof strategies.pruneTool.nudge.frequency !== 'number') {
|
|
116
|
+
errors.push({ key: 'strategies.pruneTool.nudge.frequency', expected: 'number', actual: typeof strategies.pruneTool.nudge.frequency });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return errors;
|
|
122
|
+
}
|
|
123
|
+
// Show validation warnings for a config file
|
|
124
|
+
function showConfigValidationWarnings(ctx, configPath, configData, isProject) {
|
|
125
|
+
const invalidKeys = getInvalidConfigKeys(configData);
|
|
126
|
+
const typeErrors = validateConfigTypes(configData);
|
|
127
|
+
if (invalidKeys.length === 0 && typeErrors.length === 0) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const configType = isProject ? 'project config' : 'config';
|
|
131
|
+
const messages = [];
|
|
132
|
+
if (invalidKeys.length > 0) {
|
|
133
|
+
const keyList = invalidKeys.slice(0, 3).join(', ');
|
|
134
|
+
const suffix = invalidKeys.length > 3 ? ` (+${invalidKeys.length - 3} more)` : '';
|
|
135
|
+
messages.push(`Unknown keys: ${keyList}${suffix}`);
|
|
136
|
+
}
|
|
137
|
+
if (typeErrors.length > 0) {
|
|
138
|
+
for (const err of typeErrors.slice(0, 2)) {
|
|
139
|
+
messages.push(`${err.key}: expected ${err.expected}, got ${err.actual}`);
|
|
140
|
+
}
|
|
141
|
+
if (typeErrors.length > 2) {
|
|
142
|
+
messages.push(`(+${typeErrors.length - 2} more type errors)`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
setTimeout(() => {
|
|
146
|
+
try {
|
|
147
|
+
ctx.client.tui.showToast({
|
|
148
|
+
body: {
|
|
149
|
+
title: `DCP: Invalid ${configType}`,
|
|
150
|
+
message: `${configPath}\n${messages.join('\n')}`,
|
|
151
|
+
variant: "warning",
|
|
152
|
+
duration: 7000
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch { }
|
|
157
|
+
}, 7000);
|
|
158
|
+
}
|
|
6
159
|
const defaultConfig = {
|
|
7
160
|
enabled: true,
|
|
8
161
|
debug: false,
|
|
9
|
-
protectedTools: ['task', 'todowrite', 'todoread', 'prune', 'batch', 'write', 'edit'],
|
|
10
|
-
showModelErrorToasts: true,
|
|
11
162
|
showUpdateToasts: true,
|
|
12
|
-
|
|
13
|
-
pruning_summary: 'detailed',
|
|
14
|
-
nudge_freq: 10,
|
|
163
|
+
pruningSummary: 'detailed',
|
|
15
164
|
strategies: {
|
|
16
|
-
|
|
17
|
-
|
|
165
|
+
deduplication: {
|
|
166
|
+
enabled: true,
|
|
167
|
+
protectedTools: [...DEFAULT_PROTECTED_TOOLS]
|
|
168
|
+
},
|
|
169
|
+
pruneThinkingBlocks: {
|
|
170
|
+
enabled: false
|
|
171
|
+
},
|
|
172
|
+
pruneTool: {
|
|
173
|
+
enabled: true,
|
|
174
|
+
protectedTools: [...DEFAULT_PROTECTED_TOOLS],
|
|
175
|
+
nudge: {
|
|
176
|
+
enabled: true,
|
|
177
|
+
frequency: 10
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
onIdle: {
|
|
181
|
+
enabled: false,
|
|
182
|
+
showModelErrorToasts: true,
|
|
183
|
+
strictModelSelection: false,
|
|
184
|
+
protectedTools: [...DEFAULT_PROTECTED_TOOLS]
|
|
185
|
+
}
|
|
18
186
|
}
|
|
19
187
|
};
|
|
20
|
-
const VALID_CONFIG_KEYS = new Set([
|
|
21
|
-
'enabled',
|
|
22
|
-
'debug',
|
|
23
|
-
'protectedTools',
|
|
24
|
-
'model',
|
|
25
|
-
'showModelErrorToasts',
|
|
26
|
-
'showUpdateToasts',
|
|
27
|
-
'strictModelSelection',
|
|
28
|
-
'pruning_summary',
|
|
29
|
-
'nudge_freq',
|
|
30
|
-
'strategies'
|
|
31
|
-
]);
|
|
32
188
|
const GLOBAL_CONFIG_DIR = join(homedir(), '.config', 'opencode');
|
|
33
189
|
const GLOBAL_CONFIG_PATH_JSONC = join(GLOBAL_CONFIG_DIR, 'dcp.jsonc');
|
|
34
190
|
const GLOBAL_CONFIG_PATH_JSON = join(GLOBAL_CONFIG_DIR, 'dcp.json');
|
|
@@ -79,139 +235,201 @@ function createDefaultConfig() {
|
|
|
79
235
|
"enabled": true,
|
|
80
236
|
// Enable debug logging to ~/.config/opencode/logs/dcp/
|
|
81
237
|
"debug": false,
|
|
82
|
-
// Override model for analysis (format: "provider/model", e.g. "anthropic/claude-haiku-4-5")
|
|
83
|
-
// "model": "anthropic/claude-haiku-4-5",
|
|
84
|
-
// Show toast notifications when model selection fails
|
|
85
|
-
"showModelErrorToasts": true,
|
|
86
238
|
// Show toast notifications when a new version is available
|
|
87
239
|
"showUpdateToasts": true,
|
|
88
|
-
// Only run AI analysis with session model or configured model (disables fallback models)
|
|
89
|
-
"strictModelSelection": false,
|
|
90
|
-
// AI analysis strategies (deduplication runs automatically on every request)
|
|
91
|
-
"strategies": {
|
|
92
|
-
// Strategies to run when session goes idle
|
|
93
|
-
"onIdle": ["ai-analysis"],
|
|
94
|
-
// Strategies to run when AI calls prune tool
|
|
95
|
-
"onTool": ["ai-analysis"]
|
|
96
|
-
},
|
|
97
240
|
// Summary display: "off", "minimal", or "detailed"
|
|
98
|
-
"
|
|
99
|
-
//
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
241
|
+
"pruningSummary": "detailed",
|
|
242
|
+
// Strategies for pruning tokens from chat history
|
|
243
|
+
"strategies": {
|
|
244
|
+
// Remove duplicate tool calls (same tool with same arguments)
|
|
245
|
+
"deduplication": {
|
|
246
|
+
"enabled": true,
|
|
247
|
+
// Additional tools to protect from pruning
|
|
248
|
+
"protectedTools": []
|
|
249
|
+
},
|
|
250
|
+
// Remove thinking/reasoning LLM blocks
|
|
251
|
+
"pruneThinkingBlocks": {
|
|
252
|
+
"enabled": false
|
|
253
|
+
},
|
|
254
|
+
// Exposes a prune tool to your LLM to call when it determines pruning is necessary
|
|
255
|
+
"pruneTool": {
|
|
256
|
+
"enabled": true,
|
|
257
|
+
// Additional tools to protect from pruning
|
|
258
|
+
"protectedTools": [],
|
|
259
|
+
// Nudge the LLM to use the prune tool (every <frequency> tool results)
|
|
260
|
+
"nudge": {
|
|
261
|
+
"enabled": true,
|
|
262
|
+
"frequency": 10
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
// (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
|
|
266
|
+
"onIdle": {
|
|
267
|
+
"enabled": false,
|
|
268
|
+
// Override model for analysis (format: "provider/model")
|
|
269
|
+
// "model": "anthropic/claude-haiku-4-5",
|
|
270
|
+
// Show toast notifications when model selection fails
|
|
271
|
+
"showModelErrorToasts": true,
|
|
272
|
+
// When true, fallback models are not permitted
|
|
273
|
+
"strictModelSelection": false,
|
|
274
|
+
// Additional tools to protect from pruning
|
|
275
|
+
"protectedTools": []
|
|
276
|
+
}
|
|
277
|
+
}
|
|
103
278
|
}
|
|
104
279
|
`;
|
|
105
280
|
writeFileSync(GLOBAL_CONFIG_PATH_JSONC, configContent, 'utf-8');
|
|
106
281
|
}
|
|
107
282
|
function loadConfigFile(configPath) {
|
|
283
|
+
let fileContent;
|
|
108
284
|
try {
|
|
109
|
-
|
|
110
|
-
return parse(fileContent);
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
return null;
|
|
285
|
+
fileContent = readFileSync(configPath, 'utf-8');
|
|
114
286
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
for (const key of Object.keys(config)) {
|
|
119
|
-
if (!VALID_CONFIG_KEYS.has(key)) {
|
|
120
|
-
invalidKeys.push(key);
|
|
121
|
-
}
|
|
287
|
+
catch {
|
|
288
|
+
// File doesn't exist or can't be read - not a parse error
|
|
289
|
+
return { data: null };
|
|
122
290
|
}
|
|
123
|
-
return invalidKeys;
|
|
124
|
-
}
|
|
125
|
-
function backupAndResetConfig(configPath, logger) {
|
|
126
291
|
try {
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return backupPath;
|
|
292
|
+
const parsed = parse(fileContent);
|
|
293
|
+
if (parsed === undefined || parsed === null) {
|
|
294
|
+
return { data: null, parseError: 'Config file is empty or invalid' };
|
|
295
|
+
}
|
|
296
|
+
return { data: parsed };
|
|
133
297
|
}
|
|
134
298
|
catch (error) {
|
|
135
|
-
|
|
136
|
-
return null;
|
|
299
|
+
return { data: null, parseError: error.message || 'Failed to parse config' };
|
|
137
300
|
}
|
|
138
301
|
}
|
|
139
302
|
function mergeStrategies(base, override) {
|
|
140
303
|
if (!override)
|
|
141
304
|
return base;
|
|
142
305
|
return {
|
|
143
|
-
|
|
144
|
-
|
|
306
|
+
deduplication: {
|
|
307
|
+
enabled: override.deduplication?.enabled ?? base.deduplication.enabled,
|
|
308
|
+
protectedTools: [
|
|
309
|
+
...new Set([
|
|
310
|
+
...base.deduplication.protectedTools,
|
|
311
|
+
...(override.deduplication?.protectedTools ?? [])
|
|
312
|
+
])
|
|
313
|
+
]
|
|
314
|
+
},
|
|
315
|
+
pruneThinkingBlocks: {
|
|
316
|
+
enabled: override.pruneThinkingBlocks?.enabled ?? base.pruneThinkingBlocks.enabled
|
|
317
|
+
},
|
|
318
|
+
onIdle: {
|
|
319
|
+
enabled: override.onIdle?.enabled ?? base.onIdle.enabled,
|
|
320
|
+
model: override.onIdle?.model ?? base.onIdle.model,
|
|
321
|
+
showModelErrorToasts: override.onIdle?.showModelErrorToasts ?? base.onIdle.showModelErrorToasts,
|
|
322
|
+
strictModelSelection: override.onIdle?.strictModelSelection ?? base.onIdle.strictModelSelection,
|
|
323
|
+
protectedTools: [
|
|
324
|
+
...new Set([
|
|
325
|
+
...base.onIdle.protectedTools,
|
|
326
|
+
...(override.onIdle?.protectedTools ?? [])
|
|
327
|
+
])
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
pruneTool: {
|
|
331
|
+
enabled: override.pruneTool?.enabled ?? base.pruneTool.enabled,
|
|
332
|
+
protectedTools: [
|
|
333
|
+
...new Set([
|
|
334
|
+
...base.pruneTool.protectedTools,
|
|
335
|
+
...(override.pruneTool?.protectedTools ?? [])
|
|
336
|
+
])
|
|
337
|
+
],
|
|
338
|
+
nudge: {
|
|
339
|
+
enabled: override.pruneTool?.nudge?.enabled ?? base.pruneTool.nudge.enabled,
|
|
340
|
+
frequency: override.pruneTool?.nudge?.frequency ?? base.pruneTool.nudge.frequency
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
function deepCloneConfig(config) {
|
|
346
|
+
return {
|
|
347
|
+
...config,
|
|
348
|
+
strategies: {
|
|
349
|
+
deduplication: {
|
|
350
|
+
...config.strategies.deduplication,
|
|
351
|
+
protectedTools: [...config.strategies.deduplication.protectedTools]
|
|
352
|
+
},
|
|
353
|
+
pruneThinkingBlocks: { ...config.strategies.pruneThinkingBlocks },
|
|
354
|
+
onIdle: {
|
|
355
|
+
...config.strategies.onIdle,
|
|
356
|
+
protectedTools: [...config.strategies.onIdle.protectedTools]
|
|
357
|
+
},
|
|
358
|
+
pruneTool: {
|
|
359
|
+
...config.strategies.pruneTool,
|
|
360
|
+
protectedTools: [...config.strategies.pruneTool.protectedTools],
|
|
361
|
+
nudge: { ...config.strategies.pruneTool.nudge }
|
|
362
|
+
}
|
|
363
|
+
}
|
|
145
364
|
};
|
|
146
365
|
}
|
|
147
366
|
export function getConfig(ctx) {
|
|
148
|
-
let config =
|
|
367
|
+
let config = deepCloneConfig(defaultConfig);
|
|
149
368
|
const configPaths = getConfigPaths(ctx);
|
|
150
|
-
|
|
151
|
-
const migrations = [];
|
|
369
|
+
// Load and merge global config
|
|
152
370
|
if (configPaths.global) {
|
|
153
|
-
const
|
|
154
|
-
if (
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
371
|
+
const result = loadConfigFile(configPaths.global);
|
|
372
|
+
if (result.parseError) {
|
|
373
|
+
setTimeout(async () => {
|
|
374
|
+
try {
|
|
375
|
+
ctx.client.tui.showToast({
|
|
376
|
+
body: {
|
|
377
|
+
title: "DCP: Invalid config",
|
|
378
|
+
message: `${configPaths.global}\n${result.parseError}\nUsing default values`,
|
|
379
|
+
variant: "warning",
|
|
380
|
+
duration: 7000
|
|
381
|
+
}
|
|
382
|
+
});
|
|
161
383
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
};
|
|
176
|
-
logger.info('config', 'Loaded global config', { path: configPaths.global });
|
|
177
|
-
}
|
|
384
|
+
catch { }
|
|
385
|
+
}, 7000);
|
|
386
|
+
}
|
|
387
|
+
else if (result.data) {
|
|
388
|
+
// Validate config keys and types
|
|
389
|
+
showConfigValidationWarnings(ctx, configPaths.global, result.data, false);
|
|
390
|
+
config = {
|
|
391
|
+
enabled: result.data.enabled ?? config.enabled,
|
|
392
|
+
debug: result.data.debug ?? config.debug,
|
|
393
|
+
showUpdateToasts: result.data.showUpdateToasts ?? config.showUpdateToasts,
|
|
394
|
+
pruningSummary: result.data.pruningSummary ?? config.pruningSummary,
|
|
395
|
+
strategies: mergeStrategies(config.strategies, result.data.strategies)
|
|
396
|
+
};
|
|
178
397
|
}
|
|
179
398
|
}
|
|
180
399
|
else {
|
|
400
|
+
// No config exists, create default
|
|
181
401
|
createDefaultConfig();
|
|
182
|
-
logger.info('config', 'Created default global config', { path: GLOBAL_CONFIG_PATH_JSONC });
|
|
183
402
|
}
|
|
403
|
+
// Load and merge project config (overrides global)
|
|
184
404
|
if (configPaths.project) {
|
|
185
|
-
const
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
405
|
+
const result = loadConfigFile(configPaths.project);
|
|
406
|
+
if (result.parseError) {
|
|
407
|
+
setTimeout(async () => {
|
|
408
|
+
try {
|
|
409
|
+
ctx.client.tui.showToast({
|
|
410
|
+
body: {
|
|
411
|
+
title: "DCP: Invalid project config",
|
|
412
|
+
message: `${configPaths.project}\n${result.parseError}\nUsing global/default values`,
|
|
413
|
+
variant: "warning",
|
|
414
|
+
duration: 7000
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
catch { }
|
|
419
|
+
}, 7000);
|
|
420
|
+
}
|
|
421
|
+
else if (result.data) {
|
|
422
|
+
// Validate config keys and types
|
|
423
|
+
showConfigValidationWarnings(ctx, configPaths.project, result.data, true);
|
|
424
|
+
config = {
|
|
425
|
+
enabled: result.data.enabled ?? config.enabled,
|
|
426
|
+
debug: result.data.debug ?? config.debug,
|
|
427
|
+
showUpdateToasts: result.data.showUpdateToasts ?? config.showUpdateToasts,
|
|
428
|
+
pruningSummary: result.data.pruningSummary ?? config.pruningSummary,
|
|
429
|
+
strategies: mergeStrategies(config.strategies, result.data.strategies)
|
|
430
|
+
};
|
|
210
431
|
}
|
|
211
432
|
}
|
|
212
|
-
|
|
213
|
-
logger.debug('config', 'No project config found', { searchedFrom: ctx.directory });
|
|
214
|
-
}
|
|
215
|
-
return { config, migrations };
|
|
433
|
+
return config;
|
|
216
434
|
}
|
|
217
435
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -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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"}
|
package/dist/lib/hooks.d.ts
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SessionState, WithParts } from "./state";
|
|
2
2
|
import type { Logger } from "./logger";
|
|
3
|
-
import type { JanitorContext } from "./core/janitor";
|
|
4
3
|
import type { PluginConfig } from "./config";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export declare function createChatMessageTransformHandler(client: any, state: SessionState, logger: Logger, config: PluginConfig): (input: {}, output: {
|
|
5
|
+
messages: WithParts[];
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
export declare function createEventHandler(client: any, config: PluginConfig, state: SessionState, logger: Logger, workingDirectory?: string): ({ event }: {
|
|
8
8
|
event: any;
|
|
9
9
|
}) => Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* Creates the chat.params hook for model caching and Google tool call mapping.
|
|
12
|
-
*/
|
|
13
|
-
export declare function createChatParamsHandler(client: any, state: PluginState, logger: Logger, toolTracker?: ToolTracker): (input: any, _output: any) => Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Finds the current agent from messages by scanning backward for user messages.
|
|
16
|
-
*/
|
|
17
|
-
export declare function findCurrentAgent(messages: any[]): string | undefined;
|
|
18
10
|
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/lib/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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"}
|