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.
- package/README.md +39 -13
- package/dist/ast/nodes.d.ts +4 -3
- package/dist/ast/nodes.d.ts.map +1 -1
- package/dist/ast/nodes.js +1 -0
- package/dist/ast/nodes.js.map +1 -1
- package/dist/ast/type-constants.d.ts +12 -0
- package/dist/ast/type-constants.d.ts.map +1 -0
- package/dist/ast/type-constants.js +16 -0
- package/dist/ast/type-constants.js.map +1 -0
- package/dist/ast/types.d.ts +1 -1
- package/dist/ast/types.d.ts.map +1 -1
- package/dist/builtins/builtin-enums.d.ts +12 -0
- package/dist/builtins/builtin-enums.d.ts.map +1 -0
- package/dist/builtins/builtin-enums.js +45 -0
- package/dist/builtins/builtin-enums.js.map +1 -0
- package/dist/builtins/builtin-types.d.ts +20 -0
- package/dist/builtins/builtin-types.d.ts.map +1 -0
- package/dist/builtins/builtin-types.js +6 -0
- package/dist/builtins/builtin-types.js.map +1 -0
- package/dist/builtins/builtins.d.ts +3 -0
- package/dist/builtins/builtins.d.ts.map +1 -0
- package/dist/builtins/builtins.js +3 -0
- package/dist/builtins/builtins.js.map +1 -0
- package/dist/builtins/domains/array.d.ts +3 -0
- package/dist/builtins/domains/array.d.ts.map +1 -0
- package/dist/builtins/domains/array.js +236 -0
- package/dist/builtins/domains/array.js.map +1 -0
- package/dist/builtins/domains/core.d.ts +3 -0
- package/dist/builtins/domains/core.d.ts.map +1 -0
- package/dist/builtins/domains/core.js +45 -0
- package/dist/builtins/domains/core.js.map +1 -0
- package/dist/builtins/domains/crypto.d.ts +3 -0
- package/dist/builtins/domains/crypto.d.ts.map +1 -0
- package/dist/builtins/domains/crypto.js +49 -0
- package/dist/builtins/domains/crypto.js.map +1 -0
- package/dist/builtins/domains/datetime.d.ts +3 -0
- package/dist/builtins/domains/datetime.d.ts.map +1 -0
- package/dist/builtins/domains/datetime.js +45 -0
- package/dist/builtins/domains/datetime.js.map +1 -0
- package/dist/builtins/domains/http.d.ts +3 -0
- package/dist/builtins/domains/http.d.ts.map +1 -0
- package/dist/builtins/domains/http.js +55 -0
- package/dist/builtins/domains/http.js.map +1 -0
- package/dist/builtins/domains/int64.d.ts +3 -0
- package/dist/builtins/domains/int64.d.ts.map +1 -0
- package/dist/builtins/domains/int64.js +31 -0
- package/dist/builtins/domains/int64.js.map +1 -0
- package/dist/builtins/domains/io.d.ts +3 -0
- package/dist/builtins/domains/io.d.ts.map +1 -0
- package/dist/builtins/domains/io.js +79 -0
- package/dist/builtins/domains/io.js.map +1 -0
- package/dist/builtins/domains/json.d.ts +3 -0
- package/dist/builtins/domains/json.d.ts.map +1 -0
- package/dist/builtins/domains/json.js +47 -0
- package/dist/builtins/domains/json.js.map +1 -0
- package/dist/builtins/domains/math.d.ts +3 -0
- package/dist/builtins/domains/math.d.ts.map +1 -0
- package/dist/builtins/domains/math.js +47 -0
- package/dist/builtins/domains/math.js.map +1 -0
- package/dist/builtins/domains/option.d.ts +3 -0
- package/dist/builtins/domains/option.d.ts.map +1 -0
- package/dist/builtins/domains/option.js +56 -0
- package/dist/builtins/domains/option.js.map +1 -0
- package/dist/builtins/domains/random.d.ts +3 -0
- package/dist/builtins/domains/random.d.ts.map +1 -0
- package/dist/builtins/domains/random.js +50 -0
- package/dist/builtins/domains/random.js.map +1 -0
- package/dist/builtins/domains/regex.d.ts +3 -0
- package/dist/builtins/domains/regex.d.ts.map +1 -0
- package/dist/builtins/domains/regex.js +69 -0
- package/dist/builtins/domains/regex.js.map +1 -0
- package/dist/builtins/domains/result.d.ts +3 -0
- package/dist/builtins/domains/result.d.ts.map +1 -0
- package/dist/builtins/domains/result.js +84 -0
- package/dist/builtins/domains/result.js.map +1 -0
- package/dist/builtins/domains/string.d.ts +3 -0
- package/dist/builtins/domains/string.d.ts.map +1 -0
- package/dist/builtins/domains/string.js +139 -0
- package/dist/builtins/domains/string.js.map +1 -0
- package/dist/builtins/domains/type-conversion.d.ts +3 -0
- package/dist/builtins/domains/type-conversion.d.ts.map +1 -0
- package/dist/builtins/domains/type-conversion.js +42 -0
- package/dist/builtins/domains/type-conversion.js.map +1 -0
- package/dist/builtins/host-helpers.d.ts +66 -0
- package/dist/builtins/host-helpers.d.ts.map +1 -0
- package/dist/builtins/host-helpers.js +127 -0
- package/dist/builtins/host-helpers.js.map +1 -0
- package/dist/builtins/registry.d.ts +48 -0
- package/dist/builtins/registry.d.ts.map +1 -0
- package/dist/builtins/registry.js +118 -0
- package/dist/builtins/registry.js.map +1 -0
- package/dist/check.d.ts +9 -2
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +30 -9
- package/dist/check.js.map +1 -1
- package/dist/checker/check.d.ts +18 -1
- package/dist/checker/check.d.ts.map +1 -1
- package/dist/checker/check.js +157 -108
- package/dist/checker/check.js.map +1 -1
- package/dist/checker/type-env.d.ts +2 -0
- package/dist/checker/type-env.d.ts.map +1 -1
- package/dist/checker/type-env.js +9 -0
- package/dist/checker/type-env.js.map +1 -1
- package/dist/codegen/browser-host-adapter.d.ts +29 -0
- package/dist/codegen/browser-host-adapter.d.ts.map +1 -0
- package/dist/codegen/browser-host-adapter.js +51 -0
- package/dist/codegen/browser-host-adapter.js.map +1 -0
- package/dist/codegen/builtins.d.ts +2 -26
- package/dist/codegen/builtins.d.ts.map +1 -1
- package/dist/codegen/builtins.js +2 -341
- package/dist/codegen/builtins.js.map +1 -1
- package/dist/codegen/closures.d.ts +17 -0
- package/dist/codegen/closures.d.ts.map +1 -0
- package/dist/codegen/closures.js +140 -0
- package/dist/codegen/closures.js.map +1 -0
- package/dist/codegen/codegen.d.ts +6 -30
- package/dist/codegen/codegen.d.ts.map +1 -1
- package/dist/codegen/codegen.js +154 -1103
- package/dist/codegen/codegen.js.map +1 -1
- package/dist/codegen/collect-strings.d.ts +4 -0
- package/dist/codegen/collect-strings.d.ts.map +1 -0
- package/dist/codegen/collect-strings.js +76 -0
- package/dist/codegen/collect-strings.js.map +1 -0
- package/dist/codegen/compile-calls.d.ts +10 -0
- package/dist/codegen/compile-calls.d.ts.map +1 -0
- package/dist/codegen/compile-calls.js +374 -0
- package/dist/codegen/compile-calls.js.map +1 -0
- package/dist/codegen/compile-data.d.ts +22 -0
- package/dist/codegen/compile-data.d.ts.map +1 -0
- package/dist/codegen/compile-data.js +243 -0
- package/dist/codegen/compile-data.js.map +1 -0
- package/dist/codegen/compile-expr.d.ts +10 -0
- package/dist/codegen/compile-expr.d.ts.map +1 -0
- package/dist/codegen/compile-expr.js +156 -0
- package/dist/codegen/compile-expr.js.map +1 -0
- package/dist/codegen/compile-match.d.ts +7 -0
- package/dist/codegen/compile-match.d.ts.map +1 -0
- package/dist/codegen/compile-match.js +195 -0
- package/dist/codegen/compile-match.js.map +1 -0
- package/dist/codegen/compile-scalars.d.ts +25 -0
- package/dist/codegen/compile-scalars.d.ts.map +1 -0
- package/dist/codegen/compile-scalars.js +211 -0
- package/dist/codegen/compile-scalars.js.map +1 -0
- package/dist/codegen/hof-generators.d.ts +39 -0
- package/dist/codegen/hof-generators.d.ts.map +1 -0
- package/dist/codegen/hof-generators.js +336 -0
- package/dist/codegen/hof-generators.js.map +1 -0
- package/dist/codegen/host-adapter.d.ts +44 -0
- package/dist/codegen/host-adapter.d.ts.map +1 -0
- package/dist/codegen/host-adapter.js +9 -0
- package/dist/codegen/host-adapter.js.map +1 -0
- package/dist/codegen/imports.d.ts +15 -0
- package/dist/codegen/imports.d.ts.map +1 -0
- package/dist/codegen/imports.js +165 -0
- package/dist/codegen/imports.js.map +1 -0
- package/dist/codegen/node-host-adapter.d.ts +35 -0
- package/dist/codegen/node-host-adapter.d.ts.map +1 -0
- package/dist/codegen/node-host-adapter.js +155 -0
- package/dist/codegen/node-host-adapter.js.map +1 -0
- package/dist/codegen/runner.d.ts +36 -2
- package/dist/codegen/runner.d.ts.map +1 -1
- package/dist/codegen/runner.js +147 -271
- package/dist/codegen/runner.js.map +1 -1
- package/dist/codegen/types.d.ts +96 -0
- package/dist/codegen/types.d.ts.map +1 -0
- package/dist/codegen/types.js +63 -0
- package/dist/codegen/types.js.map +1 -0
- package/dist/compact/expand.d.ts +25 -0
- package/dist/compact/expand.d.ts.map +1 -0
- package/dist/compact/expand.js +199 -0
- package/dist/compact/expand.js.map +1 -0
- package/dist/compile.d.ts +2 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +2 -2
- package/dist/compile.js.map +1 -1
- package/dist/contracts/translate.js.map +1 -1
- package/dist/contracts/verify.d.ts +10 -2
- package/dist/contracts/verify.d.ts.map +1 -1
- package/dist/contracts/verify.js +26 -21
- package/dist/contracts/verify.js.map +1 -1
- package/dist/effects/call-graph.d.ts.map +1 -1
- package/dist/effects/call-graph.js +27 -4
- package/dist/effects/call-graph.js.map +1 -1
- package/dist/effects/effect-check.d.ts +10 -2
- package/dist/effects/effect-check.d.ts.map +1 -1
- package/dist/effects/effect-check.js +12 -7
- package/dist/effects/effect-check.js.map +1 -1
- package/dist/errors/error-catalog.d.ts +1 -1
- package/dist/errors/error-catalog.d.ts.map +1 -1
- package/dist/errors/error-catalog.js +119 -0
- package/dist/errors/error-catalog.js.map +1 -1
- package/dist/errors/structured-errors.d.ts +28 -1
- package/dist/errors/structured-errors.d.ts.map +1 -1
- package/dist/errors/structured-errors.js +9 -0
- package/dist/errors/structured-errors.js.map +1 -1
- package/dist/index.d.ts +20 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -10
- package/dist/index.js.map +1 -1
- package/dist/lint/lint.d.ts +9 -0
- package/dist/lint/lint.d.ts.map +1 -0
- package/dist/lint/lint.js +354 -0
- package/dist/lint/lint.js.map +1 -0
- package/dist/lint/warnings.d.ts +54 -0
- package/dist/lint/warnings.d.ts.map +1 -0
- package/dist/lint/warnings.js +39 -0
- package/dist/lint/warnings.js.map +1 -0
- package/dist/mcp/create-server.d.ts.map +1 -1
- package/dist/mcp/create-server.js +66 -5
- package/dist/mcp/create-server.js.map +1 -1
- package/dist/mcp/handlers.d.ts +21 -5
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +65 -15
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/prompts.d.ts +17 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +181 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/server.js +1 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/resolver/resolve.d.ts.map +1 -1
- package/dist/resolver/resolve.js +62 -16
- package/dist/resolver/resolve.js.map +1 -1
- package/dist/validator/node-validators.d.ts.map +1 -1
- package/dist/validator/node-validators.js +60 -5
- package/dist/validator/node-validators.js.map +1 -1
- 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;
|
|
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)
|
|
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
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACH,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../src/mcp/create-server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/handlers.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type {
|
|
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[]
|
|
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":"
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/handlers.js
CHANGED
|
@@ -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 "../
|
|
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
|
|
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
|
|
88
|
+
const expanded = expandCompact(ast);
|
|
89
|
+
const result = await check(expanded);
|
|
77
90
|
if (result.ok) {
|
|
78
|
-
|
|
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
|
-
|
|
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:
|
|
84
|
-
const
|
|
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(
|
|
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
|
-
|
|
129
|
-
|
|
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:
|
|
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:
|
|
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
|
package/dist/mcp/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6DAA6D;AAC7D,gFAAgF;AAChF,sEAAsE;AACtE,6CAA6C;AAE7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;
|
|
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"}
|