opencode-acp 1.18.4 → 1.18.5-pr.408.227
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/index.js +711 -515
- package/dist/index.js.map +1 -1
- package/dist/lib/compress/decompress.d.ts.map +1 -1
- package/dist/lib/compress/range.d.ts.map +1 -1
- package/dist/lib/config-validation.d.ts.map +1 -1
- package/dist/lib/config.d.ts +13 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/messages/sticky-truncation.d.ts +55 -0
- package/dist/lib/messages/sticky-truncation.d.ts.map +1 -0
- package/dist/lib/messages/truncate-tools.d.ts.map +1 -1
- package/dist/lib/state/persistence.d.ts +2 -0
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts +17 -0
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +10 -0
- package/dist/lib/state/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../lib/compress/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAoSvF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../lib/compress/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAoSvF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA8L5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../lib/compress/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAwCrE,wBAAgB,iBAAiB,CAC7B,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,OAAO,CAKT;AAqDD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../lib/compress/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAwCrE,wBAAgB,iBAAiB,CAC7B,iBAAiB,EAAE,OAAO,EAC1B,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,OAAO,CAKT;AAqDD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAyT/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../lib/config-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../lib/config-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB,aA4E5B,CAAA;AA8BF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EAAE,CA6hClF"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -115,6 +115,19 @@ export interface CompressConfig {
|
|
|
115
115
|
* fallback for models with no declared limit.output).
|
|
116
116
|
*/
|
|
117
117
|
completionReserveTokens?: number;
|
|
118
|
+
/**
|
|
119
|
+
* [Issue #485] Master switch for the per-request emergency truncation
|
|
120
|
+
* guards (truncateLargeToolOutputs + enforceContextBudget). Default
|
|
121
|
+
* false: the truncation is view-only (never persisted to the session
|
|
122
|
+
* store), so a session hovering at the guard threshold oscillates
|
|
123
|
+
* between truncated and pristine tool outputs — every flip invalidates
|
|
124
|
+
* the provider prefix cache from that message onward, and with opencode
|
|
125
|
+
* retrying on a busy backend the churn can take down the whole serving
|
|
126
|
+
* cluster. Set true to re-enable overflow protection at the cost of that
|
|
127
|
+
* oscillation risk (protects against the HTTP 400 → silent exit 0 wall,
|
|
128
|
+
* #346).
|
|
129
|
+
*/
|
|
130
|
+
emergencyTruncation?: boolean;
|
|
118
131
|
}
|
|
119
132
|
/**
|
|
120
133
|
* Nested `compress.reasoning` config (#368). Field-wise merge everywhere:
|
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;AAOtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CACxC,cAAc,EACZ,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,WAAW,GACX,QAAQ,CACb,CAAA;AAED,kFAAkF;AAClF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC,GAAG;IACtE,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAC/C,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACtC;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;IACtD;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;IACtD,gIAAgI;IAChI,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;IACrD;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IAChD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAA;IACnC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
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,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAkB5C,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAkB5C,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAsBhE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,OAAO,EAKH,KAAK,oBAAoB,EAC5B,MAAM,SAAS,CAAA;AA+BhB,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,IAGhB,OAAO;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE;QACH,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAC9D,CAAA;CACJ,EACD,QAAQ;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,mBAoFnC;AAED,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,sBAAsB,IAEzB,OAAO,EAAE,EAAE,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAoW7D;AAiBD,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,sBAAsB,IAGnC,OAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,KAAK,EAAE,GAAG,EAAE,CAAA;CAAE,mBA6D/B;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,IAEhF,OAAO;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/D,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,mBAoC/B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,IAC/D,OAAO;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBA4GtC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [Issue #485] Sticky emergency truncation.
|
|
3
|
+
*
|
|
4
|
+
* The emergency guards (`truncateLargeToolOutputs` + `enforceContextBudget`)
|
|
5
|
+
* operate on a fresh pristine copy of `output.messages` every request and
|
|
6
|
+
* gate on the LAST assistant's reported usage — which reflects the
|
|
7
|
+
* *truncated* request, not the pristine one. A session hovering at the guard
|
|
8
|
+
* threshold therefore oscillates: truncate (A→B) → smaller usage → no
|
|
9
|
+
* truncation next request (full A restored) → cache miss → over budget
|
|
10
|
+
* again. Every flip invalidates the provider prefix cache from that message
|
|
11
|
+
* onward, and with opencode auto-retrying on a busy backend the churn can
|
|
12
|
+
* take down the serving cluster.
|
|
13
|
+
*
|
|
14
|
+
* Stickiness makes the guard decision one-way: the first time a guard
|
|
15
|
+
* truncates (or clears) a tool output, the result is frozen in
|
|
16
|
+
* `state.stickyTruncations` keyed by tool call ID and replayed verbatim on
|
|
17
|
+
* every later request BEFORE the guards run. A→B→B→B — the truncated form
|
|
18
|
+
* never grows back. The full content stays in the session store (and on
|
|
19
|
+
* disk), so nothing is lost; the wire view is simply stable.
|
|
20
|
+
*/
|
|
21
|
+
import type { Logger } from "../logger";
|
|
22
|
+
import type { SessionState, WithParts } from "../state";
|
|
23
|
+
/**
|
|
24
|
+
* Replay frozen truncations onto the request copy, and prune entries whose
|
|
25
|
+
* call no longer exists in the projected view.
|
|
26
|
+
*
|
|
27
|
+
* [#485 review] Prune-on-vanish is intentionally coarse: a call absent from
|
|
28
|
+
* ONE request's projected view (content-based filter, mid-abort partial
|
|
29
|
+
* fetch) is treated like a deleted call and unfrozen. That is self-healing —
|
|
30
|
+
* if the call reappears pristine and a guard truncates it again, the new
|
|
31
|
+
* form is re-frozen — at the cost of a single pristine flip in that rare
|
|
32
|
+
* window.
|
|
33
|
+
*
|
|
34
|
+
* [#485 review] Replayed values are wire-only. If a provider legitimately
|
|
35
|
+
* reuses a callID for genuinely new output (not observed), the replay would
|
|
36
|
+
* mask the new content on the wire until the entry is pruned; the session
|
|
37
|
+
* store always keeps the authoritative full output.
|
|
38
|
+
*/
|
|
39
|
+
export declare function applyStickyTruncations(state: SessionState, messages: WithParts[], logger: Logger): void;
|
|
40
|
+
/**
|
|
41
|
+
* Snapshot callID → output for every completed tool part. Non-string
|
|
42
|
+
* outputs are stringified via `extractCompletedToolOutput` — the same
|
|
43
|
+
* normalization the guards use before truncating — so a guard turning an
|
|
44
|
+
* object output into a truncated string is detected as a change and frozen.
|
|
45
|
+
*/
|
|
46
|
+
export declare function snapshotToolOutputs(messages: WithParts[]): Map<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* Freeze any output the guards changed since `before`: a changed output is
|
|
49
|
+
* either a fresh truncation or a phase-2 clear — both must stick. Returns
|
|
50
|
+
* the number of entries frozen so the caller can persist immediately
|
|
51
|
+
* (every other save trigger in the transform hook fires EARLIER, so a quiet
|
|
52
|
+
* session would otherwise reach disk only via an unrelated later save).
|
|
53
|
+
*/
|
|
54
|
+
export declare function recordStickyTruncations(state: SessionState, messages: WithParts[], before: Map<string, string>, logger: Logger): number;
|
|
55
|
+
//# sourceMappingURL=sticky-truncation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sticky-truncation.d.ts","sourceRoot":"","sources":["../../../lib/messages/sticky-truncation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAuBvD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf,IAAI,CAgCN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,MAAM,EAAE,MAAM,GACf,MAAM,CAgBR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-tools.d.ts","sourceRoot":"","sources":["../../../lib/messages/truncate-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAgBlC,eAAO,MAAM,qBAAqB,QAAQ,CAAA;AAS1C,eAAO,MAAM,2BAA2B,OAAO,CAAA;AAyB/C;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,IAAI,
|
|
1
|
+
{"version":3,"file":"truncate-tools.d.ts","sourceRoot":"","sources":["../../../lib/messages/truncate-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAgBlC,eAAO,MAAM,qBAAqB,QAAQ,CAAA;AAS1C,eAAO,MAAM,2BAA2B,OAAO,CAAA;AAyB/C;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,IAAI,CAuGN"}
|
|
@@ -52,6 +52,8 @@ export interface PersistedSessionState {
|
|
|
52
52
|
modelID?: string;
|
|
53
53
|
/** [Issue #478] Archived image metadata index (raw message ID → entries) */
|
|
54
54
|
imageArchive?: Record<string, ArchivedImageEntry[]>;
|
|
55
|
+
/** [Issue #485] Sticky emergency truncations (tool call ID → frozen truncated output) */
|
|
56
|
+
stickyTruncations?: Record<string, string>;
|
|
55
57
|
}
|
|
56
58
|
/** Default storage directory: $XDG_DATA_HOME/opencode/storage/plugin/acp */
|
|
57
59
|
export declare function getDefaultStorageDir(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACR,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACf,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGvC,oCAAoC;AACpC,MAAM,WAAW,2BAA2B;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,2BAA2B,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,22 @@ import { type CompressionTimingState } from "../compress/timing";
|
|
|
7
7
|
* old `checkSession`; session-switch + init now live in SessionStateRegistry.
|
|
8
8
|
*/
|
|
9
9
|
export declare function updatePerTurnState(state: SessionState, logger: Logger, messages: WithParts[]): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* [Issue #404] Per-session FIFO mutex serializing same-session mutations
|
|
12
|
+
* (message transforms, compress/decompress tools, event-hook saves,
|
|
13
|
+
* system-hook limit writes). Node is single-threaded, but async work
|
|
14
|
+
* interleaves at awaits: without this, a stale transform resuming after a
|
|
15
|
+
* newer one can persist last-write-wins garbage over committed state.
|
|
16
|
+
* Chain-based promise queue (not a boolean flag): waiters line up in arrival
|
|
17
|
+
* order; the entry is deleted once the tail task finishes, so the map stays
|
|
18
|
+
* empty when idle and cannot leak.
|
|
19
|
+
*
|
|
20
|
+
* Run `fn` serialized against every other guard user of the same sessionId.
|
|
21
|
+
* MUST NOT be nested for the same session (deadlock) — callers acquire it
|
|
22
|
+
* exactly once at their outermost boundary.
|
|
23
|
+
*/
|
|
24
|
+
export type SessionGuard = <T>(sessionId: string, fn: () => Promise<T> | T) => Promise<T>;
|
|
25
|
+
export declare function createSessionGuard(): SessionGuard;
|
|
10
26
|
export declare class SessionStateRegistry {
|
|
11
27
|
private readonly logger;
|
|
12
28
|
private readonly projectDir?;
|
|
@@ -27,6 +43,7 @@ export declare class SessionStateRegistry {
|
|
|
27
43
|
get(sessionId: string): SessionState | undefined;
|
|
28
44
|
all(): SessionState[];
|
|
29
45
|
get size(): number;
|
|
46
|
+
withSessionGuard: SessionGuard;
|
|
30
47
|
getOrCreate(client: any, sessionId: string, messages: WithParts[], config?: PluginConfig): Promise<SessionState>;
|
|
31
48
|
private enforceSoftCap;
|
|
32
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAsB,YAAY,EAAsB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAEH,KAAK,sBAAsB,EAE9B,MAAM,oBAAoB,CAAA;AAoB3B;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAsB,YAAY,EAAsB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAEH,KAAK,sBAAsB,EAE9B,MAAM,oBAAoB,CAAA;AAoB3B;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAOD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAEzF,wBAAgB,kBAAkB,IAAI,YAAY,CA0BjD;AAaD,qBAAa,oBAAoB;IAezB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAfhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAGjD;IAOD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAG/B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,YAAA;IAGxC,gBAAgB,CACZ,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI;IAIP,iBAAiB,CACb,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS;IAIrB;;;;OAIG;IACH,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAY9D,OAAO,CAAC,aAAa,CAA6B;IAE5C,iBAAiB,CACnB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU9B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhD,GAAG,IAAI,YAAY,EAAE;IAIrB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAQD,gBAAgB,EAAE,YAAY,CAAuB;IAM/C,WAAW,CACb,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,YAAY,CAAC;IA4BxB,OAAO,CAAC,cAAc;CAWzB;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAkDjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA4C3D;AAWD,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,CAAC,EAAE,YAAY,EACrB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -207,5 +207,15 @@ export interface SessionState {
|
|
|
207
207
|
* image archive directory has run for this session in this process.
|
|
208
208
|
*/
|
|
209
209
|
imagePruneDone: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* [Issue #485] Sticky emergency truncations: tool call ID → the truncated
|
|
212
|
+
* output the guards last produced. Written when
|
|
213
|
+
* `compress.emergencyTruncation` is on and a guard truncates/clears a tool
|
|
214
|
+
* output; replayed verbatim on every later request so the decision is
|
|
215
|
+
* one-way (A→B→B→…) instead of oscillating back to the pristine output.
|
|
216
|
+
* Entries are pruned when their call disappears from the session.
|
|
217
|
+
* Persisted so stickiness survives restarts.
|
|
218
|
+
*/
|
|
219
|
+
stickyTruncations: Record<string, string>;
|
|
210
220
|
}
|
|
211
221
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "opencode-acp",
|
|
4
|
-
"version": "1.18.
|
|
4
|
+
"version": "1.18.5-pr.408.227",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Active Context Pruning — model-driven context management for OpenCode (hardened fork of DCP with 35 bug fixes)",
|
|
7
7
|
"main": "./dist/index.js",
|