maxsimcli 2.4.2 → 2.5.1

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/dist/install.cjs CHANGED
@@ -7589,14 +7589,19 @@ async function installAllRuntimes(runtimes, isGlobal, isInteractive) {
7589
7589
  const subcommand = args.find((a) => !a.startsWith("-"));
7590
7590
  (async () => {
7591
7591
  if (subcommand === "dashboard") {
7592
- const { spawn: spawnDash } = await import("node:child_process");
7592
+ const { spawn: spawnDash, execSync: execSyncDash } = await import("node:child_process");
7593
7593
  const dashboardAssetSrc = node_path.resolve(__dirname, "assets", "dashboard");
7594
7594
  const installDir = node_path.join(process.cwd(), ".claude");
7595
7595
  const installDashDir = node_path.join(installDir, "dashboard");
7596
7596
  if (node_fs.existsSync(dashboardAssetSrc)) {
7597
+ const nodeModulesDir = node_path.join(installDashDir, "node_modules");
7598
+ const nodeModulesTmp = node_path.join(installDir, "_dashboard_node_modules_tmp");
7599
+ const hadNodeModules = node_fs.existsSync(nodeModulesDir);
7600
+ if (hadNodeModules) node_fs.renameSync(nodeModulesDir, nodeModulesTmp);
7597
7601
  safeRmDir(installDashDir);
7598
7602
  node_fs.mkdirSync(installDashDir, { recursive: true });
7599
7603
  copyDirRecursive(dashboardAssetSrc, installDashDir);
7604
+ if (hadNodeModules && node_fs.existsSync(nodeModulesTmp)) node_fs.renameSync(nodeModulesTmp, nodeModulesDir);
7600
7605
  const dashConfigPath = node_path.join(installDir, "dashboard.json");
7601
7606
  if (!node_fs.existsSync(dashConfigPath)) node_fs.writeFileSync(dashConfigPath, JSON.stringify({ projectCwd: process.cwd() }, null, 2) + "\n");
7602
7607
  }
@@ -7617,6 +7622,22 @@ const subcommand = args.find((a) => !a.startsWith("-"));
7617
7622
  const config = JSON.parse(node_fs.readFileSync(dashboardConfigPath, "utf8"));
7618
7623
  if (config.projectCwd) projectCwd = config.projectCwd;
7619
7624
  } catch {}
7625
+ const dashDirForPty = node_path.dirname(serverPath);
7626
+ const ptyModulePath = node_path.join(dashDirForPty, "node_modules", "node-pty");
7627
+ if (!node_fs.existsSync(ptyModulePath)) {
7628
+ console.log(chalk.gray(" Installing node-pty for terminal support..."));
7629
+ try {
7630
+ const dashPkgPath = node_path.join(dashDirForPty, "package.json");
7631
+ if (!node_fs.existsSync(dashPkgPath)) node_fs.writeFileSync(dashPkgPath, "{\"private\":true}\n");
7632
+ execSyncDash("npm install node-pty --save-optional --no-audit --no-fund --loglevel=error", {
7633
+ cwd: dashDirForPty,
7634
+ stdio: "inherit",
7635
+ timeout: 12e4
7636
+ });
7637
+ } catch {
7638
+ console.warn(chalk.yellow(" node-pty installation failed — terminal will be unavailable."));
7639
+ }
7640
+ }
7620
7641
  console.log(chalk.blue("Starting dashboard..."));
7621
7642
  console.log(chalk.gray(` Project: ${projectCwd}`));
7622
7643
  console.log(chalk.gray(` Server: ${serverPath}\n`));