@mono-agent/agent-app 0.11.5 → 0.13.0

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.
Files changed (223) hide show
  1. package/README.md +54 -17
  2. package/dist/adapter-send-tools.d.ts.map +1 -1
  3. package/dist/adapter-send-tools.js +126 -34
  4. package/dist/adapter-send-tools.js.map +1 -1
  5. package/dist/app-controller-lifecycle.d.ts.map +1 -1
  6. package/dist/app-controller-lifecycle.js +2 -6
  7. package/dist/app-controller-lifecycle.js.map +1 -1
  8. package/dist/app-controller-maintenance.d.ts.map +1 -1
  9. package/dist/app-controller-maintenance.js +2 -1
  10. package/dist/app-controller-maintenance.js.map +1 -1
  11. package/dist/app-controller-memory-health.d.ts +1 -1
  12. package/dist/app-controller-memory-health.d.ts.map +1 -1
  13. package/dist/app-controller-memory-health.js +5 -1
  14. package/dist/app-controller-memory-health.js.map +1 -1
  15. package/dist/app-controller-responder.d.ts.map +1 -1
  16. package/dist/app-controller-responder.js +8 -3
  17. package/dist/app-controller-responder.js.map +1 -1
  18. package/dist/app-controller-traceability.d.ts.map +1 -1
  19. package/dist/app-controller-traceability.js +15 -1
  20. package/dist/app-controller-traceability.js.map +1 -1
  21. package/dist/app-controller.d.ts +14 -1
  22. package/dist/app-controller.d.ts.map +1 -1
  23. package/dist/app-controller.js +61 -9
  24. package/dist/app-controller.js.map +1 -1
  25. package/dist/audit-runs.d.ts.map +1 -1
  26. package/dist/audit-runs.js +12 -2
  27. package/dist/audit-runs.js.map +1 -1
  28. package/dist/background-runtime.d.ts +26 -0
  29. package/dist/background-runtime.d.ts.map +1 -1
  30. package/dist/background-runtime.js +874 -46
  31. package/dist/background-runtime.js.map +1 -1
  32. package/dist/background.d.ts +12 -2
  33. package/dist/background.d.ts.map +1 -1
  34. package/dist/background.js +195 -40
  35. package/dist/background.js.map +1 -1
  36. package/dist/channel-drivers/live.d.ts +3 -2
  37. package/dist/channel-drivers/live.d.ts.map +1 -1
  38. package/dist/channel-drivers/live.js +3 -2
  39. package/dist/channel-drivers/live.js.map +1 -1
  40. package/dist/channel-drivers/slack.d.ts.map +1 -1
  41. package/dist/channel-drivers/slack.js +6 -0
  42. package/dist/channel-drivers/slack.js.map +1 -1
  43. package/dist/channel-drivers/telegram.d.ts.map +1 -1
  44. package/dist/channel-drivers/telegram.js +20 -4
  45. package/dist/channel-drivers/telegram.js.map +1 -1
  46. package/dist/channel-drivers/tui.d.ts.map +1 -1
  47. package/dist/channel-drivers/tui.js +24 -0
  48. package/dist/channel-drivers/tui.js.map +1 -1
  49. package/dist/channel-runtime-controls.d.ts +23 -0
  50. package/dist/channel-runtime-controls.d.ts.map +1 -0
  51. package/dist/channel-runtime-controls.js +63 -0
  52. package/dist/channel-runtime-controls.js.map +1 -0
  53. package/dist/channel-status-display.d.ts +15 -0
  54. package/dist/channel-status-display.d.ts.map +1 -0
  55. package/dist/channel-status-display.js +48 -0
  56. package/dist/channel-status-display.js.map +1 -0
  57. package/dist/cli-args.d.ts +19 -22
  58. package/dist/cli-args.d.ts.map +1 -1
  59. package/dist/cli-args.js +115 -68
  60. package/dist/cli-args.js.map +1 -1
  61. package/dist/cli-background-command.d.ts +1 -0
  62. package/dist/cli-background-command.d.ts.map +1 -1
  63. package/dist/cli-background-command.js +72 -16
  64. package/dist/cli-background-command.js.map +1 -1
  65. package/dist/cli-commands.d.ts +4 -2
  66. package/dist/cli-commands.d.ts.map +1 -1
  67. package/dist/cli-commands.js +51 -47
  68. package/dist/cli-commands.js.map +1 -1
  69. package/dist/cli-help.d.ts +19 -1
  70. package/dist/cli-help.d.ts.map +1 -1
  71. package/dist/cli-help.js +217 -70
  72. package/dist/cli-help.js.map +1 -1
  73. package/dist/cli-init-command.d.ts.map +1 -1
  74. package/dist/cli-init-command.js +4 -18
  75. package/dist/cli-init-command.js.map +1 -1
  76. package/dist/cli-install-skill-command.d.ts.map +1 -1
  77. package/dist/cli-install-skill-command.js +32 -3
  78. package/dist/cli-install-skill-command.js.map +1 -1
  79. package/dist/cli-runs-command.d.ts +13 -0
  80. package/dist/cli-runs-command.d.ts.map +1 -0
  81. package/dist/cli-runs-command.js +70 -0
  82. package/dist/cli-runs-command.js.map +1 -0
  83. package/dist/cli-sandbox-command.d.ts +1 -1
  84. package/dist/cli-sandbox-command.d.ts.map +1 -1
  85. package/dist/cli-sandbox-command.js +14 -2
  86. package/dist/cli-sandbox-command.js.map +1 -1
  87. package/dist/cli-validate-config-command.d.ts +24 -5
  88. package/dist/cli-validate-config-command.d.ts.map +1 -1
  89. package/dist/cli-validate-config-command.js +120 -41
  90. package/dist/cli-validate-config-command.js.map +1 -1
  91. package/dist/config-reference.d.ts +1 -1
  92. package/dist/config-reference.d.ts.map +1 -1
  93. package/dist/config-reference.js +63 -1
  94. package/dist/config-reference.js.map +1 -1
  95. package/dist/configured-agent.js +3 -1
  96. package/dist/configured-agent.js.map +1 -1
  97. package/dist/docs-mcp-pairing.d.ts +35 -0
  98. package/dist/docs-mcp-pairing.d.ts.map +1 -0
  99. package/dist/docs-mcp-pairing.js +311 -0
  100. package/dist/docs-mcp-pairing.js.map +1 -0
  101. package/dist/doctor.d.ts +6 -0
  102. package/dist/doctor.d.ts.map +1 -1
  103. package/dist/doctor.js +6 -5
  104. package/dist/doctor.js.map +1 -1
  105. package/dist/install-skill.d.ts +2 -0
  106. package/dist/install-skill.d.ts.map +1 -1
  107. package/dist/install-skill.js +10 -4
  108. package/dist/install-skill.js.map +1 -1
  109. package/dist/interaction-bridge.d.ts +2 -0
  110. package/dist/interaction-bridge.d.ts.map +1 -1
  111. package/dist/interaction-bridge.js +46 -1
  112. package/dist/interaction-bridge.js.map +1 -1
  113. package/dist/launchd.d.ts +18 -0
  114. package/dist/launchd.d.ts.map +1 -1
  115. package/dist/launchd.js +69 -0
  116. package/dist/launchd.js.map +1 -1
  117. package/dist/local-configuration.d.ts +2 -2
  118. package/dist/local-configuration.d.ts.map +1 -1
  119. package/dist/local-configuration.js +10 -10
  120. package/dist/local-configuration.js.map +1 -1
  121. package/dist/managed-runtime-publication.d.ts +22 -0
  122. package/dist/managed-runtime-publication.d.ts.map +1 -0
  123. package/dist/managed-runtime-publication.js +91 -0
  124. package/dist/managed-runtime-publication.js.map +1 -0
  125. package/dist/managed-startup.d.ts +8 -0
  126. package/dist/managed-startup.d.ts.map +1 -0
  127. package/dist/managed-startup.js +12 -0
  128. package/dist/managed-startup.js.map +1 -0
  129. package/dist/memory-retrieval.d.ts.map +1 -1
  130. package/dist/memory-retrieval.js +31 -18
  131. package/dist/memory-retrieval.js.map +1 -1
  132. package/dist/metrics.d.ts.map +1 -1
  133. package/dist/metrics.js +12 -2
  134. package/dist/metrics.js.map +1 -1
  135. package/dist/modules/known-tools.d.ts +2 -2
  136. package/dist/modules/known-tools.d.ts.map +1 -1
  137. package/dist/modules/known-tools.js +2 -1
  138. package/dist/modules/known-tools.js.map +1 -1
  139. package/dist/notify-runtime.d.ts +26 -0
  140. package/dist/notify-runtime.d.ts.map +1 -0
  141. package/dist/notify-runtime.js +27 -0
  142. package/dist/notify-runtime.js.map +1 -0
  143. package/dist/notify-tool.d.ts +51 -0
  144. package/dist/notify-tool.d.ts.map +1 -0
  145. package/dist/notify-tool.js +182 -0
  146. package/dist/notify-tool.js.map +1 -0
  147. package/dist/posted-reply-history.d.ts.map +1 -1
  148. package/dist/posted-reply-history.js +7 -0
  149. package/dist/posted-reply-history.js.map +1 -1
  150. package/dist/project-skills.d.ts +1 -1
  151. package/dist/project-skills.d.ts.map +1 -1
  152. package/dist/project-skills.js +9 -7
  153. package/dist/project-skills.js.map +1 -1
  154. package/dist/recipes/base.d.ts +15 -0
  155. package/dist/recipes/base.d.ts.map +1 -0
  156. package/dist/recipes/base.js +51 -0
  157. package/dist/recipes/base.js.map +1 -0
  158. package/dist/recipes/catalog.d.ts +4 -0
  159. package/dist/recipes/catalog.d.ts.map +1 -0
  160. package/dist/recipes/catalog.js +525 -0
  161. package/dist/recipes/catalog.js.map +1 -0
  162. package/dist/recipes/index.d.ts +11 -0
  163. package/dist/recipes/index.d.ts.map +1 -0
  164. package/dist/recipes/index.js +14 -0
  165. package/dist/recipes/index.js.map +1 -0
  166. package/dist/recipes/types.d.ts +70 -0
  167. package/dist/recipes/types.d.ts.map +1 -0
  168. package/dist/recipes/types.js +15 -0
  169. package/dist/recipes/types.js.map +1 -0
  170. package/dist/request-model-override.d.ts +3 -2
  171. package/dist/request-model-override.d.ts.map +1 -1
  172. package/dist/request-model-override.js +13 -7
  173. package/dist/request-model-override.js.map +1 -1
  174. package/dist/run-history.d.ts.map +1 -1
  175. package/dist/run-history.js +35 -22
  176. package/dist/run-history.js.map +1 -1
  177. package/dist/runtime-provenance.d.ts.map +1 -1
  178. package/dist/runtime-provenance.js +10 -5
  179. package/dist/runtime-provenance.js.map +1 -1
  180. package/dist/sessions-command.d.ts +53 -0
  181. package/dist/sessions-command.d.ts.map +1 -0
  182. package/dist/sessions-command.js +309 -0
  183. package/dist/sessions-command.js.map +1 -0
  184. package/dist/setup.d.ts +29 -0
  185. package/dist/setup.d.ts.map +1 -0
  186. package/dist/setup.js +97 -0
  187. package/dist/setup.js.map +1 -0
  188. package/dist/tui-command.d.ts +1 -1
  189. package/dist/tui-command.d.ts.map +1 -1
  190. package/dist/tui-command.js +6 -5
  191. package/dist/tui-command.js.map +1 -1
  192. package/dist/web-command.d.ts +109 -43
  193. package/dist/web-command.d.ts.map +1 -1
  194. package/dist/web-command.js +1108 -237
  195. package/dist/web-command.js.map +1 -1
  196. package/dist/wizard/from-flags.d.ts +0 -1
  197. package/dist/wizard/from-flags.d.ts.map +1 -1
  198. package/dist/wizard/from-flags.js +1 -8
  199. package/dist/wizard/from-flags.js.map +1 -1
  200. package/dist/wizard/index.d.ts +1 -1
  201. package/dist/wizard/index.d.ts.map +1 -1
  202. package/dist/wizard/index.js +1 -1
  203. package/dist/wizard/index.js.map +1 -1
  204. package/dist/wizard/presets.d.ts +3 -12
  205. package/dist/wizard/presets.d.ts.map +1 -1
  206. package/dist/wizard/presets.js +3 -15
  207. package/dist/wizard/presets.js.map +1 -1
  208. package/dist/wizard/prompts.d.ts.map +1 -1
  209. package/dist/wizard/prompts.js +2 -1
  210. package/dist/wizard/prompts.js.map +1 -1
  211. package/dist/wizard/run.d.ts.map +1 -1
  212. package/dist/wizard/run.js +9 -9
  213. package/dist/wizard/run.js.map +1 -1
  214. package/package.json +15 -15
  215. package/schema/mono-agent.config.schema.json +70 -2
  216. package/skills/mono-agent-composer/SKILL.md +14 -6
  217. package/skills/mono-agent-composer/agents/openai.yaml +1 -1
  218. package/skills/mono-agent-composer/references/config-blueprint.md +30 -9
  219. package/skills/mono-agent-composer/references/discovery-questions.md +10 -5
  220. package/skills/mono-agent-composer/references/feature-coverage.md +14 -12
  221. package/skills/mono-agent-composer/references/package-map.md +10 -3
  222. package/skills/mono-agent-composer/references/playbooks.md +8 -8
  223. package/skills/mono-agent-composer/references/validation.md +4 -2
package/dist/cli-args.js CHANGED
@@ -1,30 +1,71 @@
1
1
  import process from "node:process";
2
2
  import { EFFORT_LEVELS, MAX_AGENT_NAME_LENGTH, } from "@mono-agent/config";
3
3
  import { INTERNAL_LAUNCHD_LOG_MAINTENANCE_COMMAND } from "./launchd.js";
4
- const PUBLIC_COMMANDS = ["init", "setup", "validate", "doctor", "auth", "sandbox", "config", "recipes", "presets", "start", "restart", "stop", "status", "logs", "tui", "web", "install-skill", "backfill", "audit-runs", "metrics", "memory", "continuations"];
4
+ const PUBLIC_COMMANDS = ["init", "setup", "validate", "doctor", "auth", "sandbox", "config", "presets", "start", "restart", "stop", "status", "logs", "tui", "web", "install-skill", "backfill", "runs", "audit-runs", "metrics", "memory", "continuations"];
5
5
  const KNOWN_COMMANDS = [...PUBLIC_COMMANDS, INTERNAL_LAUNCHD_LOG_MAINTENANCE_COMMAND];
6
+ // Canonical (post-normalization) commands that emit a `--json` envelope. This is
7
+ // an allowlist so future commands fail closed until they opt in explicitly. The
8
+ // `install-skill`/`sandbox` entries carry an extra subcommand guard below.
9
+ const JSON_CAPABLE_COMMANDS = [
10
+ "validate",
11
+ "config",
12
+ "presets",
13
+ "status",
14
+ "sandbox",
15
+ "install-skill",
16
+ "runs",
17
+ "memory",
18
+ "continuations",
19
+ ];
20
+ // Human-facing list for the rejection message: the two subcommand-gated surfaces
21
+ // are qualified so the error points at the exact invocation that accepts `--json`.
22
+ const JSON_CAPABLE_COMMANDS_DISPLAY = "validate, config, presets, status, sandbox status, install-skill --project --check, runs, memory, continuations";
23
+ // Commands removed outright before the KNOWN_COMMANDS gate. Parsing throws with the
24
+ // replacement, and runCli maps that parse error to exit code 2 (usage-error).
25
+ // `renderHelpTopic` reuses these so `help <removed>` prints the same pointer.
26
+ export const REMOVED_COMMANDS = new Map([
27
+ ["recipes", "`recipes` was removed; use `mono-agent presets`."],
28
+ ["sessions", "`sessions` was removed; use `mono-agent tui` (recorded-run replay) or `mono-agent web` (live console)."],
29
+ ]);
6
30
  export function parseCliArgs(argv) {
7
31
  const [command, ...rest] = argv;
8
- if (command === undefined || command === "help" || command === "--help" || command === "-h") {
32
+ // `--help`/`-h` and a bare invocation render the plain grouped summary (no topic).
33
+ if (command === undefined || command === "--help" || command === "-h") {
9
34
  return { command: "help", positionals: [], force: false, foreground: false, follow: false, all: false, dryRun: false, includeMemory: false };
10
35
  }
36
+ // `help <topic>` keeps the remaining tokens as positionals so the command
37
+ // handler can render `help <command>` / `help notes` detail views.
38
+ if (command === "help") {
39
+ return { command: "help", positionals: [...rest], force: false, foreground: false, follow: false, all: false, dryRun: false, includeMemory: false };
40
+ }
11
41
  if (command === "version" || command === "--version" || command === "-v") {
12
42
  return { command: "version", positionals: [], force: false, foreground: false, follow: false, all: false, dryRun: false, includeMemory: false };
13
43
  }
44
+ const removed = REMOVED_COMMANDS.get(command);
45
+ if (removed !== undefined) {
46
+ throw new Error(removed);
47
+ }
14
48
  if (!KNOWN_COMMANDS.includes(command)) {
15
49
  throw new Error(`Unknown command \`${command}\`. Expected ${PUBLIC_COMMANDS.join(", ")}.`);
16
50
  }
17
- // `doctor`/`setup`/`recipes` are aliases; normalize here so every downstream
18
- // path (routing, env-file resolution, --consumer) applies unchanged. `doctor`
19
- // `validate`, `setup` → `init`, `recipes` `presets`. The deprecated
20
- // `recipes` branch is removed in v2.0.0; no sunset is set for the other two.
51
+ // `doctor`/`setup` are aliases; normalize here so every downstream path
52
+ // (routing, env-file resolution, --consumer) applies unchanged. `doctor`
53
+ // `validate`, `setup` → `init`. No sunset is set for either.
54
+ //
55
+ // `audit-runs`/`metrics` are deprecated forwarding aliases for the merged
56
+ // `runs` command: `audit-runs` → `runs` with a leading `audit` mode positional,
57
+ // `metrics` → `runs` with a leading `report` mode positional. The injected mode
58
+ // is prepended after the flag loop so user-supplied positionals are preserved,
59
+ // and the dispatcher routes on `positionals[0]`. writeCliDeprecationHints keys
60
+ // the sunset hint off the original argv token (lost after this normalization).
21
61
  const cmd = (command === "doctor"
22
62
  ? "validate"
23
63
  : command === "setup"
24
64
  ? "init"
25
- : command === "recipes"
26
- ? "presets"
65
+ : command === "audit-runs" || command === "metrics"
66
+ ? "runs"
27
67
  : command);
68
+ const injectedRunsMode = command === "audit-runs" ? "audit" : command === "metrics" ? "report" : undefined;
28
69
  if (cmd === INTERNAL_LAUNCHD_LOG_MAINTENANCE_COMMAND
29
70
  && !(rest.length === 2
30
71
  && rest[0] === "--config"
@@ -32,18 +73,16 @@ export function parseCliArgs(argv) {
32
73
  && !rest[1].startsWith("--"))) {
33
74
  throw new Error("The internal launchd log maintenance command accepts only --config <path> and requires it.");
34
75
  }
35
- const isLogs = cmd === "logs";
76
+ const isLogs = cmd === "logs" || (cmd === "web" && rest[0] === "logs");
36
77
  let configPath;
37
78
  let name;
38
79
  let model;
39
- let fallbackModels;
40
80
  const fallbacks = [];
41
81
  let canAssignFallbackEffort = false;
42
82
  let routeSafety;
43
83
  let effort;
44
84
  let memory;
45
85
  let preset;
46
- let recipe;
47
86
  let withChannels;
48
87
  let yes = false;
49
88
  let auth = false;
@@ -53,8 +92,10 @@ export function parseCliArgs(argv) {
53
92
  const positionals = [];
54
93
  let envFile;
55
94
  let expectedBackgroundSnapshot;
95
+ let expectedManagedRuntimeLaunch;
56
96
  let target;
57
97
  let force = false;
98
+ let clearSessions = false;
58
99
  let foreground = false;
59
100
  let follow = false;
60
101
  let lines;
@@ -74,6 +115,7 @@ export function parseCliArgs(argv) {
74
115
  let project = false;
75
116
  let check = false;
76
117
  let update = false;
118
+ let noDocsMcp = false;
77
119
  let staleAfterMs;
78
120
  let json = false;
79
121
  let strict = false;
@@ -85,10 +127,7 @@ export function parseCliArgs(argv) {
85
127
  let backupPath;
86
128
  let host;
87
129
  let port;
88
- let open;
89
- let allowNonLoopback;
90
- let showAuthUrl;
91
- let maxRunsPerInstance;
130
+ let loopback = false;
92
131
  for (let i = 0; i < rest.length; i += 1) {
93
132
  const flag = rest[i];
94
133
  if (flag !== "--fallback-effort")
@@ -153,6 +192,9 @@ export function parseCliArgs(argv) {
153
192
  case "--update":
154
193
  update = true;
155
194
  break;
195
+ case "--no-docs-mcp":
196
+ noDocsMcp = true;
197
+ break;
156
198
  case "--stale-after-ms": {
157
199
  const raw = requireValue(rest, ++i, flag);
158
200
  const parsed = Number(raw);
@@ -207,24 +249,9 @@ export function parseCliArgs(argv) {
207
249
  port = parsed;
208
250
  break;
209
251
  }
210
- case "--no-open":
211
- open = false;
212
- break;
213
- case "--allow-non-loopback":
214
- allowNonLoopback = true;
215
- break;
216
- case "--show-auth-url":
217
- showAuthUrl = true;
218
- break;
219
- case "--max-runs": {
220
- const raw = requireValue(rest, ++i, flag);
221
- const parsed = Number(raw);
222
- if (!Number.isInteger(parsed) || parsed < 1) {
223
- throw new Error("--max-runs must be a positive integer.");
224
- }
225
- maxRunsPerInstance = parsed;
252
+ case "--loopback":
253
+ loopback = true;
226
254
  break;
227
- }
228
255
  case "--model":
229
256
  model = requireValue(rest, ++i, flag);
230
257
  break;
@@ -237,13 +264,10 @@ export function parseCliArgs(argv) {
237
264
  }
238
265
  break;
239
266
  case "--fallback-models":
240
- // Deprecated CLI spelling removed in v2.0.0. The similarly named JSON
241
- // and environment compatibility inputs are separate and remain supported.
242
- fallbackModels = requireValue(rest, ++i, flag)
243
- .split(",")
244
- .map((entry) => entry.trim())
245
- .filter((entry) => entry.length > 0);
246
- break;
267
+ // Removed CLI spelling. The similarly named JSON `runtime.fallbackModels`
268
+ // and `MONO_AGENT_FALLBACK_MODELS` compatibility inputs are separate and
269
+ // remain supported; only this CLI flag is gone.
270
+ throw new Error("`--fallback-models` was removed; repeat `--fallback <ref>` instead.");
247
271
  case "--fallback": {
248
272
  const fallbackModel = requireValue(rest, ++i, flag).trim();
249
273
  if (fallbacks.some((entry) => entry.model === fallbackModel)) {
@@ -299,9 +323,8 @@ export function parseCliArgs(argv) {
299
323
  preset = requireValue(rest, ++i, flag);
300
324
  break;
301
325
  case "--recipe":
302
- // Deprecated init/validate alias removed in v2.0.0.
303
- recipe = requireValue(rest, ++i, flag);
304
- break;
326
+ // Removed init/validate alias.
327
+ throw new Error("`--recipe` was removed; use `--preset <id>`.");
305
328
  case "--yes":
306
329
  yes = true;
307
330
  break;
@@ -334,6 +357,9 @@ export function parseCliArgs(argv) {
334
357
  case "--expected-background-snapshot":
335
358
  expectedBackgroundSnapshot = requireValue(rest, ++i, flag);
336
359
  break;
360
+ case "--expected-managed-runtime-launch":
361
+ expectedManagedRuntimeLaunch = requireValue(rest, ++i, flag);
362
+ break;
337
363
  case "--target": {
338
364
  const raw = requireValue(rest, ++i, flag);
339
365
  if (raw !== "claude" && raw !== "codex" && raw !== "both") {
@@ -345,19 +371,23 @@ export function parseCliArgs(argv) {
345
371
  case "--force":
346
372
  force = true;
347
373
  break;
374
+ case "--clear-sessions":
375
+ clearSessions = true;
376
+ break;
348
377
  case "--foreground":
349
378
  foreground = true;
350
379
  break;
351
380
  case "--follow":
352
381
  follow = true;
353
382
  break;
354
- // `-f` is foreground for start, follow for logs.
383
+ // `-f` means `--follow` on logs only. Its former `start` meaning
384
+ // (`--foreground`) is gone: `-f` on anything else is a usage error.
355
385
  case "-f":
356
386
  if (isLogs) {
357
387
  follow = true;
358
388
  }
359
389
  else {
360
- foreground = true;
390
+ throw new Error("`-f` means `--follow` on `logs`; use `--foreground` with `start`.");
361
391
  }
362
392
  break;
363
393
  case "--lines": {
@@ -376,13 +406,19 @@ export function parseCliArgs(argv) {
376
406
  if (flag.startsWith("--")) {
377
407
  throw new Error(`Unknown flag \`${flag}\` for \`mono-agent ${command}\`.`);
378
408
  }
379
- // Non-flag tokens are positional arguments (e.g. `recipes show <id>`).
409
+ // Non-flag tokens are positional arguments (e.g. `presets show <id>`).
380
410
  positionals.push(flag);
381
411
  break;
382
412
  }
383
413
  }
384
- if (consumerPath !== undefined && cmd !== "validate" && cmd !== "audit-runs") {
385
- throw new Error("--consumer is only supported for `mono-agent validate` and `mono-agent audit-runs`.");
414
+ // Prepend the forwarding-alias mode so `audit-runs`/`metrics` reach the `runs`
415
+ // dispatcher as `runs audit`/`runs report` without clobbering any positionals a
416
+ // user typed after the legacy command name.
417
+ if (injectedRunsMode !== undefined) {
418
+ positionals.unshift(injectedRunsMode);
419
+ }
420
+ if (consumerPath !== undefined && cmd !== "validate" && cmd !== "runs") {
421
+ throw new Error("--consumer is only supported for `mono-agent validate` and `mono-agent runs`.");
386
422
  }
387
423
  if ((local || configure) && cmd !== "tui") {
388
424
  throw new Error("--local and --configure are only supported for `mono-agent tui`.");
@@ -399,17 +435,17 @@ export function parseCliArgs(argv) {
399
435
  if (check && update) {
400
436
  throw new Error("Choose either --check or --update for project skills.");
401
437
  }
402
- if ((host !== undefined
403
- || port !== undefined
404
- || open !== undefined
405
- || allowNonLoopback !== undefined
406
- || showAuthUrl !== undefined
407
- || maxRunsPerInstance !== undefined) &&
408
- cmd !== "web") {
409
- throw new Error("--host, --port, --no-open, --allow-non-loopback, --show-auth-url, and --max-runs are only supported for `mono-agent web`.");
438
+ if (noDocsMcp && cmd !== "install-skill") {
439
+ throw new Error("--no-docs-mcp is only supported for `mono-agent install-skill`.");
440
+ }
441
+ if ((host !== undefined || port !== undefined || loopback) && cmd !== "web") {
442
+ throw new Error("--host, --port, and --loopback are only supported for `mono-agent web`.");
443
+ }
444
+ if (cmd === "web" && (configPath !== undefined || envFile !== undefined)) {
445
+ throw new Error("The machine-wide `mono-agent web` console does not load an agent --config or --env-file.");
410
446
  }
411
- if (includeMemory && cmd !== "audit-runs" && cmd !== "metrics" && cmd !== "backfill" && cmd !== "web") {
412
- throw new Error("--include-memory is only supported for `mono-agent audit-runs`, `mono-agent metrics`, `mono-agent backfill`, and `mono-agent web`.");
447
+ if (includeMemory && cmd !== "runs" && cmd !== "backfill") {
448
+ throw new Error("--include-memory is only supported for `mono-agent runs` and `mono-agent backfill`.");
413
449
  }
414
450
  if (limit !== undefined && cmd !== "memory" && cmd !== "continuations") {
415
451
  throw new Error("--limit is only supported for `mono-agent memory` and `mono-agent continuations list`.");
@@ -439,13 +475,26 @@ export function parseCliArgs(argv) {
439
475
  if (codexAuthMode !== undefined && cmd !== "init" && cmd !== "auth") {
440
476
  throw new Error("--codex-auth is only supported for `mono-agent init` and `mono-agent auth login codex`.");
441
477
  }
442
- if (fallbackModels !== undefined && fallbacks.length > 0) {
443
- throw new Error("Use either legacy --fallback-models or repeated --fallback flags, not both.");
478
+ if (clearSessions && cmd !== "restart") {
479
+ throw new Error("--clear-sessions is only supported for `mono-agent restart`.");
480
+ }
481
+ // `--json` is uniform on the read/status surfaces only. Reject it on the
482
+ // lifecycle/interactive commands (init, auth, start, stop, restart, logs, tui,
483
+ // web, backfill) rather than silently ignoring it. `doctor`/`setup`/
484
+ // `audit-runs`/`metrics` already normalized to their canonical `cmd` above.
485
+ if (json && !JSON_CAPABLE_COMMANDS.includes(cmd)) {
486
+ throw new Error(`--json is not supported for \`mono-agent ${cmd}\`; it is available on ${JSON_CAPABLE_COMMANDS_DISPLAY}.`);
487
+ }
488
+ // `install-skill` exposes JSON only for its read-only drift check.
489
+ if (json && cmd === "install-skill" && !(project && check)) {
490
+ throw new Error("--json is only supported for `mono-agent install-skill --project --check`.");
444
491
  }
445
- if (fallbackModels !== undefined && new Set(fallbackModels).size !== fallbackModels.length) {
446
- throw new Error("--fallback-models contains a duplicate model reference.");
492
+ // `sandbox setup`/`sandbox check` are interactive/side-effecting; only the
493
+ // read-only `sandbox status` emits JSON.
494
+ if (json && cmd === "sandbox" && (positionals[0] === "setup" || positionals[0] === "check")) {
495
+ throw new Error("--json is only supported for `mono-agent sandbox status`, not setup or check.");
447
496
  }
448
- const selectedFallbackModels = fallbackModels ?? fallbacks.map((fallback) => fallback.model);
497
+ const selectedFallbackModels = fallbacks.map((fallback) => fallback.model);
449
498
  if (model !== undefined && selectedFallbackModels.includes(model)) {
450
499
  throw new Error(`Primary --model \`${model}\` cannot also be a fallback.`);
451
500
  }
@@ -454,13 +503,11 @@ export function parseCliArgs(argv) {
454
503
  ...(configPath === undefined ? {} : { configPath }),
455
504
  ...(name === undefined ? {} : { name }),
456
505
  ...(model === undefined ? {} : { model }),
457
- ...(fallbackModels === undefined ? {} : { fallbackModels }),
458
506
  ...(fallbacks.length === 0 ? {} : { fallbacks }),
459
507
  ...(routeSafety === undefined ? {} : { routeSafety }),
460
508
  ...(effort === undefined ? {} : { effort }),
461
509
  ...(memory === undefined ? {} : { memory }),
462
510
  ...(preset === undefined ? {} : { preset }),
463
- ...(recipe === undefined ? {} : { recipe }),
464
511
  ...(withChannels === undefined ? {} : { withChannels }),
465
512
  ...(yes ? { yes } : {}),
466
513
  ...(auth ? { auth } : {}),
@@ -470,8 +517,10 @@ export function parseCliArgs(argv) {
470
517
  positionals,
471
518
  ...(envFile === undefined ? {} : { envFile }),
472
519
  ...(expectedBackgroundSnapshot === undefined ? {} : { expectedBackgroundSnapshot }),
520
+ ...(expectedManagedRuntimeLaunch === undefined ? {} : { expectedManagedRuntimeLaunch }),
473
521
  ...(target === undefined ? {} : { target }),
474
522
  force,
523
+ ...(clearSessions ? { clearSessions } : {}),
475
524
  foreground,
476
525
  follow,
477
526
  ...(lines === undefined ? {} : { lines }),
@@ -500,12 +549,10 @@ export function parseCliArgs(argv) {
500
549
  ...(project ? { project } : {}),
501
550
  ...(check ? { check } : {}),
502
551
  ...(update ? { update } : {}),
552
+ ...(noDocsMcp ? { noDocsMcp } : {}),
503
553
  ...(host === undefined ? {} : { host }),
504
554
  ...(port === undefined ? {} : { port }),
505
- ...(open === undefined ? {} : { open }),
506
- ...(allowNonLoopback === undefined ? {} : { allowNonLoopback }),
507
- ...(showAuthUrl === undefined ? {} : { showAuthUrl }),
508
- ...(maxRunsPerInstance === undefined ? {} : { maxRunsPerInstance }),
555
+ ...(loopback ? { loopback } : {}),
509
556
  };
510
557
  }
511
558
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export declare function ensureStartable(args: ParsedCliArgs, env?: Record<string
36
36
  readonly cwd?: string;
37
37
  readonly configPath?: string;
38
38
  readonly preferAppPluginInstall?: boolean;
39
+ readonly verifiedRuntimeProvenanceDetail?: string;
39
40
  }): Promise<PreflightResult>;
40
41
  export declare function runStart(args: ParsedCliArgs, env?: Record<string, string | undefined>, managedBackgroundWorker?: boolean): Promise<number>;
41
42
  export declare function runBackgroundCommand(args: ParsedCliArgs, command: (typeof BACKGROUND_COMMANDS)[number], env?: Record<string, string | undefined>): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-background-command.d.ts","sourceRoot":"","sources":["../src/cli-background-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,KAAK,EAAkB,YAAY,EAAiB,MAAM,UAAU,CAAC;AAmB5E,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAStE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAWrB,QAAA,MAAM,mBAAmB,yDAA0D,CAAC;AAkBpF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACtG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI7G;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,OAAO,GAAE;IACP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACtC,GACL,OAAO,CAAC,eAAe,CAAC,CAiB1B;AA0BD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACxC,uBAAuB,UAAQ,GAC9B,OAAO,CAAC,MAAM,CAAC,CAKjB;AA0GD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAC7C,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAAC,MAAM,CAAC,CAiFjB;AAED,yFAAyF;AACzF,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,cAAwC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAajB;AAiDD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B1G;AAmFD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQnE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BtF"}
1
+ {"version":3,"file":"cli-background-command.d.ts","sourceRoot":"","sources":["../src/cli-background-command.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,KAAK,EAAkB,YAAY,EAAiB,MAAM,UAAU,CAAC;AAoB5E,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAYtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAYrB,QAAA,MAAM,mBAAmB,yDAA0D,CAAC;AAkBpF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACtG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAI7G;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,OAAO,GAAE;IACP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC9C,GACL,OAAO,CAAC,eAAe,CAAC,CAoB1B;AA0BD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACxC,uBAAuB,UAAQ,GAC9B,OAAO,CAAC,MAAM,CAAC,CAKjB;AAoJD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAC7C,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAAC,MAAM,CAAC,CAmFjB;AAED,yFAAyF;AACzF,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,cAAwC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAajB;AAiDD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1G;AAmFD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAQnE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BtF"}
@@ -1,20 +1,25 @@
1
1
  import { stat } from "node:fs/promises";
2
- import { resolve } from "node:path";
2
+ import { dirname, resolve } from "node:path";
3
3
  import process from "node:process";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { listRecordedRuns } from "@mono-agent/observability";
6
6
  import { describeSandboxEffectiveState, sandboxEffectiveStateWarning, } from "@mono-agent/runtime-adapter";
7
7
  import { startMonoAgentApp } from "./app.js";
8
+ import { startVerifiedManagedMonoAgentApp } from "./app-controller.js";
8
9
  import { describeSensitiveDataExportWarning, phoenixAppBaseUrl, } from "./app-config.js";
9
10
  import { acquireBackgroundWorkerLease, canonicalBackgroundConfigPath, defaultBackgroundDeps, forceRestartBackground, maintainLaunchdLogs, managedBackgroundEnvironment, resolveInstanceTarget, restartBackground, startBackground, statusBackground, stopBackground, tailLogs, } from "./background.js";
10
11
  import { captureBackgroundSnapshot, decodeBackgroundSnapshot, loadDurableBackgroundEnvironment, materializeBackgroundRuntimeInputs, } from "./background-snapshot.js";
12
+ import { verifyManagedRuntimeLaunch } from "./background-runtime.js";
11
13
  import { formatChannelFactValue } from "./channel-fact-format.js";
14
+ import { formatHumanChannelSections } from "./channel-status-display.js";
15
+ import { loadCliEnvFile } from "./cli-args.js";
12
16
  import { validateMonoAgentFolder } from "./doctor.js";
13
17
  import { readCliConfigSnapshot } from "./first-run-readiness.js";
14
18
  import { buildRunsHealthDisplay, RUNS_HEALTH_MAX_RUNS } from "./runs-health.js";
15
19
  import { purgeConversationState } from "./sessions.js";
16
20
  import { launchdLogPathsForConfig } from "./launchd-logs.js";
17
- import { deriveLaunchdLabel } from "./launchd.js";
21
+ import { deriveLaunchdLabel, launchdPathsFor } from "./launchd.js";
22
+ import { waitForManagedRuntimePublication } from "./managed-runtime-publication.js";
18
23
  import * as ui from "./ui.js";
19
24
  const DEFAULT_LOG_LINES = 200;
20
25
  // Node's maximum setInterval/setTimeout delay (2^31 - 1 ms, ~24.8 days).
@@ -56,6 +61,9 @@ export async function ensureStartable(args, env = process.env, options = {}) {
56
61
  configPath,
57
62
  liveness: false,
58
63
  ...(options.preferAppPluginInstall === true ? { preferAppPluginInstall: true } : {}),
64
+ ...(options.verifiedRuntimeProvenanceDetail === undefined
65
+ ? {}
66
+ : { verifiedRuntimeProvenanceDetail: options.verifiedRuntimeProvenanceDetail }),
59
67
  });
60
68
  if (!report.ok) {
61
69
  return { ok: false, code: 1, kind: "validation", report };
@@ -99,6 +107,38 @@ export async function runStart(args, env, managedBackgroundWorker = false) {
99
107
  async function runForeground(args, env = process.env, managedBackgroundWorker = false) {
100
108
  const cwd = process.cwd();
101
109
  const configPath = await canonicalBackgroundConfigPath(cwd, args.configPath);
110
+ let managedRuntime;
111
+ if (managedBackgroundWorker) {
112
+ try {
113
+ const label = deriveLaunchdLabel(configPath);
114
+ const paths = launchdPathsFor(label);
115
+ await waitForManagedRuntimePublication({
116
+ label,
117
+ managedRoot: dirname(paths.logDir),
118
+ });
119
+ if (args.expectedBackgroundSnapshot === undefined) {
120
+ process.stderr.write(ui.errorLine("Managed LaunchAgent worker is missing its approved background snapshot."));
121
+ return 0;
122
+ }
123
+ if (args.expectedManagedRuntimeLaunch === undefined) {
124
+ process.stderr.write(ui.errorLine("Managed LaunchAgent worker is missing its finalized runtime proof."));
125
+ return 0;
126
+ }
127
+ managedRuntime = await verifyManagedRuntimeLaunch({
128
+ currentCliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
129
+ launchProof: args.expectedManagedRuntimeLaunch,
130
+ });
131
+ }
132
+ catch (error) {
133
+ process.stderr.write(ui.errorLine(`Managed worker could not verify its finalized runtime: ${error instanceof Error ? error.message : String(error)}`));
134
+ // KeepAlive restarts only unsuccessful exits. A controller must publish a
135
+ // fresh proven plist before this worker can safely recover.
136
+ return 0;
137
+ }
138
+ }
139
+ if (managedBackgroundWorker) {
140
+ loadCliEnvFile(resolve(cwd, args.envFile ?? ".env"));
141
+ }
102
142
  const startupEnvironment = { ...env };
103
143
  let lease;
104
144
  try {
@@ -138,13 +178,18 @@ async function runForeground(args, env = process.env, managedBackgroundWorker =
138
178
  }
139
179
  }
140
180
  const preflightEnvironment = runtimeInputs?.environment ?? startupEnvironment;
141
- const pre = await ensureStartable(args, preflightEnvironment, runtimeInputs === undefined
142
- ? {}
143
- : {
144
- cwd,
145
- configPath: runtimeInputs.configPath,
146
- preferAppPluginInstall: true,
147
- });
181
+ const pre = await ensureStartable(args, preflightEnvironment, {
182
+ ...(runtimeInputs === undefined
183
+ ? {}
184
+ : {
185
+ cwd,
186
+ configPath: runtimeInputs.configPath,
187
+ preferAppPluginInstall: true,
188
+ }),
189
+ ...(managedRuntime === undefined
190
+ ? {}
191
+ : { verifiedRuntimeProvenanceDetail: managedRuntime.provenanceDetail }),
192
+ });
148
193
  if (!pre.ok) {
149
194
  printPreflightFailure(pre);
150
195
  return managedBackgroundWorker ? 0 : pre.code;
@@ -156,14 +201,17 @@ async function runForeground(args, env = process.env, managedBackgroundWorker =
156
201
  process.stderr.write(ui.errorLine(`Cannot establish the foreground config identity: ${error instanceof Error ? error.message : String(error)}`));
157
202
  return managedBackgroundWorker ? 0 : 1;
158
203
  }
159
- app = await startMonoAgentApp({
204
+ const appOptions = {
160
205
  cwd,
161
206
  configPath,
162
207
  ...(runtimeInputs === undefined ? {} : { configReadPath: runtimeInputs.configPath }),
163
208
  env: runtimeInputs?.environment ?? startupEnvironment,
164
209
  logger: consoleLogger(),
165
210
  ...(backgroundSnapshot === undefined ? {} : { backgroundSnapshot }),
166
- });
211
+ };
212
+ app = managedRuntime === undefined
213
+ ? await startMonoAgentApp(appOptions)
214
+ : await startVerifiedManagedMonoAgentApp(appOptions, managedRuntime);
167
215
  await printAppStatus(app);
168
216
  // Block until a shutdown signal. Returning here (the old behavior) let the
169
217
  // process exit immediately whenever no channel owned a live handle — e.g. a
@@ -242,13 +290,15 @@ export async function runBackgroundCommand(args, command, env = process.env) {
242
290
  case "start":
243
291
  return await startBackground(target, deps);
244
292
  case "restart":
245
- return args.force
293
+ // `--clear-sessions` is the canonical spelling; `--force` is the retained
294
+ // deprecated alias (see writeCliDeprecationHints).
295
+ return args.clearSessions === true || args.force
246
296
  ? await runForceRestart(target, deps, controllerEnvironment)
247
297
  : await restartBackground(target, deps);
248
298
  case "stop":
249
299
  return await stopBackground(target, deps);
250
300
  case "status":
251
- return await statusBackground(target, deps);
301
+ return await statusBackground(target, deps, { json: args.json === true });
252
302
  case "logs":
253
303
  return await tailLogs(target, deps, { follow: args.follow, lines: args.lines ?? DEFAULT_LOG_LINES });
254
304
  }
@@ -328,9 +378,15 @@ export async function printAppStatus(app, options = {}) {
328
378
  process.stdout.write(` ${describeExporter(app.exporterStatus, artifactDir)}\n`);
329
379
  const channels = [...app.channelStatuses()];
330
380
  if (channels.length > 0) {
331
- process.stdout.write(ui.rule("channels"));
332
- for (const [id, status] of channels) {
333
- process.stdout.write(` ${ui.channelBadge(status.kind)}${ui.style.bold(id.padEnd(11))} ${describeChannelStatus(status)}\n`);
381
+ const sections = formatHumanChannelSections(channels.map(([id, status]) => ({
382
+ id,
383
+ kind: status.kind,
384
+ text: describeChannelStatus(status),
385
+ })));
386
+ for (const section of sections) {
387
+ process.stdout.write(ui.rule(section.title));
388
+ for (const line of section.lines)
389
+ process.stdout.write(`${line}\n`);
334
390
  }
335
391
  }
336
392
  await writeAppRunsHealthDetail(app, options);