@etohq/workflow-engine-redis 1.5.1-alpha.4 → 1.5.1-alpha.8

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 (60) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/loaders/redis.d.ts.map +1 -1
  6. package/dist/loaders/redis.js +61 -15
  7. package/dist/loaders/redis.js.map +1 -1
  8. package/dist/loaders/utils.js +1 -1
  9. package/dist/loaders/utils.js.map +1 -1
  10. package/dist/migrations/Migration20231228143900.d.ts +1 -1
  11. package/dist/migrations/Migration20231228143900.d.ts.map +1 -1
  12. package/dist/migrations/Migration20231228143900.js +1 -1
  13. package/dist/migrations/Migration20231228143900.js.map +1 -1
  14. package/dist/migrations/Migration20241206123341.d.ts +1 -1
  15. package/dist/migrations/Migration20241206123341.d.ts.map +1 -1
  16. package/dist/migrations/Migration20241206123341.js +1 -1
  17. package/dist/migrations/Migration20241206123341.js.map +1 -1
  18. package/dist/migrations/Migration20250120111059.d.ts +1 -1
  19. package/dist/migrations/Migration20250120111059.d.ts.map +1 -1
  20. package/dist/migrations/Migration20250120111059.js +1 -1
  21. package/dist/migrations/Migration20250120111059.js.map +1 -1
  22. package/dist/migrations/Migration20250128174354.d.ts +1 -1
  23. package/dist/migrations/Migration20250128174354.d.ts.map +1 -1
  24. package/dist/migrations/Migration20250128174354.js +1 -1
  25. package/dist/migrations/Migration20250128174354.js.map +1 -1
  26. package/dist/migrations/Migration20250505101505.d.ts +1 -1
  27. package/dist/migrations/Migration20250505101505.d.ts.map +1 -1
  28. package/dist/migrations/Migration20250505101505.js +1 -1
  29. package/dist/migrations/Migration20250505101505.js.map +1 -1
  30. package/dist/migrations/Migration20250819110923.d.ts +6 -0
  31. package/dist/migrations/Migration20250819110923.d.ts.map +1 -0
  32. package/dist/migrations/Migration20250819110923.js +14 -0
  33. package/dist/migrations/Migration20250819110923.js.map +1 -0
  34. package/dist/migrations/Migration20250819110924.d.ts +6 -0
  35. package/dist/migrations/Migration20250819110924.d.ts.map +1 -0
  36. package/dist/migrations/Migration20250819110924.js +16 -0
  37. package/dist/migrations/Migration20250819110924.js.map +1 -0
  38. package/dist/migrations/Migration20250908080326.d.ts +6 -0
  39. package/dist/migrations/Migration20250908080326.d.ts.map +1 -0
  40. package/dist/migrations/Migration20250908080326.js +20 -0
  41. package/dist/migrations/Migration20250908080326.js.map +1 -0
  42. package/dist/models/workflow-execution.d.ts.map +1 -1
  43. package/dist/models/workflow-execution.js +20 -0
  44. package/dist/models/workflow-execution.js.map +1 -1
  45. package/dist/services/workflow-orchestrator.d.ts +12 -3
  46. package/dist/services/workflow-orchestrator.d.ts.map +1 -1
  47. package/dist/services/workflow-orchestrator.js +199 -104
  48. package/dist/services/workflow-orchestrator.js.map +1 -1
  49. package/dist/services/workflows-module.d.ts +11 -5
  50. package/dist/services/workflows-module.d.ts.map +1 -1
  51. package/dist/services/workflows-module.js +13 -18
  52. package/dist/services/workflows-module.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/index.d.ts +108 -4
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/utils/workflow-orchestrator-storage.d.ts +17 -2
  57. package/dist/utils/workflow-orchestrator-storage.d.ts.map +1 -1
  58. package/dist/utils/workflow-orchestrator-storage.js +301 -182
  59. package/dist/utils/workflow-orchestrator-storage.js.map +1 -1
  60. package/package.json +5 -4
@@ -16,14 +16,11 @@ exports.WorkflowOrchestratorService = void 0;
16
16
  const orchestration_1 = require("@etohq/framework/orchestration");
17
17
  const utils_1 = require("@etohq/framework/utils");
18
18
  const workflows_sdk_1 = require("@etohq/framework/workflows-sdk");
19
- const timers_1 = require("timers");
20
19
  const ulid_1 = require("ulid");
21
20
  const AnySubscriber = "any";
22
21
  class WorkflowOrchestratorService {
23
22
  constructor({ dataLoaderOnly, redisDistributedTransactionStorage, redisPublisher, redisSubscriber, sharedContainer, }) {
24
23
  this.instanceId = (0, ulid_1.ulid)();
25
- this.subscribers = new Map();
26
- this.activeStepsCount = 0;
27
24
  _WorkflowOrchestratorService_logger.set(this, void 0);
28
25
  this.container_ = sharedContainer;
29
26
  this.redisPublisher = redisPublisher;
@@ -36,9 +33,17 @@ class WorkflowOrchestratorService {
36
33
  }
37
34
  this.redisDistributedTransactionStorage_ =
38
35
  redisDistributedTransactionStorage;
39
- this.redisSubscriber.on("message", async (_, message) => {
40
- const { instanceId, data } = JSON.parse(message);
41
- await this.notify(data, false, instanceId);
36
+ this.redisSubscriber.on("message", async (channel, message) => {
37
+ const workflowId = channel.split(":")[1];
38
+ if (!WorkflowOrchestratorService.subscribers.has(workflowId))
39
+ return;
40
+ try {
41
+ const { instanceId, data } = JSON.parse(message);
42
+ await this.notify(data, false, instanceId);
43
+ }
44
+ catch (error) {
45
+ __classPrivateFieldGet(this, _WorkflowOrchestratorService_logger, "f").error(`Failed to process Redis message: ${error}`);
46
+ }
42
47
  });
43
48
  }
44
49
  async onApplicationShutdown() {
@@ -47,16 +52,20 @@ class WorkflowOrchestratorService {
47
52
  async onApplicationPrepareShutdown() {
48
53
  // eslint-disable-next-line max-len
49
54
  await this.redisDistributedTransactionStorage_.onApplicationPrepareShutdown();
50
- while (this.activeStepsCount > 0) {
51
- await new Promise((resolve) => (0, timers_1.setTimeout)(resolve, 1000));
52
- }
53
55
  }
54
56
  async onApplicationStart() {
55
57
  await this.redisDistributedTransactionStorage_.onApplicationStart();
56
58
  }
57
- async triggerParentStep(transaction, result) {
59
+ async triggerParentStep(transaction, result, errors) {
58
60
  const metadata = transaction.flow.metadata;
59
- const { parentStepIdempotencyKey } = metadata ?? {};
61
+ const { parentStepIdempotencyKey, cancelingFromParentStep } = metadata ?? {};
62
+ if (cancelingFromParentStep) {
63
+ /**
64
+ * If the sub workflow is cancelling from a parent step, we don't want to trigger the parent
65
+ * step.
66
+ */
67
+ return;
68
+ }
60
69
  if (parentStepIdempotencyKey) {
61
70
  const hasFailed = [
62
71
  utils_1.TransactionState.REVERTED,
@@ -65,7 +74,7 @@ class WorkflowOrchestratorService {
65
74
  if (hasFailed) {
66
75
  await this.setStepFailure({
67
76
  idempotencyKey: parentStepIdempotencyKey,
68
- stepResponse: result,
77
+ stepResponse: errors,
69
78
  options: {
70
79
  logOnError: true,
71
80
  },
@@ -87,12 +96,12 @@ class WorkflowOrchestratorService {
87
96
  let { throwOnError, context } = options ?? {};
88
97
  throwOnError ??= true;
89
98
  context ??= {};
90
- context.transactionId = transactionId ?? (0, ulid_1.ulid)();
99
+ context.transactionId = transactionId ?? "auto-" + (0, ulid_1.ulid)();
91
100
  const workflowId = (0, utils_1.isString)(workflowIdOrWorkflow)
92
101
  ? workflowIdOrWorkflow
93
102
  : workflowIdOrWorkflow.getName();
94
103
  if (!workflowId) {
95
- throw new Error("Workflow ID is required");
104
+ throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_FOUND, `Workflow ID is required`);
96
105
  }
97
106
  const events = this.buildWorkflowEvents({
98
107
  customEventHandlers: eventHandlers,
@@ -101,17 +110,17 @@ class WorkflowOrchestratorService {
101
110
  });
102
111
  const exportedWorkflow = workflows_sdk_1.EtoWorkflow.getWorkflow(workflowId);
103
112
  if (!exportedWorkflow) {
104
- throw new Error(`Workflow with id "${workflowId}" not found.`);
113
+ throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_FOUND, `Workflow with id "${workflowId}" not found.`);
105
114
  }
115
+ const { onFinish, ...restEvents } = events;
106
116
  const originalOnFinishHandler = events.onFinish;
107
- delete events.onFinish;
108
117
  const ret = await exportedWorkflow.run({
109
118
  input,
110
119
  throwOnError: false,
111
120
  logOnError,
112
121
  resultFrom,
113
122
  context,
114
- events,
123
+ events: restEvents,
115
124
  container: container ?? this.container_,
116
125
  });
117
126
  const hasFinished = ret.transaction.hasFinished();
@@ -135,7 +144,7 @@ class WorkflowOrchestratorService {
135
144
  result,
136
145
  errors,
137
146
  });
138
- await this.triggerParentStep(ret.transaction, result);
147
+ await this.triggerParentStep(ret.transaction, result, errors);
139
148
  }
140
149
  if (throwOnError && (ret.thrownError || ret.errors?.length)) {
141
150
  if (ret.thrownError) {
@@ -159,14 +168,9 @@ class WorkflowOrchestratorService {
159
168
  if (!transactionId) {
160
169
  throw new Error("Transaction ID is required");
161
170
  }
162
- const events = this.buildWorkflowEvents({
163
- customEventHandlers: eventHandlers,
164
- workflowId,
165
- transactionId: transactionId,
166
- });
167
171
  const exportedWorkflow = workflows_sdk_1.EtoWorkflow.getWorkflow(workflowId);
168
172
  if (!exportedWorkflow) {
169
- throw new Error(`Workflow with id "${workflowId}" not found.`);
173
+ throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_FOUND, `Workflow with id "${workflowId}" not found.`);
170
174
  }
171
175
  const transaction = await this.getRunningTransaction(workflowId, transactionId, { ...options, isCancelling: true });
172
176
  if (!transaction) {
@@ -181,12 +185,19 @@ class WorkflowOrchestratorService {
181
185
  }
182
186
  throw new Error("Transaction not found");
183
187
  }
188
+ const events = this.buildWorkflowEvents({
189
+ customEventHandlers: eventHandlers,
190
+ workflowId,
191
+ transactionId: transactionId,
192
+ });
193
+ const { onFinish, ...restEvents } = events;
194
+ const originalOnFinishHandler = events.onFinish;
184
195
  const ret = await exportedWorkflow.cancel({
185
196
  transaction,
186
197
  throwOnError: false,
187
198
  logOnError,
188
199
  context,
189
- events,
200
+ events: restEvents,
190
201
  container: container ?? this.container_,
191
202
  });
192
203
  const hasFinished = ret.transaction.hasFinished();
@@ -204,15 +215,12 @@ class WorkflowOrchestratorService {
204
215
  };
205
216
  if (hasFinished) {
206
217
  const { result, errors } = ret;
207
- this.notify({
208
- eventType: "onFinish",
209
- workflowId,
210
- transactionId: transaction.transactionId,
211
- state: transactionState,
218
+ await originalOnFinishHandler({
219
+ transaction: ret.transaction,
212
220
  result,
213
221
  errors,
214
222
  });
215
- await this.triggerParentStep(ret.transaction, result);
223
+ await this.triggerParentStep(ret.transaction, result, errors);
216
224
  }
217
225
  if (throwOnError && (ret.thrownError || ret.errors?.length)) {
218
226
  if (ret.thrownError) {
@@ -238,6 +246,47 @@ class WorkflowOrchestratorService {
238
246
  const transaction = await flow.getRunningTransaction(transactionId, context);
239
247
  return transaction;
240
248
  }
249
+ async retryStep({ idempotencyKey, options, }) {
250
+ const { context, logOnError, container, events: eventHandlers, } = options ?? {};
251
+ let { throwOnError } = options ?? {};
252
+ throwOnError ??= true;
253
+ const [idempotencyKey_, { workflowId, transactionId }] = this.buildIdempotencyKeyAndParts(idempotencyKey);
254
+ const exportedWorkflow = workflows_sdk_1.EtoWorkflow.getWorkflow(workflowId);
255
+ if (!exportedWorkflow) {
256
+ throw new Error(`Workflow with id "${workflowId}" not found.`);
257
+ }
258
+ const events = this.buildWorkflowEvents({
259
+ customEventHandlers: eventHandlers,
260
+ transactionId,
261
+ workflowId,
262
+ });
263
+ const { onFinish, ...restEvents } = events;
264
+ const originalOnFinishHandler = events.onFinish;
265
+ const ret = await exportedWorkflow.retryStep({
266
+ idempotencyKey: idempotencyKey_,
267
+ context,
268
+ throwOnError: false,
269
+ logOnError,
270
+ events: restEvents,
271
+ container: container ?? this.container_,
272
+ });
273
+ if (ret.transaction.hasFinished()) {
274
+ const { result, errors } = ret;
275
+ await originalOnFinishHandler({
276
+ transaction: ret.transaction,
277
+ result,
278
+ errors,
279
+ });
280
+ await this.triggerParentStep(ret.transaction, result, errors);
281
+ }
282
+ if (throwOnError && (ret.thrownError || ret.errors?.length)) {
283
+ if (ret.thrownError) {
284
+ throw ret.thrownError;
285
+ }
286
+ throw ret.errors[0].error;
287
+ }
288
+ return ret;
289
+ }
241
290
  async setStepSuccess({ idempotencyKey, stepResponse, options, }) {
242
291
  const { context, logOnError, resultFrom, container, events: eventHandlers, } = options ?? {};
243
292
  let { throwOnError } = options ?? {};
@@ -252,27 +301,26 @@ class WorkflowOrchestratorService {
252
301
  transactionId,
253
302
  workflowId,
254
303
  });
304
+ const { onFinish, ...restEvents } = events;
305
+ const originalOnFinishHandler = events.onFinish;
255
306
  const ret = await exportedWorkflow.registerStepSuccess({
256
307
  idempotencyKey: idempotencyKey_,
257
308
  context,
258
309
  resultFrom,
259
310
  throwOnError: false,
260
311
  logOnError,
261
- events,
312
+ events: restEvents,
262
313
  response: stepResponse,
263
314
  container: container ?? this.container_,
264
315
  });
265
316
  if (ret.transaction.hasFinished()) {
266
317
  const { result, errors } = ret;
267
- this.notify({
268
- eventType: "onFinish",
269
- workflowId,
270
- transactionId,
271
- state: ret.transaction.getFlow().state,
318
+ await originalOnFinishHandler({
319
+ transaction: ret.transaction,
272
320
  result,
273
321
  errors,
274
322
  });
275
- await this.triggerParentStep(ret.transaction, result);
323
+ await this.triggerParentStep(ret.transaction, result, errors);
276
324
  }
277
325
  if (throwOnError && (ret.thrownError || ret.errors?.length)) {
278
326
  if (ret.thrownError) {
@@ -283,7 +331,7 @@ class WorkflowOrchestratorService {
283
331
  return ret;
284
332
  }
285
333
  async setStepFailure({ idempotencyKey, stepResponse, options, }) {
286
- const { context, logOnError, resultFrom, container, events: eventHandlers, } = options ?? {};
334
+ const { context, logOnError, resultFrom, container, events: eventHandlers, forcePermanentFailure, } = options ?? {};
287
335
  let { throwOnError } = options ?? {};
288
336
  throwOnError ??= true;
289
337
  const [idempotencyKey_, { workflowId, transactionId }] = this.buildIdempotencyKeyAndParts(idempotencyKey);
@@ -296,27 +344,27 @@ class WorkflowOrchestratorService {
296
344
  transactionId,
297
345
  workflowId,
298
346
  });
347
+ const { onFinish, ...restEvents } = events;
348
+ const originalOnFinishHandler = events.onFinish;
299
349
  const ret = await exportedWorkflow.registerStepFailure({
300
350
  idempotencyKey: idempotencyKey_,
301
351
  context,
302
352
  resultFrom,
303
353
  throwOnError: false,
304
354
  logOnError,
305
- events,
355
+ events: restEvents,
306
356
  response: stepResponse,
307
357
  container: container ?? this.container_,
358
+ forcePermanentFailure,
308
359
  });
309
360
  if (ret.transaction.hasFinished()) {
310
361
  const { result, errors } = ret;
311
- this.notify({
312
- eventType: "onFinish",
313
- workflowId,
314
- transactionId,
315
- state: ret.transaction.getFlow().state,
362
+ await originalOnFinishHandler({
363
+ transaction: ret.transaction,
316
364
  result,
317
365
  errors,
318
366
  });
319
- await this.triggerParentStep(ret.transaction, result);
367
+ await this.triggerParentStep(ret.transaction, result, errors);
320
368
  }
321
369
  if (throwOnError && (ret.thrownError || ret.errors?.length)) {
322
370
  if (ret.thrownError) {
@@ -328,9 +376,9 @@ class WorkflowOrchestratorService {
328
376
  }
329
377
  subscribe({ workflowId, transactionId, subscriber, subscriberId, }) {
330
378
  subscriber._id = subscriberId;
331
- const subscribers = this.subscribers.get(workflowId) ?? new Map();
379
+ const subscribers = WorkflowOrchestratorService.subscribers.get(workflowId) ?? new Map();
332
380
  // Subscribe instance to redis
333
- if (!this.subscribers.has(workflowId)) {
381
+ if (!WorkflowOrchestratorService.subscribers.has(workflowId)) {
334
382
  void this.redisSubscriber.subscribe(this.getChannelName(workflowId));
335
383
  }
336
384
  const handlerIndex = (handlers) => {
@@ -344,7 +392,7 @@ class WorkflowOrchestratorService {
344
392
  }
345
393
  transactionSubscribers.push(subscriber);
346
394
  subscribers.set(transactionId, transactionSubscribers);
347
- this.subscribers.set(workflowId, subscribers);
395
+ WorkflowOrchestratorService.subscribers.set(workflowId, subscribers);
348
396
  return;
349
397
  }
350
398
  const workflowSubscribers = subscribers.get(AnySubscriber) ?? [];
@@ -354,10 +402,10 @@ class WorkflowOrchestratorService {
354
402
  }
355
403
  workflowSubscribers.push(subscriber);
356
404
  subscribers.set(AnySubscriber, workflowSubscribers);
357
- this.subscribers.set(workflowId, subscribers);
405
+ WorkflowOrchestratorService.subscribers.set(workflowId, subscribers);
358
406
  }
359
407
  unsubscribe({ workflowId, transactionId, subscriberOrId, }) {
360
- const subscribers = this.subscribers.get(workflowId);
408
+ const subscribers = WorkflowOrchestratorService.subscribers.get(workflowId);
361
409
  if (!subscribers) {
362
410
  return;
363
411
  }
@@ -393,7 +441,7 @@ class WorkflowOrchestratorService {
393
441
  }
394
442
  }
395
443
  if (subscribers.size === 0) {
396
- this.subscribers.delete(workflowId);
444
+ WorkflowOrchestratorService.subscribers.delete(workflowId);
397
445
  void this.redisSubscriber.unsubscribe(this.getChannelName(workflowId));
398
446
  }
399
447
  }
@@ -401,62 +449,66 @@ class WorkflowOrchestratorService {
401
449
  if (!publish && instanceId === this.instanceId) {
402
450
  return;
403
451
  }
404
- if (publish) {
405
- const channel = this.getChannelName(options.workflowId);
406
- const message = JSON.stringify({
407
- instanceId: this.instanceId,
408
- data: options,
409
- });
410
- await this.redisPublisher.publish(channel, message);
411
- }
412
- const { eventType, workflowId, transactionId, errors, result, step, response, state, } = options;
413
- const subscribers = this.subscribers.get(workflowId) ?? new Map();
414
- const notifySubscribers = (handlers) => {
415
- handlers.forEach((handler) => {
416
- const args = {
417
- eventType,
418
- workflowId,
419
- transactionId,
420
- step,
421
- response,
422
- result,
423
- errors,
424
- state,
425
- };
426
- const isPromise = "then" in handler;
427
- if (isPromise) {
428
- ;
429
- handler(args).catch((e) => {
430
- __classPrivateFieldGet(this, _WorkflowOrchestratorService_logger, "f").error(e);
452
+ const { workflowId, isFlowAsync } = options;
453
+ // Non-blocking Redis publishing
454
+ if (publish && isFlowAsync) {
455
+ setImmediate(async () => {
456
+ try {
457
+ const channel = this.getChannelName(workflowId);
458
+ const message = JSON.stringify({
459
+ instanceId: this.instanceId,
460
+ data: options,
431
461
  });
462
+ await this.redisPublisher.publish(channel, message);
432
463
  }
433
- else {
434
- try {
435
- handler(args);
436
- }
437
- catch (e) {
438
- __classPrivateFieldGet(this, _WorkflowOrchestratorService_logger, "f").error(e);
464
+ catch (error) {
465
+ __classPrivateFieldGet(this, _WorkflowOrchestratorService_logger, "f").error(`Failed to publish to Redis: ${error}`);
466
+ }
467
+ });
468
+ }
469
+ // Process subscribers asynchronously
470
+ setImmediate(() => this.processSubscriberNotifications(options));
471
+ }
472
+ async processSubscriberNotifications(options) {
473
+ const { workflowId, transactionId, eventType } = options;
474
+ const subscribers = WorkflowOrchestratorService.subscribers.get(workflowId) ?? new Map();
475
+ const notifySubscribersAsync = async (handlers) => {
476
+ const promises = handlers.map(async (handler) => {
477
+ try {
478
+ const result = handler(options);
479
+ if (result && typeof result === "object" && "then" in result) {
480
+ await result;
439
481
  }
440
482
  }
483
+ catch (error) {
484
+ __classPrivateFieldGet(this, _WorkflowOrchestratorService_logger, "f").error(`Subscriber error: ${error}`);
485
+ }
441
486
  });
487
+ await (0, utils_1.promiseAll)(promises);
442
488
  };
489
+ const tasks = [];
443
490
  if (transactionId) {
444
491
  const transactionSubscribers = subscribers.get(transactionId) ?? [];
445
- notifySubscribers(transactionSubscribers);
446
- // removes transaction id subscribers on finish
492
+ if (transactionSubscribers.length > 0) {
493
+ tasks.push(notifySubscribersAsync(transactionSubscribers));
494
+ }
447
495
  if (eventType === "onFinish") {
448
496
  subscribers.delete(transactionId);
449
497
  }
450
498
  }
451
499
  const workflowSubscribers = subscribers.get(AnySubscriber) ?? [];
452
- notifySubscribers(workflowSubscribers);
500
+ if (workflowSubscribers.length > 0) {
501
+ tasks.push(notifySubscribersAsync(workflowSubscribers));
502
+ }
503
+ await (0, utils_1.promiseAll)(tasks);
453
504
  }
454
505
  getChannelName(workflowId) {
455
506
  return `orchestrator:${workflowId}`;
456
507
  }
457
508
  buildWorkflowEvents({ customEventHandlers, workflowId, transactionId, }) {
458
- const notify = async ({ eventType, step, result, response, errors, state, }) => {
509
+ const notify = async ({ isFlowAsync, eventType, step, result, response, errors, state, }) => {
459
510
  await this.notify({
511
+ isFlowAsync,
460
512
  workflowId,
461
513
  transactionId,
462
514
  eventType,
@@ -470,35 +522,60 @@ class WorkflowOrchestratorService {
470
522
  return {
471
523
  onTimeout: async ({ transaction }) => {
472
524
  customEventHandlers?.onTimeout?.({ transaction });
473
- await notify({ eventType: "onTimeout" });
525
+ await notify({
526
+ eventType: "onTimeout",
527
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
528
+ });
474
529
  },
475
530
  onBegin: async ({ transaction }) => {
476
531
  customEventHandlers?.onBegin?.({ transaction });
477
- await notify({ eventType: "onBegin" });
532
+ await notify({
533
+ eventType: "onBegin",
534
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
535
+ });
478
536
  },
479
537
  onResume: async ({ transaction }) => {
480
538
  customEventHandlers?.onResume?.({ transaction });
481
- await notify({ eventType: "onResume" });
539
+ await notify({
540
+ eventType: "onResume",
541
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
542
+ });
482
543
  },
483
544
  onCompensateBegin: async ({ transaction }) => {
484
545
  customEventHandlers?.onCompensateBegin?.({ transaction });
485
- await notify({ eventType: "onCompensateBegin" });
546
+ await notify({
547
+ eventType: "onCompensateBegin",
548
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
549
+ });
486
550
  },
487
551
  onFinish: async ({ transaction, result, errors }) => {
488
552
  customEventHandlers?.onFinish?.({ transaction, result, errors });
489
- await notify({ eventType: "onFinish" });
553
+ await notify({
554
+ eventType: "onFinish",
555
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
556
+ result,
557
+ errors,
558
+ state: transaction.getFlow().state,
559
+ });
490
560
  },
491
561
  onStepBegin: async ({ step, transaction }) => {
492
562
  customEventHandlers?.onStepBegin?.({ step, transaction });
493
- this.activeStepsCount++;
494
- await notify({ eventType: "onStepBegin", step });
563
+ await notify({
564
+ eventType: "onStepBegin",
565
+ step,
566
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
567
+ });
495
568
  },
496
569
  onStepSuccess: async ({ step, transaction }) => {
497
570
  const stepName = step.definition.action;
498
571
  const response = await (0, workflows_sdk_1.resolveValue)(transaction.getContext().invoke[stepName], transaction);
499
572
  customEventHandlers?.onStepSuccess?.({ step, transaction, response });
500
- await notify({ eventType: "onStepSuccess", step, response });
501
- this.activeStepsCount--;
573
+ await notify({
574
+ eventType: "onStepSuccess",
575
+ step,
576
+ response,
577
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
578
+ });
502
579
  },
503
580
  onStepFailure: async ({ step, transaction }) => {
504
581
  const stepName = step.definition.action;
@@ -506,13 +583,20 @@ class WorkflowOrchestratorService {
506
583
  .getErrors(orchestration_1.TransactionHandlerType.INVOKE)
507
584
  .filter((err) => err.action === stepName);
508
585
  customEventHandlers?.onStepFailure?.({ step, transaction, errors });
509
- await notify({ eventType: "onStepFailure", step, errors });
510
- this.activeStepsCount--;
586
+ await notify({
587
+ eventType: "onStepFailure",
588
+ step,
589
+ errors,
590
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
591
+ });
511
592
  },
512
593
  onStepAwaiting: async ({ step, transaction }) => {
513
594
  customEventHandlers?.onStepAwaiting?.({ step, transaction });
514
- await notify({ eventType: "onStepAwaiting", step });
515
- this.activeStepsCount--;
595
+ await notify({
596
+ eventType: "onStepAwaiting",
597
+ step,
598
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
599
+ });
516
600
  },
517
601
  onCompensateStepSuccess: async ({ step, transaction }) => {
518
602
  const stepName = step.definition.action;
@@ -522,7 +606,12 @@ class WorkflowOrchestratorService {
522
606
  transaction,
523
607
  response,
524
608
  });
525
- await notify({ eventType: "onCompensateStepSuccess", step, response });
609
+ await notify({
610
+ eventType: "onCompensateStepSuccess",
611
+ step,
612
+ response,
613
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
614
+ });
526
615
  },
527
616
  onCompensateStepFailure: async ({ step, transaction }) => {
528
617
  const stepName = step.definition.action;
@@ -530,7 +619,12 @@ class WorkflowOrchestratorService {
530
619
  .getErrors(orchestration_1.TransactionHandlerType.COMPENSATE)
531
620
  .filter((err) => err.action === stepName);
532
621
  customEventHandlers?.onStepFailure?.({ step, transaction, errors });
533
- await notify({ eventType: "onCompensateStepFailure", step, errors });
622
+ await notify({
623
+ eventType: "onCompensateStepFailure",
624
+ step,
625
+ errors,
626
+ isFlowAsync: transaction.getFlow().hasAsyncSteps,
627
+ });
534
628
  },
535
629
  };
536
630
  }
@@ -562,4 +656,5 @@ class WorkflowOrchestratorService {
562
656
  }
563
657
  exports.WorkflowOrchestratorService = WorkflowOrchestratorService;
564
658
  _WorkflowOrchestratorService_logger = new WeakMap();
659
+ WorkflowOrchestratorService.subscribers = new Map();
565
660
  //# sourceMappingURL=workflow-orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestrator.js","sourceRoot":"","sources":["../../src/services/workflow-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-orchestrator.js","sourceRoot":"","sources":["../../src/services/workflow-orchestrator.ts"],"names":[],"mappings":"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"}