@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,48 +0,0 @@
1
- /**
2
- * Location mapping helpers for compile-mel-patch synthetic wrapper diagnostics.
3
- */
4
- export const SYNTHETIC_PATCH_PREFIX_LINES = 3;
5
- export const SYNTHETIC_PATCH_PREFIX_COLUMNS = 6;
6
- export function computeLineStartOffsets(lines) {
7
- const offsets = [];
8
- let offset = 0;
9
- for (const line of lines) {
10
- offsets.push(offset);
11
- offset += line.length + 1;
12
- }
13
- return offsets;
14
- }
15
- export function makePatchLocationMapper(patchLines, patchLineStarts) {
16
- return (location) => remapLocationToPatchSource(location, patchLines, patchLineStarts);
17
- }
18
- export function remapDiagnosticsToPatchSource(diagnostics, patchLines, patchLineStarts) {
19
- return diagnostics.map((diagnostic) => remapDiagnosticToPatchSource(diagnostic, patchLines, patchLineStarts));
20
- }
21
- function remapDiagnosticToPatchSource(diagnostic, patchLines, patchLineStarts) {
22
- return {
23
- ...diagnostic,
24
- location: remapLocationToPatchSource(diagnostic.location, patchLines, patchLineStarts),
25
- };
26
- }
27
- function remapLocationToPatchSource(location, patchLines, patchLineStarts) {
28
- return {
29
- ...location,
30
- start: remapPositionToPatchSource(location.start, patchLines, patchLineStarts),
31
- end: remapPositionToPatchSource(location.end, patchLines, patchLineStarts),
32
- };
33
- }
34
- function remapPositionToPatchSource(position, patchLines, patchLineStarts) {
35
- const patchLine = position.line - SYNTHETIC_PATCH_PREFIX_LINES;
36
- const patchLineCount = patchLines.length;
37
- const clampedPatchLine = Math.min(Math.max(patchLine, 1), patchLineCount);
38
- const sourceLineStart = patchLineStarts[clampedPatchLine - 1] ?? 0;
39
- const sourceLineText = patchLines[clampedPatchLine - 1] ?? "";
40
- const maxSourceColumn = Math.max(sourceLineText.length + 1, 1);
41
- const sourceColumn = Math.min(Math.max(position.column - SYNTHETIC_PATCH_PREFIX_COLUMNS, 1), maxSourceColumn);
42
- return {
43
- line: clampedPatchLine,
44
- column: sourceColumn,
45
- offset: Math.max(sourceLineStart + sourceColumn - 1, 0),
46
- };
47
- }
48
- //# sourceMappingURL=compile-mel-patch-location.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-mel-patch-location.js","sourceRoot":"","sources":["../../src/api/compile-mel-patch-location.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACrD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAoB,EACpB,eAAyB;IAEzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,WAAyB,EACzB,UAAoB,EACpB,eAAyB;IAEzB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,4BAA4B,CACjE,UAAU,EACV,UAAU,EACV,eAAe,CAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CACnC,UAAsB,EACtB,UAAoB,EACpB,eAAyB;IAEzB,OAAO;QACL,GAAG,UAAU;QACb,QAAQ,EAAE,0BAA0B,CAClC,UAAU,CAAC,QAAQ,EACnB,UAAU,EACV,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAgC,EAChC,UAAoB,EACpB,eAAyB;IAEzB,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,0BAA0B,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC;QAC9E,GAAG,EAAE,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,eAAe,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAyC,EACzC,UAAoB,EACpB,eAAyB;IAEzB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAE1E,MAAM,eAAe,GAAG,eAAe,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,8BAA8B,EAAE,CAAC,CAAC,EAC7D,eAAe,CAChB,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { CompileMelPatchOptions, CompileMelPatchResult } from "./compile-mel.js";
2
- /**
3
- * Compile MEL patch text into RuntimeConditionalPatchOps.
4
- */
5
- export declare function compileMelPatchText(melText: string, options: CompileMelPatchOptions): CompileMelPatchResult;
6
- //# sourceMappingURL=compile-mel-patch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-mel-patch.d.ts","sourceRoot":"","sources":["../../src/api/compile-mel-patch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAgB,MAAM,kBAAkB,CAAC;AA8BpG;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAiPvB"}
@@ -1,244 +0,0 @@
1
- import { tokenize } from "../lexer/index.js";
2
- import { parse } from "../parser/index.js";
3
- import { lowerRuntimePatch } from "../lowering/lower-runtime-patch.js";
4
- import { LoweringError } from "../lowering/errors.js";
5
- import { compilePatchStmtToMelRuntime, PatchStatementCollector, } from "./compile-mel-patch-collector.js";
6
- import { isSyntheticPatchCondition, toMelExpr } from "./compile-mel-patch-expr.js";
7
- import { SYNTHETIC_PATCH_PREFIX_LINES, computeLineStartOffsets, makePatchLocationMapper, remapDiagnosticsToPatchSource, } from "./compile-mel-patch-location.js";
8
- /**
9
- * Synthetic action name for compile-time wrap.
10
- */
11
- const SYNTHETIC_ACTION = "__compileMelPatch";
12
- const SYNTHETIC_DOMAIN = "__patchDomain";
13
- const SYNTHETIC_PATCH_INDENT = " ";
14
- /**
15
- * Compile MEL patch text into RuntimeConditionalPatchOps.
16
- */
17
- export function compileMelPatchText(melText, options) {
18
- const trace = [];
19
- const warnings = [];
20
- const errors = [];
21
- const patchLines = melText.split("\n");
22
- const patchLineStarts = computeLineStartOffsets(patchLines);
23
- const mapLocation = makePatchLocationMapper(patchLines, patchLineStarts);
24
- const syntheticMel = buildSyntheticPatchProgram(melText, SYNTHETIC_ACTION);
25
- // Phase 1: Lex
26
- const lexStart = performance.now();
27
- let tokens;
28
- try {
29
- const lexResult = tokenize(syntheticMel);
30
- tokens = lexResult.tokens;
31
- const lexErrors = remapDiagnosticsToPatchSource(lexResult.diagnostics.filter(d => d.severity === "error"), patchLines, patchLineStarts);
32
- if (lexErrors.length > 0) {
33
- errors.push(...lexErrors);
34
- trace.push({
35
- phase: "lex",
36
- durationMs: performance.now() - lexStart,
37
- details: { tokenCount: tokens.length },
38
- });
39
- return { ops: [], trace, warnings, errors };
40
- }
41
- }
42
- catch (error) {
43
- errors.push({
44
- severity: "error",
45
- code: "E_LEX",
46
- message: error.message,
47
- location: {
48
- start: { line: 1, column: 1, offset: 0 },
49
- end: { line: 1, column: 1, offset: 0 },
50
- },
51
- });
52
- trace.push({ phase: "lex", durationMs: performance.now() - lexStart });
53
- return { ops: [], trace, warnings, errors };
54
- }
55
- trace.push({
56
- phase: "lex",
57
- durationMs: performance.now() - lexStart,
58
- details: { tokenCount: tokens.length },
59
- });
60
- // Phase 2: Parse
61
- const parseStart = performance.now();
62
- let program;
63
- try {
64
- const parseResult = parse(tokens);
65
- const parsedDiagnostics = remapDiagnosticsToPatchSource(parseResult.diagnostics, patchLines, patchLineStarts);
66
- const parseErrors = parsedDiagnostics.filter(d => d.severity === "error");
67
- const parseWarnings = parsedDiagnostics.filter(d => d.severity !== "error");
68
- if (parseErrors.length > 0) {
69
- errors.push(...parseErrors);
70
- warnings.push(...parseWarnings);
71
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
72
- return { ops: [], trace, warnings, errors };
73
- }
74
- if (!parseResult.program) {
75
- errors.push({
76
- severity: "error",
77
- code: "E_PARSE",
78
- message: "Failed to parse MEL patch program",
79
- location: {
80
- start: { line: 1, column: 1, offset: 0 },
81
- end: { line: 1, column: 1, offset: 0 },
82
- },
83
- });
84
- warnings.push(...parseWarnings);
85
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
86
- return { ops: [], trace, warnings, errors };
87
- }
88
- program = parseResult.program;
89
- warnings.push(...parseWarnings);
90
- }
91
- catch (error) {
92
- errors.push({
93
- severity: "error",
94
- code: "E_PARSE",
95
- message: error.message,
96
- location: {
97
- start: { line: 1, column: 1, offset: 0 },
98
- end: { line: 1, column: 1, offset: 0 },
99
- },
100
- });
101
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
102
- return { ops: [], trace, warnings, errors };
103
- }
104
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
105
- // Phase 3: Analyze
106
- const analyzeStart = performance.now();
107
- const collectContext = {
108
- actionName: options.actionName,
109
- onceCounter: 0,
110
- onceIntentCounter: 0,
111
- whenCounter: 0,
112
- };
113
- const action = program.domain.members.find((member) => member.kind === "action" && member.name === SYNTHETIC_ACTION);
114
- if (!action) {
115
- errors.push({
116
- severity: "error",
117
- code: "E_ANALYZE",
118
- message: `Synthetic patch action '${SYNTHETIC_ACTION}' not found during parsing`,
119
- location: {
120
- start: { line: 1, column: 1, offset: 0 },
121
- end: { line: 1, column: 1, offset: 0 },
122
- },
123
- });
124
- trace.push({ phase: "analyze", durationMs: performance.now() - analyzeStart });
125
- return { ops: [], trace, warnings, errors };
126
- }
127
- const expectedActionEndLine = patchLines.length + SYNTHETIC_PATCH_PREFIX_LINES + 2;
128
- if (action.location.end.line !== expectedActionEndLine) {
129
- errors.push({
130
- severity: "error",
131
- code: "E_PATCH_WRAPPER",
132
- message: `Malformed synthetic patch wrapper for action '${SYNTHETIC_ACTION}'.`,
133
- location: mapLocation(action.location),
134
- });
135
- trace.push({ phase: "analyze", durationMs: performance.now() - analyzeStart });
136
- return { ops: [], trace, warnings, errors };
137
- }
138
- const [patchRoot] = action.body;
139
- if (!patchRoot ||
140
- patchRoot.kind !== "when" ||
141
- !isSyntheticPatchCondition(patchRoot.condition) ||
142
- action.body.length !== 1) {
143
- errors.push({
144
- severity: "error",
145
- code: "E_PATCH_WRAPPER",
146
- message: `Malformed synthetic patch wrapper for action '${SYNTHETIC_ACTION}'.`,
147
- location: mapLocation(action.location),
148
- });
149
- trace.push({ phase: "analyze", durationMs: performance.now() - analyzeStart });
150
- return { ops: [], trace, warnings, errors };
151
- }
152
- const collector = new PatchStatementCollector({
153
- mapLocation,
154
- toMelExpr,
155
- });
156
- const patchStatements = collector.collect(patchRoot.body, errors, collectContext, undefined);
157
- if (errors.length === 0 && melText.trim() !== "" && patchStatements.length === 0) {
158
- errors.push({
159
- severity: "error",
160
- code: "E_PATCH_WRAPPER",
161
- message: "Patch wrapper parsing produced no patch statements. The patch source may be malformed.",
162
- location: mapLocation(patchRoot.location),
163
- });
164
- }
165
- trace.push({
166
- phase: "analyze",
167
- durationMs: performance.now() - analyzeStart,
168
- details: { count: patchStatements.length },
169
- });
170
- if (errors.length > 0) {
171
- return { ops: [], trace, warnings, errors };
172
- }
173
- // Phase 4: Lowering
174
- const lowerStart = performance.now();
175
- const loweringContext = {
176
- mode: "action",
177
- allowSysPaths: options.allowSysPaths ?? { prefixes: ["meta", "input"] },
178
- fnTableVersion: options.fnTableVersion ?? "1.0",
179
- actionName: options.actionName,
180
- };
181
- const loweredOps = [];
182
- for (const patchStatement of patchStatements) {
183
- try {
184
- const melPatch = compilePatchStmtToMelRuntime(patchStatement);
185
- loweredOps.push(lowerRuntimePatch(melPatch, loweringContext));
186
- }
187
- catch (error) {
188
- if (error instanceof LoweringError) {
189
- errors.push({
190
- severity: "error",
191
- code: error.code,
192
- message: error.message,
193
- location: mapLocation(patchStatement.patch.location),
194
- });
195
- }
196
- else if (error instanceof Error) {
197
- errors.push({
198
- severity: "error",
199
- code: "E_LOWER",
200
- message: error.message,
201
- location: mapLocation(patchStatement.patch.location),
202
- });
203
- }
204
- else {
205
- errors.push({
206
- severity: "error",
207
- code: "E_LOWER",
208
- message: "Unknown lowering failure",
209
- location: mapLocation(patchStatement.patch.location),
210
- });
211
- }
212
- }
213
- }
214
- trace.push({
215
- phase: "lower",
216
- durationMs: performance.now() - lowerStart,
217
- details: { count: loweredOps.length },
218
- });
219
- if (errors.length > 0) {
220
- return { ops: [], trace, warnings, errors };
221
- }
222
- return {
223
- ops: loweredOps,
224
- trace,
225
- warnings,
226
- errors,
227
- };
228
- }
229
- function buildSyntheticPatchProgram(melText, actionName) {
230
- const indentedPatchText = melText
231
- .split("\n")
232
- .map((line) => `${SYNTHETIC_PATCH_INDENT}${line}`)
233
- .join("\n");
234
- return [
235
- `domain ${SYNTHETIC_DOMAIN} {`,
236
- ` action ${actionName}() {`,
237
- " when true {",
238
- indentedPatchText,
239
- " }",
240
- " }",
241
- "}",
242
- ].join("\n");
243
- }
244
- //# sourceMappingURL=compile-mel-patch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-mel-patch.js","sourceRoot":"","sources":["../../src/api/compile-mel-patch.ts"],"names":[],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- /**
2
- * MEL Text Ingest API
3
- *
4
- * Compiles MEL text to DomainSchema or RuntimeConditionalPatchOp[].
5
- *
6
- * @see SPEC v0.4.0 §19
7
- */
8
- import type { Diagnostic } from "../diagnostics/types.js";
9
- import type { DomainSchema } from "../generator/ir.js";
10
- import type { RuntimeConditionalPatchOp } from "../lowering/lower-runtime-patch.js";
11
- /**
12
- * Trace entry for compilation steps.
13
- */
14
- export interface CompileTrace {
15
- phase: "lex" | "parse" | "analyze" | "generate" | "lower";
16
- durationMs: number;
17
- details?: Record<string, unknown>;
18
- }
19
- /**
20
- * Domain compilation options.
21
- */
22
- export interface CompileMelDomainOptions {
23
- mode: "domain";
24
- fnTableVersion?: string;
25
- }
26
- /**
27
- * Domain compilation result.
28
- *
29
- * @see SPEC v0.4.0 §19.1
30
- */
31
- export interface CompileMelDomainResult {
32
- /**
33
- * Compiled schema, or null if errors occurred.
34
- */
35
- schema: DomainSchema | null;
36
- /**
37
- * Compilation trace.
38
- */
39
- trace: CompileTrace[];
40
- /**
41
- * Warning diagnostics.
42
- */
43
- warnings: Diagnostic[];
44
- /**
45
- * Error diagnostics.
46
- */
47
- errors: Diagnostic[];
48
- }
49
- /**
50
- * Patch compilation options.
51
- */
52
- export interface CompileMelPatchOptions {
53
- mode: "patch";
54
- /**
55
- * Action name for context.
56
- */
57
- actionName: string;
58
- /**
59
- * Allowed system path prefixes.
60
- * Default: ["meta", "input"] (system is forbidden per §20.3).
61
- */
62
- allowSysPaths?: {
63
- prefixes: ("meta" | "input")[];
64
- };
65
- /**
66
- * Function table version.
67
- */
68
- fnTableVersion?: string;
69
- }
70
- /**
71
- * Patch compilation result.
72
- *
73
- * @see SPEC v0.4.0 §19.2
74
- */
75
- export interface CompileMelPatchResult {
76
- /**
77
- * Compiled patch operations.
78
- * These still contain Core IR expressions that need evaluation.
79
- */
80
- ops: RuntimeConditionalPatchOp[];
81
- /**
82
- * Compilation trace.
83
- */
84
- trace: CompileTrace[];
85
- /**
86
- * Warning diagnostics.
87
- */
88
- warnings: Diagnostic[];
89
- /**
90
- * Error diagnostics.
91
- */
92
- errors: Diagnostic[];
93
- }
94
- /**
95
- * Compile MEL text to DomainSchema.
96
- *
97
- * Takes a complete MEL domain definition and produces a DomainSchema
98
- * suitable for use with core.compute().
99
- *
100
- * @param melText - MEL domain source text
101
- * @param options - Compilation options
102
- * @returns Compilation result with schema or errors
103
- *
104
- * @see SPEC v0.4.0 §19.1
105
- */
106
- export declare function compileMelDomain(melText: string, options?: CompileMelDomainOptions): CompileMelDomainResult;
107
- /**
108
- * Compile MEL patch text to RuntimeConditionalPatchOp[].
109
- *
110
- * Takes MEL patch statements (set, unset, merge) and produces
111
- * RuntimeConditionalPatchOp[] with Core IR expressions.
112
- *
113
- * The returned ops still contain expressions that need to be evaluated
114
- * by evaluateRuntimePatches() to get concrete values.
115
- *
116
- * Constraints:
117
- * - §20.3: $system.* is forbidden in Translator path
118
- *
119
- * @param melText - MEL patch source text
120
- * @param options - Compilation options
121
- * @returns Compilation result with ops or errors
122
- *
123
- * @see SPEC v0.4.0 §19.2
124
- */
125
- export declare function compileMelPatch(melText: string, options: CompileMelPatchOptions): CompileMelPatchResult;
126
- //# sourceMappingURL=compile-mel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-mel.d.ts","sourceRoot":"","sources":["../../src/api/compile-mel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AASpF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5B;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC;IAEnD;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,GAAG,EAAE,yBAAyB,EAAE,CAAC;IAEjC;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,sBAAsB,CAqExB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAEvB"}
@@ -1,114 +0,0 @@
1
- /**
2
- * MEL Text Ingest API
3
- *
4
- * Compiles MEL text to DomainSchema or RuntimeConditionalPatchOp[].
5
- *
6
- * @see SPEC v0.4.0 §19
7
- */
8
- import { tokenize } from "../lexer/index.js";
9
- import { parse } from "../parser/index.js";
10
- import { generate } from "../generator/ir.js";
11
- import { compileMelPatchText } from "./compile-mel-patch.js";
12
- // ============ Main Functions ============
13
- /**
14
- * Compile MEL text to DomainSchema.
15
- *
16
- * Takes a complete MEL domain definition and produces a DomainSchema
17
- * suitable for use with core.compute().
18
- *
19
- * @param melText - MEL domain source text
20
- * @param options - Compilation options
21
- * @returns Compilation result with schema or errors
22
- *
23
- * @see SPEC v0.4.0 §19.1
24
- */
25
- export function compileMelDomain(melText, options) {
26
- const trace = [];
27
- const warnings = [];
28
- const errors = [];
29
- // Phase 1: Lex
30
- const lexStart = performance.now();
31
- let tokens;
32
- try {
33
- const lexResult = tokenize(melText);
34
- tokens = lexResult.tokens;
35
- }
36
- catch (e) {
37
- const error = e;
38
- errors.push({
39
- severity: "error",
40
- code: "E_LEX",
41
- message: error.message,
42
- location: { start: { line: 1, column: 1, offset: 0 }, end: { line: 1, column: 1, offset: 0 } },
43
- });
44
- trace.push({ phase: "lex", durationMs: performance.now() - lexStart });
45
- return { schema: null, trace, warnings, errors };
46
- }
47
- trace.push({ phase: "lex", durationMs: performance.now() - lexStart, details: { tokenCount: tokens.length } });
48
- // Phase 2: Parse
49
- const parseStart = performance.now();
50
- let ast;
51
- try {
52
- const parseResult = parse(tokens);
53
- const parseErrors = parseResult.diagnostics.filter(d => d.severity === "error");
54
- if (parseErrors.length > 0) {
55
- errors.push(...parseErrors);
56
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
57
- return { schema: null, trace, warnings, errors };
58
- }
59
- ast = parseResult.program;
60
- }
61
- catch (e) {
62
- const error = e;
63
- errors.push({
64
- severity: "error",
65
- code: "E_PARSE",
66
- message: error.message,
67
- location: { start: { line: 1, column: 1, offset: 0 }, end: { line: 1, column: 1, offset: 0 } },
68
- });
69
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
70
- return { schema: null, trace, warnings, errors };
71
- }
72
- trace.push({ phase: "parse", durationMs: performance.now() - parseStart });
73
- // Phase 3: Generate IR
74
- const genStart = performance.now();
75
- const genResult = generate(ast);
76
- trace.push({ phase: "generate", durationMs: performance.now() - genStart });
77
- // Separate warnings and errors from generation
78
- for (const diag of genResult.diagnostics) {
79
- if (diag.severity === "warning") {
80
- warnings.push(diag);
81
- }
82
- else {
83
- errors.push(diag);
84
- }
85
- }
86
- return {
87
- schema: genResult.schema,
88
- trace,
89
- warnings,
90
- errors,
91
- };
92
- }
93
- /**
94
- * Compile MEL patch text to RuntimeConditionalPatchOp[].
95
- *
96
- * Takes MEL patch statements (set, unset, merge) and produces
97
- * RuntimeConditionalPatchOp[] with Core IR expressions.
98
- *
99
- * The returned ops still contain expressions that need to be evaluated
100
- * by evaluateRuntimePatches() to get concrete values.
101
- *
102
- * Constraints:
103
- * - §20.3: $system.* is forbidden in Translator path
104
- *
105
- * @param melText - MEL patch source text
106
- * @param options - Compilation options
107
- * @returns Compilation result with ops or errors
108
- *
109
- * @see SPEC v0.4.0 §19.2
110
- */
111
- export function compileMelPatch(melText, options) {
112
- return compileMelPatchText(melText, options);
113
- }
114
- //# sourceMappingURL=compile-mel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-mel.js","sourceRoot":"","sources":["../../src/api/compile-mel.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Compile API
3
- *
4
- * MEL text ingest functions.
5
- *
6
- * @see SPEC v0.4.0 §19
7
- */
8
- export type { CompileTrace, CompileMelDomainOptions, CompileMelDomainResult, CompileMelPatchOptions, CompileMelPatchResult, } from "./compile-mel.js";
9
- export { compileMelDomain, compileMelPatch } from "./compile-mel.js";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/api/index.js DELETED
@@ -1,9 +0,0 @@
1
- /**
2
- * Compile API
3
- *
4
- * MEL text ingest functions.
5
- *
6
- * @see SPEC v0.4.0 §19
7
- */
8
- export { compileMelDomain, compileMelPatch } from "./compile-mel.js";
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * MEL Compiler Diagnostic Codes
3
- * Based on MEL SPEC v0.3.3 Appendix A
4
- */
5
- /**
6
- * Diagnostic code information
7
- */
8
- export interface DiagnosticCode {
9
- code: string;
10
- message: string;
11
- category: "syntax" | "semantic" | "type" | "system";
12
- }
13
- /**
14
- * All diagnostic codes
15
- */
16
- export declare const DIAGNOSTIC_CODES: Record<string, DiagnosticCode>;
17
- /**
18
- * Get diagnostic code information
19
- */
20
- export declare function getDiagnosticInfo(code: string): DiagnosticCode | undefined;
21
- /**
22
- * Format a diagnostic code for display
23
- */
24
- export declare function formatDiagnosticCode(code: string): string;
25
- //# sourceMappingURL=codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAwI3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzD"}