@yemi33/minions 0.1.383 → 0.1.384
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 -0
- package/dashboard/js/refresh.js +1 -0
- package/dashboard/js/render-dispatch.js +22 -1
- package/dashboard/layout.html +1 -0
- package/dashboard.js +15 -0
- package/engine/cli.js +6 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dashboard/js/refresh.js
CHANGED
|
@@ -57,6 +57,7 @@ function _processStatusUpdate(data) {
|
|
|
57
57
|
renderPrs(data.pullRequests || []);
|
|
58
58
|
renderArchiveButtons(data.archivedPrds || []);
|
|
59
59
|
renderEngineStatus(data.engine);
|
|
60
|
+
renderVersionBanner(data.version);
|
|
60
61
|
renderDispatch(data.dispatch);
|
|
61
62
|
window._lastDispatch = data.dispatch;
|
|
62
63
|
window._lastWorkItems = data.workItems || [];
|
|
@@ -210,4 +210,25 @@ async function showErrorDetails(agentId, reason, task) {
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
function renderVersionBanner(version) {
|
|
214
|
+
const el = document.getElementById('version-banner');
|
|
215
|
+
if (!el) return;
|
|
216
|
+
if (!version) { el.style.display = 'none'; return; }
|
|
217
|
+
|
|
218
|
+
// Show version in footer area
|
|
219
|
+
const label = version.running ? 'v' + version.running : '';
|
|
220
|
+
const commitLabel = version.runningCommit ? ' (' + version.runningCommit + ')' : '';
|
|
221
|
+
el.textContent = label + commitLabel;
|
|
222
|
+
el.title = 'Engine: v' + (version.running || '?') + ' ' + (version.runningCommit || '') +
|
|
223
|
+
'\nDisk: v' + (version.disk || '?') + ' ' + (version.diskCommit || '');
|
|
224
|
+
|
|
225
|
+
if (version.stale) {
|
|
226
|
+
el.style.cssText = 'font-size:9px;padding:2px 8px;background:rgba(210,153,34,0.15);border:1px solid rgba(210,153,34,0.3);border-radius:4px;color:var(--yellow);cursor:help';
|
|
227
|
+
el.textContent = '\u26A0 Engine running v' + (version.running || '?') + ' (' + (version.runningCommit || '?') + ') — disk has v' + (version.disk || '?') + ' (' + (version.diskCommit || '?') + '). Restart to apply.';
|
|
228
|
+
el.title = 'The engine process is running older code than what is on disk. Run: minions restart';
|
|
229
|
+
} else {
|
|
230
|
+
el.style.cssText = 'font-size:9px;color:var(--muted)';
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
window.MinionsDispatch = { renderEngineStatus, renderEngineAlert, renderVersionBanner, renderDispatch, renderEngineLog, shortTime, showErrorDetails };
|
package/dashboard/layout.html
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
</div>
|
|
20
20
|
</header>
|
|
21
21
|
<div class="engine-alert" id="engine-alert"></div>
|
|
22
|
+
<div id="version-banner" style="font-size:9px;color:var(--muted);padding:0 16px"></div>
|
|
22
23
|
|
|
23
24
|
<!-- Command Center Drawer -->
|
|
24
25
|
<div id="cc-drawer" style="display:none;position:fixed;top:0;right:0;bottom:0;width:420px;background:var(--surface);border-left:1px solid var(--border);z-index:350;flex-direction:column;overscroll-behavior:contain">
|
package/dashboard.js
CHANGED
|
@@ -248,6 +248,21 @@ function getStatus() {
|
|
|
248
248
|
},
|
|
249
249
|
initialized: !!(CONFIG.agents && Object.keys(CONFIG.agents).length > 0),
|
|
250
250
|
installId: safeRead(path.join(MINIONS_DIR, '.install-id')).trim() || null,
|
|
251
|
+
version: (() => {
|
|
252
|
+
const engine = getEngineState();
|
|
253
|
+
let diskVersion = null;
|
|
254
|
+
try { diskVersion = require('./package.json').version; } catch {}
|
|
255
|
+
let diskCommit = null;
|
|
256
|
+
try { diskCommit = require('child_process').execSync('git rev-parse --short HEAD', { cwd: MINIONS_DIR, encoding: 'utf8', timeout: 5000, windowsHide: true }).trim(); } catch {}
|
|
257
|
+
return {
|
|
258
|
+
running: engine.codeVersion || null,
|
|
259
|
+
runningCommit: engine.codeCommit || null,
|
|
260
|
+
disk: diskVersion,
|
|
261
|
+
diskCommit,
|
|
262
|
+
stale: !!(engine.codeVersion && diskVersion && engine.codeVersion !== diskVersion) ||
|
|
263
|
+
!!(engine.codeCommit && diskCommit && engine.codeCommit !== diskCommit),
|
|
264
|
+
};
|
|
265
|
+
})(),
|
|
251
266
|
timestamp: new Date().toISOString(),
|
|
252
267
|
};
|
|
253
268
|
_statusCacheTs = now;
|
package/engine/cli.js
CHANGED
|
@@ -84,7 +84,12 @@ const commands = {
|
|
|
84
84
|
console.log(`Engine was running (PID ${control.pid}) but process is dead — restarting.`);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
// Record version + git commit so dashboard can detect stale engine code
|
|
88
|
+
let codeVersion = null;
|
|
89
|
+
try { codeVersion = require('../package.json').version; } catch {}
|
|
90
|
+
let codeCommit = null;
|
|
91
|
+
try { codeCommit = require('child_process').execSync('git rev-parse --short HEAD', { cwd: path.resolve(__dirname, '..'), encoding: 'utf8', timeout: 5000, windowsHide: true }).trim(); } catch {}
|
|
92
|
+
safeWrite(CONTROL_PATH, { state: 'running', pid: process.pid, started_at: e.ts(), codeVersion, codeCommit });
|
|
88
93
|
e.log('info', 'Engine started');
|
|
89
94
|
console.log(`Engine started (PID: ${process.pid})`);
|
|
90
95
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.384",
|
|
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"
|