@yemi33/minions 0.1.275 → 0.1.277
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 -1
- package/dashboard/js/command-center.js +25 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.277 (2026-04-03)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- sending a new CC message aborts the current request instead of queuing
|
|
7
7
|
- CC streaming shows cumulative tool list with loading dots
|
|
8
8
|
|
|
9
9
|
### Fixes
|
|
10
|
+
- queued messages show as individual bubbles always at the bottom
|
|
11
|
+
- queued messages show as pinned indicator at bottom of chat
|
|
10
12
|
- queued message pill shows on user side (right-aligned)
|
|
11
13
|
- queued messages show as fresh user bubbles when processing starts
|
|
12
14
|
- restore CC message queuing + scroll to queued message when processing
|
|
@@ -110,10 +110,10 @@ async function ccSend() {
|
|
|
110
110
|
if (!message) return;
|
|
111
111
|
input.value = '';
|
|
112
112
|
|
|
113
|
-
// If already processing, queue the message
|
|
113
|
+
// If already processing, queue the message
|
|
114
114
|
if (_ccSending) {
|
|
115
115
|
_ccQueue.push(message);
|
|
116
|
-
|
|
116
|
+
_renderQueueIndicator();
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
119
|
await _ccDoSend(message);
|
|
@@ -121,17 +121,27 @@ async function ccSend() {
|
|
|
121
121
|
// Drain queue — show each as a fresh user message + process
|
|
122
122
|
while (_ccQueue.length > 0) {
|
|
123
123
|
const next = _ccQueue.shift();
|
|
124
|
-
//
|
|
125
|
-
const msgs = document.getElementById('cc-messages');
|
|
126
|
-
const queuedPills = msgs.querySelectorAll('.cc-queued-pill');
|
|
127
|
-
for (const pill of queuedPills) {
|
|
128
|
-
if (pill.closest('div')) { pill.closest('div').remove(); break; }
|
|
129
|
-
}
|
|
130
|
-
// Show as a normal user message being sent now
|
|
124
|
+
_renderQueueIndicator(); // update or remove indicator
|
|
131
125
|
await _ccDoSend(next);
|
|
132
126
|
}
|
|
133
127
|
}
|
|
134
128
|
|
|
129
|
+
function _renderQueueIndicator() {
|
|
130
|
+
// Remove all existing queue indicators
|
|
131
|
+
document.querySelectorAll('.cc-queue-item').forEach(function(el) { el.remove(); });
|
|
132
|
+
if (_ccQueue.length === 0) return;
|
|
133
|
+
var msgs = document.getElementById('cc-messages');
|
|
134
|
+
// Add each queued message as its own bubble at the bottom
|
|
135
|
+
_ccQueue.forEach(function(m) {
|
|
136
|
+
var el = document.createElement('div');
|
|
137
|
+
el.className = 'cc-queue-item';
|
|
138
|
+
el.style.cssText = 'padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.6;max-width:95%;align-self:flex-end;background:var(--blue);color:#fff;opacity:0.5;order:9999';
|
|
139
|
+
el.innerHTML = escHtml(m) + '<div style="font-size:9px;opacity:0.7;font-style:italic;margin-top:2px">queued</div>';
|
|
140
|
+
msgs.appendChild(el);
|
|
141
|
+
});
|
|
142
|
+
msgs.scrollTop = msgs.scrollHeight;
|
|
143
|
+
}
|
|
144
|
+
|
|
135
145
|
async function _ccDoSend(message, skipUserMsg) {
|
|
136
146
|
_ccSending = true;
|
|
137
147
|
_ccAbortController = new AbortController();
|
|
@@ -139,6 +149,10 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
139
149
|
|
|
140
150
|
if (!skipUserMsg) ccAddMessage('user', escHtml(message));
|
|
141
151
|
|
|
152
|
+
// Remove queue indicator before processing (it'll be re-added if more queued)
|
|
153
|
+
var existingQueueEl = document.getElementById('cc-queue-indicator');
|
|
154
|
+
if (existingQueueEl) existingQueueEl.remove();
|
|
155
|
+
|
|
142
156
|
// Show thinking indicator with timer + queue count
|
|
143
157
|
const queueCount = _ccQueue.length;
|
|
144
158
|
const queueBadge = queueCount > 0 ? ' <span style="font-size:9px;background:var(--surface);padding:1px 5px;border-radius:8px;border:1px solid var(--border)">+' + queueCount + ' queued</span>' : '';
|
|
@@ -216,6 +230,8 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
216
230
|
html += '<span style="color:var(--muted);font-size:11px">Thinking...' + dotPulse + '</span>';
|
|
217
231
|
}
|
|
218
232
|
streamDiv.innerHTML = html;
|
|
233
|
+
// Re-append queue indicators so they stay below the streaming content
|
|
234
|
+
if (_ccQueue.length > 0) _renderQueueIndicator();
|
|
219
235
|
if (msgs.scrollHeight - msgs.scrollTop - msgs.clientHeight < 150) msgs.scrollTop = msgs.scrollHeight;
|
|
220
236
|
}
|
|
221
237
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.277",
|
|
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"
|