@femtomc/mu-agent 26.2.101 → 26.2.102
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/README.md +1 -1
- package/dist/extensions/hud.d.ts.map +1 -1
- package/dist/extensions/hud.js +216 -15
- package/dist/operator.d.ts +176 -0
- package/dist/operator.d.ts.map +1 -1
- package/package.json +2 -2
- package/prompts/skills/hud/SKILL.md +12 -10
- package/prompts/skills/planning/SKILL.md +2 -1
- package/prompts/skills/subagents/SKILL.md +2 -1
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ Current stack:
|
|
|
66
66
|
|
|
67
67
|
- `brandingExtension` — mu compact header/footer branding + default theme
|
|
68
68
|
- `eventLogExtension` — event tail + watch widget
|
|
69
|
-
- `hudExtension` — HUD surface for skill-directed planning/subagents communication (`/mu hud ...`, `mu_hud`)
|
|
69
|
+
- `hudExtension` — HUD surface for skill-directed planning/subagents communication (`/mu hud ...`, `mu_hud`) with tone/style-aware TUI widget rows, including `metadata.style_preset` support for `planning|subagents` (plain deterministic snapshots remain available via `/mu hud snapshot`)
|
|
70
70
|
|
|
71
71
|
Extensions emit contract-valid `hud_docs` (`HudDoc`) so control-plane/server renderers can provide a consistent cross-surface HUD experience.
|
|
72
72
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hud.d.ts","sourceRoot":"","sources":["../../src/extensions/hud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hud.d.ts","sourceRoot":"","sources":["../../src/extensions/hud.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AA0fpF,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,QAuE5C;AAED,eAAe,YAAY,CAAC"}
|
package/dist/extensions/hud.js
CHANGED
|
@@ -1,8 +1,89 @@
|
|
|
1
|
-
import { HudDocSchema, normalizeHudDocs, serializeHudDocsTextFallback } from "@femtomc/mu-core";
|
|
1
|
+
import { applyHudStylePreset, hudStylePresetWarnings, HudDocSchema, normalizeHudDocs, serializeHudDocsTextFallback, } from "@femtomc/mu-core";
|
|
2
2
|
import { registerMuSubcommand } from "./mu-command-dispatcher.js";
|
|
3
3
|
const HUD_DISPLAY_DOCS_MAX = 16;
|
|
4
4
|
const HUD_STORE_DOCS_MAX = 64;
|
|
5
5
|
const HUD_LINE_MAX = 120;
|
|
6
|
+
const HUD_CHIPS_MAX = 8;
|
|
7
|
+
const HUD_SECTION_ITEMS_MAX = 6;
|
|
8
|
+
const HUD_ACTIONS_MAX = 4;
|
|
9
|
+
const HUD_LABEL_MAX = 28;
|
|
10
|
+
const HUD_VALUE_MAX = 84;
|
|
11
|
+
function themeBold(theme, text) {
|
|
12
|
+
if (typeof theme.bold === "function") {
|
|
13
|
+
return theme.bold(text);
|
|
14
|
+
}
|
|
15
|
+
return text;
|
|
16
|
+
}
|
|
17
|
+
function themeItalic(theme, text) {
|
|
18
|
+
if (typeof theme.italic === "function") {
|
|
19
|
+
return theme.italic(text);
|
|
20
|
+
}
|
|
21
|
+
return text;
|
|
22
|
+
}
|
|
23
|
+
function themeInverse(theme, text) {
|
|
24
|
+
if (typeof theme.inverse === "function") {
|
|
25
|
+
return theme.inverse(text);
|
|
26
|
+
}
|
|
27
|
+
return text;
|
|
28
|
+
}
|
|
29
|
+
function applyHudTextStyle(theme, text, style, opts = {}) {
|
|
30
|
+
let out = text;
|
|
31
|
+
const weight = style?.weight ?? opts.defaultWeight;
|
|
32
|
+
const italic = style?.italic ?? opts.defaultItalic ?? false;
|
|
33
|
+
const code = style?.code ?? opts.defaultCode ?? false;
|
|
34
|
+
if (code) {
|
|
35
|
+
out = themeInverse(theme, out);
|
|
36
|
+
}
|
|
37
|
+
if (italic) {
|
|
38
|
+
out = themeItalic(theme, out);
|
|
39
|
+
}
|
|
40
|
+
if (weight === "strong") {
|
|
41
|
+
out = themeBold(theme, out);
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
function toneColor(tone) {
|
|
46
|
+
switch (tone) {
|
|
47
|
+
case "success":
|
|
48
|
+
return "success";
|
|
49
|
+
case "warning":
|
|
50
|
+
return "warning";
|
|
51
|
+
case "error":
|
|
52
|
+
return "error";
|
|
53
|
+
case "muted":
|
|
54
|
+
return "muted";
|
|
55
|
+
case "dim":
|
|
56
|
+
return "dim";
|
|
57
|
+
case "accent":
|
|
58
|
+
return "accent";
|
|
59
|
+
case "info":
|
|
60
|
+
default:
|
|
61
|
+
return "text";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function actionKindColor(kind) {
|
|
65
|
+
switch (kind) {
|
|
66
|
+
case "primary":
|
|
67
|
+
return "accent";
|
|
68
|
+
case "danger":
|
|
69
|
+
return "error";
|
|
70
|
+
case "secondary":
|
|
71
|
+
default:
|
|
72
|
+
return "dim";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function sectionFallbackTitle(kind) {
|
|
76
|
+
switch (kind) {
|
|
77
|
+
case "kv":
|
|
78
|
+
return "Details";
|
|
79
|
+
case "checklist":
|
|
80
|
+
return "Checklist";
|
|
81
|
+
case "activity":
|
|
82
|
+
return "Activity";
|
|
83
|
+
case "text":
|
|
84
|
+
return "Notes";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
6
87
|
function createDefaultState() {
|
|
7
88
|
return {
|
|
8
89
|
enabled: false,
|
|
@@ -23,6 +104,113 @@ function short(text, max = HUD_LINE_MAX) {
|
|
|
23
104
|
}
|
|
24
105
|
return `${normalized.slice(0, max - 1)}…`;
|
|
25
106
|
}
|
|
107
|
+
function sectionHeading(theme, section) {
|
|
108
|
+
const title = short(section.title ?? sectionFallbackTitle(section.kind), 48);
|
|
109
|
+
const styledTitle = applyHudTextStyle(theme, title, section.title_style, { defaultWeight: "strong" });
|
|
110
|
+
return [theme.fg("accent", styledTitle), theme.fg("dim", `(${section.kind})`)].join(" ");
|
|
111
|
+
}
|
|
112
|
+
function renderHudWidgetLines(theme, docs) {
|
|
113
|
+
const lines = [];
|
|
114
|
+
for (const [docIndex, doc] of docs.entries()) {
|
|
115
|
+
if (docIndex > 0) {
|
|
116
|
+
lines.push(theme.fg("muted", "─".repeat(26)));
|
|
117
|
+
}
|
|
118
|
+
const title = short(doc.title, 64);
|
|
119
|
+
const hudId = short(doc.hud_id, 32);
|
|
120
|
+
const styledTitle = applyHudTextStyle(theme, title, doc.title_style, { defaultWeight: "strong" });
|
|
121
|
+
lines.push(`${theme.fg("accent", styledTitle)} ${theme.fg("dim", `[${hudId}]`)}`);
|
|
122
|
+
if (doc.scope) {
|
|
123
|
+
lines.push(`${theme.fg("dim", "scope:")} ${theme.fg("muted", short(doc.scope, HUD_LINE_MAX - 7))}`);
|
|
124
|
+
}
|
|
125
|
+
if (doc.chips.length > 0) {
|
|
126
|
+
const visible = doc.chips.slice(0, HUD_CHIPS_MAX);
|
|
127
|
+
const chips = visible.map((chip) => {
|
|
128
|
+
const color = toneColor(chip.tone);
|
|
129
|
+
const label = short(chip.label, 28);
|
|
130
|
+
const chipLabel = applyHudTextStyle(theme, label, chip.style, {
|
|
131
|
+
defaultWeight: color === "muted" || color === "dim" ? "normal" : "strong",
|
|
132
|
+
});
|
|
133
|
+
return theme.fg(color, chipLabel);
|
|
134
|
+
});
|
|
135
|
+
const hiddenCount = doc.chips.length - visible.length;
|
|
136
|
+
if (hiddenCount > 0) {
|
|
137
|
+
chips.push(theme.fg("dim", `+${hiddenCount}`));
|
|
138
|
+
}
|
|
139
|
+
lines.push(chips.join(theme.fg("muted", " · ")));
|
|
140
|
+
}
|
|
141
|
+
for (const section of doc.sections) {
|
|
142
|
+
lines.push(sectionHeading(theme, section));
|
|
143
|
+
switch (section.kind) {
|
|
144
|
+
case "kv": {
|
|
145
|
+
const visible = section.items.slice(0, HUD_SECTION_ITEMS_MAX);
|
|
146
|
+
for (const item of visible) {
|
|
147
|
+
const keyLabel = short(item.label, HUD_LABEL_MAX);
|
|
148
|
+
const valueMax = Math.max(16, HUD_LINE_MAX - keyLabel.length - 8);
|
|
149
|
+
const valueLabel = short(item.value, Math.min(HUD_VALUE_MAX, valueMax));
|
|
150
|
+
const styledValue = applyHudTextStyle(theme, valueLabel, item.value_style);
|
|
151
|
+
lines.push(` ${theme.fg("muted", "-")} ${theme.fg("dim", `${keyLabel}:`)} ${theme.fg(toneColor(item.tone), styledValue)}`);
|
|
152
|
+
}
|
|
153
|
+
const hiddenCount = section.items.length - visible.length;
|
|
154
|
+
if (hiddenCount > 0) {
|
|
155
|
+
lines.push(theme.fg("dim", ` … (+${hiddenCount} more)`));
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
case "checklist": {
|
|
160
|
+
const visible = section.items.slice(0, HUD_SECTION_ITEMS_MAX);
|
|
161
|
+
for (const item of visible) {
|
|
162
|
+
const marker = item.done ? theme.fg("success", "[x]") : theme.fg("dim", "[ ]");
|
|
163
|
+
const textColor = item.done ? "dim" : "text";
|
|
164
|
+
const label = short(item.label, HUD_LINE_MAX - 8);
|
|
165
|
+
const styledLabel = applyHudTextStyle(theme, label, item.style);
|
|
166
|
+
lines.push(` ${marker} ${theme.fg(textColor, styledLabel)}`);
|
|
167
|
+
}
|
|
168
|
+
const hiddenCount = section.items.length - visible.length;
|
|
169
|
+
if (hiddenCount > 0) {
|
|
170
|
+
lines.push(theme.fg("dim", ` … (+${hiddenCount} more)`));
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case "activity": {
|
|
175
|
+
const visible = section.lines.slice(0, HUD_SECTION_ITEMS_MAX);
|
|
176
|
+
for (const line of visible) {
|
|
177
|
+
lines.push(` ${theme.fg("muted", "-")} ${theme.fg("dim", short(line, HUD_LINE_MAX - 6))}`);
|
|
178
|
+
}
|
|
179
|
+
const hiddenCount = section.lines.length - visible.length;
|
|
180
|
+
if (hiddenCount > 0) {
|
|
181
|
+
lines.push(theme.fg("dim", ` … (+${hiddenCount} more)`));
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case "text": {
|
|
186
|
+
const text = short(section.text, HUD_LINE_MAX - 4);
|
|
187
|
+
const styledText = applyHudTextStyle(theme, text, section.style);
|
|
188
|
+
lines.push(` ${theme.fg(toneColor(section.tone), styledText)}`);
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (doc.actions.length > 0) {
|
|
194
|
+
lines.push(theme.fg("accent", applyHudTextStyle(theme, "Actions", undefined, { defaultWeight: "strong" })));
|
|
195
|
+
const visible = doc.actions.slice(0, HUD_ACTIONS_MAX);
|
|
196
|
+
for (const action of visible) {
|
|
197
|
+
const color = actionKindColor(action.kind);
|
|
198
|
+
const label = short(action.label, HUD_LABEL_MAX);
|
|
199
|
+
const styledLabel = applyHudTextStyle(theme, label, action.style, { defaultWeight: "strong" });
|
|
200
|
+
const commandText = short(action.command_text, HUD_VALUE_MAX);
|
|
201
|
+
lines.push(` ${theme.fg(color, styledLabel)} ${theme.fg("dim", commandText)}`);
|
|
202
|
+
}
|
|
203
|
+
const hiddenCount = doc.actions.length - visible.length;
|
|
204
|
+
if (hiddenCount > 0) {
|
|
205
|
+
lines.push(theme.fg("dim", ` … (+${hiddenCount} more)`));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const snapshotText = short(doc.snapshot_compact, HUD_LINE_MAX - 10);
|
|
209
|
+
const styledSnapshot = applyHudTextStyle(theme, snapshotText, doc.snapshot_style, { defaultItalic: true });
|
|
210
|
+
lines.push(`${theme.fg("dim", "snapshot:")} ${theme.fg("muted", styledSnapshot)}`);
|
|
211
|
+
}
|
|
212
|
+
return lines;
|
|
213
|
+
}
|
|
26
214
|
function activeDocs(state, maxDocs = HUD_DISPLAY_DOCS_MAX) {
|
|
27
215
|
return normalizeHudDocs([...state.docsById.values()], { maxDocs });
|
|
28
216
|
}
|
|
@@ -53,18 +241,9 @@ function renderHud(ctx, state) {
|
|
|
53
241
|
ctx.ui.theme.fg("muted", "·"),
|
|
54
242
|
ctx.ui.theme.fg("dim", idLabel),
|
|
55
243
|
].join(" "));
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
maxSectionItems: 6,
|
|
60
|
-
maxActions: 4,
|
|
61
|
-
maxChars: 8_000,
|
|
62
|
-
});
|
|
63
|
-
const lines = snapshot
|
|
64
|
-
.split(/\r?\n/)
|
|
65
|
-
.map((line) => short(line, HUD_LINE_MAX))
|
|
66
|
-
.filter((line) => line.length > 0);
|
|
67
|
-
ctx.ui.setWidget("mu-hud", lines.length > 0 ? lines : ["(hud enabled, no docs)"], { placement: "belowEditor" });
|
|
244
|
+
const docsForRender = docs.map((doc) => applyHudStylePreset(doc) ?? doc);
|
|
245
|
+
const lines = renderHudWidgetLines(ctx.ui.theme, docsForRender);
|
|
246
|
+
ctx.ui.setWidget("mu-hud", lines.length > 0 ? lines : [ctx.ui.theme.fg("dim", "(hud enabled, no docs)")], { placement: "belowEditor" });
|
|
68
247
|
}
|
|
69
248
|
function parseHudDoc(input) {
|
|
70
249
|
const parsed = HudDocSchema.safeParse(input);
|
|
@@ -87,6 +266,23 @@ function parseHudDocList(input) {
|
|
|
87
266
|
}
|
|
88
267
|
return { ok: true, docs: normalizeHudDocs(docs, { maxDocs: HUD_STORE_DOCS_MAX }) };
|
|
89
268
|
}
|
|
269
|
+
function presetWarningsExtraForDoc(doc) {
|
|
270
|
+
const warnings = hudStylePresetWarnings(doc);
|
|
271
|
+
if (warnings.length === 0) {
|
|
272
|
+
return {};
|
|
273
|
+
}
|
|
274
|
+
return { preset_warnings: warnings };
|
|
275
|
+
}
|
|
276
|
+
function presetWarningsExtraForDocs(docs) {
|
|
277
|
+
const byHudId = {};
|
|
278
|
+
for (const doc of docs) {
|
|
279
|
+
const warnings = hudStylePresetWarnings(doc);
|
|
280
|
+
if (warnings.length > 0) {
|
|
281
|
+
byHudId[doc.hud_id] = warnings;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return Object.keys(byHudId).length > 0 ? { preset_warnings: byHudId } : {};
|
|
285
|
+
}
|
|
90
286
|
function hudToolResult(opts) {
|
|
91
287
|
const docs = activeDocs(opts.state, HUD_STORE_DOCS_MAX);
|
|
92
288
|
return {
|
|
@@ -146,7 +342,7 @@ function applyHudAction(params, state) {
|
|
|
146
342
|
ok: true,
|
|
147
343
|
action: params.action,
|
|
148
344
|
message: `HUD doc set: ${parsed.doc.hud_id}`,
|
|
149
|
-
extra: { hud_id: parsed.doc.hud_id },
|
|
345
|
+
extra: { hud_id: parsed.doc.hud_id, ...presetWarningsExtraForDoc(parsed.doc) },
|
|
150
346
|
};
|
|
151
347
|
}
|
|
152
348
|
case "replace": {
|
|
@@ -159,7 +355,12 @@ function applyHudAction(params, state) {
|
|
|
159
355
|
state.docsById.set(doc.hud_id, doc);
|
|
160
356
|
}
|
|
161
357
|
state.enabled = true;
|
|
162
|
-
return {
|
|
358
|
+
return {
|
|
359
|
+
ok: true,
|
|
360
|
+
action: "replace",
|
|
361
|
+
message: `HUD docs replaced (${parsed.docs.length}).`,
|
|
362
|
+
extra: presetWarningsExtraForDocs(parsed.docs),
|
|
363
|
+
};
|
|
163
364
|
}
|
|
164
365
|
case "remove": {
|
|
165
366
|
const hudId = (params.hud_id ?? "").trim();
|
package/dist/operator.d.ts
CHANGED
|
@@ -63,6 +63,14 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
63
63
|
v: z.ZodDefault<z.ZodLiteral<1>>;
|
|
64
64
|
hud_id: z.ZodString;
|
|
65
65
|
title: z.ZodString;
|
|
66
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
67
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
68
|
+
normal: "normal";
|
|
69
|
+
strong: "strong";
|
|
70
|
+
}>>;
|
|
71
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
73
|
+
}, z.core.$strict>>;
|
|
66
74
|
scope: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
67
75
|
chips: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
68
76
|
key: z.ZodString;
|
|
@@ -76,10 +84,26 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
76
84
|
accent: "accent";
|
|
77
85
|
dim: "dim";
|
|
78
86
|
}>>;
|
|
87
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
88
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
normal: "normal";
|
|
90
|
+
strong: "strong";
|
|
91
|
+
}>>;
|
|
92
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
93
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
94
|
+
}, z.core.$strict>>;
|
|
79
95
|
}, z.core.$strict>>>;
|
|
80
96
|
sections: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
81
97
|
kind: z.ZodLiteral<"kv">;
|
|
82
98
|
title: z.ZodOptional<z.ZodString>;
|
|
99
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
100
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
normal: "normal";
|
|
102
|
+
strong: "strong";
|
|
103
|
+
}>>;
|
|
104
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
+
}, z.core.$strict>>;
|
|
83
107
|
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
84
108
|
key: z.ZodString;
|
|
85
109
|
label: z.ZodString;
|
|
@@ -93,22 +117,62 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
93
117
|
accent: "accent";
|
|
94
118
|
dim: "dim";
|
|
95
119
|
}>>;
|
|
120
|
+
value_style: z.ZodOptional<z.ZodObject<{
|
|
121
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
122
|
+
normal: "normal";
|
|
123
|
+
strong: "strong";
|
|
124
|
+
}>>;
|
|
125
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
126
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
+
}, z.core.$strict>>;
|
|
96
128
|
}, z.core.$strict>>>;
|
|
97
129
|
}, z.core.$strict>, z.ZodObject<{
|
|
98
130
|
kind: z.ZodLiteral<"checklist">;
|
|
99
131
|
title: z.ZodOptional<z.ZodString>;
|
|
132
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
133
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
134
|
+
normal: "normal";
|
|
135
|
+
strong: "strong";
|
|
136
|
+
}>>;
|
|
137
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
138
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
139
|
+
}, z.core.$strict>>;
|
|
100
140
|
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
101
141
|
id: z.ZodString;
|
|
102
142
|
label: z.ZodString;
|
|
103
143
|
done: z.ZodBoolean;
|
|
144
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
145
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
146
|
+
normal: "normal";
|
|
147
|
+
strong: "strong";
|
|
148
|
+
}>>;
|
|
149
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
150
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
151
|
+
}, z.core.$strict>>;
|
|
104
152
|
}, z.core.$strict>>>;
|
|
105
153
|
}, z.core.$strict>, z.ZodObject<{
|
|
106
154
|
kind: z.ZodLiteral<"activity">;
|
|
107
155
|
title: z.ZodOptional<z.ZodString>;
|
|
156
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
157
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
158
|
+
normal: "normal";
|
|
159
|
+
strong: "strong";
|
|
160
|
+
}>>;
|
|
161
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
162
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
163
|
+
}, z.core.$strict>>;
|
|
108
164
|
lines: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
109
165
|
}, z.core.$strict>, z.ZodObject<{
|
|
110
166
|
kind: z.ZodLiteral<"text">;
|
|
111
167
|
title: z.ZodOptional<z.ZodString>;
|
|
168
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
169
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
170
|
+
normal: "normal";
|
|
171
|
+
strong: "strong";
|
|
172
|
+
}>>;
|
|
173
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
174
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
175
|
+
}, z.core.$strict>>;
|
|
112
176
|
text: z.ZodString;
|
|
113
177
|
tone: z.ZodOptional<z.ZodEnum<{
|
|
114
178
|
error: "error";
|
|
@@ -119,6 +183,14 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
119
183
|
accent: "accent";
|
|
120
184
|
dim: "dim";
|
|
121
185
|
}>>;
|
|
186
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
187
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
188
|
+
normal: "normal";
|
|
189
|
+
strong: "strong";
|
|
190
|
+
}>>;
|
|
191
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
192
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
193
|
+
}, z.core.$strict>>;
|
|
122
194
|
}, z.core.$strict>], "kind">>>;
|
|
123
195
|
actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
124
196
|
id: z.ZodString;
|
|
@@ -129,8 +201,24 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
129
201
|
secondary: "secondary";
|
|
130
202
|
danger: "danger";
|
|
131
203
|
}>>;
|
|
204
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
205
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
206
|
+
normal: "normal";
|
|
207
|
+
strong: "strong";
|
|
208
|
+
}>>;
|
|
209
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
210
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
211
|
+
}, z.core.$strict>>;
|
|
132
212
|
}, z.core.$strict>>>;
|
|
133
213
|
snapshot_compact: z.ZodString;
|
|
214
|
+
snapshot_style: z.ZodOptional<z.ZodObject<{
|
|
215
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
216
|
+
normal: "normal";
|
|
217
|
+
strong: "strong";
|
|
218
|
+
}>>;
|
|
219
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
220
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
221
|
+
}, z.core.$strict>>;
|
|
134
222
|
snapshot_multiline: z.ZodOptional<z.ZodString>;
|
|
135
223
|
updated_at_ms: z.ZodNumber;
|
|
136
224
|
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -176,6 +264,14 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
176
264
|
v: z.ZodDefault<z.ZodLiteral<1>>;
|
|
177
265
|
hud_id: z.ZodString;
|
|
178
266
|
title: z.ZodString;
|
|
267
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
268
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
269
|
+
normal: "normal";
|
|
270
|
+
strong: "strong";
|
|
271
|
+
}>>;
|
|
272
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
273
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
274
|
+
}, z.core.$strict>>;
|
|
179
275
|
scope: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
180
276
|
chips: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
181
277
|
key: z.ZodString;
|
|
@@ -189,10 +285,26 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
189
285
|
accent: "accent";
|
|
190
286
|
dim: "dim";
|
|
191
287
|
}>>;
|
|
288
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
289
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
290
|
+
normal: "normal";
|
|
291
|
+
strong: "strong";
|
|
292
|
+
}>>;
|
|
293
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
294
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
295
|
+
}, z.core.$strict>>;
|
|
192
296
|
}, z.core.$strict>>>;
|
|
193
297
|
sections: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
194
298
|
kind: z.ZodLiteral<"kv">;
|
|
195
299
|
title: z.ZodOptional<z.ZodString>;
|
|
300
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
301
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
302
|
+
normal: "normal";
|
|
303
|
+
strong: "strong";
|
|
304
|
+
}>>;
|
|
305
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
306
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
307
|
+
}, z.core.$strict>>;
|
|
196
308
|
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
197
309
|
key: z.ZodString;
|
|
198
310
|
label: z.ZodString;
|
|
@@ -206,22 +318,62 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
206
318
|
accent: "accent";
|
|
207
319
|
dim: "dim";
|
|
208
320
|
}>>;
|
|
321
|
+
value_style: z.ZodOptional<z.ZodObject<{
|
|
322
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
323
|
+
normal: "normal";
|
|
324
|
+
strong: "strong";
|
|
325
|
+
}>>;
|
|
326
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
327
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
328
|
+
}, z.core.$strict>>;
|
|
209
329
|
}, z.core.$strict>>>;
|
|
210
330
|
}, z.core.$strict>, z.ZodObject<{
|
|
211
331
|
kind: z.ZodLiteral<"checklist">;
|
|
212
332
|
title: z.ZodOptional<z.ZodString>;
|
|
333
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
334
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
335
|
+
normal: "normal";
|
|
336
|
+
strong: "strong";
|
|
337
|
+
}>>;
|
|
338
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
339
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
340
|
+
}, z.core.$strict>>;
|
|
213
341
|
items: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
214
342
|
id: z.ZodString;
|
|
215
343
|
label: z.ZodString;
|
|
216
344
|
done: z.ZodBoolean;
|
|
345
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
346
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
347
|
+
normal: "normal";
|
|
348
|
+
strong: "strong";
|
|
349
|
+
}>>;
|
|
350
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
351
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
352
|
+
}, z.core.$strict>>;
|
|
217
353
|
}, z.core.$strict>>>;
|
|
218
354
|
}, z.core.$strict>, z.ZodObject<{
|
|
219
355
|
kind: z.ZodLiteral<"activity">;
|
|
220
356
|
title: z.ZodOptional<z.ZodString>;
|
|
357
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
358
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
359
|
+
normal: "normal";
|
|
360
|
+
strong: "strong";
|
|
361
|
+
}>>;
|
|
362
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
363
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
364
|
+
}, z.core.$strict>>;
|
|
221
365
|
lines: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
222
366
|
}, z.core.$strict>, z.ZodObject<{
|
|
223
367
|
kind: z.ZodLiteral<"text">;
|
|
224
368
|
title: z.ZodOptional<z.ZodString>;
|
|
369
|
+
title_style: z.ZodOptional<z.ZodObject<{
|
|
370
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
371
|
+
normal: "normal";
|
|
372
|
+
strong: "strong";
|
|
373
|
+
}>>;
|
|
374
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
375
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
376
|
+
}, z.core.$strict>>;
|
|
225
377
|
text: z.ZodString;
|
|
226
378
|
tone: z.ZodOptional<z.ZodEnum<{
|
|
227
379
|
error: "error";
|
|
@@ -232,6 +384,14 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
232
384
|
accent: "accent";
|
|
233
385
|
dim: "dim";
|
|
234
386
|
}>>;
|
|
387
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
388
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
389
|
+
normal: "normal";
|
|
390
|
+
strong: "strong";
|
|
391
|
+
}>>;
|
|
392
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
393
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
394
|
+
}, z.core.$strict>>;
|
|
235
395
|
}, z.core.$strict>], "kind">>>;
|
|
236
396
|
actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
237
397
|
id: z.ZodString;
|
|
@@ -242,8 +402,24 @@ export declare const OperatorBackendTurnResultSchema: z.ZodDiscriminatedUnion<[z
|
|
|
242
402
|
secondary: "secondary";
|
|
243
403
|
danger: "danger";
|
|
244
404
|
}>>;
|
|
405
|
+
style: z.ZodOptional<z.ZodObject<{
|
|
406
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
407
|
+
normal: "normal";
|
|
408
|
+
strong: "strong";
|
|
409
|
+
}>>;
|
|
410
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
411
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
412
|
+
}, z.core.$strict>>;
|
|
245
413
|
}, z.core.$strict>>>;
|
|
246
414
|
snapshot_compact: z.ZodString;
|
|
415
|
+
snapshot_style: z.ZodOptional<z.ZodObject<{
|
|
416
|
+
weight: z.ZodOptional<z.ZodEnum<{
|
|
417
|
+
normal: "normal";
|
|
418
|
+
strong: "strong";
|
|
419
|
+
}>>;
|
|
420
|
+
italic: z.ZodOptional<z.ZodBoolean>;
|
|
421
|
+
code: z.ZodOptional<z.ZodBoolean>;
|
|
422
|
+
}, z.core.$strict>>;
|
|
247
423
|
snapshot_multiline: z.ZodOptional<z.ZodString>;
|
|
248
424
|
updated_at_ms: z.ZodNumber;
|
|
249
425
|
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
package/dist/operator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAoB,MAAM,kBAAkB,CAAC;AAI/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAmB,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,gCAAgC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG,gCAAgC,CAAC;AACxD,KAAK,eAAe,GAAG,gCAAgC,CAAC;AAQxD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgCxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAIpF,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@femtomc/mu-agent",
|
|
3
|
-
"version": "26.2.
|
|
3
|
+
"version": "26.2.102",
|
|
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.102",
|
|
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",
|
|
@@ -44,6 +44,7 @@ Notes:
|
|
|
44
44
|
- `set` and `update` are both upsert-style single-doc writes.
|
|
45
45
|
- `replace` is whole-inventory replacement.
|
|
46
46
|
- Tool results include normalized `hud_docs` for downstream transport/rendering.
|
|
47
|
+
- Advisory preset-shape warnings are surfaced in tool `details.preset_warnings` when `metadata.style_preset` and doc shape diverge (non-blocking).
|
|
47
48
|
|
|
48
49
|
### Command (`/mu hud ...`)
|
|
49
50
|
|
|
@@ -72,14 +73,15 @@ Minimum practical fields:
|
|
|
72
73
|
Common optional fields:
|
|
73
74
|
|
|
74
75
|
- `scope` (for root/session/issue scoping)
|
|
75
|
-
- `
|
|
76
|
+
- `title_style` / `snapshot_style` (`{weight?:"normal|strong", italic?:boolean, code?:boolean}`)
|
|
77
|
+
- `chips` (`[{key,label,tone?,style?}]`)
|
|
76
78
|
- `sections`:
|
|
77
|
-
- `kv` (key/value)
|
|
78
|
-
- `checklist` (checkbox-style progress)
|
|
79
|
-
- `activity` (recent lines)
|
|
80
|
-
- `text` (free text)
|
|
81
|
-
- `actions` (`[{id,label,command_text,kind?}]`)
|
|
82
|
-
- `metadata` (machine-readable extras)
|
|
79
|
+
- `kv` (key/value; supports `title_style` + item `value_style`)
|
|
80
|
+
- `checklist` (checkbox-style progress; supports `title_style` + item `style`)
|
|
81
|
+
- `activity` (recent lines; supports `title_style`)
|
|
82
|
+
- `text` (free text; supports `title_style` + `style`)
|
|
83
|
+
- `actions` (`[{id,label,command_text,kind?,style?}]`)
|
|
84
|
+
- `metadata` (machine-readable extras; optional `style_preset` convention: `planning|subagents`)
|
|
83
85
|
|
|
84
86
|
Example checklist doc:
|
|
85
87
|
|
|
@@ -92,7 +94,7 @@ Example checklist doc:
|
|
|
92
94
|
"title": "Planning HUD",
|
|
93
95
|
"scope": "mu-root-123",
|
|
94
96
|
"chips": [
|
|
95
|
-
{ "key": "phase", "label": "phase:drafting", "tone": "accent" },
|
|
97
|
+
{ "key": "phase", "label": "phase:drafting", "tone": "accent", "style": { "weight": "strong" } },
|
|
96
98
|
{ "key": "steps", "label": "steps:2/5", "tone": "dim" }
|
|
97
99
|
],
|
|
98
100
|
"sections": [
|
|
@@ -107,11 +109,11 @@ Example checklist doc:
|
|
|
107
109
|
}
|
|
108
110
|
],
|
|
109
111
|
"actions": [
|
|
110
|
-
{ "id": "snapshot", "label": "Snapshot", "command_text": "/mu hud snapshot", "kind": "secondary" }
|
|
112
|
+
{ "id": "snapshot", "label": "Snapshot", "command_text": "/mu hud snapshot", "kind": "secondary", "style": { "italic": true } }
|
|
111
113
|
],
|
|
112
114
|
"snapshot_compact": "HUD(plan) · phase=drafting · steps=2/5",
|
|
113
115
|
"updated_at_ms": 1771853115000,
|
|
114
|
-
"metadata": { "phase": "drafting" }
|
|
116
|
+
"metadata": { "style_preset": "planning", "phase": "drafting" }
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
119
|
```
|
|
@@ -117,12 +117,13 @@ Tool contract (preferred when tools are available):
|
|
|
117
117
|
- `kv` status block (`phase`, `root`, `waiting_on_user`, `confidence`, `next_action`, `blocker`)
|
|
118
118
|
- `checklist` block for plan milestones
|
|
119
119
|
- actions: include useful follow-ups (for example, `snapshot`)
|
|
120
|
+
- metadata: include `style_preset:"planning"` for consistent renderer emphasis without repeating style hints
|
|
120
121
|
|
|
121
122
|
Example tool calls:
|
|
122
123
|
- Turn HUD on:
|
|
123
124
|
- `{"action":"on"}`
|
|
124
125
|
- Set/replace planning doc after investigation pass:
|
|
125
|
-
- `{"action":"set","doc":{"v":1,"hud_id":"planning","title":"Planning HUD","scope":"mu-root-123","chips":[{"key":"phase","label":"phase:investigating","tone":"dim"},{"key":"steps","label":"steps:1/4","tone":"accent"},{"key":"waiting","label":"waiting:no","tone":"dim"},{"key":"confidence","label":"conf:medium","tone":"accent"}],"sections":[{"kind":"kv","title":"Status","items":[{"key":"phase","label":"phase","value":"investigating"},{"key":"root","label":"root","value":"mu-root-123"},{"key":"waiting","label":"waiting_on_user","value":"no"},{"key":"confidence","label":"confidence","value":"medium"},{"key":"next","label":"next_action","value":"Draft root DAG"},{"key":"blocker","label":"blocker","value":"(none)"}]},{"kind":"checklist","title":"Checklist","items":[{"id":"1","label":"Investigate relevant code/docs/state","done":true},{"id":"2","label":"Create root + child issue DAG","done":false},{"id":"3","label":"Present plan + tradeoffs","done":false},{"id":"4","label":"Refine until approved","done":false}]}],"actions":[{"id":"snapshot","label":"Snapshot","command_text":"/mu hud snapshot","kind":"secondary"}],"snapshot_compact":"HUD(plan) · phase=investigating · steps=1/4 · waiting=no · conf=medium","updated_at_ms":1771853115000,"metadata":{"phase":"investigating","waiting_on_user":false,"confidence":"medium"}}}`
|
|
126
|
+
- `{"action":"set","doc":{"v":1,"hud_id":"planning","title":"Planning HUD","scope":"mu-root-123","chips":[{"key":"phase","label":"phase:investigating","tone":"dim"},{"key":"steps","label":"steps:1/4","tone":"accent"},{"key":"waiting","label":"waiting:no","tone":"dim"},{"key":"confidence","label":"conf:medium","tone":"accent"}],"sections":[{"kind":"kv","title":"Status","items":[{"key":"phase","label":"phase","value":"investigating"},{"key":"root","label":"root","value":"mu-root-123"},{"key":"waiting","label":"waiting_on_user","value":"no"},{"key":"confidence","label":"confidence","value":"medium"},{"key":"next","label":"next_action","value":"Draft root DAG"},{"key":"blocker","label":"blocker","value":"(none)"}]},{"kind":"checklist","title":"Checklist","items":[{"id":"1","label":"Investigate relevant code/docs/state","done":true},{"id":"2","label":"Create root + child issue DAG","done":false},{"id":"3","label":"Present plan + tradeoffs","done":false},{"id":"4","label":"Refine until approved","done":false}]}],"actions":[{"id":"snapshot","label":"Snapshot","command_text":"/mu hud snapshot","kind":"secondary"}],"snapshot_compact":"HUD(plan) · phase=investigating · steps=1/4 · waiting=no · conf=medium","updated_at_ms":1771853115000,"metadata":{"style_preset":"planning","phase":"investigating","waiting_on_user":false,"confidence":"medium"}}}`
|
|
126
127
|
- Human-facing status line:
|
|
127
128
|
- `{"action":"snapshot","snapshot_format":"compact"}`
|
|
128
129
|
|
|
@@ -192,8 +192,9 @@ Tool: `mu_hud`
|
|
|
192
192
|
- chips: health, mode, paused
|
|
193
193
|
- sections: queue counts + recent activity lines
|
|
194
194
|
- actions: refresh/spawn command hooks (if desired)
|
|
195
|
+
- metadata: include `style_preset:"subagents"` for consistent renderer emphasis
|
|
195
196
|
- Example update:
|
|
196
|
-
- `{"action":"set","doc":{"v":1,"hud_id":"subagents","title":"Subagents HUD","scope":"mu-root-123","chips":[{"key":"health","label":"healthy","tone":"success"},{"key":"mode","label":"mode:operator","tone":"dim"},{"key":"paused","label":"paused:no","tone":"dim"}],"sections":[{"kind":"kv","title":"Queue","items":[{"key":"ready","label":"Ready","value":"3"},{"key":"active","label":"Active","value":"2"},{"key":"sessions","label":"Sessions","value":"2"}]},{"kind":"activity","title":"Activity","lines":["Spawned worker for mu-abc123","Posted ORCH_PASS update"]}],"actions":[{"id":"refresh","label":"Refresh","command_text":"/mu hud snapshot","kind":"secondary"}],"snapshot_compact":"HUD(subagents) · healthy · mode=operator · ready=3 · active=2","updated_at_ms":1771853115000,"metadata":{"spawn_mode":"operator","spawn_paused":false}}}`
|
|
197
|
+
- `{"action":"set","doc":{"v":1,"hud_id":"subagents","title":"Subagents HUD","scope":"mu-root-123","chips":[{"key":"health","label":"healthy","tone":"success"},{"key":"mode","label":"mode:operator","tone":"dim"},{"key":"paused","label":"paused:no","tone":"dim"}],"sections":[{"kind":"kv","title":"Queue","items":[{"key":"ready","label":"Ready","value":"3"},{"key":"active","label":"Active","value":"2"},{"key":"sessions","label":"Sessions","value":"2"}]},{"kind":"activity","title":"Activity","lines":["Spawned worker for mu-abc123","Posted ORCH_PASS update"]}],"actions":[{"id":"refresh","label":"Refresh","command_text":"/mu hud snapshot","kind":"secondary"}],"snapshot_compact":"HUD(subagents) · healthy · mode=operator · ready=3 · active=2","updated_at_ms":1771853115000,"metadata":{"style_preset":"subagents","spawn_mode":"operator","spawn_paused":false}}}`
|
|
197
198
|
|
|
198
199
|
## Evaluation scenarios
|
|
199
200
|
|