virtual-machine 0.0.32 → 0.0.36
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/build/{chunk-PD2KO7C4.mjs → chunk-YJ5P3VGQ.mjs} +98 -15
- package/build/cli.js +169 -33
- package/build/index.d.ts +52 -4
- package/build/index.js +99 -16
- package/build/index.mjs +3 -3
- package/build/{riscv_vm-LL6COL52.mjs → riscv_vm-HSOJGHGR.mjs} +1 -1
- package/build/worker.js +23 -16
- package/native/index.d.ts +61 -0
- package/native/index.js +125 -0
- package/native/index.mjs +9 -0
- package/native/riscv-vm-native.darwin-arm64.node +0 -0
- package/native/riscv-vm-native.darwin-x64.node +0 -0
- package/native/riscv-vm-native.linux-arm64-gnu.node +0 -0
- package/native/riscv-vm-native.linux-arm64-musl.node +0 -0
- package/native/riscv-vm-native.linux-x64-gnu.node +0 -0
- package/native/riscv-vm-native.linux-x64-musl.node +0 -0
- package/native/riscv-vm-native.win32-x64-msvc.node +0 -0
- package/package.json +28 -4
|
@@ -209,14 +209,14 @@ var WASM_VECTOR_LEN = 0;
|
|
|
209
209
|
function wasm_bindgen__convert__closures_____invoke__h39d3e89751b07765(arg0, arg1, arg2) {
|
|
210
210
|
wasm.wasm_bindgen__convert__closures_____invoke__h39d3e89751b07765(arg0, arg1, arg2);
|
|
211
211
|
}
|
|
212
|
-
function
|
|
213
|
-
wasm.
|
|
212
|
+
function wasm_bindgen__convert__closures_____invoke__h2d5a3433881a07dc(arg0, arg1) {
|
|
213
|
+
wasm.wasm_bindgen__convert__closures_____invoke__h2d5a3433881a07dc(arg0, arg1);
|
|
214
214
|
}
|
|
215
|
-
function
|
|
216
|
-
wasm.
|
|
215
|
+
function wasm_bindgen__convert__closures_____invoke__hd016cca7bbf341cd(arg0, arg1) {
|
|
216
|
+
wasm.wasm_bindgen__convert__closures_____invoke__hd016cca7bbf341cd(arg0, arg1);
|
|
217
217
|
}
|
|
218
|
-
function
|
|
219
|
-
wasm.
|
|
218
|
+
function wasm_bindgen__convert__closures_____invoke__h07c9b936df37d4f2(arg0, arg1, arg2) {
|
|
219
|
+
wasm.wasm_bindgen__convert__closures_____invoke__h07c9b936df37d4f2(arg0, arg1, arg2);
|
|
220
220
|
}
|
|
221
221
|
var __wbindgen_enum_WorkerType = ["classic", "module"];
|
|
222
222
|
var WasmVmFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
|
|
@@ -380,6 +380,82 @@ var WasmVm = class _WasmVm {
|
|
|
380
380
|
throw takeFromExternrefTable0(ret[0]);
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* Inject a network packet to be received by the guest.
|
|
385
|
+
* Called from JavaScript when the native WebTransport addon receives a packet.
|
|
386
|
+
* @param {Uint8Array} packet
|
|
387
|
+
* @returns {boolean}
|
|
388
|
+
*/
|
|
389
|
+
inject_network_packet(packet) {
|
|
390
|
+
const ret = wasm.wasmvm_inject_network_packet(this.__wbg_ptr, packet);
|
|
391
|
+
return ret !== 0;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Extract a network packet sent by the guest.
|
|
395
|
+
* Returns the packet data or null if no packet is pending.
|
|
396
|
+
* @returns {Uint8Array | undefined}
|
|
397
|
+
*/
|
|
398
|
+
extract_network_packet() {
|
|
399
|
+
const ret = wasm.wasmvm_extract_network_packet(this.__wbg_ptr);
|
|
400
|
+
return ret;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Set up an external network backend for packet bridging.
|
|
404
|
+
* This is used by the Node.js CLI to bridge packets between the native
|
|
405
|
+
* WebTransport addon and the WASM VM.
|
|
406
|
+
*
|
|
407
|
+
* @param mac_bytes - MAC address as 6 bytes [0x52, 0x54, 0x00, 0x12, 0x34, 0x56]
|
|
408
|
+
* @param {Uint8Array} mac_bytes
|
|
409
|
+
*/
|
|
410
|
+
setup_external_network(mac_bytes) {
|
|
411
|
+
const ret = wasm.wasmvm_setup_external_network(this.__wbg_ptr, mac_bytes);
|
|
412
|
+
if (ret[1]) {
|
|
413
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Set the assigned IP address for the external network.
|
|
418
|
+
* Called when the native WebTransport addon receives an IP assignment.
|
|
419
|
+
* @param {Uint8Array} ip_bytes
|
|
420
|
+
* @returns {boolean}
|
|
421
|
+
*/
|
|
422
|
+
set_external_network_ip(ip_bytes) {
|
|
423
|
+
const ret = wasm.wasmvm_set_external_network_ip(this.__wbg_ptr, ip_bytes);
|
|
424
|
+
return ret !== 0;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Get the number of pending RX packets.
|
|
428
|
+
* @returns {number}
|
|
429
|
+
*/
|
|
430
|
+
external_network_rx_pending() {
|
|
431
|
+
const ret = wasm.wasmvm_external_network_rx_pending(this.__wbg_ptr);
|
|
432
|
+
return ret >>> 0;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Get the number of pending TX packets.
|
|
436
|
+
* @returns {number}
|
|
437
|
+
*/
|
|
438
|
+
external_network_tx_pending() {
|
|
439
|
+
const ret = wasm.wasmvm_external_network_tx_pending(this.__wbg_ptr);
|
|
440
|
+
return ret >>> 0;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Extract all pending network packets sent by the guest.
|
|
444
|
+
* Returns an array of packet data.
|
|
445
|
+
* @returns {Array<any>}
|
|
446
|
+
*/
|
|
447
|
+
extract_all_network_packets() {
|
|
448
|
+
const ret = wasm.wasmvm_extract_all_network_packets(this.__wbg_ptr);
|
|
449
|
+
return ret;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Check if external network is connected (has IP assigned).
|
|
453
|
+
* @returns {boolean}
|
|
454
|
+
*/
|
|
455
|
+
is_external_network_connected() {
|
|
456
|
+
const ret = wasm.wasmvm_is_external_network_connected(this.__wbg_ptr);
|
|
457
|
+
return ret !== 0;
|
|
458
|
+
}
|
|
383
459
|
/**
|
|
384
460
|
* Create a new VM instance and load a kernel (ELF or raw binary).
|
|
385
461
|
*
|
|
@@ -800,6 +876,10 @@ function __wbg_get_imports() {
|
|
|
800
876
|
const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0);
|
|
801
877
|
return ret;
|
|
802
878
|
};
|
|
879
|
+
imports.wbg.__wbg_new_with_length_aa5eaf41d35235e5 = function(arg0) {
|
|
880
|
+
const ret = new Uint8Array(arg0 >>> 0);
|
|
881
|
+
return ret;
|
|
882
|
+
};
|
|
803
883
|
imports.wbg.__wbg_new_with_options_2978557c2c268ef3 = function() {
|
|
804
884
|
return handleError(function(arg0, arg1, arg2) {
|
|
805
885
|
const ret = new Worker(getStringFromWasm0(arg0, arg1), arg2);
|
|
@@ -873,6 +953,9 @@ function __wbg_get_imports() {
|
|
|
873
953
|
imports.wbg.__wbg_setUint8_71dd48d3e18e4e40 = function(arg0, arg1, arg2) {
|
|
874
954
|
arg0.setUint8(arg1 >>> 0, arg2);
|
|
875
955
|
};
|
|
956
|
+
imports.wbg.__wbg_set_169e13b608078b7b = function(arg0, arg1, arg2) {
|
|
957
|
+
arg0.set(getArrayU8FromWasm0(arg1, arg2));
|
|
958
|
+
};
|
|
876
959
|
imports.wbg.__wbg_set_781438a03c0c3c81 = function() {
|
|
877
960
|
return handleError(function(arg0, arg1, arg2) {
|
|
878
961
|
const ret = Reflect.set(arg0, arg1, arg2);
|
|
@@ -957,20 +1040,16 @@ function __wbg_get_imports() {
|
|
|
957
1040
|
return ret;
|
|
958
1041
|
}, arguments);
|
|
959
1042
|
};
|
|
960
|
-
imports.wbg.
|
|
961
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
1043
|
+
imports.wbg.__wbindgen_cast_1fb0b53a6a9a76e5 = function(arg0, arg1) {
|
|
1044
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h4a8089319832ef98, wasm_bindgen__convert__closures_____invoke__h2d5a3433881a07dc);
|
|
962
1045
|
return ret;
|
|
963
1046
|
};
|
|
964
1047
|
imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
|
|
965
1048
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
966
1049
|
return ret;
|
|
967
1050
|
};
|
|
968
|
-
imports.wbg.
|
|
969
|
-
const ret =
|
|
970
|
-
return ret;
|
|
971
|
-
};
|
|
972
|
-
imports.wbg.__wbindgen_cast_ce28d8b099adee02 = function(arg0, arg1) {
|
|
973
|
-
const ret = makeClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h1c929db64e64ab27, wasm_bindgen__convert__closures_____invoke__hf580618779cd5844);
|
|
1051
|
+
imports.wbg.__wbindgen_cast_bcc7883475928b3d = function(arg0, arg1) {
|
|
1052
|
+
const ret = makeClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h4a8089319832ef98, wasm_bindgen__convert__closures_____invoke__hd016cca7bbf341cd);
|
|
974
1053
|
return ret;
|
|
975
1054
|
};
|
|
976
1055
|
imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
|
|
@@ -978,7 +1057,11 @@ function __wbg_get_imports() {
|
|
|
978
1057
|
return ret;
|
|
979
1058
|
};
|
|
980
1059
|
imports.wbg.__wbindgen_cast_eb80e707f2cdece7 = function(arg0, arg1) {
|
|
981
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
1060
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h4a8089319832ef98, wasm_bindgen__convert__closures_____invoke__h07c9b936df37d4f2);
|
|
1061
|
+
return ret;
|
|
1062
|
+
};
|
|
1063
|
+
imports.wbg.__wbindgen_cast_f1c9170db27db6a8 = function(arg0, arg1) {
|
|
1064
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hf225e18fc5ab9bc1, wasm_bindgen__convert__closures_____invoke__h39d3e89751b07765);
|
|
982
1065
|
return ret;
|
|
983
1066
|
};
|
|
984
1067
|
imports.wbg.__wbindgen_init_externref_table = function() {
|