@manifesto-ai/core 0.3.0 → 1.3.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 (279) hide show
  1. package/README.md +148 -498
  2. package/dist/__tests__/apply.test.d.ts +2 -0
  3. package/dist/__tests__/apply.test.d.ts.map +1 -0
  4. package/dist/__tests__/apply.test.js +144 -0
  5. package/dist/__tests__/apply.test.js.map +1 -0
  6. package/dist/__tests__/jcs.test.d.ts +2 -0
  7. package/dist/__tests__/jcs.test.d.ts.map +1 -0
  8. package/dist/__tests__/jcs.test.js +45 -0
  9. package/dist/__tests__/jcs.test.js.map +1 -0
  10. package/dist/core/apply.d.ts +17 -0
  11. package/dist/core/apply.d.ts.map +1 -0
  12. package/dist/core/apply.js +130 -0
  13. package/dist/core/apply.js.map +1 -0
  14. package/dist/core/compute.d.ts +17 -0
  15. package/dist/core/compute.d.ts.map +1 -0
  16. package/dist/core/compute.js +287 -0
  17. package/dist/core/compute.js.map +1 -0
  18. package/dist/core/compute.test.d.ts +2 -0
  19. package/dist/core/compute.test.d.ts.map +1 -0
  20. package/dist/core/compute.test.js +633 -0
  21. package/dist/core/compute.test.js.map +1 -0
  22. package/dist/core/explain.d.ts +14 -0
  23. package/dist/core/explain.d.ts.map +1 -0
  24. package/dist/core/explain.js +78 -0
  25. package/dist/core/explain.js.map +1 -0
  26. package/dist/core/index.d.ts +5 -0
  27. package/dist/core/index.d.ts.map +1 -0
  28. package/dist/core/index.js +5 -0
  29. package/dist/core/index.js.map +1 -0
  30. package/dist/core/validate.d.ts +16 -0
  31. package/dist/core/validate.d.ts.map +1 -0
  32. package/dist/core/validate.js +361 -0
  33. package/dist/core/validate.js.map +1 -0
  34. package/dist/core/validate.test.d.ts +2 -0
  35. package/dist/core/validate.test.d.ts.map +1 -0
  36. package/dist/core/validate.test.js +638 -0
  37. package/dist/core/validate.test.js.map +1 -0
  38. package/dist/core/validation-utils.d.ts +20 -0
  39. package/dist/core/validation-utils.d.ts.map +1 -0
  40. package/dist/core/validation-utils.js +289 -0
  41. package/dist/core/validation-utils.js.map +1 -0
  42. package/dist/errors.d.ts +30 -0
  43. package/dist/errors.d.ts.map +1 -0
  44. package/dist/errors.js +51 -0
  45. package/dist/errors.js.map +1 -0
  46. package/dist/evaluator/computed.d.ts +14 -0
  47. package/dist/evaluator/computed.d.ts.map +1 -0
  48. package/dist/evaluator/computed.js +60 -0
  49. package/dist/evaluator/computed.js.map +1 -0
  50. package/dist/evaluator/context.d.ts +59 -0
  51. package/dist/evaluator/context.d.ts.map +1 -0
  52. package/dist/evaluator/context.js +41 -0
  53. package/dist/evaluator/context.js.map +1 -0
  54. package/dist/evaluator/dag.d.ts +30 -0
  55. package/dist/evaluator/dag.d.ts.map +1 -0
  56. package/dist/evaluator/dag.js +121 -0
  57. package/dist/evaluator/dag.js.map +1 -0
  58. package/dist/evaluator/expr.d.ts +11 -0
  59. package/dist/evaluator/expr.d.ts.map +1 -0
  60. package/dist/evaluator/expr.js +649 -0
  61. package/dist/evaluator/expr.js.map +1 -0
  62. package/dist/evaluator/expr.test.d.ts +2 -0
  63. package/dist/evaluator/expr.test.d.ts.map +1 -0
  64. package/dist/evaluator/expr.test.js +449 -0
  65. package/dist/evaluator/expr.test.js.map +1 -0
  66. package/dist/evaluator/flow.d.ts +35 -0
  67. package/dist/evaluator/flow.d.ts.map +1 -0
  68. package/dist/evaluator/flow.js +387 -0
  69. package/dist/evaluator/flow.js.map +1 -0
  70. package/dist/evaluator/flow.test.d.ts +2 -0
  71. package/dist/evaluator/flow.test.d.ts.map +1 -0
  72. package/dist/evaluator/flow.test.js +499 -0
  73. package/dist/evaluator/flow.test.js.map +1 -0
  74. package/dist/evaluator/index.d.ts +6 -0
  75. package/dist/evaluator/index.d.ts.map +1 -0
  76. package/dist/evaluator/index.js +6 -0
  77. package/dist/evaluator/index.js.map +1 -0
  78. package/dist/factories.d.ts +22 -0
  79. package/dist/factories.d.ts.map +1 -0
  80. package/dist/factories.js +44 -0
  81. package/dist/factories.js.map +1 -0
  82. package/dist/index.d.ts +47 -11
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +30 -45
  85. package/dist/index.js.map +1 -1
  86. package/dist/index.test.d.ts +2 -0
  87. package/dist/index.test.d.ts.map +1 -0
  88. package/dist/index.test.js +13 -0
  89. package/dist/index.test.js.map +1 -0
  90. package/dist/schema/action.d.ts +14 -0
  91. package/dist/schema/action.d.ts.map +1 -0
  92. package/dist/schema/action.js +30 -0
  93. package/dist/schema/action.js.map +1 -0
  94. package/dist/schema/common.d.ts +37 -0
  95. package/dist/schema/common.d.ts.map +1 -0
  96. package/dist/schema/common.js +20 -0
  97. package/dist/schema/common.js.map +1 -0
  98. package/dist/schema/computed.d.ts +23 -0
  99. package/dist/schema/computed.d.ts.map +1 -0
  100. package/dist/schema/computed.js +34 -0
  101. package/dist/schema/computed.js.map +1 -0
  102. package/dist/schema/domain.d.ts +50 -0
  103. package/dist/schema/domain.d.ts.map +1 -0
  104. package/dist/schema/domain.js +60 -0
  105. package/dist/schema/domain.js.map +1 -0
  106. package/dist/schema/expr.d.ts +303 -0
  107. package/dist/schema/expr.d.ts.map +1 -0
  108. package/dist/schema/expr.js +283 -0
  109. package/dist/schema/expr.js.map +1 -0
  110. package/dist/schema/field.d.ts +48 -0
  111. package/dist/schema/field.d.ts.map +1 -0
  112. package/dist/schema/field.js +31 -0
  113. package/dist/schema/field.js.map +1 -0
  114. package/dist/schema/flow.d.ts +103 -0
  115. package/dist/schema/flow.d.ts.map +1 -0
  116. package/dist/schema/flow.js +82 -0
  117. package/dist/schema/flow.js.map +1 -0
  118. package/dist/schema/host-context.d.ts +12 -0
  119. package/dist/schema/host-context.d.ts.map +1 -0
  120. package/dist/schema/host-context.js +23 -0
  121. package/dist/schema/host-context.js.map +1 -0
  122. package/dist/schema/index.d.ts +13 -2
  123. package/dist/schema/index.d.ts.map +1 -1
  124. package/dist/schema/index.js +25 -2
  125. package/dist/schema/index.js.map +1 -1
  126. package/dist/schema/patch.d.ts +59 -0
  127. package/dist/schema/patch.d.ts.map +1 -0
  128. package/dist/schema/patch.js +60 -0
  129. package/dist/schema/patch.js.map +1 -0
  130. package/dist/schema/result.d.ts +142 -0
  131. package/dist/schema/result.d.ts.map +1 -0
  132. package/dist/schema/result.js +94 -0
  133. package/dist/schema/result.js.map +1 -0
  134. package/dist/schema/snapshot.d.ts +153 -0
  135. package/dist/schema/snapshot.d.ts.map +1 -0
  136. package/dist/schema/snapshot.js +160 -0
  137. package/dist/schema/snapshot.js.map +1 -0
  138. package/dist/schema/trace.d.ts +98 -0
  139. package/dist/schema/trace.d.ts.map +1 -0
  140. package/dist/schema/trace.js +90 -0
  141. package/dist/schema/trace.js.map +1 -0
  142. package/dist/schema/type-spec.d.ts +34 -0
  143. package/dist/schema/type-spec.d.ts.map +1 -0
  144. package/dist/schema/type-spec.js +40 -0
  145. package/dist/schema/type-spec.js.map +1 -0
  146. package/dist/utils/canonical.d.ts +37 -0
  147. package/dist/utils/canonical.d.ts.map +1 -0
  148. package/dist/utils/canonical.js +122 -0
  149. package/dist/utils/canonical.js.map +1 -0
  150. package/dist/utils/canonical.test.d.ts +2 -0
  151. package/dist/utils/canonical.test.d.ts.map +1 -0
  152. package/dist/utils/canonical.test.js +183 -0
  153. package/dist/utils/canonical.test.js.map +1 -0
  154. package/dist/utils/hash.d.ts +28 -0
  155. package/dist/utils/hash.d.ts.map +1 -0
  156. package/dist/utils/hash.js +152 -0
  157. package/dist/utils/hash.js.map +1 -0
  158. package/dist/utils/hash.test.d.ts +2 -0
  159. package/dist/utils/hash.test.d.ts.map +1 -0
  160. package/dist/utils/hash.test.js +170 -0
  161. package/dist/utils/hash.test.js.map +1 -0
  162. package/dist/utils/index.d.ts +4 -0
  163. package/dist/utils/index.d.ts.map +1 -0
  164. package/dist/utils/index.js +4 -0
  165. package/dist/utils/index.js.map +1 -0
  166. package/dist/utils/path.d.ts +40 -0
  167. package/dist/utils/path.d.ts.map +1 -0
  168. package/dist/utils/path.js +132 -0
  169. package/dist/utils/path.js.map +1 -0
  170. package/dist/utils/path.test.d.ts +2 -0
  171. package/dist/utils/path.test.d.ts.map +1 -0
  172. package/dist/utils/path.test.js +191 -0
  173. package/dist/utils/path.test.js.map +1 -0
  174. package/package.json +28 -41
  175. package/LICENSE +0 -21
  176. package/dist/dag/graph.d.ts +0 -62
  177. package/dist/dag/graph.d.ts.map +0 -1
  178. package/dist/dag/graph.js +0 -244
  179. package/dist/dag/graph.js.map +0 -1
  180. package/dist/dag/index.d.ts +0 -4
  181. package/dist/dag/index.d.ts.map +0 -1
  182. package/dist/dag/index.js +0 -4
  183. package/dist/dag/index.js.map +0 -1
  184. package/dist/dag/propagation.d.ts +0 -58
  185. package/dist/dag/propagation.d.ts.map +0 -1
  186. package/dist/dag/propagation.js +0 -224
  187. package/dist/dag/propagation.js.map +0 -1
  188. package/dist/dag/topological.d.ts +0 -33
  189. package/dist/dag/topological.d.ts.map +0 -1
  190. package/dist/dag/topological.js +0 -173
  191. package/dist/dag/topological.js.map +0 -1
  192. package/dist/domain/define.d.ts +0 -82
  193. package/dist/domain/define.d.ts.map +0 -1
  194. package/dist/domain/define.js +0 -105
  195. package/dist/domain/define.js.map +0 -1
  196. package/dist/domain/index.d.ts +0 -4
  197. package/dist/domain/index.d.ts.map +0 -1
  198. package/dist/domain/index.js +0 -4
  199. package/dist/domain/index.js.map +0 -1
  200. package/dist/domain/types.d.ts +0 -203
  201. package/dist/domain/types.d.ts.map +0 -1
  202. package/dist/domain/types.js +0 -2
  203. package/dist/domain/types.js.map +0 -1
  204. package/dist/domain/validate.d.ts +0 -17
  205. package/dist/domain/validate.d.ts.map +0 -1
  206. package/dist/domain/validate.js +0 -204
  207. package/dist/domain/validate.js.map +0 -1
  208. package/dist/effect/index.d.ts +0 -4
  209. package/dist/effect/index.d.ts.map +0 -1
  210. package/dist/effect/index.js +0 -4
  211. package/dist/effect/index.js.map +0 -1
  212. package/dist/effect/result.d.ts +0 -100
  213. package/dist/effect/result.d.ts.map +0 -1
  214. package/dist/effect/result.js +0 -163
  215. package/dist/effect/result.js.map +0 -1
  216. package/dist/effect/runner.d.ts +0 -98
  217. package/dist/effect/runner.d.ts.map +0 -1
  218. package/dist/effect/runner.js +0 -321
  219. package/dist/effect/runner.js.map +0 -1
  220. package/dist/effect/types.d.ts +0 -169
  221. package/dist/effect/types.d.ts.map +0 -1
  222. package/dist/effect/types.js +0 -28
  223. package/dist/effect/types.js.map +0 -1
  224. package/dist/expression/analyzer.d.ts +0 -42
  225. package/dist/expression/analyzer.d.ts.map +0 -1
  226. package/dist/expression/analyzer.js +0 -166
  227. package/dist/expression/analyzer.js.map +0 -1
  228. package/dist/expression/evaluator.d.ts +0 -16
  229. package/dist/expression/evaluator.d.ts.map +0 -1
  230. package/dist/expression/evaluator.js +0 -382
  231. package/dist/expression/evaluator.js.map +0 -1
  232. package/dist/expression/index.d.ts +0 -5
  233. package/dist/expression/index.d.ts.map +0 -1
  234. package/dist/expression/index.js +0 -5
  235. package/dist/expression/index.js.map +0 -1
  236. package/dist/expression/parser.d.ts +0 -37
  237. package/dist/expression/parser.d.ts.map +0 -1
  238. package/dist/expression/parser.js +0 -201
  239. package/dist/expression/parser.js.map +0 -1
  240. package/dist/expression/types.d.ts +0 -123
  241. package/dist/expression/types.d.ts.map +0 -1
  242. package/dist/expression/types.js +0 -10
  243. package/dist/expression/types.js.map +0 -1
  244. package/dist/policy/field-policy.d.ts +0 -63
  245. package/dist/policy/field-policy.d.ts.map +0 -1
  246. package/dist/policy/field-policy.js +0 -138
  247. package/dist/policy/field-policy.js.map +0 -1
  248. package/dist/policy/index.d.ts +0 -3
  249. package/dist/policy/index.d.ts.map +0 -1
  250. package/dist/policy/index.js +0 -3
  251. package/dist/policy/index.js.map +0 -1
  252. package/dist/policy/precondition.d.ts +0 -58
  253. package/dist/policy/precondition.d.ts.map +0 -1
  254. package/dist/policy/precondition.js +0 -115
  255. package/dist/policy/precondition.js.map +0 -1
  256. package/dist/runtime/index.d.ts +0 -4
  257. package/dist/runtime/index.d.ts.map +0 -1
  258. package/dist/runtime/index.js +0 -4
  259. package/dist/runtime/index.js.map +0 -1
  260. package/dist/runtime/runtime.d.ts +0 -94
  261. package/dist/runtime/runtime.d.ts.map +0 -1
  262. package/dist/runtime/runtime.js +0 -294
  263. package/dist/runtime/runtime.js.map +0 -1
  264. package/dist/runtime/snapshot.d.ts +0 -39
  265. package/dist/runtime/snapshot.d.ts.map +0 -1
  266. package/dist/runtime/snapshot.js +0 -264
  267. package/dist/runtime/snapshot.js.map +0 -1
  268. package/dist/runtime/subscription.d.ts +0 -82
  269. package/dist/runtime/subscription.d.ts.map +0 -1
  270. package/dist/runtime/subscription.js +0 -222
  271. package/dist/runtime/subscription.js.map +0 -1
  272. package/dist/schema/integration.d.ts +0 -89
  273. package/dist/schema/integration.d.ts.map +0 -1
  274. package/dist/schema/integration.js +0 -171
  275. package/dist/schema/integration.js.map +0 -1
  276. package/dist/schema/validation.d.ts +0 -51
  277. package/dist/schema/validation.d.ts.map +0 -1
  278. package/dist/schema/validation.js +0 -212
  279. package/dist/schema/validation.js.map +0 -1
@@ -0,0 +1,303 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * ExprNode - Pure expression language for ComputedSpec and FlowSpec
4
+ * All expressions are deterministic and side-effect free
5
+ */
6
+ export type ExprNode = LitExpr | GetExpr | EqExpr | NeqExpr | GtExpr | GteExpr | LtExpr | LteExpr | AndExpr | OrExpr | NotExpr | IfExpr | AddExpr | SubExpr | MulExpr | DivExpr | ModExpr | MinExpr | MaxExpr | AbsExpr | NegExpr | ConcatExpr | SubstringExpr | TrimExpr | LenExpr | AtExpr | FirstExpr | LastExpr | SliceExpr | IncludesExpr | FilterExpr | MapExpr | FindExpr | EveryExpr | SomeExpr | AppendExpr | ObjectExpr | KeysExpr | ValuesExpr | EntriesExpr | MergeExpr | TypeofExpr | IsNullExpr | CoalesceExpr;
7
+ export declare const LitExpr: z.ZodObject<{
8
+ kind: z.ZodLiteral<"lit">;
9
+ value: z.ZodUnknown;
10
+ }, z.core.$strip>;
11
+ export type LitExpr = z.infer<typeof LitExpr>;
12
+ export declare const GetExpr: z.ZodObject<{
13
+ kind: z.ZodLiteral<"get">;
14
+ path: z.ZodString;
15
+ }, z.core.$strip>;
16
+ export type GetExpr = z.infer<typeof GetExpr>;
17
+ export declare const EqExpr: z.ZodType<{
18
+ kind: "eq";
19
+ left: ExprNode;
20
+ right: ExprNode;
21
+ }>;
22
+ export type EqExpr = z.infer<typeof EqExpr>;
23
+ export declare const NeqExpr: z.ZodType<{
24
+ kind: "neq";
25
+ left: ExprNode;
26
+ right: ExprNode;
27
+ }>;
28
+ export type NeqExpr = z.infer<typeof NeqExpr>;
29
+ export declare const GtExpr: z.ZodType<{
30
+ kind: "gt";
31
+ left: ExprNode;
32
+ right: ExprNode;
33
+ }>;
34
+ export type GtExpr = z.infer<typeof GtExpr>;
35
+ export declare const GteExpr: z.ZodType<{
36
+ kind: "gte";
37
+ left: ExprNode;
38
+ right: ExprNode;
39
+ }>;
40
+ export type GteExpr = z.infer<typeof GteExpr>;
41
+ export declare const LtExpr: z.ZodType<{
42
+ kind: "lt";
43
+ left: ExprNode;
44
+ right: ExprNode;
45
+ }>;
46
+ export type LtExpr = z.infer<typeof LtExpr>;
47
+ export declare const LteExpr: z.ZodType<{
48
+ kind: "lte";
49
+ left: ExprNode;
50
+ right: ExprNode;
51
+ }>;
52
+ export type LteExpr = z.infer<typeof LteExpr>;
53
+ export declare const AndExpr: z.ZodType<{
54
+ kind: "and";
55
+ args: ExprNode[];
56
+ }>;
57
+ export type AndExpr = z.infer<typeof AndExpr>;
58
+ export declare const OrExpr: z.ZodType<{
59
+ kind: "or";
60
+ args: ExprNode[];
61
+ }>;
62
+ export type OrExpr = z.infer<typeof OrExpr>;
63
+ export declare const NotExpr: z.ZodType<{
64
+ kind: "not";
65
+ arg: ExprNode;
66
+ }>;
67
+ export type NotExpr = z.infer<typeof NotExpr>;
68
+ export declare const IfExpr: z.ZodType<{
69
+ kind: "if";
70
+ cond: ExprNode;
71
+ then: ExprNode;
72
+ else: ExprNode;
73
+ }>;
74
+ export type IfExpr = z.infer<typeof IfExpr>;
75
+ export declare const AddExpr: z.ZodType<{
76
+ kind: "add";
77
+ left: ExprNode;
78
+ right: ExprNode;
79
+ }>;
80
+ export type AddExpr = z.infer<typeof AddExpr>;
81
+ export declare const SubExpr: z.ZodType<{
82
+ kind: "sub";
83
+ left: ExprNode;
84
+ right: ExprNode;
85
+ }>;
86
+ export type SubExpr = z.infer<typeof SubExpr>;
87
+ export declare const MulExpr: z.ZodType<{
88
+ kind: "mul";
89
+ left: ExprNode;
90
+ right: ExprNode;
91
+ }>;
92
+ export type MulExpr = z.infer<typeof MulExpr>;
93
+ export declare const DivExpr: z.ZodType<{
94
+ kind: "div";
95
+ left: ExprNode;
96
+ right: ExprNode;
97
+ }>;
98
+ export type DivExpr = z.infer<typeof DivExpr>;
99
+ export declare const ModExpr: z.ZodType<{
100
+ kind: "mod";
101
+ left: ExprNode;
102
+ right: ExprNode;
103
+ }>;
104
+ export type ModExpr = z.infer<typeof ModExpr>;
105
+ export declare const MinExpr: z.ZodType<{
106
+ kind: "min";
107
+ args: ExprNode[];
108
+ }>;
109
+ export type MinExpr = z.infer<typeof MinExpr>;
110
+ export declare const MaxExpr: z.ZodType<{
111
+ kind: "max";
112
+ args: ExprNode[];
113
+ }>;
114
+ export type MaxExpr = z.infer<typeof MaxExpr>;
115
+ export declare const AbsExpr: z.ZodType<{
116
+ kind: "abs";
117
+ arg: ExprNode;
118
+ }>;
119
+ export type AbsExpr = z.infer<typeof AbsExpr>;
120
+ export declare const NegExpr: z.ZodType<{
121
+ kind: "neg";
122
+ arg: ExprNode;
123
+ }>;
124
+ export type NegExpr = z.infer<typeof NegExpr>;
125
+ export declare const ConcatExpr: z.ZodType<{
126
+ kind: "concat";
127
+ args: ExprNode[];
128
+ }>;
129
+ export type ConcatExpr = z.infer<typeof ConcatExpr>;
130
+ export declare const SubstringExpr: z.ZodType<{
131
+ kind: "substring";
132
+ str: ExprNode;
133
+ start: ExprNode;
134
+ end?: ExprNode;
135
+ }>;
136
+ export type SubstringExpr = z.infer<typeof SubstringExpr>;
137
+ export declare const TrimExpr: z.ZodType<{
138
+ kind: "trim";
139
+ str: ExprNode;
140
+ }>;
141
+ export type TrimExpr = z.infer<typeof TrimExpr>;
142
+ export declare const LenExpr: z.ZodType<{
143
+ kind: "len";
144
+ arg: ExprNode;
145
+ }>;
146
+ export type LenExpr = z.infer<typeof LenExpr>;
147
+ export declare const AtExpr: z.ZodType<{
148
+ kind: "at";
149
+ array: ExprNode;
150
+ index: ExprNode;
151
+ }>;
152
+ export type AtExpr = z.infer<typeof AtExpr>;
153
+ export declare const FirstExpr: z.ZodType<{
154
+ kind: "first";
155
+ array: ExprNode;
156
+ }>;
157
+ export type FirstExpr = z.infer<typeof FirstExpr>;
158
+ export declare const LastExpr: z.ZodType<{
159
+ kind: "last";
160
+ array: ExprNode;
161
+ }>;
162
+ export type LastExpr = z.infer<typeof LastExpr>;
163
+ export declare const SliceExpr: z.ZodType<{
164
+ kind: "slice";
165
+ array: ExprNode;
166
+ start: ExprNode;
167
+ end?: ExprNode;
168
+ }>;
169
+ export type SliceExpr = z.infer<typeof SliceExpr>;
170
+ export declare const IncludesExpr: z.ZodType<{
171
+ kind: "includes";
172
+ array: ExprNode;
173
+ item: ExprNode;
174
+ }>;
175
+ export type IncludesExpr = z.infer<typeof IncludesExpr>;
176
+ export declare const FilterExpr: z.ZodType<{
177
+ kind: "filter";
178
+ array: ExprNode;
179
+ predicate: ExprNode;
180
+ }>;
181
+ export type FilterExpr = z.infer<typeof FilterExpr>;
182
+ export declare const MapExpr: z.ZodType<{
183
+ kind: "map";
184
+ array: ExprNode;
185
+ mapper: ExprNode;
186
+ }>;
187
+ export type MapExpr = z.infer<typeof MapExpr>;
188
+ export declare const FindExpr: z.ZodType<{
189
+ kind: "find";
190
+ array: ExprNode;
191
+ predicate: ExprNode;
192
+ }>;
193
+ export type FindExpr = z.infer<typeof FindExpr>;
194
+ export declare const EveryExpr: z.ZodType<{
195
+ kind: "every";
196
+ array: ExprNode;
197
+ predicate: ExprNode;
198
+ }>;
199
+ export type EveryExpr = z.infer<typeof EveryExpr>;
200
+ export declare const SomeExpr: z.ZodType<{
201
+ kind: "some";
202
+ array: ExprNode;
203
+ predicate: ExprNode;
204
+ }>;
205
+ export type SomeExpr = z.infer<typeof SomeExpr>;
206
+ export declare const AppendExpr: z.ZodType<{
207
+ kind: "append";
208
+ array: ExprNode;
209
+ items: ExprNode[];
210
+ }>;
211
+ export type AppendExpr = z.infer<typeof AppendExpr>;
212
+ export declare const ObjectExpr: z.ZodType<{
213
+ kind: "object";
214
+ fields: Record<string, ExprNode>;
215
+ }>;
216
+ export type ObjectExpr = z.infer<typeof ObjectExpr>;
217
+ export declare const KeysExpr: z.ZodType<{
218
+ kind: "keys";
219
+ obj: ExprNode;
220
+ }>;
221
+ export type KeysExpr = z.infer<typeof KeysExpr>;
222
+ export declare const ValuesExpr: z.ZodType<{
223
+ kind: "values";
224
+ obj: ExprNode;
225
+ }>;
226
+ export type ValuesExpr = z.infer<typeof ValuesExpr>;
227
+ export declare const EntriesExpr: z.ZodType<{
228
+ kind: "entries";
229
+ obj: ExprNode;
230
+ }>;
231
+ export type EntriesExpr = z.infer<typeof EntriesExpr>;
232
+ export declare const MergeExpr: z.ZodType<{
233
+ kind: "merge";
234
+ objects: ExprNode[];
235
+ }>;
236
+ export type MergeExpr = z.infer<typeof MergeExpr>;
237
+ export declare const TypeofExpr: z.ZodType<{
238
+ kind: "typeof";
239
+ arg: ExprNode;
240
+ }>;
241
+ export type TypeofExpr = z.infer<typeof TypeofExpr>;
242
+ export declare const IsNullExpr: z.ZodType<{
243
+ kind: "isNull";
244
+ arg: ExprNode;
245
+ }>;
246
+ export type IsNullExpr = z.infer<typeof IsNullExpr>;
247
+ export declare const CoalesceExpr: z.ZodType<{
248
+ kind: "coalesce";
249
+ args: ExprNode[];
250
+ }>;
251
+ export type CoalesceExpr = z.infer<typeof CoalesceExpr>;
252
+ export declare const ExprNodeSchema: z.ZodType<ExprNode>;
253
+ /**
254
+ * Expression kinds enum for pattern matching
255
+ */
256
+ export declare const ExprKind: z.ZodEnum<{
257
+ object: "object";
258
+ map: "map";
259
+ merge: "merge";
260
+ keys: "keys";
261
+ values: "values";
262
+ concat: "concat";
263
+ slice: "slice";
264
+ every: "every";
265
+ some: "some";
266
+ filter: "filter";
267
+ find: "find";
268
+ entries: "entries";
269
+ includes: "includes";
270
+ at: "at";
271
+ substring: "substring";
272
+ trim: "trim";
273
+ sub: "sub";
274
+ lit: "lit";
275
+ get: "get";
276
+ eq: "eq";
277
+ neq: "neq";
278
+ gt: "gt";
279
+ gte: "gte";
280
+ lt: "lt";
281
+ lte: "lte";
282
+ and: "and";
283
+ or: "or";
284
+ not: "not";
285
+ if: "if";
286
+ add: "add";
287
+ mul: "mul";
288
+ div: "div";
289
+ mod: "mod";
290
+ min: "min";
291
+ max: "max";
292
+ abs: "abs";
293
+ neg: "neg";
294
+ len: "len";
295
+ first: "first";
296
+ last: "last";
297
+ append: "append";
298
+ typeof: "typeof";
299
+ isNull: "isNull";
300
+ coalesce: "coalesce";
301
+ }>;
302
+ export type ExprKind = z.infer<typeof ExprKind>;
303
+ //# sourceMappingURL=expr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../src/schema/expr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import { z } from "zod";
2
+ import { SemanticPath } from "./common.js";
3
+ // ============ Literals ============
4
+ export const LitExpr = z.object({
5
+ kind: z.literal("lit"),
6
+ value: z.unknown(),
7
+ });
8
+ export const GetExpr = z.object({
9
+ kind: z.literal("get"),
10
+ path: SemanticPath,
11
+ });
12
+ // ============ Comparison ============
13
+ export const EqExpr = z.object({
14
+ kind: z.literal("eq"),
15
+ left: z.lazy(() => ExprNodeSchema),
16
+ right: z.lazy(() => ExprNodeSchema),
17
+ });
18
+ export const NeqExpr = z.object({
19
+ kind: z.literal("neq"),
20
+ left: z.lazy(() => ExprNodeSchema),
21
+ right: z.lazy(() => ExprNodeSchema),
22
+ });
23
+ export const GtExpr = z.object({
24
+ kind: z.literal("gt"),
25
+ left: z.lazy(() => ExprNodeSchema),
26
+ right: z.lazy(() => ExprNodeSchema),
27
+ });
28
+ export const GteExpr = z.object({
29
+ kind: z.literal("gte"),
30
+ left: z.lazy(() => ExprNodeSchema),
31
+ right: z.lazy(() => ExprNodeSchema),
32
+ });
33
+ export const LtExpr = z.object({
34
+ kind: z.literal("lt"),
35
+ left: z.lazy(() => ExprNodeSchema),
36
+ right: z.lazy(() => ExprNodeSchema),
37
+ });
38
+ export const LteExpr = z.object({
39
+ kind: z.literal("lte"),
40
+ left: z.lazy(() => ExprNodeSchema),
41
+ right: z.lazy(() => ExprNodeSchema),
42
+ });
43
+ // ============ Logical ============
44
+ export const AndExpr = z.object({
45
+ kind: z.literal("and"),
46
+ args: z.array(z.lazy(() => ExprNodeSchema)),
47
+ });
48
+ export const OrExpr = z.object({
49
+ kind: z.literal("or"),
50
+ args: z.array(z.lazy(() => ExprNodeSchema)),
51
+ });
52
+ export const NotExpr = z.object({
53
+ kind: z.literal("not"),
54
+ arg: z.lazy(() => ExprNodeSchema),
55
+ });
56
+ // ============ Conditional ============
57
+ export const IfExpr = z.object({
58
+ kind: z.literal("if"),
59
+ cond: z.lazy(() => ExprNodeSchema),
60
+ then: z.lazy(() => ExprNodeSchema),
61
+ else: z.lazy(() => ExprNodeSchema),
62
+ });
63
+ // ============ Arithmetic ============
64
+ export const AddExpr = z.object({
65
+ kind: z.literal("add"),
66
+ left: z.lazy(() => ExprNodeSchema),
67
+ right: z.lazy(() => ExprNodeSchema),
68
+ });
69
+ export const SubExpr = z.object({
70
+ kind: z.literal("sub"),
71
+ left: z.lazy(() => ExprNodeSchema),
72
+ right: z.lazy(() => ExprNodeSchema),
73
+ });
74
+ export const MulExpr = z.object({
75
+ kind: z.literal("mul"),
76
+ left: z.lazy(() => ExprNodeSchema),
77
+ right: z.lazy(() => ExprNodeSchema),
78
+ });
79
+ export const DivExpr = z.object({
80
+ kind: z.literal("div"),
81
+ left: z.lazy(() => ExprNodeSchema),
82
+ right: z.lazy(() => ExprNodeSchema),
83
+ });
84
+ export const ModExpr = z.object({
85
+ kind: z.literal("mod"),
86
+ left: z.lazy(() => ExprNodeSchema),
87
+ right: z.lazy(() => ExprNodeSchema),
88
+ });
89
+ export const MinExpr = z.object({
90
+ kind: z.literal("min"),
91
+ args: z.array(z.lazy(() => ExprNodeSchema)),
92
+ });
93
+ export const MaxExpr = z.object({
94
+ kind: z.literal("max"),
95
+ args: z.array(z.lazy(() => ExprNodeSchema)),
96
+ });
97
+ export const AbsExpr = z.object({
98
+ kind: z.literal("abs"),
99
+ arg: z.lazy(() => ExprNodeSchema),
100
+ });
101
+ export const NegExpr = z.object({
102
+ kind: z.literal("neg"),
103
+ arg: z.lazy(() => ExprNodeSchema),
104
+ });
105
+ // ============ String ============
106
+ export const ConcatExpr = z.object({
107
+ kind: z.literal("concat"),
108
+ args: z.array(z.lazy(() => ExprNodeSchema)),
109
+ });
110
+ export const SubstringExpr = z.object({
111
+ kind: z.literal("substring"),
112
+ str: z.lazy(() => ExprNodeSchema),
113
+ start: z.lazy(() => ExprNodeSchema),
114
+ end: z.lazy(() => ExprNodeSchema).optional(),
115
+ });
116
+ export const TrimExpr = z.object({
117
+ kind: z.literal("trim"),
118
+ str: z.lazy(() => ExprNodeSchema),
119
+ });
120
+ // ============ Collection ============
121
+ export const LenExpr = z.object({
122
+ kind: z.literal("len"),
123
+ arg: z.lazy(() => ExprNodeSchema),
124
+ });
125
+ export const AtExpr = z.object({
126
+ kind: z.literal("at"),
127
+ array: z.lazy(() => ExprNodeSchema),
128
+ index: z.lazy(() => ExprNodeSchema),
129
+ });
130
+ export const FirstExpr = z.object({
131
+ kind: z.literal("first"),
132
+ array: z.lazy(() => ExprNodeSchema),
133
+ });
134
+ export const LastExpr = z.object({
135
+ kind: z.literal("last"),
136
+ array: z.lazy(() => ExprNodeSchema),
137
+ });
138
+ export const SliceExpr = z.object({
139
+ kind: z.literal("slice"),
140
+ array: z.lazy(() => ExprNodeSchema),
141
+ start: z.lazy(() => ExprNodeSchema),
142
+ end: z.lazy(() => ExprNodeSchema).optional(),
143
+ });
144
+ export const IncludesExpr = z.object({
145
+ kind: z.literal("includes"),
146
+ array: z.lazy(() => ExprNodeSchema),
147
+ item: z.lazy(() => ExprNodeSchema),
148
+ });
149
+ export const FilterExpr = z.object({
150
+ kind: z.literal("filter"),
151
+ array: z.lazy(() => ExprNodeSchema),
152
+ predicate: z.lazy(() => ExprNodeSchema),
153
+ });
154
+ export const MapExpr = z.object({
155
+ kind: z.literal("map"),
156
+ array: z.lazy(() => ExprNodeSchema),
157
+ mapper: z.lazy(() => ExprNodeSchema),
158
+ });
159
+ export const FindExpr = z.object({
160
+ kind: z.literal("find"),
161
+ array: z.lazy(() => ExprNodeSchema),
162
+ predicate: z.lazy(() => ExprNodeSchema),
163
+ });
164
+ export const EveryExpr = z.object({
165
+ kind: z.literal("every"),
166
+ array: z.lazy(() => ExprNodeSchema),
167
+ predicate: z.lazy(() => ExprNodeSchema),
168
+ });
169
+ export const SomeExpr = z.object({
170
+ kind: z.literal("some"),
171
+ array: z.lazy(() => ExprNodeSchema),
172
+ predicate: z.lazy(() => ExprNodeSchema),
173
+ });
174
+ export const AppendExpr = z.object({
175
+ kind: z.literal("append"),
176
+ array: z.lazy(() => ExprNodeSchema),
177
+ items: z.array(z.lazy(() => ExprNodeSchema)),
178
+ });
179
+ // ============ Object ============
180
+ export const ObjectExpr = z.object({
181
+ kind: z.literal("object"),
182
+ fields: z.record(z.string(), z.lazy(() => ExprNodeSchema)),
183
+ });
184
+ export const KeysExpr = z.object({
185
+ kind: z.literal("keys"),
186
+ obj: z.lazy(() => ExprNodeSchema),
187
+ });
188
+ export const ValuesExpr = z.object({
189
+ kind: z.literal("values"),
190
+ obj: z.lazy(() => ExprNodeSchema),
191
+ });
192
+ export const EntriesExpr = z.object({
193
+ kind: z.literal("entries"),
194
+ obj: z.lazy(() => ExprNodeSchema),
195
+ });
196
+ export const MergeExpr = z.object({
197
+ kind: z.literal("merge"),
198
+ objects: z.array(z.lazy(() => ExprNodeSchema)),
199
+ });
200
+ // ============ Type ============
201
+ export const TypeofExpr = z.object({
202
+ kind: z.literal("typeof"),
203
+ arg: z.lazy(() => ExprNodeSchema),
204
+ });
205
+ export const IsNullExpr = z.object({
206
+ kind: z.literal("isNull"),
207
+ arg: z.lazy(() => ExprNodeSchema),
208
+ });
209
+ export const CoalesceExpr = z.object({
210
+ kind: z.literal("coalesce"),
211
+ args: z.array(z.lazy(() => ExprNodeSchema)),
212
+ });
213
+ // ============ Combined Schema ============
214
+ export const ExprNodeSchema = z.union([
215
+ // Literals
216
+ LitExpr,
217
+ GetExpr,
218
+ // Comparison
219
+ EqExpr,
220
+ NeqExpr,
221
+ GtExpr,
222
+ GteExpr,
223
+ LtExpr,
224
+ LteExpr,
225
+ // Logical
226
+ AndExpr,
227
+ OrExpr,
228
+ NotExpr,
229
+ // Conditional
230
+ IfExpr,
231
+ // Arithmetic
232
+ AddExpr,
233
+ SubExpr,
234
+ MulExpr,
235
+ DivExpr,
236
+ ModExpr,
237
+ MinExpr,
238
+ MaxExpr,
239
+ AbsExpr,
240
+ NegExpr,
241
+ // String
242
+ ConcatExpr,
243
+ SubstringExpr,
244
+ TrimExpr,
245
+ // Collection
246
+ LenExpr,
247
+ AtExpr,
248
+ FirstExpr,
249
+ LastExpr,
250
+ SliceExpr,
251
+ IncludesExpr,
252
+ FilterExpr,
253
+ MapExpr,
254
+ FindExpr,
255
+ EveryExpr,
256
+ SomeExpr,
257
+ AppendExpr,
258
+ // Object
259
+ ObjectExpr,
260
+ KeysExpr,
261
+ ValuesExpr,
262
+ EntriesExpr,
263
+ MergeExpr,
264
+ // Type
265
+ TypeofExpr,
266
+ IsNullExpr,
267
+ CoalesceExpr,
268
+ ]);
269
+ /**
270
+ * Expression kinds enum for pattern matching
271
+ */
272
+ export const ExprKind = z.enum([
273
+ "lit", "get",
274
+ "eq", "neq", "gt", "gte", "lt", "lte",
275
+ "and", "or", "not",
276
+ "if",
277
+ "add", "sub", "mul", "div", "mod", "min", "max", "abs", "neg",
278
+ "concat", "substring", "trim",
279
+ "len", "at", "first", "last", "slice", "includes", "filter", "map", "find", "every", "some", "append",
280
+ "object", "keys", "values", "entries", "merge",
281
+ "typeof", "isNull", "coalesce",
282
+ ]);
283
+ //# sourceMappingURL=expr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../src/schema/expr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Field type definitions
4
+ */
5
+ export declare const PrimitiveFieldType: z.ZodEnum<{
6
+ string: "string";
7
+ number: "number";
8
+ boolean: "boolean";
9
+ object: "object";
10
+ null: "null";
11
+ array: "array";
12
+ }>;
13
+ export type PrimitiveFieldType = z.infer<typeof PrimitiveFieldType>;
14
+ export declare const EnumFieldType: z.ZodObject<{
15
+ enum: z.ZodReadonly<z.ZodArray<z.ZodUnknown>>;
16
+ }, z.core.$strip>;
17
+ export type EnumFieldType = z.infer<typeof EnumFieldType>;
18
+ export declare const FieldType: z.ZodUnion<readonly [z.ZodEnum<{
19
+ string: "string";
20
+ number: "number";
21
+ boolean: "boolean";
22
+ object: "object";
23
+ null: "null";
24
+ array: "array";
25
+ }>, z.ZodObject<{
26
+ enum: z.ZodReadonly<z.ZodArray<z.ZodUnknown>>;
27
+ }, z.core.$strip>]>;
28
+ export type FieldType = z.infer<typeof FieldType>;
29
+ /**
30
+ * Field specification (recursive for nested objects/arrays)
31
+ */
32
+ export type FieldSpec = {
33
+ type: FieldType;
34
+ required: boolean;
35
+ default?: unknown;
36
+ description?: string;
37
+ fields?: Record<string, FieldSpec>;
38
+ items?: FieldSpec;
39
+ };
40
+ export declare const FieldSpec: z.ZodType<FieldSpec>;
41
+ /**
42
+ * State specification - defines the shape of domain state
43
+ */
44
+ export declare const StateSpec: z.ZodObject<{
45
+ fields: z.ZodRecord<z.ZodString, z.ZodType<FieldSpec, unknown, z.core.$ZodTypeInternals<FieldSpec, unknown>>>;
46
+ }, z.core.$strip>;
47
+ export type StateSpec = z.infer<typeof StateSpec>;
48
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/schema/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,aAAa;;iBAExB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,SAAS;;;;;;;;;mBAA+C,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAS1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;iBAEpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}