@vercel/agent-runs 1.0.0-rc.0 → 1.0.0-rc.2
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/CHANGELOG.md +6 -5
- package/NOTICE +24 -0
- package/README.md +2 -2
- package/dist/src/adapters/serialization.d.ts.map +1 -1
- package/dist/src/adapters/serialization.js +34 -8
- package/dist/src/adapters/serialization.js.map +1 -1
- package/dist/src/agent-run.d.ts.map +1 -1
- package/dist/src/agent-run.js +20 -3
- package/dist/src/agent-run.js.map +1 -1
- package/dist/src/core/content-policy.d.ts +8 -0
- package/dist/src/core/content-policy.d.ts.map +1 -1
- package/dist/src/core/content-policy.js +14 -0
- package/dist/src/core/content-policy.js.map +1 -1
- package/dist/src/core/snapshot.d.ts.map +1 -1
- package/dist/src/core/snapshot.js +122 -9
- package/dist/src/core/snapshot.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/serialization.ts +31 -7
- package/src/agent-run.ts +28 -3
- package/src/core/content-policy.ts +17 -0
- package/src/core/snapshot.ts +127 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# @vercel/agent-runs 1.0.0-rc.
|
|
1
|
+
# @vercel/agent-runs 1.0.0-rc.2
|
|
2
2
|
|
|
3
|
-
Released 2026-
|
|
3
|
+
Released 2026-11-05 · [Compare with 1.0.0-rc.1](https://github.com/vercel/eve/compare/%40vercel%2Fagent-runs%401.0.0-rc.1...%40vercel%2Fagent-runs%401.0.0-rc.2)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Bug Fixes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Keep oversized checkpoints honest by preserving the real `agent.trace.content.input`/`output` capture flags and keeping the turn's copied input/output as a truncated copy (or omitting it) instead of rewriting the flags to `false` when a turn node exceeds the checkpoint size budget. ([#5945](https://github.com/vercel/eve/pull/5945))
|
|
8
|
+
- Raise the tracing content caps from 32 KiB per attribute and 64 KiB per checkpointed operation to 250 KiB and 512 KiB, so prompts up to 250 KiB are captured in full instead of truncated. ([#5945](https://github.com/vercel/eve/pull/5945))
|
|
8
9
|
|
|
9
|
-
For an upgrade across multiple releases, review each version between the installed and target versions in the [target version's changelog](https://raw.githubusercontent.com/vercel/eve/refs/tags/%40vercel%2Fagent-runs%401.0.0-rc.
|
|
10
|
+
For an upgrade across multiple releases, review each version between the installed and target versions in the [target version's changelog](https://raw.githubusercontent.com/vercel/eve/refs/tags/%40vercel%2Fagent-runs%401.0.0-rc.2/packages/tracing/CHANGELOG.md).
|
package/NOTICE
CHANGED
|
@@ -75,3 +75,27 @@ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
75
75
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
76
76
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
77
77
|
SOFTWARE.
|
|
78
|
+
|
|
79
|
+
The edit_file tool is adapted from the edit tool in pi
|
|
80
|
+
(https://github.com/badlogic/pi-mono) under the MIT License.
|
|
81
|
+
|
|
82
|
+
pi
|
|
83
|
+
Copyright (c) 2025 Mario Zechner
|
|
84
|
+
|
|
85
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
86
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
87
|
+
in the Software without restriction, including without limitation the rights
|
|
88
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
89
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
90
|
+
furnished to do so, subject to the following conditions:
|
|
91
|
+
|
|
92
|
+
The above copyright notice and this permission notice shall be included in all
|
|
93
|
+
copies or substantial portions of the Software.
|
|
94
|
+
|
|
95
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
96
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
97
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
98
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
99
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
100
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
101
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -238,8 +238,8 @@ and MCP enrichment. Agent tracing itself needs only the package root.
|
|
|
238
238
|
## Privacy and failures
|
|
239
239
|
|
|
240
240
|
Declined content does not enter checkpoints. Failure classes survive redaction;
|
|
241
|
-
exception content does not. Serialized content is capped at
|
|
242
|
-
operation at
|
|
241
|
+
exception content does not. Serialized content is capped at 250 KiB, each checkpointed
|
|
242
|
+
operation at 512 KiB, and unfinished children at 10,000. `onError(error, context)` is the only
|
|
243
243
|
tracing error channel. Trace output retains schema version 4.
|
|
244
244
|
|
|
245
245
|
Local tests cover output and recovery. They do not prove live Agent Runs ingestion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/adapters/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../../src/adapters/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,QAAa,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,eAAO,MAAM,sBAAsB,EAAE,iBAWpC,CAAC;AAMF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOrE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAKrD;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAUnE;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,GACnD,oBAAoB,GAAG,SAAS,CA6BlC;AAED,qFAAqF;AACrF,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAI1F;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAepB;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC1C,MAAM,GAAG,SAAS,CASpB;AAaD,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsBhF;AAoBD,wCAAwC;AACxC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrE"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* payloads stay valid JSON through every truncation path.
|
|
7
7
|
*/
|
|
8
8
|
/** Content attributes are capped so a giant payload cannot bloat a span segment. */
|
|
9
|
-
export const CONTENT_ATTRIBUTE_LIMIT =
|
|
9
|
+
export const CONTENT_ATTRIBUTE_LIMIT = 250 * 1024;
|
|
10
10
|
export const aiSdkContentSerializer = {
|
|
11
11
|
json: contentAttribute,
|
|
12
12
|
text: textContentAttribute,
|
|
@@ -78,10 +78,21 @@ export function genAiInputMessagesAttribute(messages, messageKind) {
|
|
|
78
78
|
kind === undefined ? { parts, role: message.role } : { kind, parts, role: message.role },
|
|
79
79
|
];
|
|
80
80
|
});
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
// Drop the fewest oldest messages that fit: the fit is monotone in how many
|
|
82
|
+
// are dropped, so binary search it instead of stringifying every prefix.
|
|
83
|
+
let low = 0;
|
|
84
|
+
let high = formatted.length;
|
|
85
|
+
while (low < high) {
|
|
86
|
+
const middle = Math.floor((low + high) / 2);
|
|
87
|
+
if (semanticJsonAttribute(formatted.slice(middle)) !== undefined)
|
|
88
|
+
high = middle;
|
|
89
|
+
else
|
|
90
|
+
low = middle + 1;
|
|
91
|
+
}
|
|
92
|
+
if (low < formatted.length) {
|
|
93
|
+
const json = semanticJsonAttribute(formatted.slice(low));
|
|
83
94
|
if (json !== undefined)
|
|
84
|
-
return { json, omitted:
|
|
95
|
+
return { json, omitted: low };
|
|
85
96
|
}
|
|
86
97
|
const newest = truncateSingleSemanticMessage(formatted);
|
|
87
98
|
if (newest !== undefined)
|
|
@@ -227,11 +238,26 @@ function fitSemanticText(text, wrap, alwaysMark = false) {
|
|
|
227
238
|
if (full !== undefined)
|
|
228
239
|
return full;
|
|
229
240
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
241
|
+
// Binary search the largest cut that fits: each probe stringifies one
|
|
242
|
+
// candidate, so an attribute far over the cap costs a logarithmic number of
|
|
243
|
+
// encodes instead of re-encoding a near-full candidate every 256 characters.
|
|
244
|
+
const candidate = (length) => semanticJsonAttribute(wrap(`${text.slice(0, length)}… [truncated]`));
|
|
245
|
+
let best;
|
|
246
|
+
let low = 1;
|
|
247
|
+
let high = Math.min(text.length, CONTENT_ATTRIBUTE_LIMIT);
|
|
248
|
+
while (low <= high) {
|
|
249
|
+
const middle = Math.floor((low + high) / 2);
|
|
250
|
+
const probe = candidate(middle);
|
|
251
|
+
if (probe !== undefined) {
|
|
252
|
+
best = probe;
|
|
253
|
+
low = middle + 1;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
high = middle - 1;
|
|
257
|
+
}
|
|
234
258
|
}
|
|
259
|
+
if (best !== undefined)
|
|
260
|
+
return best;
|
|
235
261
|
return semanticJsonAttribute(wrap("… [truncated]"));
|
|
236
262
|
}
|
|
237
263
|
function semanticMessageText(parts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/adapters/serialization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/adapters/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-run.d.ts","sourceRoot":"","sources":["../../src/agent-run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-run.d.ts","sourceRoot":"","sources":["../../src/agent-run.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent-run.js
CHANGED
|
@@ -8,6 +8,7 @@ import { traceSnapshot } from "./core/snapshot.js";
|
|
|
8
8
|
import { operationHandle, wrappedOperation } from "./operations.js";
|
|
9
9
|
const METADATA_ONLY = { emit: true, recordInputs: false, recordOutputs: false };
|
|
10
10
|
const LIVE_TURNS = 1000;
|
|
11
|
+
const REVISIONS_PER_TURN = 10000;
|
|
11
12
|
export function createAgentRun(input) {
|
|
12
13
|
const telemetry = input.telemetry ?? otelTelemetry();
|
|
13
14
|
const checkpointer = input.checkpointer;
|
|
@@ -38,7 +39,7 @@ export function createAgentRun(input) {
|
|
|
38
39
|
let queue = Promise.resolve();
|
|
39
40
|
return () => {
|
|
40
41
|
const turn = entry();
|
|
41
|
-
if (checkpointer === undefined || turn === undefined)
|
|
42
|
+
if (checkpointer === undefined || turn === undefined || turn.retired)
|
|
42
43
|
return queue;
|
|
43
44
|
turn.writes++;
|
|
44
45
|
queue = queue.then(async () => {
|
|
@@ -51,6 +52,8 @@ export function createAgentRun(input) {
|
|
|
51
52
|
const revision = randomUUID();
|
|
52
53
|
await checkpointer.set(key, traceSnapshot({ ...turn.root.record(), revision }));
|
|
53
54
|
turn.revision = revision;
|
|
55
|
+
if (turn.revisions.size < REVISIONS_PER_TURN)
|
|
56
|
+
turn.revisions.add(revision);
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
catch (error) {
|
|
@@ -76,8 +79,11 @@ export function createAgentRun(input) {
|
|
|
76
79
|
const ceiling = currentAgentHandoff()?.capture;
|
|
77
80
|
capture = capture === undefined ? ceiling : intersectCapture(capture, ceiling);
|
|
78
81
|
const saved = checkpointer === undefined ? undefined : await loadCheckpoint(key);
|
|
82
|
+
const savedRevision = saved?.revision;
|
|
79
83
|
if (cached !== undefined &&
|
|
80
|
-
(cached.writes > 0 ||
|
|
84
|
+
(cached.writes > 0 ||
|
|
85
|
+
savedRevision === cached.revision ||
|
|
86
|
+
(savedRevision !== undefined && cached.revisions.has(savedRevision)))) {
|
|
81
87
|
if (context !== undefined)
|
|
82
88
|
cached.root.useContext(context);
|
|
83
89
|
// A re-entry may decline content the cached turn was allowed to record.
|
|
@@ -85,13 +91,24 @@ export function createAgentRun(input) {
|
|
|
85
91
|
cached.root.narrow(capture);
|
|
86
92
|
return cached;
|
|
87
93
|
}
|
|
94
|
+
// Another process wrote this checkpoint, so it replaces the cached tree.
|
|
95
|
+
// Callers may still hold the cached tree's operations; keep them from
|
|
96
|
+
// persisting their older view over the newer checkpoint.
|
|
97
|
+
if (cached !== undefined)
|
|
98
|
+
cached.retired = true;
|
|
88
99
|
let entry;
|
|
89
100
|
const onChange = persistence(key, () => entry);
|
|
90
101
|
const restored = saved === undefined ? undefined : await scopes.restore(saved, { capture, context, onChange });
|
|
91
102
|
const root = restored ?? (await open?.(onChange));
|
|
92
103
|
if (root === undefined)
|
|
93
104
|
return undefined;
|
|
94
|
-
entry = {
|
|
105
|
+
entry = {
|
|
106
|
+
root,
|
|
107
|
+
revision: savedRevision,
|
|
108
|
+
revisions: new Set(savedRevision === undefined ? [] : [savedRevision]),
|
|
109
|
+
retired: false,
|
|
110
|
+
writes: 0,
|
|
111
|
+
};
|
|
95
112
|
if (restored === undefined)
|
|
96
113
|
await onChange();
|
|
97
114
|
return entry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../src/agent-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AA+FxF,MAAM,aAAa,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACjG,MAAM,UAAU,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../src/agent-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,14 @@ export interface ResolvedContentOptions {
|
|
|
17
17
|
readonly recordInputs: boolean;
|
|
18
18
|
readonly recordOutputs: boolean;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Re-applies the capture-policy attributes that a size-based content strip
|
|
22
|
+
* must not rewrite. Dropping content to fit a checkpoint budget is not the
|
|
23
|
+
* destination declining it, so `agent.trace.content.input` and
|
|
24
|
+
* `agent.trace.content.output` keep the record's real decision; otherwise a
|
|
25
|
+
* restored turn would report "omitted" although capture was on.
|
|
26
|
+
*/
|
|
27
|
+
export declare function preservingCapturePolicy(attributes: Readonly<Record<string, unknown>>, original: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
20
28
|
/**
|
|
21
29
|
* The attributes with the declined content removed, or `undefined` when there
|
|
22
30
|
* was none to remove.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-policy.d.ts","sourceRoot":"","sources":["../../../src/core/content-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+CH,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AA2BD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarC"}
|
|
1
|
+
{"version":3,"file":"content-policy.d.ts","sourceRoot":"","sources":["../../../src/core/content-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+CH,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AA2BD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,OAAO,EAAE,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarC"}
|
|
@@ -70,6 +70,20 @@ function exportedAttributeValue(key, value, content) {
|
|
|
70
70
|
return false;
|
|
71
71
|
return value;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Re-applies the capture-policy attributes that a size-based content strip
|
|
75
|
+
* must not rewrite. Dropping content to fit a checkpoint budget is not the
|
|
76
|
+
* destination declining it, so `agent.trace.content.input` and
|
|
77
|
+
* `agent.trace.content.output` keep the record's real decision; otherwise a
|
|
78
|
+
* restored turn would report "omitted" although capture was on.
|
|
79
|
+
*/
|
|
80
|
+
export function preservingCapturePolicy(attributes, original) {
|
|
81
|
+
const kept = { ...attributes };
|
|
82
|
+
for (const key of [INPUT_POLICY_ATTRIBUTE, OUTPUT_POLICY_ATTRIBUTE])
|
|
83
|
+
if (key in original)
|
|
84
|
+
kept[key] = original[key];
|
|
85
|
+
return kept;
|
|
86
|
+
}
|
|
73
87
|
/**
|
|
74
88
|
* The attributes with the declined content removed, or `undefined` when there
|
|
75
89
|
* was none to remove.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-policy.js","sourceRoot":"","sources":["../../../src/core/content-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4DAA4D;AAC5D,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,8BAA8B;IAC9B,qBAAqB;IACrB,wBAAwB;IACxB,cAAc;IACd,WAAW;IACX,sBAAsB;IACtB,iBAAiB;IACjB,UAAU;IACV,WAAW;IACX,uBAAuB;IACvB,uBAAuB;IACvB,4BAA4B;IAC5B,4BAA4B;IAC5B,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,yBAAyB;IACzB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAC3D,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAQ7D,SAAS,UAAU,CAAC,GAAW,EAAE,OAA+B;IAC9D,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAA6C,EAC7C,OAA+B;IAE/B,OAAO,CACL,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;QACtE,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAW,EACX,KAAc,EACd,OAA+B;IAE/B,IAAI,GAAG,KAAK,sBAAsB,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,GAAG,KAAK,uBAAuB,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAA6C,EAC7C,OAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"content-policy.js","sourceRoot":"","sources":["../../../src/core/content-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAsHpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,iBAAiB,GAC/C,iBAAiB,CAkCnB;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAE3D;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,MAAuB,EACjC,KAAK,SAAI,GACR,KAAK,IAAI,WAAW,CAoFtB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,GAAG,WAAW,CAuG9F"}
|
|
@@ -1,8 +1,118 @@
|
|
|
1
1
|
import { capturedScopeData } from "./span-kinds.js";
|
|
2
|
-
const SERIALIZED_BYTES =
|
|
3
|
-
const SNAPSHOT_BYTES =
|
|
2
|
+
const SERIALIZED_BYTES = 256 * 1024;
|
|
3
|
+
const SNAPSHOT_BYTES = 512 * 1024;
|
|
4
4
|
const UNFINISHED_CHILDREN = 10000;
|
|
5
|
-
import { withoutDeclinedContent } from "./content-policy.js";
|
|
5
|
+
import { preservingCapturePolicy, withoutDeclinedContent } from "./content-policy.js";
|
|
6
|
+
const TRUNCATION_MARKER = "… [truncated]";
|
|
7
|
+
const TURN_CONTENT_ATTRIBUTES = ["gen_ai.input.messages", "gen_ai.output.messages"];
|
|
8
|
+
const encoder = new TextEncoder();
|
|
9
|
+
function byteLength(value) {
|
|
10
|
+
return encoder.encode(value).length;
|
|
11
|
+
}
|
|
12
|
+
/** Text of a serialized GenAI message's text parts, the truncatable content. */
|
|
13
|
+
function messageText(parts) {
|
|
14
|
+
if (!Array.isArray(parts))
|
|
15
|
+
return "";
|
|
16
|
+
let text = "";
|
|
17
|
+
for (const part of parts) {
|
|
18
|
+
if (typeof part !== "object" || part === null)
|
|
19
|
+
continue;
|
|
20
|
+
const record = part;
|
|
21
|
+
if (record.type !== "text" || typeof record.content !== "string")
|
|
22
|
+
continue;
|
|
23
|
+
text += (text.length === 0 ? "" : "\n") + record.content;
|
|
24
|
+
}
|
|
25
|
+
return text;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Shrinks a serialized GenAI message array to `budgetBytes` while keeping it
|
|
29
|
+
* valid JSON: the newest message's text is truncated with the library's
|
|
30
|
+
* truncation marker, mirroring how the serializer caps oversized prompts.
|
|
31
|
+
* The cut is binary searched, so an attribute far over the budget costs a
|
|
32
|
+
* logarithmic number of encodes instead of re-encoding a near-full candidate
|
|
33
|
+
* at every step.
|
|
34
|
+
*/
|
|
35
|
+
function fitTurnContent(input, budgetBytes) {
|
|
36
|
+
if (budgetBytes <= 0)
|
|
37
|
+
return undefined;
|
|
38
|
+
if (byteLength(input) <= budgetBytes)
|
|
39
|
+
return input;
|
|
40
|
+
let messages;
|
|
41
|
+
try {
|
|
42
|
+
messages = JSON.parse(input);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(messages) || messages.length === 0)
|
|
48
|
+
return undefined;
|
|
49
|
+
const last = messages.at(-1);
|
|
50
|
+
if (typeof last !== "object" || last === null)
|
|
51
|
+
return undefined;
|
|
52
|
+
const message = last;
|
|
53
|
+
if (typeof message.role !== "string")
|
|
54
|
+
return undefined;
|
|
55
|
+
const text = messageText(message.parts);
|
|
56
|
+
const base = typeof message.kind === "string"
|
|
57
|
+
? { kind: message.kind, role: message.role }
|
|
58
|
+
: { role: message.role };
|
|
59
|
+
const candidate = (length) => JSON.stringify([
|
|
60
|
+
{
|
|
61
|
+
...base,
|
|
62
|
+
parts: [{ content: `${text.slice(0, length)}${TRUNCATION_MARKER}`, type: "text" }],
|
|
63
|
+
},
|
|
64
|
+
]);
|
|
65
|
+
let best;
|
|
66
|
+
let low = 1;
|
|
67
|
+
let high = text.length;
|
|
68
|
+
while (low <= high) {
|
|
69
|
+
const middle = Math.floor((low + high) / 2);
|
|
70
|
+
const probe = candidate(middle);
|
|
71
|
+
if (byteLength(probe) <= budgetBytes) {
|
|
72
|
+
best = probe;
|
|
73
|
+
low = middle + 1;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
high = middle - 1;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (best !== undefined)
|
|
80
|
+
return best;
|
|
81
|
+
const minimal = candidate(0);
|
|
82
|
+
return byteLength(minimal) <= budgetBytes ? minimal : undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Adds truncated copies of the turn's content attributes back into a stripped
|
|
86
|
+
* checkpoint, sized so the whole record stays within the snapshot budgets. A
|
|
87
|
+
* copy that cannot fit small enough is left out; the capture-policy attributes
|
|
88
|
+
* stay truthful either way.
|
|
89
|
+
*/
|
|
90
|
+
function withFittedTurnContent(attributes, original, record) {
|
|
91
|
+
let fitted = attributes;
|
|
92
|
+
for (const key of TURN_CONTENT_ATTRIBUTES) {
|
|
93
|
+
const value = original[key];
|
|
94
|
+
if (typeof value !== "string")
|
|
95
|
+
continue;
|
|
96
|
+
const withoutKey = { ...fitted };
|
|
97
|
+
delete withoutKey[key];
|
|
98
|
+
const bare = { ...record, attributes: withoutKey };
|
|
99
|
+
let budget = Math.min(SERIALIZED_BYTES - byteLength(JSON.stringify(bare.data)), SNAPSHOT_BYTES - nodeBytes(bare));
|
|
100
|
+
while (budget > 0) {
|
|
101
|
+
const truncated = fitTurnContent(value, budget);
|
|
102
|
+
// Shrinking the budget cannot help when even the minimal form does not
|
|
103
|
+
// fit or the copy is not truncatable JSON.
|
|
104
|
+
if (truncated === undefined)
|
|
105
|
+
break;
|
|
106
|
+
const candidate = { ...fitted, [key]: truncated };
|
|
107
|
+
if (nodeBytes({ ...record, attributes: candidate }) <= SNAPSHOT_BYTES) {
|
|
108
|
+
fitted = candidate;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
budget = Math.floor(budget / 2);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return fitted;
|
|
115
|
+
}
|
|
6
116
|
export function boundedSerializer(serializer, onError) {
|
|
7
117
|
function invoke(method, args) {
|
|
8
118
|
return bounded(() => Reflect.apply(serializer[method], serializer, args));
|
|
@@ -167,15 +277,21 @@ export function snapshotRecord(record, serializer) {
|
|
|
167
277
|
}
|
|
168
278
|
catch { }
|
|
169
279
|
const fallback = () => {
|
|
170
|
-
|
|
280
|
+
const declined = {
|
|
171
281
|
emit: record.capture.emit,
|
|
172
282
|
recordInputs: false,
|
|
173
283
|
recordOutputs: false,
|
|
174
|
-
}
|
|
284
|
+
};
|
|
285
|
+
let structural = capturedScopeData(data, declined);
|
|
175
286
|
if (structural.type === "step")
|
|
176
287
|
structural = { ...structural, options: { ...structural.options, runtimeContext: undefined } };
|
|
177
288
|
if (structural.type === "model")
|
|
178
289
|
structural = { ...structural, options: { ...structural.options, runtimeContext: undefined } };
|
|
290
|
+
// A size-driven strip is not a capture-policy decline: the policy
|
|
291
|
+
// attributes keep the record's real decision, and the turn's content
|
|
292
|
+
// attributes stay as truncated copies when they fit the node budget.
|
|
293
|
+
const original = record.attributes ?? {};
|
|
294
|
+
const attributes = withFittedTurnContent(preservingCapturePolicy(withoutDeclinedContent(original, declined) ?? {}, original), original, { ...record, version: 1, data: structural });
|
|
179
295
|
return JSON.parse(JSON.stringify({
|
|
180
296
|
...record,
|
|
181
297
|
version: 1,
|
|
@@ -188,10 +304,7 @@ export function snapshotRecord(record, serializer) {
|
|
|
188
304
|
errorCode: record.terminal.errorCode,
|
|
189
305
|
usage: record.terminal.usage,
|
|
190
306
|
},
|
|
191
|
-
attributes
|
|
192
|
-
recordInputs: false,
|
|
193
|
-
recordOutputs: false,
|
|
194
|
-
}) ?? record.attributes,
|
|
307
|
+
attributes,
|
|
195
308
|
}));
|
|
196
309
|
};
|
|
197
310
|
if (json === undefined || new TextEncoder().encode(json).length > SERIALIZED_BYTES)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/core/snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/core/snapshot.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/** Content attributes are capped so a giant payload cannot bloat a span segment. */
|
|
10
|
-
export const CONTENT_ATTRIBUTE_LIMIT =
|
|
10
|
+
export const CONTENT_ATTRIBUTE_LIMIT = 250 * 1024;
|
|
11
11
|
import type { ContentSerializer, InputMessagesContent } from "../core/types.js";
|
|
12
12
|
|
|
13
13
|
export const aiSdkContentSerializer: ContentSerializer = {
|
|
@@ -87,9 +87,18 @@ export function genAiInputMessagesAttribute(
|
|
|
87
87
|
kind === undefined ? { parts, role: message.role } : { kind, parts, role: message.role },
|
|
88
88
|
];
|
|
89
89
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
// Drop the fewest oldest messages that fit: the fit is monotone in how many
|
|
91
|
+
// are dropped, so binary search it instead of stringifying every prefix.
|
|
92
|
+
let low = 0;
|
|
93
|
+
let high = formatted.length;
|
|
94
|
+
while (low < high) {
|
|
95
|
+
const middle = Math.floor((low + high) / 2);
|
|
96
|
+
if (semanticJsonAttribute(formatted.slice(middle)) !== undefined) high = middle;
|
|
97
|
+
else low = middle + 1;
|
|
98
|
+
}
|
|
99
|
+
if (low < formatted.length) {
|
|
100
|
+
const json = semanticJsonAttribute(formatted.slice(low));
|
|
101
|
+
if (json !== undefined) return { json, omitted: low };
|
|
93
102
|
}
|
|
94
103
|
const newest = truncateSingleSemanticMessage(formatted);
|
|
95
104
|
if (newest !== undefined) return { json: newest, omitted: formatted.length - 1 };
|
|
@@ -249,10 +258,25 @@ function fitSemanticText(
|
|
|
249
258
|
const full = semanticJsonAttribute(wrap(text));
|
|
250
259
|
if (full !== undefined) return full;
|
|
251
260
|
}
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
261
|
+
// Binary search the largest cut that fits: each probe stringifies one
|
|
262
|
+
// candidate, so an attribute far over the cap costs a logarithmic number of
|
|
263
|
+
// encodes instead of re-encoding a near-full candidate every 256 characters.
|
|
264
|
+
const candidate = (length: number): string | undefined =>
|
|
265
|
+
semanticJsonAttribute(wrap(`${text.slice(0, length)}… [truncated]`));
|
|
266
|
+
let best: string | undefined;
|
|
267
|
+
let low = 1;
|
|
268
|
+
let high = Math.min(text.length, CONTENT_ATTRIBUTE_LIMIT);
|
|
269
|
+
while (low <= high) {
|
|
270
|
+
const middle = Math.floor((low + high) / 2);
|
|
271
|
+
const probe = candidate(middle);
|
|
272
|
+
if (probe !== undefined) {
|
|
273
|
+
best = probe;
|
|
274
|
+
low = middle + 1;
|
|
275
|
+
} else {
|
|
276
|
+
high = middle - 1;
|
|
277
|
+
}
|
|
255
278
|
}
|
|
279
|
+
if (best !== undefined) return best;
|
|
256
280
|
return semanticJsonAttribute(wrap("… [truncated]"));
|
|
257
281
|
}
|
|
258
282
|
|
package/src/agent-run.ts
CHANGED
|
@@ -107,9 +107,20 @@ interface LiveTurn {
|
|
|
107
107
|
readonly root: LiveOperation;
|
|
108
108
|
/** Token of the last checkpoint this process wrote. */
|
|
109
109
|
revision: string | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Every checkpoint token this tree wrote. A checkpoint store scoped to an
|
|
112
|
+
* execution context (eve keeps it in the serialized workflow context) can
|
|
113
|
+
* hand a concurrent hook an older checkpoint of this same tree; that is not
|
|
114
|
+
* another process's write and must not fork the tree.
|
|
115
|
+
*/
|
|
116
|
+
readonly revisions: Set<string>;
|
|
117
|
+
/** Replaced by another process's checkpoint: the tree still records spans but no longer persists. */
|
|
118
|
+
retired: boolean;
|
|
110
119
|
writes: number;
|
|
111
120
|
}
|
|
112
121
|
|
|
122
|
+
const REVISIONS_PER_TURN = 10000;
|
|
123
|
+
|
|
113
124
|
export function createAgentRun(input: AgentRunOptions): AgentRun {
|
|
114
125
|
const telemetry = input.telemetry ?? otelTelemetry();
|
|
115
126
|
const checkpointer = input.checkpointer;
|
|
@@ -142,7 +153,7 @@ export function createAgentRun(input: AgentRunOptions): AgentRun {
|
|
|
142
153
|
let queue = Promise.resolve();
|
|
143
154
|
return () => {
|
|
144
155
|
const turn = entry();
|
|
145
|
-
if (checkpointer === undefined || turn === undefined) return queue;
|
|
156
|
+
if (checkpointer === undefined || turn === undefined || turn.retired) return queue;
|
|
146
157
|
turn.writes++;
|
|
147
158
|
queue = queue.then(async () => {
|
|
148
159
|
try {
|
|
@@ -153,6 +164,7 @@ export function createAgentRun(input: AgentRunOptions): AgentRun {
|
|
|
153
164
|
const revision = randomUUID();
|
|
154
165
|
await checkpointer.set(key, traceSnapshot({ ...turn.root.record(), revision }));
|
|
155
166
|
turn.revision = revision;
|
|
167
|
+
if (turn.revisions.size < REVISIONS_PER_TURN) turn.revisions.add(revision);
|
|
156
168
|
}
|
|
157
169
|
} catch (error) {
|
|
158
170
|
report(error, { phase: "checkpoint", operation: "activation" });
|
|
@@ -183,22 +195,35 @@ export function createAgentRun(input: AgentRunOptions): AgentRun {
|
|
|
183
195
|
const ceiling = currentAgentHandoff()?.capture;
|
|
184
196
|
capture = capture === undefined ? ceiling : intersectCapture(capture, ceiling);
|
|
185
197
|
const saved = checkpointer === undefined ? undefined : await loadCheckpoint(key);
|
|
198
|
+
const savedRevision = (saved as ScopeRecord | undefined)?.revision;
|
|
186
199
|
if (
|
|
187
200
|
cached !== undefined &&
|
|
188
|
-
(cached.writes > 0 ||
|
|
201
|
+
(cached.writes > 0 ||
|
|
202
|
+
savedRevision === cached.revision ||
|
|
203
|
+
(savedRevision !== undefined && cached.revisions.has(savedRevision)))
|
|
189
204
|
) {
|
|
190
205
|
if (context !== undefined) cached.root.useContext(context);
|
|
191
206
|
// A re-entry may decline content the cached turn was allowed to record.
|
|
192
207
|
if (capture !== undefined) cached.root.narrow(capture);
|
|
193
208
|
return cached;
|
|
194
209
|
}
|
|
210
|
+
// Another process wrote this checkpoint, so it replaces the cached tree.
|
|
211
|
+
// Callers may still hold the cached tree's operations; keep them from
|
|
212
|
+
// persisting their older view over the newer checkpoint.
|
|
213
|
+
if (cached !== undefined) cached.retired = true;
|
|
195
214
|
let entry: LiveTurn | undefined;
|
|
196
215
|
const onChange = persistence(key, () => entry);
|
|
197
216
|
const restored =
|
|
198
217
|
saved === undefined ? undefined : await scopes.restore(saved, { capture, context, onChange });
|
|
199
218
|
const root = restored ?? (await open?.(onChange));
|
|
200
219
|
if (root === undefined) return undefined;
|
|
201
|
-
entry = {
|
|
220
|
+
entry = {
|
|
221
|
+
root,
|
|
222
|
+
revision: savedRevision,
|
|
223
|
+
revisions: new Set(savedRevision === undefined ? [] : [savedRevision]),
|
|
224
|
+
retired: false,
|
|
225
|
+
writes: 0,
|
|
226
|
+
};
|
|
202
227
|
if (restored === undefined) await onChange();
|
|
203
228
|
return entry;
|
|
204
229
|
}
|
|
@@ -89,6 +89,23 @@ function exportedAttributeValue(
|
|
|
89
89
|
return value;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
/**
|
|
93
|
+
* Re-applies the capture-policy attributes that a size-based content strip
|
|
94
|
+
* must not rewrite. Dropping content to fit a checkpoint budget is not the
|
|
95
|
+
* destination declining it, so `agent.trace.content.input` and
|
|
96
|
+
* `agent.trace.content.output` keep the record's real decision; otherwise a
|
|
97
|
+
* restored turn would report "omitted" although capture was on.
|
|
98
|
+
*/
|
|
99
|
+
export function preservingCapturePolicy(
|
|
100
|
+
attributes: Readonly<Record<string, unknown>>,
|
|
101
|
+
original: Readonly<Record<string, unknown>>,
|
|
102
|
+
): Record<string, unknown> {
|
|
103
|
+
const kept = { ...attributes };
|
|
104
|
+
for (const key of [INPUT_POLICY_ATTRIBUTE, OUTPUT_POLICY_ATTRIBUTE])
|
|
105
|
+
if (key in original) kept[key] = original[key];
|
|
106
|
+
return kept;
|
|
107
|
+
}
|
|
108
|
+
|
|
92
109
|
/**
|
|
93
110
|
* The attributes with the declined content removed, or `undefined` when there
|
|
94
111
|
* was none to remove.
|
package/src/core/snapshot.ts
CHANGED
|
@@ -1,10 +1,121 @@
|
|
|
1
1
|
import type { ScopeRecord } from "./types.js";
|
|
2
2
|
import type { ContentSerializer } from "./types.js";
|
|
3
3
|
import { capturedScopeData } from "./span-kinds.js";
|
|
4
|
-
const SERIALIZED_BYTES =
|
|
5
|
-
const SNAPSHOT_BYTES =
|
|
4
|
+
const SERIALIZED_BYTES = 256 * 1024;
|
|
5
|
+
const SNAPSHOT_BYTES = 512 * 1024;
|
|
6
6
|
const UNFINISHED_CHILDREN = 10000;
|
|
7
|
-
import { withoutDeclinedContent } from "./content-policy.js";
|
|
7
|
+
import { preservingCapturePolicy, withoutDeclinedContent } from "./content-policy.js";
|
|
8
|
+
|
|
9
|
+
const TRUNCATION_MARKER = "… [truncated]";
|
|
10
|
+
const TURN_CONTENT_ATTRIBUTES = ["gen_ai.input.messages", "gen_ai.output.messages"] as const;
|
|
11
|
+
const encoder = new TextEncoder();
|
|
12
|
+
|
|
13
|
+
function byteLength(value: string): number {
|
|
14
|
+
return encoder.encode(value).length;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Text of a serialized GenAI message's text parts, the truncatable content. */
|
|
18
|
+
function messageText(parts: unknown): string {
|
|
19
|
+
if (!Array.isArray(parts)) return "";
|
|
20
|
+
let text = "";
|
|
21
|
+
for (const part of parts) {
|
|
22
|
+
if (typeof part !== "object" || part === null) continue;
|
|
23
|
+
const record = part as Record<string, unknown>;
|
|
24
|
+
if (record.type !== "text" || typeof record.content !== "string") continue;
|
|
25
|
+
text += (text.length === 0 ? "" : "\n") + record.content;
|
|
26
|
+
}
|
|
27
|
+
return text;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Shrinks a serialized GenAI message array to `budgetBytes` while keeping it
|
|
32
|
+
* valid JSON: the newest message's text is truncated with the library's
|
|
33
|
+
* truncation marker, mirroring how the serializer caps oversized prompts.
|
|
34
|
+
* The cut is binary searched, so an attribute far over the budget costs a
|
|
35
|
+
* logarithmic number of encodes instead of re-encoding a near-full candidate
|
|
36
|
+
* at every step.
|
|
37
|
+
*/
|
|
38
|
+
function fitTurnContent(input: string, budgetBytes: number): string | undefined {
|
|
39
|
+
if (budgetBytes <= 0) return undefined;
|
|
40
|
+
if (byteLength(input) <= budgetBytes) return input;
|
|
41
|
+
let messages: unknown;
|
|
42
|
+
try {
|
|
43
|
+
messages = JSON.parse(input);
|
|
44
|
+
} catch {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(messages) || messages.length === 0) return undefined;
|
|
48
|
+
const last = messages.at(-1);
|
|
49
|
+
if (typeof last !== "object" || last === null) return undefined;
|
|
50
|
+
const message = last as Record<string, unknown>;
|
|
51
|
+
if (typeof message.role !== "string") return undefined;
|
|
52
|
+
const text = messageText(message.parts);
|
|
53
|
+
const base =
|
|
54
|
+
typeof message.kind === "string"
|
|
55
|
+
? { kind: message.kind, role: message.role }
|
|
56
|
+
: { role: message.role };
|
|
57
|
+
const candidate = (length: number): string =>
|
|
58
|
+
JSON.stringify([
|
|
59
|
+
{
|
|
60
|
+
...base,
|
|
61
|
+
parts: [{ content: `${text.slice(0, length)}${TRUNCATION_MARKER}`, type: "text" }],
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
let best: string | undefined;
|
|
65
|
+
let low = 1;
|
|
66
|
+
let high = text.length;
|
|
67
|
+
while (low <= high) {
|
|
68
|
+
const middle = Math.floor((low + high) / 2);
|
|
69
|
+
const probe = candidate(middle);
|
|
70
|
+
if (byteLength(probe) <= budgetBytes) {
|
|
71
|
+
best = probe;
|
|
72
|
+
low = middle + 1;
|
|
73
|
+
} else {
|
|
74
|
+
high = middle - 1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (best !== undefined) return best;
|
|
78
|
+
const minimal = candidate(0);
|
|
79
|
+
return byteLength(minimal) <= budgetBytes ? minimal : undefined;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Adds truncated copies of the turn's content attributes back into a stripped
|
|
84
|
+
* checkpoint, sized so the whole record stays within the snapshot budgets. A
|
|
85
|
+
* copy that cannot fit small enough is left out; the capture-policy attributes
|
|
86
|
+
* stay truthful either way.
|
|
87
|
+
*/
|
|
88
|
+
function withFittedTurnContent(
|
|
89
|
+
attributes: Record<string, unknown>,
|
|
90
|
+
original: Readonly<Record<string, unknown>>,
|
|
91
|
+
record: ScopeRecord,
|
|
92
|
+
): Record<string, unknown> {
|
|
93
|
+
let fitted = attributes;
|
|
94
|
+
for (const key of TURN_CONTENT_ATTRIBUTES) {
|
|
95
|
+
const value = original[key];
|
|
96
|
+
if (typeof value !== "string") continue;
|
|
97
|
+
const withoutKey = { ...fitted };
|
|
98
|
+
delete withoutKey[key];
|
|
99
|
+
const bare = { ...record, attributes: withoutKey } as ScopeRecord;
|
|
100
|
+
let budget = Math.min(
|
|
101
|
+
SERIALIZED_BYTES - byteLength(JSON.stringify(bare.data)),
|
|
102
|
+
SNAPSHOT_BYTES - nodeBytes(bare),
|
|
103
|
+
);
|
|
104
|
+
while (budget > 0) {
|
|
105
|
+
const truncated = fitTurnContent(value, budget);
|
|
106
|
+
// Shrinking the budget cannot help when even the minimal form does not
|
|
107
|
+
// fit or the copy is not truncatable JSON.
|
|
108
|
+
if (truncated === undefined) break;
|
|
109
|
+
const candidate = { ...fitted, [key]: truncated };
|
|
110
|
+
if (nodeBytes({ ...record, attributes: candidate } as ScopeRecord) <= SNAPSHOT_BYTES) {
|
|
111
|
+
fitted = candidate;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
budget = Math.floor(budget / 2);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return fitted;
|
|
118
|
+
}
|
|
8
119
|
|
|
9
120
|
import type { TraceSnapshot } from "./types.js";
|
|
10
121
|
export function boundedSerializer(
|
|
@@ -201,15 +312,25 @@ export function snapshotRecord(record: ScopeRecord, serializer: ContentSerialize
|
|
|
201
312
|
json = serializer.json(data);
|
|
202
313
|
} catch {}
|
|
203
314
|
const fallback = () => {
|
|
204
|
-
|
|
315
|
+
const declined = {
|
|
205
316
|
emit: record.capture.emit,
|
|
206
317
|
recordInputs: false,
|
|
207
318
|
recordOutputs: false,
|
|
208
|
-
}
|
|
319
|
+
};
|
|
320
|
+
let structural = capturedScopeData(data, declined);
|
|
209
321
|
if (structural.type === "step")
|
|
210
322
|
structural = { ...structural, options: { ...structural.options, runtimeContext: undefined } };
|
|
211
323
|
if (structural.type === "model")
|
|
212
324
|
structural = { ...structural, options: { ...structural.options, runtimeContext: undefined } };
|
|
325
|
+
// A size-driven strip is not a capture-policy decline: the policy
|
|
326
|
+
// attributes keep the record's real decision, and the turn's content
|
|
327
|
+
// attributes stay as truncated copies when they fit the node budget.
|
|
328
|
+
const original = record.attributes ?? {};
|
|
329
|
+
const attributes = withFittedTurnContent(
|
|
330
|
+
preservingCapturePolicy(withoutDeclinedContent(original, declined) ?? {}, original),
|
|
331
|
+
original,
|
|
332
|
+
{ ...record, version: 1, data: structural },
|
|
333
|
+
);
|
|
213
334
|
return JSON.parse(
|
|
214
335
|
JSON.stringify({
|
|
215
336
|
...record,
|
|
@@ -224,11 +345,7 @@ export function snapshotRecord(record: ScopeRecord, serializer: ContentSerialize
|
|
|
224
345
|
errorCode: record.terminal.errorCode,
|
|
225
346
|
usage: record.terminal.usage,
|
|
226
347
|
},
|
|
227
|
-
attributes
|
|
228
|
-
withoutDeclinedContent(record.attributes ?? {}, {
|
|
229
|
-
recordInputs: false,
|
|
230
|
-
recordOutputs: false,
|
|
231
|
-
}) ?? record.attributes,
|
|
348
|
+
attributes,
|
|
232
349
|
}),
|
|
233
350
|
) as ScopeRecord;
|
|
234
351
|
};
|