@femtomc/mu-agent 26.2.93 → 26.2.94
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagents-ui.d.ts","sourceRoot":"","sources":["../../src/extensions/subagents-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"subagents-ui.d.ts","sourceRoot":"","sources":["../../src/extensions/subagents-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AAi6BpF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,QAkoBpD;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -562,8 +562,9 @@ function renderSubagentsUi(ctx, state) {
|
|
|
562
562
|
return;
|
|
563
563
|
}
|
|
564
564
|
const issueScope = state.issueRootId ? `root:${state.issueRootId}` : "all-roots";
|
|
565
|
-
const tagScope = state.issueTagFilter ? state.issueTagFilter :
|
|
566
|
-
const
|
|
565
|
+
const tagScope = state.issueTagFilter ? `tag:${state.issueTagFilter}` : null;
|
|
566
|
+
const scopeLabel = [issueScope, tagScope].filter((value) => value != null).join(" · ");
|
|
567
|
+
const scopeCompact = truncateOneLine(scopeLabel, WIDGET_SCOPE_MAX);
|
|
567
568
|
const prefixCompact = truncateOneLine(state.prefix || "(all sessions)", WIDGET_PREFIX_MAX);
|
|
568
569
|
const refreshStale = isRefreshStale(state.lastUpdatedMs, state.staleAfterMs);
|
|
569
570
|
const drift = computeQueueDrift(state.sessions, state.activeIssues);
|
|
@@ -579,50 +580,72 @@ function renderSubagentsUi(ctx, state) {
|
|
|
579
580
|
const refreshSeconds = Math.round(state.refreshIntervalMs / 1_000);
|
|
580
581
|
const staleAfterSeconds = Math.round(state.staleAfterMs / 1_000);
|
|
581
582
|
const activityLines = state.activityLines.slice(0, ACTIVITY_LINE_LIMIT);
|
|
582
|
-
|
|
583
|
+
const statusParts = [
|
|
583
584
|
ctx.ui.theme.fg("dim", "subagents"),
|
|
584
585
|
ctx.ui.theme.fg(healthColor, healthLabel),
|
|
585
586
|
ctx.ui.theme.fg("dim", `mode:${state.spawnMode}`),
|
|
586
|
-
ctx.ui.theme.fg(pausedColor, `paused:${pausedLabel}`),
|
|
587
587
|
ctx.ui.theme.fg("dim", `q:${state.readyIssues.length}/${state.activeIssues.length}`),
|
|
588
588
|
ctx.ui.theme.fg("dim", `tmux:${state.sessions.length}`),
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
589
|
+
];
|
|
590
|
+
if (state.spawnPaused) {
|
|
591
|
+
statusParts.push(ctx.ui.theme.fg(pausedColor, `paused:${pausedLabel}`));
|
|
592
|
+
}
|
|
593
|
+
if (staleCount > 0) {
|
|
594
|
+
statusParts.push(ctx.ui.theme.fg("warning", `drift:${staleCount}`));
|
|
595
|
+
}
|
|
596
|
+
if (state.issueRootId) {
|
|
597
|
+
statusParts.push(ctx.ui.theme.fg("muted", truncateOneLine(issueScope, 18)));
|
|
598
|
+
}
|
|
599
|
+
ctx.ui.setStatus("mu-subagents", statusParts.join(` ${ctx.ui.theme.fg("muted", "·")} `));
|
|
600
|
+
const footerMetaParts = [`q:${state.readyIssues.length}/${state.activeIssues.length}`, `tmux:${state.sessions.length}`];
|
|
601
|
+
if (staleCount > 0) {
|
|
602
|
+
footerMetaParts.push(`drift:${staleCount}`);
|
|
603
|
+
}
|
|
604
|
+
if (refreshStale) {
|
|
605
|
+
footerMetaParts.push("refresh:stale");
|
|
606
|
+
}
|
|
607
|
+
if (state.issueError || state.sessionError || state.activityError) {
|
|
608
|
+
footerMetaParts.push("err");
|
|
609
|
+
}
|
|
610
|
+
ctx.ui.setStatus("mu-subagents-meta", footerMetaParts.join(" "));
|
|
611
|
+
const titleParts = [
|
|
612
|
+
ctx.ui.theme.fg("accent", ctx.ui.theme.bold("Subagents")),
|
|
613
|
+
ctx.ui.theme.fg("muted", "·"),
|
|
614
|
+
ctx.ui.theme.fg(healthColor, healthLabel),
|
|
615
|
+
ctx.ui.theme.fg("muted", "·"),
|
|
616
|
+
ctx.ui.theme.fg("accent", `mode:${state.spawnMode}`),
|
|
617
|
+
];
|
|
618
|
+
if (state.spawnPaused) {
|
|
619
|
+
titleParts.push(ctx.ui.theme.fg("muted", "·"), ctx.ui.theme.fg(pausedColor, `paused:${pausedLabel}`));
|
|
620
|
+
}
|
|
621
|
+
const queueParts = [
|
|
622
|
+
ctx.ui.theme.fg("muted", "queues:"),
|
|
623
|
+
ctx.ui.theme.fg("accent", `${state.readyIssues.length}r`),
|
|
624
|
+
ctx.ui.theme.fg("muted", "/"),
|
|
625
|
+
ctx.ui.theme.fg("warning", `${state.activeIssues.length}a`),
|
|
626
|
+
ctx.ui.theme.fg("dim", queueBar),
|
|
627
|
+
ctx.ui.theme.fg("muted", "·"),
|
|
628
|
+
ctx.ui.theme.fg("muted", "tmux:"),
|
|
629
|
+
ctx.ui.theme.fg("dim", `${state.sessions.length}`),
|
|
630
|
+
];
|
|
631
|
+
if (staleCount > 0) {
|
|
632
|
+
queueParts.push(ctx.ui.theme.fg("muted", "·"), ctx.ui.theme.fg("warning", `drift:${staleCount}`));
|
|
633
|
+
}
|
|
634
|
+
const refreshParts = [
|
|
635
|
+
ctx.ui.theme.fg("muted", "refresh:"),
|
|
636
|
+
ctx.ui.theme.fg(refreshStale ? "warning" : "dim", refreshAge),
|
|
637
|
+
ctx.ui.theme.fg("muted", "·"),
|
|
638
|
+
ctx.ui.theme.fg("muted", "every:"),
|
|
639
|
+
ctx.ui.theme.fg("dim", `${refreshSeconds}s`),
|
|
640
|
+
];
|
|
641
|
+
if (refreshStale) {
|
|
642
|
+
refreshParts.push(ctx.ui.theme.fg("muted", "·"), ctx.ui.theme.fg("muted", "stale:"), ctx.ui.theme.fg("dim", `${staleAfterSeconds}s`));
|
|
643
|
+
}
|
|
593
644
|
const lines = [
|
|
594
|
-
|
|
595
|
-
ctx.ui.theme.fg("accent", ctx.ui.theme.bold("Subagents")),
|
|
596
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
597
|
-
ctx.ui.theme.fg(healthColor, healthLabel),
|
|
598
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
599
|
-
ctx.ui.theme.fg("accent", `mode:${state.spawnMode}`),
|
|
600
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
601
|
-
ctx.ui.theme.fg(pausedColor, `paused:${pausedLabel}`),
|
|
602
|
-
].join(" "),
|
|
645
|
+
titleParts.join(" "),
|
|
603
646
|
`${ctx.ui.theme.fg("muted", "scope:")} ${ctx.ui.theme.fg("dim", scopeCompact)} ${ctx.ui.theme.fg("muted", "· prefix:")} ${ctx.ui.theme.fg("dim", prefixCompact)}`,
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
ctx.ui.theme.fg("accent", `${state.readyIssues.length}r`),
|
|
607
|
-
ctx.ui.theme.fg("muted", "/"),
|
|
608
|
-
ctx.ui.theme.fg("warning", `${state.activeIssues.length}a`),
|
|
609
|
-
ctx.ui.theme.fg("dim", queueBar),
|
|
610
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
611
|
-
ctx.ui.theme.fg("muted", "tmux:"),
|
|
612
|
-
ctx.ui.theme.fg("dim", `${state.sessions.length}`),
|
|
613
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
614
|
-
ctx.ui.theme.fg(staleCount > 0 ? "warning" : "dim", `drift:${staleCount}`),
|
|
615
|
-
].join(" "),
|
|
616
|
-
[
|
|
617
|
-
ctx.ui.theme.fg("muted", "refresh:"),
|
|
618
|
-
ctx.ui.theme.fg(refreshStale ? "warning" : "dim", refreshAge),
|
|
619
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
620
|
-
ctx.ui.theme.fg("muted", "every:"),
|
|
621
|
-
ctx.ui.theme.fg("dim", `${refreshSeconds}s`),
|
|
622
|
-
ctx.ui.theme.fg("muted", "·"),
|
|
623
|
-
ctx.ui.theme.fg("muted", "stale:"),
|
|
624
|
-
ctx.ui.theme.fg("dim", `${staleAfterSeconds}s`),
|
|
625
|
-
].join(" "),
|
|
647
|
+
queueParts.join(" "),
|
|
648
|
+
refreshParts.join(" "),
|
|
626
649
|
];
|
|
627
650
|
if (state.issueError) {
|
|
628
651
|
lines.push(ctx.ui.theme.fg("warning", `issue_error: ${truncateOneLine(state.issueError, WIDGET_ERROR_MAX)}`));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@femtomc/mu-agent",
|
|
3
|
-
"version": "26.2.
|
|
3
|
+
"version": "26.2.94",
|
|
4
4
|
"description": "Shared operator runtime for mu assistant sessions and serve extensions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mu",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"themes/**"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@femtomc/mu-core": "26.2.
|
|
27
|
+
"@femtomc/mu-core": "26.2.94",
|
|
28
28
|
"@mariozechner/pi-agent-core": "^0.53.0",
|
|
29
29
|
"@mariozechner/pi-ai": "^0.53.0",
|
|
30
30
|
"@mariozechner/pi-coding-agent": "^0.53.0",
|