@rcrsr/rill 0.8.5 → 0.8.6
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/ext/kv/index.d.ts +46 -11
- package/dist/ext/kv/index.d.ts.map +1 -1
- package/dist/ext/kv/index.js +220 -62
- package/dist/ext/kv/index.js.map +1 -1
- package/dist/ext/kv/store.d.ts +4 -0
- package/dist/ext/kv/store.d.ts.map +1 -1
- package/dist/ext/kv/store.js +14 -0
- package/dist/ext/kv/store.js.map +1 -1
- package/dist/generated/version-data.d.ts +1 -1
- package/dist/generated/version-data.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +3 -3
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +17 -12
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/ext/extensions.d.ts +114 -0
- package/dist/runtime/ext/extensions.d.ts.map +1 -1
- package/dist/runtime/ext/extensions.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/package.json +1 -1
package/dist/ext/kv/index.d.ts
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionResult } from '../../runtime/ext/extensions.js';
|
|
8
8
|
import { type SchemaEntry } from './store.js';
|
|
9
|
-
/** KV
|
|
10
|
-
export interface
|
|
11
|
-
/**
|
|
12
|
-
|
|
9
|
+
/** Configuration for a single KV mount */
|
|
10
|
+
export interface KvMountConfig {
|
|
11
|
+
/** Access mode: 'read', 'write', or 'read-write' */
|
|
12
|
+
mode: 'read' | 'write' | 'read-write';
|
|
13
13
|
/** Schema definitions (optional, enables declared mode) */
|
|
14
14
|
schema?: Record<string, SchemaEntry> | undefined;
|
|
15
|
+
/** Path to store file (required for JSON backend) */
|
|
16
|
+
store: string;
|
|
15
17
|
/** Maximum entries (default: 10000) */
|
|
16
18
|
maxEntries?: number | undefined;
|
|
17
19
|
/** Maximum value size in bytes (default: 102400 = 100KB) */
|
|
@@ -21,25 +23,58 @@ export interface KvConfig {
|
|
|
21
23
|
/** Write policy: 'dispose' (default) or 'immediate' */
|
|
22
24
|
writePolicy?: 'dispose' | 'immediate' | undefined;
|
|
23
25
|
}
|
|
26
|
+
/** KV extension configuration (supports both single-store and multi-mount) */
|
|
27
|
+
export interface KvConfig {
|
|
28
|
+
/** Mount definitions keyed by mount name (new mount-based config) */
|
|
29
|
+
mounts?: Record<string, KvMountConfig> | undefined;
|
|
30
|
+
/** Path to store file (legacy single-store config - creates implicit "default" mount) */
|
|
31
|
+
store?: string | undefined;
|
|
32
|
+
/** Schema definitions (legacy, for single-store mode) */
|
|
33
|
+
schema?: Record<string, SchemaEntry> | undefined;
|
|
34
|
+
/** Maximum entries (legacy, default: 10000) */
|
|
35
|
+
maxEntries?: number | undefined;
|
|
36
|
+
/** Maximum value size in bytes (legacy, default: 102400 = 100KB) */
|
|
37
|
+
maxValueSize?: number | undefined;
|
|
38
|
+
/** Maximum store size in bytes (legacy, default: 10485760 = 10MB) */
|
|
39
|
+
maxStoreSize?: number | undefined;
|
|
40
|
+
/** Write policy (legacy): 'dispose' (default) or 'immediate' */
|
|
41
|
+
writePolicy?: 'dispose' | 'immediate' | undefined;
|
|
42
|
+
/** Access mode (legacy): 'read', 'write', or 'read-write' (default: 'read-write') */
|
|
43
|
+
mode?: 'read' | 'write' | 'read-write' | undefined;
|
|
44
|
+
}
|
|
24
45
|
export type { SchemaEntry };
|
|
25
46
|
/**
|
|
26
47
|
* Create KV extension with persistent storage.
|
|
27
48
|
*
|
|
28
|
-
*
|
|
29
|
-
* Returns
|
|
49
|
+
* Supports both mount-based configuration (new) and single-store configuration (legacy).
|
|
50
|
+
* Returns 11 functions: get, get_or, set, merge, delete, keys, has, clear, getAll, schema, mounts.
|
|
30
51
|
*
|
|
31
|
-
* @param config - Store configuration
|
|
32
|
-
* @returns ExtensionResult with
|
|
52
|
+
* @param config - Store configuration (mount-based or single-store)
|
|
53
|
+
* @returns ExtensionResult with 11 KV functions and dispose handler
|
|
33
54
|
* @throws RuntimeError if store file is corrupt (EC-25)
|
|
34
55
|
*
|
|
35
56
|
* @example
|
|
36
57
|
* ```typescript
|
|
58
|
+
* // Multi-mount configuration
|
|
37
59
|
* const kvExt = createKvExtension({
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
60
|
+
* mounts: {
|
|
61
|
+
* user: {
|
|
62
|
+
* mode: 'read-write',
|
|
63
|
+
* store: './data/user.json',
|
|
64
|
+
* schema: { name: { type: 'string', default: '' } }
|
|
65
|
+
* },
|
|
66
|
+
* cache: {
|
|
67
|
+
* mode: 'read-write',
|
|
68
|
+
* store: './data/cache.json'
|
|
69
|
+
* }
|
|
41
70
|
* }
|
|
42
71
|
* });
|
|
72
|
+
*
|
|
73
|
+
* // Single-store configuration (backward compatible - creates implicit "default" mount)
|
|
74
|
+
* const kvExt = createKvExtension({
|
|
75
|
+
* store: './data/state.json',
|
|
76
|
+
* schema: { count: { type: 'number', default: 0 } }
|
|
77
|
+
* });
|
|
43
78
|
* ```
|
|
44
79
|
*/
|
|
45
80
|
export declare function createKvExtension(config: KvConfig): ExtensionResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ext/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ext/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIvE,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAM3D,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;IACtC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACjD,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,uDAAuD;IACvD,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CACnD;AAED,8EAA8E;AAC9E,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACnD,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACjD,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gEAAgE;IAChE,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;CACpD;AAGD,YAAY,EAAE,WAAW,EAAE,CAAC;AAM5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,CAqYnE"}
|
package/dist/ext/kv/index.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Provides key-value store operations with JSON persistence and schema validation.
|
|
5
5
|
* Supports both open mode (any key/value) and declared mode (schema-defined keys only).
|
|
6
6
|
*/
|
|
7
|
+
import { RuntimeError } from '../../error-classes.js';
|
|
8
|
+
import { isDict } from '../../runtime/core/callable.js';
|
|
7
9
|
import { createStore } from './store.js';
|
|
8
10
|
// ============================================================
|
|
9
11
|
// FACTORY
|
|
@@ -11,48 +13,90 @@ import { createStore } from './store.js';
|
|
|
11
13
|
/**
|
|
12
14
|
* Create KV extension with persistent storage.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
15
|
-
* Returns
|
|
16
|
+
* Supports both mount-based configuration (new) and single-store configuration (legacy).
|
|
17
|
+
* Returns 11 functions: get, get_or, set, merge, delete, keys, has, clear, getAll, schema, mounts.
|
|
16
18
|
*
|
|
17
|
-
* @param config - Store configuration
|
|
18
|
-
* @returns ExtensionResult with
|
|
19
|
+
* @param config - Store configuration (mount-based or single-store)
|
|
20
|
+
* @returns ExtensionResult with 11 KV functions and dispose handler
|
|
19
21
|
* @throws RuntimeError if store file is corrupt (EC-25)
|
|
20
22
|
*
|
|
21
23
|
* @example
|
|
22
24
|
* ```typescript
|
|
25
|
+
* // Multi-mount configuration
|
|
23
26
|
* const kvExt = createKvExtension({
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
+
* mounts: {
|
|
28
|
+
* user: {
|
|
29
|
+
* mode: 'read-write',
|
|
30
|
+
* store: './data/user.json',
|
|
31
|
+
* schema: { name: { type: 'string', default: '' } }
|
|
32
|
+
* },
|
|
33
|
+
* cache: {
|
|
34
|
+
* mode: 'read-write',
|
|
35
|
+
* store: './data/cache.json'
|
|
36
|
+
* }
|
|
27
37
|
* }
|
|
28
38
|
* });
|
|
39
|
+
*
|
|
40
|
+
* // Single-store configuration (backward compatible - creates implicit "default" mount)
|
|
41
|
+
* const kvExt = createKvExtension({
|
|
42
|
+
* store: './data/state.json',
|
|
43
|
+
* schema: { count: { type: 'number', default: 0 } }
|
|
44
|
+
* });
|
|
29
45
|
* ```
|
|
30
46
|
*/
|
|
31
47
|
export function createKvExtension(config) {
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return storeInstance;
|
|
44
|
-
if (!storePromise) {
|
|
45
|
-
storePromise = createStore({
|
|
48
|
+
// Normalize config: convert single-store to mount-based
|
|
49
|
+
let mounts;
|
|
50
|
+
if (config.mounts) {
|
|
51
|
+
// Mount-based configuration
|
|
52
|
+
mounts = { ...config.mounts };
|
|
53
|
+
}
|
|
54
|
+
else if (config.store) {
|
|
55
|
+
// Single-store configuration - create implicit "default" mount
|
|
56
|
+
mounts = {
|
|
57
|
+
default: {
|
|
58
|
+
mode: config.mode ?? 'read-write',
|
|
46
59
|
store: config.store,
|
|
47
60
|
schema: config.schema,
|
|
48
|
-
maxEntries,
|
|
49
|
-
maxValueSize,
|
|
50
|
-
maxStoreSize,
|
|
51
|
-
writePolicy,
|
|
61
|
+
maxEntries: config.maxEntries,
|
|
62
|
+
maxValueSize: config.maxValueSize,
|
|
63
|
+
maxStoreSize: config.maxStoreSize,
|
|
64
|
+
writePolicy: config.writePolicy,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw new RuntimeError('RILL-R004', 'KV extension requires either "mounts" or "store" configuration', undefined, { config });
|
|
70
|
+
}
|
|
71
|
+
// Store instances keyed by mount name
|
|
72
|
+
const stores = new Map();
|
|
73
|
+
// Initialize stores map
|
|
74
|
+
for (const mountName of Object.keys(mounts)) {
|
|
75
|
+
stores.set(mountName, { promise: null, instance: null });
|
|
76
|
+
}
|
|
77
|
+
// Helper to get or create store for a mount
|
|
78
|
+
const getStore = async (mountName) => {
|
|
79
|
+
const mountConfig = mounts[mountName];
|
|
80
|
+
if (!mountConfig) {
|
|
81
|
+
throw new RuntimeError('RILL-R004', `Mount '${mountName}' not found`, undefined, { mountName, availableMounts: Object.keys(mounts) });
|
|
82
|
+
}
|
|
83
|
+
const storeState = stores.get(mountName);
|
|
84
|
+
if (storeState.instance)
|
|
85
|
+
return storeState.instance;
|
|
86
|
+
if (!storeState.promise) {
|
|
87
|
+
storeState.promise = createStore({
|
|
88
|
+
mount: mountName,
|
|
89
|
+
store: mountConfig.store,
|
|
90
|
+
schema: mountConfig.schema,
|
|
91
|
+
maxEntries: mountConfig.maxEntries ?? 10000,
|
|
92
|
+
maxValueSize: mountConfig.maxValueSize ?? 102400,
|
|
93
|
+
maxStoreSize: mountConfig.maxStoreSize ?? 10485760,
|
|
94
|
+
writePolicy: mountConfig.writePolicy ?? 'dispose',
|
|
95
|
+
mode: mountConfig.mode,
|
|
52
96
|
});
|
|
53
97
|
}
|
|
54
|
-
|
|
55
|
-
return
|
|
98
|
+
storeState.instance = await storeState.promise;
|
|
99
|
+
return storeState.instance;
|
|
56
100
|
};
|
|
57
101
|
// ============================================================
|
|
58
102
|
// FUNCTIONS
|
|
@@ -63,77 +107,130 @@ export function createKvExtension(config) {
|
|
|
63
107
|
* Returns empty string for missing keys in open mode.
|
|
64
108
|
*/
|
|
65
109
|
const get = async (args) => {
|
|
66
|
-
const
|
|
67
|
-
const key = args[
|
|
110
|
+
const mountName = args[0];
|
|
111
|
+
const key = args[1];
|
|
112
|
+
const store = await getStore(mountName);
|
|
68
113
|
const value = store.get(key);
|
|
69
114
|
// In rill, functions cannot return undefined - return empty string for missing keys in open mode
|
|
70
115
|
return value !== undefined ? value : '';
|
|
71
116
|
};
|
|
117
|
+
/**
|
|
118
|
+
* Get value or fallback if key missing.
|
|
119
|
+
* IR-2
|
|
120
|
+
* Never throws for missing keys (unlike get in declared mode).
|
|
121
|
+
*/
|
|
122
|
+
const get_or = async (args) => {
|
|
123
|
+
const mountName = args[0];
|
|
124
|
+
const key = args[1];
|
|
125
|
+
const fallback = args[2];
|
|
126
|
+
const store = await getStore(mountName);
|
|
127
|
+
// Check if key exists using has() to avoid schema validation errors
|
|
128
|
+
if (store.has(key)) {
|
|
129
|
+
return store.get(key);
|
|
130
|
+
}
|
|
131
|
+
// Key missing - return fallback without throwing
|
|
132
|
+
return fallback;
|
|
133
|
+
};
|
|
72
134
|
/**
|
|
73
135
|
* Set value with validation.
|
|
74
136
|
* IR-16, EC-20-24
|
|
75
137
|
*/
|
|
76
138
|
const set = async (args) => {
|
|
77
|
-
const
|
|
78
|
-
const key = args[
|
|
79
|
-
const value = args[
|
|
139
|
+
const mountName = args[0];
|
|
140
|
+
const key = args[1];
|
|
141
|
+
const value = args[2];
|
|
142
|
+
const store = await getStore(mountName);
|
|
80
143
|
await store.set(key, value);
|
|
81
144
|
return true;
|
|
82
145
|
};
|
|
146
|
+
/**
|
|
147
|
+
* Merge partial dict into existing dict value.
|
|
148
|
+
* IR-4, EC-5, EC-6
|
|
149
|
+
*/
|
|
150
|
+
const merge = async (args) => {
|
|
151
|
+
const mountName = args[0];
|
|
152
|
+
const key = args[1];
|
|
153
|
+
const partial = args[2];
|
|
154
|
+
const store = await getStore(mountName);
|
|
155
|
+
// Get current value
|
|
156
|
+
const currentValue = store.get(key);
|
|
157
|
+
// EC-5: Existing value must be a dict
|
|
158
|
+
if (currentValue !== undefined && !isDict(currentValue)) {
|
|
159
|
+
throw new RuntimeError('RILL-R004', `Cannot merge into non-dict value at key "${key}"`, undefined, { key, currentType: typeof currentValue });
|
|
160
|
+
}
|
|
161
|
+
// Merge partial into current dict (shallow merge)
|
|
162
|
+
const mergedValue = {
|
|
163
|
+
...currentValue,
|
|
164
|
+
...partial,
|
|
165
|
+
};
|
|
166
|
+
// Set merged value (this handles permission check via store.set)
|
|
167
|
+
await store.set(key, mergedValue);
|
|
168
|
+
return true;
|
|
169
|
+
};
|
|
83
170
|
/**
|
|
84
171
|
* Delete key.
|
|
85
172
|
* IR-17
|
|
86
173
|
*/
|
|
87
174
|
const deleteKey = async (args) => {
|
|
88
|
-
const
|
|
89
|
-
const key = args[
|
|
175
|
+
const mountName = args[0];
|
|
176
|
+
const key = args[1];
|
|
177
|
+
const store = await getStore(mountName);
|
|
90
178
|
return store.delete(key);
|
|
91
179
|
};
|
|
92
180
|
/**
|
|
93
181
|
* Get all keys.
|
|
94
|
-
* IR-
|
|
182
|
+
* IR-6
|
|
95
183
|
*/
|
|
96
|
-
const keys = async () => {
|
|
97
|
-
const
|
|
184
|
+
const keys = async (args) => {
|
|
185
|
+
const mountName = args[0];
|
|
186
|
+
const store = await getStore(mountName);
|
|
98
187
|
return store.keys();
|
|
99
188
|
};
|
|
100
189
|
/**
|
|
101
190
|
* Check key existence.
|
|
102
|
-
* IR-
|
|
191
|
+
* IR-7
|
|
103
192
|
*/
|
|
104
193
|
const has = async (args) => {
|
|
105
|
-
const
|
|
106
|
-
const key = args[
|
|
194
|
+
const mountName = args[0];
|
|
195
|
+
const key = args[1];
|
|
196
|
+
const store = await getStore(mountName);
|
|
107
197
|
return store.has(key);
|
|
108
198
|
};
|
|
109
199
|
/**
|
|
110
200
|
* Clear all keys (restores schema defaults if declared mode).
|
|
111
|
-
* IR-
|
|
201
|
+
* IR-8
|
|
112
202
|
*/
|
|
113
|
-
const clear = async () => {
|
|
114
|
-
const
|
|
203
|
+
const clear = async (args) => {
|
|
204
|
+
const mountName = args[0];
|
|
205
|
+
const store = await getStore(mountName);
|
|
115
206
|
store.clear();
|
|
116
207
|
return true;
|
|
117
208
|
};
|
|
118
209
|
/**
|
|
119
210
|
* Get all entries as dict.
|
|
120
|
-
* IR-
|
|
211
|
+
* IR-9
|
|
121
212
|
*/
|
|
122
|
-
const getAll = async () => {
|
|
123
|
-
const
|
|
213
|
+
const getAll = async (args) => {
|
|
214
|
+
const mountName = args[0];
|
|
215
|
+
const store = await getStore(mountName);
|
|
124
216
|
return store.getAll();
|
|
125
217
|
};
|
|
126
218
|
/**
|
|
127
219
|
* Get schema information (empty list in open mode).
|
|
128
|
-
* IR-
|
|
220
|
+
* IR-10
|
|
129
221
|
*/
|
|
130
|
-
const schema = async () => {
|
|
131
|
-
|
|
222
|
+
const schema = async (args) => {
|
|
223
|
+
const mountName = args[0];
|
|
224
|
+
const mountConfig = mounts[mountName];
|
|
225
|
+
if (!mountConfig) {
|
|
226
|
+
throw new RuntimeError('RILL-R004', `Mount '${mountName}' not found`, undefined, { mountName, availableMounts: Object.keys(mounts) });
|
|
227
|
+
}
|
|
228
|
+
if (!mountConfig.schema) {
|
|
132
229
|
return []; // Open mode - no schema
|
|
133
230
|
}
|
|
134
231
|
// Declared mode - return schema entries as list of dicts
|
|
135
232
|
const result = [];
|
|
136
|
-
for (const [key, entry] of Object.entries(
|
|
233
|
+
for (const [key, entry] of Object.entries(mountConfig.schema)) {
|
|
137
234
|
result.push({
|
|
138
235
|
key,
|
|
139
236
|
type: entry.type,
|
|
@@ -142,29 +239,68 @@ export function createKvExtension(config) {
|
|
|
142
239
|
}
|
|
143
240
|
return result;
|
|
144
241
|
};
|
|
242
|
+
/**
|
|
243
|
+
* Get list of mount metadata.
|
|
244
|
+
* IR-11
|
|
245
|
+
*/
|
|
246
|
+
const mountsList = async () => {
|
|
247
|
+
const result = [];
|
|
248
|
+
for (const [name, config] of Object.entries(mounts)) {
|
|
249
|
+
result.push({
|
|
250
|
+
name,
|
|
251
|
+
mode: config.mode,
|
|
252
|
+
schema: config.schema ? 'declared' : 'open',
|
|
253
|
+
maxEntries: config.maxEntries ?? 10000,
|
|
254
|
+
maxValueSize: config.maxValueSize ?? 102400,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
return result;
|
|
258
|
+
};
|
|
145
259
|
// ============================================================
|
|
146
260
|
// DISPOSE
|
|
147
261
|
// ============================================================
|
|
148
262
|
/**
|
|
149
|
-
* Flush
|
|
263
|
+
* Flush all mount stores to disk on dispose.
|
|
150
264
|
*/
|
|
151
265
|
const dispose = async () => {
|
|
152
|
-
|
|
153
|
-
|
|
266
|
+
const flushPromises = [];
|
|
267
|
+
for (const storeState of stores.values()) {
|
|
268
|
+
if (storeState.instance) {
|
|
269
|
+
flushPromises.push(storeState.instance.flush());
|
|
270
|
+
}
|
|
154
271
|
}
|
|
272
|
+
await Promise.all(flushPromises);
|
|
155
273
|
};
|
|
156
274
|
// ============================================================
|
|
157
275
|
// EXTENSION RESULT
|
|
158
276
|
// ============================================================
|
|
159
277
|
const result = {
|
|
160
278
|
get: {
|
|
161
|
-
params: [
|
|
279
|
+
params: [
|
|
280
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
281
|
+
{ name: 'key', type: 'string', description: 'Key to retrieve' },
|
|
282
|
+
],
|
|
162
283
|
fn: get,
|
|
163
284
|
description: 'Get value or schema default',
|
|
164
285
|
returnType: 'any',
|
|
165
286
|
},
|
|
287
|
+
get_or: {
|
|
288
|
+
params: [
|
|
289
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
290
|
+
{ name: 'key', type: 'string', description: 'Key to retrieve' },
|
|
291
|
+
{
|
|
292
|
+
name: 'fallback',
|
|
293
|
+
type: 'any',
|
|
294
|
+
description: 'Fallback value if key missing',
|
|
295
|
+
},
|
|
296
|
+
],
|
|
297
|
+
fn: get_or,
|
|
298
|
+
description: 'Get value or return fallback if key missing',
|
|
299
|
+
returnType: 'any',
|
|
300
|
+
},
|
|
166
301
|
set: {
|
|
167
302
|
params: [
|
|
303
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
168
304
|
{ name: 'key', type: 'string', description: 'Key to set' },
|
|
169
305
|
{ name: 'value', type: 'string', description: 'Value to store' },
|
|
170
306
|
],
|
|
@@ -172,42 +308,64 @@ export function createKvExtension(config) {
|
|
|
172
308
|
description: 'Set value with validation',
|
|
173
309
|
returnType: 'bool',
|
|
174
310
|
},
|
|
311
|
+
merge: {
|
|
312
|
+
params: [
|
|
313
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
314
|
+
{ name: 'key', type: 'string', description: 'Key to merge into' },
|
|
315
|
+
{ name: 'partial', type: 'dict', description: 'Partial dict to merge' },
|
|
316
|
+
],
|
|
317
|
+
fn: merge,
|
|
318
|
+
description: 'Merge partial dict into existing dict value',
|
|
319
|
+
returnType: 'bool',
|
|
320
|
+
},
|
|
175
321
|
delete: {
|
|
176
|
-
params: [
|
|
322
|
+
params: [
|
|
323
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
324
|
+
{ name: 'key', type: 'string', description: 'Key to delete' },
|
|
325
|
+
],
|
|
177
326
|
fn: deleteKey,
|
|
178
327
|
description: 'Delete key',
|
|
179
328
|
returnType: 'bool',
|
|
180
329
|
},
|
|
181
330
|
keys: {
|
|
182
|
-
params: [],
|
|
331
|
+
params: [{ name: 'mount', type: 'string', description: 'Mount name' }],
|
|
183
332
|
fn: keys,
|
|
184
|
-
description: 'Get all keys',
|
|
333
|
+
description: 'Get all keys in mount',
|
|
185
334
|
returnType: 'list',
|
|
186
335
|
},
|
|
187
336
|
has: {
|
|
188
|
-
params: [
|
|
337
|
+
params: [
|
|
338
|
+
{ name: 'mount', type: 'string', description: 'Mount name' },
|
|
339
|
+
{ name: 'key', type: 'string', description: 'Key to check' },
|
|
340
|
+
],
|
|
189
341
|
fn: has,
|
|
190
342
|
description: 'Check key existence',
|
|
191
343
|
returnType: 'bool',
|
|
192
344
|
},
|
|
193
345
|
clear: {
|
|
194
|
-
params: [],
|
|
346
|
+
params: [{ name: 'mount', type: 'string', description: 'Mount name' }],
|
|
195
347
|
fn: clear,
|
|
196
|
-
description: 'Clear all keys',
|
|
348
|
+
description: 'Clear all keys in mount',
|
|
197
349
|
returnType: 'bool',
|
|
198
350
|
},
|
|
199
351
|
getAll: {
|
|
200
|
-
params: [],
|
|
352
|
+
params: [{ name: 'mount', type: 'string', description: 'Mount name' }],
|
|
201
353
|
fn: getAll,
|
|
202
354
|
description: 'Get all entries as dict',
|
|
203
355
|
returnType: 'dict',
|
|
204
356
|
},
|
|
205
357
|
schema: {
|
|
206
|
-
params: [],
|
|
358
|
+
params: [{ name: 'mount', type: 'string', description: 'Mount name' }],
|
|
207
359
|
fn: schema,
|
|
208
360
|
description: 'Get schema information',
|
|
209
361
|
returnType: 'list',
|
|
210
362
|
},
|
|
363
|
+
mounts: {
|
|
364
|
+
params: [],
|
|
365
|
+
fn: mountsList,
|
|
366
|
+
description: 'Get list of mount metadata',
|
|
367
|
+
returnType: 'list',
|
|
368
|
+
},
|
|
211
369
|
};
|
|
212
370
|
result.dispose = dispose;
|
|
213
371
|
return result;
|
package/dist/ext/kv/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ext/kv/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ext/kv/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ext/kv/store.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface SchemaEntry {
|
|
|
13
13
|
}
|
|
14
14
|
/** Store configuration */
|
|
15
15
|
export interface StoreConfig {
|
|
16
|
+
/** Mount name for error messages */
|
|
17
|
+
mount: string;
|
|
16
18
|
/** Path to store file */
|
|
17
19
|
store: string;
|
|
18
20
|
/** Schema definitions (optional, enables declared mode) */
|
|
@@ -25,6 +27,8 @@ export interface StoreConfig {
|
|
|
25
27
|
maxStoreSize?: number | undefined;
|
|
26
28
|
/** Write policy: 'dispose' (default) or 'immediate' */
|
|
27
29
|
writePolicy?: 'dispose' | 'immediate' | undefined;
|
|
30
|
+
/** Access mode: 'read', 'write', or 'read-write' (default: 'read-write') */
|
|
31
|
+
mode?: 'read' | 'write' | 'read-write' | undefined;
|
|
28
32
|
}
|
|
29
33
|
/**
|
|
30
34
|
* Create KV store with JSON persistence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ext/kv/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAM9D,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACjD,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,uDAAuD;IACvD,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ext/kv/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAM9D,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACjD,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,uDAAuD;IACvD,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAClD,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;CACpD;AAMD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC9D,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACjC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC,CAyUD"}
|
package/dist/ext/kv/store.js
CHANGED
|
@@ -19,10 +19,12 @@ import { RuntimeError } from '../../error-classes.js';
|
|
|
19
19
|
*/
|
|
20
20
|
export async function createStore(config) {
|
|
21
21
|
// Apply defaults
|
|
22
|
+
const mount = config.mount;
|
|
22
23
|
const maxEntries = config.maxEntries ?? 10000;
|
|
23
24
|
const maxValueSize = config.maxValueSize ?? 102400; // 100KB
|
|
24
25
|
const maxStoreSize = config.maxStoreSize ?? 10485760; // 10MB
|
|
25
26
|
const writePolicy = config.writePolicy ?? 'dispose';
|
|
27
|
+
const mode = config.mode ?? 'read-write';
|
|
26
28
|
const schema = config.schema;
|
|
27
29
|
// Resolve store path
|
|
28
30
|
const storePath = path.resolve(config.store);
|
|
@@ -97,6 +99,12 @@ export async function createStore(config) {
|
|
|
97
99
|
// ============================================================
|
|
98
100
|
// HELPERS
|
|
99
101
|
// ============================================================
|
|
102
|
+
/** Check if mode allows write operations */
|
|
103
|
+
function checkWritePermission() {
|
|
104
|
+
if (mode === 'read') {
|
|
105
|
+
throw new RuntimeError('RILL-R004', `Mount '${mount}' is read-only (mode: ${mode})`, undefined, { mode, path: storePath });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
100
108
|
/** Calculate size of a value in bytes */
|
|
101
109
|
function calculateValueSize(value) {
|
|
102
110
|
return Buffer.byteLength(JSON.stringify(value), 'utf-8');
|
|
@@ -148,6 +156,8 @@ export async function createStore(config) {
|
|
|
148
156
|
}
|
|
149
157
|
/** Set value with validation */
|
|
150
158
|
async function set(key, value) {
|
|
159
|
+
// IC-2, EC-3: Check write permission
|
|
160
|
+
checkWritePermission();
|
|
151
161
|
// EC-20: Key not in schema (declared mode)
|
|
152
162
|
if (schema && !(key in schema)) {
|
|
153
163
|
throw new RuntimeError('RILL-R004', `key "${key}" not declared in schema`, undefined, { key });
|
|
@@ -189,6 +199,8 @@ export async function createStore(config) {
|
|
|
189
199
|
}
|
|
190
200
|
/** Delete key */
|
|
191
201
|
function deleteKey(key) {
|
|
202
|
+
// IC-2: Check write permission
|
|
203
|
+
checkWritePermission();
|
|
192
204
|
return data.delete(key);
|
|
193
205
|
}
|
|
194
206
|
/** Get all keys */
|
|
@@ -201,6 +213,8 @@ export async function createStore(config) {
|
|
|
201
213
|
}
|
|
202
214
|
/** Clear all keys */
|
|
203
215
|
function clear() {
|
|
216
|
+
// IC-2: Check write permission
|
|
217
|
+
checkWritePermission();
|
|
204
218
|
data.clear();
|
|
205
219
|
// If in declared mode, restore schema defaults
|
|
206
220
|
if (schema) {
|
package/dist/ext/kv/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ext/kv/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ext/kv/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Version string from package.json
|
|
5
5
|
*/
|
|
6
|
-
export const VERSION = '0.8.
|
|
6
|
+
export const VERSION = '0.8.6';
|
|
7
7
|
/**
|
|
8
8
|
* Parsed version components
|
|
9
9
|
*/
|
|
10
10
|
export const VERSION_INFO = {
|
|
11
11
|
major: 0,
|
|
12
12
|
minor: 8,
|
|
13
|
-
patch:
|
|
13
|
+
patch: 6,
|
|
14
14
|
prerelease: undefined,
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=version-data.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export { LexerError, tokenize, type TokenizeOptions } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
7
|
export type { ParseResult, RecoveryErrorNode, ErrorNode } from './types.js';
|
|
8
|
-
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallableParam, type CallFrame, type CaptureEvent, createRuntimeContext, createStepper, createVector, type DocumentationCoverageResult, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FunctionMetadata, hoistExtension, type HoistedExtension, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isVector, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillCallable, type RillFunctionReturnType, type RillIterator, type RillTuple, type RillValue, type RillVector, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, validateHostFunctionArgs, validateReturnType, VERSION, VERSION_INFO, type VersionInfo, } from './runtime/index.js';
|
|
8
|
+
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallableParam, type CallFrame, type CaptureEvent, createRuntimeContext, createStepper, createVector, type DocumentationCoverageResult, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FsExtensionContract, type FunctionMetadata, hoistExtension, type HoistedExtension, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isVector, type KvExtensionContract, type LlmExtensionContract, type SchemaEntry, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillCallable, type RillFunctionReturnType, type RillIterator, type RillTuple, type RillValue, type RillVector, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, type VectorExtensionContract, validateHostFunctionArgs, validateReturnType, VERSION, VERSION_INFO, type VersionInfo, } from './runtime/index.js';
|
|
9
9
|
export { type ErrorCategory, type ErrorDefinition, type ErrorSeverity, ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
10
10
|
export { type HighlightCategory, TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
|
11
11
|
export * from './types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
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,EAEL,WAAW,EACX,QAAQ,EAKR,oBAAoB,EACpB,aAAa,EACb,YAAY,EAEZ,kBAAkB,EAElB,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,EAEL,WAAW,EACX,QAAQ,EAKR,oBAAoB,EACpB,aAAa,EACb,YAAY,EAEZ,kBAAkB,EAElB,OAAO,EAQP,cAAc,EAMd,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EAMR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EAgBZ,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,+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,sBAAsB;AACtB,+DAA+D;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
@@ -44,7 +44,7 @@ export type CallableFn = (args: RillValue[], ctx: RuntimeContextLike, location?:
|
|
|
44
44
|
*/
|
|
45
45
|
export interface CallableParam {
|
|
46
46
|
readonly name: string;
|
|
47
|
-
readonly typeName: 'string' | 'number' | 'bool' | 'list' | 'dict' | 'vector' | null;
|
|
47
|
+
readonly typeName: 'string' | 'number' | 'bool' | 'list' | 'dict' | 'vector' | 'any' | null;
|
|
48
48
|
readonly defaultValue: RillValue | null;
|
|
49
49
|
/** Evaluated parameter-level annotations (e.g., ^(cache: true)) */
|
|
50
50
|
readonly annotations: Record<string, RillValue>;
|
|
@@ -65,8 +65,8 @@ export type RillFunctionReturnType = 'string' | 'number' | 'bool' | 'list' | 'di
|
|
|
65
65
|
export interface HostFunctionParam {
|
|
66
66
|
/** Parameter name (for error messages and documentation) */
|
|
67
67
|
readonly name: string;
|
|
68
|
-
/** Expected type:
|
|
69
|
-
readonly type: 'string' | 'number' | 'bool' | 'list' | 'dict' | 'vector';
|
|
68
|
+
/** Expected type: 6 primitive types plus 'any' */
|
|
69
|
+
readonly type: 'string' | 'number' | 'bool' | 'list' | 'dict' | 'vector' | 'any';
|
|
70
70
|
/** Default value if argument omitted. Makes parameter optional. */
|
|
71
71
|
readonly defaultValue?: RillValue;
|
|
72
72
|
/** Human-readable parameter description (optional) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,SAAS,EAAE,EACjB,GAAG,EAAE,kBAAkB,EACvB,QAAQ,CAAC,EAAE,cAAc,KACtB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EACb,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,IAAI,CAAC;IACT,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IACxC,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,KAAK,CAAC;AAEV;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kDAAkD;IAClD,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"callable.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,6 +167,9 @@ export function callableEquals(a, b, valueEquals = (x, y) => formatValue(x) ===
|
|
|
167
167
|
export function validateDefaultValueType(param, _functionName) {
|
|
168
168
|
if (param.defaultValue === undefined)
|
|
169
169
|
return;
|
|
170
|
+
// Skip validation for 'any' type (accepts all values)
|
|
171
|
+
if (param.type === 'any')
|
|
172
|
+
return;
|
|
170
173
|
const actualType = inferType(param.defaultValue);
|
|
171
174
|
const expectedType = param.type;
|
|
172
175
|
if (actualType !== expectedType) {
|
|
@@ -239,16 +242,18 @@ export function validateHostFunctionArgs(args, params, functionName, location) {
|
|
|
239
242
|
});
|
|
240
243
|
}
|
|
241
244
|
}
|
|
242
|
-
// Validate argument type
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
functionName,
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
245
|
+
// Validate argument type (skip for 'any' type)
|
|
246
|
+
if (param.type !== 'any') {
|
|
247
|
+
const actualType = inferType(arg);
|
|
248
|
+
const expectedType = param.type;
|
|
249
|
+
if (actualType !== expectedType) {
|
|
250
|
+
throw new RuntimeError('RILL-R001', `Type mismatch in ${functionName}: parameter '${param.name}' expects ${expectedType}, got ${actualType}`, location, {
|
|
251
|
+
functionName,
|
|
252
|
+
paramName: param.name,
|
|
253
|
+
expectedType,
|
|
254
|
+
actualType,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
252
257
|
}
|
|
253
258
|
}
|
|
254
259
|
}
|
|
@@ -294,8 +299,8 @@ export function validateCallableArgs(args, params, functionName, location) {
|
|
|
294
299
|
});
|
|
295
300
|
}
|
|
296
301
|
}
|
|
297
|
-
// Validate argument type (only for typed parameters)
|
|
298
|
-
if (param.typeName !== null) {
|
|
302
|
+
// Validate argument type (only for typed parameters, skip 'any')
|
|
303
|
+
if (param.typeName !== null && param.typeName !== 'any') {
|
|
299
304
|
const actualType = inferType(arg);
|
|
300
305
|
const expectedType = param.typeName;
|
|
301
306
|
if (actualType !== expectedType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"callable.js","sourceRoot":"","sources":["../../../src/runtime/core/callable.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,120 @@ export interface HoistedExtension {
|
|
|
27
27
|
* Accepts typed configuration and returns isolated instance.
|
|
28
28
|
*/
|
|
29
29
|
export type ExtensionFactory<TConfig> = (config: TConfig) => ExtensionResult;
|
|
30
|
+
/**
|
|
31
|
+
* Contract type for kv extension implementations.
|
|
32
|
+
* Enforces exact function structure for compile-time verification.
|
|
33
|
+
*
|
|
34
|
+
* Backend implementations must provide all 11 functions:
|
|
35
|
+
* - get(mount, key): Retrieve value or null
|
|
36
|
+
* - get_or(mount, key, fallback): Retrieve value with fallback
|
|
37
|
+
* - set(mount, key, value): Store value
|
|
38
|
+
* - merge(mount, key, partial): Merge dict properties
|
|
39
|
+
* - delete(mount, key): Remove key
|
|
40
|
+
* - keys(mount): List all keys
|
|
41
|
+
* - has(mount, key): Check key existence
|
|
42
|
+
* - clear(mount): Remove all keys
|
|
43
|
+
* - getAll(mount): Retrieve all key-value pairs
|
|
44
|
+
* - schema(mount): Get mount schema metadata
|
|
45
|
+
* - mounts(): List all configured mounts
|
|
46
|
+
*/
|
|
47
|
+
export type KvExtensionContract = {
|
|
48
|
+
readonly get: HostFunctionDefinition;
|
|
49
|
+
readonly get_or: HostFunctionDefinition;
|
|
50
|
+
readonly set: HostFunctionDefinition;
|
|
51
|
+
readonly merge: HostFunctionDefinition;
|
|
52
|
+
readonly delete: HostFunctionDefinition;
|
|
53
|
+
readonly keys: HostFunctionDefinition;
|
|
54
|
+
readonly has: HostFunctionDefinition;
|
|
55
|
+
readonly clear: HostFunctionDefinition;
|
|
56
|
+
readonly getAll: HostFunctionDefinition;
|
|
57
|
+
readonly schema: HostFunctionDefinition;
|
|
58
|
+
readonly mounts: HostFunctionDefinition;
|
|
59
|
+
readonly dispose?: (() => void | Promise<void>) | undefined;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Contract type for fs extension implementations.
|
|
63
|
+
* Enforces exact function structure for compile-time verification.
|
|
64
|
+
*
|
|
65
|
+
* Backend implementations must provide all 12 functions:
|
|
66
|
+
* - read(mount, path): Read file content
|
|
67
|
+
* - write(mount, path, content): Write file content
|
|
68
|
+
* - append(mount, path, content): Append to file
|
|
69
|
+
* - list(mount, path?): List directory entries
|
|
70
|
+
* - find(mount, pattern?): Find files by pattern
|
|
71
|
+
* - exists(mount, path): Check file/directory existence
|
|
72
|
+
* - remove(mount, path): Delete file/directory
|
|
73
|
+
* - stat(mount, path): Get file metadata
|
|
74
|
+
* - mkdir(mount, path): Create directory
|
|
75
|
+
* - copy(mount, src, dest): Copy file/directory
|
|
76
|
+
* - move(mount, src, dest): Move file/directory
|
|
77
|
+
* - mounts(): List all configured mounts
|
|
78
|
+
*/
|
|
79
|
+
export type FsExtensionContract = {
|
|
80
|
+
readonly read: HostFunctionDefinition;
|
|
81
|
+
readonly write: HostFunctionDefinition;
|
|
82
|
+
readonly append: HostFunctionDefinition;
|
|
83
|
+
readonly list: HostFunctionDefinition;
|
|
84
|
+
readonly find: HostFunctionDefinition;
|
|
85
|
+
readonly exists: HostFunctionDefinition;
|
|
86
|
+
readonly remove: HostFunctionDefinition;
|
|
87
|
+
readonly stat: HostFunctionDefinition;
|
|
88
|
+
readonly mkdir: HostFunctionDefinition;
|
|
89
|
+
readonly copy: HostFunctionDefinition;
|
|
90
|
+
readonly move: HostFunctionDefinition;
|
|
91
|
+
readonly mounts: HostFunctionDefinition;
|
|
92
|
+
readonly dispose?: (() => void | Promise<void>) | undefined;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Contract type for llm extension implementations.
|
|
96
|
+
* Enforces exact function structure for compile-time verification.
|
|
97
|
+
*
|
|
98
|
+
* Backend implementations must provide all 5 functions:
|
|
99
|
+
* - message(text, options): Send single message
|
|
100
|
+
* - messages(messages, options): Multi-turn conversation
|
|
101
|
+
* - embed(text): Generate embedding vector
|
|
102
|
+
* - embed_batch(texts): Batch embeddings
|
|
103
|
+
* - tool_loop(prompt, options): Tool use orchestration
|
|
104
|
+
*/
|
|
105
|
+
export type LlmExtensionContract = {
|
|
106
|
+
readonly message: HostFunctionDefinition;
|
|
107
|
+
readonly messages: HostFunctionDefinition;
|
|
108
|
+
readonly embed: HostFunctionDefinition;
|
|
109
|
+
readonly embed_batch: HostFunctionDefinition;
|
|
110
|
+
readonly tool_loop: HostFunctionDefinition;
|
|
111
|
+
readonly dispose?: (() => void | Promise<void>) | undefined;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Contract type for vector extension implementations.
|
|
115
|
+
* Enforces exact function structure for compile-time verification.
|
|
116
|
+
*
|
|
117
|
+
* Backend implementations must provide all 11 functions:
|
|
118
|
+
* - upsert(id, vector, metadata): Insert or update vector
|
|
119
|
+
* - upsert_batch(items): Batch insert/update
|
|
120
|
+
* - search(vector, options): Search k nearest neighbors
|
|
121
|
+
* - get(id): Fetch vector by ID
|
|
122
|
+
* - delete(id): Delete vector by ID
|
|
123
|
+
* - delete_batch(ids): Batch delete
|
|
124
|
+
* - count(): Count vectors in collection
|
|
125
|
+
* - create_collection(name, options): Create collection
|
|
126
|
+
* - delete_collection(name): Delete collection
|
|
127
|
+
* - list_collections(): List all collections
|
|
128
|
+
* - describe(): Get collection metadata
|
|
129
|
+
*/
|
|
130
|
+
export type VectorExtensionContract = {
|
|
131
|
+
readonly upsert: HostFunctionDefinition;
|
|
132
|
+
readonly upsert_batch: HostFunctionDefinition;
|
|
133
|
+
readonly search: HostFunctionDefinition;
|
|
134
|
+
readonly get: HostFunctionDefinition;
|
|
135
|
+
readonly delete: HostFunctionDefinition;
|
|
136
|
+
readonly delete_batch: HostFunctionDefinition;
|
|
137
|
+
readonly count: HostFunctionDefinition;
|
|
138
|
+
readonly create_collection: HostFunctionDefinition;
|
|
139
|
+
readonly delete_collection: HostFunctionDefinition;
|
|
140
|
+
readonly list_collections: HostFunctionDefinition;
|
|
141
|
+
readonly describe: HostFunctionDefinition;
|
|
142
|
+
readonly dispose?: (() => void | Promise<void>) | undefined;
|
|
143
|
+
};
|
|
30
144
|
/**
|
|
31
145
|
* Prefix all function names in an extension with a namespace.
|
|
32
146
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/runtime/ext/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG;IACrE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,eAAe,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,GACzB,eAAe,CAkCjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,GACzB,gBAAgB,CAkClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5E,IAAI,CA2BN"}
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/runtime/ext/extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/runtime/ext/extensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/runtime/ext/extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -23,7 +23,8 @@ export type { RillIterator, RillTuple, RillValue, RillVector, } from './core/val
|
|
|
23
23
|
export { createVector, isRillIterator, isTuple, isVector, isReservedMethod, RESERVED_DICT_METHODS, } from './core/values.js';
|
|
24
24
|
export { BreakSignal, ReturnSignal } from './core/signals.js';
|
|
25
25
|
export type { ExtensionEvent } from './core/types.js';
|
|
26
|
-
export type { ExtensionFactory, ExtensionResult, HoistedExtension, } from './ext/extensions.js';
|
|
26
|
+
export type { ExtensionFactory, ExtensionResult, FsExtensionContract, HoistedExtension, KvExtensionContract, LlmExtensionContract, VectorExtensionContract, } from './ext/extensions.js';
|
|
27
|
+
export type { SchemaEntry } from '../ext/kv/index.js';
|
|
27
28
|
export { prefixFunctions, emitExtensionEvent, hoistExtension, } from './ext/extensions.js';
|
|
28
29
|
export { createRuntimeContext } from './core/context.js';
|
|
29
30
|
export type { CallFrame } from '../types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM9E,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM3D,YAAY,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsCH,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsCH,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoB9D,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAQzD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9E,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAY3D,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
|