@fluidgrids/workflows 2026.1028.2 → 2026.1030.1

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 (154) hide show
  1. package/README.md +181 -11
  2. package/dist/{activation-BBh1p82z.d.cts → activation-DqUfpHzk.d.cts} +1 -1
  3. package/dist/{activation-DnhG7SmF.d.ts → activation-xpx1oWuo.d.ts} +1 -1
  4. package/dist/{chunk-VRHHBPT6.js → chunk-2D3MYIIF.js} +1212 -128
  5. package/dist/chunk-3U2NU7YC.cjs +124 -0
  6. package/dist/{chunk-NEIUQASE.cjs → chunk-4QKB4ARC.cjs} +3 -3
  7. package/dist/{chunk-GBQ33SIZ.cjs → chunk-54FLQNUM.cjs} +12 -1
  8. package/dist/chunk-5HIVIV53.js +330 -0
  9. package/dist/chunk-5MFVJM76.js +1222 -0
  10. package/dist/{chunk-JD2VQIDZ.cjs → chunk-672KMMBK.cjs} +2 -2
  11. package/dist/{chunk-C5OLWZ42.js → chunk-6A2FGSUS.js} +22 -14
  12. package/dist/{chunk-XKJA7KX3.js → chunk-6OLN6BMB.js} +52 -3
  13. package/dist/{chunk-6FSHT5IL.js → chunk-7EZIANC7.js} +1 -1
  14. package/dist/{chunk-2J6TF7YI.cjs → chunk-A5SXCA62.cjs} +10 -3
  15. package/dist/{chunk-BO6OVILK.js → chunk-AC6ZEXVR.js} +10 -4
  16. package/dist/{chunk-ABFZWYHT.js → chunk-AE5Q6ZAJ.js} +315 -50
  17. package/dist/chunk-C4F5KJTI.js +293 -0
  18. package/dist/{chunk-IISBRUWJ.js → chunk-G5H32GIG.js} +1 -1
  19. package/dist/chunk-GEQDGUGB.cjs +2719 -0
  20. package/dist/{chunk-XHXIDVEC.js → chunk-HCM7ZC7Q.js} +1 -1
  21. package/dist/chunk-HMZUGSMU.cjs +1554 -0
  22. package/dist/{chunk-SAOBPYYJ.cjs → chunk-IQPXHQQQ.cjs} +8 -4
  23. package/dist/{chunk-P6TA5EZT.cjs → chunk-ISOIA7NV.cjs} +335 -58
  24. package/dist/chunk-JSC75O5C.cjs +167 -0
  25. package/dist/chunk-M272AHEX.js +25 -0
  26. package/dist/{chunk-BD7ZPG53.js → chunk-NWQ5WRLE.js} +10 -2
  27. package/dist/chunk-ODZ2IAR2.cjs +1247 -0
  28. package/dist/chunk-Q4MWQNJK.cjs +28 -0
  29. package/dist/{chunk-HWJZVOG7.js → chunk-SR7TR5KX.js} +6 -2
  30. package/dist/{chunk-FEW3JBYA.cjs → chunk-TCTE7DX5.cjs} +3 -3
  31. package/dist/{chunk-623FVQSN.cjs → chunk-TYF56RGB.cjs} +123 -0
  32. package/dist/chunk-VA4OFR72.cjs +324 -0
  33. package/dist/chunk-VU5S5A7V.js +150 -0
  34. package/dist/chunk-YEHR4NNE.js +1522 -0
  35. package/dist/{chunk-FMSW2HDF.cjs → chunk-ZCGKGDCL.cjs} +23 -15
  36. package/dist/codegen/index.d.cts +2 -2
  37. package/dist/codegen/index.d.ts +2 -2
  38. package/dist/collect-6NIEufHd.d.ts +103 -0
  39. package/dist/collect-CcTCKqx6.d.cts +103 -0
  40. package/dist/{file-BOoHZgoQ.d.cts → file-BxYpwjRQ.d.cts} +1007 -21
  41. package/dist/{file-yuPCFU5b.d.ts → file-CFdPQJI9.d.ts} +1007 -21
  42. package/dist/history/index.cjs +375 -86
  43. package/dist/history/index.d.cts +590 -12
  44. package/dist/history/index.d.ts +590 -12
  45. package/dist/history/index.js +50 -4
  46. package/dist/index.cjs +156 -50
  47. package/dist/index.d.cts +38 -58
  48. package/dist/index.d.ts +38 -58
  49. package/dist/index.js +6 -4
  50. package/dist/interceptors-CNcr2dlk.d.ts +159 -0
  51. package/dist/interceptors-CqkNZVfI.d.cts +159 -0
  52. package/dist/ir/index.cjs +362 -38
  53. package/dist/ir/index.d.cts +282 -7
  54. package/dist/ir/index.d.ts +282 -7
  55. package/dist/ir/index.js +329 -23
  56. package/dist/{lower-BzmUz0sq.d.cts → lower-BtRfIW2A.d.cts} +56 -8
  57. package/dist/{lower-_-iT4HYs.d.ts → lower-CpsMFOFX.d.ts} +56 -8
  58. package/dist/{manifest-C8N6HDYl.d.ts → manifest-D-I_twys.d.ts} +1 -1
  59. package/dist/{manifest-0OLw0i7k.d.cts → manifest-DahBQVM8.d.cts} +1 -1
  60. package/dist/node-evaluator-DGQDPSPI.cjs +24 -0
  61. package/dist/node-evaluator-LEEVD7H7.js +14 -0
  62. package/dist/payload-fields-BVRQn2yH.d.cts +122 -0
  63. package/dist/payload-fields-oOBWxDiG.d.ts +122 -0
  64. package/dist/quickjs/index.cjs +28 -27
  65. package/dist/quickjs/index.d.cts +6 -6
  66. package/dist/quickjs/index.d.ts +6 -6
  67. package/dist/quickjs/index.js +10 -9
  68. package/dist/roundtrip/index.cjs +259 -51
  69. package/dist/roundtrip/index.d.cts +100 -9
  70. package/dist/roundtrip/index.d.ts +100 -9
  71. package/dist/roundtrip/index.js +177 -11
  72. package/dist/runtime/index.cjs +21 -20
  73. package/dist/runtime/index.d.cts +184 -15
  74. package/dist/runtime/index.d.ts +184 -15
  75. package/dist/runtime/index.js +8 -7
  76. package/dist/testing/index.cjs +1122 -115
  77. package/dist/testing/index.d.cts +294 -13
  78. package/dist/testing/index.d.ts +294 -13
  79. package/dist/testing/index.js +1086 -84
  80. package/dist/{types-DV-HX_Gt.d.ts → types-Bv2i4cBX.d.cts} +244 -33
  81. package/dist/{types-CpBBjaGX.d.cts → types-DGx-b9eq.d.ts} +244 -33
  82. package/dist/{types-BGoPzgcl.d.ts → types-V7jEEUaL.d.cts} +20 -1
  83. package/dist/{types-BGoPzgcl.d.cts → types-V7jEEUaL.d.ts} +20 -1
  84. package/dist/{workflow-Bpr3vnA_.d.ts → workflow-B18OeF7g.d.ts} +2 -2
  85. package/dist/workflow-BGnv8SS6.d.ts +803 -0
  86. package/dist/{workflow-FXUkpIBc.d.cts → workflow-BJPFv3cp.d.cts} +2 -2
  87. package/dist/workflow-DS32Gtws.d.cts +803 -0
  88. package/fixtures/histories/activity-options-updated.history.json +159 -0
  89. package/fixtures/histories/activity-paused-unpaused.history.json +160 -0
  90. package/fixtures/histories/auto-upgrade-patched.history.json +276 -0
  91. package/fixtures/histories/benign-failure.history.json +146 -0
  92. package/fixtures/histories/cancel-activity-try-cancel.history.json +150 -0
  93. package/fixtures/histories/child-cancel-wait-requested.history.json +217 -0
  94. package/fixtures/histories/child-options-roundtrip.history.json +192 -0
  95. package/fixtures/histories/codec-opaque.history.json +229 -0
  96. package/fixtures/histories/continue-as-new-last-result.history.json +86 -0
  97. package/fixtures/histories/continue-as-new-options.history.json +99 -0
  98. package/fixtures/histories/continue-as-new-r1-long-task-queue.history.json +78 -0
  99. package/fixtures/histories/continue-as-new-r1-retry-options.history.json +83 -0
  100. package/fixtures/histories/dynamic-workflow.history.json +150 -0
  101. package/fixtures/histories/execution-timeout-chain.history.json +98 -0
  102. package/fixtures/histories/external-cancel-resolved.history.json +123 -0
  103. package/fixtures/histories/external-cancel-unknown-target.history.json +127 -0
  104. package/fixtures/histories/failure-error-types-fails-run.history.json +144 -0
  105. package/fixtures/histories/handler-drain-warn.history.json +222 -0
  106. package/fixtures/histories/heartbeat-details-on-retry.history.json +145 -0
  107. package/fixtures/histories/interceptor-headers.history.json +339 -0
  108. package/fixtures/histories/local-activity-abandoned-at-completion.history.json +73 -0
  109. package/fixtures/histories/local-activity-cancelled-in-scope.history.json +118 -0
  110. package/fixtures/histories/local-activity-completed.history.json +157 -0
  111. package/fixtures/histories/local-activity-failed.history.json +93 -0
  112. package/fixtures/histories/local-activity-retry-in-task.history.json +88 -0
  113. package/fixtures/histories/query-custom.history.json +213 -0
  114. package/fixtures/histories/query-default-handler.history.json +120 -0
  115. package/fixtures/histories/reset-forked-reapplied-signals.history.json +239 -0
  116. package/fixtures/histories/reset-reapplied-update-admitted.history.json +228 -0
  117. package/fixtures/histories/run-retry-last-failure.history.json +90 -0
  118. package/fixtures/histories/run-timeout.history.json +159 -0
  119. package/fixtures/histories/schedule-to-start-timeout.history.json +132 -0
  120. package/fixtures/histories/search-attributes-upserted.history.json +177 -0
  121. package/fixtures/histories/start-delay-signal-ends-delay.history.json +155 -0
  122. package/fixtures/histories/typeerror-task-retry-100.history.json +137 -0
  123. package/fixtures/histories/update-accepted-completed.history.json +45 -30
  124. package/fixtures/histories/update-default-handler.history.json +246 -0
  125. package/fixtures/histories/update-handler-awaits-activity.history.json +196 -0
  126. package/fixtures/histories/update-not-handled.history.json +138 -0
  127. package/fixtures/histories/update-rejected-no-event.history.json +190 -0
  128. package/fixtures/histories/update-with-start-admitted.history.json +150 -0
  129. package/fixtures/histories/user-activity-cancel.history.json +149 -0
  130. package/fixtures/histories/user-activity-retry.history.json +143 -0
  131. package/fixtures/histories/user-activity.history.json +149 -0
  132. package/package.json +1 -1
  133. package/schema/bridge-v2.schema.json +1062 -0
  134. package/schema/history-file.schema.json +538 -83
  135. package/schema/ir-v2.schema.json +290 -0
  136. package/schema/payload-fields.json +162 -0
  137. package/schema/run-event.schema.json +503 -82
  138. package/schema/workflow-command.schema.json +372 -69
  139. package/schema/workflow-task.schema.json +924 -171
  140. package/dist/assemble-BLqQ8lSu.d.cts +0 -39
  141. package/dist/assemble-DWgaXHd-.d.ts +0 -39
  142. package/dist/chunk-DHTLALBL.cjs +0 -80
  143. package/dist/chunk-DJYMDLV5.js +0 -227
  144. package/dist/chunk-I5LR3D2K.js +0 -869
  145. package/dist/chunk-M4BBAERY.cjs +0 -1635
  146. package/dist/chunk-N23SKIG4.js +0 -73
  147. package/dist/chunk-PZCVF76Q.cjs +0 -868
  148. package/dist/chunk-QQ6ULXHI.cjs +0 -885
  149. package/dist/chunk-UK3WM7YZ.cjs +0 -75
  150. package/dist/chunk-VOKMAAJP.js +0 -848
  151. package/dist/node-evaluator-4MSDKWOG.cjs +0 -22
  152. package/dist/node-evaluator-SX4LEYQC.js +0 -12
  153. package/dist/workflow-C2a05WUJ.d.ts +0 -444
  154. package/dist/workflow-J-yYixny.d.cts +0 -444
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk623FVQSN_cjs = require('./chunk-623FVQSN.cjs');
3
+ var chunkTYF56RGB_cjs = require('./chunk-TYF56RGB.cjs');
4
4
 
5
5
  function failedTaskResult(cause, message) {
6
6
  return {
7
- protocol: chunk623FVQSN_cjs.HISTORY_PROTOCOL,
7
+ protocol: chunkTYF56RGB_cjs.HISTORY_PROTOCOL,
8
8
  outcome: "failed",
9
9
  commands: [],
10
10
  failure: { cause, message },
@@ -1,5 +1,3 @@
1
- import { durationMs } from './chunk-LNUQE6D6.js';
2
-
3
1
  // src/durable/definitions.ts
4
2
  function checkName(name, what) {
5
3
  if (typeof name !== "string" || name === "" || name.startsWith("__"))
@@ -84,16 +82,36 @@ var ApplicationError = class extends WorkflowFailure {
84
82
  }
85
83
  };
86
84
  var ActivityFailure = class extends WorkflowFailure {
87
- constructor(message, activityId, nodeType, operation, cause) {
85
+ constructor(message, activityId, nodeType, operation, cause, activityName) {
88
86
  super(message, cause instanceof WorkflowFailure ? cause.errorType : "UNKNOWN", { cause });
89
87
  this.activityId = activityId;
90
88
  this.nodeType = nodeType;
91
89
  this.operation = operation;
90
+ this.activityName = activityName;
92
91
  this.name = "ActivityFailure";
93
92
  }
94
93
  activityId;
95
94
  nodeType;
96
95
  operation;
96
+ activityName;
97
+ };
98
+ var ActivityPausedError = class extends ApplicationError {
99
+ constructor(message = "The activity was paused", details) {
100
+ super(message, {
101
+ type: "ActivityPausedError",
102
+ errorType: "TRANSIENT",
103
+ ...details !== void 0 ? { details } : {}
104
+ });
105
+ this.name = "ActivityPausedError";
106
+ }
107
+ };
108
+ var QueryHandlerSideEffect = class extends Error {
109
+ constructor(what) {
110
+ super(
111
+ `${what} is not allowed in a query handler or an update validator; they must not change the run`
112
+ );
113
+ this.name = "QueryHandlerSideEffect";
114
+ }
97
115
  };
98
116
  var ChildRunFailure = class extends WorkflowFailure {
99
117
  constructor(message, childId, childRunId, cause) {
@@ -232,14 +250,4 @@ function failureToError(failure, depth = 0) {
232
250
  return error;
233
251
  }
234
252
 
235
- // src/durable/durations.ts
236
- function toMs(value, what = "duration") {
237
- const ms = durationMs(value, "ms");
238
- if (ms === void 0) throw new TypeError(`${what} "${String(value)}" is not a duration`);
239
- return Math.round(ms);
240
- }
241
- function optionalMs(value, what) {
242
- return value === void 0 ? void 0 : toMs(value, what);
243
- }
244
-
245
- export { ActivityFailure, ApplicationError, CancelledFailure, ChildRunFailure, DeterminismViolation, HistoryLimitExceeded, PhaseCFeatureError, ServerFailure, TerminatedFailure, TimeoutFailure, WorkflowFailure, defineQuery, defineSignal, defineUpdate, errorToFailure, failureToError, isCancellation, isRunFailure, optionalMs, signalName, toMs };
253
+ export { ActivityFailure, ActivityPausedError, ApplicationError, CancelledFailure, ChildRunFailure, DeterminismViolation, HistoryLimitExceeded, PhaseCFeatureError, QueryHandlerSideEffect, ServerFailure, TerminatedFailure, TimeoutFailure, WorkflowFailure, defineQuery, defineSignal, defineUpdate, errorToFailure, failureToError, isCancellation, isRunFailure, signalName };
@@ -1,10 +1,43 @@
1
- import { isTier1Workflow, isOperation } from './chunk-HWJZVOG7.js';
1
+ import { isTier1Workflow, isOperation } from './chunk-SR7TR5KX.js';
2
2
  import { BuilderError } from './chunk-JZ4TOOLN.js';
3
3
  import { isRecord, setOwn } from './chunk-PMCM2OH4.js';
4
- import { isDurableWorkflow, interfaceOf } from './chunk-N23SKIG4.js';
4
+ import { isActivityImplementation, isDurableWorkflow, interfaceOf, toMs } from './chunk-C4F5KJTI.js';
5
5
 
6
6
  // src/builder/collect.ts
7
7
  var COLLECTION_FORMAT = "fluidgrids.tier1-collection";
8
+ function configDuration(value) {
9
+ return typeof value === "string" ? value : toMs(value) / 1e3;
10
+ }
11
+ function runSettingsOf(options) {
12
+ const config = {};
13
+ const features = [];
14
+ if (options.runTimeout !== void 0) config.timeout = toMs(options.runTimeout) / 1e3;
15
+ if (options.executionTimeout !== void 0)
16
+ config.executionTimeout = configDuration(options.executionTimeout);
17
+ if (options.workflowTaskTimeout !== void 0)
18
+ config.workflowTaskTimeout = configDuration(options.workflowTaskTimeout);
19
+ if (options.runTimeout !== void 0 || options.executionTimeout !== void 0 || options.workflowTaskTimeout !== void 0)
20
+ features.push("timeouts");
21
+ if (options.versioningBehavior !== void 0) {
22
+ config.versioningBehavior = options.versioningBehavior;
23
+ if (options.versioningBehavior === "AUTO_UPGRADE") features.push("autoUpgrade");
24
+ }
25
+ if (options.retry !== void 0) {
26
+ const retry = {};
27
+ if (options.retry.maxAttempts !== void 0) retry.maxAttempts = options.retry.maxAttempts;
28
+ if (options.retry.initialDelay !== void 0)
29
+ retry.initialDelay = configDuration(options.retry.initialDelay);
30
+ if (options.retry.backoffMultiplier !== void 0)
31
+ retry.backoffMultiplier = options.retry.backoffMultiplier;
32
+ if (options.retry.maxDelay !== void 0)
33
+ retry.maxDelay = configDuration(options.retry.maxDelay);
34
+ if (options.retry.nonRetryableErrorTypes !== void 0)
35
+ retry.nonRetryableErrorTypes = [...options.retry.nonRetryableErrorTypes];
36
+ config.retry = retry;
37
+ features.push("runRetry");
38
+ }
39
+ return { config, features };
40
+ }
8
41
  function triggerOf(spec, where) {
9
42
  if (spec === void 0) return void 0;
10
43
  const operation = isOperation(spec) ? spec : isRecord(spec) ? spec.operation : void 0;
@@ -22,9 +55,16 @@ function triggerOf(spec, where) {
22
55
  function collectWorkflowExports(modules) {
23
56
  const exportNames = /* @__PURE__ */ new Map();
24
57
  const durable = [];
58
+ const implementations = [];
59
+ const interceptorModules = [];
25
60
  for (const [module, namespace] of modules) {
61
+ if (Object.hasOwn(namespace, "interceptors")) interceptorModules.push(module);
26
62
  for (const exportName of Object.keys(namespace).sort()) {
27
63
  const value = namespace[exportName];
64
+ if (isActivityImplementation(value)) {
65
+ implementations.push({ module, exportName, name: value.name });
66
+ continue;
67
+ }
28
68
  if (!isDurableWorkflow(value) || exportNames.has(value)) continue;
29
69
  exportNames.set(value, exportName);
30
70
  const options = value.options;
@@ -40,6 +80,13 @@ function collectWorkflowExports(modules) {
40
80
  if (options.standalone !== void 0) entry.standalone = options.standalone;
41
81
  const trigger = triggerOf(options.trigger, `workflow("${value.name}")`);
42
82
  if (trigger) entry.trigger = trigger;
83
+ const settings = runSettingsOf(options);
84
+ if (value.dynamic === true) {
85
+ entry.dynamic = true;
86
+ settings.features.push("dynamic");
87
+ }
88
+ if (Object.keys(settings.config).length > 0) entry.config = settings.config;
89
+ if (settings.features.length > 0) entry.features = settings.features;
43
90
  durable.push(entry);
44
91
  }
45
92
  }
@@ -64,7 +111,9 @@ function collectWorkflowExports(modules) {
64
111
  const collection = {
65
112
  format: COLLECTION_FORMAT,
66
113
  workflows,
67
- ...durable.length > 0 ? { durable } : {}
114
+ ...durable.length > 0 ? { durable } : {},
115
+ ...implementations.length > 0 ? { activityImplementations: implementations } : {},
116
+ ...interceptorModules.length > 0 ? { interceptorModules } : {}
68
117
  };
69
118
  return JSON.stringify(collection);
70
119
  }
@@ -1,4 +1,4 @@
1
- import { hashedProjection } from './chunk-BD7ZPG53.js';
1
+ import { hashedProjection } from './chunk-NWQ5WRLE.js';
2
2
  import { isRecord, deepEqual, ownValue } from './chunk-PMCM2OH4.js';
3
3
 
4
4
  // src/ir/diff.ts
@@ -55,10 +55,15 @@ function canonicalType(nodeType) {
55
55
  const lower = nodeType.trim().toLowerCase();
56
56
  return LEGACY_SHORT_NAMES.has(lower) ? `internal:${lower}` : lower;
57
57
  }
58
- function isActivityNodeTypeAllowed(nodeType) {
58
+ var ACTIVITY_ASYNC_COMPLETION_ALLOWLIST = /* @__PURE__ */ new Set([
59
+ "internal:send-and-wait"
60
+ ]);
61
+ function isActivityNodeTypeAllowed(nodeType, options = {}) {
59
62
  if (typeof nodeType !== "string" || nodeType.trim() === "") return false;
60
63
  const type = canonicalType(nodeType);
61
64
  if (!type.startsWith("internal:")) return true;
65
+ if (options.asyncCompletion === true && ACTIVITY_ASYNC_COMPLETION_ALLOWLIST.has(type))
66
+ return true;
62
67
  return ACTIVITY_INTERNAL_ALLOWLIST.has(type);
63
68
  }
64
69
  var ActivityNodeTypeNotAllowedError = class extends Error {
@@ -74,10 +79,12 @@ var ActivityNodeTypeNotAllowedError = class extends Error {
74
79
  errorType = "VALIDATION";
75
80
  nonRetryable = true;
76
81
  };
77
- function assertActivityNodeType(nodeType) {
78
- if (!isActivityNodeTypeAllowed(nodeType)) throw new ActivityNodeTypeNotAllowedError(nodeType);
82
+ function assertActivityNodeType(nodeType, options = {}) {
83
+ if (!isActivityNodeTypeAllowed(nodeType, options))
84
+ throw new ActivityNodeTypeNotAllowedError(nodeType);
79
85
  }
80
86
 
87
+ exports.ACTIVITY_ASYNC_COMPLETION_ALLOWLIST = ACTIVITY_ASYNC_COMPLETION_ALLOWLIST;
81
88
  exports.ACTIVITY_INTERNAL_ALLOWLIST = ACTIVITY_INTERNAL_ALLOWLIST;
82
89
  exports.ACTIVITY_NODE_ALLOWLIST = ACTIVITY_NODE_ALLOWLIST;
83
90
  exports.ACTIVITY_NODE_DENYLIST = ACTIVITY_NODE_DENYLIST;
@@ -53,10 +53,15 @@ function canonicalType(nodeType) {
53
53
  const lower = nodeType.trim().toLowerCase();
54
54
  return LEGACY_SHORT_NAMES.has(lower) ? `internal:${lower}` : lower;
55
55
  }
56
- function isActivityNodeTypeAllowed(nodeType) {
56
+ var ACTIVITY_ASYNC_COMPLETION_ALLOWLIST = /* @__PURE__ */ new Set([
57
+ "internal:send-and-wait"
58
+ ]);
59
+ function isActivityNodeTypeAllowed(nodeType, options = {}) {
57
60
  if (typeof nodeType !== "string" || nodeType.trim() === "") return false;
58
61
  const type = canonicalType(nodeType);
59
62
  if (!type.startsWith("internal:")) return true;
63
+ if (options.asyncCompletion === true && ACTIVITY_ASYNC_COMPLETION_ALLOWLIST.has(type))
64
+ return true;
60
65
  return ACTIVITY_INTERNAL_ALLOWLIST.has(type);
61
66
  }
62
67
  var ActivityNodeTypeNotAllowedError = class extends Error {
@@ -72,8 +77,9 @@ var ActivityNodeTypeNotAllowedError = class extends Error {
72
77
  errorType = "VALIDATION";
73
78
  nonRetryable = true;
74
79
  };
75
- function assertActivityNodeType(nodeType) {
76
- if (!isActivityNodeTypeAllowed(nodeType)) throw new ActivityNodeTypeNotAllowedError(nodeType);
80
+ function assertActivityNodeType(nodeType, options = {}) {
81
+ if (!isActivityNodeTypeAllowed(nodeType, options))
82
+ throw new ActivityNodeTypeNotAllowedError(nodeType);
77
83
  }
78
84
 
79
- export { ACTIVITY_INTERNAL_ALLOWLIST, ACTIVITY_NODE_ALLOWLIST, ACTIVITY_NODE_DENYLIST, ActivityNodeTypeNotAllowedError, assertActivityNodeType, isActivityNodeTypeAllowed };
85
+ export { ACTIVITY_ASYNC_COMPLETION_ALLOWLIST, ACTIVITY_INTERNAL_ALLOWLIST, ACTIVITY_NODE_ALLOWLIST, ACTIVITY_NODE_DENYLIST, ActivityNodeTypeNotAllowedError, assertActivityNodeType, isActivityNodeTypeAllowed };