edict-lang 1.2.0 → 1.6.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 (227) hide show
  1. package/README.md +39 -13
  2. package/dist/ast/nodes.d.ts +4 -3
  3. package/dist/ast/nodes.d.ts.map +1 -1
  4. package/dist/ast/nodes.js +1 -0
  5. package/dist/ast/nodes.js.map +1 -1
  6. package/dist/ast/type-constants.d.ts +12 -0
  7. package/dist/ast/type-constants.d.ts.map +1 -0
  8. package/dist/ast/type-constants.js +16 -0
  9. package/dist/ast/type-constants.js.map +1 -0
  10. package/dist/ast/types.d.ts +1 -1
  11. package/dist/ast/types.d.ts.map +1 -1
  12. package/dist/builtins/builtin-enums.d.ts +12 -0
  13. package/dist/builtins/builtin-enums.d.ts.map +1 -0
  14. package/dist/builtins/builtin-enums.js +45 -0
  15. package/dist/builtins/builtin-enums.js.map +1 -0
  16. package/dist/builtins/builtin-types.d.ts +20 -0
  17. package/dist/builtins/builtin-types.d.ts.map +1 -0
  18. package/dist/builtins/builtin-types.js +6 -0
  19. package/dist/builtins/builtin-types.js.map +1 -0
  20. package/dist/builtins/builtins.d.ts +3 -0
  21. package/dist/builtins/builtins.d.ts.map +1 -0
  22. package/dist/builtins/builtins.js +3 -0
  23. package/dist/builtins/builtins.js.map +1 -0
  24. package/dist/builtins/domains/array.d.ts +3 -0
  25. package/dist/builtins/domains/array.d.ts.map +1 -0
  26. package/dist/builtins/domains/array.js +236 -0
  27. package/dist/builtins/domains/array.js.map +1 -0
  28. package/dist/builtins/domains/core.d.ts +3 -0
  29. package/dist/builtins/domains/core.d.ts.map +1 -0
  30. package/dist/builtins/domains/core.js +45 -0
  31. package/dist/builtins/domains/core.js.map +1 -0
  32. package/dist/builtins/domains/crypto.d.ts +3 -0
  33. package/dist/builtins/domains/crypto.d.ts.map +1 -0
  34. package/dist/builtins/domains/crypto.js +49 -0
  35. package/dist/builtins/domains/crypto.js.map +1 -0
  36. package/dist/builtins/domains/datetime.d.ts +3 -0
  37. package/dist/builtins/domains/datetime.d.ts.map +1 -0
  38. package/dist/builtins/domains/datetime.js +45 -0
  39. package/dist/builtins/domains/datetime.js.map +1 -0
  40. package/dist/builtins/domains/http.d.ts +3 -0
  41. package/dist/builtins/domains/http.d.ts.map +1 -0
  42. package/dist/builtins/domains/http.js +55 -0
  43. package/dist/builtins/domains/http.js.map +1 -0
  44. package/dist/builtins/domains/int64.d.ts +3 -0
  45. package/dist/builtins/domains/int64.d.ts.map +1 -0
  46. package/dist/builtins/domains/int64.js +31 -0
  47. package/dist/builtins/domains/int64.js.map +1 -0
  48. package/dist/builtins/domains/io.d.ts +3 -0
  49. package/dist/builtins/domains/io.d.ts.map +1 -0
  50. package/dist/builtins/domains/io.js +79 -0
  51. package/dist/builtins/domains/io.js.map +1 -0
  52. package/dist/builtins/domains/json.d.ts +3 -0
  53. package/dist/builtins/domains/json.d.ts.map +1 -0
  54. package/dist/builtins/domains/json.js +47 -0
  55. package/dist/builtins/domains/json.js.map +1 -0
  56. package/dist/builtins/domains/math.d.ts +3 -0
  57. package/dist/builtins/domains/math.d.ts.map +1 -0
  58. package/dist/builtins/domains/math.js +47 -0
  59. package/dist/builtins/domains/math.js.map +1 -0
  60. package/dist/builtins/domains/option.d.ts +3 -0
  61. package/dist/builtins/domains/option.d.ts.map +1 -0
  62. package/dist/builtins/domains/option.js +56 -0
  63. package/dist/builtins/domains/option.js.map +1 -0
  64. package/dist/builtins/domains/random.d.ts +3 -0
  65. package/dist/builtins/domains/random.d.ts.map +1 -0
  66. package/dist/builtins/domains/random.js +50 -0
  67. package/dist/builtins/domains/random.js.map +1 -0
  68. package/dist/builtins/domains/regex.d.ts +3 -0
  69. package/dist/builtins/domains/regex.d.ts.map +1 -0
  70. package/dist/builtins/domains/regex.js +69 -0
  71. package/dist/builtins/domains/regex.js.map +1 -0
  72. package/dist/builtins/domains/result.d.ts +3 -0
  73. package/dist/builtins/domains/result.d.ts.map +1 -0
  74. package/dist/builtins/domains/result.js +84 -0
  75. package/dist/builtins/domains/result.js.map +1 -0
  76. package/dist/builtins/domains/string.d.ts +3 -0
  77. package/dist/builtins/domains/string.d.ts.map +1 -0
  78. package/dist/builtins/domains/string.js +139 -0
  79. package/dist/builtins/domains/string.js.map +1 -0
  80. package/dist/builtins/domains/type-conversion.d.ts +3 -0
  81. package/dist/builtins/domains/type-conversion.d.ts.map +1 -0
  82. package/dist/builtins/domains/type-conversion.js +42 -0
  83. package/dist/builtins/domains/type-conversion.js.map +1 -0
  84. package/dist/builtins/host-helpers.d.ts +66 -0
  85. package/dist/builtins/host-helpers.d.ts.map +1 -0
  86. package/dist/builtins/host-helpers.js +127 -0
  87. package/dist/builtins/host-helpers.js.map +1 -0
  88. package/dist/builtins/registry.d.ts +48 -0
  89. package/dist/builtins/registry.d.ts.map +1 -0
  90. package/dist/builtins/registry.js +118 -0
  91. package/dist/builtins/registry.js.map +1 -0
  92. package/dist/check.d.ts +9 -2
  93. package/dist/check.d.ts.map +1 -1
  94. package/dist/check.js +30 -9
  95. package/dist/check.js.map +1 -1
  96. package/dist/checker/check.d.ts +18 -1
  97. package/dist/checker/check.d.ts.map +1 -1
  98. package/dist/checker/check.js +157 -108
  99. package/dist/checker/check.js.map +1 -1
  100. package/dist/checker/type-env.d.ts +2 -0
  101. package/dist/checker/type-env.d.ts.map +1 -1
  102. package/dist/checker/type-env.js +9 -0
  103. package/dist/checker/type-env.js.map +1 -1
  104. package/dist/codegen/browser-host-adapter.d.ts +29 -0
  105. package/dist/codegen/browser-host-adapter.d.ts.map +1 -0
  106. package/dist/codegen/browser-host-adapter.js +51 -0
  107. package/dist/codegen/browser-host-adapter.js.map +1 -0
  108. package/dist/codegen/builtins.d.ts +2 -26
  109. package/dist/codegen/builtins.d.ts.map +1 -1
  110. package/dist/codegen/builtins.js +2 -341
  111. package/dist/codegen/builtins.js.map +1 -1
  112. package/dist/codegen/closures.d.ts +17 -0
  113. package/dist/codegen/closures.d.ts.map +1 -0
  114. package/dist/codegen/closures.js +140 -0
  115. package/dist/codegen/closures.js.map +1 -0
  116. package/dist/codegen/codegen.d.ts +6 -30
  117. package/dist/codegen/codegen.d.ts.map +1 -1
  118. package/dist/codegen/codegen.js +154 -1103
  119. package/dist/codegen/codegen.js.map +1 -1
  120. package/dist/codegen/collect-strings.d.ts +4 -0
  121. package/dist/codegen/collect-strings.d.ts.map +1 -0
  122. package/dist/codegen/collect-strings.js +76 -0
  123. package/dist/codegen/collect-strings.js.map +1 -0
  124. package/dist/codegen/compile-calls.d.ts +10 -0
  125. package/dist/codegen/compile-calls.d.ts.map +1 -0
  126. package/dist/codegen/compile-calls.js +374 -0
  127. package/dist/codegen/compile-calls.js.map +1 -0
  128. package/dist/codegen/compile-data.d.ts +22 -0
  129. package/dist/codegen/compile-data.d.ts.map +1 -0
  130. package/dist/codegen/compile-data.js +243 -0
  131. package/dist/codegen/compile-data.js.map +1 -0
  132. package/dist/codegen/compile-expr.d.ts +10 -0
  133. package/dist/codegen/compile-expr.d.ts.map +1 -0
  134. package/dist/codegen/compile-expr.js +156 -0
  135. package/dist/codegen/compile-expr.js.map +1 -0
  136. package/dist/codegen/compile-match.d.ts +7 -0
  137. package/dist/codegen/compile-match.d.ts.map +1 -0
  138. package/dist/codegen/compile-match.js +195 -0
  139. package/dist/codegen/compile-match.js.map +1 -0
  140. package/dist/codegen/compile-scalars.d.ts +25 -0
  141. package/dist/codegen/compile-scalars.d.ts.map +1 -0
  142. package/dist/codegen/compile-scalars.js +211 -0
  143. package/dist/codegen/compile-scalars.js.map +1 -0
  144. package/dist/codegen/hof-generators.d.ts +39 -0
  145. package/dist/codegen/hof-generators.d.ts.map +1 -0
  146. package/dist/codegen/hof-generators.js +336 -0
  147. package/dist/codegen/hof-generators.js.map +1 -0
  148. package/dist/codegen/host-adapter.d.ts +44 -0
  149. package/dist/codegen/host-adapter.d.ts.map +1 -0
  150. package/dist/codegen/host-adapter.js +9 -0
  151. package/dist/codegen/host-adapter.js.map +1 -0
  152. package/dist/codegen/imports.d.ts +15 -0
  153. package/dist/codegen/imports.d.ts.map +1 -0
  154. package/dist/codegen/imports.js +165 -0
  155. package/dist/codegen/imports.js.map +1 -0
  156. package/dist/codegen/node-host-adapter.d.ts +35 -0
  157. package/dist/codegen/node-host-adapter.d.ts.map +1 -0
  158. package/dist/codegen/node-host-adapter.js +155 -0
  159. package/dist/codegen/node-host-adapter.js.map +1 -0
  160. package/dist/codegen/runner.d.ts +36 -2
  161. package/dist/codegen/runner.d.ts.map +1 -1
  162. package/dist/codegen/runner.js +147 -271
  163. package/dist/codegen/runner.js.map +1 -1
  164. package/dist/codegen/types.d.ts +96 -0
  165. package/dist/codegen/types.d.ts.map +1 -0
  166. package/dist/codegen/types.js +63 -0
  167. package/dist/codegen/types.js.map +1 -0
  168. package/dist/compact/expand.d.ts +25 -0
  169. package/dist/compact/expand.d.ts.map +1 -0
  170. package/dist/compact/expand.js +199 -0
  171. package/dist/compact/expand.js.map +1 -0
  172. package/dist/compile.d.ts +2 -1
  173. package/dist/compile.d.ts.map +1 -1
  174. package/dist/compile.js +2 -2
  175. package/dist/compile.js.map +1 -1
  176. package/dist/contracts/translate.js.map +1 -1
  177. package/dist/contracts/verify.d.ts +10 -2
  178. package/dist/contracts/verify.d.ts.map +1 -1
  179. package/dist/contracts/verify.js +26 -21
  180. package/dist/contracts/verify.js.map +1 -1
  181. package/dist/effects/call-graph.d.ts.map +1 -1
  182. package/dist/effects/call-graph.js +27 -4
  183. package/dist/effects/call-graph.js.map +1 -1
  184. package/dist/effects/effect-check.d.ts +10 -2
  185. package/dist/effects/effect-check.d.ts.map +1 -1
  186. package/dist/effects/effect-check.js +12 -7
  187. package/dist/effects/effect-check.js.map +1 -1
  188. package/dist/errors/error-catalog.d.ts +1 -1
  189. package/dist/errors/error-catalog.d.ts.map +1 -1
  190. package/dist/errors/error-catalog.js +119 -0
  191. package/dist/errors/error-catalog.js.map +1 -1
  192. package/dist/errors/structured-errors.d.ts +28 -1
  193. package/dist/errors/structured-errors.d.ts.map +1 -1
  194. package/dist/errors/structured-errors.js +9 -0
  195. package/dist/errors/structured-errors.js.map +1 -1
  196. package/dist/index.d.ts +20 -9
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +26 -10
  199. package/dist/index.js.map +1 -1
  200. package/dist/lint/lint.d.ts +9 -0
  201. package/dist/lint/lint.d.ts.map +1 -0
  202. package/dist/lint/lint.js +354 -0
  203. package/dist/lint/lint.js.map +1 -0
  204. package/dist/lint/warnings.d.ts +54 -0
  205. package/dist/lint/warnings.d.ts.map +1 -0
  206. package/dist/lint/warnings.js +39 -0
  207. package/dist/lint/warnings.js.map +1 -0
  208. package/dist/mcp/create-server.d.ts.map +1 -1
  209. package/dist/mcp/create-server.js +66 -5
  210. package/dist/mcp/create-server.js.map +1 -1
  211. package/dist/mcp/handlers.d.ts +21 -5
  212. package/dist/mcp/handlers.d.ts.map +1 -1
  213. package/dist/mcp/handlers.js +65 -15
  214. package/dist/mcp/handlers.js.map +1 -1
  215. package/dist/mcp/prompts.d.ts +17 -0
  216. package/dist/mcp/prompts.d.ts.map +1 -0
  217. package/dist/mcp/prompts.js +181 -0
  218. package/dist/mcp/prompts.js.map +1 -0
  219. package/dist/mcp/server.js +1 -4
  220. package/dist/mcp/server.js.map +1 -1
  221. package/dist/resolver/resolve.d.ts.map +1 -1
  222. package/dist/resolver/resolve.js +62 -16
  223. package/dist/resolver/resolve.js.map +1 -1
  224. package/dist/validator/node-validators.d.ts.map +1 -1
  225. package/dist/validator/node-validators.js +60 -5
  226. package/dist/validator/node-validators.js.map +1 -1
  227. package/package.json +4 -2
@@ -0,0 +1,39 @@
1
+ // =============================================================================
2
+ // Lint Warnings — Non-blocking quality hints
3
+ // =============================================================================
4
+ // Structured, machine-readable warnings parallel to StructuredError.
5
+ // Each uses `warning` as the discriminator (not `error`), plus `severity: "warning"`.
6
+ // =============================================================================
7
+ // Factory functions
8
+ // =============================================================================
9
+ export function unusedVariable(nodeId, name) {
10
+ return { warning: "unused_variable", severity: "warning", nodeId, name };
11
+ }
12
+ export function unusedImport(nodeId, importModule, unusedNames) {
13
+ return { warning: "unused_import", severity: "warning", nodeId, importModule, unusedNames };
14
+ }
15
+ export function missingContract(nodeId, functionName) {
16
+ return { warning: "missing_contract", severity: "warning", nodeId, functionName };
17
+ }
18
+ export function oversizedFunction(nodeId, functionName, expressionCount, threshold) {
19
+ return { warning: "oversized_function", severity: "warning", nodeId, functionName, expressionCount, threshold };
20
+ }
21
+ export function emptyBody(nodeId, functionName) {
22
+ return { warning: "empty_body", severity: "warning", nodeId, functionName };
23
+ }
24
+ export function redundantEffect(nodeId, functionName, redundantEffects, requiredEffects) {
25
+ return {
26
+ warning: "redundant_effect",
27
+ severity: "warning",
28
+ nodeId,
29
+ functionName,
30
+ redundantEffects,
31
+ requiredEffects,
32
+ suggestion: {
33
+ nodeId,
34
+ field: "effects",
35
+ value: requiredEffects.length > 0 ? requiredEffects : ["pure"],
36
+ },
37
+ };
38
+ }
39
+ //# sourceMappingURL=warnings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/lint/warnings.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAChF,qEAAqE;AACrE,sFAAsF;AAuEtF,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY;IACvD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,MAAc,EACd,YAAoB,EACpB,WAAqB;IAErB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,YAAoB;IAChE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAc,EACd,YAAoB,EACpB,eAAuB,EACvB,SAAiB;IAEjB,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACpH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,YAAoB;IAC1D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,MAAc,EACd,YAAoB,EACpB,gBAA0B,EAC1B,eAAyB;IAEzB,OAAO;QACH,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,SAAS;QACnB,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,UAAU,EAAE;YACR,MAAM;YACN,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACjE;KACJ,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../../src/mcp/create-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBpE,wBAAgB,iBAAiB,IAAI,SAAS,CAoS7C"}
1
+ {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../../src/mcp/create-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BpE,wBAAgB,iBAAiB,IAAI,SAAS,CAqY7C"}
@@ -1,6 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { z } from "zod";
3
- import { handleSchema, handleExamples, handleValidate, handleCheck, handleCompile, handleRun, handleVersion, handlePatch, handleErrorCatalog, } from "./handlers.js";
3
+ import { handleSchema, handleExamples, handleValidate, handleCheck, handleCompile, handleRun, handleVersion, handlePatch, handleErrorCatalog, handleLint, handlePatchSchema, } from "./handlers.js";
4
+ import { promptWriteProgram, promptFixError, promptAddContracts, promptReviewAst, } from "./prompts.js";
4
5
  // =============================================================================
5
6
  // Server setup
6
7
  // =============================================================================
@@ -14,7 +15,7 @@ export function createEdictServer() {
14
15
  // =============================================================================
15
16
  // edict_schema — Return the JSON Schema for EdictModule
16
17
  server.tool("edict_schema", "Return the JSON Schema defining valid Edict AST programs. Use format 'minimal' for reduced token cost (strips descriptions).", {
17
- format: z.enum(["full", "minimal"]).optional().default("full").describe("Schema format: 'full' (default, with descriptions) or 'minimal' (stripped for token efficiency)"),
18
+ format: z.enum(["full", "minimal", "compact"]).optional().default("full").describe("Schema format: 'full' (default, with descriptions), 'minimal' (stripped for token efficiency), or 'compact' (compact key/kind mapping reference)"),
18
19
  }, async ({ format }) => {
19
20
  const result = handleSchema(format);
20
21
  return {
@@ -108,11 +109,15 @@ export function createEdictServer() {
108
109
  }
109
110
  });
110
111
  // edict_run — Run a base64 encoded WASM module and return its output
111
- server.tool("edict_run", "Execute a compiled WebAssembly module (provided as base64) using the Edict runtime host. Returns standard output and exit code.", {
112
+ server.tool("edict_run", "Execute a compiled WebAssembly module (provided as base64) using the Edict runtime host. Returns standard output, exit code, and any sandbox limit errors. Supports optional execution limits (timeout, memory).", {
112
113
  wasmBase64: z.string().describe("The base64 encoded WebAssembly module to execute"),
113
- }, async ({ wasmBase64 }) => {
114
+ limits: z.object({
115
+ timeoutMs: z.number().optional().describe("Max execution time in milliseconds (default: 15000, min: 100)"),
116
+ maxMemoryMb: z.number().optional().describe("Max WASM memory in MB (compile-time limit, default: 1)"),
117
+ }).optional().describe("Optional execution sandbox limits"),
118
+ }, async ({ wasmBase64, limits }) => {
114
119
  try {
115
- const result = await handleRun(wasmBase64);
120
+ const result = await handleRun(wasmBase64, limits);
116
121
  return {
117
122
  content: [
118
123
  {
@@ -171,6 +176,28 @@ export function createEdictServer() {
171
176
  ],
172
177
  };
173
178
  });
179
+ // edict_lint — Run non-blocking quality analysis and return warnings
180
+ server.tool("edict_lint", "Run non-blocking lint analysis on an Edict AST. Returns quality warnings (unused variables, missing contracts, oversized functions, redundant effects, etc.) without blocking compilation. Warnings use the same structured format as errors but with severity: 'warning'.", {
181
+ ast: z.any().describe("The Edict JSON AST to lint"),
182
+ }, async ({ ast }) => {
183
+ const result = handleLint(ast);
184
+ if (!result.ok) {
185
+ return {
186
+ content: [
187
+ { type: "text", text: JSON.stringify({ errors: result.errors }, null, 2) },
188
+ ],
189
+ isError: true,
190
+ };
191
+ }
192
+ return {
193
+ content: [
194
+ {
195
+ type: "text",
196
+ text: JSON.stringify({ warnings: result.warnings, count: result.warnings?.length ?? 0 }, null, 2),
197
+ },
198
+ ],
199
+ };
200
+ });
174
201
  // =============================================================================
175
202
  // Resources
176
203
  // =============================================================================
@@ -231,6 +258,40 @@ export function createEdictServer() {
231
258
  ],
232
259
  };
233
260
  });
261
+ server.resource("schema-patch", "edict://schema/patch", {
262
+ description: "JSON Schema defining the AST diff/patch protocol for the edict_patch tool (replace, insert, delete operations)",
263
+ mimeType: "application/json",
264
+ }, async () => {
265
+ const schema = handlePatchSchema();
266
+ return {
267
+ contents: [
268
+ {
269
+ uri: "edict://schema/patch",
270
+ mimeType: "application/json",
271
+ text: JSON.stringify(schema, null, 2),
272
+ },
273
+ ],
274
+ };
275
+ });
276
+ // =============================================================================
277
+ // Prompts
278
+ // =============================================================================
279
+ server.prompt("write_program", "System prompt for writing a new Edict program from a task description. Includes minimal schema, example, and builtin list.", { task: z.string().describe("Description of what the program should do") }, async ({ task }, _extra) => {
280
+ const result = promptWriteProgram(task);
281
+ return result;
282
+ });
283
+ server.prompt("fix_error", "Prompt for fixing a structured Edict compiler error. Includes error taxonomy and fix strategy.", { error: z.string().describe("The structured error JSON from the compiler") }, async ({ error }, _extra) => {
284
+ const result = promptFixError(error);
285
+ return result;
286
+ });
287
+ server.prompt("add_contracts", "Prompt for adding pre/postcondition contracts to existing Edict functions for Z3 formal verification.", { ast: z.string().describe("The Edict JSON AST to add contracts to") }, async ({ ast }, _extra) => {
288
+ const result = promptAddContracts(ast);
289
+ return result;
290
+ });
291
+ server.prompt("review_ast", "Prompt for reviewing an Edict AST for quality issues (unused variables, missing effects, dead code, etc.).", { ast: z.string().describe("The Edict JSON AST to review") }, async ({ ast }, _extra) => {
292
+ const result = promptReviewAst(ast);
293
+ return result;
294
+ });
234
295
  return server;
235
296
  }
236
297
  //# sourceMappingURL=create-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../src/mcp/create-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../src/mcp/create-server.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import type { StructuredError } from "../errors/structured-errors.js";
1
+ import type { RunLimits } from "../codegen/runner.js";
2
+ import type { StructuredError, AnalysisDiagnostic, VerificationCoverage } from "../errors/structured-errors.js";
2
3
  import { type AstPatch } from "../patch/apply.js";
3
4
  import { type ErrorCatalog } from "../errors/error-catalog.js";
5
+ import type { LintWarning } from "../lint/warnings.js";
4
6
  export interface SchemaResult {
5
7
  schema: unknown;
6
- format: "full" | "minimal";
8
+ format: "full" | "minimal" | "compact";
7
9
  tokenEstimate: number;
8
10
  }
9
11
  export interface ExamplesResult {
@@ -20,16 +22,23 @@ export interface ValidateResult {
20
22
  export interface CheckResult {
21
23
  ok: boolean;
22
24
  errors?: StructuredError[];
25
+ diagnostics?: AnalysisDiagnostic[];
26
+ coverage?: VerificationCoverage;
23
27
  }
24
28
  export interface CompileResult {
25
29
  ok: boolean;
26
30
  wasm?: string;
27
- errors?: StructuredError[] | string[];
31
+ errors?: StructuredError[];
28
32
  }
29
33
  export interface RunResult {
30
34
  output: string;
31
35
  exitCode: number;
32
36
  returnValue?: number;
37
+ error?: "execution_timeout" | "execution_oom";
38
+ limitInfo?: {
39
+ timeoutMs?: number;
40
+ maxMemoryMb?: number;
41
+ };
33
42
  }
34
43
  export interface VersionResult {
35
44
  version: string;
@@ -38,12 +47,12 @@ export interface VersionResult {
38
47
  features: Record<string, boolean>;
39
48
  limits: Record<string, number>;
40
49
  }
41
- export declare function handleSchema(format?: "full" | "minimal"): SchemaResult;
50
+ export declare function handleSchema(format?: "full" | "minimal" | "compact"): SchemaResult;
42
51
  export declare function handleExamples(): ExamplesResult;
43
52
  export declare function handleValidate(ast: unknown): ValidateResult;
44
53
  export declare function handleCheck(ast: unknown): Promise<CheckResult>;
45
54
  export declare function handleCompile(ast: unknown): Promise<CompileResult>;
46
- export declare function handleRun(wasmBase64: string): Promise<RunResult>;
55
+ export declare function handleRun(wasmBase64: string, limits?: RunLimits): Promise<RunResult>;
47
56
  export interface PatchResult {
48
57
  ok: boolean;
49
58
  errors?: StructuredError[];
@@ -51,5 +60,12 @@ export interface PatchResult {
51
60
  }
52
61
  export declare function handlePatch(baseAst: unknown, patches: AstPatch[], returnAst?: boolean): Promise<PatchResult>;
53
62
  export declare function handleErrorCatalog(): ErrorCatalog;
63
+ export declare function handlePatchSchema(): unknown;
54
64
  export declare function handleVersion(): VersionResult;
65
+ export interface LintResult {
66
+ ok: boolean;
67
+ warnings?: LintWarning[];
68
+ errors?: StructuredError[];
69
+ }
70
+ export declare function handleLint(ast: unknown): LintResult;
55
71
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA4ClF,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAMD,wBAAgB,YAAY,CAAC,MAAM,GAAE,MAAM,GAAG,SAAkB,GAAG,YAAY,CAY9E;AAED,wBAAgB,cAAc,IAAI,cAAc,CAG/C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAM3D;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAMpE;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAexE;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQtE;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,WAAW,CAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,QAAQ,EAAE,EACnB,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,WAAW,CAAC,CAkBtB;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED,wBAAgB,aAAa,IAAI,aAAa,CAmB7C"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
@@ -10,23 +10,29 @@ import { validate } from "../validator/validate.js";
10
10
  import { check } from "../check.js";
11
11
  import { compile } from "../codegen/codegen.js";
12
12
  import { run } from "../codegen/runner.js";
13
- import { BUILTIN_FUNCTIONS } from "../codegen/builtins.js";
13
+ import { BUILTIN_FUNCTIONS } from "../builtins/builtins.js";
14
14
  import { applyPatches } from "../patch/apply.js";
15
15
  import { buildErrorCatalog } from "../errors/error-catalog.js";
16
16
  import { stripDescriptions } from "./minimal-schema.js";
17
+ import { lint } from "../lint/lint.js";
18
+ import { expandCompact, compactSchemaReference } from "../compact/expand.js";
17
19
  // =============================================================================
18
20
  // Path resolution (relative to this file, works regardless of cwd)
19
21
  // =============================================================================
20
22
  const __dirname = dirname(fileURLToPath(import.meta.url));
21
23
  const projectRoot = resolve(__dirname, "..", "..");
22
24
  const schemaPath = resolve(projectRoot, "schema", "edict.schema.json");
25
+ const patchSchemaPath = resolve(projectRoot, "schema", "edict-patch.schema.json");
23
26
  const examplesDir = resolve(projectRoot, "examples");
27
+ const packageJsonPath = resolve(projectRoot, "package.json");
24
28
  // =============================================================================
25
29
  // Cached assets (loaded once at startup)
26
30
  // =============================================================================
27
31
  let cachedSchema = null;
28
32
  let cachedMinimalSchema = null;
33
+ let cachedPatchSchema = null;
29
34
  let cachedExamples = null;
35
+ let cachedVersion = null;
30
36
  function loadSchema() {
31
37
  if (!cachedSchema) {
32
38
  cachedSchema = readFileSync(schemaPath, "utf-8");
@@ -49,6 +55,11 @@ function loadExamples() {
49
55
  // Handlers
50
56
  // =============================================================================
51
57
  export function handleSchema(format = "full") {
58
+ if (format === "compact") {
59
+ const ref = compactSchemaReference();
60
+ const text = JSON.stringify(ref);
61
+ return { schema: ref, format: "compact", tokenEstimate: Math.ceil(text.length / 4) };
62
+ }
52
63
  const raw = loadSchema();
53
64
  if (format === "minimal") {
54
65
  if (!cachedMinimalSchema) {
@@ -66,26 +77,37 @@ export function handleExamples() {
66
77
  return { count: examples.length, examples };
67
78
  }
68
79
  export function handleValidate(ast) {
69
- const result = validate(ast);
80
+ const expanded = expandCompact(ast);
81
+ const result = validate(expanded);
70
82
  if (result.ok) {
71
83
  return { ok: true };
72
84
  }
73
85
  return { ok: false, errors: result.errors };
74
86
  }
75
87
  export async function handleCheck(ast) {
76
- const result = await check(ast);
88
+ const expanded = expandCompact(ast);
89
+ const result = await check(expanded);
77
90
  if (result.ok) {
78
- return { ok: true };
91
+ const res = { ok: true };
92
+ if (result.diagnostics && result.diagnostics.length > 0)
93
+ res.diagnostics = result.diagnostics;
94
+ if (result.coverage)
95
+ res.coverage = result.coverage;
96
+ return res;
79
97
  }
80
- return { ok: false, errors: result.errors };
98
+ const res = { ok: false, errors: result.errors };
99
+ if (result.diagnostics && result.diagnostics.length > 0)
100
+ res.diagnostics = result.diagnostics;
101
+ return res;
81
102
  }
82
103
  export async function handleCompile(ast) {
83
- // Full pipeline: check first, then compile
84
- const checkResult = await check(ast);
104
+ // Full pipeline: expand compact format, then check, then compile
105
+ const expanded = expandCompact(ast);
106
+ const checkResult = await check(expanded);
85
107
  if (!checkResult.ok || !checkResult.module) {
86
108
  return { ok: false, errors: checkResult.errors };
87
109
  }
88
- const compileResult = compile(checkResult.module);
110
+ const compileResult = compile(checkResult.module, { typeInfo: checkResult.typeInfo });
89
111
  if (!compileResult.ok) {
90
112
  return { ok: false, errors: compileResult.errors };
91
113
  }
@@ -93,18 +115,26 @@ export async function handleCompile(ast) {
93
115
  const base64 = Buffer.from(compileResult.wasm).toString("base64");
94
116
  return { ok: true, wasm: base64 };
95
117
  }
96
- export async function handleRun(wasmBase64) {
118
+ export async function handleRun(wasmBase64, limits) {
97
119
  const wasmBytes = new Uint8Array(Buffer.from(wasmBase64, "base64"));
98
- const result = await run(wasmBytes);
120
+ const result = await run(wasmBytes, "main", limits);
99
121
  return {
100
122
  output: result.output,
101
123
  exitCode: result.exitCode,
102
124
  returnValue: result.returnValue,
125
+ error: result.error,
126
+ limitInfo: result.limitInfo,
103
127
  };
104
128
  }
105
129
  export async function handlePatch(baseAst, patches, returnAst = false) {
130
+ // Step 0: Expand compact format on base AST and patch values
131
+ const expandedBase = expandCompact(baseAst);
132
+ const expandedPatches = patches.map((p) => ({
133
+ ...p,
134
+ value: p.value !== undefined ? expandCompact(p.value) : p.value,
135
+ }));
106
136
  // Step 1: Apply patches
107
- const patchResult = applyPatches(baseAst, patches);
137
+ const patchResult = applyPatches(expandedBase, expandedPatches);
108
138
  if (!patchResult.ok) {
109
139
  return { ok: false, errors: patchResult.errors };
110
140
  }
@@ -124,11 +154,19 @@ export async function handlePatch(baseAst, patches, returnAst = false) {
124
154
  export function handleErrorCatalog() {
125
155
  return buildErrorCatalog();
126
156
  }
157
+ export function handlePatchSchema() {
158
+ if (!cachedPatchSchema) {
159
+ cachedPatchSchema = JSON.parse(readFileSync(patchSchemaPath, "utf-8"));
160
+ }
161
+ return cachedPatchSchema;
162
+ }
127
163
  export function handleVersion() {
128
- // Note: We could read the version from package.json dynamically,
129
- // but for the MCP server it's safer to hardcode the API version it thinks it serves.
164
+ if (!cachedVersion) {
165
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
166
+ cachedVersion = pkg.version ?? "0.0.0";
167
+ }
130
168
  return {
131
- version: "0.1.0",
169
+ version: cachedVersion,
132
170
  schemaVersion: "1.0",
133
171
  builtins: Array.from(BUILTIN_FUNCTIONS.keys()),
134
172
  features: {
@@ -136,12 +174,24 @@ export function handleVersion() {
136
174
  effects: true,
137
175
  unitTypes: false,
138
176
  multiModule: false,
139
- compactAst: false,
177
+ compactAst: true,
140
178
  },
141
179
  limits: {
142
180
  z3TimeoutMs: 5000,
143
181
  maxModules: 1,
182
+ executionTimeoutMs: 15_000,
183
+ maxMemoryMb: 1,
144
184
  },
145
185
  };
146
186
  }
187
+ export function handleLint(ast) {
188
+ const expanded = expandCompact(ast);
189
+ const validation = validate(expanded);
190
+ if (!validation.ok) {
191
+ return { ok: false, errors: validation.errors };
192
+ }
193
+ const module = expanded;
194
+ const warnings = lint(module);
195
+ return { ok: true, warnings };
196
+ }
147
197
  //# sourceMappingURL=handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface PromptMessage {
2
+ role: "user" | "assistant";
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ };
7
+ }
8
+ export interface PromptResult {
9
+ [key: string]: unknown;
10
+ description?: string;
11
+ messages: PromptMessage[];
12
+ }
13
+ export declare function promptWriteProgram(task: string): PromptResult;
14
+ export declare function promptFixError(errorJson: string): PromptResult;
15
+ export declare function promptAddContracts(astJson: string): PromptResult;
16
+ export declare function promptReviewAst(astJson: string): PromptResult;
17
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC7B;AAmCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAqC7D;AAMD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAiC9D;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA+BhE;AAMD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAmC7D"}