@rcrsr/rill 0.13.2 → 0.14.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 (79) hide show
  1. package/dist/error-classes.d.ts +2 -0
  2. package/dist/error-classes.d.ts.map +1 -1
  3. package/dist/error-classes.js.map +1 -1
  4. package/dist/error-formatter.d.ts +56 -0
  5. package/dist/error-formatter.d.ts.map +1 -0
  6. package/dist/error-formatter.js +277 -0
  7. package/dist/error-formatter.js.map +1 -0
  8. package/dist/error-registry.js +1 -1
  9. package/dist/error-registry.js.map +1 -1
  10. package/dist/ext/crypto/index.d.ts.map +1 -1
  11. package/dist/ext/crypto/index.js +11 -8
  12. package/dist/ext/crypto/index.js.map +1 -1
  13. package/dist/ext/exec/index.d.ts.map +1 -1
  14. package/dist/ext/exec/index.js +7 -4
  15. package/dist/ext/exec/index.js.map +1 -1
  16. package/dist/ext/fetch/index.d.ts.map +1 -1
  17. package/dist/ext/fetch/index.js +8 -7
  18. package/dist/ext/fetch/index.js.map +1 -1
  19. package/dist/ext/fs/index.d.ts.map +1 -1
  20. package/dist/ext/fs/index.js +25 -24
  21. package/dist/ext/fs/index.js.map +1 -1
  22. package/dist/ext/kv/index.d.ts.map +1 -1
  23. package/dist/ext/kv/index.js +27 -22
  24. package/dist/ext/kv/index.js.map +1 -1
  25. package/dist/generated/version-data.d.ts +1 -1
  26. package/dist/generated/version-data.js +3 -3
  27. package/dist/index.d.ts +2 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +5 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/runtime/core/callable.d.ts +7 -43
  32. package/dist/runtime/core/callable.d.ts.map +1 -1
  33. package/dist/runtime/core/callable.js +6 -17
  34. package/dist/runtime/core/callable.js.map +1 -1
  35. package/dist/runtime/core/context.d.ts +16 -1
  36. package/dist/runtime/core/context.d.ts.map +1 -1
  37. package/dist/runtime/core/context.js +97 -68
  38. package/dist/runtime/core/context.js.map +1 -1
  39. package/dist/runtime/core/eval/index.d.ts.map +1 -1
  40. package/dist/runtime/core/eval/index.js +1 -3
  41. package/dist/runtime/core/eval/index.js.map +1 -1
  42. package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
  43. package/dist/runtime/core/eval/mixins/closures.js +194 -114
  44. package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
  45. package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
  46. package/dist/runtime/core/eval/mixins/extraction.js +5 -5
  47. package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
  48. package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
  49. package/dist/runtime/core/eval/mixins/literals.js +18 -28
  50. package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
  51. package/dist/runtime/core/eval/mixins/use.d.ts.map +1 -1
  52. package/dist/runtime/core/eval/mixins/use.js +24 -4
  53. package/dist/runtime/core/eval/mixins/use.js.map +1 -1
  54. package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
  55. package/dist/runtime/core/eval/mixins/variables.js +2 -2
  56. package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
  57. package/dist/runtime/core/introspection.d.ts.map +1 -1
  58. package/dist/runtime/core/introspection.js +4 -10
  59. package/dist/runtime/core/introspection.js.map +1 -1
  60. package/dist/runtime/core/resolvers.d.ts +3 -4
  61. package/dist/runtime/core/resolvers.d.ts.map +1 -1
  62. package/dist/runtime/core/resolvers.js +5 -11
  63. package/dist/runtime/core/resolvers.js.map +1 -1
  64. package/dist/runtime/core/types.d.ts +14 -15
  65. package/dist/runtime/core/types.d.ts.map +1 -1
  66. package/dist/runtime/core/types.js.map +1 -1
  67. package/dist/runtime/core/values.d.ts +11 -0
  68. package/dist/runtime/core/values.d.ts.map +1 -1
  69. package/dist/runtime/core/values.js +36 -25
  70. package/dist/runtime/core/values.js.map +1 -1
  71. package/dist/runtime/ext/builtins.d.ts +10 -3
  72. package/dist/runtime/ext/builtins.d.ts.map +1 -1
  73. package/dist/runtime/ext/builtins.js +578 -608
  74. package/dist/runtime/ext/builtins.js.map +1 -1
  75. package/dist/runtime/index.d.ts +3 -3
  76. package/dist/runtime/index.d.ts.map +1 -1
  77. package/dist/runtime/index.js +2 -2
  78. package/dist/runtime/index.js.map +1 -1
  79. package/package.json +1 -1
@@ -41,10 +41,10 @@
41
41
  *
42
42
  * @internal
43
43
  */
44
- import { RuntimeError } from '../../../../types.js';
44
+ import { RillError, RuntimeError } from '../../../../types.js';
45
45
  import { isCallable, isScriptCallable, isApplicationCallable, isDict, validateCallableArgs, paramsToStructuralType, } from '../../callable.js';
46
- import { getVariable, pushCallFrame, popCallFrame } from '../../context.js';
47
- import { inferType, isTypeValue, isTuple, isOrdered, createOrdered, inferStructuralType, structuralTypeMatches, formatStructuralType, } from '../../values.js';
46
+ import { getVariable, pushCallFrame, popCallFrame, UNVALIDATED_METHOD_PARAMS, UNVALIDATED_METHOD_RECEIVERS, } from '../../context.js';
47
+ import { inferType, isTypeValue, isTuple, isOrdered, createOrdered, inferStructuralType, structuralTypeMatches, formatStructuralType, anyTypeValue, } from '../../values.js';
48
48
  /**
49
49
  * ClosuresMixin implementation.
50
50
  *
@@ -107,6 +107,7 @@ function createClosuresMixin(Base) {
107
107
  end: callLocation,
108
108
  },
109
109
  functionName: name,
110
+ sourceId: this.ctx.sourceId,
110
111
  };
111
112
  pushCallFrame(this.ctx, frame);
112
113
  }
@@ -118,6 +119,24 @@ function createClosuresMixin(Base) {
118
119
  return await this.invokeFnCallable(callable, args, callLocation, functionName);
119
120
  }
120
121
  }
122
+ catch (error) {
123
+ // Snapshot call stack onto error before finally pops the frame.
124
+ // First snapshot wins — nested calls capture the deepest stack.
125
+ if (error instanceof RillError && this.ctx.callStack.length > 0) {
126
+ const ctx = error.context;
127
+ if (ctx && !ctx['callStack']) {
128
+ ctx['callStack'] = [...this.ctx.callStack];
129
+ }
130
+ else if (!ctx) {
131
+ // context is readonly on the property, but we can override via cast
132
+ // for errors constructed without a context object
133
+ error.context = {
134
+ callStack: [...this.ctx.callStack],
135
+ };
136
+ }
137
+ }
138
+ throw error;
139
+ }
121
140
  finally {
122
141
  // Pop call frame after invocation completes (IR-3)
123
142
  // Ensure pop happens even on error paths
@@ -135,13 +154,23 @@ function createClosuresMixin(Base) {
135
154
  // Apply boundDict BEFORE validation (property-style callables need dict as first arg)
136
155
  const effectiveArgs = callable.boundDict && args.length === 0 ? [callable.boundDict] : args;
137
156
  // Validate arguments for typed ApplicationCallable (task 1.5)
138
- // Only validate if callable has params metadata (not undefined)
139
- // ApplicationCallable from callable(): params is undefined (untyped, skip validation)
157
+ // Skip when params is undefined (untyped callable() factory).
158
+ // Explicitly registered zero-param callables have params: [] and still validate.
140
159
  if (isApplicationCallable(callable) && callable.params !== undefined) {
141
160
  validateCallableArgs(effectiveArgs, callable.params, functionName, callLocation);
142
161
  }
143
- const result = callable.fn(effectiveArgs, this.ctx, callLocation);
144
- return result instanceof Promise ? await result : result;
162
+ try {
163
+ const result = callable.fn(effectiveArgs, this.ctx, callLocation);
164
+ return result instanceof Promise ? await result : result;
165
+ }
166
+ catch (error) {
167
+ if (error instanceof RuntimeError && !error.location && callLocation) {
168
+ // Enrich extension errors with call site location via construction
169
+ const span = { start: callLocation, end: callLocation };
170
+ throw new RuntimeError(error.errorId, error.toData().message, callLocation, error.context, span);
171
+ }
172
+ throw error;
173
+ }
145
174
  }
146
175
  /**
147
176
  * Create callable context for script closure invocation.
@@ -155,12 +184,15 @@ function createClosuresMixin(Base) {
155
184
  // - Explicit-param closures (|a,b|{ ... }): clear to prevent leakage
156
185
  // - boundDict always overrides
157
186
  const hasExplicitParams = callable.params.length > 0 && callable.params[0].name !== '$';
187
+ const defScope = callable.definingScope;
158
188
  const callableCtx = {
159
189
  ...this.ctx,
160
- parent: callable.definingScope,
190
+ parent: defScope,
161
191
  variables: new Map(),
162
192
  variableTypes: new Map(),
163
193
  pipeValue: hasExplicitParams ? null : this.ctx.pipeValue,
194
+ sourceId: defScope.sourceId ?? this.ctx.sourceId,
195
+ sourceText: defScope.sourceText ?? this.ctx.sourceText,
164
196
  };
165
197
  if (callable.boundDict) {
166
198
  callableCtx.pipeValue = callable.boundDict;
@@ -221,14 +253,29 @@ function createClosuresMixin(Base) {
221
253
  try {
222
254
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
223
255
  const result = await this.evaluateBodyExpression(callable.body);
224
- // IR-4: Assert return value against declared returnShape (AC-14, AC-15, AC-16)
225
- if (callable.returnShape !== undefined) {
256
+ // IR-4: Assert return value against declared returnType (AC-14, AC-15, AC-16)
257
+ if (callable.returnType.typeName !== 'any') {
226
258
  // EC-4: Type assertion — value must match the declared scalar type
227
259
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
228
- this.assertType(result, callable.returnShape.structure, callLocation);
260
+ this.assertType(result, callable.returnType.structure, callLocation);
229
261
  }
230
262
  return result;
231
263
  }
264
+ catch (error) {
265
+ // Enrich errors with sourceId and sourceText from the callable's execution context
266
+ // First assignment wins — preserves the deepest (most specific) source
267
+ if (error instanceof RillError &&
268
+ !error.sourceId &&
269
+ callableCtx.sourceId) {
270
+ error.sourceId = callableCtx.sourceId;
271
+ if (callableCtx.sourceText) {
272
+ const ctx = (error.context ?? {});
273
+ ctx['sourceText'] = callableCtx.sourceText;
274
+ error.context = ctx;
275
+ }
276
+ }
277
+ throw error;
278
+ }
232
279
  finally {
233
280
  this.ctx = savedCtx;
234
281
  }
@@ -247,7 +294,7 @@ function createClosuresMixin(Base) {
247
294
  const hasSpread = node.args.some((a) => a.type === 'SpreadArg');
248
295
  if (hasSpread) {
249
296
  const isUntypedBuiltin = typeof fn === 'function' ||
250
- (isApplicationCallable(fn) && fn.params === undefined);
297
+ (isApplicationCallable(fn) && (fn.params?.length ?? 0) === 0);
251
298
  if (isUntypedBuiltin) {
252
299
  // EC-10: built-in with no param metadata — spread not supported
253
300
  throw new RuntimeError('RILL-R001', `Spread not supported for built-in function '${node.name}'`, this.getNodeLocation(node), { functionName: node.name });
@@ -272,16 +319,11 @@ function createClosuresMixin(Base) {
272
319
  return result;
273
320
  }
274
321
  const args = await this.evaluateArgs(node.args);
275
- // Add pipe value to empty args list UNLESS function has typed params with length 0
276
- // (typed functions with params: [] explicitly declare zero parameters)
322
+ // Add pipe value to empty args list.
323
+ // Empty params means "untyped" (callable() factory), not zero-param typed.
324
+ // No typed zero-param host functions currently exist, so always pass pipe value.
277
325
  if (args.length === 0 && this.ctx.pipeValue !== null) {
278
- const fnHasTypedZeroParams = typeof fn === 'object' &&
279
- 'params' in fn &&
280
- fn.params !== undefined &&
281
- fn.params.length === 0;
282
- if (!fnHasTypedZeroParams) {
283
- args.push(this.ctx.pipeValue);
284
- }
326
+ args.push(this.ctx.pipeValue);
285
327
  }
286
328
  // Observability: onHostCall before execution
287
329
  this.ctx.observability.onHostCall?.({ name: node.name, args });
@@ -296,6 +338,9 @@ function createClosuresMixin(Base) {
296
338
  kind: 'runtime',
297
339
  fn,
298
340
  isProperty: false,
341
+ params: [],
342
+ annotations: {},
343
+ returnType: anyTypeValue,
299
344
  };
300
345
  return this.invokeCallable(callable, args, node.span.start, node.name);
301
346
  }
@@ -340,7 +385,9 @@ function createClosuresMixin(Base) {
340
385
  __type: 'callable',
341
386
  kind: 'application',
342
387
  fn,
343
- params: undefined,
388
+ params: [],
389
+ annotations: {},
390
+ returnType: anyTypeValue,
344
391
  isProperty: false,
345
392
  };
346
393
  }
@@ -352,10 +399,9 @@ function createClosuresMixin(Base) {
352
399
  return appCallable;
353
400
  }
354
401
  // Pipe/branch context: pipe value present → invoke with it as implicit argument
355
- const fnHasTypedZeroParams = appCallable.params !== undefined && appCallable.params.length === 0;
356
- const args = fnHasTypedZeroParams
357
- ? []
358
- : [this.ctx.pipeValue];
402
+ // Empty params means "untyped" (callable() factory), not zero-param typed.
403
+ // No zero-param host functions currently exist, so always pass the pipe value.
404
+ const args = [this.ctx.pipeValue];
359
405
  return this.invokeCallable(appCallable, args, this.getNodeLocation(node), node.name);
360
406
  }
361
407
  /**
@@ -505,41 +551,99 @@ function createClosuresMixin(Base) {
505
551
  }
506
552
  }
507
553
  const args = await this.evaluateArgs(node.args);
554
+ // §9.3: Resolve method via typeMethodDicts (type method takes priority over dict key)
555
+ // AC-27: Type method has priority over dict value key.
556
+ const typeName = inferType(receiver);
557
+ const typeDict = this.ctx.typeMethodDicts.get(typeName);
558
+ const typeMethod = typeDict?.[node.name];
559
+ if (typeMethod !== undefined && isApplicationCallable(typeMethod)) {
560
+ // AC-24 (EC-7): validate method args via typeMethod.params when set.
561
+ // Methods in UNVALIDATED_METHOD_PARAMS handle their own arg validation
562
+ // with specific error messages; skip generic validation for them.
563
+ if (!UNVALIDATED_METHOD_PARAMS.has(node.name) &&
564
+ typeMethod.params !== undefined &&
565
+ typeMethod.params.length > 0) {
566
+ validateCallableArgs(args, typeMethod.params, node.name, this.getNodeLocation(node));
567
+ }
568
+ // buildMethodEntry wraps fn(args) where args[0] = receiver and args[1..] = method args
569
+ // Invoke fn directly to preserve the receiver-as-first-arg contract without
570
+ // triggering invokeCallable's arity validation (params counts method args only)
571
+ try {
572
+ const result = typeMethod.fn([receiver, ...args], this.ctx, this.getNodeLocation(node));
573
+ return result instanceof Promise ? await result : result;
574
+ }
575
+ catch (error) {
576
+ const callLocation = this.getNodeLocation(node);
577
+ if (error instanceof RuntimeError &&
578
+ !error.location &&
579
+ callLocation) {
580
+ const span = { start: callLocation, end: callLocation };
581
+ throw new RuntimeError(error.errorId, error.toData().message, callLocation, error.context, span);
582
+ }
583
+ throw error;
584
+ }
585
+ }
586
+ // Dict-bound closure lookup: only reached when method not in type dict
508
587
  if (isDict(receiver)) {
509
588
  const dictValue = receiver[node.name];
510
589
  if (dictValue !== undefined && isCallable(dictValue)) {
511
590
  return this.invokeCallable(dictValue, args, this.getNodeLocation(node), node.name);
512
591
  }
513
592
  }
514
- // Fall back to property access on dict (no-arg only), before built-in lookup
593
+ // Property access on dict (no-arg only): only reached when method not in type dict
515
594
  if (isDict(receiver) &&
516
595
  args.length === 0 &&
517
596
  Object.hasOwn(receiver, node.name)) {
518
597
  return receiver[node.name];
519
598
  }
520
- const method = this.ctx.methods.get(node.name);
521
- if (!method) {
522
- // EC-5: Unknown dot property on type value raises RILL-R009
523
- if (isTypeValue(receiver)) {
524
- throw new RuntimeError('RILL-R009', `Property '${node.name}' not found on type value (available: name, signature)`, this.getNodeLocation(node), { property: node.name, type: 'type value' });
599
+ // EC-5: Unknown dot property on type value raises RILL-R009
600
+ if (isTypeValue(receiver)) {
601
+ throw new RuntimeError('RILL-R009', `Property '${node.name}' not found on type value (available: name, signature)`, this.getNodeLocation(node), { property: node.name, type: 'type value' });
602
+ }
603
+ // RILL-R003: method exists on other types but not this receiver's type.
604
+ // Methods in UNVALIDATED_METHOD_RECEIVERS handle their own receiver validation
605
+ // with specific error messages; skip generic RILL-R003 for them and let the
606
+ // method body run its own check (they exist in at least one type dict).
607
+ if (!UNVALIDATED_METHOD_RECEIVERS.has(node.name)) {
608
+ const supportedTypes = [];
609
+ for (const [dictType, dict] of this.ctx.typeMethodDicts) {
610
+ if (dict[node.name] !== undefined) {
611
+ supportedTypes.push(dictType);
612
+ }
525
613
  }
526
- throw new RuntimeError('RILL-R007', `Unknown method: ${node.name}`, this.getNodeLocation(node), { methodName: node.name });
527
- }
528
- // AC-14: enforce receiverTypes constraint before invoking method
529
- const allowedReceivers = this.ctx.methodReceiverTypes.get(node.name);
530
- if (allowedReceivers !== undefined && allowedReceivers.length > 0) {
531
- const receiverType = inferType(receiver);
532
- if (!allowedReceivers.includes(receiverType)) {
533
- throw new RuntimeError('RILL-R003', `Method '${node.name}' not supported on ${receiverType}; supported: ${allowedReceivers.join(', ')}`, this.getNodeLocation(node), { methodName: node.name, receiverType });
614
+ if (supportedTypes.length > 0) {
615
+ throw new RuntimeError('RILL-R003', `Method '${node.name}' not supported on ${typeName}; supported: ${supportedTypes.join(', ')}`, this.getNodeLocation(node), { methodName: node.name, receiverType: typeName });
534
616
  }
535
617
  }
536
- // AC-15: validate method arg types against parsed signature params
537
- const mParams = this.ctx.methodParams.get(node.name);
538
- if (mParams !== undefined) {
539
- validateCallableArgs(args, mParams, node.name, this.getNodeLocation(node));
618
+ else {
619
+ // UNVALIDATED_METHOD_RECEIVERS: dispatch to the method in ANY type dict so the
620
+ // method body can run its own custom receiver validation and error message.
621
+ for (const [, dict] of this.ctx.typeMethodDicts) {
622
+ const fallbackMethod = dict[node.name];
623
+ if (fallbackMethod !== undefined &&
624
+ isApplicationCallable(fallbackMethod)) {
625
+ try {
626
+ const result = fallbackMethod.fn([receiver, ...args], this.ctx, this.getNodeLocation(node));
627
+ return result instanceof Promise ? await result : result;
628
+ }
629
+ catch (error) {
630
+ const callLocation = this.getNodeLocation(node);
631
+ if (error instanceof RuntimeError &&
632
+ !error.location &&
633
+ callLocation) {
634
+ const span = {
635
+ start: callLocation,
636
+ end: callLocation,
637
+ };
638
+ throw new RuntimeError(error.errorId, error.toData().message, callLocation, error.context, span);
639
+ }
640
+ throw error;
641
+ }
642
+ }
643
+ }
540
644
  }
541
- const result = method(receiver, args, this.ctx, this.getNodeLocation(node));
542
- return result instanceof Promise ? await result : result;
645
+ // EC-1: Method not found on any type dict → RILL-R007
646
+ throw new RuntimeError('RILL-R007', `Unknown method: ${node.name} on type ${typeName}`, this.getNodeLocation(node), { methodName: node.name, typeName });
543
647
  }
544
648
  /**
545
649
  * Evaluate postfix invocation: expr(args)
@@ -563,11 +667,11 @@ function createClosuresMixin(Base) {
563
667
  }
564
668
  /**
565
669
  * Evaluate annotation reflection access: .^key
566
- * Resolves annotation metadata from ScriptCallable values.
670
+ * Resolves annotation metadata from callable values.
567
671
  *
568
- * Only ScriptCallable values support annotation reflection.
569
- * Throws RUNTIME_TYPE_ERROR for non-closure targets.
570
- * Throws RUNTIME_UNDEFINED_ANNOTATION for missing annotations.
672
+ * All 3 callable kinds (script, application, runtime) support annotation reflection.
673
+ * Throws RILL-R003 for non-callable, non-type-value targets.
674
+ * Throws RILL-R008 for unknown annotation keys or type value receivers.
571
675
  */
572
676
  async evaluateAnnotationAccess(value, key, location) {
573
677
  // IR-2: .^type returns a RillTypeValue for any rill value
@@ -579,68 +683,45 @@ function createClosuresMixin(Base) {
579
683
  });
580
684
  return typeValue;
581
685
  }
582
- // IR-5: .^name on type values raises RILL-R008 (type values are not annotation containers)
583
- if (isTypeValue(value) && key === 'name') {
686
+ // EC-5: type values are not annotation containers any ^key raises RILL-R008
687
+ if (isTypeValue(value)) {
584
688
  throw new RuntimeError('RILL-R008', `Annotation access not supported on type values`, location, { annotationKey: key });
585
689
  }
586
- // IR-2/IR-5: .^input returns the input shape for callable values
690
+ // Non-callable values do not support annotation reflection
691
+ if (!isCallable(value)) {
692
+ throw new RuntimeError('RILL-R003', `annotation not found: ^${key}`, location, { actualType: inferType(value) });
693
+ }
694
+ // IR-3: ^description reads from callable.annotations["description"], returns {} if absent
695
+ if (key === 'description') {
696
+ return value.annotations['description'] ?? {};
697
+ }
698
+ // IR-3: ^input computes from callable.params via paramsToStructuralType() for all kinds
587
699
  // Params are converted from internal tuples to RillOrdered so the
588
700
  // value survives rill's homogeneous-list constraint.
589
701
  if (key === 'input') {
590
- if (isScriptCallable(value)) {
591
- const shape = value.inputShape;
592
- if (shape.type === 'closure') {
593
- return {
594
- type: shape.type,
595
- params: createOrdered(shape.params),
596
- ret: value.returnShape !== undefined
597
- ? value.returnShape.structure
598
- : shape.ret,
599
- };
600
- }
601
- return shape;
602
- }
603
- if (isApplicationCallable(value)) {
604
- if (value.params === undefined) {
605
- // IR-5: untyped host function — no shape available
606
- return false;
607
- }
608
- // ApplicationCallable.params is RillParam[]; pass directly to paramsToStructuralType
609
- const shape = paramsToStructuralType(value.params);
610
- if (shape.type === 'closure') {
611
- return {
612
- type: shape.type,
613
- params: createOrdered(shape.params),
614
- ret: shape.ret,
615
- };
616
- }
617
- return shape;
702
+ // Untyped host callables have params set to undefined at runtime (see callable() factory)
703
+ if (value.params === undefined) {
704
+ return false;
705
+ }
706
+ const shape = paramsToStructuralType(value.params);
707
+ if (shape.type === 'closure') {
708
+ return {
709
+ type: shape.type,
710
+ params: createOrdered(shape.params),
711
+ // Use callable.returnType.structure so :type-target return annotation is reflected
712
+ // Fall back to { type: 'any' } for callables without returnType (legacy construction)
713
+ ret: value.returnType?.structure ?? { type: 'any' },
714
+ };
618
715
  }
619
- // Non-callable: fall through to existing RILL-R003 guard below
716
+ return shape;
620
717
  }
621
- // IR-3: .^output returns the declared output contract for callable values
718
+ // IR-3: ^output reads callable.returnType directly for all kinds
622
719
  if (key === 'output') {
623
- if (isScriptCallable(value)) {
624
- if (value.returnShape !== undefined) {
625
- return value.returnShape;
626
- }
627
- // No :type-target declared — return type value `any` (AC-17, AC-18, AC-19)
628
- const anyTypeValue = Object.freeze({
629
- __rill_type: true,
630
- typeName: 'any',
631
- structure: { type: 'any' },
632
- });
633
- return anyTypeValue;
634
- }
635
- // Non-callable: fall through to existing RILL-R003 guard below
636
- }
637
- // Only ScriptCallable supports annotation reflection
638
- if (!isScriptCallable(value)) {
639
- throw new RuntimeError('RILL-R003', `annotation not found: ^${key}`, location, { actualType: inferType(value) });
720
+ return value.returnType;
640
721
  }
641
- // Access annotation from ScriptCallable
722
+ // Access annotation from callable.annotations for all callable kinds
642
723
  const annotationValue = value.annotations[key];
643
- // Throw if annotation not found (caller handles ?? coalescing)
724
+ // EC-4: unknown annotation key throws RILL-R008
644
725
  if (annotationValue === undefined) {
645
726
  throw new RuntimeError('RILL-R008', `Annotation '${key}' not found`, location, { annotationKey: key });
646
727
  }
@@ -777,34 +858,33 @@ function createClosuresMixin(Base) {
777
858
  return { params: bound };
778
859
  }
779
860
  /**
780
- * Evaluate .params property access on closures.
781
- * Builds dict from closure parameter metadata.
861
+ * Evaluate .params property access on callables.
862
+ * Builds dict from callable parameter metadata.
782
863
  *
783
864
  * Returns dict keyed by parameter name, where each entry is a dict with:
784
865
  * - type: string (if param has type annotation)
785
866
  * - __annotations: dict (if param has parameter-level annotations)
786
867
  *
787
- * Empty params closure returns empty dict [].
788
- * Throws RUNTIME_TYPE_ERROR for non-closure targets.
868
+ * Empty params callable returns empty dict [].
869
+ * Works on all 3 callable kinds via CallableBase.params.
870
+ * Throws RILL-R003 for non-callable targets.
789
871
  */
790
872
  async evaluateParamsProperty(callable, location) {
791
- // Only ScriptCallable supports .params reflection
792
- if (!isScriptCallable(callable)) {
873
+ // All callable kinds support .params reflection via CallableBase.params
874
+ if (!isCallable(callable)) {
793
875
  throw new RuntimeError('RILL-R003', `Cannot access .params on ${inferType(callable)}`, location, { actualType: inferType(callable) });
794
876
  }
795
- // Build params dict from ScriptCallable.params and paramAnnotations
877
+ // Build params dict from CallableBase.params works for all 3 callable kinds
796
878
  const paramsDict = {};
797
- for (const param of callable.params) {
879
+ for (const param of callable.params ?? []) {
798
880
  const paramEntry = {};
799
881
  // Add type field if param has type annotation
800
882
  if (param.type !== undefined) {
801
883
  paramEntry['type'] = formatStructuralType(param.type);
802
884
  }
803
885
  // Add __annotations field if param has parameter-level annotations
804
- const paramAnnotations = callable.paramAnnotations[param.name];
805
- if (paramAnnotations !== undefined &&
806
- Object.keys(paramAnnotations).length > 0) {
807
- paramEntry['__annotations'] = paramAnnotations;
886
+ if (Object.keys(param.annotations).length > 0) {
887
+ paramEntry['__annotations'] = param.annotations;
808
888
  }
809
889
  paramsDict[param.name] = paramEntry;
810
890
  }
@@ -1 +1 @@
1
- {"version":3,"file":"closures.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/closures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closures.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/closures.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA8hBH,eAAO,MAAM,eAAe,EAA4B,GAAG,CAAC"}
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgiBH,eAAO,MAAM,eAAe,EAA4B,GAAG,CAAC"}
@@ -140,13 +140,13 @@ function createExtractionMixin(Base) {
140
140
  throw new RuntimeError('RILL-R002', `Slice requires list or string, got ${isDict(input) ? 'dict' : typeof input}`, node.span.start);
141
141
  }
142
142
  const startBound = node.start
143
- ? await this.evaluateSliceBound(node.start)
143
+ ? await this.evaluateSliceBound(node.start, node.span.start)
144
144
  : null;
145
145
  const stopBound = node.stop
146
- ? await this.evaluateSliceBound(node.stop)
146
+ ? await this.evaluateSliceBound(node.stop, node.span.start)
147
147
  : null;
148
148
  const stepBound = node.step
149
- ? await this.evaluateSliceBound(node.step)
149
+ ? await this.evaluateSliceBound(node.step, node.span.start)
150
150
  : null;
151
151
  if (isList) {
152
152
  return this.applySlice(input, input.length, startBound, stopBound, stepBound);
@@ -157,9 +157,9 @@ function createExtractionMixin(Base) {
157
157
  * Evaluate a slice bound expression (start, stop, or step).
158
158
  * Returns the numeric value of the bound.
159
159
  */
160
- async evaluateSliceBound(bound) {
160
+ async evaluateSliceBound(bound, location) {
161
161
  if (bound === null) {
162
- throw new RuntimeError('RILL-R002', 'Slice bound is null', undefined);
162
+ throw new RuntimeError('RILL-R002', 'Slice bound is null', location);
163
163
  }
164
164
  switch (bound.type) {
165
165
  case 'NumberLiteral':