@yemi33/minions 0.1.574 → 0.1.575
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 +2 -1
- package/dashboard.js +6 -41
- package/engine/spawn-agent.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.575 (2026-04-08)
|
|
4
4
|
|
|
5
5
|
### Fixes
|
|
6
6
|
- remove dead stdin prepend path, clean up spawn-agent cache logic
|
|
7
7
|
|
|
8
8
|
### Other
|
|
9
|
+
- perf: slim preamble, async PID write, remove dead API routes code
|
|
9
10
|
- perf: skip preamble on streaming session resume
|
|
10
11
|
|
|
11
12
|
## 0.1.572 (2026-04-08)
|
package/dashboard.js
CHANGED
|
@@ -644,25 +644,10 @@ function buildCCStatePreamble() {
|
|
|
644
644
|
const planFiles = [...safeReadDir(PLANS_DIR), ...safeReadDir(PRD_DIR)].filter(f => f.endsWith('.md') || f.endsWith('.json'));
|
|
645
645
|
|
|
646
646
|
const schedules = CONFIG.schedules || [];
|
|
647
|
-
const
|
|
648
|
-
? schedules.map(s => `- ${s.id}: "${s.title}" (cron: ${s.cron}, type: ${s.type || 'implement'}, ${s.enabled === false ? 'disabled' : 'enabled'})`).join('\n')
|
|
649
|
-
: '(none configured)';
|
|
647
|
+
const enabledSchedules = schedules.filter(s => s.enabled !== false).length;
|
|
650
648
|
|
|
651
|
-
let
|
|
652
|
-
try {
|
|
653
|
-
const { getPipelines, getPipelineRuns } = require('./engine/pipeline');
|
|
654
|
-
const pipelines = getPipelines();
|
|
655
|
-
if (pipelines.length > 0) {
|
|
656
|
-
const runs = getPipelineRuns();
|
|
657
|
-
pipelineSummary = pipelines.map(p => {
|
|
658
|
-
const pRuns = runs[p.id] || [];
|
|
659
|
-
const lastRun = pRuns.length > 0 ? pRuns[pRuns.length - 1] : null;
|
|
660
|
-
const lastStatus = lastRun ? ` (last run: ${lastRun.status})` : '';
|
|
661
|
-
const triggerInfo = p.trigger && p.trigger.cron ? `, cron: ${p.trigger.cron}` : ', manual';
|
|
662
|
-
return `- ${p.id}: "${p.title}" (${p.stages ? p.stages.length : 0} stages${triggerInfo}, ${p.enabled === false ? 'disabled' : 'enabled'})${lastStatus}`;
|
|
663
|
-
}).join('\n');
|
|
664
|
-
}
|
|
665
|
-
} catch {}
|
|
649
|
+
let pipelineCount = 0;
|
|
650
|
+
try { pipelineCount = require('./engine/pipeline').getPipelines().length; } catch {}
|
|
666
651
|
|
|
667
652
|
const result = `### Agents
|
|
668
653
|
${agents}
|
|
@@ -672,21 +657,13 @@ ${active}
|
|
|
672
657
|
Pending: ${pending}
|
|
673
658
|
|
|
674
659
|
### Quick Counts
|
|
675
|
-
PRs: ${prCount} | Work items: ${wiCount} | Plans/PRDs
|
|
660
|
+
PRs: ${prCount} | Work items: ${wiCount} | Plans/PRDs: ${planFiles.length} | Schedules: ${enabledSchedules}/${schedules.length} enabled | Pipelines: ${pipelineCount}
|
|
676
661
|
|
|
677
662
|
### Projects
|
|
678
663
|
${projects}
|
|
679
664
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
### Pipelines
|
|
684
|
-
${pipelineSummary}
|
|
685
|
-
|
|
686
|
-
### Dashboard API
|
|
687
|
-
Run \`curl http://localhost:7331/api/routes\` for full endpoint listing.
|
|
688
|
-
|
|
689
|
-
For details on any of the above, use your tools to read files under \`${MINIONS_DIR}\`.`;
|
|
665
|
+
Use tools to read \`config.json\` (schedules), \`pipelines/\` dir, or \`curl http://localhost:7331/api/routes\` for details.
|
|
666
|
+
For all state files, look under \`${MINIONS_DIR}\`.`;
|
|
690
667
|
_preambleCache = result;
|
|
691
668
|
_preambleCacheTs = now;
|
|
692
669
|
return result;
|
|
@@ -714,16 +691,6 @@ function parseCCActions(text) {
|
|
|
714
691
|
return { text: displayText, actions };
|
|
715
692
|
}
|
|
716
693
|
|
|
717
|
-
// ── API routes reference for CC — populated by server setup ──────────────────
|
|
718
|
-
let _apiRoutesRef = null; // set to ROUTES array once server initializes
|
|
719
|
-
function _getApiRoutesSummary() {
|
|
720
|
-
if (!_apiRoutesRef) return '(API routes not yet loaded — fetch GET /api/routes to discover endpoints)';
|
|
721
|
-
return _apiRoutesRef
|
|
722
|
-
.filter(r => r.path !== '/api/routes' && typeof r.path === 'string')
|
|
723
|
-
.map(r => `- \`${r.method} ${r.path}\` — ${r.desc}${r.params ? ' | Params: ' + r.params : ''}`)
|
|
724
|
-
.join('\n');
|
|
725
|
-
}
|
|
726
|
-
|
|
727
694
|
// ── Shared LLM call core — used by CC panel and doc modals ──────────────────
|
|
728
695
|
|
|
729
696
|
// Session store for doc modals — keyed by filePath or title, persisted to disk
|
|
@@ -4255,8 +4222,6 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
4255
4222
|
];
|
|
4256
4223
|
|
|
4257
4224
|
// Expose routes to CC preamble builder (once, on first request)
|
|
4258
|
-
if (!_apiRoutesRef) _apiRoutesRef = ROUTES;
|
|
4259
|
-
|
|
4260
4225
|
// ── Route Dispatcher ────────────────────────────────────────────────────────
|
|
4261
4226
|
|
|
4262
4227
|
const pathname = req.url.split('?')[0];
|
package/engine/spawn-agent.js
CHANGED
|
@@ -126,9 +126,9 @@ const proc = claudeIsNative
|
|
|
126
126
|
|
|
127
127
|
fs.appendFile(debugPath, `PID=${proc.pid || 'none'}\nargs=${actualArgs.join(' ').slice(0, 500)}\n`, () => {});
|
|
128
128
|
|
|
129
|
-
// Write PID file for parent engine to verify spawn
|
|
129
|
+
// Write PID file for parent engine to verify spawn (async — engine checks after 5s)
|
|
130
130
|
const pidFile = promptFile.replace(/prompt-/, 'pid-').replace(/\.md$/, '.pid');
|
|
131
|
-
fs.
|
|
131
|
+
fs.writeFile(pidFile, String(proc.pid || ''), () => {});
|
|
132
132
|
|
|
133
133
|
// Send prompt via stdin
|
|
134
134
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.575",
|
|
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"
|