acp-kernel 0.0.95-pr.457.308 → 0.0.95-pr.458.310
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 +4 -1
- package/dist/ccr.d.ts +15 -34
- package/dist/ccr.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 +40 -44
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -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,16 +12,17 @@ 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
|
-
* (ID-reference wins over distill)
|
|
24
|
-
* below, never a substring scan (billion-context#1456). */
|
|
24
|
+
/** Marker embedded in every placeholder. Idempotency check for the pipeline
|
|
25
|
+
* node AND the exclusion signal for absorb (ID-reference wins over distill). */
|
|
25
26
|
export declare const STORED_PLACEHOLDER_MARKER = "[acp-stored";
|
|
26
27
|
/** Reserved id prefix for ephemeral retrieval injections (mirrors
|
|
27
28
|
* acp_summary_): no ref is ever assigned, fold-space collection skips them. */
|
|
@@ -46,34 +47,8 @@ export interface StoredPlaceholderInput {
|
|
|
46
47
|
* same inputs always produce identical bytes (prefix-cache friendly). */
|
|
47
48
|
export declare function buildStoredPlaceholder(input: StoredPlaceholderInput): string;
|
|
48
49
|
export declare function stripLeadingTag(text: string): string;
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
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
|
+
/** Marker check over the untagged body: hosts round-trip rendered output, so
|
|
51
|
+
* placeholders arrive prefixed with their own history tag. */
|
|
77
52
|
export declare function isStoredPlaceholderText(text: string): boolean;
|
|
78
53
|
export declare function retrievedMessageId(ref: string): string;
|
|
79
54
|
export declare function isRetrievedMessage(message: CoreMessage): boolean;
|
|
@@ -87,6 +62,12 @@ export interface RetrievalInjection {
|
|
|
87
62
|
injection: CoreMessage;
|
|
88
63
|
}
|
|
89
64
|
export declare function buildRetrievalInjection(ref: string, entry: StoredEntry, text: string): RetrievalInjection;
|
|
65
|
+
/** Re-project the arrival-time placeholder for a stored ref whose original
|
|
66
|
+
* bytes arrived again raw (host retransmission). Frozen entry fields keep
|
|
67
|
+
* the wire byte-stable; entries persisted before `command` existed fall back
|
|
68
|
+
* to re-extracting from the paired call args, then to the head preview —
|
|
69
|
+
* matching what arrival produced in each case (#1460). */
|
|
70
|
+
export declare function restoreStoredPlaceholderText(ref: string, entry: StoredEntry, retrieveToolName: string, callArgsText: string | undefined, maxHeadChars: number): string;
|
|
90
71
|
export interface ApplyRetrieveInput {
|
|
91
72
|
store: MessageContentStore;
|
|
92
73
|
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/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,
|
|
43
|
-
export type { StoredPlaceholderInput,
|
|
42
|
+
export { DEFAULT_CCR_CONFIG, resolveCcrConfig, STORED_PLACEHOLDER_MARKER, RETRIEVED_ID_PREFIX, classifyKind, normalizeHead, extractCommand, buildStoredPlaceholder, isStoredPlaceholderText, restoreStoredPlaceholderText, retrievedMessageId, isRetrievedMessage, buildRetrievalInjection, applyRetrieve, storeLargeResults, storeCoveredOriginals, noteRetrieval, ccrStoreNode, } from "./ccr.js";
|
|
43
|
+
export type { StoredPlaceholderInput, 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
|
@@ -1332,6 +1332,7 @@ function storeOriginal(store, spec) {
|
|
|
1332
1332
|
head: spec.head
|
|
1333
1333
|
};
|
|
1334
1334
|
if (spec.toolName !== void 0) entry.toolName = spec.toolName;
|
|
1335
|
+
if (spec.command !== void 0) entry.command = spec.command;
|
|
1335
1336
|
const byHash = store.byHash[hash] === void 0 ? { ...store.byHash, [hash]: spec.text } : store.byHash;
|
|
1336
1337
|
return { ...store, byHash, byRef: { ...store.byRef, [spec.ref]: entry } };
|
|
1337
1338
|
}
|
|
@@ -1435,42 +1436,8 @@ var LEADING_TAG_RE = new RegExp("^\\x3cacp [^>]*>[^\\x3c]*\\x3c\\/acp>\\n?");
|
|
|
1435
1436
|
function stripLeadingTag(text) {
|
|
1436
1437
|
return text.replace(LEADING_TAG_RE, "");
|
|
1437
1438
|
}
|
|
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
|
-
}
|
|
1472
1439
|
function isStoredPlaceholderText(text) {
|
|
1473
|
-
return
|
|
1440
|
+
return stripLeadingTag(text).includes(STORED_PLACEHOLDER_MARKER);
|
|
1474
1441
|
}
|
|
1475
1442
|
function retrievedMessageId(ref) {
|
|
1476
1443
|
return RETRIEVED_ID_PREFIX + ref;
|
|
@@ -1491,6 +1458,16 @@ ${text}`
|
|
|
1491
1458
|
}
|
|
1492
1459
|
};
|
|
1493
1460
|
}
|
|
1461
|
+
function restoreStoredPlaceholderText(ref, entry, retrieveToolName, callArgsText, maxHeadChars) {
|
|
1462
|
+
return buildStoredPlaceholder({
|
|
1463
|
+
ref,
|
|
1464
|
+
kind: entry.kind,
|
|
1465
|
+
tokens: entry.tokens,
|
|
1466
|
+
head: entry.head,
|
|
1467
|
+
command: entry.command ?? extractCommand(callArgsText, maxHeadChars),
|
|
1468
|
+
retrieveToolName
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1494
1471
|
function applyRetrieve(input) {
|
|
1495
1472
|
const ref = input.ref.trim();
|
|
1496
1473
|
const found = retrieveByRef(input.store, ref);
|
|
@@ -1526,9 +1503,7 @@ function storeLargeResults(input) {
|
|
|
1526
1503
|
if (message.contentType !== "tool-result") return message;
|
|
1527
1504
|
const text = message.text ?? "";
|
|
1528
1505
|
if (text.length === 0) return message;
|
|
1529
|
-
|
|
1530
|
-
const placeholder = parseStoredPlaceholder(text);
|
|
1531
|
-
if (placeholder && (!ref || placeholder.ref === ref)) return message;
|
|
1506
|
+
if (isStoredPlaceholderText(text)) return message;
|
|
1532
1507
|
if (!message.toolCallId) return message;
|
|
1533
1508
|
const toolName = message.toolName;
|
|
1534
1509
|
if (toolName && (ACP_TOOL_NAMES.has(toolName) || toolName === cfg.toolName)) {
|
|
@@ -1538,10 +1513,23 @@ function storeLargeResults(input) {
|
|
|
1538
1513
|
return message;
|
|
1539
1514
|
}
|
|
1540
1515
|
if (isMessageProtected(message, input.config)) return message;
|
|
1516
|
+
const ref = refForRaw(input.state.messageRefs, message.id);
|
|
1517
|
+
if (!ref || ref === BLOCKED_REF) return message;
|
|
1518
|
+
const existing = current.byRef[ref];
|
|
1519
|
+
if (existing) {
|
|
1520
|
+
return {
|
|
1521
|
+
...message,
|
|
1522
|
+
text: restoreStoredPlaceholderText(
|
|
1523
|
+
ref,
|
|
1524
|
+
existing,
|
|
1525
|
+
cfg.toolName,
|
|
1526
|
+
callById.get(message.toolCallId)?.text,
|
|
1527
|
+
cfg.maxHeadChars
|
|
1528
|
+
)
|
|
1529
|
+
};
|
|
1530
|
+
}
|
|
1541
1531
|
const tokens = input.countTokens(text);
|
|
1542
1532
|
if (tokens < cfg.minToolTokens) return message;
|
|
1543
|
-
if (!ref || ref === BLOCKED_REF) return message;
|
|
1544
|
-
if (hasStoredRef(current, ref)) return message;
|
|
1545
1533
|
const kind = classifyKind(toolName);
|
|
1546
1534
|
const head = normalizeHead(text, cfg.maxHeadChars);
|
|
1547
1535
|
const command = extractCommand(
|
|
@@ -1555,7 +1543,8 @@ function storeLargeResults(input) {
|
|
|
1555
1543
|
kind,
|
|
1556
1544
|
toolName,
|
|
1557
1545
|
tokens,
|
|
1558
|
-
head
|
|
1546
|
+
head,
|
|
1547
|
+
command
|
|
1559
1548
|
});
|
|
1560
1549
|
storedCount += 1;
|
|
1561
1550
|
return {
|
|
@@ -1606,6 +1595,12 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1606
1595
|
for (const id of block.effectiveMessageIds) covered.add(id);
|
|
1607
1596
|
}
|
|
1608
1597
|
let current = store;
|
|
1598
|
+
const callArgsById = /* @__PURE__ */ new Map();
|
|
1599
|
+
for (const message of messages) {
|
|
1600
|
+
if (message.contentType === "tool-call" && message.toolCallId) {
|
|
1601
|
+
callArgsById.set(message.toolCallId, stripLeadingTag(message.text ?? ""));
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1609
1604
|
for (const message of messages) {
|
|
1610
1605
|
if (!covered.has(message.id)) continue;
|
|
1611
1606
|
if (message.contentType === "reasoning") continue;
|
|
@@ -1613,7 +1608,7 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1613
1608
|
if (text.length === 0) continue;
|
|
1614
1609
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
1615
1610
|
if (!ref || ref === BLOCKED_REF) continue;
|
|
1616
|
-
if (
|
|
1611
|
+
if (isStoredPlaceholderText(text)) continue;
|
|
1617
1612
|
current = storeOriginal(current, {
|
|
1618
1613
|
ref,
|
|
1619
1614
|
rawId: message.id,
|
|
@@ -1621,7 +1616,8 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1621
1616
|
kind: classifyKind(message.toolName),
|
|
1622
1617
|
toolName: message.toolName,
|
|
1623
1618
|
tokens: countTokens(text),
|
|
1624
|
-
head: normalizeHead(text, maxHeadChars)
|
|
1619
|
+
head: normalizeHead(text, maxHeadChars),
|
|
1620
|
+
command: message.contentType === "tool-result" && message.toolCallId ? extractCommand(callArgsById.get(message.toolCallId), maxHeadChars) : void 0
|
|
1625
1621
|
});
|
|
1626
1622
|
}
|
|
1627
1623
|
return current;
|
|
@@ -8626,7 +8622,6 @@ export {
|
|
|
8626
8622
|
parseImageDimensions,
|
|
8627
8623
|
parseImageDimensionsFromBase64,
|
|
8628
8624
|
parseImageFullInput,
|
|
8629
|
-
parseStoredPlaceholder,
|
|
8630
8625
|
pixelTileEstimate,
|
|
8631
8626
|
prune,
|
|
8632
8627
|
rawForRef,
|
|
@@ -8657,6 +8652,7 @@ export {
|
|
|
8657
8652
|
resolveRuleLimits,
|
|
8658
8653
|
resolveTransformChannel,
|
|
8659
8654
|
resolveVerbosityLevel,
|
|
8655
|
+
restoreStoredPlaceholderText,
|
|
8660
8656
|
retrieveByRef,
|
|
8661
8657
|
retrievedMessageId,
|
|
8662
8658
|
runPipeline,
|