agentfootprint 6.12.0 → 6.14.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/CLAUDE.md +10 -0
- package/dist/core/RunnerBase.js +47 -2
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core-flow/Parallel.js +241 -35
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/esm/core/RunnerBase.js +47 -2
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core-flow/Parallel.js +239 -34
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/events/dispatcher.js +123 -17
- package/dist/esm/events/dispatcher.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/events/dispatcher.js +123 -17
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +43 -2
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/runner.d.ts +31 -4
- package/dist/types/core/runner.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts +154 -3
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/events/dispatcher.d.ts +56 -3
- package/dist/types/events/dispatcher.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -286,10 +286,55 @@ export class RunnerBase {
|
|
|
286
286
|
off(type, listener) {
|
|
287
287
|
this.dispatcher.off(type, listener);
|
|
288
288
|
}
|
|
289
|
-
once(type, listener) {
|
|
290
|
-
return this.dispatcher.once(type, listener);
|
|
289
|
+
once(type, listener, options) {
|
|
290
|
+
return this.dispatcher.once(type, listener, options);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Lifecycle escape hatch — drop EVERY event listener on this runner in
|
|
294
|
+
* one call (typed, domain-wildcard, and `'*'`). Delegates to
|
|
295
|
+
* `EventDispatcher.removeAllListeners()`.
|
|
296
|
+
*
|
|
297
|
+
* For long-lived runners on servers: when you can't thread an
|
|
298
|
+
* AbortSignal or keep every Unsubscribe handle, call this between
|
|
299
|
+
* requests to guarantee zero residual subscriptions. Note it also
|
|
300
|
+
* removes listeners wired by `enable.*` strategies — re-enable after
|
|
301
|
+
* calling if you still want them. Does NOT touch attached recorders
|
|
302
|
+
* (see `attach()` — recorders have their own Unsubscribe).
|
|
303
|
+
*/
|
|
304
|
+
removeAllListeners() {
|
|
305
|
+
this.dispatcher.removeAllListeners();
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Diagnostic — how many event listeners this runner currently retains.
|
|
309
|
+
* No argument = total across all buckets (the leak-detection number);
|
|
310
|
+
* with a subscription key = that bucket only. Delegates to
|
|
311
|
+
* `EventDispatcher.listenerCount()`.
|
|
312
|
+
*/
|
|
313
|
+
listenerCount(type) {
|
|
314
|
+
return this.dispatcher.listenerCount(type);
|
|
291
315
|
}
|
|
292
316
|
// ─── Recorder attach ───────────────────────────────────────────
|
|
317
|
+
/**
|
|
318
|
+
* Attach a footprintjs CombinedRecorder to observe every subsequent run.
|
|
319
|
+
*
|
|
320
|
+
* LIFECYCLE CONTRACT (who owns cleanup):
|
|
321
|
+
* - Attached recorders live for the RUNNER's lifetime, not a run's.
|
|
322
|
+
* NOTHING auto-expires per-run — a recorder attached once observes
|
|
323
|
+
* every later `run()` until you call the returned Unsubscribe.
|
|
324
|
+
* - The CALLER owns cleanup. Keep the Unsubscribe and call it when the
|
|
325
|
+
* observer's life ends (request scope, UI unmount, test teardown).
|
|
326
|
+
* - Event listeners (`on()` / `once()`) follow the same rule, with two
|
|
327
|
+
* extra outs: pass `{ signal }` for AbortSignal auto-cleanup, or call
|
|
328
|
+
* `removeAllListeners()` to bulk-drop listeners (listeners ONLY —
|
|
329
|
+
* recorders are not affected).
|
|
330
|
+
* - `once()` listeners are the only self-expiring subscription.
|
|
331
|
+
*
|
|
332
|
+
* attach() is NOT idempotent: every call pushes another entry. (At run
|
|
333
|
+
* time footprintjs's executor dedupes recorders by ID, so same-ID
|
|
334
|
+
* duplicates won't double-fire — but the runner-side array still
|
|
335
|
+
* grows.) Attaching in a per-run loop without detaching is the classic
|
|
336
|
+
* server leak; attach once, or detach per-run.
|
|
337
|
+
*/
|
|
293
338
|
attach(recorder) {
|
|
294
339
|
this.attachedRecorders.push(recorder);
|
|
295
340
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../../src/core/RunnerBase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RunnerBase.js","sourceRoot":"","sources":["../../../src/core/RunnerBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { FlowChartExecutor, flowChart, isFlowEvent, } from 'footprintjs';
|
|
14
14
|
import { RunnerBase, makeRunId } from '../core/RunnerBase.js';
|
|
15
|
+
import { buildEventMeta } from '../bridge/eventMeta.js';
|
|
15
16
|
import { ContextRecorder } from '../recorders/core/ContextRecorder.js';
|
|
16
17
|
import { streamRecorder } from '../recorders/core/StreamRecorder.js';
|
|
17
18
|
import { agentRecorder } from '../recorders/core/AgentRecorder.js';
|
|
@@ -29,7 +30,7 @@ export class Parallel extends RunnerBase {
|
|
|
29
30
|
compositionPath: [],
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
32
|
-
* Per-branch first-error
|
|
33
|
+
* Per-branch first-error records captured during the current run.
|
|
33
34
|
*
|
|
34
35
|
* Filled by an internal CombinedRecorder attached in `createExecutor()`
|
|
35
36
|
* that observes footprintjs `FlowErrorEvent`s. Errors are keyed by the
|
|
@@ -38,10 +39,33 @@ export class Parallel extends RunnerBase {
|
|
|
38
39
|
* `try/catch` semantics that preceded the v0.x architectural refactor.
|
|
39
40
|
*
|
|
40
41
|
* Read by the Merge stage to populate strict-mode error messages and
|
|
41
|
-
* tolerant-mode `BranchOutcome.error` strings
|
|
42
|
-
*
|
|
42
|
+
* tolerant-mode `BranchOutcome.error` strings, and by
|
|
43
|
+
* `rethrowWithBranchAttribution()` to correlate fail-fast rejections by
|
|
44
|
+
* error IDENTITY (`record.raw`). Cleared at the start of every `run()` /
|
|
45
|
+
* `resume()`; writes are epoch-guarded (see `runEpoch`) so abandoned
|
|
46
|
+
* fail-fast stragglers from a dead run cannot contaminate the live one.
|
|
43
47
|
*/
|
|
44
48
|
branchErrors = new Map();
|
|
49
|
+
/**
|
|
50
|
+
* Monotonic run token — incremented at every `createExecutor()` (i.e.
|
|
51
|
+
* each `run()` / `resume()`). The branch-error recorder captures the
|
|
52
|
+
* epoch current at attach time and only writes while it is STILL
|
|
53
|
+
* current. Under fail-fast, abandoned siblings of a rejected run keep
|
|
54
|
+
* executing in the background; without this guard a late failure from
|
|
55
|
+
* run N would land in run N+1's `branchErrors` (first-error-wins would
|
|
56
|
+
* then block run N+1's real error).
|
|
57
|
+
*/
|
|
58
|
+
runEpoch = 0;
|
|
59
|
+
/** Ids of branches declared `{ required: true }`. See `ParallelBranchOptions.required`. */
|
|
60
|
+
requiredIds;
|
|
61
|
+
/**
|
|
62
|
+
* True when EVERY branch is required — the fork node carries
|
|
63
|
+
* footprintjs's `failFast` flag, so the first branch failure rejects
|
|
64
|
+
* `executor.run()` with the RAW branch error before the Merge stage
|
|
65
|
+
* can attribute it. `run()`/`resume()` re-attribute via
|
|
66
|
+
* `rethrowWithBranchAttribution()`.
|
|
67
|
+
*/
|
|
68
|
+
failFastEngaged;
|
|
45
69
|
constructor(opts, branches, merge) {
|
|
46
70
|
super();
|
|
47
71
|
this.opts = opts;
|
|
@@ -52,6 +76,9 @@ export class Parallel extends RunnerBase {
|
|
|
52
76
|
}
|
|
53
77
|
this.branches = branches;
|
|
54
78
|
this.merge = merge;
|
|
79
|
+
// Set BEFORE initChart — buildChart reads both fields.
|
|
80
|
+
this.requiredIds = new Set(branches.filter((b) => b.required === true).map((b) => b.id));
|
|
81
|
+
this.failFastEngaged = branches.every((b) => b.required === true);
|
|
55
82
|
// Eager chart construction — see `RunnerBase.initChart` JSDoc.
|
|
56
83
|
// Safe: the merge stage's closure captures `this.branchErrors`
|
|
57
84
|
// (an instance field initialized at declaration time, line 130),
|
|
@@ -99,18 +126,109 @@ export class Parallel extends RunnerBase {
|
|
|
99
126
|
async run(input, options) {
|
|
100
127
|
const executor = this.createExecutor();
|
|
101
128
|
this.lastExecutor = executor;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
129
|
+
let result;
|
|
130
|
+
try {
|
|
131
|
+
result = await executor.run({
|
|
132
|
+
input: { message: input.message },
|
|
133
|
+
...(options ?? {}),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
this.rethrowWithBranchAttribution(err);
|
|
138
|
+
}
|
|
106
139
|
return this.finalizeResult(executor, result);
|
|
107
140
|
}
|
|
108
141
|
async resume(checkpoint, input, options) {
|
|
109
142
|
this.emitPauseResume(checkpoint, input);
|
|
110
143
|
const executor = this.createExecutor();
|
|
111
|
-
|
|
144
|
+
let result;
|
|
145
|
+
try {
|
|
146
|
+
result = await executor.resume(checkpoint, input, options);
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
this.rethrowWithBranchAttribution(err);
|
|
150
|
+
}
|
|
112
151
|
return this.finalizeResult(executor, result);
|
|
113
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Re-attribute a fail-fast abort to its originating branch.
|
|
155
|
+
*
|
|
156
|
+
* When `failFastEngaged` (every branch required), a failing branch
|
|
157
|
+
* rejects `executor.run()` with the RAW branch error — the Merge stage,
|
|
158
|
+
* which normally attributes failures by branch id, never runs. The
|
|
159
|
+
* internal `parallel-branch-errors` recorder DID see the failure
|
|
160
|
+
* (FlowRecorder.onError fires before the fork rejects), so correlate
|
|
161
|
+
* the rejection against that map and wrap it in a branch-naming error.
|
|
162
|
+
* Also emit the `composition.exit` (status `'err'`) the aborted Merge
|
|
163
|
+
* stage could not, preserving enter/exit pairing for dashboards.
|
|
164
|
+
*
|
|
165
|
+
* Correlation is by error IDENTITY first (`record.raw === err` — the
|
|
166
|
+
* recorder stores the ORIGINAL error object from
|
|
167
|
+
* `FlowErrorEvent.structuredError.raw`), with bare-message equality as
|
|
168
|
+
* a fallback for throws whose identity doesn't survive an engine
|
|
169
|
+
* boundary (e.g. non-Error values). Identity matching is what makes
|
|
170
|
+
* attribution work for ANY named Error subclass — `TypeError`, provider
|
|
171
|
+
* SDK errors like `RateLimitError`, etc. — where message-only matching
|
|
172
|
+
* would silently fail against name-prefixed strings.
|
|
173
|
+
*
|
|
174
|
+
* Rejections that don't correlate (engine errors, merge-stage errors,
|
|
175
|
+
* non-fail-fast runs) are rethrown untouched.
|
|
176
|
+
*
|
|
177
|
+
* Only engaged on the `run()` / `resume()` path — a Parallel chart
|
|
178
|
+
* MOUNTED into an outer composition rejects raw (see
|
|
179
|
+
* `ParallelBranchOptions.required` JSDoc, "Nested-mounting limitation").
|
|
180
|
+
*/
|
|
181
|
+
rethrowWithBranchAttribution(err) {
|
|
182
|
+
if (this.failFastEngaged) {
|
|
183
|
+
const match = this.correlateBranchError(err);
|
|
184
|
+
if (match !== undefined) {
|
|
185
|
+
const [branchId, recorded] = match;
|
|
186
|
+
this.emitFailFastAbortExit();
|
|
187
|
+
throw new Error(`Parallel '${this.id}': required branch '${branchId}' failed: ${recorded.message}`, {
|
|
188
|
+
cause: err,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
throw err;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Find the branch whose recorded first error corresponds to `err`:
|
|
196
|
+
* identity match on the original thrown value first, bare-message
|
|
197
|
+
* equality second. Returns `undefined` when nothing correlates.
|
|
198
|
+
*/
|
|
199
|
+
correlateBranchError(err) {
|
|
200
|
+
for (const entry of this.branchErrors) {
|
|
201
|
+
if (entry[1].raw === err)
|
|
202
|
+
return entry;
|
|
203
|
+
}
|
|
204
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
205
|
+
for (const entry of this.branchErrors) {
|
|
206
|
+
if (entry[1].message === message)
|
|
207
|
+
return entry;
|
|
208
|
+
}
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Synthetic `composition.exit` for fail-fast aborts (no stage scope to
|
|
213
|
+
* emit from). Meta is built from the SAME run context the paired
|
|
214
|
+
* `composition.enter` used (`buildEventMeta` + `currentRunContext`), so
|
|
215
|
+
* the pair shares one real `runId` — Convention 4 run-scoping. Only the
|
|
216
|
+
* `runtimeStageId` degrades (`'unknown#0'`): the abort happens outside
|
|
217
|
+
* any stage, so there is no stage origin to attach.
|
|
218
|
+
*/
|
|
219
|
+
emitFailFastAbortExit() {
|
|
220
|
+
this.dispatcher.dispatch({
|
|
221
|
+
type: 'agentfootprint.composition.exit',
|
|
222
|
+
payload: {
|
|
223
|
+
kind: 'Parallel',
|
|
224
|
+
id: this.id,
|
|
225
|
+
name: this.name,
|
|
226
|
+
status: 'err',
|
|
227
|
+
durationMs: Date.now() - this.currentRunContext.runStartMs,
|
|
228
|
+
},
|
|
229
|
+
meta: buildEventMeta(undefined, this.currentRunContext),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
114
232
|
createExecutor() {
|
|
115
233
|
this.currentRunContext = {
|
|
116
234
|
runStartMs: Date.now(),
|
|
@@ -120,6 +238,10 @@ export class Parallel extends RunnerBase {
|
|
|
120
238
|
// Reset per-run branch-error capture. Fork children now mount the
|
|
121
239
|
// branch runner's own chart (no try/catch wrapper); errors are
|
|
122
240
|
// captured via FlowRecorder.onError correlation by subflow path.
|
|
241
|
+
// The epoch bump invalidates recorders of any PREVIOUS run whose
|
|
242
|
+
// abandoned fail-fast siblings are still executing — their late
|
|
243
|
+
// errors must not land in this run's map.
|
|
244
|
+
this.runEpoch += 1;
|
|
123
245
|
this.branchErrors.clear();
|
|
124
246
|
// Reuse the cached chart built at constructor time.
|
|
125
247
|
const executor = new FlowChartExecutor(this.getSpec());
|
|
@@ -129,7 +251,7 @@ export class Parallel extends RunnerBase {
|
|
|
129
251
|
executor.attachCombinedRecorder(streamRecorder({ dispatcher, getRunContext: getRunCtx }));
|
|
130
252
|
executor.attachCombinedRecorder(agentRecorder({ dispatcher, getRunContext: getRunCtx }));
|
|
131
253
|
executor.attachCombinedRecorder(compositionRecorder({ dispatcher, getRunContext: getRunCtx }));
|
|
132
|
-
executor.attachCombinedRecorder(this.makeBranchErrorRecorder());
|
|
254
|
+
executor.attachCombinedRecorder(this.makeBranchErrorRecorder(this.runEpoch));
|
|
133
255
|
for (const r of this.attachedRecorders)
|
|
134
256
|
executor.attachCombinedRecorder(r);
|
|
135
257
|
return executor;
|
|
@@ -146,12 +268,20 @@ export class Parallel extends RunnerBase {
|
|
|
146
268
|
*
|
|
147
269
|
* Only the FIRST error per branch is kept. Errors fired outside any
|
|
148
270
|
* branch (e.g., a Merge-stage error) are ignored.
|
|
271
|
+
*
|
|
272
|
+
* `epoch` is the run token current at attach time. Under fail-fast, a
|
|
273
|
+
* rejected run's abandoned siblings keep executing in the background —
|
|
274
|
+
* THIS recorder (attached to that dead run's executor) may still
|
|
275
|
+
* receive their late `onError` events while a NEW run is live. The
|
|
276
|
+
* epoch check drops those writes so the live run's map stays clean.
|
|
149
277
|
*/
|
|
150
|
-
makeBranchErrorRecorder() {
|
|
278
|
+
makeBranchErrorRecorder(epoch) {
|
|
151
279
|
const branchIds = new Set(this.branches.map((b) => b.id));
|
|
152
280
|
return {
|
|
153
281
|
id: 'parallel-branch-errors',
|
|
154
282
|
onError: (event) => {
|
|
283
|
+
if (epoch !== this.runEpoch)
|
|
284
|
+
return; // straggler from a dead run
|
|
155
285
|
if (!isFlowEvent(event))
|
|
156
286
|
return;
|
|
157
287
|
const ctx = event.traversalContext;
|
|
@@ -169,15 +299,19 @@ export class Parallel extends RunnerBase {
|
|
|
169
299
|
if (branchId === undefined || !branchIds.has(branchId))
|
|
170
300
|
return;
|
|
171
301
|
if (!this.branchErrors.has(branchId)) {
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
302
|
+
// `structuredError` preserves both the BARE message (no
|
|
303
|
+
// `TypeError:` / `RateLimitError:` name prefix — consumers
|
|
304
|
+
// expect the original `throw new X(msg)` reason exactly) and
|
|
305
|
+
// the ORIGINAL error object (`raw`) used for identity-based
|
|
306
|
+
// fail-fast re-attribution. Fall back to the flat
|
|
307
|
+
// `event.message` (stripping the standard `Error: ` prefix)
|
|
308
|
+
// only if a future footprintjs shape omits `structuredError`.
|
|
309
|
+
const structured = event.structuredError;
|
|
310
|
+
const message = structured?.message ??
|
|
311
|
+
(event.message.startsWith('Error: ')
|
|
312
|
+
? event.message.slice('Error: '.length)
|
|
313
|
+
: event.message);
|
|
314
|
+
this.branchErrors.set(branchId, { message, raw: structured?.raw });
|
|
181
315
|
}
|
|
182
316
|
},
|
|
183
317
|
};
|
|
@@ -241,14 +375,18 @@ export class Parallel extends RunnerBase {
|
|
|
241
375
|
// detects this via `branches.map(b => b.id) \ keys(branchResults)`
|
|
242
376
|
// and either throws (strict mode) or synthesizes `BranchOutcome`
|
|
243
377
|
// entries for the tolerant `outcomes-fn` merge.
|
|
378
|
+
//
|
|
379
|
+
// The outputMapper itself is wrapped (`wrapBranchOutputMapper`) so a
|
|
380
|
+
// MAPPER throw is also attributed to its branch — see the helper's
|
|
381
|
+
// JSDoc for why footprintjs can't attribute that class on its own.
|
|
244
382
|
for (const branch of branches) {
|
|
245
383
|
builder = builder.addSubFlowChart(branch.id, branch.runner.getSpec(), branch.name, {
|
|
246
384
|
inputMapper: (parent) => ({ message: parent.userMessage ?? '' }),
|
|
247
|
-
outputMapper: (sfOutput) => ({
|
|
385
|
+
outputMapper: wrapBranchOutputMapper(branch.id, this.branchErrors, (sfOutput) => ({
|
|
248
386
|
branchResults: {
|
|
249
387
|
[branch.id]: typeof sfOutput === 'string' ? sfOutput : '',
|
|
250
388
|
},
|
|
251
|
-
}),
|
|
389
|
+
})),
|
|
252
390
|
});
|
|
253
391
|
}
|
|
254
392
|
// Merge stage — runs after all fork children complete (join point).
|
|
@@ -256,6 +394,7 @@ export class Parallel extends RunnerBase {
|
|
|
256
394
|
// `parallel-branch-errors` recorder) so per-branch error messages
|
|
257
395
|
// survive subflow boundary swallowing in footprintjs.
|
|
258
396
|
const branchErrors = this.branchErrors;
|
|
397
|
+
const requiredIds = this.requiredIds;
|
|
259
398
|
const mergeStage = async (scope) => {
|
|
260
399
|
const results = scope.branchResults ?? {};
|
|
261
400
|
// Detect failures by absence: any expected branch id missing
|
|
@@ -263,18 +402,19 @@ export class Parallel extends RunnerBase {
|
|
|
263
402
|
// fire — i.e., one whose subflow errored. The specific error
|
|
264
403
|
// message comes from the recorder-captured `branchErrors` map.
|
|
265
404
|
//
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
//
|
|
269
|
-
// `parentContext.addError('outputMapperError', ...)`)
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
// `branchErrors`
|
|
273
|
-
//
|
|
274
|
-
//
|
|
405
|
+
// footprintjs does NOT fire `FlowRecorder.onError` for errors
|
|
406
|
+
// thrown INSIDE `applyOutputMapping` (those are caught separately
|
|
407
|
+
// in `SubflowExecutor` and routed to
|
|
408
|
+
// `parentContext.addError('outputMapperError', ...)`), so the
|
|
409
|
+
// recorder alone would miss mapper-class failures. The
|
|
410
|
+
// `wrapBranchOutputMapper` wrapper on every branch mount records
|
|
411
|
+
// those into `branchErrors` before rethrowing, so both strict-mode
|
|
412
|
+
// aggregation and tolerant-mode `BranchOutcome.error` print the
|
|
413
|
+
// real message instead of `unknown error`.
|
|
275
414
|
const failedIds = branches.map((b) => b.id).filter((id) => !(id in results));
|
|
276
415
|
const isTolerant = merge.kind === 'outcomes-fn';
|
|
277
|
-
|
|
416
|
+
const failedRequired = failedIds.filter((id) => requiredIds.has(id));
|
|
417
|
+
if (failedIds.length > 0 && (!isTolerant || failedRequired.length > 0)) {
|
|
278
418
|
typedEmit(scope, 'agentfootprint.composition.exit', {
|
|
279
419
|
kind: 'Parallel',
|
|
280
420
|
id: compositionId,
|
|
@@ -282,8 +422,18 @@ export class Parallel extends RunnerBase {
|
|
|
282
422
|
status: 'err',
|
|
283
423
|
durationMs: Date.now() - this.currentRunContext.runStartMs,
|
|
284
424
|
});
|
|
425
|
+
// A REQUIRED branch failed under a tolerant merge: required
|
|
426
|
+
// overrides tolerance — reject the run, naming the branch(es).
|
|
427
|
+
// (Strict merges below already reject on ANY failure, required
|
|
428
|
+
// or not, with the pre-existing aggregate message.)
|
|
429
|
+
if (isTolerant) {
|
|
430
|
+
const details = failedRequired
|
|
431
|
+
.map((id) => ` ${id}: ${branchErrors.get(id)?.message ?? 'unknown error'}`)
|
|
432
|
+
.join('\n');
|
|
433
|
+
throw new Error(`Parallel '${compositionId}': ${failedRequired.length} required branch(es) failed:\n${details}`);
|
|
434
|
+
}
|
|
285
435
|
const details = failedIds
|
|
286
|
-
.map((id) => ` ${id}: ${branchErrors.get(id) ?? 'unknown error'}`)
|
|
436
|
+
.map((id) => ` ${id}: ${branchErrors.get(id)?.message ?? 'unknown error'}`)
|
|
287
437
|
.join('\n');
|
|
288
438
|
throw new Error(`Parallel '${compositionId}': ${failedIds.length} branch(es) failed:\n${details}\n` +
|
|
289
439
|
`(use .mergeOutcomesWithFn() for tolerant-mode partial-failure handling)`);
|
|
@@ -311,7 +461,7 @@ export class Parallel extends RunnerBase {
|
|
|
311
461
|
else {
|
|
312
462
|
outcomes[b.id] = {
|
|
313
463
|
ok: false,
|
|
314
|
-
error: branchErrors.get(b.id) ?? 'unknown error',
|
|
464
|
+
error: branchErrors.get(b.id)?.message ?? 'unknown error',
|
|
315
465
|
};
|
|
316
466
|
}
|
|
317
467
|
}
|
|
@@ -351,9 +501,63 @@ export class Parallel extends RunnerBase {
|
|
|
351
501
|
return merged;
|
|
352
502
|
};
|
|
353
503
|
builder = builder.addFunction('Merge', mergeStage, 'merge', 'Parallel merge');
|
|
354
|
-
|
|
504
|
+
const chart = builder.build();
|
|
505
|
+
// Required-branch fail-fast: when EVERY branch is required, engage
|
|
506
|
+
// footprintjs's fork-level `failFast` (`Promise.all` — first branch
|
|
507
|
+
// error rejects the whole run, aborting before the Merge join).
|
|
508
|
+
//
|
|
509
|
+
// The fan-out node here is the SEED node — stacked `addSubFlowChart`
|
|
510
|
+
// calls fork from the builder cursor, which is the chart root.
|
|
511
|
+
// footprintjs only exposes a `failFast` option on its selector/list
|
|
512
|
+
// builders, so for a plain stacked-subflow fork we stamp the public
|
|
513
|
+
// `StageNode.failFast` field on the built chart's root directly
|
|
514
|
+
// (the exact field `ChildrenExecutor.executeNodeChildren` reads).
|
|
515
|
+
//
|
|
516
|
+
// Deliberately NOT engaged for a MIXED required/optional set:
|
|
517
|
+
// fork-level failFast is all-or-nothing, so an OPTIONAL sibling's
|
|
518
|
+
// throw would also abort the run. Mixed sets are enforced at the
|
|
519
|
+
// Merge join instead (see `mergeStage`).
|
|
520
|
+
if (this.failFastEngaged) {
|
|
521
|
+
chart.root.failFast = true;
|
|
522
|
+
}
|
|
523
|
+
return chart;
|
|
355
524
|
}
|
|
356
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* Wrap a branch's `outputMapper` so a mapper throw is ATTRIBUTED to its
|
|
528
|
+
* branch before footprintjs swallows it.
|
|
529
|
+
*
|
|
530
|
+
* footprintjs's `SubflowExecutor` catches outputMapper errors into
|
|
531
|
+
* `parentContext.addError('outputMapperError', ...)` WITHOUT firing
|
|
532
|
+
* `FlowRecorder.onError` — so Parallel's internal `parallel-branch-errors`
|
|
533
|
+
* recorder never sees them, and the Merge stage would fall back to
|
|
534
|
+
* `'unknown error'` for the missing branch id. Recording into the
|
|
535
|
+
* branch-error map here (first error per branch wins, mirroring the
|
|
536
|
+
* recorder's semantics) closes that attribution gap. The error is then
|
|
537
|
+
* RETHROWN so footprintjs's existing bookkeeping stays untouched: the
|
|
538
|
+
* `outputMapperError` debug entry is still written and the branch id is
|
|
539
|
+
* still absent from `branchResults` (which is how the Merge stage detects
|
|
540
|
+
* the failure).
|
|
541
|
+
*
|
|
542
|
+
* @internal Exported for direct unit testing — not part of the public API
|
|
543
|
+
* (not re-exported from the package barrel).
|
|
544
|
+
*/
|
|
545
|
+
export function wrapBranchOutputMapper(branchId, branchErrors, inner) {
|
|
546
|
+
return (sfOutput) => {
|
|
547
|
+
try {
|
|
548
|
+
return inner(sfOutput);
|
|
549
|
+
}
|
|
550
|
+
catch (err) {
|
|
551
|
+
if (!branchErrors.has(branchId)) {
|
|
552
|
+
branchErrors.set(branchId, {
|
|
553
|
+
message: err instanceof Error ? err.message : String(err),
|
|
554
|
+
raw: err,
|
|
555
|
+
});
|
|
556
|
+
}
|
|
557
|
+
throw err;
|
|
558
|
+
}
|
|
559
|
+
};
|
|
560
|
+
}
|
|
357
561
|
/** Fluent builder. Requires at least 2 branches + one merge strategy. */
|
|
358
562
|
export class ParallelBuilder {
|
|
359
563
|
opts;
|
|
@@ -395,6 +599,7 @@ export class ParallelBuilder {
|
|
|
395
599
|
...(opts.groupTranslator !== undefined && {
|
|
396
600
|
groupTranslator: opts.groupTranslator,
|
|
397
601
|
}),
|
|
602
|
+
...(opts.required !== undefined && { required: opts.required }),
|
|
398
603
|
};
|
|
399
604
|
this.branches.push(entry);
|
|
400
605
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parallel.js","sourceRoot":"","sources":["../../../src/core-flow/Parallel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Parallel.js","sourceRoot":"","sources":["../../../src/core-flow/Parallel.ts"],"names":[],"mappings":"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"}
|