@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
package/dist/index.js
CHANGED
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { LexerError, tokenize } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
|
-
export { BreakSignal, callable, createRuntimeContext, createStepper, createTuple, createVector, emitExtensionEvent, contextResolver, extResolver, execute, hoistExtension, getCallStack, generateManifest, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, moduleResolver, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, structuralTypeEquals, structuralTypeMatches, toNative, VERSION, VERSION_INFO, } from './runtime/index.js';
|
|
7
|
+
export { anyTypeValue, BreakSignal, callable, createRuntimeContext, createStepper, createTuple, createVector, emitExtensionEvent, contextResolver, extResolver, execute, hoistExtension, getCallStack, generateManifest, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, buildTypeMethodDicts, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, moduleResolver, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, rillTypeToTypeValue, ReturnSignal, structuralTypeEquals, structuralTypeMatches, toNative, VERSION, VERSION_INFO, } from './runtime/index.js';
|
|
8
8
|
// ============================================================
|
|
9
9
|
// ERROR TAXONOMY
|
|
10
10
|
// ============================================================
|
|
11
11
|
export { ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
12
12
|
// ============================================================
|
|
13
|
+
// ERROR FORMATTING
|
|
14
|
+
// ============================================================
|
|
15
|
+
export { formatRillError, formatRillErrorJson, } from './error-formatter.js';
|
|
16
|
+
// ============================================================
|
|
13
17
|
// CONSTANTS
|
|
14
18
|
// ============================================================
|
|
15
19
|
export { VALID_TYPE_NAMES } from './constants.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EACL,YAAY,EAEZ,WAAW,EACX,QAAQ,EAKR,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,kBAAkB,EAClB,eAAe,EACf,WAAW,EAEX,OAAO,EAUP,cAAc,EAId,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EAUR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAqBZ,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAK5B,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAC/D,OAAO,EAIL,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAC/D,OAAO,EACL,eAAe,EACf,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,YAAY;AACZ,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
* - Kept for API consistency with validateCallableArgs signature
|
|
21
21
|
*/
|
|
22
22
|
import type { BodyNode, SourceLocation } from '../../types.js';
|
|
23
|
-
import type { RillMethod } from './types.js';
|
|
24
23
|
import type { RillType, RillTypeValue, RillValue } from './values.js';
|
|
25
24
|
interface RuntimeContextLike {
|
|
26
25
|
readonly parent?: RuntimeContextLike | undefined;
|
|
@@ -56,30 +55,8 @@ export interface RillParam {
|
|
|
56
55
|
export interface RillFunction {
|
|
57
56
|
readonly params: readonly RillParam[];
|
|
58
57
|
readonly fn: CallableFn;
|
|
59
|
-
readonly
|
|
60
|
-
readonly returnType
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Base interface for all callable signatures.
|
|
64
|
-
* signature is an annotated rill closure type signature string.
|
|
65
|
-
*/
|
|
66
|
-
export interface RillCallableSignature {
|
|
67
|
-
readonly signature: string;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Signature for a host-provided function.
|
|
71
|
-
* Discriminated from RillFunction by presence of signature field.
|
|
72
|
-
*/
|
|
73
|
-
export interface RillFunctionSignature extends RillCallableSignature {
|
|
74
|
-
readonly fn: CallableFn;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Signature for a built-in method with receiver type constraints.
|
|
78
|
-
* receiverTypes contains valid RillTypeName strings (e.g., ["string", "list"]).
|
|
79
|
-
*/
|
|
80
|
-
export interface RillMethodSignature extends RillCallableSignature {
|
|
81
|
-
readonly method: RillMethod;
|
|
82
|
-
readonly receiverTypes: readonly string[];
|
|
58
|
+
readonly annotations?: Record<string, RillValue>;
|
|
59
|
+
readonly returnType: RillTypeValue;
|
|
83
60
|
}
|
|
84
61
|
/** Common fields for all callable types */
|
|
85
62
|
interface CallableBase {
|
|
@@ -90,29 +67,23 @@ interface CallableBase {
|
|
|
90
67
|
* For runtime callables, the dict is passed as first argument.
|
|
91
68
|
*/
|
|
92
69
|
readonly isProperty: boolean;
|
|
70
|
+
readonly params: readonly RillParam[];
|
|
71
|
+
readonly annotations: Record<string, RillValue>;
|
|
72
|
+
readonly returnType: RillTypeValue;
|
|
93
73
|
/** Reference to containing dict (set when stored in a dict) */
|
|
94
74
|
boundDict?: Record<string, RillValue>;
|
|
95
75
|
}
|
|
96
76
|
/**
|
|
97
77
|
* Script callable - parsed from Rill source code.
|
|
98
78
|
*
|
|
99
|
-
* Carries closure-level
|
|
100
|
-
*
|
|
79
|
+
* Carries closure-level annotations captured at creation time.
|
|
80
|
+
* Per-parameter annotations are accessible via params[i].annotations.
|
|
101
81
|
*/
|
|
102
82
|
export interface ScriptCallable extends CallableBase {
|
|
103
83
|
readonly kind: 'script';
|
|
104
|
-
readonly params: readonly RillParam[];
|
|
105
84
|
readonly body: BodyNode;
|
|
106
85
|
/** Reference to the scope where this closure was defined (late binding) */
|
|
107
86
|
readonly definingScope: RuntimeContextLike;
|
|
108
|
-
/** Evaluated closure-level annotations (e.g., ^(timeout: 30)) */
|
|
109
|
-
readonly annotations: Record<string, RillValue>;
|
|
110
|
-
/** Evaluated parameter annotations keyed by parameter name */
|
|
111
|
-
readonly paramAnnotations: Record<string, Record<string, RillValue>>;
|
|
112
|
-
/** Cached input structural type built from params at creation time — used by `$fn.^input` */
|
|
113
|
-
readonly inputShape: RillType;
|
|
114
|
-
/** Return type target from `:type-target` syntax — set in Phase 2, undefined until then */
|
|
115
|
-
readonly returnShape?: RillTypeValue | undefined;
|
|
116
87
|
}
|
|
117
88
|
/** Runtime callable - Rill's built-in functions (type, log, json, identity) */
|
|
118
89
|
export interface RuntimeCallable extends CallableBase {
|
|
@@ -122,14 +93,7 @@ export interface RuntimeCallable extends CallableBase {
|
|
|
122
93
|
/** Application callable - host application-provided functions */
|
|
123
94
|
export interface ApplicationCallable extends CallableBase {
|
|
124
95
|
readonly kind: 'application';
|
|
125
|
-
readonly params: RillParam[] | undefined;
|
|
126
96
|
readonly fn: CallableFn;
|
|
127
|
-
/** Human-readable function description (optional, from host functions) */
|
|
128
|
-
readonly description?: string;
|
|
129
|
-
/** Return type declaration (optional, from host functions) */
|
|
130
|
-
readonly returnType?: RillType | undefined;
|
|
131
|
-
/** Original signature string as provided by host (only set for RillFunctionSignature registrations) */
|
|
132
|
-
readonly originalSignature?: string | undefined;
|
|
133
97
|
}
|
|
134
98
|
/** Union of all callable types */
|
|
135
99
|
export type RillCallable = ScriptCallable | RuntimeCallable | ApplicationCallable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { RuntimeError } from '../../types.js';
|
|
23
23
|
import { astEquals } from './equals.js';
|
|
24
|
-
import { formatValue, formatStructuralType, inferType, isTuple, structuralTypeEquals, structuralTypeMatches, } from './values.js';
|
|
24
|
+
import { formatValue, formatStructuralType, inferType, isTuple, structuralTypeEquals, structuralTypeMatches, anyTypeValue, } from './values.js';
|
|
25
25
|
/** Type guard for any callable */
|
|
26
26
|
export function isCallable(value) {
|
|
27
27
|
return (typeof value === 'object' &&
|
|
@@ -51,7 +51,12 @@ export function callable(fn, isProperty = false) {
|
|
|
51
51
|
return {
|
|
52
52
|
__type: 'callable',
|
|
53
53
|
kind: 'application',
|
|
54
|
+
// Use undefined to signal "untyped" — skips arity validation in invokeCallable.
|
|
55
|
+
// Explicitly registered callables use params: [] (typed zero-param) and DO validate.
|
|
56
|
+
// See [DEVIATION] in Implementation Notes.
|
|
54
57
|
params: undefined,
|
|
58
|
+
annotations: {},
|
|
59
|
+
returnType: anyTypeValue,
|
|
55
60
|
fn,
|
|
56
61
|
isProperty,
|
|
57
62
|
};
|
|
@@ -138,22 +143,6 @@ export function callableEquals(a, b, valueEquals = (x, y) => formatValue(x) ===
|
|
|
138
143
|
if (!annotationsEqual(a.annotations, b.annotations, valueEquals)) {
|
|
139
144
|
return false;
|
|
140
145
|
}
|
|
141
|
-
// Compare parameter-level annotations
|
|
142
|
-
const paramNamesA = Object.keys(a.paramAnnotations);
|
|
143
|
-
const paramNamesB = Object.keys(b.paramAnnotations);
|
|
144
|
-
if (paramNamesA.length !== paramNamesB.length)
|
|
145
|
-
return false;
|
|
146
|
-
for (const paramName of paramNamesA) {
|
|
147
|
-
if (!(paramName in b.paramAnnotations))
|
|
148
|
-
return false;
|
|
149
|
-
const annotsA = a.paramAnnotations[paramName];
|
|
150
|
-
const annotsB = b.paramAnnotations[paramName];
|
|
151
|
-
if (annotsA === undefined || annotsB === undefined)
|
|
152
|
-
return false;
|
|
153
|
-
if (!annotationsEqual(annotsA, annotsB, valueEquals)) {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
146
|
return true;
|
|
158
147
|
}
|
|
159
148
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { RuntimeContext, RuntimeOptions } from './types.js';
|
|
8
8
|
import { type RillValue } from './values.js';
|
|
9
|
+
import { type RillFunction } from './callable.js';
|
|
10
|
+
export declare const UNVALIDATED_METHOD_PARAMS: Set<string>;
|
|
11
|
+
export declare const UNVALIDATED_METHOD_RECEIVERS: Set<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Build a ReadonlyMap of frozen ApplicationCallable dicts from an array of
|
|
14
|
+
* [typeName, methods] pairs. Accepts pairs (not a plain object) so the same
|
|
15
|
+
* typeName can appear more than once — duplicate method names across entries
|
|
16
|
+
* for the same type trigger an Error (EC-6).
|
|
17
|
+
*
|
|
18
|
+
* Re-exported from the public barrel index for host integration use.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildTypeMethodDicts(pairs: Array<[string, Record<string, RillFunction>]>): ReadonlyMap<string, Readonly<Record<string, RillValue>>>;
|
|
9
21
|
/**
|
|
10
22
|
* Create a runtime context for script execution.
|
|
11
23
|
* This is the main entry point for configuring the Rill runtime.
|
|
@@ -16,7 +28,10 @@ export declare function createRuntimeContext(options?: RuntimeOptions): RuntimeC
|
|
|
16
28
|
* Child inherits parent's functions, methods, callbacks, etc.
|
|
17
29
|
* but has its own variables map. Variable lookups walk the parent chain.
|
|
18
30
|
*/
|
|
19
|
-
export declare function createChildContext(parent: RuntimeContext
|
|
31
|
+
export declare function createChildContext(parent: RuntimeContext, overrides?: {
|
|
32
|
+
sourceId?: string;
|
|
33
|
+
sourceText?: string;
|
|
34
|
+
}): RuntimeContext;
|
|
20
35
|
/**
|
|
21
36
|
* Get a variable value, walking the parent chain.
|
|
22
37
|
* Returns undefined if not found in any scope.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EAEf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAUvB,eAAO,MAAM,yBAAyB,aAAyC,CAAC;AAKhF,eAAO,MAAM,4BAA4B,aAoBvC,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACnD,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAgC1D;AA0DD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,cAAmB,GAC3B,cAAc,CA0IhB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,cAAc,CA4BhB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,GACX,SAAS,GAAG,SAAS,CAQvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,gBAAgB,EAAE,SAAS,GACxC,SAAS,OAAO,gBAAgB,EAAE,SAAS,EAAE,CAkB/C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,OAAO,gBAAgB,EAAE,SAAS,GACxC,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAKtD"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Public API for host applications.
|
|
6
6
|
*/
|
|
7
7
|
import { RuntimeError } from '../../types.js';
|
|
8
|
-
import { parseSignatureRegistration } from '../../signature-parser.js';
|
|
9
8
|
import { BUILTIN_FUNCTIONS, BUILTIN_METHODS } from '../ext/builtins.js';
|
|
10
9
|
import { bindDictCallables } from './types.js';
|
|
11
10
|
import { inferType } from './values.js';
|
|
@@ -15,9 +14,69 @@ import { callable, validateDefaultValueType, } from './callable.js';
|
|
|
15
14
|
// chain: pipe form sends 1 arg when signature declares 2 (pipeValue is the first).
|
|
16
15
|
const UNTYPED_BUILTINS = new Set(['log', 'chain']);
|
|
17
16
|
// Built-in methods that do their own internal arg validation with specific error
|
|
18
|
-
// messages expected by protected language tests.
|
|
19
|
-
//
|
|
20
|
-
const UNVALIDATED_METHOD_PARAMS = new Set(['has', 'has_any', 'has_all']);
|
|
17
|
+
// messages expected by protected language tests. Generic validateCallableArgs
|
|
18
|
+
// must not fire before the method body's own check.
|
|
19
|
+
export const UNVALIDATED_METHOD_PARAMS = new Set(['has', 'has_any', 'has_all']);
|
|
20
|
+
// Built-in methods that perform their own receiver type checking with specific
|
|
21
|
+
// error messages. Generic RILL-R003 must not fire before the method body runs.
|
|
22
|
+
// Mirrors the old flat-structure convention of receiverTypes: [].
|
|
23
|
+
export const UNVALIDATED_METHOD_RECEIVERS = new Set([
|
|
24
|
+
'head',
|
|
25
|
+
'tail',
|
|
26
|
+
'first',
|
|
27
|
+
'at',
|
|
28
|
+
'eq',
|
|
29
|
+
'ne',
|
|
30
|
+
'keys',
|
|
31
|
+
'values',
|
|
32
|
+
'entries',
|
|
33
|
+
'has',
|
|
34
|
+
'has_any',
|
|
35
|
+
'has_all',
|
|
36
|
+
'dimensions',
|
|
37
|
+
'model',
|
|
38
|
+
'similarity',
|
|
39
|
+
'dot',
|
|
40
|
+
'distance',
|
|
41
|
+
'norm',
|
|
42
|
+
'normalize',
|
|
43
|
+
]);
|
|
44
|
+
/**
|
|
45
|
+
* Build a ReadonlyMap of frozen ApplicationCallable dicts from an array of
|
|
46
|
+
* [typeName, methods] pairs. Accepts pairs (not a plain object) so the same
|
|
47
|
+
* typeName can appear more than once — duplicate method names across entries
|
|
48
|
+
* for the same type trigger an Error (EC-6).
|
|
49
|
+
*
|
|
50
|
+
* Re-exported from the public barrel index for host integration use.
|
|
51
|
+
*/
|
|
52
|
+
export function buildTypeMethodDicts(pairs) {
|
|
53
|
+
const registry = new Map();
|
|
54
|
+
const result = new Map();
|
|
55
|
+
for (const [typeName, methods] of pairs) {
|
|
56
|
+
const seen = registry.get(typeName) ?? new Set();
|
|
57
|
+
registry.set(typeName, seen);
|
|
58
|
+
const existing = result.get(typeName) ?? {};
|
|
59
|
+
const dict = { ...existing };
|
|
60
|
+
for (const [name, fn] of Object.entries(methods)) {
|
|
61
|
+
if (seen.has(name)) {
|
|
62
|
+
throw new Error(`Duplicate method '${name}' on type '${typeName}'`);
|
|
63
|
+
}
|
|
64
|
+
seen.add(name);
|
|
65
|
+
const appCallable = {
|
|
66
|
+
__type: 'callable',
|
|
67
|
+
kind: 'application',
|
|
68
|
+
params: fn.params,
|
|
69
|
+
returnType: fn.returnType,
|
|
70
|
+
annotations: fn.annotations ?? {},
|
|
71
|
+
isProperty: false,
|
|
72
|
+
fn: fn.fn,
|
|
73
|
+
};
|
|
74
|
+
dict[name] = appCallable;
|
|
75
|
+
}
|
|
76
|
+
result.set(typeName, Object.freeze(dict));
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
21
80
|
const BUILTIN_FN_CACHE = new Map();
|
|
22
81
|
const BUILTIN_METHOD_PARAMS_CACHE = new Map();
|
|
23
82
|
const BUILTIN_METHOD_RECEIVER_TYPES_CACHE = new Map();
|
|
@@ -27,25 +86,26 @@ function initBuiltinCaches() {
|
|
|
27
86
|
BUILTIN_FN_CACHE.set(name, { appCallable: callable(entry.fn, false) });
|
|
28
87
|
continue;
|
|
29
88
|
}
|
|
30
|
-
const parsed = parseSignatureRegistration(entry.signature, name);
|
|
31
89
|
const appCallable = callable(entry.fn, false);
|
|
32
90
|
const typedCallable = {
|
|
33
91
|
...appCallable,
|
|
34
|
-
params:
|
|
35
|
-
|
|
36
|
-
? { returnType: parsed.returnType }
|
|
37
|
-
: {}),
|
|
92
|
+
params: entry.params,
|
|
93
|
+
returnType: entry.returnType,
|
|
38
94
|
};
|
|
39
95
|
BUILTIN_FN_CACHE.set(name, { appCallable: typedCallable });
|
|
40
96
|
}
|
|
41
|
-
for (const [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
97
|
+
for (const [typeName, methods] of Object.entries(BUILTIN_METHODS)) {
|
|
98
|
+
for (const [name, impl] of Object.entries(methods)) {
|
|
99
|
+
// Accumulate receiver types across all type groups for this method name.
|
|
100
|
+
// Skip methods that perform their own receiver type checking.
|
|
101
|
+
if (!UNVALIDATED_METHOD_RECEIVERS.has(name)) {
|
|
102
|
+
const existing = BUILTIN_METHOD_RECEIVER_TYPES_CACHE.get(name);
|
|
103
|
+
BUILTIN_METHOD_RECEIVER_TYPES_CACHE.set(name, existing !== undefined ? [...existing, typeName] : [typeName]);
|
|
104
|
+
}
|
|
105
|
+
if (!UNVALIDATED_METHOD_PARAMS.has(name)) {
|
|
106
|
+
if (impl.params.length > 0) {
|
|
107
|
+
BUILTIN_METHOD_PARAMS_CACHE.set(name, impl.params);
|
|
108
|
+
}
|
|
49
109
|
}
|
|
50
110
|
}
|
|
51
111
|
}
|
|
@@ -65,9 +125,6 @@ export function createRuntimeContext(options = {}) {
|
|
|
65
125
|
const variables = new Map();
|
|
66
126
|
const variableTypes = new Map();
|
|
67
127
|
const functions = new Map();
|
|
68
|
-
const methods = new Map();
|
|
69
|
-
const methodReceiverTypes = new Map();
|
|
70
|
-
const methodParams = new Map();
|
|
71
128
|
// Set initial variables (and infer their types)
|
|
72
129
|
if (options.variables) {
|
|
73
130
|
for (const [name, value] of Object.entries(options.variables)) {
|
|
@@ -84,27 +141,8 @@ export function createRuntimeContext(options = {}) {
|
|
|
84
141
|
// Set custom functions (can override built-ins)
|
|
85
142
|
if (options.functions) {
|
|
86
143
|
for (const [name, definition] of Object.entries(options.functions)) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
let description;
|
|
90
|
-
let returnType;
|
|
91
|
-
let originalSignature;
|
|
92
|
-
if ('signature' in definition) {
|
|
93
|
-
// Signature form: parse the signature string at registration time (IR-5)
|
|
94
|
-
const parsed = parseSignatureRegistration(definition.signature, name);
|
|
95
|
-
params = parsed.params;
|
|
96
|
-
fn = definition.fn;
|
|
97
|
-
description = parsed.description;
|
|
98
|
-
returnType = parsed.returnType;
|
|
99
|
-
originalSignature = definition.signature;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
// Structured form: RillFunction with explicit RillParam[]
|
|
103
|
-
params = definition.params;
|
|
104
|
-
fn = definition.fn;
|
|
105
|
-
description = definition.description;
|
|
106
|
-
returnType = definition.returnType;
|
|
107
|
-
}
|
|
144
|
+
const params = definition.params;
|
|
145
|
+
const description = definition.annotations?.['description'];
|
|
108
146
|
// Validate default values at registration time (EC-4)
|
|
109
147
|
for (const param of params) {
|
|
110
148
|
validateDefaultValueType(param, name);
|
|
@@ -127,29 +165,19 @@ export function createRuntimeContext(options = {}) {
|
|
|
127
165
|
}
|
|
128
166
|
}
|
|
129
167
|
}
|
|
130
|
-
//
|
|
131
|
-
const appCallable =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
168
|
+
// Direct RillFunction mapping (AC-15: only structured form accepted)
|
|
169
|
+
const appCallable = {
|
|
170
|
+
__type: 'callable',
|
|
171
|
+
kind: 'application',
|
|
172
|
+
isProperty: false,
|
|
173
|
+
fn: definition.fn,
|
|
174
|
+
params,
|
|
175
|
+
annotations: definition.annotations ?? {},
|
|
176
|
+
returnType: definition.returnType,
|
|
138
177
|
};
|
|
139
|
-
|
|
140
|
-
functions.set(name, typedCallable);
|
|
178
|
+
functions.set(name, appCallable);
|
|
141
179
|
}
|
|
142
180
|
}
|
|
143
|
-
// Set built-in methods from module-level caches (parsed once at load time).
|
|
144
|
-
for (const [name, impl] of Object.entries(BUILTIN_METHODS)) {
|
|
145
|
-
methods.set(name, impl.method);
|
|
146
|
-
}
|
|
147
|
-
for (const [name, types] of BUILTIN_METHOD_RECEIVER_TYPES_CACHE) {
|
|
148
|
-
methodReceiverTypes.set(name, types);
|
|
149
|
-
}
|
|
150
|
-
for (const [name, params] of BUILTIN_METHOD_PARAMS_CACHE) {
|
|
151
|
-
methodParams.set(name, params);
|
|
152
|
-
}
|
|
153
181
|
// Compile autoException patterns into RegExp objects
|
|
154
182
|
const autoExceptions = [];
|
|
155
183
|
if (options.autoExceptions) {
|
|
@@ -166,14 +194,15 @@ export function createRuntimeContext(options = {}) {
|
|
|
166
194
|
const resolverConfigs = new Map(options.configurations?.resolvers
|
|
167
195
|
? Object.entries(options.configurations.resolvers)
|
|
168
196
|
: []);
|
|
197
|
+
// Build typeMethodDicts fresh per context so duplicate detection (EC-6)
|
|
198
|
+
// uses isolated state and does not leak across context instances.
|
|
199
|
+
const typeMethodDicts = buildTypeMethodDicts(Object.entries(BUILTIN_METHODS));
|
|
169
200
|
return {
|
|
170
201
|
parent: undefined,
|
|
171
202
|
variables,
|
|
172
203
|
variableTypes,
|
|
173
204
|
functions,
|
|
174
|
-
|
|
175
|
-
methodReceiverTypes,
|
|
176
|
-
methodParams,
|
|
205
|
+
typeMethodDicts,
|
|
177
206
|
callbacks: { ...defaultCallbacks, ...options.callbacks },
|
|
178
207
|
observability: options.observability ?? {},
|
|
179
208
|
pipeValue: null,
|
|
@@ -196,15 +225,13 @@ export function createRuntimeContext(options = {}) {
|
|
|
196
225
|
* Child inherits parent's functions, methods, callbacks, etc.
|
|
197
226
|
* but has its own variables map. Variable lookups walk the parent chain.
|
|
198
227
|
*/
|
|
199
|
-
export function createChildContext(parent) {
|
|
228
|
+
export function createChildContext(parent, overrides) {
|
|
200
229
|
return {
|
|
201
230
|
parent,
|
|
202
231
|
variables: new Map(),
|
|
203
232
|
variableTypes: new Map(),
|
|
204
233
|
functions: parent.functions,
|
|
205
|
-
|
|
206
|
-
methodReceiverTypes: parent.methodReceiverTypes,
|
|
207
|
-
methodParams: parent.methodParams,
|
|
234
|
+
typeMethodDicts: parent.typeMethodDicts,
|
|
208
235
|
callbacks: parent.callbacks,
|
|
209
236
|
observability: parent.observability,
|
|
210
237
|
pipeValue: parent.pipeValue,
|
|
@@ -220,6 +247,8 @@ export function createChildContext(parent) {
|
|
|
220
247
|
resolverConfigs: parent.resolverConfigs,
|
|
221
248
|
resolvingSchemes: parent.resolvingSchemes,
|
|
222
249
|
parseSource: parent.parseSource,
|
|
250
|
+
sourceId: overrides?.sourceId ?? parent.sourceId,
|
|
251
|
+
sourceText: overrides?.sourceText ?? parent.sourceText,
|
|
223
252
|
};
|
|
224
253
|
}
|
|
225
254
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/core/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/core/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/core/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAKtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,cAAc,EACnB,IAAI,CAAC,EAAE,OAAO,GACb,IAAI,CAKN;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAUlC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,GAAG,QAAQ,EACjC,QAAQ,CAAC,EAAE,cAAc,GACxB,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/core/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAKtE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,cAAc,EACnB,IAAI,CAAC,EAAE,OAAO,GACb,IAAI,CAKN;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAUlC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,GAAG,QAAQ,EACjC,QAAQ,CAAC,EAAE,cAAc,GACxB,SAAS,CA0BX;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,GAAG,sBAAsB,EAC5C,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,MAAM,GACV,SAAS,GAAG,SAAS,CAGvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,SAAS,EAAE,EACjB,GAAG,EAAE,cAAc,EACnB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,SAAS,CAAC,CAKpB"}
|
|
@@ -55,9 +55,6 @@ export function assertType(value, expected, location) {
|
|
|
55
55
|
variables: new Map(),
|
|
56
56
|
variableTypes: new Map(),
|
|
57
57
|
functions: new Map(),
|
|
58
|
-
methods: new Map(),
|
|
59
|
-
methodReceiverTypes: new Map(),
|
|
60
|
-
methodParams: new Map(),
|
|
61
58
|
callbacks: { onLog: () => { } },
|
|
62
59
|
pipeValue: null,
|
|
63
60
|
parent: undefined,
|
|
@@ -72,6 +69,7 @@ export function assertType(value, expected, location) {
|
|
|
72
69
|
resolvers: new Map(),
|
|
73
70
|
resolverConfigs: new Map(),
|
|
74
71
|
resolvingSchemes: new Set(),
|
|
72
|
+
typeMethodDicts: new Map(),
|
|
75
73
|
};
|
|
76
74
|
const evaluator = getEvaluator(minimalContext);
|
|
77
75
|
return evaluator.assertType(value, expected, location);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/core/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAmB,EAAE,IAAc;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,6CAA6C;IAC7C,8DAA8D;IAC7D,SAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAgB,EAChB,GAAmB,EACnB,IAAc;IAEd,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,6CAA6C;IAC7C,8DAA8D;IAC7D,SAAiB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA2B,EAC3B,KAAgB,EAChB,GAAmB;IAEnB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,6DAA6D;IAC7D,8DAA8D;IAC9D,MAAO,SAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzD,wCAAwC;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,KAAgB,EAChB,QAAiC,EACjC,QAAyB;IAEzB,0DAA0D;IAC1D,+EAA+E;IAC/E,MAAM,cAAc,GAAmB;QACrC,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/core/eval/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closures.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/closures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;
|
|
1
|
+
{"version":3,"file":"closures.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/closures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AA+zCH,eAAO,MAAM,aAAa,EAA0B,GAAG,CAAC"}
|