@remix_labs/machine-starter 2.2236.0-dev → 2.2240.0-dev

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remix_labs/machine-starter",
3
- "version": "2.2236.0-dev",
3
+ "version": "2.2240.0-dev",
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.2236.0-dev",
14
+ "@remix_labs/hub-client": "2.2240.0-dev",
15
15
  "nanoid": "^5.0.2",
16
16
  "web-worker": "^1.2.0"
17
17
  },
package/start.js CHANGED
@@ -1,6 +1,17 @@
1
1
  import Process from "process";
2
2
  import { StartWASM2, Hub } from "./node.js";
3
3
  import { StartMixCompiler, WaitForMixCompiler } from "@remix_labs/mixc-starter";
4
+ import { MiniWASI } from "@remix_labs/hub-client/miniwasi.js";
5
+ import { MixcoreWasm, MixcoreWasmApi } from './mixcore-main.js';
6
+ import { mixcoreWasmCode } from './mixcore_mini-main.js';
7
+ function importCode(base64) {
8
+ let binstr = atob(base64);
9
+ let code = new Uint8Array(binstr.length);
10
+ for (let i = 0; i < binstr.length; i++)
11
+ code[i] = binstr.charCodeAt(i);
12
+ return code;
13
+ }
14
+ let mixcoreWasm = importCode(mixcoreWasmCode);
4
15
 
5
16
  if (Process.stdout._handle)
6
17
  Process.stdout._handle.setBlocking(true);
@@ -35,38 +46,44 @@ let protoquery = Process.env["PROTOQUERY_ROOT"] || "";
35
46
  let wasm_base = Process.env["MIX_WASM_BASE"] || "file://" + protoquery + "/wasm-build/artifacts/lib/wasm32-unknown-unknown";
36
47
  let w = new Hub.Worker();
37
48
  globalThis.GROOVEBOX_ALLOW_INSECURE_HTTP = true;
38
- w.configure({wsURL: mqttURL, user:mqttUser, token:mqttToken}).then(resp => {
39
- if (variant == "BYTE") variant = "QCODE";
40
- switch(variant) {
41
- case "WASM":
42
- case "WAT":
43
- case "QCODE":
44
- let startVM = (_ => {
45
- MixSetMask(64 + 256 + 512 + 1024);
46
- StartWASM2(w, {
47
- baseURL: baseURL,
48
- org: "local",
49
- workspace: "local",
50
- vmID: id,
51
- user: mqttUser,
52
- token: mqttToken,
53
- noOutputViaMQTT: noOutputViaMQTT,
54
- machType: variant,
55
- localFFIs: {},
49
+
50
+ MixcoreWasmApi.create(mixcoreWasm, new MiniWASI()).then(mixcoreWasmApi => {
51
+ let mixcore = MixcoreWasm.create(null, null, null, mixcoreWasmApi);
52
+ let mixcoreConfig = { kind: "mixcore", mixcore, enableFFIs: ["$decodeError"] };
53
+ w.configure({wsURL: mqttURL, user:mqttUser, token:mqttToken}).then(resp => {
54
+ if (variant == "BYTE") variant = "QCODE";
55
+ switch(variant) {
56
+ case "WASM":
57
+ case "WAT":
58
+ case "QCODE":
59
+ let startVM = (_ => {
60
+ MixSetMask(64 + 256 + 512 + 1024);
61
+ StartWASM2(w, {
62
+ baseURL: baseURL,
63
+ org: "local",
64
+ workspace: "local",
65
+ vmID: id,
66
+ user: mqttUser,
67
+ token: mqttToken,
68
+ noOutputViaMQTT: noOutputViaMQTT,
69
+ machType: variant,
70
+ localFFIs: {},
71
+ mixcore: mixcoreConfig,
72
+ });
56
73
  });
57
- });
58
- if (with_mixc) {
59
- let mixcConfig = {
60
- org: "local",
61
- workspace: "local",
62
- wasm_base: wasm_base
74
+ if (with_mixc) {
75
+ let mixcConfig = {
76
+ org: "local",
77
+ workspace: "local",
78
+ wasm_base: wasm_base
79
+ };
80
+ StartMixCompiler(w, mixcConfig).then(startVM);
81
+ } else {
82
+ startVM()
63
83
  };
64
- StartMixCompiler(w, mixcConfig).then(startVM);
65
- } else {
66
- startVM()
67
- };
68
- break
69
- default:
70
- throw(new Error("unknown MIX_MACHINE_VARIANT: " + variant))
71
- }
72
- })
84
+ break
85
+ default:
86
+ throw(new Error("unknown MIX_MACHINE_VARIANT: " + variant))
87
+ }
88
+ })
89
+ });