@yemi33/minions 0.1.512 → 0.1.514
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 +5 -1
- package/dashboard/js/render-prd.js +16 -0
- package/engine.js +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.514 (2026-04-07)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- PRD view shows decomposed children inline under parent item
|
|
4
7
|
|
|
5
8
|
### Fixes
|
|
9
|
+
- retroactively recover failed work items that have linked PRs
|
|
6
10
|
- decomposed items count as done in PRD progress and plan status
|
|
7
11
|
|
|
8
12
|
## 0.1.511 (2026-04-07)
|
|
@@ -184,6 +184,22 @@ function renderPrdProgress(prog) {
|
|
|
184
184
|
'<span class="prd-item-priority ' + (i.priority || '') + '">' + escHtml(i.priority || '') + '</span>' +
|
|
185
185
|
'<span onclick="event.stopPropagation();prdItemRemove(\'' + src + '\',\'' + iid + '\')" style="color:var(--red);cursor:pointer;font-size:10px;padding:0 4px" title="Remove item">x</span>' +
|
|
186
186
|
(i.description ? '<div style="width:100%;font-size:11px;color:var(--muted);padding:2px 0 2px 42px;line-height:1.4">' + renderMd(i.description) + '</div>' : '') +
|
|
187
|
+
// Show decomposed children inline
|
|
188
|
+
(i.status === 'decomposed' ? (function() {
|
|
189
|
+
const children = (window._lastWorkItems || []).filter(w => w.parent_id === i.id);
|
|
190
|
+
if (children.length === 0) return '';
|
|
191
|
+
return '<div style="width:100%;padding:4px 0 4px 42px;display:flex;flex-direction:column;gap:2px">' +
|
|
192
|
+
children.map(c => {
|
|
193
|
+
const childAgent = c.dispatched_to ? (agentData.find(a => a.id === c.dispatched_to) || {}) : null;
|
|
194
|
+
return '<div style="font-size:10px;display:flex;align-items:center;gap:6px;color:var(--text);padding:2px 6px;background:var(--surface);border-radius:4px;border:1px solid var(--border)">' +
|
|
195
|
+
statusBadge(c.status) +
|
|
196
|
+
'<span style="color:var(--muted);font-size:9px">' + escHtml(c.id) + '</span>' +
|
|
197
|
+
'<span style="flex:1">' + escHtml((c.title || '').replace('Implement: ', '').slice(0, 60)) + '</span>' +
|
|
198
|
+
(childAgent ? '<span style="font-size:9px;color:var(--muted)">' + (childAgent.emoji || '') + ' ' + escHtml(childAgent.name || c.dispatched_to) + '</span>' : '') +
|
|
199
|
+
'</div>';
|
|
200
|
+
}).join('') +
|
|
201
|
+
'</div>';
|
|
202
|
+
})() : '') +
|
|
187
203
|
'</div>';
|
|
188
204
|
};
|
|
189
205
|
|
package/engine.js
CHANGED
|
@@ -876,6 +876,10 @@ function reconcileItemsWithPrs(items, allPrs, { onlyIds } = {}) {
|
|
|
876
876
|
const linkedPrId = Object.keys(prLinks).find(prId => prLinks[prId] === wi.id);
|
|
877
877
|
if (linkedPrId) exactPr = allPrs.find(pr => pr.id === linkedPrId) || { id: linkedPrId };
|
|
878
878
|
}
|
|
879
|
+
// Branch-based matching: PR branch contains the work item ID (e.g. work/P-k7m2v9a1)
|
|
880
|
+
if (!exactPr) {
|
|
881
|
+
exactPr = allPrs.find(pr => pr.branch && pr.branch.includes(wi.id));
|
|
882
|
+
}
|
|
879
883
|
if (exactPr) {
|
|
880
884
|
wi.status = WI_STATUS.DONE;
|
|
881
885
|
wi._pr = exactPr.id;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.514",
|
|
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"
|