@yemi33/minions 0.1.458 → 0.1.460

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,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.460 (2026-04-07)
4
+
5
+ ### Fixes
6
+ - remove non-functional Discuss & Revise button from plan cards
7
+ - steering no longer causes pending/active flip
8
+
3
9
  ## 0.1.458 (2026-04-07)
4
10
 
5
11
  ### Fixes
@@ -211,15 +211,7 @@ function renderPlans(plans) {
211
211
  const actionTarget = prdFile || p.file;
212
212
  actions = '<div class="plan-card-actions" onclick="event.stopPropagation()">' +
213
213
  '<button class="plan-btn approve" onclick="planApprove(\'' + escHtml(actionTarget) + '\')">Approve</button>' +
214
- '<button class="plan-btn" style="color:var(--blue);border-color:var(--blue)" onclick="planDiscuss(\'' + escHtml(p.file) + '\')">Discuss &amp; Revise</button>' +
215
214
  '<button class="plan-btn reject" onclick="planReject(\'' + escHtml(actionTarget) + '\')">Reject</button>' +
216
- '</div>' +
217
- '<div id="revise-input-' + escHtml(p.file).replace(/\./g, '-') + '" style="display:none">' +
218
- '<textarea class="plan-feedback-input" placeholder="What should be changed? Be specific..." id="revise-feedback-' + escHtml(p.file).replace(/\./g, '-') + '"></textarea>' +
219
- '<div class="plan-card-actions" style="margin-top:4px">' +
220
- '<button class="plan-btn revise" onclick="planSubmitRevise(\'' + escHtml(p.file) + '\')">Submit Revision Request</button>' +
221
- '<button class="plan-btn" onclick="planHideRevise(\'' + escHtml(p.file) + '\')">Cancel</button>' +
222
- '</div>' +
223
215
  '</div>';
224
216
  } else if (isRevision) {
225
217
  actions = '<div class="plan-card-meta" style="margin-top:6px;color:var(--purple,#a855f7)">Revision in progress: ' + escHtml((p.revisionFeedback || '').slice(0, 100)) + '</div>';
package/engine/timeout.js CHANGED
@@ -84,6 +84,7 @@ function checkSteering(config) {
84
84
  // Store steering context for re-spawn on close
85
85
  info._steeringMessage = message;
86
86
  info._steeringSessionId = sessionId;
87
+ info._steeringAt = Date.now(); // prevent timeout checker from treating this as orphaned
87
88
  }
88
89
  }
89
90
 
@@ -203,6 +204,10 @@ function checkTimeouts(config) {
203
204
 
204
205
  const effectiveTimeout = isBlocking ? blockingTimeout : heartbeatTimeout;
205
206
 
207
+ // Skip recently-steered agents — they're being killed and re-spawned
208
+ const procInfo = activeProcesses.get(item.id);
209
+ if (procInfo?._steeringAt && Date.now() - procInfo._steeringAt < 60000) continue;
210
+
206
211
  if (!hasProcess && silentMs > effectiveTimeout && Date.now() > engineRestartGraceUntil) {
207
212
  // No tracked process AND no recent output past effective timeout AND grace period expired → orphaned
208
213
  log('warn', `Orphan detected: ${item.agent} (${item.id}) — no process tracked, silent for ${silentSec}s${isBlocking ? ' (blocking timeout exceeded)' : ''}`);
@@ -242,6 +247,9 @@ function checkTimeouts(config) {
242
247
  if (item.status !== WI_STATUS.DISPATCHED) continue;
243
248
  // Never revert completed items
244
249
  if (item.completedAt || item.status === WI_STATUS.DONE) continue;
250
+ // Skip recently-steered agents (being killed and re-spawned)
251
+ const steerInfo = activeProcesses.get(item.id) || [...activeProcesses.values()].find(p => p.agentId && item.dispatched_to === p.agentId);
252
+ if (steerInfo?._steeringAt && Date.now() - steerInfo._steeringAt < 60000) continue;
245
253
  // Check if any active dispatch references this item
246
254
  const projectNames = getProjects(config).map(p => p.name);
247
255
  const possibleKeys = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.458",
3
+ "version": "0.1.460",
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"