@fluidgrids/workflows 2026.1027.1 → 2026.1028.2

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 (166) hide show
  1. package/README.md +144 -13
  2. package/dist/activation-BBh1p82z.d.cts +57 -0
  3. package/dist/activation-DnhG7SmF.d.ts +57 -0
  4. package/dist/assemble-BLqQ8lSu.d.cts +39 -0
  5. package/dist/assemble-DWgaXHd-.d.ts +39 -0
  6. package/dist/chunk-2J6TF7YI.cjs +86 -0
  7. package/dist/chunk-4LYSEANA.js +199 -0
  8. package/dist/chunk-623FVQSN.cjs +251 -0
  9. package/dist/{chunk-W32BSO3M.js → chunk-6FSHT5IL.js} +2 -2
  10. package/dist/{chunk-E3APHA6O.cjs → chunk-7AAZGVKD.js} +1 -64
  11. package/dist/chunk-ABFZWYHT.js +612 -0
  12. package/dist/{chunk-6U446SKY.js → chunk-BD7ZPG53.js} +2 -2
  13. package/dist/chunk-BO6OVILK.js +79 -0
  14. package/dist/chunk-C5OLWZ42.js +245 -0
  15. package/dist/{chunk-OSPTJCDI.cjs → chunk-CPDK3K5N.cjs} +6 -6
  16. package/dist/chunk-DHTLALBL.cjs +80 -0
  17. package/dist/chunk-DJYMDLV5.js +227 -0
  18. package/dist/{chunk-IHKXLG6I.js → chunk-E2VK7J2C.js} +1 -1
  19. package/dist/{chunk-3M34AUIY.cjs → chunk-FEW3JBYA.cjs} +3 -3
  20. package/dist/chunk-FMSW2HDF.cjs +267 -0
  21. package/dist/chunk-FR7KYWRO.cjs +41 -0
  22. package/dist/{chunk-7YR7DI7B.cjs → chunk-GBQ33SIZ.cjs} +44 -44
  23. package/dist/{chunk-6AIAC2FP.cjs → chunk-GVTZMA5C.cjs} +4 -4
  24. package/dist/{chunk-EEAIM35V.js → chunk-HWJZVOG7.js} +64 -23
  25. package/dist/chunk-I5LR3D2K.js +869 -0
  26. package/dist/chunk-IISBRUWJ.js +13 -0
  27. package/dist/chunk-JD2VQIDZ.cjs +15 -0
  28. package/dist/{chunk-UB2BHU2M.js → chunk-JZ4TOOLN.js} +1 -1
  29. package/dist/chunk-L24YIZY7.cjs +207 -0
  30. package/dist/chunk-LNUQE6D6.js +39 -0
  31. package/dist/chunk-M4BBAERY.cjs +1635 -0
  32. package/dist/chunk-N23SKIG4.js +73 -0
  33. package/dist/{chunk-TWOYB4Y7.cjs → chunk-NEIUQASE.cjs} +13 -13
  34. package/dist/chunk-P6TA5EZT.cjs +634 -0
  35. package/dist/chunk-PMCM2OH4.js +46 -0
  36. package/dist/chunk-PZCVF76Q.cjs +868 -0
  37. package/dist/{chunk-6BEW4QD6.js → chunk-QAN5MZEM.js} +1 -1
  38. package/dist/{chunk-CSYBNN3V.cjs → chunk-QKZL3ONM.cjs} +2 -2
  39. package/dist/chunk-QQ6ULXHI.cjs +885 -0
  40. package/dist/chunk-SAENRNBJ.cjs +52 -0
  41. package/dist/{chunk-TQF7MYEN.cjs → chunk-SAOBPYYJ.cjs} +134 -96
  42. package/dist/{chunk-XBIID5DY.js → chunk-SMCANK3F.js} +5 -4
  43. package/dist/{chunk-UWQWD7BP.cjs → chunk-SX2PNKKT.cjs} +18 -17
  44. package/dist/{chunk-UJNHTS6D.js → chunk-TBDXTV22.cjs} +8 -45
  45. package/dist/chunk-UK3WM7YZ.cjs +75 -0
  46. package/dist/chunk-VOKMAAJP.js +848 -0
  47. package/dist/chunk-VRHHBPT6.js +1622 -0
  48. package/dist/{chunk-5AW745OG.js → chunk-XHXIDVEC.js} +1 -1
  49. package/dist/chunk-XKJA7KX3.js +72 -0
  50. package/dist/chunk-Z2Y65YOY.cjs +7 -0
  51. package/dist/codegen/index.cjs +9 -7
  52. package/dist/codegen/index.d.cts +2 -2
  53. package/dist/codegen/index.d.ts +2 -2
  54. package/dist/codegen/index.js +6 -5
  55. package/dist/file-BOoHZgoQ.d.cts +1557 -0
  56. package/dist/file-yuPCFU5b.d.ts +1557 -0
  57. package/dist/history/index.cjs +287 -0
  58. package/dist/history/index.d.cts +157 -0
  59. package/dist/history/index.d.ts +157 -0
  60. package/dist/history/index.js +5 -0
  61. package/dist/index.cjs +134 -36
  62. package/dist/index.d.cts +137 -9
  63. package/dist/index.d.ts +137 -9
  64. package/dist/index.js +8 -3
  65. package/dist/ir/index.cjs +152 -158
  66. package/dist/ir/index.d.cts +14 -4
  67. package/dist/ir/index.d.ts +14 -4
  68. package/dist/ir/index.js +41 -50
  69. package/dist/lower-BzmUz0sq.d.cts +129 -0
  70. package/dist/lower-_-iT4HYs.d.ts +129 -0
  71. package/dist/lower-types-DQNBfWQn.d.cts +37 -0
  72. package/dist/lower-types-DQNBfWQn.d.ts +37 -0
  73. package/dist/{manifest-Duf-gHdO.d.cts → manifest-0OLw0i7k.d.cts} +1 -1
  74. package/dist/{manifest-Bp9ZJlav.d.ts → manifest-C8N6HDYl.d.ts} +1 -1
  75. package/dist/node-evaluator-4MSDKWOG.cjs +22 -0
  76. package/dist/node-evaluator-SX4LEYQC.js +12 -0
  77. package/dist/quickjs/index.cjs +236 -12
  78. package/dist/quickjs/index.d.cts +46 -5
  79. package/dist/quickjs/index.d.ts +46 -5
  80. package/dist/quickjs/index.js +230 -9
  81. package/dist/roundtrip/index.cjs +333 -131
  82. package/dist/roundtrip/index.d.cts +39 -7
  83. package/dist/roundtrip/index.d.ts +39 -7
  84. package/dist/roundtrip/index.js +185 -13
  85. package/dist/runtime/index.cjs +90 -0
  86. package/dist/runtime/index.d.cts +297 -0
  87. package/dist/runtime/index.d.ts +297 -0
  88. package/dist/runtime/index.js +8 -0
  89. package/dist/testing/index.cjs +1057 -0
  90. package/dist/testing/index.d.cts +305 -0
  91. package/dist/testing/index.d.ts +305 -0
  92. package/dist/testing/index.js +1037 -0
  93. package/dist/{types-Dr2Fn1Ax.d.ts → types-BGoPzgcl.d.cts} +1 -1
  94. package/dist/{types-Dr2Fn1Ax.d.cts → types-BGoPzgcl.d.ts} +1 -1
  95. package/dist/types-CpBBjaGX.d.cts +380 -0
  96. package/dist/types-DV-HX_Gt.d.ts +380 -0
  97. package/dist/{assemble-CrpUyd_3.d.ts → workflow-Bpr3vnA_.d.ts} +40 -160
  98. package/dist/workflow-C2a05WUJ.d.ts +444 -0
  99. package/dist/{assemble-DEf3znGD.d.cts → workflow-FXUkpIBc.d.cts} +40 -160
  100. package/dist/workflow-J-yYixny.d.cts +444 -0
  101. package/fixtures/README.md +128 -0
  102. package/fixtures/histories/activity-failure-fails-run.history.json +163 -0
  103. package/fixtures/histories/activity-retry-then-success.history.json +147 -0
  104. package/fixtures/histories/cancel-activity-abandon.history.json +126 -0
  105. package/fixtures/histories/cancel-activity-compensate.history.json +307 -0
  106. package/fixtures/histories/cancel-concurrent-non-cancellable.history.json +234 -0
  107. package/fixtures/histories/cancel-concurrent-scope-timeout.history.json +184 -0
  108. package/fixtures/histories/cancel-condition-after-cancel.history.json +200 -0
  109. package/fixtures/histories/cancel-during-timer.history.json +123 -0
  110. package/fixtures/histories/cancel-saga-compensations.history.json +325 -0
  111. package/fixtures/histories/cancel-scope-timeout.history.json +148 -0
  112. package/fixtures/histories/child-abandon-outlives-parent.history.json +191 -0
  113. package/fixtures/histories/child-cancel-default.history.json +234 -0
  114. package/fixtures/histories/child-cancel-request.history.json +206 -0
  115. package/fixtures/histories/child-durable-child-side.history.json +124 -0
  116. package/fixtures/histories/child-durable-result.history.json +163 -0
  117. package/fixtures/histories/child-failure-caught.history.json +166 -0
  118. package/fixtures/histories/child-graph-by-key.history.json +138 -0
  119. package/fixtures/histories/child-terminated-by-parent-close.history.json +85 -0
  120. package/fixtures/histories/continue-as-new-first-run.history.json +146 -0
  121. package/fixtures/histories/continue-as-new-history-limit.history.json +489 -0
  122. package/fixtures/histories/continue-as-new-last-run.history.json +147 -0
  123. package/fixtures/histories/continue-as-new-suggested.history.json +352 -0
  124. package/fixtures/histories/details-and-context.history.json +176 -0
  125. package/fixtures/histories/deterministic-values.history.json +128 -0
  126. package/fixtures/histories/engine-builtins.history.json +172 -0
  127. package/fixtures/histories/gather-activities.history.json +291 -0
  128. package/fixtures/histories/gather-all-settled.history.json +219 -0
  129. package/fixtures/histories/gather-mixed.history.json +281 -0
  130. package/fixtures/histories/input-during-running-task.history.json +111 -0
  131. package/fixtures/histories/nondeterminism-reordered.history.json +218 -0
  132. package/fixtures/histories/patched-deprecated.history.json +271 -0
  133. package/fixtures/histories/patched-new-run.history.json +270 -0
  134. package/fixtures/histories/patched-old-history.history.json +190 -0
  135. package/fixtures/histories/race-activity-wins.history.json +152 -0
  136. package/fixtures/histories/race-signal-beats-child.history.json +161 -0
  137. package/fixtures/histories/race-timeout-wins.history.json +118 -0
  138. package/fixtures/histories/side-effect-recorded.history.json +153 -0
  139. package/fixtures/histories/signal-buffered-at-start.history.json +157 -0
  140. package/fixtures/histories/signal-default-handler.history.json +187 -0
  141. package/fixtures/histories/signal-handler.history.json +191 -0
  142. package/fixtures/histories/signal-parent-child-side.history.json +132 -0
  143. package/fixtures/histories/signal-parent.history.json +202 -0
  144. package/fixtures/histories/signal-run-delivered.history.json +128 -0
  145. package/fixtures/histories/signal-run-undelivered.history.json +134 -0
  146. package/fixtures/histories/signal-wait.history.json +111 -0
  147. package/fixtures/histories/task-failure-code-error.history.json +137 -0
  148. package/fixtures/histories/task-failure-then-transient-attempt.history.json +140 -0
  149. package/fixtures/histories/timer-condition-met.history.json +201 -0
  150. package/fixtures/histories/timer-condition-timeout.history.json +118 -0
  151. package/fixtures/histories/timer-sleep-once.history.json +118 -0
  152. package/fixtures/histories/timer-sleep-sequence.history.json +210 -0
  153. package/fixtures/histories/update-accepted-completed.history.json +149 -0
  154. package/fixtures/histories/update-with-start-rejected-validation.history.json +91 -0
  155. package/package.json +44 -5
  156. package/schema/history-file.schema.json +2544 -0
  157. package/schema/ir-v2.schema.json +16 -0
  158. package/schema/run-event.schema.json +2374 -0
  159. package/schema/workflow-command.schema.json +1095 -0
  160. package/schema/workflow-task.schema.json +3560 -0
  161. package/dist/chunk-MBBKGD7K.js +0 -440
  162. package/dist/chunk-Y7NWR3WH.cjs +0 -450
  163. package/dist/lower-CXggJTIo.d.ts +0 -67
  164. package/dist/lower-DAzvsJCo.d.cts +0 -67
  165. package/dist/node-evaluator-CH3XCJND.cjs +0 -17
  166. package/dist/node-evaluator-TULXA3WE.js +0 -8
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkOSPTJCDI_cjs = require('./chunk-OSPTJCDI.cjs');
4
- var chunk6AIAC2FP_cjs = require('./chunk-6AIAC2FP.cjs');
5
- var chunkCSYBNN3V_cjs = require('./chunk-CSYBNN3V.cjs');
6
- var chunkE3APHA6O_cjs = require('./chunk-E3APHA6O.cjs');
3
+ var chunkCPDK3K5N_cjs = require('./chunk-CPDK3K5N.cjs');
4
+ var chunkGVTZMA5C_cjs = require('./chunk-GVTZMA5C.cjs');
5
+ var chunkQKZL3ONM_cjs = require('./chunk-QKZL3ONM.cjs');
6
+ var chunkTBDXTV22_cjs = require('./chunk-TBDXTV22.cjs');
7
+ var chunkSAENRNBJ_cjs = require('./chunk-SAENRNBJ.cjs');
7
8
  var standalone = require('prettier/standalone');
8
9
  var prettierPluginEstree = require('prettier/plugins/estree');
9
10
  var prettierPluginTypescript = require('prettier/plugins/typescript');
@@ -199,7 +200,7 @@ function clientNames(manifests) {
199
200
  if (typeof manifest.nodeType !== "string" || manifest.nodeType.startsWith("internal:"))
200
201
  continue;
201
202
  const current = latest.get(manifest.nodeType);
202
- if (!current || chunkOSPTJCDI_cjs.compareVersions(manifest.nodeVersion, current.nodeVersion) > 0)
203
+ if (!current || chunkCPDK3K5N_cjs.compareVersions(manifest.nodeVersion, current.nodeVersion) > 0)
203
204
  latest.set(manifest.nodeType, manifest);
204
205
  }
205
206
  const usedTs = /* @__PURE__ */ new Set(["internal", "custom"]);
@@ -220,7 +221,7 @@ function clientNames(manifests) {
220
221
  const operations = /* @__PURE__ */ new Map();
221
222
  const opTs = /* @__PURE__ */ new Set();
222
223
  const opPy = /* @__PURE__ */ new Set();
223
- for (const operation of chunkOSPTJCDI_cjs.operationsOf(manifest)) {
224
+ for (const operation of chunkCPDK3K5N_cjs.operationsOf(manifest)) {
224
225
  if (operations.has(operation.name)) continue;
225
226
  let tsName = /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(operation.name) ? operation.name : safeTsIdentifier(camelCase(operation.name), "op");
226
227
  let pyName = safePyIdentifier(snakeCase(operation.name), "op");
@@ -450,7 +451,7 @@ function str(text) {
450
451
  }
451
452
  function propertyKey(key) {
452
453
  if (key === "__proto__") return `[${str(key)}]`;
453
- return chunkE3APHA6O_cjs.isJsIdentifier(key) ? key : str(key);
454
+ return chunkTBDXTV22_cjs.isJsIdentifier(key) ? key : str(key);
454
455
  }
455
456
  function nodeSource(nodeId, ctx) {
456
457
  const name = ctx.vars.get(nodeId);
@@ -460,7 +461,7 @@ function refText(ref, ctx) {
460
461
  let text = ref.target.kind === "node" ? `${nodeSource(ref.target.nodeId, ctx)}.output` : `wf.${ref.target.kind}`;
461
462
  for (const segment of ref.path) {
462
463
  if (segment.kind === "index") text += `[${segment.index}]`;
463
- else if (chunkE3APHA6O_cjs.isJsIdentifier(segment.key) && !chunk6AIAC2FP_cjs.RESERVED_REF_KEYS.has(segment.key))
464
+ else if (chunkTBDXTV22_cjs.isJsIdentifier(segment.key) && !chunkGVTZMA5C_cjs.RESERVED_REF_KEYS.has(segment.key))
464
465
  text += `.${segment.key}`;
465
466
  else text += `[${str(segment.key)}]`;
466
467
  }
@@ -579,7 +580,7 @@ function registrySnapshotHash(manifests) {
579
580
  const projection = manifests.filter((manifest) => typeof manifest.nodeType === "string").map((manifest) => ({
580
581
  nodeType: manifest.nodeType,
581
582
  nodeVersion: manifest.nodeVersion ?? null,
582
- operations: chunkOSPTJCDI_cjs.operationsOf(manifest).map((operation) => ({
583
+ operations: chunkCPDK3K5N_cjs.operationsOf(manifest).map((operation) => ({
583
584
  name: operation.name,
584
585
  type: operation.type ?? null,
585
586
  role: operation.role ?? null,
@@ -589,11 +590,11 @@ function registrySnapshotHash(manifests) {
589
590
  })).sort(
590
591
  (a, b) => a.nodeType === b.nodeType ? String(a.nodeVersion) < String(b.nodeVersion) ? -1 : 1 : a.nodeType < b.nodeType ? -1 : 1
591
592
  );
592
- return chunkCSYBNN3V_cjs.sha256Tagged(chunkCSYBNN3V_cjs.canonicalJson(projection));
593
+ return chunkQKZL3ONM_cjs.sha256Tagged(chunkQKZL3ONM_cjs.canonicalJson(projection));
593
594
  }
594
595
  function fieldOf(value) {
595
596
  if (typeof value === "string") return { type: value };
596
- return chunkE3APHA6O_cjs.isRecord(value) ? value : {};
597
+ return chunkSAENRNBJ_cjs.isRecord(value) ? value : {};
597
598
  }
598
599
  function stringChoices(field) {
599
600
  const choices = Array.isArray(field.enum) ? field.enum : Array.isArray(field.options) ? field.options : void 0;
@@ -627,7 +628,7 @@ function tsType(value, use, depth = 0) {
627
628
  return "Array<Json>";
628
629
  }
629
630
  case "object":
630
- if (chunkE3APHA6O_cjs.isRecord(field.properties) && depth < 4)
631
+ if (chunkSAENRNBJ_cjs.isRecord(field.properties) && depth < 4)
631
632
  return tsObject(field.properties, false, use, depth + 1);
632
633
  use.add("Json");
633
634
  return "Json";
@@ -664,7 +665,7 @@ function tsDescriptor(manifest, operation, use) {
664
665
  use,
665
666
  0
666
667
  );
667
- const factory = chunkOSPTJCDI_cjs.isTriggerOperation(operation) ? "trigger" : "op";
668
+ const factory = chunkCPDK3K5N_cjs.isTriggerOperation(operation) ? "trigger" : "op";
668
669
  const version = manifest.nodeVersion !== void 0 ? JSON.stringify(manifest.nodeVersion) : "undefined";
669
670
  return `${factory}<${input}, ${output}>(${JSON.stringify(manifest.nodeType)}, ${version}, ${JSON.stringify(operation.name)})`;
670
671
  }
@@ -688,12 +689,12 @@ async function generateTypeScript(manifests, snapshot) {
688
689
  for (const [client, manifest] of latestManifests(manifests, names)) {
689
690
  const members = [];
690
691
  const triggerMembers = [];
691
- for (const operation of chunkOSPTJCDI_cjs.operationsOf(manifest)) {
692
+ for (const operation of chunkCPDK3K5N_cjs.operationsOf(manifest)) {
692
693
  const key = client.operations.get(operation.name)?.ts;
693
694
  if (!key) continue;
694
695
  const descriptor = tsDescriptor(manifest, operation, use);
695
696
  members.push(`${comment(operation.description)}${tsKey(key)}: ${descriptor},`);
696
- if (chunkOSPTJCDI_cjs.isTriggerOperation(operation)) {
697
+ if (chunkCPDK3K5N_cjs.isTriggerOperation(operation)) {
697
698
  usesTrigger = true;
698
699
  triggerMembers.push(`${tsKey(key)}: ${descriptor},`);
699
700
  } else usesOp = true;
@@ -819,7 +820,7 @@ function generatePython(manifests, snapshot) {
819
820
  const triggerClassName = uniqueTypeName(`_${pascal(client.py)}Triggers`);
820
821
  const body = [];
821
822
  const triggerBody = [];
822
- for (const operation of chunkOSPTJCDI_cjs.operationsOf(manifest)) {
823
+ for (const operation of chunkCPDK3K5N_cjs.operationsOf(manifest)) {
823
824
  const opName = client.operations.get(operation.name)?.py;
824
825
  if (!opName) continue;
825
826
  const stem = `${pascal(client.py)}${pascal(opName)}`;
@@ -835,7 +836,7 @@ function generatePython(manifests, snapshot) {
835
836
  use
836
837
  )
837
838
  );
838
- const trigger = chunkOSPTJCDI_cjs.isTriggerOperation(operation);
839
+ const trigger = chunkCPDK3K5N_cjs.isTriggerOperation(operation);
839
840
  if (trigger) usesTrigger = true;
840
841
  else usesOp = true;
841
842
  const descriptor = {
@@ -1,47 +1,4 @@
1
- // src/ir/json-utils.ts
2
- function isRecord(value) {
3
- return typeof value === "object" && value !== null && !Array.isArray(value);
4
- }
5
- function deepEqual(left, right) {
6
- if (left === right) return true;
7
- if (Array.isArray(left)) {
8
- if (!Array.isArray(right) || left.length !== right.length) return false;
9
- return left.every((item, index) => deepEqual(item, right[index]));
10
- }
11
- if (isRecord(left)) {
12
- if (!isRecord(right)) return false;
13
- const leftKeys = Object.keys(left).filter((key) => left[key] !== void 0);
14
- const rightKeys = Object.keys(right).filter((key) => right[key] !== void 0);
15
- if (leftKeys.length !== rightKeys.length) return false;
16
- return leftKeys.every((key) => Object.hasOwn(right, key) && deepEqual(left[key], right[key]));
17
- }
18
- return false;
19
- }
20
- function setOwn(target, key, value) {
21
- Object.defineProperty(target, key, {
22
- value,
23
- enumerable: true,
24
- writable: true,
25
- configurable: true
26
- });
27
- }
28
- function ownValue(record, key) {
29
- return Object.hasOwn(record, key) ? record[key] : void 0;
30
- }
31
- function cloneJson(value) {
32
- return structuredCloneJson(value);
33
- }
34
- function structuredCloneJson(value) {
35
- if (Array.isArray(value)) return value.map(structuredCloneJson);
36
- if (isRecord(value)) {
37
- const out = {};
38
- for (const [key, child] of Object.entries(value)) {
39
- if (child !== void 0) setOwn(out, key, structuredCloneJson(child));
40
- }
41
- return out;
42
- }
43
- return value;
44
- }
1
+ 'use strict';
45
2
 
46
3
  // src/ir/expressions.ts
47
4
  var IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
@@ -178,4 +135,10 @@ function isJsIdentifier(name) {
178
135
  return IDENTIFIER.test(name);
179
136
  }
180
137
 
181
- export { cloneJson, deepEqual, formatRefExpression, formatRefTemplate, hasLegacyTemplate, isJsIdentifier, isRecord, ownValue, parseRefExpression, parseTemplate, segmentFromKey, setOwn };
138
+ exports.formatRefExpression = formatRefExpression;
139
+ exports.formatRefTemplate = formatRefTemplate;
140
+ exports.hasLegacyTemplate = hasLegacyTemplate;
141
+ exports.isJsIdentifier = isJsIdentifier;
142
+ exports.parseRefExpression = parseRefExpression;
143
+ exports.parseTemplate = parseTemplate;
144
+ exports.segmentFromKey = segmentFromKey;
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var chunkSAOBPYYJ_cjs = require('./chunk-SAOBPYYJ.cjs');
4
+ var chunkGVTZMA5C_cjs = require('./chunk-GVTZMA5C.cjs');
5
+ var chunkSAENRNBJ_cjs = require('./chunk-SAENRNBJ.cjs');
6
+ var chunkDHTLALBL_cjs = require('./chunk-DHTLALBL.cjs');
7
+
8
+ // src/builder/collect.ts
9
+ var COLLECTION_FORMAT = "fluidgrids.tier1-collection";
10
+ function triggerOf(spec, where) {
11
+ if (spec === void 0) return void 0;
12
+ const operation = chunkSAOBPYYJ_cjs.isOperation(spec) ? spec : chunkSAENRNBJ_cjs.isRecord(spec) ? spec.operation : void 0;
13
+ if (!chunkSAOBPYYJ_cjs.isOperation(operation))
14
+ throw new chunkGVTZMA5C_cjs.BuilderError(`${where}: trigger must be a trigger operation`);
15
+ const out = { nodeType: operation.nodeType };
16
+ if (operation.version !== void 0) out.version = operation.version;
17
+ if (operation.operation !== void 0) out.operation = operation.operation;
18
+ if (!chunkSAOBPYYJ_cjs.isOperation(spec)) {
19
+ if (spec.args !== void 0) out.args = spec.args;
20
+ if (spec.id !== void 0) out.id = spec.id;
21
+ }
22
+ return out;
23
+ }
24
+ function collectWorkflowExports(modules) {
25
+ const exportNames = /* @__PURE__ */ new Map();
26
+ const durable = [];
27
+ for (const [module, namespace] of modules) {
28
+ for (const exportName of Object.keys(namespace).sort()) {
29
+ const value = namespace[exportName];
30
+ if (!chunkDHTLALBL_cjs.isDurableWorkflow(value) || exportNames.has(value)) continue;
31
+ exportNames.set(value, exportName);
32
+ const options = value.options;
33
+ const entry = {
34
+ module,
35
+ exportName,
36
+ name: value.name,
37
+ taskQueue: options.taskQueue ?? "managed",
38
+ interface: chunkDHTLALBL_cjs.interfaceOf(value)
39
+ };
40
+ if (options.title !== void 0) entry.title = options.title;
41
+ if (options.description !== void 0) entry.description = options.description;
42
+ if (options.standalone !== void 0) entry.standalone = options.standalone;
43
+ const trigger = triggerOf(options.trigger, `workflow("${value.name}")`);
44
+ if (trigger) entry.trigger = trigger;
45
+ durable.push(entry);
46
+ }
47
+ }
48
+ const workflows = [];
49
+ for (const [module, namespace] of modules) {
50
+ for (const exportName of Object.keys(namespace).sort()) {
51
+ const value = namespace[exportName];
52
+ if (!chunkSAOBPYYJ_cjs.isTier1Workflow(value)) continue;
53
+ for (const ref of value.durableRefs ?? []) {
54
+ const resolved = exportNames.get(ref.definition);
55
+ if (resolved === void 0)
56
+ throw new chunkGVTZMA5C_cjs.BuilderError(
57
+ `${value.key}: wf.codeWorkflow node "${ref.nodeId}" uses workflow("${ref.definition.name}"), which no module exports`
58
+ );
59
+ const recorded = value.recording.nodes.find((entry) => entry.node.id === ref.nodeId);
60
+ const state = recorded?.node.args?.state;
61
+ if (chunkSAENRNBJ_cjs.isRecord(state)) chunkSAENRNBJ_cjs.setOwn(state, "workflowFn", resolved);
62
+ }
63
+ workflows.push({ module, exportName, recording: value.recording });
64
+ }
65
+ }
66
+ const collection = {
67
+ format: COLLECTION_FORMAT,
68
+ workflows,
69
+ ...durable.length > 0 ? { durable } : {}
70
+ };
71
+ return JSON.stringify(collection);
72
+ }
73
+
74
+ exports.COLLECTION_FORMAT = COLLECTION_FORMAT;
75
+ exports.collectWorkflowExports = collectWorkflowExports;