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.
@@ -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>, baseIndexById?: Map<string, number>): number | null;
47
- export declare function blockVisibleInRange(block: CompressionBlock, indexByMessageId: Map<string, number>, startIndex: number, endIndex: number, baseIndexById?: Map<string, number>): boolean;
48
- export declare function earliestIndexOfIds(ids: string[], indexByMessageId: Map<string, number>, baseIndexById?: Map<string, number>): number | null;
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
@@ -1 +1 @@
1
- {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../src/boundaries.ts"],"names":[],"mappings":"AAQA,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,CAmGf;AAmND;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,GAAG,IAAI,CAQf;AAOD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAeT;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,GAAG,IAAI,CAaf;AAcD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAMzE"}
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. Idempotency check for the pipeline
23
- * node AND the exclusion signal for absorb (ID-reference wins over distill). */
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
- /** Marker check over the untagged body: hosts round-trip rendered output, so
49
- * placeholders arrive prefixed with their own history tag. */
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":"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"}
1
+ {"version":3,"file":"ccr.d.ts","sourceRoot":"","sources":["../src/ccr.ts"],"names":[],"mappings":"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"}
@@ -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;AA6ND,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CA4d7D;AAurCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
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"}
@@ -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,CAgBpB;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,CAmCvB;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,CAqDxB;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"}
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EACV,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,WAAW,EACX,IAAI,EACJ,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,GACV,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,eAAe,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAC"}
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 stripLeadingTag(text).includes(STORED_PLACEHOLDER_MARKER);
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
- if (isStoredPlaceholderText(text)) return message;
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 (isStoredPlaceholderText(text)) continue;
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
- const baseIndexById = /* @__PURE__ */ new Map();
1645
- input.messages.forEach((message, index) => {
1646
- indexByMessageId.set(message.id, index);
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, baseIndexById, endpoint) {
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) ?? baseIndexById.get(baseIdOf(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, baseIndexById);
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, baseIndexById) {
1820
+ function activeOwnerAnchor(state, ownedIds, indexByMessageId) {
1805
1821
  if (ownedIds.length === 0) return null;
1806
- const owned = /* @__PURE__ */ new Set();
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, baseIndexById);
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(baseIdOf(id));
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, baseIndexById) {
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, baseIndexById) {
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, baseIndexById) {
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 = baseIndex.get(baseIdOf(id));
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) => messageBases.has(baseIdOf(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
- if (!coveredBases.has(baseIdOf(message.id))) restored.push(message);
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 targetBases = /* @__PURE__ */ new Set();
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 nestedCoveredBases = /* @__PURE__ */ new Set();
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 (m.id !== void 0 && targetBases.has(baseIdOf(m.id)) && !nestedCoveredBases.has(baseIdOf(m.id))) {
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 activeBlockCoveredBases(state) {
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
- if (message.id === void 0) return false;
4318
- return coveredBases.has(baseIdOf(message.id));
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, coveredBases)) continue;
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, coveredBases))
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, coveredBases)) {
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 base = baseIdOf(rawId);
4608
- if (visible.has(rawId) || visibleBases.has(base)) continue;
4609
- if (!coveredBases.has(base)) dangling.push(parsed.raw);
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
- const baseIndexById = /* @__PURE__ */ new Map();
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(baseIdOf(id))
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(baseIdOf(id));
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(baseIdOf(id));
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(baseIdOf(message.id)) && tokens > 0) {
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,