@yemi33/minions 0.1.300 → 0.1.302
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 +6 -0
- package/dashboard/js/render-meetings.js +1 -0
- package/engine/lifecycle.js +6 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,7 @@ let _mtgPage = 0;
|
|
|
6
6
|
|
|
7
7
|
function renderMeetings(meetings) {
|
|
8
8
|
meetings = (meetings || []).filter(function(m) { return !isDeleted('mtg:' + m.id); });
|
|
9
|
+
meetings.sort((a, b) => (b.created || b.startedAt || '').localeCompare(a.created || a.startedAt || ''));
|
|
9
10
|
const el = document.getElementById('meetings-content');
|
|
10
11
|
const countEl = document.getElementById('meetings-count');
|
|
11
12
|
if (!meetings || meetings.length === 0) {
|
package/engine/lifecycle.js
CHANGED
|
@@ -436,7 +436,10 @@ function chainPlanToPrd(dispatchItem, meta, config) {
|
|
|
436
436
|
log('info', `Plan chaining: queuing plan-to-prd for next tick (chained from ${dispatchItem.id})`);
|
|
437
437
|
const wiPath = path.join(MINIONS_DIR, 'work-items.json');
|
|
438
438
|
let items = [];
|
|
439
|
-
try { items = JSON.parse(fs.readFileSync(wiPath, 'utf8')); } catch {
|
|
439
|
+
try { items = JSON.parse(fs.readFileSync(wiPath, 'utf8')); } catch (err) {
|
|
440
|
+
log('warn', `Failed to parse ${wiPath}: ${err.message} — creating .bak and starting fresh`);
|
|
441
|
+
try { fs.copyFileSync(wiPath, wiPath + '.bak'); } catch {}
|
|
442
|
+
}
|
|
440
443
|
items.push({
|
|
441
444
|
id: 'W-' + shared.uid(),
|
|
442
445
|
title: `Convert plan to PRD: ${meta?.item?.title || planFile.name}`,
|
|
@@ -623,7 +626,7 @@ function syncPrsFromOutput(output, agentId, meta, config) {
|
|
|
623
626
|
dirtyTargets.set(targetName, { prs: safeJson(prPath) || [], prPath });
|
|
624
627
|
}
|
|
625
628
|
const entry = dirtyTargets.get(targetName);
|
|
626
|
-
if (entry.prs.some(p => p.id === fullId || String(p.id)
|
|
629
|
+
if (entry.prs.some(p => p.id === fullId || String(p.id) === String(prId))) continue;
|
|
627
630
|
|
|
628
631
|
let title = meta?.item?.title || '';
|
|
629
632
|
const titleMatch = output.match(new RegExp(`${prId}[^\\n]*?[—–-]\\s*([^\\n]+)`, 'i'));
|
|
@@ -694,7 +697,7 @@ function updatePrAfterReview(agentId, pr, project) {
|
|
|
694
697
|
}
|
|
695
698
|
|
|
696
699
|
shared.safeWrite(project ? shared.projectPrPath(project) : path.join(path.resolve(MINIONS_DIR, '..'), '.minions', 'pull-requests.json'), prs);
|
|
697
|
-
log('info', `Updated ${pr.id} → minions review: ${
|
|
700
|
+
log('info', `Updated ${pr.id} → minions review: ${target.reviewStatus} by ${reviewerName}`);
|
|
698
701
|
createReviewFeedbackForAuthor(agentId, { ...pr, ...target }, config);
|
|
699
702
|
}
|
|
700
703
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.302",
|
|
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"
|