@yemi33/minions 0.1.265 → 0.1.266

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,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.266 (2026-04-03)
4
+
5
+ ### Features
6
+ - CC streaming shows cumulative tool list with loading dots
7
+
3
8
  ## 0.1.265 (2026-04-03)
4
9
 
5
10
  ### Features
@@ -198,6 +198,26 @@ async function _ccDoSend(message, skipUserMsg) {
198
198
  const msgs = document.getElementById('cc-messages');
199
199
  const streamDiv = msgs.lastElementChild; // the message we just added
200
200
  let streamedText = '';
201
+ let toolsUsed = [];
202
+ const dotPulse = '<span style="display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle"><span style="width:4px;height:4px;background:var(--blue);border-radius:50%;animation:dotPulse 1.2s infinite"></span><span style="width:4px;height:4px;background:var(--blue);border-radius:50%;animation:dotPulse 1.2s infinite;animation-delay:0.2s"></span><span style="width:4px;height:4px;background:var(--blue);border-radius:50%;animation:dotPulse 1.2s infinite;animation-delay:0.4s"></span></span>';
203
+ function updateStreamDiv() {
204
+ var html = '';
205
+ if (toolsUsed.length > 0) {
206
+ html += '<div style="margin-bottom:' + (streamedText ? '6px' : '0') + '">';
207
+ toolsUsed.forEach(function(t, i) {
208
+ var isLast = i === toolsUsed.length - 1 && !streamedText;
209
+ html += '<div style="color:var(--blue);font-size:11px">\uD83D\uDD27 ' + escHtml(t) + (isLast ? dotPulse : '') + '</div>';
210
+ });
211
+ html += '</div>';
212
+ }
213
+ if (streamedText) {
214
+ html += renderMd(streamedText);
215
+ } else if (toolsUsed.length === 0) {
216
+ html += '<span style="color:var(--muted);font-size:11px">Thinking...' + dotPulse + '</span>';
217
+ }
218
+ streamDiv.innerHTML = html;
219
+ if (msgs.scrollHeight - msgs.scrollTop - msgs.clientHeight < 150) msgs.scrollTop = msgs.scrollHeight;
220
+ }
201
221
 
202
222
  const reader = res.body.getReader();
203
223
  const decoder = new TextDecoder();
@@ -215,10 +235,10 @@ async function _ccDoSend(message, skipUserMsg) {
215
235
  const evt = JSON.parse(line.slice(6));
216
236
  if (evt.type === 'chunk') {
217
237
  streamedText = evt.text;
218
- streamDiv.innerHTML = renderMd(streamedText);
219
- if (msgs.scrollHeight - msgs.scrollTop - msgs.clientHeight < 150) msgs.scrollTop = msgs.scrollHeight;
238
+ updateStreamDiv();
220
239
  } else if (evt.type === 'tool') {
221
- streamDiv.innerHTML = '<span style="color:var(--blue);font-size:11px">\uD83D\uDD27 Using ' + escHtml(evt.name) + '...</span>';
240
+ toolsUsed.push(evt.name);
241
+ updateStreamDiv();
222
242
  if (msgs.scrollHeight - msgs.scrollTop - msgs.clientHeight < 150) msgs.scrollTop = msgs.scrollHeight;
223
243
  } else if (evt.type === 'done') {
224
244
  // Replace streaming div with a proper ccAddMessage
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.265",
3
+ "version": "0.1.266",
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"