@yemi33/minions 0.1.927 → 0.1.929
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 +3 -3
- package/engine.js +41 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.929 (2026-04-14)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- doc-chat abort kills LLM process + queued messages auto-process
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
- add red dot notification on CC tab when response completes (#934) (#946)
|
|
21
21
|
|
|
22
22
|
### Fixes
|
|
23
|
+
- steering kill on no-session re-queues dispatch instead of erroring (#1015)
|
|
24
|
+
- inject cached ADO token into spawned agents (#998) (#1012)
|
|
23
25
|
- qaAbort race + skip kill on completed doc-chat
|
|
24
26
|
- doc-chat Stop button actually works — release server guard on disconnect
|
|
25
27
|
- CC streaming auto-retries fresh session when resume fails
|
|
@@ -38,8 +40,6 @@
|
|
|
38
40
|
- CC queued messages sent to wrong tab after tab switch
|
|
39
41
|
- pass sysPromptPath instead of steerPromptPath as system prompt in steering resume (#962)
|
|
40
42
|
- PRD item display dispatched/in-progress status conflation (closes #950) (#955)
|
|
41
|
-
- remove KB watchdog — checkpoint never written, restore never worked
|
|
42
|
-
- make KB sweep endpoint async with status polling (#933)
|
|
43
43
|
|
|
44
44
|
### Other
|
|
45
45
|
- test(preflight): add unit tests for findClaudeBinary, runPreflight, printPreflight, checkOrExit (#953)
|
package/engine.js
CHANGED
|
@@ -855,6 +855,13 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
855
855
|
// Spawn the claude process
|
|
856
856
|
const childEnv = shared.cleanChildEnv();
|
|
857
857
|
|
|
858
|
+
// Inject cached ADO token so agents skip re-authentication (#998)
|
|
859
|
+
// getAdoToken() returns cached token (30-min TTL) or null — never blocks on browser auth
|
|
860
|
+
try {
|
|
861
|
+
const adoToken = await getAdoToken();
|
|
862
|
+
if (adoToken) childEnv.MINIONS_ADO_TOKEN = adoToken;
|
|
863
|
+
} catch { /* non-fatal — agent can still authenticate on its own */ }
|
|
864
|
+
|
|
858
865
|
// Spawn via wrapper script — node directly (no bash intermediary)
|
|
859
866
|
// spawn-agent.js handles CLAUDECODE env cleanup and claude binary resolution
|
|
860
867
|
const spawnScript = path.join(ENGINE_DIR, 'spawn-agent.js');
|
|
@@ -1023,6 +1030,11 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
1023
1030
|
|
|
1024
1031
|
const spawnScript = path.join(ENGINE_DIR, 'spawn-agent.js');
|
|
1025
1032
|
const childEnv = shared.cleanChildEnv();
|
|
1033
|
+
// Inject cached ADO token for steering session too (#998)
|
|
1034
|
+
try {
|
|
1035
|
+
const adoToken = await getAdoToken();
|
|
1036
|
+
if (adoToken) childEnv.MINIONS_ADO_TOKEN = adoToken;
|
|
1037
|
+
} catch { /* non-fatal */ }
|
|
1026
1038
|
let resumeProc;
|
|
1027
1039
|
try {
|
|
1028
1040
|
resumeProc = runFile(process.execPath, [spawnScript, steerPromptPath, sysPromptPath, ...resumeArgs], {
|
|
@@ -1098,6 +1110,34 @@ async function spawnAgent(dispatchItem, config) {
|
|
|
1098
1110
|
return;
|
|
1099
1111
|
}
|
|
1100
1112
|
|
|
1113
|
+
// Check if this was a no-session steering kill (#1014) — re-queue for retry instead of erroring.
|
|
1114
|
+
// timeout.js sets _steeringNoSession when it kills an agent that hasn't established a sessionId.
|
|
1115
|
+
// The steering message is already saved to inbox, so re-queuing lets the engine retry and the
|
|
1116
|
+
// agent picks up the message on the next dispatch.
|
|
1117
|
+
if (procInfo?._steeringNoSession) {
|
|
1118
|
+
log('info', `Steering no-session: re-queue ${agentId} (${id}) — dispatch moved back to pending`);
|
|
1119
|
+
activeProcesses.delete(id);
|
|
1120
|
+
realActivityMap.delete(id);
|
|
1121
|
+
// Move dispatch item from active back to pending so engine retries
|
|
1122
|
+
mutateDispatch((dp) => {
|
|
1123
|
+
const idx = dp.active.findIndex(d => d.id === id);
|
|
1124
|
+
if (idx >= 0) {
|
|
1125
|
+
const item = dp.active.splice(idx, 1)[0];
|
|
1126
|
+
delete item.started_at;
|
|
1127
|
+
delete item.workerState;
|
|
1128
|
+
delete item.workerStateAt;
|
|
1129
|
+
delete item.workerStateDetail;
|
|
1130
|
+
dp.pending.push(item);
|
|
1131
|
+
}
|
|
1132
|
+
return dp;
|
|
1133
|
+
});
|
|
1134
|
+
// Cleanup temp files
|
|
1135
|
+
try { fs.unlinkSync(sysPromptPath); } catch { /* cleanup */ }
|
|
1136
|
+
try { fs.unlinkSync(promptPath); } catch { /* cleanup */ }
|
|
1137
|
+
try { fs.unlinkSync(promptPath.replace(/prompt-/, 'pid-').replace(/\.md$/, '.pid')); } catch { /* cleanup */ }
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1101
1141
|
activeProcesses.delete(id);
|
|
1102
1142
|
realActivityMap.delete(id); // Clean up real activity tracking
|
|
1103
1143
|
|
|
@@ -1405,7 +1445,7 @@ function reconcileItemsWithPrs(items, allPrs, { onlyIds } = {}) {
|
|
|
1405
1445
|
// ─── Inbox Consolidation (extracted to engine/consolidation.js) ──────────────
|
|
1406
1446
|
|
|
1407
1447
|
const { consolidateInbox } = require('./engine/consolidation');
|
|
1408
|
-
const { pollPrStatus, pollPrHumanComments, reconcilePrs, checkLiveReviewStatus: adoCheckLiveReview, needsAdoPollRetry } = require('./engine/ado');
|
|
1448
|
+
const { pollPrStatus, pollPrHumanComments, reconcilePrs, checkLiveReviewStatus: adoCheckLiveReview, needsAdoPollRetry, getAdoToken } = require('./engine/ado');
|
|
1409
1449
|
const { pollPrStatus: ghPollPrStatus, pollPrHumanComments: ghPollPrHumanComments, reconcilePrs: ghReconcilePrs, checkLiveReviewStatus: ghCheckLiveReview } = require('./engine/github');
|
|
1410
1450
|
|
|
1411
1451
|
// ─── State Snapshot ─────────────────────────────────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.929",
|
|
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"
|