edict-lang 1.8.0 → 1.9.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 (199) hide show
  1. package/README.md +18 -5
  2. package/dist/ast/nodes.d.ts +127 -7
  3. package/dist/ast/nodes.d.ts.map +1 -1
  4. package/dist/ast/nodes.js +20 -0
  5. package/dist/ast/nodes.js.map +1 -1
  6. package/dist/ast/types.d.ts +42 -1
  7. package/dist/ast/types.d.ts.map +1 -1
  8. package/dist/ast/types.js +1 -1
  9. package/dist/ast/types.js.map +1 -1
  10. package/dist/ast/walk.d.ts.map +1 -1
  11. package/dist/ast/walk.js +6 -0
  12. package/dist/ast/walk.js.map +1 -1
  13. package/dist/builtins/builtin-types.d.ts +12 -0
  14. package/dist/builtins/builtin-types.d.ts.map +1 -1
  15. package/dist/builtins/domains/datetime.d.ts.map +1 -1
  16. package/dist/builtins/domains/datetime.js +2 -0
  17. package/dist/builtins/domains/datetime.js.map +1 -1
  18. package/dist/builtins/domains/http.d.ts.map +1 -1
  19. package/dist/builtins/domains/http.js +4 -0
  20. package/dist/builtins/domains/http.js.map +1 -1
  21. package/dist/builtins/domains/io.d.ts.map +1 -1
  22. package/dist/builtins/domains/io.js +5 -0
  23. package/dist/builtins/domains/io.js.map +1 -1
  24. package/dist/builtins/domains/random.d.ts.map +1 -1
  25. package/dist/builtins/domains/random.js +6 -0
  26. package/dist/builtins/domains/random.js.map +1 -1
  27. package/dist/builtins/registry.d.ts +23 -1
  28. package/dist/builtins/registry.d.ts.map +1 -1
  29. package/dist/builtins/registry.js +40 -3
  30. package/dist/builtins/registry.js.map +1 -1
  31. package/dist/check.d.ts +3 -0
  32. package/dist/check.d.ts.map +1 -1
  33. package/dist/check.js +3 -0
  34. package/dist/check.js.map +1 -1
  35. package/dist/checker/check.d.ts +7 -1
  36. package/dist/checker/check.d.ts.map +1 -1
  37. package/dist/checker/check.js +205 -19
  38. package/dist/checker/check.js.map +1 -1
  39. package/dist/checker/type-env.d.ts +4 -1
  40. package/dist/checker/type-env.d.ts.map +1 -1
  41. package/dist/checker/type-env.js +10 -0
  42. package/dist/checker/type-env.js.map +1 -1
  43. package/dist/checker/types-equal.d.ts.map +1 -1
  44. package/dist/checker/types-equal.js +21 -0
  45. package/dist/checker/types-equal.js.map +1 -1
  46. package/dist/codegen/codegen.d.ts +11 -0
  47. package/dist/codegen/codegen.d.ts.map +1 -1
  48. package/dist/codegen/codegen.js +11 -0
  49. package/dist/codegen/codegen.js.map +1 -1
  50. package/dist/codegen/collect-strings.js +6 -0
  51. package/dist/codegen/collect-strings.js.map +1 -1
  52. package/dist/codegen/recording-adapter.d.ts +14 -0
  53. package/dist/codegen/recording-adapter.d.ts.map +1 -0
  54. package/dist/codegen/recording-adapter.js +30 -0
  55. package/dist/codegen/recording-adapter.js.map +1 -0
  56. package/dist/codegen/replay-adapter.d.ts +21 -0
  57. package/dist/codegen/replay-adapter.d.ts.map +1 -0
  58. package/dist/codegen/replay-adapter.js +76 -0
  59. package/dist/codegen/replay-adapter.js.map +1 -0
  60. package/dist/codegen/replay-types.d.ts +24 -0
  61. package/dist/codegen/replay-types.d.ts.map +1 -0
  62. package/dist/codegen/replay-types.js +7 -0
  63. package/dist/codegen/replay-types.js.map +1 -0
  64. package/dist/codegen/runner.d.ts +9 -0
  65. package/dist/codegen/runner.d.ts.map +1 -1
  66. package/dist/codegen/runner.js +182 -3
  67. package/dist/codegen/runner.js.map +1 -1
  68. package/dist/codegen/types.d.ts.map +1 -1
  69. package/dist/codegen/types.js +16 -0
  70. package/dist/codegen/types.js.map +1 -1
  71. package/dist/compact/expand.d.ts +9 -3
  72. package/dist/compact/expand.d.ts.map +1 -1
  73. package/dist/compact/expand.js +10 -3
  74. package/dist/compact/expand.js.map +1 -1
  75. package/dist/compose/compose.d.ts +6 -0
  76. package/dist/compose/compose.d.ts.map +1 -1
  77. package/dist/compose/compose.js +6 -0
  78. package/dist/compose/compose.js.map +1 -1
  79. package/dist/contracts/generate-tests.d.ts +27 -0
  80. package/dist/contracts/generate-tests.d.ts.map +1 -0
  81. package/dist/contracts/generate-tests.js +300 -0
  82. package/dist/contracts/generate-tests.js.map +1 -0
  83. package/dist/contracts/translate-semantic.d.ts +13 -0
  84. package/dist/contracts/translate-semantic.d.ts.map +1 -0
  85. package/dist/contracts/translate-semantic.js +177 -0
  86. package/dist/contracts/translate-semantic.js.map +1 -0
  87. package/dist/contracts/verify.d.ts +21 -2
  88. package/dist/contracts/verify.d.ts.map +1 -1
  89. package/dist/contracts/verify.js +36 -5
  90. package/dist/contracts/verify.js.map +1 -1
  91. package/dist/effects/call-graph.d.ts +22 -3
  92. package/dist/effects/call-graph.d.ts.map +1 -1
  93. package/dist/effects/call-graph.js +39 -26
  94. package/dist/effects/call-graph.js.map +1 -1
  95. package/dist/effects/effect-check.d.ts +6 -0
  96. package/dist/effects/effect-check.d.ts.map +1 -1
  97. package/dist/effects/effect-check.js +36 -2
  98. package/dist/effects/effect-check.js.map +1 -1
  99. package/dist/errors/error-catalog.d.ts +3 -3
  100. package/dist/errors/error-catalog.d.ts.map +1 -1
  101. package/dist/errors/error-catalog.js +397 -781
  102. package/dist/errors/error-catalog.js.map +1 -1
  103. package/dist/errors/error-registry.d.ts +26 -0
  104. package/dist/errors/error-registry.d.ts.map +1 -0
  105. package/dist/errors/error-registry.js +157 -0
  106. package/dist/errors/error-registry.js.map +1 -0
  107. package/dist/errors/explain.d.ts +45 -0
  108. package/dist/errors/explain.d.ts.map +1 -0
  109. package/dist/errors/explain.js +84 -0
  110. package/dist/errors/explain.js.map +1 -0
  111. package/dist/errors/structured-errors.d.ts +108 -2
  112. package/dist/errors/structured-errors.d.ts.map +1 -1
  113. package/dist/errors/structured-errors.js +60 -2
  114. package/dist/errors/structured-errors.js.map +1 -1
  115. package/dist/incremental/check.d.ts +33 -0
  116. package/dist/incremental/check.d.ts.map +1 -0
  117. package/dist/incremental/check.js +157 -0
  118. package/dist/incremental/check.js.map +1 -0
  119. package/dist/incremental/dep-graph.d.ts +29 -0
  120. package/dist/incremental/dep-graph.d.ts.map +1 -0
  121. package/dist/incremental/dep-graph.js +200 -0
  122. package/dist/incremental/dep-graph.js.map +1 -0
  123. package/dist/incremental/diff.d.ts +14 -0
  124. package/dist/incremental/diff.d.ts.map +1 -0
  125. package/dist/incremental/diff.js +98 -0
  126. package/dist/incremental/diff.js.map +1 -0
  127. package/dist/index.d.ts +39 -6
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +90 -18
  130. package/dist/index.js.map +1 -1
  131. package/dist/lint/lint.d.ts +7 -1
  132. package/dist/lint/lint.d.ts.map +1 -1
  133. package/dist/lint/lint.js +354 -5
  134. package/dist/lint/lint.js.map +1 -1
  135. package/dist/lint/warnings.d.ts +96 -2
  136. package/dist/lint/warnings.d.ts.map +1 -1
  137. package/dist/lint/warnings.js +88 -0
  138. package/dist/lint/warnings.js.map +1 -1
  139. package/dist/mcp/handlers.d.ts +28 -1
  140. package/dist/mcp/handlers.d.ts.map +1 -1
  141. package/dist/mcp/handlers.js +205 -22
  142. package/dist/mcp/handlers.js.map +1 -1
  143. package/dist/mcp/tools/check.d.ts.map +1 -1
  144. package/dist/mcp/tools/check.js +8 -5
  145. package/dist/mcp/tools/check.js.map +1 -1
  146. package/dist/mcp/tools/compile.d.ts.map +1 -1
  147. package/dist/mcp/tools/compile.js +8 -5
  148. package/dist/mcp/tools/compile.js.map +1 -1
  149. package/dist/mcp/tools/explain.d.ts +3 -0
  150. package/dist/mcp/tools/explain.d.ts.map +1 -0
  151. package/dist/mcp/tools/explain.js +21 -0
  152. package/dist/mcp/tools/explain.js.map +1 -0
  153. package/dist/mcp/tools/generate_tests.d.ts +3 -0
  154. package/dist/mcp/tools/generate_tests.d.ts.map +1 -0
  155. package/dist/mcp/tools/generate_tests.js +29 -0
  156. package/dist/mcp/tools/generate_tests.js.map +1 -0
  157. package/dist/mcp/tools/index.d.ts.map +1 -1
  158. package/dist/mcp/tools/index.js +6 -0
  159. package/dist/mcp/tools/index.js.map +1 -1
  160. package/dist/mcp/tools/replay.d.ts +3 -0
  161. package/dist/mcp/tools/replay.d.ts.map +1 -0
  162. package/dist/mcp/tools/replay.js +40 -0
  163. package/dist/mcp/tools/replay.js.map +1 -0
  164. package/dist/mcp/tools/run.d.ts.map +1 -1
  165. package/dist/mcp/tools/run.js +5 -3
  166. package/dist/mcp/tools/run.js.map +1 -1
  167. package/dist/mcp/uasf.d.ts +6 -1
  168. package/dist/mcp/uasf.d.ts.map +1 -1
  169. package/dist/migration/migrate.d.ts +51 -0
  170. package/dist/migration/migrate.d.ts.map +1 -0
  171. package/dist/migration/migrate.js +174 -0
  172. package/dist/migration/migrate.js.map +1 -0
  173. package/dist/multi-module.d.ts +25 -0
  174. package/dist/multi-module.d.ts.map +1 -0
  175. package/dist/multi-module.js +215 -0
  176. package/dist/multi-module.js.map +1 -0
  177. package/dist/patch/apply.d.ts +11 -0
  178. package/dist/patch/apply.d.ts.map +1 -1
  179. package/dist/patch/apply.js +11 -0
  180. package/dist/patch/apply.js.map +1 -1
  181. package/dist/resolver/levenshtein.d.ts +9 -0
  182. package/dist/resolver/levenshtein.d.ts.map +1 -1
  183. package/dist/resolver/levenshtein.js +9 -0
  184. package/dist/resolver/levenshtein.js.map +1 -1
  185. package/dist/resolver/resolve.d.ts +8 -1
  186. package/dist/resolver/resolve.d.ts.map +1 -1
  187. package/dist/resolver/resolve.js +65 -2
  188. package/dist/resolver/resolve.js.map +1 -1
  189. package/dist/resolver/scope.d.ts +1 -1
  190. package/dist/resolver/scope.d.ts.map +1 -1
  191. package/dist/resolver/scope.js.map +1 -1
  192. package/dist/validator/schema-walker.d.ts.map +1 -1
  193. package/dist/validator/schema-walker.js +45 -1
  194. package/dist/validator/schema-walker.js.map +1 -1
  195. package/dist/validator/validate.d.ts +8 -1
  196. package/dist/validator/validate.d.ts.map +1 -1
  197. package/dist/validator/validate.js +8 -1
  198. package/dist/validator/validate.js.map +1 -1
  199. package/package.json +6 -2
package/README.md CHANGED
@@ -35,6 +35,7 @@ Contract Verifier ── unproven? → StructuredError + counterexample → Agen
35
35
  - **Contract verification** — Pre/post conditions verified at compile time by Z3 (via SMT). Failing contracts return concrete counterexamples.
36
36
  - **WASM compilation** — Verified programs compile to WebAssembly via binaryen and run in Node.js.
37
37
  - **MCP interface** — All tools exposed via [Model Context Protocol](https://modelcontextprotocol.io/) for direct agent integration.
38
+ - **Schema migration** — ASTs from older schema versions are auto-migrated. No breakage when the language evolves.
38
39
 
39
40
  ## Execution Model
40
41
 
@@ -51,7 +52,7 @@ Host capabilities available through adapters: filesystem (sandboxed), HTTP, cryp
51
52
 
52
53
  ```bash
53
54
  npm install
54
- npm test # 1493 tests across 88 files
55
+ npm test # 1801 tests across 105 files
55
56
  npm run mcp # start MCP server (stdio transport)
56
57
  ```
57
58
 
@@ -75,7 +76,7 @@ Supported platforms: `linux/amd64`, `linux/arm64`.
75
76
  |---|---|
76
77
  | `edict_schema` | Returns the full AST JSON Schema — the spec for how to write programs |
77
78
  | `edict_version` | Returns compiler version and capability info |
78
- | `edict_examples` | Returns 28 example programs as JSON ASTs |
79
+ | `edict_examples` | Returns 38 example programs as JSON ASTs |
79
80
  | `edict_validate` | Validates AST structure (field names, types, node kinds) |
80
81
  | `edict_check` | Full pipeline: validate → resolve names → type check → effect check → verify contracts |
81
82
  | `edict_compile` | Compiles a checked AST to WASM (returns base64-encoded binary) |
@@ -83,6 +84,13 @@ Supported platforms: `linux/amd64`, `linux/arm64`.
83
84
  | `edict_patch` | Applies targeted AST patches by nodeId and re-checks |
84
85
  | `edict_errors` | Returns machine-readable catalog of all error types |
85
86
  | `edict_lint` | Runs non-blocking quality analysis and returns warnings |
87
+ | `edict_debug` | Execution tracing and crash diagnostics |
88
+ | `edict_compose` | Combines composable program fragments into a module |
89
+ | `edict_explain` | Explains AST nodes, errors, or compiler behavior |
90
+ | `edict_export` | Packages a program as a UASF portable skill |
91
+ | `edict_import_skill` | Imports and executes a UASF skill package |
92
+ | `edict_generate_tests` | Generates tests from Z3-verified contracts |
93
+ | `edict_replay` | Records and replays deterministic execution traces |
86
94
 
87
95
  ### MCP Resources
88
96
 
@@ -170,19 +178,24 @@ src/
170
178
  │ ├── compile-expr.ts # Expression compilation
171
179
  │ ├── compile-*.ts # Specialized compilers (calls, data, match, scalars)
172
180
  │ ├── runner.ts # WASM execution (Node.js WebAssembly API)
173
- │ ├── host-adapter.ts # EdictHostAdapter interface
181
+ │ ├── host-adapter.ts # EdictHostAdapter interface + platform adapters
174
182
  │ ├── closures.ts # Closure capture and compilation
175
183
  │ ├── hof-generators.ts # Higher-order function WASM generators
184
+ │ ├── recording-adapter.ts # Execution recording for replay
185
+ │ ├── replay-adapter.ts # Deterministic replay from recorded traces
176
186
  │ └── string-table.ts # String interning for WASM memory
177
187
  ├── builtins/ # Builtin registry and domain-specific builtins
178
188
  ├── compact/ # Compact AST format (token-efficient for agents)
189
+ ├── compose/ # Composable program fragments
190
+ ├── incremental/ # Incremental checking (dependency graph + diff)
179
191
  ├── lint/ # Non-blocking quality warnings
180
192
  ├── patch/ # Surgical AST patching by nodeId
193
+ ├── migration/ # Schema version migration (auto-upgrade older ASTs)
181
194
  ├── mcp/ # MCP server (tools + resources + prompts)
182
195
  └── errors/ # Structured error types
183
196
 
184
- tests/ # 1493 tests across 88 files
185
- examples/ # 28 example programs (⭐→⭐⭐⭐ difficulty in README)
197
+ tests/ # 1801 tests across 105 files
198
+ examples/ # 38 example programs (⭐→⭐⭐⭐ difficulty in README)
186
199
  schema/ # Auto-generated JSON Schema
187
200
  ```
188
201
 
@@ -6,6 +6,42 @@ export type { TypeExpr } from "./types.js";
6
6
  */
7
7
  export type Effect = "pure" | "reads" | "writes" | "io" | "fails";
8
8
  export declare const VALID_EFFECTS: readonly Effect[];
9
+ /**
10
+ * Retry backoff strategy for tool calls.
11
+ */
12
+ export type BackoffKind = "fixed" | "linear" | "exponential";
13
+ export declare const VALID_BACKOFF_KINDS: readonly BackoffKind[];
14
+ /**
15
+ * Retry policy for tool calls — how often and how to back off.
16
+ */
17
+ export interface RetryPolicy {
18
+ maxRetries: number;
19
+ backoff: BackoffKind;
20
+ }
21
+ /**
22
+ * Approval scope controls how often approval must be re-obtained.
23
+ */
24
+ export type ApprovalScope = "per_call" | "per_session" | "per_module";
25
+ export declare const VALID_APPROVAL_SCOPES: readonly ApprovalScope[];
26
+ /**
27
+ * Approval gate on a function — requires explicit host approval before execution.
28
+ * Propagates through call chains: if a callee requires approval, the caller must too.
29
+ */
30
+ export interface ApprovalGate {
31
+ required: boolean;
32
+ scope: ApprovalScope;
33
+ reason: string;
34
+ }
35
+ /**
36
+ * Structured blame / provenance annotation.
37
+ * Tracks which agent produced a module or function, when, and with what confidence.
38
+ */
39
+ export interface BlameAnnotation {
40
+ author: string;
41
+ generatedAt: string;
42
+ confidence: number;
43
+ sourcePrompt?: string;
44
+ }
9
45
  /**
10
46
  * A complete Edict program / module.
11
47
  */
@@ -13,9 +49,13 @@ export interface EdictModule {
13
49
  kind: "module";
14
50
  id: string;
15
51
  name: string;
52
+ schemaVersion?: string;
16
53
  imports: Import[];
17
54
  definitions: Definition[];
18
55
  budget?: ComplexityConstraints;
56
+ blame?: BlameAnnotation;
57
+ minConfidence?: number;
58
+ capabilities?: string[];
19
59
  }
20
60
  /**
21
61
  * A composable program fragment.
@@ -28,6 +68,7 @@ export interface EdictFragment {
28
68
  requires: string[];
29
69
  imports: Import[];
30
70
  definitions: Definition[];
71
+ blame?: BlameAnnotation;
31
72
  }
32
73
  /**
33
74
  * Import names from another module.
@@ -39,7 +80,7 @@ export interface Import {
39
80
  names: string[];
40
81
  types?: Record<string, TypeExpr>;
41
82
  }
42
- export type Definition = FunctionDef | TypeDef | RecordDef | EnumDef | ConstDef;
83
+ export type Definition = FunctionDef | TypeDef | RecordDef | EnumDef | ConstDef | ToolDef;
43
84
  /**
44
85
  * Function definition with effects, contracts, and body.
45
86
  */
@@ -52,8 +93,37 @@ export interface FunctionDef {
52
93
  returnType?: TypeExpr;
53
94
  contracts: Contract[];
54
95
  constraints?: ComplexityConstraints;
96
+ intent?: IntentDeclaration;
97
+ approval?: ApprovalGate;
98
+ blame?: BlameAnnotation;
55
99
  body: Expression[];
56
100
  }
101
+ /**
102
+ * Structured intent — what the function is trying to accomplish.
103
+ * Agents use this for re-synthesis, blame tracking, and specification diffing.
104
+ * Invariants reuse Expression and SemanticAssertion types for automated matching.
105
+ */
106
+ export interface IntentDeclaration {
107
+ goal: string;
108
+ inputs: string[];
109
+ outputs: string[];
110
+ invariants: IntentInvariant[];
111
+ }
112
+ /**
113
+ * A structured invariant that can be automatically matched against contracts.
114
+ * Reuses existing Expression and SemanticAssertionKind — zero new vocabulary.
115
+ */
116
+ export type IntentInvariant = ExpressionInvariant | SemanticInvariant;
117
+ export interface ExpressionInvariant {
118
+ kind: "expression";
119
+ expression: Expression;
120
+ }
121
+ export interface SemanticInvariant {
122
+ kind: "semantic";
123
+ assertion: SemanticAssertionKind;
124
+ target: string;
125
+ args?: string[];
126
+ }
57
127
  /**
58
128
  * Type alias definition.
59
129
  */
@@ -62,6 +132,7 @@ export interface TypeDef {
62
132
  id: string;
63
133
  name: string;
64
134
  definition: TypeExpr;
135
+ blame?: BlameAnnotation;
65
136
  }
66
137
  /**
67
138
  * Record (struct) definition.
@@ -71,6 +142,7 @@ export interface RecordDef {
71
142
  id: string;
72
143
  name: string;
73
144
  fields: RecordField[];
145
+ blame?: BlameAnnotation;
74
146
  }
75
147
  /**
76
148
  * A field in a record definition.
@@ -90,6 +162,7 @@ export interface EnumDef {
90
162
  id: string;
91
163
  name: string;
92
164
  variants: EnumVariant[];
165
+ blame?: BlameAnnotation;
93
166
  }
94
167
  /**
95
168
  * A variant of an enum. Fields are empty for unit variants (e.g., None).
@@ -109,6 +182,22 @@ export interface ConstDef {
109
182
  name: string;
110
183
  type: TypeExpr;
111
184
  value: Expression;
185
+ blame?: BlameAnnotation;
186
+ }
187
+ /**
188
+ * Tool definition — declares a named external tool with a typed interface.
189
+ * The host provides the actual implementation at runtime.
190
+ * Tool names are in scope like functions; tool_call expressions reference them by name.
191
+ */
192
+ export interface ToolDef {
193
+ kind: "tool";
194
+ id: string;
195
+ name: string;
196
+ uri: string;
197
+ params: Param[];
198
+ returnType: TypeExpr;
199
+ effects: Effect[];
200
+ blame?: BlameAnnotation;
112
201
  }
113
202
  /**
114
203
  * Function parameter.
@@ -121,12 +210,29 @@ export interface Param {
121
210
  }
122
211
  /**
123
212
  * Pre/post contract on a function.
213
+ * Must have exactly one of `condition` (manual expression) or `semantic` (pre-built assertion).
214
+ * `semantic` is only valid on `post` contracts (v1).
124
215
  */
125
216
  export interface Contract {
126
217
  kind: "pre" | "post";
127
218
  id: string;
128
- condition: Expression;
219
+ condition?: Expression;
220
+ semantic?: SemanticAssertion;
129
221
  }
222
+ /**
223
+ * A pre-built semantic assertion that translates to a proven-correct Z3 encoding.
224
+ * Agents use these instead of manually writing Z3-verifiable expressions.
225
+ */
226
+ export interface SemanticAssertion {
227
+ assertion: SemanticAssertionKind;
228
+ target: string;
229
+ args?: string[];
230
+ }
231
+ /**
232
+ * The 7 built-in semantic assertion kinds.
233
+ */
234
+ export type SemanticAssertionKind = "sorted" | "permutation_of" | "subset_of" | "sum_preserved" | "no_duplicates" | "length_preserved" | "bounded";
235
+ export declare const VALID_SEMANTIC_ASSERTIONS: readonly SemanticAssertionKind[];
130
236
  /**
131
237
  * Bounds on token complexity and program size to prevent runaway agents.
132
238
  */
@@ -136,7 +242,7 @@ export interface ComplexityConstraints {
136
242
  maxCallDepth?: number;
137
243
  maxBranches?: number;
138
244
  }
139
- export type Expression = Literal | Identifier | BinaryOp | UnaryOp | Call | IfExpr | LetExpr | MatchExpr | ArrayExpr | TupleExpr | RecordExpr | EnumConstructor | FieldAccess | LambdaExpr | BlockExpr | StringInterp | ForallExpr | ExistsExpr;
245
+ export type Expression = Literal | Identifier | BinaryOp | UnaryOp | Call | IfExpr | LetExpr | MatchExpr | ArrayExpr | TupleExpr | RecordExpr | EnumConstructor | FieldAccess | LambdaExpr | BlockExpr | StringInterp | ForallExpr | ExistsExpr | ToolCallExpr;
140
246
  export interface Literal {
141
247
  kind: "literal";
142
248
  id: string;
@@ -302,10 +408,24 @@ export interface ExistsExpr {
302
408
  };
303
409
  body: Expression;
304
410
  }
305
- export declare const VALID_DEFINITION_KINDS: readonly ["fn", "type", "record", "enum", "const"];
306
- export declare const VALID_EXPRESSION_KINDS: readonly ["literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp", "forall", "exists"];
307
- export declare const VALID_TYPE_KINDS: readonly ["basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple"];
411
+ /**
412
+ * Tool call expression invokes a declared tool by name.
413
+ * Named args via FieldInit (same pattern as RecordExpr/EnumConstructor).
414
+ * Always returns Result<T, String> where T is the tool's returnType.
415
+ */
416
+ export interface ToolCallExpr {
417
+ kind: "tool_call";
418
+ id: string;
419
+ tool: string;
420
+ args: FieldInit[];
421
+ timeout?: number;
422
+ retryPolicy?: RetryPolicy;
423
+ fallback?: Expression;
424
+ }
425
+ export declare const VALID_DEFINITION_KINDS: readonly ["fn", "type", "record", "enum", "const", "tool"];
426
+ export declare const VALID_EXPRESSION_KINDS: readonly ["literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp", "forall", "exists", "tool_call"];
427
+ export declare const VALID_TYPE_KINDS: readonly ["basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple", "confidence", "provenance", "capability", "fresh"];
308
428
  export declare const VALID_PATTERN_KINDS: readonly ["literal_pattern", "wildcard", "binding", "constructor"];
309
429
  export declare const VALID_BASIC_TYPE_NAMES: readonly ["Int", "Int64", "Float", "String", "Bool"];
310
- export declare const ALL_VALID_KINDS: readonly ["module", "fragment", "import", "fn", "type", "record", "enum", "const", "param", "field", "variant", "pre", "post", "arm", "field_init", "constraints", "literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp", "forall", "exists", "basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple", "literal_pattern", "wildcard", "binding", "constructor"];
430
+ export declare const ALL_VALID_KINDS: readonly ["module", "fragment", "import", "fn", "type", "record", "enum", "const", "tool", "param", "field", "variant", "pre", "post", "arm", "field_init", "constraints", "literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp", "forall", "exists", "tool_call", "basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple", "confidence", "provenance", "capability", "fresh", "literal_pattern", "wildcard", "binding", "constructor"];
311
431
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
package/dist/ast/nodes.js CHANGED
@@ -10,6 +10,20 @@ export const VALID_EFFECTS = [
10
10
  "io",
11
11
  "fails",
12
12
  ];
13
+ export const VALID_BACKOFF_KINDS = [
14
+ "fixed",
15
+ "linear",
16
+ "exponential",
17
+ ];
18
+ export const VALID_APPROVAL_SCOPES = [
19
+ "per_call",
20
+ "per_session",
21
+ "per_module",
22
+ ];
23
+ export const VALID_SEMANTIC_ASSERTIONS = [
24
+ "sorted", "permutation_of", "subset_of", "sum_preserved",
25
+ "no_duplicates", "length_preserved", "bounded",
26
+ ];
13
27
  export const VALID_BINARY_OPS = [
14
28
  "+",
15
29
  "-",
@@ -36,6 +50,7 @@ export const VALID_DEFINITION_KINDS = [
36
50
  "record",
37
51
  "enum",
38
52
  "const",
53
+ "tool",
39
54
  ];
40
55
  export const VALID_EXPRESSION_KINDS = [
41
56
  "literal",
@@ -56,6 +71,7 @@ export const VALID_EXPRESSION_KINDS = [
56
71
  "string_interp",
57
72
  "forall",
58
73
  "exists",
74
+ "tool_call",
59
75
  ];
60
76
  export const VALID_TYPE_KINDS = [
61
77
  "basic",
@@ -67,6 +83,10 @@ export const VALID_TYPE_KINDS = [
67
83
  "fn_type",
68
84
  "named",
69
85
  "tuple",
86
+ "confidence",
87
+ "provenance",
88
+ "capability",
89
+ "fresh",
70
90
  ];
71
91
  export const VALID_PATTERN_KINDS = [
72
92
  "literal_pattern",
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,0EAA0E;AAC1E,uDAAuD;AAiBvD,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,OAAO;CACD,CAAC;AAwNX,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACvD,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,SAAS;CACH,CAAC;AAYX,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC;AAqK/E,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,eAAe;IACf,QAAQ;IACR,QAAQ;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,aAAa;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,GAAG,sBAAsB;IACzB,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,KAAK;IACL,YAAY;IACZ,aAAa;IACb,GAAG,sBAAsB;IACzB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;CAChB,CAAC"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,0EAA0E;AAC1E,uDAAuD;AAiBvD,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,OAAO;CACD,CAAC;AAWX,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACvD,OAAO;IACP,QAAQ;IACR,aAAa;CACP,CAAC;AAmBX,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC3D,UAAU;IACV,aAAa;IACb,YAAY;CACN,CAAC;AAoQX,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IACvE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe;IACxD,eAAe,EAAE,kBAAkB,EAAE,SAAS;CACxC,CAAC;AAkEX,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACvD,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,SAAS;CACH,CAAC;AAYX,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC;AAoL/E,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,eAAe;IACf,QAAQ;IACR,QAAQ;IACR,WAAW;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,aAAa;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,GAAG,sBAAsB;IACzB,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,KAAK;IACL,YAAY;IACZ,aAAa;IACb,GAAG,sBAAsB;IACzB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;CAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Union of all type expressions in Edict.
3
3
  */
4
- export type TypeExpr = BasicType | ArrayType | OptionType | ResultType | UnitType | RefinedType | FunctionType | NamedType | TupleType;
4
+ export type TypeExpr = BasicType | ArrayType | OptionType | ResultType | UnitType | RefinedType | FunctionType | NamedType | TupleType | ConfidenceType | ProvenanceType | CapabilityType | FreshnessType;
5
5
  /**
6
6
  * Primitive types.
7
7
  */
@@ -74,5 +74,46 @@ export interface TupleType {
74
74
  kind: "tuple";
75
75
  elements: TypeExpr[];
76
76
  }
77
+ /**
78
+ * Confidence-typed value — tracks LLM uncertainty at the type level.
79
+ * Erased after type checking (zero runtime cost). Structurally transparent:
80
+ * Confidence<T, 0.9> is assignable to/from T.
81
+ */
82
+ export interface ConfidenceType {
83
+ kind: "confidence";
84
+ base: TypeExpr;
85
+ confidence: number;
86
+ }
87
+ /**
88
+ * Provenance-typed value — tracks data origin at the type level.
89
+ * Erased after type checking (zero runtime cost). Structurally transparent:
90
+ * Provenance<T, "api:x"> is assignable to/from T.
91
+ */
92
+ export interface ProvenanceType {
93
+ kind: "provenance";
94
+ base: TypeExpr;
95
+ sources: string[];
96
+ }
97
+ /**
98
+ * Capability token — compile-time verified, unforgeable permission.
99
+ * Not a type wrapper (unlike confidence/provenance). Capabilities ARE the type.
100
+ * Erased at codegen (zero runtime cost). The host mints them; agents cannot forge them.
101
+ * Permissions are hierarchical: "net:smtp" subsumes "net:smtp:max_10" via prefix matching.
102
+ */
103
+ export interface CapabilityType {
104
+ kind: "capability";
105
+ permissions: string[];
106
+ }
107
+ /**
108
+ * Freshness-typed value — tracks temporal validity at the type level.
109
+ * Erased after type checking (zero runtime cost). Structurally transparent:
110
+ * Fresh<T, "5m"> is assignable to/from T.
111
+ * maxAge is a duration string: "30s", "5m", "1h", "200ms".
112
+ */
113
+ export interface FreshnessType {
114
+ kind: "fresh";
115
+ base: TypeExpr;
116
+ maxAge: string;
117
+ }
77
118
  import type { Expression, Effect } from "./nodes.js";
78
119
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAID,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,SAAS,GACT,SAAS,GACT,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAID,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
package/dist/ast/types.js CHANGED
@@ -2,6 +2,6 @@
2
2
  // Edict AST Type Expressions
3
3
  // =============================================================================
4
4
  // Every possible type in the Edict type system.
5
- // Types are compile-time only — unit types are erased after type checking.
5
+ // Types are compile-time only — unit types and confidence types are erased after type checking.
6
6
  export {};
7
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,gDAAgD;AAChD,2EAA2E"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,gDAAgD;AAChD,gGAAgG"}
@@ -1 +1 @@
1
- {"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/ast/walk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,KAAK,CAAC;IAE3C;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CA8EzG"}
1
+ {"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../src/ast/walk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,KAAK,CAAC;IAE3C;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,IAAI,CAkFzG"}
package/dist/ast/walk.js CHANGED
@@ -78,6 +78,12 @@ export function walkExpression(expr, visitor) {
78
78
  walkExpression(expr.range.to, visitor);
79
79
  walkExpression(expr.body, visitor);
80
80
  break;
81
+ case "tool_call":
82
+ for (const f of expr.args)
83
+ walkExpression(f.value, visitor);
84
+ if (expr.fallback)
85
+ walkExpression(expr.fallback, visitor);
86
+ break;
81
87
  default:
82
88
  // Ensure all kinds are completely covered
83
89
  void expr;
@@ -1 +1 @@
1
- {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/ast/walk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/ast/walk.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,18 @@ export interface BuiltinDef {
9
9
  type: FunctionType;
10
10
  /** Implementation: host-imported or WASM-native. */
11
11
  impl: BuiltinImpl;
12
+ /**
13
+ * Whether this builtin's output depends on external state (time, random, IO).
14
+ * Required for host builtins with "reads" effect — enforced by test.
15
+ * When true, createHostImports auto-wraps the factory for record/replay.
16
+ */
17
+ nondeterministic?: boolean;
18
+ /**
19
+ * Provenance source tag for return values (e.g., "io:http", "io:random").
20
+ * When set, the type checker auto-wraps the return type in ProvenanceType
21
+ * so agents get data-origin tracking without manual annotation.
22
+ */
23
+ provenance?: string;
12
24
  }
13
25
  export type BuiltinImpl = {
14
26
  kind: "host";
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-types.d.ts","sourceRoot":"","sources":["../../src/builtins/builtin-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACvB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,IAAI,EAAE,YAAY,CAAC;IACnB,oDAAoD;IACpD,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,QAAQ,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"builtin-types.d.ts","sourceRoot":"","sources":["../../src/builtins/builtin-types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACvB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,IAAI,EAAE,YAAY,CAAC;IACnB,oDAAoD;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,QAAQ,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/datetime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAsCzC,CAAC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/datetime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAwCzC,CAAC"}
@@ -7,6 +7,8 @@ export const DATETIME_BUILTINS = [
7
7
  {
8
8
  name: "now",
9
9
  type: { kind: "fn_type", params: [], effects: ["reads"], returnType: INT64_TYPE },
10
+ nondeterministic: true,
11
+ provenance: "io:clock",
10
12
  impl: { kind: "host", factory: () => () => BigInt(Date.now()) },
11
13
  },
12
14
  {
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/builtins/domains/datetime.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAGhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC3C;QACI,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACjF,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;KAC1E;IACD;QACI,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE;QACxG,IAAI,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,MAAc,EAAU,EAAE;gBACzE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACzG,IAAI,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE;gBACvE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACtG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE;KACjF;CACJ,CAAC"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/builtins/domains/datetime.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAGhF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC3C;QACI,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACjF,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;KAC1E;IACD;QACI,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE;QACxG,IAAI,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC,SAAiB,EAAE,MAAc,EAAU,EAAE;gBACzE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACzG,IAAI,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE;gBACvE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;SACJ;KACJ;IACD;QACI,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;QACtG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE;KACjF;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/http.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkCtD,eAAO,MAAM,aAAa,EAAE,UAAU,EAiCrC,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/http.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkCtD,eAAO,MAAM,aAAa,EAAE,UAAU,EAqCrC,CAAC"}
@@ -35,6 +35,7 @@ export const HTTP_BUILTINS = [
35
35
  {
36
36
  name: "httpGet",
37
37
  type: { kind: "fn_type", params: [STRING_TYPE], effects: ["io"], returnType: RESULT_STRING_TYPE },
38
+ provenance: "io:http",
38
39
  impl: {
39
40
  kind: "host",
40
41
  factory: (ctx) => (urlPtr) => fetchWithChecks(ctx, urlPtr, "GET"),
@@ -43,6 +44,7 @@ export const HTTP_BUILTINS = [
43
44
  {
44
45
  name: "httpPost",
45
46
  type: { kind: "fn_type", params: [STRING_TYPE, STRING_TYPE], effects: ["io"], returnType: RESULT_STRING_TYPE },
47
+ provenance: "io:http",
46
48
  impl: {
47
49
  kind: "host",
48
50
  factory: (ctx) => (urlPtr, bodyPtr) => fetchWithChecks(ctx, urlPtr, "POST", bodyPtr),
@@ -51,6 +53,7 @@ export const HTTP_BUILTINS = [
51
53
  {
52
54
  name: "httpPut",
53
55
  type: { kind: "fn_type", params: [STRING_TYPE, STRING_TYPE], effects: ["io"], returnType: RESULT_STRING_TYPE },
56
+ provenance: "io:http",
54
57
  impl: {
55
58
  kind: "host",
56
59
  factory: (ctx) => (urlPtr, bodyPtr) => fetchWithChecks(ctx, urlPtr, "PUT", bodyPtr),
@@ -59,6 +62,7 @@ export const HTTP_BUILTINS = [
59
62
  {
60
63
  name: "httpDelete",
61
64
  type: { kind: "fn_type", params: [STRING_TYPE], effects: ["io"], returnType: RESULT_STRING_TYPE },
65
+ provenance: "io:http",
62
66
  impl: {
63
67
  kind: "host",
64
68
  factory: (ctx) => (urlPtr) => fetchWithChecks(ctx, urlPtr, "DELETE"),
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/builtins/domains/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/builtins/domains/http.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/io.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,eAAO,MAAM,WAAW,EAAE,UAAU,EAsEnC,CAAC"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/builtins/domains/io.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,eAAO,MAAM,WAAW,EAAE,UAAU,EA2EnC,CAAC"}