agentfootprint 7.10.0 → 7.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/core/Agent.js +13 -2
- package/dist/core/Agent.js.map +1 -1
- package/dist/core-flow/Graph.js +607 -0
- package/dist/core-flow/Graph.js.map +1 -0
- package/dist/debug.js +5 -2
- package/dist/debug.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -2
- package/dist/esm/core/Agent.js +13 -2
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +25 -1
- package/dist/esm/core-flow/Graph.d.ts +272 -0
- package/dist/esm/core-flow/Graph.js +601 -0
- package/dist/esm/core-flow/Graph.js.map +1 -0
- package/dist/esm/debug.d.ts +2 -2
- package/dist/esm/debug.js +2 -2
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/index.d.ts +3 -1
- package/dist/esm/lib/context-bisect/index.js +5 -0
- package/dist/esm/lib/context-bisect/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/trajectory.d.ts +8 -0
- package/dist/esm/lib/context-bisect/trajectory.js +10 -3
- package/dist/esm/lib/context-bisect/trajectory.js.map +1 -1
- package/dist/esm/lib/context-bisect/variable-recall.d.ts +171 -0
- package/dist/esm/lib/context-bisect/variable-recall.js +0 -0
- package/dist/esm/lib/context-bisect/variable-recall.js.map +1 -0
- package/dist/esm/lib/context-bisect/variableToBacktrackTrace.d.ts +53 -0
- package/dist/esm/lib/context-bisect/variableToBacktrackTrace.js +142 -0
- package/dist/esm/lib/context-bisect/variableToBacktrackTrace.js.map +1 -0
- package/dist/esm/lib/context-bisect/walk-to-root.d.ts +37 -2
- package/dist/esm/lib/context-bisect/walk-to-root.js +61 -6
- package/dist/esm/lib/context-bisect/walk-to-root.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/index.js +9 -1
- package/dist/lib/context-bisect/index.js.map +1 -1
- package/dist/lib/context-bisect/trajectory.js +10 -3
- package/dist/lib/context-bisect/trajectory.js.map +1 -1
- package/dist/lib/context-bisect/variable-recall.js +0 -0
- package/dist/lib/context-bisect/variable-recall.js.map +1 -0
- package/dist/lib/context-bisect/variableToBacktrackTrace.js +146 -0
- package/dist/lib/context-bisect/variableToBacktrackTrace.js.map +1 -0
- package/dist/lib/context-bisect/walk-to-root.js +61 -6
- package/dist/lib/context-bisect/walk-to-root.js.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -2
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +25 -1
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core-flow/Graph.d.ts +273 -0
- package/dist/types/core-flow/Graph.d.ts.map +1 -0
- package/dist/types/debug.d.ts +2 -2
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/index.d.ts +3 -1
- package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/trajectory.d.ts +8 -0
- package/dist/types/lib/context-bisect/trajectory.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/variable-recall.d.ts +172 -0
- package/dist/types/lib/context-bisect/variable-recall.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/variableToBacktrackTrace.d.ts +54 -0
- package/dist/types/lib/context-bisect/variableToBacktrackTrace.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/walk-to-root.d.ts +37 -2
- package/dist/types/lib/context-bisect/walk-to-root.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -22,7 +22,7 @@ function buildWriterFrameIndex(trajectory) {
|
|
|
22
22
|
return map;
|
|
23
23
|
}
|
|
24
24
|
exports.buildWriterFrameIndex = buildWriterFrameIndex;
|
|
25
|
-
/** Map each suspectId present in a frame to
|
|
25
|
+
/** Map each suspectId present in a frame to its {@link SuspectOrigin}. */
|
|
26
26
|
function writtenByOf(frame) {
|
|
27
27
|
const map = new Map();
|
|
28
28
|
for (const src of frame.contextSources) {
|
|
@@ -32,7 +32,7 @@ function writtenByOf(frame) {
|
|
|
32
32
|
for (const rec of v) {
|
|
33
33
|
const id = typeof rec.sourceId === 'string' ? rec.sourceId : undefined;
|
|
34
34
|
if (id !== undefined && !map.has(id))
|
|
35
|
-
map.set(id, src.writerId);
|
|
35
|
+
map.set(id, { writerId: src.writerId, stateKey: src.key });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
else if (v !== null &&
|
|
@@ -41,7 +41,7 @@ function writtenByOf(frame) {
|
|
|
41
41
|
// lastToolResult: a { toolName, result } object → the tool suspect
|
|
42
42
|
const tool = v.toolName;
|
|
43
43
|
if (!map.has(tool))
|
|
44
|
-
map.set(tool, src.writerId);
|
|
44
|
+
map.set(tool, { writerId: src.writerId, stateKey: src.key });
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
// The WALK-ONLY proximate tool source (proposal 008) — the cross-loop descent edge. NOT in
|
|
@@ -50,10 +50,46 @@ function writtenByOf(frame) {
|
|
|
50
50
|
if (tool && typeof tool.value?.toolName === 'string') {
|
|
51
51
|
const name = tool.value.toolName;
|
|
52
52
|
if (!map.has(name))
|
|
53
|
-
map.set(name, tool.writerId);
|
|
53
|
+
map.set(name, { writerId: tool.writerId, stateKey: tool.stateKey });
|
|
54
54
|
}
|
|
55
55
|
return map;
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* The DETERMINISTIC descent: the write that produced the value this loop's
|
|
59
|
+
* `call-llm` read of `stateKey` — straight off the recorded moments, no
|
|
60
|
+
* embedding involved.
|
|
61
|
+
*
|
|
62
|
+
* Preference order, both commit-log facts:
|
|
63
|
+
* 1. the read moment BY this loop's call-llm → its `fromWriteIdx` → that
|
|
64
|
+
* write (exact value identity — footprintjs pins the same rule its forward
|
|
65
|
+
* walk uses);
|
|
66
|
+
* 2. otherwise the last write strictly before the call-llm's commit (the key
|
|
67
|
+
* the call-llm did not read directly — e.g. an inferred proximate).
|
|
68
|
+
*
|
|
69
|
+
* Returns `undefined` unless coverage is EXACT: a conservative (stage-level)
|
|
70
|
+
* edge must never be presented as an exact hop.
|
|
71
|
+
*/
|
|
72
|
+
function dataflowWriter(slice, frame) {
|
|
73
|
+
const coverage = slice?.coverage;
|
|
74
|
+
if (slice === undefined || coverage !== 'exact')
|
|
75
|
+
return undefined;
|
|
76
|
+
// Grouped frames index a subflow's OWN inner log; a run-log slice cannot be
|
|
77
|
+
// joined to them (see LoopFrame.subflowScope).
|
|
78
|
+
if (frame.subflowScope !== undefined)
|
|
79
|
+
return undefined;
|
|
80
|
+
const writes = slice.moments.filter((m) => m.kind === 'write');
|
|
81
|
+
const read = frame.llmCallId !== undefined
|
|
82
|
+
? slice.moments.find((m) => m.kind === 'read' && m.runtimeStageId === frame.llmCallId)
|
|
83
|
+
: undefined;
|
|
84
|
+
if (read?.fromWriteIdx !== undefined) {
|
|
85
|
+
return writes.find((w) => w.commitIdx === read.fromWriteIdx);
|
|
86
|
+
}
|
|
87
|
+
const llmIdx = frame.llmCallArrayIdx;
|
|
88
|
+
if (llmIdx === undefined)
|
|
89
|
+
return undefined;
|
|
90
|
+
const before = writes.filter((w) => w.commitIdx < llmIdx);
|
|
91
|
+
return before.length > 0 ? before[before.length - 1] : undefined;
|
|
92
|
+
}
|
|
57
93
|
/** A minimal Suspect for ablationForSuspect (only kind + detail identity are read). */
|
|
58
94
|
function suspectFor(suspectId, kind) {
|
|
59
95
|
const detail = kind === 'tool' ? { toolName: suspectId } : { injectionId: suspectId };
|
|
@@ -94,6 +130,8 @@ async function walkTrajectory(trajectory, opts) {
|
|
|
94
130
|
});
|
|
95
131
|
}
|
|
96
132
|
const writerFrame = buildWriterFrameIndex(trajectory);
|
|
133
|
+
const variables = new Map((opts.variables ?? []).map((v) => [v.key, v]));
|
|
134
|
+
const variableOf = (key) => variables.get(key);
|
|
97
135
|
// Baseline stability (the un-ablated scenario must reproduce for any ablation verdict to be trusted).
|
|
98
136
|
let baselineStable = true;
|
|
99
137
|
let ablationsUsed = 0;
|
|
@@ -153,17 +191,34 @@ async function walkTrajectory(trajectory, opts) {
|
|
|
153
191
|
}
|
|
154
192
|
}
|
|
155
193
|
}
|
|
194
|
+
// NARROW → HOP. The beam picked WHO; this picks WHERE. When the narrowed
|
|
195
|
+
// suspect rode in on a state key whose dataflow is per-write EXACT, WHERE is
|
|
196
|
+
// a commit-log fact — the write that produced the value THIS loop read —
|
|
197
|
+
// instead of a provenance scrape or an inferred proximate. Absent
|
|
198
|
+
// `variables`, `exactWriter` is always undefined and nothing below changes.
|
|
199
|
+
const beamOrigin = writtenBy.get(chosen.suspectId);
|
|
200
|
+
const exactWrite = beamOrigin?.stateKey !== undefined
|
|
201
|
+
? dataflowWriter(variableOf(beamOrigin.stateKey), frame)
|
|
202
|
+
: undefined;
|
|
203
|
+
const exactFrameIdx = exactWrite !== undefined ? writerFrame.get(exactWrite.runtimeStageId) : undefined;
|
|
204
|
+
const exactWriter = exactWrite !== undefined && exactFrameIdx !== undefined && exactFrameIdx < frameIdx
|
|
205
|
+
? exactWrite.runtimeStageId
|
|
206
|
+
: undefined; // strictly backward, or it is no descent at all
|
|
156
207
|
// The proximate tool source (walk-only, proposal 008) is the cross-loop DESCENT edge. When this
|
|
157
208
|
// loop did NOT convict, follow it back to the loop that PRODUCED the tool output the decision was
|
|
158
209
|
// conditioned on — that's where a buried root (e.g. the misdirecting instruction) scores + convicts.
|
|
210
|
+
// It is an INFERRED proximate (`call-llm` read `history`, not this key), so a RECORDED exact edge
|
|
211
|
+
// for the narrowed suspect outranks it: better evidence wins, and the hop says which it used.
|
|
159
212
|
const toolName = !convicted &&
|
|
213
|
+
exactWriter === undefined &&
|
|
160
214
|
frame.proximateToolSource &&
|
|
161
215
|
typeof frame.proximateToolSource.value?.toolName === 'string'
|
|
162
216
|
? frame.proximateToolSource.value.toolName
|
|
163
217
|
: undefined;
|
|
164
218
|
if (toolName !== undefined)
|
|
165
219
|
chosen = { suspectId: toolName, kind: 'tool' };
|
|
166
|
-
const
|
|
220
|
+
const narrowedBy = exactWriter !== undefined ? 'dataflow' : 'text-similarity';
|
|
221
|
+
const writer = exactWriter ?? writtenBy.get(chosen.suspectId)?.writerId;
|
|
167
222
|
const nextFrameIdx = writer !== undefined ? writerFrame.get(writer) : undefined;
|
|
168
223
|
const descendIdx = nextFrameIdx !== undefined && nextFrameIdx < frameIdx ? nextFrameIdx : undefined; // strictly backward
|
|
169
224
|
// Per-hop honest note: untracked-origin (structural — no provenance writer to descend) is set
|
|
@@ -177,7 +232,7 @@ async function walkTrajectory(trajectory, opts) {
|
|
|
177
232
|
loopIndex: frame.loopIndex,
|
|
178
233
|
suspectId: chosen.suspectId,
|
|
179
234
|
kind: chosen.kind,
|
|
180
|
-
narrowedBy
|
|
235
|
+
narrowedBy,
|
|
181
236
|
...(chosenVerdict ? { verdict: chosenVerdict } : {}),
|
|
182
237
|
...(writer !== undefined ? { writtenBy: writer } : {}),
|
|
183
238
|
...(descendIdx !== undefined ? { cameFrom: trajectory.frames[descendIdx].loopIndex } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk-to-root.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/walk-to-root.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"walk-to-root.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/walk-to-root.ts"],"names":[],"mappings":";;;AA0CA,+CAA+F;AAC/F,+CAAiF;AACjF,qDAA0D;AAC1D,mDAAqD;AA+FrD,iHAAiH;AACjH,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,UAAsB;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAND,sDAMC;AAUD,0EAA0E;AAC1E,SAAS,WAAW,CAAC,KAAgB;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,yDAAyD;YACzD,KAAK,MAAM,GAAG,IAAI,CAAmC,EAAE,CAAC;gBACtD,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,IACL,CAAC,KAAK,IAAI;YACV,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAQ,CAA4B,CAAC,QAAQ,KAAK,QAAQ,EAC1D,CAAC;YACD,mEAAmE;YACnE,MAAM,IAAI,GAAI,CAA0B,CAAC,QAAQ,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,2FAA2F;IAC3F,kFAAkF;IAClF,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,IAAI,IAAI,IAAI,OAAQ,IAAI,CAAC,KAAgC,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjF,MAAM,IAAI,GAAI,IAAI,CAAC,KAA8B,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,cAAc,CACrB,KAAqC,EACrC,KAAgB;IAEhB,MAAM,QAAQ,GAAiC,KAAK,EAAE,QAAQ,CAAC;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAClE,4EAA4E;IAC5E,+CAA+C;IAC/C,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAEvD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GACR,KAAK,CAAC,SAAS,KAAK,SAAS;QAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;QACtF,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,SAAiB,EAAE,IAAiB;IACtD,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACtF,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,CAAC;QAClB,kBAAkB,EAAE,KAAK;QACzB,QAAQ,EAAE,EAAE;KACF,CAAC;AACf,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU,CAC9B,SAA8B,EAC9B,IAAuB;IAEvB,OAAO,cAAc,CAAC,IAAA,kCAAkB,EAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AALD,gCAKC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAClC,UAAsB,EACtB,IAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,sCAAwB,CAAC;IAC7D,MAAM,YAAY,GAAkB,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;IAC5E,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,0HAA0H;SACjI,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,CAAC,GAAW,EAAkC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEvF,sGAAsG;IACtG,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAgB,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5F,aAAa,EAAE,CAAC;QAChB,cAAc,GAAG,CAAC,IAAA,0BAAY,EAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,oCAAoC;IACjF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,QAAQ,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1C,yFAAyF;QACzF,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAM,IAAA,uCAAsB,EAAC,GAAG,EAAE;YAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,UAAU,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAE7B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC;QAE/F,wFAAwF;QACxF,6EAA6E;QAC7E,IAAI,MAAM,GAA6C,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,aAA0C,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;oBAClC,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,IAAA,gCAAkB,EAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvE,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACjC,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAgB,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;oBACnF,IAAI;iBACL,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC;gBAChB,IAAI,cAAc,IAAI,IAAA,0BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,MAAM,GAAG,IAAI,CAAC;oBACd,aAAa,GAAG,IAAA,wBAAU,EAAC,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;oBAC9E,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,CAAC,mCAAmC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,6EAA6E;QAC7E,yEAAyE;QACzE,kEAAkE;QAClE,4EAA4E;QAC5E,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,UAAU,GACd,UAAU,EAAE,QAAQ,KAAK,SAAS;YAChC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,aAAa,GACjB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,WAAW,GACf,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,GAAG,QAAQ;YACjF,CAAC,CAAC,UAAU,CAAC,cAAc;YAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,gDAAgD;QAEjE,gGAAgG;QAChG,kGAAkG;QAClG,qGAAqG;QACrG,kGAAkG;QAClG,8FAA8F;QAC9F,MAAM,QAAQ,GACZ,CAAC,SAAS;YACV,WAAW,KAAK,SAAS;YACzB,KAAK,CAAC,mBAAmB;YACzB,OAAQ,KAAK,CAAC,mBAAmB,CAAC,KAAgC,EAAE,QAAQ,KAAK,QAAQ;YACvF,CAAC,CAAE,KAAK,CAAC,mBAAmB,CAAC,KAA8B,CAAC,QAAQ;YACpE,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAE3E,MAAM,UAAU,GAAkB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC7F,MAAM,MAAM,GAAG,WAAW,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,UAAU,GACd,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,oBAAoB;QAExG,8FAA8F;QAC9F,+FAA+F;QAC/F,MAAM,UAAU,GACd,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS;gBAC3B,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU;YACV,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,SAAS;YAAE,MAAM,CAAC,uEAAuE;QAC7F,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1D,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,mBAAmB;QACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,QAAQ,GAAG,UAAU,CAAC;IACxB,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAA8B,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW;YAAE,IAAI,GAAG,GAAG,CAAC;IAE7E,gGAAgG;IAChG,6FAA6F;IAC7F,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,YAAY;QACZ,GAAG,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAzKD,wCAyKC"}
|
|
@@ -27,11 +27,11 @@ import { type OutputSchemaParser } from './outputSchema.js';
|
|
|
27
27
|
import { RunnerBase } from './RunnerBase.js';
|
|
28
28
|
import type { ToolRegistryEntry } from './tools.js';
|
|
29
29
|
import type { ToolProvider } from '../tool-providers/types.js';
|
|
30
|
-
import type { AgentInput, AgentOptions, AgentOutput, ObserverDeliveryOptions } from './agent/types.js';
|
|
30
|
+
import type { AgentInput, AgentOptions, AgentOutput, ObserverDeliveryOptions, WriteProvenanceMode } from './agent/types.js';
|
|
31
31
|
import { AgentBuilder } from './agent/AgentBuilder.js';
|
|
32
32
|
import type { ThinkingHandler } from '../thinking/types.js';
|
|
33
33
|
export { AgentBuilder };
|
|
34
|
-
export type { AgentInput, AgentOptions, AgentOutput, ObserverDeliveryOptions };
|
|
34
|
+
export type { AgentInput, AgentOptions, AgentOutput, ObserverDeliveryOptions, WriteProvenanceMode };
|
|
35
35
|
/**
|
|
36
36
|
* `RunOptions` (footprintjs) + agentfootprint-domain correlation fields.
|
|
37
37
|
*
|
|
@@ -120,6 +120,10 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
|
|
|
120
120
|
* retained memory), NOT footprintjs's `'full'`. See
|
|
121
121
|
* AgentOptions.commitValues. */
|
|
122
122
|
private readonly commitValues;
|
|
123
|
+
/** Per-write read provenance (#P1) — forwarded to the internal executor.
|
|
124
|
+
* Default `'off'` (footprintjs's own): recordings stay byte-identical
|
|
125
|
+
* unless a consumer opts in. See AgentOptions.writeProvenance. */
|
|
126
|
+
private readonly writeProvenance;
|
|
123
127
|
private readonly credentialProvider?;
|
|
124
128
|
/** Evidence bridge (#5) — present iff a CAUSAL memory is mounted. */
|
|
125
129
|
private readonly causalEvidence?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAI3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyBrD,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AASlE,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAKL,KAAK,kBAAkB,EAExB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAwC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAa,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EAEX,uBAAuB,
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* part of the v2.11.1 decomposition. `core/Agent.ts` re-exports them
|
|
8
8
|
* for back-compat (the 28+ existing import sites continue to work).
|
|
9
9
|
*/
|
|
10
|
-
import type { AttachRecorderOptions, ReadTrackingMode, StructureRecorder, CommitValuesMode } from 'footprintjs';
|
|
10
|
+
import type { AttachRecorderOptions, FlowChartExecutorOptions, ReadTrackingMode, StructureRecorder, CommitValuesMode } from 'footprintjs';
|
|
11
11
|
import type { GroupTranslator } from '../translator.js';
|
|
12
12
|
import type { LLMMessage, LLMProvider, LLMToolSchema, PermissionChecker, PricingTable } from '../../adapters/types.js';
|
|
13
13
|
import type { CacheMarker, CacheStrategy } from '../../cache/types.js';
|
|
@@ -28,6 +28,12 @@ import type { ReliabilityScope } from '../../reliability/types.js';
|
|
|
28
28
|
* `'drop-oldest'`), `sampleEvery`, `flushBudgetMs` (default 2).
|
|
29
29
|
*/
|
|
30
30
|
export type ObserverDeliveryOptions = Omit<AttachRecorderOptions, 'delivery'>;
|
|
31
|
+
/**
|
|
32
|
+
* Per-write read-provenance policy — `AgentOptions.writeProvenance`. Derived
|
|
33
|
+
* structurally from footprintjs's executor options (the engine owns the
|
|
34
|
+
* vocabulary; it does not export the alias), so the two can never drift.
|
|
35
|
+
*/
|
|
36
|
+
export type WriteProvenanceMode = NonNullable<FlowChartExecutorOptions['writeProvenance']>;
|
|
31
37
|
export interface AgentOptions {
|
|
32
38
|
readonly provider: LLMProvider;
|
|
33
39
|
/** Human-friendly name shown in events/metrics. Default: 'Agent'. */
|
|
@@ -111,6 +117,24 @@ export interface AgentOptions {
|
|
|
111
117
|
* `bundle.overwrite[key]` as the complete value.
|
|
112
118
|
*/
|
|
113
119
|
readonly commitValues?: CommitValuesMode;
|
|
120
|
+
/**
|
|
121
|
+
* Per-write read provenance — forwarded to the internal executor as
|
|
122
|
+
* `{ writeProvenance }`. Default **`'off'`** (footprintjs's own default):
|
|
123
|
+
* every recording is byte-identical to earlier releases.
|
|
124
|
+
*
|
|
125
|
+
* With `'reads-prefix'`, each recorded write also stores the keys that were
|
|
126
|
+
* tracked-read BEFORE it, which upgrades what the trace layer can claim about
|
|
127
|
+
* a value: a downstream write is linked to this value because that write's
|
|
128
|
+
* own read-prefix names the key — and a write whose prefix omits it is
|
|
129
|
+
* excluded exactly. That is the difference between "this stage read A and
|
|
130
|
+
* wrote B, in some order the log cannot see" and a recorded dependency.
|
|
131
|
+
*
|
|
132
|
+
* Turn it on when you intend to DEBUG the run: `traceVariable` reports
|
|
133
|
+
* `coverage: 'exact'` only under this dial, and only then will `walkToRoot`
|
|
134
|
+
* take a deterministic `narrowedBy: 'dataflow'` hop instead of an embedding
|
|
135
|
+
* guess. Cost is one small array copy per write.
|
|
136
|
+
*/
|
|
137
|
+
readonly writeProvenance?: WriteProvenanceMode;
|
|
114
138
|
/**
|
|
115
139
|
* Credential provider for downstream OAuth (declare-and-push). When set, a
|
|
116
140
|
* tool that declares `needs: { credential }` has it resolved BEFORE `execute`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* graph() — a FIXED DAG of runners, levelized at build time.
|
|
3
|
+
*
|
|
4
|
+
* WHY this exists: `Sequence` and `workflow()` run steps in a line, and
|
|
5
|
+
* `Parallel` fans out ONCE and merges. Real pipelines are neither: an
|
|
6
|
+
* intake step feeds two independent lookups, and a writer waits for both.
|
|
7
|
+
* Expressing that with the existing compositions means nesting a Parallel
|
|
8
|
+
* inside a Sequence and threading values through by hand — and on this
|
|
9
|
+
* codebase that hand-off silently loses structured data (see "The trap"
|
|
10
|
+
* below). `graph()` states the shape once, as nodes and edges, and lets
|
|
11
|
+
* the engine work out what can run at the same time.
|
|
12
|
+
*
|
|
13
|
+
* What it gives you:
|
|
14
|
+
* - **Concurrency you did not have to schedule.** Kahn levelization at
|
|
15
|
+
* BUILD time groups nodes with no dependency between them; every node
|
|
16
|
+
* in a level runs at the same time.
|
|
17
|
+
* - **A shape checked before it runs.** A cycle, an edge pointing at a
|
|
18
|
+
* node that does not exist, or a duplicate id is refused at BUILD
|
|
19
|
+
* time, naming the offender. You cannot construct a broken graph.
|
|
20
|
+
* - **No silent merges.** A node with two or more parents MUST declare
|
|
21
|
+
* a `join` — a silent merge is a wrong merge, so the build refuses
|
|
22
|
+
* and names the node.
|
|
23
|
+
* - **Values, not text.** An edge's payload is the producer's OUTPUT
|
|
24
|
+
* handed to the consumer, unchanged. There is no shared mutable scope
|
|
25
|
+
* between nodes: a node reads exactly what its parents produced.
|
|
26
|
+
*
|
|
27
|
+
* Pattern: Adapter over footprintjs's subflow mounts — a level with
|
|
28
|
+
* several nodes becomes stacked `addSubFlowChart` calls (a fork,
|
|
29
|
+
* run concurrently); a level with one node is mounted
|
|
30
|
+
* sequentially (`addSubFlowChartNext`, which resumes cleanly
|
|
31
|
+
* across a pause). One join stage between levels.
|
|
32
|
+
* Role: core-flow/ layer, alongside Sequence/Parallel/Conditional/
|
|
33
|
+
* Loop/Workflow. Pure control flow — no LLM dependency.
|
|
34
|
+
* Emits: agentfootprint.composition.enter / exit, reported as kind
|
|
35
|
+
* `'Sequence'`. See "Why kind 'Sequence'" below.
|
|
36
|
+
*
|
|
37
|
+
* ## The trap this was built around (verified against footprintjs, not docs)
|
|
38
|
+
*
|
|
39
|
+
* The obvious sketch — `graph = Sequence(Parallel(level0), Parallel(level1), …)`
|
|
40
|
+
* — does NOT work on this codebase, for two independent reasons:
|
|
41
|
+
*
|
|
42
|
+
* 1. `Sequence`'s step contract is `{ message: string } -> string`, and
|
|
43
|
+
* its step `outputMapper` coerces a non-string step output to `''`.
|
|
44
|
+
* `workflow()` (v7.10.0) exists precisely because of this.
|
|
45
|
+
* 2. `Parallel` has the SAME limit one layer down: its branch type is
|
|
46
|
+
* `Runner<{ message: string }, string>` and its branch `outputMapper`
|
|
47
|
+
* coerces a non-string branch output to `''` (`Parallel.ts`, the
|
|
48
|
+
* `typeof sfOutput === 'string' ? sfOutput : ''` mapper). So a
|
|
49
|
+
* Parallel level cannot carry a structured value either.
|
|
50
|
+
*
|
|
51
|
+
* So `graph()` is built on the pass-through model `workflow()` established
|
|
52
|
+
* — its own composition, its own mappers, the same recorder wiring and the
|
|
53
|
+
* same `composition.enter` / `exit` events — rather than on top of
|
|
54
|
+
* Sequence/Parallel.
|
|
55
|
+
*
|
|
56
|
+
* ## Why kind 'Sequence'
|
|
57
|
+
*
|
|
58
|
+
* `CompositionKind` is a CLOSED public union (`'Sequence' | 'Parallel' |
|
|
59
|
+
* 'Conditional' | 'Loop'`). Widening it would break exhaustive switches in
|
|
60
|
+
* consumer code for no behavioural gain — the same call v7.10.0 made for
|
|
61
|
+
* `workflow()`. A graph's LEVELS are a sequence (level 0, then level 1, …),
|
|
62
|
+
* so `'Sequence'` is the honest member of that union: this composition runs
|
|
63
|
+
* its levels in order. The fan-out WITHIN a level is visible in the chart
|
|
64
|
+
* itself (a fork node per level), which is where a renderer reads it from.
|
|
65
|
+
*
|
|
66
|
+
* ## Honest limits (all verified against the engine, pinned in tests)
|
|
67
|
+
*
|
|
68
|
+
* 1. Only PLAIN DATA crosses a node boundary — the same limit
|
|
69
|
+
* `workflow()` documents. A value with a prototype (Date, Map, class
|
|
70
|
+
* instance) arrives as `{}`; `undefined` fields are dropped.
|
|
71
|
+
* 2. A node must RETURN its output: the value handed to its children is
|
|
72
|
+
* the node chart's traversal result.
|
|
73
|
+
* 3. A node that THROWS is always reported as
|
|
74
|
+
* `graph '<id>': node '<node>' failed: <reason>`, but it reaches that
|
|
75
|
+
* sentence by two different routes. In a CONCURRENT level footprintjs
|
|
76
|
+
* runs children under `Promise.allSettled`, so a failed child is
|
|
77
|
+
* simply ABSENT from the results and the level join turns that
|
|
78
|
+
* absence into the error. In a SEQUENTIAL (single-node) level the
|
|
79
|
+
* error rejects the run raw, and `rethrowWithNodeAttribution` renames
|
|
80
|
+
* it. Consumers see one shape either way.
|
|
81
|
+
* 4. A node that PAUSES surfaces as a pause — the engine halts the
|
|
82
|
+
* traversal before the level's join runs, so `run()` returns a
|
|
83
|
+
* `RunnerPauseOutcome`. `resume()` then carries on through the REST
|
|
84
|
+
* of the graph only when the paused node was ALONE in its level (a
|
|
85
|
+
* sequential mount). Resuming into a fork child completes that child
|
|
86
|
+
* and stops: the remaining levels do not run. Give a node that asks a
|
|
87
|
+
* human a level of its own. Both halves are pinned in tests.
|
|
88
|
+
*
|
|
89
|
+
* @example a diamond: A feeds B and C, D waits for both
|
|
90
|
+
* ```ts
|
|
91
|
+
* const pipeline = graph({
|
|
92
|
+
* nodes: [
|
|
93
|
+
* { id: 'intake', runner: intake },
|
|
94
|
+
* { id: 'orders', runner: lookupOrders },
|
|
95
|
+
* { id: 'billing', runner: lookupBilling },
|
|
96
|
+
* {
|
|
97
|
+
* id: 'reply',
|
|
98
|
+
* runner: writeReply,
|
|
99
|
+
* // Two parents ⇒ a join is REQUIRED. `upstream` is keyed by node id.
|
|
100
|
+
* join: (upstream) => ({
|
|
101
|
+
* orders: upstream.orders as OrderInfo,
|
|
102
|
+
* billing: upstream.billing as BillingInfo,
|
|
103
|
+
* }),
|
|
104
|
+
* },
|
|
105
|
+
* ],
|
|
106
|
+
* edges: [
|
|
107
|
+
* { from: 'intake', to: 'orders' },
|
|
108
|
+
* { from: 'intake', to: 'billing' },
|
|
109
|
+
* { from: 'orders', to: 'reply' },
|
|
110
|
+
* { from: 'billing', to: 'reply' },
|
|
111
|
+
* ],
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* const out = await pipeline.run({ message: 'where is my refund?' });
|
|
115
|
+
* // out = { intake: …, orders: …, billing: …, reply: … } — keyed by node id
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
import { type FlowchartCheckpoint, type RunOptions, type StructureRecorder } from 'footprintjs';
|
|
119
|
+
import type { RunnerPauseOutcome } from '../core/pause.js';
|
|
120
|
+
import type { Runner } from '../core/runner.js';
|
|
121
|
+
import { RunnerBase } from '../core/RunnerBase.js';
|
|
122
|
+
/**
|
|
123
|
+
* One node of the graph: an id, the runner that does the work, and — when
|
|
124
|
+
* the node has more than one parent — how to merge what those parents
|
|
125
|
+
* produced into this node's input.
|
|
126
|
+
*/
|
|
127
|
+
export interface GraphNode<I = unknown, O = unknown> {
|
|
128
|
+
/** Unique within the graph. Used as the results key and the chart node id. */
|
|
129
|
+
readonly id: string;
|
|
130
|
+
/** The work. Any Runner: LLMCall, Agent, a Sequence, another graph. */
|
|
131
|
+
readonly runner: Runner<I, O>;
|
|
132
|
+
/**
|
|
133
|
+
* Merge upstream outputs into this node's input. `upstream` is keyed by
|
|
134
|
+
* PARENT NODE ID, and each value is that parent's output, unchanged.
|
|
135
|
+
*
|
|
136
|
+
* Optional for a node with 0 or 1 parents (a single parent's output is
|
|
137
|
+
* passed through). **REQUIRED when a node has 2+ parents** — a silent
|
|
138
|
+
* merge is a wrong merge, so the build refuses and names the node.
|
|
139
|
+
*/
|
|
140
|
+
readonly join?: (upstream: Readonly<Record<string, unknown>>) => I;
|
|
141
|
+
/** Human-friendly label for events + topology. Default: the node id. */
|
|
142
|
+
readonly name?: string;
|
|
143
|
+
}
|
|
144
|
+
/** A directed dependency: `from` must finish before `to` starts. */
|
|
145
|
+
export interface GraphEdge {
|
|
146
|
+
readonly from: string;
|
|
147
|
+
readonly to: string;
|
|
148
|
+
}
|
|
149
|
+
export interface GraphOptions {
|
|
150
|
+
/** The nodes. Ids must be unique; at least one is required. */
|
|
151
|
+
readonly nodes: readonly GraphNode<any, any>[];
|
|
152
|
+
/** The dependencies. Every endpoint must name a declared node. */
|
|
153
|
+
readonly edges: readonly GraphEdge[];
|
|
154
|
+
/** Human-friendly name for events + topology. Default `'Graph'`. */
|
|
155
|
+
readonly name?: string;
|
|
156
|
+
/** Stable id used for topology + events. Default `'graph'`. */
|
|
157
|
+
readonly id?: string;
|
|
158
|
+
/**
|
|
159
|
+
* Optional build-time recorders passed through to footprintjs's
|
|
160
|
+
* `flowChart()` factory — they observe this graph's OWN nodes (Seed +
|
|
161
|
+
* one mount per graph node + one join per level + Finalize). Not
|
|
162
|
+
* propagated into the mounted node charts; attach them to each node
|
|
163
|
+
* runner for full coverage.
|
|
164
|
+
*/
|
|
165
|
+
readonly structureRecorders?: readonly StructureRecorder[];
|
|
166
|
+
}
|
|
167
|
+
/** The graph's own input — handed to every ROOT node (one with no parents). */
|
|
168
|
+
export type GraphInput = Record<string, unknown>;
|
|
169
|
+
/** Outputs keyed by node id. Every node that ran contributes one entry. */
|
|
170
|
+
export type GraphOutput = Record<string, unknown>;
|
|
171
|
+
/**
|
|
172
|
+
* Kahn levelization: group nodes so that everything in level N depends
|
|
173
|
+
* only on levels < N. Nodes within a level are independent BY
|
|
174
|
+
* CONSTRUCTION, which is exactly the licence to run them concurrently.
|
|
175
|
+
*
|
|
176
|
+
* Declaration order is preserved inside each level so a graph's chart —
|
|
177
|
+
* and therefore its trace — is deterministic.
|
|
178
|
+
*
|
|
179
|
+
* Throws (naming the offender) on: an unknown edge endpoint, a duplicate
|
|
180
|
+
* node id, a cycle, or a fan-in > 1 with no `join`.
|
|
181
|
+
*/
|
|
182
|
+
export declare function levelize(nodes: readonly GraphNode<any, any>[], edges: readonly GraphEdge[]): readonly (readonly GraphNode<any, any>[])[];
|
|
183
|
+
/**
|
|
184
|
+
* A fixed DAG of runners. Build one with {@link graph}.
|
|
185
|
+
*/
|
|
186
|
+
export declare class Graph extends RunnerBase<GraphInput, GraphOutput> {
|
|
187
|
+
readonly name: string;
|
|
188
|
+
readonly id: string;
|
|
189
|
+
private readonly nodes;
|
|
190
|
+
private readonly levels;
|
|
191
|
+
private readonly parentsOf;
|
|
192
|
+
private readonly opts;
|
|
193
|
+
private currentRunContext;
|
|
194
|
+
/**
|
|
195
|
+
* Per-node first-error records for the current run. footprintjs's
|
|
196
|
+
* `SubflowExecutor` swallows a subflow error into the parent's debug
|
|
197
|
+
* bag and skips the `outputMapper`, so the message never reaches parent
|
|
198
|
+
* scope on its own. An internal recorder captures it here; the level
|
|
199
|
+
* join reads it to name what actually went wrong. Mirrors Parallel's
|
|
200
|
+
* `branchErrors`, epoch-guarded for the same reason.
|
|
201
|
+
*/
|
|
202
|
+
private readonly nodeErrors;
|
|
203
|
+
/** Monotonic run token — see Parallel's `runEpoch`. */
|
|
204
|
+
private runEpoch;
|
|
205
|
+
constructor(opts: GraphOptions);
|
|
206
|
+
/** How the graph was levelized — level 0 first. Stable post-construction. */
|
|
207
|
+
getLevels(): readonly (readonly string[])[];
|
|
208
|
+
run(input: GraphInput, options?: RunOptions): Promise<GraphOutput | RunnerPauseOutcome>;
|
|
209
|
+
resume(checkpoint: FlowchartCheckpoint, input?: unknown, options?: RunOptions): Promise<GraphOutput | RunnerPauseOutcome>;
|
|
210
|
+
/**
|
|
211
|
+
* Give a RAW rejection the same node-naming shape the level join
|
|
212
|
+
* produces.
|
|
213
|
+
*
|
|
214
|
+
* A node in a SEQUENTIAL (single-node) level rejects the run with its
|
|
215
|
+
* own error — the level join never runs, so nothing has attributed it to
|
|
216
|
+
* a node yet. The error recorder did see it, so correlate (by identity
|
|
217
|
+
* first, then bare message) and rename. Anything that does not correlate
|
|
218
|
+
* — including the join's own already-attributed error — is rethrown
|
|
219
|
+
* untouched.
|
|
220
|
+
*/
|
|
221
|
+
private rethrowWithNodeAttribution;
|
|
222
|
+
private createExecutor;
|
|
223
|
+
/**
|
|
224
|
+
* Capture the first error per node. The node id is the first segment of
|
|
225
|
+
* the engine-prefixed `stageId` (`orders/call-llm` → node `orders`) —
|
|
226
|
+
* the same correlation Parallel uses, and the only one that survives a
|
|
227
|
+
* node mounting subflows of its own.
|
|
228
|
+
*/
|
|
229
|
+
private makeNodeErrorRecorder;
|
|
230
|
+
private finalizeResult;
|
|
231
|
+
private buildChart;
|
|
232
|
+
/**
|
|
233
|
+
* What one node receives. Roots get the graph's own input; a single
|
|
234
|
+
* parent is passed through; 2+ parents go through the node's `join`
|
|
235
|
+
* (which the build already guaranteed exists).
|
|
236
|
+
*
|
|
237
|
+
* `parent` here is the RAW parent state the engine hands an
|
|
238
|
+
* `inputMapper` — not a TypedScope — so structured upstream values read
|
|
239
|
+
* back intact.
|
|
240
|
+
*/
|
|
241
|
+
private inputForNode;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Build a fixed DAG of runners. Independent nodes run concurrently; the
|
|
245
|
+
* result is every node's output, keyed by node id.
|
|
246
|
+
*
|
|
247
|
+
* The shape is checked at BUILD time — a cycle, an edge pointing at an
|
|
248
|
+
* unknown node, a duplicate id, or a 2+-parent node with no `join` throws
|
|
249
|
+
* here, naming the offender, rather than misbehaving mid-run.
|
|
250
|
+
*
|
|
251
|
+
* @example a fan-out with a merge
|
|
252
|
+
* ```ts
|
|
253
|
+
* const pipeline = graph({
|
|
254
|
+
* nodes: [
|
|
255
|
+
* { id: 'plan', runner: planner },
|
|
256
|
+
* { id: 'search', runner: searcher },
|
|
257
|
+
* { id: 'recall', runner: memory },
|
|
258
|
+
* { id: 'answer', runner: writer, join: (u) => ({ ...u }) },
|
|
259
|
+
* ],
|
|
260
|
+
* edges: [
|
|
261
|
+
* { from: 'plan', to: 'search' },
|
|
262
|
+
* { from: 'plan', to: 'recall' },
|
|
263
|
+
* { from: 'search', to: 'answer' },
|
|
264
|
+
* { from: 'recall', to: 'answer' },
|
|
265
|
+
* ],
|
|
266
|
+
* });
|
|
267
|
+
*
|
|
268
|
+
* const out = await pipeline.run({ message: 'what changed last week?' });
|
|
269
|
+
* console.log(out.answer);
|
|
270
|
+
* ```
|
|
271
|
+
*/
|
|
272
|
+
export declare function graph(opts: GraphOptions): Graph;
|
|
273
|
+
//# sourceMappingURL=Graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/core-flow/Graph.ts"],"names":[],"mappings":"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"}
|
package/dist/types/debug.d.ts
CHANGED
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
export { adaptWeights, averageRelevancy, compositeScore, contentHash, DEFAULT_CLEAR_WINNER_MARGIN, DEFAULT_CLEAR_WINNER_RATIO, DEFAULT_INFLUENCE_WEIGHTS, DEFAULT_MARGIN_THRESHOLD, DEFAULT_PERSISTENCE_THRESHOLD, DEFAULT_SHORTLIST_BAND, EmbeddingCache, embeddingCache, finalAnswerSimilarity, attributeChoice, explainChoice, lexicalOverlapStrategy, listInfluenceStrategies, marginStrategy, pairwiseSimilarity, persistence, rankingConfidence, ratioStrategy, scoreContrastiveInfluence, scoreInfluence, scoreLexicalInfluence, scoreMargin, semanticAlignmentStrategy, snippetUnits, structuralProximity, type AttributeChoiceArgs, type AttributionUnit, type CandidateScore, type ChannelVerdict, type ChoiceAttribution, type ChoiceExplanation, type ConfidenceStrategy, type Embedder, type EmbeddingCacheOptions, type EmbeddingCacheStats, type EvidenceInput, type ExplainChoiceArgs, type InfluenceScore, type InfluenceScorer, type InfluenceStrategy, type InfluenceStrategyRequirement, type InfluenceWeights, type MarginCandidate, type MarginResult, type PairwiseSimilarityArgs, type PairwiseSimilarityResult, type RankingConfidence, type RankingConfidenceOptions, type ScoreContrastiveInfluenceArgs, type ScoreInfluenceArgs, type ScoreLexicalInfluenceArgs, type ScoreMarginArgs, type SignalScores, type SimilarityItem, type SimilarityPair, type SnippetUnitsOptions, type UnitScore, } from './lib/influence-core/index.js';
|
|
21
21
|
export { callTraceTool, lazyTraceToolpack, NO_COMPLETED_RUN_MESSAGE, TOOLPACK_HARD_CAPS, traceToolpack, type TraceToolpackArtifacts, type TraceToolpackOptions, } from './lib/trace-toolpack/index.js';
|
|
22
22
|
export { buildSelfExplainSkill, buildSelfExplainToolProvider, SelfExplainBinding, traceDebugAgent, type SelfExplainOptions, type TraceDebugAgentOptions, } from './lib/trace-toolpack/index.js';
|
|
23
|
-
export { ablationForSuspect, applyAblations, assembleTrajectory, assignCostVerdicts, bisectCulprits, bucketByAnchors, shortlistEarlyCulprits, walkToRoot, walkTrajectory, buildWriterFrameIndex, DEFAULT_RECENCY_DECAY, classifySuspect, findLoopHeads, CONTEXT_BISECT_DEFAULTS, defaultOutcomeComparator, defaultSuspectClassifier, findDroppedContext, formatContextBugReport, llmCallIdsFromEvents, llmEdgeWeigher, localizeContextBug, probeFlipped, removableSources, rerunWithoutSources, runAblationProbe, runRestorationProbe, stepOutputText, suspectLabel, verdictFor, type AblationRerun, type AblationRunner, type AblationRunStats, type AblationSpec, type AblationTargets, type AblationVerdict, type AblationVerdictKind, type AnchorBucket, type AssembleTrajectoryOptions, type LoopCandidate, type LoopRecallShortlist, type ShortlistEarlyCulpritsOptions, type RootCauseHop, type RootCauseNote, type RootCausePath, type WalkToRootOptions, type BisectCulpritsOptions, type BisectionProbe, type BisectionResult, type CapturedEventLike, type ClassifyContext, type ContextBugArtifacts, type ContextBugReport, type ContextSource, type ContextUnit, type CostRange, type CostStats, type CostVerdict, type DroppedUnit, type EdgePathStep, type LoopFrame, type HonestyFlag, type HonestyFlagKind, type IgnoredSource, type LlmEdgeWeigherHandle, type LlmEdgeWeigherOptions, type LocalizeContextBugOptions, type MissingContextResult, type OutcomeComparator, type QualityTriggerLookup, type RankedParentEdge, type RemovableSource, type RerunWithoutSourcesOptions, type RerunWithoutSourcesResult, type RestorationProbeConfig, type RestorationRerun, type RestorationRunner, type RestoredCandidate, type RunCost, type SimilarityStats, type SliceStats, type Suspect, type SuspectClass, type SuspectClassifier, type SuspectDetail, type SuspectKind, type SuspectSeed, type SyntheticQuestionNode, type Trajectory, type WhatChanged, } from './lib/context-bisect/index.js';
|
|
24
|
-
export { sliceToBacktrackTrace, toBacktrackTrace, type BacktrackCustodyHop, type BacktrackHop, type BacktrackSuspectCard, type BacktrackTrace, type BacktrackTrail, type SliceToBacktrackTraceOptions, type ToBacktrackTraceOptions, } from './lib/context-bisect/index.js';
|
|
23
|
+
export { ablationForSuspect, applyAblations, assembleTrajectory, assignCostVerdicts, bisectCulprits, bucketByAnchors, shortlistEarlyCulprits, walkToRoot, walkTrajectory, buildWriterFrameIndex, joinVariableSlice, traceVariable, DEFAULT_RECENCY_DECAY, classifySuspect, findLoopHeads, CONTEXT_BISECT_DEFAULTS, defaultOutcomeComparator, defaultSuspectClassifier, findDroppedContext, formatContextBugReport, llmCallIdsFromEvents, llmEdgeWeigher, localizeContextBug, probeFlipped, removableSources, rerunWithoutSources, runAblationProbe, runRestorationProbe, stepOutputText, suspectLabel, verdictFor, type AblationRerun, type AblationRunner, type AblationRunStats, type AblationSpec, type AblationTargets, type AblationVerdict, type AblationVerdictKind, type AnchorBucket, type AssembleTrajectoryOptions, type LoopCandidate, type LoopRecallShortlist, type ShortlistEarlyCulpritsOptions, type RootCauseHop, type RootCauseNote, type RootCausePath, type WalkToRootOptions, type BisectCulpritsOptions, type BisectionProbe, type BisectionResult, type CapturedEventLike, type ClassifyContext, type ContextBugArtifacts, type ContextBugReport, type ContextSource, type ContextUnit, type CostRange, type CostStats, type CostVerdict, type DroppedUnit, type EdgePathStep, type LoopFrame, type HonestyFlag, type HonestyFlagKind, type IgnoredSource, type LlmEdgeWeigherHandle, type LlmEdgeWeigherOptions, type LocalizeContextBugOptions, type MissingContextResult, type OutcomeComparator, type QualityTriggerLookup, type RankedParentEdge, type RemovableSource, type RerunWithoutSourcesOptions, type RerunWithoutSourcesResult, type RestorationProbeConfig, type RestorationRerun, type RestorationRunner, type RestoredCandidate, type RunCost, type SimilarityStats, type SliceStats, type Suspect, type SuspectClass, type SuspectClassifier, type SuspectDetail, type SuspectKind, type SuspectSeed, type SyntheticQuestionNode, type Trajectory, type WhatChanged, type AgentKeyMoment, type AgentVariableSlice, type DataflowCoverage, type HopNarrowedBy, type JoinVariableSliceOptions, type TraceVariableOptions, type VariableAblationHook, } from './lib/context-bisect/index.js';
|
|
24
|
+
export { sliceToBacktrackTrace, toBacktrackTrace, variableToBacktrackTrace, type BacktrackCustodyHop, type BacktrackHop, type BacktrackSuspectCard, type BacktrackTrace, type BacktrackTrail, type SliceToBacktrackTraceOptions, type ToBacktrackTraceOptions, type VariableToBacktrackTraceOptions, } from './lib/context-bisect/index.js';
|
|
25
25
|
export { analyzeToolCatalog, catalogFromTools, coerceCatalog, confusabilityText, DEFAULT_CONFUSABILITY_THRESHOLD, DEFAULT_OMISSION_CUES, DEFAULT_WATCH_BAND, DEFAULT_WHEN_CUES, defaultStructuralRules, descriptionRule, differentiationHint, enumInProseRule, formatToolCatalogReport, MOCK_EMBEDDER_CALIBRATION, optionalParamRule, runToolLintCli, saysWhatNotWhenRule, type AnalyzeToolCatalogOptions, type CatalogTool, type ConfusablePairFinding, type DescriptionRuleOptions, type FormatReportOptions, type LintRule, type LintSeverity, type OptionalParamRuleOptions, type PairVerdict, type SaysWhatNotWhenRuleOptions, type SimilarityReport, type StructuralFinding, type ToolCatalogReport, type ToolLintCliIO, } from './lib/tool-lint/index.js';
|
|
26
26
|
export { recordedChat, type ChatFormat, type ChatMessage, type ChatTurn, type ForkOptions, type ForkOrigin, type MakeChatAgent, type ReasonOptions, type RecordedChat, type RecordedChatOptions, type RerunTurnOptions, type SendOptions, } from './lib/recorded-chat/index.js';
|
|
27
27
|
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":"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"}
|