@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.
- package/dist/error-classes.d.ts +2 -0
- package/dist/error-classes.d.ts.map +1 -1
- package/dist/error-classes.js.map +1 -1
- package/dist/error-formatter.d.ts +56 -0
- package/dist/error-formatter.d.ts.map +1 -0
- package/dist/error-formatter.js +277 -0
- package/dist/error-formatter.js.map +1 -0
- package/dist/error-registry.js +1 -1
- package/dist/error-registry.js.map +1 -1
- package/dist/ext/crypto/index.d.ts.map +1 -1
- package/dist/ext/crypto/index.js +11 -8
- package/dist/ext/crypto/index.js.map +1 -1
- package/dist/ext/exec/index.d.ts.map +1 -1
- package/dist/ext/exec/index.js +7 -4
- package/dist/ext/exec/index.js.map +1 -1
- package/dist/ext/fetch/index.d.ts.map +1 -1
- package/dist/ext/fetch/index.js +8 -7
- package/dist/ext/fetch/index.js.map +1 -1
- package/dist/ext/fs/index.d.ts.map +1 -1
- package/dist/ext/fs/index.js +25 -24
- package/dist/ext/fs/index.js.map +1 -1
- package/dist/ext/kv/index.d.ts.map +1 -1
- package/dist/ext/kv/index.js +27 -22
- package/dist/ext/kv/index.js.map +1 -1
- package/dist/generated/version-data.d.ts +1 -1
- package/dist/generated/version-data.js +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +7 -43
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +6 -17
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/core/context.d.ts +16 -1
- package/dist/runtime/core/context.d.ts.map +1 -1
- package/dist/runtime/core/context.js +97 -68
- package/dist/runtime/core/context.js.map +1 -1
- package/dist/runtime/core/eval/index.d.ts.map +1 -1
- package/dist/runtime/core/eval/index.js +1 -3
- package/dist/runtime/core/eval/index.js.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.js +194 -114
- package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.js +5 -5
- package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +18 -28
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/use.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/use.js +24 -4
- package/dist/runtime/core/eval/mixins/use.js.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +2 -2
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/introspection.d.ts.map +1 -1
- package/dist/runtime/core/introspection.js +4 -10
- package/dist/runtime/core/introspection.js.map +1 -1
- package/dist/runtime/core/resolvers.d.ts +3 -4
- package/dist/runtime/core/resolvers.d.ts.map +1 -1
- package/dist/runtime/core/resolvers.js +5 -11
- package/dist/runtime/core/resolvers.js.map +1 -1
- package/dist/runtime/core/types.d.ts +14 -15
- package/dist/runtime/core/types.d.ts.map +1 -1
- package/dist/runtime/core/types.js.map +1 -1
- package/dist/runtime/core/values.d.ts +11 -0
- package/dist/runtime/core/values.d.ts.map +1 -1
- package/dist/runtime/core/values.js +36 -25
- package/dist/runtime/core/values.js.map +1 -1
- package/dist/runtime/ext/builtins.d.ts +10 -3
- package/dist/runtime/ext/builtins.d.ts.map +1 -1
- package/dist/runtime/ext/builtins.js +578 -608
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/runtime/index.d.ts +3 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -2
- package/dist/runtime/index.js.map +1 -1
- 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
|
-
//
|
|
139
|
-
//
|
|
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
|
-
|
|
144
|
-
|
|
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:
|
|
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
|
|
225
|
-
if (callable.
|
|
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.
|
|
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 ===
|
|
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
|
|
276
|
-
//
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
356
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
521
|
-
if (
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
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
|
-
|
|
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
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
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
|
-
|
|
542
|
-
|
|
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
|
|
670
|
+
* Resolves annotation metadata from callable values.
|
|
567
671
|
*
|
|
568
|
-
*
|
|
569
|
-
* Throws
|
|
570
|
-
* Throws
|
|
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
|
-
//
|
|
583
|
-
if (isTypeValue(value)
|
|
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
|
-
//
|
|
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
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
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
|
-
|
|
716
|
+
return shape;
|
|
620
717
|
}
|
|
621
|
-
// IR-3:
|
|
718
|
+
// IR-3: ^output reads callable.returnType directly for all kinds
|
|
622
719
|
if (key === 'output') {
|
|
623
|
-
|
|
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
|
|
722
|
+
// Access annotation from callable.annotations for all callable kinds
|
|
642
723
|
const annotationValue = value.annotations[key];
|
|
643
|
-
//
|
|
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
|
|
781
|
-
* Builds dict from
|
|
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
|
|
788
|
-
*
|
|
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
|
-
//
|
|
792
|
-
if (!
|
|
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
|
|
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
|
-
|
|
805
|
-
|
|
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;
|
|
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',
|
|
162
|
+
throw new RuntimeError('RILL-R002', 'Slice bound is null', location);
|
|
163
163
|
}
|
|
164
164
|
switch (bound.type) {
|
|
165
165
|
case 'NumberLiteral':
|