@xemahq/dsl 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/LICENSE +201 -0
  2. package/dist/deliverable-spec/index.d.ts +3 -0
  3. package/dist/deliverable-spec/index.d.ts.map +1 -0
  4. package/dist/deliverable-spec/index.js +19 -0
  5. package/dist/deliverable-spec/index.js.map +1 -0
  6. package/dist/deliverable-spec/lib/schema.d.ts +151 -0
  7. package/dist/deliverable-spec/lib/schema.d.ts.map +1 -0
  8. package/dist/deliverable-spec/lib/schema.js +139 -0
  9. package/dist/deliverable-spec/lib/schema.js.map +1 -0
  10. package/dist/deliverable-spec/lib/types.d.ts +8 -0
  11. package/dist/deliverable-spec/lib/types.d.ts.map +1 -0
  12. package/dist/deliverable-spec/lib/types.js +3 -0
  13. package/dist/deliverable-spec/lib/types.js.map +1 -0
  14. package/dist/payload-codec/index.d.ts +8 -0
  15. package/dist/payload-codec/index.d.ts.map +1 -0
  16. package/dist/payload-codec/index.js +27 -0
  17. package/dist/payload-codec/index.js.map +1 -0
  18. package/dist/payload-codec/lib/blob-store.d.ts +37 -0
  19. package/dist/payload-codec/lib/blob-store.d.ts.map +1 -0
  20. package/dist/payload-codec/lib/blob-store.js +0 -0
  21. package/dist/payload-codec/lib/blob-store.js.map +1 -0
  22. package/dist/payload-codec/lib/codec-context.d.ts +6 -0
  23. package/dist/payload-codec/lib/codec-context.d.ts.map +1 -0
  24. package/dist/payload-codec/lib/codec-context.js +16 -0
  25. package/dist/payload-codec/lib/codec-context.js.map +1 -0
  26. package/dist/payload-codec/lib/codec.d.ts +51 -0
  27. package/dist/payload-codec/lib/codec.d.ts.map +1 -0
  28. package/dist/payload-codec/lib/codec.js +330 -0
  29. package/dist/payload-codec/lib/codec.js.map +1 -0
  30. package/dist/payload-codec/lib/enums.d.ts +18 -0
  31. package/dist/payload-codec/lib/enums.d.ts.map +1 -0
  32. package/dist/payload-codec/lib/enums.js +23 -0
  33. package/dist/payload-codec/lib/enums.js.map +1 -0
  34. package/dist/payload-codec/lib/errors.d.ts +18 -0
  35. package/dist/payload-codec/lib/errors.d.ts.map +1 -0
  36. package/dist/payload-codec/lib/errors.js +39 -0
  37. package/dist/payload-codec/lib/errors.js.map +1 -0
  38. package/dist/payload-codec/lib/http-blob-store.d.ts +21 -0
  39. package/dist/payload-codec/lib/http-blob-store.d.ts.map +1 -0
  40. package/dist/payload-codec/lib/http-blob-store.js +139 -0
  41. package/dist/payload-codec/lib/http-blob-store.js.map +1 -0
  42. package/dist/payload-codec/lib/lru-cache.d.ts +12 -0
  43. package/dist/payload-codec/lib/lru-cache.d.ts.map +1 -0
  44. package/dist/payload-codec/lib/lru-cache.js +59 -0
  45. package/dist/payload-codec/lib/lru-cache.js.map +1 -0
  46. package/dist/schema/action.schema.json +181 -0
  47. package/dist/schema/reusable-workflow.schema.json +46 -0
  48. package/dist/schema/workflow.schema.json +373 -0
  49. package/dist/workflow/index.d.ts +14 -0
  50. package/dist/workflow/index.d.ts.map +1 -0
  51. package/dist/workflow/index.js +49 -0
  52. package/dist/workflow/index.js.map +1 -0
  53. package/dist/workflow/lib/action-input-validator.d.ts +10 -0
  54. package/dist/workflow/lib/action-input-validator.d.ts.map +1 -0
  55. package/dist/workflow/lib/action-input-validator.js +69 -0
  56. package/dist/workflow/lib/action-input-validator.js.map +1 -0
  57. package/dist/workflow/lib/compiler/action-shape.d.ts +5 -0
  58. package/dist/workflow/lib/compiler/action-shape.d.ts.map +1 -0
  59. package/dist/workflow/lib/compiler/action-shape.js +43 -0
  60. package/dist/workflow/lib/compiler/action-shape.js.map +1 -0
  61. package/dist/workflow/lib/compiler/canonical-json.d.ts +3 -0
  62. package/dist/workflow/lib/compiler/canonical-json.d.ts.map +1 -0
  63. package/dist/workflow/lib/compiler/canonical-json.js +45 -0
  64. package/dist/workflow/lib/compiler/canonical-json.js.map +1 -0
  65. package/dist/workflow/lib/compiler/compile.d.ts +4 -0
  66. package/dist/workflow/lib/compiler/compile.d.ts.map +1 -0
  67. package/dist/workflow/lib/compiler/compile.js +794 -0
  68. package/dist/workflow/lib/compiler/compile.js.map +1 -0
  69. package/dist/workflow/lib/compiler/concurrency.d.ts +5 -0
  70. package/dist/workflow/lib/compiler/concurrency.d.ts.map +1 -0
  71. package/dist/workflow/lib/compiler/concurrency.js +104 -0
  72. package/dist/workflow/lib/compiler/concurrency.js.map +1 -0
  73. package/dist/workflow/lib/compiler/dag.d.ts +10 -0
  74. package/dist/workflow/lib/compiler/dag.d.ts.map +1 -0
  75. package/dist/workflow/lib/compiler/dag.js +74 -0
  76. package/dist/workflow/lib/compiler/dag.js.map +1 -0
  77. package/dist/workflow/lib/compiler/index.d.ts +6 -0
  78. package/dist/workflow/lib/compiler/index.d.ts.map +1 -0
  79. package/dist/workflow/lib/compiler/index.js +14 -0
  80. package/dist/workflow/lib/compiler/index.js.map +1 -0
  81. package/dist/workflow/lib/compiler/inputs.d.ts +4 -0
  82. package/dist/workflow/lib/compiler/inputs.d.ts.map +1 -0
  83. package/dist/workflow/lib/compiler/inputs.js +108 -0
  84. package/dist/workflow/lib/compiler/inputs.js.map +1 -0
  85. package/dist/workflow/lib/compiler/installation-resource-validator.d.ts +9 -0
  86. package/dist/workflow/lib/compiler/installation-resource-validator.d.ts.map +1 -0
  87. package/dist/workflow/lib/compiler/installation-resource-validator.js +76 -0
  88. package/dist/workflow/lib/compiler/installation-resource-validator.js.map +1 -0
  89. package/dist/workflow/lib/compiler/manifest-source.d.ts +4 -0
  90. package/dist/workflow/lib/compiler/manifest-source.d.ts.map +1 -0
  91. package/dist/workflow/lib/compiler/manifest-source.js +100 -0
  92. package/dist/workflow/lib/compiler/manifest-source.js.map +1 -0
  93. package/dist/workflow/lib/compiler/matrix.d.ts +4 -0
  94. package/dist/workflow/lib/compiler/matrix.d.ts.map +1 -0
  95. package/dist/workflow/lib/compiler/matrix.js +76 -0
  96. package/dist/workflow/lib/compiler/matrix.js.map +1 -0
  97. package/dist/workflow/lib/compiler/mount-plan.d.ts +4 -0
  98. package/dist/workflow/lib/compiler/mount-plan.d.ts.map +1 -0
  99. package/dist/workflow/lib/compiler/mount-plan.js +96 -0
  100. package/dist/workflow/lib/compiler/mount-plan.js.map +1 -0
  101. package/dist/workflow/lib/compiler/payload-reach-in.d.ts +14 -0
  102. package/dist/workflow/lib/compiler/payload-reach-in.d.ts.map +1 -0
  103. package/dist/workflow/lib/compiler/payload-reach-in.js +273 -0
  104. package/dist/workflow/lib/compiler/payload-reach-in.js.map +1 -0
  105. package/dist/workflow/lib/compiler/permissions.d.ts +6 -0
  106. package/dist/workflow/lib/compiler/permissions.d.ts.map +1 -0
  107. package/dist/workflow/lib/compiler/permissions.js +43 -0
  108. package/dist/workflow/lib/compiler/permissions.js.map +1 -0
  109. package/dist/workflow/lib/compiler/retry-timeout.d.ts +6 -0
  110. package/dist/workflow/lib/compiler/retry-timeout.d.ts.map +1 -0
  111. package/dist/workflow/lib/compiler/retry-timeout.js +64 -0
  112. package/dist/workflow/lib/compiler/retry-timeout.js.map +1 -0
  113. package/dist/workflow/lib/compiler/review-step.d.ts +18 -0
  114. package/dist/workflow/lib/compiler/review-step.d.ts.map +1 -0
  115. package/dist/workflow/lib/compiler/review-step.js +247 -0
  116. package/dist/workflow/lib/compiler/review-step.js.map +1 -0
  117. package/dist/workflow/lib/compiler/types.d.ts +42 -0
  118. package/dist/workflow/lib/compiler/types.d.ts.map +1 -0
  119. package/dist/workflow/lib/compiler/types.js +3 -0
  120. package/dist/workflow/lib/compiler/types.js.map +1 -0
  121. package/dist/workflow/lib/compiler/variable-requirements.d.ts +5 -0
  122. package/dist/workflow/lib/compiler/variable-requirements.d.ts.map +1 -0
  123. package/dist/workflow/lib/compiler/variable-requirements.js +119 -0
  124. package/dist/workflow/lib/compiler/variable-requirements.js.map +1 -0
  125. package/dist/workflow/lib/deliverable-spec-keys.d.ts +3 -0
  126. package/dist/workflow/lib/deliverable-spec-keys.d.ts.map +1 -0
  127. package/dist/workflow/lib/deliverable-spec-keys.js +90 -0
  128. package/dist/workflow/lib/deliverable-spec-keys.js.map +1 -0
  129. package/dist/workflow/lib/dispatch-inputs/index.d.ts +23 -0
  130. package/dist/workflow/lib/dispatch-inputs/index.d.ts.map +1 -0
  131. package/dist/workflow/lib/dispatch-inputs/index.js +106 -0
  132. package/dist/workflow/lib/dispatch-inputs/index.js.map +1 -0
  133. package/dist/workflow/lib/dispatch-inputs/to-json-schema.d.ts +3 -0
  134. package/dist/workflow/lib/dispatch-inputs/to-json-schema.d.ts.map +1 -0
  135. package/dist/workflow/lib/dispatch-inputs/to-json-schema.js +43 -0
  136. package/dist/workflow/lib/dispatch-inputs/to-json-schema.js.map +1 -0
  137. package/dist/workflow/lib/duration.d.ts +2 -0
  138. package/dist/workflow/lib/duration.d.ts.map +1 -0
  139. package/dist/workflow/lib/duration.js +26 -0
  140. package/dist/workflow/lib/duration.js.map +1 -0
  141. package/dist/workflow/lib/errors.d.ts +9 -0
  142. package/dist/workflow/lib/errors.d.ts.map +1 -0
  143. package/dist/workflow/lib/errors.js +28 -0
  144. package/dist/workflow/lib/errors.js.map +1 -0
  145. package/dist/workflow/lib/expression/ast.d.ts +61 -0
  146. package/dist/workflow/lib/expression/ast.d.ts.map +1 -0
  147. package/dist/workflow/lib/expression/ast.js +34 -0
  148. package/dist/workflow/lib/expression/ast.js.map +1 -0
  149. package/dist/workflow/lib/expression/context.d.ts +63 -0
  150. package/dist/workflow/lib/expression/context.d.ts.map +1 -0
  151. package/dist/workflow/lib/expression/context.js +32 -0
  152. package/dist/workflow/lib/expression/context.js.map +1 -0
  153. package/dist/workflow/lib/expression/evaluator.d.ts +5 -0
  154. package/dist/workflow/lib/expression/evaluator.d.ts.map +1 -0
  155. package/dist/workflow/lib/expression/evaluator.js +291 -0
  156. package/dist/workflow/lib/expression/evaluator.js.map +1 -0
  157. package/dist/workflow/lib/expression/index.d.ts +9 -0
  158. package/dist/workflow/lib/expression/index.d.ts.map +1 -0
  159. package/dist/workflow/lib/expression/index.js +26 -0
  160. package/dist/workflow/lib/expression/index.js.map +1 -0
  161. package/dist/workflow/lib/expression/interpolation.d.ts +9 -0
  162. package/dist/workflow/lib/expression/interpolation.d.ts.map +1 -0
  163. package/dist/workflow/lib/expression/interpolation.js +51 -0
  164. package/dist/workflow/lib/expression/interpolation.js.map +1 -0
  165. package/dist/workflow/lib/expression/parser.d.ts +4 -0
  166. package/dist/workflow/lib/expression/parser.d.ts.map +1 -0
  167. package/dist/workflow/lib/expression/parser.js +203 -0
  168. package/dist/workflow/lib/expression/parser.js.map +1 -0
  169. package/dist/workflow/lib/expression/template.d.ts +18 -0
  170. package/dist/workflow/lib/expression/template.d.ts.map +1 -0
  171. package/dist/workflow/lib/expression/template.js +63 -0
  172. package/dist/workflow/lib/expression/template.js.map +1 -0
  173. package/dist/workflow/lib/expression/tokenizer.d.ts +3 -0
  174. package/dist/workflow/lib/expression/tokenizer.d.ts.map +1 -0
  175. package/dist/workflow/lib/expression/tokenizer.js +153 -0
  176. package/dist/workflow/lib/expression/tokenizer.js.map +1 -0
  177. package/dist/workflow/lib/expression/tokens.d.ts +25 -0
  178. package/dist/workflow/lib/expression/tokens.d.ts.map +1 -0
  179. package/dist/workflow/lib/expression/tokens.js +24 -0
  180. package/dist/workflow/lib/expression/tokens.js.map +1 -0
  181. package/dist/workflow/lib/expression/walk-artifact-refs.d.ts +5 -0
  182. package/dist/workflow/lib/expression/walk-artifact-refs.d.ts.map +1 -0
  183. package/dist/workflow/lib/expression/walk-artifact-refs.js +138 -0
  184. package/dist/workflow/lib/expression/walk-artifact-refs.js.map +1 -0
  185. package/dist/workflow/lib/installation-resource-kind.d.ts +14 -0
  186. package/dist/workflow/lib/installation-resource-kind.d.ts.map +1 -0
  187. package/dist/workflow/lib/installation-resource-kind.js +59 -0
  188. package/dist/workflow/lib/installation-resource-kind.js.map +1 -0
  189. package/dist/workflow/lib/schemas-loader.d.ts +4 -0
  190. package/dist/workflow/lib/schemas-loader.d.ts.map +1 -0
  191. package/dist/workflow/lib/schemas-loader.js +36 -0
  192. package/dist/workflow/lib/schemas-loader.js.map +1 -0
  193. package/dist/workflow/lib/serializer.d.ts +3 -0
  194. package/dist/workflow/lib/serializer.d.ts.map +1 -0
  195. package/dist/workflow/lib/serializer.js +15 -0
  196. package/dist/workflow/lib/serializer.js.map +1 -0
  197. package/dist/workflow/lib/types.d.ts +179 -0
  198. package/dist/workflow/lib/types.d.ts.map +1 -0
  199. package/dist/workflow/lib/types.js +3 -0
  200. package/dist/workflow/lib/types.js.map +1 -0
  201. package/dist/workflow/lib/validate.d.ts +8 -0
  202. package/dist/workflow/lib/validate.d.ts.map +1 -0
  203. package/dist/workflow/lib/validate.js +119 -0
  204. package/dist/workflow/lib/validate.js.map +1 -0
  205. package/dist/workspace-manifest/index.d.ts +6 -0
  206. package/dist/workspace-manifest/index.d.ts.map +1 -0
  207. package/dist/workspace-manifest/index.js +22 -0
  208. package/dist/workspace-manifest/index.js.map +1 -0
  209. package/dist/workspace-manifest/lib/compile.d.ts +8 -0
  210. package/dist/workspace-manifest/lib/compile.d.ts.map +1 -0
  211. package/dist/workspace-manifest/lib/compile.js +439 -0
  212. package/dist/workspace-manifest/lib/compile.js.map +1 -0
  213. package/dist/workspace-manifest/lib/interpolate.d.ts +12 -0
  214. package/dist/workspace-manifest/lib/interpolate.d.ts.map +1 -0
  215. package/dist/workspace-manifest/lib/interpolate.js +81 -0
  216. package/dist/workspace-manifest/lib/interpolate.js.map +1 -0
  217. package/dist/workspace-manifest/lib/resolve-extends.d.ts +10 -0
  218. package/dist/workspace-manifest/lib/resolve-extends.d.ts.map +1 -0
  219. package/dist/workspace-manifest/lib/resolve-extends.js +108 -0
  220. package/dist/workspace-manifest/lib/resolve-extends.js.map +1 -0
  221. package/dist/workspace-manifest/lib/schema.d.ts +710 -0
  222. package/dist/workspace-manifest/lib/schema.d.ts.map +1 -0
  223. package/dist/workspace-manifest/lib/schema.js +355 -0
  224. package/dist/workspace-manifest/lib/schema.js.map +1 -0
  225. package/dist/workspace-manifest/lib/types.d.ts +153 -0
  226. package/dist/workspace-manifest/lib/types.d.ts.map +1 -0
  227. package/dist/workspace-manifest/lib/types.js +10 -0
  228. package/dist/workspace-manifest/lib/types.js.map +1 -0
  229. package/package.json +79 -0
  230. package/schema/action.schema.json +181 -0
  231. package/schema/reusable-workflow.schema.json +46 -0
  232. package/schema/workflow.schema.json +373 -0
  233. package/src/deliverable-spec/index.ts +19 -0
  234. package/src/deliverable-spec/lib/schema.ts +248 -0
  235. package/src/deliverable-spec/lib/types.ts +26 -0
  236. package/src/payload-codec/index.ts +40 -0
  237. package/src/payload-codec/lib/blob-store.ts +0 -0
  238. package/src/payload-codec/lib/codec-context.ts +38 -0
  239. package/src/payload-codec/lib/codec.ts +593 -0
  240. package/src/payload-codec/lib/enums.ts +58 -0
  241. package/src/payload-codec/lib/errors.ts +54 -0
  242. package/src/payload-codec/lib/http-blob-store.ts +257 -0
  243. package/src/payload-codec/lib/lru-cache.ts +81 -0
  244. package/src/workflow/index.ts +98 -0
  245. package/src/workflow/lib/action-input-validator.ts +160 -0
  246. package/src/workflow/lib/compiler/action-shape.ts +71 -0
  247. package/src/workflow/lib/compiler/canonical-json.ts +53 -0
  248. package/src/workflow/lib/compiler/compile.ts +1518 -0
  249. package/src/workflow/lib/compiler/concurrency.ts +223 -0
  250. package/src/workflow/lib/compiler/dag.ts +108 -0
  251. package/src/workflow/lib/compiler/index.ts +10 -0
  252. package/src/workflow/lib/compiler/inputs.ts +199 -0
  253. package/src/workflow/lib/compiler/installation-resource-validator.ts +114 -0
  254. package/src/workflow/lib/compiler/manifest-source.ts +176 -0
  255. package/src/workflow/lib/compiler/matrix.ts +135 -0
  256. package/src/workflow/lib/compiler/mount-plan.ts +202 -0
  257. package/src/workflow/lib/compiler/payload-reach-in.ts +497 -0
  258. package/src/workflow/lib/compiler/permissions.ts +64 -0
  259. package/src/workflow/lib/compiler/retry-timeout.ts +105 -0
  260. package/src/workflow/lib/compiler/review-step.ts +517 -0
  261. package/src/workflow/lib/compiler/types.ts +170 -0
  262. package/src/workflow/lib/compiler/variable-requirements.ts +208 -0
  263. package/src/workflow/lib/deliverable-spec-keys.ts +109 -0
  264. package/src/workflow/lib/dispatch-inputs/index.ts +160 -0
  265. package/src/workflow/lib/dispatch-inputs/to-json-schema.ts +60 -0
  266. package/src/workflow/lib/duration.ts +48 -0
  267. package/src/workflow/lib/errors.ts +37 -0
  268. package/src/workflow/lib/expression/ast.ts +108 -0
  269. package/src/workflow/lib/expression/context.ts +148 -0
  270. package/src/workflow/lib/expression/evaluator.ts +492 -0
  271. package/src/workflow/lib/expression/index.ts +28 -0
  272. package/src/workflow/lib/expression/interpolation.ts +84 -0
  273. package/src/workflow/lib/expression/parser.ts +264 -0
  274. package/src/workflow/lib/expression/template.ts +117 -0
  275. package/src/workflow/lib/expression/tokenizer.ts +200 -0
  276. package/src/workflow/lib/expression/tokens.ts +30 -0
  277. package/src/workflow/lib/expression/walk-artifact-refs.ts +232 -0
  278. package/src/workflow/lib/installation-resource-kind.ts +107 -0
  279. package/src/workflow/lib/schemas-loader.ts +64 -0
  280. package/src/workflow/lib/serializer.ts +30 -0
  281. package/src/workflow/lib/types.ts +361 -0
  282. package/src/workflow/lib/validate.ts +199 -0
  283. package/src/workspace-manifest/index.ts +27 -0
  284. package/src/workspace-manifest/lib/compile.ts +608 -0
  285. package/src/workspace-manifest/lib/interpolate.ts +140 -0
  286. package/src/workspace-manifest/lib/resolve-extends.ts +260 -0
  287. package/src/workspace-manifest/lib/schema.ts +612 -0
  288. package/src/workspace-manifest/lib/types.ts +392 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractZodTopLevelObjectKeys = extractZodTopLevelObjectKeys;
4
+ exports.extractJsonSchemaTopLevelKeys = extractJsonSchemaTopLevelKeys;
5
+ function extractZodTopLevelObjectKeys(source) {
6
+ if (!source || source.trim().length === 0)
7
+ return null;
8
+ const body = sliceTopLevelObjectBody(source);
9
+ if (body === null)
10
+ return null;
11
+ return Object.freeze(parseObjectKeysAtTopLevel(body));
12
+ }
13
+ function extractJsonSchemaTopLevelKeys(source) {
14
+ let parsed;
15
+ if (typeof source === 'string') {
16
+ if (source.trim().length === 0)
17
+ return null;
18
+ try {
19
+ parsed = JSON.parse(source);
20
+ }
21
+ catch {
22
+ return null;
23
+ }
24
+ }
25
+ else {
26
+ parsed = source;
27
+ }
28
+ if (!isPlainObject(parsed))
29
+ return null;
30
+ const properties = parsed['properties'];
31
+ if (!isPlainObject(properties))
32
+ return null;
33
+ const keys = Object.keys(properties);
34
+ return Object.freeze(keys);
35
+ }
36
+ function isPlainObject(v) {
37
+ return v !== null && typeof v === 'object' && !Array.isArray(v);
38
+ }
39
+ function sliceTopLevelObjectBody(source) {
40
+ const match = /z\.object\s*\(\s*\{/.exec(source);
41
+ if (!match)
42
+ return null;
43
+ const start = match.index + match[0].length;
44
+ let depth = 1;
45
+ for (let i = start; i < source.length; i += 1) {
46
+ const ch = source[i];
47
+ if (ch === '{')
48
+ depth += 1;
49
+ else if (ch === '}' && --depth === 0)
50
+ return source.slice(start, i);
51
+ }
52
+ return null;
53
+ }
54
+ function parseObjectKeysAtTopLevel(body) {
55
+ const keys = [];
56
+ const depth = { brace: 0, paren: 0 };
57
+ for (let i = 0; i < body.length; i += 1) {
58
+ if (updateDepth(depth, body[i]))
59
+ continue;
60
+ if (depth.brace !== 0 || depth.paren !== 0)
61
+ continue;
62
+ if (i !== 0 && body[i] !== '\n' && body[i] !== ',')
63
+ continue;
64
+ const rest = body.slice(i === 0 ? 0 : i + 1);
65
+ const keyMatch = /^\s*([A-Za-z_$][A-Za-z0-9_$]*)\s*:/.exec(rest);
66
+ if (keyMatch?.[1])
67
+ keys.push(keyMatch[1]);
68
+ }
69
+ return keys;
70
+ }
71
+ function updateDepth(depth, ch) {
72
+ if (ch === '{') {
73
+ depth.brace += 1;
74
+ return true;
75
+ }
76
+ if (ch === '}') {
77
+ depth.brace = Math.max(0, depth.brace - 1);
78
+ return true;
79
+ }
80
+ if (ch === '(') {
81
+ depth.paren += 1;
82
+ return true;
83
+ }
84
+ if (ch === ')') {
85
+ depth.paren = Math.max(0, depth.paren - 1);
86
+ return true;
87
+ }
88
+ return false;
89
+ }
90
+ //# sourceMappingURL=deliverable-spec-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-spec-keys.js","sourceRoot":"","sources":["../../../src/workflow/lib/deliverable-spec-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare enum DispatchInputFieldType {
2
+ String = "string",
3
+ Number = "number",
4
+ Integer = "integer",
5
+ Boolean = "boolean",
6
+ Object = "object",
7
+ Array = "array"
8
+ }
9
+ export interface DispatchInputDescriptor {
10
+ readonly name: string;
11
+ readonly type: DispatchInputFieldType;
12
+ readonly required: boolean;
13
+ readonly description: string | null;
14
+ readonly enumValues: readonly string[] | null;
15
+ readonly format: DispatchInputStringFormat | null;
16
+ readonly itemType: DispatchInputFieldType | null;
17
+ readonly defaultValue: unknown;
18
+ }
19
+ export declare enum DispatchInputStringFormat {
20
+ Multiline = "multiline"
21
+ }
22
+ export declare function extractDispatchInputDescriptors(parsedDocument: unknown): readonly DispatchInputDescriptor[];
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workflow/lib/dispatch-inputs/index.ts"],"names":[],"mappings":"AA4BA,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAMD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE9C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAElD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,oBAAY,yBAAyB;IACnC,SAAS,cAAc;CACxB;AAYD,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,OAAO,GACtB,SAAS,uBAAuB,EAAE,CASpC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DispatchInputStringFormat = exports.DispatchInputFieldType = void 0;
4
+ exports.extractDispatchInputDescriptors = extractDispatchInputDescriptors;
5
+ var DispatchInputFieldType;
6
+ (function (DispatchInputFieldType) {
7
+ DispatchInputFieldType["String"] = "string";
8
+ DispatchInputFieldType["Number"] = "number";
9
+ DispatchInputFieldType["Integer"] = "integer";
10
+ DispatchInputFieldType["Boolean"] = "boolean";
11
+ DispatchInputFieldType["Object"] = "object";
12
+ DispatchInputFieldType["Array"] = "array";
13
+ })(DispatchInputFieldType || (exports.DispatchInputFieldType = DispatchInputFieldType = {}));
14
+ var DispatchInputStringFormat;
15
+ (function (DispatchInputStringFormat) {
16
+ DispatchInputStringFormat["Multiline"] = "multiline";
17
+ })(DispatchInputStringFormat || (exports.DispatchInputStringFormat = DispatchInputStringFormat = {}));
18
+ function extractDispatchInputDescriptors(parsedDocument) {
19
+ const inputs = readDispatchInputsBag(parsedDocument);
20
+ if (!inputs)
21
+ return [];
22
+ const descriptors = [];
23
+ for (const [name, raw] of Object.entries(inputs)) {
24
+ const descriptor = toDescriptor(name, raw);
25
+ if (descriptor !== null)
26
+ descriptors.push(descriptor);
27
+ }
28
+ return descriptors;
29
+ }
30
+ function readDispatchInputsBag(parsedDocument) {
31
+ if (!parsedDocument || typeof parsedDocument !== 'object')
32
+ return null;
33
+ const doc = parsedDocument;
34
+ const on = doc['on'];
35
+ if (!on || typeof on !== 'object')
36
+ return null;
37
+ const wfDispatch = on['workflow_dispatch'];
38
+ if (!wfDispatch || typeof wfDispatch !== 'object')
39
+ return null;
40
+ const inputs = wfDispatch['inputs'];
41
+ if (!inputs || typeof inputs !== 'object' || Array.isArray(inputs)) {
42
+ return null;
43
+ }
44
+ return inputs;
45
+ }
46
+ function toDescriptor(name, raw) {
47
+ if (!raw || typeof raw !== 'object')
48
+ return null;
49
+ const field = raw;
50
+ const type = parseFieldType(field['type']);
51
+ if (type === null)
52
+ return null;
53
+ const required = field['required'] === true;
54
+ const description = typeof field['description'] === 'string' ? field['description'] : null;
55
+ const enumValues = parseEnumValues(field['enum']);
56
+ const format = parseStringFormat(field['format']);
57
+ const itemType = parseItemType(field['items']);
58
+ return {
59
+ name,
60
+ type,
61
+ required,
62
+ description,
63
+ enumValues,
64
+ format,
65
+ itemType,
66
+ defaultValue: field['default'] ?? undefined,
67
+ };
68
+ }
69
+ function parseFieldType(value) {
70
+ if (typeof value !== 'string')
71
+ return null;
72
+ switch (value) {
73
+ case 'string':
74
+ return DispatchInputFieldType.String;
75
+ case 'number':
76
+ return DispatchInputFieldType.Number;
77
+ case 'integer':
78
+ return DispatchInputFieldType.Integer;
79
+ case 'boolean':
80
+ return DispatchInputFieldType.Boolean;
81
+ case 'object':
82
+ return DispatchInputFieldType.Object;
83
+ case 'array':
84
+ return DispatchInputFieldType.Array;
85
+ default:
86
+ return null;
87
+ }
88
+ }
89
+ function parseEnumValues(value) {
90
+ if (!Array.isArray(value) || value.length === 0)
91
+ return null;
92
+ const strings = value.filter((v) => typeof v === 'string');
93
+ return strings.length === value.length ? strings : null;
94
+ }
95
+ function parseStringFormat(value) {
96
+ if (value === 'multiline')
97
+ return DispatchInputStringFormat.Multiline;
98
+ return null;
99
+ }
100
+ function parseItemType(value) {
101
+ if (!value || typeof value !== 'object')
102
+ return null;
103
+ const items = value;
104
+ return parseFieldType(items['type']);
105
+ }
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/workflow/lib/dispatch-inputs/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type DispatchInputDescriptor } from './index';
2
+ export declare function dispatchInputsToJsonSchema(descriptors: readonly DispatchInputDescriptor[]): Readonly<Record<string, unknown>>;
3
+ //# sourceMappingURL=to-json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../../../src/workflow/lib/dispatch-inputs/to-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,SAAS,CAAC;AAgBjB,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,SAAS,uBAAuB,EAAE,GAC9C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiBnC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dispatchInputsToJsonSchema = dispatchInputsToJsonSchema;
4
+ const index_1 = require("./index");
5
+ function dispatchInputsToJsonSchema(descriptors) {
6
+ const properties = {};
7
+ const required = [];
8
+ for (const d of descriptors) {
9
+ properties[d.name] = descriptorToProperty(d);
10
+ if (d.required)
11
+ required.push(d.name);
12
+ }
13
+ const schema = {
14
+ $schema: 'https://json-schema.org/draft/2020-12/schema',
15
+ type: 'object',
16
+ properties,
17
+ additionalProperties: false,
18
+ };
19
+ if (required.length > 0) {
20
+ schema['required'] = required;
21
+ }
22
+ return Object.freeze(schema);
23
+ }
24
+ function descriptorToProperty(d) {
25
+ const prop = { type: d.type };
26
+ if (d.description) {
27
+ prop['description'] = d.description;
28
+ }
29
+ if (d.enumValues && d.enumValues.length > 0) {
30
+ prop['enum'] = [...d.enumValues];
31
+ }
32
+ if (d.format === index_1.DispatchInputStringFormat.Multiline) {
33
+ prop['x-widget'] = 'multiline';
34
+ }
35
+ if (d.type === index_1.DispatchInputFieldType.Array && d.itemType) {
36
+ prop['items'] = { type: d.itemType };
37
+ }
38
+ if (d.defaultValue !== undefined) {
39
+ prop['default'] = d.defaultValue;
40
+ }
41
+ return prop;
42
+ }
43
+ //# sourceMappingURL=to-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../../../src/workflow/lib/dispatch-inputs/to-json-schema.ts"],"names":[],"mappings":";;AAoBA,gEAmBC;AAvCD,mCAIiB;AAgBjB,SAAgB,0BAA0B,CACxC,WAA+C;IAE/C,MAAM,UAAU,GAA4C,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,CAA0B;IACtD,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,iCAAyB,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,8BAAsB,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function parseDurationMs(literal: string): number;
2
+ //# sourceMappingURL=duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../src/workflow/lib/duration.ts"],"names":[],"mappings":"AAqBA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0BvD"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDurationMs = parseDurationMs;
4
+ const workflow_1 = require("@xemahq/kernel-contracts/workflow");
5
+ const errors_1 = require("./errors");
6
+ const MAX_HOURS = 8760;
7
+ function parseDurationMs(literal) {
8
+ const match = /^([1-9][0-9]*)(s|m|h)$/.exec(literal);
9
+ if (!match) {
10
+ throw new errors_1.WorkflowDslError(workflow_1.WorkflowErrorCode.DSL_SCHEMA_INVALID, `Duration literal does not match pattern <int><s|m|h>: ${literal}`, { literal });
11
+ }
12
+ const value = Number.parseInt(match[1], 10);
13
+ const unit = match[2];
14
+ if (unit === 'h' && value > MAX_HOURS) {
15
+ throw new errors_1.WorkflowDslError(workflow_1.WorkflowErrorCode.DSL_SCHEMA_INVALID, `Duration exceeds cap of ${MAX_HOURS}h: ${literal}`, { literal, maxHours: MAX_HOURS });
16
+ }
17
+ switch (unit) {
18
+ case 's':
19
+ return value * 1_000;
20
+ case 'm':
21
+ return value * 60_000;
22
+ case 'h':
23
+ return value * 3_600_000;
24
+ }
25
+ }
26
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/workflow/lib/duration.ts"],"names":[],"mappings":";;AAqBA,0CA0BC;AA/CD,gEAAsE;AACtE,qCAA4C;AAkB5C,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,SAAgB,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAgB,CACxB,4BAAiB,CAAC,kBAAkB,EACpC,yDAAyD,OAAO,EAAE,EAClE,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAoB,CAAC;IACzC,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,yBAAgB,CACxB,4BAAiB,CAAC,kBAAkB,EACpC,2BAA2B,SAAS,MAAM,OAAO,EAAE,EACnD,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CACjC,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,KAAK,CAAC;QACvB,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,MAAM,CAAC;QACxB,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,SAAS,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { WorkflowErrorCode } from '@xemahq/kernel-contracts/workflow';
2
+ export declare class WorkflowDslError extends Error {
3
+ readonly code: WorkflowErrorCode;
4
+ readonly details: Readonly<Record<string, unknown>>;
5
+ constructor(code: WorkflowErrorCode, message: string, details?: Readonly<Record<string, unknown>>);
6
+ toJSON(): Readonly<Record<string, unknown>>;
7
+ }
8
+ export declare function isWorkflowDslError(err: unknown): err is WorkflowDslError;
9
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAOtE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAGlD,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IASjD,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAQ5C;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAExE"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowDslError = void 0;
4
+ exports.isWorkflowDslError = isWorkflowDslError;
5
+ class WorkflowDslError extends Error {
6
+ code;
7
+ details;
8
+ constructor(code, message, details = {}) {
9
+ super(message);
10
+ this.name = 'WorkflowDslError';
11
+ this.code = code;
12
+ this.details = details;
13
+ Object.setPrototypeOf(this, new.target.prototype);
14
+ }
15
+ toJSON() {
16
+ return {
17
+ name: this.name,
18
+ code: this.code,
19
+ message: this.message,
20
+ details: this.details,
21
+ };
22
+ }
23
+ }
24
+ exports.WorkflowDslError = WorkflowDslError;
25
+ function isWorkflowDslError(err) {
26
+ return err instanceof WorkflowDslError;
27
+ }
28
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":";;;AAkCA,gDAEC;AA7BD,MAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAoB;IACxB,OAAO,CAAoC;IAEpD,YACE,IAAuB,EACvB,OAAe,EACf,UAA6C,EAAE;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF;AAxBD,4CAwBC;AAGD,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,OAAO,GAAG,YAAY,gBAAgB,CAAC;AACzC,CAAC"}
@@ -0,0 +1,61 @@
1
+ export declare enum ExpressionNodeKind {
2
+ LITERAL = "literal",
3
+ IDENTIFIER = "identifier",
4
+ MEMBER = "member",
5
+ INDEX = "index",
6
+ CALL = "call",
7
+ UNARY_NOT = "unary-not",
8
+ BINARY_EQ = "binary-eq",
9
+ BINARY_NEQ = "binary-neq",
10
+ BINARY_AND = "binary-and",
11
+ BINARY_OR = "binary-or"
12
+ }
13
+ export declare enum ExpressionRoot {
14
+ NEEDS = "needs",
15
+ MATRIX = "matrix",
16
+ INPUTS = "inputs",
17
+ VARS = "vars",
18
+ SECRETS = "secrets",
19
+ TRIGGER = "trigger",
20
+ JOB = "job",
21
+ XEMA = "xema"
22
+ }
23
+ export declare enum ExpressionFunction {
24
+ FROM_JSON = "fromJSON",
25
+ TO_JSON = "toJSON",
26
+ FORMAT = "format"
27
+ }
28
+ export type ExpressionNode = LiteralNode | IdentifierNode | MemberNode | IndexNode | CallNode | UnaryNotNode | BinaryNode;
29
+ export interface LiteralNode {
30
+ readonly kind: ExpressionNodeKind.LITERAL;
31
+ readonly value: string | number | boolean | null;
32
+ }
33
+ export interface IdentifierNode {
34
+ readonly kind: ExpressionNodeKind.IDENTIFIER;
35
+ readonly name: string;
36
+ }
37
+ export interface MemberNode {
38
+ readonly kind: ExpressionNodeKind.MEMBER;
39
+ readonly target: ExpressionNode;
40
+ readonly property: string;
41
+ }
42
+ export interface IndexNode {
43
+ readonly kind: ExpressionNodeKind.INDEX;
44
+ readonly target: ExpressionNode;
45
+ readonly index: ExpressionNode;
46
+ }
47
+ export interface CallNode {
48
+ readonly kind: ExpressionNodeKind.CALL;
49
+ readonly callee: ExpressionFunction;
50
+ readonly args: readonly ExpressionNode[];
51
+ }
52
+ export interface UnaryNotNode {
53
+ readonly kind: ExpressionNodeKind.UNARY_NOT;
54
+ readonly operand: ExpressionNode;
55
+ }
56
+ export interface BinaryNode {
57
+ readonly kind: ExpressionNodeKind.BINARY_EQ | ExpressionNodeKind.BINARY_NEQ | ExpressionNodeKind.BINARY_AND | ExpressionNodeKind.BINARY_OR;
58
+ readonly left: ExpressionNode;
59
+ readonly right: ExpressionNode;
60
+ }
61
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../../src/workflow/lib/expression/ast.ts"],"names":[],"mappings":"AAGA,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,SAAS,cAAc;CACxB;AAGD,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IAOb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,GAAG,QAAQ;IAQX,IAAI,SAAS;CACd;AAGD,oBAAY,kBAAkB;IAC5B,SAAS,aAAa;IACtB,OAAO,WAAW;IAUlB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,cAAc,GACd,UAAU,GACV,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EACT,kBAAkB,CAAC,SAAS,GAC5B,kBAAkB,CAAC,UAAU,GAC7B,kBAAkB,CAAC,UAAU,GAC7B,kBAAkB,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpressionFunction = exports.ExpressionRoot = exports.ExpressionNodeKind = void 0;
4
+ var ExpressionNodeKind;
5
+ (function (ExpressionNodeKind) {
6
+ ExpressionNodeKind["LITERAL"] = "literal";
7
+ ExpressionNodeKind["IDENTIFIER"] = "identifier";
8
+ ExpressionNodeKind["MEMBER"] = "member";
9
+ ExpressionNodeKind["INDEX"] = "index";
10
+ ExpressionNodeKind["CALL"] = "call";
11
+ ExpressionNodeKind["UNARY_NOT"] = "unary-not";
12
+ ExpressionNodeKind["BINARY_EQ"] = "binary-eq";
13
+ ExpressionNodeKind["BINARY_NEQ"] = "binary-neq";
14
+ ExpressionNodeKind["BINARY_AND"] = "binary-and";
15
+ ExpressionNodeKind["BINARY_OR"] = "binary-or";
16
+ })(ExpressionNodeKind || (exports.ExpressionNodeKind = ExpressionNodeKind = {}));
17
+ var ExpressionRoot;
18
+ (function (ExpressionRoot) {
19
+ ExpressionRoot["NEEDS"] = "needs";
20
+ ExpressionRoot["MATRIX"] = "matrix";
21
+ ExpressionRoot["INPUTS"] = "inputs";
22
+ ExpressionRoot["VARS"] = "vars";
23
+ ExpressionRoot["SECRETS"] = "secrets";
24
+ ExpressionRoot["TRIGGER"] = "trigger";
25
+ ExpressionRoot["JOB"] = "job";
26
+ ExpressionRoot["XEMA"] = "xema";
27
+ })(ExpressionRoot || (exports.ExpressionRoot = ExpressionRoot = {}));
28
+ var ExpressionFunction;
29
+ (function (ExpressionFunction) {
30
+ ExpressionFunction["FROM_JSON"] = "fromJSON";
31
+ ExpressionFunction["TO_JSON"] = "toJSON";
32
+ ExpressionFunction["FORMAT"] = "format";
33
+ })(ExpressionFunction || (exports.ExpressionFunction = ExpressionFunction = {}));
34
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../../src/workflow/lib/expression/ast.ts"],"names":[],"mappings":";;;AAGA,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,6CAAuB,CAAA;AACzB,CAAC,EAXW,kBAAkB,kCAAlB,kBAAkB,QAW7B;AAGD,IAAY,cAsBX;AAtBD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IAOb,qCAAmB,CAAA;IACnB,qCAAmB,CAAA;IACnB,6BAAW,CAAA;IAQX,+BAAa,CAAA;AACf,CAAC,EAtBW,cAAc,8BAAd,cAAc,QAsBzB;AAGD,IAAY,kBAaX;AAbD,WAAY,kBAAkB;IAC5B,4CAAsB,CAAA;IACtB,wCAAkB,CAAA;IAUlB,uCAAiB,CAAA;AACnB,CAAC,EAbW,kBAAkB,kCAAlB,kBAAkB,QAa7B"}
@@ -0,0 +1,63 @@
1
+ import type { TriggerPayload } from '@xemahq/kernel-contracts/workflow';
2
+ export type PayloadCache = ReadonlyMap<string, unknown>;
3
+ export interface ExpressionContext {
4
+ readonly needs: Readonly<Record<string, NeedsEntry>>;
5
+ readonly matrix: Readonly<Record<string, unknown>>;
6
+ readonly inputs: Readonly<Record<string, unknown>>;
7
+ readonly vars: Readonly<Record<string, unknown>>;
8
+ readonly secrets: Readonly<Record<string, string>>;
9
+ readonly trigger: TriggerPayload;
10
+ readonly job: {
11
+ readonly outputs: Readonly<Record<string, unknown>>;
12
+ };
13
+ readonly xema: XemaContext;
14
+ readonly payloadCache: PayloadCache;
15
+ }
16
+ export interface NeedsEntry {
17
+ readonly outputs: Readonly<Record<string, unknown>>;
18
+ }
19
+ export interface XemaContext {
20
+ readonly org: {
21
+ readonly id: string;
22
+ };
23
+ readonly project: {
24
+ readonly id: string;
25
+ };
26
+ readonly run: {
27
+ readonly id: string;
28
+ readonly attempt: number;
29
+ readonly startedAtIso: string;
30
+ readonly correlationId: string;
31
+ readonly actor: XemaActor;
32
+ };
33
+ readonly workflow: {
34
+ readonly key: string;
35
+ readonly version: string;
36
+ };
37
+ readonly job: {
38
+ readonly key: string;
39
+ readonly attempt: number;
40
+ };
41
+ }
42
+ export interface XemaActor {
43
+ readonly subject: string | null;
44
+ readonly kind: XemaActorKind;
45
+ }
46
+ export declare enum XemaActorKind {
47
+ User = "user",
48
+ System = "system",
49
+ Webhook = "webhook",
50
+ Schedule = "schedule"
51
+ }
52
+ export declare const EMPTY_CONTEXT_SEEDS: {
53
+ readonly needs: Readonly<Record<string, NeedsEntry>>;
54
+ readonly matrix: Readonly<Record<string, unknown>>;
55
+ readonly vars: Readonly<Record<string, unknown>>;
56
+ readonly secrets: Readonly<Record<string, string>>;
57
+ readonly job: {
58
+ readonly outputs: Readonly<Record<string, unknown>>;
59
+ };
60
+ readonly payloadCache: PayloadCache;
61
+ readonly xema: XemaContext;
62
+ };
63
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/workflow/lib/expression/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAiBxE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAOxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAMjD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAKnD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAKjC,QAAQ,CAAC,GAAG,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IAOtE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAS3B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AASD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IAExB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAQD,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAGD,eAAO,MAAM,mBAAmB;oBACF,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;qBACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;mBACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;sBAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;kBACR;QACpD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACrD;2BAM2C,YAAY;mBAkBlD,WAAW;CACT,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMPTY_CONTEXT_SEEDS = exports.XemaActorKind = void 0;
4
+ var XemaActorKind;
5
+ (function (XemaActorKind) {
6
+ XemaActorKind["User"] = "user";
7
+ XemaActorKind["System"] = "system";
8
+ XemaActorKind["Webhook"] = "webhook";
9
+ XemaActorKind["Schedule"] = "schedule";
10
+ })(XemaActorKind || (exports.XemaActorKind = XemaActorKind = {}));
11
+ exports.EMPTY_CONTEXT_SEEDS = {
12
+ needs: Object.freeze({}),
13
+ matrix: Object.freeze({}),
14
+ vars: Object.freeze({}),
15
+ secrets: Object.freeze({}),
16
+ job: Object.freeze({ outputs: Object.freeze({}) }),
17
+ payloadCache: new Map(),
18
+ xema: Object.freeze({
19
+ org: Object.freeze({ id: '' }),
20
+ project: Object.freeze({ id: '' }),
21
+ run: Object.freeze({
22
+ id: '',
23
+ attempt: 0,
24
+ startedAtIso: '',
25
+ correlationId: '',
26
+ actor: Object.freeze({ subject: null, kind: XemaActorKind.System }),
27
+ }),
28
+ workflow: Object.freeze({ key: '', version: '' }),
29
+ job: Object.freeze({ key: '', attempt: 0 }),
30
+ }),
31
+ };
32
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/workflow/lib/expression/context.ts"],"names":[],"mappings":";;;AA2GA,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;AACvB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAGY,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAyC;IAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAsC;IAC9D,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAsC;IAC5D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAqC;IAC9D,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAEhD;IAMD,YAAY,EAAE,IAAI,GAAG,EAAmC;IAMxD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;YACjB,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;SACpE,CAAC;QACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACjD,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC5C,CAAgB;CACT,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ExpressionNode } from './ast';
2
+ import type { ExpressionContext } from './context';
3
+ export declare function compileExpression(source: string): ExpressionNode;
4
+ export declare function evaluateExpression(node: ExpressionNode, ctx: ExpressionContext): unknown;
5
+ //# sourceMappingURL=evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../../src/workflow/lib/expression/evaluator.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAUnD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAUhE;AAWD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAsBxF"}