acp-kernel 0.0.95-pr.457.308 → 0.0.95-pr.458.309
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 +38 -43
- 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":"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;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,EAAE,SAMhC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAE1D;AAED;iFACiF;AACjF,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD;gFACgF;AAChF,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAwBpD,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtD;AASD;gFACgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIpE;AAID;;4EAE4E;AAC5E,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAoBpB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;0EAC0E;AAC1E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAQ5E;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;+DAC+D;AAC/D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAMhE;AAED,MAAM,WAAW,kBAAkB;IACjC;wEACoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;8DAE0D;IAC1D,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,GACX,kBAAkB,CAWpB;AAED;;;;2DAI2D;AAC3D,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,EAClB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,EAAE,MAAM,GACnB,MAAM,CASR;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,mBAAmB,GAC3B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;CACpB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;wCAEwC;AACxC,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAkB5E;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;6EAG6E;AAC7E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,CAiFzB;AAED,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;gEAEgE;AAChE,eAAO,MAAM,YAAY,EAAE,YA8B1B,CAAC;AAEF;;;4EAG4E;AAC5E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,YAAY,GAAE,MAAwC,GACrD,mBAAmB,CA0CrB;AAED;sEACsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAQvE"}
|
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(
|
|
@@ -1606,6 +1594,12 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1606
1594
|
for (const id of block.effectiveMessageIds) covered.add(id);
|
|
1607
1595
|
}
|
|
1608
1596
|
let current = store;
|
|
1597
|
+
const callArgsById = /* @__PURE__ */ new Map();
|
|
1598
|
+
for (const message of messages) {
|
|
1599
|
+
if (message.contentType === "tool-call" && message.toolCallId) {
|
|
1600
|
+
callArgsById.set(message.toolCallId, stripLeadingTag(message.text ?? ""));
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1609
1603
|
for (const message of messages) {
|
|
1610
1604
|
if (!covered.has(message.id)) continue;
|
|
1611
1605
|
if (message.contentType === "reasoning") continue;
|
|
@@ -1613,7 +1607,7 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1613
1607
|
if (text.length === 0) continue;
|
|
1614
1608
|
const ref = refForRaw(state.messageRefs, message.id);
|
|
1615
1609
|
if (!ref || ref === BLOCKED_REF) continue;
|
|
1616
|
-
if (
|
|
1610
|
+
if (isStoredPlaceholderText(text)) continue;
|
|
1617
1611
|
current = storeOriginal(current, {
|
|
1618
1612
|
ref,
|
|
1619
1613
|
rawId: message.id,
|
|
@@ -1621,7 +1615,8 @@ function storeCoveredOriginals(store, messages, state, blockIds, countTokens, ma
|
|
|
1621
1615
|
kind: classifyKind(message.toolName),
|
|
1622
1616
|
toolName: message.toolName,
|
|
1623
1617
|
tokens: countTokens(text),
|
|
1624
|
-
head: normalizeHead(text, maxHeadChars)
|
|
1618
|
+
head: normalizeHead(text, maxHeadChars),
|
|
1619
|
+
command: message.contentType === "tool-result" && message.toolCallId ? extractCommand(callArgsById.get(message.toolCallId), maxHeadChars) : void 0
|
|
1625
1620
|
});
|
|
1626
1621
|
}
|
|
1627
1622
|
return current;
|
|
@@ -8626,7 +8621,6 @@ export {
|
|
|
8626
8621
|
parseImageDimensions,
|
|
8627
8622
|
parseImageDimensionsFromBase64,
|
|
8628
8623
|
parseImageFullInput,
|
|
8629
|
-
parseStoredPlaceholder,
|
|
8630
8624
|
pixelTileEstimate,
|
|
8631
8625
|
prune,
|
|
8632
8626
|
rawForRef,
|
|
@@ -8657,6 +8651,7 @@ export {
|
|
|
8657
8651
|
resolveRuleLimits,
|
|
8658
8652
|
resolveTransformChannel,
|
|
8659
8653
|
resolveVerbosityLevel,
|
|
8654
|
+
restoreStoredPlaceholderText,
|
|
8660
8655
|
retrieveByRef,
|
|
8661
8656
|
retrievedMessageId,
|
|
8662
8657
|
runPipeline,
|