@yemi33/minions 0.1.2177 → 0.1.2179
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/bin/minions.js +24 -11
- package/dashboard/js/command-parser.js +1 -1
- package/dashboard/js/memory-panel.js +262 -0
- package/dashboard/js/qa.js +2 -2
- package/dashboard/js/refresh.js +9 -1
- package/dashboard/js/render-dispatch.js +92 -0
- package/dashboard/js/render-other.js +1 -1
- package/dashboard/js/render-plans.js +82 -13
- package/dashboard/js/render-prs.js +2 -1
- package/dashboard/js/render-schedules.js +1 -1
- package/dashboard/js/render-watches.js +1 -1
- package/dashboard/js/settings.js +100 -11
- package/dashboard/layout.html +6 -0
- package/dashboard/pages/engine-memory-panel.html +49 -0
- package/dashboard/pages/engine.html +1 -0
- package/dashboard/slim/js/link-pr.js +5 -5
- package/dashboard/slim/js/modals-tiles.js +44 -3
- package/dashboard/slim/js/projects.js +8 -6
- package/dashboard/slim/styles.css +20 -0
- package/dashboard/styles.css +39 -0
- package/dashboard-build.js +17 -2
- package/dashboard.js +469 -21
- package/docs/README.md +8 -1
- package/docs/auto-discovery.md +40 -0
- package/docs/branch-derivation.md +13 -1
- package/docs/cross-repo-plans.md +292 -0
- package/docs/deprecated.json +4 -4
- package/docs/pr-auto-fix-dispatch.md +64 -0
- package/docs/pr-review-fix-loop.md +1 -1
- package/docs/watches.md +1 -0
- package/engine/ado.js +1 -10
- package/engine/diagnostics-memory.js +190 -0
- package/engine/dispatch.js +53 -0
- package/engine/lifecycle.js +155 -191
- package/engine/meeting.js +30 -0
- package/engine/playbook.js +15 -0
- package/engine/queries.js +165 -5
- package/engine/runtimes/copilot.js +19 -0
- package/engine/shared.js +303 -3
- package/engine/watchdog.js +6 -0
- package/engine.js +576 -113
- package/package.json +2 -2
- package/playbooks/plan-to-prd.md +25 -2
- package/playbooks/plan.md +4 -2
|
@@ -681,6 +681,26 @@
|
|
|
681
681
|
.tile-chip.blue { background: rgba(88, 166, 255, 0.12); color: var(--blue); border-color: var(--blue); }
|
|
682
682
|
.tile-empty { color: var(--muted); font-style: italic; font-size: var(--text-md); }
|
|
683
683
|
|
|
684
|
+
/* Collapsible PR sections (Active / Merged-Completed / Abandoned). Uses
|
|
685
|
+
native <details>/<summary> — no JS wiring needed for the toggle. */
|
|
686
|
+
.tile-section { margin-bottom: 10px; }
|
|
687
|
+
.tile-section:last-child { margin-bottom: 0; }
|
|
688
|
+
.tile-section-summary {
|
|
689
|
+
display: flex; align-items: center; gap: 6px;
|
|
690
|
+
cursor: pointer; user-select: none;
|
|
691
|
+
padding: 4px 2px; margin-bottom: 6px;
|
|
692
|
+
list-style: none;
|
|
693
|
+
font-size: var(--text-base); color: var(--muted);
|
|
694
|
+
}
|
|
695
|
+
.tile-section-summary::-webkit-details-marker { display: none; }
|
|
696
|
+
.tile-section-summary::before {
|
|
697
|
+
content: "▸"; color: var(--muted); font-size: var(--text-sm);
|
|
698
|
+
transition: transform 0.15s ease;
|
|
699
|
+
}
|
|
700
|
+
.tile-section[open] > .tile-section-summary::before { content: "▾"; }
|
|
701
|
+
.tile-section-label { font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; color: var(--text); }
|
|
702
|
+
.tile-section-count { color: var(--muted); }
|
|
703
|
+
|
|
684
704
|
/* Pinned-context list rows (slim-pinned-modal). */
|
|
685
705
|
.pinned-row {
|
|
686
706
|
border: 1px solid var(--border);
|
package/dashboard/styles.css
CHANGED
|
@@ -873,6 +873,45 @@
|
|
|
873
873
|
opacity: 0.5; pointer-events: none; cursor: default;
|
|
874
874
|
}
|
|
875
875
|
|
|
876
|
+
/* P-g7a2b4c5 — sticky kill-switch banner. Lists every paused engine surface
|
|
877
|
+
(engine.pollingPaused, engine.autoFixPaused) with a per-row Resume button.
|
|
878
|
+
Yellow palette (separate from the red engine-alert) so operators can
|
|
879
|
+
distinguish "intentionally paused" from "broken / stale". */
|
|
880
|
+
.paused-banner {
|
|
881
|
+
position: sticky; top: 0; z-index: 320;
|
|
882
|
+
margin: 0; padding: 8px 24px;
|
|
883
|
+
background: rgba(234, 179, 8, 0.14);
|
|
884
|
+
border-bottom: 1px solid rgba(234, 179, 8, 0.55);
|
|
885
|
+
color: var(--text); font-size: var(--text-base);
|
|
886
|
+
display: flex; flex-direction: column; gap: 6px;
|
|
887
|
+
}
|
|
888
|
+
.paused-banner[hidden] { display: none; }
|
|
889
|
+
.paused-banner-title {
|
|
890
|
+
font-weight: 700; color: var(--yellow);
|
|
891
|
+
display: flex; align-items: center; gap: 6px;
|
|
892
|
+
}
|
|
893
|
+
.paused-banner-list {
|
|
894
|
+
display: flex; flex-direction: column; gap: 4px;
|
|
895
|
+
margin: 0; padding: 0; list-style: none;
|
|
896
|
+
}
|
|
897
|
+
.paused-banner-row {
|
|
898
|
+
display: flex; align-items: center; gap: 10px;
|
|
899
|
+
padding: 4px 0;
|
|
900
|
+
}
|
|
901
|
+
.paused-banner-row-label { flex: 1; color: var(--text); }
|
|
902
|
+
.paused-banner-row-detail { color: var(--muted); font-size: var(--text-sm); }
|
|
903
|
+
.paused-banner-row-resume {
|
|
904
|
+
color: var(--blue); cursor: pointer; font-size: var(--text-sm);
|
|
905
|
+
padding: 2px 10px; border: 1px solid rgba(56, 139, 253, 0.45);
|
|
906
|
+
border-radius: 4px; background: rgba(56, 139, 253, 0.08);
|
|
907
|
+
font-family: inherit; transition: opacity 0.2s;
|
|
908
|
+
}
|
|
909
|
+
.paused-banner-row-resume:hover { background: rgba(56, 139, 253, 0.18); }
|
|
910
|
+
.paused-banner-row-resume:disabled,
|
|
911
|
+
.paused-banner-row-resume.clicked {
|
|
912
|
+
opacity: 0.5; pointer-events: none; cursor: default;
|
|
913
|
+
}
|
|
914
|
+
|
|
876
915
|
/* Dispatch Queue */
|
|
877
916
|
.dispatch-stats { display: flex; gap: var(--space-7); margin-bottom: 14px; }
|
|
878
917
|
.dispatch-stat { text-align: center; background: var(--surface2); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--space-5) 18px; }
|
package/dashboard-build.js
CHANGED
|
@@ -21,9 +21,24 @@ function buildDashboardHtml() {
|
|
|
21
21
|
const css = safeRead(path.join(dashDir, 'styles.css'));
|
|
22
22
|
|
|
23
23
|
const pages = ['home', 'work', 'prs', 'plans', 'inbox', 'tools', 'schedule', 'watches', 'pipelines', 'meetings', 'qa', 'engine'];
|
|
24
|
+
// Sub-fragments substituted into a parent page at assembly time via
|
|
25
|
+
// <!-- __MARKER__ --> tokens. Lets large panels live in their own
|
|
26
|
+
// fragment file without inflating the parent page. P-d4e5f6a7 introduced
|
|
27
|
+
// engine-memory-panel.html as the first such sub-fragment; add more here
|
|
28
|
+
// by mapping marker -> fragment basename.
|
|
29
|
+
const pageSubFragments = {
|
|
30
|
+
engine: { '<!-- __ENGINE_MEMORY_PANEL__ -->': 'engine-memory-panel' },
|
|
31
|
+
};
|
|
24
32
|
let pageHtml = '';
|
|
25
33
|
for (const p of pages) {
|
|
26
|
-
|
|
34
|
+
let content = safeRead(path.join(dashDir, 'pages', p + '.html'));
|
|
35
|
+
const subs = pageSubFragments[p];
|
|
36
|
+
if (subs) {
|
|
37
|
+
for (const [marker, basename] of Object.entries(subs)) {
|
|
38
|
+
const fragment = safeRead(path.join(dashDir, 'pages', basename + '.html'));
|
|
39
|
+
content = content.replace(marker, () => fragment);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
27
42
|
const activeClass = p === 'home' ? ' active' : '';
|
|
28
43
|
pageHtml += ` <div class="page${activeClass}" id="page-${p}">\n${content}\n </div>\n\n`;
|
|
29
44
|
}
|
|
@@ -32,7 +47,7 @@ function buildDashboardHtml() {
|
|
|
32
47
|
'utils', 'state', 'features-client', 'render-utils', 'detail-panel', 'live-stream',
|
|
33
48
|
'render-agents', 'render-dispatch', 'render-work-items', 'render-prd',
|
|
34
49
|
'render-prs', 'render-plans', 'render-inbox', 'render-kb', 'render-skills',
|
|
35
|
-
'render-other', 'render-managed', 'render-schedules', 'render-watches', 'render-pipelines', 'render-meetings', 'render-pinned',
|
|
50
|
+
'render-other', 'render-managed', 'memory-panel', 'render-schedules', 'render-watches', 'render-pipelines', 'render-meetings', 'render-pinned',
|
|
36
51
|
'command-parser', 'command-input', 'command-center', 'command-history',
|
|
37
52
|
'confirm-dialog', 'modal', 'modal-qa', 'settings', 'qa', 'fre', 'refresh'
|
|
38
53
|
];
|