@tarquinen/opencode-dcp 2.1.0 → 2.1.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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const COMPRESS = "Use this tool to collapse a contiguous range of conversation into a preserved summary.\n\nTHE PHILOSOPHY OF COMPRESS\n`compress` transforms verbose conversation sequences into dense, high-fidelity summaries. This is not cleanup - it is crystallization. Your summary becomes the authoritative record of what transpired.\n\nThink of compression as phase transitions: raw exploration becomes refined understanding. The original context served its purpose; your summary now carries that understanding forward.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings... EVERYTHING that maintains context integrity. This is not a brief note - it is an authoritative record so faithful that the original conversation adds no value.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool outputs, back-and-forth exploration. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nTHE WAYS OF COMPRESS\n`compress` when a chapter closes - when a phase of work is truly complete and the raw conversation has served its purpose:\n\nResearch concluded and findings are clear\nImplementation finished and verified\nExploration exhausted and patterns understood\n\nDo NOT compress when:\nYou may need exact code, error messages, or file contents from the range\nWork in that area is still active or may resume\nYou're mid-sprint on related functionality\n\nBefore compressing, ask: _\"Is this chapter closed?\"_ Compression is irreversible. The summary replaces everything in the range.\n\nBOUNDARY MATCHING\nYou specify boundaries by matching unique text strings in the conversation. CRITICAL: In code-centric conversations, strings repeat often. Provide sufficiently unique text to match exactly once. If a match fails (not found or found multiple times), the tool will error - extend your boundary string with more surrounding context in order to make SURE the tool does NOT error.\n\nTHE FORMAT OF COMPRESS\n`topic`: Short label (3-5 words) for display - e.g., \"Auth System Exploration\"\n`content`: Object containing:\n`startString`: Unique text string marking the beginning of the range\n`endString`: Unique text string marking the end of the range\n`summary`: Complete technical summary replacing all content in the range\n";
|
|
1
|
+
export declare const COMPRESS = "Use this tool to collapse a contiguous range of conversation into a preserved summary.\n\nTHE PHILOSOPHY OF COMPRESS\n`compress` transforms verbose conversation sequences into dense, high-fidelity summaries. This is not cleanup - it is crystallization. Your summary becomes the authoritative record of what transpired.\n\nThink of compression as phase transitions: raw exploration becomes refined understanding. The original context served its purpose; your summary now carries that understanding forward.\n\nTHE SUMMARY\nYour summary must be EXHAUSTIVE. Capture file paths, function signatures, decisions made, constraints discovered, key findings... EVERYTHING that maintains context integrity. This is not a brief note - it is an authoritative record so faithful that the original conversation adds no value.\n\nYet be LEAN. Strip away the noise: failed attempts that led nowhere, verbose tool outputs, back-and-forth exploration. What remains should be pure signal - golden nuggets of detail that preserve full understanding with zero ambiguity.\n\nTHE WAYS OF COMPRESS\n`compress` when a chapter closes - when a phase of work is truly complete and the raw conversation has served its purpose:\n\nResearch concluded and findings are clear\nImplementation finished and verified\nExploration exhausted and patterns understood\n\nDo NOT compress when:\nYou may need exact code, error messages, or file contents from the range\nWork in that area is still active or may resume\nYou're mid-sprint on related functionality\n\nBefore compressing, ask: _\"Is this chapter closed?\"_ Compression is irreversible. The summary replaces everything in the range.\n\nBOUNDARY MATCHING\nYou specify boundaries by matching unique text strings in the conversation. CRITICAL: In code-centric conversations, strings repeat often. Provide sufficiently unique text to match exactly once. If a match fails (not found or found multiple times), the tool will error - extend your boundary string with more surrounding context in order to make SURE the tool does NOT error.\n\nWHERE TO PICK STRINGS FROM (important for reliable matching):\n\n- Your own assistant text responses (MOST RELIABLE - always stored verbatim)\n- The user's own words in their messages\n- Tool result output text (distinctive substrings within the output)\n- Previous compress summaries\n- Tool input string values (individual values, not whole serialized objects)\n\nWHERE TO NEVER PICK STRINGS FROM:\n\n- `<system-reminder>` tags or any XML wrapper/meta-commentary around messages\n- Injected system instructions (plan mode text, max-steps warnings, mode-switch text, environment info)\n- File/directory listing framing text (e.g. \"Called the Read tool with the following input...\")\n- Strings that span across message or part boundaries\n- Entire serialized JSON objects (key ordering may differ - pick a distinctive substring within instead)\n\nTHE FORMAT OF COMPRESS\n`topic`: Short label (3-5 words) for display - e.g., \"Auth System Exploration\"\n`content`: Object containing:\n`startString`: Unique text string marking the beginning of the range\n`endString`: Unique text string marking the end of the range\n`summary`: Complete technical summary replacing all content in the range\n";
|
|
2
2
|
//# sourceMappingURL=compress.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.generated.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/_codegen/compress.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"compress.generated.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/_codegen/compress.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,mrGAmDpB,CAAA"}
|
|
@@ -30,6 +30,22 @@ Before compressing, ask: _"Is this chapter closed?"_ Compression is irreversible
|
|
|
30
30
|
BOUNDARY MATCHING
|
|
31
31
|
You specify boundaries by matching unique text strings in the conversation. CRITICAL: In code-centric conversations, strings repeat often. Provide sufficiently unique text to match exactly once. If a match fails (not found or found multiple times), the tool will error - extend your boundary string with more surrounding context in order to make SURE the tool does NOT error.
|
|
32
32
|
|
|
33
|
+
WHERE TO PICK STRINGS FROM (important for reliable matching):
|
|
34
|
+
|
|
35
|
+
- Your own assistant text responses (MOST RELIABLE - always stored verbatim)
|
|
36
|
+
- The user's own words in their messages
|
|
37
|
+
- Tool result output text (distinctive substrings within the output)
|
|
38
|
+
- Previous compress summaries
|
|
39
|
+
- Tool input string values (individual values, not whole serialized objects)
|
|
40
|
+
|
|
41
|
+
WHERE TO NEVER PICK STRINGS FROM:
|
|
42
|
+
|
|
43
|
+
- \`<system-reminder>\` tags or any XML wrapper/meta-commentary around messages
|
|
44
|
+
- Injected system instructions (plan mode text, max-steps warnings, mode-switch text, environment info)
|
|
45
|
+
- File/directory listing framing text (e.g. "Called the Read tool with the following input...")
|
|
46
|
+
- Strings that span across message or part boundaries
|
|
47
|
+
- Entire serialized JSON objects (key ordering may differ - pick a distinctive substring within instead)
|
|
48
|
+
|
|
33
49
|
THE FORMAT OF COMPRESS
|
|
34
50
|
\`topic\`: Short label (3-5 words) for display - e.g., "Auth System Exploration"
|
|
35
51
|
\`content\`: Object containing:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.generated.js","sourceRoot":"","sources":["../../../../lib/prompts/_codegen/compress.generated.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,4DAA4D;AAC5D,iEAAiE;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"compress.generated.js","sourceRoot":"","sources":["../../../../lib/prompts/_codegen/compress.generated.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,4DAA4D;AAC5D,iEAAiE;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDvB,CAAA"}
|
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": "2.1.
|
|
4
|
+
"version": "2.1.1",
|
|
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",
|