agentfootprint 9.89.1 → 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 +58 -0
- package/dist/core/flowchartAsTool.js.map +1 -1
- package/dist/core/servableSnapshot.js +24 -23
- package/dist/core/servableSnapshot.js.map +1 -1
- package/dist/esm/core/flowchartAsTool.d.ts +20 -10
- package/dist/esm/core/flowchartAsTool.js.map +1 -1
- package/dist/esm/core/runbook/types.d.ts +9 -5
- package/dist/esm/core/servableSnapshot.d.ts +24 -23
- package/dist/esm/core/servableSnapshot.js +24 -23
- package/dist/esm/core/servableSnapshot.js.map +1 -1
- package/dist/types/core/flowchartAsTool.d.ts +20 -10
- package/dist/types/core/flowchartAsTool.d.ts.map +1 -1
- package/dist/types/core/runbook/types.d.ts +9 -5
- package/dist/types/core/runbook/types.d.ts.map +1 -1
- package/dist/types/core/servableSnapshot.d.ts +24 -23
- package/dist/types/core/servableSnapshot.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,64 @@ 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
|
+
|
|
10
68
|
## [9.89.1] - 2026-09-10
|
|
11
69
|
|
|
12
70
|
**What a chart-backed tool may show is one rule.** A patch: no signature
|
|
@@ -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,+DAAyD;AACzD,yCAAwC;
|
|
1
|
+
{"version":3,"file":"flowchartAsTool.js","sourceRoot":"","sources":["../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,33 +33,34 @@
|
|
|
33
33
|
* mirror is (apply the scrubbed patches in order), done at serve time for the
|
|
34
34
|
* level footprintjs does not mirror. The subflow's fold base is dropped by the
|
|
35
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) —
|
|
37
|
-
*
|
|
38
|
-
* and nothing is lost; the omission is there for the day it is not.
|
|
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
39
|
*
|
|
40
40
|
* Without a policy this is `executor.getSnapshot()`, byte for byte: no
|
|
41
41
|
* mirror, no fold, the fold bases present, exactly the path both tools had.
|
|
42
42
|
*
|
|
43
|
-
* WHAT IT CANNOT DO
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* to the agent loop, never to a
|
|
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.
|
|
63
64
|
*/
|
|
64
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
66
|
exports.servableSnapshot = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../src/core/servableSnapshot.ts"],"names":[],"mappings":";AAAA
|
|
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"}
|
|
@@ -251,7 +251,8 @@ export interface FlowchartAsToolOptions {
|
|
|
251
251
|
* (`executor.setRedactionPolicy`).
|
|
252
252
|
*
|
|
253
253
|
* footprintjs scrubs at COMMIT time, so a redacted key never reaches the
|
|
254
|
-
* 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
|
|
255
256
|
* `(redacted by policy)` flag as the outer run; the trace tools pass
|
|
256
257
|
* placeholders through verbatim and never reconstruct around them.
|
|
257
258
|
*
|
|
@@ -283,15 +284,24 @@ export interface FlowchartAsToolOptions {
|
|
|
283
284
|
* 2. The resume checkpoint. A paused run throws with `err.checkpoint`,
|
|
284
285
|
* which holds real values because resumption must replay against them;
|
|
285
286
|
* it goes to the agent loop, never to a model.
|
|
286
|
-
* 3. What the LOG itself carries
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
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.
|
|
295
305
|
*/
|
|
296
306
|
readonly redact?: RedactionPolicy;
|
|
297
307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowchartAsTool.js","sourceRoot":"","sources":["../../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AAEH,OAAO,EACL,iBAAiB,GAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,GAId,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"flowchartAsTool.js","sourceRoot":"","sources":["../../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -199,11 +199,15 @@ export interface RunbookAsToolOptions {
|
|
|
199
199
|
/** Bounded LRU size for kept records (requires `keepRecord: true`). */
|
|
200
200
|
readonly keepRecordLimit?: number;
|
|
201
201
|
/** Redaction policy for the inner run. One rule for everything the tool
|
|
202
|
-
* shows (9.89.1): the commit log is scrubbed at write time
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
202
|
+
* shows (9.89.1): the commit log is scrubbed at write time — and since
|
|
203
|
+
* footprintjs 9.19.0 (the floor from 9.89.2) so is every path that used to
|
|
204
|
+
* bypass it: a subflow's seed and merge-back, tracked reads, dot-path
|
|
205
|
+
* `fields`, the narrated `Input:` line — and the envelope's state, the
|
|
206
|
+
* walk's recording and the kept record are all served from footprintjs's
|
|
207
|
+
* redacted view through `servableSnapshot`, which also refolds the one
|
|
208
|
+
* surface that view leaves raw (a subflow's own heap) from its scrubbed
|
|
209
|
+
* history. See `FlowchartAsToolOptions.redact` for the two things it does
|
|
210
|
+
* not govern: fold bases and the resume checkpoint. */
|
|
207
211
|
readonly redact?: RedactionPolicy;
|
|
208
212
|
}
|
|
209
213
|
/**
|
|
@@ -32,33 +32,34 @@
|
|
|
32
32
|
* mirror is (apply the scrubbed patches in order), done at serve time for the
|
|
33
33
|
* level footprintjs does not mirror. The subflow's fold base is dropped by the
|
|
34
34
|
* same law footprintjs applies to the run's (`ExecutionRuntime.getSnapshot`:
|
|
35
|
-
* the base never passed a policy, so it is omitted rather than served) —
|
|
36
|
-
*
|
|
37
|
-
* and nothing is lost; the omission is there for the day it is not.
|
|
35
|
+
* the base never passed a policy, so it is omitted rather than served) — a
|
|
36
|
+
* subflow runtime is created bare (`SubflowExecutor`, through 9.19.1), so that
|
|
37
|
+
* base is `{}` and nothing is lost; the omission is there for the day it is not.
|
|
38
38
|
*
|
|
39
39
|
* Without a policy this is `executor.getSnapshot()`, byte for byte: no
|
|
40
40
|
* mirror, no fold, the fold bases present, exactly the path both tools had.
|
|
41
41
|
*
|
|
42
|
-
* WHAT IT CANNOT DO
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* to the agent loop, never to a
|
|
42
|
+
* WHAT IT CANNOT DO — and what it no longer has to (9.89.2). A served view is
|
|
43
|
+
* as clean as the log it is built from, and since footprintjs 9.19.0 the log
|
|
44
|
+
* is clean: ONE policy covers everything the run retains or serves — the
|
|
45
|
+
* commit log in both encodings, the redacted mirror, `stageReads` /
|
|
46
|
+
* `stageWrites`, recorder events and the narrative, a subflow's `inputMapper`
|
|
47
|
+
* seed (its `history[0]` and its narrated `Input:` line) and its
|
|
48
|
+
* `outputMapper` merge-back into the parent, `fields` dot-paths in the log and
|
|
49
|
+
* the mirror — and NEVER the live heap the run computes on nor the resume
|
|
50
|
+
* checkpoint. The five places footprintjs 9.18 left plaintext in the record
|
|
51
|
+
* (dot-path fields, merge-back, seed, seed narrative, tracked reads — each a
|
|
52
|
+
* write or a read past the scope facade) are closed at the root by its
|
|
53
|
+
* `RedactionRule`, which `StageContext` asks on every staged write and every
|
|
54
|
+
* tracked read; `test/core/flowchartAsTool.redact.test.ts` §6 asserts each
|
|
55
|
+
* one closed, red on 9.18. ONE limit remains, and it is the one this function
|
|
56
|
+
* exists for: `subflowResults[*].treeContext.globalContext` (and its `#n`
|
|
57
|
+
* twin) is the subflow's raw heap even under `getSnapshot({ redact: true })`
|
|
58
|
+
* — only the run-level runtime keeps a mirror — so the refold above is the
|
|
59
|
+
* answer, pinned in §7 of the same file. The resume checkpoint
|
|
60
|
+
* (`err.checkpoint` on a paused run) is not a served view: resumption must
|
|
61
|
+
* replay against real values, and it is handed to the agent loop, never to a
|
|
62
|
+
* model.
|
|
62
63
|
*/
|
|
63
64
|
import type { FlowChartExecutor, RedactionPolicy, RuntimeSnapshot } from 'footprintjs';
|
|
64
65
|
/**
|
|
@@ -32,33 +32,34 @@
|
|
|
32
32
|
* mirror is (apply the scrubbed patches in order), done at serve time for the
|
|
33
33
|
* level footprintjs does not mirror. The subflow's fold base is dropped by the
|
|
34
34
|
* same law footprintjs applies to the run's (`ExecutionRuntime.getSnapshot`:
|
|
35
|
-
* the base never passed a policy, so it is omitted rather than served) —
|
|
36
|
-
*
|
|
37
|
-
* and nothing is lost; the omission is there for the day it is not.
|
|
35
|
+
* the base never passed a policy, so it is omitted rather than served) — a
|
|
36
|
+
* subflow runtime is created bare (`SubflowExecutor`, through 9.19.1), so that
|
|
37
|
+
* base is `{}` and nothing is lost; the omission is there for the day it is not.
|
|
38
38
|
*
|
|
39
39
|
* Without a policy this is `executor.getSnapshot()`, byte for byte: no
|
|
40
40
|
* mirror, no fold, the fold bases present, exactly the path both tools had.
|
|
41
41
|
*
|
|
42
|
-
* WHAT IT CANNOT DO
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* to the agent loop, never to a
|
|
42
|
+
* WHAT IT CANNOT DO — and what it no longer has to (9.89.2). A served view is
|
|
43
|
+
* as clean as the log it is built from, and since footprintjs 9.19.0 the log
|
|
44
|
+
* is clean: ONE policy covers everything the run retains or serves — the
|
|
45
|
+
* commit log in both encodings, the redacted mirror, `stageReads` /
|
|
46
|
+
* `stageWrites`, recorder events and the narrative, a subflow's `inputMapper`
|
|
47
|
+
* seed (its `history[0]` and its narrated `Input:` line) and its
|
|
48
|
+
* `outputMapper` merge-back into the parent, `fields` dot-paths in the log and
|
|
49
|
+
* the mirror — and NEVER the live heap the run computes on nor the resume
|
|
50
|
+
* checkpoint. The five places footprintjs 9.18 left plaintext in the record
|
|
51
|
+
* (dot-path fields, merge-back, seed, seed narrative, tracked reads — each a
|
|
52
|
+
* write or a read past the scope facade) are closed at the root by its
|
|
53
|
+
* `RedactionRule`, which `StageContext` asks on every staged write and every
|
|
54
|
+
* tracked read; `test/core/flowchartAsTool.redact.test.ts` §6 asserts each
|
|
55
|
+
* one closed, red on 9.18. ONE limit remains, and it is the one this function
|
|
56
|
+
* exists for: `subflowResults[*].treeContext.globalContext` (and its `#n`
|
|
57
|
+
* twin) is the subflow's raw heap even under `getSnapshot({ redact: true })`
|
|
58
|
+
* — only the run-level runtime keeps a mirror — so the refold above is the
|
|
59
|
+
* answer, pinned in §7 of the same file. The resume checkpoint
|
|
60
|
+
* (`err.checkpoint` on a paused run) is not a served view: resumption must
|
|
61
|
+
* replay against real values, and it is handed to the agent loop, never to a
|
|
62
|
+
* model.
|
|
62
63
|
*/
|
|
63
64
|
import { stateAt } from 'footprintjs/trace';
|
|
64
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../../src/core/servableSnapshot.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"servableSnapshot.js","sourceRoot":"","sources":["../../../src/core/servableSnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAa5C;;;;;;GAMG;AACH,MAAM,UAAU,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;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,OAAO,CAAC,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"}
|
|
@@ -251,7 +251,8 @@ export interface FlowchartAsToolOptions {
|
|
|
251
251
|
* (`executor.setRedactionPolicy`).
|
|
252
252
|
*
|
|
253
253
|
* footprintjs scrubs at COMMIT time, so a redacted key never reaches the
|
|
254
|
-
* 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
|
|
255
256
|
* `(redacted by policy)` flag as the outer run; the trace tools pass
|
|
256
257
|
* placeholders through verbatim and never reconstruct around them.
|
|
257
258
|
*
|
|
@@ -283,15 +284,24 @@ export interface FlowchartAsToolOptions {
|
|
|
283
284
|
* 2. The resume checkpoint. A paused run throws with `err.checkpoint`,
|
|
284
285
|
* which holds real values because resumption must replay against them;
|
|
285
286
|
* it goes to the agent loop, never to a model.
|
|
286
|
-
* 3. What the LOG itself carries
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
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.
|
|
295
305
|
*/
|
|
296
306
|
readonly redact?: RedactionPolicy;
|
|
297
307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowchartAsTool.d.ts","sourceRoot":"","sources":["../../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAarB,OAAO,KAAK,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnF;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,MAAM,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC
|
|
1
|
+
{"version":3,"file":"flowchartAsTool.d.ts","sourceRoot":"","sources":["../../../src/core/flowchartAsTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAarB,OAAO,KAAK,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnF;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,MAAM,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAyJlE"}
|
|
@@ -199,11 +199,15 @@ export interface RunbookAsToolOptions {
|
|
|
199
199
|
/** Bounded LRU size for kept records (requires `keepRecord: true`). */
|
|
200
200
|
readonly keepRecordLimit?: number;
|
|
201
201
|
/** Redaction policy for the inner run. One rule for everything the tool
|
|
202
|
-
* shows (9.89.1): the commit log is scrubbed at write time
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
202
|
+
* shows (9.89.1): the commit log is scrubbed at write time — and since
|
|
203
|
+
* footprintjs 9.19.0 (the floor from 9.89.2) so is every path that used to
|
|
204
|
+
* bypass it: a subflow's seed and merge-back, tracked reads, dot-path
|
|
205
|
+
* `fields`, the narrated `Input:` line — and the envelope's state, the
|
|
206
|
+
* walk's recording and the kept record are all served from footprintjs's
|
|
207
|
+
* redacted view through `servableSnapshot`, which also refolds the one
|
|
208
|
+
* surface that view leaves raw (a subflow's own heap) from its scrubbed
|
|
209
|
+
* history. See `FlowchartAsToolOptions.redact` for the two things it does
|
|
210
|
+
* not govern: fold bases and the resume checkpoint. */
|
|
207
211
|
readonly redact?: RedactionPolicy;
|
|
208
212
|
}
|
|
209
213
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/runbook/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/runbook/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,33 +32,34 @@
|
|
|
32
32
|
* mirror is (apply the scrubbed patches in order), done at serve time for the
|
|
33
33
|
* level footprintjs does not mirror. The subflow's fold base is dropped by the
|
|
34
34
|
* same law footprintjs applies to the run's (`ExecutionRuntime.getSnapshot`:
|
|
35
|
-
* the base never passed a policy, so it is omitted rather than served) —
|
|
36
|
-
*
|
|
37
|
-
* and nothing is lost; the omission is there for the day it is not.
|
|
35
|
+
* the base never passed a policy, so it is omitted rather than served) — a
|
|
36
|
+
* subflow runtime is created bare (`SubflowExecutor`, through 9.19.1), so that
|
|
37
|
+
* base is `{}` and nothing is lost; the omission is there for the day it is not.
|
|
38
38
|
*
|
|
39
39
|
* Without a policy this is `executor.getSnapshot()`, byte for byte: no
|
|
40
40
|
* mirror, no fold, the fold bases present, exactly the path both tools had.
|
|
41
41
|
*
|
|
42
|
-
* WHAT IT CANNOT DO
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* to the agent loop, never to a
|
|
42
|
+
* WHAT IT CANNOT DO — and what it no longer has to (9.89.2). A served view is
|
|
43
|
+
* as clean as the log it is built from, and since footprintjs 9.19.0 the log
|
|
44
|
+
* is clean: ONE policy covers everything the run retains or serves — the
|
|
45
|
+
* commit log in both encodings, the redacted mirror, `stageReads` /
|
|
46
|
+
* `stageWrites`, recorder events and the narrative, a subflow's `inputMapper`
|
|
47
|
+
* seed (its `history[0]` and its narrated `Input:` line) and its
|
|
48
|
+
* `outputMapper` merge-back into the parent, `fields` dot-paths in the log and
|
|
49
|
+
* the mirror — and NEVER the live heap the run computes on nor the resume
|
|
50
|
+
* checkpoint. The five places footprintjs 9.18 left plaintext in the record
|
|
51
|
+
* (dot-path fields, merge-back, seed, seed narrative, tracked reads — each a
|
|
52
|
+
* write or a read past the scope facade) are closed at the root by its
|
|
53
|
+
* `RedactionRule`, which `StageContext` asks on every staged write and every
|
|
54
|
+
* tracked read; `test/core/flowchartAsTool.redact.test.ts` §6 asserts each
|
|
55
|
+
* one closed, red on 9.18. ONE limit remains, and it is the one this function
|
|
56
|
+
* exists for: `subflowResults[*].treeContext.globalContext` (and its `#n`
|
|
57
|
+
* twin) is the subflow's raw heap even under `getSnapshot({ redact: true })`
|
|
58
|
+
* — only the run-level runtime keeps a mirror — so the refold above is the
|
|
59
|
+
* answer, pinned in §7 of the same file. The resume checkpoint
|
|
60
|
+
* (`err.checkpoint` on a paused run) is not a served view: resumption must
|
|
61
|
+
* replay against real values, and it is handed to the agent loop, never to a
|
|
62
|
+
* model.
|
|
62
63
|
*/
|
|
63
64
|
import type { FlowChartExecutor, RedactionPolicy, RuntimeSnapshot } from 'footprintjs';
|
|
64
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servableSnapshot.d.ts","sourceRoot":"","sources":["../../../src/core/servableSnapshot.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"servableSnapshot.d.ts","sourceRoot":"","sources":["../../../src/core/servableSnapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAcvF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,eAAe,GAAG,SAAS,GAClC,eAAe,CAKjB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentfootprint",
|
|
3
|
-
"version": "9.89.
|
|
3
|
+
"version": "9.89.2",
|
|
4
4
|
"description": "The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -326,7 +326,7 @@
|
|
|
326
326
|
"@modelcontextprotocol/sdk": "*",
|
|
327
327
|
"@opentelemetry/api": "*",
|
|
328
328
|
"@yarflam/potion-base-8m": "*",
|
|
329
|
-
"footprintjs": "^9.
|
|
329
|
+
"footprintjs": "^9.19.1",
|
|
330
330
|
"google-auth-library": "*",
|
|
331
331
|
"ioredis": "*",
|
|
332
332
|
"jose": "*",
|
|
@@ -423,7 +423,7 @@
|
|
|
423
423
|
"esbuild": "^0.28.0",
|
|
424
424
|
"eslint": "^8.44.0",
|
|
425
425
|
"eslint-config-prettier": "^6.15.0",
|
|
426
|
-
"footprintjs": "^9.
|
|
426
|
+
"footprintjs": "^9.19.1",
|
|
427
427
|
"google-auth-library": "^11.0.1",
|
|
428
428
|
"jose": "^6.2.7",
|
|
429
429
|
"openai": "^7.4.0",
|