@manifesto-ai/compiler 1.6.2 → 1.8.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 (201) hide show
  1. package/README.md +67 -18
  2. package/dist/chunk-BH25NHMN.js +74 -0
  3. package/dist/chunk-BH25NHMN.js.map +1 -0
  4. package/dist/chunk-D62NIFP4.js +33 -0
  5. package/dist/chunk-D62NIFP4.js.map +1 -0
  6. package/dist/chunk-MKLDAZ2Z.js +6920 -0
  7. package/dist/chunk-MKLDAZ2Z.js.map +1 -0
  8. package/dist/esbuild.d.ts +8 -0
  9. package/dist/esbuild.js +14 -0
  10. package/dist/esbuild.js.map +1 -0
  11. package/dist/index.d.ts +2810 -11
  12. package/dist/index.js +2425 -43
  13. package/dist/index.js.map +1 -1
  14. package/dist/node-loader.d.ts +18 -0
  15. package/dist/node-loader.js +47 -0
  16. package/dist/node-loader.js.map +1 -0
  17. package/dist/rollup.d.ts +8 -0
  18. package/dist/rollup.js +14 -0
  19. package/dist/rollup.js.map +1 -0
  20. package/dist/rspack.d.ts +7 -0
  21. package/dist/rspack.js +14 -0
  22. package/dist/rspack.js.map +1 -0
  23. package/dist/unplugin-6wnvFiEo.d.ts +17 -0
  24. package/dist/vite.d.ts +8 -17
  25. package/dist/vite.js +13 -33
  26. package/dist/vite.js.map +1 -1
  27. package/dist/webpack.d.ts +8 -0
  28. package/dist/webpack.js +14 -0
  29. package/dist/webpack.js.map +1 -0
  30. package/package.json +40 -22
  31. package/dist/analyzer/index.d.ts +0 -6
  32. package/dist/analyzer/index.d.ts.map +0 -1
  33. package/dist/analyzer/index.js +0 -6
  34. package/dist/analyzer/index.js.map +0 -1
  35. package/dist/analyzer/scope.d.ts +0 -77
  36. package/dist/analyzer/scope.d.ts.map +0 -1
  37. package/dist/analyzer/scope.js +0 -296
  38. package/dist/analyzer/scope.js.map +0 -1
  39. package/dist/analyzer/validator.d.ts +0 -60
  40. package/dist/analyzer/validator.d.ts.map +0 -1
  41. package/dist/analyzer/validator.js +0 -439
  42. package/dist/analyzer/validator.js.map +0 -1
  43. package/dist/api/compile-mel-patch-collector.d.ts +0 -32
  44. package/dist/api/compile-mel-patch-collector.d.ts.map +0 -1
  45. package/dist/api/compile-mel-patch-collector.js +0 -425
  46. package/dist/api/compile-mel-patch-collector.js.map +0 -1
  47. package/dist/api/compile-mel-patch-expr.d.ts +0 -9
  48. package/dist/api/compile-mel-patch-expr.d.ts.map +0 -1
  49. package/dist/api/compile-mel-patch-expr.js +0 -179
  50. package/dist/api/compile-mel-patch-expr.js.map +0 -1
  51. package/dist/api/compile-mel-patch-location.d.ts +0 -10
  52. package/dist/api/compile-mel-patch-location.d.ts.map +0 -1
  53. package/dist/api/compile-mel-patch-location.js +0 -48
  54. package/dist/api/compile-mel-patch-location.js.map +0 -1
  55. package/dist/api/compile-mel-patch.d.ts +0 -6
  56. package/dist/api/compile-mel-patch.d.ts.map +0 -1
  57. package/dist/api/compile-mel-patch.js +0 -244
  58. package/dist/api/compile-mel-patch.js.map +0 -1
  59. package/dist/api/compile-mel.d.ts +0 -126
  60. package/dist/api/compile-mel.d.ts.map +0 -1
  61. package/dist/api/compile-mel.js +0 -114
  62. package/dist/api/compile-mel.js.map +0 -1
  63. package/dist/api/index.d.ts +0 -10
  64. package/dist/api/index.d.ts.map +0 -1
  65. package/dist/api/index.js +0 -9
  66. package/dist/api/index.js.map +0 -1
  67. package/dist/diagnostics/codes.d.ts +0 -25
  68. package/dist/diagnostics/codes.d.ts.map +0 -1
  69. package/dist/diagnostics/codes.js +0 -154
  70. package/dist/diagnostics/codes.js.map +0 -1
  71. package/dist/diagnostics/index.d.ts +0 -6
  72. package/dist/diagnostics/index.d.ts.map +0 -1
  73. package/dist/diagnostics/index.js +0 -6
  74. package/dist/diagnostics/index.js.map +0 -1
  75. package/dist/diagnostics/types.d.ts +0 -67
  76. package/dist/diagnostics/types.d.ts.map +0 -1
  77. package/dist/diagnostics/types.js +0 -58
  78. package/dist/diagnostics/types.js.map +0 -1
  79. package/dist/evaluation/context.d.ts +0 -91
  80. package/dist/evaluation/context.d.ts.map +0 -1
  81. package/dist/evaluation/context.js +0 -53
  82. package/dist/evaluation/context.js.map +0 -1
  83. package/dist/evaluation/evaluate-expr.d.ts +0 -24
  84. package/dist/evaluation/evaluate-expr.d.ts.map +0 -1
  85. package/dist/evaluation/evaluate-expr.js +0 -577
  86. package/dist/evaluation/evaluate-expr.js.map +0 -1
  87. package/dist/evaluation/evaluate-patch.d.ts +0 -123
  88. package/dist/evaluation/evaluate-patch.d.ts.map +0 -1
  89. package/dist/evaluation/evaluate-patch.js +0 -202
  90. package/dist/evaluation/evaluate-patch.js.map +0 -1
  91. package/dist/evaluation/evaluate-runtime-patch.d.ts +0 -86
  92. package/dist/evaluation/evaluate-runtime-patch.d.ts.map +0 -1
  93. package/dist/evaluation/evaluate-runtime-patch.js +0 -185
  94. package/dist/evaluation/evaluate-runtime-patch.js.map +0 -1
  95. package/dist/evaluation/index.d.ts +0 -15
  96. package/dist/evaluation/index.d.ts.map +0 -1
  97. package/dist/evaluation/index.js +0 -13
  98. package/dist/evaluation/index.js.map +0 -1
  99. package/dist/generator/index.d.ts +0 -7
  100. package/dist/generator/index.d.ts.map +0 -1
  101. package/dist/generator/index.js +0 -7
  102. package/dist/generator/index.js.map +0 -1
  103. package/dist/generator/ir.d.ts +0 -348
  104. package/dist/generator/ir.d.ts.map +0 -1
  105. package/dist/generator/ir.js +0 -715
  106. package/dist/generator/ir.js.map +0 -1
  107. package/dist/generator/lowering.d.ts +0 -11
  108. package/dist/generator/lowering.d.ts.map +0 -1
  109. package/dist/generator/lowering.js +0 -369
  110. package/dist/generator/lowering.js.map +0 -1
  111. package/dist/generator/normalizer.d.ts +0 -16
  112. package/dist/generator/normalizer.d.ts.map +0 -1
  113. package/dist/generator/normalizer.js +0 -181
  114. package/dist/generator/normalizer.js.map +0 -1
  115. package/dist/index.d.ts.map +0 -1
  116. package/dist/lexer/index.d.ts +0 -7
  117. package/dist/lexer/index.d.ts.map +0 -1
  118. package/dist/lexer/index.js +0 -7
  119. package/dist/lexer/index.js.map +0 -1
  120. package/dist/lexer/lexer.d.ts +0 -59
  121. package/dist/lexer/lexer.d.ts.map +0 -1
  122. package/dist/lexer/lexer.js +0 -433
  123. package/dist/lexer/lexer.js.map +0 -1
  124. package/dist/lexer/source-location.d.ts +0 -41
  125. package/dist/lexer/source-location.d.ts.map +0 -1
  126. package/dist/lexer/source-location.js +0 -33
  127. package/dist/lexer/source-location.js.map +0 -1
  128. package/dist/lexer/tokens.d.ts +0 -47
  129. package/dist/lexer/tokens.d.ts.map +0 -1
  130. package/dist/lexer/tokens.js +0 -73
  131. package/dist/lexer/tokens.js.map +0 -1
  132. package/dist/loader.d.ts +0 -23
  133. package/dist/loader.d.ts.map +0 -1
  134. package/dist/loader.js +0 -62
  135. package/dist/loader.js.map +0 -1
  136. package/dist/lowering/context.d.ts +0 -96
  137. package/dist/lowering/context.d.ts.map +0 -1
  138. package/dist/lowering/context.js +0 -42
  139. package/dist/lowering/context.js.map +0 -1
  140. package/dist/lowering/errors.d.ts +0 -84
  141. package/dist/lowering/errors.d.ts.map +0 -1
  142. package/dist/lowering/errors.js +0 -81
  143. package/dist/lowering/errors.js.map +0 -1
  144. package/dist/lowering/index.d.ts +0 -20
  145. package/dist/lowering/index.d.ts.map +0 -1
  146. package/dist/lowering/index.js +0 -13
  147. package/dist/lowering/index.js.map +0 -1
  148. package/dist/lowering/lower-expr.d.ts +0 -76
  149. package/dist/lowering/lower-expr.d.ts.map +0 -1
  150. package/dist/lowering/lower-expr.js +0 -366
  151. package/dist/lowering/lower-expr.js.map +0 -1
  152. package/dist/lowering/lower-patch.d.ts +0 -231
  153. package/dist/lowering/lower-patch.d.ts.map +0 -1
  154. package/dist/lowering/lower-patch.js +0 -146
  155. package/dist/lowering/lower-patch.js.map +0 -1
  156. package/dist/lowering/lower-runtime-patch.d.ts +0 -100
  157. package/dist/lowering/lower-runtime-patch.d.ts.map +0 -1
  158. package/dist/lowering/lower-runtime-patch.js +0 -49
  159. package/dist/lowering/lower-runtime-patch.js.map +0 -1
  160. package/dist/mel-module.d.ts +0 -13
  161. package/dist/mel-module.d.ts.map +0 -1
  162. package/dist/mel-module.js +0 -33
  163. package/dist/mel-module.js.map +0 -1
  164. package/dist/parser/ast.d.ts +0 -344
  165. package/dist/parser/ast.d.ts.map +0 -1
  166. package/dist/parser/ast.js +0 -24
  167. package/dist/parser/ast.js.map +0 -1
  168. package/dist/parser/index.d.ts +0 -7
  169. package/dist/parser/index.d.ts.map +0 -1
  170. package/dist/parser/index.js +0 -7
  171. package/dist/parser/index.js.map +0 -1
  172. package/dist/parser/parser.d.ts +0 -92
  173. package/dist/parser/parser.d.ts.map +0 -1
  174. package/dist/parser/parser.js +0 -892
  175. package/dist/parser/parser.js.map +0 -1
  176. package/dist/parser/precedence.d.ts +0 -44
  177. package/dist/parser/precedence.d.ts.map +0 -1
  178. package/dist/parser/precedence.js +0 -69
  179. package/dist/parser/precedence.js.map +0 -1
  180. package/dist/renderer/expr-node.d.ts +0 -172
  181. package/dist/renderer/expr-node.d.ts.map +0 -1
  182. package/dist/renderer/expr-node.js +0 -218
  183. package/dist/renderer/expr-node.js.map +0 -1
  184. package/dist/renderer/fragment.d.ts +0 -84
  185. package/dist/renderer/fragment.d.ts.map +0 -1
  186. package/dist/renderer/fragment.js +0 -172
  187. package/dist/renderer/fragment.js.map +0 -1
  188. package/dist/renderer/index.d.ts +0 -23
  189. package/dist/renderer/index.d.ts.map +0 -1
  190. package/dist/renderer/index.js +0 -27
  191. package/dist/renderer/index.js.map +0 -1
  192. package/dist/renderer/patch-op.d.ts +0 -82
  193. package/dist/renderer/patch-op.d.ts.map +0 -1
  194. package/dist/renderer/patch-op.js +0 -204
  195. package/dist/renderer/patch-op.js.map +0 -1
  196. package/dist/renderer/type-expr.d.ts +0 -61
  197. package/dist/renderer/type-expr.d.ts.map +0 -1
  198. package/dist/renderer/type-expr.js +0 -131
  199. package/dist/renderer/type-expr.js.map +0 -1
  200. package/dist/vite.d.ts.map +0 -1
  201. package/loader.cjs +0 -22
@@ -1,123 +0,0 @@
1
- /**
2
- * Patch Evaluation
3
- *
4
- * Evaluates ConditionalPatchOp[] to produce concrete schema operations.
5
- *
6
- * @see SPEC v0.4.0 §18.5, §18.6
7
- */
8
- import type { ExprNode as CoreExprNode } from "@manifesto-ai/core";
9
- import type { ConditionalPatchOp, LoweredPatchOp } from "../lowering/lower-patch.js";
10
- import type { EvaluationContext, EvaluationSnapshot } from "./context.js";
11
- /**
12
- * Evaluated schema patch operation.
13
- *
14
- * All conditions have been evaluated and values resolved where appropriate.
15
- * Expressions in addComputed, addConstraint, addActionAvailable are preserved
16
- * for runtime evaluation by Core.
17
- */
18
- export type EvaluatedPatchOp = LoweredPatchOp;
19
- /**
20
- * Result of evaluating a conditional patch.
21
- */
22
- export interface EvaluatedPatch {
23
- /**
24
- * Fragment identifier (for tracing).
25
- */
26
- fragmentId: string;
27
- /**
28
- * The evaluated operation.
29
- */
30
- op: EvaluatedPatchOp;
31
- /**
32
- * Confidence (preserved from fragment).
33
- */
34
- confidence: number;
35
- /**
36
- * Whether condition was evaluated (true) or there was no condition.
37
- */
38
- conditionEvaluated: boolean;
39
- }
40
- /**
41
- * Result of patch evaluation.
42
- */
43
- export interface PatchEvaluationResult {
44
- /**
45
- * Patches that passed their conditions.
46
- */
47
- patches: EvaluatedPatch[];
48
- /**
49
- * Patches that were skipped due to false/null conditions.
50
- */
51
- skipped: Array<{
52
- fragmentId: string;
53
- reason: "false" | "null" | "non-boolean";
54
- }>;
55
- /**
56
- * Final working snapshot after all evaluations.
57
- */
58
- finalSnapshot: EvaluationSnapshot;
59
- }
60
- /**
61
- * Evaluate conditional patch operations.
62
- *
63
- * Implements sequential evaluation semantics: later patches see effects
64
- * of earlier patches via working snapshot.
65
- *
66
- * Conditions are boolean-only: true applies, false/null/non-boolean skips.
67
- *
68
- * @param ops - Conditional patch operations from lowering phase
69
- * @param ctx - Initial evaluation context
70
- * @returns Evaluation result with applied and skipped patches
71
- *
72
- * @see SPEC v0.4.0 §18.5, FDR-MEL-070, FDR-MEL-073
73
- */
74
- export declare function evaluateConditionalPatchOps(ops: ConditionalPatchOp[], ctx: EvaluationContext): PatchEvaluationResult;
75
- /**
76
- * Simple evaluation: returns patches that pass conditions.
77
- *
78
- * Does not track skipped patches or maintain sequential semantics.
79
- * Use this for stateless condition evaluation.
80
- *
81
- * @param ops - Conditional patch operations
82
- * @param ctx - Evaluation context
83
- * @returns Patches that passed their conditions
84
- */
85
- export declare function evaluatePatches(ops: ConditionalPatchOp[], ctx: EvaluationContext): EvaluatedPatch[];
86
- /**
87
- * Evaluate expressions in a patch operation to concrete values.
88
- *
89
- * Use this when you need fully concrete values (no expressions).
90
- *
91
- * Note: addComputed.expr, addConstraint.rule, and addActionAvailable.expr
92
- * are meant to remain as expressions for runtime evaluation by Core.
93
- *
94
- * @param op - Lowered patch operation
95
- * @param ctx - Evaluation context
96
- * @returns Patch operation with evaluated expressions
97
- */
98
- export declare function evaluatePatchExpressions(op: LoweredPatchOp, ctx: EvaluationContext): LoweredPatchOp;
99
- /**
100
- * Check if a condition evaluates to true.
101
- *
102
- * Boolean-only: only true returns true.
103
- * false, null, and non-boolean values return false.
104
- *
105
- * @param condition - Condition expression (or undefined for always-true)
106
- * @param ctx - Evaluation context
107
- * @returns True if condition passes
108
- *
109
- * @see FDR-MEL-073
110
- */
111
- export declare function evaluateCondition(condition: CoreExprNode | undefined, ctx: EvaluationContext): boolean;
112
- /**
113
- * Classify a condition evaluation result.
114
- *
115
- * @param condition - Condition expression
116
- * @param ctx - Evaluation context
117
- * @returns Classification of condition result
118
- */
119
- export declare function classifyCondition(condition: CoreExprNode | undefined, ctx: EvaluationContext): {
120
- passes: boolean;
121
- reason: "no-condition" | "true" | "false" | "null" | "non-boolean";
122
- };
123
- //# sourceMappingURL=evaluate-patch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-patch.d.ts","sourceRoot":"","sources":["../../src/evaluation/evaluate-patch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAM1E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,EAAE,EAAE,gBAAgB,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;KAC1C,CAAC,CAAC;IAEH;;OAEG;IACH,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,kBAAkB,EAAE,EACzB,GAAG,EAAE,iBAAiB,GACrB,qBAAqB,CAiDvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,kBAAkB,EAAE,EACzB,GAAG,EAAE,iBAAiB,GACrB,cAAc,EAAE,CAclB;AAuCD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,iBAAiB,GACrB,cAAc,CA8BhB;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,YAAY,GAAG,SAAS,EACnC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAOT;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,YAAY,GAAG,SAAS,EACnC,GAAG,EAAE,iBAAiB,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAA;CAAE,CAoBzF"}
@@ -1,202 +0,0 @@
1
- /**
2
- * Patch Evaluation
3
- *
4
- * Evaluates ConditionalPatchOp[] to produce concrete schema operations.
5
- *
6
- * @see SPEC v0.4.0 §18.5, §18.6
7
- */
8
- import { applyPatchToWorkingSnapshot } from "./context.js";
9
- import { evaluateExpr } from "./evaluate-expr.js";
10
- // ============ Main Evaluation Function ============
11
- /**
12
- * Evaluate conditional patch operations.
13
- *
14
- * Implements sequential evaluation semantics: later patches see effects
15
- * of earlier patches via working snapshot.
16
- *
17
- * Conditions are boolean-only: true applies, false/null/non-boolean skips.
18
- *
19
- * @param ops - Conditional patch operations from lowering phase
20
- * @param ctx - Initial evaluation context
21
- * @returns Evaluation result with applied and skipped patches
22
- *
23
- * @see SPEC v0.4.0 §18.5, FDR-MEL-070, FDR-MEL-073
24
- */
25
- export function evaluateConditionalPatchOps(ops, ctx) {
26
- const patches = [];
27
- const skipped = [];
28
- let workingSnapshot = ctx.snapshot;
29
- for (const op of ops) {
30
- // Create context with current working snapshot
31
- const evalCtx = {
32
- ...ctx,
33
- snapshot: workingSnapshot,
34
- };
35
- // Evaluate condition if present
36
- if (op.condition !== undefined) {
37
- const conditionResult = evaluateExpr(op.condition, evalCtx);
38
- if (conditionResult !== true) {
39
- // Skip this patch
40
- const reason = conditionResult === false
41
- ? "false"
42
- : conditionResult === null
43
- ? "null"
44
- : "non-boolean";
45
- skipped.push({ fragmentId: op.fragmentId, reason });
46
- continue;
47
- }
48
- }
49
- // Evaluate the operation and add to result
50
- const evaluated = {
51
- fragmentId: op.fragmentId,
52
- op: op.op,
53
- confidence: op.confidence,
54
- conditionEvaluated: op.condition !== undefined,
55
- };
56
- patches.push(evaluated);
57
- // Update working snapshot for sequential semantics
58
- workingSnapshot = updateWorkingSnapshot(workingSnapshot, op.op, evalCtx);
59
- }
60
- return {
61
- patches,
62
- skipped,
63
- finalSnapshot: workingSnapshot,
64
- };
65
- }
66
- /**
67
- * Simple evaluation: returns patches that pass conditions.
68
- *
69
- * Does not track skipped patches or maintain sequential semantics.
70
- * Use this for stateless condition evaluation.
71
- *
72
- * @param ops - Conditional patch operations
73
- * @param ctx - Evaluation context
74
- * @returns Patches that passed their conditions
75
- */
76
- export function evaluatePatches(ops, ctx) {
77
- return ops
78
- .filter((op) => {
79
- if (op.condition === undefined) {
80
- return true;
81
- }
82
- return evaluateExpr(op.condition, ctx) === true;
83
- })
84
- .map((op) => ({
85
- fragmentId: op.fragmentId,
86
- op: op.op,
87
- confidence: op.confidence,
88
- conditionEvaluated: op.condition !== undefined,
89
- }));
90
- }
91
- // ============ Working Snapshot Update ============
92
- /**
93
- * Update working snapshot based on patch operation.
94
- *
95
- * For schema operations, most don't affect the snapshot directly.
96
- * Only setDefaultValue affects the data model.
97
- *
98
- * @see FDR-MEL-070
99
- */
100
- function updateWorkingSnapshot(snapshot, op, _ctx) {
101
- // Most schema operations don't affect the working snapshot
102
- // They modify the schema, not the runtime state
103
- switch (op.kind) {
104
- case "setDefaultValue":
105
- // Apply default value to working snapshot data
106
- // This enables sequential evaluation where later ops can see the default
107
- return applyPatchToWorkingSnapshot(snapshot, op.path, op.value);
108
- case "addType":
109
- case "addField":
110
- case "setFieldType":
111
- case "addConstraint":
112
- case "addComputed":
113
- case "addActionAvailable":
114
- // These don't affect runtime data, only schema structure
115
- return snapshot;
116
- }
117
- }
118
- // ============ Expression Evaluation in Patch Values ============
119
- /**
120
- * Evaluate expressions in a patch operation to concrete values.
121
- *
122
- * Use this when you need fully concrete values (no expressions).
123
- *
124
- * Note: addComputed.expr, addConstraint.rule, and addActionAvailable.expr
125
- * are meant to remain as expressions for runtime evaluation by Core.
126
- *
127
- * @param op - Lowered patch operation
128
- * @param ctx - Evaluation context
129
- * @returns Patch operation with evaluated expressions
130
- */
131
- export function evaluatePatchExpressions(op, ctx) {
132
- switch (op.kind) {
133
- case "addType":
134
- case "addField":
135
- case "setFieldType":
136
- case "setDefaultValue":
137
- // These don't have runtime expressions to evaluate
138
- return op;
139
- case "addConstraint":
140
- // rule is evaluated at runtime, but we can evaluate for preview
141
- return {
142
- ...op,
143
- // Keep rule as expression - it's evaluated at runtime by Core
144
- };
145
- case "addComputed":
146
- // expr is evaluated at runtime, but we can evaluate for preview
147
- return {
148
- ...op,
149
- // Keep expr as expression - it's evaluated at runtime by Core
150
- };
151
- case "addActionAvailable":
152
- // expr is evaluated at runtime
153
- return {
154
- ...op,
155
- // Keep expr as expression - it's evaluated at runtime by Core
156
- };
157
- }
158
- }
159
- // ============ Condition Utilities ============
160
- /**
161
- * Check if a condition evaluates to true.
162
- *
163
- * Boolean-only: only true returns true.
164
- * false, null, and non-boolean values return false.
165
- *
166
- * @param condition - Condition expression (or undefined for always-true)
167
- * @param ctx - Evaluation context
168
- * @returns True if condition passes
169
- *
170
- * @see FDR-MEL-073
171
- */
172
- export function evaluateCondition(condition, ctx) {
173
- if (condition === undefined) {
174
- return true;
175
- }
176
- const result = evaluateExpr(condition, ctx);
177
- return result === true;
178
- }
179
- /**
180
- * Classify a condition evaluation result.
181
- *
182
- * @param condition - Condition expression
183
- * @param ctx - Evaluation context
184
- * @returns Classification of condition result
185
- */
186
- export function classifyCondition(condition, ctx) {
187
- if (condition === undefined) {
188
- return { passes: true, reason: "no-condition" };
189
- }
190
- const result = evaluateExpr(condition, ctx);
191
- if (result === true) {
192
- return { passes: true, reason: "true" };
193
- }
194
- if (result === false) {
195
- return { passes: false, reason: "false" };
196
- }
197
- if (result === null) {
198
- return { passes: false, reason: "null" };
199
- }
200
- return { passes: false, reason: "non-boolean" };
201
- }
202
- //# sourceMappingURL=evaluate-patch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-patch.js","sourceRoot":"","sources":["../../src/evaluation/evaluate-patch.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Runtime Patch Evaluation
3
- *
4
- * Evaluates RuntimeConditionalPatchOp[] to produce concrete Patch[].
5
- *
6
- * Implements:
7
- * - SPEC v0.4.0 §18.5: Sequential evaluation with working snapshot
8
- * - SPEC v0.4.0 §18.6: Boolean-only conditions
9
- * - SPEC v0.4.0 A35: Total function (returns null on error, never throws)
10
- *
11
- * @see SPEC v0.4.0 §20
12
- */
13
- import type { Patch } from "@manifesto-ai/core";
14
- import type { RuntimeConditionalPatchOp } from "../lowering/lower-runtime-patch.js";
15
- import type { EvaluationContext, EvaluationSnapshot } from "./context.js";
16
- /**
17
- * Skip reason for runtime patches.
18
- */
19
- export type RuntimePatchSkipReason = "false" | "null" | "non-boolean";
20
- /**
21
- * Skipped patch info.
22
- */
23
- export interface SkippedRuntimePatch {
24
- /**
25
- * Index in the original ops array.
26
- */
27
- index: number;
28
- /**
29
- * Target path.
30
- */
31
- path: string;
32
- /**
33
- * Reason why patch was skipped.
34
- */
35
- reason: RuntimePatchSkipReason;
36
- }
37
- /**
38
- * Result of runtime patch evaluation with trace information.
39
- */
40
- export interface RuntimePatchEvaluationResult {
41
- /**
42
- * Concrete patches that passed conditions.
43
- * Order is preserved from input.
44
- */
45
- patches: Patch[];
46
- /**
47
- * Patches that were skipped due to false/null/non-boolean conditions.
48
- */
49
- skipped: SkippedRuntimePatch[];
50
- /**
51
- * Final working snapshot after all evaluations.
52
- */
53
- finalSnapshot: EvaluationSnapshot;
54
- }
55
- /**
56
- * Evaluate runtime conditional patches to concrete Patch[].
57
- *
58
- * This is the main API for Host integration. It transforms
59
- * RuntimeConditionalPatchOp[] (with Core IR expressions) to
60
- * concrete Patch[] (with evaluated values) that can be passed
61
- * directly to core.apply().
62
- *
63
- * Implements:
64
- * - §18.5: Sequential evaluation with working snapshot
65
- * - §18.6: Boolean-only conditions (non-boolean → skip)
66
- * - A35: Total function (expression errors → null value)
67
- *
68
- * @param ops - Runtime conditional patch operations
69
- * @param ctx - Evaluation context
70
- * @returns Concrete patches that passed conditions
71
- *
72
- * @see SPEC v0.4.0 §20.2
73
- */
74
- export declare function evaluateRuntimePatches(ops: RuntimeConditionalPatchOp[], ctx: EvaluationContext): Patch[];
75
- /**
76
- * Evaluate runtime patches with trace information.
77
- *
78
- * Returns additional information about skipped patches and
79
- * final snapshot state.
80
- *
81
- * @param ops - Runtime conditional patch operations
82
- * @param ctx - Evaluation context
83
- * @returns Evaluation result with patches, skipped, and finalSnapshot
84
- */
85
- export declare function evaluateRuntimePatchesWithTrace(ops: RuntimeConditionalPatchOp[], ctx: EvaluationContext): RuntimePatchEvaluationResult;
86
- //# sourceMappingURL=evaluate-runtime-patch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-runtime-patch.d.ts","sourceRoot":"","sources":["../../src/evaluation/evaluate-runtime-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAoC,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAe1E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,yBAAyB,EAAE,EAChC,GAAG,EAAE,iBAAiB,GACrB,KAAK,EAAE,CAGT;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,yBAAyB,EAAE,EAChC,GAAG,EAAE,iBAAiB,GACrB,4BAA4B,CA8F9B"}
@@ -1,185 +0,0 @@
1
- /**
2
- * Runtime Patch Evaluation
3
- *
4
- * Evaluates RuntimeConditionalPatchOp[] to produce concrete Patch[].
5
- *
6
- * Implements:
7
- * - SPEC v0.4.0 §18.5: Sequential evaluation with working snapshot
8
- * - SPEC v0.4.0 §18.6: Boolean-only conditions
9
- * - SPEC v0.4.0 A35: Total function (returns null on error, never throws)
10
- *
11
- * @see SPEC v0.4.0 §20
12
- */
13
- import { applyPatchToWorkingSnapshot } from "./context.js";
14
- import { evaluateExpr } from "./evaluate-expr.js";
15
- import { parsePath } from "@manifesto-ai/core";
16
- const WHEN_SCOPE_PREFIX = "$mel.__whenGuards.";
17
- const ONCE_SCOPE_PREFIX = "$mel.__onceScopeGuards.";
18
- // ============ Main Evaluation Functions ============
19
- /**
20
- * Evaluate runtime conditional patches to concrete Patch[].
21
- *
22
- * This is the main API for Host integration. It transforms
23
- * RuntimeConditionalPatchOp[] (with Core IR expressions) to
24
- * concrete Patch[] (with evaluated values) that can be passed
25
- * directly to core.apply().
26
- *
27
- * Implements:
28
- * - §18.5: Sequential evaluation with working snapshot
29
- * - §18.6: Boolean-only conditions (non-boolean → skip)
30
- * - A35: Total function (expression errors → null value)
31
- *
32
- * @param ops - Runtime conditional patch operations
33
- * @param ctx - Evaluation context
34
- * @returns Concrete patches that passed conditions
35
- *
36
- * @see SPEC v0.4.0 §20.2
37
- */
38
- export function evaluateRuntimePatches(ops, ctx) {
39
- const result = evaluateRuntimePatchesWithTrace(ops, ctx);
40
- return result.patches;
41
- }
42
- /**
43
- * Evaluate runtime patches with trace information.
44
- *
45
- * Returns additional information about skipped patches and
46
- * final snapshot state.
47
- *
48
- * @param ops - Runtime conditional patch operations
49
- * @param ctx - Evaluation context
50
- * @returns Evaluation result with patches, skipped, and finalSnapshot
51
- */
52
- export function evaluateRuntimePatchesWithTrace(ops, ctx) {
53
- const patches = [];
54
- const skipped = [];
55
- let workingSnapshot = ctx.snapshot;
56
- const guardScopeStack = [];
57
- for (let i = 0; i < ops.length; i++) {
58
- const op = ops[i];
59
- const isScopedSet = op.op === "set" && isScopedMarkerPath(op.path);
60
- const isInScope = guardScopeStack.length > 0;
61
- const activeSnapshot = isScopedSet || !isInScope
62
- ? workingSnapshot
63
- : guardScopeStack[guardScopeStack.length - 1].snapshot;
64
- // Create context with current scoped snapshot
65
- // (all ops in active guard scopes evaluate against marker-entry state).
66
- const evalCtx = {
67
- ...ctx,
68
- snapshot: activeSnapshot,
69
- };
70
- // Evaluate condition if present (boolean-only per §18.6)
71
- if (op.condition !== undefined) {
72
- const conditionResult = evaluateExpr(op.condition, evalCtx);
73
- if (conditionResult !== true) {
74
- // Skip this patch
75
- const reason = conditionResult === false
76
- ? "false"
77
- : conditionResult === null
78
- ? "null"
79
- : "non-boolean";
80
- skipped.push({ index: i, path: op.path, reason });
81
- continue;
82
- }
83
- }
84
- // Evaluate value expression to concrete value (A35: null on error)
85
- const concreteValue = op.value
86
- ? evaluateExpr(op.value, evalCtx)
87
- : undefined;
88
- // Build concrete patch
89
- const patch = buildConcretePatch(op.op, op.path, concreteValue);
90
- if (patch !== null) {
91
- if (op.op === "unset" &&
92
- isScopedMarkerPath(op.path) &&
93
- (!isInScope ||
94
- guardScopeStack[guardScopeStack.length - 1].markerPath !== op.path)) {
95
- continue;
96
- }
97
- patches.push(patch);
98
- // Update working snapshot for sequential semantics (§18.5)
99
- if (op.op !== "unset") {
100
- workingSnapshot = applyPatchToWorkingSnapshot(workingSnapshot, op.path, concreteValue);
101
- }
102
- else {
103
- // For unset, we need to remove the value
104
- workingSnapshot = applyUnsetToWorkingSnapshot(workingSnapshot, op.path);
105
- }
106
- if (op.op === "set" &&
107
- isScopedMarkerPath(op.path)) {
108
- guardScopeStack.push({
109
- markerPath: op.path,
110
- snapshot: workingSnapshot,
111
- });
112
- }
113
- else if (op.op === "unset" &&
114
- isScopedMarkerPath(op.path) &&
115
- guardScopeStack.length > 0 &&
116
- guardScopeStack[guardScopeStack.length - 1].markerPath === op.path) {
117
- guardScopeStack.pop();
118
- }
119
- }
120
- }
121
- return {
122
- patches,
123
- skipped,
124
- finalSnapshot: workingSnapshot,
125
- };
126
- }
127
- // ============ Helper Functions ============
128
- /**
129
- * Build a concrete Patch from operation type, path, and value.
130
- *
131
- * @param op - Operation type
132
- * @param path - Target path
133
- * @param value - Evaluated value
134
- * @returns Concrete patch or null if invalid
135
- */
136
- function buildConcretePatch(op, path, value) {
137
- switch (op) {
138
- case "set":
139
- return { op: "set", path, value };
140
- case "unset":
141
- return { op: "unset", path };
142
- case "merge":
143
- // Merge requires an object value
144
- if (value !== null && typeof value === "object" && !Array.isArray(value)) {
145
- return { op: "merge", path, value: value };
146
- }
147
- // Invalid merge value - fallback to set with null (A35: no throw)
148
- return { op: "set", path, value: null };
149
- }
150
- }
151
- /**
152
- * Apply unset to working snapshot.
153
- *
154
- * Removes the value at path in the working snapshot.
155
- */
156
- function applyUnsetToWorkingSnapshot(snapshot, path) {
157
- // Deep clone data
158
- const newData = structuredClone(snapshot.data);
159
- // Remove value at path
160
- removeValueAtPath(newData, path);
161
- return {
162
- data: newData,
163
- computed: snapshot.computed,
164
- };
165
- }
166
- /**
167
- * Remove value at a dot-separated path.
168
- */
169
- function removeValueAtPath(obj, path) {
170
- const parts = parsePath(path);
171
- let current = obj;
172
- for (let i = 0; i < parts.length - 1; i++) {
173
- const part = parts[i];
174
- if (!(part in current) || typeof current[part] !== "object" || current[part] === null) {
175
- return; // Path doesn't exist, nothing to remove
176
- }
177
- current = current[part];
178
- }
179
- const lastPart = parts[parts.length - 1];
180
- delete current[lastPart];
181
- }
182
- function isScopedMarkerPath(path) {
183
- return path.startsWith(WHEN_SCOPE_PREFIX) || path.startsWith(ONCE_SCOPE_PREFIX);
184
- }
185
- //# sourceMappingURL=evaluate-runtime-patch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-runtime-patch.js","sourceRoot":"","sources":["../../src/evaluation/evaluate-runtime-patch.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Evaluation Module
3
- *
4
- * Evaluates Core IR expressions and conditional patches.
5
- *
6
- * @see SPEC v0.4.0 §18
7
- */
8
- export type { EvaluationSnapshot, EvaluationMeta, EvaluationContext, } from "./context.js";
9
- export { createEvaluationContext, applyPatchToWorkingSnapshot, } from "./context.js";
10
- export { evaluateExpr } from "./evaluate-expr.js";
11
- export type { EvaluatedPatchOp, EvaluatedPatch, PatchEvaluationResult, } from "./evaluate-patch.js";
12
- export { evaluateConditionalPatchOps, evaluatePatches, evaluatePatchExpressions, evaluateCondition, classifyCondition, } from "./evaluate-patch.js";
13
- export type { RuntimePatchSkipReason, SkippedRuntimePatch, RuntimePatchEvaluationResult, } from "./evaluate-runtime-patch.js";
14
- export { evaluateRuntimePatches, evaluateRuntimePatchesWithTrace, } from "./evaluate-runtime-patch.js";
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,6BAA6B,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Evaluation Module
3
- *
4
- * Evaluates Core IR expressions and conditional patches.
5
- *
6
- * @see SPEC v0.4.0 §18
7
- */
8
- export { createEvaluationContext, applyPatchToWorkingSnapshot, } from "./context.js";
9
- // Expression evaluation
10
- export { evaluateExpr } from "./evaluate-expr.js";
11
- export { evaluateConditionalPatchOps, evaluatePatches, evaluatePatchExpressions, evaluateCondition, classifyCondition, } from "./evaluate-patch.js";
12
- export { evaluateRuntimePatches, evaluateRuntimePatchesWithTrace, } from "./evaluate-runtime-patch.js";
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluation/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,6BAA6B,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Generator Module - Transforms MEL AST to Core IR
3
- */
4
- export * from "./ir.js";
5
- export * from "./normalizer.js";
6
- export * from "./lowering.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}