acp-kernel 0.0.95 → 0.0.96-pr.463.316
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 +131 -9
- package/dist/index.js.map +1 -1
- package/dist/instance-reid.d.ts +27 -0
- package/dist/instance-reid.d.ts.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- 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,CAke7D;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":"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,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,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"}
|
package/dist/index.js
CHANGED
|
@@ -290,6 +290,51 @@ 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 coveredBases = /* @__PURE__ */ new Set();
|
|
301
|
+
for (const id of coveredMessageIds(state)) coveredBases.add(baseIdOf(id));
|
|
302
|
+
if (coveredBases.size === 0) return messages;
|
|
303
|
+
if (!state.lastPassIds) return messages;
|
|
304
|
+
const prior = new Set(state.lastPassIds);
|
|
305
|
+
const groups = /* @__PURE__ */ new Map();
|
|
306
|
+
for (let i = 0; i < messages.length; i++) {
|
|
307
|
+
const root = clusterRoot(messages[i].id);
|
|
308
|
+
if (root === null) continue;
|
|
309
|
+
const idxs = groups.get(root);
|
|
310
|
+
if (idxs) idxs.push(i);
|
|
311
|
+
else groups.set(root, [i]);
|
|
312
|
+
}
|
|
313
|
+
const next = [...messages];
|
|
314
|
+
let changed = false;
|
|
315
|
+
for (const [root, idxs] of groups) {
|
|
316
|
+
const conflict = idxs.some((i) => coveredBases.has(baseIdOf(messages[i].id)));
|
|
317
|
+
if (!conflict) continue;
|
|
318
|
+
const liveIds = new Set(idxs.map((i) => baseIdOf(messages[i].id)));
|
|
319
|
+
let k = 1;
|
|
320
|
+
for (const i of idxs) {
|
|
321
|
+
const id = messages[i].id;
|
|
322
|
+
const exactCovered = coveredBases.has(baseIdOf(id));
|
|
323
|
+
if (!exactCovered || prior.has(id)) continue;
|
|
324
|
+
while (coveredBases.has(`${root}_${k}`) || liveIds.has(`${root}_${k}`) || prior.has(`${root}_${k}`))
|
|
325
|
+
k++;
|
|
326
|
+
const hash = id.indexOf("#");
|
|
327
|
+
const tail = hash > 0 ? id.slice(hash) : "";
|
|
328
|
+
const minted = `${root}_${k}${tail}`;
|
|
329
|
+
liveIds.add(baseIdOf(minted));
|
|
330
|
+
next[i] = { ...messages[i], id: minted };
|
|
331
|
+
k++;
|
|
332
|
+
changed = true;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return changed ? next : messages;
|
|
336
|
+
}
|
|
337
|
+
|
|
293
338
|
// src/sync.ts
|
|
294
339
|
function syncBlocks(messages, state) {
|
|
295
340
|
const presentIds = new Set(messages.map((message) => message.id));
|
|
@@ -1332,6 +1377,7 @@ function storeOriginal(store, spec) {
|
|
|
1332
1377
|
head: spec.head
|
|
1333
1378
|
};
|
|
1334
1379
|
if (spec.toolName !== void 0) entry.toolName = spec.toolName;
|
|
1380
|
+
if (spec.command !== void 0) entry.command = spec.command;
|
|
1335
1381
|
const byHash = store.byHash[hash] === void 0 ? { ...store.byHash, [hash]: spec.text } : store.byHash;
|
|
1336
1382
|
return { ...store, byHash, byRef: { ...store.byRef, [spec.ref]: entry } };
|
|
1337
1383
|
}
|
|
@@ -1435,8 +1481,42 @@ var LEADING_TAG_RE = new RegExp("^\\x3cacp [^>]*>[^\\x3c]*\\x3c\\/acp>\\n?");
|
|
|
1435
1481
|
function stripLeadingTag(text) {
|
|
1436
1482
|
return text.replace(LEADING_TAG_RE, "");
|
|
1437
1483
|
}
|
|
1484
|
+
var PLACEHOLDER_LINE1_RE = new RegExp(
|
|
1485
|
+
"^\u{1F4E6} \\[acp-stored #(m\\d{5}) \xB7 (.+?) \xB7 (0|[1-9]\\d{0,2}(?:,\\d{3})*) tok\\](?: `(.+)`)?$"
|
|
1486
|
+
);
|
|
1487
|
+
var PLACEHOLDER_LINE2_RE = /^ → (.+?)\("(m\d{5})"\) returns the full text$/;
|
|
1488
|
+
function parseStoredPlaceholder(text) {
|
|
1489
|
+
const body = stripLeadingTag(text);
|
|
1490
|
+
const trimmed = body.endsWith("\n") ? body.slice(0, -1) : body;
|
|
1491
|
+
const nl = trimmed.indexOf("\n");
|
|
1492
|
+
if (nl <= 0) return null;
|
|
1493
|
+
const line1 = trimmed.slice(0, nl);
|
|
1494
|
+
const line2 = trimmed.slice(nl + 1);
|
|
1495
|
+
if (line2.includes("\n")) return null;
|
|
1496
|
+
const head = PLACEHOLDER_LINE1_RE.exec(line1);
|
|
1497
|
+
if (!head) return null;
|
|
1498
|
+
const hint = PLACEHOLDER_LINE2_RE.exec(line2);
|
|
1499
|
+
if (!hint) return null;
|
|
1500
|
+
const ref = head[1];
|
|
1501
|
+
const kind = head[2];
|
|
1502
|
+
const tokenGroup = head[3];
|
|
1503
|
+
const toolName = hint[1];
|
|
1504
|
+
const hintRef = hint[2];
|
|
1505
|
+
if (!ref || !hintRef || ref !== hintRef || !kind || !tokenGroup || !toolName) {
|
|
1506
|
+
return null;
|
|
1507
|
+
}
|
|
1508
|
+
const parsed = {
|
|
1509
|
+
ref,
|
|
1510
|
+
kind,
|
|
1511
|
+
tokens: Number(tokenGroup.replace(/,/g, "")),
|
|
1512
|
+
retrieveToolName: toolName
|
|
1513
|
+
};
|
|
1514
|
+
const title = head[4];
|
|
1515
|
+
if (title !== void 0) parsed.title = title;
|
|
1516
|
+
return parsed;
|
|
1517
|
+
}
|
|
1438
1518
|
function isStoredPlaceholderText(text) {
|
|
1439
|
-
return
|
|
1519
|
+
return parseStoredPlaceholder(text) !== null;
|
|
1440
1520
|
}
|
|
1441
1521
|
function retrievedMessageId(ref) {
|
|
1442
1522
|
return RETRIEVED_ID_PREFIX + ref;
|
|
@@ -1457,6 +1537,16 @@ ${text}`
|
|
|
1457
1537
|
}
|
|
1458
1538
|
};
|
|
1459
1539
|
}
|
|
1540
|
+
function restoreStoredPlaceholderText(ref, entry, retrieveToolName, callArgsText, maxHeadChars) {
|
|
1541
|
+
return buildStoredPlaceholder({
|
|
1542
|
+
ref,
|
|
1543
|
+
kind: entry.kind,
|
|
1544
|
+
tokens: entry.tokens,
|
|
1545
|
+
head: entry.head,
|
|
1546
|
+
command: entry.command ?? extractCommand(callArgsText, maxHeadChars),
|
|
1547
|
+
retrieveToolName
|
|
1548
|
+
});
|
|
1549
|
+
}
|
|
1460
1550
|
function applyRetrieve(input) {
|
|
1461
1551
|
const ref = input.ref.trim();
|
|
1462
1552
|
const found = retrieveByRef(input.store, ref);
|
|
@@ -1492,7 +1582,9 @@ function storeLargeResults(input) {
|
|
|
1492
1582
|
if (message.contentType !== "tool-result") return message;
|
|
1493
1583
|
const text = message.text ?? "";
|
|
1494
1584
|
if (text.length === 0) return message;
|
|
1495
|
-
|
|
1585
|
+
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1586
|
+
const placeholder = parseStoredPlaceholder(text);
|
|
1587
|
+
if (placeholder && (!ref || placeholder.ref === ref)) return message;
|
|
1496
1588
|
if (!message.toolCallId) return message;
|
|
1497
1589
|
const toolName = message.toolName;
|
|
1498
1590
|
if (toolName && (ACP_TOOL_NAMES.has(toolName) || toolName === cfg.toolName)) {
|
|
@@ -1502,11 +1594,22 @@ function storeLargeResults(input) {
|
|
|
1502
1594
|
return message;
|
|
1503
1595
|
}
|
|
1504
1596
|
if (isMessageProtected(message, input.config)) return message;
|
|
1597
|
+
if (!ref || ref === BLOCKED_REF) return message;
|
|
1598
|
+
const existing = current.byRef[ref];
|
|
1599
|
+
if (existing) {
|
|
1600
|
+
return {
|
|
1601
|
+
...message,
|
|
1602
|
+
text: restoreStoredPlaceholderText(
|
|
1603
|
+
ref,
|
|
1604
|
+
existing,
|
|
1605
|
+
cfg.toolName,
|
|
1606
|
+
callById.get(message.toolCallId)?.text,
|
|
1607
|
+
cfg.maxHeadChars
|
|
1608
|
+
)
|
|
1609
|
+
};
|
|
1610
|
+
}
|
|
1505
1611
|
const tokens = input.countTokens(text);
|
|
1506
1612
|
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
1613
|
const kind = classifyKind(toolName);
|
|
1511
1614
|
const head = normalizeHead(text, cfg.maxHeadChars);
|
|
1512
1615
|
const command = extractCommand(
|
|
@@ -1520,7 +1623,8 @@ function storeLargeResults(input) {
|
|
|
1520
1623
|
kind,
|
|
1521
1624
|
toolName,
|
|
1522
1625
|
tokens,
|
|
1523
|
-
head
|
|
1626
|
+
head,
|
|
1627
|
+
command
|
|
1524
1628
|
});
|
|
1525
1629
|
storedCount += 1;
|
|
1526
1630
|
return {
|
|
@@ -1571,6 +1675,12 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1571
1675
|
for (const id of block.effectiveMessageIds) covered.add(id);
|
|
1572
1676
|
}
|
|
1573
1677
|
let current = store;
|
|
1678
|
+
const callArgsById = /* @__PURE__ */ new Map();
|
|
1679
|
+
for (const message of messages) {
|
|
1680
|
+
if (message.contentType === "tool-call" && message.toolCallId) {
|
|
1681
|
+
callArgsById.set(message.toolCallId, stripLeadingTag(message.text ?? ""));
|
|
1682
|
+
}
|
|
1683
|
+
}
|
|
1574
1684
|
for (const message of messages) {
|
|
1575
1685
|
if (!covered.has(message.id)) continue;
|
|
1576
1686
|
if (message.contentType === "reasoning") continue;
|
|
@@ -1578,7 +1688,7 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1578
1688
|
if (text.length === 0) continue;
|
|
1579
1689
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
1580
1690
|
if (!ref || ref === BLOCKED_REF) continue;
|
|
1581
|
-
if (
|
|
1691
|
+
if (parseStoredPlaceholder(text)?.ref === ref) continue;
|
|
1582
1692
|
current = storeOriginal(current, {
|
|
1583
1693
|
ref,
|
|
1584
1694
|
rawId: message.id,
|
|
@@ -1586,7 +1696,8 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1586
1696
|
kind: classifyKind(message.toolName),
|
|
1587
1697
|
toolName: message.toolName,
|
|
1588
1698
|
tokens: countTokens(text),
|
|
1589
|
-
head: normalizeHead(text, maxHeadChars)
|
|
1699
|
+
head: normalizeHead(text, maxHeadChars),
|
|
1700
|
+
command: message.contentType === "tool-result" && message.toolCallId ? extractCommand(callArgsById.get(message.toolCallId), maxHeadChars) : void 0
|
|
1590
1701
|
});
|
|
1591
1702
|
}
|
|
1592
1703
|
return current;
|
|
@@ -4932,11 +5043,13 @@ function createCore(ports = {}) {
|
|
|
4932
5043
|
};
|
|
4933
5044
|
const strategy = input.renderTags ?? "all";
|
|
4934
5045
|
const nodes = buildNodes(strategy);
|
|
5046
|
+
const inboundIds = input.messages.map((m) => m.id);
|
|
4935
5047
|
const result = runPipeline(nodes, initial, ctx);
|
|
5048
|
+
const state = { ...result.state, lastPassIds: inboundIds };
|
|
4936
5049
|
const ccrEffect = result.effects.ccr;
|
|
4937
5050
|
return {
|
|
4938
5051
|
messages: result.messages,
|
|
4939
|
-
state
|
|
5052
|
+
state,
|
|
4940
5053
|
nudge: result.effects.nudge,
|
|
4941
5054
|
terminalEscape: result.effects.terminalEscape,
|
|
4942
5055
|
truncationSkipped: result.effects.truncationSkipped,
|
|
@@ -4978,6 +5091,7 @@ function createCore(ports = {}) {
|
|
|
4978
5091
|
}
|
|
4979
5092
|
function buildNodes(strategy) {
|
|
4980
5093
|
const base = [
|
|
5094
|
+
reconcileLiveIdsNode,
|
|
4981
5095
|
assignRefsNode,
|
|
4982
5096
|
syncBlocksNode,
|
|
4983
5097
|
pruneNode,
|
|
@@ -5004,6 +5118,12 @@ function createCore(ports = {}) {
|
|
|
5004
5118
|
status
|
|
5005
5119
|
};
|
|
5006
5120
|
}
|
|
5121
|
+
var reconcileLiveIdsNode = {
|
|
5122
|
+
name: "reconcile-live-ids",
|
|
5123
|
+
run(io) {
|
|
5124
|
+
return { ...io, messages: remintCoveredLiveIds(io.messages, io.state) };
|
|
5125
|
+
}
|
|
5126
|
+
};
|
|
5007
5127
|
var assignRefsNode = {
|
|
5008
5128
|
name: "assign-refs",
|
|
5009
5129
|
run(io, ctx) {
|
|
@@ -8591,6 +8711,7 @@ export {
|
|
|
8591
8711
|
parseImageDimensions,
|
|
8592
8712
|
parseImageDimensionsFromBase64,
|
|
8593
8713
|
parseImageFullInput,
|
|
8714
|
+
parseStoredPlaceholder,
|
|
8594
8715
|
pixelTileEstimate,
|
|
8595
8716
|
prune,
|
|
8596
8717
|
rawForRef,
|
|
@@ -8621,6 +8742,7 @@ export {
|
|
|
8621
8742
|
resolveRuleLimits,
|
|
8622
8743
|
resolveTransformChannel,
|
|
8623
8744
|
resolveVerbosityLevel,
|
|
8745
|
+
restoreStoredPlaceholderText,
|
|
8624
8746
|
retrieveByRef,
|
|
8625
8747
|
retrievedMessageId,
|
|
8626
8748
|
runPipeline,
|