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,181 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// MCP Prompt Templates — Pre-built system prompts for agent bootstrapping
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Each function returns a GetPromptResult-compatible object with messages.
|
|
5
|
+
// Prompts include the minimal schema (token-efficient) and relevant examples
|
|
6
|
+
// so agents can bootstrap themselves with Edict in a single prompt retrieval.
|
|
7
|
+
import { handleSchema, handleExamples, handleVersion } from "./handlers.js";
|
|
8
|
+
import { BUILTIN_FUNCTIONS } from "../builtins/builtins.js";
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Helpers
|
|
11
|
+
// =============================================================================
|
|
12
|
+
function getMinimalSchema() {
|
|
13
|
+
const result = handleSchema("minimal");
|
|
14
|
+
return JSON.stringify(result.schema);
|
|
15
|
+
}
|
|
16
|
+
function getHelloExample() {
|
|
17
|
+
const examples = handleExamples();
|
|
18
|
+
const hello = examples.examples.find((e) => e.name === "hello");
|
|
19
|
+
return hello ? JSON.stringify(hello.ast) : "{}";
|
|
20
|
+
}
|
|
21
|
+
function getContractsExample() {
|
|
22
|
+
const examples = handleExamples();
|
|
23
|
+
const contracts = examples.examples.find((e) => e.name === "contracts");
|
|
24
|
+
return contracts ? JSON.stringify(contracts.ast) : "{}";
|
|
25
|
+
}
|
|
26
|
+
function getBuiltinList() {
|
|
27
|
+
return Array.from(BUILTIN_FUNCTIONS.keys()).join(", ");
|
|
28
|
+
}
|
|
29
|
+
function getEffectsList() {
|
|
30
|
+
return "pure, io, reads, writes, fails";
|
|
31
|
+
}
|
|
32
|
+
// =============================================================================
|
|
33
|
+
// Prompt: write_program
|
|
34
|
+
// =============================================================================
|
|
35
|
+
export function promptWriteProgram(task) {
|
|
36
|
+
const schema = getMinimalSchema();
|
|
37
|
+
const hello = getHelloExample();
|
|
38
|
+
const builtins = getBuiltinList();
|
|
39
|
+
const version = handleVersion();
|
|
40
|
+
return {
|
|
41
|
+
description: "System prompt for writing a new Edict program from scratch",
|
|
42
|
+
messages: [
|
|
43
|
+
{
|
|
44
|
+
role: "user",
|
|
45
|
+
content: {
|
|
46
|
+
type: "text",
|
|
47
|
+
text: [
|
|
48
|
+
"You are writing an Edict program. Edict is a programming language where the programmer is an AI agent. You produce JSON AST directly — there is no text syntax.",
|
|
49
|
+
"",
|
|
50
|
+
"## Rules",
|
|
51
|
+
"1. Output a single JSON object with kind: \"module\"",
|
|
52
|
+
"2. Every node MUST have a unique \"id\" field (format: \"kind-description-NNN\")",
|
|
53
|
+
"3. The module MUST have a \"main\" function that returns Int",
|
|
54
|
+
"4. Use only these effects: " + getEffectsList(),
|
|
55
|
+
"5. Available builtins: " + builtins,
|
|
56
|
+
"6. Schema version: " + version.schemaVersion,
|
|
57
|
+
"",
|
|
58
|
+
"## JSON Schema (minimal)",
|
|
59
|
+
schema,
|
|
60
|
+
"",
|
|
61
|
+
"## Example: Hello World",
|
|
62
|
+
hello,
|
|
63
|
+
"",
|
|
64
|
+
"## Task",
|
|
65
|
+
task,
|
|
66
|
+
].join("\n"),
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// =============================================================================
|
|
73
|
+
// Prompt: fix_error
|
|
74
|
+
// =============================================================================
|
|
75
|
+
export function promptFixError(errorJson) {
|
|
76
|
+
return {
|
|
77
|
+
description: "Prompt for fixing a structured Edict compiler error",
|
|
78
|
+
messages: [
|
|
79
|
+
{
|
|
80
|
+
role: "user",
|
|
81
|
+
content: {
|
|
82
|
+
type: "text",
|
|
83
|
+
text: [
|
|
84
|
+
"You are fixing an Edict compiler error. The error is a structured JSON object from the Edict compiler pipeline.",
|
|
85
|
+
"",
|
|
86
|
+
"## Strategy",
|
|
87
|
+
"1. Read the error's \"error\" field to identify the error type",
|
|
88
|
+
"2. Read \"nodeId\" to locate the offending AST node",
|
|
89
|
+
"3. Read \"expected\" vs \"actual\" (if present) to understand the mismatch",
|
|
90
|
+
"4. Read \"candidates\" (if present) for suggested corrections",
|
|
91
|
+
"5. Read \"fix_suggestions\" (if present) for concrete AST patches",
|
|
92
|
+
"6. Produce a corrected AST or use edict_patch to apply targeted fixes",
|
|
93
|
+
"",
|
|
94
|
+
"## Common error types",
|
|
95
|
+
"- type_mismatch: expected/actual types differ → fix the expression or type annotation",
|
|
96
|
+
"- undefined_reference: name not found → check spelling, use candidates list",
|
|
97
|
+
"- effect_violation: function uses effects not in its declaration → add the missing effect",
|
|
98
|
+
"- contract_failure: pre/postcondition violated → fix the logic or weaken the contract",
|
|
99
|
+
"- duplicate_definition: two definitions share a name → rename one",
|
|
100
|
+
"",
|
|
101
|
+
"## The error to fix",
|
|
102
|
+
errorJson,
|
|
103
|
+
].join("\n"),
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
// =============================================================================
|
|
110
|
+
// Prompt: add_contracts
|
|
111
|
+
// =============================================================================
|
|
112
|
+
export function promptAddContracts(astJson) {
|
|
113
|
+
const contractsExample = getContractsExample();
|
|
114
|
+
return {
|
|
115
|
+
description: "Prompt for adding pre/postcondition contracts to existing Edict functions",
|
|
116
|
+
messages: [
|
|
117
|
+
{
|
|
118
|
+
role: "user",
|
|
119
|
+
content: {
|
|
120
|
+
type: "text",
|
|
121
|
+
text: [
|
|
122
|
+
"You are adding contracts (preconditions and postconditions) to an existing Edict program. Contracts enable Z3 formal verification — the compiler will prove they hold for all inputs.",
|
|
123
|
+
"",
|
|
124
|
+
"## Rules",
|
|
125
|
+
"1. Preconditions (kind: \"pre\") constrain function inputs (reference parameter names)",
|
|
126
|
+
"2. Postconditions (kind: \"post\") constrain function outputs (reference \"result\" for the return value)",
|
|
127
|
+
"3. Every contract node needs a unique \"id\" (format: \"pre-description-NNN\" or \"post-description-NNN\")",
|
|
128
|
+
"4. Contract conditions are expressions that evaluate to Bool",
|
|
129
|
+
"5. Keep contracts provable — simple arithmetic/comparison predicates work best with Z3",
|
|
130
|
+
"6. The \"implies\" operator is useful for conditional postconditions",
|
|
131
|
+
"",
|
|
132
|
+
"## Example: contracts with Z3 verification",
|
|
133
|
+
contractsExample,
|
|
134
|
+
"",
|
|
135
|
+
"## AST to add contracts to",
|
|
136
|
+
astJson,
|
|
137
|
+
].join("\n"),
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// =============================================================================
|
|
144
|
+
// Prompt: review_ast
|
|
145
|
+
// =============================================================================
|
|
146
|
+
export function promptReviewAst(astJson) {
|
|
147
|
+
const builtins = getBuiltinList();
|
|
148
|
+
return {
|
|
149
|
+
description: "Prompt for reviewing an Edict AST for quality issues",
|
|
150
|
+
messages: [
|
|
151
|
+
{
|
|
152
|
+
role: "user",
|
|
153
|
+
content: {
|
|
154
|
+
type: "text",
|
|
155
|
+
text: [
|
|
156
|
+
"You are reviewing an Edict AST for quality issues. Check for potential problems and suggest improvements.",
|
|
157
|
+
"",
|
|
158
|
+
"## Review checklist",
|
|
159
|
+
"1. ID uniqueness: every node must have a unique \"id\" field",
|
|
160
|
+
"2. Effect correctness: functions using IO builtins (print) must declare \"io\" effect",
|
|
161
|
+
"3. Type consistency: literal values match their declared types",
|
|
162
|
+
"4. Dead code: unreachable expressions after returns",
|
|
163
|
+
"5. Missing contracts: public functions without pre/postconditions",
|
|
164
|
+
"6. Unused variables: let bindings that are never referenced",
|
|
165
|
+
"7. Builtin usage: prefer builtins over manual implementations",
|
|
166
|
+
"",
|
|
167
|
+
"## Available builtins",
|
|
168
|
+
builtins,
|
|
169
|
+
"",
|
|
170
|
+
"## Valid effects",
|
|
171
|
+
getEffectsList(),
|
|
172
|
+
"",
|
|
173
|
+
"## AST to review",
|
|
174
|
+
astJson,
|
|
175
|
+
].join("\n"),
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -31,7 +31,6 @@ async function main() {
|
|
|
31
31
|
// Need body parser for Express to handle JSON
|
|
32
32
|
app.use(express.json({ limit: "50mb" }));
|
|
33
33
|
app.post("/mcp", async (req, res) => {
|
|
34
|
-
console.log("POST /mcp body:", req.body, "headers:", req.headers);
|
|
35
34
|
try {
|
|
36
35
|
let transport;
|
|
37
36
|
const sessionId = req.headers["mcp-session-id"];
|
|
@@ -104,9 +103,7 @@ async function main() {
|
|
|
104
103
|
res.status(500).end();
|
|
105
104
|
}
|
|
106
105
|
});
|
|
107
|
-
const serverInstance = app.listen(port
|
|
108
|
-
console.log(`Edict MCP HTTP server listening on port ${port}`);
|
|
109
|
-
});
|
|
106
|
+
const serverInstance = app.listen(port);
|
|
110
107
|
// Graceful shutdown
|
|
111
108
|
process.on("SIGINT", () => {
|
|
112
109
|
serverInstance.close(() => process.exit(0));
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";AACA,gFAAgF;AAChF,oEAAoE;AACpE,gFAAgF;AAChF,mDAAmD;AACnD,oDAAoD;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,aAAa,CAAC;AAIjC,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;IAElF,kEAAkE;IAClE,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxD,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAElC,wCAAwC;QACxC,MAAM,UAAU,GAAkD,EAAE,CAAC;QAErE,8CAA8C;QAC9C,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAoB,EAAE,GAAqB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/resolver/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,WAAW,EAUd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/resolver/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,WAAW,EAUd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAStE;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE,CAuG9D"}
|
package/dist/resolver/resolve.js
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
import { undefinedReference } from "../errors/structured-errors.js";
|
|
7
7
|
import { findCandidates } from "./levenshtein.js";
|
|
8
8
|
import { Scope } from "./scope.js";
|
|
9
|
-
import { BUILTIN_FUNCTIONS } from "../
|
|
9
|
+
import { BUILTIN_FUNCTIONS } from "../builtins/builtins.js";
|
|
10
|
+
import { BUILTIN_ENUMS } from "../builtins/builtin-enums.js";
|
|
11
|
+
import { UNKNOWN_TYPE } from "../ast/type-constants.js";
|
|
10
12
|
/**
|
|
11
13
|
* Entry point: resolve all names in a validated Edict module.
|
|
12
14
|
*/
|
|
@@ -22,20 +24,62 @@ export function resolve(module) {
|
|
|
22
24
|
type: builtin.type,
|
|
23
25
|
});
|
|
24
26
|
}
|
|
27
|
+
// Register built-in enums (Option, Result) so named types and
|
|
28
|
+
// constructor patterns resolve through the full pipeline.
|
|
29
|
+
for (const enumDef of BUILTIN_ENUMS) {
|
|
30
|
+
builtinScope.define(enumDef.name, {
|
|
31
|
+
name: enumDef.name,
|
|
32
|
+
kind: "enum",
|
|
33
|
+
nodeId: enumDef.id,
|
|
34
|
+
definition: enumDef,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
25
37
|
const moduleScope = new Scope(builtinScope);
|
|
26
38
|
// =========================================================================
|
|
27
39
|
// Pass 1 — Register top-level definitions + imports
|
|
28
40
|
// =========================================================================
|
|
29
|
-
// Register imports
|
|
41
|
+
// Register imports — use declared types when available, fall back to opaque
|
|
30
42
|
for (const imp of module.imports) {
|
|
31
43
|
for (const name of imp.names) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
const declaredType = imp.types?.[name];
|
|
45
|
+
if (declaredType && declaredType.kind === "fn_type") {
|
|
46
|
+
// Typed import — register as a function with known signature
|
|
47
|
+
const err = moduleScope.define(name, {
|
|
48
|
+
name,
|
|
49
|
+
kind: "function",
|
|
50
|
+
nodeId: imp.id,
|
|
51
|
+
type: declaredType,
|
|
52
|
+
});
|
|
53
|
+
if (err)
|
|
54
|
+
errors.push(err);
|
|
55
|
+
}
|
|
56
|
+
else if (declaredType) {
|
|
57
|
+
// Non-function typed import — register with declared type
|
|
58
|
+
const err = moduleScope.define(name, {
|
|
59
|
+
name,
|
|
60
|
+
kind: "import",
|
|
61
|
+
nodeId: imp.id,
|
|
62
|
+
type: declaredType,
|
|
63
|
+
});
|
|
64
|
+
if (err)
|
|
65
|
+
errors.push(err);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// Untyped import — opaque (backwards compat)
|
|
69
|
+
const err = moduleScope.define(name, {
|
|
70
|
+
name,
|
|
71
|
+
kind: "import",
|
|
72
|
+
nodeId: imp.id,
|
|
73
|
+
});
|
|
74
|
+
if (err)
|
|
75
|
+
errors.push(err);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Resolve type expressions in declared import types
|
|
79
|
+
if (imp.types) {
|
|
80
|
+
for (const typeExpr of Object.values(imp.types)) {
|
|
81
|
+
resolveTypeExpr(typeExpr, moduleScope, errors);
|
|
82
|
+
}
|
|
39
83
|
}
|
|
40
84
|
}
|
|
41
85
|
// Register definitions
|
|
@@ -81,9 +125,9 @@ function defToSymbolInfo(def) {
|
|
|
81
125
|
nodeId: def.id,
|
|
82
126
|
type: {
|
|
83
127
|
kind: "fn_type",
|
|
84
|
-
params: def.params.map((p) => p.type),
|
|
128
|
+
params: def.params.map((p) => p.type ?? UNKNOWN_TYPE),
|
|
85
129
|
effects: [...def.effects],
|
|
86
|
-
returnType: def.returnType,
|
|
130
|
+
returnType: def.returnType ?? UNKNOWN_TYPE,
|
|
87
131
|
},
|
|
88
132
|
definition: def,
|
|
89
133
|
};
|
|
@@ -114,8 +158,9 @@ function resolveFunctionDef(fn, parentScope, errors) {
|
|
|
114
158
|
for (const param of fn.params) {
|
|
115
159
|
resolveTypeExpr(param.type, parentScope, errors);
|
|
116
160
|
}
|
|
117
|
-
// Resolve return type
|
|
118
|
-
|
|
161
|
+
// Resolve return type (if explicit)
|
|
162
|
+
if (fn.returnType)
|
|
163
|
+
resolveTypeExpr(fn.returnType, parentScope, errors);
|
|
119
164
|
// Resolve contracts
|
|
120
165
|
for (const contract of fn.contracts) {
|
|
121
166
|
resolveContract(contract, fn, bodyScope, errors);
|
|
@@ -131,7 +176,7 @@ function resolveContract(contract, fn, bodyScope, errors) {
|
|
|
131
176
|
name: "result",
|
|
132
177
|
kind: "result",
|
|
133
178
|
nodeId: null,
|
|
134
|
-
type: fn.returnType,
|
|
179
|
+
type: fn.returnType ?? UNKNOWN_TYPE,
|
|
135
180
|
});
|
|
136
181
|
resolveExpression(contract.condition, postScope, errors);
|
|
137
182
|
}
|
|
@@ -318,12 +363,13 @@ function resolveExpression(expr, scope, errors) {
|
|
|
318
363
|
case "lambda": {
|
|
319
364
|
const lamScope = scope.child();
|
|
320
365
|
for (const param of expr.params) {
|
|
321
|
-
|
|
366
|
+
if (param.type)
|
|
367
|
+
resolveTypeExpr(param.type, scope, errors);
|
|
322
368
|
const err = lamScope.define(param.name, {
|
|
323
369
|
name: param.name,
|
|
324
370
|
kind: "param",
|
|
325
371
|
nodeId: param.id,
|
|
326
|
-
type: param.type,
|
|
372
|
+
type: param.type ?? UNKNOWN_TYPE,
|
|
327
373
|
});
|
|
328
374
|
if (err)
|
|
329
375
|
errors.push(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/resolver/resolve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/resolver/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-validators.d.ts","sourceRoot":"","sources":["../../src/validator/node-validators.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAUtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA0JjD,wBAAgB,cAAc,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,SAAS,EAAE,SAAS,GACrB,IAAI,CAuCN;
|
|
1
|
+
{"version":3,"file":"node-validators.d.ts","sourceRoot":"","sources":["../../src/validator/node-validators.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAUtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA0JjD,wBAAgB,cAAc,CAC1B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,SAAS,EAAE,SAAS,GACrB,IAAI,CAuCN;AAucD,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,SAAS,EAAE,SAAS,GACrB,IAAI,CA2CN;AAsKD,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EAAE,EACzB,SAAS,EAAE,SAAS,GACrB,IAAI,CAgEN"}
|
|
@@ -140,11 +140,37 @@ function validateImport(node, path, errors, idTracker) {
|
|
|
140
140
|
trackId(node, path, errors, idTracker);
|
|
141
141
|
requireString(node, "module", path, errors);
|
|
142
142
|
const names = requireArray(node, "names", path, errors);
|
|
143
|
+
const nameSet = new Set();
|
|
143
144
|
if (names) {
|
|
144
145
|
for (let i = 0; i < names.length; i++) {
|
|
145
146
|
if (!isString(names[i])) {
|
|
146
147
|
errors.push(invalidFieldType(`${path}.names[${i}]`, getNodeId(node), `names[${i}]`, "string", typeof names[i]));
|
|
147
148
|
}
|
|
149
|
+
else {
|
|
150
|
+
nameSet.add(names[i]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Optional typed import declarations
|
|
155
|
+
const types = node["types"];
|
|
156
|
+
if (types !== undefined && types !== null) {
|
|
157
|
+
if (!isObject(types)) {
|
|
158
|
+
errors.push(invalidFieldType(path, getNodeId(node), "types", "object", typeof types));
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
for (const [key, value] of Object.entries(types)) {
|
|
162
|
+
// Each key must be a name that appears in `names`
|
|
163
|
+
if (nameSet.size > 0 && !nameSet.has(key)) {
|
|
164
|
+
errors.push(invalidFieldType(`${path}.types.${key}`, getNodeId(node), `types.${key}`, "name from imports.names", `"${key}" (not in names)`));
|
|
165
|
+
}
|
|
166
|
+
// Each value must be a valid type expression
|
|
167
|
+
if (!isObject(value)) {
|
|
168
|
+
errors.push(invalidFieldType(`${path}.types.${key}`, getNodeId(node), `types.${key}`, "object (TypeExpr)", typeof value));
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
validateTypeExpr(value, `${path}.types.${key}`, errors, idTracker);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
148
174
|
}
|
|
149
175
|
}
|
|
150
176
|
}
|
|
@@ -199,10 +225,14 @@ function validateFunctionDef(node, path, errors, idTracker) {
|
|
|
199
225
|
if (effects) {
|
|
200
226
|
validateEffectsArray(effects, path, getNodeId(node), errors);
|
|
201
227
|
}
|
|
202
|
-
// Return type
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
228
|
+
// Return type (optional — inferred from body if omitted)
|
|
229
|
+
if (node["returnType"] !== undefined && node["returnType"] !== null) {
|
|
230
|
+
if (!isObject(node["returnType"])) {
|
|
231
|
+
errors.push(invalidFieldType(path, getNodeId(node), "returnType", "object", typeof node["returnType"]));
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
validateTypeExpr(node["returnType"], `${path}.returnType`, errors, idTracker);
|
|
235
|
+
}
|
|
206
236
|
}
|
|
207
237
|
// Contracts
|
|
208
238
|
const contracts = requireArray(node, "contracts", path, errors);
|
|
@@ -322,6 +352,31 @@ function validateParam(node, path, errors, idTracker) {
|
|
|
322
352
|
validateTypeExpr(type, `${path}.type`, errors, idTracker);
|
|
323
353
|
}
|
|
324
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Like validateParam but `type` is optional (for lambda param type inference).
|
|
357
|
+
*/
|
|
358
|
+
function validateLambdaParam(node, path, errors, idTracker) {
|
|
359
|
+
if (!isObject(node)) {
|
|
360
|
+
errors.push(invalidFieldType(path, null, path, "object", typeof node));
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
const kind = node["kind"];
|
|
364
|
+
if (kind !== "param") {
|
|
365
|
+
errors.push(unknownNodeKind(path, String(kind ?? "undefined"), ["param"]));
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
trackId(node, path, errors, idTracker);
|
|
369
|
+
requireString(node, "name", path, errors);
|
|
370
|
+
// type is optional — validate if present
|
|
371
|
+
if (node["type"] !== undefined && node["type"] !== null) {
|
|
372
|
+
if (!isObject(node["type"])) {
|
|
373
|
+
errors.push(invalidFieldType(path, getNodeId(node), "type", "object", typeof node["type"]));
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
validateTypeExpr(node["type"], `${path}.type`, errors, idTracker);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
325
380
|
function validateContract(node, path, errors, idTracker) {
|
|
326
381
|
if (!isObject(node)) {
|
|
327
382
|
errors.push(invalidFieldType(path, null, path, "object", typeof node));
|
|
@@ -789,7 +844,7 @@ function validateLambdaExpr(node, path, errors, idTracker) {
|
|
|
789
844
|
const params = requireArray(node, "params", path, errors);
|
|
790
845
|
if (params) {
|
|
791
846
|
for (let i = 0; i < params.length; i++) {
|
|
792
|
-
|
|
847
|
+
validateLambdaParam(params[i], `${path}.params[${i}]`, errors, idTracker);
|
|
793
848
|
}
|
|
794
849
|
}
|
|
795
850
|
const body = requireArray(node, "body", path, errors);
|