opencode-acp 1.18.4 → 1.18.5-pr.490.223
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 +7 -0
- package/README.zh-CN.md +5 -0
- package/dist/index.js +819 -388
- package/dist/index.js.map +1 -1
- package/dist/lib/compress/image-archive.d.ts +2 -0
- package/dist/lib/compress/image-archive.d.ts.map +1 -1
- package/dist/lib/compress/image-tokens.d.ts +68 -0
- package/dist/lib/compress/image-tokens.d.ts.map +1 -0
- package/dist/lib/compress/status.d.ts.map +1 -1
- package/dist/lib/config-validation.d.ts.map +1 -1
- package/dist/lib/config.d.ts +25 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/messages/inject/inject.d.ts.map +1 -1
- package/dist/lib/messages/inject/utils.d.ts +2 -0
- package/dist/lib/messages/inject/utils.d.ts.map +1 -1
- package/dist/lib/messages/large-images.d.ts +35 -0
- package/dist/lib/messages/large-images.d.ts.map +1 -0
- 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/prompts/extensions/system.d.ts +6 -0
- package/dist/lib/prompts/extensions/system.d.ts.map +1 -1
- package/dist/lib/prompts/index.d.ts +1 -1
- package/dist/lib/prompts/index.d.ts.map +1 -1
- package/dist/lib/state/persistence.d.ts +4 -0
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +17 -0
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/token-utils.d.ts +14 -0
- package/dist/lib/token-utils.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@ import type { CompressImagesConfig } from "../config";
|
|
|
2
2
|
import type { Logger } from "../logger";
|
|
3
3
|
import type { SessionState, WithParts } from "../state/types";
|
|
4
4
|
import type { SelectionResolution } from "./types";
|
|
5
|
+
/** [Issue #478/#489] Short content fingerprint; shared with the image nudge dedup keys. */
|
|
6
|
+
export declare function sha8(input: string | Buffer): string;
|
|
5
7
|
/**
|
|
6
8
|
* [Issue #478] Parse an inline data-URL image attachment. Returns undefined for
|
|
7
9
|
* non-data URLs (file paths, http(s) links) which v1 does not archive.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-archive.d.ts","sourceRoot":"","sources":["../../../lib/compress/image-archive.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,KAAK,EAAsB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"image-archive.d.ts","sourceRoot":"","sources":["../../../lib/compress/image-archive.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,KAAK,EAAsB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAmBlD,2FAA2F;AAC3F,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GACvC;IACI,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACjB,GACD,SAAS,CAKd;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMxD;AAMD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,GACf,MAAM,CAgER;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,GACf,IAAI,CA6CN;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,GACjB,MAAM,CAkBR"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [Issue #489] Image token estimation for ACP metering.
|
|
3
|
+
*
|
|
4
|
+
* Before #489 every ACP counter treated inline image attachments (`file` parts
|
|
5
|
+
* carrying data-URLs) as zero tokens: usage fallback, context composition,
|
|
6
|
+
* compressible ranges, protected-zone sizing and per-message tags all skipped
|
|
7
|
+
* them. A multi-megabyte image could therefore enter context without any
|
|
8
|
+
* threshold or nudge reacting to its real size.
|
|
9
|
+
*
|
|
10
|
+
* This module estimates the context cost of one inline image part:
|
|
11
|
+
* - When pixel dimensions can be parsed from the container header, the vision
|
|
12
|
+
* billing formula applies (Anthropic-style: scale longest side to <=1568 px,
|
|
13
|
+
* 512x512 tiles x 167 tokens). It matches the order of magnitude used by the
|
|
14
|
+
* major vision providers (Anthropic / OpenAI / Gemini / Qwen-VL).
|
|
15
|
+
* - When dimensions cannot be parsed: payloads >= 256KB fall back to the tile
|
|
16
|
+
* cap (the maximum a vision model will bill); smaller payloads fall back to
|
|
17
|
+
* base64 length / 4, a reasonable proxy for small rasters.
|
|
18
|
+
*
|
|
19
|
+
* Providers that bill base64 as plain TEXT (non-vision models) charge far more
|
|
20
|
+
* than any vision estimate. That failure mode is covered by the byte-size
|
|
21
|
+
* large-image nudge (#489), not by this estimator — deliberately, so vision
|
|
22
|
+
* users do not see their 50KB screenshot reported as 33K tokens.
|
|
23
|
+
*/
|
|
24
|
+
/** Longest side after provider-side downscaling (Anthropic 1568px convention). */
|
|
25
|
+
export declare const VISION_MAX_SIDE = 1568;
|
|
26
|
+
/** Tile edge size in pixels; each tile bills ~167 tokens on major providers. */
|
|
27
|
+
export declare const VISION_TILE_SIZE = 512;
|
|
28
|
+
export declare const TOKENS_PER_TILE = 167;
|
|
29
|
+
/** ceil(1568/512)^2 — hard tile cap for any single image. */
|
|
30
|
+
export declare const VISION_MAX_TILES: number;
|
|
31
|
+
/** Unknown-dimension payloads at/above this size use the tile-cap fallback. */
|
|
32
|
+
export declare const UNKNOWN_DIM_LARGE_BYTES: number;
|
|
33
|
+
export interface ImageDimensions {
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Vision-billing token estimate for known pixel dimensions. Pure function —
|
|
39
|
+
* safe to call on hot paths. Returns 0 for non-positive/non-finite inputs.
|
|
40
|
+
*/
|
|
41
|
+
export declare function estimateVisionTokensForDimensions(width: number, height: number): number;
|
|
42
|
+
/**
|
|
43
|
+
* Best-effort pixel-dimension parsing from container headers. Only decodes the
|
|
44
|
+
* bytes already provided (callers pass a bounded prefix), never allocates the
|
|
45
|
+
* full payload. Supports PNG, JPEG, GIF, WebP (VP8/VP8L/VP8X) and BMP; returns
|
|
46
|
+
* undefined for everything else (AVIF, HEIC, truncated/corrupt headers).
|
|
47
|
+
*/
|
|
48
|
+
export declare function parseImageDimensions(bytes: Uint8Array, mediaType: string): ImageDimensions | undefined;
|
|
49
|
+
/** Decoded byte size implied by a data-URL base64 payload (exact for aligned input). */
|
|
50
|
+
export declare function decodedBytesFromBase64(base64: string): number;
|
|
51
|
+
/**
|
|
52
|
+
* Decode only the leading part of a base64 payload — enough for header scans
|
|
53
|
+
* without materializing multi-megabyte buffers. Slices on a 4-char boundary so
|
|
54
|
+
* the base64 decoder sees aligned input.
|
|
55
|
+
*/
|
|
56
|
+
export declare function decodeBase64Prefix(base64: string, maxBytes: number): Uint8Array | undefined;
|
|
57
|
+
/** Test hook: drop cached estimates (module-level state outlives test cases). */
|
|
58
|
+
export declare function clearImageTokenCache(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Estimate the context cost of one message part. Returns 0 for every part that
|
|
61
|
+
* is not an inline (data-URL) image attachment:
|
|
62
|
+
* - non-file parts (text/tool/reasoning are metered elsewhere),
|
|
63
|
+
* - file parts whose url is a path or http(s) link (not inline — v1 scope,
|
|
64
|
+
* same boundary as the #478 archive),
|
|
65
|
+
* - non-image mimes (pdfs etc. are metered by their own rules elsewhere).
|
|
66
|
+
*/
|
|
67
|
+
export declare function estimateImagePartTokens(part: unknown): number;
|
|
68
|
+
//# sourceMappingURL=image-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-tokens.d.ts","sourceRoot":"","sources":["../../../lib/compress/image-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,kFAAkF;AAClF,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,QAAqD,CAAA;AAClF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,QAAa,CAAA;AAEjD,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUvF;AAsBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GAClB,eAAe,GAAG,SAAS,CA4G7B;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAS3F;AAqBD,iFAAiF;AACjF,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA4B7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../lib/compress/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAEvF,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../lib/compress/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAEvF,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAwI7C,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,CAAA;CACxB;AA6bD,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,cAAc,CAAA;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,SAAS,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,MAAM,CA8CR;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA4J3F"}
|
|
@@ -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,aA8E5B,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,CAojClF"}
|
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:
|
|
@@ -158,6 +171,18 @@ export interface CompressImagesConfig {
|
|
|
158
171
|
* sweep, once per process per session). Default: 7.
|
|
159
172
|
*/
|
|
160
173
|
ttlDays: number;
|
|
174
|
+
/**
|
|
175
|
+
* [Issue #489] Decoded image size (bytes) at or above which a "large image
|
|
176
|
+
* entered context" nudge fires once per image. The notice tells the model
|
|
177
|
+
* to compress older ranges before/after working with the image. Set to 0
|
|
178
|
+
* to disable size-based detection entirely. Default: 524288 (512 KB).
|
|
179
|
+
*/
|
|
180
|
+
largeBytes: number;
|
|
181
|
+
/**
|
|
182
|
+
* [Issue #489] Master switch for the large-image nudge and the standing
|
|
183
|
+
* "make room before reading images" rule in the system prompt. Default: true.
|
|
184
|
+
*/
|
|
185
|
+
nudge: boolean;
|
|
161
186
|
}
|
|
162
187
|
/**
|
|
163
188
|
* [Issue #478] Default `compress.images`. Readonly — always spread into a fresh
|
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,mBAiFnC;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,mBAsV7D;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,mBAuD/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,mBA2FtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAoFzD,eAAO,MAAM,oBAAoB,GAC7B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,SAAS,cAAc,EACvB,wBAAwB,sBAAsB,EAC9C,cAAc,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACpC,oBAAoB,MAAM,EAC1B,oBAAoB,SAAS,EAAE,KAChC,IA80BF,CAAA;AAgBD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACnB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAgDjG;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAuBD,eAAO,MAAM,gBAAgB,GACzB,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,EACrB,wBAAwB,sBAAsB,KAC/C,IAiEF,CAAA"}
|
|
@@ -102,6 +102,8 @@ export interface ContextComposition {
|
|
|
102
102
|
systemTokens: number;
|
|
103
103
|
protectedTokens: number;
|
|
104
104
|
reasoningTokens: number;
|
|
105
|
+
/** [Issue #489] Estimated cost of inline image attachments (vision-billing formula). */
|
|
106
|
+
imageTokens: number;
|
|
105
107
|
total: number;
|
|
106
108
|
largestRanges: {
|
|
107
109
|
ref: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAkB,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAYxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EACH,KAAK,sBAAsB,EAG9B,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [Issue #489] Large-image guard.
|
|
3
|
+
*
|
|
4
|
+
* A multi-megabyte image read into context is invisible to the growth-based
|
|
5
|
+
* nudge machinery until the next API response reports token usage — and with
|
|
6
|
+
* a non-vision provider billing base64 as text, that next request may be the
|
|
7
|
+
* one the backend rejects as over-length. This module detects NEW oversized
|
|
8
|
+
* inline images on each transform pass and produces a one-shot strong notice
|
|
9
|
+
* telling the model to compress older ranges immediately ("compress before you
|
|
10
|
+
* work with the image").
|
|
11
|
+
*
|
|
12
|
+
* Dedup state lives in `state.imageSurgeNudged` (persisted): one notice per
|
|
13
|
+
* (message, part, content) triple for the session's lifetime. A turn that
|
|
14
|
+
* already contains a compress call skips detection entirely (the early return
|
|
15
|
+
* in injectCompressNudges), so an ignored notice re-fires on the next plain
|
|
16
|
+
* turn while the image is still visible.
|
|
17
|
+
*/
|
|
18
|
+
import type { SessionState, WithParts } from "../state";
|
|
19
|
+
export interface LargeImageInfo {
|
|
20
|
+
ref: string;
|
|
21
|
+
mediaType: string;
|
|
22
|
+
bytes: number;
|
|
23
|
+
estimatedTokens: number;
|
|
24
|
+
}
|
|
25
|
+
/** Insertion-ordered cap so long sessions cannot grow the dedup map unboundedly. */
|
|
26
|
+
export declare const IMAGE_SURGE_DEDUP_CAP = 512;
|
|
27
|
+
/**
|
|
28
|
+
* Scan messages for inline images at/above `largeBytes` whose content has not
|
|
29
|
+
* been noticed before. Records each newly found image into
|
|
30
|
+
* `state.imageSurgeNudged` (mutates + returns the new ones), so callers must
|
|
31
|
+
* persist state after a non-empty result.
|
|
32
|
+
*/
|
|
33
|
+
export declare function detectNewLargeImages(messages: WithParts[], state: SessionState, largeBytes: number): LargeImageInfo[];
|
|
34
|
+
export declare function formatLargeImageNotice(images: LargeImageInfo[]): string;
|
|
35
|
+
//# sourceMappingURL=large-images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"large-images.d.ts","sourceRoot":"","sources":["../../../lib/messages/large-images.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIvD,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,SAAS,EAAE,EACrB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GACnB,cAAc,EAAE,CA0DlB;AAOD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAavE"}
|
|
@@ -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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export declare const SUBAGENT_SYSTEM_EXTENSION = "<dcp-system-reminder>\nYou are operating in a subagent environment.\n\nThe initial subagent instruction is imperative and must be followed exactly.\nIt is the only user message intentionally not assigned a message ID, and therefore is not eligible for compression.\nAll subsequent messages in the session will have IDs.\n</dcp-system-reminder>\n";
|
|
2
2
|
export declare function buildProtectedToolsExtension(protectedTools: string[]): string;
|
|
3
3
|
export declare const DECOMPRESS_SYSTEM_EXTENSION = "<dcp-system-reminder>\nTHE PHILOSOPHY OF DECOMPRESS\n`decompress` restores previously compressed content. Use it when you need exact details\nthat were lost in compression.\n\nDECOMPRESS WHEN\n- You need exact code, error messages, or file contents from a compressed block\n- A summary lacks the precision needed for your next step\n- You discovered the compressed content is still relevant\n\nDO NOT DECOMPRESS IF\n- Context usage is already high (>70%) \u2014 decompressing inflates context\n- The summary is sufficient for your needs\n- You plan to immediately recompress the same content\n\nBefore decompressing, check context usage. Decompressing restores full messages,\nwhich can significantly increase context size.\n\nNOTE: Message-mode blocks created in the same batch (same runId) are restored together.\nDecompressing one block from a batch restores all blocks in that batch.\n</dcp-system-reminder>\n";
|
|
4
|
+
/**
|
|
5
|
+
* [Issue #489] Standing image-handling rule for the system prompt. Static
|
|
6
|
+
* text (no per-turn interpolation) so it never busts the prompt cache; the
|
|
7
|
+
* caller omits it when compress.images.nudge is disabled.
|
|
8
|
+
*/
|
|
9
|
+
export declare const IMAGE_GUARD_SYSTEM_EXTENSION = "\nIMAGE HANDLING: Before reading an image file into context, make sure there is room: if context usage is high, compress older conversation ranges first. A large image consumes significant context for as long as it stays uncompressed. Once you are done analyzing an image, prefer compressing the range that contains it \u2014 archived images remain re-readable through their disk pointers.";
|
|
4
10
|
//# sourceMappingURL=system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,8VAOrC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7E;AAED,eAAO,MAAM,2BAA2B,s5BAqBvC,CAAA"}
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,8VAOrC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7E;AAED,eAAO,MAAM,2BAA2B,s5BAqBvC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,0YACsV,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RuntimePrompts } from "./store";
|
|
2
2
|
export type { PromptStore, RuntimePrompts } from "./store";
|
|
3
|
-
export declare function renderSystemPrompt(prompts: RuntimePrompts, protectedToolsExtension?: string, subagent?: boolean): string;
|
|
3
|
+
export declare function renderSystemPrompt(prompts: RuntimePrompts, protectedToolsExtension?: string, subagent?: boolean, imageGuardExtension?: string): string;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE1D,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,cAAc,EACvB,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE1D,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,cAAc,EACvB,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,OAAO,EAClB,mBAAmB,CAAC,EAAE,MAAM,GAC7B,MAAM,CA0BR"}
|
|
@@ -52,6 +52,10 @@ 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 #489] Large-image surge-nudge dedup index (dedup key → first-emission ts) */
|
|
56
|
+
imageSurgeNudged?: Record<string, number>;
|
|
57
|
+
/** [Issue #485] Sticky emergency truncations (tool call ID → frozen truncated output) */
|
|
58
|
+
stickyTruncations?: Record<string, string>;
|
|
55
59
|
}
|
|
56
60
|
/** Default storage directory: $XDG_DATA_HOME/opencode/storage/plugin/acp */
|
|
57
61
|
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":"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;IACnD,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7C;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAe5F;AAsED,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Df;AAqCD,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAyFvC;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,eAAe,CAAC,CA2C1B"}
|
|
@@ -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;AAkBD,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;IAKK,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,
|
|
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;AAkBD,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;IAKK,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,CAmDjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA6C3D;AAED,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,CA+Mf"}
|
|
@@ -207,5 +207,22 @@ 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 #489] Dedup index for large-image surge nudges: one entry per
|
|
212
|
+
* (message, part, content-hash) that has already received a "large image
|
|
213
|
+
* entered context" notice. Values are timestamps (first-emission time).
|
|
214
|
+
* Persisted so a restart does not re-announce the same image.
|
|
215
|
+
*/
|
|
216
|
+
imageSurgeNudged: Record<string, number>;
|
|
217
|
+
/**
|
|
218
|
+
* [Issue #485] Sticky emergency truncations: tool call ID → the truncated
|
|
219
|
+
* output the guards last produced. Written when
|
|
220
|
+
* `compress.emergencyTruncation` is on and a guard truncates/clears a tool
|
|
221
|
+
* output; replayed verbatim on every later request so the decision is
|
|
222
|
+
* one-way (A→B→B→…) instead of oscillating back to the pristine output.
|
|
223
|
+
* Entries are pruned when their call disappears from the session.
|
|
224
|
+
* Persisted so stickiness survives restarts.
|
|
225
|
+
*/
|
|
226
|
+
stickyTruncations: Record<string, string>;
|
|
210
227
|
}
|
|
211
228
|
//# 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":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;AAEjD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC5C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACzC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,oFAAoF;IACpF,mBAAmB,EAAE,OAAO,CAAA;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yEAAyE;IACzE,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5B,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/C,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAC7B,CAAA;CACJ;AAED,MAAM,WAAW,KAAK;IAClB,QAAQ,EAAE,kBAAkB,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACnB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7C,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7C,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,iHAAiH;IACjH,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAA;IACzC;;;;;;;OAOG;IACH,mBAAmB,EAAE,OAAO,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,8BAA8B,EAAE,MAAM,GAAG,SAAS,CAAA;CACrD;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,kBAAkB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IACxD,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,YAAY,CAAA;IACnB,iBAAiB,EAAE,sBAAsB,CAAA;IACzC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,cAAc,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,gNAAgN;IAChN,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC;;;;OAIG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B;;;;;;;;;;;OAWG;IACH,uBAAuB,EAAE,OAAO,CAAA;IAChC;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAClD;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAA;IACvB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC;;;;;;;;OAQG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5C"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { SessionState, WithParts } from "./state";
|
|
2
2
|
import { Logger } from "./logger";
|
|
3
|
+
/**
|
|
4
|
+
* [Issue #489] Sum the estimated cost of inline image parts in messages at or
|
|
5
|
+
* after `startIndex`. Used to close the one-round-trip blind window where a
|
|
6
|
+
* freshly-read image is not yet reflected in API-reported usage.
|
|
7
|
+
*/
|
|
8
|
+
export declare function countPendingImageTokens(messages: WithParts[], startIndex: number): number;
|
|
3
9
|
export declare function getCurrentTokenUsage(state: SessionState, messages: WithParts[]): number;
|
|
4
10
|
/**
|
|
5
11
|
* Estimate system prompt tokens by subtracting the first user message's tokens
|
|
@@ -30,6 +36,14 @@ export declare function countToolTokens(part: any): number;
|
|
|
30
36
|
export declare function getTotalToolTokens(state: SessionState, toolIds: string[]): number;
|
|
31
37
|
export declare function countMessageTextTokens(msg: WithParts): number;
|
|
32
38
|
export declare function countAllMessageTokens(msg: WithParts): number;
|
|
39
|
+
/**
|
|
40
|
+
* Character-size of a message under the chars/4 token convention. [Issue
|
|
41
|
+
* #489] Inline image parts contribute their estimated-token cost × 4
|
|
42
|
+
* ("equivalent chars") so every consumer of this single counter — range
|
|
43
|
+
* display, the executor min-size check (#359 parity), smart-plan sizing,
|
|
44
|
+
* candidate retained-chars and per-message tags — agrees with what folding
|
|
45
|
+
* the message would actually free.
|
|
46
|
+
*/
|
|
33
47
|
export declare function countMessageCharacters(msg: WithParts): number;
|
|
34
48
|
/**
|
|
35
49
|
* [Issue #384] Fast per-message token estimate using the chars/4 convention
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAOjC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWzF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAuDvF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CA2BxE;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf;IACC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAkBA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAG3D;AAED,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAMpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAcxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAmBtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAGjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAU7D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAgB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAe7D;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEnE"}
|
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.490.223",
|
|
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",
|