@mono-agent/agent-app 0.20.11 → 0.21.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 (369) hide show
  1. package/README.md +260 -98
  2. package/dist/adapter-send-tools.d.ts +3 -2
  3. package/dist/adapter-send-tools.d.ts.map +1 -1
  4. package/dist/adapter-send-tools.js +15 -5
  5. package/dist/adapter-send-tools.js.map +1 -1
  6. package/dist/app-controller-channels.d.ts +6 -0
  7. package/dist/app-controller-channels.d.ts.map +1 -1
  8. package/dist/app-controller-channels.js +29 -2
  9. package/dist/app-controller-channels.js.map +1 -1
  10. package/dist/app-controller-continuation.d.ts.map +1 -1
  11. package/dist/app-controller-continuation.js +2 -3
  12. package/dist/app-controller-continuation.js.map +1 -1
  13. package/dist/app-controller-lifecycle.d.ts +4 -0
  14. package/dist/app-controller-lifecycle.d.ts.map +1 -1
  15. package/dist/app-controller-lifecycle.js +7 -0
  16. package/dist/app-controller-lifecycle.js.map +1 -1
  17. package/dist/app-controller-maintenance.d.ts +3 -1
  18. package/dist/app-controller-maintenance.d.ts.map +1 -1
  19. package/dist/app-controller-maintenance.js +3 -0
  20. package/dist/app-controller-maintenance.js.map +1 -1
  21. package/dist/app-controller-monitors.d.ts +26 -0
  22. package/dist/app-controller-monitors.d.ts.map +1 -0
  23. package/dist/app-controller-monitors.js +127 -0
  24. package/dist/app-controller-monitors.js.map +1 -0
  25. package/dist/app-controller-responder.d.ts +9 -17
  26. package/dist/app-controller-responder.d.ts.map +1 -1
  27. package/dist/app-controller-responder.js +54 -86
  28. package/dist/app-controller-responder.js.map +1 -1
  29. package/dist/app-controller-traceability.d.ts.map +1 -1
  30. package/dist/app-controller-traceability.js +3 -0
  31. package/dist/app-controller-traceability.js.map +1 -1
  32. package/dist/app-controller-types.d.ts +1 -0
  33. package/dist/app-controller-types.d.ts.map +1 -1
  34. package/dist/app-controller-utils.d.ts +1 -5
  35. package/dist/app-controller-utils.d.ts.map +1 -1
  36. package/dist/app-controller-utils.js +4 -21
  37. package/dist/app-controller-utils.js.map +1 -1
  38. package/dist/app-controller.d.ts +26 -10
  39. package/dist/app-controller.d.ts.map +1 -1
  40. package/dist/app-controller.js +39 -1
  41. package/dist/app-controller.js.map +1 -1
  42. package/dist/artifact-retention.js +11 -0
  43. package/dist/artifact-retention.js.map +1 -1
  44. package/dist/background.d.ts +0 -6
  45. package/dist/background.d.ts.map +1 -1
  46. package/dist/background.js +5 -58
  47. package/dist/background.js.map +1 -1
  48. package/dist/channel-drivers/slack.d.ts.map +1 -1
  49. package/dist/channel-drivers/slack.js +18 -0
  50. package/dist/channel-drivers/slack.js.map +1 -1
  51. package/dist/channel-drivers/telegram.d.ts.map +1 -1
  52. package/dist/channel-drivers/telegram.js +26 -0
  53. package/dist/channel-drivers/telegram.js.map +1 -1
  54. package/dist/channel-drivers/tui.d.ts +68 -8
  55. package/dist/channel-drivers/tui.d.ts.map +1 -1
  56. package/dist/channel-drivers/tui.js +407 -89
  57. package/dist/channel-drivers/tui.js.map +1 -1
  58. package/dist/channel-runtime-controls.d.ts +2 -1
  59. package/dist/channel-runtime-controls.d.ts.map +1 -1
  60. package/dist/channel-runtime-controls.js +79 -22
  61. package/dist/channel-runtime-controls.js.map +1 -1
  62. package/dist/cli-args.d.ts +5 -8
  63. package/dist/cli-args.d.ts.map +1 -1
  64. package/dist/cli-args.js +33 -52
  65. package/dist/cli-args.js.map +1 -1
  66. package/dist/cli-background-command.d.ts.map +1 -1
  67. package/dist/cli-background-command.js +4 -0
  68. package/dist/cli-background-command.js.map +1 -1
  69. package/dist/cli-commands.d.ts.map +1 -1
  70. package/dist/cli-commands.js +24 -2
  71. package/dist/cli-commands.js.map +1 -1
  72. package/dist/cli-help.d.ts +26 -0
  73. package/dist/cli-help.d.ts.map +1 -1
  74. package/dist/cli-help.js +58 -53
  75. package/dist/cli-help.js.map +1 -1
  76. package/dist/cli-init-command.d.ts +1 -2
  77. package/dist/cli-init-command.d.ts.map +1 -1
  78. package/dist/cli-init-command.js +31 -71
  79. package/dist/cli-init-command.js.map +1 -1
  80. package/dist/cli-install-skill-command.d.ts.map +1 -1
  81. package/dist/cli-install-skill-command.js +12 -3
  82. package/dist/cli-install-skill-command.js.map +1 -1
  83. package/dist/config-reference.d.ts +1 -0
  84. package/dist/config-reference.d.ts.map +1 -1
  85. package/dist/config-reference.js +217 -60
  86. package/dist/config-reference.js.map +1 -1
  87. package/dist/configured-agent.d.ts +27 -4
  88. package/dist/configured-agent.d.ts.map +1 -1
  89. package/dist/configured-agent.js +159 -112
  90. package/dist/configured-agent.js.map +1 -1
  91. package/dist/conversation-title.d.ts.map +1 -1
  92. package/dist/conversation-title.js +9 -2
  93. package/dist/conversation-title.js.map +1 -1
  94. package/dist/cron-control-store.d.ts.map +1 -1
  95. package/dist/cron-control-store.js +4 -2
  96. package/dist/cron-control-store.js.map +1 -1
  97. package/dist/doctor.d.ts +7 -13
  98. package/dist/doctor.d.ts.map +1 -1
  99. package/dist/doctor.js +406 -770
  100. package/dist/doctor.js.map +1 -1
  101. package/dist/first-run-readiness.d.ts.map +1 -1
  102. package/dist/first-run-readiness.js +0 -6
  103. package/dist/first-run-readiness.js.map +1 -1
  104. package/dist/index.d.ts +2 -0
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +1 -0
  107. package/dist/index.js.map +1 -1
  108. package/dist/interaction-bridge.d.ts +3 -3
  109. package/dist/interaction-bridge.d.ts.map +1 -1
  110. package/dist/interaction-bridge.js +27 -10
  111. package/dist/interaction-bridge.js.map +1 -1
  112. package/dist/launchd.d.ts +2 -0
  113. package/dist/launchd.d.ts.map +1 -1
  114. package/dist/launchd.js +3 -0
  115. package/dist/launchd.js.map +1 -1
  116. package/dist/local-tui-session.d.ts +14 -0
  117. package/dist/local-tui-session.d.ts.map +1 -0
  118. package/dist/local-tui-session.js +100 -0
  119. package/dist/local-tui-session.js.map +1 -0
  120. package/dist/mcp-apps.d.ts.map +1 -1
  121. package/dist/mcp-apps.js +3 -0
  122. package/dist/mcp-apps.js.map +1 -1
  123. package/dist/memory-journal.d.ts +53 -0
  124. package/dist/memory-journal.d.ts.map +1 -0
  125. package/dist/memory-journal.js +586 -0
  126. package/dist/memory-journal.js.map +1 -0
  127. package/dist/memory-recall.d.ts.map +1 -1
  128. package/dist/memory-recall.js +16 -2
  129. package/dist/memory-recall.js.map +1 -1
  130. package/dist/memory-remember.d.ts +49 -0
  131. package/dist/memory-remember.d.ts.map +1 -0
  132. package/dist/memory-remember.js +190 -0
  133. package/dist/memory-remember.js.map +1 -0
  134. package/dist/memory-retrieval.d.ts +33 -0
  135. package/dist/memory-retrieval.d.ts.map +1 -1
  136. package/dist/memory-retrieval.js +43 -0
  137. package/dist/memory-retrieval.js.map +1 -1
  138. package/dist/model-effort-capabilities.d.ts +8 -9
  139. package/dist/model-effort-capabilities.d.ts.map +1 -1
  140. package/dist/model-effort-capabilities.js +17 -35
  141. package/dist/model-effort-capabilities.js.map +1 -1
  142. package/dist/modules/base.d.ts +3 -4
  143. package/dist/modules/base.d.ts.map +1 -1
  144. package/dist/modules/base.js +4 -6
  145. package/dist/modules/base.js.map +1 -1
  146. package/dist/modules/catalog.d.ts.map +1 -1
  147. package/dist/modules/catalog.js +11 -9
  148. package/dist/modules/catalog.js.map +1 -1
  149. package/dist/modules/known-tools.d.ts +2 -2
  150. package/dist/modules/known-tools.d.ts.map +1 -1
  151. package/dist/modules/known-tools.js +7 -0
  152. package/dist/modules/known-tools.js.map +1 -1
  153. package/dist/monitor-channel-routing.d.ts +20 -0
  154. package/dist/monitor-channel-routing.d.ts.map +1 -0
  155. package/dist/monitor-channel-routing.js +73 -0
  156. package/dist/monitor-channel-routing.js.map +1 -0
  157. package/dist/monitors-command.d.ts +23 -0
  158. package/dist/monitors-command.d.ts.map +1 -0
  159. package/dist/monitors-command.js +217 -0
  160. package/dist/monitors-command.js.map +1 -0
  161. package/dist/monitors-config.d.ts +77 -0
  162. package/dist/monitors-config.d.ts.map +1 -0
  163. package/dist/monitors-config.js +150 -0
  164. package/dist/monitors-config.js.map +1 -0
  165. package/dist/monitors-context.d.ts +58 -0
  166. package/dist/monitors-context.d.ts.map +1 -0
  167. package/dist/monitors-context.js +194 -0
  168. package/dist/monitors-context.js.map +1 -0
  169. package/dist/monitors-runtime.d.ts +36 -0
  170. package/dist/monitors-runtime.d.ts.map +1 -0
  171. package/dist/monitors-runtime.js +103 -0
  172. package/dist/monitors-runtime.js.map +1 -0
  173. package/dist/monitors-service.d.ts +71 -0
  174. package/dist/monitors-service.d.ts.map +1 -0
  175. package/dist/monitors-service.js +1796 -0
  176. package/dist/monitors-service.js.map +1 -0
  177. package/dist/monitors-store.d.ts +93 -0
  178. package/dist/monitors-store.d.ts.map +1 -0
  179. package/dist/monitors-store.js +313 -0
  180. package/dist/monitors-store.js.map +1 -0
  181. package/dist/notify-destinations.d.ts +3 -2
  182. package/dist/notify-destinations.d.ts.map +1 -1
  183. package/dist/notify-destinations.js +6 -7
  184. package/dist/notify-destinations.js.map +1 -1
  185. package/dist/posted-reply-history.d.ts.map +1 -1
  186. package/dist/posted-reply-history.js +40 -3
  187. package/dist/posted-reply-history.js.map +1 -1
  188. package/dist/proactive-notify.d.ts +20 -1
  189. package/dist/proactive-notify.d.ts.map +1 -1
  190. package/dist/proactive-notify.js +56 -3
  191. package/dist/proactive-notify.js.map +1 -1
  192. package/dist/process-job-channel-routing.js +2 -1
  193. package/dist/process-job-channel-routing.js.map +1 -1
  194. package/dist/process-job-output-tail.d.ts +53 -0
  195. package/dist/process-job-output-tail.d.ts.map +1 -0
  196. package/dist/process-job-output-tail.js +257 -0
  197. package/dist/process-job-output-tail.js.map +1 -0
  198. package/dist/process-jobs-config.d.ts +1 -1
  199. package/dist/process-jobs-config.js +1 -1
  200. package/dist/process-jobs-config.js.map +1 -1
  201. package/dist/process-jobs-context.d.ts +11 -1
  202. package/dist/process-jobs-context.d.ts.map +1 -1
  203. package/dist/process-jobs-context.js +55 -11
  204. package/dist/process-jobs-context.js.map +1 -1
  205. package/dist/process-jobs-protection.js +1 -1
  206. package/dist/process-jobs-protection.js.map +1 -1
  207. package/dist/process-jobs-runtime.d.ts.map +1 -1
  208. package/dist/process-jobs-runtime.js +15 -12
  209. package/dist/process-jobs-runtime.js.map +1 -1
  210. package/dist/process-jobs-service.d.ts.map +1 -1
  211. package/dist/process-jobs-service.js +118 -172
  212. package/dist/process-jobs-service.js.map +1 -1
  213. package/dist/process-jobs-store.d.ts +3 -1
  214. package/dist/process-jobs-store.d.ts.map +1 -1
  215. package/dist/process-jobs-store.js +4 -1
  216. package/dist/process-jobs-store.js.map +1 -1
  217. package/dist/process-output-redaction.d.ts +58 -0
  218. package/dist/process-output-redaction.d.ts.map +1 -0
  219. package/dist/process-output-redaction.js +311 -0
  220. package/dist/process-output-redaction.js.map +1 -0
  221. package/dist/project-skills.d.ts +11 -5
  222. package/dist/project-skills.d.ts.map +1 -1
  223. package/dist/project-skills.js +88 -39
  224. package/dist/project-skills.js.map +1 -1
  225. package/dist/provider-auth-checks.d.ts +27 -0
  226. package/dist/provider-auth-checks.d.ts.map +1 -0
  227. package/dist/provider-auth-checks.js +349 -0
  228. package/dist/provider-auth-checks.js.map +1 -0
  229. package/dist/provider-auth-observations.d.ts +22 -0
  230. package/dist/provider-auth-observations.d.ts.map +1 -0
  231. package/dist/provider-auth-observations.js +139 -0
  232. package/dist/provider-auth-observations.js.map +1 -0
  233. package/dist/provider-auth-operator.d.ts +19 -0
  234. package/dist/provider-auth-operator.d.ts.map +1 -0
  235. package/dist/provider-auth-operator.js +560 -0
  236. package/dist/provider-auth-operator.js.map +1 -0
  237. package/dist/provider-auth-status.d.ts +20 -0
  238. package/dist/provider-auth-status.d.ts.map +1 -0
  239. package/dist/provider-auth-status.js +235 -0
  240. package/dist/provider-auth-status.js.map +1 -0
  241. package/dist/provider-model-catalog.d.ts +95 -0
  242. package/dist/provider-model-catalog.d.ts.map +1 -0
  243. package/dist/provider-model-catalog.js +550 -0
  244. package/dist/provider-model-catalog.js.map +1 -0
  245. package/dist/provider-setup.d.ts +26 -13
  246. package/dist/provider-setup.d.ts.map +1 -1
  247. package/dist/provider-setup.js +106 -130
  248. package/dist/provider-setup.js.map +1 -1
  249. package/dist/readiness-probe-worker.d.ts +1 -2
  250. package/dist/readiness-probe-worker.d.ts.map +1 -1
  251. package/dist/readiness-probe-worker.js +3 -8
  252. package/dist/readiness-probe-worker.js.map +1 -1
  253. package/dist/readiness-probe.d.ts +1 -1
  254. package/dist/readiness-probe.d.ts.map +1 -1
  255. package/dist/readiness-probe.js +3 -33
  256. package/dist/readiness-probe.js.map +1 -1
  257. package/dist/reply-artifacts.d.ts +3 -1
  258. package/dist/reply-artifacts.d.ts.map +1 -1
  259. package/dist/reply-artifacts.js +45 -10
  260. package/dist/reply-artifacts.js.map +1 -1
  261. package/dist/request-model-override.d.ts +14 -37
  262. package/dist/request-model-override.d.ts.map +1 -1
  263. package/dist/request-model-override.js +105 -143
  264. package/dist/request-model-override.js.map +1 -1
  265. package/dist/request-scoped-mcp.d.ts +3 -0
  266. package/dist/request-scoped-mcp.d.ts.map +1 -1
  267. package/dist/request-scoped-mcp.js +1 -1
  268. package/dist/request-scoped-mcp.js.map +1 -1
  269. package/dist/run-history.d.ts.map +1 -1
  270. package/dist/run-history.js +56 -13
  271. package/dist/run-history.js.map +1 -1
  272. package/dist/runtime-option-extensions.d.ts +2 -4
  273. package/dist/runtime-option-extensions.d.ts.map +1 -1
  274. package/dist/runtime-option-extensions.js +4 -8
  275. package/dist/runtime-option-extensions.js.map +1 -1
  276. package/dist/runtime-routes.d.ts +5 -5
  277. package/dist/runtime-routes.d.ts.map +1 -1
  278. package/dist/runtime-routes.js +29 -18
  279. package/dist/runtime-routes.js.map +1 -1
  280. package/dist/sandbox-settings-cleanup.d.ts +15 -0
  281. package/dist/sandbox-settings-cleanup.d.ts.map +1 -0
  282. package/dist/sandbox-settings-cleanup.js +88 -0
  283. package/dist/sandbox-settings-cleanup.js.map +1 -0
  284. package/dist/seen-conversations.d.ts +4 -3
  285. package/dist/seen-conversations.d.ts.map +1 -1
  286. package/dist/seen-conversations.js +6 -5
  287. package/dist/seen-conversations.js.map +1 -1
  288. package/dist/session-history.d.ts +14 -0
  289. package/dist/session-history.d.ts.map +1 -1
  290. package/dist/session-history.js +120 -5
  291. package/dist/session-history.js.map +1 -1
  292. package/dist/systemd-command.d.ts +8 -0
  293. package/dist/systemd-command.d.ts.map +1 -0
  294. package/dist/systemd-command.js +206 -0
  295. package/dist/systemd-command.js.map +1 -0
  296. package/dist/systemd.d.ts +51 -0
  297. package/dist/systemd.d.ts.map +1 -0
  298. package/dist/systemd.js +299 -0
  299. package/dist/systemd.js.map +1 -0
  300. package/dist/tool-output-artifacts.d.ts +4 -0
  301. package/dist/tool-output-artifacts.d.ts.map +1 -0
  302. package/dist/tool-output-artifacts.js +17 -0
  303. package/dist/tool-output-artifacts.js.map +1 -0
  304. package/dist/trigger-overrides.d.ts +6 -0
  305. package/dist/trigger-overrides.d.ts.map +1 -1
  306. package/dist/trigger-overrides.js +36 -4
  307. package/dist/trigger-overrides.js.map +1 -1
  308. package/dist/tui-command.d.ts +0 -45
  309. package/dist/tui-command.d.ts.map +1 -1
  310. package/dist/tui-command.js +27 -264
  311. package/dist/tui-command.js.map +1 -1
  312. package/dist/untrusted-text.d.ts +36 -0
  313. package/dist/untrusted-text.d.ts.map +1 -0
  314. package/dist/untrusted-text.js +150 -0
  315. package/dist/untrusted-text.js.map +1 -0
  316. package/dist/web-command.d.ts +3 -0
  317. package/dist/web-command.d.ts.map +1 -1
  318. package/dist/web-command.js +112 -7
  319. package/dist/web-command.js.map +1 -1
  320. package/dist/web-request-coordinator.d.ts +19 -0
  321. package/dist/web-request-coordinator.d.ts.map +1 -0
  322. package/dist/web-request-coordinator.js +242 -0
  323. package/dist/web-request-coordinator.js.map +1 -0
  324. package/dist/wizard/answers.d.ts +3 -9
  325. package/dist/wizard/answers.d.ts.map +1 -1
  326. package/dist/wizard/answers.js +11 -36
  327. package/dist/wizard/answers.js.map +1 -1
  328. package/dist/wizard/from-flags.d.ts +1 -2
  329. package/dist/wizard/from-flags.d.ts.map +1 -1
  330. package/dist/wizard/from-flags.js +8 -3
  331. package/dist/wizard/from-flags.js.map +1 -1
  332. package/dist/wizard/model-discovery.d.ts +7 -8
  333. package/dist/wizard/model-discovery.d.ts.map +1 -1
  334. package/dist/wizard/model-discovery.js +58 -431
  335. package/dist/wizard/model-discovery.js.map +1 -1
  336. package/dist/wizard/presets.js +2 -2
  337. package/dist/wizard/presets.js.map +1 -1
  338. package/dist/wizard/prompts.d.ts +13 -12
  339. package/dist/wizard/prompts.d.ts.map +1 -1
  340. package/dist/wizard/prompts.js +25 -45
  341. package/dist/wizard/prompts.js.map +1 -1
  342. package/dist/wizard/run.d.ts.map +1 -1
  343. package/dist/wizard/run.js +30 -153
  344. package/dist/wizard/run.js.map +1 -1
  345. package/package.json +18 -18
  346. package/schema/mono-agent.config.schema.json +301 -53
  347. package/skills/mono-agent-composer/SKILL.md +5 -5
  348. package/skills/mono-agent-composer/references/config-blueprint.md +61 -47
  349. package/skills/mono-agent-composer/references/discovery-questions.md +18 -18
  350. package/skills/mono-agent-composer/references/feature-coverage.md +39 -21
  351. package/skills/mono-agent-composer/references/package-map.md +26 -17
  352. package/skills/mono-agent-composer/references/playbooks.md +39 -28
  353. package/skills/mono-agent-composer/references/validation.md +4 -3
  354. package/dist/codex-model-catalog.d.ts +0 -15
  355. package/dist/codex-model-catalog.d.ts.map +0 -1
  356. package/dist/codex-model-catalog.js +0 -220
  357. package/dist/codex-model-catalog.js.map +0 -1
  358. package/dist/configuration-proposal-main.d.ts +0 -3
  359. package/dist/configuration-proposal-main.d.ts.map +0 -1
  360. package/dist/configuration-proposal-main.js +0 -13
  361. package/dist/configuration-proposal-main.js.map +0 -1
  362. package/dist/configuration-proposal-tool.d.ts +0 -33
  363. package/dist/configuration-proposal-tool.d.ts.map +0 -1
  364. package/dist/configuration-proposal-tool.js +0 -188
  365. package/dist/configuration-proposal-tool.js.map +0 -1
  366. package/dist/local-configuration.d.ts +0 -99
  367. package/dist/local-configuration.d.ts.map +0 -1
  368. package/dist/local-configuration.js +0 -1330
  369. package/dist/local-configuration.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import { createToolHistoryArtifactSink } from "@mono-agent/agent-harness";
2
+ /** Attach the configured app's artifact sink after every caller-owned extension. */
3
+ export function createToolOutputArtifactsRuntimeExtension(next, artifactRoot) {
4
+ return async (input) => {
5
+ const result = next === undefined
6
+ ? { runtimeOptions: {} }
7
+ : await next(input);
8
+ return {
9
+ ...result,
10
+ runtimeOptions: {
11
+ ...(result.runtimeOptions ?? {}),
12
+ persistArtifact: createToolHistoryArtifactSink({ artifactRoot, runId: input.runId }),
13
+ },
14
+ };
15
+ };
16
+ }
17
+ //# sourceMappingURL=tool-output-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-output-artifacts.js","sourceRoot":"","sources":["../src/tool-output-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAI1E,oFAAoF;AACpF,MAAM,UAAU,yCAAyC,CACvD,IAAyC,EACzC,YAAoB;IAEpB,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO;YACL,GAAG,MAAM;YACT,cAAc,EAAE;gBACd,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;gBAChC,eAAe,EAAE,6BAA6B,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aACrF;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -12,6 +12,12 @@ export interface TriggerOverrideEntry {
12
12
  * before the 3am job silently falls back to the default. At run time an
13
13
  * invalid value is still warn-and-ignored; this check only moves the discovery
14
14
  * forward, it never changes run behavior.
15
+ *
16
+ * Every piece of operator text this quotes back is escaped and clamped first. Parsing a value
17
+ * is not the same as being able to print it: the values that reach here are exactly the ones
18
+ * that FAILED to parse, so none of them carries the parser's printable/single-line/bounded
19
+ * guarantee, and an embedded newline would otherwise let a cron `model` forge a line that
20
+ * reads as doctor's own.
15
21
  */
16
22
  export declare function findTriggerOverrideIssues(entries: readonly TriggerOverrideEntry[]): readonly string[];
17
23
  //# sourceMappingURL=trigger-overrides.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-overrides.d.ts","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GACvC,SAAS,MAAM,EAAE,CAkBnB"}
1
+ {"version":3,"file":"trigger-overrides.d.ts","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AASA,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAiCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GACvC,SAAS,MAAM,EAAE,CAmBnB"}
@@ -1,6 +1,33 @@
1
1
  import { EFFORT_LEVELS } from "@mono-agent/config";
2
- import { parseMonoRuntimeModelReference } from "@mono-agent/runtime-adapter";
2
+ import { MODEL_REFERENCE_ECHO_MAX_BYTES, MODEL_REFERENCE_REASON_MAX_BYTES, parseMonoRuntimeModelReference, RuntimeAdapterError, sanitizeModelReferenceText, } from "@mono-agent/runtime-adapter";
3
3
  const EFFORT_SET = new Set(EFFORT_LEVELS);
4
+ /**
5
+ * Bound and neutralize one operator-supplied fragment before quoting it back. The trigger
6
+ * label and the effort value are not model references, but they are the same kind of text --
7
+ * untrusted, unbounded, on its way into durable operator-shared output (`mono-agent doctor`,
8
+ * `mono-agent validate`, startup) -- so they share the one echo budget rather than a second
9
+ * number invented here.
10
+ */
11
+ function echo(value) {
12
+ return sanitizeModelReferenceText(value, MODEL_REFERENCE_ECHO_MAX_BYTES);
13
+ }
14
+ /**
15
+ * The concrete repair (`codex:x` -> `openai-codex:x`, the `<provider>:<model>` grammar) is
16
+ * built by the kernel parser and nested by the runtime adapter in `details.reason`; unwrap one
17
+ * layer so the actionable half survives, exactly as `@mono-agent/config` does for the same
18
+ * error. Re-bounding is a no-op for the adapter's own reason -- sanitizing is idempotent and
19
+ * that reason is already within this budget -- and covers the branches above it, where an
20
+ * unexpected throw contributes arbitrary text. Bounding the UNWRAPPED reason rather than the
21
+ * wrapped message is what keeps the repair from being clamped away by this second pass.
22
+ */
23
+ function reasonOf(error) {
24
+ const reason = error instanceof RuntimeAdapterError && typeof error.details.reason === "string"
25
+ ? error.details.reason
26
+ : error instanceof Error
27
+ ? error.message
28
+ : String(error);
29
+ return sanitizeModelReferenceText(reason, MODEL_REFERENCE_REASON_MAX_BYTES);
30
+ }
4
31
  /**
5
32
  * Validate per-trigger `model`/`effort` overrides with the same parsers the
6
33
  * runtime applies at run time (`request-model-override.ts`), but at
@@ -8,6 +35,12 @@ const EFFORT_SET = new Set(EFFORT_LEVELS);
8
35
  * before the 3am job silently falls back to the default. At run time an
9
36
  * invalid value is still warn-and-ignored; this check only moves the discovery
10
37
  * forward, it never changes run behavior.
38
+ *
39
+ * Every piece of operator text this quotes back is escaped and clamped first. Parsing a value
40
+ * is not the same as being able to print it: the values that reach here are exactly the ones
41
+ * that FAILED to parse, so none of them carries the parser's printable/single-line/bounded
42
+ * guarantee, and an embedded newline would otherwise let a cron `model` forge a line that
43
+ * reads as doctor's own.
11
44
  */
12
45
  export function findTriggerOverrideIssues(entries) {
13
46
  const issues = [];
@@ -17,12 +50,11 @@ export function findTriggerOverrideIssues(entries) {
17
50
  parseMonoRuntimeModelReference(entry.model);
18
51
  }
19
52
  catch (error) {
20
- const reason = error instanceof Error ? error.message : String(error);
21
- issues.push(`${entry.name} has an invalid model override "${entry.model}": ${reason}`);
53
+ issues.push(`${echo(entry.name)} has an invalid model override "${echo(entry.model)}": ${reasonOf(error)}`);
22
54
  }
23
55
  }
24
56
  if (entry.effort !== undefined && !EFFORT_SET.has(entry.effort)) {
25
- issues.push(`${entry.name} has an invalid effort override "${entry.effort}". Valid: ${[...EFFORT_SET].join(", ")}.`);
57
+ issues.push(`${echo(entry.name)} has an invalid effort override "${echo(entry.effort)}". Valid: ${[...EFFORT_SET].join(", ")}.`);
26
58
  }
27
59
  }
28
60
  return issues;
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-overrides.js","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAU7E,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAwC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,mCAAmC,KAAK,CAAC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,IAAI,oCAAoC,KAAK,CAAC,MAAM,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"trigger-overrides.js","sourceRoot":"","sources":["../src/trigger-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,8BAA8B,EAC9B,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AAUrC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;AAE/D;;;;;;GAMG;AACH,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,MAAM,GAAG,KAAK,YAAY,mBAAmB,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;QAC7F,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;QACtB,CAAC,CAAC,KAAK,YAAY,KAAK;YACtB,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,0BAA0B,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAwC;IAExC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,20 +1,15 @@
1
1
  import { listTraceSources } from "@mono-agent/observability";
2
2
  import type { TraceSourceListItem } from "@mono-agent/observability";
3
- import type { BackgroundSnapshot } from "./background-snapshot.js";
4
3
  export interface RunTuiOptions {
5
4
  readonly configPath: string;
6
5
  readonly cwd: string;
7
6
  readonly env: Record<string, string | undefined>;
8
- /** Explicit dotenv path baked into managed background restarts. */
9
- readonly envFile?: string;
10
7
  /** --agent: connect to this label or sourceId directly. */
11
8
  readonly agent?: string;
12
9
  /** --conversation: conversation id to chat under (default tui-<sourceId>). */
13
10
  readonly conversationId?: string;
14
11
  /** Build the current folder's responder in this process instead of discovering a service. */
15
12
  readonly local?: boolean;
16
- /** Attach to the managed background agent in a dedicated self-configuration session. */
17
- readonly configure?: boolean;
18
13
  }
19
14
  /** Test seams: discovery + TUI boot are injectable. */
20
15
  export interface RunTuiDeps {
@@ -29,7 +24,6 @@ export interface RunTuiDeps {
29
24
  readonly stderr?: {
30
25
  write(text: string): void;
31
26
  };
32
- readonly platform?: NodeJS.Platform;
33
27
  readonly createLocalSession?: (options: {
34
28
  readonly cwd: string;
35
29
  readonly configPath: string;
@@ -39,39 +33,6 @@ export interface RunTuiDeps {
39
33
  readonly title: string;
40
34
  dispose(): Promise<void>;
41
35
  }>;
42
- readonly createRemoteConfigurationSession?: (options: {
43
- readonly cwd: string;
44
- readonly configPath: string;
45
- readonly env: Record<string, string | undefined>;
46
- readonly envFile?: string;
47
- readonly restartBackground: (expectedSnapshot: BackgroundSnapshot) => Promise<{
48
- readonly ok: true;
49
- readonly connection: {
50
- readonly baseUrl: string;
51
- readonly apiKey?: string;
52
- };
53
- } | {
54
- readonly ok: false;
55
- readonly message: string;
56
- }>;
57
- }) => Promise<{
58
- readonly configuration: unknown;
59
- dispose(): Promise<void>;
60
- }>;
61
- readonly restartBackground?: (expectedSnapshot: BackgroundSnapshot, environment: Readonly<Record<string, string | undefined>>) => Promise<{
62
- readonly ok: true;
63
- readonly connection: {
64
- readonly baseUrl: string;
65
- readonly apiKey?: string;
66
- };
67
- } | {
68
- readonly ok: false;
69
- readonly message: string;
70
- }>;
71
- /** Re-prove launchd ownership, exact durable inputs, and TUI reachability before granting configuration authority. */
72
- readonly verifyConfigurationSource?: (source: TraceSourceListItem, environment: Readonly<Record<string, string | undefined>>) => Promise<TraceSourceListItem | undefined>;
73
- /** Reconstruct the exact dotenv-plus-operational environment used by the managed worker. */
74
- readonly loadConfigurationEnvironment?: () => Promise<Record<string, string>>;
75
36
  }
76
37
  export type TuiLaunchPlan = {
77
38
  readonly kind: "none";
@@ -103,10 +64,4 @@ export declare function tuiEndpointOf(source: TraceSourceListItem): string | und
103
64
  * ~/.mono-agent/trace-sources.
104
65
  */
105
66
  export declare function runTui(options: RunTuiOptions, deps?: RunTuiDeps): Promise<number>;
106
- /**
107
- * Attest the configuration target against the one environment reconstructed
108
- * before discovery. Re-reading dotenv here could prove a different worker
109
- * input than the environment later used for authentication and restart.
110
- */
111
- export declare function captureManagedConfigurationAttachSnapshot(target: Pick<RunTuiOptions, "cwd" | "configPath" | "envFile">, environment: Readonly<Record<string, string | undefined>>): Promise<BackgroundSnapshot>;
112
67
  //# sourceMappingURL=tui-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-command.d.ts","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAwC,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;IACtG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;KAClD,KAAK,OAAO,CAAC;QACZ,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,CAAC,CAAC;IACH,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC,OAAO,EAAE;QACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,KAAK,OAAO,CACzE;YAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;YAAC,QAAQ,CAAC,UAAU,EAAE;gBAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GAClG;YAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CACnD,CAAC;KACH,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,gBAAgB,EAAE,kBAAkB,EACpC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KACtD,OAAO,CACR;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE;YAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAClG;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CACnD,CAAC;IACF,sHAAsH;IACtH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KACtD,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/E;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAAE,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,aAAa,CAiCf;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAe7E;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAoQ3F;AAuHD;;;;GAIG;AACH,wBAAsB,yCAAyC,CAC7D,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC,EAC7D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACxD,OAAO,CAAC,kBAAkB,CAAC,CAQ7B"}
1
+ {"version":3,"file":"tui-command.d.ts","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAwC,MAAM,2BAA2B,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;IACtG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;KAClD,KAAK,OAAO,CAAC;QACZ,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAAE,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,aAAa,CAiCf;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAe7E;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgI3F"}
@@ -1,9 +1,7 @@
1
1
  import { dirname, resolve } from "node:path";
2
- import { fileURLToPath } from "node:url";
3
2
  import { listTraceSources, mergeTraceSources, pruneTraceSources } from "@mono-agent/observability";
4
3
  import { loadTuiAdapterConfig } from "@mono-agent/operator-adapter";
5
4
  import { resolveAppTraceRegistryDir, resolveGlobalTraceRegistryDir } from "./app-config.js";
6
- import { hasCompletedManagedStartup } from "./managed-startup.js";
7
5
  /**
8
6
  * Pure selection logic for `mono-agent tui`: which running agent to connect
9
7
  * to, or whether to open the picker. `registryDirs` names every registry that
@@ -70,14 +68,6 @@ export async function runTui(options, deps = {}) {
70
68
  stderr.write("mono-agent tui needs an interactive terminal (stdin is not a TTY).\n");
71
69
  return 1;
72
70
  }
73
- if (options.configure === true && options.local === true) {
74
- stderr.write("Self-configuration must attach to the authoritative background agent; remove `--local`.\n");
75
- return 1;
76
- }
77
- if (options.configure === true && (deps.platform ?? process.platform) !== "darwin") {
78
- stderr.write("Temporary conversational configuration requires the managed macOS background lifecycle so apply/restart/rollback can be proven. Use ordinary `mono-agent tui`, edit mono-agent.config.json or IDENTITY.md manually, validate, and restart the foreground agent yourself.\n");
79
- return 1;
80
- }
81
71
  // Lazy: neither the runtime stack nor pi-tui loads for remote discovery.
82
72
  const startTui = deps.startTui ??
83
73
  (async (tuiOptions) => {
@@ -86,8 +76,8 @@ export async function runTui(options, deps = {}) {
86
76
  });
87
77
  if (options.local === true) {
88
78
  const createSession = deps.createLocalSession ?? (async (input) => {
89
- const { createLocalConfigurationSession } = await import("./local-configuration.js");
90
- return await createLocalConfigurationSession(input);
79
+ const { createLocalTuiSession } = await import("./local-tui-session.js");
80
+ return await createLocalTuiSession(input);
91
81
  });
92
82
  let session;
93
83
  try {
@@ -122,37 +112,12 @@ export async function runTui(options, deps = {}) {
122
112
  await session.dispose();
123
113
  }
124
114
  }
125
- let managedConfigurationEnvironment;
126
- if (options.configure === true) {
127
- try {
128
- managedConfigurationEnvironment = await (deps.loadConfigurationEnvironment?.() ?? loadManagedConfigurationEnvironment(options));
129
- }
130
- catch (error) {
131
- stderr.write(`Could not reconstruct the managed worker environment: ${error instanceof Error ? error.message : String(error)}\n`);
132
- return 1;
133
- }
134
- }
135
- const effectiveEnvironment = managedConfigurationEnvironment ?? options.env;
136
- let effectiveOptions = options;
137
- if (options.configure === true) {
138
- try {
139
- const { canonicalBackgroundConfigPath } = await import("./background.js");
140
- effectiveOptions = {
141
- ...options,
142
- configPath: await canonicalBackgroundConfigPath(options.cwd, options.configPath),
143
- };
144
- }
145
- catch (error) {
146
- stderr.write(`Could not resolve the managed configuration identity: ${error instanceof Error ? error.message : String(error)}\n`);
147
- return 1;
148
- }
149
- }
150
115
  const configuredRegistryDir = await resolveAppTraceRegistryDir({
151
- env: effectiveEnvironment,
152
- cwd: effectiveOptions.cwd,
153
- configPath: effectiveOptions.configPath,
116
+ env: options.env,
117
+ cwd: options.cwd,
118
+ configPath: options.configPath,
154
119
  });
155
- const globalRegistryDir = resolveGlobalTraceRegistryDir(effectiveEnvironment);
120
+ const globalRegistryDir = resolveGlobalTraceRegistryDir(options.env);
156
121
  const listSources = deps.listSources ?? listTraceSources;
157
122
  // Use the registry's own echoed (normalized) dir from here on. The "does this
158
123
  // differ from the global registry" decision is made BEFORE querying (against
@@ -172,36 +137,7 @@ export async function runTui(options, deps = {}) {
172
137
  // globalDiscovery:false opt-out, or one still running a pre-mirror build)
173
138
  // stays visible from inside its own directory.
174
139
  const registryDirs = merged === undefined ? [primary.registryDir] : [primary.registryDir, merged.registryDir];
175
- const configuredSource = options.configure === true
176
- ? sources.find((source) => isConfigurationReadySource(source)
177
- && source.configPath !== undefined
178
- && resolve(source.configPath) === resolve(effectiveOptions.configPath))
179
- : undefined;
180
- let authoritativeConfigurationSource;
181
- if (options.configure === true && configuredSource !== undefined) {
182
- if (options.agent !== undefined
183
- && options.agent !== configuredSource.sourceId
184
- && options.agent !== configuredSource.label) {
185
- stderr.write("The selected agent does not own this folder's configuration; refusing to grant configuration authority.\n");
186
- return 1;
187
- }
188
- const verifyConfigurationSource = deps.verifyConfigurationSource
189
- ?? ((source, environment) => verifyManagedConfigurationSource(effectiveOptions, source, environment));
190
- try {
191
- authoritativeConfigurationSource = await verifyConfigurationSource(configuredSource, effectiveEnvironment);
192
- }
193
- catch (error) {
194
- stderr.write(`Could not verify the authoritative background agent: ${error instanceof Error ? error.message : String(error)}\n`);
195
- return 1;
196
- }
197
- if (authoritativeConfigurationSource === undefined) {
198
- stderr.write("The registry entry could not be matched to one live launchd PID, its exact durable-input snapshot, and a reachable TUI endpoint; refusing configuration authority.\n");
199
- return 1;
200
- }
201
- }
202
- const plan = options.configure === true && authoritativeConfigurationSource !== undefined
203
- ? { kind: "connect", source: authoritativeConfigurationSource }
204
- : resolveTuiLaunch(sources, registryDirs, options.agent);
140
+ const plan = resolveTuiLaunch(sources, registryDirs, options.agent);
205
141
  if (plan.kind === "none") {
206
142
  stdout.write(`${plan.message}\n`);
207
143
  return 1;
@@ -210,88 +146,38 @@ export async function runTui(options, deps = {}) {
210
146
  stderr.write(`${plan.message}\n`);
211
147
  return 1;
212
148
  }
213
- if (options.configure === true && configuredSource === undefined) {
214
- stderr.write(`No ready background agent for ${resolve(effectiveOptions.configPath)}. Start it with \`mono-agent start --config ${shellQuote(resolve(effectiveOptions.configPath))}\`, then retry \`mono-agent tui --configure\`.\n`);
215
- return 1;
216
- }
217
149
  const common = {
218
150
  title: "mono-agent",
219
- env: effectiveEnvironment,
151
+ env: options.env,
220
152
  ...(options.conversationId === undefined ? {} : { conversationId: options.conversationId }),
221
153
  };
222
154
  if (plan.kind === "picker") {
223
- if (options.configure === true) {
224
- stderr.write("Self-configuration must target the current folder's one authoritative background agent.\n");
225
- return 1;
226
- }
227
155
  const handle = await startTui({ ...common, discovery: { registryDirs } });
228
156
  await handle.waitUntilExit();
229
157
  return 0;
230
158
  }
231
159
  const source = plan.source;
232
- if (options.configure === true
233
- && (source.configPath === undefined || resolve(source.configPath) !== resolve(effectiveOptions.configPath))) {
234
- stderr.write("The selected agent does not own this folder's configuration; refusing to grant configuration authority.\n");
235
- return 1;
236
- }
237
160
  const baseUrl = tuiEndpointOf(source);
238
- if (options.configure === true && baseUrl === undefined) {
239
- stderr.write("Self-configuration needs the background agent's running TUI endpoint; enable the tui channel and restart it.\n");
240
- return 1;
241
- }
242
- const apiKey = await resolveAgentApiKey(source, effectiveEnvironment);
243
- let configurationSession;
244
- if (options.configure === true) {
245
- const restartBackground = (expectedSnapshot) => deps.restartBackground === undefined
246
- ? restartManagedBackground(effectiveOptions, expectedSnapshot, effectiveEnvironment)
247
- : deps.restartBackground(expectedSnapshot, effectiveEnvironment);
248
- const createSession = deps.createRemoteConfigurationSession ?? (async (input) => {
249
- const { createRemoteConfigurationSession } = await import("./local-configuration.js");
250
- return await createRemoteConfigurationSession(input);
251
- });
252
- try {
253
- configurationSession = await createSession({
254
- cwd: effectiveOptions.cwd,
255
- configPath: effectiveOptions.configPath,
256
- env: effectiveEnvironment,
257
- ...(effectiveOptions.envFile === undefined ? {} : { envFile: effectiveOptions.envFile }),
258
- restartBackground,
259
- });
260
- }
261
- catch (error) {
262
- stderr.write(`Could not open self-configuration: ${error instanceof Error ? error.message : String(error)}\n`);
263
- return 1;
264
- }
265
- }
266
- try {
267
- const handle = await startTui({
268
- ...common,
269
- ...(baseUrl === undefined
270
- ? // No stream endpoint (tui channel disabled): replay/config still work.
271
- { discovery: { registryDirs } }
272
- : { connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) } }),
273
- ...(configurationSession === undefined ? {} : { configuration: configurationSession.configuration }),
274
- instance: {
275
- label: source.label,
276
- artifactDir: source.artifactDir,
277
- ...(source.configPath === undefined ? {} : { configPath: source.configPath }),
278
- },
279
- ...(options.conversationId === undefined ? { conversationId: `tui-${source.sourceId}` } : {}),
280
- subtitle: source.configPath === undefined ? source.sourceId : dirname(resolve(source.configPath)),
281
- });
282
- if (baseUrl === undefined) {
283
- stdout.write(`Agent \`${source.label}\` has no tui stream endpoint (channel disabled?) — opening in discovery mode; replay/config remain available.\n`);
284
- }
285
- await handle.waitUntilExit();
286
- if (options.configure === true) {
287
- stdout.write("Configuration console closed; no background stop was requested. " +
288
- "If restart or recovery reported failure, use the transcript's recovery commands before assuming the agent is running.\n");
289
- }
290
- return 0;
291
- }
292
- finally {
293
- await configurationSession?.dispose();
161
+ const apiKey = await resolveAgentApiKey(source, options.env);
162
+ const handle = await startTui({
163
+ ...common,
164
+ ...(baseUrl === undefined
165
+ ? // No stream endpoint (tui channel disabled): replay/config still work.
166
+ { discovery: { registryDirs } }
167
+ : { connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) } }),
168
+ instance: {
169
+ label: source.label,
170
+ artifactDir: source.artifactDir,
171
+ ...(source.configPath === undefined ? {} : { configPath: source.configPath }),
172
+ },
173
+ ...(options.conversationId === undefined ? { conversationId: `tui-${source.sourceId}` } : {}),
174
+ subtitle: source.configPath === undefined ? source.sourceId : dirname(resolve(source.configPath)),
175
+ });
176
+ if (baseUrl === undefined) {
177
+ stdout.write(`Agent \`${source.label}\` has no tui stream endpoint (channel disabled?) — opening in discovery mode; replay/config remain available.\n`);
294
178
  }
179
+ await handle.waitUntilExit();
180
+ return 0;
295
181
  }
296
182
  /**
297
183
  * The registry never carries secrets: read `tui.apiKey` through the adapter's
@@ -309,127 +195,4 @@ async function resolveAgentApiKey(source, env) {
309
195
  return env.MONO_AGENT_TUI_API_KEY;
310
196
  }
311
197
  }
312
- async function restartManagedBackground(options, expectedSnapshot, environment) {
313
- const background = await import("./background.js");
314
- let target;
315
- try {
316
- const resolvedTarget = await background.resolveInstanceTarget({
317
- args: {
318
- configPath: options.configPath,
319
- ...(options.envFile === undefined ? {} : { envFile: options.envFile }),
320
- },
321
- env: environment,
322
- cwd: options.cwd,
323
- cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
324
- requireTui: true,
325
- });
326
- target = { ...resolvedTarget, expectedSnapshot };
327
- }
328
- catch (error) {
329
- return {
330
- ok: false,
331
- message: `Could not resolve the managed background target: ${error instanceof Error ? error.message : String(error)}. ` +
332
- configurationRecoveryCommands(options),
333
- };
334
- }
335
- let result;
336
- try {
337
- // Never write lifecycle status directly into the active terminal renderer.
338
- // The host controller returns one concise transcript result instead.
339
- const lifecycleDeps = {
340
- ...background.defaultBackgroundDeps(),
341
- stdout: (_text) => undefined,
342
- stderr: (_text) => undefined,
343
- };
344
- result = await background.ensureBackgroundReady(target, lifecycleDeps);
345
- }
346
- catch (error) {
347
- return {
348
- ok: false,
349
- message: `Managed background restart failed unexpectedly: ${error instanceof Error ? error.message : String(error)}. ` +
350
- configurationRecoveryCommands(options, target.paths),
351
- };
352
- }
353
- if (!result.ok) {
354
- return {
355
- ok: false,
356
- message: `Managed background ${result.action} failed (${result.reason}). ` +
357
- configurationRecoveryCommands(options, target.paths),
358
- };
359
- }
360
- const baseUrl = tuiEndpointOf(result.source);
361
- if (baseUrl === undefined) {
362
- return {
363
- ok: false,
364
- message: "The restarted agent reported ready without a running TUI endpoint. " +
365
- configurationRecoveryCommands(options, target.paths),
366
- };
367
- }
368
- const apiKey = await resolveAgentApiKey(result.source, environment);
369
- return {
370
- ok: true,
371
- connection: { baseUrl, ...(apiKey === undefined ? {} : { apiKey }) },
372
- };
373
- }
374
- async function verifyManagedConfigurationSource(options, _candidate, environment) {
375
- const background = await import("./background.js");
376
- const resolvedTarget = await background.resolveInstanceTarget({
377
- args: {
378
- configPath: options.configPath,
379
- ...(options.envFile === undefined ? {} : { envFile: options.envFile }),
380
- },
381
- env: environment,
382
- cwd: options.cwd,
383
- cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)),
384
- requireTui: true,
385
- });
386
- const expectedSnapshot = await captureManagedConfigurationAttachSnapshot(resolvedTarget, environment);
387
- const target = { ...resolvedTarget, expectedSnapshot };
388
- return await background.pollInstanceReady(target, background.defaultBackgroundDeps(), {
389
- timeoutMs: 0,
390
- intervalMs: 0,
391
- sinceMs: 0,
392
- requireTui: true,
393
- });
394
- }
395
- /**
396
- * Attest the configuration target against the one environment reconstructed
397
- * before discovery. Re-reading dotenv here could prove a different worker
398
- * input than the environment later used for authentication and restart.
399
- */
400
- export async function captureManagedConfigurationAttachSnapshot(target, environment) {
401
- const { captureBackgroundSnapshot } = await import("./background-snapshot.js");
402
- return await captureBackgroundSnapshot({
403
- cwd: target.cwd,
404
- configPath: target.configPath,
405
- ...(target.envFile === undefined ? {} : { envFile: target.envFile }),
406
- env: environment,
407
- });
408
- }
409
- async function loadManagedConfigurationEnvironment(options) {
410
- const [background, snapshot] = await Promise.all([
411
- import("./background.js"),
412
- import("./background-snapshot.js"),
413
- ]);
414
- return await snapshot.loadDurableBackgroundEnvironment({
415
- cwd: options.cwd,
416
- ...(options.envFile === undefined ? {} : { envFile: options.envFile }),
417
- operationalEnvironment: background.managedBackgroundEnvironment(options.env),
418
- });
419
- }
420
- function configurationRecoveryCommands(options, paths) {
421
- const flag = ` --config ${shellQuote(resolve(options.configPath))}` +
422
- (options.envFile === undefined ? "" : ` --env-file ${shellQuote(resolve(options.envFile))}`);
423
- return (`Recovery commands: mono-agent status${flag}; ` +
424
- `mono-agent logs${flag} --follow; mono-agent restart${flag}; mono-agent stop${flag}.` +
425
- (paths === undefined
426
- ? ""
427
- : ` LaunchAgent logs: ${shellQuote(paths.stderrPath)} and ${shellQuote(paths.stdoutPath)}.`));
428
- }
429
- function shellQuote(value) {
430
- return `'${value.replaceAll("'", `'"'"'`)}'`;
431
- }
432
- function isConfigurationReadySource(source) {
433
- return source.health === "running" && hasCompletedManagedStartup(source);
434
- }
435
198
  //# sourceMappingURL=tui-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-command.js","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-command.js","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAsC5F;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAuC,EACvC,YAA+B,EAC/B,WAA+B;IAE/B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACtE,MAAM,aAAa,GACjB,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7G,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAC5E,CAAC;QACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7F,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EACL,8BAA8B,WAAW,OAAO;oBAChD,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;wBACjB,CAAC,CAAC,0BAA0B,aAAa,IAAI;wBAC7C,CAAC,CAAC,oBAAoB,SAAS,EAAE,CAAC;aACvC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,4BAA4B,aAAa,MAAM;gBAC/C,mFAAmF;SACtF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC3C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAI,QAAoC,CAAC,GAAG,CAAC;IACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,6EAA6E;IAC7E,0DAA0D;IAC1D,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACjG,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB,EAAE,OAAmB,EAAE;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yEAAyE;IACzE,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ;QACb,CAAC,KAAK,EAAE,UAAmC,EAAE,EAAE;YAC7C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC9D,OAAO,iBAAiB,CAAC,UAAmB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IAEL,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACzE,OAAO,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,aAAa,CAAC;gBAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvG,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,GAAG;gBACrB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,WAAW;gBACrD,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBACxE,QAAQ,EAAE;oBACR,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC;oBAC7D,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,0BAA0B,CAAC;QAC7D,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC;IAEzD,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC1E,KAAK,iBAAiB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,iBAAiB,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5G,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9G,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;KAC5F,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;QAC5B,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,KAAK,SAAS;YACvB,CAAC,CAAC,uEAAuE;gBACvE,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE;YACjC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7E,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;SAC9E;QACD,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,QAAQ,EAAE,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAClG,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CACV,WAAW,MAAM,CAAC,KAAK,kHAAkH,CAC1I,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAA2B,EAC3B,GAAuC;IAEvC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,sBAAsB,CAAC;IACpC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,sBAAsB,CAAC;IACpC,CAAC;AACH,CAAC"}