@yemi33/minions 0.1.423 → 0.1.425
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.425 (2026-04-06)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
- version check interval on settings page
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
- Convert remaining lifecycle.js safeWrite calls to mutateJsonFileLocked
|
|
12
12
|
|
|
13
13
|
### Fixes
|
|
14
|
+
- plan-to-prd playbook — don't include verify item, engine adds it
|
|
15
|
+
- steering messages right-aligned with immediate feedback
|
|
14
16
|
- CC retry now drains queued messages after success
|
|
15
17
|
- address review feedback — pipeline.js socket leak and magic numbers
|
|
16
18
|
|
|
@@ -67,7 +67,7 @@ function renderDetailContent(detail, tab) {
|
|
|
67
67
|
} else if (tab === 'live') {
|
|
68
68
|
el.innerHTML =
|
|
69
69
|
'<div id="live-chat" style="display:flex;flex-direction:column;height:60vh">' +
|
|
70
|
-
'<div id="live-messages" style="flex:1;overflow-y:auto;padding:8px;font-size:11px;line-height:1.6"></div>' +
|
|
70
|
+
'<div id="live-messages" style="flex:1;overflow-y:auto;padding:8px;font-size:11px;line-height:1.6;display:flex;flex-direction:column"></div>' +
|
|
71
71
|
'<div id="live-status-bar" style="padding:4px 8px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--border)">' +
|
|
72
72
|
'<span class="pulse"></span><span id="live-status-label" style="font-size:11px;color:var(--green)">Streaming live</span>' +
|
|
73
73
|
'<button class="pr-pager-btn" onclick="refreshLiveOutput()" style="font-size:10px">Refresh</button>' +
|
|
@@ -129,16 +129,30 @@ async function sendSteering() {
|
|
|
129
129
|
const message = input.value.trim();
|
|
130
130
|
input.value = '';
|
|
131
131
|
|
|
132
|
+
// Immediate feedback — show the message right away
|
|
133
|
+
const el = document.getElementById('live-messages');
|
|
134
|
+
if (el) {
|
|
135
|
+
el.innerHTML += '<div style="align-self:flex-end;background:var(--blue);color:#fff;padding:6px 12px;border-radius:12px 12px 2px 12px;max-width:80%;margin:4px 0;font-size:12px">' + escHtml(message) + '</div>';
|
|
136
|
+
el.innerHTML += '<div id="steer-pending" style="align-self:flex-end;font-size:10px;color:var(--muted);padding:0 4px;margin-bottom:4px">Sending...</div>';
|
|
137
|
+
el.scrollTop = el.scrollHeight;
|
|
138
|
+
}
|
|
139
|
+
|
|
132
140
|
try {
|
|
133
141
|
const res = await fetch('/api/agents/steer', {
|
|
134
142
|
method: 'POST', headers: { 'Content-Type': 'application/json' },
|
|
135
143
|
body: JSON.stringify({ agent: currentAgentId, message })
|
|
136
144
|
});
|
|
145
|
+
const pending = document.getElementById('steer-pending');
|
|
137
146
|
if (!res.ok) {
|
|
138
147
|
const d = await res.json().catch(() => ({}));
|
|
139
|
-
|
|
148
|
+
if (pending) { pending.textContent = '\u26A0 Failed: ' + (d.error || 'unknown'); pending.style.color = 'var(--red)'; }
|
|
149
|
+
} else {
|
|
150
|
+
if (pending) { pending.textContent = '\u2713 Queued — agent will see this on next turn'; pending.style.color = 'var(--green)'; }
|
|
140
151
|
}
|
|
141
|
-
} catch (e) {
|
|
152
|
+
} catch (e) {
|
|
153
|
+
const pending = document.getElementById('steer-pending');
|
|
154
|
+
if (pending) { pending.textContent = '\u26A0 ' + e.message; pending.style.color = 'var(--red)'; }
|
|
155
|
+
}
|
|
142
156
|
}
|
|
143
157
|
|
|
144
158
|
window.MinionsLive = { renderLiveChatMessage, startLiveStream, stopLiveStream, startLivePolling, stopLivePolling, refreshLiveOutput, sendSteering };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.425",
|
|
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/playbooks/plan-to-prd.md
CHANGED
|
@@ -84,6 +84,7 @@ When using `parallel`:
|
|
|
84
84
|
Rules for items:
|
|
85
85
|
- IDs must be `P-<uuid>` format (e.g. `P-a3f9b2c1`) — globally unique, never sequential
|
|
86
86
|
- **`status` is always `"missing"`** — do not set `done`, `complete`, `implemented`, or any other value, even if you observe active PRs or completed work in the codebase. Status is exclusively engine-managed after the PRD is written. Pre-setting any other status causes items to be silently skipped by the engine and breaks dependency resolution for all downstream items.
|
|
87
|
+
- **Do NOT include a "verify" or "test" or "integration test" item** — the engine automatically creates a verify task when all PRD items are done. Adding one manually creates a duplicate that blocks plan completion.
|
|
87
88
|
- **`project` field is REQUIRED** — set it to the project name where the code changes go (e.g., `"OfficeAgent"`, `"office-bohemia"`). Cross-repo plans must route each item to the correct project. The engine materializes items into that project's work queue.
|
|
88
89
|
- `depends_on` lists IDs of items that must be done first
|
|
89
90
|
- Keep descriptions actionable — an implementing agent should know exactly what to build
|