@adonis-agora/durable 0.58.2 → 0.59.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.
Files changed (163) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/assets/spa/assets/index-Co0ef3-q.css +1 -0
  3. package/dist/assets/spa/assets/index-DmgfShPp.js +16 -0
  4. package/dist/assets/spa/assets/index-DmgfShPp.js.map +1 -0
  5. package/dist/assets/spa/index.html +2 -2
  6. package/dist/commands/lifecycle_republish.d.ts +23 -0
  7. package/dist/commands/lifecycle_republish.d.ts.map +1 -0
  8. package/dist/commands/lifecycle_republish.js +64 -0
  9. package/dist/commands/lifecycle_republish.js.map +1 -0
  10. package/dist/commands/main.d.ts +4 -3
  11. package/dist/commands/main.d.ts.map +1 -1
  12. package/dist/commands/main.js +3 -1
  13. package/dist/commands/main.js.map +1 -1
  14. package/dist/providers/dashboard_provider.d.ts +2 -0
  15. package/dist/providers/dashboard_provider.d.ts.map +1 -1
  16. package/dist/providers/dashboard_provider.js +9 -1
  17. package/dist/providers/dashboard_provider.js.map +1 -1
  18. package/dist/src/commands/index.d.ts +1 -1
  19. package/dist/src/commands/index.d.ts.map +1 -1
  20. package/dist/src/commands/index.js +1 -1
  21. package/dist/src/commands/index.js.map +1 -1
  22. package/dist/src/commands/runs.d.ts +24 -1
  23. package/dist/src/commands/runs.d.ts.map +1 -1
  24. package/dist/src/commands/runs.js +50 -0
  25. package/dist/src/commands/runs.js.map +1 -1
  26. package/dist/src/commands/worker.d.ts.map +1 -1
  27. package/dist/src/commands/worker.js +3 -0
  28. package/dist/src/commands/worker.js.map +1 -1
  29. package/dist/src/dashboard/gateway-adapter.d.ts +5 -0
  30. package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -1
  31. package/dist/src/dashboard/gateway-adapter.js +20 -0
  32. package/dist/src/dashboard/gateway-adapter.js.map +1 -1
  33. package/dist/src/dashboard/handlers.d.ts +29 -1
  34. package/dist/src/dashboard/handlers.d.ts.map +1 -1
  35. package/dist/src/dashboard/handlers.js +103 -0
  36. package/dist/src/dashboard/handlers.js.map +1 -1
  37. package/dist/src/dashboard/index.d.ts +2 -2
  38. package/dist/src/dashboard/index.d.ts.map +1 -1
  39. package/dist/src/dashboard/index.js +2 -2
  40. package/dist/src/dashboard/index.js.map +1 -1
  41. package/dist/src/dashboard/openapi.d.ts.map +1 -1
  42. package/dist/src/dashboard/openapi.js +39 -0
  43. package/dist/src/dashboard/openapi.js.map +1 -1
  44. package/dist/src/diagnostics-bridge.d.ts +5 -1
  45. package/dist/src/diagnostics-bridge.d.ts.map +1 -1
  46. package/dist/src/diagnostics-bridge.js +16 -2
  47. package/dist/src/diagnostics-bridge.js.map +1 -1
  48. package/dist/src/engine.d.ts +365 -5
  49. package/dist/src/engine.d.ts.map +1 -1
  50. package/dist/src/engine.js +1491 -76
  51. package/dist/src/engine.js.map +1 -1
  52. package/dist/src/event-accumulators.d.ts +28 -5
  53. package/dist/src/event-accumulators.d.ts.map +1 -1
  54. package/dist/src/event-accumulators.js +102 -21
  55. package/dist/src/event-accumulators.js.map +1 -1
  56. package/dist/src/events.d.ts +25 -0
  57. package/dist/src/events.d.ts.map +1 -1
  58. package/dist/src/events.js +24 -0
  59. package/dist/src/events.js.map +1 -1
  60. package/dist/src/handshake/announced.d.ts +6 -0
  61. package/dist/src/handshake/announced.d.ts.map +1 -1
  62. package/dist/src/handshake/announced.js +20 -0
  63. package/dist/src/handshake/announced.js.map +1 -1
  64. package/dist/src/handshake/descriptor.d.ts +6 -0
  65. package/dist/src/handshake/descriptor.d.ts.map +1 -1
  66. package/dist/src/handshake/descriptor.js +1 -0
  67. package/dist/src/handshake/descriptor.js.map +1 -1
  68. package/dist/src/index.d.ts +3 -2
  69. package/dist/src/index.d.ts.map +1 -1
  70. package/dist/src/index.js +3 -2
  71. package/dist/src/index.js.map +1 -1
  72. package/dist/src/interfaces.d.ts +45 -2
  73. package/dist/src/interfaces.d.ts.map +1 -1
  74. package/dist/src/interfaces.js.map +1 -1
  75. package/dist/src/lifecycle-events.d.ts +372 -0
  76. package/dist/src/lifecycle-events.d.ts.map +1 -0
  77. package/dist/src/lifecycle-events.js +383 -0
  78. package/dist/src/lifecycle-events.js.map +1 -0
  79. package/dist/src/metrics.d.ts +15 -0
  80. package/dist/src/metrics.d.ts.map +1 -1
  81. package/dist/src/metrics.js +36 -1
  82. package/dist/src/metrics.js.map +1 -1
  83. package/dist/src/otel/durable-metrics.d.ts +9 -0
  84. package/dist/src/otel/durable-metrics.d.ts.map +1 -1
  85. package/dist/src/otel/durable-metrics.js +17 -0
  86. package/dist/src/otel/durable-metrics.js.map +1 -1
  87. package/dist/src/otel/durable-otel.d.ts +7 -0
  88. package/dist/src/otel/durable-otel.d.ts.map +1 -1
  89. package/dist/src/otel/durable-otel.js +69 -3
  90. package/dist/src/otel/durable-otel.js.map +1 -1
  91. package/dist/src/run-detail-summary.d.ts +48 -1
  92. package/dist/src/run-detail-summary.d.ts.map +1 -1
  93. package/dist/src/run-detail-summary.js +30 -2
  94. package/dist/src/run-detail-summary.js.map +1 -1
  95. package/dist/src/run-gateway/interface.d.ts +16 -0
  96. package/dist/src/run-gateway/interface.d.ts.map +1 -1
  97. package/dist/src/run-gateway/proxy-run-gateway.d.ts +31 -1
  98. package/dist/src/run-gateway/proxy-run-gateway.d.ts.map +1 -1
  99. package/dist/src/run-gateway/proxy-run-gateway.js +59 -7
  100. package/dist/src/run-gateway/proxy-run-gateway.js.map +1 -1
  101. package/dist/src/run-gateway/run-request-responder.d.ts +4 -29
  102. package/dist/src/run-gateway/run-request-responder.d.ts.map +1 -1
  103. package/dist/src/run-gateway/run-request-responder.js +183 -6
  104. package/dist/src/run-gateway/run-request-responder.js.map +1 -1
  105. package/dist/src/run-gateway/store-run-gateway.d.ts +9 -0
  106. package/dist/src/run-gateway/store-run-gateway.d.ts.map +1 -1
  107. package/dist/src/run-gateway/store-run-gateway.js +8 -0
  108. package/dist/src/run-gateway/store-run-gateway.js.map +1 -1
  109. package/dist/src/run-waiting.d.ts +1 -0
  110. package/dist/src/run-waiting.d.ts.map +1 -1
  111. package/dist/src/run-waiting.js +6 -1
  112. package/dist/src/run-waiting.js.map +1 -1
  113. package/dist/src/stores/lucid.d.ts.map +1 -1
  114. package/dist/src/stores/lucid.js +4 -0
  115. package/dist/src/stores/lucid.js.map +1 -1
  116. package/dist/src/telescope/dashboard.d.ts.map +1 -1
  117. package/dist/src/telescope/dashboard.js +50 -0
  118. package/dist/src/telescope/dashboard.js.map +1 -1
  119. package/dist/src/telescope/data-providers.d.ts +19 -0
  120. package/dist/src/telescope/data-providers.d.ts.map +1 -1
  121. package/dist/src/telescope/data-providers.js +128 -2
  122. package/dist/src/telescope/data-providers.js.map +1 -1
  123. package/dist/src/telescope/extension.d.ts.map +1 -1
  124. package/dist/src/telescope/extension.js +4 -1
  125. package/dist/src/telescope/extension.js.map +1 -1
  126. package/dist/src/telescope/index.d.ts +3 -2
  127. package/dist/src/telescope/index.d.ts.map +1 -1
  128. package/dist/src/telescope/index.js +2 -1
  129. package/dist/src/telescope/index.js.map +1 -1
  130. package/dist/src/telescope/telescope-sdk.d.ts +16 -0
  131. package/dist/src/telescope/telescope-sdk.d.ts.map +1 -1
  132. package/dist/src/telescope/watcher.d.ts +66 -0
  133. package/dist/src/telescope/watcher.d.ts.map +1 -0
  134. package/dist/src/telescope/watcher.js +185 -0
  135. package/dist/src/telescope/watcher.js.map +1 -0
  136. package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
  137. package/dist/src/testing/in-memory-state-store.js +8 -0
  138. package/dist/src/testing/in-memory-state-store.js.map +1 -1
  139. package/dist/src/testing-kit/harness.d.ts +1 -1
  140. package/dist/src/testing-kit/harness.d.ts.map +1 -1
  141. package/dist/src/testing-kit/harness.js +3 -1
  142. package/dist/src/testing-kit/harness.js.map +1 -1
  143. package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
  144. package/dist/src/testing-kit/state-store-conformance.js +59 -0
  145. package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
  146. package/dist/src/workflow-ctx.d.ts.map +1 -1
  147. package/dist/src/workflow-ctx.js +62 -0
  148. package/dist/src/workflow-ctx.js.map +1 -1
  149. package/dist/src/workflow-discovery.d.ts.map +1 -1
  150. package/dist/src/workflow-discovery.js +1 -0
  151. package/dist/src/workflow-discovery.js.map +1 -1
  152. package/dist/src/workflow-events.d.ts +101 -0
  153. package/dist/src/workflow-events.d.ts.map +1 -1
  154. package/dist/src/workflow-events.js +79 -1
  155. package/dist/src/workflow-events.js.map +1 -1
  156. package/dist/src/workflow-ref.d.ts +17 -2
  157. package/dist/src/workflow-ref.d.ts.map +1 -1
  158. package/dist/src/workflow-ref.js.map +1 -1
  159. package/package.json +4 -4
  160. package/skills/durable-cluster/SKILL.md +4 -2
  161. package/dist/assets/spa/assets/index-6nmSTfT7.css +0 -1
  162. package/dist/assets/spa/assets/index-DjdTutsN.js +0 -16
  163. package/dist/assets/spa/assets/index-DjdTutsN.js.map +0 -1
@@ -8,6 +8,7 @@ import { ContinueAsNew, FatalError, GatherError, NestedWorkflowCallError, NonDet
8
8
  import { EVENT_BUFFER_SCAN_LIMIT, eventMatches, eventToken } from './events.js';
9
9
  import { allChildId, allFoldedName, allGroup, allWait, allWaves, FOLDED_PREFIX, fanJoin, } from './fan-join.js';
10
10
  import { TERMINAL_RUN_STATUSES, } from './interfaces.js';
11
+ import { lastRunOfChain, lifecycleEventOf, lifecycleKindOf, runWaitToken, } from './lifecycle-events.js';
11
12
  import { codeAndDetails } from './on-error.js';
12
13
  import { breakpointToken } from './protocol.js';
13
14
  import { getRunsByIds } from './run-waiting.js';
@@ -422,6 +423,66 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
422
423
  return bufferedHit.value;
423
424
  throw new WorkflowSuspended(deadline, [waitSeq]);
424
425
  };
426
+ // Wait for any run to settle (`ctx.waitForRun`). A signal waiter whose token embeds the target and
427
+ // this call's own `runId#seq` (see runWaitToken), woken with the lifecycle event of the run that
428
+ // ends the target's continue-as-new chain when it settles (the engine's notifyRunWaiters, or its
429
+ // sweepRunWaits after a crash). Registered FIRST, then the target is read: one that settled
430
+ // before the registration resolves here, one that settles after it finds the waiter.
431
+ const settledTarget = async (target, token, seq) => {
432
+ const run = await lastRunOfChain((id) => store.getRun(id), target);
433
+ if (!run) {
434
+ await store.removeSignalWaiter({ token, runId, seq }).catch(() => undefined);
435
+ throw new FatalError(`run ${target} not found`, 'run_not_found');
436
+ }
437
+ if (!lifecycleKindOf(run.status))
438
+ return null;
439
+ // Claim our own waiter (the token is unique to this call). When the engine's settle delivery
440
+ // took it first, that delivery writes the checkpoint and wakes the run: resolve from the
441
+ // checkpoint if it is already there, else suspend and let the wake replay this call.
442
+ if (!(await store.takeSignalWaiter(token))) {
443
+ const delivered = await store.getCheckpoint(runId, seq);
444
+ return delivered?.status === 'completed'
445
+ ? { value: delivered.output }
446
+ : null;
447
+ }
448
+ const event = lifecycleEventOf(run);
449
+ await writeCheckpoint(instantCheckpoint({ runId, seq, name: `signal:${token}`, kind: 'signal', output: event }));
450
+ return { value: event };
451
+ };
452
+ const waitForRun = async (first, second, third) => {
453
+ const target = typeof first === 'string' ? first : second;
454
+ const opts = typeof first === 'string' ? second : third;
455
+ if (opts?.timeoutMs == null) {
456
+ const current = pos.next();
457
+ const existing = await readCheckpoint(current);
458
+ if (existing && existing.status === 'completed') {
459
+ return existing.output;
460
+ }
461
+ const token = runWaitToken(target, runId, current);
462
+ await store.putSignalWaiter({ token, runId, seq: current });
463
+ const settled = await settledTarget(target, token, current);
464
+ if (settled)
465
+ return settled.value;
466
+ throw new WorkflowSuspended(undefined, [current]);
467
+ }
468
+ const timeoutMs = parseDuration(opts.timeoutMs);
469
+ const deadlineSeq = pos.next();
470
+ const waitSeq = pos.next();
471
+ const token = runWaitToken(target, runId, waitSeq);
472
+ const deadline = await stampDeadline(deadlineSeq, `run:${target}`, timeoutMs);
473
+ const waited = await readCheckpoint(waitSeq);
474
+ if (waited && waited.status === 'completed')
475
+ return waited.output;
476
+ if (host.clock() >= deadline) {
477
+ await store.removeSignalWaiter({ token, runId, seq: waitSeq }).catch(() => undefined);
478
+ throw new SignalTimeoutError(`run:${target}`, timeoutMs);
479
+ }
480
+ await store.putSignalWaiter({ token, runId, seq: waitSeq });
481
+ const settled = await settledTarget(target, token, waitSeq);
482
+ if (settled)
483
+ return settled.value;
484
+ throw new WorkflowSuspended(deadline, [waitSeq]);
485
+ };
425
486
  // An external task = a checkpointed dispatch + a wait for its async-completion `Completion`
426
487
  // (delivered by engine.completeTask/failTask). The whole "fire at a foreign system, suspend,
427
488
  // resume when it reports back" pattern as one call.
@@ -1149,6 +1210,7 @@ export function createWorkflowCtx(host, runId, compensations, workflow = '') {
1149
1210
  continueAsNew,
1150
1211
  waitForSignal: guard('waitForSignal', waitForSignal),
1151
1212
  waitForEvent: guard('waitForEvent', waitForEvent),
1213
+ waitForRun: guard('waitForRun', waitForRun),
1152
1214
  task: guard('task', task),
1153
1215
  child: guard('child', child),
1154
1216
  all: guard('all', all),
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-ctx.js","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-ctx.js","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-discovery.d.ts","sourceRoot":"","sources":["../../src/workflow-discovery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,UAAU;IAC9C,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D,CAAC;AAEF;2CAC2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,uBAAuB,KAC1B,uBAAuB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AAQ1F;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,oBAA6C,GACrD,OAAO,CAAC,OAAO,CAAC,CAMlB;AAkFD,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA6CrD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAM/B;AAQD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,GAAG,SAAS,YAAY,EAAE,EACjD,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACnC,OAAO,CAAC,YAAY,EAAE,CAAC,CAazB"}
1
+ {"version":3,"file":"workflow-discovery.d.ts","sourceRoot":"","sources":["../../src/workflow-discovery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EAIf,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,UAAU;IAC9C,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/D,CAAC;AAEF;2CAC2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,uBAAuB,KAC1B,uBAAuB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;AAQ1F;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,oBAA6C,GACrD,OAAO,CAAC,OAAO,CAAC,CAMlB;AAmFD,yFAAyF;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA6CrD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC9B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAM/B;AAQD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,GAAG,SAAS,YAAY,EAAE,EACjD,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACnC,OAAO,CAAC,YAAY,EAAE,CAAC,CAazB"}
@@ -75,6 +75,7 @@ async function registerClass(engine, cls, factory, derivedOrigin) {
75
75
  ...(meta.onEvent || exactNames.length > 0
76
76
  ? { onEvent: [...(meta.onEvent ?? []), ...exactNames] }
77
77
  : {}),
78
+ ...(meta.eventBatch ? { eventBatch: meta.eventBatch } : {}),
78
79
  ...(meta.singleton ? { singleton: meta.singleton } : {}),
79
80
  ...(meta.concurrency ? { concurrency: meta.concurrency } : {}),
80
81
  ...originOpts,
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-discovery.js","sourceRoot":"","sources":["../../src/workflow-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-discovery.js","sourceRoot":"","sources":["../../src/workflow-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type LifecycleEventOf, type WorkflowLifecycleEvent } from './lifecycle-events.js';
1
2
  import { type WorkflowClass } from './workflow-ref.js';
2
3
  /**
3
4
  * Event-triggered workflows: a workflow class declares which **external** events start a
@@ -82,4 +83,104 @@ export declare function OnEvent(config: EmitterTriggerConfig): ClassDecorator;
82
83
  export declare function OnDiagnostic(config: DiagnosticsTriggerConfig): ClassDecorator;
83
84
  /** Workflow-class shape used by the bridge to start a run on a matching event. */
84
85
  export type EventTriggeredWorkflow = WorkflowClass;
86
+ /** Debounce for {@link OnWorkflowCompleted} / {@link OnWorkflowFailed}: see {@link OnWorkflowSettledOptions.debounce}. */
87
+ export interface SubscriberDebounce<TRunInput> {
88
+ /** Start once no event arrived for this long (ms, or a duration like `'30s'`). */
89
+ windowMs: number | string;
90
+ /** Coalesce per key instead of per workflow; receives the subscriber's input. */
91
+ key?: ((input: TRunInput) => string) | undefined;
92
+ }
93
+ /** Batch for {@link OnWorkflowCompleted} / {@link OnWorkflowFailed}: see {@link OnWorkflowSettledOptions.batch}. */
94
+ export interface SubscriberBatch<TRunInput> {
95
+ /** Start once this many events arrived. */
96
+ maxSize: number;
97
+ /** Or once this long (ms, or a duration like `'1m'`) passed since the first event. */
98
+ windowMs: number | string;
99
+ /** Coalesce per key instead of per workflow; receives the subscriber's input. */
100
+ key?: ((input: TRunInput) => string) | undefined;
101
+ }
102
+ /** Options for {@link OnWorkflowCompleted} / {@link OnWorkflowFailed}. */
103
+ export interface OnWorkflowSettledOptions<TEvent, TRunInput> {
104
+ /** Start only for the settled runs this returns true for, e.g. by `input` or `searchAttributes`. */
105
+ where?: ((event: TEvent) => boolean) | undefined;
106
+ /**
107
+ * The started run's input, built from the event. Without it the run receives the
108
+ * {@link WorkflowLifecycleEvent} itself. Lets an existing workflow subscribe with its own input
109
+ * shape, and keeps the settled run's whole input and output out of the new run's row.
110
+ */
111
+ input?: ((event: TEvent) => TRunInput) | undefined;
112
+ /**
113
+ * Start one run with the last input once events stopped arriving for `windowMs`, instead of one
114
+ * run per settled run; with `key`, one per key. Sets the workflow's `eventBatch`, so it applies to
115
+ * every event the workflow subscribes to.
116
+ */
117
+ debounce?: SubscriberDebounce<TRunInput> | undefined;
118
+ /**
119
+ * Start one run with `{ events }` (every input collected) once `maxSize` arrived or `windowMs`
120
+ * passed since the first, instead of one run per settled run; with `key`, one per key. Sets the
121
+ * workflow's `eventBatch`, like `debounce`; the two cannot be combined.
122
+ */
123
+ batch?: SubscriberBatch<TRunInput> | undefined;
124
+ }
125
+ /** Options for {@link OnWorkflowFailed}: also which endings start the subscriber. */
126
+ export interface OnWorkflowFailedOptions<TEvent, TRunInput> extends OnWorkflowSettledOptions<TEvent, TRunInput> {
127
+ /** The endings that start it. Defaults to all three: `failed`, `cancelled` and `dead`. */
128
+ statuses?: Array<'failed' | 'cancelled' | 'dead'> | undefined;
129
+ }
130
+ /** Options with `batch` set: the subscriber receives `{ events }` and cannot also debounce. */
131
+ type Batched<O, TRunInput> = O & {
132
+ batch: SubscriberBatch<TRunInput>;
133
+ debounce?: undefined;
134
+ };
135
+ /** Options without `batch`: the subscriber receives one input. */
136
+ type Unbatched<O> = O & {
137
+ batch?: undefined;
138
+ };
139
+ /**
140
+ * A class decorator that only accepts a workflow whose `run(ctx, input)` takes `TRunInput`, so a
141
+ * subscriber with the wrong input shape fails to compile instead of failing at runtime.
142
+ */
143
+ export type SubscriberDecorator<TRunInput> = <T extends abstract new (...args: never[]) => {
144
+ run: (ctx: never, input: TRunInput) => unknown;
145
+ }>(target: T) => void;
146
+ /**
147
+ * Start a fresh run of the decorated workflow whenever a run of `workflow` **completes**. The new
148
+ * run's input is the {@link WorkflowLifecycleEvent} (run id, input, output, tags, search
149
+ * attributes), or what `input` builds from it. The settling workflow does not know about its
150
+ * subscribers. Exactly once per settled run: see `runCompletedEvent`.
151
+ *
152
+ * It only adds an entry to the class's `static workflow.onEvent` (and sets `eventBatch` for
153
+ * `debounce` / `batch`), so the class must declare `static workflow = { name }`. With a class ref,
154
+ * the decorated workflow's `run` input is type-checked against the event (or against `input`'s
155
+ * return type, or `{ events: [...] }` of it with `batch`). Child runs publish too, so a workflow
156
+ * another one starts with `ctx.child` also starts its subscribers.
157
+ *
158
+ * ```ts
159
+ * @OnWorkflowCompleted(IngestionWorkflow, {
160
+ * where: (e) => e.input.type === 'mvr',
161
+ * input: (e) => ({ baseId: e.input.baseId }),
162
+ * debounce: { windowMs: '30s', key: (input) => input.baseId },
163
+ * })
164
+ * export class RefreshSummariesWorkflow extends BaseWorkflow {
165
+ * static workflow = { name: 'refresh-summaries' }
166
+ * async run(ctx: WorkflowCtx, input: { baseId: string }) {}
167
+ * }
168
+ * ```
169
+ */
170
+ export declare function OnWorkflowCompleted<C extends WorkflowClass, TRunInput = LifecycleEventOf<C>>(workflow: C, options: Batched<OnWorkflowSettledOptions<LifecycleEventOf<C>, TRunInput>, TRunInput>): SubscriberDecorator<{
171
+ events: TRunInput[];
172
+ }>;
173
+ export declare function OnWorkflowCompleted<C extends WorkflowClass, TRunInput = LifecycleEventOf<C>>(workflow: C, options?: Unbatched<OnWorkflowSettledOptions<LifecycleEventOf<C>, TRunInput>>): SubscriberDecorator<TRunInput>;
174
+ export declare function OnWorkflowCompleted(workflow: string, options?: OnWorkflowSettledOptions<WorkflowLifecycleEvent, unknown>): ClassDecorator;
175
+ /**
176
+ * Start a fresh run of the decorated workflow whenever a run of `workflow` ends **failed,
177
+ * cancelled or dead** (narrow it with `statuses`). Same contract as {@link OnWorkflowCompleted};
178
+ * the event carries `error` and `status` instead of `output`.
179
+ */
180
+ export declare function OnWorkflowFailed<C extends WorkflowClass, TRunInput = LifecycleEventOf<C>>(workflow: C, options: Batched<OnWorkflowFailedOptions<LifecycleEventOf<C>, TRunInput>, TRunInput>): SubscriberDecorator<{
181
+ events: TRunInput[];
182
+ }>;
183
+ export declare function OnWorkflowFailed<C extends WorkflowClass, TRunInput = LifecycleEventOf<C>>(workflow: C, options?: Unbatched<OnWorkflowFailedOptions<LifecycleEventOf<C>, TRunInput>>): SubscriberDecorator<TRunInput>;
184
+ export declare function OnWorkflowFailed(workflow: string, options?: OnWorkflowFailedOptions<WorkflowLifecycleEvent, unknown>): ClassDecorator;
185
+ export {};
85
186
  //# sourceMappingURL=workflow-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-events.d.ts","sourceRoot":"","sources":["../../src/workflow-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,mBAAmB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mGAAmG;AACnG,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6FAA6F;AAC7F,MAAM,WAAW,wBAAwB;IACvC,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAC5B,CAAC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,oBAAoB,CAAC,GAC9C,CAAC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GAAG,wBAAwB,CAAC,CAAC;AAE3D,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAC9B,CAAC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,oBAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACrE,CAAC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GAAG,wBAAwB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAIxF;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAOxE;AAUD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAOpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,wBAAwB,GAAG,cAAc,CAO7E;AAED,kFAAkF;AAClF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"workflow-events.d.ts","sourceRoot":"","sources":["../../src/workflow-events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { parseDuration } from './duration.js';
2
+ import { runCompletedEvent, runFailedEvent, } from './lifecycle-events.js';
1
3
  import { callerFile, rememberDeclaringFile } from './origin.js';
2
- import { workflowMeta } from './workflow-ref.js';
4
+ import { workflowMeta, } from './workflow-ref.js';
3
5
  /**
4
6
  * The canonical engine event name an EXACT trigger maps to — the name the workflow
5
7
  * registers under `onEvent` and the bridge publishes with:
@@ -66,4 +68,80 @@ export function OnDiagnostic(config) {
66
68
  stampOn(target, { source: 'diagnostics', ...config });
67
69
  };
68
70
  }
71
+ export function OnWorkflowCompleted(workflow, options) {
72
+ const declaredIn = callerFile(OnWorkflowCompleted);
73
+ return onWorkflowSettled(runCompletedEvent(workflow), options?.where, options, declaredIn);
74
+ }
75
+ export function OnWorkflowFailed(workflow, options) {
76
+ const declaredIn = callerFile(OnWorkflowFailed);
77
+ const statuses = options?.statuses;
78
+ const where = options?.where;
79
+ const accepts = statuses || where
80
+ ? (event) => (!statuses || statuses.includes(event.status)) && (!where || where(event))
81
+ : undefined;
82
+ return onWorkflowSettled(runFailedEvent(workflow), accepts, options, declaredIn);
83
+ }
84
+ /** The `eventBatch` a subscriber decorator's `debounce` / `batch` option sets, if any. */
85
+ function subscriberEventBatch(decorator, options) {
86
+ const { debounce, batch } = options ?? {};
87
+ if (debounce && batch) {
88
+ throw new Error(`${decorator}: pass debounce or batch, not both.`);
89
+ }
90
+ if (debounce) {
91
+ return {
92
+ mode: 'debounce',
93
+ windowMs: parseDuration(debounce.windowMs),
94
+ ...(debounce.key ? { key: debounce.key } : {}),
95
+ };
96
+ }
97
+ if (batch) {
98
+ return {
99
+ mode: 'batch',
100
+ maxSize: batch.maxSize,
101
+ windowMs: parseDuration(batch.windowMs),
102
+ ...(batch.key ? { key: batch.key } : {}),
103
+ };
104
+ }
105
+ return undefined;
106
+ }
107
+ /**
108
+ * Whether two `eventBatch` configs coalesce the same way: same mode, window and batch size, and
109
+ * `key` functions with the same source text (two separately written but identical arrows match;
110
+ * keys whose source differs do not, even when they compute the same key).
111
+ */
112
+ function sameEventBatch(a, b) {
113
+ return (a.mode === b.mode &&
114
+ a.windowMs === b.windowMs &&
115
+ (a.mode === 'batch' ? a.maxSize : undefined) === (b.mode === 'batch' ? b.maxSize : undefined) &&
116
+ a.key?.toString() === b.key?.toString());
117
+ }
118
+ function onWorkflowSettled(event, where, options, declaredIn) {
119
+ const decorator = event.startsWith('run.completed:')
120
+ ? '@OnWorkflowCompleted'
121
+ : '@OnWorkflowFailed';
122
+ const eventBatch = subscriberEventBatch(decorator, options);
123
+ const input = options?.input;
124
+ const entry = {
125
+ event,
126
+ ...(where ? { where: where } : {}),
127
+ ...(input ? { input: input } : {}),
128
+ };
129
+ return (target) => {
130
+ const cls = target;
131
+ if (!cls.workflow || typeof cls.workflow.name !== 'string') {
132
+ throw new Error(`@OnWorkflowCompleted / @OnWorkflowFailed on ${cls.name}: the class declares no \`static workflow = { name }\`.`);
133
+ }
134
+ const declared = cls.workflow.eventBatch;
135
+ if (eventBatch && declared && !sameEventBatch(declared, eventBatch)) {
136
+ throw new Error(`${decorator} on ${cls.name}: its debounce/batch differs from the workflow's eventBatch. A workflow coalesces all its events one way; declare it once.`);
137
+ }
138
+ rememberDeclaringFile(target, declaredIn);
139
+ // A fresh config object, so a subclass never adds its subscription to its parent's.
140
+ cls.workflow = {
141
+ ...cls.workflow,
142
+ onEvent: [entry, ...(cls.workflow.onEvent ?? [])],
143
+ ...(eventBatch ? { eventBatch } : {}),
144
+ };
145
+ };
146
+ }
69
147
  //# sourceMappingURL=workflow-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-events.js","sourceRoot":"","sources":["../../src/workflow-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAsB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkDrE;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA+B;IACvE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IACvD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,GAAG,GAAI,MAAiE,CAAC,EAAE,CAAC;IAClF,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,gEAAgE;AAChE,SAAS,OAAO,CAAC,MAAe,EAAE,MAAqD;IACrF,MAAM,GAAG,GAAG,MAAgE,CAAC;IAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,MAA4B;IAClD,8FAA8F;IAC9F,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,MAAgC;IAC3D,8FAA8F;IAC9F,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflow-events.js","sourceRoot":"","sources":["../../src/workflow-events.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@
7
7
  */
8
8
  import type { ConcurrencyConfig } from './concurrency.js';
9
9
  import type { SingletonConfig } from './engine.js';
10
+ import type { EventBatchConfig } from './event-accumulators.js';
11
+ import type { OnEventEntry } from './events.js';
10
12
  import type { SearchAttributesSchema } from './interfaces.js';
11
13
  import type { ScheduledWorkflow, WorkflowScheduleConfig } from './scheduler.js';
12
14
  import type { StandardSchemaV1 } from './standard-schema.js';
@@ -20,8 +22,21 @@ export interface WorkflowOptions {
20
22
  tags?: string[];
21
23
  /** Wall-clock budget for the whole run (a duration string like `'5m'`, or ms). */
22
24
  executionTimeout?: string | number;
23
- /** Event names that start a run of this workflow when published (see `onEvent`). */
24
- onEvent?: string[];
25
+ /**
26
+ * Events that start a run of this workflow when published (see `publishEvent`). An entry is an
27
+ * event name, or `{ event, where, input }`: `where(payload)` decides per event whether this
28
+ * workflow starts, and `input(payload)` builds the started run's input. `@OnWorkflowCompleted` /
29
+ * `@OnWorkflowFailed` add entries here for another workflow's lifecycle events.
30
+ */
31
+ onEvent?: OnEventEntry[];
32
+ /**
33
+ * Coalesce the runs `onEvent` starts: `{ mode: 'debounce', windowMs }` starts one run with the
34
+ * last payload once events have been quiet for `windowMs`; `{ mode: 'batch', maxSize, windowMs }`
35
+ * starts one run with `{ events }` once `maxSize` arrived or `windowMs` passed since the first.
36
+ * `key(input)` coalesces per key instead of per workflow. `@OnWorkflowCompleted` /
37
+ * `@OnWorkflowFailed` set it from their `debounce` / `batch` options.
38
+ */
39
+ eventBatch?: EventBatchConfig;
25
40
  /**
26
41
  * Per-key serialization for runs of this workflow (see {@link SingletonConfig}): `key` derives the
27
42
  * serialization key from the run input, `limit` (default 1) caps concurrent runs sharing it, and