@yemi33/minions 0.1.169 → 0.1.171
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 +17 -0
- package/dashboard/js/command-center.js +2 -2
- package/dashboard/js/render-pipelines.js +2 -2
- package/dashboard/js/utils.js +2 -2
- package/dashboard/layout.html +1 -1
- package/dashboard/styles.css +5 -3
- package/engine/pipeline.js +3 -3
- package/package.json +1 -1
- package/pipelines/daily-standup.json +0 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.171 (2026-04-02)
|
|
4
|
+
|
|
5
|
+
### Dashboard
|
|
6
|
+
- dashboard/js/utils.js
|
|
7
|
+
- dashboard/styles.css
|
|
8
|
+
|
|
9
|
+
## 0.1.170 (2026-04-02)
|
|
10
|
+
|
|
11
|
+
### Engine
|
|
12
|
+
- engine/pipeline.js
|
|
13
|
+
|
|
14
|
+
### Dashboard
|
|
15
|
+
- dashboard/js/command-center.js
|
|
16
|
+
- dashboard/js/render-pipelines.js
|
|
17
|
+
- dashboard/layout.html
|
|
18
|
+
- dashboard/styles.css
|
|
19
|
+
|
|
3
20
|
## 0.1.169 (2026-04-02)
|
|
4
21
|
|
|
5
22
|
### Engine
|
|
@@ -16,11 +16,11 @@ function toggleCommandCenter() {
|
|
|
16
16
|
document.getElementById('cc-input').focus();
|
|
17
17
|
ccRestoreMessages();
|
|
18
18
|
} else if (_ccSending) {
|
|
19
|
-
// Closing drawer while CC is processing — show animated badge
|
|
20
19
|
showNotifBadge(document.getElementById('cc-toggle-btn'), 'processing');
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
|
|
23
|
+
|
|
24
24
|
function ccNewSession() {
|
|
25
25
|
fetch('/api/command-center/new-session', { method: 'POST' }).catch(() => {});
|
|
26
26
|
_ccSessionId = null;
|
|
@@ -88,7 +88,7 @@ function ccAddMessage(role, html, skipSave) {
|
|
|
88
88
|
const isUser = role === 'user';
|
|
89
89
|
const div = document.createElement('div');
|
|
90
90
|
const isAssistant = !isUser;
|
|
91
|
-
div.className = isAssistant ? 'cc-msg-assistant
|
|
91
|
+
div.className = isAssistant ? 'cc-msg-assistant' : '';
|
|
92
92
|
div.style.cssText = 'padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.6;max-width:95%;' +
|
|
93
93
|
(isUser ? 'background:var(--blue);color:#fff;align-self:flex-end' : 'background:var(--surface2);color:var(--text);align-self:flex-start;border:1px solid var(--border);position:relative');
|
|
94
94
|
div.innerHTML = (isAssistant && !html.includes('color:var(--red)') && !html.includes('cc-queued-pill') ? llmCopyBtn() : '') + html;
|
|
@@ -93,7 +93,7 @@ function renderPipelines(pipelines) {
|
|
|
93
93
|
|
|
94
94
|
// Build step-progress indicator for pipelines with a run
|
|
95
95
|
var progressHtml = '';
|
|
96
|
-
var displayRun = activeRun
|
|
96
|
+
var displayRun = activeRun;
|
|
97
97
|
if (displayRun && (p.stages || []).length > 0) {
|
|
98
98
|
var totalStages = (p.stages || []).length;
|
|
99
99
|
var completedCount = 0;
|
|
@@ -164,7 +164,7 @@ function openPipelineDetail(id) {
|
|
|
164
164
|
'</div>';
|
|
165
165
|
|
|
166
166
|
// Stage detail with progress bar
|
|
167
|
-
var detailRun = activeRun
|
|
167
|
+
var detailRun = activeRun;
|
|
168
168
|
if (detailRun && (p.stages || []).length > 0) {
|
|
169
169
|
var dtotal = (p.stages || []).length;
|
|
170
170
|
var ddone = 0, drun = 0, dfail = 0;
|
package/dashboard/js/utils.js
CHANGED
|
@@ -134,7 +134,7 @@ function renderMd(s) {
|
|
|
134
134
|
i++;
|
|
135
135
|
}
|
|
136
136
|
i--; // back up one since the for loop will increment
|
|
137
|
-
var tableHtml = '<
|
|
137
|
+
var tableHtml = '<div class="md-table-wrap"><table style="font-size:11px"><thead><tr>';
|
|
138
138
|
if (tableRows.length > 0) {
|
|
139
139
|
tableRows[0].forEach(function(c) { tableHtml += '<th>' + c + '</th>'; });
|
|
140
140
|
tableHtml += '</tr></thead><tbody>';
|
|
@@ -143,7 +143,7 @@ function renderMd(s) {
|
|
|
143
143
|
tableRows[ti].forEach(function(c) { tableHtml += '<td>' + c + '</td>'; });
|
|
144
144
|
tableHtml += '</tr>';
|
|
145
145
|
}
|
|
146
|
-
tableHtml += '</tbody></table>';
|
|
146
|
+
tableHtml += '</tbody></table></div>';
|
|
147
147
|
}
|
|
148
148
|
out.push(tableHtml);
|
|
149
149
|
continue;
|
package/dashboard/layout.html
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<div class="engine-alert" id="engine-alert"></div>
|
|
22
22
|
|
|
23
23
|
<!-- Command Center Drawer -->
|
|
24
|
-
<div id="cc-drawer" style="display:none;position:fixed;top:0;right:0;bottom:0;width:420px;background:var(--surface);border-left:1px solid var(--border);z-index:300;flex-direction:column">
|
|
24
|
+
<div id="cc-drawer" style="display:none;position:fixed;top:0;right:0;bottom:0;width:420px;background:var(--surface);border-left:1px solid var(--border);z-index:300;flex-direction:column;overscroll-behavior:contain">
|
|
25
25
|
<div id="cc-resize-handle" class="cc-resize-handle"></div>
|
|
26
26
|
<div style="padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between">
|
|
27
27
|
<div style="display:flex;align-items:center;gap:8px">
|
package/dashboard/styles.css
CHANGED
|
@@ -567,11 +567,13 @@
|
|
|
567
567
|
.detail-content .section { margin-bottom: var(--space-7); padding: var(--space-6); background: var(--surface2); border: 1px solid var(--border); border-radius: var(--radius-md); }
|
|
568
568
|
|
|
569
569
|
/* Markdown content — consistent styling everywhere renderMd() is used */
|
|
570
|
-
.md-content { font-family: 'Segoe UI', system-ui, sans-serif; font-size: 12px; line-height: 1.6; white-space: normal; word-break: break-word; }
|
|
570
|
+
.md-content { font-family: 'Segoe UI', system-ui, sans-serif; font-size: 12px; line-height: 1.6; white-space: normal; word-break: break-word; overflow-x: auto; }
|
|
571
571
|
.md-content pre { font-family: Consolas, 'Courier New', monospace; white-space: pre-wrap; }
|
|
572
572
|
.md-content code { font-family: Consolas, 'Courier New', monospace; }
|
|
573
|
-
.md-content table { border-collapse: collapse;
|
|
574
|
-
.md-content
|
|
573
|
+
.md-content table { border-collapse: collapse; margin: 6px 0; width: max-content; min-width: 100%; }
|
|
574
|
+
.md-content .md-table-wrap { overflow-x: auto; margin: 6px 0; }
|
|
575
|
+
.md-content th, .md-content td { padding: 4px 8px; border: 1px solid var(--border); text-align: left; font-size: 11px; white-space: nowrap; }
|
|
576
|
+
.md-content td { white-space: normal; min-width: 60px; }
|
|
575
577
|
.md-content th { background: var(--surface); font-weight: 600; }
|
|
576
578
|
.status-line { display: flex; align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-7); background: var(--bg); border-bottom: 1px solid var(--border); font-size: var(--text-md); }
|
|
577
579
|
|
package/engine/pipeline.js
CHANGED
|
@@ -345,7 +345,7 @@ function isStageComplete(stage, stageState, run, config) {
|
|
|
345
345
|
if (ids.length === 0) return false;
|
|
346
346
|
return ids.every(id => {
|
|
347
347
|
const wi = workItems.find(w => w.id === id);
|
|
348
|
-
return wi
|
|
348
|
+
return !wi || wi.status === 'done' || wi.status === 'failed'; // missing = treat as done
|
|
349
349
|
});
|
|
350
350
|
}
|
|
351
351
|
case 'meeting': {
|
|
@@ -370,7 +370,7 @@ function isStageComplete(stage, stageState, run, config) {
|
|
|
370
370
|
const prdWiIds = artifacts.workItems || [];
|
|
371
371
|
const prdDone = prdWiIds.every(id => {
|
|
372
372
|
const wi = all.find(w => w.id === id);
|
|
373
|
-
return wi
|
|
373
|
+
return !wi || wi.status === 'done' || wi.status === 'failed'; // missing = treat as done
|
|
374
374
|
});
|
|
375
375
|
if (!prdDone) return false;
|
|
376
376
|
|
|
@@ -418,7 +418,7 @@ function isStageComplete(stage, stageState, run, config) {
|
|
|
418
418
|
if (implementIds.length === 0 && artifacts.prds?.length > 0) return false; // items not materialized yet
|
|
419
419
|
return implementIds.every(id => {
|
|
420
420
|
const wi = all.find(w => w.id === id);
|
|
421
|
-
return wi
|
|
421
|
+
return !wi || wi.status === 'done' || wi.status === 'failed'; // missing = treat as done
|
|
422
422
|
});
|
|
423
423
|
}
|
|
424
424
|
case 'merge-prs': {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.171",
|
|
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"
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "daily-standup",
|
|
3
|
-
"title": "Daily Squad Stand-up",
|
|
4
|
-
"stages": [
|
|
5
|
-
{
|
|
6
|
-
"id": "standup",
|
|
7
|
-
"type": "meeting",
|
|
8
|
-
"title": "Daily Squad Stand-up � 2026-04-01",
|
|
9
|
-
"agenda": "Daily weekday meeting for all agents to review squad setup improvements and discuss progress on agentic harness engineering.\n\n1. What shipped since yesterday's meeting (Track A/B/C progress)?\n2. Any blockers on current work items?\n3. Review recent agentic harness engineering best practices � are there new Anthropic articles or model improvements that change our assumptions?\n4. Propose 1 concrete improvement each agent wants to make to the squad harness this week.\n5. Agree on today's priorities and any re-sequencing needed.\n\nOutput: a bulleted list of decisions made, action items with owners, and any updated priorities.",
|
|
10
|
-
"participants": [
|
|
11
|
-
"all"
|
|
12
|
-
]
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"trigger": {
|
|
16
|
-
"cron": "0 9 1,2,3,4,5"
|
|
17
|
-
},
|
|
18
|
-
"enabled": true
|
|
19
|
-
}
|