@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 CHANGED
@@ -1,9 +1,10 @@
1
- # @vercel/agent-runs 1.0.0-rc.0
1
+ # @vercel/agent-runs 1.0.0-rc.2
2
2
 
3
- Released 2026-10-30 · [Compare with 0.0.4](https://github.com/vercel/eve/compare/%40vercel%2Fagent-runs%400.0.4...%40vercel%2Fagent-runs%401.0.0-rc.0)
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
- ## Breaking Changes
5
+ ## Bug Fixes
6
6
 
7
- - `@vercel/agent-runs` 1.0 puts its public API under semantic versioning, so it changes incompatibly only in a major release. ([#5620](https://github.com/vercel/eve/pull/5620))
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.0/packages/tracing/CHANGELOG.md).
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 32 KiB, each checkpointed
242
- operation at 64 KiB, and unfinished children at 10,000. `onError(error, context)` is the only
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,QAAY,CAAC;AACjD,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,CAoBlC;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"}
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 = 32 * 1024;
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
- for (let start = 0; start < formatted.length; start += 1) {
82
- const json = semanticJsonAttribute(formatted.slice(start));
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: start };
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
- for (let length = Math.min(text.length, CONTENT_ATTRIBUTE_LIMIT); length > 0; length -= 256) {
231
- const json = semanticJsonAttribute(wrap(`${text.slice(0, length)}… [truncated]`));
232
- if (json !== undefined)
233
- return json;
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":"AAOA,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EAEX,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,iFAAiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,UAAU,WAAW,CAAC,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,wCAAwC;IACxC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,SAAS;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACvD,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,0DAA0D;IAC1D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC/D,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AACD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/E,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E;AAuBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAkP/D"}
@@ -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 || saved?.revision === cached.revision)) {
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 = { root, revision: saved?.revision, writes: 0 };
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":"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"}
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;AAOpD,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,CAiG9F"}
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 = 32768;
3
- const SNAPSHOT_BYTES = 65536;
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
- let structural = capturedScopeData(data, {
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: withoutDeclinedContent(record.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/agent-runs",
3
- "version": "1.0.0-rc.0",
3
+ "version": "1.0.0-rc.2",
4
4
  "private": false,
5
5
  "description": "Framework-neutral agent run tracing with OpenTelemetry and durable checkpoints.",
6
6
  "license": "Apache-2.0",
@@ -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 = 32 * 1024;
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
- for (let start = 0; start < formatted.length; start += 1) {
91
- const json = semanticJsonAttribute(formatted.slice(start));
92
- if (json !== undefined) return { json, omitted: start };
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
- for (let length = Math.min(text.length, CONTENT_ATTRIBUTE_LIMIT); length > 0; length -= 256) {
253
- const json = semanticJsonAttribute(wrap(`${text.slice(0, length)}… [truncated]`));
254
- if (json !== undefined) return json;
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 || (saved as ScopeRecord | undefined)?.revision === cached.revision)
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 = { root, revision: (saved as ScopeRecord | undefined)?.revision, writes: 0 };
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.
@@ -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 = 32768;
5
- const SNAPSHOT_BYTES = 65536;
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
- let structural = capturedScopeData(data, {
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
  };