@yemi33/minions 0.1.820 → 0.1.822
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 +3 -2
- package/dashboard/js/command-center.js +21 -0
- package/dashboard/js/modal-qa.js +1 -1
- package/dashboard/styles.css +2 -2
- package/package.json +1 -1
- package/prompts/cc-system.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.822 (2026-04-11)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
|
+
- add resume-plan CC action for diff-aware plan updates
|
|
6
7
|
- verify workflow handles shared-branch plans and existing E2E PRs
|
|
7
8
|
- doc-chat drag-to-resize, queued message UX, insertAdjacentHTML
|
|
8
9
|
- re-open done work items when PRD item set to updated/missing
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
- cap review→fix cycles at evalMaxIterations (default 3)
|
|
18
19
|
|
|
19
20
|
### Fixes
|
|
21
|
+
- doc-chat resize cap raised, modal overflow + flex body layout
|
|
20
22
|
- prevent duplicate verify WIs per PRD, re-open on modified plan
|
|
21
23
|
- strip ===ACTIONS=== server-side in streaming chunks (not client)
|
|
22
24
|
- strip ===ACTIONS=== from CC streamed text during rendering
|
|
@@ -36,7 +38,6 @@
|
|
|
36
38
|
- handle force-pushed dep branches on retry (closes #738) (#806)
|
|
37
39
|
- project-scoped skill work items instruct wrong file path format (closes #790) (#804)
|
|
38
40
|
- move ignoredAuthors construction outside inner comment loop (ADO)
|
|
39
|
-
- approved is permanent — no path can ever downgrade it
|
|
40
41
|
|
|
41
42
|
### Other
|
|
42
43
|
- docs: diff-aware PRD update playbook + prioritize team memory in shared rules
|
|
@@ -760,6 +760,27 @@ async function ccExecuteAction(action, targetTabId) {
|
|
|
760
760
|
status.style.color = 'var(--green)';
|
|
761
761
|
break;
|
|
762
762
|
}
|
|
763
|
+
case 'resume-plan': {
|
|
764
|
+
// Update PRD items first (set modified→updated, new→missing), then approve
|
|
765
|
+
if (action.updates && action.updates.length > 0) {
|
|
766
|
+
for (var ui = 0; ui < action.updates.length; ui++) {
|
|
767
|
+
var u = action.updates[ui];
|
|
768
|
+
await _ccFetch('/api/prd-items/update', { source: action.file, itemId: u.id, status: u.status, name: u.name, description: u.description });
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
if (action.newItems && action.newItems.length > 0) {
|
|
772
|
+
for (var ni = 0; ni < action.newItems.length; ni++) {
|
|
773
|
+
var n = action.newItems[ni];
|
|
774
|
+
await _ccFetch('/api/prd-items', { source: action.file, id: n.id, name: n.name, description: n.description, priority: n.priority, estimated_complexity: n.complexity });
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
await _ccFetch('/api/plans/approve', { file: action.file });
|
|
778
|
+
var resumeCount = (action.updates || []).length + (action.newItems || []).length;
|
|
779
|
+
status.innerHTML = '✓ Resumed plan: <strong>' + escHtml(action.file) + '</strong>' + (resumeCount > 0 ? ' (' + resumeCount + ' item(s) updated)' : '');
|
|
780
|
+
status.style.color = 'var(--green)';
|
|
781
|
+
wakeEngine();
|
|
782
|
+
break;
|
|
783
|
+
}
|
|
763
784
|
case 'edit-prd-item': {
|
|
764
785
|
await _ccFetch('/api/prd-items/update', { source: action.source, itemId: action.itemId, name: action.name, description: action.description, priority: action.priority, estimated_complexity: action.complexity });
|
|
765
786
|
status.innerHTML = '✓ Updated PRD item: <strong>' + escHtml(action.itemId) + '</strong>';
|
package/dashboard/js/modal-qa.js
CHANGED
|
@@ -377,7 +377,7 @@ function _showThreadWrap() {
|
|
|
377
377
|
var _dragging = false, _startY = 0, _startH = 0, _thread = null;
|
|
378
378
|
var COLLAPSE_THRESHOLD = 40;
|
|
379
379
|
var MIN_HEIGHT = 60;
|
|
380
|
-
var MAX_HEIGHT =
|
|
380
|
+
var MAX_HEIGHT = 2000; // effectively uncapped — modal's own max-height constrains it
|
|
381
381
|
|
|
382
382
|
document.addEventListener('pointerdown', function(e) {
|
|
383
383
|
var handle = e.target.closest('#qa-resize-handle');
|
package/dashboard/styles.css
CHANGED
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
/* Modal for inbox detail */
|
|
603
603
|
.modal-bg { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.75); z-index: 400; align-items: center; justify-content: center; }
|
|
604
604
|
.modal-bg.open { display: flex; }
|
|
605
|
-
.modal { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); width: 95%; max-width: 1100px; max-height: 80vh; display: flex; flex-direction: column; }
|
|
605
|
+
.modal { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-xl); width: 95%; max-width: 1100px; max-height: 80vh; display: flex; flex-direction: column; overflow: hidden; }
|
|
606
606
|
.modal.modal-wide { width: 98vw; max-width: 1500px; }
|
|
607
607
|
.modal-header { padding: var(--space-7) var(--space-8); border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
|
|
608
608
|
.modal-header h3 { font-size: var(--text-xl); color: var(--blue); }
|
|
@@ -637,7 +637,7 @@
|
|
|
637
637
|
.cc-resize-handle:hover::after, .cc-resize-handle.active::after { opacity: 1; background: var(--blue); }
|
|
638
638
|
body.cc-resizing { cursor: col-resize !important; user-select: none !important; }
|
|
639
639
|
|
|
640
|
-
.modal-body { padding: var(--space-7) var(--space-8); overflow-y: auto; overflow-x: auto; white-space: pre-wrap; font-size: var(--text-md); line-height: 1.7; color: var(--muted); font-family: Consolas, monospace; }
|
|
640
|
+
.modal-body { padding: var(--space-7) var(--space-8); overflow-y: auto; overflow-x: auto; white-space: pre-wrap; font-size: var(--text-md); line-height: 1.7; color: var(--muted); font-family: Consolas, monospace; flex: 1 1 0; min-height: 60px; }
|
|
641
641
|
|
|
642
642
|
/* Responsive: tablet / narrow window */
|
|
643
643
|
@media (max-width: 1100px) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.822",
|
|
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
|
@@ -63,6 +63,12 @@ Core action types:
|
|
|
63
63
|
|
|
64
64
|
Additional actions (all take `id` or `file` as primary key):
|
|
65
65
|
- Plan lifecycle: pause-plan, approve-plan, reject-plan, archive-plan, unarchive-plan, execute-plan, regenerate-plan, trigger-verify
|
|
66
|
+
- **resume-plan**: Resume a completed/paused plan with PRD updates. Updates existing items and adds new ones, then approves.
|
|
67
|
+
`{"type": "resume-plan", "file": "prd-file.json", "updates": [{"id": "P-xxx", "status": "updated", "description": "new desc"}], "newItems": [{"id": "P-yyy", "name": "New feature", "description": "...", "priority": "high", "complexity": "medium"}]}`
|
|
68
|
+
- Set `status: "updated"` on done items whose requirements changed (engine re-opens the work item on existing branch)
|
|
69
|
+
- Set `status: "missing"` on done items that need full re-implementation
|
|
70
|
+
- `newItems` are added as new PRD items with `status: "missing"`
|
|
71
|
+
- After all updates, the plan is approved and the engine materializes on next tick
|
|
66
72
|
- PRD items: edit-prd-item (source, itemId, name, description, priority, complexity), remove-prd-item (source, itemId)
|
|
67
73
|
- Work items: delete-work-item (id, source)
|
|
68
74
|
- Schedules: schedule (id, title, cron, workType, project, agent, description, priority, enabled), delete-schedule (id)
|