@mono-agent/agent-app 0.11.2 → 0.11.4

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 (374) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +222 -26
  3. package/dist/adapter-send-tools-main.js +7 -1
  4. package/dist/adapter-send-tools-main.js.map +1 -1
  5. package/dist/adapter-send-tools.d.ts +19 -1
  6. package/dist/adapter-send-tools.d.ts.map +1 -1
  7. package/dist/adapter-send-tools.js +127 -13
  8. package/dist/adapter-send-tools.js.map +1 -1
  9. package/dist/app-config.d.ts.map +1 -1
  10. package/dist/app-config.js +15 -2
  11. package/dist/app-config.js.map +1 -1
  12. package/dist/app-controller-channels.d.ts +8 -0
  13. package/dist/app-controller-channels.d.ts.map +1 -0
  14. package/dist/app-controller-channels.js +207 -0
  15. package/dist/app-controller-channels.js.map +1 -0
  16. package/dist/app-controller-continuation.d.ts +26 -0
  17. package/dist/app-controller-continuation.d.ts.map +1 -0
  18. package/dist/app-controller-continuation.js +198 -0
  19. package/dist/app-controller-continuation.js.map +1 -0
  20. package/dist/app-controller-lifecycle.d.ts +6 -0
  21. package/dist/app-controller-lifecycle.d.ts.map +1 -0
  22. package/dist/app-controller-lifecycle.js +81 -0
  23. package/dist/app-controller-lifecycle.js.map +1 -0
  24. package/dist/app-controller-maintenance.d.ts +13 -0
  25. package/dist/app-controller-maintenance.d.ts.map +1 -0
  26. package/dist/app-controller-maintenance.js +180 -0
  27. package/dist/app-controller-maintenance.js.map +1 -0
  28. package/dist/app-controller-memory-health.d.ts +12 -0
  29. package/dist/app-controller-memory-health.d.ts.map +1 -0
  30. package/dist/app-controller-memory-health.js +160 -0
  31. package/dist/app-controller-memory-health.js.map +1 -0
  32. package/dist/app-controller-memory.d.ts +9 -0
  33. package/dist/app-controller-memory.d.ts.map +1 -0
  34. package/dist/app-controller-memory.js +83 -0
  35. package/dist/app-controller-memory.js.map +1 -0
  36. package/dist/app-controller-responder.d.ts +20 -0
  37. package/dist/app-controller-responder.d.ts.map +1 -0
  38. package/dist/app-controller-responder.js +246 -0
  39. package/dist/app-controller-responder.js.map +1 -0
  40. package/dist/app-controller-traceability.d.ts +25 -0
  41. package/dist/app-controller-traceability.d.ts.map +1 -0
  42. package/dist/app-controller-traceability.js +418 -0
  43. package/dist/app-controller-traceability.js.map +1 -0
  44. package/dist/app-controller-utils.d.ts +38 -0
  45. package/dist/app-controller-utils.d.ts.map +1 -0
  46. package/dist/app-controller-utils.js +185 -0
  47. package/dist/app-controller-utils.js.map +1 -0
  48. package/dist/app-controller.d.ts +400 -0
  49. package/dist/app-controller.d.ts.map +1 -0
  50. package/dist/app-controller.js +336 -0
  51. package/dist/app-controller.js.map +1 -0
  52. package/dist/app.d.ts +7 -115
  53. package/dist/app.d.ts.map +1 -1
  54. package/dist/app.js +6 -1912
  55. package/dist/app.js.map +1 -1
  56. package/dist/artifact-retention.d.ts +4 -0
  57. package/dist/artifact-retention.d.ts.map +1 -1
  58. package/dist/artifact-retention.js +38 -0
  59. package/dist/artifact-retention.js.map +1 -1
  60. package/dist/backfill.d.ts +3 -1
  61. package/dist/backfill.d.ts.map +1 -1
  62. package/dist/backfill.js +5 -1
  63. package/dist/backfill.js.map +1 -1
  64. package/dist/background-runtime.d.ts +27 -0
  65. package/dist/background-runtime.d.ts.map +1 -1
  66. package/dist/background-runtime.js +383 -205
  67. package/dist/background-runtime.js.map +1 -1
  68. package/dist/background-worker-lease.d.ts.map +1 -1
  69. package/dist/background-worker-lease.js +41 -241
  70. package/dist/background-worker-lease.js.map +1 -1
  71. package/dist/background.d.ts +31 -9
  72. package/dist/background.d.ts.map +1 -1
  73. package/dist/background.js +543 -272
  74. package/dist/background.js.map +1 -1
  75. package/dist/channel-drivers/cron.d.ts +11 -0
  76. package/dist/channel-drivers/cron.d.ts.map +1 -0
  77. package/dist/channel-drivers/cron.js +168 -0
  78. package/dist/channel-drivers/cron.js.map +1 -0
  79. package/dist/channel-drivers/live.d.ts +11 -0
  80. package/dist/channel-drivers/live.d.ts.map +1 -0
  81. package/dist/channel-drivers/live.js +47 -0
  82. package/dist/channel-drivers/live.js.map +1 -0
  83. package/dist/channel-drivers/native-notify.d.ts +27 -0
  84. package/dist/channel-drivers/native-notify.d.ts.map +1 -0
  85. package/dist/channel-drivers/native-notify.js +94 -0
  86. package/dist/channel-drivers/native-notify.js.map +1 -0
  87. package/dist/channel-drivers/openai-api.d.ts +7 -0
  88. package/dist/channel-drivers/openai-api.d.ts.map +1 -0
  89. package/dist/channel-drivers/openai-api.js +63 -0
  90. package/dist/channel-drivers/openai-api.js.map +1 -0
  91. package/dist/channel-drivers/shared.d.ts +4 -0
  92. package/dist/channel-drivers/shared.d.ts.map +1 -0
  93. package/dist/channel-drivers/shared.js +5 -0
  94. package/dist/channel-drivers/shared.js.map +1 -0
  95. package/dist/channel-drivers/slack.d.ts +14 -0
  96. package/dist/channel-drivers/slack.d.ts.map +1 -0
  97. package/dist/channel-drivers/slack.js +227 -0
  98. package/dist/channel-drivers/slack.js.map +1 -0
  99. package/dist/channel-drivers/telegram.d.ts +11 -0
  100. package/dist/channel-drivers/telegram.d.ts.map +1 -0
  101. package/dist/channel-drivers/telegram.js +244 -0
  102. package/dist/channel-drivers/telegram.js.map +1 -0
  103. package/dist/channel-drivers/tui.d.ts +15 -0
  104. package/dist/channel-drivers/tui.d.ts.map +1 -0
  105. package/dist/channel-drivers/tui.js +108 -0
  106. package/dist/channel-drivers/tui.js.map +1 -0
  107. package/dist/channel-drivers/webhook.d.ts +7 -0
  108. package/dist/channel-drivers/webhook.d.ts.map +1 -0
  109. package/dist/channel-drivers/webhook.js +115 -0
  110. package/dist/channel-drivers/webhook.js.map +1 -0
  111. package/dist/channels.d.ts +21 -81
  112. package/dist/channels.d.ts.map +1 -1
  113. package/dist/channels.js +11 -1174
  114. package/dist/channels.js.map +1 -1
  115. package/dist/cli-args.d.ts +121 -0
  116. package/dist/cli-args.d.ts.map +1 -0
  117. package/dist/cli-args.js +532 -0
  118. package/dist/cli-args.js.map +1 -0
  119. package/dist/cli-background-command.d.ts +59 -0
  120. package/dist/cli-background-command.d.ts.map +1 -0
  121. package/dist/cli-background-command.js +475 -0
  122. package/dist/cli-background-command.js.map +1 -0
  123. package/dist/cli-cancellation.d.ts +6 -0
  124. package/dist/cli-cancellation.d.ts.map +1 -0
  125. package/dist/cli-cancellation.js +23 -0
  126. package/dist/cli-cancellation.js.map +1 -0
  127. package/dist/cli-commands.d.ts +12 -0
  128. package/dist/cli-commands.d.ts.map +1 -0
  129. package/dist/cli-commands.js +306 -0
  130. package/dist/cli-commands.js.map +1 -0
  131. package/dist/cli-help.d.ts +11 -0
  132. package/dist/cli-help.d.ts.map +1 -0
  133. package/dist/cli-help.js +262 -0
  134. package/dist/cli-help.js.map +1 -0
  135. package/dist/cli-init-command.d.ts +60 -0
  136. package/dist/cli-init-command.d.ts.map +1 -0
  137. package/dist/cli-init-command.js +1910 -0
  138. package/dist/cli-init-command.js.map +1 -0
  139. package/dist/cli-install-skill-command.d.ts +3 -0
  140. package/dist/cli-install-skill-command.d.ts.map +1 -0
  141. package/dist/cli-install-skill-command.js +51 -0
  142. package/dist/cli-install-skill-command.js.map +1 -0
  143. package/dist/cli-sandbox-command.d.ts +10 -0
  144. package/dist/cli-sandbox-command.d.ts.map +1 -0
  145. package/dist/cli-sandbox-command.js +100 -0
  146. package/dist/cli-sandbox-command.js.map +1 -0
  147. package/dist/cli-validate-config-command.d.ts +36 -0
  148. package/dist/cli-validate-config-command.d.ts.map +1 -0
  149. package/dist/cli-validate-config-command.js +317 -0
  150. package/dist/cli-validate-config-command.js.map +1 -0
  151. package/dist/cli.d.ts +6 -248
  152. package/dist/cli.d.ts.map +1 -1
  153. package/dist/cli.js +6 -3792
  154. package/dist/cli.js.map +1 -1
  155. package/dist/config-reference.d.ts +2 -1
  156. package/dist/config-reference.d.ts.map +1 -1
  157. package/dist/config-reference.js +34 -8
  158. package/dist/config-reference.js.map +1 -1
  159. package/dist/configured-agent.d.ts +23 -0
  160. package/dist/configured-agent.d.ts.map +1 -1
  161. package/dist/configured-agent.js +92 -13
  162. package/dist/configured-agent.js.map +1 -1
  163. package/dist/continuation-dispatch-worker.d.ts +21 -0
  164. package/dist/continuation-dispatch-worker.d.ts.map +1 -0
  165. package/dist/continuation-dispatch-worker.js +425 -0
  166. package/dist/continuation-dispatch-worker.js.map +1 -0
  167. package/dist/continuation-http-routes.d.ts +15 -0
  168. package/dist/continuation-http-routes.d.ts.map +1 -0
  169. package/dist/continuation-http-routes.js +265 -0
  170. package/dist/continuation-http-routes.js.map +1 -0
  171. package/dist/continuation-operator-api.d.ts +18 -0
  172. package/dist/continuation-operator-api.d.ts.map +1 -0
  173. package/dist/continuation-operator-api.js +164 -0
  174. package/dist/continuation-operator-api.js.map +1 -0
  175. package/dist/continuation-origin-store.d.ts +19 -0
  176. package/dist/continuation-origin-store.d.ts.map +1 -0
  177. package/dist/continuation-origin-store.js +273 -0
  178. package/dist/continuation-origin-store.js.map +1 -0
  179. package/dist/continuation-service-errors.d.ts +18 -0
  180. package/dist/continuation-service-errors.d.ts.map +1 -0
  181. package/dist/continuation-service-errors.js +35 -0
  182. package/dist/continuation-service-errors.js.map +1 -0
  183. package/dist/continuation-service-helpers.d.ts +39 -0
  184. package/dist/continuation-service-helpers.d.ts.map +1 -0
  185. package/dist/continuation-service-helpers.js +308 -0
  186. package/dist/continuation-service-helpers.js.map +1 -0
  187. package/dist/continuation-service-origin.d.ts +55 -0
  188. package/dist/continuation-service-origin.d.ts.map +1 -0
  189. package/dist/continuation-service-origin.js +325 -0
  190. package/dist/continuation-service-origin.js.map +1 -0
  191. package/dist/continuation-service-types.d.ts +110 -0
  192. package/dist/continuation-service-types.d.ts.map +1 -0
  193. package/dist/continuation-service-types.js +11 -0
  194. package/dist/continuation-service-types.js.map +1 -0
  195. package/dist/continuation-service.d.ts +4 -97
  196. package/dist/continuation-service.d.ts.map +1 -1
  197. package/dist/continuation-service.js +9 -1525
  198. package/dist/continuation-service.js.map +1 -1
  199. package/dist/continuation-store-fs.d.ts +15 -0
  200. package/dist/continuation-store-fs.d.ts.map +1 -0
  201. package/dist/continuation-store-fs.js +247 -0
  202. package/dist/continuation-store-fs.js.map +1 -0
  203. package/dist/continuation-store-policy.d.ts +21 -0
  204. package/dist/continuation-store-policy.d.ts.map +1 -0
  205. package/dist/continuation-store-policy.js +278 -0
  206. package/dist/continuation-store-policy.js.map +1 -0
  207. package/dist/continuation-store-records.d.ts +9 -0
  208. package/dist/continuation-store-records.d.ts.map +1 -0
  209. package/dist/continuation-store-records.js +221 -0
  210. package/dist/continuation-store-records.js.map +1 -0
  211. package/dist/continuation-store-types.d.ts +173 -0
  212. package/dist/continuation-store-types.d.ts.map +1 -0
  213. package/dist/continuation-store-types.js +26 -0
  214. package/dist/continuation-store-types.js.map +1 -0
  215. package/dist/continuation-store.d.ts +4 -138
  216. package/dist/continuation-store.d.ts.map +1 -1
  217. package/dist/continuation-store.js +145 -1049
  218. package/dist/continuation-store.js.map +1 -1
  219. package/dist/doctor.d.ts +10 -5
  220. package/dist/doctor.d.ts.map +1 -1
  221. package/dist/doctor.js +629 -58
  222. package/dist/doctor.js.map +1 -1
  223. package/dist/init.d.ts +2 -0
  224. package/dist/init.d.ts.map +1 -1
  225. package/dist/init.js +92 -239
  226. package/dist/init.js.map +1 -1
  227. package/dist/interaction-bridge.d.ts +19 -0
  228. package/dist/interaction-bridge.d.ts.map +1 -1
  229. package/dist/interaction-bridge.js +130 -0
  230. package/dist/interaction-bridge.js.map +1 -1
  231. package/dist/launchd-logs.d.ts +91 -0
  232. package/dist/launchd-logs.d.ts.map +1 -0
  233. package/dist/launchd-logs.js +1499 -0
  234. package/dist/launchd-logs.js.map +1 -0
  235. package/dist/launchd.d.ts +27 -0
  236. package/dist/launchd.d.ts.map +1 -1
  237. package/dist/launchd.js +89 -10
  238. package/dist/launchd.js.map +1 -1
  239. package/dist/memory-command.d.ts +2 -0
  240. package/dist/memory-command.d.ts.map +1 -1
  241. package/dist/memory-command.js +161 -48
  242. package/dist/memory-command.js.map +1 -1
  243. package/dist/memory-recall-settings.d.ts +64 -0
  244. package/dist/memory-recall-settings.d.ts.map +1 -0
  245. package/dist/memory-recall-settings.js +51 -0
  246. package/dist/memory-recall-settings.js.map +1 -0
  247. package/dist/memory-recall.d.ts +7 -95
  248. package/dist/memory-recall.d.ts.map +1 -1
  249. package/dist/memory-recall.js +8 -143
  250. package/dist/memory-recall.js.map +1 -1
  251. package/dist/memory-rituals.d.ts +3 -3
  252. package/dist/memory-rituals.d.ts.map +1 -1
  253. package/dist/memory-rituals.js +16 -111
  254. package/dist/memory-rituals.js.map +1 -1
  255. package/dist/modules/catalog.js +2 -2
  256. package/dist/modules/catalog.js.map +1 -1
  257. package/dist/modules/known-tools.d.ts +8 -6
  258. package/dist/modules/known-tools.d.ts.map +1 -1
  259. package/dist/modules/known-tools.js +8 -6
  260. package/dist/modules/known-tools.js.map +1 -1
  261. package/dist/notify-destinations.d.ts +5 -0
  262. package/dist/notify-destinations.d.ts.map +1 -1
  263. package/dist/notify-destinations.js +7 -1
  264. package/dist/notify-destinations.js.map +1 -1
  265. package/dist/owner-private-lock.d.ts +95 -0
  266. package/dist/owner-private-lock.d.ts.map +1 -0
  267. package/dist/owner-private-lock.js +566 -0
  268. package/dist/owner-private-lock.js.map +1 -0
  269. package/dist/pi-oauth-login.d.ts +2 -0
  270. package/dist/pi-oauth-login.d.ts.map +1 -1
  271. package/dist/pi-oauth-login.js +39 -5
  272. package/dist/pi-oauth-login.js.map +1 -1
  273. package/dist/posted-message-index.d.ts +35 -16
  274. package/dist/posted-message-index.d.ts.map +1 -1
  275. package/dist/posted-message-index.js +1068 -52
  276. package/dist/posted-message-index.js.map +1 -1
  277. package/dist/posted-reply-history.d.ts +17 -0
  278. package/dist/posted-reply-history.d.ts.map +1 -0
  279. package/dist/posted-reply-history.js +169 -0
  280. package/dist/posted-reply-history.js.map +1 -0
  281. package/dist/proactive-notify.d.ts.map +1 -1
  282. package/dist/proactive-notify.js +6 -4
  283. package/dist/proactive-notify.js.map +1 -1
  284. package/dist/project-skills.d.ts +4 -0
  285. package/dist/project-skills.d.ts.map +1 -1
  286. package/dist/project-skills.js +99 -130
  287. package/dist/project-skills.js.map +1 -1
  288. package/dist/provider-setup.d.ts +0 -1
  289. package/dist/provider-setup.d.ts.map +1 -1
  290. package/dist/provider-setup.js +0 -3
  291. package/dist/provider-setup.js.map +1 -1
  292. package/dist/readiness-probe-worker.d.ts +61 -1
  293. package/dist/readiness-probe-worker.d.ts.map +1 -1
  294. package/dist/readiness-probe-worker.js +54 -58
  295. package/dist/readiness-probe-worker.js.map +1 -1
  296. package/dist/readiness-probe.d.ts +6 -9
  297. package/dist/readiness-probe.d.ts.map +1 -1
  298. package/dist/readiness-probe.js +30 -56
  299. package/dist/readiness-probe.js.map +1 -1
  300. package/dist/redact-secrets.d.ts +15 -0
  301. package/dist/redact-secrets.d.ts.map +1 -0
  302. package/dist/redact-secrets.js +65 -0
  303. package/dist/redact-secrets.js.map +1 -0
  304. package/dist/run-history.js +34 -24
  305. package/dist/run-history.js.map +1 -1
  306. package/dist/runtime-provenance.d.ts +8 -0
  307. package/dist/runtime-provenance.d.ts.map +1 -0
  308. package/dist/runtime-provenance.js +225 -0
  309. package/dist/runtime-provenance.js.map +1 -0
  310. package/dist/sandbox-manager.d.ts +4 -1
  311. package/dist/sandbox-manager.d.ts.map +1 -1
  312. package/dist/sandbox-manager.js +114 -273
  313. package/dist/sandbox-manager.js.map +1 -1
  314. package/dist/secure-file-replace.d.ts +49 -0
  315. package/dist/secure-file-replace.d.ts.map +1 -0
  316. package/dist/secure-file-replace.js +270 -0
  317. package/dist/secure-file-replace.js.map +1 -0
  318. package/dist/seen-conversations.d.ts +32 -5
  319. package/dist/seen-conversations.d.ts.map +1 -1
  320. package/dist/seen-conversations.js +145 -15
  321. package/dist/seen-conversations.js.map +1 -1
  322. package/dist/sessions.d.ts +20 -0
  323. package/dist/sessions.d.ts.map +1 -1
  324. package/dist/sessions.js +41 -6
  325. package/dist/sessions.js.map +1 -1
  326. package/dist/wizard/index.d.ts +2 -2
  327. package/dist/wizard/index.d.ts.map +1 -1
  328. package/dist/wizard/index.js +1 -1
  329. package/dist/wizard/index.js.map +1 -1
  330. package/dist/wizard/presets.d.ts +2 -1
  331. package/dist/wizard/presets.d.ts.map +1 -1
  332. package/dist/wizard/presets.js +2 -1
  333. package/dist/wizard/presets.js.map +1 -1
  334. package/dist/wizard/run.d.ts +0 -26
  335. package/dist/wizard/run.d.ts.map +1 -1
  336. package/dist/wizard/run.js +0 -53
  337. package/dist/wizard/run.js.map +1 -1
  338. package/package.json +22 -17
  339. package/schema/mono-agent.config.schema.json +45 -10
  340. package/skills/mono-agent-composer/SKILL.md +3 -3
  341. package/skills/mono-agent-composer/references/config-blueprint.md +123 -29
  342. package/skills/mono-agent-composer/references/discovery-questions.md +10 -8
  343. package/skills/mono-agent-composer/references/feature-coverage.md +90 -76
  344. package/skills/mono-agent-composer/references/package-map.md +6 -4
  345. package/skills/mono-agent-composer/references/playbooks.md +48 -27
  346. package/skills/mono-agent-composer/references/validation.md +16 -3
  347. package/dist/notify-runtime.d.ts +0 -26
  348. package/dist/notify-runtime.d.ts.map +0 -1
  349. package/dist/notify-runtime.js +0 -27
  350. package/dist/notify-runtime.js.map +0 -1
  351. package/dist/notify-tool.d.ts +0 -51
  352. package/dist/notify-tool.d.ts.map +0 -1
  353. package/dist/notify-tool.js +0 -182
  354. package/dist/notify-tool.js.map +0 -1
  355. package/dist/recipes/base.d.ts +0 -15
  356. package/dist/recipes/base.d.ts.map +0 -1
  357. package/dist/recipes/base.js +0 -51
  358. package/dist/recipes/base.js.map +0 -1
  359. package/dist/recipes/catalog.d.ts +0 -4
  360. package/dist/recipes/catalog.d.ts.map +0 -1
  361. package/dist/recipes/catalog.js +0 -525
  362. package/dist/recipes/catalog.js.map +0 -1
  363. package/dist/recipes/index.d.ts +0 -11
  364. package/dist/recipes/index.d.ts.map +0 -1
  365. package/dist/recipes/index.js +0 -14
  366. package/dist/recipes/index.js.map +0 -1
  367. package/dist/recipes/types.d.ts +0 -70
  368. package/dist/recipes/types.d.ts.map +0 -1
  369. package/dist/recipes/types.js +0 -15
  370. package/dist/recipes/types.js.map +0 -1
  371. package/dist/setup.d.ts +0 -29
  372. package/dist/setup.d.ts.map +0 -1
  373. package/dist/setup.js +0 -97
  374. package/dist/setup.js.map +0 -1
@@ -0,0 +1,475 @@
1
+ import { stat } from "node:fs/promises";
2
+ import { resolve } from "node:path";
3
+ import process from "node:process";
4
+ import { fileURLToPath } from "node:url";
5
+ import { listRecordedRuns } from "@mono-agent/observability";
6
+ import { describeSandboxEffectiveState, sandboxEffectiveStateWarning, } from "@mono-agent/runtime-adapter";
7
+ import { startMonoAgentApp } from "./app.js";
8
+ import { describeSensitiveDataExportWarning, phoenixAppBaseUrl, } from "./app-config.js";
9
+ import { acquireBackgroundWorkerLease, canonicalBackgroundConfigPath, defaultBackgroundDeps, forceRestartBackground, maintainLaunchdLogs, managedBackgroundEnvironment, resolveInstanceTarget, restartBackground, startBackground, statusBackground, stopBackground, tailLogs, } from "./background.js";
10
+ import { captureBackgroundSnapshot, decodeBackgroundSnapshot, loadDurableBackgroundEnvironment, materializeBackgroundRuntimeInputs, } from "./background-snapshot.js";
11
+ import { formatChannelFactValue } from "./channel-fact-format.js";
12
+ import { validateMonoAgentFolder } from "./doctor.js";
13
+ import { readCliConfigSnapshot } from "./first-run-readiness.js";
14
+ import { buildRunsHealthDisplay, RUNS_HEALTH_MAX_RUNS } from "./runs-health.js";
15
+ import { purgeConversationState } from "./sessions.js";
16
+ import { launchdLogPathsForConfig } from "./launchd-logs.js";
17
+ import { deriveLaunchdLabel } from "./launchd.js";
18
+ import * as ui from "./ui.js";
19
+ const DEFAULT_LOG_LINES = 200;
20
+ // Node's maximum setInterval/setTimeout delay (2^31 - 1 ms, ~24.8 days).
21
+ const KEEP_ALIVE_INTERVAL_MS = 2_147_483_647;
22
+ const BACKGROUND_COMMANDS = ["start", "restart", "stop", "status", "logs"];
23
+ function formatSection(section) {
24
+ let out = `${ui.badge(section.status)}${ui.style.bold(section.label)}\n`;
25
+ for (const detail of section.details) {
26
+ out += ` ${colorDetail(section.status, detail)}\n`;
27
+ }
28
+ return out;
29
+ }
30
+ function colorDetail(status, detail) {
31
+ if (status === "error")
32
+ return ui.style.red(detail);
33
+ if (detail.startsWith("[WARN]") || detail.startsWith("WARNING:")) {
34
+ return ui.style.yellow(detail);
35
+ }
36
+ return ui.style.dim(detail);
37
+ }
38
+ /**
39
+ * Gate for `start`/`restart`: refuse unless the directory has a present, valid
40
+ * config. First the config FILE must exist (env vars alone are not enough — a
41
+ * folder without a config is not a configured agent). Then run the structural
42
+ * validation with `liveness:false` (network probes only yield `waiting`, never
43
+ * `error`, so skipping them keeps the verdict while avoiding bounded network
44
+ * timeouts) and refuse on any `error` section. `waiting` (e.g.
45
+ * Ollama/Supermemory/Phoenix not up yet) is runtime-soft and never blocks.
46
+ */
47
+ export async function ensureStartable(args, env = process.env, options = {}) {
48
+ const cwd = options.cwd ?? process.cwd();
49
+ const configPath = options.configPath ?? resolve(cwd, args.configPath ?? "mono-agent.config.json");
50
+ if (!(await pathExists(configPath))) {
51
+ return { ok: false, code: 2, kind: "missing-config", configPath };
52
+ }
53
+ const report = await validateMonoAgentFolder({
54
+ env,
55
+ cwd,
56
+ configPath,
57
+ liveness: false,
58
+ ...(options.preferAppPluginInstall === true ? { preferAppPluginInstall: true } : {}),
59
+ });
60
+ if (!report.ok) {
61
+ return { ok: false, code: 1, kind: "validation", report };
62
+ }
63
+ return { ok: true };
64
+ }
65
+ function printPreflightFailure(result) {
66
+ if (result.kind === "missing-config") {
67
+ process.stderr.write(ui.errorLine(`No mono-agent config found at ${result.configPath}.`));
68
+ process.stderr.write(ui.hint("Run `mono-agent init` to scaffold one, or pass --config <path>."));
69
+ return;
70
+ }
71
+ process.stderr.write(ui.heading("Cannot start: config has errors"));
72
+ for (const section of result.report.sections) {
73
+ if (section.status === "error") {
74
+ process.stderr.write(formatSection(section));
75
+ }
76
+ }
77
+ process.stderr.write(ui.hint("Run `mono-agent validate` for the full report, fix the errors, then retry."));
78
+ }
79
+ async function pathExists(path) {
80
+ try {
81
+ await stat(path);
82
+ return true;
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ export async function runStart(args, env, managedBackgroundWorker = false) {
89
+ if (args.foreground) {
90
+ return await runForeground(args, env, managedBackgroundWorker);
91
+ }
92
+ return await runBackgroundCommand(args, "start", env);
93
+ }
94
+ /**
95
+ * The blocking worker: builds the responder, starts every configured channel
96
+ * plus traceability, and stays alive until a signal. This is what launchd
97
+ * invokes (via `start --foreground`) and what users get with `--foreground`/`-f`.
98
+ */
99
+ async function runForeground(args, env = process.env, managedBackgroundWorker = false) {
100
+ const cwd = process.cwd();
101
+ const configPath = await canonicalBackgroundConfigPath(cwd, args.configPath);
102
+ const startupEnvironment = { ...env };
103
+ let lease;
104
+ try {
105
+ lease = await acquireBackgroundWorkerLease(configPath);
106
+ }
107
+ catch (error) {
108
+ process.stderr.write(ui.errorLine(`Could not acquire the worker singleton lease: ${error instanceof Error ? error.message : String(error)}`));
109
+ return 1;
110
+ }
111
+ if (lease === undefined) {
112
+ process.stderr.write(ui.errorLine(`Another foreground or managed background worker already owns ${configPath}; refusing to start a duplicate.`));
113
+ return 1;
114
+ }
115
+ let runtimeInputs;
116
+ let app;
117
+ try {
118
+ let backgroundSnapshot;
119
+ if (managedBackgroundWorker) {
120
+ try {
121
+ backgroundSnapshot = decodeBackgroundSnapshot(args.expectedBackgroundSnapshot ?? "");
122
+ const dotenvPath = resolve(cwd, args.envFile ?? ".env");
123
+ if (backgroundSnapshot.configPath !== configPath || backgroundSnapshot.dotenvPath !== dotenvPath) {
124
+ throw new Error("The approved snapshot paths do not match the managed worker arguments.");
125
+ }
126
+ runtimeInputs = await materializeBackgroundRuntimeInputs({
127
+ snapshot: backgroundSnapshot,
128
+ cwd,
129
+ env: startupEnvironment,
130
+ });
131
+ }
132
+ catch (error) {
133
+ process.stderr.write(ui.errorLine(`Managed worker could not freeze its startup snapshot: ${error instanceof Error ? error.message : String(error)}`));
134
+ // KeepAlive restarts only unsuccessful exits. This refusal cannot heal
135
+ // without a new approved snapshot, so exit successfully and let the
136
+ // controller unload/recreate the job instead of retrying forever.
137
+ return 0;
138
+ }
139
+ }
140
+ 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
+ });
148
+ if (!pre.ok) {
149
+ printPreflightFailure(pre);
150
+ return managedBackgroundWorker ? 0 : pre.code;
151
+ }
152
+ try {
153
+ await readCliConfigSnapshot(runtimeInputs?.configPath ?? configPath);
154
+ }
155
+ catch (error) {
156
+ process.stderr.write(ui.errorLine(`Cannot establish the foreground config identity: ${error instanceof Error ? error.message : String(error)}`));
157
+ return managedBackgroundWorker ? 0 : 1;
158
+ }
159
+ app = await startMonoAgentApp({
160
+ cwd,
161
+ configPath,
162
+ ...(runtimeInputs === undefined ? {} : { configReadPath: runtimeInputs.configPath }),
163
+ env: runtimeInputs?.environment ?? startupEnvironment,
164
+ logger: consoleLogger(),
165
+ ...(backgroundSnapshot === undefined ? {} : { backgroundSnapshot }),
166
+ });
167
+ await printAppStatus(app);
168
+ // Block until a shutdown signal. Returning here (the old behavior) let the
169
+ // process exit immediately whenever no channel owned a live handle — e.g. a
170
+ // traceability-only config, now that the operator console is retired and the
171
+ // trace heartbeat timer is unref'd.
172
+ return await waitForShutdownSignal(app);
173
+ }
174
+ finally {
175
+ await app?.stop().catch(() => undefined);
176
+ await runtimeInputs?.dispose().catch(() => undefined);
177
+ await lease.release().catch((error) => {
178
+ process.stderr.write(ui.style.yellow(`⚠ Could not cleanly release worker singleton lease ${lease.path}: ${error instanceof Error ? error.message : String(error)}`) + "\n");
179
+ });
180
+ }
181
+ }
182
+ export async function runBackgroundCommand(args, command, env = process.env) {
183
+ const guard = requireDarwin(command);
184
+ if (guard !== undefined) {
185
+ return guard;
186
+ }
187
+ let controllerEnvironment;
188
+ try {
189
+ controllerEnvironment = await loadDurableBackgroundEnvironment({
190
+ cwd: process.cwd(),
191
+ ...(args.envFile === undefined ? {} : { envFile: args.envFile }),
192
+ operationalEnvironment: managedBackgroundEnvironment(env),
193
+ });
194
+ }
195
+ catch (error) {
196
+ if (command === "start" || command === "restart") {
197
+ process.stderr.write(ui.errorLine(`Cannot reconstruct the managed worker environment: ${error instanceof Error ? error.message : String(error)}`));
198
+ process.stderr.write(ui.hint("No LaunchAgent changes were made. Fix the dotenv path and retry."));
199
+ return 1;
200
+ }
201
+ controllerEnvironment = { ...env };
202
+ process.stderr.write(ui.style.yellow(`⚠ Could not reconstruct the managed worker environment; ${command} will use the current shell only: ${error instanceof Error ? error.message : String(error)}`) + "\n");
203
+ }
204
+ // Refuse to launch (or relaunch) an unconfigured/broken folder BEFORE writing
205
+ // the plist and bootstrapping launchctl — otherwise the worker would crash and
206
+ // launchd's KeepAlive would retry it forever. stop/status/logs stay ungated so
207
+ // a broken instance can still be inspected and torn down.
208
+ if (command === "start" || command === "restart") {
209
+ const pre = await ensureStartable(args, controllerEnvironment);
210
+ if (!pre.ok) {
211
+ printPreflightFailure(pre);
212
+ return pre.code;
213
+ }
214
+ }
215
+ let target = await resolveInstanceTarget({
216
+ args: {
217
+ ...(args.configPath === undefined ? {} : { configPath: args.configPath }),
218
+ ...(args.envFile === undefined ? {} : { envFile: args.envFile }),
219
+ },
220
+ env: controllerEnvironment,
221
+ cwd: process.cwd(),
222
+ cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
223
+ });
224
+ if (command === "start" || command === "restart") {
225
+ try {
226
+ const expectedSnapshot = await captureBackgroundSnapshot({
227
+ cwd: target.cwd,
228
+ configPath: target.configPath,
229
+ ...(target.envFile === undefined ? {} : { envFile: target.envFile }),
230
+ env: controllerEnvironment,
231
+ });
232
+ target = { ...target, expectedSnapshot };
233
+ }
234
+ catch (error) {
235
+ process.stderr.write(ui.errorLine(`Cannot prove the durable background snapshot: ${error instanceof Error ? error.message : String(error)}`));
236
+ process.stderr.write(ui.hint("No LaunchAgent changes were made. Fix the config/dotenv/Identity/Soul/MCP mismatch and retry."));
237
+ return 1;
238
+ }
239
+ }
240
+ const deps = defaultBackgroundDeps();
241
+ switch (command) {
242
+ case "start":
243
+ return await startBackground(target, deps);
244
+ case "restart":
245
+ return args.force
246
+ ? await runForceRestart(target, deps, controllerEnvironment)
247
+ : await restartBackground(target, deps);
248
+ case "stop":
249
+ return await stopBackground(target, deps);
250
+ case "status":
251
+ return await statusBackground(target, deps);
252
+ case "logs":
253
+ return await tailLogs(target, deps, { follow: args.follow, lines: args.lines ?? DEFAULT_LOG_LINES });
254
+ }
255
+ }
256
+ /** Private launchd-only entry point; `runCli` recognizes its launchd-only env marker. */
257
+ export async function runLaunchdLogMaintenanceCommand(args, deps = defaultBackgroundDeps()) {
258
+ const guard = requireDarwin("scheduled log maintenance");
259
+ if (guard !== undefined)
260
+ return guard;
261
+ if (args.configPath === undefined) {
262
+ process.stderr.write(ui.errorLine("Managed launchd log maintenance requires its pinned config path."));
263
+ return 2;
264
+ }
265
+ const configPath = await canonicalBackgroundConfigPath(process.cwd(), args.configPath);
266
+ const paths = await launchdLogPathsForConfig(configPath);
267
+ return await maintainLaunchdLogs({
268
+ label: deriveLaunchdLabel(configPath),
269
+ paths,
270
+ }, deps);
271
+ }
272
+ /**
273
+ * `restart --force`: stop the worker, purge provider transcripts and canonical
274
+ * active-conversation history, then start fresh. Stopping first guarantees no
275
+ * conversation state is being written during deletion. Durable memory and run
276
+ * artifacts live elsewhere and remain untouched.
277
+ */
278
+ async function runForceRestart(target, deps, environment) {
279
+ return await forceRestartBackground(target, deps, async () => {
280
+ const result = await purgeConversationState({ env: environment, cwd: target.cwd, configPath: target.configPath });
281
+ const cleared = [];
282
+ if (result.sessions.removed) {
283
+ const count = result.sessions.files === 0
284
+ ? ""
285
+ : ` (${result.sessions.files} session file${result.sessions.files === 1 ? "" : "s"})`;
286
+ cleared.push(`persisted provider sessions${count}`);
287
+ }
288
+ if (result.history.removed) {
289
+ const count = result.history.files === 0
290
+ ? ""
291
+ : ` (${result.history.files} conversation file${result.history.files === 1 ? "" : "s"})`;
292
+ cleared.push(`active conversation history${count}`);
293
+ }
294
+ if (cleared.length > 0) {
295
+ process.stdout.write(`${ui.badge("ok")}${ui.style.bold(`Cleared ${cleared.join(" and ")}`)}.\n`);
296
+ }
297
+ else {
298
+ process.stdout.write(ui.style.dim("No persisted provider sessions or conversation history to clear.") + "\n");
299
+ }
300
+ });
301
+ }
302
+ /**
303
+ * Background service mode is launchd-specific. On other platforms point the
304
+ * user at the still-supported blocking foreground path.
305
+ */
306
+ function requireDarwin(command) {
307
+ if (process.platform === "darwin") {
308
+ return undefined;
309
+ }
310
+ process.stderr.write(ui.errorLine(`Background service mode (mono-agent ${command}) requires macOS (launchd).`));
311
+ process.stderr.write(ui.hint("Run `mono-agent start --foreground` to run in the foreground on this platform."));
312
+ return 1;
313
+ }
314
+ export async function printAppStatus(app, options = {}) {
315
+ const trace = app.traceabilityStatus;
316
+ process.stdout.write(ui.rule("instance"));
317
+ process.stdout.write(ui.keyValue([
318
+ ["config", app.configPath],
319
+ [
320
+ "traceability",
321
+ trace.kind === "running" ? `running (source ${trace.sourceId})` : `${trace.kind}: ${trace.reason}`,
322
+ ],
323
+ ], 2));
324
+ const artifactDir = app.traceabilityStatus.kind === "running" ? app.traceabilityStatus.artifactDir : undefined;
325
+ process.stdout.write(ui.rule("sandbox"));
326
+ process.stdout.write(` ${describeSandboxStatus(app.sandboxStatus)}\n`);
327
+ process.stdout.write(ui.rule("observability"));
328
+ process.stdout.write(` ${describeExporter(app.exporterStatus, artifactDir)}\n`);
329
+ const channels = [...app.channelStatuses()];
330
+ 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`);
334
+ }
335
+ }
336
+ await writeAppRunsHealthDetail(app, options);
337
+ }
338
+ async function writeAppRunsHealthDetail(app, options) {
339
+ const artifactDir = app.traceabilityStatus.kind === "running" ? app.traceabilityStatus.artifactDir : undefined;
340
+ if (artifactDir === undefined || artifactDir.trim().length === 0) {
341
+ return;
342
+ }
343
+ const reader = options.listRecordedRuns ?? listRecordedRuns;
344
+ let result;
345
+ try {
346
+ result = await reader({ artifactDir, maxRuns: RUNS_HEALTH_MAX_RUNS, scope: "agent" });
347
+ }
348
+ catch (error) {
349
+ result = {
350
+ totalRuns: 0,
351
+ runs: [],
352
+ warnings: [`Unable to read run summaries: ${reasonOf(error)}`],
353
+ };
354
+ }
355
+ const display = buildRunsHealthDisplay({
356
+ artifactDir,
357
+ totalRuns: result.totalRuns,
358
+ runs: result.runs,
359
+ warnings: result.warnings,
360
+ includeSelectedSkills: true,
361
+ runOwnerAlive: true,
362
+ maxRuns: RUNS_HEALTH_MAX_RUNS,
363
+ ...(app.selectedSkills === undefined ? {} : { selectedSkills: app.selectedSkills }),
364
+ ...(options.nowMs === undefined ? {} : { nowMs: options.nowMs }),
365
+ });
366
+ process.stdout.write(ui.rule("runs health"));
367
+ for (const detail of display.details) {
368
+ process.stdout.write(` ${detail}\n`);
369
+ }
370
+ }
371
+ function reasonOf(error) {
372
+ return error instanceof Error ? error.message : String(error);
373
+ }
374
+ function describeExporter(status, artifactDir) {
375
+ if (status.kind !== "configured") {
376
+ return `${status.kind}: ${status.reason}`;
377
+ }
378
+ const parts = [`phoenix ${status.endpoint}`];
379
+ const appUrl = phoenixAppBaseUrl(status.endpoint);
380
+ if (appUrl !== undefined) {
381
+ parts.push(`app ${appUrl}`);
382
+ }
383
+ if (status.includeSensitiveData) {
384
+ parts.push(ui.style.yellow(describeSensitiveDataExportWarning(status.endpoint)));
385
+ }
386
+ if (status.lastWarning !== undefined) {
387
+ parts.push(`last warning: ${status.lastWarning}`);
388
+ }
389
+ if (status.lastError !== undefined) {
390
+ parts.push(`last error: ${status.lastError}`);
391
+ }
392
+ parts.push(artifactDir === undefined
393
+ ? "JSONL artifacts remain local"
394
+ : `JSONL artifacts remain local at ${artifactDir}`);
395
+ return parts.join("; ");
396
+ }
397
+ function describeSandboxStatus(status) {
398
+ const engineAvailability = status.engineAvailable === true
399
+ ? "present"
400
+ : status.engineAvailable === false
401
+ ? "absent"
402
+ : "not checked";
403
+ const parts = [
404
+ `effective: ${status.effective}`,
405
+ `engine: ${status.engine ?? "none"} (${engineAvailability})`,
406
+ ...(status.fallback === undefined ? [] : [`fallback: ${status.fallback}`]),
407
+ `fallback active: ${status.fallbackActive ? "yes" : "no"}`,
408
+ status.detail,
409
+ ];
410
+ const warning = status.warning ?? sandboxEffectiveStateWarning(status);
411
+ if (warning !== undefined) {
412
+ parts.push(ui.style.yellow(warning));
413
+ }
414
+ return parts.join("; ");
415
+ }
416
+ export function describeChannelStatus(status) {
417
+ if (status.kind === "running") {
418
+ const facts = Object.entries(status.summary)
419
+ .map(([key, value]) => `${key}=${formatChannelFactValue(value)}`)
420
+ .join(" ");
421
+ return facts.length === 0 ? "running" : `running (${facts})`;
422
+ }
423
+ return `${status.kind}: ${status.reason}`;
424
+ }
425
+ /**
426
+ * Block the foreground process until SIGINT/SIGTERM, then stop the app and
427
+ * resolve the exit code. A referenced no-op timer owns the event loop so the
428
+ * process stays alive even with no channel handle (signal listeners alone do
429
+ * NOT keep Node running, and the trace heartbeat is unref'd). Cleared on stop so
430
+ * the loop drains cleanly without a forceful `process.exit`. Exported for tests.
431
+ */
432
+ export function waitForShutdownSignal(app) {
433
+ return new Promise((resolve) => {
434
+ const keepAlive = setInterval(() => { }, KEEP_ALIVE_INTERVAL_MS);
435
+ let stopping = false;
436
+ const onSignal = (signal) => {
437
+ if (stopping) {
438
+ return;
439
+ }
440
+ stopping = true;
441
+ process.off("SIGINT", onSignal);
442
+ process.off("SIGTERM", onSignal);
443
+ clearInterval(keepAlive);
444
+ void (async () => {
445
+ process.stdout.write("\n" + ui.hint(`Received ${signal}; stopping mono agent app…`));
446
+ try {
447
+ await app.stop();
448
+ resolve(0);
449
+ }
450
+ catch (error) {
451
+ process.stderr.write(ui.errorLine(`Foreground shutdown failed: ${error instanceof Error ? error.message : String(error)}`));
452
+ // Resolve so runForeground's finally block can retry idempotent app
453
+ // cleanup and release the process-lifetime singleton lease.
454
+ resolve(1);
455
+ }
456
+ })();
457
+ };
458
+ process.on("SIGINT", onSignal);
459
+ process.on("SIGTERM", onSignal);
460
+ });
461
+ }
462
+ function consoleLogger() {
463
+ return {
464
+ info(message, metadata) {
465
+ process.stdout.write(`${message}${metadata === undefined ? "" : ` ${JSON.stringify(metadata)}`}\n`);
466
+ },
467
+ warn(message, metadata) {
468
+ process.stderr.write(`${message}${metadata === undefined ? "" : ` ${JSON.stringify(metadata)}`}\n`);
469
+ },
470
+ error(message, metadata) {
471
+ process.stderr.write(`${message}${metadata === undefined ? "" : ` ${JSON.stringify(metadata)}`}\n`);
472
+ },
473
+ };
474
+ }
475
+ //# sourceMappingURL=cli-background-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-background-command.js","sourceRoot":"","sources":["../src/cli-background-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function isAbortLike(error: unknown): boolean;
2
+ export declare function attachScopedKeypress(listener: (_value: string, key: {
3
+ readonly name?: string;
4
+ readonly ctrl?: boolean;
5
+ } | undefined) => void): () => void;
6
+ //# sourceMappingURL=cli-cancellation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-cancellation.d.ts","sourceRoot":"","sources":["../src/cli-cancellation.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,KAAK,IAAI,GACvG,MAAM,IAAI,CAiBZ"}
@@ -0,0 +1,23 @@
1
+ import process from "node:process";
2
+ import { emitKeypressEvents } from "node:readline";
3
+ export function isAbortLike(error) {
4
+ return error instanceof Error && (error.name === "AbortError" || /abort|cancel/iu.test(error.message));
5
+ }
6
+ export function attachScopedKeypress(listener) {
7
+ if (!process.stdin.isTTY)
8
+ return () => undefined;
9
+ emitKeypressEvents(process.stdin);
10
+ const input = process.stdin;
11
+ const wasRaw = input.isRaw === true;
12
+ const wasFlowing = input.readableFlowing;
13
+ input.setRawMode?.(true);
14
+ input.resume();
15
+ input.on("keypress", listener);
16
+ return () => {
17
+ input.off("keypress", listener);
18
+ input.setRawMode?.(wasRaw);
19
+ if (wasFlowing !== true)
20
+ input.pause();
21
+ };
22
+ }
23
+ //# sourceMappingURL=cli-cancellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-cancellation.js","sourceRoot":"","sources":["../src/cli-cancellation.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAwG;IAExG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACjD,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAGrB,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,eAAe,CAAC;IACzC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,GAAG,EAAE;QACV,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChC,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,UAAU,KAAK,IAAI;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ export { loadCliEnvFile, parseCliArgs } from "./cli-args.js";
3
+ export { monoAgentVersion, renderHelp } from "./cli-help.js";
4
+ export { renderConfigView, renderPresetList, renderPresetShow, } from "./cli-validate-config-command.js";
5
+ export { identityRoleDisplayLine, initChangeDisplayRows, readApiKeyFromStdin, resolvePiAuthPathForLogin, runProviderSetupBeforeInit, secretChecklistDisplayRows, shouldRunInitWizard, } from "./cli-init-command.js";
6
+ export type { InitChangeDisplayRow, InitProviderSetupStatus, RunProviderSetupBeforeInitOptions, SecretChecklistDisplayRow, } from "./cli-init-command.js";
7
+ export { describeChannelStatus, ensureStartable, printAppStatus, waitForShutdownSignal, } from "./cli-background-command.js";
8
+ export type { PreflightResult, PrintAppStatusOptions, } from "./cli-background-command.js";
9
+ export { runSandboxCommand } from "./cli-sandbox-command.js";
10
+ export type { SandboxCommandDependencies } from "./cli-sandbox-command.js";
11
+ export declare function runCli(argv: readonly string[]): Promise<number>;
12
+ //# sourceMappingURL=cli-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-commands.d.ts","sourceRoot":"","sources":["../src/cli-commands.ts"],"names":[],"mappings":";AAcA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAqB3E,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiNrE"}