@decaf-ts/ui-decorators 0.19.0 → 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 +5 -5
@@ -0,0 +1,294 @@
1
+ import { ValidationError } from "@decaf-ts/db-decorators";
2
+ import { graphDefinitionOf, graphLeafPortsOf, graphNodeMetadataOf, graphPortsOf } from "./../reader.js";
3
+ import { isGraphJsonSafeValue } from "./../document/GraphJsonValue.js";
4
+ import { GRAPH_DATE_TYPE_NAME_FORMATS, graphValueSchemaFromValidation, } from "./GraphValueSchemaDerivation.js";
5
+ import { assertGraphNodeManifestSerializable } from "./GraphNodeManifestSerialization.js";
6
+ const GRAPH_DEFAULT_ICON_NAME = "ph:circuitry";
7
+ const GRAPH_CODE_LANGUAGE = "javascript";
8
+ function graphPortDefaultValueOf(port) {
9
+ const elementValue = port.element?.["props"]?.["value"];
10
+ const source = elementValue ?? port.prop?.["value"] ?? port.validation?.["defaultValue"];
11
+ if (source === undefined || typeof source === "function")
12
+ return undefined;
13
+ if (!isGraphJsonSafeValue(source))
14
+ return undefined;
15
+ try {
16
+ return JSON.parse(JSON.stringify(source));
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ }
22
+ function portPlaceholderOf(port) {
23
+ const placeholder = port.element?.["props"]?.["placeholder"] ?? port.prop?.["placeholder"];
24
+ return typeof placeholder === "string" ? placeholder : undefined;
25
+ }
26
+ function graphPortSchemaOf(port) {
27
+ if (port.type && port.type in GRAPH_DATE_TYPE_NAME_FORMATS) {
28
+ return { type: "string", format: GRAPH_DATE_TYPE_NAME_FORMATS[port.type] };
29
+ }
30
+ return graphValueSchemaFromValidation(port.validation, port.type, port.model);
31
+ }
32
+ function portMetadataOf(port) {
33
+ const metadata = {};
34
+ for (const [key, value] of Object.entries(port.graph?.["metadata"] ?? {})) {
35
+ if (!isGraphJsonSafeValue(value))
36
+ continue;
37
+ metadata[key] = JSON.parse(JSON.stringify(value));
38
+ }
39
+ return Object.keys(metadata).length ? metadata : undefined;
40
+ }
41
+ function graphPortDirectionOf(direction) {
42
+ switch (direction) {
43
+ case "output":
44
+ return "output";
45
+ case "connection":
46
+ return "connection";
47
+ default:
48
+ return "input";
49
+ }
50
+ }
51
+ function graphPortManifestOf(port, connectionsPolicy) {
52
+ const manifest = {
53
+ id: port.path ?? port.property,
54
+ label: port.label,
55
+ direction: graphPortDirectionOf(port.direction),
56
+ schema: graphPortSchemaOf(port),
57
+ };
58
+ if (port.required)
59
+ manifest.required = true;
60
+ if (port.hidden)
61
+ manifest.hidden = true;
62
+ const category = port.graph?.["category"];
63
+ if (typeof category === "string")
64
+ manifest.category = category;
65
+ const handle = port.graph?.["handle"];
66
+ if (typeof handle === "string")
67
+ manifest.handle = handle;
68
+ const policy = graphPortsPolicyOf(port.graph?.["connectionRules"]) ?? connectionsPolicy;
69
+ if (policy)
70
+ manifest.connectionPolicy = policy;
71
+ const metadata = portMetadataOf(port);
72
+ if (metadata)
73
+ manifest.metadata = metadata;
74
+ return manifest;
75
+ }
76
+ function graphParameterOf(port) {
77
+ const base = {
78
+ type: "string",
79
+ id: port.path ?? port.property,
80
+ label: port.label,
81
+ required: port.required,
82
+ };
83
+ if (port.hidden) {
84
+ return graphHiddenParameterOf(port, base);
85
+ }
86
+ const defaultValue = graphPortDefaultValueOf(port);
87
+ if (defaultValue !== undefined)
88
+ base["defaultValue"] = defaultValue;
89
+ const placeholder = portPlaceholderOf(port);
90
+ if (placeholder)
91
+ base["placeholder"] = placeholder;
92
+ const metadata = portMetadataOf(port);
93
+ if (metadata)
94
+ base["metadata"] = metadata;
95
+ if (isGraphCodeWidget(port)) {
96
+ const parameter = {
97
+ ...base,
98
+ type: "code",
99
+ language: graphCodeLanguageOf(port),
100
+ };
101
+ return cleanup(parameter);
102
+ }
103
+ const schema = graphPortSchemaOf(port);
104
+ switch (schema.type) {
105
+ case "number": {
106
+ const parameter = {
107
+ ...base,
108
+ type: "number",
109
+ integer: schema.integer,
110
+ min: schema.min,
111
+ max: schema.max,
112
+ };
113
+ const step = numericValidationOf(port.validation?.["step"]);
114
+ if (step !== undefined)
115
+ parameter.step = step;
116
+ return cleanup(parameter);
117
+ }
118
+ case "boolean": {
119
+ return cleanup({ ...base, type: "boolean" });
120
+ }
121
+ case "enum": {
122
+ const parameter = {
123
+ ...base,
124
+ type: "options",
125
+ options: schema.values.map((value) => ({ value, label: String(value) })),
126
+ };
127
+ return cleanup(parameter);
128
+ }
129
+ case "array": {
130
+ const parameter = {
131
+ ...base,
132
+ type: "collection",
133
+ };
134
+ if (schema.maxItems !== undefined)
135
+ parameter.maxItems = schema.maxItems;
136
+ return cleanup(parameter);
137
+ }
138
+ case "object":
139
+ case "model": {
140
+ return cleanup({ ...base, type: "object" });
141
+ }
142
+ default: {
143
+ const parameter = {
144
+ ...base,
145
+ type: "string",
146
+ multiline: multilineOf(port) ? true : undefined,
147
+ pattern: patternOf(port.validation?.["pattern"]),
148
+ minLength: numericValidationOf(port.validation?.["minlength"]),
149
+ maxLength: numericValidationOf(port.validation?.["maxlength"]),
150
+ };
151
+ return cleanup(parameter);
152
+ }
153
+ }
154
+ }
155
+ function cleanup(parameter) {
156
+ const record = parameter;
157
+ for (const key of Object.keys(record)) {
158
+ if (record[key] === undefined)
159
+ delete record[key];
160
+ }
161
+ return parameter;
162
+ }
163
+ function graphHiddenParameterOf(port, base) {
164
+ const parameter = { ...base, type: "hidden" };
165
+ const defaultValue = graphPortDefaultValueOf(port);
166
+ if (defaultValue !== undefined)
167
+ parameter.defaultValue = defaultValue;
168
+ return cleanup(parameter);
169
+ }
170
+ function patternOf(entry) {
171
+ const value = entry?.["value"];
172
+ return typeof value === "string" ? value : undefined;
173
+ }
174
+ function numericValidationOf(entry) {
175
+ const value = entry?.["value"];
176
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
177
+ }
178
+ function widgetTagOf(port) {
179
+ const tag = port.element?.["tag"];
180
+ return typeof tag === "string" && tag ? tag : undefined;
181
+ }
182
+ function multilineOf(port) {
183
+ return widgetTagOf(port) === "textarea";
184
+ }
185
+ function isGraphCodeWidget(port) {
186
+ const tag = widgetTagOf(port);
187
+ return tag === "code" || tag === "code-editor";
188
+ }
189
+ const GRAPH_CODE_LANGUAGES = ["javascript", "typescript", "json", "text"];
190
+ function graphCodeLanguageOf(port) {
191
+ const raw = port.element?.["props"]?.["language"];
192
+ return typeof raw === "string" && GRAPH_CODE_LANGUAGES.includes(raw)
193
+ ? raw
194
+ : GRAPH_CODE_LANGUAGE;
195
+ }
196
+ function iconOf(definition, options) {
197
+ if (options.icon)
198
+ return options.icon;
199
+ const icon = definition.effectiveIcon ?? definition.icon;
200
+ if (typeof icon === "string")
201
+ return { type: "catalogue", name: icon };
202
+ return { type: "catalogue", name: GRAPH_DEFAULT_ICON_NAME };
203
+ }
204
+ function displayOf(definition, options) {
205
+ const display = {
206
+ name: options.name ?? definition.name,
207
+ };
208
+ const description = definition.graph?.["metadata"]?.["description"] ??
209
+ undefined;
210
+ if (typeof description === "string" && description)
211
+ display.description = description;
212
+ const category = options.category ?? definition.category;
213
+ if (typeof category === "string" && category)
214
+ display.category = category;
215
+ if (typeof definition.group === "string" && definition.group)
216
+ display.group = definition.group;
217
+ if (Array.isArray(definition.labels))
218
+ display.labels = definition.labels.slice();
219
+ const icon = iconOf(definition, options);
220
+ if (icon)
221
+ display.icon = icon;
222
+ if (typeof definition.color === "string" && definition.color)
223
+ display.color = definition.color;
224
+ if (typeof definition.width === "number" && Number.isFinite(definition.width)) {
225
+ display.width = definition.width;
226
+ }
227
+ if (typeof definition.minWidth === "number" && Number.isFinite(definition.minWidth)) {
228
+ display.minWidth = definition.minWidth;
229
+ }
230
+ if (typeof definition.height === "number" && Number.isFinite(definition.height)) {
231
+ display.height = definition.height;
232
+ }
233
+ return display;
234
+ }
235
+ function graphPortsPolicyOf(rules) {
236
+ if (!rules)
237
+ return undefined;
238
+ const record = rules;
239
+ const policy = {};
240
+ if (typeof record["allowSelf"] === "boolean")
241
+ policy.allowSelf = record["allowSelf"];
242
+ if (typeof record["allowMultiple"] === "boolean")
243
+ policy.allowMultiple = record["allowMultiple"];
244
+ const allowed = record["allowedKinds"];
245
+ if (Array.isArray(allowed) && allowed.every((entry) => typeof entry === "string")) {
246
+ policy.allowedNodeKinds = allowed;
247
+ }
248
+ const blocked = record["blockedKinds"];
249
+ if (Array.isArray(blocked) && blocked.every((entry) => typeof entry === "string")) {
250
+ policy.blockedNodeKinds = blocked;
251
+ }
252
+ const max = record["maxConnections"];
253
+ if (typeof max === "number" && Number.isFinite(max)) {
254
+ policy.maxConnections = max;
255
+ }
256
+ return Object.keys(policy).length ? policy : undefined;
257
+ }
258
+ export function graphNodeManifest(node, options = {}) {
259
+ const constructor = (typeof node === "function" ? node : node.constructor);
260
+ const nodeMetadata = graphNodeMetadataOf(constructor);
261
+ if (!nodeMetadata) {
262
+ throw new ValidationError(`Node '${constructor?.name ?? String(node)}' is not decorated with @node and cannot produce a manifest`);
263
+ }
264
+ const definition = graphDefinitionOf(constructor);
265
+ const ports = graphLeafPortsOf(graphPortsOf(constructor));
266
+ const inputs = [];
267
+ const outputs = [];
268
+ const connections = [];
269
+ const parameters = [];
270
+ const nodePolicy = graphPortsPolicyOf(definition.graph?.["connectionRules"]);
271
+ for (const port of ports) {
272
+ const target = port.direction === "connection"
273
+ ? connections
274
+ : port.direction === "output"
275
+ ? outputs
276
+ : inputs;
277
+ target.push(graphPortManifestOf(port, nodePolicy));
278
+ if (port.direction === "input") {
279
+ parameters.push(graphParameterOf(port));
280
+ }
281
+ }
282
+ const manifest = {
283
+ kind: options.kind ?? definition.kind ?? definition.name,
284
+ display: displayOf(definition, options),
285
+ inputs,
286
+ outputs,
287
+ parameters,
288
+ };
289
+ if (connections.length)
290
+ manifest.connections = connections;
291
+ assertGraphNodeManifestSerializable(manifest);
292
+ return manifest;
293
+ }
294
+ //# sourceMappingURL=GraphManifestCompiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphManifestCompiler.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphManifestCompiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export const GRAPH_NODE_CAPABILITIES = [
2
+ "trigger",
3
+ "loop",
4
+ "branching",
5
+ "stateful",
6
+ "retryable",
7
+ "cancellable",
8
+ "parallel",
9
+ "resource",
10
+ ];
11
+ export function isGraphNodeCapability(value) {
12
+ return GRAPH_NODE_CAPABILITIES.includes(value);
13
+ }
14
+ export function isGraphNodeCapabilityArray(value) {
15
+ return Array.isArray(value) && value.every(isGraphNodeCapability);
16
+ }
17
+ //# sourceMappingURL=GraphNodeCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeCapability.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodeCapability.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS;IACT,MAAM;IACN,WAAW;IACX,UAAU;IACV,WAAW;IACX,aAAa;IACb,UAAU;IACV,UAAU;CACF,CAAC;AAIX,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export function isGraphNodeDisplayManifest(value) {
2
+ if (!value || typeof value !== "object" || Array.isArray(value))
3
+ return false;
4
+ const record = value;
5
+ return typeof record["name"] === "string";
6
+ }
7
+ //# sourceMappingURL=GraphNodeDisplayManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeDisplayManifest.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodeDisplayManifest.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,0BAA0B,CACxC,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,17 @@
1
+ export function isGraphNodeManifest(value) {
2
+ if (!value || typeof value !== "object" || Array.isArray(value))
3
+ return false;
4
+ const record = value;
5
+ return (typeof record["kind"] === "string" &&
6
+ typeof record["display"] === "object" &&
7
+ Array.isArray(record["inputs"]) &&
8
+ Array.isArray(record["outputs"]) &&
9
+ Array.isArray(record["parameters"]));
10
+ }
11
+ export function graphDataPortManifestsOf(manifest, direction) {
12
+ return (direction === "input" ? manifest.inputs : manifest.outputs).filter((port) => port.direction === direction);
13
+ }
14
+ export function graphConnectionPortManifests(manifest) {
15
+ return manifest.connections ?? [];
16
+ }
17
+ //# sourceMappingURL=GraphNodeManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeManifest.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodeManifest.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;QACrC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA2B,EAC3B,SAA6B;IAE7B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CACxE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAA2B;IAE3B,OAAO,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { ValidationError } from "@decaf-ts/db-decorators";
2
+ import { isGraphJsonSafeValue, cloneGraphJsonValue } from "./../document/GraphJsonValue.js";
3
+ import { isGraphNodeManifest } from "./GraphNodeManifest.js";
4
+ export function assertGraphNodeManifestSerializable(manifest) {
5
+ if (!isGraphNodeManifest(manifest)) {
6
+ throw new ValidationError("Graph node manifest does not conform to the required shape");
7
+ }
8
+ if (!isGraphJsonSafeValue(manifest)) {
9
+ throw new ValidationError("Graph node manifest contains values that are not JSON-safe: functions, class instances, undefined, NaN/Infinity, symbol keys or unsafe prototype keys are not allowed on manifests");
10
+ }
11
+ }
12
+ export function serializeGraphNodeManifest(manifest) {
13
+ assertGraphNodeManifestSerializable(manifest);
14
+ return cloneGraphJsonValue(manifest);
15
+ }
16
+ export function deserializeGraphNodeManifest(serialized) {
17
+ if (!isGraphNodeManifest(serialized)) {
18
+ throw new ValidationError("Serialized graph node manifest does not conform to the required shape");
19
+ }
20
+ return cloneGraphJsonValue(serialized);
21
+ }
22
+ export function graphNodeManifestSerializer(manifest) {
23
+ assertGraphNodeManifestSerializable(manifest);
24
+ try {
25
+ return JSON.stringify(manifest, null, 2);
26
+ }
27
+ catch (e) {
28
+ throw new ValidationError(`Cannot serialize graph node manifest '${manifest.kind}': ${String(e)}`);
29
+ }
30
+ }
31
+ export function graphNodeManifestDeserializer(serialised) {
32
+ let parsed;
33
+ try {
34
+ parsed = JSON.parse(serialised);
35
+ }
36
+ catch (e) {
37
+ throw new ValidationError(`Serialized graph node manifest is not valid JSON: ${String(e)}`);
38
+ }
39
+ assertGraphNodeManifestSerializable(parsed);
40
+ return parsed;
41
+ }
42
+ //# sourceMappingURL=GraphNodeManifestSerialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeManifestSerialization.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodeManifestSerialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,wCAAmC;AAEvF,OAAO,EAAE,mBAAmB,EAAE,+BAA4B;AAE1D,MAAM,UAAU,mCAAmC,CACjD,QAA2B;IAE3B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,eAAe,CACvB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CACvB,oLAAoL,CACrL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA2B;IAE3B,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,mBAAmB,CACxB,QAAqC,CACJ,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAA0C;IAE1C,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CACvB,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC,UAAuC,CAAiC,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAA2B;IACrE,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CACvB,yCAAyC,QAAQ,CAAC,IAAI,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC9D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CACvB,qDAAqD,MAAM,CAAC,CAAC,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;IACD,mCAAmC,CAAC,MAA2B,CAAC,CAAC;IACjE,OAAO,MAA2B,CAAC;AACrC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const GRAPH_NODE_METHOD_TYPES = [
2
+ "loadOptions",
3
+ "listSearch",
4
+ "resourceLocator",
5
+ "resourceMapping",
6
+ "validateParameter",
7
+ "action",
8
+ ];
9
+ export function isGraphNodeMethodType(value) {
10
+ return GRAPH_NODE_METHOD_TYPES.includes(value);
11
+ }
12
+ export function isGraphNodeMethodManifest(value) {
13
+ if (!value || typeof value !== "object" || Array.isArray(value))
14
+ return false;
15
+ const record = value;
16
+ return (typeof record["name"] === "string" &&
17
+ isGraphNodeMethodType(record["type"]) &&
18
+ (record["parameter"] === undefined || typeof record["parameter"] === "string") &&
19
+ (record["dependencies"] === undefined ||
20
+ (Array.isArray(record["dependencies"]) &&
21
+ record["dependencies"].every((entry) => typeof entry === "string"))));
22
+ }
23
+ //# sourceMappingURL=GraphNodeMethodManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodeMethodManifest.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodeMethodManifest.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,QAAQ;CACA,CAAC;AAEX,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAQ,uBAA6C,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC;QAC9E,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS;YACnC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACnC,MAAM,CAAC,cAAc,CAAe,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export function isGraphNodePolicyManifest(value) {
2
+ if (!value || typeof value !== "object" || Array.isArray(value))
3
+ return false;
4
+ const mode = value["inputMode"];
5
+ return mode === undefined || mode === "any" || mode === "single" || mode === "multiple";
6
+ }
7
+ //# sourceMappingURL=GraphNodePolicyManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphNodePolicyManifest.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphNodePolicyManifest.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,IAAI,GAAI,KAAiC,CAAC,WAAW,CAAC,CAAC;IAC7D,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GraphParameterBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphParameterBase.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphParameterBase.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ export const GRAPH_PARAMETER_TYPES = [
2
+ "string",
3
+ "number",
4
+ "boolean",
5
+ "options",
6
+ "collection",
7
+ "object",
8
+ "code",
9
+ "expression",
10
+ "resourceLocator",
11
+ "credential",
12
+ "notice",
13
+ "hidden",
14
+ ];
15
+ export function isGraphParameterDefinitionType(value) {
16
+ return GRAPH_PARAMETER_TYPES.includes(value);
17
+ }
18
+ export function isGraphParameterDefinition(value) {
19
+ if (!value || typeof value !== "object" || Array.isArray(value))
20
+ return false;
21
+ return isGraphParameterDefinitionType(value["type"]);
22
+ }
23
+ //# sourceMappingURL=GraphParameterDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphParameterDefinition.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphParameterDefinition.ts"],"names":[],"mappings":"AAwFA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,QAAQ;IACR,QAAQ;CACA,CAAC;AAIX,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,OAAO,8BAA8B,CAAE,KAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { isGraphJsonPrimitive } from "./../document/GraphJsonValue.js";
2
+ export function isGraphParameterOption(value) {
3
+ if (!value || typeof value !== "object" || Array.isArray(value))
4
+ return false;
5
+ const record = value;
6
+ return (typeof record["label"] === "string" &&
7
+ isGraphJsonPrimitive(record["value"]) &&
8
+ (record["description"] === undefined || typeof record["description"] === "string"));
9
+ }
10
+ export function isGraphParameterOptionArray(value) {
11
+ return Array.isArray(value) && value.every(isGraphParameterOption);
12
+ }
13
+ //# sourceMappingURL=GraphParameterOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphParameterOption.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphParameterOption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,wCAAmC;AAQlE,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ;QACnC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,50 @@
1
+ export const GRAPH_PARAMETER_VALIDATION_KINDS = [
2
+ "required",
3
+ "min",
4
+ "max",
5
+ "step",
6
+ "minLength",
7
+ "maxLength",
8
+ "pattern",
9
+ "enum",
10
+ "method",
11
+ ];
12
+ export function isGraphParameterValidationKind(value) {
13
+ return GRAPH_PARAMETER_VALIDATION_KINDS.includes(value);
14
+ }
15
+ export function isGraphParameterValidation(value) {
16
+ if (!value || typeof value !== "object" || Array.isArray(value))
17
+ return false;
18
+ const kind = value["kind"];
19
+ if (!isGraphParameterValidationKind(kind))
20
+ return false;
21
+ const keys = Object.keys(value);
22
+ switch (kind) {
23
+ case "required":
24
+ return keys.length <= 2;
25
+ case "min":
26
+ case "max":
27
+ case "step":
28
+ case "minLength":
29
+ case "maxLength":
30
+ return (keys.includes("value") &&
31
+ typeof value["value"] === "number" &&
32
+ Number.isFinite(value["value"]) &&
33
+ keys.length <= 3);
34
+ case "pattern":
35
+ return keys.includes("value") && typeof value["value"] === "string" && keys.length <= 3;
36
+ case "enum":
37
+ return (keys.includes("values") &&
38
+ Array.isArray(value["values"]) &&
39
+ value["values"].every((entry) => typeof entry !== "object") &&
40
+ keys.length <= 3);
41
+ case "method":
42
+ return keys.includes("method") && typeof value["method"] === "string" && keys.length <= 3;
43
+ default:
44
+ return false;
45
+ }
46
+ }
47
+ export function isGraphParameterValidationList(value) {
48
+ return Array.isArray(value) && value.every(isGraphParameterValidation);
49
+ }
50
+ //# sourceMappingURL=GraphParameterValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphParameterValidation.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphParameterValidation.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IACN,WAAW;IACX,WAAW;IACX,SAAS;IACT,MAAM;IACN,QAAQ;CACA,CAAC;AAIX,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAQ,gCAAsD,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,IAAI,GAAI,KAAiC,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1B,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,OAAQ,KAAiC,CAAC,OAAO,CAAC,KAAK,QAAQ;gBAC/D,MAAM,CAAC,QAAQ,CAAE,KAAiC,CAAC,OAAO,CAAW,CAAC;gBACtE,IAAI,CAAC,MAAM,IAAI,CAAC,CACjB,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAQ,KAAiC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACvH,KAAK,MAAM;YACT,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAE,KAAiC,CAAC,QAAQ,CAAC,CAAC;gBACzD,KAAiC,CAAC,QAAQ,CAAe,CAAC,KAAK,CAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACrC;gBACD,IAAI,CAAC,MAAM,IAAI,CAAC,CACjB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAQ,KAAiC,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACzH;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const GRAPH_PORT_MANIFEST_DIRECTIONS = ["input", "output", "connection"];
2
+ export function isGraphPortManifestDirection(value) {
3
+ return GRAPH_PORT_MANIFEST_DIRECTIONS.includes(value);
4
+ }
5
+ export function isGraphPortManifest(value) {
6
+ if (!value || typeof value !== "object" || Array.isArray(value))
7
+ return false;
8
+ const record = value;
9
+ return (typeof record["id"] === "string" &&
10
+ typeof record["label"] === "string" &&
11
+ isGraphPortManifestDirection(record["direction"]));
12
+ }
13
+ //# sourceMappingURL=GraphPortManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphPortManifest.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphPortManifest.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAU,CAAC;AAIzF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,OAAQ,8BAAoD,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ;QACnC,4BAA4B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const GRAPH_RESOURCE_LOCATOR_MODES = ["list", "dynamic"];
2
+ export function isGraphResourceLocatorMode(value) {
3
+ return GRAPH_RESOURCE_LOCATOR_MODES.includes(value);
4
+ }
5
+ export function isGraphResourceLocatorValue(value) {
6
+ if (!value || typeof value !== "object" || Array.isArray(value))
7
+ return false;
8
+ const record = value;
9
+ return (isGraphResourceLocatorMode(record["mode"]) &&
10
+ (record["value"] === undefined || typeof record["value"] !== "function") &&
11
+ (record["placeholder"] === undefined || typeof record["placeholder"] === "string"));
12
+ }
13
+ //# sourceMappingURL=GraphResourceLocatorMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphResourceLocatorMode.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphResourceLocatorMode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,SAAS,CAAU,CAAC;AAUzE,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAQ,4BAAkD,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;QACxE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CACnF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ export const GRAPH_VALUE_SCHEMA_TYPES = [
2
+ "any",
3
+ "string",
4
+ "number",
5
+ "boolean",
6
+ "array",
7
+ "object",
8
+ "enum",
9
+ "model",
10
+ ];
11
+ export function isGraphValueSchemaType(value) {
12
+ return GRAPH_VALUE_SCHEMA_TYPES.includes(value);
13
+ }
14
+ export function isGraphValueSchema(value) {
15
+ if (!value || typeof value !== "object" || Array.isArray(value))
16
+ return false;
17
+ return isGraphValueSchemaType(value["type"]);
18
+ }
19
+ //# sourceMappingURL=GraphValueSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphValueSchema.js","sourceRoot":"","sources":["../../../../src/graph/catalog/GraphValueSchema.ts"],"names":[],"mappings":"AAuDA,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;CACC,CAAC;AAIX,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAQ,wBAA8C,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,OAAO,sBAAsB,CAAE,KAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5E,CAAC"}