@plurnk/plurnk-execs-wasm 0.1.7 → 0.1.9
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/Wasm.d.ts +1 -1
- package/dist/Wasm.d.ts.map +1 -1
- package/dist/Wasm.js +15 -4
- package/dist/Wasm.js.map +1 -1
- package/package.json +3 -3
package/dist/Wasm.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export default class Wasm extends BaseExecutor {
|
|
|
4
4
|
get channels(): Readonly<Record<string, ChannelDecl>>;
|
|
5
5
|
effect(target: string | null): Effect;
|
|
6
6
|
probe(): Promise<RuntimeAvailability>;
|
|
7
|
-
run({ runtime, command, cwd, write, setState, emit }: ExecArgs): Promise<ExecResult>;
|
|
7
|
+
run({ runtime, command, cwd, target, signal, write, setState, emit }: ExecArgs): Promise<ExecResult>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=Wasm.d.ts.map
|
package/dist/Wasm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wasm.d.ts","sourceRoot":"","sources":["../src/Wasm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wasm.d.ts","sourceRoot":"","sources":["../src/Wasm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AA+B3G,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAEpD;IAKQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAI/B,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI9C,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAyE7G"}
|
package/dist/Wasm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { isAbsolute, resolve } from "node:path";
|
|
2
3
|
import wabtInit from "wabt";
|
|
3
4
|
import { BaseExecutor } from "@plurnk/plurnk-execs";
|
|
4
5
|
let wabtPromise;
|
|
@@ -28,15 +29,21 @@ export default class Wasm extends BaseExecutor {
|
|
|
28
29
|
async probe() {
|
|
29
30
|
return { available: true, detail: "WebAssembly + wabt" };
|
|
30
31
|
}
|
|
31
|
-
async run({ runtime, command, cwd, write, setState, emit }) {
|
|
32
|
+
async run({ runtime, command, cwd, target, signal, write, setState, emit }) {
|
|
32
33
|
const fail = (kind, message) => {
|
|
33
34
|
emit({ source: `exec:${runtime}`, kind, message });
|
|
34
35
|
setState("results", "errored");
|
|
35
36
|
return { status: 500 };
|
|
36
37
|
};
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
38
|
+
// Honor an abort at each phase boundary (SPEC §6). The file read, wabt init,
|
|
39
|
+
// and instantiate are the await points where a KILL/cancel can land; the
|
|
40
|
+
// entry-point call itself is synchronous and uninterruptible.
|
|
41
|
+
const aborted = () => { setState("results", "errored"); return { status: 499 }; };
|
|
42
|
+
if (signal.aborted)
|
|
43
|
+
return aborted();
|
|
44
|
+
// target = a module file, resolved against cwd (the workspace) —
|
|
45
|
+
// plurnk-execs#15; otherwise the module rides the body (WAT / base64).
|
|
46
|
+
const path = target === null ? null : (isAbsolute(target) ? target : resolve(cwd ?? process.cwd(), target));
|
|
40
47
|
// 1. Obtain the module bytes — from the file-path target, else the body.
|
|
41
48
|
let bytes;
|
|
42
49
|
if (runtime === "wat") {
|
|
@@ -87,6 +94,8 @@ export default class Wasm extends BaseExecutor {
|
|
|
87
94
|
else {
|
|
88
95
|
throw new Error(`plurnk-execs-wasm received unclaimed runtime tag '${runtime}'`);
|
|
89
96
|
}
|
|
97
|
+
if (signal.aborted)
|
|
98
|
+
return aborted();
|
|
90
99
|
// 2. Instantiate in the sandbox (only the log-capture import).
|
|
91
100
|
const log = [];
|
|
92
101
|
let instance;
|
|
@@ -96,6 +105,8 @@ export default class Wasm extends BaseExecutor {
|
|
|
96
105
|
catch (err) {
|
|
97
106
|
return fail("wasm_invalid", err.message);
|
|
98
107
|
}
|
|
108
|
+
if (signal.aborted)
|
|
109
|
+
return aborted();
|
|
99
110
|
// 3. Call the entry point if present; capture its return.
|
|
100
111
|
const exports = instance.exports;
|
|
101
112
|
const funcs = Object.keys(exports).filter((n) => typeof exports[n] === "function");
|
package/dist/Wasm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wasm.js","sourceRoot":"","sources":["../src/Wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpD,IAAI,WAAsC,CAAC;AAC3C,MAAM,OAAO,GAAG,GAAkB,EAAE,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC,CAAC;AAElE,0EAA0E;AAC1E,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAc,EAAW,EAAE,CAC3D,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE3D,2EAA2E;AAC3E,4CAA4C;AAC5C,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAExC,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,2BAA2B;AAC3B,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC1C,IAAI,QAAQ;QACR,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,sEAAsE;IAC7D,MAAM,CAAC,MAAqB;QACjC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,KAAK;QAChB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAY;
|
|
1
|
+
{"version":3,"file":"Wasm.js","sourceRoot":"","sources":["../src/Wasm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-execs-wasm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "WebAssembly runtime executor for plurnk-service's exec scheme — in-process sandboxed execution of WAT (text) and wasm (binary) modules.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/node": "^26.0.0",
|
|
71
71
|
"typescript": "^6.0.3",
|
|
72
|
-
"@plurnk/plurnk-execs": "^0.4.
|
|
72
|
+
"@plurnk/plurnk-execs": "^0.4.26"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@plurnk/plurnk-execs": "^0.4.
|
|
75
|
+
"@plurnk/plurnk-execs": "^0.4.26"
|
|
76
76
|
}
|
|
77
77
|
}
|