agentfootprint 6.12.0 → 6.13.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/dist/core-flow/Parallel.js +241 -35
- package/dist/core-flow/Parallel.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/index.js.map +1 -1
- package/dist/index.js.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/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -12,9 +12,10 @@
|
|
|
12
12
|
* (via compositionRecorder).
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ParallelBuilder = exports.Parallel = void 0;
|
|
15
|
+
exports.ParallelBuilder = exports.wrapBranchOutputMapper = exports.Parallel = void 0;
|
|
16
16
|
const footprintjs_1 = require("footprintjs");
|
|
17
17
|
const RunnerBase_js_1 = require("../core/RunnerBase.js");
|
|
18
|
+
const eventMeta_js_1 = require("../bridge/eventMeta.js");
|
|
18
19
|
const ContextRecorder_js_1 = require("../recorders/core/ContextRecorder.js");
|
|
19
20
|
const StreamRecorder_js_1 = require("../recorders/core/StreamRecorder.js");
|
|
20
21
|
const AgentRecorder_js_1 = require("../recorders/core/AgentRecorder.js");
|
|
@@ -32,7 +33,7 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
32
33
|
compositionPath: [],
|
|
33
34
|
};
|
|
34
35
|
/**
|
|
35
|
-
* Per-branch first-error
|
|
36
|
+
* Per-branch first-error records captured during the current run.
|
|
36
37
|
*
|
|
37
38
|
* Filled by an internal CombinedRecorder attached in `createExecutor()`
|
|
38
39
|
* that observes footprintjs `FlowErrorEvent`s. Errors are keyed by the
|
|
@@ -41,10 +42,33 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
41
42
|
* `try/catch` semantics that preceded the v0.x architectural refactor.
|
|
42
43
|
*
|
|
43
44
|
* Read by the Merge stage to populate strict-mode error messages and
|
|
44
|
-
* tolerant-mode `BranchOutcome.error` strings
|
|
45
|
-
*
|
|
45
|
+
* tolerant-mode `BranchOutcome.error` strings, and by
|
|
46
|
+
* `rethrowWithBranchAttribution()` to correlate fail-fast rejections by
|
|
47
|
+
* error IDENTITY (`record.raw`). Cleared at the start of every `run()` /
|
|
48
|
+
* `resume()`; writes are epoch-guarded (see `runEpoch`) so abandoned
|
|
49
|
+
* fail-fast stragglers from a dead run cannot contaminate the live one.
|
|
46
50
|
*/
|
|
47
51
|
branchErrors = new Map();
|
|
52
|
+
/**
|
|
53
|
+
* Monotonic run token — incremented at every `createExecutor()` (i.e.
|
|
54
|
+
* each `run()` / `resume()`). The branch-error recorder captures the
|
|
55
|
+
* epoch current at attach time and only writes while it is STILL
|
|
56
|
+
* current. Under fail-fast, abandoned siblings of a rejected run keep
|
|
57
|
+
* executing in the background; without this guard a late failure from
|
|
58
|
+
* run N would land in run N+1's `branchErrors` (first-error-wins would
|
|
59
|
+
* then block run N+1's real error).
|
|
60
|
+
*/
|
|
61
|
+
runEpoch = 0;
|
|
62
|
+
/** Ids of branches declared `{ required: true }`. See `ParallelBranchOptions.required`. */
|
|
63
|
+
requiredIds;
|
|
64
|
+
/**
|
|
65
|
+
* True when EVERY branch is required — the fork node carries
|
|
66
|
+
* footprintjs's `failFast` flag, so the first branch failure rejects
|
|
67
|
+
* `executor.run()` with the RAW branch error before the Merge stage
|
|
68
|
+
* can attribute it. `run()`/`resume()` re-attribute via
|
|
69
|
+
* `rethrowWithBranchAttribution()`.
|
|
70
|
+
*/
|
|
71
|
+
failFastEngaged;
|
|
48
72
|
constructor(opts, branches, merge) {
|
|
49
73
|
super();
|
|
50
74
|
this.opts = opts;
|
|
@@ -55,6 +79,9 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
55
79
|
}
|
|
56
80
|
this.branches = branches;
|
|
57
81
|
this.merge = merge;
|
|
82
|
+
// Set BEFORE initChart — buildChart reads both fields.
|
|
83
|
+
this.requiredIds = new Set(branches.filter((b) => b.required === true).map((b) => b.id));
|
|
84
|
+
this.failFastEngaged = branches.every((b) => b.required === true);
|
|
58
85
|
// Eager chart construction — see `RunnerBase.initChart` JSDoc.
|
|
59
86
|
// Safe: the merge stage's closure captures `this.branchErrors`
|
|
60
87
|
// (an instance field initialized at declaration time, line 130),
|
|
@@ -102,18 +129,109 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
102
129
|
async run(input, options) {
|
|
103
130
|
const executor = this.createExecutor();
|
|
104
131
|
this.lastExecutor = executor;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
132
|
+
let result;
|
|
133
|
+
try {
|
|
134
|
+
result = await executor.run({
|
|
135
|
+
input: { message: input.message },
|
|
136
|
+
...(options ?? {}),
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
this.rethrowWithBranchAttribution(err);
|
|
141
|
+
}
|
|
109
142
|
return this.finalizeResult(executor, result);
|
|
110
143
|
}
|
|
111
144
|
async resume(checkpoint, input, options) {
|
|
112
145
|
this.emitPauseResume(checkpoint, input);
|
|
113
146
|
const executor = this.createExecutor();
|
|
114
|
-
|
|
147
|
+
let result;
|
|
148
|
+
try {
|
|
149
|
+
result = await executor.resume(checkpoint, input, options);
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
this.rethrowWithBranchAttribution(err);
|
|
153
|
+
}
|
|
115
154
|
return this.finalizeResult(executor, result);
|
|
116
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Re-attribute a fail-fast abort to its originating branch.
|
|
158
|
+
*
|
|
159
|
+
* When `failFastEngaged` (every branch required), a failing branch
|
|
160
|
+
* rejects `executor.run()` with the RAW branch error — the Merge stage,
|
|
161
|
+
* which normally attributes failures by branch id, never runs. The
|
|
162
|
+
* internal `parallel-branch-errors` recorder DID see the failure
|
|
163
|
+
* (FlowRecorder.onError fires before the fork rejects), so correlate
|
|
164
|
+
* the rejection against that map and wrap it in a branch-naming error.
|
|
165
|
+
* Also emit the `composition.exit` (status `'err'`) the aborted Merge
|
|
166
|
+
* stage could not, preserving enter/exit pairing for dashboards.
|
|
167
|
+
*
|
|
168
|
+
* Correlation is by error IDENTITY first (`record.raw === err` — the
|
|
169
|
+
* recorder stores the ORIGINAL error object from
|
|
170
|
+
* `FlowErrorEvent.structuredError.raw`), with bare-message equality as
|
|
171
|
+
* a fallback for throws whose identity doesn't survive an engine
|
|
172
|
+
* boundary (e.g. non-Error values). Identity matching is what makes
|
|
173
|
+
* attribution work for ANY named Error subclass — `TypeError`, provider
|
|
174
|
+
* SDK errors like `RateLimitError`, etc. — where message-only matching
|
|
175
|
+
* would silently fail against name-prefixed strings.
|
|
176
|
+
*
|
|
177
|
+
* Rejections that don't correlate (engine errors, merge-stage errors,
|
|
178
|
+
* non-fail-fast runs) are rethrown untouched.
|
|
179
|
+
*
|
|
180
|
+
* Only engaged on the `run()` / `resume()` path — a Parallel chart
|
|
181
|
+
* MOUNTED into an outer composition rejects raw (see
|
|
182
|
+
* `ParallelBranchOptions.required` JSDoc, "Nested-mounting limitation").
|
|
183
|
+
*/
|
|
184
|
+
rethrowWithBranchAttribution(err) {
|
|
185
|
+
if (this.failFastEngaged) {
|
|
186
|
+
const match = this.correlateBranchError(err);
|
|
187
|
+
if (match !== undefined) {
|
|
188
|
+
const [branchId, recorded] = match;
|
|
189
|
+
this.emitFailFastAbortExit();
|
|
190
|
+
throw new Error(`Parallel '${this.id}': required branch '${branchId}' failed: ${recorded.message}`, {
|
|
191
|
+
cause: err,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
throw err;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Find the branch whose recorded first error corresponds to `err`:
|
|
199
|
+
* identity match on the original thrown value first, bare-message
|
|
200
|
+
* equality second. Returns `undefined` when nothing correlates.
|
|
201
|
+
*/
|
|
202
|
+
correlateBranchError(err) {
|
|
203
|
+
for (const entry of this.branchErrors) {
|
|
204
|
+
if (entry[1].raw === err)
|
|
205
|
+
return entry;
|
|
206
|
+
}
|
|
207
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
208
|
+
for (const entry of this.branchErrors) {
|
|
209
|
+
if (entry[1].message === message)
|
|
210
|
+
return entry;
|
|
211
|
+
}
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Synthetic `composition.exit` for fail-fast aborts (no stage scope to
|
|
216
|
+
* emit from). Meta is built from the SAME run context the paired
|
|
217
|
+
* `composition.enter` used (`buildEventMeta` + `currentRunContext`), so
|
|
218
|
+
* the pair shares one real `runId` — Convention 4 run-scoping. Only the
|
|
219
|
+
* `runtimeStageId` degrades (`'unknown#0'`): the abort happens outside
|
|
220
|
+
* any stage, so there is no stage origin to attach.
|
|
221
|
+
*/
|
|
222
|
+
emitFailFastAbortExit() {
|
|
223
|
+
this.dispatcher.dispatch({
|
|
224
|
+
type: 'agentfootprint.composition.exit',
|
|
225
|
+
payload: {
|
|
226
|
+
kind: 'Parallel',
|
|
227
|
+
id: this.id,
|
|
228
|
+
name: this.name,
|
|
229
|
+
status: 'err',
|
|
230
|
+
durationMs: Date.now() - this.currentRunContext.runStartMs,
|
|
231
|
+
},
|
|
232
|
+
meta: (0, eventMeta_js_1.buildEventMeta)(undefined, this.currentRunContext),
|
|
233
|
+
});
|
|
234
|
+
}
|
|
117
235
|
createExecutor() {
|
|
118
236
|
this.currentRunContext = {
|
|
119
237
|
runStartMs: Date.now(),
|
|
@@ -123,6 +241,10 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
123
241
|
// Reset per-run branch-error capture. Fork children now mount the
|
|
124
242
|
// branch runner's own chart (no try/catch wrapper); errors are
|
|
125
243
|
// captured via FlowRecorder.onError correlation by subflow path.
|
|
244
|
+
// The epoch bump invalidates recorders of any PREVIOUS run whose
|
|
245
|
+
// abandoned fail-fast siblings are still executing — their late
|
|
246
|
+
// errors must not land in this run's map.
|
|
247
|
+
this.runEpoch += 1;
|
|
126
248
|
this.branchErrors.clear();
|
|
127
249
|
// Reuse the cached chart built at constructor time.
|
|
128
250
|
const executor = new footprintjs_1.FlowChartExecutor(this.getSpec());
|
|
@@ -132,7 +254,7 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
132
254
|
executor.attachCombinedRecorder((0, StreamRecorder_js_1.streamRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
133
255
|
executor.attachCombinedRecorder((0, AgentRecorder_js_1.agentRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
134
256
|
executor.attachCombinedRecorder((0, CompositionRecorder_js_1.compositionRecorder)({ dispatcher, getRunContext: getRunCtx }));
|
|
135
|
-
executor.attachCombinedRecorder(this.makeBranchErrorRecorder());
|
|
257
|
+
executor.attachCombinedRecorder(this.makeBranchErrorRecorder(this.runEpoch));
|
|
136
258
|
for (const r of this.attachedRecorders)
|
|
137
259
|
executor.attachCombinedRecorder(r);
|
|
138
260
|
return executor;
|
|
@@ -149,12 +271,20 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
149
271
|
*
|
|
150
272
|
* Only the FIRST error per branch is kept. Errors fired outside any
|
|
151
273
|
* branch (e.g., a Merge-stage error) are ignored.
|
|
274
|
+
*
|
|
275
|
+
* `epoch` is the run token current at attach time. Under fail-fast, a
|
|
276
|
+
* rejected run's abandoned siblings keep executing in the background —
|
|
277
|
+
* THIS recorder (attached to that dead run's executor) may still
|
|
278
|
+
* receive their late `onError` events while a NEW run is live. The
|
|
279
|
+
* epoch check drops those writes so the live run's map stays clean.
|
|
152
280
|
*/
|
|
153
|
-
makeBranchErrorRecorder() {
|
|
281
|
+
makeBranchErrorRecorder(epoch) {
|
|
154
282
|
const branchIds = new Set(this.branches.map((b) => b.id));
|
|
155
283
|
return {
|
|
156
284
|
id: 'parallel-branch-errors',
|
|
157
285
|
onError: (event) => {
|
|
286
|
+
if (epoch !== this.runEpoch)
|
|
287
|
+
return; // straggler from a dead run
|
|
158
288
|
if (!(0, footprintjs_1.isFlowEvent)(event))
|
|
159
289
|
return;
|
|
160
290
|
const ctx = event.traversalContext;
|
|
@@ -172,15 +302,19 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
172
302
|
if (branchId === undefined || !branchIds.has(branchId))
|
|
173
303
|
return;
|
|
174
304
|
if (!this.branchErrors.has(branchId)) {
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
//
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
305
|
+
// `structuredError` preserves both the BARE message (no
|
|
306
|
+
// `TypeError:` / `RateLimitError:` name prefix — consumers
|
|
307
|
+
// expect the original `throw new X(msg)` reason exactly) and
|
|
308
|
+
// the ORIGINAL error object (`raw`) used for identity-based
|
|
309
|
+
// fail-fast re-attribution. Fall back to the flat
|
|
310
|
+
// `event.message` (stripping the standard `Error: ` prefix)
|
|
311
|
+
// only if a future footprintjs shape omits `structuredError`.
|
|
312
|
+
const structured = event.structuredError;
|
|
313
|
+
const message = structured?.message ??
|
|
314
|
+
(event.message.startsWith('Error: ')
|
|
315
|
+
? event.message.slice('Error: '.length)
|
|
316
|
+
: event.message);
|
|
317
|
+
this.branchErrors.set(branchId, { message, raw: structured?.raw });
|
|
184
318
|
}
|
|
185
319
|
},
|
|
186
320
|
};
|
|
@@ -244,14 +378,18 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
244
378
|
// detects this via `branches.map(b => b.id) \ keys(branchResults)`
|
|
245
379
|
// and either throws (strict mode) or synthesizes `BranchOutcome`
|
|
246
380
|
// entries for the tolerant `outcomes-fn` merge.
|
|
381
|
+
//
|
|
382
|
+
// The outputMapper itself is wrapped (`wrapBranchOutputMapper`) so a
|
|
383
|
+
// MAPPER throw is also attributed to its branch — see the helper's
|
|
384
|
+
// JSDoc for why footprintjs can't attribute that class on its own.
|
|
247
385
|
for (const branch of branches) {
|
|
248
386
|
builder = builder.addSubFlowChart(branch.id, branch.runner.getSpec(), branch.name, {
|
|
249
387
|
inputMapper: (parent) => ({ message: parent.userMessage ?? '' }),
|
|
250
|
-
outputMapper: (sfOutput) => ({
|
|
388
|
+
outputMapper: wrapBranchOutputMapper(branch.id, this.branchErrors, (sfOutput) => ({
|
|
251
389
|
branchResults: {
|
|
252
390
|
[branch.id]: typeof sfOutput === 'string' ? sfOutput : '',
|
|
253
391
|
},
|
|
254
|
-
}),
|
|
392
|
+
})),
|
|
255
393
|
});
|
|
256
394
|
}
|
|
257
395
|
// Merge stage — runs after all fork children complete (join point).
|
|
@@ -259,6 +397,7 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
259
397
|
// `parallel-branch-errors` recorder) so per-branch error messages
|
|
260
398
|
// survive subflow boundary swallowing in footprintjs.
|
|
261
399
|
const branchErrors = this.branchErrors;
|
|
400
|
+
const requiredIds = this.requiredIds;
|
|
262
401
|
const mergeStage = async (scope) => {
|
|
263
402
|
const results = scope.branchResults ?? {};
|
|
264
403
|
// Detect failures by absence: any expected branch id missing
|
|
@@ -266,18 +405,19 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
266
405
|
// fire — i.e., one whose subflow errored. The specific error
|
|
267
406
|
// message comes from the recorder-captured `branchErrors` map.
|
|
268
407
|
//
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
// `parentContext.addError('outputMapperError', ...)`)
|
|
273
|
-
//
|
|
274
|
-
//
|
|
275
|
-
// `branchErrors`
|
|
276
|
-
//
|
|
277
|
-
//
|
|
408
|
+
// footprintjs does NOT fire `FlowRecorder.onError` for errors
|
|
409
|
+
// thrown INSIDE `applyOutputMapping` (those are caught separately
|
|
410
|
+
// in `SubflowExecutor` and routed to
|
|
411
|
+
// `parentContext.addError('outputMapperError', ...)`), so the
|
|
412
|
+
// recorder alone would miss mapper-class failures. The
|
|
413
|
+
// `wrapBranchOutputMapper` wrapper on every branch mount records
|
|
414
|
+
// those into `branchErrors` before rethrowing, so both strict-mode
|
|
415
|
+
// aggregation and tolerant-mode `BranchOutcome.error` print the
|
|
416
|
+
// real message instead of `unknown error`.
|
|
278
417
|
const failedIds = branches.map((b) => b.id).filter((id) => !(id in results));
|
|
279
418
|
const isTolerant = merge.kind === 'outcomes-fn';
|
|
280
|
-
|
|
419
|
+
const failedRequired = failedIds.filter((id) => requiredIds.has(id));
|
|
420
|
+
if (failedIds.length > 0 && (!isTolerant || failedRequired.length > 0)) {
|
|
281
421
|
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.composition.exit', {
|
|
282
422
|
kind: 'Parallel',
|
|
283
423
|
id: compositionId,
|
|
@@ -285,8 +425,18 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
285
425
|
status: 'err',
|
|
286
426
|
durationMs: Date.now() - this.currentRunContext.runStartMs,
|
|
287
427
|
});
|
|
428
|
+
// A REQUIRED branch failed under a tolerant merge: required
|
|
429
|
+
// overrides tolerance — reject the run, naming the branch(es).
|
|
430
|
+
// (Strict merges below already reject on ANY failure, required
|
|
431
|
+
// or not, with the pre-existing aggregate message.)
|
|
432
|
+
if (isTolerant) {
|
|
433
|
+
const details = failedRequired
|
|
434
|
+
.map((id) => ` ${id}: ${branchErrors.get(id)?.message ?? 'unknown error'}`)
|
|
435
|
+
.join('\n');
|
|
436
|
+
throw new Error(`Parallel '${compositionId}': ${failedRequired.length} required branch(es) failed:\n${details}`);
|
|
437
|
+
}
|
|
288
438
|
const details = failedIds
|
|
289
|
-
.map((id) => ` ${id}: ${branchErrors.get(id) ?? 'unknown error'}`)
|
|
439
|
+
.map((id) => ` ${id}: ${branchErrors.get(id)?.message ?? 'unknown error'}`)
|
|
290
440
|
.join('\n');
|
|
291
441
|
throw new Error(`Parallel '${compositionId}': ${failedIds.length} branch(es) failed:\n${details}\n` +
|
|
292
442
|
`(use .mergeOutcomesWithFn() for tolerant-mode partial-failure handling)`);
|
|
@@ -314,7 +464,7 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
314
464
|
else {
|
|
315
465
|
outcomes[b.id] = {
|
|
316
466
|
ok: false,
|
|
317
|
-
error: branchErrors.get(b.id) ?? 'unknown error',
|
|
467
|
+
error: branchErrors.get(b.id)?.message ?? 'unknown error',
|
|
318
468
|
};
|
|
319
469
|
}
|
|
320
470
|
}
|
|
@@ -354,10 +504,65 @@ class Parallel extends RunnerBase_js_1.RunnerBase {
|
|
|
354
504
|
return merged;
|
|
355
505
|
};
|
|
356
506
|
builder = builder.addFunction('Merge', mergeStage, 'merge', 'Parallel merge');
|
|
357
|
-
|
|
507
|
+
const chart = builder.build();
|
|
508
|
+
// Required-branch fail-fast: when EVERY branch is required, engage
|
|
509
|
+
// footprintjs's fork-level `failFast` (`Promise.all` — first branch
|
|
510
|
+
// error rejects the whole run, aborting before the Merge join).
|
|
511
|
+
//
|
|
512
|
+
// The fan-out node here is the SEED node — stacked `addSubFlowChart`
|
|
513
|
+
// calls fork from the builder cursor, which is the chart root.
|
|
514
|
+
// footprintjs only exposes a `failFast` option on its selector/list
|
|
515
|
+
// builders, so for a plain stacked-subflow fork we stamp the public
|
|
516
|
+
// `StageNode.failFast` field on the built chart's root directly
|
|
517
|
+
// (the exact field `ChildrenExecutor.executeNodeChildren` reads).
|
|
518
|
+
//
|
|
519
|
+
// Deliberately NOT engaged for a MIXED required/optional set:
|
|
520
|
+
// fork-level failFast is all-or-nothing, so an OPTIONAL sibling's
|
|
521
|
+
// throw would also abort the run. Mixed sets are enforced at the
|
|
522
|
+
// Merge join instead (see `mergeStage`).
|
|
523
|
+
if (this.failFastEngaged) {
|
|
524
|
+
chart.root.failFast = true;
|
|
525
|
+
}
|
|
526
|
+
return chart;
|
|
358
527
|
}
|
|
359
528
|
}
|
|
360
529
|
exports.Parallel = Parallel;
|
|
530
|
+
/**
|
|
531
|
+
* Wrap a branch's `outputMapper` so a mapper throw is ATTRIBUTED to its
|
|
532
|
+
* branch before footprintjs swallows it.
|
|
533
|
+
*
|
|
534
|
+
* footprintjs's `SubflowExecutor` catches outputMapper errors into
|
|
535
|
+
* `parentContext.addError('outputMapperError', ...)` WITHOUT firing
|
|
536
|
+
* `FlowRecorder.onError` — so Parallel's internal `parallel-branch-errors`
|
|
537
|
+
* recorder never sees them, and the Merge stage would fall back to
|
|
538
|
+
* `'unknown error'` for the missing branch id. Recording into the
|
|
539
|
+
* branch-error map here (first error per branch wins, mirroring the
|
|
540
|
+
* recorder's semantics) closes that attribution gap. The error is then
|
|
541
|
+
* RETHROWN so footprintjs's existing bookkeeping stays untouched: the
|
|
542
|
+
* `outputMapperError` debug entry is still written and the branch id is
|
|
543
|
+
* still absent from `branchResults` (which is how the Merge stage detects
|
|
544
|
+
* the failure).
|
|
545
|
+
*
|
|
546
|
+
* @internal Exported for direct unit testing — not part of the public API
|
|
547
|
+
* (not re-exported from the package barrel).
|
|
548
|
+
*/
|
|
549
|
+
function wrapBranchOutputMapper(branchId, branchErrors, inner) {
|
|
550
|
+
return (sfOutput) => {
|
|
551
|
+
try {
|
|
552
|
+
return inner(sfOutput);
|
|
553
|
+
}
|
|
554
|
+
catch (err) {
|
|
555
|
+
if (!branchErrors.has(branchId)) {
|
|
556
|
+
branchErrors.set(branchId, {
|
|
557
|
+
message: err instanceof Error ? err.message : String(err),
|
|
558
|
+
raw: err,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
throw err;
|
|
562
|
+
}
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
exports.wrapBranchOutputMapper = wrapBranchOutputMapper;
|
|
361
566
|
/** Fluent builder. Requires at least 2 branches + one merge strategy. */
|
|
362
567
|
class ParallelBuilder {
|
|
363
568
|
opts;
|
|
@@ -399,6 +604,7 @@ class ParallelBuilder {
|
|
|
399
604
|
...(opts.groupTranslator !== undefined && {
|
|
400
605
|
groupTranslator: opts.groupTranslator,
|
|
401
606
|
}),
|
|
607
|
+
...(opts.required !== undefined && { required: opts.required }),
|
|
402
608
|
};
|
|
403
609
|
this.branches.push(entry);
|
|
404
610
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Parallel.js","sourceRoot":"","sources":["../../src/core-flow/Parallel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,6CAUqB;AAKrB,yDAA8D;AAE9D,6EAAuE;AACvE,2EAAqE;AACrE,yEAAmE;AACnE,qFAA+E;AAC/E,iEAA2D;AA2G3D,MAAa,QAAS,SAAQ,0BAAyC;IAC5D,IAAI,CAAS;IACb,EAAE,CAAS;IACH,QAAQ,CAAyB;IACjC,KAAK,CAAgB;IACrB,IAAI,CAAkB;IAE/B,iBAAiB,GAAe;QACtC,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF;;;;;;;;;;;;OAYG;IACc,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1D,YAAY,IAAqB,EAAE,QAAgC,EAAE,KAAoB;QACvF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,+DAA+D;QAC/D,+DAA+D;QAC/D,iEAAiE;QACjE,iDAAiD;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAwB,EAAE;QACtC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oEAAoE;IAEpE,iEAAiE;IAC9C,kBAAkB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACgB,oBAAoB;QACrC,MAAM,OAAO,GAAkB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,EAAE;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,6DAA6D;YAC7D,+DAA+D;YAC/D,8DAA8D;YAC9D,6DAA6D;YAC7D,yDAAyD;YACzD,oCAAoC;YACpC,OAAO,EACL,CAAC,CAAC,eAAe,KAAK,SAAS;gBAC7B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC5C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;SAC5B,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO;YACP,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;aAC/B;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAoB,EACpB,OAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC;YAChC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YACjC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA+B,EAC/B,KAAe,EACf,OAAoB;QAEpB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,iBAAiB,GAAG;YACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE,IAAA,yBAAS,GAAE;YAClB,eAAe,EAAE,CAAC,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC;SACzC,CAAC;QAEF,kEAAkE;QAClE,+DAA+D;QAC/D,iEAAiE;QACjE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,+BAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,GAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE3D,QAAQ,CAAC,sBAAsB,CAAC,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/F,QAAQ,CAAC,sBAAsB,CAAC,IAAA,kCAAc,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,QAAQ,CAAC,sBAAsB,CAAC,IAAA,gCAAa,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACzF,QAAQ,CAAC,sBAAsB,CAAC,IAAA,4CAAmB,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/F,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,iBAAiB;YAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,uBAAuB;QAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO;YACL,EAAE,EAAE,wBAAwB;YAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,CAAC,IAAA,yBAAW,EAAC,KAAK,CAAC;oBAAE,OAAO;gBAChC,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBACnC,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,4DAA4D;gBAC5D,gEAAgE;gBAChE,+DAA+D;gBAC/D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,eAAe;gBACf,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAC/D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,2DAA2D;oBAC3D,yDAAyD;oBACzD,6DAA6D;oBAC7D,wDAAwD;oBACxD,0DAA0D;oBAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;wBAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;wBACvC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,cAAc,CACpB,QAA2B,EAC3B,MAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,MAAM,YAAY,KAAK;YAAE,MAAM,MAAM,CAAC;QAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAEO,UAAU;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QAElC,MAAM,IAAI,GAAG,CAAC,KAAgC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAiB,CAAC;YAC7C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;YACzB,IAAA,wBAAS,EAAC,KAAK,EAAE,kCAAkC,EAAE;gBACnD,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,eAAe;gBACrB,UAAU,EAAE,QAAQ,CAAC,MAAM;aAC5B,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,KAAK,EAAE,uCAAuC,EAAE;gBACxD,QAAQ,EAAE,aAAa;gBACvB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,mEAAmE;QACnE,8DAA8D;QAC9D,qEAAqE;QACrE,qEAAqE;QACrE,gCAAgC;QAChC,IAAI,OAAO,GAAG,IAAA,uBAAS,EAAgB,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;YACjE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI;gBAChD,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACtD,CAAC;YACF,WAAW,EAAE,aAAa,QAAQ,CAAC,MAAM,aAAa;SACvD,CAAC,CAAC;QAEH,iEAAiE;QACjE,mEAAmE;QACnE,mEAAmE;QACnE,sEAAsE;QACtE,EAAE;QACF,oEAAoE;QACpE,gEAAgE;QAChE,iEAAiE;QACjE,8DAA8D;QAC9D,4DAA4D;QAC5D,kDAAkD;QAClD,EAAE;QACF,kEAAkE;QAClE,iEAAiE;QACjE,gEAAgE;QAChE,mEAAmE;QACnE,iEAAiE;QACjE,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;gBACjF,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAG,MAAM,CAAC,WAAsB,IAAI,EAAE,EAAE,CAAC;gBAC5E,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC3B,aAAa,EAAE;wBACb,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;qBAC1D;iBACF,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAED,oEAAoE;QACpE,6DAA6D;QAC7D,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,UAAU,GAAG,KAAK,EAAE,KAAgC,EAAmB,EAAE;YAC7E,MAAM,OAAO,GAAI,KAAK,CAAC,aAAwC,IAAI,EAAE,CAAC;YAEtE,6DAA6D;YAC7D,+DAA+D;YAC/D,6DAA6D;YAC7D,+DAA+D;YAC/D,EAAE;YACF,+DAA+D;YAC/D,8DAA8D;YAC9D,gDAAgD;YAChD,gEAAgE;YAChE,+DAA+D;YAC/D,+DAA+D;YAC/D,2DAA2D;YAC3D,+DAA+D;YAC/D,6DAA6D;YAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC;YAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;YAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;oBAClD,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU;iBAC3D,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,SAAS;qBACtB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;qBAClE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,aAAa,aAAa,MAAM,SAAS,CAAC,MAAM,wBAAwB,OAAO,IAAI;oBACjF,yEAAyE,CAC5E,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,oDAAoD;YACpD,mEAAmE;YACnE,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACxB,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,MAAM,QAAQ,GAAkC,EAAE,CAAC;oBACnD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACzB,IAAI,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;4BACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC;wBACvD,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;gCACf,EAAE,EAAE,KAAK;gCACT,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe;6BACjD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;oBAClD,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU;iBAC3D,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACnD,IAAA,wBAAS,EAAC,KAAK,EAAE,sCAAsC,EAAE;gBACvD,QAAQ,EAAE,aAAa;gBACvB,4DAA4D;gBAC5D,uDAAuD;gBACvD,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,+DAA+D;gBAC/D,+DAA+D;gBAC/D,iDAAiD;gBACjD,iBAAiB,EAAE,cAAc;gBACjC,gBAAgB,EAAE,QAAQ,CAAC,MAAM;aAClC,CAAC,CAAC;YACH,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;gBAClD,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU;aAC3D,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE9E,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AA3WD,4BA2WC;AAED,yEAAyE;AACzE,MAAa,eAAe;IACT,IAAI,CAAkB;IACtB,QAAQ,GAAkB,EAAE,CAAC;IACtC,KAAK,CAA4B;IACxB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,YAAY,IAAqB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAU,EAAE,MAAmB,EAAE,UAA2C;QACjF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;QACD,qEAAqE;QACrE,+DAA+D;QAC/D,8DAA8D;QAC9D,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,0BAA0B,EAAE,sHAAsH,CACnJ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,IAAI,GACR,OAAO,UAAU,KAAK,QAAQ;YAC5B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAkC,CAAC;YACxD,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAgB;YACzB,EAAE;YACF,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI;gBACxC,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC;SACH,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,EAAW;QACrB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,YAAY,CAAC,IAAyB;QACpC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAmB;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF;AAjGD,0CAiGC;AAED,yEAAyE;AAEzE,KAAK,UAAU,YAAY,CACzB,KAAgC,EAChC,IAAyB,EACzB,OAAyC;IAEzC,yEAAyE;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SAC9D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAExE,IAAA,wBAAS,EAAC,KAAK,EAAE,iCAAiC,EAAE;QAClD,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;KACzE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KACnE,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACxC,IAAA,wBAAS,EAAC,KAAK,EAAE,+BAA+B,EAAE;QAChD,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM;QACxC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU;KACX,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Parallel.js","sourceRoot":"","sources":["../../src/core-flow/Parallel.ts"],"names":[],"mappings":"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"}
|