@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,154 +0,0 @@
1
- /**
2
- * MEL Compiler Diagnostic Codes
3
- * Based on MEL SPEC v0.3.3 Appendix A
4
- */
5
- /**
6
- * All diagnostic codes
7
- */
8
- export const DIAGNOSTIC_CODES = {
9
- // ============ Syntax Errors (E0xx) ============
10
- E001: {
11
- code: "E001",
12
- message: "$system.* cannot be used in computed expressions (non-deterministic)",
13
- category: "semantic",
14
- },
15
- E002: {
16
- code: "E002",
17
- message: "$system.* cannot be used in state initializers",
18
- category: "semantic",
19
- },
20
- E003: {
21
- code: "E003",
22
- message: "Invalid $system reference",
23
- category: "semantic",
24
- },
25
- E004: {
26
- code: "E004",
27
- message: "Identifier starts with reserved prefix '__sys__'",
28
- category: "syntax",
29
- },
30
- // ============ v0.3.3 Errors (E0xx) ============
31
- E005: {
32
- code: "E005",
33
- message: "available expression must be pure (no Effects, no $system.*)",
34
- category: "semantic",
35
- },
36
- E006: {
37
- code: "E006",
38
- message: "fail must be inside a guard (when or once)",
39
- category: "semantic",
40
- },
41
- E007: {
42
- code: "E007",
43
- message: "stop must be inside a guard (when or once)",
44
- category: "semantic",
45
- },
46
- E008: {
47
- code: "E008",
48
- message: "stop message suggests waiting/pending - use 'Already processed' style instead",
49
- category: "semantic",
50
- },
51
- E009: {
52
- code: "E009",
53
- message: "Primitive aggregation (sum, min, max) only allowed in computed",
54
- category: "semantic",
55
- },
56
- E010: {
57
- code: "E010",
58
- message: "Primitive aggregation does not allow composition - use direct reference only",
59
- category: "semantic",
60
- },
61
- E011: {
62
- code: "E011",
63
- message: "reduce/fold/scan is forbidden - use sum, min, max for aggregation",
64
- category: "semantic",
65
- },
66
- // ============ Scope Errors (E1xx) ============
67
- E_UNDEFINED: {
68
- code: "E_UNDEFINED",
69
- message: "Undefined identifier",
70
- category: "semantic",
71
- },
72
- E_DUPLICATE: {
73
- code: "E_DUPLICATE",
74
- message: "Duplicate identifier",
75
- category: "semantic",
76
- },
77
- E_INVALID_ACCESS: {
78
- code: "E_INVALID_ACCESS",
79
- message: "Invalid access to identifier in this context",
80
- category: "semantic",
81
- },
82
- // ============ Statement Errors (E2xx) ============
83
- E_UNGUARDED_STMT: {
84
- code: "E_UNGUARDED_STMT",
85
- message: "Statement must be inside a guard (when or once)",
86
- category: "semantic",
87
- },
88
- E_UNGUARDED_PATCH: {
89
- code: "E_UNGUARDED_PATCH",
90
- message: "Patch must be inside a guard",
91
- category: "semantic",
92
- },
93
- E_UNGUARDED_EFFECT: {
94
- code: "E_UNGUARDED_EFFECT",
95
- message: "Effect must be inside a guard",
96
- category: "semantic",
97
- },
98
- // ============ Type Errors (E3xx) ============
99
- E_ARG_COUNT: {
100
- code: "E_ARG_COUNT",
101
- message: "Wrong number of arguments",
102
- category: "type",
103
- },
104
- E_TYPE_MISMATCH: {
105
- code: "E_TYPE_MISMATCH",
106
- message: "Type mismatch",
107
- category: "type",
108
- },
109
- // ============ Warnings (W0xx) ============
110
- W_NON_BOOL_COND: {
111
- code: "W_NON_BOOL_COND",
112
- message: "Condition may not be boolean",
113
- category: "semantic",
114
- },
115
- W_UNUSED: {
116
- code: "W_UNUSED",
117
- message: "Unused identifier",
118
- category: "semantic",
119
- },
120
- W012: {
121
- code: "W012",
122
- message: "Anonymous object type in state field - use named type declaration instead",
123
- category: "type",
124
- },
125
- // ============ Lexer Errors ============
126
- MEL_LEXER: {
127
- code: "MEL_LEXER",
128
- message: "Lexer error",
129
- category: "syntax",
130
- },
131
- // ============ Parser Errors ============
132
- MEL_PARSER: {
133
- code: "MEL_PARSER",
134
- message: "Parser error",
135
- category: "syntax",
136
- },
137
- };
138
- /**
139
- * Get diagnostic code information
140
- */
141
- export function getDiagnosticInfo(code) {
142
- return DIAGNOSTIC_CODES[code];
143
- }
144
- /**
145
- * Format a diagnostic code for display
146
- */
147
- export function formatDiagnosticCode(code) {
148
- const info = DIAGNOSTIC_CODES[code];
149
- if (info) {
150
- return `${code}: ${info.message}`;
151
- }
152
- return code;
153
- }
154
- //# sourceMappingURL=codes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/diagnostics/codes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Diagnostics Module - Error and warning reporting
3
- */
4
- export * from "./types.js";
5
- export * from "./codes.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Diagnostics Module - Error and warning reporting
3
- */
4
- export * from "./types.js";
5
- export * from "./codes.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Diagnostic Types for MEL Compiler
3
- * Error and warning reporting structures
4
- */
5
- import type { SourceLocation } from "../lexer/source-location.js";
6
- /**
7
- * Severity level of a diagnostic
8
- */
9
- export type DiagnosticSeverity = "error" | "warning" | "info";
10
- /**
11
- * A diagnostic message (error, warning, or info)
12
- */
13
- export interface Diagnostic {
14
- /** Severity level */
15
- severity: DiagnosticSeverity;
16
- /** Error code (e.g., "MEL001", "MEL_LEXER") */
17
- code: string;
18
- /** Human-readable message */
19
- message: string;
20
- /** Location in source */
21
- location: SourceLocation;
22
- /** The source line containing the error */
23
- source?: string;
24
- /** Suggested fix */
25
- suggestion?: string;
26
- /** Related diagnostics */
27
- related?: RelatedDiagnostic[];
28
- }
29
- /**
30
- * A related diagnostic (for multi-location errors)
31
- */
32
- export interface RelatedDiagnostic {
33
- message: string;
34
- location: SourceLocation;
35
- }
36
- /**
37
- * Create an error diagnostic
38
- */
39
- export declare function createError(code: string, message: string, location: SourceLocation, options?: {
40
- source?: string;
41
- suggestion?: string;
42
- related?: RelatedDiagnostic[];
43
- }): Diagnostic;
44
- /**
45
- * Create a warning diagnostic
46
- */
47
- export declare function createWarning(code: string, message: string, location: SourceLocation, options?: {
48
- source?: string;
49
- suggestion?: string;
50
- }): Diagnostic;
51
- /**
52
- * Create an info diagnostic
53
- */
54
- export declare function createInfo(code: string, message: string, location: SourceLocation): Diagnostic;
55
- /**
56
- * Check if a diagnostic is an error
57
- */
58
- export declare function isError(diagnostic: Diagnostic): boolean;
59
- /**
60
- * Check if any diagnostics contain errors
61
- */
62
- export declare function hasErrors(diagnostics: Diagnostic[]): boolean;
63
- /**
64
- * Filter diagnostics by severity
65
- */
66
- export declare function filterBySeverity(diagnostics: Diagnostic[], severity: DiagnosticSeverity): Diagnostic[];
67
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qBAAqB;IACrB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B,GACA,UAAU,CAQZ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,UAAU,CAQZ;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,GACvB,UAAU,CAOZ;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CAEd"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Diagnostic Types for MEL Compiler
3
- * Error and warning reporting structures
4
- */
5
- /**
6
- * Create an error diagnostic
7
- */
8
- export function createError(code, message, location, options) {
9
- return {
10
- severity: "error",
11
- code,
12
- message,
13
- location,
14
- ...options,
15
- };
16
- }
17
- /**
18
- * Create a warning diagnostic
19
- */
20
- export function createWarning(code, message, location, options) {
21
- return {
22
- severity: "warning",
23
- code,
24
- message,
25
- location,
26
- ...options,
27
- };
28
- }
29
- /**
30
- * Create an info diagnostic
31
- */
32
- export function createInfo(code, message, location) {
33
- return {
34
- severity: "info",
35
- code,
36
- message,
37
- location,
38
- };
39
- }
40
- /**
41
- * Check if a diagnostic is an error
42
- */
43
- export function isError(diagnostic) {
44
- return diagnostic.severity === "error";
45
- }
46
- /**
47
- * Check if any diagnostics contain errors
48
- */
49
- export function hasErrors(diagnostics) {
50
- return diagnostics.some(isError);
51
- }
52
- /**
53
- * Filter diagnostics by severity
54
- */
55
- export function filterBySeverity(diagnostics, severity) {
56
- return diagnostics.filter((d) => d.severity === severity);
57
- }
58
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,OAAe,EACf,QAAwB,EACxB,OAIC;IAED,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,OAAe,EACf,QAAwB,EACxB,OAGC;IAED,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,OAAe,EACf,QAAwB;IAExB,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,IAAI;QACJ,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,UAAsB;IAC5C,OAAO,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,WAAyB;IACjD,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAyB,EACzB,QAA4B;IAE5B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Evaluation Context Types
3
- *
4
- * Defines context for expression evaluation.
5
- *
6
- * @see SPEC v0.4.0 §18.3
7
- */
8
- /**
9
- * Minimal snapshot shape for evaluation.
10
- *
11
- * @see SPEC v0.4.0 §18.7
12
- */
13
- export interface EvaluationSnapshot {
14
- /**
15
- * Domain data (matches StateSpec).
16
- * Path resolution default target.
17
- */
18
- data: unknown;
19
- /**
20
- * Computed values (matches ComputedSpec).
21
- * Accessed via "computed.*" paths.
22
- */
23
- computed: Record<string, unknown>;
24
- }
25
- /**
26
- * Intent metadata for evaluation.
27
- *
28
- * @see SPEC v0.4.0 §18.3
29
- */
30
- export interface EvaluationMeta {
31
- /**
32
- * Intent identifier.
33
- */
34
- intentId: string;
35
- /**
36
- * Actor reference (optional).
37
- */
38
- actor?: {
39
- type: string;
40
- id: string;
41
- };
42
- /**
43
- * Timestamp (optional).
44
- */
45
- timestamp?: number;
46
- }
47
- /**
48
- * Evaluation context.
49
- *
50
- * @see SPEC v0.4.0 §18.3
51
- */
52
- export interface EvaluationContext {
53
- /**
54
- * Current snapshot for state lookups.
55
- * Paths resolve to snapshot.data.* by default.
56
- */
57
- snapshot: EvaluationSnapshot;
58
- /**
59
- * Intent metadata.
60
- * Paths starting with "meta.*" resolve here.
61
- */
62
- meta: EvaluationMeta;
63
- /**
64
- * Intent input.
65
- * Paths starting with "input.*" resolve here.
66
- */
67
- input: Record<string, unknown>;
68
- /**
69
- * Current $item value (for effect.args evaluation).
70
- * Paths starting with "$item.*" resolve here.
71
- */
72
- item?: unknown;
73
- }
74
- /**
75
- * Create a minimal evaluation context.
76
- *
77
- * @param options - Context options
78
- * @returns Evaluation context
79
- */
80
- export declare function createEvaluationContext(options: Partial<EvaluationContext> & {
81
- meta: EvaluationMeta;
82
- }): EvaluationContext;
83
- /**
84
- * Create a working snapshot by cloning and applying a patch.
85
- *
86
- * Used for sequential evaluation semantics.
87
- *
88
- * @see FDR-MEL-070
89
- */
90
- export declare function applyPatchToWorkingSnapshot(snapshot: EvaluationSnapshot, path: string, value: unknown): EvaluationSnapshot;
91
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/evaluation/context.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,QAAQ,EAAE,kBAAkB,CAAC;IAE7B;;;OAGG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GAC7D,iBAAiB,CAOnB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,kBAAkB,CAWpB"}
@@ -1,53 +0,0 @@
1
- import { parsePath } from "@manifesto-ai/core";
2
- /**
3
- * Create a minimal evaluation context.
4
- *
5
- * @param options - Context options
6
- * @returns Evaluation context
7
- */
8
- export function createEvaluationContext(options) {
9
- return {
10
- snapshot: options.snapshot ?? { data: {}, computed: {} },
11
- meta: options.meta,
12
- input: options.input ?? {},
13
- item: options.item,
14
- };
15
- }
16
- /**
17
- * Create a working snapshot by cloning and applying a patch.
18
- *
19
- * Used for sequential evaluation semantics.
20
- *
21
- * @see FDR-MEL-070
22
- */
23
- export function applyPatchToWorkingSnapshot(snapshot, path, value) {
24
- // Deep clone data
25
- const newData = structuredClone(snapshot.data);
26
- // Apply patch at path
27
- setValueAtPath(newData, path, value);
28
- return {
29
- data: newData,
30
- computed: snapshot.computed,
31
- };
32
- }
33
- /**
34
- * Set value at a dot-separated path.
35
- *
36
- * @param obj - Target object
37
- * @param path - Dot-separated path (e.g., "user.name")
38
- * @param value - Value to set
39
- */
40
- function setValueAtPath(obj, path, value) {
41
- const parts = parsePath(path);
42
- let current = obj;
43
- for (let i = 0; i < parts.length - 1; i++) {
44
- const part = parts[i];
45
- if (!(part in current) || typeof current[part] !== "object") {
46
- current[part] = {};
47
- }
48
- current = current[part];
49
- }
50
- const lastPart = parts[parts.length - 1];
51
- current[lastPart] = value;
52
- }
53
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/evaluation/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAqF/C;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA8D;IAE9D,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAA4B,EAC5B,IAAY,EACZ,KAAc;IAEd,kBAAkB;IAClB,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAA4B,CAAC;IAE1E,sBAAsB;IACtB,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,GAA4B,EAC5B,IAAY,EACZ,KAAc;IAEd,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,OAAO,GAA4B,GAAG,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAA4B,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Expression Evaluation
3
- *
4
- * Evaluates Core IR expressions against evaluation context.
5
- *
6
- * AXIOM A35: Expression evaluation is total; invalid operations return null, never throw.
7
- *
8
- * @see SPEC v0.4.0 §18
9
- */
10
- import type { ExprNode } from "@manifesto-ai/core";
11
- import type { EvaluationContext } from "./context.js";
12
- /**
13
- * Evaluate a Core IR expression.
14
- *
15
- * Total function: returns null on any error, never throws.
16
- *
17
- * @param expr - Core IR expression
18
- * @param ctx - Evaluation context
19
- * @returns Evaluated value or null on error
20
- *
21
- * @see SPEC v0.4.0 §18.4, A35
22
- */
23
- export declare function evaluateExpr(expr: ExprNode, ctx: EvaluationContext): unknown;
24
- //# sourceMappingURL=evaluate-expr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-expr.d.ts","sourceRoot":"","sources":["../../src/evaluation/evaluate-expr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKtD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAO5E"}