@six5536/smllm-wasm 0.6.0 → 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 +36 -16
- package/dist/index.d.ts +7 -2
- package/dist/index.js +17 -2
- package/dist/types.d.ts +11 -0
- package/dist/wrap.d.ts +2 -0
- package/dist/wrap.js +4 -0
- package/package.json +1 -1
- package/wasm/bundler/smllm_wasm.d.ts +2 -1
- package/wasm/bundler/smllm_wasm_bg.js +25 -13
- package/wasm/bundler/smllm_wasm_bg.wasm +0 -0
- package/wasm/web/smllm_wasm.d.ts +2 -1
- package/wasm/web/smllm_wasm.js +25 -13
- package/wasm/web/smllm_wasm_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ engine:
|
|
|
23
23
|
```js
|
|
24
24
|
import init, { Engine, memoryStorage } from "@six5536/smllm-wasm"; // or from "@six5536/smllm-wasm/bundler"
|
|
25
25
|
|
|
26
|
-
await init(); // the bundler build needs no init
|
|
26
|
+
await init(); // in a browser or Node.js, while the bundler build needs no init
|
|
27
27
|
const compiled = await (await fetch("machines.json")).json(); // `smllm compile`
|
|
28
28
|
const engine = new Engine(
|
|
29
29
|
compiled,
|
|
@@ -65,6 +65,11 @@ host leaves the method out:
|
|
|
65
65
|
- `read(file)` reads a prompt file. `smllm compile` inlines prompt files, so a host rarely needs
|
|
66
66
|
this method.
|
|
67
67
|
- `isMatch(pattern, value)` matches a pattern. By default, it uses `new RegExp`.
|
|
68
|
+
- `checkJson(schema, value)` checks a `json` param's value against its schema, and returns one
|
|
69
|
+
message for each error, such as `at /steps: [] has fewer than 1 item`, or none when the value
|
|
70
|
+
passes. The engine refuses an event whose value has errors. The package has no validator of its
|
|
71
|
+
own, so give it one of yours, such as Ajv's. Without `checkJson`, the engine takes the value
|
|
72
|
+
unchecked, and `unsupported()` names each `json` param with a schema.
|
|
68
73
|
- `now()` returns the time. By default, it uses `Date.now`.
|
|
69
74
|
- `random()` returns a random number. By default, it uses `crypto.getRandomValues`.
|
|
70
75
|
- `history(machine, id, entry)` and `put(kind, key, record)` receive writes. By default, the
|
|
@@ -157,9 +162,12 @@ model that the host calls through the Messages API with no tools. The host shows
|
|
|
157
162
|
state, reads its answer as one event, runs its own checks, and fires the results. Four methods
|
|
158
163
|
serve it, and none of them changes anything:
|
|
159
164
|
|
|
160
|
-
- `hostView(key)` returns `{ location, model, host }`: where the session is, the events
|
|
161
|
-
model can fire,
|
|
162
|
-
`description`, and `params`, and a JSON param has its
|
|
165
|
+
- `hostView(key)` returns `{ location, model, host, invoke }`: where the session is, the events
|
|
166
|
+
that the model can fire, the events that only the host fires, and the host's work that the
|
|
167
|
+
state invokes. Each event has its `name`, `description`, and `params`, and a JSON param has its
|
|
168
|
+
bundled `schema` as an object. Each `invoke` has its `src`, the name of the work, and its
|
|
169
|
+
`input`, an object of fixed values, if the machine gives one: run the work, then fire its result
|
|
170
|
+
with `fireAsHost`.
|
|
163
171
|
- `stateText(key, { schemas })` returns the state's text for the model: its instructions, the
|
|
164
172
|
model's events with their params, and a request to answer with one event as JSON. Each JSON
|
|
165
173
|
param shows its schema, unless `schemas` is `false`.
|
|
@@ -170,38 +178,50 @@ serve it, and none of them changes anything:
|
|
|
170
178
|
JavaScript values ready for `fire`, or `{ ok: false, error }`, whose error the host sends back
|
|
171
179
|
to the model as it stands. Every malformed answer gets the same error.
|
|
172
180
|
|
|
173
|
-
This loop runs a machine from start to end. The machine
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
attempts:
|
|
181
|
+
This loop runs a machine from start to end. The machine triages support tickets, and is in the
|
|
182
|
+
`examples/ticket-triage` folder of the smllm repository. The model answers with a triage, a JSON
|
|
183
|
+
value with a schema, or asks for the customer's earlier tickets. The host checks the triage and
|
|
184
|
+
fires `checks_passed` or `checks_failed`, and the machine gives up after five attempts:
|
|
178
185
|
|
|
179
186
|
```js
|
|
180
187
|
const engine = new Engine(compiled, {}, memoryStorage());
|
|
181
188
|
// A keyless `enter` creates the session and starts the machine in one call.
|
|
182
|
-
const { session } = engine.fire(undefined, "enter", { stateMachine: "
|
|
189
|
+
const { session } = engine.fire(undefined, "enter", { stateMachine: "ticket-triage" });
|
|
183
190
|
for (;;) {
|
|
184
191
|
const view = engine.hostView(session);
|
|
185
192
|
if (view.location.machine === null) break; // a final state: the session is idle again
|
|
186
193
|
if (view.model.length > 0) {
|
|
187
|
-
let prompt = `${engine.stateText(session)}\n${
|
|
194
|
+
let prompt = `${engine.stateText(session)}\n${ticket}`;
|
|
188
195
|
for (;;) {
|
|
189
196
|
const answer = engine.checkAnswer(session, await askModel(prompt)); // your adapter
|
|
190
197
|
if (answer.ok) {
|
|
191
198
|
engine.fire(session, answer.event, answer.params); // the model chose the event
|
|
192
|
-
if (answer.event === "
|
|
199
|
+
if (answer.event === "triage") triage = answer.params.json;
|
|
193
200
|
break;
|
|
194
201
|
}
|
|
195
202
|
prompt = answer.error; // the refusal, as it stands; count it as an attempt
|
|
196
203
|
}
|
|
204
|
+
} else if (view.invoke.length > 0) {
|
|
205
|
+
// The state names its work, so the host finds its code by name, not by the state's.
|
|
206
|
+
for (const { src, input } of view.invoke) await work[src](session, input);
|
|
197
207
|
} else {
|
|
198
|
-
|
|
199
|
-
if (errors.length === 0) engine.fireAsHost(session, "checks_passed");
|
|
200
|
-
else engine.fireAsHost(session, "checks_failed", { errors: errors.join("\n") });
|
|
208
|
+
throw new Error(`nothing to do in ${view.location.state}`); // a person's step: wait for them
|
|
201
209
|
}
|
|
202
210
|
}
|
|
203
211
|
```
|
|
204
212
|
|
|
213
|
+
`work` maps each `src` to the host's code, which fires the work's result:
|
|
214
|
+
|
|
215
|
+
```js
|
|
216
|
+
const work = {
|
|
217
|
+
async runChecks(session) {
|
|
218
|
+
const errors = await runChecks(triage, ticket); // your checks, which can be async
|
|
219
|
+
if (errors.length === 0) engine.fireAsHost(session, "checks_passed");
|
|
220
|
+
else engine.fireAsHost(session, "checks_failed", { errors: errors.join("\n") });
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
```
|
|
224
|
+
|
|
205
225
|
The model is never offered a built-in event, such as `yield`, `pause`, or `unmatched`, or a
|
|
206
226
|
host-only event, because those belong to whoever drives the session, which here is the host. The
|
|
207
227
|
host fires them as it needs them. An outcome that the model can choose, such as "I can't do this"
|
|
@@ -211,7 +231,7 @@ One machine can mix the model's steps, the host's deterministic steps, and a per
|
|
|
211
231
|
state that offers the model events is a step of the model. A state whose events are all the
|
|
212
232
|
host's is a step of the host, such as `CHECKING`, or a person's step, such as an approval for
|
|
213
233
|
which the host fires the person's decision. A state that offers both lists is a step of the model
|
|
214
|
-
that the host can interrupt: the
|
|
234
|
+
that the host can interrupt: the ticket triage's `READ` offers the host `timed_out`, which the
|
|
215
235
|
host fires when the model takes too long.
|
|
216
236
|
|
|
217
237
|
## Run in Node
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import load, { Engine as Raw, initSync } from "../wasm/web/smllm_wasm.js";
|
|
2
2
|
import { Engine as Base } from "./wrap.js";
|
|
3
|
-
|
|
3
|
+
type Input = Parameters<typeof load>[0];
|
|
4
|
+
/**
|
|
5
|
+
* Load the engine's WebAssembly once. Without an argument, a browser fetches
|
|
6
|
+
* the package's file, and Node.js, which can't fetch a `file:` URL, reads it.
|
|
7
|
+
*/
|
|
8
|
+
export default function init(input?: Input): ReturnType<typeof load>;
|
|
4
9
|
export { initSync };
|
|
5
10
|
export type * from "./types.js";
|
|
6
11
|
export { memoryStorage } from "./storage.js";
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
// smllm-wasm for browsers and Node (the web build): call `init()` (or
|
|
2
2
|
// `initSync`) once, then use `Engine`. The string API is `smllm-wasm/raw`.
|
|
3
|
-
import
|
|
3
|
+
import load, { Engine as Raw, initSync } from "../wasm/web/smllm_wasm.js";
|
|
4
4
|
import { Engine as Base } from "./wrap.js";
|
|
5
|
-
|
|
5
|
+
// sokf-implements: WASM-6_AC-2
|
|
6
|
+
/**
|
|
7
|
+
* Load the engine's WebAssembly once. Without an argument, a browser fetches
|
|
8
|
+
* the package's file, and Node.js, which can't fetch a `file:` URL, reads it.
|
|
9
|
+
*/
|
|
10
|
+
export default async function init(input) {
|
|
11
|
+
const node = globalThis.process?.versions?.node;
|
|
12
|
+
if (input === undefined && node) {
|
|
13
|
+
// A variable keeps a bundler for the browser from resolving `node:fs`.
|
|
14
|
+
const fs = "node:fs/promises";
|
|
15
|
+
const { readFile } = (await import(/* @vite-ignore */ fs));
|
|
16
|
+
const file = new URL("../wasm/web/smllm_wasm_bg.wasm", import.meta.url);
|
|
17
|
+
return load({ module_or_path: await readFile(file) });
|
|
18
|
+
}
|
|
19
|
+
return load(input);
|
|
20
|
+
}
|
|
6
21
|
export { initSync };
|
|
7
22
|
export { memoryStorage } from "./storage.js";
|
|
8
23
|
/** smllm's engine over compiled machines (`smllm compile` output). */
|
package/dist/types.d.ts
CHANGED
|
@@ -96,6 +96,9 @@ export interface AuditEntry {
|
|
|
96
96
|
* A command's `params.cwd` is relative to the compiled config file (`nodeHost`'s `configDir`).
|
|
97
97
|
* - `read`: prompt files (`smllm compile` inlines them, so rarely needed).
|
|
98
98
|
* - `isMatch`: `new RegExp(pattern).test(value)` by default.
|
|
99
|
+
* - `checkJson`: the errors of a `json` param's value against its schema, one message each, such as
|
|
100
|
+
* `at /steps: [] has fewer than 1 item`, and none when the value passes. Without it, the engine takes
|
|
101
|
+
* the value unchecked, and `unsupported()` names each such param.
|
|
99
102
|
* - `now`, `random`: `Date.now()` and `crypto.getRandomValues` by default.
|
|
100
103
|
* - `history`: each history entry as it happens; dropped by default.
|
|
101
104
|
* - `put`: each session, binding and instance as it is saved (write-through storage); dropped by default.
|
|
@@ -111,6 +114,7 @@ export interface Host {
|
|
|
111
114
|
run?(kind: string, params: Record<string, unknown>, env: Record<string, string>, cwd: string): string | void;
|
|
112
115
|
read?(file: string): string | undefined;
|
|
113
116
|
isMatch?(pattern: string, value: string): boolean;
|
|
117
|
+
checkJson?(schema: Record<string, unknown> | boolean, value: unknown): string[];
|
|
114
118
|
now?(): number;
|
|
115
119
|
random?(): number;
|
|
116
120
|
history?(machine: string, id: string, entry: HistoryEntry): void;
|
|
@@ -183,6 +187,13 @@ export interface HostView {
|
|
|
183
187
|
location: Location;
|
|
184
188
|
model: Offered[];
|
|
185
189
|
host: Offered[];
|
|
190
|
+
/** The host's work that the state invokes: run each, and fire its result with `fireAsHost`. */
|
|
191
|
+
invoke: Invoked[];
|
|
192
|
+
}
|
|
193
|
+
/** One piece of the host's work that a state names with `invoke`: its name, and its fixed input. */
|
|
194
|
+
export interface Invoked {
|
|
195
|
+
src: string;
|
|
196
|
+
input?: Record<string, unknown>;
|
|
186
197
|
}
|
|
187
198
|
/** A model's answer, checked: the event and its params, ready for `fire`, or the refusal to send back to the model. */
|
|
188
199
|
export type CheckedAnswer = {
|
package/dist/wrap.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface RawHost {
|
|
|
6
6
|
run(kind: string, params: string, env: string, cwd: string): string;
|
|
7
7
|
read(file: string): string | undefined;
|
|
8
8
|
isMatch(pattern: string, value: string): boolean;
|
|
9
|
+
checksJson(): boolean;
|
|
10
|
+
checkJson(schema: string, value: string): string;
|
|
9
11
|
now(): number;
|
|
10
12
|
random(): number;
|
|
11
13
|
history(machine: string, id: string, entry: string): void;
|
package/dist/wrap.js
CHANGED
|
@@ -10,6 +10,10 @@ function adapt(host) {
|
|
|
10
10
|
run: (kind, params, env, cwd) => host.run ? (host.run(kind, parse(params), parse(env), cwd) ?? "") : `${kind} is not supported`,
|
|
11
11
|
read: (file) => host.read?.(file) ?? undefined,
|
|
12
12
|
isMatch: (pattern, value) => host.isMatch ? host.isMatch(pattern, value) : new RegExp(pattern).test(value),
|
|
13
|
+
checksJson: () => typeof host.checkJson === "function",
|
|
14
|
+
// `checksJson` guards the call; an answer that isn't a list of strings,
|
|
15
|
+
// such as `undefined`, reaches the engine as `null`, which refuses it.
|
|
16
|
+
checkJson: (schema, value) => JSON.stringify(host.checkJson(parse(schema), parse(value)) ?? null),
|
|
13
17
|
now: () => (host.now ? host.now() : Date.now()),
|
|
14
18
|
random: () => (host.random ? host.random() : crypto.getRandomValues(new Uint32Array(1))[0]),
|
|
15
19
|
history: (machine, id, entry) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@six5536/smllm-wasm",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "smllm's engine as WebAssembly: run smllm state machines that drive an LLM agent, in a browser or Node.",
|
|
5
5
|
"homepage": "https://github.com/six5536/smllm#readme",
|
|
6
6
|
"repository": {
|
|
@@ -85,7 +85,8 @@ export class Engine {
|
|
|
85
85
|
*/
|
|
86
86
|
tool(): string;
|
|
87
87
|
/**
|
|
88
|
-
* Guard and action kinds this host cannot run,
|
|
88
|
+
* Guard and action kinds this host cannot run, and the `json` params
|
|
89
|
+
* whose schema it can't check, as a JSON array.
|
|
89
90
|
*/
|
|
90
91
|
unsupported(): string;
|
|
91
92
|
/**
|
|
@@ -484,7 +484,8 @@ export class Engine {
|
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
486
|
/**
|
|
487
|
-
* Guard and action kinds this host cannot run,
|
|
487
|
+
* Guard and action kinds this host cannot run, and the `json` params
|
|
488
|
+
* whose schema it can't check, as a JSON array.
|
|
488
489
|
* @returns {string}
|
|
489
490
|
*/
|
|
490
491
|
unsupported() {
|
|
@@ -540,7 +541,7 @@ export function __wbg_Error_30c8987f7c2ed4e2(arg0, arg1) {
|
|
|
540
541
|
const ret = Error(getStringFromWasm0(arg0, arg1));
|
|
541
542
|
return addHeapObject(ret);
|
|
542
543
|
}
|
|
543
|
-
export function
|
|
544
|
+
export function __wbg_String_ec1c3b3c84a9dbf3(arg0, arg1) {
|
|
544
545
|
const ret = String(getObject(arg1));
|
|
545
546
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
546
547
|
const len1 = WASM_VECTOR_LEN;
|
|
@@ -550,50 +551,61 @@ export function __wbg_String_a5249499d8036ec9(arg0, arg1) {
|
|
|
550
551
|
export function __wbg___wbindgen_throw_41e9ee4f547fc59a(arg0, arg1) {
|
|
551
552
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
552
553
|
}
|
|
553
|
-
export function
|
|
554
|
+
export function __wbg_audit_3f3d51b1d1e18142() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
554
555
|
getObject(arg0).audit(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
555
556
|
}, arguments); }
|
|
556
|
-
export function
|
|
557
|
+
export function __wbg_checkJson_db0e073c4512979f() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
|
|
558
|
+
const ret = getObject(arg1).checkJson(getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5));
|
|
559
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
560
|
+
const len1 = WASM_VECTOR_LEN;
|
|
561
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
562
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
563
|
+
}, arguments); }
|
|
564
|
+
export function __wbg_check_de5a973b91a3d08f() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) {
|
|
557
565
|
const ret = getObject(arg0).check(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6), getStringFromWasm0(arg7, arg8));
|
|
558
566
|
return ret;
|
|
559
567
|
}, arguments); }
|
|
560
|
-
export function
|
|
568
|
+
export function __wbg_checksJson_5ef117e8db8590ab() { return handleError(function (arg0) {
|
|
569
|
+
const ret = getObject(arg0).checksJson();
|
|
570
|
+
return ret;
|
|
571
|
+
}, arguments); }
|
|
572
|
+
export function __wbg_history_a61a296671f238eb() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
561
573
|
getObject(arg0).history(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6));
|
|
562
574
|
}, arguments); }
|
|
563
|
-
export function
|
|
575
|
+
export function __wbg_isMatch_b50cfd3c8781041a() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
564
576
|
const ret = getObject(arg0).isMatch(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
565
577
|
return ret;
|
|
566
578
|
}, arguments); }
|
|
567
|
-
export function
|
|
579
|
+
export function __wbg_now_5fc1c6c78f9f39d4() { return handleError(function (arg0) {
|
|
568
580
|
const ret = getObject(arg0).now();
|
|
569
581
|
return ret;
|
|
570
582
|
}, arguments); }
|
|
571
|
-
export function
|
|
583
|
+
export function __wbg_put_394e26bb364d9b76() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
572
584
|
getObject(arg0).put(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6));
|
|
573
585
|
}, arguments); }
|
|
574
|
-
export function
|
|
586
|
+
export function __wbg_random_574ca462424bc88d() { return handleError(function (arg0) {
|
|
575
587
|
const ret = getObject(arg0).random();
|
|
576
588
|
return ret;
|
|
577
589
|
}, arguments); }
|
|
578
|
-
export function
|
|
590
|
+
export function __wbg_read_6b92e086132ade25() { return handleError(function (arg0, arg1, arg2, arg3) {
|
|
579
591
|
const ret = getObject(arg1).read(getStringFromWasm0(arg2, arg3));
|
|
580
592
|
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
581
593
|
var len1 = WASM_VECTOR_LEN;
|
|
582
594
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
583
595
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
584
596
|
}, arguments); }
|
|
585
|
-
export function
|
|
597
|
+
export function __wbg_run_ee2ccf269a2b9186() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
|
|
586
598
|
const ret = getObject(arg1).run(getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7), getStringFromWasm0(arg8, arg9));
|
|
587
599
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
588
600
|
const len1 = WASM_VECTOR_LEN;
|
|
589
601
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
590
602
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
591
603
|
}, arguments); }
|
|
592
|
-
export function
|
|
604
|
+
export function __wbg_supports_7b30783f132799d8() { return handleError(function (arg0, arg1, arg2) {
|
|
593
605
|
const ret = getObject(arg0).supports(getStringFromWasm0(arg1, arg2));
|
|
594
606
|
return ret;
|
|
595
607
|
}, arguments); }
|
|
596
|
-
export function
|
|
608
|
+
export function __wbg_wantsAudit_7c79e9f2578983f6() { return handleError(function (arg0) {
|
|
597
609
|
const ret = getObject(arg0).wantsAudit();
|
|
598
610
|
return ret;
|
|
599
611
|
}, arguments); }
|
|
Binary file
|
package/wasm/web/smllm_wasm.d.ts
CHANGED
|
@@ -85,7 +85,8 @@ export class Engine {
|
|
|
85
85
|
*/
|
|
86
86
|
tool(): string;
|
|
87
87
|
/**
|
|
88
|
-
* Guard and action kinds this host cannot run,
|
|
88
|
+
* Guard and action kinds this host cannot run, and the `json` params
|
|
89
|
+
* whose schema it can't check, as a JSON array.
|
|
89
90
|
*/
|
|
90
91
|
unsupported(): string;
|
|
91
92
|
/**
|
package/wasm/web/smllm_wasm.js
CHANGED
|
@@ -486,7 +486,8 @@ export class Engine {
|
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
488
|
/**
|
|
489
|
-
* Guard and action kinds this host cannot run,
|
|
489
|
+
* Guard and action kinds this host cannot run, and the `json` params
|
|
490
|
+
* whose schema it can't check, as a JSON array.
|
|
490
491
|
* @returns {string}
|
|
491
492
|
*/
|
|
492
493
|
unsupported() {
|
|
@@ -545,7 +546,7 @@ function __wbg_get_imports() {
|
|
|
545
546
|
const ret = Error(getStringFromWasm0(arg0, arg1));
|
|
546
547
|
return addHeapObject(ret);
|
|
547
548
|
},
|
|
548
|
-
|
|
549
|
+
__wbg_String_ec1c3b3c84a9dbf3: function(arg0, arg1) {
|
|
549
550
|
const ret = String(getObject(arg1));
|
|
550
551
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
551
552
|
const len1 = WASM_VECTOR_LEN;
|
|
@@ -555,50 +556,61 @@ function __wbg_get_imports() {
|
|
|
555
556
|
__wbg___wbindgen_throw_41e9ee4f547fc59a: function(arg0, arg1) {
|
|
556
557
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
557
558
|
},
|
|
558
|
-
|
|
559
|
+
__wbg_audit_3f3d51b1d1e18142: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
559
560
|
getObject(arg0).audit(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
560
561
|
}, arguments); },
|
|
561
|
-
|
|
562
|
+
__wbg_checkJson_db0e073c4512979f: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5) {
|
|
563
|
+
const ret = getObject(arg1).checkJson(getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5));
|
|
564
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
565
|
+
const len1 = WASM_VECTOR_LEN;
|
|
566
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
567
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
568
|
+
}, arguments); },
|
|
569
|
+
__wbg_check_de5a973b91a3d08f: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) {
|
|
562
570
|
const ret = getObject(arg0).check(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6), getStringFromWasm0(arg7, arg8));
|
|
563
571
|
return ret;
|
|
564
572
|
}, arguments); },
|
|
565
|
-
|
|
573
|
+
__wbg_checksJson_5ef117e8db8590ab: function() { return handleError(function (arg0) {
|
|
574
|
+
const ret = getObject(arg0).checksJson();
|
|
575
|
+
return ret;
|
|
576
|
+
}, arguments); },
|
|
577
|
+
__wbg_history_a61a296671f238eb: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
566
578
|
getObject(arg0).history(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6));
|
|
567
579
|
}, arguments); },
|
|
568
|
-
|
|
580
|
+
__wbg_isMatch_b50cfd3c8781041a: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
569
581
|
const ret = getObject(arg0).isMatch(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
570
582
|
return ret;
|
|
571
583
|
}, arguments); },
|
|
572
|
-
|
|
584
|
+
__wbg_now_5fc1c6c78f9f39d4: function() { return handleError(function (arg0) {
|
|
573
585
|
const ret = getObject(arg0).now();
|
|
574
586
|
return ret;
|
|
575
587
|
}, arguments); },
|
|
576
|
-
|
|
588
|
+
__wbg_put_394e26bb364d9b76: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
|
|
577
589
|
getObject(arg0).put(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), getStringFromWasm0(arg5, arg6));
|
|
578
590
|
}, arguments); },
|
|
579
|
-
|
|
591
|
+
__wbg_random_574ca462424bc88d: function() { return handleError(function (arg0) {
|
|
580
592
|
const ret = getObject(arg0).random();
|
|
581
593
|
return ret;
|
|
582
594
|
}, arguments); },
|
|
583
|
-
|
|
595
|
+
__wbg_read_6b92e086132ade25: function() { return handleError(function (arg0, arg1, arg2, arg3) {
|
|
584
596
|
const ret = getObject(arg1).read(getStringFromWasm0(arg2, arg3));
|
|
585
597
|
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
586
598
|
var len1 = WASM_VECTOR_LEN;
|
|
587
599
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
588
600
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
589
601
|
}, arguments); },
|
|
590
|
-
|
|
602
|
+
__wbg_run_ee2ccf269a2b9186: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) {
|
|
591
603
|
const ret = getObject(arg1).run(getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7), getStringFromWasm0(arg8, arg9));
|
|
592
604
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
|
|
593
605
|
const len1 = WASM_VECTOR_LEN;
|
|
594
606
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
595
607
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
596
608
|
}, arguments); },
|
|
597
|
-
|
|
609
|
+
__wbg_supports_7b30783f132799d8: function() { return handleError(function (arg0, arg1, arg2) {
|
|
598
610
|
const ret = getObject(arg0).supports(getStringFromWasm0(arg1, arg2));
|
|
599
611
|
return ret;
|
|
600
612
|
}, arguments); },
|
|
601
|
-
|
|
613
|
+
__wbg_wantsAudit_7c79e9f2578983f6: function() { return handleError(function (arg0) {
|
|
602
614
|
const ret = getObject(arg0).wantsAudit();
|
|
603
615
|
return ret;
|
|
604
616
|
}, arguments); },
|
|
Binary file
|