@yemi33/minions 0.1.997 → 0.1.999
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 +3 -2
- package/dashboard/js/command-center.js +4 -3
- package/dashboard/layout.html +1 -1
- package/dashboard/styles.css +5 -0
- package/dashboard.js +10 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.999 (2026-04-15)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- fix stopAfter=0 watch expiry — run forever for all conditions (#1117)
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
- gate auto-fix conflict dispatch behind autoFixConflicts flag
|
|
26
26
|
|
|
27
27
|
### Fixes
|
|
28
|
+
- restore CC rendering and tab bar
|
|
28
29
|
- restore WATCH_ABSOLUTE_CONDITIONS import in watches.js lost in #1117 squash merge
|
|
29
30
|
- remove dead 'meeting' row from routing.md — orchestrated by engine/meeting.js directly
|
|
30
31
|
- gate review auto-dispatch on adoPollEnabled and evalLoop (#1116)
|
|
@@ -44,9 +45,9 @@
|
|
|
44
45
|
- skip SessionStart hook settings test on CI
|
|
45
46
|
- loop queue flush so messages queued during combined send aren't orphaned
|
|
46
47
|
- set lastPushedAt on fix completion to unblock re-review without poller
|
|
47
|
-
- restore ADO throttle test functions deleted during merge conflict resolution
|
|
48
48
|
|
|
49
49
|
### Other
|
|
50
|
+
- docs: update CLAUDE.md with recent Minions architecture changes
|
|
50
51
|
- chore: stop tracking runtime pipeline state
|
|
51
52
|
- chore: strengthen prompts and routing
|
|
52
53
|
- chore: harden prompt posture
|
|
@@ -248,7 +248,7 @@ function ccShowAllConversations() {
|
|
|
248
248
|
function ccRenderTabBar() {
|
|
249
249
|
var bar = document.getElementById('cc-tab-bar');
|
|
250
250
|
if (!bar) return;
|
|
251
|
-
var html = '';
|
|
251
|
+
var html = '<div class="cc-tab-scroll">';
|
|
252
252
|
for (var i = 0; i < _ccTabs.length; i++) {
|
|
253
253
|
var t = _ccTabs[i];
|
|
254
254
|
var isActive = t.id === _ccActiveTabId;
|
|
@@ -258,8 +258,9 @@ function ccRenderTabBar() {
|
|
|
258
258
|
html += '<span class="cc-tab-close" onclick="event.stopPropagation();ccCloseTab(\'' + t.id + '\')">×</span>';
|
|
259
259
|
html += '</div>';
|
|
260
260
|
}
|
|
261
|
-
html += '<div class="cc-tab" onclick="ccNewTab()" title="New tab"
|
|
262
|
-
html += '
|
|
261
|
+
html += '<div class="cc-tab cc-tab-new" onclick="ccNewTab()" title="New tab">+</div>';
|
|
262
|
+
html += '</div>';
|
|
263
|
+
html += '<div class="cc-tab-actions"><button id="cc-all-btn" class="cc-all-btn" onclick="ccShowAllConversations()" title="All conversations">▼</button></div>';
|
|
263
264
|
bar.innerHTML = html;
|
|
264
265
|
}
|
|
265
266
|
|
package/dashboard/layout.html
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<button onclick="toggleCommandCenter()" style="background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px">✕</button>
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
|
39
|
-
<div id="cc-tab-bar" style="display:flex;gap:
|
|
39
|
+
<div id="cc-tab-bar" style="display:flex;gap:8px;padding:4px 12px;border-bottom:1px solid var(--border);overflow:hidden;align-items:center;flex-shrink:0"></div>
|
|
40
40
|
<div id="cc-messages" style="flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px"></div>
|
|
41
41
|
<div style="padding:12px 16px;border-top:1px solid var(--border)">
|
|
42
42
|
<div style="display:flex;gap:8px">
|
package/dashboard/styles.css
CHANGED
|
@@ -625,7 +625,12 @@
|
|
|
625
625
|
@keyframes notifPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
|
|
626
626
|
|
|
627
627
|
/* Command Center tab bar */
|
|
628
|
+
.cc-tab-scroll { display: flex; gap: 4px; align-items: center; overflow-x: auto; overflow-y: hidden; flex: 1 1 auto; min-width: 0; scrollbar-width: thin; }
|
|
629
|
+
.cc-tab-actions { display: flex; align-items: center; flex: 0 0 auto; margin-left: auto; position: relative; z-index: 1; background: var(--bg); }
|
|
630
|
+
.cc-all-btn { background: none; border: none; color: var(--muted); font-size: 11px; padding: 4px 6px; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
|
|
631
|
+
.cc-all-btn:hover { color: var(--text); }
|
|
628
632
|
.cc-tab { padding: 4px 10px; font-size: 10px; border: 1px solid var(--border); border-bottom: none; border-radius: 6px 6px 0 0; background: var(--surface2); color: var(--muted); cursor: pointer; white-space: nowrap; max-width: 140px; display: inline-flex; align-items: center; gap: 2px; flex-shrink: 0; margin-bottom: -1px; position: relative; }
|
|
633
|
+
.cc-tab-new { color: var(--muted); padding: 4px 8px; }
|
|
629
634
|
.cc-tab-text { overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
|
|
630
635
|
.cc-tab.active { color: var(--text); background: var(--bg); border-color: var(--border); z-index: 1; font-weight: 600; }
|
|
631
636
|
.cc-tab.working { border-color: var(--blue); }
|
package/dashboard.js
CHANGED
|
@@ -578,10 +578,17 @@ For all state files, look under \`${MINIONS_DIR}\`.`;
|
|
|
578
578
|
return result;
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
+
function findCCActionsDelimiter(text) {
|
|
582
|
+
if (!text) return -1;
|
|
583
|
+
const match = /(?:^|\r?\n)===ACTIONS===[ \t]*(?=\r?\n|$)/m.exec(text);
|
|
584
|
+
if (!match) return -1;
|
|
585
|
+
return match.index + match[0].indexOf('===ACTIONS===');
|
|
586
|
+
}
|
|
587
|
+
|
|
581
588
|
function parseCCActions(text) {
|
|
582
589
|
let actions = [];
|
|
583
590
|
let displayText = text;
|
|
584
|
-
const delimIdx = text
|
|
591
|
+
const delimIdx = findCCActionsDelimiter(text);
|
|
585
592
|
if (delimIdx >= 0) {
|
|
586
593
|
displayText = text.slice(0, delimIdx).trim();
|
|
587
594
|
try {
|
|
@@ -3601,7 +3608,7 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3601
3608
|
allowedTools: 'Bash,Read,Write,Edit,Glob,Grep,WebFetch,WebSearch',
|
|
3602
3609
|
sessionId, effort: streamEffort, direct: true,
|
|
3603
3610
|
onChunk: (text) => {
|
|
3604
|
-
const actIdx = text
|
|
3611
|
+
const actIdx = findCCActionsDelimiter(text);
|
|
3605
3612
|
const display = actIdx >= 0 ? text.slice(0, actIdx).trim() : text;
|
|
3606
3613
|
try { res.write('data: ' + JSON.stringify({ type: 'chunk', text: display }) + '\n\n'); } catch {}
|
|
3607
3614
|
},
|
|
@@ -3625,7 +3632,7 @@ What would you like to discuss or change? When you're happy, say "approve" and I
|
|
|
3625
3632
|
allowedTools: 'Bash,Read,Write,Edit,Glob,Grep,WebFetch,WebSearch',
|
|
3626
3633
|
effort: streamEffort, direct: true,
|
|
3627
3634
|
onChunk: (text) => {
|
|
3628
|
-
const actIdx = text
|
|
3635
|
+
const actIdx = findCCActionsDelimiter(text);
|
|
3629
3636
|
const display = actIdx >= 0 ? text.slice(0, actIdx).trim() : text;
|
|
3630
3637
|
try { res.write('data: ' + JSON.stringify({ type: 'chunk', text: display }) + '\n\n'); } catch {}
|
|
3631
3638
|
},
|
|
@@ -4900,4 +4907,3 @@ server.on('error', e => {
|
|
|
4900
4907
|
}
|
|
4901
4908
|
process.exit(1);
|
|
4902
4909
|
});
|
|
4903
|
-
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.999",
|
|
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"
|