@yemi33/minions 0.1.899 → 0.1.901
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 +10 -0
- package/dashboard/js/command-center.js +5 -4
- package/dashboard-build.js +1 -1
- package/dashboard.js +2 -3
- package/docs/command-center.md +1 -1
- package/docs/distribution.md +1 -1
- package/package.json +1 -1
- package/prompts/cc-system.md +1 -1
- package/dashboard.html +0 -5073
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.901 (2026-04-12)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- render action result badges outside chat bubble
|
|
7
|
+
|
|
8
|
+
## 0.1.900 (2026-04-12)
|
|
9
|
+
|
|
10
|
+
### Other
|
|
11
|
+
- chore(dashboard): remove dashboard.html monolith, fragments are canonical (closes #932) (#942)
|
|
12
|
+
|
|
3
13
|
## 0.1.899 (2026-04-12)
|
|
4
14
|
|
|
5
15
|
### Fixes
|
|
@@ -326,7 +326,8 @@ function ccUpdateSessionIndicator() {
|
|
|
326
326
|
function ccAddMessage(role, html, skipSave, targetTabId) {
|
|
327
327
|
var isUser = role === 'user';
|
|
328
328
|
var isSystem = role === 'system';
|
|
329
|
-
var
|
|
329
|
+
var isAction = role === 'action';
|
|
330
|
+
var isAssistant = !isUser && !isSystem && !isAction;
|
|
330
331
|
var targetTab = targetTabId ? _ccTabs.find(function(t) { return t.id === targetTabId; }) : _ccActiveTab();
|
|
331
332
|
// Only render to DOM if this message is for the currently visible tab
|
|
332
333
|
var isVisible = !targetTabId || targetTabId === _ccActiveTabId;
|
|
@@ -335,7 +336,7 @@ function ccAddMessage(role, html, skipSave, targetTabId) {
|
|
|
335
336
|
var div = document.createElement('div');
|
|
336
337
|
div.className = isAssistant ? 'cc-msg-assistant' : '';
|
|
337
338
|
div.style.cssText = 'padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.6;max-width:95%;' +
|
|
338
|
-
(isUser ? 'background:var(--blue);color:#fff;align-self:flex-end' : isSystem ? 'align-self:center;max-width:100%' : 'background:var(--surface2);color:var(--text);align-self:flex-start;border:1px solid var(--border);position:relative');
|
|
339
|
+
(isUser ? 'background:var(--blue);color:#fff;align-self:flex-end' : isSystem ? 'align-self:center;max-width:100%' : isAction ? 'align-self:flex-start;padding:2px 0' : 'background:var(--surface2);color:var(--text);align-self:flex-start;border:1px solid var(--border);position:relative');
|
|
339
340
|
div.innerHTML = (isAssistant && !html.includes('color:var(--red)') && !html.includes('cc-queued-pill') ? llmCopyBtn() : '') + html;
|
|
340
341
|
var wasNearBottom = el.scrollHeight - el.scrollTop - el.clientHeight < 150;
|
|
341
342
|
el.appendChild(div);
|
|
@@ -728,7 +729,7 @@ async function ccExecuteAction(action, targetTabId) {
|
|
|
728
729
|
status.innerHTML = '✓ ' + escHtml(action.type) + ': <strong>' + label + '</strong>';
|
|
729
730
|
status.style.color = 'var(--green)';
|
|
730
731
|
}
|
|
731
|
-
ccAddMessage('
|
|
732
|
+
ccAddMessage('action', status.outerHTML, false, targetTabId);
|
|
732
733
|
if (['dispatch','fix','implement','explore','review','test'].includes(action.type)) wakeEngine();
|
|
733
734
|
refresh();
|
|
734
735
|
return;
|
|
@@ -1194,7 +1195,7 @@ async function ccExecuteAction(action, targetTabId) {
|
|
|
1194
1195
|
status.style.color = 'var(--red)';
|
|
1195
1196
|
}
|
|
1196
1197
|
|
|
1197
|
-
ccAddMessage('
|
|
1198
|
+
ccAddMessage('action', status.outerHTML, false, targetTabId);
|
|
1198
1199
|
refresh();
|
|
1199
1200
|
}
|
|
1200
1201
|
|
package/dashboard-build.js
CHANGED
|
@@ -14,7 +14,7 @@ function buildDashboardHtml() {
|
|
|
14
14
|
const layoutPath = path.join(dashDir, 'layout.html');
|
|
15
15
|
|
|
16
16
|
if (!fs.existsSync(layoutPath)) {
|
|
17
|
-
|
|
17
|
+
throw new Error(`Dashboard layout not found: ${layoutPath}. The dashboard/ directory must exist.`);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
const layout = safeRead(layoutPath);
|
package/dashboard.js
CHANGED
|
@@ -62,14 +62,13 @@ function resolvePlanPath(file) {
|
|
|
62
62
|
return active;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
// Assemble dashboard HTML from fragments (
|
|
65
|
+
// Assemble dashboard HTML from fragments (canonical source: dashboard/)
|
|
66
66
|
function buildDashboardHtml() {
|
|
67
67
|
const dashDir = path.join(MINIONS_DIR, 'dashboard');
|
|
68
68
|
const layoutPath = path.join(dashDir, 'layout.html');
|
|
69
69
|
|
|
70
|
-
// Fall back to monolith if fragments don't exist
|
|
71
70
|
if (!fs.existsSync(layoutPath)) {
|
|
72
|
-
|
|
71
|
+
throw new Error(`Dashboard layout not found: ${layoutPath}. The dashboard/ directory must exist.`);
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
const layout = safeRead(layoutPath);
|
package/docs/command-center.md
CHANGED
|
@@ -148,7 +148,7 @@ Frontend
|
|
|
148
148
|
| `engine/shared.js` | `parseStreamJsonOutput()` extracts `sessionId` from result |
|
|
149
149
|
| `engine/cc-session.json` | Persisted session state (sessionId, turnCount, timestamps) |
|
|
150
150
|
| `dashboard.js` | CC endpoint, `buildCCStatePreamble()`, `ccDocCall()`, `parseCCActions()` |
|
|
151
|
-
| `dashboard
|
|
151
|
+
| `dashboard/js/` | Frontend: localStorage persistence, session indicator, New Session button |
|
|
152
152
|
|
|
153
153
|
## Command Bar
|
|
154
154
|
|
package/docs/distribution.md
CHANGED
|
@@ -31,7 +31,7 @@ These files are removed during sync to personal:
|
|
|
31
31
|
|
|
32
32
|
Controlled by the `files` field in `package.json`:
|
|
33
33
|
- `bin/minions.js` — CLI entry point
|
|
34
|
-
- `engine.js`, `dashboard.js`, `dashboard
|
|
34
|
+
- `engine.js`, `dashboard.js`, `dashboard/` (fragments), `minions.js` — core scripts
|
|
35
35
|
- `engine/spawn-agent.js`, `engine/ado-mcp-wrapper.js` — engine helpers
|
|
36
36
|
- `agents/*/charter.md` — agent role definitions
|
|
37
37
|
- `playbooks/*.md` — task templates
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.901",
|
|
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"
|
package/prompts/cc-system.md
CHANGED
|
@@ -2,7 +2,7 @@ You are the Command Center AI for "Minions" — a multi-agent software engineeri
|
|
|
2
2
|
You have full CLI power (read, write, edit, shell, builds) plus minions-specific actions to delegate work to agents.
|
|
3
3
|
|
|
4
4
|
## Guardrails
|
|
5
|
-
READ ONLY — never write/edit: `engine.js`, `engine/*.js`, `dashboard.js`, `dashboard
|
|
5
|
+
READ ONLY — never write/edit: `engine.js`, `engine/*.js`, `dashboard.js`, `dashboard/**`, `minions.js`, `bin/*.js`, `engine/control.json`, `engine/dispatch.json`, `config.json`.
|
|
6
6
|
CAN modify: notes, plans, knowledge, work items, pull-requests.json, routing.md, charters, skills, playbooks, project repos.
|
|
7
7
|
|
|
8
8
|
## Filesystem
|