@yemi33/minions 0.1.1819 → 0.1.1820

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/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.1819 (2026-05-09)
3
+ ## 0.1.1820 (2026-05-09)
4
+
5
+ ### Features
6
+ - add --open flag (and MINIONS_FORCE_OPEN env) to bypass the recent-browser-tab heuristic (#2274)
4
7
 
5
8
  ### Fixes
6
9
  - stop visibility=hidden beacons from racing pagehide and resurrecting closed-tab entries in dashboard-browser.json (#2275)
package/bin/minions.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * minions update Update to latest version
12
12
  * minions version Show installed and package versions
13
13
  * minions doctor Check prerequisites and runtime health
14
- * minions restart Start engine + dashboard
14
+ * minions restart [--open] Start engine + dashboard (--open forces a new browser tab)
15
15
  * minions start Start the engine
16
16
  * minions stop Stop the engine
17
17
  * minions status Show engine status
@@ -256,6 +256,11 @@ const [cmd, ...rest] = process.argv.slice(2);
256
256
  let force = rest.includes('--force');
257
257
  const skipScan = rest.includes('--skip-scan');
258
258
  const skipStart = rest.includes('--skip-start') || rest.includes('--no-start');
259
+ // `--open` (or env MINIONS_FORCE_OPEN=1) bypasses the recent-browser-tab heuristic
260
+ // in restart/init and forces the new dashboard to auto-open a browser tab. Useful
261
+ // when the heuristic mis-fires (e.g. you closed your dashboard tab seconds before
262
+ // running restart and its final heartbeat was still inside the 45s window).
263
+ const forceOpen = rest.includes('--open') || process.env.MINIONS_FORCE_OPEN === '1';
259
264
  const MINIONS_HOME = resolveMinionsHome(cmd === 'init');
260
265
  process.env.MINIONS_HOME = MINIONS_HOME;
261
266
  const POST_UPDATE_INIT_TIMEOUT_MS = 120000;
@@ -410,7 +415,7 @@ function init() {
410
415
  // was recently polling the dashboard. A bare/orphan dashboard process on the
411
416
  // port is not enough; cold starts should still open the UI.
412
417
  const dashWasUp = isPortListening(DASH_PORT);
413
- const suppressDashboardOpen = dashWasUp && hasRecentDashboardBrowserTab(MINIONS_HOME);
418
+ const suppressDashboardOpen = !forceOpen && dashWasUp && hasRecentDashboardBrowserTab(MINIONS_HOME);
414
419
  if (isUpgrade) {
415
420
  try { execSync(`node "${path.join(MINIONS_HOME, 'engine.js')}" stop`, { stdio: 'ignore', cwd: MINIONS_HOME, timeout: 10000, windowsHide: true }); } catch {}
416
421
  // Free the dashboard port too — without this the new dashboard EADDRINUSE-dies
@@ -624,7 +629,7 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
624
629
  minions list List linked projects
625
630
 
626
631
  Engine:
627
- minions restart Start engine + dashboard (use after reboot)
632
+ minions restart [--open] Start engine + dashboard (use after reboot; --open forces a new browser tab)
628
633
  minions start Start engine daemon only
629
634
  minions stop Stop the engine
630
635
  minions status Show agents, projects, queue
@@ -688,7 +693,7 @@ if (!cmd || cmd === 'help' || cmd === '--help' || cmd === '-h') {
688
693
  // was recently polling the dashboard. A bare/orphan dashboard process on the
689
694
  // port is not enough; cold starts should still open the UI.
690
695
  const dashWasUp = isPortListening(DASH_PORT);
691
- const suppressDashboardOpen = dashWasUp && hasRecentDashboardBrowserTab(MINIONS_HOME);
696
+ const suppressDashboardOpen = !forceOpen && dashWasUp && hasRecentDashboardBrowserTab(MINIONS_HOME);
692
697
  // Layered kill — each step is best-effort, layered so the next still runs if
693
698
  // one fails. Goal: the old engine is gone before we spawn a new one, even if
694
699
  // PowerShell is unavailable, the engine is hung, or its cmdline doesn't match.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-09T17:41:50.994Z"
4
+ "cachedAt": "2026-05-09T17:43:03.560Z"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1819",
3
+ "version": "0.1.1820",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"