@yemi33/minions 0.1.29 → 0.1.30

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.30 (2026-03-28)
4
+
5
+ ### Dashboard
6
+ - dashboard/js/render-work-items.js
7
+
3
8
  ## 0.1.29 (2026-03-28)
4
9
 
5
10
  ### Dashboard
@@ -226,20 +226,42 @@ async function retryWorkItem(id, source) {
226
226
  function wiPrev() { if (wiPage > 0) { wiPage--; renderWorkItems(allWorkItems); } }
227
227
  function wiNext() { const tp = Math.ceil(allWorkItems.length / WI_PER_PAGE); if (wiPage < tp-1) { wiPage++; renderWorkItems(allWorkItems); } }
228
228
 
229
+ let _feedbackRating = null;
229
230
  function feedbackWorkItem(id, source) {
231
+ _feedbackRating = null;
230
232
  document.getElementById('modal-title').textContent = 'Feedback on ' + id;
231
233
  document.getElementById('modal-body').innerHTML =
232
- '<div style="display:flex;flex-direction:column;gap:16px;align-items:center">' +
233
- '<div style="display:flex;gap:24px">' +
234
- '<button onclick="submitFeedback(\'' + escHtml(id) + '\',\'' + escHtml(source) + '\',\'up\')" style="font-size:40px;background:none;border:2px solid var(--border);border-radius:12px;padding:16px 24px;cursor:pointer;transition:all 0.2s" onmouseover="this.style.borderColor=\'var(--green)\'" onmouseout="this.style.borderColor=\'var(--border)\'">&#x1F44D;</button>' +
235
- '<button onclick="submitFeedback(\'' + escHtml(id) + '\',\'' + escHtml(source) + '\',\'down\')" style="font-size:40px;background:none;border:2px solid var(--border);border-radius:12px;padding:16px 24px;cursor:pointer;transition:all 0.2s" onmouseover="this.style.borderColor=\'var(--red)\'" onmouseout="this.style.borderColor=\'var(--border)\'">&#x1F44E;</button>' +
234
+ '<div style="display:flex;flex-direction:column;gap:16px">' +
235
+ '<div style="display:flex;gap:16px;justify-content:center">' +
236
+ '<button id="fb-up" onclick="_selectRating(\'up\')" style="font-size:36px;background:none;border:2px solid var(--border);border-radius:12px;padding:12px 20px;cursor:pointer;transition:all 0.2s">&#x1F44D;</button>' +
237
+ '<button id="fb-down" onclick="_selectRating(\'down\')" style="font-size:36px;background:none;border:2px solid var(--border);border-radius:12px;padding:12px 20px;cursor:pointer;transition:all 0.2s">&#x1F44E;</button>' +
238
+ '</div>' +
239
+ '<textarea id="feedback-comment" rows="3" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;resize:vertical" placeholder="What was good or needs improvement?"></textarea>' +
240
+ '<div style="display:flex;justify-content:flex-end;gap:8px">' +
241
+ '<button onclick="closeModal()" class="pr-pager-btn">Cancel</button>' +
242
+ '<button id="fb-send" onclick="submitFeedback(\'' + escHtml(id) + '\',\'' + escHtml(source) + '\')" style="padding:6px 16px;background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:not-allowed" disabled>Select rating first</button>' +
236
243
  '</div>' +
237
- '<textarea id="feedback-comment" rows="3" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;resize:vertical" placeholder="Optional: what was good or needs improvement?"></textarea>' +
238
244
  '</div>';
239
245
  document.getElementById('modal').classList.add('open');
240
246
  }
247
+ function _selectRating(r) {
248
+ _feedbackRating = r;
249
+ document.getElementById('fb-up').style.borderColor = r === 'up' ? 'var(--green)' : 'var(--border)';
250
+ document.getElementById('fb-up').style.background = r === 'up' ? 'rgba(63,185,80,0.1)' : 'none';
251
+ document.getElementById('fb-down').style.borderColor = r === 'down' ? 'var(--red)' : 'var(--border)';
252
+ document.getElementById('fb-down').style.background = r === 'down' ? 'rgba(248,81,73,0.1)' : 'none';
253
+ const btn = document.getElementById('fb-send');
254
+ btn.disabled = false;
255
+ btn.style.background = 'var(--blue)';
256
+ btn.style.color = '#fff';
257
+ btn.style.cursor = 'pointer';
258
+ btn.style.borderColor = 'var(--blue)';
259
+ btn.textContent = 'Send Feedback';
260
+ }
241
261
 
242
- async function submitFeedback(id, source, rating) {
262
+ async function submitFeedback(id, source) {
263
+ const rating = _feedbackRating;
264
+ if (!rating) { alert('Please select a rating first'); return; }
243
265
  const comment = document.getElementById('feedback-comment')?.value || '';
244
266
  try {
245
267
  const res = await fetch('/api/work-items/feedback', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
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"