@yemi33/minions 0.1.14 → 0.1.16
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 +14 -0
- package/dashboard/js/command-center.js +3 -0
- package/dashboard/js/render-other.js +2 -1
- package/dashboard/js/render-plans.js +1 -0
- package/dashboard/js/render-prd.js +1 -0
- package/dashboard/js/render-work-items.js +1 -1
- package/dashboard/js/utils.js +3 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.16 (2026-03-28)
|
|
4
|
+
|
|
5
|
+
### Dashboard
|
|
6
|
+
- dashboard/js/render-other.js
|
|
7
|
+
|
|
8
|
+
## 0.1.15 (2026-03-28)
|
|
9
|
+
|
|
10
|
+
### Dashboard
|
|
11
|
+
- dashboard/js/command-center.js
|
|
12
|
+
- dashboard/js/render-plans.js
|
|
13
|
+
- dashboard/js/render-prd.js
|
|
14
|
+
- dashboard/js/render-work-items.js
|
|
15
|
+
- dashboard/js/utils.js
|
|
16
|
+
|
|
3
17
|
## 0.1.14 (2026-03-26)
|
|
4
18
|
|
|
5
19
|
### Dashboard
|
|
@@ -222,6 +222,7 @@ async function ccExecuteAction(action) {
|
|
|
222
222
|
const d = await res.json();
|
|
223
223
|
status.innerHTML = '✓ Dispatched: <strong>' + escHtml(d.id || action.title) + '</strong>';
|
|
224
224
|
status.style.color = 'var(--green)';
|
|
225
|
+
wakeEngine();
|
|
225
226
|
break;
|
|
226
227
|
}
|
|
227
228
|
case 'note': {
|
|
@@ -261,6 +262,7 @@ async function ccExecuteAction(action) {
|
|
|
261
262
|
}
|
|
262
263
|
status.innerHTML = '✓ Retried: <strong>' + escHtml((action.ids || []).join(', ')) + '</strong>';
|
|
263
264
|
status.style.color = 'var(--green)';
|
|
265
|
+
wakeEngine();
|
|
264
266
|
break;
|
|
265
267
|
}
|
|
266
268
|
case 'pause-plan': {
|
|
@@ -338,6 +340,7 @@ async function ccExecuteAction(action) {
|
|
|
338
340
|
});
|
|
339
341
|
status.innerHTML = '✓ Plan execution queued: <strong>' + escHtml(action.file) + '</strong>';
|
|
340
342
|
status.style.color = 'var(--green)';
|
|
343
|
+
wakeEngine();
|
|
341
344
|
refreshPlans();
|
|
342
345
|
break;
|
|
343
346
|
}
|
|
@@ -5,7 +5,8 @@ function renderProjects(projects) {
|
|
|
5
5
|
const list = document.getElementById('projects-list');
|
|
6
6
|
if (!projects.length) {
|
|
7
7
|
header.textContent = 'No projects';
|
|
8
|
-
list.innerHTML = '<span style="color:var(--muted);font-style:italic">No projects linked
|
|
8
|
+
list.innerHTML = '<span style="color:var(--muted);font-style:italic">No projects linked.</span>' +
|
|
9
|
+
'<span onclick="addProject()" style="background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:3px 10px;color:var(--green);font-weight:500;cursor:pointer;border-style:dashed;margin-left:8px">+ Add Project</span>';
|
|
9
10
|
return;
|
|
10
11
|
}
|
|
11
12
|
header.textContent = projects.map(p => p.name).join(' + ');
|
|
@@ -269,6 +269,7 @@ async function planExecute(file, project, btn) {
|
|
|
269
269
|
}
|
|
270
270
|
closeModal();
|
|
271
271
|
showToast('cmd-toast', data.alreadyQueued ? 'Already queued (' + data.id + ')' : 'Queued ' + data.id + ' — agent will convert plan to PRD', true);
|
|
272
|
+
wakeEngine();
|
|
272
273
|
refreshPlans();
|
|
273
274
|
} else {
|
|
274
275
|
if (btn) { btn.textContent = 'Execute'; btn.disabled = false; btn.style.color = 'var(--green)'; }
|
|
@@ -582,6 +582,7 @@ async function prdItemRequeue(workItemId, source) {
|
|
|
582
582
|
if (res.ok) {
|
|
583
583
|
setPrdRequeueState(workItemId, { status: 'queued', until: Date.now() + 10000 });
|
|
584
584
|
rerenderPrdFromCache();
|
|
585
|
+
wakeEngine();
|
|
585
586
|
refresh();
|
|
586
587
|
showToast('cmd-toast', workItemId + ' requeued', true);
|
|
587
588
|
} else {
|
|
@@ -198,7 +198,7 @@ async function retryWorkItem(id, source) {
|
|
|
198
198
|
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
|
199
199
|
body: JSON.stringify({ id, source: source || undefined })
|
|
200
200
|
});
|
|
201
|
-
if (res.ok) { refresh(); } else {
|
|
201
|
+
if (res.ok) { wakeEngine(); refresh(); } else {
|
|
202
202
|
const d = await res.json();
|
|
203
203
|
alert('Retry failed: ' + (d.error || 'unknown'));
|
|
204
204
|
}
|
package/dashboard/js/utils.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// dashboard/js/utils.js — Utility functions extracted from dashboard.html
|
|
2
2
|
|
|
3
|
+
// Signal the engine to tick immediately (pick up new work without waiting 60s)
|
|
4
|
+
function wakeEngine() { fetch('/api/engine/wakeup', { method: 'POST' }).catch(() => {}); }
|
|
5
|
+
|
|
3
6
|
function escHtml(s) {
|
|
4
7
|
return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,''');
|
|
5
8
|
}
|
package/package.json
CHANGED