@yemi33/minions 0.1.355 → 0.1.356

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.356 (2026-04-06)
4
+
5
+ ### Fixes
6
+ - add MCP startup timeout — kill agent if no output after 3 minutes
7
+
3
8
  ## 0.1.355 (2026-04-06)
4
9
 
5
10
  ### Fixes
@@ -189,7 +189,22 @@ proc.stderr.on('data', (chunk) => {
189
189
  // Pipe stdout to parent
190
190
  proc.stdout.pipe(process.stdout);
191
191
 
192
+ // MCP startup timeout: kill if no stdout within 3 minutes (MCP servers downloading/starting)
193
+ const MCP_STARTUP_TIMEOUT = 180000; // 3 minutes
194
+ let gotFirstOutput = false;
195
+ const startupTimer = setTimeout(() => {
196
+ if (!gotFirstOutput) {
197
+ const msg = `TIMEOUT: Claude CLI produced no output after ${MCP_STARTUP_TIMEOUT / 1000}s (likely MCP server startup stall)`;
198
+ console.error(msg);
199
+ fs.appendFileSync(debugPath, msg + '\n');
200
+ try { proc.kill('SIGTERM'); } catch { /* process may be dead */ }
201
+ setTimeout(() => { try { proc.kill('SIGKILL'); } catch {} }, 5000);
202
+ }
203
+ }, MCP_STARTUP_TIMEOUT);
204
+ proc.stdout.once('data', () => { gotFirstOutput = true; clearTimeout(startupTimer); });
205
+
192
206
  proc.on('close', (code) => {
207
+ clearTimeout(startupTimer);
193
208
  fs.appendFileSync(debugPath, `EXIT: code=${code}\nSTDERR: ${stderrBuf.slice(0, 500)}\n`);
194
209
  process.exit(code || 0);
195
210
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.355",
3
+ "version": "0.1.356",
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"