@lute-lang/runtime 0.40.0 → 0.41.1
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 +64 -0
- package/dist/Bundle.d.ts +221 -8
- package/dist/BundleSource.d.ts +1 -1
- package/dist/Errors.d.ts +37 -3
- package/dist/InputLog.d.ts +35 -2
- package/dist/Program.d.ts +30 -2
- package/dist/Session.d.ts +15 -6
- package/dist/browser.js +1 -1
- package/dist/bun.js +1 -1
- package/dist/generated/Contract.d.ts +166 -7
- package/dist/generated/Ir.d.ts +393 -46
- package/dist/index-tecmws3f.js +2168 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -991
- package/dist/wasm/lute_runtime_wasm.d.ts +38 -0
- package/dist/wasm/lute_runtime_wasm.js +109 -0
- package/dist/wasm/lute_runtime_wasm_bg.wasm +0 -0
- package/dist/wasm/lute_runtime_wasm_bg.wasm.d.ts +7 -0
- package/package.json +1 -1
- package/dist/index-wshk3yvw.js +0 -918
|
@@ -33,10 +33,28 @@ export class Program {
|
|
|
33
33
|
* The clock position, as `ClockAt` JSON or `null` without a clock.
|
|
34
34
|
*/
|
|
35
35
|
clock(state: State): string;
|
|
36
|
+
/**
|
|
37
|
+
* Evaluate the bundle's def `name` over the state, its parameters bound
|
|
38
|
+
* to `args` (a JSON array of scalars, one per declared parameter;
|
|
39
|
+
* absent = `[]`), as `Evaluation` JSON; an unknown def, an argument
|
|
40
|
+
* fault or an evaluation error is rejected.
|
|
41
|
+
*/
|
|
42
|
+
def(state: State, name: string, args?: string | null): QueryResult;
|
|
36
43
|
/**
|
|
37
44
|
* The verdict of `beat` (for `member`), as `Candidate` JSON or `null`.
|
|
38
45
|
*/
|
|
39
46
|
eligibility(state: State, beat: string, member?: string | null): string;
|
|
47
|
+
/**
|
|
48
|
+
* Evaluate an IR `exprNode` (JSON) over the state, as `Evaluation`
|
|
49
|
+
* JSON; a malformed expression or an evaluation error is rejected.
|
|
50
|
+
*/
|
|
51
|
+
evaluate(state: State, expr: string): QueryResult;
|
|
52
|
+
/**
|
|
53
|
+
* Whether a `raiseOccasion` of `occasion` (for `target`) with no writes
|
|
54
|
+
* would pass the seam now, as `Gate` JSON; an occasion the bundle does
|
|
55
|
+
* not declare is rejected.
|
|
56
|
+
*/
|
|
57
|
+
gate(state: State, occasion: string, target?: string | null): QueryResult;
|
|
40
58
|
/**
|
|
41
59
|
* Load a `project.index.json` and an object mapping artifact paths to IR.
|
|
42
60
|
*
|
|
@@ -72,6 +90,19 @@ export class Program {
|
|
|
72
90
|
readonly fingerprint: string;
|
|
73
91
|
}
|
|
74
92
|
|
|
93
|
+
/**
|
|
94
|
+
* The result of a query (`evaluate`, `def`, `gate`): its answer JSON
|
|
95
|
+
* (`Evaluation`, `Gate`) or a rejection.
|
|
96
|
+
*/
|
|
97
|
+
export class QueryResult {
|
|
98
|
+
private constructor();
|
|
99
|
+
free(): void;
|
|
100
|
+
[Symbol.dispose](): void;
|
|
101
|
+
readonly ok: boolean;
|
|
102
|
+
readonly rejected: string | undefined;
|
|
103
|
+
readonly value: string | undefined;
|
|
104
|
+
}
|
|
105
|
+
|
|
75
106
|
/**
|
|
76
107
|
* The result of restoring a snapshot.
|
|
77
108
|
*/
|
|
@@ -112,6 +143,7 @@ export interface InitOutput {
|
|
|
112
143
|
readonly memory: WebAssembly.Memory;
|
|
113
144
|
readonly __wbg_loadresult_free: (a: number, b: number) => void;
|
|
114
145
|
readonly __wbg_program_free: (a: number, b: number) => void;
|
|
146
|
+
readonly __wbg_queryresult_free: (a: number, b: number) => void;
|
|
115
147
|
readonly __wbg_restoreresult_free: (a: number, b: number) => void;
|
|
116
148
|
readonly __wbg_state_free: (a: number, b: number) => void;
|
|
117
149
|
readonly __wbg_stepresult_free: (a: number, b: number) => void;
|
|
@@ -121,8 +153,11 @@ export interface InitOutput {
|
|
|
121
153
|
readonly program_begin: (a: number, b: number, c: number) => number;
|
|
122
154
|
readonly program_candidates: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
123
155
|
readonly program_clock: (a: number, b: number) => [number, number];
|
|
156
|
+
readonly program_def: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
124
157
|
readonly program_eligibility: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
158
|
+
readonly program_evaluate: (a: number, b: number, c: number, d: number) => number;
|
|
125
159
|
readonly program_fingerprint: (a: number) => [number, number];
|
|
160
|
+
readonly program_gate: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
126
161
|
readonly program_load: (a: number, b: number, c: number, d: number) => number;
|
|
127
162
|
readonly program_restore: (a: number, b: number, c: number) => number;
|
|
128
163
|
readonly program_snapshot: (a: number, b: number) => [number, number];
|
|
@@ -130,6 +165,9 @@ export interface InitOutput {
|
|
|
130
165
|
readonly program_step: (a: number, b: number, c: number, d: number) => number;
|
|
131
166
|
readonly program_terminal: (a: number, b: number) => number;
|
|
132
167
|
readonly program_view: (a: number, b: number, c: number) => [number, number];
|
|
168
|
+
readonly queryresult_ok: (a: number) => number;
|
|
169
|
+
readonly queryresult_rejected: (a: number) => [number, number];
|
|
170
|
+
readonly queryresult_value: (a: number) => [number, number];
|
|
133
171
|
readonly restoreresult_ok: (a: number) => number;
|
|
134
172
|
readonly restoreresult_rejected: (a: number) => [number, number];
|
|
135
173
|
readonly restoreresult_state: (a: number) => number;
|
|
@@ -123,6 +123,25 @@ export class Program {
|
|
|
123
123
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Evaluate the bundle's def `name` over the state, its parameters bound
|
|
128
|
+
* to `args` (a JSON array of scalars, one per declared parameter;
|
|
129
|
+
* absent = `[]`), as `Evaluation` JSON; an unknown def, an argument
|
|
130
|
+
* fault or an evaluation error is rejected.
|
|
131
|
+
* @param {State} state
|
|
132
|
+
* @param {string} name
|
|
133
|
+
* @param {string | null} [args]
|
|
134
|
+
* @returns {QueryResult}
|
|
135
|
+
*/
|
|
136
|
+
def(state, name, args) {
|
|
137
|
+
_assertClass(state, State);
|
|
138
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
139
|
+
const len0 = WASM_VECTOR_LEN;
|
|
140
|
+
var ptr1 = isLikeNone(args) ? 0 : passStringToWasm0(args, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
141
|
+
var len1 = WASM_VECTOR_LEN;
|
|
142
|
+
const ret = wasm.program_def(this.__wbg_ptr, state.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
143
|
+
return QueryResult.__wrap(ret);
|
|
144
|
+
}
|
|
126
145
|
/**
|
|
127
146
|
* The verdict of `beat` (for `member`), as `Candidate` JSON or `null`.
|
|
128
147
|
* @param {State} state
|
|
@@ -147,6 +166,20 @@ export class Program {
|
|
|
147
166
|
wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
|
|
148
167
|
}
|
|
149
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Evaluate an IR `exprNode` (JSON) over the state, as `Evaluation`
|
|
171
|
+
* JSON; a malformed expression or an evaluation error is rejected.
|
|
172
|
+
* @param {State} state
|
|
173
|
+
* @param {string} expr
|
|
174
|
+
* @returns {QueryResult}
|
|
175
|
+
*/
|
|
176
|
+
evaluate(state, expr) {
|
|
177
|
+
_assertClass(state, State);
|
|
178
|
+
const ptr0 = passStringToWasm0(expr, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
179
|
+
const len0 = WASM_VECTOR_LEN;
|
|
180
|
+
const ret = wasm.program_evaluate(this.__wbg_ptr, state.__wbg_ptr, ptr0, len0);
|
|
181
|
+
return QueryResult.__wrap(ret);
|
|
182
|
+
}
|
|
150
183
|
/**
|
|
151
184
|
* @returns {string}
|
|
152
185
|
*/
|
|
@@ -162,6 +195,24 @@ export class Program {
|
|
|
162
195
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
163
196
|
}
|
|
164
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Whether a `raiseOccasion` of `occasion` (for `target`) with no writes
|
|
200
|
+
* would pass the seam now, as `Gate` JSON; an occasion the bundle does
|
|
201
|
+
* not declare is rejected.
|
|
202
|
+
* @param {State} state
|
|
203
|
+
* @param {string} occasion
|
|
204
|
+
* @param {string | null} [target]
|
|
205
|
+
* @returns {QueryResult}
|
|
206
|
+
*/
|
|
207
|
+
gate(state, occasion, target) {
|
|
208
|
+
_assertClass(state, State);
|
|
209
|
+
const ptr0 = passStringToWasm0(occasion, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
210
|
+
const len0 = WASM_VECTOR_LEN;
|
|
211
|
+
var ptr1 = isLikeNone(target) ? 0 : passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
212
|
+
var len1 = WASM_VECTOR_LEN;
|
|
213
|
+
const ret = wasm.program_gate(this.__wbg_ptr, state.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
214
|
+
return QueryResult.__wrap(ret);
|
|
215
|
+
}
|
|
165
216
|
/**
|
|
166
217
|
* Load a `project.index.json` and an object mapping artifact paths to IR.
|
|
167
218
|
*
|
|
@@ -272,6 +323,61 @@ export class Program {
|
|
|
272
323
|
}
|
|
273
324
|
if (Symbol.dispose) Program.prototype[Symbol.dispose] = Program.prototype.free;
|
|
274
325
|
|
|
326
|
+
/**
|
|
327
|
+
* The result of a query (`evaluate`, `def`, `gate`): its answer JSON
|
|
328
|
+
* (`Evaluation`, `Gate`) or a rejection.
|
|
329
|
+
*/
|
|
330
|
+
export class QueryResult {
|
|
331
|
+
static __wrap(ptr) {
|
|
332
|
+
const obj = Object.create(QueryResult.prototype);
|
|
333
|
+
obj.__wbg_ptr = ptr;
|
|
334
|
+
QueryResultFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
335
|
+
return obj;
|
|
336
|
+
}
|
|
337
|
+
__destroy_into_raw() {
|
|
338
|
+
const ptr = this.__wbg_ptr;
|
|
339
|
+
this.__wbg_ptr = 0;
|
|
340
|
+
QueryResultFinalization.unregister(this);
|
|
341
|
+
return ptr;
|
|
342
|
+
}
|
|
343
|
+
free() {
|
|
344
|
+
const ptr = this.__destroy_into_raw();
|
|
345
|
+
wasm.__wbg_queryresult_free(ptr, 0);
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* @returns {boolean}
|
|
349
|
+
*/
|
|
350
|
+
get ok() {
|
|
351
|
+
const ret = wasm.queryresult_ok(this.__wbg_ptr);
|
|
352
|
+
return ret !== 0;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* @returns {string | undefined}
|
|
356
|
+
*/
|
|
357
|
+
get rejected() {
|
|
358
|
+
const ret = wasm.queryresult_rejected(this.__wbg_ptr);
|
|
359
|
+
let v1;
|
|
360
|
+
if (ret[0] !== 0) {
|
|
361
|
+
v1 = getStringFromWasm0(ret[0], ret[1]).slice();
|
|
362
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
363
|
+
}
|
|
364
|
+
return v1;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* @returns {string | undefined}
|
|
368
|
+
*/
|
|
369
|
+
get value() {
|
|
370
|
+
const ret = wasm.queryresult_value(this.__wbg_ptr);
|
|
371
|
+
let v1;
|
|
372
|
+
if (ret[0] !== 0) {
|
|
373
|
+
v1 = getStringFromWasm0(ret[0], ret[1]).slice();
|
|
374
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
375
|
+
}
|
|
376
|
+
return v1;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (Symbol.dispose) QueryResult.prototype[Symbol.dispose] = QueryResult.prototype.free;
|
|
380
|
+
|
|
275
381
|
/**
|
|
276
382
|
* The result of restoring a snapshot.
|
|
277
383
|
*/
|
|
@@ -432,6 +538,9 @@ const LoadResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
432
538
|
const ProgramFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
433
539
|
? { register: () => {}, unregister: () => {} }
|
|
434
540
|
: new FinalizationRegistry(ptr => wasm.__wbg_program_free(ptr, 1));
|
|
541
|
+
const QueryResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
542
|
+
? { register: () => {}, unregister: () => {} }
|
|
543
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_queryresult_free(ptr, 1));
|
|
435
544
|
const RestoreResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
436
545
|
? { register: () => {}, unregister: () => {} }
|
|
437
546
|
: new FinalizationRegistry(ptr => wasm.__wbg_restoreresult_free(ptr, 1));
|
|
Binary file
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_loadresult_free: (a: number, b: number) => void;
|
|
5
5
|
export const __wbg_program_free: (a: number, b: number) => void;
|
|
6
|
+
export const __wbg_queryresult_free: (a: number, b: number) => void;
|
|
6
7
|
export const __wbg_restoreresult_free: (a: number, b: number) => void;
|
|
7
8
|
export const __wbg_state_free: (a: number, b: number) => void;
|
|
8
9
|
export const __wbg_stepresult_free: (a: number, b: number) => void;
|
|
@@ -12,8 +13,11 @@ export const loadresult_rejected: (a: number) => [number, number];
|
|
|
12
13
|
export const program_begin: (a: number, b: number, c: number) => number;
|
|
13
14
|
export const program_candidates: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
14
15
|
export const program_clock: (a: number, b: number) => [number, number];
|
|
16
|
+
export const program_def: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
15
17
|
export const program_eligibility: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
18
|
+
export const program_evaluate: (a: number, b: number, c: number, d: number) => number;
|
|
16
19
|
export const program_fingerprint: (a: number) => [number, number];
|
|
20
|
+
export const program_gate: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
17
21
|
export const program_load: (a: number, b: number, c: number, d: number) => number;
|
|
18
22
|
export const program_restore: (a: number, b: number, c: number) => number;
|
|
19
23
|
export const program_snapshot: (a: number, b: number) => [number, number];
|
|
@@ -21,6 +25,9 @@ export const program_stage: (a: number, b: number) => [number, number];
|
|
|
21
25
|
export const program_step: (a: number, b: number, c: number, d: number) => number;
|
|
22
26
|
export const program_terminal: (a: number, b: number) => number;
|
|
23
27
|
export const program_view: (a: number, b: number, c: number) => [number, number];
|
|
28
|
+
export const queryresult_ok: (a: number) => number;
|
|
29
|
+
export const queryresult_rejected: (a: number) => [number, number];
|
|
30
|
+
export const queryresult_value: (a: number) => [number, number];
|
|
24
31
|
export const restoreresult_ok: (a: number) => number;
|
|
25
32
|
export const restoreresult_rejected: (a: number) => [number, number];
|
|
26
33
|
export const restoreresult_state: (a: number) => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lute-lang/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.1",
|
|
4
4
|
"description": "The Lute runtime for TypeScript hosts, in Effect: load a compiled Lute bundle, drive the resumable step function, replay input logs (Bun and browsers).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|