@remix_labs/machine-starter 2.3039.0-dev → 2.3041.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.
@@ -1,2 +1,2 @@
1
- var GROOVEBOX_BUILD = "3366";
1
+ var GROOVEBOX_BUILD = "3368";
2
2
  export { GROOVEBOX_BUILD }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remix_labs/machine-starter",
3
- "version": "2.3039.0-dev",
3
+ "version": "2.3041.0",
4
4
  "description": "start the groove",
5
5
  "main": "node.js",
6
6
  "browser": "index.js",
@@ -11,7 +11,7 @@
11
11
  "author": "Remixlabs staff",
12
12
  "license": "ISC",
13
13
  "dependencies": {
14
- "@remix_labs/hub-client": "2.3039.0-dev",
14
+ "@remix_labs/hub-client": "2.3041.0",
15
15
  "nanoid": "^5.0.2",
16
16
  "web-worker": "^1.2.0"
17
17
  },
package/start.js CHANGED
@@ -1,6 +1,16 @@
1
1
  import Process from "process";
2
2
  import { StartWASM2, Hub } from "./node.js";
3
- import { mixcoreWasmBase64, mixcoreJsBase64 } from './mixcore-wasm.js';
3
+ import { MixcoreWasm, MixcoreWasmApi } from "./mixcore.lib.mjs";
4
+ import { mixcoreWasmCode } from './mixcore-wasm.js';
5
+ import { WASI, OpenFile, File, Directory, PreopenDirectory, ConsoleStdout } from "@bjorn3/browser_wasi_shim";
6
+ function importCode(base64) {
7
+ let binstr = atob(base64);
8
+ let code = new Uint8Array(binstr.length);
9
+ for (let i = 0; i < binstr.length; i++)
10
+ code[i] = binstr.charCodeAt(i);
11
+ return code;
12
+ }
13
+ let mixcoreWasm = importCode(mixcoreWasmCode);
4
14
 
5
15
  if (Process.stdout._handle)
6
16
  Process.stdout._handle.setBlocking(true);
@@ -32,42 +42,46 @@ let noOutputViaMQTT = Process.env["MIX_MQTT_NO_OUTPUT"] !== undefined;
32
42
  console.log("Machine params: variant=" + variant + " baseURL=" + baseURL, " mqttURL=" + mqttURL, " mqttUser=" + mqttUser, " mqttToken=" + mqttToken, " id=" + id, " noOutputViaMQTT=" + noOutputViaMQTT);
33
43
  let w = new Hub.Worker();
34
44
  globalThis.GROOVEBOX_ALLOW_INSECURE_HTTP = true;
35
- let mixcore = {
36
- kind: "wasm-opfs",
37
- mixcoreWasmUrl: "data:application/wasm;base64," + mixcoreWasmBase64,
38
- mixcoreJsUrl: "data:text/javascript;charset=utf-8;base64," + mixcoreJsBase64,
39
- dbDir: "/databases",
40
- dbUser: "test@user",
41
- dbName: "compiler-testing",
42
- };
43
- w.configure({wsURL: mqttURL, user:mqttUser, token:mqttToken}).then(resp => {
44
- if (variant == "BYTE") variant = "QCODE";
45
- switch(variant) {
46
- case "WASM":
47
- case "WAT":
48
- case "QCODE":
49
- let startVM = (_ => {
50
- MixSetMask(64 + 256 + 512 + 1024);
51
- StartWASM2(w, {
52
- baseURL: baseURL,
53
- org: "local",
54
- workspace: "local",
55
- vmID: id,
56
- user: mqttUser,
57
- token: mqttToken,
58
- noOutputViaMQTT: noOutputViaMQTT,
59
- machType: variant,
60
- localFFIs: {},
61
- mixcore,
45
+
46
+ let DB_DIR = "db";
47
+ let wasi = new WASI([], [], [
48
+ new OpenFile(new File([])),
49
+ ConsoleStdout.lineBuffered(msg => console.log(`[WASI stdout] ${msg}`)),
50
+ ConsoleStdout.lineBuffered(msg => console.warn(`[WASI stderr] ${msg}`)),
51
+ new PreopenDirectory(".", new Map([[DB_DIR, new Directory(new Map())]]))
52
+ ]);
53
+ MixcoreWasmApi.create(mixcoreWasm, wasi).then(mixcoreWasmApi => {
54
+ let mixcore = MixcoreWasm.create(DB_DIR, "compiler-testing", "test@user", mixcoreWasmApi);
55
+ let mixcoreConfig = { kind: "mixcore", mixcore };
56
+ w.configure({wsURL: mqttURL, user:mqttUser, token:mqttToken}).then(resp => {
57
+ if (variant == "BYTE") variant = "QCODE";
58
+ switch(variant) {
59
+ case "WASM":
60
+ case "WAT":
61
+ case "QCODE":
62
+ let startVM = (_ => {
63
+ MixSetMask(64 + 256 + 512 + 1024);
64
+ StartWASM2(w, {
65
+ baseURL: baseURL,
66
+ org: "local",
67
+ workspace: "local",
68
+ vmID: id,
69
+ user: mqttUser,
70
+ token: mqttToken,
71
+ noOutputViaMQTT: noOutputViaMQTT,
72
+ machType: variant,
73
+ localFFIs: {},
74
+ mixcore: mixcoreConfig,
75
+ });
62
76
  });
63
- });
64
- if (globalThis.EnableAndStartMixCompiler) {
65
- EnableAndStartMixCompiler(w).then(startVM);
66
- } else {
67
- startVM()
68
- };
69
- break
70
- default:
71
- throw(new Error("unknown MIX_MACHINE_VARIANT: " + variant))
72
- }
77
+ if (globalThis.EnableAndStartMixCompiler) {
78
+ EnableAndStartMixCompiler(w).then(startVM);
79
+ } else {
80
+ startVM()
81
+ };
82
+ break
83
+ default:
84
+ throw(new Error("unknown MIX_MACHINE_VARIANT: " + variant))
85
+ }
86
+ })
73
87
  });