@decaf-ts/ui-decorators 0.19.1 → 0.20.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 (236) hide show
  1. package/dist/ui-decorators.cjs +1 -1
  2. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +20 -0
  3. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +1 -0
  4. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +15 -0
  5. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +1 -0
  6. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +16 -0
  7. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +1 -0
  8. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +31 -0
  9. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +1 -0
  10. package/lib/cjs/graph/catalog/GraphIconReference.cjs +22 -0
  11. package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +1 -0
  12. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +298 -0
  13. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +1 -0
  14. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +23 -0
  15. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +1 -0
  16. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +11 -0
  17. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +1 -0
  18. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +23 -0
  19. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +1 -0
  20. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +50 -0
  21. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +1 -0
  22. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +29 -0
  23. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +1 -0
  24. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +11 -0
  25. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +1 -0
  26. package/lib/cjs/graph/catalog/GraphParameterBase.cjs +4 -0
  27. package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +1 -0
  28. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +29 -0
  29. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +1 -0
  30. package/lib/cjs/graph/catalog/GraphParameterOption.cjs +18 -0
  31. package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +1 -0
  32. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +57 -0
  33. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +1 -0
  34. package/lib/cjs/graph/catalog/GraphPortManifest.cjs +19 -0
  35. package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +1 -0
  36. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +19 -0
  37. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +1 -0
  38. package/lib/cjs/graph/catalog/GraphValueSchema.cjs +25 -0
  39. package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +1 -0
  40. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +164 -0
  41. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +1 -0
  42. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +63 -0
  43. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +1 -0
  44. package/lib/cjs/graph/catalog/index.cjs +39 -0
  45. package/lib/cjs/graph/catalog/index.cjs.map +1 -0
  46. package/lib/cjs/graph/constants.cjs +15 -1
  47. package/lib/cjs/graph/constants.cjs.map +1 -1
  48. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +296 -0
  49. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +1 -0
  50. package/lib/cjs/graph/document/GraphEdgeInstance.cjs +4 -0
  51. package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +1 -0
  52. package/lib/cjs/graph/document/GraphEndpoint.cjs +27 -0
  53. package/lib/cjs/graph/document/GraphEndpoint.cjs.map +1 -0
  54. package/lib/cjs/graph/document/GraphJsonValue.cjs +82 -0
  55. package/lib/cjs/graph/document/GraphJsonValue.cjs.map +1 -0
  56. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +4 -0
  57. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +1 -0
  58. package/lib/cjs/graph/document/GraphNodeBinding.cjs +27 -0
  59. package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +1 -0
  60. package/lib/cjs/graph/document/GraphNodeInstance.cjs +4 -0
  61. package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +1 -0
  62. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +16 -0
  63. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +1 -0
  64. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +267 -0
  65. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +1 -0
  66. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +78 -0
  67. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +1 -0
  68. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +70 -0
  69. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +1 -0
  70. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +4 -0
  71. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +1 -0
  72. package/lib/cjs/graph/document/index.cjs +30 -0
  73. package/lib/cjs/graph/document/index.cjs.map +1 -0
  74. package/lib/cjs/graph/index.cjs +2 -0
  75. package/lib/cjs/graph/index.cjs.map +1 -1
  76. package/lib/cjs/graph/snapshot.cjs +337 -0
  77. package/lib/cjs/graph/snapshot.cjs.map +1 -1
  78. package/lib/cjs/index.cjs +3 -3
  79. package/lib/esm/graph/catalog/GraphConnectionPolicy.js +16 -0
  80. package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +1 -0
  81. package/lib/esm/graph/catalog/GraphCredentialReference.js +9 -0
  82. package/lib/esm/graph/catalog/GraphCredentialReference.js.map +1 -0
  83. package/lib/esm/graph/catalog/GraphCredentialRequirement.js +12 -0
  84. package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +1 -0
  85. package/lib/esm/graph/catalog/GraphDynamicPortRule.js +25 -0
  86. package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +1 -0
  87. package/lib/esm/graph/catalog/GraphIconReference.js +18 -0
  88. package/lib/esm/graph/catalog/GraphIconReference.js.map +1 -0
  89. package/lib/esm/graph/catalog/GraphManifestCompiler.js +294 -0
  90. package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +1 -0
  91. package/lib/esm/graph/catalog/GraphNodeCapability.js +17 -0
  92. package/lib/esm/graph/catalog/GraphNodeCapability.js.map +1 -0
  93. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +7 -0
  94. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +1 -0
  95. package/lib/esm/graph/catalog/GraphNodeManifest.js +17 -0
  96. package/lib/esm/graph/catalog/GraphNodeManifest.js.map +1 -0
  97. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +42 -0
  98. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +1 -0
  99. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +23 -0
  100. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +1 -0
  101. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +7 -0
  102. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +1 -0
  103. package/lib/esm/graph/catalog/GraphParameterBase.js +2 -0
  104. package/lib/esm/graph/catalog/GraphParameterBase.js.map +1 -0
  105. package/lib/esm/graph/catalog/GraphParameterDefinition.js +23 -0
  106. package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +1 -0
  107. package/lib/esm/graph/catalog/GraphParameterOption.js +13 -0
  108. package/lib/esm/graph/catalog/GraphParameterOption.js.map +1 -0
  109. package/lib/esm/graph/catalog/GraphParameterValidation.js +50 -0
  110. package/lib/esm/graph/catalog/GraphParameterValidation.js.map +1 -0
  111. package/lib/esm/graph/catalog/GraphPortManifest.js +13 -0
  112. package/lib/esm/graph/catalog/GraphPortManifest.js.map +1 -0
  113. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +13 -0
  114. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +1 -0
  115. package/lib/esm/graph/catalog/GraphValueSchema.js +19 -0
  116. package/lib/esm/graph/catalog/GraphValueSchema.js.map +1 -0
  117. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +156 -0
  118. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +1 -0
  119. package/lib/esm/graph/catalog/GraphVisibilityExpression.js +58 -0
  120. package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +1 -0
  121. package/lib/esm/graph/catalog/index.js +22 -0
  122. package/lib/esm/graph/catalog/index.js.map +1 -0
  123. package/lib/esm/graph/constants.js +13 -0
  124. package/lib/esm/graph/constants.js.map +1 -1
  125. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +290 -0
  126. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +1 -0
  127. package/lib/esm/graph/document/GraphEdgeInstance.js +2 -0
  128. package/lib/esm/graph/document/GraphEdgeInstance.js.map +1 -0
  129. package/lib/esm/graph/document/GraphEndpoint.js +21 -0
  130. package/lib/esm/graph/document/GraphEndpoint.js.map +1 -0
  131. package/lib/esm/graph/document/GraphJsonValue.js +73 -0
  132. package/lib/esm/graph/document/GraphJsonValue.js.map +1 -0
  133. package/lib/esm/graph/document/GraphLoopConfiguration.js +2 -0
  134. package/lib/esm/graph/document/GraphLoopConfiguration.js.map +1 -0
  135. package/lib/esm/graph/document/GraphNodeBinding.js +22 -0
  136. package/lib/esm/graph/document/GraphNodeBinding.js.map +1 -0
  137. package/lib/esm/graph/document/GraphNodeInstance.js +2 -0
  138. package/lib/esm/graph/document/GraphNodeInstance.js.map +1 -0
  139. package/lib/esm/graph/document/GraphWorkflowDocument.js +12 -0
  140. package/lib/esm/graph/document/GraphWorkflowDocument.js.map +1 -0
  141. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +261 -0
  142. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +1 -0
  143. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +62 -0
  144. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +1 -0
  145. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +63 -0
  146. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +1 -0
  147. package/lib/esm/graph/document/GraphWorkflowUiState.js +2 -0
  148. package/lib/esm/graph/document/GraphWorkflowUiState.js.map +1 -0
  149. package/lib/esm/graph/document/index.js +13 -0
  150. package/lib/esm/graph/document/index.js.map +1 -0
  151. package/lib/esm/graph/index.js +2 -0
  152. package/lib/esm/graph/index.js.map +1 -1
  153. package/lib/esm/graph/snapshot.js +333 -0
  154. package/lib/esm/graph/snapshot.js.map +1 -1
  155. package/lib/esm/index.js +3 -3
  156. package/lib/types/graph/catalog/GraphConnectionPolicy.d.cts +9 -0
  157. package/lib/types/graph/catalog/GraphConnectionPolicy.d.mts +9 -0
  158. package/lib/types/graph/catalog/GraphCredentialReference.d.cts +6 -0
  159. package/lib/types/graph/catalog/GraphCredentialReference.d.mts +6 -0
  160. package/lib/types/graph/catalog/GraphCredentialRequirement.d.cts +7 -0
  161. package/lib/types/graph/catalog/GraphCredentialRequirement.d.mts +7 -0
  162. package/lib/types/graph/catalog/GraphDynamicPortRule.d.cts +22 -0
  163. package/lib/types/graph/catalog/GraphDynamicPortRule.d.mts +22 -0
  164. package/lib/types/graph/catalog/GraphIconReference.d.cts +12 -0
  165. package/lib/types/graph/catalog/GraphIconReference.d.mts +12 -0
  166. package/lib/types/graph/catalog/GraphManifestCompiler.d.cts +14 -0
  167. package/lib/types/graph/catalog/GraphManifestCompiler.d.mts +14 -0
  168. package/lib/types/graph/catalog/GraphNodeCapability.d.cts +4 -0
  169. package/lib/types/graph/catalog/GraphNodeCapability.d.mts +4 -0
  170. package/lib/types/graph/catalog/GraphNodeDisplayManifest.d.cts +16 -0
  171. package/lib/types/graph/catalog/GraphNodeDisplayManifest.d.mts +16 -0
  172. package/lib/types/graph/catalog/GraphNodeManifest.d.cts +26 -0
  173. package/lib/types/graph/catalog/GraphNodeManifest.d.mts +26 -0
  174. package/lib/types/graph/catalog/GraphNodeManifestSerialization.d.cts +7 -0
  175. package/lib/types/graph/catalog/GraphNodeManifestSerialization.d.mts +7 -0
  176. package/lib/types/graph/catalog/GraphNodeMethodManifest.d.cts +10 -0
  177. package/lib/types/graph/catalog/GraphNodeMethodManifest.d.mts +10 -0
  178. package/lib/types/graph/catalog/GraphNodePolicyManifest.d.cts +11 -0
  179. package/lib/types/graph/catalog/GraphNodePolicyManifest.d.mts +11 -0
  180. package/lib/types/graph/catalog/GraphParameterBase.d.cts +14 -0
  181. package/lib/types/graph/catalog/GraphParameterBase.d.mts +14 -0
  182. package/lib/types/graph/catalog/GraphParameterDefinition.d.cts +66 -0
  183. package/lib/types/graph/catalog/GraphParameterDefinition.d.mts +66 -0
  184. package/lib/types/graph/catalog/GraphParameterOption.d.cts +8 -0
  185. package/lib/types/graph/catalog/GraphParameterOption.d.mts +8 -0
  186. package/lib/types/graph/catalog/GraphParameterValidation.d.cts +25 -0
  187. package/lib/types/graph/catalog/GraphParameterValidation.d.mts +25 -0
  188. package/lib/types/graph/catalog/GraphPortManifest.d.cts +21 -0
  189. package/lib/types/graph/catalog/GraphPortManifest.d.mts +21 -0
  190. package/lib/types/graph/catalog/GraphResourceLocatorMode.d.cts +10 -0
  191. package/lib/types/graph/catalog/GraphResourceLocatorMode.d.mts +10 -0
  192. package/lib/types/graph/catalog/GraphValueSchema.d.cts +44 -0
  193. package/lib/types/graph/catalog/GraphValueSchema.d.mts +44 -0
  194. package/lib/types/graph/catalog/GraphValueSchemaDerivation.d.cts +9 -0
  195. package/lib/types/graph/catalog/GraphValueSchemaDerivation.d.mts +9 -0
  196. package/lib/types/graph/catalog/GraphVisibilityExpression.d.cts +22 -0
  197. package/lib/types/graph/catalog/GraphVisibilityExpression.d.mts +22 -0
  198. package/lib/types/graph/catalog/index.d.cts +21 -0
  199. package/lib/types/graph/catalog/index.d.mts +21 -0
  200. package/lib/types/graph/constants.d.cts +8 -0
  201. package/lib/types/graph/constants.d.mts +8 -0
  202. package/lib/types/graph/document/GraphDecoratedWorkflowCompiler.d.cts +26 -0
  203. package/lib/types/graph/document/GraphDecoratedWorkflowCompiler.d.mts +26 -0
  204. package/lib/types/graph/document/GraphEdgeInstance.d.cts +12 -0
  205. package/lib/types/graph/document/GraphEdgeInstance.d.mts +12 -0
  206. package/lib/types/graph/document/GraphEndpoint.d.cts +13 -0
  207. package/lib/types/graph/document/GraphEndpoint.d.mts +13 -0
  208. package/lib/types/graph/document/GraphJsonValue.d.cts +11 -0
  209. package/lib/types/graph/document/GraphJsonValue.d.mts +11 -0
  210. package/lib/types/graph/document/GraphLoopConfiguration.d.cts +24 -0
  211. package/lib/types/graph/document/GraphLoopConfiguration.d.mts +24 -0
  212. package/lib/types/graph/document/GraphNodeBinding.d.cts +21 -0
  213. package/lib/types/graph/document/GraphNodeBinding.d.mts +21 -0
  214. package/lib/types/graph/document/GraphNodeInstance.d.cts +16 -0
  215. package/lib/types/graph/document/GraphNodeInstance.d.mts +16 -0
  216. package/lib/types/graph/document/GraphWorkflowDocument.d.cts +33 -0
  217. package/lib/types/graph/document/GraphWorkflowDocument.d.mts +33 -0
  218. package/lib/types/graph/document/GraphWorkflowDocumentBuilder.d.cts +28 -0
  219. package/lib/types/graph/document/GraphWorkflowDocumentBuilder.d.mts +28 -0
  220. package/lib/types/graph/document/GraphWorkflowDocumentReader.d.cts +21 -0
  221. package/lib/types/graph/document/GraphWorkflowDocumentReader.d.mts +21 -0
  222. package/lib/types/graph/document/GraphWorkflowDocumentSerializer.d.cts +5 -0
  223. package/lib/types/graph/document/GraphWorkflowDocumentSerializer.d.mts +5 -0
  224. package/lib/types/graph/document/GraphWorkflowUiState.d.cts +29 -0
  225. package/lib/types/graph/document/GraphWorkflowUiState.d.mts +29 -0
  226. package/lib/types/graph/document/index.d.cts +12 -0
  227. package/lib/types/graph/document/index.d.mts +12 -0
  228. package/lib/types/graph/index.d.cts +2 -0
  229. package/lib/types/graph/index.d.mts +2 -0
  230. package/lib/types/graph/snapshot.d.cts +67 -7
  231. package/lib/types/graph/snapshot.d.mts +67 -7
  232. package/lib/types/graph/types.d.cts +1 -1
  233. package/lib/types/graph/types.d.mts +1 -1
  234. package/lib/types/index.d.cts +3 -3
  235. package/lib/types/index.d.mts +3 -3
  236. package/package.json +1 -1
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphWorkflowDocumentBuilder = void 0;
4
+ exports.assertGraphWorkflowDocumentValid = assertGraphWorkflowDocumentValid;
5
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
6
+ const GraphJsonValue_js_1 = require("./GraphJsonValue.cjs");
7
+ const GraphEndpoint_js_1 = require("./GraphEndpoint.cjs");
8
+ const GraphNodeBinding_js_1 = require("./GraphNodeBinding.cjs");
9
+ const GraphValueSchema_js_1 = require("./../catalog/GraphValueSchema.cjs");
10
+ class GraphWorkflowDocumentBuilder {
11
+ constructor(id, name) {
12
+ this.document = {
13
+ id,
14
+ name: name ?? "",
15
+ inputs: [],
16
+ outputs: [],
17
+ nodes: [],
18
+ edges: [],
19
+ };
20
+ }
21
+ addInput(port) {
22
+ this.document.inputs.push(port);
23
+ return this;
24
+ }
25
+ addOutput(port) {
26
+ this.document.outputs.push(port);
27
+ return this;
28
+ }
29
+ addNode(node) {
30
+ this.document.nodes.push({
31
+ ...node,
32
+ parameters: node.parameters ?? {},
33
+ });
34
+ return this;
35
+ }
36
+ addEdge(edge) {
37
+ this.document.edges.push(edge);
38
+ return this;
39
+ }
40
+ setSettings(settings) {
41
+ this.document.settings = settings;
42
+ return this;
43
+ }
44
+ setMetadata(metadata) {
45
+ this.document.metadata = metadata;
46
+ return this;
47
+ }
48
+ setUi(ui) {
49
+ this.document.ui = ui;
50
+ return this;
51
+ }
52
+ build() {
53
+ assertGraphWorkflowDocumentValid(this.document);
54
+ return {
55
+ id: this.document.id,
56
+ name: this.document.name,
57
+ inputs: this.document.inputs.map((port) => ({ ...port })),
58
+ outputs: this.document.outputs.map((port) => ({ ...port })),
59
+ nodes: this.document.nodes.map((node) => ({ ...node })),
60
+ edges: this.document.edges.map((edge) => ({ ...edge })),
61
+ settings: this.document.settings,
62
+ metadata: this.document.metadata,
63
+ ui: this.document.ui,
64
+ };
65
+ }
66
+ }
67
+ exports.GraphWorkflowDocumentBuilder = GraphWorkflowDocumentBuilder;
68
+ function assertGraphWorkflowDocumentValid(document, context = { seen: [] }) {
69
+ if (context.seen.includes(document)) {
70
+ throw new db_decorators_1.ValidationError(`Document '${describeDocument(document)}' contains a loop body that references itself (cyclic document)`);
71
+ }
72
+ if (typeof document.id !== "string" || !document.id) {
73
+ throw new db_decorators_1.ValidationError("Document 'id' is required and must be a non-empty string");
74
+ }
75
+ if (typeof document.name !== "string" || !document.name) {
76
+ throw new db_decorators_1.ValidationError("Document 'name' is required and must be a non-empty string");
77
+ }
78
+ const workflowPorts = new Set();
79
+ for (const port of [...document.inputs, ...document.outputs]) {
80
+ if (typeof port.id !== "string" || !port.id) {
81
+ throw new db_decorators_1.ValidationError("Workflow port 'id' is required and must be a non-empty string");
82
+ }
83
+ if (workflowPorts.has(port.id)) {
84
+ throw new db_decorators_1.ValidationError(`Workflow port '${port.id}' is declared more than once; workflow port ids must be unique`);
85
+ }
86
+ if (port.schema !== undefined && !(0, GraphValueSchema_js_1.isGraphValueSchema)(port.schema)) {
87
+ throw new db_decorators_1.ValidationError(`Workflow port '${port.id}' schema must be a valid GraphValueSchema`);
88
+ }
89
+ workflowPorts.add(port.id);
90
+ }
91
+ const nestedContext = {
92
+ seen: [...context.seen, document],
93
+ };
94
+ const nodeIds = new Set();
95
+ for (const node of document.nodes) {
96
+ assertGraphNodeValid(node, nodeIds);
97
+ }
98
+ for (const node of document.nodes) {
99
+ if (node.loop) {
100
+ assertGraphLoopConfigurationValid(node, node.loop, nestedContext);
101
+ }
102
+ }
103
+ const edgeIds = new Set();
104
+ for (const edge of document.edges) {
105
+ assertGraphEdgeValid(edge, edgeIds);
106
+ }
107
+ for (const edge of document.edges) {
108
+ assertEdgeEndpoint(edge.source, document, workflowPorts, nodeIds, `Edge '${edge.id}' source`);
109
+ assertEdgeEndpoint(edge.target, document, workflowPorts, nodeIds, `Edge '${edge.id}' target`);
110
+ }
111
+ if (document.settings !== undefined && !(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(document.settings)) {
112
+ throw new db_decorators_1.ValidationError("Document settings must be JSON-safe (a map of JSON-safe values)");
113
+ }
114
+ if (document.metadata !== undefined && !(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(document.metadata)) {
115
+ throw new db_decorators_1.ValidationError("Document metadata must be JSON-safe: functions, class instances, undefined, NaN/Infinity, symbol keys, or unsafe prototype keys are not allowed");
116
+ }
117
+ if (document.ui !== undefined && !(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(document.ui)) {
118
+ throw new db_decorators_1.ValidationError("Document ui must be JSON-safe: functions, class instances, undefined, NaN/Infinity, symbol keys, or unsafe prototype keys are not allowed");
119
+ }
120
+ }
121
+ function describeDocument(document) {
122
+ const id = document?.["id"];
123
+ return typeof id === "string" ? id : "<unnamed document>";
124
+ }
125
+ function assertGraphNodeValid(node, nodeIds) {
126
+ if (typeof node.id !== "string" || !node.id) {
127
+ throw new db_decorators_1.ValidationError("Node 'id' is required and must be a non-empty string");
128
+ }
129
+ if (nodeIds.has(node.id)) {
130
+ throw new db_decorators_1.ValidationError(`Node id '${node.id}' is declared more than once; node ids must be unique`);
131
+ }
132
+ if (typeof node.kind !== "string" || !node.kind) {
133
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' must declare a non-empty string 'kind'`);
134
+ }
135
+ if (node.parameters === undefined || node.parameters === null) {
136
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' parameters must be present (an empty object when there are none)`);
137
+ }
138
+ nodeIds.add(node.id);
139
+ if (node.inputBindings) {
140
+ for (const [key, binding] of Object.entries(node.inputBindings)) {
141
+ if ((0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key)) {
142
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' input binding key '${key}' is not allowed (unsafe prototype-pollutant key)`);
143
+ }
144
+ if (!(0, GraphNodeBinding_js_1.isGraphInputBinding)(binding)) {
145
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' input binding for '${key}' must be a valid GraphInputBinding (edge, literal, or expression)`);
146
+ }
147
+ if (binding.mode === "literal" && !(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(binding.value)) {
148
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' literal binding for '${key}' must contain JSON-safe values`);
149
+ }
150
+ if (binding.mode === "expression" && !binding.expression) {
151
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' expression binding for '${key}' must contain a non-empty expression`);
152
+ }
153
+ }
154
+ }
155
+ if (node.outputBindings) {
156
+ for (const [key, binding] of Object.entries(node.outputBindings)) {
157
+ if ((0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key)) {
158
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' output binding key '${key}' is not allowed (unsafe prototype-pollutant key)`);
159
+ }
160
+ if (!binding || typeof binding !== "object" || Array.isArray(binding)) {
161
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' output binding for '${key}' must be an object with enabled and alias settings`);
162
+ }
163
+ }
164
+ }
165
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(node.parameters)) {
166
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' parameters must be JSON-safe: functions, class instances, undefined, NaN/Infinity, symbol keys, or unsafe prototype keys are not allowed`);
167
+ }
168
+ }
169
+ function assertGraphLoopConfigurationValid(node, config, context) {
170
+ if (!config.body || typeof config.body !== "object") {
171
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' loop configuration requires a body document`);
172
+ }
173
+ assertGraphWorkflowDocumentValid(config.body, context);
174
+ if (config.maxIterations !== undefined &&
175
+ (!Number.isFinite(config.maxIterations) || config.maxIterations <= 0)) {
176
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' loop maxIterations must be a positive number`);
177
+ }
178
+ if (config.timeoutMs !== undefined &&
179
+ (typeof config.timeoutMs !== "number" || config.timeoutMs <= 0)) {
180
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' loop timeoutMs must be a positive number in milliseconds`);
181
+ }
182
+ if (config.concurrency !== undefined &&
183
+ (typeof config.concurrency !== "number" || config.concurrency <= 0)) {
184
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' loop concurrency must be a positive number`);
185
+ }
186
+ for (const mappings of [config.inputMappings, config.outputMappings]) {
187
+ if (!mappings)
188
+ continue;
189
+ for (const [key, reference] of Object.entries(mappings)) {
190
+ if ((0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key)) {
191
+ throw new db_decorators_1.ValidationError(`Node '${node.id}' loop mapping key '${key}' is not allowed (unsafe prototype-pollutant key)`);
192
+ }
193
+ assertGraphValueReferenceShape(reference, node.id, key);
194
+ }
195
+ }
196
+ }
197
+ function assertGraphValueReferenceShape(reference, nodeId, mappingKey) {
198
+ if (!reference || typeof reference !== "object") {
199
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' must reference a workflow port, node port, literal, or expression`);
200
+ }
201
+ switch (reference.source) {
202
+ case "workflow":
203
+ if (typeof reference.port !== "string" || !reference.port) {
204
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' referencing a workflow must reference a port identifier`);
205
+ }
206
+ break;
207
+ case "node":
208
+ if (typeof reference.nodeId !== "string" ||
209
+ !reference.nodeId ||
210
+ typeof reference.port !== "string" ||
211
+ !reference.port) {
212
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' referencing a node must reference a node id and a port`);
213
+ }
214
+ break;
215
+ case "literal":
216
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(reference.value)) {
217
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' literal references must be JSON-safe values`);
218
+ }
219
+ break;
220
+ case "expression":
221
+ if (typeof reference.expression !== "string" || !reference.expression) {
222
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' expression references must be non-empty expressions`);
223
+ }
224
+ break;
225
+ default:
226
+ throw new db_decorators_1.ValidationError(`Node '${nodeId}' loop mapping '${mappingKey}' must use a workflow, node, literal, or expression reference source`);
227
+ }
228
+ }
229
+ function assertGraphEdgeValid(edge, edgeIds) {
230
+ if (typeof edge.id !== "string" || !edge.id) {
231
+ throw new db_decorators_1.ValidationError("Edge 'id' is required and must be a non-empty string");
232
+ }
233
+ if (edgeIds.has(edge.id)) {
234
+ throw new db_decorators_1.ValidationError(`Edge id '${edge.id}' is declared more than once; edge ids must be unique`);
235
+ }
236
+ if (!(0, GraphEndpoint_js_1.isGraphEndpoint)(edge.source)) {
237
+ throw new db_decorators_1.ValidationError(`Edge '${edge.id}' source endpoint is not a valid GraphEndpoint`);
238
+ }
239
+ if (!(0, GraphEndpoint_js_1.isGraphEndpoint)(edge.target)) {
240
+ throw new db_decorators_1.ValidationError(`Edge '${edge.id}' target endpoint is not a valid GraphEndpoint`);
241
+ }
242
+ if (edge.type !== "data" && edge.type !== "connection") {
243
+ throw new db_decorators_1.ValidationError(`Edge '${edge.id}' type '${String(edge.type)}' is not a valid edge type (data or connection are allowed)`);
244
+ }
245
+ edgeIds.add(edge.id);
246
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(edge)) {
247
+ throw new db_decorators_1.ValidationError(`Edge '${edge.id}' contains values that are not JSON-safe: functions, class instances, undefined, NaN/Infinity, symbol keys, or unsafe prototype keys are not allowed`);
248
+ }
249
+ }
250
+ function assertEdgeEndpoint(endpoint, document, workflowPorts, nodeIds, context) {
251
+ if ((0, GraphEndpoint_js_1.isGraphWorkflowEndpoint)(endpoint)) {
252
+ if (!workflowPorts.has(endpoint.port)) {
253
+ throw new db_decorators_1.ValidationError(`${context} references workflow port '${endpoint.port}' which is not declared on the document`);
254
+ }
255
+ return;
256
+ }
257
+ if ((0, GraphEndpoint_js_1.isGraphNodeEndpoint)(endpoint)) {
258
+ if (!nodeIds.has(endpoint.nodeId)) {
259
+ throw new db_decorators_1.ValidationError(`${context} references node '${endpoint.nodeId}' which is not part of the document`);
260
+ }
261
+ if (typeof endpoint.port !== "string" || !endpoint.port) {
262
+ throw new db_decorators_1.ValidationError(`${context} node endpoints must reference a non-empty port identifier`);
263
+ }
264
+ }
265
+ }
266
+ //# sourceMappingURL=GraphWorkflowDocumentBuilder.js.map
267
+ //# sourceMappingURL=GraphWorkflowDocumentBuilder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/document/GraphWorkflowDocumentBuilder.cjs","sourceRoot":"","sources":["graph/document/GraphWorkflowDocumentBuilder.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.graphWorkflowDocumentOf = graphWorkflowDocumentOf;
4
+ exports.graphWorkflowNodeOf = graphWorkflowNodeOf;
5
+ exports.graphWorkflowEdgeOf = graphWorkflowEdgeOf;
6
+ exports.graphWorkflowPortsOf = graphWorkflowPortsOf;
7
+ exports.graphWorkflowSettingsOf = graphWorkflowSettingsOf;
8
+ exports.graphWorkflowEdgesOf = graphWorkflowEdgesOf;
9
+ exports.graphWorkflowNodeEdgesOf = graphWorkflowNodeEdgesOf;
10
+ exports.graphNodeEndpointId = graphNodeEndpointId;
11
+ exports.graphWorkflowNodeUiOf = graphWorkflowNodeUiOf;
12
+ exports.graphWorkflowUiOf = graphWorkflowUiOf;
13
+ exports.graphWorkflowUiValueOf = graphWorkflowUiValueOf;
14
+ exports.graphWorkflowDocumentSettingOf = graphWorkflowDocumentSettingOf;
15
+ exports.graphWorkflowDocumentMetadataValueOf = graphWorkflowDocumentMetadataValueOf;
16
+ const GraphJsonValue_js_1 = require("./GraphJsonValue.cjs");
17
+ const GraphWorkflowDocument_js_1 = require("./GraphWorkflowDocument.cjs");
18
+ function graphWorkflowDocumentOf(value) {
19
+ if (!(0, GraphWorkflowDocument_js_1.isGraphWorkflowDocumentShape)(value))
20
+ return undefined;
21
+ return value;
22
+ }
23
+ function graphWorkflowNodeOf(document, nodeId) {
24
+ return document?.nodes.find((node) => node.id === nodeId);
25
+ }
26
+ function graphWorkflowEdgeOf(document, edgeId) {
27
+ return document?.edges.find((edge) => edge.id === edgeId);
28
+ }
29
+ function graphWorkflowPortsOf(document) {
30
+ const inputs = document?.inputs ?? [];
31
+ const outputs = document?.outputs ?? [];
32
+ return { inputs, outputs };
33
+ }
34
+ function graphWorkflowSettingsOf(document) {
35
+ return { ...(document?.settings ?? {}) };
36
+ }
37
+ function graphWorkflowEdgesOf(document) {
38
+ return document?.edges ?? [];
39
+ }
40
+ function graphWorkflowNodeEdgesOf(document, nodeId) {
41
+ return (document?.edges ?? []).filter((edge) => graphNodeEndpointId(edge.source) === nodeId || graphNodeEndpointId(edge.target) === nodeId);
42
+ }
43
+ function graphNodeEndpointId(endpoint) {
44
+ if (endpoint && endpoint.scope === "node") {
45
+ return endpoint.nodeId;
46
+ }
47
+ return undefined;
48
+ }
49
+ function graphWorkflowNodeUiOf(document, nodeId) {
50
+ return graphWorkflowNodeOf(document, nodeId)?.ui;
51
+ }
52
+ function graphWorkflowUiOf(document) {
53
+ return document.ui ?? undefined;
54
+ }
55
+ function graphWorkflowUiValueOf(document, key) {
56
+ const ui = graphWorkflowUiOf(document);
57
+ if (!ui || (0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key))
58
+ return undefined;
59
+ return ui[key];
60
+ }
61
+ function graphWorkflowDocumentSettingOf(document, key) {
62
+ return hasSetting(document?.settings, key)
63
+ ? document.settings[key]
64
+ : undefined;
65
+ }
66
+ function graphWorkflowDocumentMetadataValueOf(document, key) {
67
+ if (!document?.metadata ||
68
+ (0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key) ||
69
+ !(key in document.metadata)) {
70
+ return undefined;
71
+ }
72
+ return document.metadata[key];
73
+ }
74
+ function hasSetting(settings, key) {
75
+ return Boolean(settings) && !(0, GraphJsonValue_js_1.isGraphUnsafeObjectKey)(key) && key in settings;
76
+ }
77
+ //# sourceMappingURL=GraphWorkflowDocumentReader.js.map
78
+ //# sourceMappingURL=GraphWorkflowDocumentReader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/document/GraphWorkflowDocumentReader.cjs","sourceRoot":"","sources":["graph/document/GraphWorkflowDocumentReader.js"],"names":[],"mappings":";;AAEA,0DAIC;AACD,kDAEC;AACD,kDAEC;AACD,oDAIC;AACD,0DAEC;AACD,oDAEC;AACD,4DAEC;AACD,kDAKC;AACD,sDAEC;AACD,8CAEC;AACD,wDAKC;AACD,wEAIC;AACD,oFAOC;AAzDD,2DAA6D;AAC7D,yEAA0E;AAC1E,SAAgB,uBAAuB,CAAC,KAAK;IACzC,IAAI,CAAC,IAAA,uDAA4B,EAAC,KAAK,CAAC;QACpC,OAAO,SAAS,CAAC;IACrB,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,SAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAChD,OAAO,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;AAC9D,CAAC;AACD,SAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM;IAChD,OAAO,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;AAC9D,CAAC;AACD,SAAgB,oBAAoB,CAAC,QAAQ;IACzC,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AACD,SAAgB,uBAAuB,CAAC,QAAQ;IAC5C,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;AAC7C,CAAC;AACD,SAAgB,oBAAoB,CAAC,QAAQ;IACzC,OAAO,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;AACjC,CAAC;AACD,SAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM;IACrD,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;AAChJ,CAAC;AACD,SAAgB,mBAAmB,CAAC,QAAQ;IACxC,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM;IAClD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC;AACD,SAAgB,iBAAiB,CAAC,QAAQ;IACtC,OAAO,QAAQ,CAAC,EAAE,IAAI,SAAS,CAAC;AACpC,CAAC;AACD,SAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG;IAChD,MAAM,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,IAAI,IAAA,0CAAsB,EAAC,GAAG,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AACD,SAAgB,8BAA8B,CAAC,QAAQ,EAAE,GAAG;IACxD,OAAO,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC;QACtC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC;AACD,SAAgB,oCAAoC,CAAC,QAAQ,EAAE,GAAG;IAC9D,IAAI,CAAC,QAAQ,EAAE,QAAQ;QACnB,IAAA,0CAAsB,EAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AACD,SAAS,UAAU,CAAC,QAAQ,EAAE,GAAG;IAC7B,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,0CAAsB,EAAC,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC;AAChF,CAAC;AACD,uDAAuD"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.graphWorkflowDocumentSerializer = graphWorkflowDocumentSerializer;
4
+ exports.graphWorkflowDocumentDeserializer = graphWorkflowDocumentDeserializer;
5
+ exports.graphJsonSerializer = graphJsonSerializer;
6
+ exports.graphJsonParser = graphJsonParser;
7
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
8
+ const GraphJsonValue_js_1 = require("./GraphJsonValue.cjs");
9
+ const GraphWorkflowDocument_js_1 = require("./GraphWorkflowDocument.cjs");
10
+ const GraphWorkflowDocumentBuilder_js_1 = require("./GraphWorkflowDocumentBuilder.cjs");
11
+ function graphWorkflowDocumentSerializer(document) {
12
+ if (!(0, GraphWorkflowDocument_js_1.isGraphWorkflowDocumentShape)(document)) {
13
+ throw new db_decorators_1.ValidationError("Cannot serialize a graph workflow document: the value is not a canonical GraphWorkflowDocument shape");
14
+ }
15
+ try {
16
+ return JSON.stringify(document, null, 2);
17
+ }
18
+ catch (e) {
19
+ throw new db_decorators_1.ValidationError(`Cannot serialize graph workflow document '${document.id}': ${String(e)}`);
20
+ }
21
+ }
22
+ function graphWorkflowDocumentDeserializer(serialised) {
23
+ let parsed;
24
+ try {
25
+ parsed = JSON.parse(serialised);
26
+ }
27
+ catch (e) {
28
+ throw new db_decorators_1.ValidationError(`Serialized graph workflow document is not valid JSON: ${String(e)}`);
29
+ }
30
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(parsed)) {
31
+ throw new db_decorators_1.ValidationError("Serialized graph workflow document contains JSON-unsafe values: functions, non-JSON objects, NaN/Infinity, symbol keys, unsafe prototype keys are rejected");
32
+ }
33
+ if (!(0, GraphWorkflowDocument_js_1.isGraphWorkflowDocumentShape)(parsed)) {
34
+ throw new db_decorators_1.ValidationError("Serialized graph workflow document is not shaped as a canonical GraphWorkflowDocument (id, name, inputs, outputs, nodes and edges are required)");
35
+ }
36
+ const document = parsed;
37
+ (0, GraphWorkflowDocumentBuilder_js_1.assertGraphWorkflowDocumentValid)(document);
38
+ return document;
39
+ }
40
+ function graphJsonSerializer(value, indentation) {
41
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(value)) {
42
+ throw new db_decorators_1.ValidationError("Cannot serialize a value: functions, class instances, undefined, NaN/Infinity, symbol keys, unsafe prototype keys, or cycles are not allowed");
43
+ }
44
+ try {
45
+ return JSON.stringify(value, null, indentation);
46
+ }
47
+ catch (e) {
48
+ throw new db_decorators_1.ValidationError(`Cannot serialize JSON-safe value: ${String(e)} (cycles and circular structures are not allowed inside graph JSON)`);
49
+ }
50
+ }
51
+ function graphJsonParser(serialised) {
52
+ if (typeof serialised !== "string") {
53
+ if (typeof serialised === "object" && serialised !== null)
54
+ return serialised;
55
+ throw new db_decorators_1.ValidationError("Graph JSON parser accepts serialized strings (pass an object only when restoring a known-safe value)");
56
+ }
57
+ let parsed;
58
+ try {
59
+ parsed = JSON.parse(serialised);
60
+ }
61
+ catch (e) {
62
+ throw new db_decorators_1.ValidationError(`Serialized graph JSON is not valid JSON: ${String(e)}`);
63
+ }
64
+ if (!(0, GraphJsonValue_js_1.isGraphJsonSafeValue)(parsed)) {
65
+ throw new db_decorators_1.ValidationError("Serialized graph JSON contains JSON-unsafe values: functions, non-JSON objects, NaN/Infinity, symbol keys, unsafe prototype keys are rejected");
66
+ }
67
+ return parsed;
68
+ }
69
+ //# sourceMappingURL=GraphWorkflowDocumentSerializer.js.map
70
+ //# sourceMappingURL=GraphWorkflowDocumentSerializer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/document/GraphWorkflowDocumentSerializer.cjs","sourceRoot":"","sources":["graph/document/GraphWorkflowDocumentSerializer.js"],"names":[],"mappings":";;AAIA,0EAUC;AACD,8EAiBC;AACD,kDAUC;AACD,0CAiBC;AA7DD,2DAA0D;AAC1D,2DAA2D;AAC3D,yEAA0E;AAC1E,uFAAqF;AACrF,SAAgB,+BAA+B,CAAC,QAAQ;IACpD,IAAI,CAAC,IAAA,uDAA4B,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,+BAAe,CAAC,sGAAsG,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,+BAAe,CAAC,6CAA6C,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AACD,SAAgB,iCAAiC,CAAC,UAAU;IACxD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,+BAAe,CAAC,yDAAyD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,IAAA,wCAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,+BAAe,CAAC,4JAA4J,CAAC,CAAC;IAC5L,CAAC;IACD,IAAI,CAAC,IAAA,uDAA4B,EAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,+BAAe,CAAC,iJAAiJ,CAAC,CAAC;IACjL,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,IAAA,kEAAgC,EAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,SAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW;IAClD,IAAI,CAAC,IAAA,wCAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,+BAAe,CAAC,8IAA8I,CAAC,CAAC;IAC9K,CAAC;IACD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,+BAAe,CAAC,qCAAqC,MAAM,CAAC,CAAC,CAAC,qEAAqE,CAAC,CAAC;IACnJ,CAAC;AACL,CAAC;AACD,SAAgB,eAAe,CAAC,UAAU;IACtC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI;YACrD,OAAO,UAAU,CAAC;QACtB,MAAM,IAAI,+BAAe,CAAC,sGAAsG,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,+BAAe,CAAC,4CAA4C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,IAAA,wCAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,+BAAe,CAAC,+IAA+I,CAAC,CAAC;IAC/K,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,2DAA2D"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GraphWorkflowUiState.js.map
4
+ //# sourceMappingURL=GraphWorkflowUiState.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/document/GraphWorkflowUiState.cjs","sourceRoot":"","sources":["graph/document/GraphWorkflowUiState.js"],"names":[],"mappings":";;AACA,gDAAgD"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./GraphDecoratedWorkflowCompiler.cjs"), exports);
18
+ __exportStar(require("./GraphEdgeInstance.cjs"), exports);
19
+ __exportStar(require("./GraphEndpoint.cjs"), exports);
20
+ __exportStar(require("./GraphJsonValue.cjs"), exports);
21
+ __exportStar(require("./GraphLoopConfiguration.cjs"), exports);
22
+ __exportStar(require("./GraphNodeBinding.cjs"), exports);
23
+ __exportStar(require("./GraphNodeInstance.cjs"), exports);
24
+ __exportStar(require("./GraphWorkflowDocument.cjs"), exports);
25
+ __exportStar(require("./GraphWorkflowDocumentBuilder.cjs"), exports);
26
+ __exportStar(require("./GraphWorkflowDocumentReader.cjs"), exports);
27
+ __exportStar(require("./GraphWorkflowDocumentSerializer.cjs"), exports);
28
+ __exportStar(require("./GraphWorkflowUiState.cjs"), exports);
29
+ //# sourceMappingURL=index.js.map
30
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph/document/index.cjs","sourceRoot":"","sources":["graph/document/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,yDAAuC;AACvC,qDAAmC;AACnC,sDAAoC;AACpC,8DAA4C;AAC5C,wDAAsC;AACtC,yDAAuC;AACvC,6DAA2C;AAC3C,oEAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,4DAA0C;AAC1C,iCAAiC"}
@@ -22,6 +22,8 @@ __exportStar(require("./registry.cjs"), exports);
22
22
  __exportStar(require("./overrides/index.cjs"), exports);
23
23
  __exportStar(require("./snapshot.cjs"), exports);
24
24
  __exportStar(require("./reader.cjs"), exports);
25
+ __exportStar(require("./document/index.cjs"), exports);
26
+ __exportStar(require("./catalog/index.cjs"), exports);
25
27
  __exportStar(require("./types.cjs"), exports);
26
28
  __exportStar(require("./overrides/index.cjs"), exports);
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph/index.cjs","sourceRoot":"","sources":["graph/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,gCAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,gDAA8B;AAC9B,8CAA4B;AAC5B,6CAA2B;AAC3B,uDAAqC;AACrC,iCAAiC"}
1
+ {"version":3,"file":"graph/index.cjs","sourceRoot":"","sources":["graph/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,gCAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,gDAA8B;AAC9B,8CAA4B;AAC5B,sDAAoC;AACpC,qDAAmC;AACnC,6CAA2B;AAC3B,uDAAqC;AACrC,iCAAiC"}