acp-kernel 0.0.95-pr.235.306 → 0.0.95-pr.457.308
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/boundaries.d.ts +3 -3
- package/dist/boundaries.d.ts.map +1 -1
- package/dist/ccr.d.ts +31 -4
- package/dist/ccr.d.ts.map +1 -1
- package/dist/compress.d.ts.map +1 -1
- package/dist/decompress.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -126
- package/dist/index.js.map +1 -1
- package/dist/recommend.d.ts.map +1 -1
- package/dist/report.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/boundaries.d.ts
CHANGED
|
@@ -43,8 +43,8 @@ export declare function resolveBoundaries(input: ResolveBoundariesInput): Resolv
|
|
|
43
43
|
* active block whose raws were pruned becomes unresolvable and cannot be
|
|
44
44
|
* promoted (dog/billion-context-pi#195).
|
|
45
45
|
*/
|
|
46
|
-
export declare function visibleBlockAnchor(block: CompressionBlock, indexByMessageId: Map<string, number
|
|
47
|
-
export declare function blockVisibleInRange(block: CompressionBlock, indexByMessageId: Map<string, number>, startIndex: number, endIndex: number
|
|
48
|
-
export declare function earliestIndexOfIds(ids: string[], indexByMessageId: Map<string, number
|
|
46
|
+
export declare function visibleBlockAnchor(block: CompressionBlock, indexByMessageId: Map<string, number>): number | null;
|
|
47
|
+
export declare function blockVisibleInRange(block: CompressionBlock, indexByMessageId: Map<string, number>, startIndex: number, endIndex: number): boolean;
|
|
48
|
+
export declare function earliestIndexOfIds(ids: string[], indexByMessageId: Map<string, number>): number | null;
|
|
49
49
|
export declare function toResolvedBoundary(range: ResolvedRange): ResolvedBoundary;
|
|
50
50
|
//# sourceMappingURL=boundaries.d.ts.map
|
package/dist/boundaries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../src/boundaries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../src/boundaries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAehE;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC;gBAGjC,IAAI,EAAE,SAAS,GAAG,UAAU,EAC5B,QAAQ,EAAE,OAAO,GAAG,KAAK,EACzB,OAAO,EAAE,MAAM;CAQlB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,aAAa,CAiFf;AAsMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,GAAG,IAAI,CAIf;AAOD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAcT;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,GAAG,IAAI,CASf;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAMzE"}
|
package/dist/ccr.d.ts
CHANGED
|
@@ -19,8 +19,9 @@ import type { PipelineNode } from "./pipeline.js";
|
|
|
19
19
|
export declare const RETRIEVE_TOOL_NAME = "acp_retrieve";
|
|
20
20
|
export declare const DEFAULT_CCR_CONFIG: CcrConfig;
|
|
21
21
|
export declare function resolveCcrConfig(config: Config): CcrConfig;
|
|
22
|
-
/** Marker embedded in every placeholder.
|
|
23
|
-
*
|
|
22
|
+
/** Marker embedded in every placeholder. Exclusion signal for absorb
|
|
23
|
+
* (ID-reference wins over distill); recognition is via the STRICT parser
|
|
24
|
+
* below, never a substring scan (billion-context#1456). */
|
|
24
25
|
export declare const STORED_PLACEHOLDER_MARKER = "[acp-stored";
|
|
25
26
|
/** Reserved id prefix for ephemeral retrieval injections (mirrors
|
|
26
27
|
* acp_summary_): no ref is ever assigned, fold-space collection skips them. */
|
|
@@ -45,8 +46,34 @@ export interface StoredPlaceholderInput {
|
|
|
45
46
|
* same inputs always produce identical bytes (prefix-cache friendly). */
|
|
46
47
|
export declare function buildStoredPlaceholder(input: StoredPlaceholderInput): string;
|
|
47
48
|
export declare function stripLeadingTag(text: string): string;
|
|
48
|
-
/**
|
|
49
|
-
*
|
|
49
|
+
/** Parsed canonical CCR placeholder (whole-body shape of
|
|
50
|
+
* buildStoredPlaceholder output). */
|
|
51
|
+
export interface ParsedStoredPlaceholder {
|
|
52
|
+
ref: string;
|
|
53
|
+
kind: string;
|
|
54
|
+
tokens: number;
|
|
55
|
+
retrieveToolName: string;
|
|
56
|
+
/** Backtick title from line 1 (command/head preview), when present. */
|
|
57
|
+
title?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Parse a WHOLE-BODY canonical CCR placeholder; null otherwise.
|
|
60
|
+
*
|
|
61
|
+
* Accepts exactly the two-line structure emitted by buildStoredPlaceholder,
|
|
62
|
+
* modulo one trusted leading render tag (hosts round-trip rendered output)
|
|
63
|
+
* and one optional trailing newline. Ordinary source, docs or logs that
|
|
64
|
+
* merely MENTION the marker — including embedded full placeholder examples
|
|
65
|
+
* with surrounding text — parse to null. The residual ambiguity is only user
|
|
66
|
+
* content byte-equal to a canonical placeholder, which no pure-text protocol
|
|
67
|
+
* can disambiguate (structured provenance is the long-term fix; deliberately
|
|
68
|
+
* out of scope here). Callers that know the message's own ref MUST compare
|
|
69
|
+
* `parsed.ref === ownRef` before trusting the result as an internal
|
|
70
|
+
* placeholder. */
|
|
71
|
+
export declare function parseStoredPlaceholder(text: string): ParsedStoredPlaceholder | null;
|
|
72
|
+
/** True iff the WHOLE body is a canonical CCR placeholder — i.e. the kernel
|
|
73
|
+
* already replaced this tool result and it must not be stored, re-compressed
|
|
74
|
+
* or absorbed again. Replaces the former `includes("[acp-stored")` substring
|
|
75
|
+
* check that misclassified ordinary text merely mentioning the marker
|
|
76
|
+
* (billion-context#1456). */
|
|
50
77
|
export declare function isStoredPlaceholderText(text: string): boolean;
|
|
51
78
|
export declare function retrievedMessageId(ref: string): string;
|
|
52
79
|
export declare function isRetrievedMessage(message: CoreMessage): boolean;
|
package/dist/ccr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ccr.d.ts","sourceRoot":"","sources":["../src/ccr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EACV,mBAAmB,EAEnB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,eAAe,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAE1D;AAED;
|
|
1
|
+
{"version":3,"file":"ccr.d.ts","sourceRoot":"","sources":["../src/ccr.ts"],"names":[],"mappings":"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"}
|
package/dist/compress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBvD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD;mEAC+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACvE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;8DAC0D;IAC1D,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAgBvD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD;mEAC+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACvE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;8DAC0D;IAC1D,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAqND,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CA4d7D;AAwqCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/decompress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../src/decompress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../src/decompress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO1D;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,gBAAgB,EAAE,CAYpB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAiBf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CAkClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,EAAE,EACvB,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,KAAK,EAAE,gBAAgB,GACtB,qBAAqB,CAiCvB;AAED,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,kKAAkK;IAClK,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAwCxB;AAeD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB;;gCAE4B;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;wEAIwE;AACxE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;CAAE,CAejE;AAED;;;;mCAImC;AACnC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAgBV"}
|
package/dist/index.d.ts
CHANGED
|
@@ -39,8 +39,8 @@ export { ABSORB_TOOL_NAME, ABSORB_TOOL, ABSORB_TOOL_OPENAI, IMAGE_FULL_TOOL_NAME
|
|
|
39
39
|
export { RETRIEVE_TOOL_NAME, RETRIEVE_TOOL, RETRIEVE_TOOL_OPENAI, RETRIEVE_TOOL_RESPONSES, RETRIEVE_TOOL_DESCRIPTION, } from "./compress-tools.js";
|
|
40
40
|
export { createContentStore, hashContent, storeOriginal, retrieveByRef, hasStoredRef, contentStoreStats, } from "./content-store.js";
|
|
41
41
|
export type { MessageContentStore, StoredEntry, StoreSpec, RetrieveResult, ContentStoreStats, } from "./content-store.js";
|
|
42
|
-
export { DEFAULT_CCR_CONFIG, resolveCcrConfig, STORED_PLACEHOLDER_MARKER, RETRIEVED_ID_PREFIX, classifyKind, normalizeHead, extractCommand, buildStoredPlaceholder, isStoredPlaceholderText, retrievedMessageId, isRetrievedMessage, buildRetrievalInjection, applyRetrieve, storeLargeResults, storeCoveredOriginals, noteRetrieval, ccrStoreNode, } from "./ccr.js";
|
|
43
|
-
export type { StoredPlaceholderInput, RetrievalInjection, ApplyRetrieveInput, ApplyRetrieveResult, StoreLargeResultsInput, StoreLargeResultsResult, CcrEffect, } from "./ccr.js";
|
|
42
|
+
export { DEFAULT_CCR_CONFIG, resolveCcrConfig, STORED_PLACEHOLDER_MARKER, RETRIEVED_ID_PREFIX, classifyKind, normalizeHead, extractCommand, buildStoredPlaceholder, parseStoredPlaceholder, isStoredPlaceholderText, retrievedMessageId, isRetrievedMessage, buildRetrievalInjection, applyRetrieve, storeLargeResults, storeCoveredOriginals, noteRetrieval, ccrStoreNode, } from "./ccr.js";
|
|
43
|
+
export type { StoredPlaceholderInput, ParsedStoredPlaceholder, RetrievalInjection, ApplyRetrieveInput, ApplyRetrieveResult, StoreLargeResultsInput, StoreLargeResultsResult, CcrEffect, } from "./ccr.js";
|
|
44
44
|
export { ABSORB_PROMPT_MARKER, DEFAULT_ABSORB_CONFIG, resolveAbsorbConfig, buildAbsorbPrompt, buildAbsorbSystemPrompt, isAbsorbCandidate, hideAbsorbedMessages, appendAbsorbPrompts, parseAbsorbInput, applyAbsorb, } from "./absorb.js";
|
|
45
45
|
export type { AbsorbInput, AbsorbOutcome, ParsedAbsorb, AppendAbsorbPromptsResult, } from "./absorb.js";
|
|
46
46
|
export { RULE_TOOL_NAME, DEFAULT_RULE_LIMITS, RULES_USAGE_PROMPT, listRules, allocateRuleId, resolveRuleLimits, addRule, removeRule, clearRules, formatRulesForPrompt, formatRulesList, } from "./rules.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1435,8 +1435,42 @@ var LEADING_TAG_RE = new RegExp("^\\x3cacp [^>]*>[^\\x3c]*\\x3c\\/acp>\\n?");
|
|
|
1435
1435
|
function stripLeadingTag(text) {
|
|
1436
1436
|
return text.replace(LEADING_TAG_RE, "");
|
|
1437
1437
|
}
|
|
1438
|
+
var PLACEHOLDER_LINE1_RE = new RegExp(
|
|
1439
|
+
"^\u{1F4E6} \\[acp-stored #(m\\d{5}) \xB7 (.+?) \xB7 (0|[1-9]\\d{0,2}(?:,\\d{3})*) tok\\](?: `(.+)`)?$"
|
|
1440
|
+
);
|
|
1441
|
+
var PLACEHOLDER_LINE2_RE = /^ → (.+?)\("(m\d{5})"\) returns the full text$/;
|
|
1442
|
+
function parseStoredPlaceholder(text) {
|
|
1443
|
+
const body = stripLeadingTag(text);
|
|
1444
|
+
const trimmed = body.endsWith("\n") ? body.slice(0, -1) : body;
|
|
1445
|
+
const nl = trimmed.indexOf("\n");
|
|
1446
|
+
if (nl <= 0) return null;
|
|
1447
|
+
const line1 = trimmed.slice(0, nl);
|
|
1448
|
+
const line2 = trimmed.slice(nl + 1);
|
|
1449
|
+
if (line2.includes("\n")) return null;
|
|
1450
|
+
const head = PLACEHOLDER_LINE1_RE.exec(line1);
|
|
1451
|
+
if (!head) return null;
|
|
1452
|
+
const hint = PLACEHOLDER_LINE2_RE.exec(line2);
|
|
1453
|
+
if (!hint) return null;
|
|
1454
|
+
const ref = head[1];
|
|
1455
|
+
const kind = head[2];
|
|
1456
|
+
const tokenGroup = head[3];
|
|
1457
|
+
const toolName = hint[1];
|
|
1458
|
+
const hintRef = hint[2];
|
|
1459
|
+
if (!ref || !hintRef || ref !== hintRef || !kind || !tokenGroup || !toolName) {
|
|
1460
|
+
return null;
|
|
1461
|
+
}
|
|
1462
|
+
const parsed = {
|
|
1463
|
+
ref,
|
|
1464
|
+
kind,
|
|
1465
|
+
tokens: Number(tokenGroup.replace(/,/g, "")),
|
|
1466
|
+
retrieveToolName: toolName
|
|
1467
|
+
};
|
|
1468
|
+
const title = head[4];
|
|
1469
|
+
if (title !== void 0) parsed.title = title;
|
|
1470
|
+
return parsed;
|
|
1471
|
+
}
|
|
1438
1472
|
function isStoredPlaceholderText(text) {
|
|
1439
|
-
return
|
|
1473
|
+
return parseStoredPlaceholder(text) !== null;
|
|
1440
1474
|
}
|
|
1441
1475
|
function retrievedMessageId(ref) {
|
|
1442
1476
|
return RETRIEVED_ID_PREFIX + ref;
|
|
@@ -1492,7 +1526,9 @@ function storeLargeResults(input) {
|
|
|
1492
1526
|
if (message.contentType !== "tool-result") return message;
|
|
1493
1527
|
const text = message.text ?? "";
|
|
1494
1528
|
if (text.length === 0) return message;
|
|
1495
|
-
|
|
1529
|
+
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1530
|
+
const placeholder = parseStoredPlaceholder(text);
|
|
1531
|
+
if (placeholder && (!ref || placeholder.ref === ref)) return message;
|
|
1496
1532
|
if (!message.toolCallId) return message;
|
|
1497
1533
|
const toolName = message.toolName;
|
|
1498
1534
|
if (toolName && (ACP_TOOL_NAMES.has(toolName) || toolName === cfg.toolName)) {
|
|
@@ -1504,7 +1540,6 @@ function storeLargeResults(input) {
|
|
|
1504
1540
|
if (isMessageProtected(message, input.config)) return message;
|
|
1505
1541
|
const tokens = input.countTokens(text);
|
|
1506
1542
|
if (tokens < cfg.minToolTokens) return message;
|
|
1507
|
-
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1508
1543
|
if (!ref || ref === BLOCKED_REF) return message;
|
|
1509
1544
|
if (hasStoredRef(current, ref)) return message;
|
|
1510
1545
|
const kind = classifyKind(toolName);
|
|
@@ -1578,7 +1613,7 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1578
1613
|
if (text.length === 0) continue;
|
|
1579
1614
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
1580
1615
|
if (!ref || ref === BLOCKED_REF) continue;
|
|
1581
|
-
if (
|
|
1616
|
+
if (parseStoredPlaceholder(text)?.ref === ref) continue;
|
|
1582
1617
|
current = storeOriginal(current, {
|
|
1583
1618
|
ref,
|
|
1584
1619
|
rawId: message.id,
|
|
@@ -1641,20 +1676,14 @@ function resolveBoundaries(input) {
|
|
|
1641
1676
|
);
|
|
1642
1677
|
}
|
|
1643
1678
|
const indexByMessageId = /* @__PURE__ */ new Map();
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
const base = baseIdOf(message.id);
|
|
1648
|
-
const existing = baseIndexById.get(base);
|
|
1649
|
-
if (existing === void 0 || index < existing)
|
|
1650
|
-
baseIndexById.set(base, index);
|
|
1651
|
-
});
|
|
1679
|
+
input.messages.forEach(
|
|
1680
|
+
(message, index) => indexByMessageId.set(message.id, index)
|
|
1681
|
+
);
|
|
1652
1682
|
let snappedBoundaries = [];
|
|
1653
1683
|
const startAnchor = resolveAnchorIndex(
|
|
1654
1684
|
start,
|
|
1655
1685
|
input.state,
|
|
1656
1686
|
indexByMessageId,
|
|
1657
|
-
baseIndexById,
|
|
1658
1687
|
"start"
|
|
1659
1688
|
);
|
|
1660
1689
|
if (startAnchor.snapped) snappedBoundaries.push(startAnchor.snapped);
|
|
@@ -1662,7 +1691,6 @@ function resolveBoundaries(input) {
|
|
|
1662
1691
|
end,
|
|
1663
1692
|
input.state,
|
|
1664
1693
|
indexByMessageId,
|
|
1665
|
-
baseIndexById,
|
|
1666
1694
|
"end"
|
|
1667
1695
|
);
|
|
1668
1696
|
if (endAnchor.snapped) snappedBoundaries.push(endAnchor.snapped);
|
|
@@ -1683,13 +1711,7 @@ function resolveBoundaries(input) {
|
|
|
1683
1711
|
const nestedBlockIds = [];
|
|
1684
1712
|
const nestedSeen = /* @__PURE__ */ new Set();
|
|
1685
1713
|
for (const block of activeBlocks(input.state)) {
|
|
1686
|
-
if (blockVisibleInRange(
|
|
1687
|
-
block,
|
|
1688
|
-
indexByMessageId,
|
|
1689
|
-
startIndex,
|
|
1690
|
-
endIndex,
|
|
1691
|
-
baseIndexById
|
|
1692
|
-
)) {
|
|
1714
|
+
if (blockVisibleInRange(block, indexByMessageId, startIndex, endIndex)) {
|
|
1693
1715
|
if (!nestedSeen.has(block.blockId)) {
|
|
1694
1716
|
nestedSeen.add(block.blockId);
|
|
1695
1717
|
nestedBlockIds.push(block.blockId);
|
|
@@ -1708,7 +1730,7 @@ function resolveBoundaries(input) {
|
|
|
1708
1730
|
reversedNote
|
|
1709
1731
|
};
|
|
1710
1732
|
}
|
|
1711
|
-
function resolveAnchorIndex(boundary, state, indexByMessageId,
|
|
1733
|
+
function resolveAnchorIndex(boundary, state, indexByMessageId, endpoint) {
|
|
1712
1734
|
const label = endpoint === "start" ? "startId" : "endId";
|
|
1713
1735
|
if (boundary.kind === "message") {
|
|
1714
1736
|
const rawId = state.messageRefs.byRef[boundary.raw] ?? state.messageRefs.byRef[formatPaddedRef(boundary.numericId)];
|
|
@@ -1719,16 +1741,11 @@ function resolveAnchorIndex(boundary, state, indexByMessageId, baseIndexById, en
|
|
|
1719
1741
|
`${label}="${boundary.raw}" does not exist in this session (typo or wrong session) \u2014 run acp_status for current refs.`
|
|
1720
1742
|
);
|
|
1721
1743
|
}
|
|
1722
|
-
const index = indexByMessageId.get(rawId)
|
|
1744
|
+
const index = indexByMessageId.get(rawId);
|
|
1723
1745
|
if (index !== void 0) {
|
|
1724
1746
|
return { index, snapped: null };
|
|
1725
1747
|
}
|
|
1726
|
-
const owner2 = activeOwnerAnchor(
|
|
1727
|
-
state,
|
|
1728
|
-
[rawId],
|
|
1729
|
-
indexByMessageId,
|
|
1730
|
-
baseIndexById
|
|
1731
|
-
);
|
|
1748
|
+
const owner2 = activeOwnerAnchor(state, [rawId], indexByMessageId);
|
|
1732
1749
|
if (owner2 !== null) {
|
|
1733
1750
|
return {
|
|
1734
1751
|
index: owner2,
|
|
@@ -1771,7 +1788,7 @@ function resolveAnchorIndex(boundary, state, indexByMessageId, baseIndexById, en
|
|
|
1771
1788
|
);
|
|
1772
1789
|
}
|
|
1773
1790
|
if (block.active) {
|
|
1774
|
-
const anchor = visibleBlockAnchor(block, indexByMessageId
|
|
1791
|
+
const anchor = visibleBlockAnchor(block, indexByMessageId);
|
|
1775
1792
|
if (anchor !== null) {
|
|
1776
1793
|
return { index: anchor, snapped: null };
|
|
1777
1794
|
}
|
|
@@ -1779,8 +1796,7 @@ function resolveAnchorIndex(boundary, state, indexByMessageId, baseIndexById, en
|
|
|
1779
1796
|
const owner = activeOwnerAnchor(
|
|
1780
1797
|
state,
|
|
1781
1798
|
block.effectiveMessageIds,
|
|
1782
|
-
indexByMessageId
|
|
1783
|
-
baseIndexById
|
|
1799
|
+
indexByMessageId
|
|
1784
1800
|
);
|
|
1785
1801
|
if (owner !== null) {
|
|
1786
1802
|
return {
|
|
@@ -1801,10 +1817,9 @@ function resolveAnchorIndex(boundary, state, indexByMessageId, baseIndexById, en
|
|
|
1801
1817
|
`${label}="b${boundary.numericId}" is an active block but none of its content (raw messages or rendered summary) is visible in the current context \u2014 run acp_status to verify.`
|
|
1802
1818
|
);
|
|
1803
1819
|
}
|
|
1804
|
-
function activeOwnerAnchor(state, ownedIds, indexByMessageId
|
|
1820
|
+
function activeOwnerAnchor(state, ownedIds, indexByMessageId) {
|
|
1805
1821
|
if (ownedIds.length === 0) return null;
|
|
1806
|
-
const owned =
|
|
1807
|
-
for (const id of ownedIds) owned.add(baseIdOf(id));
|
|
1822
|
+
const owned = new Set(ownedIds);
|
|
1808
1823
|
let best = null;
|
|
1809
1824
|
for (const block of state.blocks) {
|
|
1810
1825
|
if (!block.active) continue;
|
|
@@ -1817,7 +1832,7 @@ function activeOwnerAnchor(state, ownedIds, indexByMessageId, baseIndexById) {
|
|
|
1817
1832
|
}
|
|
1818
1833
|
}
|
|
1819
1834
|
if (!ownsInherited) continue;
|
|
1820
|
-
const anchor = visibleBlockAnchor(block, indexByMessageId
|
|
1835
|
+
const anchor = visibleBlockAnchor(block, indexByMessageId);
|
|
1821
1836
|
if (anchor === null) continue;
|
|
1822
1837
|
if (best === null || anchor < best) {
|
|
1823
1838
|
best = anchor;
|
|
@@ -1830,7 +1845,7 @@ function inheritedContentIds(state, block) {
|
|
|
1830
1845
|
for (const childId of block.directBlockIds) {
|
|
1831
1846
|
const child = blockById(state, childId);
|
|
1832
1847
|
if (!child) continue;
|
|
1833
|
-
for (const id of child.effectiveMessageIds) ids.add(
|
|
1848
|
+
for (const id of child.effectiveMessageIds) ids.add(id);
|
|
1834
1849
|
}
|
|
1835
1850
|
return ids;
|
|
1836
1851
|
}
|
|
@@ -1857,47 +1872,32 @@ function snapToNeighborVisible(state, indexByMessageId, refNumber, endpoint) {
|
|
|
1857
1872
|
function formatPaddedRef(index) {
|
|
1858
1873
|
return `m${String(index).padStart(5, "0")}`;
|
|
1859
1874
|
}
|
|
1860
|
-
function visibleBlockAnchor(block, indexByMessageId
|
|
1875
|
+
function visibleBlockAnchor(block, indexByMessageId) {
|
|
1861
1876
|
const summaryIndex = indexByMessageId.get(summaryMessageId(block.blockId));
|
|
1862
1877
|
if (summaryIndex !== void 0) return summaryIndex;
|
|
1863
|
-
return earliestIndexOfIds(
|
|
1864
|
-
block.effectiveMessageIds,
|
|
1865
|
-
indexByMessageId,
|
|
1866
|
-
baseIndexById
|
|
1867
|
-
);
|
|
1878
|
+
return earliestIndexOfIds(block.effectiveMessageIds, indexByMessageId);
|
|
1868
1879
|
}
|
|
1869
|
-
function blockVisibleInRange(block, indexByMessageId, startIndex, endIndex
|
|
1880
|
+
function blockVisibleInRange(block, indexByMessageId, startIndex, endIndex) {
|
|
1870
1881
|
const summaryIndex = indexByMessageId.get(summaryMessageId(block.blockId));
|
|
1871
1882
|
if (summaryIndex !== void 0 && summaryIndex >= startIndex && summaryIndex <= endIndex) {
|
|
1872
1883
|
return true;
|
|
1873
1884
|
}
|
|
1874
1885
|
const rawIndex = earliestIndexOfIds(
|
|
1875
1886
|
block.effectiveMessageIds,
|
|
1876
|
-
indexByMessageId
|
|
1877
|
-
baseIndexById
|
|
1887
|
+
indexByMessageId
|
|
1878
1888
|
);
|
|
1879
1889
|
return rawIndex !== null && rawIndex >= startIndex && rawIndex <= endIndex;
|
|
1880
1890
|
}
|
|
1881
|
-
function earliestIndexOfIds(ids, indexByMessageId
|
|
1882
|
-
const baseIndex = baseIndexById ?? deriveBaseIndex(indexByMessageId);
|
|
1891
|
+
function earliestIndexOfIds(ids, indexByMessageId) {
|
|
1883
1892
|
let earliest = null;
|
|
1884
1893
|
for (const id of ids) {
|
|
1885
|
-
const index =
|
|
1894
|
+
const index = indexByMessageId.get(id);
|
|
1886
1895
|
if (index !== void 0 && (earliest === null || index < earliest)) {
|
|
1887
1896
|
earliest = index;
|
|
1888
1897
|
}
|
|
1889
1898
|
}
|
|
1890
1899
|
return earliest;
|
|
1891
1900
|
}
|
|
1892
|
-
function deriveBaseIndex(indexByMessageId) {
|
|
1893
|
-
const baseIndex = /* @__PURE__ */ new Map();
|
|
1894
|
-
for (const [id, index] of indexByMessageId) {
|
|
1895
|
-
const base = baseIdOf(id);
|
|
1896
|
-
const existing = baseIndex.get(base);
|
|
1897
|
-
if (existing === void 0 || index < existing) baseIndex.set(base, index);
|
|
1898
|
-
}
|
|
1899
|
-
return baseIndex;
|
|
1900
|
-
}
|
|
1901
1901
|
|
|
1902
1902
|
// src/block-map.ts
|
|
1903
1903
|
function refNum(ref) {
|
|
@@ -1946,12 +1946,10 @@ function parseBlockIdArg(arg) {
|
|
|
1946
1946
|
}
|
|
1947
1947
|
function findBlocksOverlappingMessages(state, messageIds) {
|
|
1948
1948
|
if (messageIds.size === 0) return [];
|
|
1949
|
-
const messageBases = /* @__PURE__ */ new Set();
|
|
1950
|
-
for (const id of messageIds) messageBases.add(baseIdOf(id));
|
|
1951
1949
|
const matched = [];
|
|
1952
1950
|
for (const block of state.blocks) {
|
|
1953
1951
|
if (!block.active) continue;
|
|
1954
|
-
if (block.effectiveMessageIds.some((id) =>
|
|
1952
|
+
if (block.effectiveMessageIds.some((id) => messageIds.has(id))) {
|
|
1955
1953
|
matched.push(block);
|
|
1956
1954
|
}
|
|
1957
1955
|
}
|
|
@@ -2010,15 +2008,13 @@ function deactivateBlock(state, blockIds, options = {}) {
|
|
|
2010
2008
|
return { ...state, blocks: final };
|
|
2011
2009
|
}
|
|
2012
2010
|
function buildRestoredContentPreview(messages, beforeActiveMessageIds, state) {
|
|
2013
|
-
const coveredBases = /* @__PURE__ */ new Set();
|
|
2014
|
-
for (const b of state.blocks) {
|
|
2015
|
-
if (!b.active) continue;
|
|
2016
|
-
for (const id of b.effectiveMessageIds) coveredBases.add(baseIdOf(id));
|
|
2017
|
-
}
|
|
2018
2011
|
const restored = [];
|
|
2019
2012
|
for (const message of messages) {
|
|
2020
2013
|
if (!beforeActiveMessageIds.has(message.id)) continue;
|
|
2021
|
-
|
|
2014
|
+
const stillCovered = state.blocks.some(
|
|
2015
|
+
(b) => b.active && b.effectiveMessageIds.includes(message.id)
|
|
2016
|
+
);
|
|
2017
|
+
if (!stillCovered) restored.push(message);
|
|
2022
2018
|
}
|
|
2023
2019
|
if (restored.length === 0) return { preview: "", restoredCount: 0 };
|
|
2024
2020
|
const lines = [];
|
|
@@ -2037,26 +2033,19 @@ function buildRestoredContentPreview(messages, beforeActiveMessageIds, state) {
|
|
|
2037
2033
|
}
|
|
2038
2034
|
function collectBlockContent(state, block, messages, options = {}) {
|
|
2039
2035
|
const full = options.full ?? false;
|
|
2040
|
-
const
|
|
2041
|
-
for (const id of block.effectiveMessageIds) targetBases.add(baseIdOf(id));
|
|
2036
|
+
const targetIds = new Set(block.effectiveMessageIds);
|
|
2042
2037
|
if (full) {
|
|
2043
|
-
const msgs = messages.filter(
|
|
2044
|
-
(m) => m.id !== void 0 && targetBases.has(baseIdOf(m.id))
|
|
2045
|
-
);
|
|
2038
|
+
const msgs = messages.filter((m) => targetIds.has(m.id));
|
|
2046
2039
|
if (msgs.length === 0) return { text: "", count: 0 };
|
|
2047
|
-
return {
|
|
2048
|
-
text: msgs.map(formatMessage).join("\n\n"),
|
|
2049
|
-
count: msgs.length
|
|
2050
|
-
};
|
|
2040
|
+
return { text: msgs.map(formatMessage).join("\n\n"), count: msgs.length };
|
|
2051
2041
|
}
|
|
2052
2042
|
const nestedChildren = [];
|
|
2053
|
-
const
|
|
2043
|
+
const nestedCovered = /* @__PURE__ */ new Set();
|
|
2054
2044
|
for (const childId of block.directBlockIds) {
|
|
2055
2045
|
const child = state.blocks.find((b) => b.blockId === childId);
|
|
2056
2046
|
if (!child?.active) continue;
|
|
2057
2047
|
nestedChildren.push(child);
|
|
2058
|
-
for (const id of child.effectiveMessageIds)
|
|
2059
|
-
nestedCoveredBases.add(baseIdOf(id));
|
|
2048
|
+
for (const id of child.effectiveMessageIds) nestedCovered.add(id);
|
|
2060
2049
|
}
|
|
2061
2050
|
const parts = [];
|
|
2062
2051
|
for (const child of nestedChildren) {
|
|
@@ -2066,7 +2055,7 @@ ${child.summary}`);
|
|
|
2066
2055
|
}
|
|
2067
2056
|
let directCount = 0;
|
|
2068
2057
|
for (const m of messages) {
|
|
2069
|
-
if (
|
|
2058
|
+
if (targetIds.has(m.id) && !nestedCovered.has(m.id)) {
|
|
2070
2059
|
parts.push(formatMessage(m));
|
|
2071
2060
|
directCount++;
|
|
2072
2061
|
}
|
|
@@ -4303,28 +4292,22 @@ function segmentGroups(items) {
|
|
|
4303
4292
|
function estimateTextTokens(text) {
|
|
4304
4293
|
return Math.ceil(text.length / 4);
|
|
4305
4294
|
}
|
|
4306
|
-
function
|
|
4307
|
-
const covered = /* @__PURE__ */ new Set();
|
|
4308
|
-
for (const block of state.blocks) {
|
|
4309
|
-
if (!block.active) continue;
|
|
4310
|
-
for (const id of block.effectiveMessageIds) covered.add(baseIdOf(id));
|
|
4311
|
-
}
|
|
4312
|
-
return covered;
|
|
4313
|
-
}
|
|
4314
|
-
function isSyntheticOrPruned(message, coveredBases) {
|
|
4295
|
+
function isSyntheticOrPruned(message, state) {
|
|
4315
4296
|
if (message.text?.startsWith("[Compressed conversation section]"))
|
|
4316
4297
|
return true;
|
|
4317
|
-
|
|
4318
|
-
|
|
4298
|
+
for (const block of state.blocks) {
|
|
4299
|
+
if (block.active && block.effectiveMessageIds.includes(message.id))
|
|
4300
|
+
return true;
|
|
4301
|
+
}
|
|
4302
|
+
return false;
|
|
4319
4303
|
}
|
|
4320
4304
|
function computeProtectedRefs(messages, state, config, countTokens = estimateTextTokens) {
|
|
4321
4305
|
const preserveN = config.preserveRecentMessages;
|
|
4322
4306
|
const preserveTokens = config.preserveRecentTokens;
|
|
4323
4307
|
const result = /* @__PURE__ */ new Set();
|
|
4324
4308
|
const visible = [];
|
|
4325
|
-
const coveredBases = activeBlockCoveredBases(state);
|
|
4326
4309
|
for (const msg of messages) {
|
|
4327
|
-
if (isSyntheticOrPruned(msg,
|
|
4310
|
+
if (isSyntheticOrPruned(msg, state)) continue;
|
|
4328
4311
|
if (isNeverPreserveRecent(
|
|
4329
4312
|
msg,
|
|
4330
4313
|
config.neverPreserveRecentTools,
|
|
@@ -4350,8 +4333,7 @@ function computeProtectedRefs(messages, state, config, countTokens = estimateTex
|
|
|
4350
4333
|
if (preserveN > 0) {
|
|
4351
4334
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
4352
4335
|
const msg = messages[i];
|
|
4353
|
-
if (msg.role !== "user" || isSyntheticOrPruned(msg,
|
|
4354
|
-
continue;
|
|
4336
|
+
if (msg.role !== "user" || isSyntheticOrPruned(msg, state)) continue;
|
|
4355
4337
|
const ref = state.messageRefs.byRaw[msg.id];
|
|
4356
4338
|
if (ref && ref !== "BLOCKED") result.add(ref);
|
|
4357
4339
|
break;
|
|
@@ -4368,12 +4350,11 @@ function buildCompressibleRanges(messages, state, config, protectedZoneRefs, cou
|
|
|
4368
4350
|
let skipSinceCompressible = false;
|
|
4369
4351
|
let skipSinceProtected = false;
|
|
4370
4352
|
let msgIndex = -1;
|
|
4371
|
-
const coveredBases = activeBlockCoveredBases(state);
|
|
4372
4353
|
for (const msg of messages) {
|
|
4373
4354
|
msgIndex++;
|
|
4374
4355
|
const ref = state.messageRefs.byRaw[msg.id];
|
|
4375
4356
|
if (!ref || ref === "BLOCKED") continue;
|
|
4376
|
-
if (isSyntheticOrPruned(msg,
|
|
4357
|
+
if (isSyntheticOrPruned(msg, state)) {
|
|
4377
4358
|
skipSinceCompressible = true;
|
|
4378
4359
|
skipSinceProtected = true;
|
|
4379
4360
|
continue;
|
|
@@ -4591,22 +4572,16 @@ function refGateDiagnostics(state, requestedRanges, unknownCount) {
|
|
|
4591
4572
|
}
|
|
4592
4573
|
function danglingMessageRefs(state, messages, spec) {
|
|
4593
4574
|
const visible = new Set(messages.map((m) => m.id));
|
|
4594
|
-
const visibleBases = /* @__PURE__ */ new Set();
|
|
4595
|
-
for (const id of visible) visibleBases.add(baseIdOf(id));
|
|
4596
|
-
const coveredBases = /* @__PURE__ */ new Set();
|
|
4597
|
-
for (const block of state.blocks) {
|
|
4598
|
-
if (!block.active) continue;
|
|
4599
|
-
for (const id of block.effectiveMessageIds) coveredBases.add(baseIdOf(id));
|
|
4600
|
-
}
|
|
4601
4575
|
const dangling = [];
|
|
4602
4576
|
for (const ref of [spec.startRef, spec.endRef]) {
|
|
4603
4577
|
const parsed = parseBoundary(ref);
|
|
4604
4578
|
if (!parsed || parsed.kind !== "message") continue;
|
|
4605
4579
|
const rawId = state.messageRefs.byRef[parsed.raw] ?? state.messageRefs.byRef[indexToRef(parsed.numericId)];
|
|
4606
|
-
if (!rawId) continue;
|
|
4607
|
-
const
|
|
4608
|
-
|
|
4609
|
-
|
|
4580
|
+
if (!rawId || visible.has(rawId)) continue;
|
|
4581
|
+
const covered = state.blocks.some(
|
|
4582
|
+
(block) => block.active && block.effectiveMessageIds.includes(rawId)
|
|
4583
|
+
);
|
|
4584
|
+
if (!covered) dangling.push(parsed.raw);
|
|
4610
4585
|
}
|
|
4611
4586
|
return dangling;
|
|
4612
4587
|
}
|
|
@@ -5311,25 +5286,13 @@ function applySingleRange(input) {
|
|
|
5311
5286
|
);
|
|
5312
5287
|
if (rangeMessageIds.length > resolved.messageIds.length) {
|
|
5313
5288
|
const indexByMessageId = /* @__PURE__ */ new Map();
|
|
5314
|
-
|
|
5315
|
-
input.messages.forEach((m, i) => {
|
|
5316
|
-
indexByMessageId.set(m.id, i);
|
|
5317
|
-
const base = baseIdOf(m.id);
|
|
5318
|
-
const existing = baseIndexById.get(base);
|
|
5319
|
-
if (existing === void 0 || i < existing) baseIndexById.set(base, i);
|
|
5320
|
-
});
|
|
5289
|
+
input.messages.forEach((m, i) => indexByMessageId.set(m.id, i));
|
|
5321
5290
|
const adjustedStart = rangeMessageIds.length > 0 ? indexByMessageId.get(rangeMessageIds[0]) ?? resolved.startIndex : resolved.startIndex;
|
|
5322
5291
|
const adjustedEnd = rangeMessageIds.length > 0 ? indexByMessageId.get(rangeMessageIds[rangeMessageIds.length - 1]) ?? resolved.endIndex : resolved.endIndex;
|
|
5323
5292
|
const nestedSeen = new Set(resolved.nestedBlockIds);
|
|
5324
5293
|
for (const block2 of activeBlocks(input.state)) {
|
|
5325
5294
|
if (nestedSeen.has(block2.blockId)) continue;
|
|
5326
|
-
if (blockVisibleInRange(
|
|
5327
|
-
block2,
|
|
5328
|
-
indexByMessageId,
|
|
5329
|
-
adjustedStart,
|
|
5330
|
-
adjustedEnd,
|
|
5331
|
-
baseIndexById
|
|
5332
|
-
)) {
|
|
5295
|
+
if (blockVisibleInRange(block2, indexByMessageId, adjustedStart, adjustedEnd)) {
|
|
5333
5296
|
nestedSeen.add(block2.blockId);
|
|
5334
5297
|
resolved.nestedBlockIds.push(block2.blockId);
|
|
5335
5298
|
}
|
|
@@ -5355,7 +5318,7 @@ function applySingleRange(input) {
|
|
|
5355
5318
|
}
|
|
5356
5319
|
}
|
|
5357
5320
|
const directMessageIds = [...effectiveMessageIds].filter(
|
|
5358
|
-
(id) => !input.preExistingCoverage.has(
|
|
5321
|
+
(id) => !input.preExistingCoverage.has(id)
|
|
5359
5322
|
);
|
|
5360
5323
|
let filteredIds = filterProtectedToolMessages(
|
|
5361
5324
|
directMessageIds,
|
|
@@ -5588,7 +5551,7 @@ function resolveTargetTier(state, nestedBlockIds, isBlockBoundary) {
|
|
|
5588
5551
|
function collectCoverage(state) {
|
|
5589
5552
|
const coverage = /* @__PURE__ */ new Set();
|
|
5590
5553
|
for (const block of activeBlocks(state)) {
|
|
5591
|
-
for (const id of block.effectiveMessageIds) coverage.add(
|
|
5554
|
+
for (const id of block.effectiveMessageIds) coverage.add(id);
|
|
5592
5555
|
}
|
|
5593
5556
|
return coverage;
|
|
5594
5557
|
}
|
|
@@ -6156,7 +6119,7 @@ function collectVisible(messages, state, countTokens) {
|
|
|
6156
6119
|
const coveredIds = /* @__PURE__ */ new Set();
|
|
6157
6120
|
for (const block of state.blocks) {
|
|
6158
6121
|
if (!block.active) continue;
|
|
6159
|
-
for (const id of block.effectiveMessageIds) coveredIds.add(
|
|
6122
|
+
for (const id of block.effectiveMessageIds) coveredIds.add(id);
|
|
6160
6123
|
}
|
|
6161
6124
|
let summaryTokens = 0;
|
|
6162
6125
|
for (const block of state.blocks) {
|
|
@@ -6174,7 +6137,7 @@ function collectVisible(messages, state, countTokens) {
|
|
|
6174
6137
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
6175
6138
|
if (!ref) return;
|
|
6176
6139
|
const tokens = countMessageTokens(message, countTokens);
|
|
6177
|
-
if (!coveredIds.has(
|
|
6140
|
+
if (!coveredIds.has(message.id) && tokens > 0) {
|
|
6178
6141
|
const isTool = isToolMessage(message);
|
|
6179
6142
|
const tool = isTool ? message.toolName ?? (message.toolCallId ? toolCallNames.get(message.toolCallId) : void 0) ?? "tool" : "text";
|
|
6180
6143
|
visible.push({
|
|
@@ -8663,6 +8626,7 @@ export {
|
|
|
8663
8626
|
parseImageDimensions,
|
|
8664
8627
|
parseImageDimensionsFromBase64,
|
|
8665
8628
|
parseImageFullInput,
|
|
8629
|
+
parseStoredPlaceholder,
|
|
8666
8630
|
pixelTileEstimate,
|
|
8667
8631
|
prune,
|
|
8668
8632
|
rawForRef,
|