@rcrsr/rill 0.9.0 → 0.11.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 (169) hide show
  1. package/dist/ast-nodes.d.ts +43 -10
  2. package/dist/ast-nodes.d.ts.map +1 -1
  3. package/dist/ast-unions.d.ts +1 -1
  4. package/dist/ast-unions.d.ts.map +1 -1
  5. package/dist/constants.d.ts +1 -1
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +1 -0
  8. package/dist/constants.js.map +1 -1
  9. package/dist/error-registry.d.ts.map +1 -1
  10. package/dist/error-registry.js +273 -6
  11. package/dist/error-registry.js.map +1 -1
  12. package/dist/ext/crypto/index.d.ts.map +1 -1
  13. package/dist/ext/crypto/index.js +23 -12
  14. package/dist/ext/crypto/index.js.map +1 -1
  15. package/dist/ext/exec/index.d.ts.map +1 -1
  16. package/dist/ext/exec/index.js +10 -11
  17. package/dist/ext/exec/index.js.map +1 -1
  18. package/dist/ext/fetch/index.d.ts.map +1 -1
  19. package/dist/ext/fetch/index.js +15 -15
  20. package/dist/ext/fetch/index.js.map +1 -1
  21. package/dist/ext/fs/index.d.ts.map +1 -1
  22. package/dist/ext/fs/index.js +139 -47
  23. package/dist/ext/fs/index.js.map +1 -1
  24. package/dist/ext/kv/index.d.ts.map +1 -1
  25. package/dist/ext/kv/index.js +130 -31
  26. package/dist/ext/kv/index.js.map +1 -1
  27. package/dist/generated/introspection-data.d.ts +1 -1
  28. package/dist/generated/introspection-data.d.ts.map +1 -1
  29. package/dist/generated/introspection-data.js +109 -8
  30. package/dist/generated/introspection-data.js.map +1 -1
  31. package/dist/generated/version-data.d.ts +1 -1
  32. package/dist/generated/version-data.d.ts.map +1 -1
  33. package/dist/generated/version-data.js +2 -2
  34. package/dist/generated/version-data.js.map +1 -1
  35. package/dist/highlight-map.d.ts.map +1 -1
  36. package/dist/highlight-map.js +1 -0
  37. package/dist/highlight-map.js.map +1 -1
  38. package/dist/index.d.ts +3 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/lexer/readers.d.ts.map +1 -1
  43. package/dist/lexer/readers.js +1 -0
  44. package/dist/lexer/readers.js.map +1 -1
  45. package/dist/parser/index.d.ts +3 -1
  46. package/dist/parser/index.d.ts.map +1 -1
  47. package/dist/parser/index.js +4 -1
  48. package/dist/parser/index.js.map +1 -1
  49. package/dist/parser/parser-control.d.ts +1 -1
  50. package/dist/parser/parser-control.d.ts.map +1 -1
  51. package/dist/parser/parser-control.js +2 -2
  52. package/dist/parser/parser-control.js.map +1 -1
  53. package/dist/parser/parser-expr.d.ts +2 -1
  54. package/dist/parser/parser-expr.d.ts.map +1 -1
  55. package/dist/parser/parser-expr.js +15 -2
  56. package/dist/parser/parser-expr.js.map +1 -1
  57. package/dist/parser/parser-extract.d.ts.map +1 -1
  58. package/dist/parser/parser-extract.js +10 -9
  59. package/dist/parser/parser-extract.js.map +1 -1
  60. package/dist/parser/parser-functions.js +11 -6
  61. package/dist/parser/parser-functions.js.map +1 -1
  62. package/dist/parser/parser-literals.d.ts +1 -1
  63. package/dist/parser/parser-literals.d.ts.map +1 -1
  64. package/dist/parser/parser-literals.js +61 -7
  65. package/dist/parser/parser-literals.js.map +1 -1
  66. package/dist/parser/parser-types.d.ts +22 -6
  67. package/dist/parser/parser-types.d.ts.map +1 -1
  68. package/dist/parser/parser-types.js +126 -9
  69. package/dist/parser/parser-types.js.map +1 -1
  70. package/dist/parser/parser-use.d.ts +11 -0
  71. package/dist/parser/parser-use.d.ts.map +1 -0
  72. package/dist/parser/parser-use.js +68 -0
  73. package/dist/parser/parser-use.js.map +1 -0
  74. package/dist/parser/parser-variables.d.ts.map +1 -1
  75. package/dist/parser/parser-variables.js +5 -4
  76. package/dist/parser/parser-variables.js.map +1 -1
  77. package/dist/runtime/core/callable.d.ts +59 -70
  78. package/dist/runtime/core/callable.d.ts.map +1 -1
  79. package/dist/runtime/core/callable.js +37 -93
  80. package/dist/runtime/core/callable.js.map +1 -1
  81. package/dist/runtime/core/context.d.ts.map +1 -1
  82. package/dist/runtime/core/context.js +104 -33
  83. package/dist/runtime/core/context.js.map +1 -1
  84. package/dist/runtime/core/equals.d.ts.map +1 -1
  85. package/dist/runtime/core/equals.js +59 -17
  86. package/dist/runtime/core/equals.js.map +1 -1
  87. package/dist/runtime/core/eval/evaluator.d.ts.map +1 -1
  88. package/dist/runtime/core/eval/evaluator.js +2 -1
  89. package/dist/runtime/core/eval/evaluator.js.map +1 -1
  90. package/dist/runtime/core/eval/index.d.ts +2 -2
  91. package/dist/runtime/core/eval/index.d.ts.map +1 -1
  92. package/dist/runtime/core/eval/index.js +5 -0
  93. package/dist/runtime/core/eval/index.js.map +1 -1
  94. package/dist/runtime/core/eval/mixins/closures.d.ts +3 -5
  95. package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
  96. package/dist/runtime/core/eval/mixins/closures.js +76 -40
  97. package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
  98. package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
  99. package/dist/runtime/core/eval/mixins/collections.js +4 -2
  100. package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
  101. package/dist/runtime/core/eval/mixins/conversion.d.ts +9 -9
  102. package/dist/runtime/core/eval/mixins/conversion.d.ts.map +1 -1
  103. package/dist/runtime/core/eval/mixins/conversion.js +51 -21
  104. package/dist/runtime/core/eval/mixins/conversion.js.map +1 -1
  105. package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
  106. package/dist/runtime/core/eval/mixins/core.js +8 -2
  107. package/dist/runtime/core/eval/mixins/core.js.map +1 -1
  108. package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
  109. package/dist/runtime/core/eval/mixins/extraction.js +20 -8
  110. package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
  111. package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
  112. package/dist/runtime/core/eval/mixins/literals.js +32 -15
  113. package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
  114. package/dist/runtime/core/eval/mixins/types.d.ts.map +1 -1
  115. package/dist/runtime/core/eval/mixins/types.js +166 -21
  116. package/dist/runtime/core/eval/mixins/types.js.map +1 -1
  117. package/dist/runtime/core/eval/mixins/use.d.ts +25 -0
  118. package/dist/runtime/core/eval/mixins/use.d.ts.map +1 -0
  119. package/dist/runtime/core/eval/mixins/use.js +152 -0
  120. package/dist/runtime/core/eval/mixins/use.js.map +1 -0
  121. package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
  122. package/dist/runtime/core/eval/mixins/variables.js +67 -32
  123. package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
  124. package/dist/runtime/core/execute.d.ts.map +1 -1
  125. package/dist/runtime/core/execute.js +11 -1
  126. package/dist/runtime/core/execute.js.map +1 -1
  127. package/dist/runtime/core/field-descriptor.d.ts +6 -6
  128. package/dist/runtime/core/field-descriptor.d.ts.map +1 -1
  129. package/dist/runtime/core/field-descriptor.js +2 -2
  130. package/dist/runtime/core/field-descriptor.js.map +1 -1
  131. package/dist/runtime/core/introspection.d.ts +16 -0
  132. package/dist/runtime/core/introspection.d.ts.map +1 -1
  133. package/dist/runtime/core/introspection.js +102 -7
  134. package/dist/runtime/core/introspection.js.map +1 -1
  135. package/dist/runtime/core/resolvers.d.ts +39 -0
  136. package/dist/runtime/core/resolvers.d.ts.map +1 -0
  137. package/dist/runtime/core/resolvers.js +89 -0
  138. package/dist/runtime/core/resolvers.js.map +1 -0
  139. package/dist/runtime/core/types.d.ts +54 -5
  140. package/dist/runtime/core/types.d.ts.map +1 -1
  141. package/dist/runtime/core/types.js.map +1 -1
  142. package/dist/runtime/core/values.d.ts +43 -29
  143. package/dist/runtime/core/values.d.ts.map +1 -1
  144. package/dist/runtime/core/values.js +153 -68
  145. package/dist/runtime/core/values.js.map +1 -1
  146. package/dist/runtime/ext/builtins.d.ts +3 -4
  147. package/dist/runtime/ext/builtins.d.ts.map +1 -1
  148. package/dist/runtime/ext/builtins.js +621 -444
  149. package/dist/runtime/ext/builtins.js.map +1 -1
  150. package/dist/runtime/ext/extensions.d.ts +43 -43
  151. package/dist/runtime/ext/extensions.d.ts.map +1 -1
  152. package/dist/runtime/ext/extensions.js.map +1 -1
  153. package/dist/runtime/index.d.ts +8 -5
  154. package/dist/runtime/index.d.ts.map +1 -1
  155. package/dist/runtime/index.js +6 -2
  156. package/dist/runtime/index.js.map +1 -1
  157. package/dist/signature-parser.d.ts +43 -0
  158. package/dist/signature-parser.d.ts.map +1 -0
  159. package/dist/signature-parser.js +289 -0
  160. package/dist/signature-parser.js.map +1 -0
  161. package/dist/token-types.d.ts +1 -0
  162. package/dist/token-types.d.ts.map +1 -1
  163. package/dist/token-types.js +1 -0
  164. package/dist/token-types.js.map +1 -1
  165. package/dist/value-types.d.ts +20 -6
  166. package/dist/value-types.d.ts.map +1 -1
  167. package/dist/value-types.js +1 -1
  168. package/dist/value-types.js.map +1 -1
  169. package/package.json +4 -1
@@ -21,7 +21,7 @@
21
21
  * @internal
22
22
  */
23
23
  import { RuntimeError } from '../../../../types.js';
24
- import { inferType, checkType, isTypeValue } from '../../values.js';
24
+ import { inferType, checkType, isTypeValue, structuralTypeMatches, inferStructuralType, formatStructuralType, } from '../../values.js';
25
25
  import { getVariable } from '../../context.js';
26
26
  /**
27
27
  * TypesMixin implementation.
@@ -47,22 +47,137 @@ import { getVariable } from '../../context.js';
47
47
  function createTypesMixin(Base) {
48
48
  return class TypesEvaluator extends Base {
49
49
  /**
50
- * Resolve a TypeRef to a RillTypeValue [IR-12].
50
+ * Resolve a TypeRef to a RillTypeValue [IR-2].
51
51
  *
52
- * Static refs return a frozen RillTypeValue directly.
52
+ * Static refs with no args return a frozen RillTypeValue directly.
53
+ * Static refs with args build a parameterized RillType.
53
54
  * Dynamic refs call getVariable, then dispatch on the result:
54
55
  * - RillTypeValue → return as-is
55
56
  * - Otherwise → throw RILL-R004
56
57
  *
57
58
  * EC-1: Variable not found → undefined from getVariable → RILL-R005.
58
- * EC-2/EC-3: Non-type value → RILL-R004.
59
+ * EC-2: Non-type variable value → RILL-R004.
60
+ * EC-3: Leaf type with args → RILL-R004.
61
+ * EC-4: list with != 1 positional arg → RILL-R004.
62
+ * EC-5: dict/ordered with positional arg → RILL-R004.
63
+ * EC-6: tuple with named arg → RILL-R004.
64
+ * EC-7: arg value is not a type value → RILL-R004.
59
65
  */
60
66
  resolveTypeRef(typeRef, getVariable) {
61
67
  if (typeRef.kind === 'static') {
68
+ const { typeName, args } = typeRef;
69
+ // No args: existing bare-type behavior
70
+ if (!args || args.length === 0) {
71
+ return Object.freeze({
72
+ __rill_type: true,
73
+ typeName,
74
+ structure: { type: typeName },
75
+ });
76
+ }
77
+ // EC-3: Leaf types reject all type arguments
78
+ const LEAF_TYPES = new Set([
79
+ 'string',
80
+ 'number',
81
+ 'bool',
82
+ 'vector',
83
+ 'type',
84
+ 'any',
85
+ 'closure',
86
+ ]);
87
+ if (LEAF_TYPES.has(typeName)) {
88
+ throw new RuntimeError('RILL-R004', `${typeName} does not accept type arguments`);
89
+ }
90
+ // Helper: recursively resolve one TypeRefArg to RillType
91
+ const resolveArg = (arg) => {
92
+ const resolved = this.resolveTypeRef(arg.ref, getVariable);
93
+ return resolved.structure;
94
+ };
95
+ if (typeName === 'list') {
96
+ // EC-4: list requires exactly 1 positional arg
97
+ if (args.length !== 1 || args[0].name !== undefined) {
98
+ throw new RuntimeError('RILL-R004', 'list() requires exactly 1 type argument');
99
+ }
100
+ const structure = {
101
+ type: 'list',
102
+ element: resolveArg(args[0]),
103
+ };
104
+ return Object.freeze({
105
+ __rill_type: true,
106
+ typeName,
107
+ structure,
108
+ });
109
+ }
110
+ if (typeName === 'dict') {
111
+ // EC-5: dict requires named args only
112
+ for (const arg of args) {
113
+ if (arg.name === undefined) {
114
+ throw new RuntimeError('RILL-R004', 'dict() requires named arguments (field: type)');
115
+ }
116
+ }
117
+ const fields = {};
118
+ for (const arg of args) {
119
+ fields[arg.name] = resolveArg(arg);
120
+ }
121
+ const structure = { type: 'dict', fields };
122
+ return Object.freeze({
123
+ __rill_type: true,
124
+ typeName,
125
+ structure,
126
+ });
127
+ }
128
+ if (typeName === 'tuple') {
129
+ // EC-6: tuple requires positional args only
130
+ for (const arg of args) {
131
+ if (arg.name !== undefined) {
132
+ throw new RuntimeError('RILL-R004', 'tuple() requires positional arguments');
133
+ }
134
+ }
135
+ const elements = args.map(resolveArg);
136
+ const structure = { type: 'tuple', elements };
137
+ return Object.freeze({
138
+ __rill_type: true,
139
+ typeName,
140
+ structure,
141
+ });
142
+ }
143
+ // typeName === 'ordered'
144
+ // EC-5: ordered requires named args only
145
+ for (const arg of args) {
146
+ if (arg.name === undefined) {
147
+ throw new RuntimeError('RILL-R004', 'dict() requires named arguments (field: type)');
148
+ }
149
+ }
150
+ const orderedFields = args.map((arg) => [
151
+ arg.name,
152
+ resolveArg(arg),
153
+ ]);
154
+ const structure = {
155
+ type: 'ordered',
156
+ fields: orderedFields,
157
+ };
158
+ return Object.freeze({
159
+ __rill_type: true,
160
+ typeName,
161
+ structure,
162
+ });
163
+ }
164
+ // Union type ref: (A | B) — resolve each member recursively and
165
+ // return a RillTypeValue with structure: { type: 'union', members: [...] }.
166
+ // typeName is set to a display string for error messages; the structure
167
+ // field carries the authoritative type shape for validation (DR-1).
168
+ if (typeRef.kind === 'union') {
169
+ const members = typeRef.members.map((member) => {
170
+ const resolved = this.resolveTypeRef(member, getVariable);
171
+ return resolved.structure;
172
+ });
173
+ const structure = { type: 'union', members };
174
+ const displayName = members
175
+ .map(formatStructuralType)
176
+ .join('|');
62
177
  return Object.freeze({
63
178
  __rill_type: true,
64
- typeName: typeRef.typeName,
65
- structure: { kind: 'primitive', name: typeRef.typeName },
179
+ typeName: displayName,
180
+ structure,
66
181
  });
67
182
  }
68
183
  const result = getVariable(typeRef.varName);
@@ -76,9 +191,30 @@ function createTypesMixin(Base) {
76
191
  /**
77
192
  * Assert that a value is of the expected type.
78
193
  * Returns the value unchanged if assertion passes, throws on mismatch.
194
+ * Accepts a bare RillTypeName or a full RillType.
195
+ * When expected is a RillType with sub-fields (element, fields, elements),
196
+ * dispatches to structuralTypeMatches for deep validation.
79
197
  * Exported for use by type assertion evaluation.
80
198
  */
81
199
  assertType(value, expected, location) {
200
+ // Structural path: expected is a RillType object
201
+ if (typeof expected !== 'string') {
202
+ const hasSubFields = 'element' in expected ||
203
+ 'fields' in expected ||
204
+ 'elements' in expected ||
205
+ 'members' in expected;
206
+ if (hasSubFields) {
207
+ if (!structuralTypeMatches(value, expected)) {
208
+ const expectedStr = formatStructuralType(expected);
209
+ const actualStr = formatStructuralType(inferStructuralType(value));
210
+ throw new RuntimeError('RILL-R004', `Type assertion failed: expected ${expectedStr}, got ${actualStr}`, location, { expectedType: expectedStr, actualType: actualStr });
211
+ }
212
+ return value;
213
+ }
214
+ // Bare structural type (no sub-fields): fall through using type name
215
+ expected = expected.type;
216
+ }
217
+ // Bare type name path
82
218
  if (expected === 'any')
83
219
  return value;
84
220
  const actual = inferType(value);
@@ -99,7 +235,7 @@ function createTypesMixin(Base) {
99
235
  await this.evaluatePostfixExpr(node.operand)
100
236
  : input;
101
237
  const resolved = this.resolveTypeRef(node.typeRef, (name) => getVariable(this.ctx, name));
102
- return this.assertType(value, resolved.typeName, node.span.start);
238
+ return this.assertType(value, resolved.structure, node.span.start);
103
239
  }
104
240
  /**
105
241
  * Evaluate type check: expr:?type or :?type (shorthand for $:?type).
@@ -113,6 +249,13 @@ function createTypesMixin(Base) {
113
249
  await this.evaluatePostfixExpr(node.operand)
114
250
  : input;
115
251
  const resolved = this.resolveTypeRef(node.typeRef, (name) => getVariable(this.ctx, name));
252
+ const hasSubFields = 'element' in resolved.structure ||
253
+ 'fields' in resolved.structure ||
254
+ 'elements' in resolved.structure ||
255
+ 'members' in resolved.structure;
256
+ if (hasSubFields) {
257
+ return structuralTypeMatches(value, resolved.structure);
258
+ }
116
259
  return checkType(value, resolved.typeName);
117
260
  }
118
261
  /**
@@ -159,9 +302,9 @@ function createTypesMixin(Base) {
159
302
  if (!isTypeValue(argValue)) {
160
303
  throw new RuntimeError('RILL-R004', `Type constructor argument must be a type value, got ${inferType(argValue)}`, location);
161
304
  }
162
- return argValue.structure.kind === 'any' &&
305
+ return argValue.structure.type === 'any' &&
163
306
  argValue.typeName !== 'any'
164
- ? { kind: 'primitive', name: argValue.typeName }
307
+ ? { type: argValue.typeName }
165
308
  : argValue.structure;
166
309
  };
167
310
  if (name === 'list') {
@@ -174,7 +317,7 @@ function createTypesMixin(Base) {
174
317
  const argVal = await this.evaluateExpression(arg.value);
175
318
  const elementType = await resolveArgAsType(argVal);
176
319
  const structure = {
177
- kind: 'list',
320
+ type: 'list',
178
321
  element: elementType,
179
322
  };
180
323
  return Object.freeze({
@@ -198,7 +341,7 @@ function createTypesMixin(Base) {
198
341
  fields[arg.name] = await resolveArgAsType(argVal);
199
342
  }
200
343
  }
201
- const structure = { kind: 'dict', fields };
344
+ const structure = { type: 'dict', fields };
202
345
  return Object.freeze({
203
346
  __rill_type: true,
204
347
  typeName: 'dict',
@@ -220,7 +363,7 @@ function createTypesMixin(Base) {
220
363
  elements.push(await resolveArgAsType(argVal));
221
364
  }
222
365
  }
223
- const structure = { kind: 'tuple', elements };
366
+ const structure = { type: 'tuple', elements };
224
367
  return Object.freeze({
225
368
  __rill_type: true,
226
369
  typeName: 'tuple',
@@ -243,7 +386,7 @@ function createTypesMixin(Base) {
243
386
  }
244
387
  }
245
388
  const structure = {
246
- kind: 'ordered',
389
+ type: 'ordered',
247
390
  fields: orderedFields,
248
391
  };
249
392
  return Object.freeze({
@@ -256,7 +399,7 @@ function createTypesMixin(Base) {
256
399
  * Evaluate a closure signature literal into a RillTypeValue [IR-8].
257
400
  *
258
401
  * Creates a closure type value from |param: T, ...|: R syntax.
259
- * Each parameter produces a [name, RillStructuralType] entry.
402
+ * Each parameter produces a [name, RillType] entry.
260
403
  *
261
404
  * Error contracts:
262
405
  * - EC-8: missing return type -> RILL-R004 (enforced at parse time; node always has returnType)
@@ -264,14 +407,14 @@ function createTypesMixin(Base) {
264
407
  */
265
408
  async evaluateClosureSigLiteral(node) {
266
409
  const location = node.span.start;
267
- // Helper: evaluate a type expression and extract RillStructuralType
410
+ // Helper: evaluate a type expression and extract RillType
268
411
  const resolveTypeExpr = async (argVal) => {
269
412
  if (!isTypeValue(argVal)) {
270
413
  throw new RuntimeError('RILL-R004', `Parameter type must be a type value, got ${inferType(argVal)}`, location);
271
414
  }
272
- return argVal.structure.kind === 'any' &&
415
+ return argVal.structure.type === 'any' &&
273
416
  argVal.typeName !== 'any'
274
- ? { kind: 'primitive', name: argVal.typeName }
417
+ ? { type: argVal.typeName }
275
418
  : argVal.structure;
276
419
  };
277
420
  // Evaluate parameter types
@@ -283,16 +426,18 @@ function createTypesMixin(Base) {
283
426
  params.push([param.name, paramType]);
284
427
  }
285
428
  // Evaluate return type (EC-8: required — parser enforces this at parse time)
429
+ // returnType is PostfixExprNode (stops before pipe operators) so the
430
+ // return type annotation cannot accidentally consume a trailing pipe chain.
286
431
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
287
- const retVal = await this.evaluateExpression(node.returnType);
432
+ const retVal = await this.evaluatePostfixExpr(node.returnType);
288
433
  if (!isTypeValue(retVal)) {
289
434
  throw new RuntimeError('RILL-R004', `Closure type literal requires return type after |, got ${inferType(retVal)}`, location);
290
435
  }
291
- const ret = retVal.structure.kind === 'any' &&
436
+ const ret = retVal.structure.type === 'any' &&
292
437
  retVal.typeName !== 'any'
293
- ? { kind: 'primitive', name: retVal.typeName }
438
+ ? { type: retVal.typeName }
294
439
  : retVal.structure;
295
- const structure = { kind: 'closure', params, ret };
440
+ const structure = { type: 'closure', params, ret };
296
441
  return Object.freeze({
297
442
  __rill_type: true,
298
443
  typeName: 'closure',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * UseMixin: Use Expression Evaluation
3
+ *
4
+ * Handles `use<scheme:resource>` expressions:
5
+ * - Resolves identifiers (static, variable, computed) to scheme + resource
6
+ * - Looks up registered resolvers from ctx.resolvers
7
+ * - Detects circular resolution via ctx.resolvingSchemes
8
+ * - Executes 'source' results in a child scope
9
+ * - Returns 'value' results directly
10
+ *
11
+ * Interface requirements (from spec IR-6):
12
+ * - evaluateUseExpr(node) -> Promise<RillValue>
13
+ *
14
+ * Error Contracts:
15
+ * - RILL-R054: Scheme not registered in resolvers
16
+ * - RILL-R055: Circular resolution detected
17
+ * - RILL-R056: Resolver callback throws
18
+ * - RILL-R057: Variable/computed form produces non-string
19
+ * - RILL-R058: Resolved string missing ':' separator
20
+ * - RILL-R061: parseSource not configured when resolver returns source
21
+ *
22
+ * @internal
23
+ */
24
+ export declare const UseMixin: any;
25
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/use.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AA8KH,eAAO,MAAM,QAAQ,EAAqB,GAAG,CAAC"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * UseMixin: Use Expression Evaluation
3
+ *
4
+ * Handles `use<scheme:resource>` expressions:
5
+ * - Resolves identifiers (static, variable, computed) to scheme + resource
6
+ * - Looks up registered resolvers from ctx.resolvers
7
+ * - Detects circular resolution via ctx.resolvingSchemes
8
+ * - Executes 'source' results in a child scope
9
+ * - Returns 'value' results directly
10
+ *
11
+ * Interface requirements (from spec IR-6):
12
+ * - evaluateUseExpr(node) -> Promise<RillValue>
13
+ *
14
+ * Error Contracts:
15
+ * - RILL-R054: Scheme not registered in resolvers
16
+ * - RILL-R055: Circular resolution detected
17
+ * - RILL-R056: Resolver callback throws
18
+ * - RILL-R057: Variable/computed form produces non-string
19
+ * - RILL-R058: Resolved string missing ':' separator
20
+ * - RILL-R061: parseSource not configured when resolver returns source
21
+ *
22
+ * @internal
23
+ */
24
+ import { RuntimeError } from '../../../../types.js';
25
+ import { createChildContext } from '../../context.js';
26
+ import { execute } from '../../execute.js';
27
+ /**
28
+ * UseMixin implementation.
29
+ *
30
+ * Provides use<> expression evaluation. Resolves scheme-qualified identifiers
31
+ * via the host-provided resolver map on RuntimeContext.
32
+ *
33
+ * Depends on:
34
+ * - EvaluatorBase: ctx, getNodeLocation()
35
+ * - context utilities: createChildContext
36
+ * - execute.ts: execute() for source results
37
+ * - CoreMixin: evaluateExpression() for computed identifiers
38
+ * - VariablesMixin: evaluateVariableAsync() for variable identifiers
39
+ *
40
+ * Methods added:
41
+ * - evaluateUseExpr(node) -> Promise<RillValue>
42
+ */
43
+ function createUseMixin(Base) {
44
+ return class UseEvaluator extends Base {
45
+ /**
46
+ * Evaluate a use<> expression [IR-6].
47
+ *
48
+ * Resolves the identifier to a scheme + resource string, calls the
49
+ * registered resolver, and returns the result value (or executes source).
50
+ */
51
+ async evaluateUseExpr(node) {
52
+ let scheme;
53
+ let resource;
54
+ const { identifier } = node;
55
+ if (identifier.kind === 'static') {
56
+ // Static form: scheme and segments known at parse time
57
+ scheme = identifier.scheme;
58
+ resource = identifier.segments.join('.');
59
+ }
60
+ else if (identifier.kind === 'variable') {
61
+ // Variable form: evaluate the variable, expect string
62
+ const varNode = {
63
+ type: 'Variable',
64
+ name: identifier.name,
65
+ isPipeVar: false,
66
+ accessChain: [],
67
+ defaultValue: null,
68
+ span: node.span,
69
+ };
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+ const varValue = await this.evaluateVariableAsync(varNode);
72
+ if (typeof varValue !== 'string') {
73
+ throw RuntimeError.fromNode('RILL-R057', `use<> identifier must resolve to string, got ${typeof varValue}`, node);
74
+ }
75
+ const parsed = parseSchemeString(varValue, node);
76
+ scheme = parsed.scheme;
77
+ resource = parsed.resource;
78
+ }
79
+ else {
80
+ // Computed form: evaluate the expression, expect string
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ const exprValue = await this.evaluateExpression(identifier.expression);
83
+ if (typeof exprValue !== 'string') {
84
+ throw RuntimeError.fromNode('RILL-R057', `use<> identifier must resolve to string, got ${typeof exprValue}`, node);
85
+ }
86
+ const parsed = parseSchemeString(exprValue, node);
87
+ scheme = parsed.scheme;
88
+ resource = parsed.resource;
89
+ }
90
+ // Look up resolver
91
+ const resolver = this.ctx.resolvers.get(scheme);
92
+ if (!resolver) {
93
+ throw RuntimeError.fromNode('RILL-R054', `No resolver registered for scheme '${scheme}'`, node);
94
+ }
95
+ // Cycle detection: check before calling resolver
96
+ const key = `${scheme}:${resource}`;
97
+ if (this.ctx.resolvingSchemes.has(key)) {
98
+ throw RuntimeError.fromNode('RILL-R055', `Circular resolution detected: ${key} is already being resolved`, node);
99
+ }
100
+ // Mark in-flight — must stay set through source execution so circular
101
+ // re-entry within the executed source is detected (EC-7 / RILL-R055).
102
+ this.ctx.resolvingSchemes.add(key);
103
+ let result;
104
+ try {
105
+ const config = this.ctx.resolverConfigs.get(scheme);
106
+ try {
107
+ result = await resolver(resource, config);
108
+ }
109
+ catch (err) {
110
+ const message = err instanceof Error ? err.message : String(err);
111
+ throw RuntimeError.fromNode('RILL-R056', `Resolver error for '${key}': ${message}`, node);
112
+ }
113
+ // Handle result — key is still in-flight for the source execution path
114
+ if (result.kind === 'value') {
115
+ return result.value;
116
+ }
117
+ // source: parse and execute in child scope
118
+ const parseSource = this.ctx.parseSource;
119
+ if (!parseSource) {
120
+ throw RuntimeError.fromNode('RILL-R061', `Resolver error for '${key}': parseSource is not configured on RuntimeContext — provide parseSource in RuntimeOptions to use source resolvers`, node);
121
+ }
122
+ const scriptNode = parseSource(result.text);
123
+ const childCtx = createChildContext(this.ctx);
124
+ const execResult = await execute(scriptNode, childCtx);
125
+ return execResult.result;
126
+ }
127
+ finally {
128
+ // Remove after resolver call and any source execution complete (or error)
129
+ this.ctx.resolvingSchemes.delete(key);
130
+ }
131
+ }
132
+ };
133
+ }
134
+ /**
135
+ * Parse a "scheme:resource" string, throwing RILL-R058 if ':' is absent.
136
+ * @internal
137
+ */
138
+ function parseSchemeString(value, node) {
139
+ const colonIndex = value.indexOf(':');
140
+ if (colonIndex === -1) {
141
+ throw RuntimeError.fromNode('RILL-R058', `use<> identifier must contain ':' scheme separator`, node);
142
+ }
143
+ return {
144
+ scheme: value.slice(0, colonIndex),
145
+ resource: value.slice(colonIndex + 1),
146
+ };
147
+ }
148
+ // Export with type assertion to work around TS4094 limitation
149
+ // TypeScript can't generate declarations for functions returning classes with protected members
150
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
+ export const UseMixin = createUseMixin;
152
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/use.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/variables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA4wBH,eAAO,MAAM,cAAc,EAA2B,GAAG,CAAC"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/variables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA2zBH,eAAO,MAAM,cAAc,EAA2B,GAAG,CAAC"}