@emmvish/stable-request 1.6.3 → 1.6.5

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.
Files changed (44) hide show
  1. package/README.md +2 -5
  2. package/dist/core/stable-api-gateway.js +1 -1
  3. package/dist/core/stable-api-gateway.js.map +1 -1
  4. package/dist/core/stable-request.d.ts.map +1 -1
  5. package/dist/core/stable-request.js +21 -17
  6. package/dist/core/stable-request.js.map +1 -1
  7. package/dist/core/stable-workflow.d.ts.map +1 -1
  8. package/dist/core/stable-workflow.js +3 -2
  9. package/dist/core/stable-workflow.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/types/index.d.ts +23 -2
  15. package/dist/types/index.d.ts.map +1 -1
  16. package/dist/utilities/execute-branch-workflow.d.ts.map +1 -1
  17. package/dist/utilities/execute-branch-workflow.js +26 -17
  18. package/dist/utilities/execute-branch-workflow.js.map +1 -1
  19. package/dist/utilities/execute-concurrently.d.ts.map +1 -1
  20. package/dist/utilities/execute-concurrently.js +76 -16
  21. package/dist/utilities/execute-concurrently.js.map +1 -1
  22. package/dist/utilities/execute-non-linear-workflow.d.ts.map +1 -1
  23. package/dist/utilities/execute-non-linear-workflow.js +27 -17
  24. package/dist/utilities/execute-non-linear-workflow.js.map +1 -1
  25. package/dist/utilities/execute-phase.d.ts +1 -1
  26. package/dist/utilities/execute-phase.d.ts.map +1 -1
  27. package/dist/utilities/execute-phase.js +13 -4
  28. package/dist/utilities/execute-phase.js.map +1 -1
  29. package/dist/utilities/execute-sequentially.d.ts.map +1 -1
  30. package/dist/utilities/execute-sequentially.js +5 -1
  31. package/dist/utilities/execute-sequentially.js.map +1 -1
  32. package/dist/utilities/format-log-context.d.ts +3 -0
  33. package/dist/utilities/format-log-context.d.ts.map +1 -0
  34. package/dist/utilities/format-log-context.js +19 -0
  35. package/dist/utilities/format-log-context.js.map +1 -0
  36. package/dist/utilities/index.d.ts +1 -0
  37. package/dist/utilities/index.d.ts.map +1 -1
  38. package/dist/utilities/index.js +1 -0
  39. package/dist/utilities/index.js.map +1 -1
  40. package/dist/utilities/req-fn.d.ts +2 -2
  41. package/dist/utilities/req-fn.d.ts.map +1 -1
  42. package/dist/utilities/req-fn.js +3 -2
  43. package/dist/utilities/req-fn.js.map +1 -1
  44. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { executeNonLinearWorkflow } from './execute-non-linear-workflow.js';
2
2
  import { safelyExecuteUnknownFunction } from './safely-execute-unknown-function.js';
3
+ import { formatLogContext } from './format-log-context.js';
3
4
  import { PHASE_DECISION_ACTIONS } from '../enums/index.js';
4
5
  export async function executeBranchWorkflow(context) {
5
6
  const { branches, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError = () => { }, handleBranchCompletion, handleBranchDecision, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
@@ -30,6 +31,7 @@ export async function executeBranchWorkflow(context) {
30
31
  const result = await executeNonLinearWorkflow({
31
32
  phases: branch.phases,
32
33
  workflowId: `${workflowId}-branch-${branch.id}`,
34
+ branchId: branch.id,
33
35
  commonGatewayOptions: branchConfig,
34
36
  requestGroups,
35
37
  logPhaseResults,
@@ -44,6 +46,7 @@ export async function executeBranchWorkflow(context) {
44
46
  });
45
47
  const branchExecutionTime = Date.now() - branchStartTime;
46
48
  const branchResult = {
49
+ workflowId,
47
50
  branchId: branch.id,
48
51
  branchIndex,
49
52
  success: result.failedRequests === 0,
@@ -62,9 +65,10 @@ export async function executeBranchWorkflow(context) {
62
65
  };
63
66
  }
64
67
  catch (error) {
65
- console.error(`stable-request: [Workflow: ${workflowId}] Branch ${branch.id} failed:`, error);
68
+ console.error(`${formatLogContext({ workflowId })}stable-request: Branch ${branch.id} failed:`, error);
66
69
  return {
67
70
  branchResult: {
71
+ workflowId,
68
72
  branchId: branch.id,
69
73
  branchIndex,
70
74
  success: false,
@@ -88,7 +92,7 @@ export async function executeBranchWorkflow(context) {
88
92
  iterationCount++;
89
93
  const branchIndex = branches.findIndex(b => b.id === currentBranchId);
90
94
  if (branchIndex === -1) {
91
- console.error(`stable-request: [Workflow: ${workflowId}] Branch '${currentBranchId}' not found`);
95
+ console.error(`${formatLogContext({ workflowId })}stable-request: Branch '${currentBranchId}' not found`);
92
96
  terminatedEarly = true;
93
97
  terminationReason = `Branch '${currentBranchId}' not found`;
94
98
  break;
@@ -99,9 +103,10 @@ export async function executeBranchWorkflow(context) {
99
103
  const maxReplayCount = currentBranch.maxReplayCount ?? Infinity;
100
104
  if (executionNumber > maxReplayCount + 1) {
101
105
  if (logPhaseResults) {
102
- console.warn(`stable-request: [Workflow: ${workflowId}] Branch '${currentBranchId}' exceeded max replay count (${maxReplayCount}). Skipping.`);
106
+ console.warn(`${formatLogContext({ workflowId })}stable-request: Branch '${currentBranchId}' exceeded max replay count (${maxReplayCount}). Skipping.`);
103
107
  }
104
108
  const skippedResult = {
109
+ workflowId,
105
110
  branchId: currentBranchId,
106
111
  branchIndex,
107
112
  success: false,
@@ -139,7 +144,7 @@ export async function executeBranchWorkflow(context) {
139
144
  }
140
145
  if (logPhaseResults) {
141
146
  const branchIds = concurrentGroup.map(({ branch }) => branch.id).join(', ');
142
- console.info(`\nstable-request: [Workflow: ${workflowId}] Executing ${concurrentGroup.length} branches in parallel: [${branchIds}]`);
147
+ console.info(`${formatLogContext({ workflowId })}\nstable-request: Executing ${concurrentGroup.length} branches in parallel: [${branchIds}]`);
143
148
  }
144
149
  const groupPromises = concurrentGroup.map(({ branch, index, executionNumber }) => executeSingleBranch(branch, index, executionNumber));
145
150
  const groupResults = await Promise.all(groupPromises);
@@ -168,13 +173,14 @@ export async function executeBranchWorkflow(context) {
168
173
  if (handleBranchCompletion) {
169
174
  try {
170
175
  await safelyExecuteUnknownFunction(handleBranchCompletion, {
176
+ workflowId,
171
177
  branchId: result.branchResult.branchId,
172
178
  branchResults: result.branchResult.phaseResults,
173
179
  success: result.branchResult.success
174
180
  });
175
181
  }
176
182
  catch (hookError) {
177
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handleBranchCompletion hook:`, hookError);
183
+ console.error(`${formatLogContext({ workflowId, branchId: result.branchResult.branchId })}stable-request: Error in handleBranchCompletion hook:`, hookError);
178
184
  }
179
185
  }
180
186
  if (branch.branchDecisionHook) {
@@ -201,7 +207,7 @@ export async function executeBranchWorkflow(context) {
201
207
  await safelyExecuteUnknownFunction(handleBranchDecision, decision, result.branchResult);
202
208
  }
203
209
  catch (hookError) {
204
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handleBranchDecision hook:`, hookError);
210
+ console.error(`${formatLogContext({ workflowId, branchId: branch.id })}stable-request: Error in handleBranchDecision hook:`, hookError);
205
211
  }
206
212
  }
207
213
  if (k === groupResults.length - 1) {
@@ -216,12 +222,12 @@ export async function executeBranchWorkflow(context) {
216
222
  concurrentGroupSkipTarget = decision.targetBranchId || null;
217
223
  }
218
224
  if (logPhaseResults && decision.action !== PHASE_DECISION_ACTIONS.CONTINUE) {
219
- console.info(`stable-request: [Workflow: ${workflowId}] Concurrent group decision: ${decision.action}`, decision.targetBranchId ? `-> ${decision.targetBranchId}` : '');
225
+ console.info(`${formatLogContext({ workflowId })}stable-request: Concurrent group decision: ${decision.action}`, decision.targetBranchId ? `-> ${decision.targetBranchId}` : '');
220
226
  }
221
227
  }
222
228
  }
223
229
  catch (decisionError) {
224
- console.error(`stable-request: [Workflow: ${workflowId}] Error in branch decision hook for ${branch.id}:`, decisionError);
230
+ console.error(`${formatLogContext({ workflowId, branchId: branch.id })}stable-request: Error in branch decision hook for ${branch.id}:`, decisionError);
225
231
  }
226
232
  }
227
233
  if (stopOnFirstPhaseError && result.failedRequests > 0) {
@@ -243,6 +249,7 @@ export async function executeBranchWorkflow(context) {
243
249
  for (let skipIdx = j; skipIdx < skipTargetIndex; skipIdx++) {
244
250
  const skippedBranch = branches[skipIdx];
245
251
  const skippedResult = {
252
+ workflowId,
246
253
  branchId: skippedBranch.id,
247
254
  branchIndex: skipIdx,
248
255
  success: true,
@@ -275,7 +282,7 @@ export async function executeBranchWorkflow(context) {
275
282
  }
276
283
  else {
277
284
  if (logPhaseResults) {
278
- console.info(`\nstable-request: [Workflow: ${workflowId}] Executing branch: ${currentBranch.id} (execution #${executionNumber})`);
285
+ console.info(`${formatLogContext({ workflowId })}\nstable-request: Executing branch: ${currentBranch.id} (execution #${executionNumber})`);
279
286
  }
280
287
  const result = await executeSingleBranch(currentBranch, branchIndex, executionNumber);
281
288
  branchResults.push(result.branchResult);
@@ -301,7 +308,7 @@ export async function executeBranchWorkflow(context) {
301
308
  });
302
309
  }
303
310
  catch (hookError) {
304
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handleBranchCompletion hook:`, hookError);
311
+ console.error(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Error in handleBranchCompletion hook:`, hookError);
305
312
  }
306
313
  }
307
314
  let decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
@@ -324,19 +331,19 @@ export async function executeBranchWorkflow(context) {
324
331
  historyRecord.decision = decision;
325
332
  }
326
333
  if (logPhaseResults) {
327
- console.info(`stable-request: [Workflow: ${workflowId}] Branch '${currentBranchId}' decision: ${decision.action}`, decision.targetBranchId ? `-> ${decision.targetBranchId}` : '');
334
+ console.info(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Branch '${currentBranchId}' decision: ${decision.action}`, decision.targetBranchId ? `-> ${decision.targetBranchId}` : '');
328
335
  }
329
336
  if (handleBranchDecision) {
330
337
  try {
331
338
  await safelyExecuteUnknownFunction(handleBranchDecision, decision, result.branchResult);
332
339
  }
333
340
  catch (hookError) {
334
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handleBranchDecision hook:`, hookError);
341
+ console.error(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Error in handleBranchDecision hook:`, hookError);
335
342
  }
336
343
  }
337
344
  }
338
345
  catch (decisionError) {
339
- console.error(`stable-request: [Workflow: ${workflowId}] Error in branch decision hook for ${currentBranch.id}:`, decisionError);
346
+ console.error(`${formatLogContext({ workflowId, branchId: currentBranch.id })}stable-request: Error in branch decision hook for ${currentBranch.id}:`, decisionError);
340
347
  decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
341
348
  }
342
349
  }
@@ -350,7 +357,7 @@ export async function executeBranchWorkflow(context) {
350
357
  if (decision.targetBranchId) {
351
358
  const targetIndex = branches.findIndex(b => b.id === decision.targetBranchId);
352
359
  if (targetIndex === -1) {
353
- console.error(`stable-request: [Workflow: ${workflowId}] Jump target branch '${decision.targetBranchId}' not found`);
360
+ console.error(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Jump target branch '${decision.targetBranchId}' not found`);
354
361
  terminatedEarly = true;
355
362
  terminationReason = `Jump target branch '${decision.targetBranchId}' not found`;
356
363
  currentBranchId = null;
@@ -365,7 +372,7 @@ export async function executeBranchWorkflow(context) {
365
372
  break;
366
373
  case PHASE_DECISION_ACTIONS.SKIP:
367
374
  if (!currentBranch.allowSkip && currentBranch.allowSkip !== undefined) {
368
- console.warn(`stable-request: [Workflow: ${workflowId}] Branch '${currentBranchId}' attempted to skip but allowSkip is false. Continuing normally.`);
375
+ console.warn(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Branch '${currentBranchId}' attempted to skip but allowSkip is false. Continuing normally.`);
369
376
  currentBranchId = branches[branchIndex + 1]?.id || null;
370
377
  break;
371
378
  }
@@ -375,6 +382,7 @@ export async function executeBranchWorkflow(context) {
375
382
  for (let skipIdx = branchIndex + 1; skipIdx < skipTargetIndex; skipIdx++) {
376
383
  const skippedBranch = branches[skipIdx];
377
384
  const skippedResult = {
385
+ workflowId,
378
386
  branchId: skippedBranch.id,
379
387
  branchIndex: skipIdx,
380
388
  success: true,
@@ -405,6 +413,7 @@ export async function executeBranchWorkflow(context) {
405
413
  const nextBranch = branches[branchIndex + 1];
406
414
  if (nextBranch) {
407
415
  const skippedResult = {
416
+ workflowId,
408
417
  branchId: nextBranch.id,
409
418
  branchIndex: branchIndex + 1,
410
419
  success: true,
@@ -430,7 +439,7 @@ export async function executeBranchWorkflow(context) {
430
439
  break;
431
440
  case PHASE_DECISION_ACTIONS.REPLAY:
432
441
  if (!currentBranch.allowReplay && currentBranch.allowReplay !== undefined) {
433
- console.warn(`stable-request: [Workflow: ${workflowId}] Branch '${currentBranchId}' attempted to replay but allowReplay is false. Continuing normally.`);
442
+ console.warn(`${formatLogContext({ workflowId, branchId: currentBranchId })}stable-request: Branch '${currentBranchId}' attempted to replay but allowReplay is false. Continuing normally.`);
434
443
  currentBranchId = branches[branchIndex + 1]?.id || null;
435
444
  break;
436
445
  }
@@ -452,7 +461,7 @@ export async function executeBranchWorkflow(context) {
452
461
  terminatedEarly = true;
453
462
  terminationReason = `Exceeded maximum workflow iterations (${maxWorkflowIterations})`;
454
463
  if (logPhaseResults) {
455
- console.warn(`stable-request: [Workflow: ${workflowId}] ${terminationReason}`);
464
+ console.warn(`${formatLogContext({ workflowId })}stable-request: ${terminationReason}`);
456
465
  }
457
466
  }
458
467
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-branch-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-branch-workflow.js","sourceRoot":"","sources":["../../src/utilities/execute-branch-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAY3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAiE;IAEjE,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACtB,GAAG,OAAO,CAAC;IAEZ,MAAM,aAAa,GAA8C,EAAE,CAAC;IACpE,MAAM,eAAe,GAAqD,EAAE,CAAC;IAC7E,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,MAAM,sBAAsB,GAA4B,EAAE,CAAC;IAC3D,MAAM,qBAAqB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE7D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,iBAAqC,CAAC;IAC1C,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,iBAAiB,GAAG,CAAC,MAAiE,EAAE,EAAE;QAC9F,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,GAAG,oBAAoB;YACvB,GAAG,MAAM,CAAC,YAAY;SACvB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,MAAiE,EACjE,WAAmB,EACnB,eAAuB,EACvB,EAAE;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,GAAG,UAAU,WAAW,MAAM,CAAC,EAAE,EAAE;gBAC/C,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,oBAAoB,EAAE,YAAY;gBAClC,aAAa;gBACb,eAAe;gBACf,qBAAqB;gBACrB,gBAAgB;gBAChB,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB;gBAC5D,oBAAoB;gBACpB,kBAAkB;gBAClB,YAAY;gBACZ,qBAAqB;gBACrB,qBAAqB;aACtB,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;YAEzD,MAAM,YAAY,GAA4C;gBAC5D,UAAU;gBACV,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW;gBACX,OAAO,EAAE,MAAM,CAAC,cAAc,KAAK,CAAC;gBACpC,aAAa,EAAE,mBAAmB;gBAClC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,eAAe;aAChB,CAAC;YAEF,OAAO;gBACL,YAAY;gBACZ,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,0BAA0B,MAAM,CAAC,EAAE,UAAU,EAChF,KAAK,CACN,CAAC;YAEF,OAAO;gBACL,YAAY,EAAE;oBACZ,UAAU;oBACV,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,WAAW;oBACX,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;oBAC3C,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,EAAE;oBAChB,eAAe;oBACf,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB;oBAClD,QAAQ,EAAE,SAAS;iBACpB;gBACD,YAAY,EAAE,EAAE;gBAChB,gBAAgB,EAAE,EAAE;gBACpB,aAAa,EAAE,CAAC;gBAChB,kBAAkB,EAAE,CAAC;gBACrB,cAAc,EAAE,CAAC;aAClB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,eAAe,GAAkB,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAE7D,OAAO,eAAe,KAAK,IAAI,IAAI,cAAc,GAAG,qBAAqB,EAAE,CAAC;QAC1E,cAAc,EAAE,CAAC;QAEjB,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,2BAA2B,eAAe,aAAa,CAC3F,CAAC;YACF,eAAe,GAAG,IAAI,CAAC;YACvB,iBAAiB,GAAG,WAAW,eAAe,aAAa,CAAC;YAC5D,MAAM;QACR,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9E,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,IAAI,QAAQ,CAAC;QAChE,IAAI,eAAe,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,2BAA2B,eAAe,gCAAgC,cAAc,cAAc,CAC1I,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAA4C;gBAC7D,UAAU;gBACV,QAAQ,EAAE,eAAe;gBACzB,WAAW;gBACX,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,EAAE;gBAChB,eAAe;gBACf,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,gCAAgC,cAAc,EAAE;aACxD,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAElC,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,eAAe;gBACzB,WAAW;gBACX,eAAe;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,CAAC;aACjB,CAAC,CAAC;YAEH,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;YACxD,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC;QAExD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,eAAe,GAIf;gBACJ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE;aAC/D,CAAC;YAEF,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;gBAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpF,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAClE,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACjG,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,+BAA+B,eAAe,CAAC,MAAM,2BAA2B,SAAS,GAAG,CAChI,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAC/E,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CACpD,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEtD,MAAM,uBAAuB,GAA8C,EAAE,CAAC;YAC9E,IAAI,yBAAyB,GAAkB,IAAI,CAAC;YACpD,IAAI,yBAAyB,GAAkB,IAAI,CAAC;YACpD,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAE9D,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClD,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7C,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAClD,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;gBACtC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC;gBAChD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;gBACxC,sBAAsB,CAAC,IAAI,CAAC;oBAC1B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,WAAW,EAAE,KAAK;oBAClB,eAAe;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;oBACpC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa;iBACjD,CAAC,CAAC;gBAEH,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,IAAI,CAAC;wBACH,MAAM,4BAA4B,CAChC,sBAAsB,EACtB;4BACE,UAAU;4BACV,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;4BACtC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY;4BAC/C,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;yBACrC,CACF,CAAC;oBACJ,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,uDAAuD,EAClI,SAAS,CACV,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,MAAM,QAAQ,GAA4B,MAAM,4BAA4B,CAC1E,MAAM,CAAC,kBAAkB,EACzB;4BACE,UAAU;4BACV,aAAa,EAAE,MAAM,CAAC,YAAY;4BAClC,QAAQ,EAAE,MAAM,CAAC,EAAE;4BACnB,WAAW,EAAE,KAAK;4BAClB,eAAe;4BACf,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;4BACzC,sBAAsB;4BACtB,YAAY;4BACZ,MAAM,EAAE,kBAAkB,EAAE,0BAA0B;4BACtD,uBAAuB,EAAE,uBAAuB;yBACjD,CACF,CAAC;wBAEF,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAExC,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CACvE,CAAC;wBACF,IAAI,aAAa,EAAE,CAAC;4BAClB,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACpC,CAAC;wBAED,IAAI,oBAAoB,EAAE,CAAC;4BACzB,IAAI,CAAC;gCACH,MAAM,4BAA4B,CAChC,oBAAoB,EACpB,QAAQ,EACR,MAAM,CAAC,YAAY,CACpB,CAAC;4BACJ,CAAC;4BAAC,OAAO,SAAS,EAAE,CAAC;gCACnB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,qDAAqD,EAC7G,SAAS,CACV,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;gCACzD,eAAe,GAAG,IAAI,CAAC;gCACvB,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,MAAM,CAAC,EAAE,sBAAsB,CAAC;4BAC7F,CAAC;iCAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gCAC3D,yBAAyB,GAAG,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC;4BAC9D,CAAC;iCAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gCAC3D,yBAAyB,GAAG,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC;4BAC9D,CAAC;4BAED,IAAI,eAAe,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAsB,CAAC,QAAQ,EAAE,CAAC;gCAC3E,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,8CAA8C,QAAQ,CAAC,MAAM,EAAE,EAClG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/D,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,aAAa,EAAE,CAAC;wBACvB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,qDAAqD,MAAM,CAAC,EAAE,GAAG,EACzH,aAAa,CACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,qBAAqB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBACvD,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,GAAG,UAAU,MAAM,CAAC,EAAE,6BAA6B,CAAC;oBACrE,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,eAAe,GAAG,yBAAyB,CAAC;YAC9C,CAAC;iBAAM,IAAI,yBAAyB,EAAE,CAAC;gBACrC,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC;gBACpF,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC3B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;wBAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACxC,MAAM,aAAa,GAA4C;4BAC7D,UAAU;4BACV,QAAQ,EAAE,aAAa,CAAC,EAAE;4BAC1B,WAAW,EAAE,OAAO;4BACpB,OAAO,EAAE,IAAI;4BACb,aAAa,EAAE,CAAC;4BAChB,eAAe,EAAE,CAAC;4BAClB,YAAY,EAAE,EAAE;4BAChB,eAAe,EAAE,CAAC;4BAClB,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAElC,sBAAsB,CAAC,IAAI,CAAC;4BAC1B,QAAQ,EAAE,aAAa,CAAC,EAAE;4BAC1B,WAAW,EAAE,OAAO;4BACpB,eAAe,EAAE,CAAC;4BAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,OAAO,EAAE,IAAI;4BACb,aAAa,EAAE,CAAC;4BAChB,QAAQ,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,IAAI,EAAE;yBAClD,CAAC,CAAC;oBACL,CAAC;oBACD,eAAe,GAAG,yBAAyB,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;YAC5C,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,uCAAuC,aAAa,CAAC,EAAE,gBAAgB,eAAe,GAAG,CAC7H,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YAEtF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7C,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAClD,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC;YACtC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC;YAChD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;YACxC,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,eAAe;gBACzB,WAAW;gBACX,eAAe;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;gBACpC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa;aACjD,CAAC,CAAC;YAEH,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,4BAA4B,CAChC,sBAAsB,EACtB;wBACE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;wBACtC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY;wBAC/C,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;qBACrC,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,uDAAuD,EACrH,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,GAA4B,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC;YAEpF,IAAI,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,4BAA4B,CAC3C,aAAa,CAAC,kBAAkB,EAChC;wBACE,UAAU;wBACV,aAAa,EAAE,MAAM,CAAC,YAAY;wBAClC,QAAQ,EAAE,aAAa,CAAC,EAAE;wBAC1B,WAAW;wBACX,eAAe;wBACf,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;wBACzC,sBAAsB;wBACtB,YAAY;wBACZ,MAAM,EAAE,kBAAkB,EAAE,0BAA0B;qBACvD,CACF,CAAC;oBAEF,MAAM,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBAExC,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CAC7E,CAAC;oBACF,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACpC,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,2BAA2B,eAAe,eAAe,QAAQ,CAAC,MAAM,EAAE,EACxI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/D,CAAC;oBACJ,CAAC;oBAED,IAAI,oBAAoB,EAAE,CAAC;wBACzB,IAAI,CAAC;4BACH,MAAM,4BAA4B,CAChC,oBAAoB,EACpB,QAAQ,EACR,MAAM,CAAC,YAAY,CACpB,CAAC;wBACJ,CAAC;wBAAC,OAAO,SAAS,EAAE,CAAC;4BACnB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,qDAAqD,EACnH,SAAS,CACV,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,qDAAqD,aAAa,CAAC,EAAE,GAAG,EACvI,aAAa,CACd,CAAC;oBACF,QAAQ,GAAG,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxB,KAAK,sBAAsB,CAAC,SAAS;oBACnC,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,eAAe,sBAAsB,CAAC;oBACjG,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM;gBAER,KAAK,sBAAsB,CAAC,IAAI;oBAC9B,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;wBAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAC9E,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;4BACvB,OAAO,CAAC,KAAK,CACX,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,uCAAuC,QAAQ,CAAC,cAAc,aAAa,CAC1I,CAAC;4BACF,eAAe,GAAG,IAAI,CAAC;4BACvB,iBAAiB,GAAG,uBAAuB,QAAQ,CAAC,cAAc,aAAa,CAAC;4BAChF,eAAe,GAAG,IAAI,CAAC;wBACzB,CAAC;6BAAM,CAAC;4BACN,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC;wBAC5C,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAC1D,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB,CAAC,IAAI;oBAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACtE,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,2BAA2B,eAAe,kEAAkE,CAC3K,CAAC;wBACF,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;wBACxD,MAAM;oBACR,CAAC;oBAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;wBAC5B,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAClF,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;4BAC3B,KAAK,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;gCACzE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gCACxC,MAAM,aAAa,GAA4C;oCAC7D,UAAU;oCACV,QAAQ,EAAE,aAAa,CAAC,EAAE;oCAC1B,WAAW,EAAE,OAAO;oCACpB,OAAO,EAAE,IAAI;oCACb,aAAa,EAAE,CAAC;oCAChB,eAAe,EAAE,CAAC;oCAClB,YAAY,EAAE,EAAE;oCAChB,eAAe,EAAE,CAAC;oCAClB,OAAO,EAAE,IAAI;iCACd,CAAC;gCACF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gCAElC,sBAAsB,CAAC,IAAI,CAAC;oCAC1B,QAAQ,EAAE,aAAa,CAAC,EAAE;oCAC1B,WAAW,EAAE,OAAO;oCACpB,eAAe,EAAE,CAAC;oCAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oCACnC,OAAO,EAAE,IAAI;oCACb,aAAa,EAAE,CAAC;oCAChB,QAAQ,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,IAAI,EAAE;iCAClD,CAAC,CAAC;4BACL,CAAC;4BACD,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC;wBAC5C,CAAC;6BAAM,CAAC;4BACN,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;wBAC1D,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;wBAC7C,IAAI,UAAU,EAAE,CAAC;4BACf,MAAM,aAAa,GAA4C;gCAC7D,UAAU;gCACV,QAAQ,EAAE,UAAU,CAAC,EAAE;gCACvB,WAAW,EAAE,WAAW,GAAG,CAAC;gCAC5B,OAAO,EAAE,IAAI;gCACb,aAAa,EAAE,CAAC;gCAChB,eAAe,EAAE,CAAC;gCAClB,YAAY,EAAE,EAAE;gCAChB,eAAe,EAAE,CAAC;gCAClB,OAAO,EAAE,IAAI;6BACd,CAAC;4BACF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAElC,sBAAsB,CAAC,IAAI,CAAC;gCAC1B,QAAQ,EAAE,UAAU,CAAC,EAAE;gCACvB,WAAW,EAAE,WAAW,GAAG,CAAC;gCAC5B,eAAe,EAAE,CAAC;gCAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gCACnC,OAAO,EAAE,IAAI;gCACb,aAAa,EAAE,CAAC;gCAChB,QAAQ,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,IAAI,EAAE;6BAClD,CAAC,CAAC;wBACL,CAAC;wBACD,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBAC1D,CAAC;oBACD,MAAM;gBAER,KAAK,sBAAsB,CAAC,MAAM;oBAChC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC1E,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,2BAA2B,eAAe,sEAAsE,CAC/K,CAAC;wBACF,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;wBACxD,MAAM;oBACR,CAAC;oBACD,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC;oBACnC,MAAM;gBAER,KAAK,sBAAsB,CAAC,QAAQ,CAAC;gBACrC;oBACE,eAAe,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;oBACxD,MAAM;YACV,CAAC;YAED,IAAI,qBAAqB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvD,eAAe,GAAG,IAAI,CAAC;gBACvB,iBAAiB,GAAG,UAAU,aAAa,CAAC,EAAE,SAAS,CAAC;gBACxD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAAC;QAC5C,eAAe,GAAG,IAAI,CAAC;QACvB,iBAAiB,GAAG,yCAAyC,qBAAqB,GAAG,CAAC;QAEtF,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,mBAAmB,iBAAiB,EAAE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,sBAAsB;QACtB,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-concurrently.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,oCAAoC,EACvC,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,uBAAuB,GAAE,oCAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACtG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAiHnD"}
1
+ {"version":3,"file":"execute-concurrently.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"AACA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,oCAAoC,EACvC,MAAM,mBAAmB,CAAC;AAO3B,wBAAsB,mBAAmB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EACnF,QAAQ,GAAE,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAO,EACvE,uBAAuB,GAAE,oCAAoC,CAAC,eAAe,EAAE,gBAAgB,CAAM,GACtG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAqLnD"}
@@ -6,6 +6,7 @@ import { RateLimiter } from "./rate-limiter.js";
6
6
  import { CircuitBreaker, CircuitBreakerOpenError } from "./circuit-breaker.js";
7
7
  export async function executeConcurrently(requests = [], requestExecutionOptions = {}) {
8
8
  const responses = [];
9
+ const stopOnFirstError = requestExecutionOptions.stopOnFirstError || false;
9
10
  const circuitBreaker = requestExecutionOptions.circuitBreaker
10
11
  ? (requestExecutionOptions.circuitBreaker instanceof CircuitBreaker
11
12
  ? requestExecutionOptions.circuitBreaker
@@ -23,7 +24,11 @@ export async function executeConcurrently(requests = [], requestExecutionOptions
23
24
  reqData: prepareApiRequestData(req, requestExecutionOptions),
24
25
  ...prepareApiRequestOptions(req, requestExecutionOptions),
25
26
  commonBuffer: requestExecutionOptions.sharedBuffer ?? req.requestOptions.commonBuffer,
26
- ...(circuitBreaker ? { circuitBreaker } : {})
27
+ ...(circuitBreaker ? { circuitBreaker } : {}),
28
+ executionContext: {
29
+ ...requestExecutionOptions.executionContext,
30
+ requestId: req.id
31
+ }
27
32
  };
28
33
  try {
29
34
  const result = await stableRequest(finalRequestOptions);
@@ -42,30 +47,85 @@ export async function executeConcurrently(requests = [], requestExecutionOptions
42
47
  }
43
48
  };
44
49
  });
45
- let stableRequests;
46
50
  const hasConcurrencyLimit = requestExecutionOptions.maxConcurrentRequests &&
47
51
  requestExecutionOptions.maxConcurrentRequests > 0 &&
48
52
  requestExecutionOptions.maxConcurrentRequests < requests.length;
49
53
  const hasRateLimit = requestExecutionOptions.rateLimit &&
50
54
  requestExecutionOptions.rateLimit.maxRequests > 0 &&
51
55
  requestExecutionOptions.rateLimit.windowMs > 0;
52
- if (hasConcurrencyLimit && hasRateLimit) {
53
- const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
54
- const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
55
- stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(() => rateLimiter.execute(fn)));
56
- }
57
- else if (hasConcurrencyLimit) {
58
- const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
59
- stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(fn));
60
- }
61
- else if (hasRateLimit) {
62
- const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
63
- stableRequests = requestFunctions.map(fn => rateLimiter.execute(fn));
56
+ let stableRequests;
57
+ let settledResponses;
58
+ if (stopOnFirstError) {
59
+ const results = [];
60
+ let errorDetected = false;
61
+ const activePromises = new Set();
62
+ const concurrencyLimiter = hasConcurrencyLimit
63
+ ? new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests)
64
+ : null;
65
+ const rateLimiter = hasRateLimit
66
+ ? new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs)
67
+ : null;
68
+ const createExecutor = (fn) => {
69
+ if (concurrencyLimiter && rateLimiter) {
70
+ return () => concurrencyLimiter.execute(() => rateLimiter.execute(fn));
71
+ }
72
+ else if (concurrencyLimiter) {
73
+ return () => concurrencyLimiter.execute(fn);
74
+ }
75
+ else if (rateLimiter) {
76
+ return () => rateLimiter.execute(fn);
77
+ }
78
+ return fn;
79
+ };
80
+ for (let i = 0; i < requestFunctions.length; i++) {
81
+ if (errorDetected) {
82
+ break;
83
+ }
84
+ const executor = createExecutor(requestFunctions[i]);
85
+ const executeRequest = async (index) => {
86
+ try {
87
+ const result = await executor();
88
+ results[index] = { status: 'fulfilled', value: result };
89
+ }
90
+ catch (error) {
91
+ results[index] = { status: 'rejected', reason: error };
92
+ errorDetected = true;
93
+ }
94
+ };
95
+ const promise = executeRequest(i);
96
+ activePromises.add(promise);
97
+ promise.finally(() => activePromises.delete(promise));
98
+ if (i < requestFunctions.length - 1) {
99
+ await Promise.race([
100
+ promise,
101
+ new Promise(resolve => setTimeout(resolve, 0))
102
+ ]);
103
+ }
104
+ }
105
+ if (activePromises.size > 0) {
106
+ await Promise.all(Array.from(activePromises));
107
+ }
108
+ settledResponses = results.filter(r => r !== undefined);
64
109
  }
65
110
  else {
66
- stableRequests = requestFunctions.map(fn => fn());
111
+ if (hasConcurrencyLimit && hasRateLimit) {
112
+ const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
113
+ const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
114
+ stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(() => rateLimiter.execute(fn)));
115
+ }
116
+ else if (hasConcurrencyLimit) {
117
+ const concurrencyLimiter = new ConcurrencyLimiter(requestExecutionOptions.maxConcurrentRequests);
118
+ stableRequests = requestFunctions.map(fn => concurrencyLimiter.execute(fn));
119
+ }
120
+ else if (hasRateLimit) {
121
+ const rateLimiter = new RateLimiter(requestExecutionOptions.rateLimit.maxRequests, requestExecutionOptions.rateLimit.windowMs);
122
+ stableRequests = requestFunctions.map(fn => rateLimiter.execute(fn));
123
+ }
124
+ else {
125
+ stableRequests = requestFunctions.map(fn => fn());
126
+ }
127
+ settledResponses = await Promise.allSettled(stableRequests);
67
128
  }
68
- const settledResponses = await Promise.allSettled(stableRequests);
69
129
  for (let i = 0; i < settledResponses.length; i++) {
70
130
  const res = settledResponses[i];
71
131
  const req = requests[i];
@@ -1 +1 @@
1
- {"version":3,"file":"execute-concurrently.js","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-concurrently.js","sourceRoot":"","sources":["../../src/utilities/execute-concurrently.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute-non-linear-workflow.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-non-linear-workflow.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EAKzB,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,wBAAwB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC1F,OAAO,EAAE,wBAAwB,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACnE,OAAO,CAAC,oCAAoC,CAAC,gBAAgB,CAAC,CAAC,CA6hBjE"}
1
+ {"version":3,"file":"execute-non-linear-workflow.d.ts","sourceRoot":"","sources":["../../src/utilities/execute-non-linear-workflow.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EAKzB,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,wBAAwB,CAAC,eAAe,GAAG,GAAG,EAAE,gBAAgB,GAAG,GAAG,EAC1F,OAAO,EAAE,wBAAwB,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACnE,OAAO,CAAC,oCAAoC,CAAC,gBAAgB,CAAC,CAAC,CAyiBjE"}
@@ -1,8 +1,9 @@
1
1
  import { executePhase } from './execute-phase.js';
2
2
  import { safelyExecuteUnknownFunction } from './safely-execute-unknown-function.js';
3
+ import { formatLogContext } from './format-log-context.js';
3
4
  import { PHASE_DECISION_ACTIONS } from '../enums/index.js';
4
5
  export async function executeNonLinearWorkflow(context) {
5
- const { phases, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, handlePhaseDecision, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
6
+ const { phases, workflowId, branchId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, handlePhaseError, handlePhaseDecision, maxSerializableChars, workflowHookParams, sharedBuffer, stopOnFirstPhaseError, maxWorkflowIterations } = context;
6
7
  const phaseResults = [];
7
8
  const executionHistory = [];
8
9
  const phaseExecutionCounts = new Map();
@@ -23,7 +24,7 @@ export async function executeNonLinearWorkflow(context) {
23
24
  const phaseData = phaseMap.get(currentPhaseId);
24
25
  if (!phaseData) {
25
26
  if (logPhaseResults) {
26
- console.error(`stable-request: [Workflow: ${workflowId}] Phase '${currentPhaseId}' not found. Terminating workflow.`);
27
+ console.error(`${formatLogContext({ workflowId, branchId })}stable-request: Phase '${currentPhaseId}' not found. Terminating workflow.`);
27
28
  }
28
29
  terminatedEarly = true;
29
30
  terminationReason = `Phase '${currentPhaseId}' not found`;
@@ -48,12 +49,14 @@ export async function executeNonLinearWorkflow(context) {
48
49
  const concurrentPromises = concurrentPhases.map(({ phase: p, index: idx, id }) => {
49
50
  const executionNumber = (phaseExecutionCounts.get(id) || 0) + 1;
50
51
  phaseExecutionCounts.set(id, executionNumber);
51
- return executePhase(p, idx, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer).then(result => ({
52
+ return executePhase(p, idx, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer, branchId).then(result => ({
52
53
  ...result,
53
54
  executionNumber,
54
55
  phaseId: id,
55
56
  phaseIndex: idx
56
57
  })).catch(error => ({
58
+ workflowId,
59
+ ...(branchId && { branchId }),
57
60
  phaseId: id,
58
61
  phaseIndex: idx,
59
62
  success: false,
@@ -98,6 +101,7 @@ export async function executeNonLinearWorkflow(context) {
98
101
  try {
99
102
  decision = await safelyExecuteUnknownFunction(lastConcurrentPhase.phase.phaseDecisionHook, {
100
103
  workflowId,
104
+ ...(branchId && { branchId }),
101
105
  phaseResult: lastResult,
102
106
  phaseId: lastConcurrentPhase.id,
103
107
  phaseIndex: lastConcurrentPhase.index,
@@ -110,7 +114,7 @@ export async function executeNonLinearWorkflow(context) {
110
114
  decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
111
115
  }
112
116
  if (logPhaseResults) {
113
- console.info(`stable-request: [Workflow: ${workflowId}] Concurrent group decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
117
+ console.info(`${formatLogContext({ workflowId, branchId })}stable-request: Concurrent group decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
114
118
  }
115
119
  if (handlePhaseDecision) {
116
120
  try {
@@ -122,7 +126,7 @@ export async function executeNonLinearWorkflow(context) {
122
126
  }
123
127
  }
124
128
  catch (decisionError) {
125
- console.error(`stable-request: [Workflow: ${workflowId}] Error in phaseDecisionHook for concurrent group:`, decisionError);
129
+ console.error(`${formatLogContext({ workflowId, branchId })}stable-request: Error in phaseDecisionHook for concurrent group:`, decisionError);
126
130
  decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
127
131
  }
128
132
  }
@@ -148,7 +152,7 @@ export async function executeNonLinearWorkflow(context) {
148
152
  break;
149
153
  case PHASE_DECISION_ACTIONS.REPLAY:
150
154
  if (logPhaseResults) {
151
- console.warn(`stable-request: [Workflow: ${workflowId}] Replay is not supported for concurrent phase groups. Continuing to next phase.`);
155
+ console.warn(`${formatLogContext({ workflowId, branchId })}stable-request: Replay is not supported for concurrent phase groups. Continuing to next phase.`);
152
156
  }
153
157
  currentPhaseId = phases[j]?.id || `phase-${j + 1}`;
154
158
  if (j >= phases.length) {
@@ -157,7 +161,7 @@ export async function executeNonLinearWorkflow(context) {
157
161
  break;
158
162
  case PHASE_DECISION_ACTIONS.JUMP:
159
163
  if (!decision.targetPhaseId) {
160
- console.error(`stable-request: [Workflow: ${workflowId}] Jump decision requires targetPhaseId. Continuing to next phase.`);
164
+ console.error(`${formatLogContext({ workflowId, branchId })}stable-request: Jump decision requires targetPhaseId. Continuing to next phase.`);
161
165
  currentPhaseId = phases[j]?.id || `phase-${j + 1}`;
162
166
  if (j >= phases.length) {
163
167
  currentPhaseId = null;
@@ -183,9 +187,11 @@ export async function executeNonLinearWorkflow(context) {
183
187
  const maxReplayCount = phase.maxReplayCount ?? Infinity;
184
188
  if (executionNumber > maxReplayCount + 1) {
185
189
  if (logPhaseResults) {
186
- console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' exceeded max replay count (${maxReplayCount}). Skipping.`);
190
+ console.warn(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Phase '${phaseId}' exceeded max replay count (${maxReplayCount}). Skipping.`);
187
191
  }
188
192
  const skippedResult = {
193
+ workflowId,
194
+ ...(branchId && { branchId }),
189
195
  phaseId,
190
196
  phaseIndex,
191
197
  success: false,
@@ -208,10 +214,10 @@ export async function executeNonLinearWorkflow(context) {
208
214
  }
209
215
  if (logPhaseResults) {
210
216
  const executionLabel = executionNumber > 1 ? ` (execution #${executionNumber})` : '';
211
- console.info(`\nstable-request: [Workflow: ${workflowId}] Executing Phase '${phaseId}'${executionLabel}`);
217
+ console.info(`${formatLogContext({ workflowId, branchId, phaseId })}\nstable-request: Executing Phase '${phaseId}'${executionLabel}`);
212
218
  }
213
219
  try {
214
- const phaseResult = await executePhase(phase, phaseIndex, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer);
220
+ const phaseResult = await executePhase(phase, phaseIndex, workflowId, commonGatewayOptions, requestGroups, logPhaseResults, handlePhaseCompletion, maxSerializableChars, workflowHookParams, sharedBuffer, branchId);
215
221
  phaseResult.executionNumber = executionNumber;
216
222
  totalRequests += phaseResult.totalRequests;
217
223
  successfulRequests += phaseResult.successfulRequests;
@@ -230,6 +236,7 @@ export async function executeNonLinearWorkflow(context) {
230
236
  try {
231
237
  decision = await safelyExecuteUnknownFunction(phase.phaseDecisionHook, {
232
238
  workflowId,
239
+ ...(branchId && { branchId }),
233
240
  phaseResult,
234
241
  phaseId,
235
242
  phaseIndex,
@@ -243,7 +250,7 @@ export async function executeNonLinearWorkflow(context) {
243
250
  phaseResult.decision = decision;
244
251
  historyRecord.decision = decision;
245
252
  if (logPhaseResults) {
246
- console.info(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
253
+ console.info(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Phase '${phaseId}' decision: ${decision.action}`, decision.targetPhaseId ? `-> ${decision.targetPhaseId}` : '');
247
254
  }
248
255
  if (handlePhaseDecision) {
249
256
  try {
@@ -255,7 +262,7 @@ export async function executeNonLinearWorkflow(context) {
255
262
  }
256
263
  }
257
264
  catch (decisionError) {
258
- console.error(`stable-request: [Workflow: ${workflowId}] Error in phaseDecisionHook for phase '${phaseId}':`, decisionError);
265
+ console.error(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Error in phaseDecisionHook for phase '${phaseId}':`, decisionError);
259
266
  decision = { action: PHASE_DECISION_ACTIONS.CONTINUE };
260
267
  }
261
268
  }
@@ -279,7 +286,7 @@ export async function executeNonLinearWorkflow(context) {
279
286
  break;
280
287
  case PHASE_DECISION_ACTIONS.SKIP:
281
288
  if (!phase.allowSkip && phase.allowSkip !== undefined) {
282
- console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' attempted to skip but allowSkip is false. Continuing normally.`);
289
+ console.warn(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Phase '${phaseId}' attempted to skip but allowSkip is false. Continuing normally.`);
283
290
  currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
284
291
  if (phaseIndex + 1 >= phases.length) {
285
292
  currentPhaseId = null;
@@ -299,7 +306,7 @@ export async function executeNonLinearWorkflow(context) {
299
306
  break;
300
307
  case PHASE_DECISION_ACTIONS.REPLAY:
301
308
  if (!phase.allowReplay && phase.allowReplay !== undefined) {
302
- console.warn(`stable-request: [Workflow: ${workflowId}] Phase '${phaseId}' attempted to replay but allowReplay is false. Continuing normally.`);
309
+ console.warn(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Phase '${phaseId}' attempted to replay but allowReplay is false. Continuing normally.`);
303
310
  currentPhaseId = phases[phaseIndex + 1]?.id || `phase-${phaseIndex + 2}`;
304
311
  if (phaseIndex + 1 >= phases.length) {
305
312
  currentPhaseId = null;
@@ -331,8 +338,10 @@ export async function executeNonLinearWorkflow(context) {
331
338
  }
332
339
  }
333
340
  catch (phaseError) {
334
- console.error(`stable-request: [Workflow: ${workflowId}] Error executing phase '${phaseId}':`, phaseError);
341
+ console.error(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Error executing phase '${phaseId}':`, phaseError);
335
342
  const errorResult = {
343
+ workflowId,
344
+ ...(branchId && { branchId }),
336
345
  phaseId,
337
346
  phaseIndex,
338
347
  success: false,
@@ -358,6 +367,7 @@ export async function executeNonLinearWorkflow(context) {
358
367
  try {
359
368
  await safelyExecuteUnknownFunction(handlePhaseError, {
360
369
  workflowId,
370
+ ...(branchId && { branchId }),
361
371
  phaseResult: errorResult,
362
372
  error: phaseError,
363
373
  maxSerializableChars,
@@ -366,7 +376,7 @@ export async function executeNonLinearWorkflow(context) {
366
376
  });
367
377
  }
368
378
  catch (hookError) {
369
- console.error(`stable-request: [Workflow: ${workflowId}] Error in handlePhaseError hook:`, hookError);
379
+ console.error(`${formatLogContext({ workflowId, branchId, phaseId })}stable-request: Error in handlePhaseError hook:`, hookError);
370
380
  }
371
381
  if (stopOnFirstPhaseError) {
372
382
  terminatedEarly = true;
@@ -381,7 +391,7 @@ export async function executeNonLinearWorkflow(context) {
381
391
  }
382
392
  if (iterationCount >= maxWorkflowIterations && currentPhaseId) {
383
393
  if (logPhaseResults) {
384
- console.warn(`stable-request: [Workflow: ${workflowId}] Reached max workflow iterations (${maxWorkflowIterations}). Terminating.`);
394
+ console.warn(`${formatLogContext({ workflowId, branchId })}stable-request: Reached max workflow iterations (${maxWorkflowIterations}). Terminating.`);
385
395
  }
386
396
  terminatedEarly = true;
387
397
  terminationReason = `Exceeded maximum workflow iterations (${maxWorkflowIterations})`;