@yemi33/minions 0.1.115 → 0.1.117
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 +13 -0
- package/dashboard/js/command-center.js +11 -0
- package/dashboard/js/refresh.js +5 -0
- package/dashboard/pages/plans.html +1 -1
- package/dashboard.js +6 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.117 (2026-04-01)
|
|
4
|
+
|
|
5
|
+
### Dashboard
|
|
6
|
+
- dashboard.js
|
|
7
|
+
- dashboard/js/refresh.js
|
|
8
|
+
- dashboard/pages/plans.html
|
|
9
|
+
|
|
10
|
+
## 0.1.116 (2026-04-01)
|
|
11
|
+
|
|
12
|
+
### Dashboard
|
|
13
|
+
- dashboard.js
|
|
14
|
+
- dashboard/js/command-center.js
|
|
15
|
+
|
|
3
16
|
## 0.1.115 (2026-04-01)
|
|
4
17
|
|
|
5
18
|
### Engine
|
|
@@ -423,6 +423,17 @@ async function ccExecuteAction(action) {
|
|
|
423
423
|
wakeEngine();
|
|
424
424
|
break;
|
|
425
425
|
}
|
|
426
|
+
case 'set-config': {
|
|
427
|
+
const payload = { engine: { [action.setting]: action.value } };
|
|
428
|
+
const res = await fetch('/api/settings', {
|
|
429
|
+
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
|
430
|
+
body: JSON.stringify(payload)
|
|
431
|
+
});
|
|
432
|
+
if (!res.ok) { const d = await res.json().catch(() => ({})); throw new Error(d.error || 'Config update failed'); }
|
|
433
|
+
status.innerHTML = '✓ Set <strong>' + escHtml(action.setting) + '</strong> = ' + escHtml(String(action.value));
|
|
434
|
+
status.style.color = 'var(--green)';
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
426
437
|
default:
|
|
427
438
|
status.innerHTML = '? Unknown action: ' + escHtml(action.type);
|
|
428
439
|
status.style.color = 'var(--muted)';
|
package/dashboard/js/refresh.js
CHANGED
|
@@ -46,6 +46,11 @@ function _processStatusUpdate(data) {
|
|
|
46
46
|
cmdUpdateProjectList(data.projects || []);
|
|
47
47
|
renderNotes(data.notes);
|
|
48
48
|
renderPrd(data.prd, data.prdProgress);
|
|
49
|
+
// Auto-approve badge
|
|
50
|
+
const autoEl = document.getElementById('auto-approve-badge');
|
|
51
|
+
if (autoEl) autoEl.innerHTML = data.autoMode?.approvePlans
|
|
52
|
+
? '<span style="font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;background:rgba(63,185,80,0.15);color:var(--green);border:1px solid rgba(63,185,80,0.3)">AUTO-APPROVE</span>'
|
|
53
|
+
: '';
|
|
49
54
|
renderPrs(data.pullRequests || []);
|
|
50
55
|
renderArchiveButtons(data.archivedPrds || []);
|
|
51
56
|
renderEngineStatus(data.engine);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<div id="plans-list"><p class="empty">No plans yet. Use /plan in the command center to create one.</p></div>
|
|
6
6
|
</section>
|
|
7
7
|
<section class="prd-panel" id="prd-section">
|
|
8
|
-
<h2>PRD <span class="count" id="prd-progress-count">0%</span> <span id="prd-badge"></span> <span id="archive-btns"></span></h2>
|
|
8
|
+
<h2>PRD <span class="count" id="prd-progress-count">0%</span> <span id="prd-badge"></span> <span id="auto-approve-badge"></span> <span id="archive-btns"></span></h2>
|
|
9
9
|
<div id="prd-content"><p class="prd-pending">No PRD found.</p></div>
|
|
10
10
|
<div id="prd-progress-content" style="margin-top:12px"></div>
|
|
11
11
|
</section>
|
package/dashboard.js
CHANGED
|
@@ -239,6 +239,11 @@ function getStatus() {
|
|
|
239
239
|
meetings: (() => { try { return require('./engine/meeting').getMeetings(); } catch { return []; } })(),
|
|
240
240
|
pinned: (() => { try { return parsePinnedEntries(safeRead(path.join(MINIONS_DIR, 'pinned.md'))); } catch { return []; } })(),
|
|
241
241
|
projects: PROJECTS.map(p => ({ name: p.name, path: p.localPath, description: p.description || '' })),
|
|
242
|
+
autoMode: {
|
|
243
|
+
approvePlans: !!CONFIG.engine?.autoApprovePlans,
|
|
244
|
+
decompose: CONFIG.engine?.autoDecompose !== false,
|
|
245
|
+
tempAgents: !!CONFIG.engine?.allowTempAgents,
|
|
246
|
+
},
|
|
242
247
|
initialized: !!(CONFIG.agents && Object.keys(CONFIG.agents).length > 0),
|
|
243
248
|
installId: safeRead(path.join(MINIONS_DIR, '.install-id')).trim() || null,
|
|
244
249
|
timestamp: new Date().toISOString(),
|
|
@@ -379,6 +384,7 @@ Available action types:
|
|
|
379
384
|
- **schedule**: Create or update a scheduled task. Fields: id (unique slug), title, cron (3-field: minute hour dayOfWeek), workType (implement/test/explore/ask/review/fix), project (optional), agent (optional), description (optional), priority (optional), enabled (default true). Example cron: "0 9 2" = every Tuesday at 9am.
|
|
380
385
|
- **delete-schedule**: Delete a scheduled task. Fields: id.
|
|
381
386
|
- **create-meeting**: Start a team meeting. Fields: title (short meeting name), agenda (detailed text — what agents should investigate/debate, numbered items work best), agents (array of agent IDs), rounds (optional, default 3), project (optional).
|
|
387
|
+
- **set-config**: Update engine settings. Fields: setting (setting name), value (new value). Valid settings: autoApprovePlans (bool), autoDecompose (bool), allowTempAgents (bool), maxConcurrent (number), maxTurns (number). Example: { "type": "set-config", "setting": "autoApprovePlans", "value": true }
|
|
382
388
|
|
|
383
389
|
## Rules
|
|
384
390
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.117",
|
|
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"
|