@yemi33/minions 0.1.262 → 0.1.263
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 +2 -1
- package/dashboard/js/command-center.js +14 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.263 (2026-04-03)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- real-time token streaming for CC via partial JSON extraction
|
|
7
7
|
|
|
8
8
|
### Fixes
|
|
9
|
+
- all CC messages go through ccAddMessage — no more duplicated styling
|
|
9
10
|
- streaming CC done event includes copy button matching ccAddMessage
|
|
10
11
|
- streaming CC message bubble matches ccAddMessage styling
|
|
11
12
|
- CC stream clears ccInFlight on client disconnect + defensive thinking.remove
|
|
@@ -190,14 +190,13 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
//
|
|
193
|
+
// Use a temporary streaming div for live updates, then replace with ccAddMessage on completion
|
|
194
194
|
clearInterval(ccTimer);
|
|
195
195
|
try { thinking.remove(); } catch { /* may already be removed */ }
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
streamDiv
|
|
200
|
-
document.getElementById('cc-messages').appendChild(streamDiv);
|
|
196
|
+
// Add a temporary placeholder via ccAddMessage so it gets proper styling
|
|
197
|
+
ccAddMessage('assistant', '<span style="color:var(--muted);font-size:11px">Thinking...</span>', true);
|
|
198
|
+
const msgs = document.getElementById('cc-messages');
|
|
199
|
+
const streamDiv = msgs.lastElementChild; // the message we just added
|
|
201
200
|
let streamedText = '';
|
|
202
201
|
|
|
203
202
|
const reader = res.body.getReader();
|
|
@@ -215,23 +214,24 @@ async function _ccDoSend(message, skipUserMsg) {
|
|
|
215
214
|
try {
|
|
216
215
|
const evt = JSON.parse(line.slice(6));
|
|
217
216
|
if (evt.type === 'chunk') {
|
|
218
|
-
streamedText = evt.text;
|
|
217
|
+
streamedText = evt.text;
|
|
219
218
|
streamDiv.innerHTML = renderMd(streamedText);
|
|
220
|
-
const msgs = document.getElementById('cc-messages');
|
|
221
219
|
if (msgs.scrollHeight - msgs.scrollTop - msgs.clientHeight < 150) msgs.scrollTop = msgs.scrollHeight;
|
|
222
220
|
} else if (evt.type === 'done') {
|
|
223
|
-
//
|
|
221
|
+
// Replace streaming div with a proper ccAddMessage
|
|
222
|
+
streamDiv.remove();
|
|
223
|
+
_ccMessages.pop(); // remove the placeholder we pushed
|
|
224
224
|
const ccElapsed = Math.round((Date.now() - ccStartTime) / 1000);
|
|
225
|
-
const
|
|
226
|
-
|
|
227
|
-
'<div style="font-size:9px;color:var(--muted);margin-top:6px;display:flex;justify-content:flex-end;padding-right:30px">' + ccElapsed + 's</div>';
|
|
228
|
-
_ccMessages.push({ role: 'assistant', html: streamDiv.innerHTML });
|
|
225
|
+
const rendered = renderMd(evt.text || streamedText || '');
|
|
226
|
+
ccAddMessage('assistant', rendered + '<div style="font-size:9px;color:var(--muted);margin-top:6px;display:flex;justify-content:flex-end;padding-right:30px">' + ccElapsed + 's</div>');
|
|
229
227
|
if (evt.sessionId) { _ccSessionId = evt.sessionId; ccSaveState(); ccUpdateSessionIndicator(); }
|
|
230
228
|
if (evt.actions && evt.actions.length > 0) {
|
|
231
229
|
for (const action of evt.actions) { await ccExecuteAction(action); }
|
|
232
230
|
}
|
|
233
231
|
} else if (evt.type === 'error') {
|
|
234
|
-
streamDiv.
|
|
232
|
+
streamDiv.remove();
|
|
233
|
+
_ccMessages.pop();
|
|
234
|
+
ccAddMessage('assistant', '<span style="color:var(--red)">' + escHtml(evt.error) + '</span>');
|
|
235
235
|
}
|
|
236
236
|
} catch { /* incomplete JSON */ }
|
|
237
237
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.263",
|
|
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"
|