@remix_labs/machine-starter 2.2786.0-dev → 2.2792.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/common.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { GROOVEBOX_BUILD } from "./groovebox_build.js";
2
2
  import { nanoid } from "nanoid";
3
+ import { MixcoreTauri } from "mixcore";
3
4
 
4
5
  let workers = {};
5
6
  let children = {};
@@ -63,10 +64,10 @@ async function StartWASM2(hub, config) {
63
64
  let worker = globalThis.GetMachineWASMWorker();
64
65
  workers[config.vmID] = worker;
65
66
  let localFFIs = config.localFFIs || {};
66
- let mixcoreFFIs = await getMixcoreFFIs(config.mixcore);
67
- if (mixcoreFFIs) {
67
+ let mixcore = await getMixcore(config.mixcore);
68
+ if (mixcore) {
68
69
  delete config.mixcore;
69
- Object.assign(localFFIs, mixcoreFFIs);
70
+ await assignMixcoreLocalFFIs(localFFIs, mixcore);
70
71
  }
71
72
  let localFFIkind = {};
72
73
  let localFFIfuns = {};
@@ -345,55 +346,25 @@ class FFIComm {
345
346
  }
346
347
  }
347
348
 
348
- async function getMixcoreFFIs(config) {
349
+ async function getMixcore(config) {
349
350
  let mixcore;
350
351
  switch (config?.kind) {
351
352
  case 'mixcore':
352
- mixcore = config.mixcore;
353
- break;
353
+ return config.mixcore;
354
354
  case 'tauri':
355
- mixcore = await MixcoreTauri.create(config.workspace, config.app);
356
- break;
355
+ return await MixcoreTauri(config.workspace, config.app);
357
356
  default:
358
357
  return;
359
358
  }
359
+ }
360
+
361
+ async function assignMixcoreLocalFFIs(localFFIs, mixcore) {
360
362
  let names = await mixcore.ffiNames();
361
- return Object.fromEntries(
362
- names.map(name => [name, {
363
+ for (let name of names) {
364
+ localFFIs[name] = {
363
365
  isRaw: true,
364
366
  run: (conn, argsBuf) => mixcore.ffiDispatch(conn.call_id, name, argsBuf),
365
- }]));
366
- }
367
-
368
- // tauri commands cannot be dispatched in the worker, so we have to do it here
369
- class MixcoreTauri {
370
-
371
- constructor(id) {
372
- this.id = id;
373
- }
374
-
375
- static async create(workspace, app) {
376
- let id = await window.__TAURI__.core.invoke(
377
- "mixcore_setup",
378
- { workspace, app },
379
- );
380
- return new MixcoreTauri(id);
381
- }
382
-
383
- async ffiNames() {
384
- return await window.__TAURI__.core.invoke(
385
- "mixcore_ffi_names",
386
- {id: this.id},
387
- );
388
- }
389
-
390
- async ffiDispatch(co, name, argsBuf32) {
391
- let argsBuf = Array.from(new Uint8Array(argsBuf32.buffer));
392
- let resBuf = await window.__TAURI__.core.invoke(
393
- "mixcore_ffi_dispatch",
394
- { id: this.id, co, name, argsBuf },
395
- );
396
- return new Uint8Array(resBuf);
367
+ };
397
368
  }
398
369
  }
399
370
 
@@ -1,2 +1,2 @@
1
- var GROOVEBOX_BUILD = "3039";
1
+ var GROOVEBOX_BUILD = "3050";
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.2786.0-dev",
3
+ "version": "2.2792.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.2786.0-dev",
14
+ "@remix_labs/hub-client": "2.2792.0-dev",
15
15
  "nanoid": "^5.0.2",
16
16
  "web-worker": "^1.2.0"
17
17
  },
package/start.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import Process from "process";
2
2
  import { StartWASM2, Hub } from "./node.js";
3
3
  import { MixcoreWasm, MixcoreWasmApi } from "mixcore";
4
- import { mixcoreWasmCode } from './mixcore-wasm-main.js';
4
+ import { mixcoreWasmCode } from './mixcore-wasm.js';
5
5
  import { WASI, OpenFile, File, Directory, PreopenDirectory, ConsoleStdout } from "@bjorn3/browser_wasi_shim";
6
6
  function importCode(base64) {
7
7
  let binstr = atob(base64);