@yemi33/minions 0.1.859 → 0.1.861
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 +5 -1
- package/dashboard/js/render-pipelines.js +8 -1
- package/engine/timeout.js +3 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.861 (2026-04-11)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- optimistic running state on pipeline Run Now click
|
|
4
7
|
|
|
5
8
|
### Fixes
|
|
9
|
+
- set steering state before killImmediate to prevent race
|
|
6
10
|
- pipeline race condition, delete refresh, abort error logging
|
|
7
11
|
- _continuePipeline now calls refresh() to update card list
|
|
8
12
|
- pipeline modal refresh was silently broken — API returns array not object
|
|
@@ -449,9 +449,16 @@ async function _refreshPipelineDetail(id) {
|
|
|
449
449
|
async function _triggerPipeline(id, btn) {
|
|
450
450
|
if (btn) { btn.textContent = 'Starting...'; btn.style.pointerEvents = 'none'; btn.style.opacity = '0.6'; }
|
|
451
451
|
showToast('cmd-toast', 'Pipeline triggered', true);
|
|
452
|
+
// Optimistic: inject a running state so the UI updates immediately
|
|
453
|
+
var p = _pipelinesData.find(function(x) { return x.id === id; });
|
|
454
|
+
if (p) {
|
|
455
|
+
if (!p.runs) p.runs = [];
|
|
456
|
+
p.runs.push({ status: 'running', startedAt: new Date().toISOString(), stages: {} });
|
|
457
|
+
openPipelineDetail(id);
|
|
458
|
+
}
|
|
452
459
|
try {
|
|
453
460
|
var res = await fetch('/api/pipelines/trigger', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: id }) });
|
|
454
|
-
if (res.ok) {
|
|
461
|
+
if (res.ok) { refresh(); await _refreshPipelineDetail(id); }
|
|
455
462
|
else { var d = await res.json().catch(function() { return {}; }); if (btn) { btn.textContent = 'Run Now'; btn.style.pointerEvents = ''; btn.style.opacity = ''; } showToast('cmd-toast', 'Failed: ' + (d.error || 'unknown'), false); }
|
|
456
463
|
} catch (e) { if (btn) { btn.textContent = 'Run Now'; btn.style.pointerEvents = ''; btn.style.opacity = ''; } showToast('cmd-toast', 'Error: ' + e.message, false); }
|
|
457
464
|
}
|
package/engine/timeout.js
CHANGED
|
@@ -113,11 +113,12 @@ function checkSteering(config) {
|
|
|
113
113
|
|
|
114
114
|
log('info', `Steering: killing ${info.agentId} (${id}) for session resume with human message`);
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
// Set steering state BEFORE kill — close event may fire synchronously on some platforms
|
|
118
117
|
info._steeringMessage = message;
|
|
119
118
|
info._steeringSessionId = sessionId;
|
|
120
119
|
info._steeringAt = Date.now();
|
|
120
|
+
|
|
121
|
+
shared.killImmediate(info.proc);
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.861",
|
|
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"
|