@yemi33/minions 0.1.659 → 0.1.661

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,13 +1,17 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.659 (2026-04-09)
3
+ ## 0.1.661 (2026-04-09)
4
4
 
5
5
  ### Fixes
6
+ - skip unused config read in fast poll, fix timer cleanup variable name
6
7
  - retry button broken for project-level work items, add _source field
7
8
  - use PowerShell instead of wmic for process kill on Windows 11
8
9
  - bust require cache for package.json in engine start
9
10
  - PRD discovery loop, github.js duplicate const, transcript null guards
10
11
 
12
+ ### Other
13
+ - perf: run checkSteering every 3s instead of every 60s tick
14
+
11
15
  ## 0.1.655 (2026-04-09)
12
16
 
13
17
  ### Fixes
package/dashboard.js CHANGED
@@ -3932,7 +3932,7 @@ What would you like to discuss or change? When you're happy, say "approve" and I
3932
3932
  const agentDir = path.join(MINIONS_DIR, 'agents', agentId);
3933
3933
  if (!fs.existsSync(agentDir)) return jsonReply(res, 404, { error: 'Agent not found' });
3934
3934
 
3935
- // Write steering file — engine picks it up on next tick
3935
+ // Write steering file
3936
3936
  safeWrite(steerPath, message);
3937
3937
 
3938
3938
  // Also append to live-output.log so it shows in the chat view
package/engine/cli.js CHANGED
@@ -359,15 +359,18 @@ const commands = {
359
359
  // Start tick loop
360
360
  const tickTimer = setInterval(() => e.tick(), interval);
361
361
 
362
- // Fast poll for immediate wakeup signals (checks control.json every 2s)
363
- const wakeupTimer = setInterval(() => {
362
+ // Fast poll: check steering every 3s (lightweight — just fs.stat per agent)
363
+ // and wakeup signals every 3s (control.json read)
364
+ const { checkSteering } = require('./timeout');
365
+ const fastPollTimer = setInterval(() => {
366
+ try { checkSteering(); } catch {}
364
367
  const ctrl = getControl();
365
368
  if (ctrl._wakeupAt && Date.now() - ctrl._wakeupAt < 5000) {
366
369
  delete ctrl._wakeupAt;
367
370
  safeWrite(CONTROL_PATH, ctrl);
368
371
  e.tick();
369
372
  }
370
- }, 2000);
373
+ }, 3000);
371
374
 
372
375
  console.log(`Tick interval: ${interval / 1000}s | Max concurrent: ${config.engine?.maxConcurrent || 5}`);
373
376
  console.log('Press Ctrl+C to stop');
@@ -418,7 +421,7 @@ const commands = {
418
421
  shuttingDown = true;
419
422
  console.log(`\n${signal} received — initiating graceful shutdown...`);
420
423
  clearInterval(tickTimer);
421
- clearInterval(wakeupTimer);
424
+ clearInterval(fastPollTimer);
422
425
  for (const f of _watchedFiles) { try { fs.unwatchFile(f); } catch { /* cleanup */ } }
423
426
  safeWrite(CONTROL_PATH, { state: 'stopping', pid: process.pid, stopping_at: e.ts() });
424
427
  e.log('info', `Graceful shutdown initiated (${signal})`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.659",
3
+ "version": "0.1.661",
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"