@yemi33/minions 0.1.752 → 0.1.754

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,8 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.752 (2026-04-09)
3
+ ## 0.1.754 (2026-04-09)
4
+
5
+ ### Features
6
+ - show branch strategy badge on PRD group header
4
7
 
5
8
  ### Fixes
9
+ - show thinking indicator when switching back to a processing tab
6
10
  - CC messages go to originating tab, not whichever tab is visible
7
11
  - tab title no longer covers close button
8
12
  - replace stale _ccQueue/_ccAbortController references with per-tab state
@@ -135,6 +135,15 @@ function ccSwitchTab(id) {
135
135
  for (var i = 0; i < tab.messages.length; i++) {
136
136
  ccAddMessage(tab.messages[i].role, tab.messages[i].html, true);
137
137
  }
138
+ // If this tab is still processing, show a thinking indicator
139
+ if (tab._sending) {
140
+ var thinking = document.createElement('div');
141
+ 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';
142
+ 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> Processing in background...' +
143
+ ' <button onclick="ccAbort()" style="font-size:9px;padding:2px 8px;background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--red);cursor:pointer">Stop</button>';
144
+ el.appendChild(thinking);
145
+ el.scrollTop = el.scrollHeight;
146
+ }
138
147
  ccRenderTabBar();
139
148
  ccUpdateSessionIndicator();
140
149
  ccSaveState();
@@ -140,7 +140,7 @@ function renderPrdProgress(prog) {
140
140
  const grouped = {};
141
141
  for (const i of (prog.items || [])) {
142
142
  const key = i.source || '_ungrouped';
143
- if (!grouped[key]) grouped[key] = { summary: i.planSummary || i.source || 'Items', _projects: [], file: i.source || '', items: [], archived: !!i._archived, planStatus: i.planStatus || 'active', sourcePlan: i.sourcePlan || '', planStale: i.planStale || false, lastSyncedFromPlan: i.lastSyncedFromPlan || null, prdUpdatedAt: i.prdUpdatedAt || null, completedAt: i.prdCompletedAt || '' };
143
+ if (!grouped[key]) grouped[key] = { summary: i.planSummary || i.source || 'Items', _projects: [], file: i.source || '', items: [], archived: !!i._archived, planStatus: i.planStatus || 'active', sourcePlan: i.sourcePlan || '', branchStrategy: i.branchStrategy || 'parallel', planStale: i.planStale || false, lastSyncedFromPlan: i.lastSyncedFromPlan || null, prdUpdatedAt: i.prdUpdatedAt || null, completedAt: i.prdCompletedAt || '' };
144
144
  grouped[key].items.push(i);
145
145
  // Collect all unique projects across items in this group
146
146
  for (const p of (i.projects || [])) { if (p && !grouped[key]._projects.includes(p)) grouped[key]._projects.push(p); }
@@ -277,6 +277,7 @@ function renderPrdProgress(prog) {
277
277
  return '<div style="font-size:11px;font-weight:600;color:var(--blue);margin-bottom:4px;padding:6px 8px;background:var(--surface2);border-radius:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap">' +
278
278
  (g._projects.length > 0 ? g._projects.map(function(p) { return '<span class="prd-project-badge">' + escHtml(p) + '</span>'; }).join(' ') : '') +
279
279
  '<span style="color:var(--text)">' + escHtml(summary || g.file) + '</span>' +
280
+ (g.branchStrategy === 'shared-branch' ? '<span style="font-size:9px;padding:1px 5px;border-radius:3px;background:rgba(210,153,34,0.15);color:var(--yellow);font-weight:400">shared branch</span>' : '') +
280
281
  pausedLabel +
281
282
  staleLabel +
282
283
  '<span style="font-weight:700;font-size:11px;color:' + (done === g.items.length && g.items.length > 0 ? 'var(--green)' : 'var(--text)') + '">' + (g.items.length > 0 ? Math.round((done / g.items.length) * 100) : 0) + '%</span>' +
package/engine/queries.js CHANGED
@@ -864,6 +864,7 @@ function getPrdInfo(config) {
864
864
  ...f, _source: pf, _planStatus: plan.status || 'active',
865
865
  _planSummary: plan.plan_summary || pf, _planProject: plan.project || '',
866
866
  _archived: archived, _sourcePlan: plan.source_plan || '',
867
+ _branchStrategy: plan.branch_strategy || 'parallel',
867
868
  _planStale: planStale || plan.planStale || false, _lastSyncedFromPlan: plan.lastSyncedFromPlan || null,
868
869
  _prdUpdatedAt: new Date(stat.mtimeMs).toISOString(),
869
870
  _prdCompletedAt: plan.completedAt || '',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.752",
3
+ "version": "0.1.754",
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"