greprag 5.48.0 → 5.49.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/dist/commands/checkpoint-helpers.js +6 -1
- package/dist/commands/checkpoint-helpers.js.map +1 -1
- package/dist/commands/crush.d.ts +9 -0
- package/dist/commands/crush.js +39 -0
- package/dist/commands/crush.js.map +1 -1
- package/dist/commands/fix.js +7 -3
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/init.js +47 -49
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/opencode-relay.d.ts +14 -8
- package/dist/commands/opencode-relay.js +15 -19
- package/dist/commands/opencode-relay.js.map +1 -1
- package/dist/commands/watcher-registry.js +4 -2
- package/dist/commands/watcher-registry.js.map +1 -1
- package/dist/crush/code-compressor.d.ts +61 -0
- package/dist/crush/code-compressor.js +359 -0
- package/dist/crush/code-compressor.js.map +1 -0
- package/dist/crush/crush-types.d.ts +1 -1
- package/dist/crush/index.d.ts +1 -0
- package/dist/crush/index.js +6 -1
- package/dist/crush/index.js.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/opencode-plugin-crush.d.ts +137 -0
- package/dist/opencode-plugin-crush.js +278 -0
- package/dist/opencode-plugin-crush.js.map +1 -0
- package/dist/opencode-plugin.bundle.js +2447 -0
- package/dist/opencode-plugin.d.ts +6 -0
- package/dist/opencode-plugin.js +124 -72
- package/dist/opencode-plugin.js.map +1 -1
- package/dist/session-id.d.ts +9 -0
- package/dist/session-id.js +15 -0
- package/dist/session-id.js.map +1 -1
- package/dist/worktree-state.js +5 -5
- package/dist/worktree-state.js.map +1 -1
- package/package.json +3 -2
- package/scripts/bundle-opencode-plugin.mjs +54 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/** opencode-plugin-crush.ts — the inline outbound-context CRUSHER for opencode.
|
|
2
|
+
*
|
|
3
|
+
* WHY THIS EXISTS — Claude Code's harness can only REWRITE a bash command to
|
|
4
|
+
* pipe its output through `greprag crush` (the pipe-wrap PreToolUse hook); it
|
|
5
|
+
* cannot replace context already sitting in the outbound message array. opencode
|
|
6
|
+
* CAN: `experimental.chat.messages.transform` fires before every LLM call with
|
|
7
|
+
* the full outbound `output.messages` in hand. This module is the engine the
|
|
8
|
+
* plugin's transform hook runs — it walks the message parts and crushes the
|
|
9
|
+
* bulky ones IN-PROCESS (no per-part subprocess), reversibly, reusing greprag's
|
|
10
|
+
* existing crush engine.
|
|
11
|
+
*
|
|
12
|
+
* HARD CONSTRAINTS this design serves:
|
|
13
|
+
* - DEP-FREE. The deployed plugin loads its sidecars by absolute path from
|
|
14
|
+
* ~/.greprag/ under Bun, where neither relative `require('./proc')` nor
|
|
15
|
+
* npm deps like `sql.js` resolve. So this file imports ONLY the pure crush
|
|
16
|
+
* engine (`./crush`, zero deps, deployed as ~/.greprag/crush/) — nothing
|
|
17
|
+
* else. The CCR store (sql.js) and the spawn wrapper (proc) are NOT imported
|
|
18
|
+
* here; CCR persistence is INJECTED via the `stash` callback so the sidecar
|
|
19
|
+
* stays loadable inside the plugin.
|
|
20
|
+
* - IN-PROCESS transform. The crush compression (CPU-bound, runs for every
|
|
21
|
+
* crushable part of every message on every LLM call) never spawns a process.
|
|
22
|
+
* Only the rare PERSISTENCE of an original is delegated (the plugin's stash
|
|
23
|
+
* fires `greprag ccr put` once per part actually crushed — off the hot path).
|
|
24
|
+
*
|
|
25
|
+
* INVARIANTS (mirror adr/crush-engine.md, enforced per-field here):
|
|
26
|
+
* - Reversible: a crushed field becomes `<crushed>\n<<ccr:HASH>>`; the stash
|
|
27
|
+
* callback persists the byte-exact original so `greprag retrieve <hash>`
|
|
28
|
+
* recovers it. HASH is sha256(original)[:16] — the SAME value CcrStore.put
|
|
29
|
+
* computes, so the plugin can compute it in-process and the CLI store agrees.
|
|
30
|
+
* - token-validate-or-revert (Headroom): a field is replaced ONLY when the
|
|
31
|
+
* crushed + marker text costs strictly fewer estimated tokens; else the
|
|
32
|
+
* original is kept untouched.
|
|
33
|
+
* - Idempotent: a field already carrying a `<<ccr:` marker is never re-crushed.
|
|
34
|
+
* - DETERMINISTIC (= cache-preserving): crush is a PURE function of the field
|
|
35
|
+
* content — same bytes in, byte-identical bytes out, every call. opencode
|
|
36
|
+
* hands us the ORIGINAL message array each LLM call, so a deterministic crush
|
|
37
|
+
* reproduces the SAME crushed prefix → the Anthropic prompt cache stays warm.
|
|
38
|
+
* This is why Headroom's literal "skip already-cached blocks" does NOT port:
|
|
39
|
+
* skipping = forwarding originals = a DIFFERENT (larger) prefix = a cache
|
|
40
|
+
* BREAK. Deterministic crush is the portable equivalent of live-zone-only —
|
|
41
|
+
* it preserves the cache by being reproducible, not by leaving history alone.
|
|
42
|
+
* The optional per-session `memo` (below) is a pure CPU optimization on top:
|
|
43
|
+
* it skips RE-CRUSHING unchanged history parts; it never changes the bytes.
|
|
44
|
+
* - Non-destructive: mutates ONLY the message objects it is handed (the
|
|
45
|
+
* request-scoped `output.messages` copy). It never touches opencode's
|
|
46
|
+
* persisted session history — that contract is the caller's to honor by
|
|
47
|
+
* passing the request-scoped array.
|
|
48
|
+
* - Defensive: every part is processed under try/catch — a crush failure is
|
|
49
|
+
* swallowed and the part is left verbatim, so a turn is NEVER broken.
|
|
50
|
+
*/
|
|
51
|
+
export type CrushType = 'log' | 'search' | 'json' | 'code';
|
|
52
|
+
/** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker(). */
|
|
53
|
+
export declare function ccrMarker(hash: string): string;
|
|
54
|
+
/** Default byte floor — fields smaller than this pass through untouched. */
|
|
55
|
+
export declare const DEFAULT_THRESHOLD_BYTES = 2048;
|
|
56
|
+
/** Persist the byte-exact `original` into the CCR store and return its 16-hex
|
|
57
|
+
* marker hash. Injected so this sidecar stays dep-free:
|
|
58
|
+
* - CLI / unit test: backed by CcrStore.put (sql.js, synchronous, byte-exact).
|
|
59
|
+
* - opencode plugin: sha256 in-process + fire-and-forget `greprag ccr put`. */
|
|
60
|
+
export type CcrStash = (original: string, sourceType: CrushType) => string;
|
|
61
|
+
/** Default cap on memo entries — a long marathon session has thousands of
|
|
62
|
+
* history parts, but only the bulky (over-floor) ones ever reach the memo, and
|
|
63
|
+
* FIFO eviction keeps memory bounded regardless of session length. */
|
|
64
|
+
export declare const DEFAULT_MEMO_ENTRIES = 1024;
|
|
65
|
+
/** A bounded content→replacement cache. Keys are content hashes; values are the
|
|
66
|
+
* crush RESULT for that exact content (a replacement string, or `null` for
|
|
67
|
+
* "left verbatim"). Reused across every `crushMessages` call in one session so
|
|
68
|
+
* unchanged history parts are not re-crushed each LLM turn. */
|
|
69
|
+
export interface CrushMemo {
|
|
70
|
+
has(key: string): boolean;
|
|
71
|
+
get(key: string): string | null | undefined;
|
|
72
|
+
set(key: string, value: string | null): void;
|
|
73
|
+
readonly size: number;
|
|
74
|
+
}
|
|
75
|
+
/** FIFO-bounded memo. `set` keeps the FIRST value for a key (crush is
|
|
76
|
+
* deterministic, so re-sets would be identical anyway) and evicts the oldest
|
|
77
|
+
* entry once `maxEntries` is exceeded — never unbounded growth. */
|
|
78
|
+
export declare function createCrushMemo(maxEntries?: number): CrushMemo;
|
|
79
|
+
/** Cheap, dependency-free content key for the memo: length + two independent
|
|
80
|
+
* rolling hashes (FNV-1a 32 + djb2). The length prefix plus two hashes make a
|
|
81
|
+
* collision astronomically unlikely at any realistic session size — and a memo
|
|
82
|
+
* is only ever a CPU shortcut, so the worst theoretical case (a collision) is
|
|
83
|
+
* bounded by the determinism contract: identical content always crushes the
|
|
84
|
+
* same, so we never want two DIFFERENT contents to share a key, which the
|
|
85
|
+
* length+double-hash composite guards against. */
|
|
86
|
+
export declare function memoKey(content: string): string;
|
|
87
|
+
export interface CrushMessagesOptions {
|
|
88
|
+
/** Persist the original; returns the 16-hex marker hash. Required. */
|
|
89
|
+
stash: CcrStash;
|
|
90
|
+
/** Byte floor for crushing a field. Default DEFAULT_THRESHOLD_BYTES. */
|
|
91
|
+
thresholdBytes?: number;
|
|
92
|
+
/** Optional bounded per-session memo (see createCrushMemo). Lets a long
|
|
93
|
+
* session skip re-crushing unchanged history parts every LLM call — a CPU
|
|
94
|
+
* win, the portable equivalent of Headroom's live-zone-only. Never changes
|
|
95
|
+
* output bytes (determinism is preserved with or without it). */
|
|
96
|
+
memo?: CrushMemo;
|
|
97
|
+
}
|
|
98
|
+
export interface CrushMessagesStats {
|
|
99
|
+
/** Fields replaced with crushed + marker text. */
|
|
100
|
+
partsCrushed: number;
|
|
101
|
+
/** Fields left verbatim (below threshold, already-marked, or a thrown crush). */
|
|
102
|
+
partsSkipped: number;
|
|
103
|
+
/** Fields the engine could not shrink — token-validate-or-revert kept them. */
|
|
104
|
+
partsReverted: number;
|
|
105
|
+
/** Total bytes of the over-threshold fields seen. */
|
|
106
|
+
bytesBefore: number;
|
|
107
|
+
/** Total bytes of those fields after processing. */
|
|
108
|
+
bytesAfter: number;
|
|
109
|
+
/** Heavy-path invocations of crushField (over-floor, unmarked, memo miss). */
|
|
110
|
+
crushFieldCalls: number;
|
|
111
|
+
/** Over-floor fields served from the memo without re-running crushField. */
|
|
112
|
+
memoHits: number;
|
|
113
|
+
}
|
|
114
|
+
/** Pick the crush engine for a raw content string. Output-shape heuristics,
|
|
115
|
+
* since (unlike pipe-wrap) we see the OUTPUT, not the producing command:
|
|
116
|
+
* - leading `{` / `[` → json
|
|
117
|
+
* - majority `file:line:` → search (grep/rg match lines, incl. `-`-context)
|
|
118
|
+
* - reads as source code → code (imports/signatures kept, bodies elided)
|
|
119
|
+
* - else → log (the safe generalist: keeps errors + traces,
|
|
120
|
+
* dedupes spam; a misclassified field just
|
|
121
|
+
* compresses less, never wrongly).
|
|
122
|
+
* Code is tested AFTER json/search (those have sharper signals) and BEFORE the
|
|
123
|
+
* log fallback; `looksLikeCode` is conservative so a log/prose field never
|
|
124
|
+
* routes here (it would only compress less, but the contract is: don't misroute). */
|
|
125
|
+
export declare function classifyContent(text: string): CrushType;
|
|
126
|
+
/** Crush one content string. Returns the replacement (`<crushed>\n<<ccr:HASH>>`)
|
|
127
|
+
* or null to leave the original UNTOUCHED. Honors byte threshold, idempotency,
|
|
128
|
+
* passthrough, and token-validate-or-revert. The stash side effect fires ONLY
|
|
129
|
+
* on a real crush (after validation passes), so a reverted/skipped field is
|
|
130
|
+
* never persisted. */
|
|
131
|
+
export declare function crushField(content: string, stash: CcrStash, thresholdBytes?: number): string | null;
|
|
132
|
+
/** Walk an opencode outbound message array (`output.messages`) and crush its
|
|
133
|
+
* bulky parts in place. Each message is `{ info, parts[] }`. Every part is
|
|
134
|
+
* processed under try/catch — a thrown crush (or a thrown stash) is swallowed,
|
|
135
|
+
* the part is left verbatim, and the walk continues: a crush failure NEVER
|
|
136
|
+
* breaks the turn. Non-array / malformed input is handled defensively. */
|
|
137
|
+
export declare function crushMessages(messages: unknown, opts: CrushMessagesOptions): CrushMessagesStats;
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// adr: adr/opencode-context-compressor.md
|
|
3
|
+
/** opencode-plugin-crush.ts — the inline outbound-context CRUSHER for opencode.
|
|
4
|
+
*
|
|
5
|
+
* WHY THIS EXISTS — Claude Code's harness can only REWRITE a bash command to
|
|
6
|
+
* pipe its output through `greprag crush` (the pipe-wrap PreToolUse hook); it
|
|
7
|
+
* cannot replace context already sitting in the outbound message array. opencode
|
|
8
|
+
* CAN: `experimental.chat.messages.transform` fires before every LLM call with
|
|
9
|
+
* the full outbound `output.messages` in hand. This module is the engine the
|
|
10
|
+
* plugin's transform hook runs — it walks the message parts and crushes the
|
|
11
|
+
* bulky ones IN-PROCESS (no per-part subprocess), reversibly, reusing greprag's
|
|
12
|
+
* existing crush engine.
|
|
13
|
+
*
|
|
14
|
+
* HARD CONSTRAINTS this design serves:
|
|
15
|
+
* - DEP-FREE. The deployed plugin loads its sidecars by absolute path from
|
|
16
|
+
* ~/.greprag/ under Bun, where neither relative `require('./proc')` nor
|
|
17
|
+
* npm deps like `sql.js` resolve. So this file imports ONLY the pure crush
|
|
18
|
+
* engine (`./crush`, zero deps, deployed as ~/.greprag/crush/) — nothing
|
|
19
|
+
* else. The CCR store (sql.js) and the spawn wrapper (proc) are NOT imported
|
|
20
|
+
* here; CCR persistence is INJECTED via the `stash` callback so the sidecar
|
|
21
|
+
* stays loadable inside the plugin.
|
|
22
|
+
* - IN-PROCESS transform. The crush compression (CPU-bound, runs for every
|
|
23
|
+
* crushable part of every message on every LLM call) never spawns a process.
|
|
24
|
+
* Only the rare PERSISTENCE of an original is delegated (the plugin's stash
|
|
25
|
+
* fires `greprag ccr put` once per part actually crushed — off the hot path).
|
|
26
|
+
*
|
|
27
|
+
* INVARIANTS (mirror adr/crush-engine.md, enforced per-field here):
|
|
28
|
+
* - Reversible: a crushed field becomes `<crushed>\n<<ccr:HASH>>`; the stash
|
|
29
|
+
* callback persists the byte-exact original so `greprag retrieve <hash>`
|
|
30
|
+
* recovers it. HASH is sha256(original)[:16] — the SAME value CcrStore.put
|
|
31
|
+
* computes, so the plugin can compute it in-process and the CLI store agrees.
|
|
32
|
+
* - token-validate-or-revert (Headroom): a field is replaced ONLY when the
|
|
33
|
+
* crushed + marker text costs strictly fewer estimated tokens; else the
|
|
34
|
+
* original is kept untouched.
|
|
35
|
+
* - Idempotent: a field already carrying a `<<ccr:` marker is never re-crushed.
|
|
36
|
+
* - DETERMINISTIC (= cache-preserving): crush is a PURE function of the field
|
|
37
|
+
* content — same bytes in, byte-identical bytes out, every call. opencode
|
|
38
|
+
* hands us the ORIGINAL message array each LLM call, so a deterministic crush
|
|
39
|
+
* reproduces the SAME crushed prefix → the Anthropic prompt cache stays warm.
|
|
40
|
+
* This is why Headroom's literal "skip already-cached blocks" does NOT port:
|
|
41
|
+
* skipping = forwarding originals = a DIFFERENT (larger) prefix = a cache
|
|
42
|
+
* BREAK. Deterministic crush is the portable equivalent of live-zone-only —
|
|
43
|
+
* it preserves the cache by being reproducible, not by leaving history alone.
|
|
44
|
+
* The optional per-session `memo` (below) is a pure CPU optimization on top:
|
|
45
|
+
* it skips RE-CRUSHING unchanged history parts; it never changes the bytes.
|
|
46
|
+
* - Non-destructive: mutates ONLY the message objects it is handed (the
|
|
47
|
+
* request-scoped `output.messages` copy). It never touches opencode's
|
|
48
|
+
* persisted session history — that contract is the caller's to honor by
|
|
49
|
+
* passing the request-scoped array.
|
|
50
|
+
* - Defensive: every part is processed under try/catch — a crush failure is
|
|
51
|
+
* swallowed and the part is left verbatim, so a turn is NEVER broken.
|
|
52
|
+
*/
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.DEFAULT_MEMO_ENTRIES = exports.DEFAULT_THRESHOLD_BYTES = void 0;
|
|
55
|
+
exports.ccrMarker = ccrMarker;
|
|
56
|
+
exports.createCrushMemo = createCrushMemo;
|
|
57
|
+
exports.memoKey = memoKey;
|
|
58
|
+
exports.classifyContent = classifyContent;
|
|
59
|
+
exports.crushField = crushField;
|
|
60
|
+
exports.crushMessages = crushMessages;
|
|
61
|
+
const crush_1 = require("./crush");
|
|
62
|
+
// ---------- CCR marker (inlined — see header: ccr-store.ts drags sql.js) ------
|
|
63
|
+
/** First 16 hex of sha256 — must match ccr-store.ts CCR_MARKER_HASH_LEN. */
|
|
64
|
+
const CCR_MARKER_HASH_LEN = 16;
|
|
65
|
+
/** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker(). */
|
|
66
|
+
function ccrMarker(hash) {
|
|
67
|
+
return `<<ccr:${hash.slice(0, CCR_MARKER_HASH_LEN)}>>`;
|
|
68
|
+
}
|
|
69
|
+
/** Already-crushed detector — idempotency guard. */
|
|
70
|
+
const CCR_MARKER_RE = /<<ccr:/;
|
|
71
|
+
/** Fixed length of `\n` + `<<ccr:` + 16-hex + `>>` appended to a crushed field. */
|
|
72
|
+
const FINAL_MARKER_OVERHEAD = 1 + '<<ccr:'.length + CCR_MARKER_HASH_LEN + '>>'.length; // 25
|
|
73
|
+
/** Default byte floor — fields smaller than this pass through untouched. */
|
|
74
|
+
exports.DEFAULT_THRESHOLD_BYTES = 2048;
|
|
75
|
+
// ---------- Per-session crush memo (bounded; pure CPU optimization) ----------
|
|
76
|
+
/** Default cap on memo entries — a long marathon session has thousands of
|
|
77
|
+
* history parts, but only the bulky (over-floor) ones ever reach the memo, and
|
|
78
|
+
* FIFO eviction keeps memory bounded regardless of session length. */
|
|
79
|
+
exports.DEFAULT_MEMO_ENTRIES = 1024;
|
|
80
|
+
/** FIFO-bounded memo. `set` keeps the FIRST value for a key (crush is
|
|
81
|
+
* deterministic, so re-sets would be identical anyway) and evicts the oldest
|
|
82
|
+
* entry once `maxEntries` is exceeded — never unbounded growth. */
|
|
83
|
+
function createCrushMemo(maxEntries = exports.DEFAULT_MEMO_ENTRIES) {
|
|
84
|
+
const map = new Map();
|
|
85
|
+
return {
|
|
86
|
+
has: (k) => map.has(k),
|
|
87
|
+
get: (k) => map.get(k),
|
|
88
|
+
set: (k, v) => {
|
|
89
|
+
if (map.has(k))
|
|
90
|
+
return;
|
|
91
|
+
map.set(k, v);
|
|
92
|
+
if (map.size > maxEntries) {
|
|
93
|
+
const oldest = map.keys().next().value;
|
|
94
|
+
if (oldest !== undefined)
|
|
95
|
+
map.delete(oldest);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
get size() { return map.size; },
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/** Cheap, dependency-free content key for the memo: length + two independent
|
|
102
|
+
* rolling hashes (FNV-1a 32 + djb2). The length prefix plus two hashes make a
|
|
103
|
+
* collision astronomically unlikely at any realistic session size — and a memo
|
|
104
|
+
* is only ever a CPU shortcut, so the worst theoretical case (a collision) is
|
|
105
|
+
* bounded by the determinism contract: identical content always crushes the
|
|
106
|
+
* same, so we never want two DIFFERENT contents to share a key, which the
|
|
107
|
+
* length+double-hash composite guards against. */
|
|
108
|
+
function memoKey(content) {
|
|
109
|
+
let h1 = 0x811c9dc5; // FNV-1a 32-bit
|
|
110
|
+
let h2 = 5381; // djb2
|
|
111
|
+
for (let i = 0; i < content.length; i++) {
|
|
112
|
+
const c = content.charCodeAt(i);
|
|
113
|
+
h1 ^= c;
|
|
114
|
+
h1 = Math.imul(h1, 0x01000193);
|
|
115
|
+
h2 = (Math.imul(h2, 33) + c) | 0;
|
|
116
|
+
}
|
|
117
|
+
return `${content.length.toString(36)}:${(h1 >>> 0).toString(36)}:${(h2 >>> 0).toString(36)}`;
|
|
118
|
+
}
|
|
119
|
+
// ---------- Content classifier (pure) ----------------------------------------
|
|
120
|
+
/** Pick the crush engine for a raw content string. Output-shape heuristics,
|
|
121
|
+
* since (unlike pipe-wrap) we see the OUTPUT, not the producing command:
|
|
122
|
+
* - leading `{` / `[` → json
|
|
123
|
+
* - majority `file:line:` → search (grep/rg match lines, incl. `-`-context)
|
|
124
|
+
* - reads as source code → code (imports/signatures kept, bodies elided)
|
|
125
|
+
* - else → log (the safe generalist: keeps errors + traces,
|
|
126
|
+
* dedupes spam; a misclassified field just
|
|
127
|
+
* compresses less, never wrongly).
|
|
128
|
+
* Code is tested AFTER json/search (those have sharper signals) and BEFORE the
|
|
129
|
+
* log fallback; `looksLikeCode` is conservative so a log/prose field never
|
|
130
|
+
* routes here (it would only compress less, but the contract is: don't misroute). */
|
|
131
|
+
function classifyContent(text) {
|
|
132
|
+
const t = text.trimStart();
|
|
133
|
+
const head = t[0];
|
|
134
|
+
if (head === '{' || head === '[')
|
|
135
|
+
return 'json';
|
|
136
|
+
const lines = t.split('\n', 21).map(l => l.trim()).filter(Boolean).slice(0, 20);
|
|
137
|
+
if (lines.length) {
|
|
138
|
+
const matchLike = lines.filter(l => /^.+?[:\-]\d+[:\-]/.test(l)).length;
|
|
139
|
+
if (matchLike / lines.length >= 0.6)
|
|
140
|
+
return 'search';
|
|
141
|
+
}
|
|
142
|
+
if ((0, crush_1.looksLikeCode)(t))
|
|
143
|
+
return 'code';
|
|
144
|
+
return 'log';
|
|
145
|
+
}
|
|
146
|
+
function runEngine(type, content) {
|
|
147
|
+
switch (type) {
|
|
148
|
+
case 'search': return (0, crush_1.crushSearch)(content, '');
|
|
149
|
+
case 'json': return (0, crush_1.crushJson)(content);
|
|
150
|
+
case 'code': return (0, crush_1.crushCode)(content);
|
|
151
|
+
default: return (0, crush_1.crushLog)(content);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// ---------- Single-field crush (pure except injected stash) -------------------
|
|
155
|
+
/** Crush one content string. Returns the replacement (`<crushed>\n<<ccr:HASH>>`)
|
|
156
|
+
* or null to leave the original UNTOUCHED. Honors byte threshold, idempotency,
|
|
157
|
+
* passthrough, and token-validate-or-revert. The stash side effect fires ONLY
|
|
158
|
+
* on a real crush (after validation passes), so a reverted/skipped field is
|
|
159
|
+
* never persisted. */
|
|
160
|
+
function crushField(content, stash, thresholdBytes = exports.DEFAULT_THRESHOLD_BYTES) {
|
|
161
|
+
if (typeof content !== 'string')
|
|
162
|
+
return null;
|
|
163
|
+
if (CCR_MARKER_RE.test(content))
|
|
164
|
+
return null; // idempotent
|
|
165
|
+
if (Buffer.byteLength(content, 'utf8') < thresholdBytes)
|
|
166
|
+
return null; // below floor
|
|
167
|
+
const type = classifyContent(content);
|
|
168
|
+
const result = runEngine(type, content);
|
|
169
|
+
if (result.stats.passthrough)
|
|
170
|
+
return null; // engine declined
|
|
171
|
+
const crushed = result.output;
|
|
172
|
+
// token-validate-or-revert: the FINAL field (crushed + fixed-size marker)
|
|
173
|
+
// must cost strictly fewer estimated tokens than the original. Estimate from
|
|
174
|
+
// length (same ceil(chars/4) basis as estimateTokens) so we never run the
|
|
175
|
+
// stash side effect for a non-win.
|
|
176
|
+
const finalTokens = Math.ceil((crushed.length + FINAL_MARKER_OVERHEAD) / 4);
|
|
177
|
+
if (finalTokens >= (0, crush_1.estimateTokens)(content))
|
|
178
|
+
return null;
|
|
179
|
+
const hash = stash(content, type);
|
|
180
|
+
return `${crushed}\n${ccrMarker(hash)}`;
|
|
181
|
+
}
|
|
182
|
+
// ---------- Message-array walker ----------------------------------------------
|
|
183
|
+
/** Apply crushField to one object's string field, accounting stats and
|
|
184
|
+
* mutating in place on a real crush. When a `memo` is supplied, the heavy
|
|
185
|
+
* crushField path is skipped for content already seen this session — the
|
|
186
|
+
* memoized replacement (or `null`) is reused. The memo is keyed by the
|
|
187
|
+
* ORIGINAL content, and crush is deterministic, so the reused value is exactly
|
|
188
|
+
* what crushField would recompute; the original was already stashed on the
|
|
189
|
+
* first (miss) crush, so skipping re-stash is safe for retrieve. */
|
|
190
|
+
function crushAndApply(obj, key, stash, thresholdBytes, stats, memo) {
|
|
191
|
+
const content = obj[key];
|
|
192
|
+
if (typeof content !== 'string')
|
|
193
|
+
return;
|
|
194
|
+
const bytes = Buffer.byteLength(content, 'utf8');
|
|
195
|
+
if (bytes < thresholdBytes) {
|
|
196
|
+
stats.partsSkipped++;
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (CCR_MARKER_RE.test(content)) {
|
|
200
|
+
stats.partsSkipped++;
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
stats.bytesBefore += bytes;
|
|
204
|
+
let replacement;
|
|
205
|
+
if (memo) {
|
|
206
|
+
const k = memoKey(content);
|
|
207
|
+
if (memo.has(k)) {
|
|
208
|
+
replacement = memo.get(k) ?? null;
|
|
209
|
+
stats.memoHits++;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
replacement = crushField(content, stash, thresholdBytes);
|
|
213
|
+
stats.crushFieldCalls++;
|
|
214
|
+
memo.set(k, replacement);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
replacement = crushField(content, stash, thresholdBytes);
|
|
219
|
+
stats.crushFieldCalls++;
|
|
220
|
+
}
|
|
221
|
+
if (replacement === null) {
|
|
222
|
+
stats.partsReverted++;
|
|
223
|
+
stats.bytesAfter += bytes;
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
obj[key] = replacement;
|
|
227
|
+
stats.partsCrushed++;
|
|
228
|
+
stats.bytesAfter += Buffer.byteLength(replacement, 'utf8');
|
|
229
|
+
}
|
|
230
|
+
/** Crush the bulky fields of one opencode message part:
|
|
231
|
+
* - text part → `.text`
|
|
232
|
+
* - tool part → `.state.output` (only when state.status === 'completed';
|
|
233
|
+
* an 'error' state's `.error` is precious — left alone). */
|
|
234
|
+
function processPart(part, stash, thresholdBytes, stats, memo) {
|
|
235
|
+
if (!part || typeof part !== 'object')
|
|
236
|
+
return;
|
|
237
|
+
const p = part;
|
|
238
|
+
if (p.type === 'text' && typeof p.text === 'string') {
|
|
239
|
+
crushAndApply(p, 'text', stash, thresholdBytes, stats, memo);
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (p.type === 'tool' && p.state && typeof p.state === 'object') {
|
|
243
|
+
const state = p.state;
|
|
244
|
+
if (state.status === 'completed' && typeof state.output === 'string') {
|
|
245
|
+
crushAndApply(state, 'output', stash, thresholdBytes, stats, memo);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/** Walk an opencode outbound message array (`output.messages`) and crush its
|
|
250
|
+
* bulky parts in place. Each message is `{ info, parts[] }`. Every part is
|
|
251
|
+
* processed under try/catch — a thrown crush (or a thrown stash) is swallowed,
|
|
252
|
+
* the part is left verbatim, and the walk continues: a crush failure NEVER
|
|
253
|
+
* breaks the turn. Non-array / malformed input is handled defensively. */
|
|
254
|
+
function crushMessages(messages, opts) {
|
|
255
|
+
const stats = {
|
|
256
|
+
partsCrushed: 0, partsSkipped: 0, partsReverted: 0, bytesBefore: 0, bytesAfter: 0,
|
|
257
|
+
crushFieldCalls: 0, memoHits: 0,
|
|
258
|
+
};
|
|
259
|
+
const thresholdBytes = opts.thresholdBytes ?? exports.DEFAULT_THRESHOLD_BYTES;
|
|
260
|
+
if (!Array.isArray(messages))
|
|
261
|
+
return stats;
|
|
262
|
+
for (const msg of messages) {
|
|
263
|
+
const parts = msg && typeof msg === 'object' ? msg.parts : null;
|
|
264
|
+
if (!Array.isArray(parts))
|
|
265
|
+
continue;
|
|
266
|
+
for (const part of parts) {
|
|
267
|
+
try {
|
|
268
|
+
processPart(part, opts.stash, thresholdBytes, stats, opts.memo);
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
// per-part swallow — a crush/stash failure must never break the turn
|
|
272
|
+
stats.partsSkipped++;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return stats;
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=opencode-plugin-crush.js.map
|