virtual-machine 0.0.32 → 0.0.35
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-P2U2K4X3.mjs} +97 -14
- package/build/cli.js +168 -32
- package/build/index.d.ts +52 -4
- package/build/index.js +98 -15
- package/build/index.mjs +3 -3
- package/build/{riscv_vm-LL6COL52.mjs → riscv_vm-MDACKNLN.mjs} +1 -1
- package/build/worker.js +22 -15
- package/native/index.d.ts +61 -0
- package/native/index.js +125 -0
- package/native/index.mjs +9 -0
- package/package.json +28 -4
|
@@ -206,17 +206,17 @@ if (!("encodeInto" in cachedTextEncoder)) {
|
|
|
206
206
|
};
|
|
207
207
|
}
|
|
208
208
|
var WASM_VECTOR_LEN = 0;
|
|
209
|
+
function wasm_bindgen__convert__closures_____invoke__hbde9876d0cea708c(arg0, arg1, arg2) {
|
|
210
|
+
wasm.wasm_bindgen__convert__closures_____invoke__hbde9876d0cea708c(arg0, arg1, arg2);
|
|
211
|
+
}
|
|
209
212
|
function wasm_bindgen__convert__closures_____invoke__h39d3e89751b07765(arg0, arg1, arg2) {
|
|
210
213
|
wasm.wasm_bindgen__convert__closures_____invoke__h39d3e89751b07765(arg0, arg1, arg2);
|
|
211
214
|
}
|
|
212
|
-
function
|
|
213
|
-
wasm.
|
|
214
|
-
}
|
|
215
|
-
function wasm_bindgen__convert__closures_____invoke__hb59a63b35a5a8674(arg0, arg1, arg2) {
|
|
216
|
-
wasm.wasm_bindgen__convert__closures_____invoke__hb59a63b35a5a8674(arg0, arg1, arg2);
|
|
215
|
+
function wasm_bindgen__convert__closures_____invoke__he7a35327fb096d07(arg0, arg1) {
|
|
216
|
+
wasm.wasm_bindgen__convert__closures_____invoke__he7a35327fb096d07(arg0, arg1);
|
|
217
217
|
}
|
|
218
|
-
function
|
|
219
|
-
wasm.
|
|
218
|
+
function wasm_bindgen__convert__closures_____invoke__h749506e285e0c000(arg0, arg1) {
|
|
219
|
+
wasm.wasm_bindgen__convert__closures_____invoke__h749506e285e0c000(arg0, arg1);
|
|
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);
|
|
@@ -958,27 +1041,27 @@ function __wbg_get_imports() {
|
|
|
958
1041
|
}, arguments);
|
|
959
1042
|
};
|
|
960
1043
|
imports.wbg.__wbindgen_cast_0268c24e8eb79d38 = function(arg0, arg1) {
|
|
961
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
1044
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h1a8abd1a91785820, wasm_bindgen__convert__closures_____invoke__he7a35327fb096d07);
|
|
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 =
|
|
1051
|
+
imports.wbg.__wbindgen_cast_4ee4ae87c307a33c = function(arg0, arg1) {
|
|
1052
|
+
const ret = makeClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h1a8abd1a91785820, wasm_bindgen__convert__closures_____invoke__h749506e285e0c000);
|
|
970
1053
|
return ret;
|
|
971
1054
|
};
|
|
972
|
-
imports.wbg.
|
|
973
|
-
const ret =
|
|
1055
|
+
imports.wbg.__wbindgen_cast_705cb87c37628e08 = function(arg0, arg1) {
|
|
1056
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h1a8abd1a91785820, wasm_bindgen__convert__closures_____invoke__hbde9876d0cea708c);
|
|
974
1057
|
return ret;
|
|
975
1058
|
};
|
|
976
1059
|
imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
|
|
977
1060
|
const ret = arg0;
|
|
978
1061
|
return ret;
|
|
979
1062
|
};
|
|
980
|
-
imports.wbg.
|
|
981
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
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() {
|