@manifesto-ai/compiler 1.9.0 → 3.0.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 (80) hide show
  1. package/README.md +17 -5
  2. package/dist/analyzer/entity-primitives.d.ts +3 -0
  3. package/dist/analyzer/expr-type-surface.d.ts +21 -0
  4. package/dist/analyzer/flow-composition.d.ts +7 -0
  5. package/dist/analyzer/index.d.ts +5 -0
  6. package/dist/analyzer/scope.d.ts +76 -0
  7. package/dist/analyzer/validator.d.ts +69 -0
  8. package/dist/api/compile-mel-patch-collector.d.ts +33 -0
  9. package/dist/api/compile-mel-patch-expr.d.ts +8 -0
  10. package/dist/api/compile-mel-patch-location.d.ts +9 -0
  11. package/dist/api/compile-mel-patch.d.ts +5 -0
  12. package/dist/api/compile-mel.d.ts +125 -0
  13. package/dist/api/index.d.ts +9 -0
  14. package/dist/{chunk-4JJQCFJH.js → chunk-7TT6Y5ZC.js} +6 -2
  15. package/dist/chunk-7TT6Y5ZC.js.map +1 -0
  16. package/dist/{chunk-AYZTDA3J.js → chunk-LI5HNMZV.js} +2 -2
  17. package/dist/chunk-VAFXIS7J.js +101 -0
  18. package/dist/chunk-VAFXIS7J.js.map +1 -0
  19. package/dist/diagnostics/codes.d.ts +24 -0
  20. package/dist/diagnostics/format.d.ts +25 -0
  21. package/dist/diagnostics/index.d.ts +6 -0
  22. package/dist/diagnostics/types.d.ts +66 -0
  23. package/dist/esbuild.d.ts +6 -8
  24. package/dist/esbuild.js +3 -3
  25. package/dist/esbuild.js.map +1 -1
  26. package/dist/evaluation/context.d.ts +90 -0
  27. package/dist/evaluation/evaluate-expr.d.ts +23 -0
  28. package/dist/evaluation/evaluate-patch.d.ts +122 -0
  29. package/dist/evaluation/evaluate-runtime-patch.d.ts +59 -0
  30. package/dist/evaluation/index.d.ts +14 -0
  31. package/dist/generator/index.d.ts +6 -0
  32. package/dist/generator/ir.d.ts +185 -0
  33. package/dist/generator/lowering.d.ts +10 -0
  34. package/dist/generator/normalizer.d.ts +15 -0
  35. package/dist/generator/runtime-lowering.d.ts +2 -0
  36. package/dist/index.d.ts +19 -2785
  37. package/dist/index.js +1 -1
  38. package/dist/lexer/index.d.ts +6 -0
  39. package/dist/lexer/lexer.d.ts +58 -0
  40. package/dist/lexer/source-location.d.ts +40 -0
  41. package/dist/lexer/tokens.d.ts +46 -0
  42. package/dist/lowering/context.d.ts +95 -0
  43. package/dist/lowering/errors.d.ts +83 -0
  44. package/dist/lowering/index.d.ts +19 -0
  45. package/dist/lowering/lower-expr.d.ts +79 -0
  46. package/dist/lowering/lower-patch.d.ts +230 -0
  47. package/dist/lowering/lower-runtime-patch.d.ts +126 -0
  48. package/dist/lowering/to-mel-expr.d.ts +12 -0
  49. package/dist/mel-module.d.ts +14 -0
  50. package/dist/node-loader.d.ts +3 -7
  51. package/dist/node-loader.js +2 -2
  52. package/dist/parser/ast.d.ts +367 -0
  53. package/dist/parser/index.d.ts +6 -0
  54. package/dist/parser/parser.d.ts +101 -0
  55. package/dist/parser/precedence.d.ts +43 -0
  56. package/dist/renderer/expr-node.d.ts +171 -0
  57. package/dist/renderer/fragment.d.ts +83 -0
  58. package/dist/renderer/index.d.ts +22 -0
  59. package/dist/renderer/patch-op.d.ts +81 -0
  60. package/dist/renderer/type-expr.d.ts +60 -0
  61. package/dist/rollup.d.ts +6 -8
  62. package/dist/rollup.js +3 -3
  63. package/dist/rollup.js.map +1 -1
  64. package/dist/rspack.d.ts +6 -7
  65. package/dist/rspack.js +3 -3
  66. package/dist/rspack.js.map +1 -1
  67. package/dist/unplugin.d.ts +19 -0
  68. package/dist/utils/unicode-order.d.ts +5 -0
  69. package/dist/vite.d.ts +6 -8
  70. package/dist/vite.js +3 -3
  71. package/dist/vite.js.map +1 -1
  72. package/dist/webpack.d.ts +6 -8
  73. package/dist/webpack.js +3 -3
  74. package/dist/webpack.js.map +1 -1
  75. package/package.json +12 -17
  76. package/dist/chunk-4JJQCFJH.js.map +0 -1
  77. package/dist/chunk-K4IKHGOP.js +0 -74
  78. package/dist/chunk-K4IKHGOP.js.map +0 -1
  79. package/dist/unplugin-6wnvFiEo.d.ts +0 -17
  80. /package/dist/{chunk-AYZTDA3J.js.map → chunk-LI5HNMZV.js.map} +0 -0
@@ -1,74 +0,0 @@
1
- import {
2
- formatDiagnostic
3
- } from "./chunk-AYZTDA3J.js";
4
- import {
5
- compileMelDomain
6
- } from "./chunk-4JJQCFJH.js";
7
-
8
- // src/unplugin.ts
9
- import { createUnplugin } from "unplugin";
10
- function normalizeId(id) {
11
- return id.split("?", 1)[0];
12
- }
13
- function testRegex(regex, value) {
14
- regex.lastIndex = 0;
15
- return regex.test(value);
16
- }
17
- var unpluginMel = createUnplugin((options = {}) => {
18
- const include = options.include ?? /\.mel$/;
19
- const compiledSchemas = /* @__PURE__ */ new Map();
20
- return {
21
- name: "manifesto:mel",
22
- enforce: "pre",
23
- transformInclude(id) {
24
- return testRegex(include, normalizeId(id));
25
- },
26
- transform(source, id) {
27
- const sourceId = normalizeId(id);
28
- const result = compileMelDomain(source, { mode: "domain" });
29
- if (result.errors.length > 0) {
30
- const details = result.errors.map(formatDiagnostic).join("\n");
31
- throw new Error(`MEL compilation failed for ${sourceId}
32
- ${details}`);
33
- }
34
- if (!result.schema) {
35
- throw new Error(`MEL compilation produced no schema for ${sourceId}`);
36
- }
37
- if (options.codegen) {
38
- compiledSchemas.set(sourceId, result.schema);
39
- }
40
- const serializedSchema = JSON.stringify(result.schema, null, 2);
41
- return `export default ${serializedSchema};
42
- `;
43
- },
44
- async buildEnd() {
45
- if (!options.codegen || compiledSchemas.size === 0) return;
46
- let codegen;
47
- try {
48
- codegen = await import("@manifesto-ai/codegen");
49
- } catch {
50
- console.warn(
51
- "[manifesto:mel] codegen option is enabled but @manifesto-ai/codegen is not installed. Skipping."
52
- );
53
- return;
54
- }
55
- const plugins = options.codegen.plugins ?? [
56
- codegen.createTsPlugin(),
57
- codegen.createZodPlugin()
58
- ];
59
- for (const [sourceId, schema] of compiledSchemas) {
60
- await codegen.generate({
61
- schema,
62
- outDir: options.codegen.outDir,
63
- plugins,
64
- sourceId
65
- });
66
- }
67
- }
68
- };
69
- });
70
-
71
- export {
72
- unpluginMel
73
- };
74
- //# sourceMappingURL=chunk-K4IKHGOP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/unplugin.ts"],"sourcesContent":["/**\n * Unified MEL plugin via unplugin.\n *\n * Single implementation that targets Vite, Webpack, Rollup, esbuild, and Rspack.\n */\n\nimport { createUnplugin } from \"unplugin\";\nimport type { DomainSchema } from \"@manifesto-ai/core\";\nimport { compileMelDomain } from \"./api/index.js\";\nimport { formatDiagnostic } from \"./mel-module.js\";\n\nexport type MelCodegenOptions = {\n readonly outDir: string;\n readonly plugins?: readonly import(\"@manifesto-ai/codegen\").CodegenPlugin[];\n};\n\nexport type MelPluginOptions = {\n readonly include?: RegExp;\n readonly codegen?: MelCodegenOptions | false;\n};\n\nfunction normalizeId(id: string): string {\n return id.split(\"?\", 1)[0];\n}\n\nfunction testRegex(regex: RegExp, value: string): boolean {\n regex.lastIndex = 0;\n return regex.test(value);\n}\n\nexport const unpluginMel = createUnplugin((options: MelPluginOptions = {}) => {\n const include = options.include ?? /\\.mel$/;\n const compiledSchemas = new Map<string, DomainSchema>();\n\n return {\n name: \"manifesto:mel\",\n enforce: \"pre\" as const,\n\n transformInclude(id: string) {\n return testRegex(include, normalizeId(id));\n },\n\n transform(source: string, id: string) {\n const sourceId = normalizeId(id);\n const result = compileMelDomain(source, { mode: \"domain\" });\n\n if (result.errors.length > 0) {\n const details = result.errors.map(formatDiagnostic).join(\"\\n\");\n throw new Error(`MEL compilation failed for ${sourceId}\\n${details}`);\n }\n\n if (!result.schema) {\n throw new Error(`MEL compilation produced no schema for ${sourceId}`);\n }\n\n if (options.codegen) {\n compiledSchemas.set(sourceId, result.schema);\n }\n\n const serializedSchema = JSON.stringify(result.schema, null, 2);\n return `export default ${serializedSchema};\\n`;\n },\n\n async buildEnd() {\n if (!options.codegen || compiledSchemas.size === 0) return;\n\n let codegen: typeof import(\"@manifesto-ai/codegen\");\n try {\n codegen = await import(\"@manifesto-ai/codegen\");\n } catch {\n console.warn(\n \"[manifesto:mel] codegen option is enabled but @manifesto-ai/codegen is not installed. Skipping.\"\n );\n return;\n }\n\n const plugins = options.codegen.plugins ?? [\n codegen.createTsPlugin(),\n codegen.createZodPlugin(),\n ];\n\n for (const [sourceId, schema] of compiledSchemas) {\n await codegen.generate({\n schema,\n outDir: options.codegen.outDir,\n plugins,\n sourceId,\n });\n }\n },\n };\n});\n"],"mappings":";;;;;;;;AAMA,SAAS,sBAAsB;AAe/B,SAAS,YAAY,IAAoB;AACvC,SAAO,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC;AAC3B;AAEA,SAAS,UAAU,OAAe,OAAwB;AACxD,QAAM,YAAY;AAClB,SAAO,MAAM,KAAK,KAAK;AACzB;AAEO,IAAM,cAAc,eAAe,CAAC,UAA4B,CAAC,MAAM;AAC5E,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,kBAAkB,oBAAI,IAA0B;AAEtD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,iBAAiB,IAAY;AAC3B,aAAO,UAAU,SAAS,YAAY,EAAE,CAAC;AAAA,IAC3C;AAAA,IAEA,UAAU,QAAgB,IAAY;AACpC,YAAM,WAAW,YAAY,EAAE;AAC/B,YAAM,SAAS,iBAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,UAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,cAAM,UAAU,OAAO,OAAO,IAAI,gBAAgB,EAAE,KAAK,IAAI;AAC7D,cAAM,IAAI,MAAM,8BAA8B,QAAQ;AAAA,EAAK,OAAO,EAAE;AAAA,MACtE;AAEA,UAAI,CAAC,OAAO,QAAQ;AAClB,cAAM,IAAI,MAAM,0CAA0C,QAAQ,EAAE;AAAA,MACtE;AAEA,UAAI,QAAQ,SAAS;AACnB,wBAAgB,IAAI,UAAU,OAAO,MAAM;AAAA,MAC7C;AAEA,YAAM,mBAAmB,KAAK,UAAU,OAAO,QAAQ,MAAM,CAAC;AAC9D,aAAO,kBAAkB,gBAAgB;AAAA;AAAA,IAC3C;AAAA,IAEA,MAAM,WAAW;AACf,UAAI,CAAC,QAAQ,WAAW,gBAAgB,SAAS,EAAG;AAEpD,UAAI;AACJ,UAAI;AACF,kBAAU,MAAM,OAAO,uBAAuB;AAAA,MAChD,QAAQ;AACN,gBAAQ;AAAA,UACN;AAAA,QACF;AACA;AAAA,MACF;AAEA,YAAM,UAAU,QAAQ,QAAQ,WAAW;AAAA,QACzC,QAAQ,eAAe;AAAA,QACvB,QAAQ,gBAAgB;AAAA,MAC1B;AAEA,iBAAW,CAAC,UAAU,MAAM,KAAK,iBAAiB;AAChD,cAAM,QAAQ,SAAS;AAAA,UACrB;AAAA,UACA,QAAQ,QAAQ,QAAQ;AAAA,UACxB;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,17 +0,0 @@
1
- import * as _manifesto_ai_codegen from '@manifesto-ai/codegen';
2
-
3
- /**
4
- * Unified MEL plugin via unplugin.
5
- *
6
- * Single implementation that targets Vite, Webpack, Rollup, esbuild, and Rspack.
7
- */
8
- type MelCodegenOptions = {
9
- readonly outDir: string;
10
- readonly plugins?: readonly _manifesto_ai_codegen.CodegenPlugin[];
11
- };
12
- type MelPluginOptions = {
13
- readonly include?: RegExp;
14
- readonly codegen?: MelCodegenOptions | false;
15
- };
16
-
17
- export type { MelPluginOptions as M, MelCodegenOptions as a };