@yemi33/minions 0.1.280 → 0.1.281

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.281 (2026-04-03)
4
+
5
+ ### Other
6
+ - refactor: remove duplicate thinking indicator — single source via updateStreamDiv
7
+
3
8
  ## 0.1.280 (2026-04-03)
4
9
 
5
10
  ### Features
@@ -153,17 +153,6 @@ async function _ccDoSend(message, skipUserMsg) {
153
153
  var existingQueueEl = document.getElementById('cc-queue-indicator');
154
154
  if (existingQueueEl) existingQueueEl.remove();
155
155
 
156
- // Show thinking indicator with timer + queue count
157
- const queueCount = _ccQueue.length;
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>' : '';
159
- const thinking = document.createElement('div');
160
- thinking.id = 'cc-thinking';
161
- thinking.style.cssText = 'padding:8px 12px;border-radius:8px;font-size:11px;color:var(--muted);align-self:flex-start;display:flex;align-items:center;gap:8px';
162
- thinking.innerHTML = '<span class="dot-pulse" style="display:inline-flex;gap:3px"><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> <span id="cc-thinking-text">Thinking...</span> <span id="cc-thinking-time" style="font-size:10px;color:var(--border)"></span>' + queueBadge;
163
- document.getElementById('cc-messages').appendChild(thinking);
164
- const ccMsgs = document.getElementById('cc-messages');
165
- ccMsgs.scrollTop = ccMsgs.scrollHeight;
166
-
167
156
  const ccStartTime = Date.now();
168
157
  const phases = [
169
158
  [0, 'Thinking...'],
@@ -175,18 +164,6 @@ async function _ccDoSend(message, skipUserMsg) {
175
164
  [180000, 'Still going (this is unusually long)...'],
176
165
  [300000, 'Timing out soon...'],
177
166
  ];
178
- const ccTimer = setInterval(() => {
179
- const elapsed = Date.now() - ccStartTime;
180
- const secs = Math.floor(elapsed / 1000);
181
- const timeEl = document.getElementById('cc-thinking-time');
182
- const textEl = document.getElementById('cc-thinking-text');
183
- if (timeEl) timeEl.textContent = secs + 's';
184
- if (textEl) {
185
- for (let i = phases.length - 1; i >= 0; i--) {
186
- if (elapsed >= phases[i][0]) { textEl.textContent = phases[i][1]; break; }
187
- }
188
- }
189
- }, 500);
190
167
 
191
168
  try {
192
169
  // Stream response via SSE — shows text as it arrives
@@ -197,8 +174,6 @@ async function _ccDoSend(message, skipUserMsg) {
197
174
  });
198
175
 
199
176
  if (!res.ok) {
200
- clearInterval(ccTimer);
201
- thinking.remove();
202
177
  const errText = await res.text();
203
178
  ccAddMessage('assistant', '<span style="color:var(--red)">' + escHtml(errText || 'CC error') + '</span>' +
204
179
  (errText.includes('busy') ? ' <button onclick="ccNewSession()" style="margin-top:4px;padding:3px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--blue);cursor:pointer;font-size:10px">Reset CC</button>' : ''));
@@ -206,8 +181,6 @@ async function _ccDoSend(message, skipUserMsg) {
206
181
  }
207
182
 
208
183
  // Use a temporary streaming div for live updates, then replace with ccAddMessage on completion
209
- clearInterval(ccTimer);
210
- try { thinking.remove(); } catch { /* may already be removed */ }
211
184
  // Add a temporary placeholder via ccAddMessage so it gets proper styling
212
185
  ccAddMessage('assistant', '<span style="color:var(--muted);font-size:11px">Thinking...</span>', true);
213
186
  const msgs = document.getElementById('cc-messages');
@@ -318,8 +291,6 @@ async function _ccDoSend(message, skipUserMsg) {
318
291
  }
319
292
  }
320
293
  } catch (e) {
321
- clearInterval(ccTimer);
322
- try { thinking.remove(); } catch { /* may already be removed */ }
323
294
  const retryId = 'cc-retry-' + Date.now();
324
295
  ccAddMessage('assistant', '<span style="color:var(--red)">Error: ' + escHtml(e.message) + '</span>' +
325
296
  '<button id="' + retryId + '" onclick="ccRetryLast()" style="margin-top:6px;padding:4px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--blue);cursor:pointer;font-size:11px">Retry</button>');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.280",
3
+ "version": "0.1.281",
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"