@tarquinen/opencode-dcp 0.2.6 → 0.2.8
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 +14 -18
- package/dist/lib/janitor.d.ts +4 -0
- package/dist/lib/janitor.d.ts.map +1 -1
- package/dist/lib/janitor.js +62 -25
- package/dist/lib/janitor.js.map +1 -1
- package/dist/lib/tokenizer.d.ts +24 -0
- package/dist/lib/tokenizer.d.ts.map +1 -0
- package/dist/lib/tokenizer.js +49 -0
- package/dist/lib/tokenizer.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -42,6 +42,12 @@ Project configuration takes precedence over global configuration. The plugin cre
|
|
|
42
42
|
// Enable debug logging to ~/.config/opencode/logs/dcp/YYYY-MM-DD.log
|
|
43
43
|
"debug": false,
|
|
44
44
|
|
|
45
|
+
// Optional: Use a specific model for analysis (otherwise uses session model or smart fallbacks)
|
|
46
|
+
// "model": "anthropic/claude-haiku-4-5",
|
|
47
|
+
|
|
48
|
+
// Show toast notifications when model selection fails and falls back
|
|
49
|
+
"showModelErrorToasts": true,
|
|
50
|
+
|
|
45
51
|
// List of tools that should never be pruned from context
|
|
46
52
|
// The 'task' tool is protected by default to preserve subagent coordination
|
|
47
53
|
"protectedTools": ["task"]
|
|
@@ -89,27 +95,17 @@ The global config (`~/.config/opencode/dcp.jsonc`) is automatically created on f
|
|
|
89
95
|
- **`debug`** (boolean, default: `false`)
|
|
90
96
|
Enable detailed debug logging. Logs are written to `~/.config/opencode/logs/dcp/YYYY-MM-DD.log`.
|
|
91
97
|
|
|
98
|
+
- **`model`** (string, optional)
|
|
99
|
+
Optional: Specify a model to use for analysis in "provider/model" format (e.g., `"anthropic/claude-haiku-4-5"`). When not specified, the plugin uses the current session model or falls back to authenticated providers in priority order.
|
|
100
|
+
|
|
101
|
+
- **`showModelErrorToasts`** (boolean, default: `true`)
|
|
102
|
+
Show toast notifications when model selection fails and falls back to another model. Set to `false` to disable these informational toasts.
|
|
103
|
+
|
|
92
104
|
- **`protectedTools`** (string[], default: `["task"]`)
|
|
93
105
|
List of tool names that should never be pruned from context. The `task` tool is protected by default to ensure subagent coordination works correctly.
|
|
94
106
|
|
|
95
107
|
After modifying the configuration, restart OpenCode for changes to take effect.
|
|
96
108
|
|
|
97
|
-
OpenCode automatically installs plugins from npm to `~/.cache/opencode/node_modules/`. To force an update to the latest version:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
cd ~/.cache/opencode
|
|
101
|
-
rm -rf node_modules/@tarquinen
|
|
102
|
-
sed -i.bak '/"@tarquinen\/opencode-dcp"/d' package.json
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Then restart OpenCode, and it will automatically install the latest version.
|
|
106
|
-
|
|
107
|
-
To check your current version:
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
cat ~/.cache/opencode/node_modules/@tarquinen/opencode-dcp/package.json | grep version
|
|
111
|
-
```
|
|
112
|
-
|
|
113
109
|
To check the latest available version:
|
|
114
110
|
|
|
115
111
|
```bash
|
|
@@ -118,12 +114,12 @@ npm view @tarquinen/opencode-dcp version
|
|
|
118
114
|
|
|
119
115
|
### Version Pinning
|
|
120
116
|
|
|
121
|
-
If you want to ensure a specific version is always used, you can pin it in your config:
|
|
117
|
+
If you want to ensure a specific version is always used or update your version, you can pin it in your config:
|
|
122
118
|
|
|
123
119
|
```json
|
|
124
120
|
{
|
|
125
121
|
"plugin": [
|
|
126
|
-
"@tarquinen/opencode-dcp@0.2.
|
|
122
|
+
"@tarquinen/opencode-dcp@0.2.7"
|
|
127
123
|
]
|
|
128
124
|
}
|
|
129
125
|
```
|
package/dist/lib/janitor.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export declare class Janitor {
|
|
|
14
14
|
modelID: string;
|
|
15
15
|
}>, configModel?: string | undefined, // Format: "provider/model"
|
|
16
16
|
showModelErrorToasts?: boolean);
|
|
17
|
+
/**
|
|
18
|
+
* Sends an ignored message to the session UI (user sees it, AI doesn't)
|
|
19
|
+
*/
|
|
20
|
+
private sendIgnoredMessage;
|
|
17
21
|
run(sessionID: string): Promise<void>;
|
|
18
22
|
}
|
|
19
23
|
//# sourceMappingURL=janitor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"janitor.d.ts","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"janitor.d.ts","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,qBAAa,OAAO;IAEZ,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,oBAAoB;gBAPpB,MAAM,EAAE,GAAG,EACX,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAChE,WAAW,CAAC,EAAE,MAAM,YAAA,EAAE,2BAA2B;IACjD,oBAAoB,GAAE,OAAc;IAGhD;;OAEG;YACW,kBAAkB;IA4B1B,GAAG,CAAC,SAAS,EAAE,MAAM;CAid9B"}
|
package/dist/lib/janitor.js
CHANGED
|
@@ -2,6 +2,7 @@ import { generateObject } from "ai";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { buildAnalysisPrompt } from "./prompt";
|
|
4
4
|
import { selectModel, extractModelFromSession } from "./model-selector";
|
|
5
|
+
import { estimateTokensBatch, formatTokenCount } from "./tokenizer";
|
|
5
6
|
export class Janitor {
|
|
6
7
|
client;
|
|
7
8
|
stateManager;
|
|
@@ -23,6 +24,37 @@ export class Janitor {
|
|
|
23
24
|
this.configModel = configModel;
|
|
24
25
|
this.showModelErrorToasts = showModelErrorToasts;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Sends an ignored message to the session UI (user sees it, AI doesn't)
|
|
29
|
+
*/
|
|
30
|
+
async sendIgnoredMessage(sessionID, text) {
|
|
31
|
+
try {
|
|
32
|
+
await this.client.session.prompt({
|
|
33
|
+
path: {
|
|
34
|
+
id: sessionID
|
|
35
|
+
},
|
|
36
|
+
body: {
|
|
37
|
+
noReply: true, // Don't wait for AI response
|
|
38
|
+
parts: [{
|
|
39
|
+
type: 'text',
|
|
40
|
+
text: text,
|
|
41
|
+
ignored: true
|
|
42
|
+
}]
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
this.logger.debug("janitor", "Sent ignored message to session", {
|
|
46
|
+
sessionID,
|
|
47
|
+
textLength: text.length
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.logger.error("janitor", "Failed to send ignored message", {
|
|
52
|
+
sessionID,
|
|
53
|
+
error: error.message
|
|
54
|
+
});
|
|
55
|
+
// Don't fail the operation if sending the message fails
|
|
56
|
+
}
|
|
57
|
+
}
|
|
26
58
|
async run(sessionID) {
|
|
27
59
|
this.logger.info("janitor", "Starting analysis", { sessionID });
|
|
28
60
|
try {
|
|
@@ -283,16 +315,28 @@ export class Janitor {
|
|
|
283
315
|
newlyPrunedCount: newlyPrunedIds.length,
|
|
284
316
|
newlyPrunedIds: newlyPrunedIds
|
|
285
317
|
});
|
|
286
|
-
// Calculate
|
|
287
|
-
|
|
318
|
+
// Calculate token savings from newly pruned tool outputs
|
|
319
|
+
// Use accurate tokenization with gpt-tokenizer
|
|
320
|
+
let totalTokensSaved = 0;
|
|
321
|
+
const outputsToTokenize = [];
|
|
288
322
|
for (const prunedId of newlyPrunedIds) {
|
|
289
323
|
const output = toolOutputs.get(prunedId);
|
|
290
324
|
if (output) {
|
|
291
|
-
|
|
325
|
+
outputsToTokenize.push(output);
|
|
292
326
|
}
|
|
293
327
|
}
|
|
294
|
-
|
|
295
|
-
|
|
328
|
+
if (outputsToTokenize.length > 0) {
|
|
329
|
+
// Use batch tokenization for efficiency
|
|
330
|
+
const tokenCounts = estimateTokensBatch(outputsToTokenize, this.logger);
|
|
331
|
+
totalTokensSaved = tokenCounts.reduce((sum, count) => sum + count, 0);
|
|
332
|
+
this.logger.debug("janitor", "Token estimation complete", {
|
|
333
|
+
sessionID,
|
|
334
|
+
outputCount: outputsToTokenize.length,
|
|
335
|
+
totalTokens: totalTokensSaved,
|
|
336
|
+
avgTokensPerOutput: Math.round(totalTokensSaved / outputsToTokenize.length)
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
const estimatedTokensSaved = totalTokensSaved;
|
|
296
340
|
// Merge newly pruned IDs with existing ones (using expanded IDs)
|
|
297
341
|
const allPrunedIds = [...new Set([...alreadyPrunedIds, ...finalPrunedIds])];
|
|
298
342
|
await this.stateManager.set(sessionID, allPrunedIds);
|
|
@@ -344,30 +388,30 @@ export class Janitor {
|
|
|
344
388
|
if (metadata.parameters) {
|
|
345
389
|
// For read tool, show filePath
|
|
346
390
|
if (toolName === "read" && metadata.parameters.filePath) {
|
|
347
|
-
paramInfo = truncate(shortenPath(metadata.parameters.filePath),
|
|
391
|
+
paramInfo = truncate(shortenPath(metadata.parameters.filePath), 80);
|
|
348
392
|
}
|
|
349
393
|
// For list tool, show path
|
|
350
394
|
else if (toolName === "list" && metadata.parameters.path) {
|
|
351
|
-
paramInfo = truncate(shortenPath(metadata.parameters.path),
|
|
395
|
+
paramInfo = truncate(shortenPath(metadata.parameters.path), 80);
|
|
352
396
|
}
|
|
353
397
|
// For bash/command tools, prefer description over command
|
|
354
398
|
else if (toolName === "bash") {
|
|
355
399
|
if (metadata.parameters.description) {
|
|
356
|
-
paramInfo = truncate(metadata.parameters.description,
|
|
400
|
+
paramInfo = truncate(metadata.parameters.description, 80);
|
|
357
401
|
}
|
|
358
402
|
else if (metadata.parameters.command) {
|
|
359
|
-
paramInfo = truncate(metadata.parameters.command,
|
|
403
|
+
paramInfo = truncate(metadata.parameters.command, 80);
|
|
360
404
|
}
|
|
361
405
|
}
|
|
362
406
|
// For other tools, show the first relevant parameter
|
|
363
407
|
else if (metadata.parameters.path) {
|
|
364
|
-
paramInfo = truncate(shortenPath(metadata.parameters.path),
|
|
408
|
+
paramInfo = truncate(shortenPath(metadata.parameters.path), 80);
|
|
365
409
|
}
|
|
366
410
|
else if (metadata.parameters.pattern) {
|
|
367
|
-
paramInfo = truncate(metadata.parameters.pattern,
|
|
411
|
+
paramInfo = truncate(metadata.parameters.pattern, 80);
|
|
368
412
|
}
|
|
369
413
|
else if (metadata.parameters.command) {
|
|
370
|
-
paramInfo = truncate(metadata.parameters.command,
|
|
414
|
+
paramInfo = truncate(metadata.parameters.command, 80);
|
|
371
415
|
}
|
|
372
416
|
}
|
|
373
417
|
if (paramInfo) {
|
|
@@ -381,10 +425,10 @@ export class Janitor {
|
|
|
381
425
|
});
|
|
382
426
|
}
|
|
383
427
|
}
|
|
384
|
-
// Format the message with tool details
|
|
428
|
+
// Format the message with tool details using improved UI
|
|
385
429
|
const toolText = newlyPrunedIds.length === 1 ? 'tool' : 'tools';
|
|
386
|
-
const
|
|
387
|
-
let message =
|
|
430
|
+
const tokensFormatted = formatTokenCount(estimatedTokensSaved);
|
|
431
|
+
let message = `🧹 DCP: Saved ~${tokensFormatted} tokens (${newlyPrunedIds.length} ${toolText} pruned)\n`;
|
|
388
432
|
for (const [toolName, params] of toolsSummary.entries()) {
|
|
389
433
|
if (params.length > 0) {
|
|
390
434
|
message += `\n${toolName} (${params.length}):\n`;
|
|
@@ -403,19 +447,12 @@ export class Janitor {
|
|
|
403
447
|
}
|
|
404
448
|
}
|
|
405
449
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
message: message.trim(),
|
|
410
|
-
variant: "success",
|
|
411
|
-
duration: 8000 // Longer duration since we're showing more info
|
|
412
|
-
}
|
|
413
|
-
});
|
|
414
|
-
this.logger.info("janitor", "Toast notification shown", {
|
|
450
|
+
// Send as an ignored message (user sees, AI doesn't)
|
|
451
|
+
await this.sendIgnoredMessage(sessionID, message.trim());
|
|
452
|
+
this.logger.info("janitor", "Pruning notification sent", {
|
|
415
453
|
sessionID,
|
|
416
454
|
prunedCount: newlyPrunedIds.length,
|
|
417
455
|
estimatedTokensSaved,
|
|
418
|
-
totalCharsSaved,
|
|
419
456
|
toolsSummary: Array.from(toolsSummary.entries())
|
|
420
457
|
});
|
|
421
458
|
}
|
package/dist/lib/janitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"janitor.js","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"janitor.js","sourceRoot":"","sources":["../../lib/janitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token counting utilities using gpt-tokenizer
|
|
3
|
+
*
|
|
4
|
+
* Uses gpt-tokenizer to provide token counts for text content.
|
|
5
|
+
* Works with any LLM provider - provides accurate counts for OpenAI models
|
|
6
|
+
* and reasonable approximations for other providers.
|
|
7
|
+
*/
|
|
8
|
+
import type { Logger } from './logger';
|
|
9
|
+
/**
|
|
10
|
+
* Batch estimates tokens for multiple text samples
|
|
11
|
+
*
|
|
12
|
+
* @param texts - Array of text strings to tokenize
|
|
13
|
+
* @param logger - Optional logger instance
|
|
14
|
+
* @returns Array of token counts
|
|
15
|
+
*/
|
|
16
|
+
export declare function estimateTokensBatch(texts: string[], logger?: Logger): number[];
|
|
17
|
+
/**
|
|
18
|
+
* Formats token count for display (e.g., 1500 -> "1.5K", 50 -> "50")
|
|
19
|
+
*
|
|
20
|
+
* @param tokens - Number of tokens
|
|
21
|
+
* @returns Formatted string
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatTokenCount(tokens: number): string;
|
|
24
|
+
//# sourceMappingURL=tokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../lib/tokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAsBV;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKvD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token counting utilities using gpt-tokenizer
|
|
3
|
+
*
|
|
4
|
+
* Uses gpt-tokenizer to provide token counts for text content.
|
|
5
|
+
* Works with any LLM provider - provides accurate counts for OpenAI models
|
|
6
|
+
* and reasonable approximations for other providers.
|
|
7
|
+
*/
|
|
8
|
+
import { encode } from 'gpt-tokenizer';
|
|
9
|
+
/**
|
|
10
|
+
* Batch estimates tokens for multiple text samples
|
|
11
|
+
*
|
|
12
|
+
* @param texts - Array of text strings to tokenize
|
|
13
|
+
* @param logger - Optional logger instance
|
|
14
|
+
* @returns Array of token counts
|
|
15
|
+
*/
|
|
16
|
+
export function estimateTokensBatch(texts, logger) {
|
|
17
|
+
try {
|
|
18
|
+
const results = texts.map(text => {
|
|
19
|
+
const tokens = encode(text);
|
|
20
|
+
return tokens.length;
|
|
21
|
+
});
|
|
22
|
+
logger?.debug('tokenizer', 'Batch token estimation complete', {
|
|
23
|
+
batchSize: texts.length,
|
|
24
|
+
totalTokens: results.reduce((sum, count) => sum + count, 0),
|
|
25
|
+
avgTokensPerText: Math.round(results.reduce((sum, count) => sum + count, 0) / results.length)
|
|
26
|
+
});
|
|
27
|
+
return results;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
logger?.warn('tokenizer', 'Batch tokenization failed, using fallback', {
|
|
31
|
+
error: error.message
|
|
32
|
+
});
|
|
33
|
+
// Fallback to character-based estimation
|
|
34
|
+
return texts.map(text => Math.round(text.length / 4));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Formats token count for display (e.g., 1500 -> "1.5K", 50 -> "50")
|
|
39
|
+
*
|
|
40
|
+
* @param tokens - Number of tokens
|
|
41
|
+
* @returns Formatted string
|
|
42
|
+
*/
|
|
43
|
+
export function formatTokenCount(tokens) {
|
|
44
|
+
if (tokens >= 1000) {
|
|
45
|
+
return `${(tokens / 1000).toFixed(1)}K`.replace('.0K', 'K');
|
|
46
|
+
}
|
|
47
|
+
return tokens.toString();
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../lib/tokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAe,EACf,MAAe;IAEf,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,iCAAiC,EAAE;YAC1D,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;YAC3D,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;SAChG,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,2CAA2C,EAAE;YACnE,KAAK,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAA;QAEF,yCAAyC;QACzC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC5B,CAAC"}
|
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": "0.2.
|
|
4
|
+
"version": "0.2.8",
|
|
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",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"@opencode-ai/sdk": "latest",
|
|
42
42
|
"@tarquinen/opencode-auth-provider": "^0.1.3",
|
|
43
43
|
"ai": "^5.0.98",
|
|
44
|
+
"gpt-tokenizer": "^3.4.0",
|
|
44
45
|
"jsonc-parser": "^3.3.1",
|
|
45
46
|
"zod": "^4.1.12"
|
|
46
47
|
},
|