acp-kernel 0.0.95 → 0.0.96
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 -4
- package/dist/ccr.d.ts +42 -7
- package/dist/ccr.d.ts.map +1 -1
- package/dist/compress.d.ts.map +1 -1
- package/dist/content-store.d.ts +4 -0
- package/dist/content-store.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +120 -8
- package/dist/index.js.map +1 -1
- package/dist/instance-reid.d.ts +30 -0
- package/dist/instance-reid.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -37,9 +37,9 @@ const state = createInitialState();
|
|
|
37
37
|
const config = defaultConfig(200000); // modelContextLimit (positional); optional overrides as 2nd arg
|
|
38
38
|
|
|
39
39
|
// processTurn runs the canonical node pipeline every turn:
|
|
40
|
-
// assign-refs → sync-blocks → prune → ccr-store →
|
|
41
|
-
// absorb-prompt → filter → hide-compress-calls →
|
|
42
|
-
// → emergency-truncate → render-refs
|
|
40
|
+
// reconcile-live-ids → assign-refs → sync-blocks → prune → ccr-store →
|
|
41
|
+
// absorb-hide → crush → absorb-prompt → filter → hide-compress-calls →
|
|
42
|
+
// recommend → nudge-inject → emergency-truncate → render-refs
|
|
43
43
|
const {
|
|
44
44
|
messages,
|
|
45
45
|
state: nextState,
|
|
@@ -143,7 +143,10 @@ friendly):
|
|
|
143
143
|
Contract guarantees:
|
|
144
144
|
|
|
145
145
|
- **Replace-once-at-arrival.** The visible bytes change exactly once
|
|
146
|
-
(original → placeholder); every later turn sees identical bytes.
|
|
146
|
+
(original → placeholder); every later turn sees identical bytes. If a host
|
|
147
|
+
re-sends the original raw (raw retransmission), the node re-projects the
|
|
148
|
+
arrival-time placeholder instead of leaking the raw payload back onto the
|
|
149
|
+
wire, so the byte-stable guarantee holds across re-sends too (#1460).
|
|
147
150
|
- **Tool-pair integrity.** Only the tool-result's own content shrinks; the
|
|
148
151
|
paired assistant `tool_calls` survive untouched (OpenAI-family wire pairing).
|
|
149
152
|
- **id-never-reused safe.** The store is per-ref append-only, first-write-wins,
|
package/dist/ccr.d.ts
CHANGED
|
@@ -12,15 +12,18 @@ import type { PipelineNode } from "./pipeline.js";
|
|
|
12
12
|
* retrieved text rides back as an ephemeral trailing message that never
|
|
13
13
|
* consumes a ref and never enters the fold space.
|
|
14
14
|
*
|
|
15
|
-
* Replace-once-at-arrival: the
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* Replace-once-at-arrival: after the first replacement the visible bytes
|
|
16
|
+
* never change again → prefix-cache stable. The node enforces this even when
|
|
17
|
+
* a host re-sends the original raw (raw retransmission): a stored ref meeting
|
|
18
|
+
* its raw bytes again gets the arrival-time placeholder re-projected instead
|
|
19
|
+
* of leaking the raw payload back onto the wire (#1460).
|
|
18
20
|
*/
|
|
19
21
|
export declare const RETRIEVE_TOOL_NAME = "acp_retrieve";
|
|
20
22
|
export declare const DEFAULT_CCR_CONFIG: CcrConfig;
|
|
21
23
|
export declare function resolveCcrConfig(config: Config): CcrConfig;
|
|
22
|
-
/** Marker embedded in every placeholder.
|
|
23
|
-
*
|
|
24
|
+
/** Marker embedded in every placeholder. Exclusion signal for absorb
|
|
25
|
+
* (ID-reference wins over distill); recognition is via the STRICT parser
|
|
26
|
+
* below, never a substring scan (billion-context#1456). */
|
|
24
27
|
export declare const STORED_PLACEHOLDER_MARKER = "[acp-stored";
|
|
25
28
|
/** Reserved id prefix for ephemeral retrieval injections (mirrors
|
|
26
29
|
* acp_summary_): no ref is ever assigned, fold-space collection skips them. */
|
|
@@ -45,8 +48,34 @@ export interface StoredPlaceholderInput {
|
|
|
45
48
|
* same inputs always produce identical bytes (prefix-cache friendly). */
|
|
46
49
|
export declare function buildStoredPlaceholder(input: StoredPlaceholderInput): string;
|
|
47
50
|
export declare function stripLeadingTag(text: string): string;
|
|
48
|
-
/**
|
|
49
|
-
*
|
|
51
|
+
/** Parsed canonical CCR placeholder (whole-body shape of
|
|
52
|
+
* buildStoredPlaceholder output). */
|
|
53
|
+
export interface ParsedStoredPlaceholder {
|
|
54
|
+
ref: string;
|
|
55
|
+
kind: string;
|
|
56
|
+
tokens: number;
|
|
57
|
+
retrieveToolName: string;
|
|
58
|
+
/** Backtick title from line 1 (command/head preview), when present. */
|
|
59
|
+
title?: string;
|
|
60
|
+
}
|
|
61
|
+
/** Parse a WHOLE-BODY canonical CCR placeholder; null otherwise.
|
|
62
|
+
*
|
|
63
|
+
* Accepts exactly the two-line structure emitted by buildStoredPlaceholder,
|
|
64
|
+
* modulo one trusted leading render tag (hosts round-trip rendered output)
|
|
65
|
+
* and one optional trailing newline. Ordinary source, docs or logs that
|
|
66
|
+
* merely MENTION the marker — including embedded full placeholder examples
|
|
67
|
+
* with surrounding text — parse to null. The residual ambiguity is only user
|
|
68
|
+
* content byte-equal to a canonical placeholder, which no pure-text protocol
|
|
69
|
+
* can disambiguate (structured provenance is the long-term fix; deliberately
|
|
70
|
+
* out of scope here). Callers that know the message's own ref MUST compare
|
|
71
|
+
* `parsed.ref === ownRef` before trusting the result as an internal
|
|
72
|
+
* placeholder. */
|
|
73
|
+
export declare function parseStoredPlaceholder(text: string): ParsedStoredPlaceholder | null;
|
|
74
|
+
/** True iff the WHOLE body is a canonical CCR placeholder — i.e. the kernel
|
|
75
|
+
* already replaced this tool result and it must not be stored, re-compressed
|
|
76
|
+
* or absorbed again. Replaces the former `includes("[acp-stored")` substring
|
|
77
|
+
* check that misclassified ordinary text merely mentioning the marker
|
|
78
|
+
* (billion-context#1456). */
|
|
50
79
|
export declare function isStoredPlaceholderText(text: string): boolean;
|
|
51
80
|
export declare function retrievedMessageId(ref: string): string;
|
|
52
81
|
export declare function isRetrievedMessage(message: CoreMessage): boolean;
|
|
@@ -60,6 +89,12 @@ export interface RetrievalInjection {
|
|
|
60
89
|
injection: CoreMessage;
|
|
61
90
|
}
|
|
62
91
|
export declare function buildRetrievalInjection(ref: string, entry: StoredEntry, text: string): RetrievalInjection;
|
|
92
|
+
/** Re-project the arrival-time placeholder for a stored ref whose original
|
|
93
|
+
* bytes arrived again raw (host retransmission). Frozen entry fields keep
|
|
94
|
+
* the wire byte-stable; entries persisted before `command` existed fall back
|
|
95
|
+
* to re-extracting from the paired call args, then to the head preview —
|
|
96
|
+
* matching what arrival produced in each case (#1460). */
|
|
97
|
+
export declare function restoreStoredPlaceholderText(ref: string, entry: StoredEntry, retrieveToolName: string, callArgsText: string | undefined, maxHeadChars: number): string;
|
|
63
98
|
export interface ApplyRetrieveInput {
|
|
64
99
|
store: MessageContentStore;
|
|
65
100
|
ref: string;
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAKA,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,CA6d7D;AA+qCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/content-store.d.ts
CHANGED
|
@@ -38,6 +38,9 @@ export interface StoredEntry {
|
|
|
38
38
|
chars: number;
|
|
39
39
|
/** Deterministic head preview embedded in the placeholder. */
|
|
40
40
|
head: string;
|
|
41
|
+
/** Call subject (command/path/query) frozen at arrival, if extractable —
|
|
42
|
+
* needed to re-project a byte-identical placeholder on raw retransmission. */
|
|
43
|
+
command?: string;
|
|
41
44
|
}
|
|
42
45
|
export interface MessageContentStore {
|
|
43
46
|
version: 1;
|
|
@@ -54,6 +57,7 @@ export interface StoreSpec {
|
|
|
54
57
|
toolName?: string;
|
|
55
58
|
tokens: number;
|
|
56
59
|
head: string;
|
|
60
|
+
command?: string;
|
|
57
61
|
}
|
|
58
62
|
export declare function createContentStore(): MessageContentStore;
|
|
59
63
|
export declare function hashContent(text: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"content-store.d.ts","sourceRoot":"","sources":["../src/content-store.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb;mFAC+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,CAExD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;0DAE0D;AAC1D,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,SAAS,GACd,mBAAmB,CAkBrB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAC9C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAEvC;;2DAE2D;AAC3D,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,MAAM,GACV,cAAc,CAMhB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,GACzB,iBAAiB,CAQnB"}
|
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, restoreStoredPlaceholderText, 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
|
@@ -290,6 +290,43 @@ function stripOrphanedReasoning(messages) {
|
|
|
290
290
|
return messages.filter((_, i) => !drop.has(i));
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
+
// src/instance-reid.ts
|
|
294
|
+
var CONTENT_HASH_ROOT = /^h_([0-9a-f]{16})(?:_\d+)?(?:#.*)?$/;
|
|
295
|
+
function clusterRoot(id) {
|
|
296
|
+
const m = CONTENT_HASH_ROOT.exec(id);
|
|
297
|
+
return m ? `h_${m[1]}` : null;
|
|
298
|
+
}
|
|
299
|
+
function remintCoveredLiveIds(messages, state) {
|
|
300
|
+
const covered = /* @__PURE__ */ new Set();
|
|
301
|
+
for (const id of coveredMessageIds(state)) covered.add(baseIdOf(id));
|
|
302
|
+
if (covered.size === 0) return messages;
|
|
303
|
+
const groups = /* @__PURE__ */ new Map();
|
|
304
|
+
for (let i = 0; i < messages.length; i++) {
|
|
305
|
+
const root = clusterRoot(messages[i].id);
|
|
306
|
+
if (root === null) continue;
|
|
307
|
+
const idxs = groups.get(root);
|
|
308
|
+
if (idxs) idxs.push(i);
|
|
309
|
+
else groups.set(root, [i]);
|
|
310
|
+
}
|
|
311
|
+
const next = [...messages];
|
|
312
|
+
let changed = false;
|
|
313
|
+
for (const [root, idxs] of groups) {
|
|
314
|
+
const conflict = idxs.some((i) => covered.has(baseIdOf(messages[i].id)));
|
|
315
|
+
if (!conflict) continue;
|
|
316
|
+
let k = 1;
|
|
317
|
+
for (const i of idxs) {
|
|
318
|
+
while (covered.has(`${root}_${k}`)) k++;
|
|
319
|
+
const id = messages[i].id;
|
|
320
|
+
const hash = id.indexOf("#");
|
|
321
|
+
const tail = hash > 0 ? id.slice(hash) : "";
|
|
322
|
+
next[i] = { ...messages[i], id: `${root}_${k}${tail}` };
|
|
323
|
+
k++;
|
|
324
|
+
changed = true;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return changed ? next : messages;
|
|
328
|
+
}
|
|
329
|
+
|
|
293
330
|
// src/sync.ts
|
|
294
331
|
function syncBlocks(messages, state) {
|
|
295
332
|
const presentIds = new Set(messages.map((message) => message.id));
|
|
@@ -1332,6 +1369,7 @@ function storeOriginal(store, spec) {
|
|
|
1332
1369
|
head: spec.head
|
|
1333
1370
|
};
|
|
1334
1371
|
if (spec.toolName !== void 0) entry.toolName = spec.toolName;
|
|
1372
|
+
if (spec.command !== void 0) entry.command = spec.command;
|
|
1335
1373
|
const byHash = store.byHash[hash] === void 0 ? { ...store.byHash, [hash]: spec.text } : store.byHash;
|
|
1336
1374
|
return { ...store, byHash, byRef: { ...store.byRef, [spec.ref]: entry } };
|
|
1337
1375
|
}
|
|
@@ -1435,8 +1473,42 @@ var LEADING_TAG_RE = new RegExp("^\\x3cacp [^>]*>[^\\x3c]*\\x3c\\/acp>\\n?");
|
|
|
1435
1473
|
function stripLeadingTag(text) {
|
|
1436
1474
|
return text.replace(LEADING_TAG_RE, "");
|
|
1437
1475
|
}
|
|
1476
|
+
var PLACEHOLDER_LINE1_RE = new RegExp(
|
|
1477
|
+
"^\u{1F4E6} \\[acp-stored #(m\\d{5}) \xB7 (.+?) \xB7 (0|[1-9]\\d{0,2}(?:,\\d{3})*) tok\\](?: `(.+)`)?$"
|
|
1478
|
+
);
|
|
1479
|
+
var PLACEHOLDER_LINE2_RE = /^ → (.+?)\("(m\d{5})"\) returns the full text$/;
|
|
1480
|
+
function parseStoredPlaceholder(text) {
|
|
1481
|
+
const body = stripLeadingTag(text);
|
|
1482
|
+
const trimmed = body.endsWith("\n") ? body.slice(0, -1) : body;
|
|
1483
|
+
const nl = trimmed.indexOf("\n");
|
|
1484
|
+
if (nl <= 0) return null;
|
|
1485
|
+
const line1 = trimmed.slice(0, nl);
|
|
1486
|
+
const line2 = trimmed.slice(nl + 1);
|
|
1487
|
+
if (line2.includes("\n")) return null;
|
|
1488
|
+
const head = PLACEHOLDER_LINE1_RE.exec(line1);
|
|
1489
|
+
if (!head) return null;
|
|
1490
|
+
const hint = PLACEHOLDER_LINE2_RE.exec(line2);
|
|
1491
|
+
if (!hint) return null;
|
|
1492
|
+
const ref = head[1];
|
|
1493
|
+
const kind = head[2];
|
|
1494
|
+
const tokenGroup = head[3];
|
|
1495
|
+
const toolName = hint[1];
|
|
1496
|
+
const hintRef = hint[2];
|
|
1497
|
+
if (!ref || !hintRef || ref !== hintRef || !kind || !tokenGroup || !toolName) {
|
|
1498
|
+
return null;
|
|
1499
|
+
}
|
|
1500
|
+
const parsed = {
|
|
1501
|
+
ref,
|
|
1502
|
+
kind,
|
|
1503
|
+
tokens: Number(tokenGroup.replace(/,/g, "")),
|
|
1504
|
+
retrieveToolName: toolName
|
|
1505
|
+
};
|
|
1506
|
+
const title = head[4];
|
|
1507
|
+
if (title !== void 0) parsed.title = title;
|
|
1508
|
+
return parsed;
|
|
1509
|
+
}
|
|
1438
1510
|
function isStoredPlaceholderText(text) {
|
|
1439
|
-
return
|
|
1511
|
+
return parseStoredPlaceholder(text) !== null;
|
|
1440
1512
|
}
|
|
1441
1513
|
function retrievedMessageId(ref) {
|
|
1442
1514
|
return RETRIEVED_ID_PREFIX + ref;
|
|
@@ -1457,6 +1529,16 @@ ${text}`
|
|
|
1457
1529
|
}
|
|
1458
1530
|
};
|
|
1459
1531
|
}
|
|
1532
|
+
function restoreStoredPlaceholderText(ref, entry, retrieveToolName, callArgsText, maxHeadChars) {
|
|
1533
|
+
return buildStoredPlaceholder({
|
|
1534
|
+
ref,
|
|
1535
|
+
kind: entry.kind,
|
|
1536
|
+
tokens: entry.tokens,
|
|
1537
|
+
head: entry.head,
|
|
1538
|
+
command: entry.command ?? extractCommand(callArgsText, maxHeadChars),
|
|
1539
|
+
retrieveToolName
|
|
1540
|
+
});
|
|
1541
|
+
}
|
|
1460
1542
|
function applyRetrieve(input) {
|
|
1461
1543
|
const ref = input.ref.trim();
|
|
1462
1544
|
const found = retrieveByRef(input.store, ref);
|
|
@@ -1492,7 +1574,9 @@ function storeLargeResults(input) {
|
|
|
1492
1574
|
if (message.contentType !== "tool-result") return message;
|
|
1493
1575
|
const text = message.text ?? "";
|
|
1494
1576
|
if (text.length === 0) return message;
|
|
1495
|
-
|
|
1577
|
+
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1578
|
+
const placeholder = parseStoredPlaceholder(text);
|
|
1579
|
+
if (placeholder && (!ref || placeholder.ref === ref)) return message;
|
|
1496
1580
|
if (!message.toolCallId) return message;
|
|
1497
1581
|
const toolName = message.toolName;
|
|
1498
1582
|
if (toolName && (ACP_TOOL_NAMES.has(toolName) || toolName === cfg.toolName)) {
|
|
@@ -1502,11 +1586,22 @@ function storeLargeResults(input) {
|
|
|
1502
1586
|
return message;
|
|
1503
1587
|
}
|
|
1504
1588
|
if (isMessageProtected(message, input.config)) return message;
|
|
1589
|
+
if (!ref || ref === BLOCKED_REF) return message;
|
|
1590
|
+
const existing = current.byRef[ref];
|
|
1591
|
+
if (existing) {
|
|
1592
|
+
return {
|
|
1593
|
+
...message,
|
|
1594
|
+
text: restoreStoredPlaceholderText(
|
|
1595
|
+
ref,
|
|
1596
|
+
existing,
|
|
1597
|
+
cfg.toolName,
|
|
1598
|
+
callById.get(message.toolCallId)?.text,
|
|
1599
|
+
cfg.maxHeadChars
|
|
1600
|
+
)
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1505
1603
|
const tokens = input.countTokens(text);
|
|
1506
1604
|
if (tokens < cfg.minToolTokens) return message;
|
|
1507
|
-
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1508
|
-
if (!ref || ref === BLOCKED_REF) return message;
|
|
1509
|
-
if (hasStoredRef(current, ref)) return message;
|
|
1510
1605
|
const kind = classifyKind(toolName);
|
|
1511
1606
|
const head = normalizeHead(text, cfg.maxHeadChars);
|
|
1512
1607
|
const command = extractCommand(
|
|
@@ -1520,7 +1615,8 @@ function storeLargeResults(input) {
|
|
|
1520
1615
|
kind,
|
|
1521
1616
|
toolName,
|
|
1522
1617
|
tokens,
|
|
1523
|
-
head
|
|
1618
|
+
head,
|
|
1619
|
+
command
|
|
1524
1620
|
});
|
|
1525
1621
|
storedCount += 1;
|
|
1526
1622
|
return {
|
|
@@ -1571,6 +1667,12 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1571
1667
|
for (const id of block.effectiveMessageIds) covered.add(id);
|
|
1572
1668
|
}
|
|
1573
1669
|
let current = store;
|
|
1670
|
+
const callArgsById = /* @__PURE__ */ new Map();
|
|
1671
|
+
for (const message of messages) {
|
|
1672
|
+
if (message.contentType === "tool-call" && message.toolCallId) {
|
|
1673
|
+
callArgsById.set(message.toolCallId, stripLeadingTag(message.text ?? ""));
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1574
1676
|
for (const message of messages) {
|
|
1575
1677
|
if (!covered.has(message.id)) continue;
|
|
1576
1678
|
if (message.contentType === "reasoning") continue;
|
|
@@ -1578,7 +1680,7 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1578
1680
|
if (text.length === 0) continue;
|
|
1579
1681
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
1580
1682
|
if (!ref || ref === BLOCKED_REF) continue;
|
|
1581
|
-
if (
|
|
1683
|
+
if (parseStoredPlaceholder(text)?.ref === ref) continue;
|
|
1582
1684
|
current = storeOriginal(current, {
|
|
1583
1685
|
ref,
|
|
1584
1686
|
rawId: message.id,
|
|
@@ -1586,7 +1688,8 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1586
1688
|
kind: classifyKind(message.toolName),
|
|
1587
1689
|
toolName: message.toolName,
|
|
1588
1690
|
tokens: countTokens(text),
|
|
1589
|
-
head: normalizeHead(text, maxHeadChars)
|
|
1691
|
+
head: normalizeHead(text, maxHeadChars),
|
|
1692
|
+
command: message.contentType === "tool-result" && message.toolCallId ? extractCommand(callArgsById.get(message.toolCallId), maxHeadChars) : void 0
|
|
1590
1693
|
});
|
|
1591
1694
|
}
|
|
1592
1695
|
return current;
|
|
@@ -4978,6 +5081,7 @@ function createCore(ports = {}) {
|
|
|
4978
5081
|
}
|
|
4979
5082
|
function buildNodes(strategy) {
|
|
4980
5083
|
const base = [
|
|
5084
|
+
reconcileLiveIdsNode,
|
|
4981
5085
|
assignRefsNode,
|
|
4982
5086
|
syncBlocksNode,
|
|
4983
5087
|
pruneNode,
|
|
@@ -5004,6 +5108,12 @@ function createCore(ports = {}) {
|
|
|
5004
5108
|
status
|
|
5005
5109
|
};
|
|
5006
5110
|
}
|
|
5111
|
+
var reconcileLiveIdsNode = {
|
|
5112
|
+
name: "reconcile-live-ids",
|
|
5113
|
+
run(io) {
|
|
5114
|
+
return { ...io, messages: remintCoveredLiveIds(io.messages, io.state) };
|
|
5115
|
+
}
|
|
5116
|
+
};
|
|
5007
5117
|
var assignRefsNode = {
|
|
5008
5118
|
name: "assign-refs",
|
|
5009
5119
|
run(io, ctx) {
|
|
@@ -8591,6 +8701,7 @@ export {
|
|
|
8591
8701
|
parseImageDimensions,
|
|
8592
8702
|
parseImageDimensionsFromBase64,
|
|
8593
8703
|
parseImageFullInput,
|
|
8704
|
+
parseStoredPlaceholder,
|
|
8594
8705
|
pixelTileEstimate,
|
|
8595
8706
|
prune,
|
|
8596
8707
|
rawForRef,
|
|
@@ -8621,6 +8732,7 @@ export {
|
|
|
8621
8732
|
resolveRuleLimits,
|
|
8622
8733
|
resolveTransformChannel,
|
|
8623
8734
|
resolveVerbosityLevel,
|
|
8735
|
+
restoreStoredPlaceholderText,
|
|
8624
8736
|
retrieveByRef,
|
|
8625
8737
|
retrievedMessageId,
|
|
8626
8738
|
runPipeline,
|