@yemi33/minions 0.1.1767 → 0.1.1769

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,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1769 (2026-05-07)
4
+
5
+ ### Fixes
6
+ - drop /T from engine taskkill so agents survive restart
7
+
3
8
  ## 0.1.1767 (2026-05-07)
4
9
 
5
10
  ### Fixes
package/dashboard.js CHANGED
@@ -3083,12 +3083,17 @@ function spawnEngine() {
3083
3083
  return engineProc.pid;
3084
3084
  }
3085
3085
 
3086
+ // Force-kill the engine process WITHOUT /T — agents are spawned as the engine's
3087
+ // children with `detached: true` and must survive an engine restart so the new
3088
+ // engine can re-attach via PID files + live-output.log mtimes (engine.js:1102,
3089
+ // engine/cli.js re-attach). Tree-kill would orphan in-flight work. Mirrors
3090
+ // bin/minions.js:killPidOnly.
3086
3091
  function killEnginePid(pid) {
3087
3092
  const { execFileSync } = require('child_process');
3088
3093
  try {
3089
3094
  const safePid = shared.validatePid(pid);
3090
3095
  if (process.platform === 'win32') {
3091
- execFileSync('taskkill', ['/PID', String(safePid), '/F', '/T'], { stdio: 'pipe', timeout: 5000, windowsHide: true });
3096
+ execFileSync('taskkill', ['/PID', String(safePid), '/F'], { stdio: 'pipe', timeout: 5000, windowsHide: true });
3092
3097
  } else {
3093
3098
  process.kill(safePid, 'SIGKILL');
3094
3099
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "runtime": "copilot",
3
3
  "models": null,
4
- "cachedAt": "2026-05-07T15:01:54.451Z"
4
+ "cachedAt": "2026-05-07T15:45:25.869Z"
5
5
  }
@@ -658,4 +658,11 @@ module.exports = {
658
658
  cancelPendingDispatchesForPr,
659
659
  cleanDispatchEntries,
660
660
  cancelPendingWorkItems,
661
+ // exported for testing
662
+ getDispatchProjectKey,
663
+ getPrDispatchTargetKey,
664
+ getBranchDispatchLockKey,
665
+ findActivePrOrBranchLock,
666
+ normalizeRetryableDecision,
667
+ isCompletedWorkItemForFailure,
661
668
  };
package/engine.js CHANGED
@@ -1692,6 +1692,10 @@ async function spawnAgent(dispatchItem, config) {
1692
1692
  }
1693
1693
  return dispatch;
1694
1694
  });
1695
+ // Also stamp the local ref — mutateDispatch re-reads from disk, so `item`
1696
+ // above is a different object than the `dispatchItem` parameter. updateMetrics
1697
+ // reads dispatchItem.started_at for runtimeMs. (W-moux9nwn0008f923)
1698
+ dispatchItem.started_at = startedAt;
1695
1699
 
1696
1700
  // Atomically stamp dispatched_to/dispatched_at on the originating work item (#402)
1697
1701
  // The discover phase sets these via safeWrite which can race with concurrent writes;
@@ -4709,6 +4713,7 @@ module.exports = {
4709
4713
  parseConflictFiles, pruneAncestorDeps, preflightMergeSimulation, // exported for testing
4710
4714
  isWorktreeRetryableError, removeStaleIndexLock, syncReusedWorktree, // exported for testing
4711
4715
  _maxTurnsForType, buildProjectContext, normalizeAc, _buildAgentSpawnFlags, _classifyAgentFailure, // exported for testing
4716
+ normalizePrBranch, resolvePrBranch, prCausePart, getPrCauseHead, getPrCauseBase, getPrAutomationCauseKey, getPrAutomationDispatchKey, // exported for testing
4712
4717
 
4713
4718
  // Playbooks
4714
4719
  renderPlaybook, validatePlaybookVars, PLAYBOOK_REQUIRED_VARS, buildWorkItemDispatchVars,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1767",
3
+ "version": "0.1.1769",
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"