@yemi33/minions 0.1.452 → 0.1.454

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.454 (2026-04-07)
4
+
5
+ ### Fixes
6
+ - CC network error shows Reload Page button for guaranteed recovery
7
+
3
8
  ## 0.1.452 (2026-04-07)
4
9
 
5
10
  ### Features
@@ -327,8 +327,9 @@ async function _ccDoSend(message, skipUserMsg) {
327
327
  const retryId = 'cc-retry-' + Date.now();
328
328
  const isNetworkError = e.message === 'Failed to fetch' || e.message.includes('NetworkError');
329
329
  ccAddMessage('assistant', '<span style="color:var(--red)">Error: ' + escHtml(e.message) + '</span>' +
330
- (isNetworkError ? '<div style="font-size:10px;color:var(--muted);margin-top:4px">Dashboard may have restarted. Try again or click New Session.</div>' : '') +
330
+ (isNetworkError ? '<div style="font-size:10px;color:var(--muted);margin-top:4px">Dashboard connection lost. Reload the page to reconnect.</div>' : '') +
331
331
  '<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>' +
332
+ (isNetworkError ? ' <button onclick="location.reload()" style="margin-top:6px;padding:4px 12px;background:var(--orange);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px">Reload Page</button>' : '') +
332
333
  ' <button onclick="ccNewSession()" style="margin-top:6px;padding:4px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px">New Session</button>');
333
334
  }
334
335
  } finally {
package/engine/meeting.js CHANGED
@@ -221,12 +221,14 @@ function collectMeetingFindings(meetingId, agentId, roundName, output) {
221
221
  meeting.completedAt = new Date().toISOString();
222
222
 
223
223
  // Write transcript to inbox so agents learn from it (slug-based dedup)
224
- const config = queries.getConfig();
225
- const agents = config.agents || {};
226
- const transcript = meeting.transcript.map(t =>
227
- `### ${agents[t.agent]?.name || t.agent} (${t.type}, Round ${t.round})\n\n${t.content}`
228
- ).join('\n\n---\n\n');
229
- shared.writeToInbox('meeting', meetingId, `# Meeting Transcript: ${meeting.title}\n\n${transcript}`);
224
+ try {
225
+ const config = queries.getConfig();
226
+ const agents = config.agents || {};
227
+ const transcript = meeting.transcript.map(t =>
228
+ `### ${agents[t.agent]?.name || t.agent} (${t.type}, Round ${t.round})\n\n${t.content}`
229
+ ).join('\n\n---\n\n');
230
+ shared.writeToInbox('meeting', meetingId, `# Meeting Transcript: ${meeting.title}\n\n${transcript}`);
231
+ } catch (e) { log('warn', `Meeting ${meetingId} inbox write: ${e.message}`); }
230
232
 
231
233
  log('info', `Meeting ${meetingId} completed — transcript written to inbox`);
232
234
  saveMeeting(meeting);
@@ -390,11 +392,13 @@ function checkMeetingTimeouts(config) {
390
392
  meeting.completedAt = new Date().toISOString();
391
393
 
392
394
  // Write transcript to inbox (same as normal conclusion path)
393
- const agents = config.agents || {};
394
- const transcript = meeting.transcript.map(t =>
395
- `### ${agents[t.agent]?.name || t.agent} (${t.type}, Round ${t.round})\n\n${t.content}`
396
- ).join('\n\n---\n\n');
397
- shared.writeToInbox('meeting', meeting.id, `# Meeting Transcript: ${meeting.title}\n\n${transcript}`);
395
+ try {
396
+ const agents = config.agents || {};
397
+ const transcript = meeting.transcript.map(t =>
398
+ `### ${agents[t.agent]?.name || t.agent} (${t.type}, Round ${t.round})\n\n${t.content}`
399
+ ).join('\n\n---\n\n');
400
+ shared.writeToInbox('meeting', meeting.id, `# Meeting Transcript: ${meeting.title}\n\n${transcript}`);
401
+ } catch (e) { log('warn', `Meeting ${meeting.id} inbox write: ${e.message}`); }
398
402
 
399
403
  saveMeeting(meeting);
400
404
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.452",
3
+ "version": "0.1.454",
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"