@rcrsr/rill 0.7.1 → 0.8.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/README.md +1 -1
- package/dist/ast-nodes.d.ts +635 -0
- package/dist/ast-nodes.d.ts.map +1 -0
- package/dist/ast-nodes.js +2 -0
- package/dist/ast-nodes.js.map +1 -0
- package/dist/ast-unions.d.ts +6 -0
- package/dist/ast-unions.d.ts.map +1 -0
- package/dist/ast-unions.js +6 -0
- package/dist/ast-unions.js.map +1 -0
- package/dist/error-classes.d.ts +90 -0
- package/dist/error-classes.d.ts.map +1 -0
- package/dist/error-classes.js +185 -0
- package/dist/error-classes.js.map +1 -0
- package/dist/error-registry.d.ts +93 -0
- package/dist/error-registry.d.ts.map +1 -0
- package/dist/error-registry.js +712 -0
- package/dist/error-registry.js.map +1 -0
- package/dist/generated/introspection-data.d.ts +1 -1
- package/dist/generated/introspection-data.d.ts.map +1 -1
- package/dist/generated/introspection-data.js +509 -481
- package/dist/generated/introspection-data.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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parser/parser-expr.js +9 -6
- package/dist/parser/parser-expr.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +5 -5
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +2 -1
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.js +5 -1
- package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +5 -1
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +12 -12
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/values.d.ts +31 -3
- package/dist/runtime/core/values.d.ts.map +1 -1
- package/dist/runtime/core/values.js +47 -1
- package/dist/runtime/core/values.js.map +1 -1
- package/dist/runtime/ext/builtins.d.ts.map +1 -1
- package/dist/runtime/ext/builtins.js +202 -1
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/runtime/ext/extensions.d.ts +39 -3
- package/dist/runtime/ext/extensions.d.ts.map +1 -1
- package/dist/runtime/ext/extensions.js +77 -12
- package/dist/runtime/ext/extensions.js.map +1 -1
- package/dist/runtime/index.d.ts +5 -5
- 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/dist/source-location.d.ts +10 -0
- package/dist/source-location.d.ts.map +1 -0
- package/dist/source-location.js +5 -0
- package/dist/source-location.js.map +1 -0
- package/dist/token-types.d.ts +68 -0
- package/dist/token-types.d.ts.map +1 -0
- package/dist/token-types.js +79 -0
- package/dist/token-types.js.map +1 -0
- package/dist/types.d.ts +9 -882
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -958
- package/dist/types.js.map +1 -1
- package/dist/value-types.d.ts +3 -0
- package/dist/value-types.d.ts.map +1 -0
- package/dist/value-types.js +2 -0
- package/dist/value-types.js.map +1 -0
- package/package.json +15 -2
|
@@ -64,7 +64,7 @@ function createVariablesMixin(Base) {
|
|
|
64
64
|
const valueType = inferType(value);
|
|
65
65
|
// Check explicit type annotation matches value
|
|
66
66
|
if (explicitType !== undefined && explicitType !== valueType) {
|
|
67
|
-
throw new RuntimeError('RILL-R001', `
|
|
67
|
+
throw new RuntimeError('RILL-R001', `Type mismatch: cannot assign ${valueType} to $${name}:${explicitType}`, location, {
|
|
68
68
|
variableName: name,
|
|
69
69
|
expectedType: explicitType,
|
|
70
70
|
actualType: valueType,
|
|
@@ -75,12 +75,12 @@ function createVariablesMixin(Base) {
|
|
|
75
75
|
if (!this.ctx.variables.has(name) &&
|
|
76
76
|
this.ctx.parent &&
|
|
77
77
|
hasVariable(this.ctx.parent, name)) {
|
|
78
|
-
throw new RuntimeError('RILL-R001', `
|
|
78
|
+
throw new RuntimeError('RILL-R001', `Cannot reassign outer variable $${name} from child scope`, location, { variableName: name });
|
|
79
79
|
}
|
|
80
80
|
// Check if variable already has a locked type in current scope
|
|
81
81
|
const lockedType = this.ctx.variableTypes.get(name);
|
|
82
82
|
if (lockedType !== undefined && lockedType !== valueType) {
|
|
83
|
-
throw new RuntimeError('RILL-R001', `
|
|
83
|
+
throw new RuntimeError('RILL-R001', `Type mismatch: cannot assign ${valueType} to $${name} (locked as ${lockedType})`, location, {
|
|
84
84
|
variableName: name,
|
|
85
85
|
expectedType: lockedType,
|
|
86
86
|
actualType: valueType,
|
|
@@ -106,7 +106,7 @@ function createVariablesMixin(Base) {
|
|
|
106
106
|
// Handle pipe variable ($)
|
|
107
107
|
if (node.isPipeVar && !node.name) {
|
|
108
108
|
if (this.ctx.pipeValue === null) {
|
|
109
|
-
throw new RuntimeError('RILL-R005', '
|
|
109
|
+
throw new RuntimeError('RILL-R005', 'Undefined variable: $', this.getNodeLocation(node), { variable: '$' });
|
|
110
110
|
}
|
|
111
111
|
return this.ctx.pipeValue;
|
|
112
112
|
}
|
|
@@ -114,12 +114,12 @@ function createVariablesMixin(Base) {
|
|
|
114
114
|
if (node.name) {
|
|
115
115
|
const result = getVariable(this.ctx, node.name);
|
|
116
116
|
if (result === undefined) {
|
|
117
|
-
throw new RuntimeError('RILL-R005', `
|
|
117
|
+
throw new RuntimeError('RILL-R005', `Undefined variable: $${node.name}`, this.getNodeLocation(node), { variable: node.name });
|
|
118
118
|
}
|
|
119
119
|
return result;
|
|
120
120
|
}
|
|
121
121
|
// Should not reach here - all variable nodes have either isPipeVar or name
|
|
122
|
-
throw new RuntimeError('RILL-R005', '
|
|
122
|
+
throw new RuntimeError('RILL-R005', 'Invalid variable node', this.getNodeLocation(node));
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Evaluate variable access asynchronously.
|
|
@@ -133,7 +133,7 @@ function createVariablesMixin(Base) {
|
|
|
133
133
|
if (node.isPipeVar && !node.name) {
|
|
134
134
|
// Pipe variable ($)
|
|
135
135
|
if (this.ctx.pipeValue === null) {
|
|
136
|
-
throw new RuntimeError('RILL-R005', '
|
|
136
|
+
throw new RuntimeError('RILL-R005', 'Undefined variable: $', this.getNodeLocation(node), { variable: '$' });
|
|
137
137
|
}
|
|
138
138
|
value = this.ctx.pipeValue;
|
|
139
139
|
}
|
|
@@ -141,12 +141,12 @@ function createVariablesMixin(Base) {
|
|
|
141
141
|
// Named variable ($name)
|
|
142
142
|
const result = getVariable(this.ctx, node.name);
|
|
143
143
|
if (result === undefined) {
|
|
144
|
-
throw new RuntimeError('RILL-R005', `
|
|
144
|
+
throw new RuntimeError('RILL-R005', `Undefined variable: $${node.name}`, this.getNodeLocation(node), { variable: node.name });
|
|
145
145
|
}
|
|
146
146
|
value = result;
|
|
147
147
|
}
|
|
148
148
|
else {
|
|
149
|
-
throw new RuntimeError('RILL-R005', '
|
|
149
|
+
throw new RuntimeError('RILL-R005', 'Invalid variable node', this.getNodeLocation(node));
|
|
150
150
|
}
|
|
151
151
|
// Apply access chain ($.field, $var.field, etc.)
|
|
152
152
|
for (const access of node.accessChain) {
|
|
@@ -287,7 +287,7 @@ function createVariablesMixin(Base) {
|
|
|
287
287
|
// EC-9: Variable undefined
|
|
288
288
|
if (keyValue === undefined) {
|
|
289
289
|
const varName = finalAccess.variableName ?? '$';
|
|
290
|
-
throw new RuntimeError('RILL-R005', `
|
|
290
|
+
throw new RuntimeError('RILL-R005', `Variable '${varName}' is undefined`, this.getNodeLocation(node));
|
|
291
291
|
}
|
|
292
292
|
// Check if key exists in dict or list
|
|
293
293
|
if (isDict(value)) {
|
|
@@ -359,14 +359,14 @@ function createVariablesMixin(Base) {
|
|
|
359
359
|
// .$ (pipe variable as key)
|
|
360
360
|
keyValue = this.ctx.pipeValue ?? undefined;
|
|
361
361
|
if (keyValue === undefined) {
|
|
362
|
-
throw new RuntimeError('RILL-R005', `
|
|
362
|
+
throw new RuntimeError('RILL-R005', `Pipe variable '$' is undefined`, this.getNodeLocation(node));
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
else {
|
|
366
366
|
// .$variable (named variable as key)
|
|
367
367
|
keyValue = getVariable(this.ctx, access.variableName);
|
|
368
368
|
if (keyValue === undefined) {
|
|
369
|
-
throw new RuntimeError('RILL-R005', `
|
|
369
|
+
throw new RuntimeError('RILL-R005', `Variable '${access.variableName}' is undefined`, this.getNodeLocation(node));
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
// Validate key type (EC-2, EC-3)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/variables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../../src/runtime/core/eval/mixins/variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,16 +20,32 @@ export interface RillTuple {
|
|
|
20
20
|
readonly __rill_tuple: true;
|
|
21
21
|
readonly entries: Map<string | number, RillValue>;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Vector type - represents dense numeric embeddings.
|
|
25
|
+
* Immutable Float32Array with associated model name.
|
|
26
|
+
*/
|
|
27
|
+
export interface RillVector {
|
|
28
|
+
readonly __rill_vector: true;
|
|
29
|
+
readonly data: Float32Array;
|
|
30
|
+
readonly model: string;
|
|
31
|
+
}
|
|
23
32
|
/** Any value that can flow through Rill */
|
|
24
33
|
export type RillValue = string | number | boolean | null | RillValue[] | {
|
|
25
34
|
[key: string]: RillValue;
|
|
26
|
-
} | CallableMarker | RillTuple;
|
|
35
|
+
} | CallableMarker | RillTuple | RillVector;
|
|
27
36
|
/** Type guard for RillTuple (spread args) */
|
|
28
37
|
export declare function isTuple(value: RillValue): value is RillTuple;
|
|
38
|
+
/** Type guard for RillVector */
|
|
39
|
+
export declare function isVector(value: RillValue): value is RillVector;
|
|
29
40
|
/** Create tuple from a list (positional) */
|
|
30
41
|
export declare function createTupleFromList(list: RillValue[]): RillTuple;
|
|
31
42
|
/** Create tuple from a dict (named) */
|
|
32
43
|
export declare function createTupleFromDict(dict: Record<string, RillValue>): RillTuple;
|
|
44
|
+
/**
|
|
45
|
+
* Create vector from Float32Array with model name.
|
|
46
|
+
* @throws {Error} if data.length is 0 (zero-dimension vectors not allowed)
|
|
47
|
+
*/
|
|
48
|
+
export declare function createVector(data: Float32Array, model: string): RillVector;
|
|
33
49
|
/** Infer the Rill type from a runtime value */
|
|
34
50
|
export declare function inferType(value: RillValue): RillTypeName;
|
|
35
51
|
/**
|
|
@@ -55,12 +71,24 @@ export declare const RESERVED_DICT_METHODS: readonly ["keys", "values", "entries
|
|
|
55
71
|
/** Check if a key name is reserved */
|
|
56
72
|
export declare function isReservedMethod(name: string): boolean;
|
|
57
73
|
/**
|
|
58
|
-
*
|
|
74
|
+
* Iterator type - represents a lazy sequence.
|
|
75
|
+
* An iterator is a dict with:
|
|
76
|
+
* - done: boolean - whether iteration is complete
|
|
77
|
+
* - next: callable - function to get next iterator
|
|
78
|
+
* - value: any (only required when not done) - current element
|
|
79
|
+
*/
|
|
80
|
+
export interface RillIterator extends Record<string, RillValue> {
|
|
81
|
+
readonly done: boolean;
|
|
82
|
+
readonly next: CallableMarker;
|
|
83
|
+
readonly value?: RillValue;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Type guard for Rill iterator (lazy sequence).
|
|
59
87
|
* An iterator is a dict with:
|
|
60
88
|
* - done: boolean - whether iteration is complete
|
|
61
89
|
* - next: callable - function to get next iterator
|
|
62
90
|
* - value: any (only required when not done) - current element
|
|
63
91
|
*/
|
|
64
|
-
export declare function isRillIterator(value: RillValue):
|
|
92
|
+
export declare function isRillIterator(value: RillValue): value is RillIterator;
|
|
65
93
|
export {};
|
|
66
94
|
//# sourceMappingURL=values.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUnD,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;CACnD;AAED,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,cAAc,GACd,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUnD,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,cAAc,GACd,SAAS,GACT,UAAU,CAAC;AAEf,6CAA6C;AAC7C,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAO5D;AAED,gCAAgC;AAChC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,UAAU,CAO9D;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,CAShE;AAED,uCAAuC;AACvC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAC9B,SAAS,CAMX;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAK1E;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAiBxD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE3E;AAED,mDAAmD;AACnD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAalD;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEjD;AAED,iCAAiC;AACjC,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAgCpD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CA8F9D;AAED,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,wCAAyC,CAAC;AAE5E,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,YAAY,CAQtE"}
|
|
@@ -12,6 +12,13 @@ export function isTuple(value) {
|
|
|
12
12
|
'__rill_tuple' in value &&
|
|
13
13
|
value.__rill_tuple === true);
|
|
14
14
|
}
|
|
15
|
+
/** Type guard for RillVector */
|
|
16
|
+
export function isVector(value) {
|
|
17
|
+
return (typeof value === 'object' &&
|
|
18
|
+
value !== null &&
|
|
19
|
+
'__rill_vector' in value &&
|
|
20
|
+
value.__rill_vector === true);
|
|
21
|
+
}
|
|
15
22
|
/** Create tuple from a list (positional) */
|
|
16
23
|
export function createTupleFromList(list) {
|
|
17
24
|
const entries = new Map();
|
|
@@ -31,6 +38,16 @@ export function createTupleFromDict(dict) {
|
|
|
31
38
|
}
|
|
32
39
|
return { __rill_tuple: true, entries };
|
|
33
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Create vector from Float32Array with model name.
|
|
43
|
+
* @throws {Error} if data.length is 0 (zero-dimension vectors not allowed)
|
|
44
|
+
*/
|
|
45
|
+
export function createVector(data, model) {
|
|
46
|
+
if (data.length === 0) {
|
|
47
|
+
throw new Error('Vector data must have at least one dimension');
|
|
48
|
+
}
|
|
49
|
+
return { __rill_vector: true, data, model };
|
|
50
|
+
}
|
|
34
51
|
/** Infer the Rill type from a runtime value */
|
|
35
52
|
export function inferType(value) {
|
|
36
53
|
if (value === null)
|
|
@@ -43,6 +60,8 @@ export function inferType(value) {
|
|
|
43
60
|
return 'bool';
|
|
44
61
|
if (isTuple(value))
|
|
45
62
|
return 'tuple';
|
|
63
|
+
if (isVector(value))
|
|
64
|
+
return 'vector';
|
|
46
65
|
if (Array.isArray(value))
|
|
47
66
|
return 'list';
|
|
48
67
|
if (typeof value === 'object' &&
|
|
@@ -73,6 +92,8 @@ export function isTruthy(value) {
|
|
|
73
92
|
return value.length > 0;
|
|
74
93
|
if (isTuple(value))
|
|
75
94
|
return value.entries.size > 0;
|
|
95
|
+
if (isVector(value))
|
|
96
|
+
return true; // Vectors always truthy (non-empty by construction)
|
|
76
97
|
if (Array.isArray(value))
|
|
77
98
|
return value.length > 0;
|
|
78
99
|
if (typeof value === 'object') {
|
|
@@ -108,6 +129,12 @@ export function formatValue(value) {
|
|
|
108
129
|
}
|
|
109
130
|
return `*[${parts.join(', ')}]`;
|
|
110
131
|
}
|
|
132
|
+
if (isVector(value)) {
|
|
133
|
+
return `vector(${value.model}, ${value.data.length}d)`;
|
|
134
|
+
}
|
|
135
|
+
if (isRillIterator(value)) {
|
|
136
|
+
return '[iterator]';
|
|
137
|
+
}
|
|
111
138
|
if (typeof value === 'object' &&
|
|
112
139
|
'__type' in value &&
|
|
113
140
|
value.__type === 'callable') {
|
|
@@ -153,6 +180,25 @@ export function deepEquals(a, b) {
|
|
|
153
180
|
}
|
|
154
181
|
return true;
|
|
155
182
|
}
|
|
183
|
+
// Check for vectors
|
|
184
|
+
const aIsVector = isVector(a);
|
|
185
|
+
const bIsVector = isVector(b);
|
|
186
|
+
if (aIsVector !== bIsVector)
|
|
187
|
+
return false;
|
|
188
|
+
if (aIsVector && bIsVector) {
|
|
189
|
+
// Vectors equal when model matches AND all float elements match
|
|
190
|
+
if (a.model !== b.model)
|
|
191
|
+
return false;
|
|
192
|
+
if (a.data.length !== b.data.length)
|
|
193
|
+
return false;
|
|
194
|
+
for (let i = 0; i < a.data.length; i++) {
|
|
195
|
+
const aVal = a.data[i];
|
|
196
|
+
const bVal = b.data[i];
|
|
197
|
+
if (aVal !== bVal)
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
156
202
|
// Check for arrays (lists)
|
|
157
203
|
const aIsArray = Array.isArray(a);
|
|
158
204
|
const bIsArray = Array.isArray(b);
|
|
@@ -218,7 +264,7 @@ export function isReservedMethod(name) {
|
|
|
218
264
|
return RESERVED_DICT_METHODS.includes(name);
|
|
219
265
|
}
|
|
220
266
|
/**
|
|
221
|
-
*
|
|
267
|
+
* Type guard for Rill iterator (lazy sequence).
|
|
222
268
|
* An iterator is a dict with:
|
|
223
269
|
* - done: boolean - whether iteration is complete
|
|
224
270
|
* - next: callable - function to get next iterator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/runtime/core/values.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,UAAU,EACV,MAAM,EACN,gBAAgB,GACjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/runtime/core/values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/runtime/ext/builtins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/runtime/ext/builtins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AA8FnE;;GAEG;AAEH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAqOxD,CAAC;AAmBF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA8mBtD,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { callable, isCallable, isDict } from '../core/callable.js';
|
|
10
10
|
import { RuntimeError } from '../../types.js';
|
|
11
|
-
import { deepEquals, formatValue, inferType, isEmpty, isRillIterator, } from '../core/values.js';
|
|
11
|
+
import { deepEquals, formatValue, inferType, isEmpty, isRillIterator, isVector, } from '../core/values.js';
|
|
12
12
|
// ============================================================
|
|
13
13
|
// BUILT-IN FUNCTIONS
|
|
14
14
|
// ============================================================
|
|
@@ -176,6 +176,88 @@ export const BUILTIN_FUNCTIONS = {
|
|
|
176
176
|
};
|
|
177
177
|
return makeRepeatIterator(count);
|
|
178
178
|
},
|
|
179
|
+
/**
|
|
180
|
+
* Create a tool descriptor from a closure or host function.
|
|
181
|
+
*
|
|
182
|
+
* Call signatures:
|
|
183
|
+
* - tool(name, description, params, closure) - 4 args, arg[3] callable
|
|
184
|
+
* - tool("host_fn::name") - 1 arg, string with :: separator
|
|
185
|
+
* - tool("host_fn::name", overrides) - 2 args, string + dict
|
|
186
|
+
*
|
|
187
|
+
* Returns dict: { name, description, params, fn }
|
|
188
|
+
*/
|
|
189
|
+
tool: (args, ctx, location) => {
|
|
190
|
+
// Signature 1: tool(name, description, params, closure) - 4 args
|
|
191
|
+
if (args.length === 4) {
|
|
192
|
+
const name = args[0] ?? '';
|
|
193
|
+
const description = args[1] ?? '';
|
|
194
|
+
const params = args[2] ?? {};
|
|
195
|
+
const fn = args[3] ?? null;
|
|
196
|
+
if (!isCallable(fn)) {
|
|
197
|
+
throw new RuntimeError('RILL-R001', 'tool() invalid arguments', location);
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
name,
|
|
201
|
+
description,
|
|
202
|
+
params,
|
|
203
|
+
fn,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
// Signatures 2 & 3: tool("host_fn::name") or tool("host_fn::name", overrides)
|
|
207
|
+
if (args.length === 1 || args.length === 2) {
|
|
208
|
+
const hostRef = args[0];
|
|
209
|
+
if (typeof hostRef !== 'string' || !hostRef.includes('::')) {
|
|
210
|
+
throw new RuntimeError('RILL-R001', 'tool() invalid arguments', location);
|
|
211
|
+
}
|
|
212
|
+
const functionName = hostRef;
|
|
213
|
+
const runtimeCtx = ctx;
|
|
214
|
+
const hostFunction = runtimeCtx.functions.get(functionName);
|
|
215
|
+
if (!hostFunction) {
|
|
216
|
+
throw new RuntimeError('RILL-R004', `function '${functionName}' not found`, location);
|
|
217
|
+
}
|
|
218
|
+
// Extract metadata from host function
|
|
219
|
+
let description = '';
|
|
220
|
+
let params = {};
|
|
221
|
+
if (typeof hostFunction === 'object' && 'kind' in hostFunction) {
|
|
222
|
+
// ApplicationCallable with metadata
|
|
223
|
+
description = hostFunction.description ?? '';
|
|
224
|
+
if (hostFunction.params) {
|
|
225
|
+
// Convert CallableParam[] to dict
|
|
226
|
+
const paramsDict = {};
|
|
227
|
+
for (const param of hostFunction.params) {
|
|
228
|
+
paramsDict[param.name] = {
|
|
229
|
+
type: param.typeName ?? 'any',
|
|
230
|
+
description: param.description ?? '',
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
params = paramsDict;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Apply overrides if provided
|
|
237
|
+
if (args.length === 2) {
|
|
238
|
+
const overrides = args[1] ?? null;
|
|
239
|
+
if (!isDict(overrides)) {
|
|
240
|
+
throw new RuntimeError('RILL-R001', 'tool() invalid arguments', location);
|
|
241
|
+
}
|
|
242
|
+
// Merge overrides into result
|
|
243
|
+
if ('description' in overrides &&
|
|
244
|
+
typeof overrides['description'] === 'string') {
|
|
245
|
+
description = overrides['description'];
|
|
246
|
+
}
|
|
247
|
+
if ('params' in overrides && isDict(overrides['params'])) {
|
|
248
|
+
params = overrides['params'];
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return {
|
|
252
|
+
name: functionName,
|
|
253
|
+
description,
|
|
254
|
+
params,
|
|
255
|
+
fn: hostFunction,
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// Invalid argument count
|
|
259
|
+
throw new RuntimeError('RILL-R001', 'tool() invalid arguments', location);
|
|
260
|
+
},
|
|
179
261
|
};
|
|
180
262
|
// ============================================================
|
|
181
263
|
// BUILT-IN METHODS
|
|
@@ -518,5 +600,124 @@ export const BUILTIN_METHODS = {
|
|
|
518
600
|
}
|
|
519
601
|
return true;
|
|
520
602
|
},
|
|
603
|
+
// === Vector methods ===
|
|
604
|
+
/** Get number of dimensions in vector */
|
|
605
|
+
dimensions: (receiver, _args, _ctx, location) => {
|
|
606
|
+
if (!isVector(receiver)) {
|
|
607
|
+
throw new RuntimeError('RILL-R003', `dimensions requires vector receiver, got ${inferType(receiver)}`, location);
|
|
608
|
+
}
|
|
609
|
+
return receiver.data.length;
|
|
610
|
+
},
|
|
611
|
+
/** Get model name of vector */
|
|
612
|
+
model: (receiver, _args, _ctx, location) => {
|
|
613
|
+
if (!isVector(receiver)) {
|
|
614
|
+
throw new RuntimeError('RILL-R003', `model requires vector receiver, got ${inferType(receiver)}`, location);
|
|
615
|
+
}
|
|
616
|
+
return receiver.model;
|
|
617
|
+
},
|
|
618
|
+
/** Calculate cosine similarity between two vectors (range [-1, 1]) */
|
|
619
|
+
similarity: (receiver, args, _ctx, location) => {
|
|
620
|
+
if (!isVector(receiver)) {
|
|
621
|
+
throw new RuntimeError('RILL-R003', `similarity requires vector receiver, got ${inferType(receiver)}`, location);
|
|
622
|
+
}
|
|
623
|
+
const other = args[0] ?? null;
|
|
624
|
+
if (!isVector(other)) {
|
|
625
|
+
throw new RuntimeError('RILL-R003', `expected vector, got ${inferType(other)}`, location);
|
|
626
|
+
}
|
|
627
|
+
if (receiver.data.length !== other.data.length) {
|
|
628
|
+
throw new RuntimeError('RILL-R003', `vector dimension mismatch: ${receiver.data.length} vs ${other.data.length}`, location);
|
|
629
|
+
}
|
|
630
|
+
// Cosine similarity: dot(a, b) / (norm(a) * norm(b))
|
|
631
|
+
let dotProduct = 0;
|
|
632
|
+
let normA = 0;
|
|
633
|
+
let normB = 0;
|
|
634
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
635
|
+
const a = receiver.data[i];
|
|
636
|
+
const b = other.data[i];
|
|
637
|
+
dotProduct += a * b;
|
|
638
|
+
normA += a * a;
|
|
639
|
+
normB += b * b;
|
|
640
|
+
}
|
|
641
|
+
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
642
|
+
if (magnitude === 0)
|
|
643
|
+
return 0;
|
|
644
|
+
return dotProduct / magnitude;
|
|
645
|
+
},
|
|
646
|
+
/** Calculate dot product between two vectors */
|
|
647
|
+
dot: (receiver, args, _ctx, location) => {
|
|
648
|
+
if (!isVector(receiver)) {
|
|
649
|
+
throw new RuntimeError('RILL-R003', `dot requires vector receiver, got ${inferType(receiver)}`, location);
|
|
650
|
+
}
|
|
651
|
+
const other = args[0] ?? null;
|
|
652
|
+
if (!isVector(other)) {
|
|
653
|
+
throw new RuntimeError('RILL-R003', `expected vector, got ${inferType(other)}`, location);
|
|
654
|
+
}
|
|
655
|
+
if (receiver.data.length !== other.data.length) {
|
|
656
|
+
throw new RuntimeError('RILL-R003', `vector dimension mismatch: ${receiver.data.length} vs ${other.data.length}`, location);
|
|
657
|
+
}
|
|
658
|
+
let result = 0;
|
|
659
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
660
|
+
result += receiver.data[i] * other.data[i];
|
|
661
|
+
}
|
|
662
|
+
return result;
|
|
663
|
+
},
|
|
664
|
+
/** Calculate Euclidean distance between two vectors (>= 0) */
|
|
665
|
+
distance: (receiver, args, _ctx, location) => {
|
|
666
|
+
if (!isVector(receiver)) {
|
|
667
|
+
throw new RuntimeError('RILL-R003', `distance requires vector receiver, got ${inferType(receiver)}`, location);
|
|
668
|
+
}
|
|
669
|
+
const other = args[0] ?? null;
|
|
670
|
+
if (!isVector(other)) {
|
|
671
|
+
throw new RuntimeError('RILL-R003', `expected vector, got ${inferType(other)}`, location);
|
|
672
|
+
}
|
|
673
|
+
if (receiver.data.length !== other.data.length) {
|
|
674
|
+
throw new RuntimeError('RILL-R003', `vector dimension mismatch: ${receiver.data.length} vs ${other.data.length}`, location);
|
|
675
|
+
}
|
|
676
|
+
let sumSquares = 0;
|
|
677
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
678
|
+
const diff = receiver.data[i] - other.data[i];
|
|
679
|
+
sumSquares += diff * diff;
|
|
680
|
+
}
|
|
681
|
+
return Math.sqrt(sumSquares);
|
|
682
|
+
},
|
|
683
|
+
/** Calculate L2 norm (magnitude) of vector */
|
|
684
|
+
norm: (receiver, _args, _ctx, location) => {
|
|
685
|
+
if (!isVector(receiver)) {
|
|
686
|
+
throw new RuntimeError('RILL-R003', `norm requires vector receiver, got ${inferType(receiver)}`, location);
|
|
687
|
+
}
|
|
688
|
+
let sumSquares = 0;
|
|
689
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
690
|
+
const val = receiver.data[i];
|
|
691
|
+
sumSquares += val * val;
|
|
692
|
+
}
|
|
693
|
+
return Math.sqrt(sumSquares);
|
|
694
|
+
},
|
|
695
|
+
/** Create unit vector (preserves model) */
|
|
696
|
+
normalize: (receiver, _args, _ctx, location) => {
|
|
697
|
+
if (!isVector(receiver)) {
|
|
698
|
+
throw new RuntimeError('RILL-R003', `normalize requires vector receiver, got ${inferType(receiver)}`, location);
|
|
699
|
+
}
|
|
700
|
+
// Calculate norm
|
|
701
|
+
let sumSquares = 0;
|
|
702
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
703
|
+
const val = receiver.data[i];
|
|
704
|
+
sumSquares += val * val;
|
|
705
|
+
}
|
|
706
|
+
const magnitude = Math.sqrt(sumSquares);
|
|
707
|
+
// If zero vector, return as-is
|
|
708
|
+
if (magnitude === 0) {
|
|
709
|
+
return receiver;
|
|
710
|
+
}
|
|
711
|
+
// Create normalized vector
|
|
712
|
+
const normalized = new Float32Array(receiver.data.length);
|
|
713
|
+
for (let i = 0; i < receiver.data.length; i++) {
|
|
714
|
+
normalized[i] = receiver.data[i] / magnitude;
|
|
715
|
+
}
|
|
716
|
+
return {
|
|
717
|
+
__rill_vector: true,
|
|
718
|
+
data: normalized,
|
|
719
|
+
model: receiver.model,
|
|
720
|
+
};
|
|
721
|
+
},
|
|
521
722
|
};
|
|
522
723
|
//# sourceMappingURL=builtins.js.map
|