agentfootprint 9.89.0 → 9.89.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 +115 -0
- package/dist/core/flowchartAsTool.js +14 -8
- package/dist/core/flowchartAsTool.js.map +1 -1
- package/dist/core/runbook/recording.js +3 -2
- package/dist/core/runbook/recording.js.map +1 -1
- package/dist/core/runbook/runbookAsTool.js +13 -9
- package/dist/core/runbook/runbookAsTool.js.map +1 -1
- package/dist/core/servableSnapshot.js +117 -0
- package/dist/core/servableSnapshot.js.map +1 -0
- package/dist/esm/core/flowchartAsTool.d.ts +52 -19
- package/dist/esm/core/flowchartAsTool.js +14 -8
- package/dist/esm/core/flowchartAsTool.js.map +1 -1
- package/dist/esm/core/runbook/recording.d.ts +3 -2
- package/dist/esm/core/runbook/recording.js +3 -2
- package/dist/esm/core/runbook/recording.js.map +1 -1
- package/dist/esm/core/runbook/runbookAsTool.js +13 -9
- package/dist/esm/core/runbook/runbookAsTool.js.map +1 -1
- package/dist/esm/core/runbook/types.d.ts +12 -3
- package/dist/esm/core/servableSnapshot.d.ts +72 -0
- package/dist/esm/core/servableSnapshot.js +113 -0
- package/dist/esm/core/servableSnapshot.js.map +1 -0
- package/dist/esm/lib/time-travel/receipt.d.ts +3 -2
- package/dist/esm/lib/time-travel/receipt.js +3 -2
- package/dist/esm/lib/time-travel/receipt.js.map +1 -1
- package/dist/lib/time-travel/receipt.js +3 -2
- package/dist/lib/time-travel/receipt.js.map +1 -1
- package/dist/types/core/flowchartAsTool.d.ts +52 -19
- package/dist/types/core/flowchartAsTool.d.ts.map +1 -1
- package/dist/types/core/runbook/recording.d.ts +3 -2
- package/dist/types/core/runbook/recording.d.ts.map +1 -1
- package/dist/types/core/runbook/runbookAsTool.d.ts.map +1 -1
- package/dist/types/core/runbook/types.d.ts +12 -3
- package/dist/types/core/runbook/types.d.ts.map +1 -1
- package/dist/types/core/servableSnapshot.d.ts +73 -0
- package/dist/types/core/servableSnapshot.d.ts.map +1 -0
- package/dist/types/lib/time-travel/receipt.d.ts +3 -2
- package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,121 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [9.89.2] - 2026-09-10
|
|
11
|
+
|
|
12
|
+
**A redacted tool is as clean as the log, and the log is clean.** A patch: no
|
|
13
|
+
signature changes, no code path changed; a tool without `redact` behaves byte
|
|
14
|
+
for byte as before.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **footprintjs `^9.19.1` (was `^9.18.0`), and the five "substrate limits"
|
|
19
|
+
9.89.1 could only pin are re-stated as closed.** 9.89.1 made
|
|
20
|
+
`servableSnapshot` the one owner of what `flowchartAsTool({ redact })` /
|
|
21
|
+
`runbookAsTool({ redact })` may show, and had to say that a served view is
|
|
22
|
+
only as clean as the log beneath it — footprintjs 9.18 wrote plaintext INTO
|
|
23
|
+
the record on five paths that bypassed the scope facade: `fields` (dot-path)
|
|
24
|
+
redaction reached recorder views only; a subflow `outputMapper`'s merge-back
|
|
25
|
+
landed in the parent log verbatim; an `inputMapper`'s seed was the subflow's
|
|
26
|
+
raw `history[0]` and its narrated `Input:` line; and a stage that READ a
|
|
27
|
+
redacted key kept the plaintext in `executionTree.*.stageReads`. footprintjs
|
|
28
|
+
9.19.0 closed all five at the root — one `RedactionRule` per run, asked by
|
|
29
|
+
`StageContext` on every staged write and every tracked read — and 9.19.1
|
|
30
|
+
fixed a latent net-change defect its CI found, so this package now requires
|
|
31
|
+
`^9.19.1` (dev and peer). Nothing in this package's code changed to get
|
|
32
|
+
there: the served view was already built from the log, so it is now exactly
|
|
33
|
+
as clean as the policy says.
|
|
34
|
+
|
|
35
|
+
What a consumer sees now — the same charts 9.89.1 pinned, assertions
|
|
36
|
+
inverted (`test/core/flowchartAsTool.redact.test.ts` §6; each `it` is red on
|
|
37
|
+
footprintjs 9.18 and green on 9.19.1):
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
const tool = flowchartAsTool({
|
|
41
|
+
name: 'seeded',
|
|
42
|
+
description: 'Seeds a subflow with the key and reads it there.',
|
|
43
|
+
flowchart: chart, // parent writes apiKey; the subflow is seeded with it
|
|
44
|
+
keepRecord: true,
|
|
45
|
+
redact: { keys: ['apiKey'] },
|
|
46
|
+
});
|
|
47
|
+
await tool.execute({}, ctx); // → '{"apiKey":"REDACTED","seen":26}' — the subflow computed on the real 26-byte key
|
|
48
|
+
const record = JSON.stringify(innerRunsOf(tool)!.get(ctx.toolCallId)!);
|
|
49
|
+
record.includes('sk-live-'); // false — result, log, mirror, stageReads, narrative Input: line, history[0], parent log
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The law's other half is unchanged and now pinned in the same file: the live
|
|
53
|
+
heap a stage computes on and the resume checkpoint (`err.checkpoint` on a
|
|
54
|
+
paused run) hold the real values, because resumption must replay them.
|
|
55
|
+
|
|
56
|
+
**The one limit that remains, named.**
|
|
57
|
+
`subflowResults[*].treeContext.globalContext` (and its per-iteration `#n`
|
|
58
|
+
twin) is still the subflow's own raw heap under
|
|
59
|
+
`getSnapshot({ redact: true })` — footprintjs mirrors the run-level runtime
|
|
60
|
+
only. That is exactly why `servableSnapshot` refolds each subflow's final
|
|
61
|
+
state from its scrubbed `history`, and the limit and its answer are now
|
|
62
|
+
pinned side by side (§7 of the same file): the raw view carries the secret,
|
|
63
|
+
the served view does not. The `redact` JSDoc, `servableSnapshot`'s module
|
|
64
|
+
note, the runbook option and guide, and entry 6 of
|
|
65
|
+
`docs/design/2026-09-recorded-not-built.md` say this instead of the 9.18
|
|
66
|
+
list.
|
|
67
|
+
|
|
68
|
+
## [9.89.1] - 2026-09-10
|
|
69
|
+
|
|
70
|
+
**What a chart-backed tool may show is one rule.** A patch: no signature
|
|
71
|
+
changes, and a tool without `redact` behaves byte for byte as before.
|
|
72
|
+
|
|
73
|
+
### Fixed
|
|
74
|
+
|
|
75
|
+
- **`flowchartAsTool({ redact })` / `runbookAsTool({ redact })` served the
|
|
76
|
+
secret everywhere except the log.** footprintjs scrubs at COMMIT time, so a
|
|
77
|
+
policy-redacted key never entered the inner commit log — and the option's
|
|
78
|
+
own documentation drew the wrong conclusion from that. The live state view
|
|
79
|
+
is not a commit: it is the run's raw heap, and its scrubbed twin (the
|
|
80
|
+
*redacted mirror* footprintjs maintains beside it) is served only by
|
|
81
|
+
`getSnapshot({ redact: true })`. Both tools called `getSnapshot()` bare, so
|
|
82
|
+
the string the model read (`JSON.stringify(snapshot.values)`, or whatever a
|
|
83
|
+
`resultMapper` built from it), the envelope's state, and a kept record's
|
|
84
|
+
`sharedState` all carried the plaintext while the log beside them said
|
|
85
|
+
`REDACTED` (`docs/design/2026-09-recorded-not-built.md` · entry 6, now
|
|
86
|
+
built). Fixed at the root, not per field: ONE owner,
|
|
87
|
+
`src/core/servableSnapshot.ts` · `servableSnapshot`, decides what leaves the
|
|
88
|
+
executor — the redacted view under a policy, the raw snapshot without one —
|
|
89
|
+
and every state-bearing exit of both tools (result, envelope, recording,
|
|
90
|
+
kept record on ok / error / paused) reads from it. One thing that view
|
|
91
|
+
leaves raw is handled the same way: a subflow's final state
|
|
92
|
+
(`subflowResults[*].treeContext.globalContext`) is the subflow's own
|
|
93
|
+
isolated heap, which footprintjs does not mirror, so it is refolded from
|
|
94
|
+
that subflow's scrubbed `history` through footprintjs's own `stateAt` — the
|
|
95
|
+
construction the run-level mirror is, done at serve time.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
const tool = flowchartAsTool({
|
|
99
|
+
name: 'weather_advice',
|
|
100
|
+
description: 'Forecast tomorrow and advise on biking.',
|
|
101
|
+
flowchart: adviceChart, // writes scope.apiKey = 'sk-…'
|
|
102
|
+
keepRecord: true,
|
|
103
|
+
redact: { keys: ['apiKey'] },
|
|
104
|
+
});
|
|
105
|
+
await tool.execute({}, ctx); // → '{"apiKey":"REDACTED","advice":"bike"}'
|
|
106
|
+
const { snapshot } = innerRunsOf(tool)!.get(ctx.toolCallId)!.recording!;
|
|
107
|
+
snapshot.sharedState.apiKey; // 'REDACTED' — was the plaintext
|
|
108
|
+
JSON.stringify(snapshot).includes('sk-'); // false — in every field the log scrubs
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Two consequences, both deliberate. Under a policy a kept record omits
|
|
112
|
+
`initialState` — footprintjs's own law for the redacted view (the raw
|
|
113
|
+
pre-run seed never passed a policy) — so a fold of it reports
|
|
114
|
+
`basis: 'log-only'` and says so. And a served view can only be as clean as
|
|
115
|
+
the log beneath it: footprintjs 9.18.0 leaves plaintext IN the log for
|
|
116
|
+
`fields` (dot-path) redaction (recorder views only), for a subflow
|
|
117
|
+
`outputMapper`'s merge-back and for an `inputMapper`'s seed (both bypass
|
|
118
|
+
the scope facade; the seed is also narrated as an `Input:` line), and a
|
|
119
|
+
stage that READS a redacted key keeps the plaintext in its tracked reads
|
|
120
|
+
(`executionTree.*.stageReads`). Those are named on the option and pinned as they are
|
|
121
|
+
in `test/core/flowchartAsTool.redact.test.ts`, beside the reproduction
|
|
122
|
+
(nested objects, patterns, arrays, subflow states, error and paused exits,
|
|
123
|
+
and the no-option path against a direct `getSnapshot()`).
|
|
124
|
+
|
|
10
125
|
## [9.89.0] - 2026-09-09
|
|
11
126
|
|
|
12
127
|
**The third digest half, and one owner of the axis.** Two follow-ups to 9.88.0,
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
* flowchart: adviceChart,
|
|
116
116
|
* keepRecord: true, // keep each invocation's inner record
|
|
117
117
|
* keepRecordLimit: 20, // …bounded (default; LRU)
|
|
118
|
-
* redact: { keys: ['apiKey'] }, // …
|
|
118
|
+
* redact: { keys: ['apiKey'] }, // …one rule: the log, the result, the kept record
|
|
119
119
|
* });
|
|
120
120
|
*
|
|
121
121
|
* const agent = Agent.create({ provider })
|
|
@@ -128,6 +128,7 @@ exports.flowchartAsTool = void 0;
|
|
|
128
128
|
const footprintjs_1 = require("footprintjs");
|
|
129
129
|
const trace_1 = require("footprintjs/trace");
|
|
130
130
|
const innerRunRecords_js_1 = require("../lib/trace-toolpack/innerRunRecords.js");
|
|
131
|
+
const servableSnapshot_js_1 = require("./servableSnapshot.js");
|
|
131
132
|
const tools_js_1 = require("./tools.js");
|
|
132
133
|
/**
|
|
133
134
|
* Wrap a footprintjs `FlowChart` as a `Tool` the Agent's LLM can call.
|
|
@@ -145,7 +146,9 @@ const tools_js_1 = require("./tools.js");
|
|
|
145
146
|
* (`error.checkpoint`) so the agent loop can surface it. Polished
|
|
146
147
|
* agent-side pause integration is v2.6 work.
|
|
147
148
|
* 5. If the run completed, calls `resultMapper(snapshot)` (or the
|
|
148
|
-
* default JSON.stringify) and returns the string.
|
|
149
|
+
* default JSON.stringify) and returns the string. The snapshot is
|
|
150
|
+
* the SERVED view (`servableSnapshot`): redacted when `redact` is
|
|
151
|
+
* set, raw otherwise — the same view the kept record holds.
|
|
149
152
|
* 6. If the run threw, the error propagates — the Agent's
|
|
150
153
|
* tool-call handler converts it to a synthetic error string for
|
|
151
154
|
* the LLM to see + recover from.
|
|
@@ -216,7 +219,7 @@ function flowchartAsTool(opts) {
|
|
|
216
219
|
if (!store)
|
|
217
220
|
return;
|
|
218
221
|
try {
|
|
219
|
-
const snapshot = known ?? executor.
|
|
222
|
+
const snapshot = known ?? (0, servableSnapshot_js_1.servableSnapshot)(executor, opts.redact);
|
|
220
223
|
const commitLog = snapshot.commitLog;
|
|
221
224
|
const narrative = extractNarrative(snapshot, executor)
|
|
222
225
|
.map((entry) => (typeof entry.text === 'string' ? entry.text : ''))
|
|
@@ -262,19 +265,22 @@ function flowchartAsTool(opts) {
|
|
|
262
265
|
err.checkpoint = executor.getCheckpoint();
|
|
263
266
|
throw err;
|
|
264
267
|
}
|
|
265
|
-
|
|
268
|
+
// ONE view for the record AND the result: with a policy set this is
|
|
269
|
+
// the redacted mirror (subflow states refolded), otherwise the raw
|
|
270
|
+
// snapshot — see `servableSnapshot`.
|
|
271
|
+
const served = (0, servableSnapshot_js_1.servableSnapshot)(executor, opts.redact);
|
|
266
272
|
// Kept BEFORE the mapper runs: a mapper that throws still leaves a
|
|
267
273
|
// complete record of the run it was mapping.
|
|
268
|
-
keepRecordOf('ok',
|
|
274
|
+
keepRecordOf('ok', served);
|
|
269
275
|
// footprintjs's RuntimeSnapshot exposes `sharedState` for the
|
|
270
276
|
// merged scope. Older betas used `values`; we accept either to
|
|
271
277
|
// remain robust against minor drift.
|
|
272
|
-
const sharedState =
|
|
273
|
-
|
|
278
|
+
const sharedState = served.sharedState ??
|
|
279
|
+
served.values ??
|
|
274
280
|
{};
|
|
275
281
|
const snapshot = {
|
|
276
282
|
values: sharedState,
|
|
277
|
-
narrative: extractNarrative(
|
|
283
|
+
narrative: extractNarrative(served, executor),
|
|
278
284
|
};
|
|
279
285
|
try {
|
|
280
286
|
return mapper(snapshot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowchartAsTool.js","sourceRoot":"","sources":["../../src/core/flowchartAsTool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;;;AAEH,6CAKqB;AACrB,6CAAuD;AAEvD,iFAOkD;AAClD,yCAAwC;
|
|
1
|
+
{"version":3,"file":"flowchartAsTool.js","sourceRoot":"","sources":["../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,8 +87,9 @@ exports.resolveRecordingPolicy = resolveRecordingPolicy;
|
|
|
87
87
|
* Assemble the `{ snapshot, events, structure }` bundle for one inner chart
|
|
88
88
|
* run. Pure — no store, no clock, no events.
|
|
89
89
|
*
|
|
90
|
-
* @param redactedSnapshot the run snapshot read
|
|
91
|
-
* (
|
|
90
|
+
* @param redactedSnapshot the run snapshot read through `servableSnapshot`
|
|
91
|
+
* (the redacted mirror, each subflow's state refolded from its scrubbed
|
|
92
|
+
* history). Taking the raw one here would
|
|
92
93
|
* file whatever the chart wrote under a policy that was supposed to scrub
|
|
93
94
|
* it, which is the one mistake this whole module is arranged to prevent.
|
|
94
95
|
* @param structure the chart's `buildTimeStructure` — the only route to a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recording.js","sourceRoot":"","sources":["../../../src/core/runbook/recording.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;;;AAGH,+EAAkG;AAClG,2DAAkE;AAGlE;;;;;;;;;;;;;GAaG;AACU,QAAA,2BAA2B,GAAG,SAAS,CAAC;AAkCrD;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,SAAwF;IAExF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrE,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,mCAA2B,EAAE,CAAC;IACzE,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,mCAA2B;QAC3D,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AATD,wDASC;AAED
|
|
1
|
+
{"version":3,"file":"recording.js","sourceRoot":"","sources":["../../../src/core/runbook/recording.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,7 @@ exports.runbookAsTool = void 0;
|
|
|
96
96
|
const footprintjs_1 = require("footprintjs");
|
|
97
97
|
const trace_1 = require("footprintjs/trace");
|
|
98
98
|
const innerRunRecords_js_1 = require("../../lib/trace-toolpack/innerRunRecords.js");
|
|
99
|
+
const servableSnapshot_js_1 = require("../servableSnapshot.js");
|
|
99
100
|
const tools_js_1 = require("../tools.js");
|
|
100
101
|
const coverage_js_1 = require("./coverage.js");
|
|
101
102
|
const dispatch_js_1 = require("./dispatch.js");
|
|
@@ -279,7 +280,7 @@ function runbookAsTool(opts) {
|
|
|
279
280
|
if (!store)
|
|
280
281
|
return;
|
|
281
282
|
try {
|
|
282
|
-
const snapshot = known ?? executor.
|
|
283
|
+
const snapshot = known ?? (0, servableSnapshot_js_1.servableSnapshot)(executor, opts.redact);
|
|
283
284
|
const commitLog = snapshot.commitLog;
|
|
284
285
|
const lines = walkRecorder.getEntries()
|
|
285
286
|
.map((entry) => entry.text)
|
|
@@ -336,10 +337,13 @@ function runbookAsTool(opts) {
|
|
|
336
337
|
err.checkpoint = executor.getCheckpoint();
|
|
337
338
|
throw err;
|
|
338
339
|
}
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
340
|
+
// ONE view for the record, the envelope's state and the recording:
|
|
341
|
+
// the redacted mirror when `redact` is set (subflow states refolded),
|
|
342
|
+
// the raw snapshot otherwise — see `servableSnapshot`.
|
|
343
|
+
const served = (0, servableSnapshot_js_1.servableSnapshot)(executor, opts.redact);
|
|
344
|
+
keepRecordOf('ok', served);
|
|
345
|
+
const state = served.sharedState ??
|
|
346
|
+
served.values ??
|
|
343
347
|
{};
|
|
344
348
|
// ── The walk ────────────────────────────────────────────────────────
|
|
345
349
|
const entries = walkRecorder.getEntries();
|
|
@@ -353,14 +357,14 @@ function runbookAsTool(opts) {
|
|
|
353
357
|
// ── The recording, beside the walk (opt-in) ─────────────────────────
|
|
354
358
|
// The row projection cannot be drawn — `structure` is the only route to
|
|
355
359
|
// a drawable graph and no snapshot carries it. The snapshot here is the
|
|
356
|
-
//
|
|
357
|
-
//
|
|
358
|
-
//
|
|
360
|
+
// SAME served view the kept record and the envelope's state came from:
|
|
361
|
+
// the redacted mirror under a policy (the walk and the recording are
|
|
362
|
+
// scrubbed by one rule, at one moment), the raw snapshot without one.
|
|
359
363
|
const walk = recordingPolicy === undefined
|
|
360
364
|
? walkOnly
|
|
361
365
|
: {
|
|
362
366
|
...walkOnly,
|
|
363
|
-
...(await (0, recording_js_1.mintChartRecording)(ctx, (0, recording_js_1.chartRecordingOf)(
|
|
367
|
+
...(await (0, recording_js_1.mintChartRecording)(ctx, (0, recording_js_1.chartRecordingOf)(served, chart.buildTimeStructure), {
|
|
364
368
|
toolName: opts.name,
|
|
365
369
|
toolCallId: ctx.toolCallId,
|
|
366
370
|
...(ctx.runId !== undefined && { runId: ctx.runId }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runbookAsTool.js","sourceRoot":"","sources":["../../../src/core/runbook/runbookAsTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runbookAsTool.js","sourceRoot":"","sources":["../../../src/core/runbook/runbookAsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* servableSnapshot — the ONE owner of what a chart-backed tool may SHOW of its
|
|
4
|
+
* inner run.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: a single projection function over `FlowChartExecutor.getSnapshot`.
|
|
7
|
+
* Role: every state-bearing thing `flowchartAsTool` / `runbookAsTool` hands
|
|
8
|
+
* outward — the values a `resultMapper` reads, the envelope's state,
|
|
9
|
+
* the recording beside the walk, the record `keepRecord` retains —
|
|
10
|
+
* is taken from HERE, so "what may leave the executor" is spelled
|
|
11
|
+
* once. Nothing here decides what is secret; the policy does that,
|
|
12
|
+
* footprintjs enforces it, and this function serves the view
|
|
13
|
+
* footprintjs already built for serving.
|
|
14
|
+
*
|
|
15
|
+
* THE DEFECT THIS CLOSES (9.89.1; entry 6 of
|
|
16
|
+
* docs/design/2026-09-recorded-not-built.md). footprintjs scrubs at COMMIT
|
|
17
|
+
* time: a policy-redacted key never
|
|
18
|
+
* enters the commit log. But the live state view is not a commit — it is the
|
|
19
|
+
* run's own heap — and its scrubbed twin, the *redacted mirror*, is served
|
|
20
|
+
* only by `getSnapshot({ redact: true })`. Both tools called `getSnapshot()`
|
|
21
|
+
* bare, so the string the model read and the kept record's `sharedState`
|
|
22
|
+
* carried the plaintext while the log beside them said `REDACTED`. Two
|
|
23
|
+
* mechanisms, each correct, never composed.
|
|
24
|
+
*
|
|
25
|
+
* THE RULE. With a policy set, the served snapshot is footprintjs's redacted
|
|
26
|
+
* view, plus one thing that view leaves raw: a subflow's final state.
|
|
27
|
+
* `subflowResults[*].treeContext.globalContext` is the subflow's own isolated
|
|
28
|
+
* heap (footprintjs `SubflowExecutor` builds the result from the nested
|
|
29
|
+
* runtime's `sharedState`, and only the RUN-level runtime keeps a mirror). Its
|
|
30
|
+
* `history`, though, is that subflow's commit log — scrubbed at write time
|
|
31
|
+
* like the run's — so the served state is the FOLD of that history, through
|
|
32
|
+
* footprintjs's own `stateAt`. That is the same construction the run-level
|
|
33
|
+
* mirror is (apply the scrubbed patches in order), done at serve time for the
|
|
34
|
+
* level footprintjs does not mirror. The subflow's fold base is dropped by the
|
|
35
|
+
* same law footprintjs applies to the run's (`ExecutionRuntime.getSnapshot`:
|
|
36
|
+
* the base never passed a policy, so it is omitted rather than served) — a
|
|
37
|
+
* subflow runtime is created bare (`SubflowExecutor`, through 9.19.1), so that
|
|
38
|
+
* base is `{}` and nothing is lost; the omission is there for the day it is not.
|
|
39
|
+
*
|
|
40
|
+
* Without a policy this is `executor.getSnapshot()`, byte for byte: no
|
|
41
|
+
* mirror, no fold, the fold bases present, exactly the path both tools had.
|
|
42
|
+
*
|
|
43
|
+
* WHAT IT CANNOT DO — and what it no longer has to (9.89.2). A served view is
|
|
44
|
+
* as clean as the log it is built from, and since footprintjs 9.19.0 the log
|
|
45
|
+
* is clean: ONE policy covers everything the run retains or serves — the
|
|
46
|
+
* commit log in both encodings, the redacted mirror, `stageReads` /
|
|
47
|
+
* `stageWrites`, recorder events and the narrative, a subflow's `inputMapper`
|
|
48
|
+
* seed (its `history[0]` and its narrated `Input:` line) and its
|
|
49
|
+
* `outputMapper` merge-back into the parent, `fields` dot-paths in the log and
|
|
50
|
+
* the mirror — and NEVER the live heap the run computes on nor the resume
|
|
51
|
+
* checkpoint. The five places footprintjs 9.18 left plaintext in the record
|
|
52
|
+
* (dot-path fields, merge-back, seed, seed narrative, tracked reads — each a
|
|
53
|
+
* write or a read past the scope facade) are closed at the root by its
|
|
54
|
+
* `RedactionRule`, which `StageContext` asks on every staged write and every
|
|
55
|
+
* tracked read; `test/core/flowchartAsTool.redact.test.ts` §6 asserts each
|
|
56
|
+
* one closed, red on 9.18. ONE limit remains, and it is the one this function
|
|
57
|
+
* exists for: `subflowResults[*].treeContext.globalContext` (and its `#n`
|
|
58
|
+
* twin) is the subflow's raw heap even under `getSnapshot({ redact: true })`
|
|
59
|
+
* — only the run-level runtime keeps a mirror — so the refold above is the
|
|
60
|
+
* answer, pinned in §7 of the same file. The resume checkpoint
|
|
61
|
+
* (`err.checkpoint` on a paused run) is not a served view: resumption must
|
|
62
|
+
* replay against real values, and it is handed to the agent loop, never to a
|
|
63
|
+
* model.
|
|
64
|
+
*/
|
|
65
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
|
+
exports.servableSnapshot = void 0;
|
|
67
|
+
const trace_1 = require("footprintjs/trace");
|
|
68
|
+
/**
|
|
69
|
+
* The snapshot a chart-backed tool may hand outward.
|
|
70
|
+
*
|
|
71
|
+
* @param executor the inner run's executor, after `run()` returned, threw, or paused
|
|
72
|
+
* @param policy the tool's `redact` option — `undefined` means the raw
|
|
73
|
+
* snapshot, exactly as `executor.getSnapshot()` returns it
|
|
74
|
+
*/
|
|
75
|
+
function servableSnapshot(executor, policy) {
|
|
76
|
+
if (policy === undefined)
|
|
77
|
+
return executor.getSnapshot();
|
|
78
|
+
const view = executor.getSnapshot({ redact: true });
|
|
79
|
+
if (view.subflowResults === undefined)
|
|
80
|
+
return view;
|
|
81
|
+
return { ...view, subflowResults: refoldSubflowStates(view.subflowResults) };
|
|
82
|
+
}
|
|
83
|
+
exports.servableSnapshot = servableSnapshot;
|
|
84
|
+
/**
|
|
85
|
+
* Rewrite every subflow entry's final state as the fold of its own scrubbed
|
|
86
|
+
* log. `subflowResults` is dual-keyed (subflow path AND mount runtimeStageId
|
|
87
|
+
* name the SAME object), so the fold runs once per object and both keys keep
|
|
88
|
+
* pointing at one entry — the shape a consumer already relies on.
|
|
89
|
+
*/
|
|
90
|
+
function refoldSubflowStates(results) {
|
|
91
|
+
const refolded = new Map();
|
|
92
|
+
const out = {};
|
|
93
|
+
for (const [key, entry] of Object.entries(results)) {
|
|
94
|
+
if (!refolded.has(entry))
|
|
95
|
+
refolded.set(entry, refoldOne(entry));
|
|
96
|
+
out[key] = refolded.get(entry);
|
|
97
|
+
}
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
function refoldOne(entry) {
|
|
101
|
+
if (!isSubflowStateEntry(entry))
|
|
102
|
+
return entry;
|
|
103
|
+
const { initialState: _droppedBase, ...treeContext } = entry.treeContext;
|
|
104
|
+
void _droppedBase;
|
|
105
|
+
// Log-only on purpose — see the module note on the fold base.
|
|
106
|
+
const { state } = (0, trace_1.stateAt)({ history: treeContext.history }, treeContext.history.length - 1);
|
|
107
|
+
return { ...entry, treeContext: { ...treeContext, globalContext: state } };
|
|
108
|
+
}
|
|
109
|
+
function isSubflowStateEntry(entry) {
|
|
110
|
+
if (entry === null || typeof entry !== 'object')
|
|
111
|
+
return false;
|
|
112
|
+
const treeContext = entry.treeContext;
|
|
113
|
+
return (treeContext !== null &&
|
|
114
|
+
typeof treeContext === 'object' &&
|
|
115
|
+
Array.isArray(treeContext.history));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=servableSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../src/core/servableSnapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;;;AAGH,6CAA4C;AAa5C;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,QAA2B,EAC3B,MAAmC;IAEnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAC/E,CAAC;AARD,4CAQC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;IACzE,KAAK,YAAY,CAAC;IAClB,8DAA8D;IAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,eAAO,EAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5F,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,WAAW,GAAI,KAAmC,CAAC,WAAW,CAAC;IACrE,OAAO,CACL,WAAW,KAAK,IAAI;QACpB,OAAO,WAAW,KAAK,QAAQ;QAC/B,KAAK,CAAC,OAAO,CAAE,WAAqC,CAAC,OAAO,CAAC,CAC9D,CAAC;AACJ,CAAC"}
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
* flowchart: adviceChart,
|
|
115
115
|
* keepRecord: true, // keep each invocation's inner record
|
|
116
116
|
* keepRecordLimit: 20, // …bounded (default; LRU)
|
|
117
|
-
* redact: { keys: ['apiKey'] }, // …
|
|
117
|
+
* redact: { keys: ['apiKey'] }, // …one rule: the log, the result, the kept record
|
|
118
118
|
* });
|
|
119
119
|
*
|
|
120
120
|
* const agent = Agent.create({ provider })
|
|
@@ -132,8 +132,9 @@ import type { Tool } from './tools.js';
|
|
|
132
132
|
*/
|
|
133
133
|
export interface FlowchartToolSnapshot {
|
|
134
134
|
/**
|
|
135
|
-
* Final scope state — the merged result of every stage's writes
|
|
136
|
-
*
|
|
135
|
+
* Final scope state — the merged result of every stage's writes, as the
|
|
136
|
+
* tool may SHOW it: `executor.getSnapshot().sharedState` without a
|
|
137
|
+
* `redact` policy, the redacted mirror with one (`servableSnapshot`).
|
|
137
138
|
*/
|
|
138
139
|
readonly values: Readonly<Record<string, unknown>>;
|
|
139
140
|
/**
|
|
@@ -250,27 +251,57 @@ export interface FlowchartAsToolOptions {
|
|
|
250
251
|
* (`executor.setRedactionPolicy`).
|
|
251
252
|
*
|
|
252
253
|
* footprintjs scrubs at COMMIT time, so a redacted key never reaches the
|
|
253
|
-
* inner COMMIT LOG at all
|
|
254
|
+
* inner COMMIT LOG at all — through every path, since footprintjs 9.19.0
|
|
255
|
+
* (see 3 below). Same mechanism, same placeholders, and the same
|
|
254
256
|
* `(redacted by policy)` flag as the outer run; the trace tools pass
|
|
255
257
|
* placeholders through verbatim and never reconstruct around them.
|
|
256
258
|
*
|
|
259
|
+
* ONE RULE FOR EVERYTHING THE TOOL SHOWS (9.89.1). With a policy set, every
|
|
260
|
+
* state-bearing thing this tool hands outward is footprintjs's REDACTED
|
|
261
|
+
* view — `getSnapshot({ redact: true })`, the mirror the engine maintains
|
|
262
|
+
* beside the raw heap for exactly this — taken through one owner,
|
|
263
|
+
* `servableSnapshot`:
|
|
264
|
+
*
|
|
265
|
+
* - the string this tool RETURNS: `resultMapper` is handed `snapshot.values`
|
|
266
|
+
* from that view (`'REDACTED'` where the log says so), so the default
|
|
267
|
+
* `JSON.stringify` and a custom mapper see the same thing the log holds;
|
|
268
|
+
* - a kept record's `sharedState`, `commitLog` and every subflow's final
|
|
269
|
+
* state (`subflowResults[*].treeContext.globalContext`, refolded from that
|
|
270
|
+
* subflow's own scrubbed `history` — the level footprintjs does not mirror);
|
|
271
|
+
* - on every exit — ok, error, paused — the record is filed from that view.
|
|
272
|
+
*
|
|
257
273
|
* Independent of `keepRecord` — a chart handling secrets should carry a
|
|
258
|
-
* policy whether or not anyone keeps its record
|
|
259
|
-
*
|
|
274
|
+
* policy whether or not anyone keeps its record. Without this option the
|
|
275
|
+
* raw snapshot is served, byte for byte as before.
|
|
260
276
|
*
|
|
261
|
-
* WHAT IT DOES NOT GOVERN —
|
|
277
|
+
* WHAT IT DOES NOT GOVERN — said here so nobody has to rediscover it:
|
|
262
278
|
*
|
|
263
|
-
* 1. The
|
|
264
|
-
* `
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
273
|
-
*
|
|
279
|
+
* 1. Fold bases. The redacted view OMITS `initialState` (footprintjs
|
|
280
|
+
* `ExecutionRuntime.getSnapshot`: the raw pre-run seed never passed a
|
|
281
|
+
* policy, so it is dropped rather than served), and the served view
|
|
282
|
+
* drops a subflow's by the same law. A fold of a kept record therefore
|
|
283
|
+
* reports `basis: 'log-only'` — partial, and saying so.
|
|
284
|
+
* 2. The resume checkpoint. A paused run throws with `err.checkpoint`,
|
|
285
|
+
* which holds real values because resumption must replay against them;
|
|
286
|
+
* it goes to the agent loop, never to a model.
|
|
287
|
+
* 3. What the LOG itself carries — footprintjs's law, not this option's,
|
|
288
|
+
* and since footprintjs 9.19.0 (this package's floor from 9.89.2) that
|
|
289
|
+
* law is one rule: a policy covers everything the run retains or serves
|
|
290
|
+
* — the log in both encodings, the mirror, `stageReads`/`stageWrites`,
|
|
291
|
+
* the narrative, a subflow's `inputMapper` seed (its `history[0]` and
|
|
292
|
+
* its `Input:` line), its `outputMapper` merge-back, `fields` dot-paths
|
|
293
|
+
* — and never the live heap or the checkpoint. The five places 9.18
|
|
294
|
+
* left plaintext in the record (dot-path fields, merge-back, seed, seed
|
|
295
|
+
* narrative, tracked reads) are closed at the root, and each is asserted
|
|
296
|
+
* closed in `test/core/flowchartAsTool.redact.test.ts` §6 (red on 9.18).
|
|
297
|
+
* So "every field" means every field, and the log agrees. ONE surface
|
|
298
|
+
* footprintjs's redacted view still leaves raw —
|
|
299
|
+
* `subflowResults[*].treeContext.globalContext` and its `#n` twin, the
|
|
300
|
+
* subflow's own heap, since only the run-level runtime keeps a mirror —
|
|
301
|
+
* and THIS option answers it: `servableSnapshot` refolds that state from
|
|
302
|
+
* the subflow's scrubbed `history` (§7 of the same file pins both the
|
|
303
|
+
* limit and the answer). A consumer reading footprintjs's snapshot
|
|
304
|
+
* directly, not through this tool, still sees that heap raw.
|
|
274
305
|
*/
|
|
275
306
|
readonly redact?: RedactionPolicy;
|
|
276
307
|
}
|
|
@@ -290,7 +321,9 @@ export interface FlowchartAsToolOptions {
|
|
|
290
321
|
* (`error.checkpoint`) so the agent loop can surface it. Polished
|
|
291
322
|
* agent-side pause integration is v2.6 work.
|
|
292
323
|
* 5. If the run completed, calls `resultMapper(snapshot)` (or the
|
|
293
|
-
* default JSON.stringify) and returns the string.
|
|
324
|
+
* default JSON.stringify) and returns the string. The snapshot is
|
|
325
|
+
* the SERVED view (`servableSnapshot`): redacted when `redact` is
|
|
326
|
+
* set, raw otherwise — the same view the kept record holds.
|
|
294
327
|
* 6. If the run threw, the error propagates — the Agent's
|
|
295
328
|
* tool-call handler converts it to a synthetic error string for
|
|
296
329
|
* the LLM to see + recover from.
|