@yemi33/minions 0.1.681 → 0.1.683
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,10 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.683 (2026-04-09)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- horizontal node chain pipeline visualization (TDD)
|
|
7
7
|
|
|
8
|
+
### Fixes
|
|
9
|
+
- search notes/archive for consolidated learnings in artifacts
|
|
10
|
+
- pipeline node chain overlap — truncate labels, remove old stageFlow
|
|
11
|
+
|
|
8
12
|
## 0.1.678 (2026-04-09)
|
|
9
13
|
|
|
10
14
|
### Fixes
|
|
@@ -196,8 +196,9 @@ function _buildNodeChain(stages, run, options) {
|
|
|
196
196
|
if (i > 0) html += '<div class="pl-node-arrow">\u2192</div>';
|
|
197
197
|
|
|
198
198
|
html += '<div class="pl-node">';
|
|
199
|
-
|
|
200
|
-
html +=
|
|
199
|
+
var label = compact ? (s.id || '').slice(0, 16) : (s.title || s.id || '').slice(0, 24);
|
|
200
|
+
html += '<div class="pl-node-box ' + cls + (isCondition ? ' condition' : '') + '" title="' + escHtml((s.title || s.id) + ': ' + st) + '">';
|
|
201
|
+
html += icon + ' ' + escHtml(label);
|
|
201
202
|
if (isWait && s.duration) html += ' ' + escHtml(s.duration);
|
|
202
203
|
html += '</div>';
|
|
203
204
|
|
|
@@ -299,7 +300,6 @@ function renderPipelines(pipelines) {
|
|
|
299
300
|
(p.enabled === false ? '<span style="font-size:9px;color:var(--red)"' + (p._stopReason ? ' title="' + escHtml(p._stopReason) + '"' : '') + '>' + (p._stoppedBy ? 'AUTO-STOPPED' : 'DISABLED') + '</span>' : '') +
|
|
300
301
|
'</div>' +
|
|
301
302
|
'</div>' +
|
|
302
|
-
'<div style="margin-top:6px;display:flex;gap:4px;align-items:center;flex-wrap:wrap">' + stageFlow + '</div>' +
|
|
303
303
|
resourcesHtml +
|
|
304
304
|
progressHtml +
|
|
305
305
|
'</div>';
|
|
@@ -503,15 +503,17 @@ function viewAgentOutput(logPath) {
|
|
|
503
503
|
}
|
|
504
504
|
|
|
505
505
|
function openInboxNote(filename) {
|
|
506
|
-
|
|
507
|
-
var
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
506
|
+
var isArchive = filename.startsWith('archive/');
|
|
507
|
+
var baseName = isArchive ? filename.replace('archive/', '') : filename;
|
|
508
|
+
// Try inbox first
|
|
509
|
+
var idx = (inboxData || []).findIndex(function(item) { return item.name === baseName; });
|
|
510
|
+
if (idx >= 0) { openModal(idx); return; }
|
|
511
|
+
// Archived or not found in inbox — show label indicating it was consolidated
|
|
512
|
+
document.getElementById('modal-title').textContent = baseName.replace(/\.md$/, '');
|
|
513
|
+
document.getElementById('modal-body').innerHTML = '<p style="color:var(--muted)">This note was consolidated into the Knowledge Base.' +
|
|
514
|
+
(isArchive ? ' <span style="font-size:10px">(archived: ' + escHtml(baseName) + ')</span>' : '') +
|
|
515
|
+
'</p><div style="margin-top:8px"><button class="pr-pager-btn" onclick="closeModal();switchPage(\'inbox\')">Go to Notes & KB</button></div>';
|
|
516
|
+
document.getElementById('modal').classList.add('open');
|
|
515
517
|
}
|
|
516
518
|
|
|
517
519
|
window.MinionsWork = { wiRow, renderWorkItems, editWorkItem, submitWorkItemEdit, deleteWorkItem, archiveWorkItem, toggleWorkItemArchive, retryWorkItem, wiPrev, wiNext, feedbackWorkItem, submitFeedback, openCreateWorkItemModal, openWorkItemDetail, openAllWorkItems, viewAgentOutput, openInboxNote };
|
package/dashboard/styles.css
CHANGED
|
@@ -192,9 +192,9 @@
|
|
|
192
192
|
.pl-prog-seg.pending { background: transparent; }
|
|
193
193
|
@keyframes plSegPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
|
|
194
194
|
.pl-progress-label { display: flex; gap: 8px; align-items: center; margin-top: 4px; font-size: 10px; }
|
|
195
|
-
.pl-node-chain { display: flex; align-items: flex-start; gap:
|
|
196
|
-
.pl-node { display: flex; flex-direction: column; align-items: center;
|
|
197
|
-
.pl-node-box { padding:
|
|
195
|
+
.pl-node-chain { display: flex; align-items: flex-start; gap: 2px; overflow-x: auto; padding: 8px 0; }
|
|
196
|
+
.pl-node { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
|
|
197
|
+
.pl-node-box { padding: 4px 8px; border-radius: 6px; border: 2px solid var(--border); background: var(--surface2); text-align: center; font-size: 10px; transition: border-color 0.2s; white-space: nowrap; }
|
|
198
198
|
.pl-node-box.complete { border-color: var(--green); background: rgba(63,185,80,0.08); }
|
|
199
199
|
.pl-node-box.running { border-color: var(--blue); animation: plSegPulse 1.5s ease-in-out infinite; }
|
|
200
200
|
.pl-node-box.failed { border-color: var(--red); background: rgba(248,81,73,0.08); }
|
package/engine/queries.js
CHANGED
|
@@ -719,6 +719,7 @@ function getWorkItems(config) {
|
|
|
719
719
|
}
|
|
720
720
|
const _agentDirCache = {};
|
|
721
721
|
const _inboxFiles = safeReadDir(INBOX_DIR);
|
|
722
|
+
const _archiveFiles = safeReadDir(ARCHIVE_DIR);
|
|
722
723
|
for (const item of allItems) {
|
|
723
724
|
const arts = {};
|
|
724
725
|
const agentId = item.dispatched_to || item.agent;
|
|
@@ -732,9 +733,12 @@ function getWorkItems(config) {
|
|
|
732
733
|
const matchLog = _agentDirCache[agentId].find(f => f.includes(dispatchId));
|
|
733
734
|
if (matchLog) arts.outputLog = agentId + '/' + matchLog;
|
|
734
735
|
}
|
|
735
|
-
// Inbox notes — match by agent ID + work item ID in filename
|
|
736
|
-
const
|
|
737
|
-
|
|
736
|
+
// Inbox + archive notes — match by agent ID + work item ID in filename
|
|
737
|
+
const itemId = item.id || '___';
|
|
738
|
+
const matchNotes = _inboxFiles.filter(f => f.includes(agentId) && f.includes(itemId));
|
|
739
|
+
const matchArchive = _archiveFiles.filter(f => f.includes(agentId) && f.includes(itemId));
|
|
740
|
+
const allNotes = [...matchNotes, ...matchArchive.map(f => 'archive/' + f)];
|
|
741
|
+
if (allNotes.length > 0) arts.notes = allNotes;
|
|
738
742
|
}
|
|
739
743
|
if (item.branch || item.featureBranch) arts.branch = item.branch || item.featureBranch;
|
|
740
744
|
if (item.sourcePlan) arts.sourcePlan = item.sourcePlan;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.683",
|
|
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"
|