@yemi33/minions 0.1.313 → 0.1.314

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,6 +1,9 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.313 (2026-04-03)
3
+ ## 0.1.314 (2026-04-03)
4
+
5
+ ### Fixes
6
+ - show reviewer names in dashboard Signed Off By column
4
7
 
5
8
  ### Other
6
9
  - perf: CC message handling — debounce localStorage, cap array, batch scroll
@@ -24,7 +24,7 @@ function prRow(pr) {
24
24
  '<td><span class="pr-agent">' + escHtml(pr.agent || '—') + '</span></td>' +
25
25
  '<td><span class="pr-branch">' + escHtml(pr.branch || '—') + '</span></td>' +
26
26
  '<td><span class="pr-badge ' + reviewClass + '">' + escHtml(reviewLabel) + '</span></td>' +
27
- '<td>' + (sq.reviewer && sq.status !== 'waiting' ? '<span class="pr-agent" title="' + escHtml(sq.note || '') + '">' + escHtml(sq.reviewer) + '</span>' : sq.reviewer && sq.status === 'waiting' ? '<span class="pr-agent" style="color:var(--muted)" title="Vote pending confirmation">' + escHtml(sq.reviewer) + '…</span>' : '<span style="color:var(--muted);font-size:11px">—</span>') + '</td>' +
27
+ '<td>' + (sq.reviewer && sq.status !== 'waiting' ? '<span class="pr-agent" title="' + escHtml(sq.note || '') + '">' + escHtml(sq.reviewer) + '</span>' : sq.reviewer && sq.status === 'waiting' ? '<span class="pr-agent" style="color:var(--muted)" title="Vote pending confirmation">' + escHtml(sq.reviewer) + '…</span>' : pr.reviewedBy && pr.reviewedBy.length ? '<span class="pr-agent">' + escHtml(pr.reviewedBy.join(', ')) + '</span>' : '<span style="color:var(--muted);font-size:11px">—</span>') + '</td>' +
28
28
  '<td><span class="pr-badge ' + buildClass + '">' + escHtml(buildLabel) + '</span></td>' +
29
29
  '<td><span class="pr-badge ' + statusClass + '">' + escHtml(statusLabel) + '</span></td>' +
30
30
  '<td><span class="pr-date">' + escHtml(pr.created || '—') + '</span></td>' +
package/engine/ado.js CHANGED
@@ -151,6 +151,19 @@ async function pollPrStatus(config) {
151
151
  else newReviewStatus = 'pending';
152
152
  }
153
153
 
154
+ // Store human reviewer names who approved or requested changes
155
+ const reviewedBy = reviewers
156
+ .filter(r => r.vote >= 5 || r.vote === -10)
157
+ .map(r => r.displayName)
158
+ .filter(Boolean);
159
+ // Fallback: if PR was merged and no decisive votes, use completedBy
160
+ if (!reviewedBy.length && newStatus === 'merged' && prData.closedBy?.displayName) {
161
+ reviewedBy.push(prData.closedBy.displayName);
162
+ }
163
+ if (JSON.stringify(pr.reviewedBy || []) !== JSON.stringify(reviewedBy)) {
164
+ pr.reviewedBy = reviewedBy; updated = true;
165
+ }
166
+
154
167
  if (pr.reviewStatus !== newReviewStatus) {
155
168
  log('info', `PR ${pr.id} reviewStatus: ${pr.reviewStatus} → ${newReviewStatus}`);
156
169
  pr.reviewStatus = newReviewStatus;
package/engine/github.js CHANGED
@@ -154,6 +154,19 @@ async function pollPrStatus(config) {
154
154
  }
155
155
  const states = [...latestByUser.values()];
156
156
 
157
+ // Store human reviewer names who approved or requested changes
158
+ const reviewedBy = [...latestByUser.entries()]
159
+ .filter(([, state]) => state === 'APPROVED' || state === 'CHANGES_REQUESTED')
160
+ .map(([user]) => user)
161
+ .filter(Boolean);
162
+ // Fallback: if PR was merged and no decisive reviews, use merged_by
163
+ if (!reviewedBy.length && prData.merged && prData.merged_by?.login) {
164
+ reviewedBy.push(prData.merged_by.login);
165
+ }
166
+ if (JSON.stringify(pr.reviewedBy || []) !== JSON.stringify(reviewedBy)) {
167
+ pr.reviewedBy = reviewedBy; updated = true;
168
+ }
169
+
157
170
  let newReviewStatus = pr.reviewStatus || 'pending';
158
171
  if (states.some(s => s === 'CHANGES_REQUESTED')) newReviewStatus = 'changes-requested';
159
172
  else if (states.some(s => s === 'APPROVED')) newReviewStatus = 'approved';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.313",
3
+ "version": "0.1.314",
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"