@mono-agent/agent-app 0.19.0 → 0.20.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 (303) hide show
  1. package/README.md +304 -32
  2. package/dist/acp-bridge.d.ts.map +1 -1
  3. package/dist/acp-bridge.js +113 -54
  4. package/dist/acp-bridge.js.map +1 -1
  5. package/dist/acp-session-store.d.ts +12 -0
  6. package/dist/acp-session-store.d.ts.map +1 -0
  7. package/dist/acp-session-store.js +74 -0
  8. package/dist/acp-session-store.js.map +1 -0
  9. package/dist/agent-artifact-paths.d.ts +8 -0
  10. package/dist/agent-artifact-paths.d.ts.map +1 -0
  11. package/dist/agent-artifact-paths.js +11 -0
  12. package/dist/agent-artifact-paths.js.map +1 -0
  13. package/dist/agent-root-coordinator.d.ts +101 -0
  14. package/dist/agent-root-coordinator.d.ts.map +1 -0
  15. package/dist/agent-root-coordinator.js +470 -0
  16. package/dist/agent-root-coordinator.js.map +1 -0
  17. package/dist/app-controller-channels.d.ts +11 -1
  18. package/dist/app-controller-channels.d.ts.map +1 -1
  19. package/dist/app-controller-channels.js +145 -20
  20. package/dist/app-controller-channels.js.map +1 -1
  21. package/dist/app-controller-continuation.d.ts +2 -0
  22. package/dist/app-controller-continuation.d.ts.map +1 -1
  23. package/dist/app-controller-continuation.js.map +1 -1
  24. package/dist/app-controller-lifecycle.d.ts +5 -0
  25. package/dist/app-controller-lifecycle.d.ts.map +1 -1
  26. package/dist/app-controller-lifecycle.js +24 -5
  27. package/dist/app-controller-lifecycle.js.map +1 -1
  28. package/dist/app-controller-maintenance.d.ts +2 -0
  29. package/dist/app-controller-maintenance.d.ts.map +1 -1
  30. package/dist/app-controller-maintenance.js +32 -2
  31. package/dist/app-controller-maintenance.js.map +1 -1
  32. package/dist/app-controller-process-jobs.d.ts +46 -0
  33. package/dist/app-controller-process-jobs.d.ts.map +1 -0
  34. package/dist/app-controller-process-jobs.js +281 -0
  35. package/dist/app-controller-process-jobs.js.map +1 -0
  36. package/dist/app-controller-responder.d.ts +15 -0
  37. package/dist/app-controller-responder.d.ts.map +1 -1
  38. package/dist/app-controller-responder.js +146 -12
  39. package/dist/app-controller-responder.js.map +1 -1
  40. package/dist/app-controller-traceability.d.ts +6 -0
  41. package/dist/app-controller-traceability.d.ts.map +1 -1
  42. package/dist/app-controller-traceability.js +10 -0
  43. package/dist/app-controller-traceability.js.map +1 -1
  44. package/dist/app-controller-utils.d.ts +8 -0
  45. package/dist/app-controller-utils.d.ts.map +1 -1
  46. package/dist/app-controller-utils.js +24 -1
  47. package/dist/app-controller-utils.js.map +1 -1
  48. package/dist/app-controller.d.ts +40 -1
  49. package/dist/app-controller.d.ts.map +1 -1
  50. package/dist/app-controller.js +124 -39
  51. package/dist/app-controller.js.map +1 -1
  52. package/dist/background-log-maintenance.d.ts +85 -2
  53. package/dist/background-log-maintenance.d.ts.map +1 -1
  54. package/dist/background-log-maintenance.js +407 -136
  55. package/dist/background-log-maintenance.js.map +1 -1
  56. package/dist/background-runtime.d.ts.map +1 -1
  57. package/dist/background-runtime.js +22 -41
  58. package/dist/background-runtime.js.map +1 -1
  59. package/dist/background.d.ts +18 -26
  60. package/dist/background.d.ts.map +1 -1
  61. package/dist/background.js +83 -138
  62. package/dist/background.js.map +1 -1
  63. package/dist/channel-drivers/cron.d.ts +12 -1
  64. package/dist/channel-drivers/cron.d.ts.map +1 -1
  65. package/dist/channel-drivers/cron.js +121 -18
  66. package/dist/channel-drivers/cron.js.map +1 -1
  67. package/dist/channel-drivers/native-notify.d.ts +3 -0
  68. package/dist/channel-drivers/native-notify.d.ts.map +1 -1
  69. package/dist/channel-drivers/native-notify.js +2 -1
  70. package/dist/channel-drivers/native-notify.js.map +1 -1
  71. package/dist/channel-drivers/slack.d.ts.map +1 -1
  72. package/dist/channel-drivers/slack.js +41 -4
  73. package/dist/channel-drivers/slack.js.map +1 -1
  74. package/dist/channel-drivers/telegram.d.ts.map +1 -1
  75. package/dist/channel-drivers/telegram.js +46 -3
  76. package/dist/channel-drivers/telegram.js.map +1 -1
  77. package/dist/channel-drivers/tui.d.ts +13 -2
  78. package/dist/channel-drivers/tui.d.ts.map +1 -1
  79. package/dist/channel-drivers/tui.js +112 -3
  80. package/dist/channel-drivers/tui.js.map +1 -1
  81. package/dist/channels.d.ts +1 -1
  82. package/dist/channels.d.ts.map +1 -1
  83. package/dist/channels.js +4 -2
  84. package/dist/channels.js.map +1 -1
  85. package/dist/cli-args.d.ts +15 -1
  86. package/dist/cli-args.d.ts.map +1 -1
  87. package/dist/cli-args.js +82 -12
  88. package/dist/cli-args.js.map +1 -1
  89. package/dist/cli-background-command.d.ts +9 -2
  90. package/dist/cli-background-command.d.ts.map +1 -1
  91. package/dist/cli-background-command.js +174 -66
  92. package/dist/cli-background-command.js.map +1 -1
  93. package/dist/cli-commands.d.ts.map +1 -1
  94. package/dist/cli-commands.js +50 -12
  95. package/dist/cli-commands.js.map +1 -1
  96. package/dist/cli-help.d.ts.map +1 -1
  97. package/dist/cli-help.js +21 -1
  98. package/dist/cli-help.js.map +1 -1
  99. package/dist/config-reference.d.ts.map +1 -1
  100. package/dist/config-reference.js +99 -2
  101. package/dist/config-reference.js.map +1 -1
  102. package/dist/configured-agent.d.ts +44 -3
  103. package/dist/configured-agent.d.ts.map +1 -1
  104. package/dist/configured-agent.js +805 -156
  105. package/dist/configured-agent.js.map +1 -1
  106. package/dist/conversation-state-roots.d.ts +59 -0
  107. package/dist/conversation-state-roots.d.ts.map +1 -0
  108. package/dist/conversation-state-roots.js +248 -0
  109. package/dist/conversation-state-roots.js.map +1 -0
  110. package/dist/cron-control-store.d.ts +91 -0
  111. package/dist/cron-control-store.d.ts.map +1 -0
  112. package/dist/cron-control-store.js +1251 -0
  113. package/dist/cron-control-store.js.map +1 -0
  114. package/dist/cron-operator-service.d.ts +54 -0
  115. package/dist/cron-operator-service.d.ts.map +1 -0
  116. package/dist/cron-operator-service.js +352 -0
  117. package/dist/cron-operator-service.js.map +1 -0
  118. package/dist/doctor-session-history.d.ts +9 -0
  119. package/dist/doctor-session-history.d.ts.map +1 -0
  120. package/dist/doctor-session-history.js +313 -0
  121. package/dist/doctor-session-history.js.map +1 -0
  122. package/dist/doctor.d.ts +2 -1
  123. package/dist/doctor.d.ts.map +1 -1
  124. package/dist/doctor.js +320 -9
  125. package/dist/doctor.js.map +1 -1
  126. package/dist/index.d.ts +4 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +2 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/interaction-bridge.d.ts +1 -0
  131. package/dist/interaction-bridge.d.ts.map +1 -1
  132. package/dist/interaction-bridge.js +54 -6
  133. package/dist/interaction-bridge.js.map +1 -1
  134. package/dist/jobs-command.d.ts +17 -0
  135. package/dist/jobs-command.d.ts.map +1 -0
  136. package/dist/jobs-command.js +207 -0
  137. package/dist/jobs-command.js.map +1 -0
  138. package/dist/launchd-lifecycle-lock.d.ts +36 -0
  139. package/dist/launchd-lifecycle-lock.d.ts.map +1 -0
  140. package/dist/launchd-lifecycle-lock.js +124 -0
  141. package/dist/launchd-lifecycle-lock.js.map +1 -0
  142. package/dist/launchd-log-monitor-status.d.ts +7 -0
  143. package/dist/launchd-log-monitor-status.d.ts.map +1 -0
  144. package/dist/launchd-log-monitor-status.js +224 -0
  145. package/dist/launchd-log-monitor-status.js.map +1 -0
  146. package/dist/launchd-logs.d.ts +9 -1
  147. package/dist/launchd-logs.d.ts.map +1 -1
  148. package/dist/launchd-logs.js +69 -16
  149. package/dist/launchd-logs.js.map +1 -1
  150. package/dist/launchd-maintenance-command.d.ts +10 -0
  151. package/dist/launchd-maintenance-command.d.ts.map +1 -0
  152. package/dist/launchd-maintenance-command.js +2 -0
  153. package/dist/launchd-maintenance-command.js.map +1 -0
  154. package/dist/launchd-maintenance-entry.d.ts +30 -0
  155. package/dist/launchd-maintenance-entry.d.ts.map +1 -0
  156. package/dist/launchd-maintenance-entry.js +206 -0
  157. package/dist/launchd-maintenance-entry.js.map +1 -0
  158. package/dist/launchd-maintenance-gate.d.ts +28 -0
  159. package/dist/launchd-maintenance-gate.d.ts.map +1 -0
  160. package/dist/launchd-maintenance-gate.js +80 -0
  161. package/dist/launchd-maintenance-gate.js.map +1 -0
  162. package/dist/launchd-private-files.d.ts +3 -0
  163. package/dist/launchd-private-files.d.ts.map +1 -0
  164. package/dist/launchd-private-files.js +58 -0
  165. package/dist/launchd-private-files.js.map +1 -0
  166. package/dist/launchd.d.ts +56 -2
  167. package/dist/launchd.d.ts.map +1 -1
  168. package/dist/launchd.js +210 -5
  169. package/dist/launchd.js.map +1 -1
  170. package/dist/local-configuration.d.ts.map +1 -1
  171. package/dist/local-configuration.js +33 -7
  172. package/dist/local-configuration.js.map +1 -1
  173. package/dist/managed-launchd-maintenance-environment.d.ts +3 -0
  174. package/dist/managed-launchd-maintenance-environment.d.ts.map +1 -0
  175. package/dist/managed-launchd-maintenance-environment.js +12 -0
  176. package/dist/managed-launchd-maintenance-environment.js.map +1 -0
  177. package/dist/managed-runtime-launch-proof.d.ts +11 -0
  178. package/dist/managed-runtime-launch-proof.d.ts.map +1 -0
  179. package/dist/managed-runtime-launch-proof.js +59 -0
  180. package/dist/managed-runtime-launch-proof.js.map +1 -0
  181. package/dist/managed-runtime-maintenance-entry.d.ts +10 -0
  182. package/dist/managed-runtime-maintenance-entry.d.ts.map +1 -0
  183. package/dist/managed-runtime-maintenance-entry.js +244 -0
  184. package/dist/managed-runtime-maintenance-entry.js.map +1 -0
  185. package/dist/managed-web-logs.d.ts +29 -11
  186. package/dist/managed-web-logs.d.ts.map +1 -1
  187. package/dist/managed-web-logs.js +244 -121
  188. package/dist/managed-web-logs.js.map +1 -1
  189. package/dist/managed-web-maintenance-environment.d.ts +6 -0
  190. package/dist/managed-web-maintenance-environment.d.ts.map +1 -0
  191. package/dist/managed-web-maintenance-environment.js +19 -0
  192. package/dist/managed-web-maintenance-environment.js.map +1 -0
  193. package/dist/mcp-apps.d.ts +37 -0
  194. package/dist/mcp-apps.d.ts.map +1 -0
  195. package/dist/mcp-apps.js +1753 -0
  196. package/dist/mcp-apps.js.map +1 -0
  197. package/dist/memory-command.d.ts +12 -0
  198. package/dist/memory-command.d.ts.map +1 -1
  199. package/dist/memory-command.js +510 -1
  200. package/dist/memory-command.js.map +1 -1
  201. package/dist/modules/known-tools.d.ts +1 -1
  202. package/dist/modules/known-tools.d.ts.map +1 -1
  203. package/dist/modules/known-tools.js +2 -0
  204. package/dist/modules/known-tools.js.map +1 -1
  205. package/dist/posted-reply-history.d.ts.map +1 -1
  206. package/dist/posted-reply-history.js +12 -0
  207. package/dist/posted-reply-history.js.map +1 -1
  208. package/dist/proactive-notify.d.ts +4 -1
  209. package/dist/proactive-notify.d.ts.map +1 -1
  210. package/dist/proactive-notify.js +43 -5
  211. package/dist/proactive-notify.js.map +1 -1
  212. package/dist/process-jobs-config.d.ts +82 -0
  213. package/dist/process-jobs-config.d.ts.map +1 -0
  214. package/dist/process-jobs-config.js +423 -0
  215. package/dist/process-jobs-config.js.map +1 -0
  216. package/dist/process-jobs-context.d.ts +24 -0
  217. package/dist/process-jobs-context.d.ts.map +1 -0
  218. package/dist/process-jobs-context.js +135 -0
  219. package/dist/process-jobs-context.js.map +1 -0
  220. package/dist/process-jobs-root-registry.d.ts +115 -0
  221. package/dist/process-jobs-root-registry.d.ts.map +1 -0
  222. package/dist/process-jobs-root-registry.js +978 -0
  223. package/dist/process-jobs-root-registry.js.map +1 -0
  224. package/dist/process-jobs-runtime.d.ts +35 -0
  225. package/dist/process-jobs-runtime.d.ts.map +1 -0
  226. package/dist/process-jobs-runtime.js +177 -0
  227. package/dist/process-jobs-runtime.js.map +1 -0
  228. package/dist/process-jobs-service.d.ts +70 -0
  229. package/dist/process-jobs-service.d.ts.map +1 -0
  230. package/dist/process-jobs-service.js +1989 -0
  231. package/dist/process-jobs-service.js.map +1 -0
  232. package/dist/process-jobs-store.d.ts +151 -0
  233. package/dist/process-jobs-store.d.ts.map +1 -0
  234. package/dist/process-jobs-store.js +1290 -0
  235. package/dist/process-jobs-store.js.map +1 -0
  236. package/dist/reply-artifacts.d.ts +65 -0
  237. package/dist/reply-artifacts.d.ts.map +1 -0
  238. package/dist/reply-artifacts.js +1147 -0
  239. package/dist/reply-artifacts.js.map +1 -0
  240. package/dist/reply-part-budget.d.ts +16 -0
  241. package/dist/reply-part-budget.d.ts.map +1 -0
  242. package/dist/reply-part-budget.js +57 -0
  243. package/dist/reply-part-budget.js.map +1 -0
  244. package/dist/request-model-override.d.ts +19 -0
  245. package/dist/request-model-override.d.ts.map +1 -1
  246. package/dist/request-model-override.js +54 -1
  247. package/dist/request-model-override.js.map +1 -1
  248. package/dist/request-scoped-mcp.d.ts +31 -0
  249. package/dist/request-scoped-mcp.d.ts.map +1 -0
  250. package/dist/request-scoped-mcp.js +197 -0
  251. package/dist/request-scoped-mcp.js.map +1 -0
  252. package/dist/run-history.d.ts.map +1 -1
  253. package/dist/run-history.js +50 -254
  254. package/dist/run-history.js.map +1 -1
  255. package/dist/runtime-option-extensions.d.ts +21 -0
  256. package/dist/runtime-option-extensions.d.ts.map +1 -1
  257. package/dist/runtime-option-extensions.js +53 -0
  258. package/dist/runtime-option-extensions.js.map +1 -1
  259. package/dist/secure-file-replace.d.ts +3 -0
  260. package/dist/secure-file-replace.d.ts.map +1 -1
  261. package/dist/secure-file-replace.js +31 -7
  262. package/dist/secure-file-replace.js.map +1 -1
  263. package/dist/session-history.d.ts +146 -0
  264. package/dist/session-history.d.ts.map +1 -0
  265. package/dist/session-history.js +347 -0
  266. package/dist/session-history.js.map +1 -0
  267. package/dist/sessions.d.ts +45 -2
  268. package/dist/sessions.d.ts.map +1 -1
  269. package/dist/sessions.js +849 -30
  270. package/dist/sessions.js.map +1 -1
  271. package/dist/web-command.d.ts +12 -11
  272. package/dist/web-command.d.ts.map +1 -1
  273. package/dist/web-command.js +554 -80
  274. package/dist/web-command.js.map +1 -1
  275. package/dist/web-log-maintenance-command.d.ts +7 -0
  276. package/dist/web-log-maintenance-command.d.ts.map +1 -0
  277. package/dist/web-log-maintenance-command.js +21 -0
  278. package/dist/web-log-maintenance-command.js.map +1 -0
  279. package/dist/web-log-maintenance-status.d.ts +26 -0
  280. package/dist/web-log-maintenance-status.d.ts.map +1 -0
  281. package/dist/web-log-maintenance-status.js +171 -0
  282. package/dist/web-log-maintenance-status.js.map +1 -0
  283. package/dist/web-log-maintenance.d.ts +32 -0
  284. package/dist/web-log-maintenance.d.ts.map +1 -0
  285. package/dist/web-log-maintenance.js +163 -0
  286. package/dist/web-log-maintenance.js.map +1 -0
  287. package/dist/web-maintenance-paths.d.ts +12 -0
  288. package/dist/web-maintenance-paths.d.ts.map +1 -0
  289. package/dist/web-maintenance-paths.js +24 -0
  290. package/dist/web-maintenance-paths.js.map +1 -0
  291. package/dist/wizard/prompts.d.ts.map +1 -1
  292. package/dist/wizard/prompts.js +1 -0
  293. package/dist/wizard/prompts.js.map +1 -1
  294. package/dist/wizard/run.js +1 -1
  295. package/dist/wizard/run.js.map +1 -1
  296. package/package.json +15 -15
  297. package/schema/mono-agent.config.schema.json +102 -1
  298. package/skills/mono-agent-composer/references/config-blueprint.md +26 -2
  299. package/skills/mono-agent-composer/references/discovery-questions.md +2 -2
  300. package/skills/mono-agent-composer/references/feature-coverage.md +6 -4
  301. package/skills/mono-agent-composer/references/package-map.md +19 -3
  302. package/skills/mono-agent-composer/references/playbooks.md +3 -3
  303. package/skills/mono-agent-composer/references/validation.md +4 -2
package/dist/launchd.js CHANGED
@@ -4,6 +4,9 @@ import { basename, dirname, isAbsolute, resolve } from "node:path";
4
4
  import process from "node:process";
5
5
  import { accountHomeDirectory } from "./account-home.js";
6
6
  import { isBackgroundOperationalEnvName, MANAGED_BACKGROUND_WORKER_ENV, } from "./background-environment.js";
7
+ import { MANAGED_LAUNCHD_MAINTENANCE_ENTRY_FILE } from "./launchd-maintenance-command.js";
8
+ import { managedWebLogMaintenanceEnvironment, MANAGED_WEB_LOG_MAINTENANCE_ENV, } from "./managed-web-maintenance-environment.js";
9
+ export { MANAGED_WEB_LOG_MAINTENANCE_ENV } from "./managed-web-maintenance-environment.js";
7
10
  const LABEL_PREFIX = "com.mono-agent";
8
11
  const MAINTENANCE_LABEL_PREFIX = "com.mono-agent-maintenance";
9
12
  const MAX_FOLDER_SEGMENT = 40;
@@ -11,6 +14,9 @@ const FALLBACK_PATH = "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebre
11
14
  const PATH_EXTRAS = ["/opt/homebrew/bin", "/usr/local/bin"];
12
15
  export const INTERNAL_LAUNCHD_LOG_MAINTENANCE_COMMAND = "__launchd-log-maintenance";
13
16
  export const MANAGED_LAUNCHD_LOG_MAINTENANCE_ENV = "MONO_AGENT_MANAGED_LOG_MAINTENANCE";
17
+ export const WEB_LAUNCHD_LABEL = "com.mono-agent-web";
18
+ export const WEB_MAINTENANCE_LAUNCHD_LABEL = "com.mono-agent-web-maintenance";
19
+ export const INTERNAL_WEB_LOG_MAINTENANCE_COMMAND = "__web-log-maintenance";
14
20
  /**
15
21
  * A stable, launchd-legal label derived from the resolved config path. The
16
22
  * folder name keeps it human-readable; an 8-char hash of the absolute config
@@ -52,6 +58,35 @@ export function deriveLaunchdMaintenanceLabel(mainLabel) {
52
58
  }
53
59
  return `${MAINTENANCE_LABEL_PREFIX}.${match[1]}`;
54
60
  }
61
+ /** Deterministically stagger recurring helpers by the canonical main label. */
62
+ export function launchdMaintenanceCalendarMinute(canonicalMainLabel) {
63
+ return launchdMaintenanceHashBucket(canonicalMainLabel, 60);
64
+ }
65
+ export const LAUNCHD_MAINTENANCE_DISPERSION_SECONDS = 120;
66
+ /** Spread login helpers before PID authentication, locking, or heavy import. */
67
+ export function launchdMaintenanceDispersionSeconds(canonicalMainLabel) {
68
+ return launchdMaintenanceHashBucket(canonicalMainLabel, LAUNCHD_MAINTENANCE_DISPERSION_SECONDS);
69
+ }
70
+ /** Web has a fixed label and therefore a distinct exact-label schedule validator. */
71
+ export function webMaintenanceCalendarMinute(label = WEB_LAUNCHD_LABEL) {
72
+ return webMaintenanceHashBucket(label, 60);
73
+ }
74
+ /** Mirror agent RunAtLoad dispersion without admitting the web label to agent grammar. */
75
+ export function webMaintenanceDispersionSeconds(label = WEB_LAUNCHD_LABEL) {
76
+ return webMaintenanceHashBucket(label, LAUNCHD_MAINTENANCE_DISPERSION_SECONDS);
77
+ }
78
+ function webMaintenanceHashBucket(label, bucketCount) {
79
+ if (label !== WEB_LAUNCHD_LABEL) {
80
+ throw new Error("Web maintenance requires the exact managed web LaunchAgent label.");
81
+ }
82
+ return createHash("sha256").update(label).digest().readUInt32BE(0) % bucketCount;
83
+ }
84
+ function launchdMaintenanceHashBucket(canonicalMainLabel, bucketCount) {
85
+ // Reuse the canonical-label validator. Hashing a maintenance label would
86
+ // silently create a different schedule/dispersion and is therefore rejected.
87
+ deriveLaunchdMaintenanceLabel(canonicalMainLabel);
88
+ return createHash("sha256").update(canonicalMainLabel).digest().readUInt32BE(0) % bucketCount;
89
+ }
55
90
  export function launchdMaintenancePathsFor(mainLabel, home = accountHomeDirectory()) {
56
91
  const label = deriveLaunchdMaintenanceLabel(mainLabel);
57
92
  return {
@@ -59,6 +94,14 @@ export function launchdMaintenancePathsFor(mainLabel, home = accountHomeDirector
59
94
  plistPath: resolve(home, "Library", "LaunchAgents", `${label}.plist`),
60
95
  };
61
96
  }
97
+ /** Canonical lightweight helper next to the attested managed-runtime CLI. */
98
+ export function launchdMaintenanceEntrypointPathForCli(cliPath) {
99
+ const canonicalCliPath = resolve(cliPath);
100
+ if (basename(canonicalCliPath) !== "cli.js" || basename(dirname(canonicalCliPath)) !== "dist") {
101
+ throw new Error("Launchd maintenance requires the canonical dist/cli.js managed runtime layout.");
102
+ }
103
+ return resolve(dirname(canonicalCliPath), MANAGED_LAUNCHD_MAINTENANCE_ENTRY_FILE);
104
+ }
62
105
  export function escapeXml(value) {
63
106
  return value
64
107
  .replace(/&/gu, "&")
@@ -117,8 +160,10 @@ ${argsXml}
117
160
  }
118
161
  /** Scheduled one-shot recovery controller. It owns no logs and never KeepAlives. */
119
162
  export function buildLaunchdMaintenancePlistXml(input) {
120
- if (!Number.isSafeInteger(input.intervalSeconds) || input.intervalSeconds < 1) {
121
- throw new Error("Launchd maintenance interval must be a positive safe integer.");
163
+ if (!Number.isSafeInteger(input.calendarMinute)
164
+ || input.calendarMinute < 0
165
+ || input.calendarMinute > 59) {
166
+ throw new Error("Launchd maintenance calendar minute must be an integer from 0 through 59.");
122
167
  }
123
168
  for (const [name, value] of [
124
169
  ["launchd maintenance label", input.label],
@@ -143,8 +188,60 @@ ${argsXml}
143
188
  <string>${escapeXml(input.cwd)}</string>
144
189
  <key>RunAtLoad</key>
145
190
  <true/>
146
- <key>StartInterval</key>
147
- <integer>${String(input.intervalSeconds)}</integer>
191
+ <key>StartCalendarInterval</key>
192
+ <dict>
193
+ <key>Minute</key>
194
+ <integer>${String(input.calendarMinute)}</integer>
195
+ </dict>
196
+ <key>StandardOutPath</key>
197
+ <string>/dev/null</string>
198
+ <key>StandardErrorPath</key>
199
+ <string>/dev/null</string>
200
+ <key>ProcessType</key>
201
+ <string>Background</string>
202
+ </dict>
203
+ </plist>
204
+ `;
205
+ }
206
+ /** Scheduled one-shot web log controller. It never owns a KeepAlive or log stream. */
207
+ export function buildWebMaintenancePlistXml(input) {
208
+ if (input.label !== WEB_MAINTENANCE_LAUNCHD_LABEL) {
209
+ throw new Error("Web maintenance requires its exact private LaunchAgent label.");
210
+ }
211
+ if (!Number.isSafeInteger(input.calendarMinute)
212
+ || input.calendarMinute < 0
213
+ || input.calendarMinute > 59) {
214
+ throw new Error("Web maintenance calendar minute must be an integer from 0 through 59.");
215
+ }
216
+ assertWebPlistIdentity(input.expectedWebPlistIdentity);
217
+ for (const [name, value] of [
218
+ ["web maintenance launchd label", input.label],
219
+ ["web maintenance working directory", input.cwd],
220
+ ]) {
221
+ assertControlFree(value, name);
222
+ }
223
+ const argsXml = buildWebMaintenanceProgramArguments(input)
224
+ .map((argument) => ` <string>${escapeXml(argument)}</string>`)
225
+ .join("\n");
226
+ return `<?xml version="1.0" encoding="UTF-8"?>
227
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
228
+ <plist version="1.0">
229
+ <dict>
230
+ <key>Label</key>
231
+ <string>${escapeXml(input.label)}</string>
232
+ <key>ProgramArguments</key>
233
+ <array>
234
+ ${argsXml}
235
+ </array>
236
+ <key>WorkingDirectory</key>
237
+ <string>${escapeXml(input.cwd)}</string>
238
+ <key>RunAtLoad</key>
239
+ <true/>
240
+ <key>StartCalendarInterval</key>
241
+ <dict>
242
+ <key>Minute</key>
243
+ <integer>${String(input.calendarMinute)}</integer>
244
+ </dict>
148
245
  <key>StandardOutPath</key>
149
246
  <string>/dev/null</string>
150
247
  <key>StandardErrorPath</key>
@@ -244,12 +341,33 @@ export function buildLaunchdMaintenanceProgramArguments(input) {
244
341
  input.agentCwd,
245
342
  "--agent-path",
246
343
  input.agentPath,
344
+ "--expected-managed-runtime-launch",
345
+ input.expectedManagedRuntimeLaunch,
247
346
  ...(input.envFile === undefined ? [] : ["--env-file", input.envFile]),
248
347
  ];
249
348
  for (const argument of arguments_)
250
349
  assertControlFree(argument, "launchd maintenance program argument");
251
350
  return arguments_;
252
351
  }
352
+ /** Exact argv persisted by the private scheduled web-maintenance LaunchAgent. */
353
+ export function buildWebMaintenanceProgramArguments(input) {
354
+ assertWebPlistIdentity(input.expectedWebPlistIdentity);
355
+ const arguments_ = [
356
+ "/usr/bin/env",
357
+ "-i",
358
+ ...buildEnvironmentArguments(input.environment),
359
+ input.nodePath,
360
+ input.cliPath,
361
+ INTERNAL_WEB_LOG_MAINTENANCE_COMMAND,
362
+ "--expected-managed-runtime-launch",
363
+ input.expectedManagedRuntimeLaunch,
364
+ "--expected-web-plist-identity",
365
+ input.expectedWebPlistIdentity,
366
+ ];
367
+ for (const argument of arguments_)
368
+ assertControlFree(argument, "web maintenance program argument");
369
+ return arguments_;
370
+ }
253
371
  /** Exact argv persisted for the always-on web console. */
254
372
  export function buildWebLaunchdProgramArguments(input) {
255
373
  const arguments_ = [
@@ -271,7 +389,7 @@ export function buildWebLaunchdProgramArguments(input) {
271
389
  assertControlFree(argument, "web launchd program argument");
272
390
  return arguments_;
273
391
  }
274
- function buildEnvironmentArguments(environment) {
392
+ export function buildEnvironmentArguments(environment) {
275
393
  return Object.entries(environment)
276
394
  .sort(([left], [right]) => compareCodeUnits(left, right))
277
395
  .map(([key, value]) => {
@@ -287,6 +405,11 @@ function assertControlFree(value, label) {
287
405
  throw new Error(`${label} must not contain control characters.`);
288
406
  }
289
407
  }
408
+ export function assertWebPlistIdentity(value) {
409
+ if (!/^\d+:\d+:\d+:[0-9a-f]{64}$/u.test(value)) {
410
+ throw new Error("Web LaunchAgent plist identity must be dev:ino:size:sha256.");
411
+ }
412
+ }
290
413
  function compareCodeUnits(left, right) {
291
414
  return left < right ? -1 : left > right ? 1 : 0;
292
415
  }
@@ -363,6 +486,84 @@ export async function launchdManagedWorkerInfo(runner, label, uid) {
363
486
  ...(definition === undefined ? {} : { definition }),
364
487
  };
365
488
  }
489
+ /** Read the cached definition, not merely the mutable helper plist on disk. */
490
+ export async function launchdWebMaintenanceInfo(runner, uid) {
491
+ const result = await runner(["print", serviceTarget(WEB_MAINTENANCE_LAUNCHD_LABEL, uid)]);
492
+ if (result.code !== 0)
493
+ return { loaded: false };
494
+ const pid = parseLaunchdServicePid(result.stdout);
495
+ const definition = parseLaunchdWebMaintenanceDefinition(result.stdout);
496
+ return {
497
+ loaded: true,
498
+ ...(pid === undefined ? {} : { pid }),
499
+ ...(definition === undefined ? {} : { definition }),
500
+ };
501
+ }
502
+ /** Parse only the exact cached web-helper definition emitted by this producer. */
503
+ export function parseLaunchdWebMaintenanceDefinition(output) {
504
+ const lines = output.endsWith("\n") ? output.slice(0, -1).split("\n") : output.split("\n");
505
+ const oneValue = (name) => {
506
+ const prefix = `\t${name} = `;
507
+ const matches = lines.filter((line) => line.startsWith(prefix));
508
+ if (matches.length !== 1)
509
+ return undefined;
510
+ const value = matches[0].slice(prefix.length);
511
+ return value.length > 0 && !/[\u0000-\u001f\u007f]/u.test(value) ? value : undefined;
512
+ };
513
+ const blockStarts = lines
514
+ .map((line, index) => line === "\targuments = {" ? index : -1)
515
+ .filter((index) => index >= 0);
516
+ if (blockStarts.length !== 1)
517
+ return undefined;
518
+ const blockStart = blockStarts[0];
519
+ const blockEnd = lines.indexOf("\t}", blockStart + 1);
520
+ if (blockEnd <= blockStart + 1)
521
+ return undefined;
522
+ const args = lines.slice(blockStart + 1, blockEnd).map((line) => line.startsWith("\t\t") ? line.slice(2) : "");
523
+ if (args.some((argument) => argument.length === 0 || /[\u0000-\u001f\u007f]/u.test(argument))) {
524
+ return undefined;
525
+ }
526
+ const expectedPrefix = [
527
+ "/usr/bin/env",
528
+ "-i",
529
+ ...buildEnvironmentArguments(managedWebLogMaintenanceEnvironment()),
530
+ ];
531
+ const nodeIndex = expectedPrefix.length;
532
+ if (oneValue("program") !== "/usr/bin/env"
533
+ || args.length !== expectedPrefix.length + 7
534
+ || expectedPrefix.some((value, index) => args[index] !== value)
535
+ || args[nodeIndex + 2] !== INTERNAL_WEB_LOG_MAINTENANCE_COMMAND
536
+ || args[nodeIndex + 3] !== "--expected-managed-runtime-launch"
537
+ || args[nodeIndex + 5] !== "--expected-web-plist-identity") {
538
+ return undefined;
539
+ }
540
+ const nodePath = args[nodeIndex];
541
+ const cliPath = args[nodeIndex + 1];
542
+ const expectedManagedRuntimeLaunch = args[nodeIndex + 4];
543
+ const expectedWebPlistIdentity = args[nodeIndex + 6];
544
+ const plistPath = oneValue("path");
545
+ const cwd = oneValue("working directory");
546
+ if (nodePath === undefined || cliPath === undefined || plistPath === undefined || cwd === undefined
547
+ || ![nodePath, cliPath, plistPath, cwd].every((path) => isAbsolute(path))
548
+ || expectedManagedRuntimeLaunch === undefined
549
+ || !/^[A-Za-z0-9_-]+$/u.test(expectedManagedRuntimeLaunch)
550
+ || expectedWebPlistIdentity === undefined)
551
+ return undefined;
552
+ try {
553
+ assertWebPlistIdentity(expectedWebPlistIdentity);
554
+ }
555
+ catch {
556
+ return undefined;
557
+ }
558
+ return {
559
+ plistPath,
560
+ nodePath,
561
+ cliPath,
562
+ cwd,
563
+ expectedManagedRuntimeLaunch,
564
+ expectedWebPlistIdentity,
565
+ };
566
+ }
366
567
  /** Parse only the exact managed-worker launchctl-print shape emitted here. */
367
568
  export function parseLaunchdManagedWorkerDefinition(output) {
368
569
  const lines = output.endsWith("\n") ? output.slice(0, -1).split("\n") : output.split("\n");
@@ -474,6 +675,10 @@ export function parseLaunchdServicePid(output) {
474
675
  export async function bootstrap(runner, plistPath, uid) {
475
676
  return await runner(["bootstrap", domainTarget(uid), plistPath]);
476
677
  }
678
+ /** Ask launchd to start a loaded one-shot service without replacing a running instance. */
679
+ export async function kickstart(runner, label, uid) {
680
+ return await runner(["kickstart", serviceTarget(label, uid)]);
681
+ }
477
682
  /**
478
683
  * Remove the service from the domain. Sends SIGTERM and — unlike a plain kill —
479
684
  * prevents KeepAlive from relaunching it. Caller tolerates "not loaded".
@@ -1 +1 @@
1
- {"version":3,"file":"launchd.js","sourceRoot":"","sources":["../src/launchd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchd.js","sourceRoot":"","sources":["../src/launchd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sCAAsC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EACL,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAmI3F,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAC9D,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,aAAa,GAAG,gEAAgE,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,wCAAwC,GAAG,2BAA2B,CAAC;AACpF,MAAM,CAAC,MAAM,mCAAmC,GAAG,oCAAoC,CAAC;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,gCAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,oCAAoC,GAAG,uBAAuB,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;SAC5B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,GAAG,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAe,oBAAoB,EAAE;IAClF,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,eAAe;QACf,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,GAAG,KAAK,QAAQ,CAAC;QACrD,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,UAAU,CAAC;QAC/C,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,UAAU,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAiB;IAC7D,MAAM,KAAK,GAAG,uDAAuD,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtF,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,wBAAwB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAAC,kBAA0B;IACzE,OAAO,4BAA4B,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,CAAC;AAE1D,gFAAgF;AAChF,MAAM,UAAU,mCAAmC,CAAC,kBAA0B;IAC5E,OAAO,4BAA4B,CACjC,kBAAkB,EAClB,sCAAsC,CACvC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,4BAA4B,CAAC,QAAgB,iBAAiB;IAC5E,OAAO,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,+BAA+B,CAAC,QAAgB,iBAAiB;IAC/E,OAAO,wBAAwB,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,WAAmB;IAClE,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AACnF,CAAC;AAED,SAAS,4BAA4B,CAAC,kBAA0B,EAAE,WAAmB;IACnF,yEAAyE;IACzE,6EAA6E;IAC7E,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,SAAiB,EACjB,OAAe,oBAAoB,EAAE;IAErC,MAAM,KAAK,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO;QACL,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,QAAQ,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,sCAAsC,CAAC,OAAe;IACpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,gBAAgB,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,sCAAsC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK;SACT,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC;QAC9B,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC;QAChC,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;QACjC,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;KACzB,EAAE,CAAC;QACX,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnG,OAAO;;;;;YAKG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;;;EAGhC,OAAO;;;YAGG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;YASpB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;;YAE3B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;;;;;;;CAOtC,CAAC;AACF,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,+BAA+B,CAAC,KAA4B;IAC1E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC;WAC1C,KAAK,CAAC,cAAc,GAAG,CAAC;WACxB,KAAK,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,2BAA2B,EAAE,KAAK,CAAC,KAAK,CAAC;QAC1C,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC;KACxB,EAAE,CAAC;QACX,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,uCAAuC,CAAC,KAAK,CAAC;SAC3D,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;YAKG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;;;EAGhC,OAAO;;;YAGG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;eAMjB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;;;;;;;;;;CAU1C,CAAC;AACF,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,2BAA2B,CAAC,KAA+B;IACzE,IAAI,KAAK,CAAC,KAAK,KAAK,6BAA6B,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC;WAC1C,KAAK,CAAC,cAAc,GAAG,CAAC;WACxB,KAAK,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,sBAAsB,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,+BAA+B,EAAE,KAAK,CAAC,KAAK,CAAC;QAC9C,CAAC,mCAAmC,EAAE,KAAK,CAAC,GAAG,CAAC;KACxC,EAAE,CAAC;QACX,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,mCAAmC,CAAC,KAAK,CAAC;SACvD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;YAKG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;;;EAGhC,OAAO;;;YAGG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;eAMjB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;;;;;;;;;;CAU1C,CAAC;AACF,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,KAAoB;IACnD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;QAC1B,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC;QAClC,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG,CAAC;QACpC,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7B,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC;QAClC,CAAC,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC;QACrC,CAAC,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC;KAC7B,EAAE,CAAC;QACX,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC;SACnD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;YAKG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;;;EAGhC,OAAO;;;YAGG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;YASpB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;;YAE3B,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;;;;;;;CAOtC,CAAC;AACF,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,4BAA4B,CAAC,KAAiB;IAC5D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG;QACjB,cAAc;QACd,IAAI;QACJ,GAAG,oBAAoB;QACvB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,OAAO;QACP,cAAc;QACd,UAAU;QACV,KAAK,CAAC,UAAU;QAChB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,gCAAgC;QAChC,KAAK,CAAC,0BAA0B;QAChC,mCAAmC;QACnC,KAAK,CAAC,4BAA4B;KACnC,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,UAAU;QAAE,iBAAiB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAC3F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,uCAAuC,CACrD,KAA4B;IAE5B,MAAM,UAAU,GAAG;QACjB,cAAc;QACd,IAAI;QACJ,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,wCAAwC;QACxC,UAAU;QACV,KAAK,CAAC,UAAU;QAChB,kBAAkB;QAClB,KAAK,CAAC,iBAAiB;QACvB,aAAa;QACb,KAAK,CAAC,QAAQ;QACd,cAAc;QACd,KAAK,CAAC,SAAS;QACf,mCAAmC;QACnC,KAAK,CAAC,4BAA4B;QAClC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,UAAU;QAAE,iBAAiB,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAC;IACvG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,mCAAmC,CACjD,KAA+B;IAE/B,sBAAsB,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG;QACjB,cAAc;QACd,IAAI;QACJ,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,oCAAoC;QACpC,mCAAmC;QACnC,KAAK,CAAC,4BAA4B;QAClC,+BAA+B;QAC/B,KAAK,CAAC,wBAAwB;KAC/B,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,UAAU;QAAE,iBAAiB,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IACnG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,+BAA+B,CAAC,KAAoB;IAClE,MAAM,UAAU,GAAG;QACjB,cAAc;QACd,IAAI;QACJ,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,KAAK;QACL,KAAK;QACL,QAAQ;QACR,KAAK,CAAC,IAAI;QACV,QAAQ;QACR,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAClB,SAAS;QACT,KAAK,CAAC,KAAK;KACZ,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,UAAU;QAAE,iBAAiB,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAC/F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,WAA6C;IACrF,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACxD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACrD,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACnD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0C,OAAO,CAAC,GAAG;IAClF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,OAAO,GAAG,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,GAAW;IACtD,OAAO,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,IAAI,EAAE,EAAE,CACd,IAAI,OAAO,CAAkB,CAAC,cAAc,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACjC,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,KAAa,EAAE,GAAW;IAChF,OAAO,CAAC,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAuB,EACvB,KAAa,EACb,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAuB,EACvB,KAAa,EACb,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,mCAAmC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAuB,EACvB,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,oCAAoC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACrC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oCAAoC,CAClD,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAsB,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,cAAc,GAAG;QACrB,cAAc;QACd,IAAI;QACJ,GAAG,yBAAyB,CAAC,mCAAmC,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;IACxC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,cAAc;WACrC,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC;WACzC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;WAC5D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,oCAAoC;WAC5D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,mCAAmC;WAC3D,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,+BAA+B,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACpC,MAAM,4BAA4B,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;WAC9F,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;WACtE,4BAA4B,KAAK,SAAS;WAC1C,CAAC,mBAAmB,CAAC,IAAI,CAAC,4BAA4B,CAAC;WACvD,wBAAwB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9D,IAAI,CAAC;QACH,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,SAAS;QACT,QAAQ;QACR,OAAO;QACP,GAAG;QACH,4BAA4B;QAC5B,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mCAAmC,CACjD,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAsB,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS;WACnD,QAAQ,CAAC,MAAM,KAAK,CAAC;WACrB,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,IAAI,GAAG,UAAsB,CAAC;IACpC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QAChC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,6BAA6B,CAAC;eAChF,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QACxD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAC3C,QAAQ,GAAG,CAAC,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAC,CAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjG,IAAI,WAAW,CAAC,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC;QAClG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,IAAI,OAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,gCAAgC;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,IAAI,0BAA0B,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,mCAAmC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,4BAA4B,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,IAAI,4BAA4B,KAAK,SAAS;WACzC,CAAC,mBAAmB,CAAC,IAAI,CAAC,4BAA4B,CAAC;WACvD,KAAK,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS;WACnG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO;QACL,SAAS;QACT,QAAQ;QACR,OAAO;QACP,UAAU;QACV,GAAG;QACH,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,0BAA0B;QAC1B,4BAA4B;QAC5B,UAAU;QACV,UAAU;QACV,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuB,EAAE,SAAiB,EAAE,GAAW;IACrF,OAAO,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuB,EAAE,KAAa,EAAE,GAAW;IACjF,OAAO,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAuB,EAAE,KAAa,EAAE,GAAW;IAC/E,OAAO,MAAM,MAAM,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-configuration.d.ts","sourceRoot":"","sources":["../src/local-configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-configuration.d.ts","sourceRoot":"","sources":["../src/local-configuration.ts"],"names":[],"mappings":"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"}
@@ -8,17 +8,21 @@ import { createToolPolicy } from "@mono-agent/agent-harness";
8
8
  import { loadAppCoreConfig } from "./app-config.js";
9
9
  import { ADAPTER_SEND_TOOLS_MCP_SERVER_NAME } from "./adapter-send-tools.js";
10
10
  import { captureBackgroundSnapshot, } from "./background-snapshot.js";
11
- import { createConfiguredAgentResponder } from "./configured-agent.js";
11
+ import { createConfiguredAgentResponderForApp } from "./configured-agent.js";
12
12
  import { CONFIGURATION_PROPOSAL_MCP_SERVER_NAME, CONFIGURATION_PROPOSAL_TOOL_NAME, configurationProposalMcpServerSpec, containsUnsafeConfigurationReviewControl, } from "./configuration-proposal-tool.js";
13
13
  import { validateMonoAgentFolder } from "./doctor.js";
14
14
  import { ADAPTER_SEND_TOOL_NAMES, canonicalToolName } from "./modules/known-tools.js";
15
15
  import { RUN_HISTORY_MCP_SERVER_NAME, RUN_HISTORY_TOOL_NAME } from "./run-history.js";
16
+ import { SESSION_HISTORY_MCP_SERVER_NAME, SESSION_HISTORY_TOOL_NAME } from "./session-history.js";
16
17
  import { configuredRuntimeFallbackModels } from "./runtime-routes.js";
18
+ import { loadProcessJobsSettings } from "./process-jobs-config.js";
19
+ import { hasExactProcessJobStateMarkers } from "./process-jobs-store.js";
17
20
  export const LOCAL_CONFIGURATION_PROMPT = "Begin the dedicated self-configuration session. This is not ordinary chat. Read the mono-agent-configure skill. In the first assistant message, identify the session as SELF-CONFIG and show one compact, user-led map of every capability area: identity and knowledge; runtime and models; skills, tools, MCP servers, and plugins; memory; channels, APIs, and A2A; automation and proactive work; security, sandboxing, and secrets; observability and operations; and acceptance criteria. Explain that the conversation can build a workflow from trigger → context/data → tools/actions → delivery → memory → safety/operations → success checks. State that secrets must never be entered, every file change requires a separate host-owned approval, and approval, rejection, done, or no changes keeps SELF-CONFIG active. Only /quit, /exit, or ctrl+c twice exits this session; quitting never sends a background stop request. Invite the operator to choose an area or describe the workflow they want, using one concise question. Do not repeat the setup wizard and do not overwhelm the operator with a questionnaire. The session may use multiple turns: ask one focused question at a time, and record one minimal coherent proposal with ProposeAgentConfiguration only when enough information is available. It is valid to explain or ask the next question without proposing a change. Never execute ordinary tasks with configuration authority or claim a proposal was applied; the local host validates proposals and asks for separate approval.";
18
21
  export const LOCAL_CONFIGURATION_OPERATOR_PROMPT = "Continue the dedicated SELF-CONFIG conversation. The capability map and opening invitation were already shown: do not repeat them. Read the mono-agent-configure skill and use the existing conversation plus any host outcome below. Help the operator shape a usable workflow across trigger → context/data → tools/actions → delivery → memory → safety/operations → success checks. Take one conversational step: ask at most one focused question, explain the relevant supported or guided path, or, when the request is decision-complete, record one minimal coherent proposal with ProposeAgentConfiguration. A turn without a proposal is expected while exploring. After a host-applied or rejected proposal, continue with the next relevant area instead of handing off to ordinary chat. Never ask for secrets, execute an ordinary task with configuration authority, or claim a proposal was applied.";
19
22
  const CONFIGURATION_READ_ONLY_TOOLS = [
20
23
  "ReadSkill",
21
24
  "MemoryRecall",
25
+ SESSION_HISTORY_TOOL_NAME,
22
26
  CONFIGURATION_PROPOSAL_TOOL_NAME,
23
27
  `mcp__${CONFIGURATION_PROPOSAL_MCP_SERVER_NAME}__${CONFIGURATION_PROPOSAL_TOOL_NAME}`,
24
28
  ];
@@ -30,7 +34,25 @@ export async function createLocalConfigurationSession(options) {
30
34
  const authenticated = await authenticatedLocalConfig(options.cwd, options.configPath);
31
35
  const secureOptions = { ...options, ...authenticated };
32
36
  const config = await loadAppCoreConfig(secureOptions);
33
- const responder = await createConfiguredAgentResponder({ config });
37
+ const processJobs = await loadProcessJobsSettings({
38
+ cwd: secureOptions.cwd,
39
+ configPath: secureOptions.configPath,
40
+ env: secureOptions.env,
41
+ });
42
+ const bootstrapProcessJobsStateDir = processJobs.enabled
43
+ || await hasExactProcessJobStateMarkers(secureOptions.cwd, processJobs.stateDir)
44
+ ? processJobs.stateDir
45
+ : undefined;
46
+ const responder = await createConfiguredAgentResponderForApp({
47
+ config,
48
+ // The configured responder owns both clear-sessions and process-job root
49
+ // protection. Use the authenticated root, never the ambient CLI cwd.
50
+ cwd: secureOptions.cwd,
51
+ }, {
52
+ ...(bootstrapProcessJobsStateDir === undefined
53
+ ? {}
54
+ : { bootstrapProcessJobsStateDir }),
55
+ });
34
56
  return {
35
57
  responder,
36
58
  title: config.agent?.name ?? "Mono Agent",
@@ -207,7 +229,7 @@ export function createLocalConfigurationRuntimeExtension(options) {
207
229
  if (request.phase === "invitation") {
208
230
  return {
209
231
  toolPolicyOverride: createToolPolicy({
210
- allowedTools: allRoutesUseDirectCodex ? ["*"] : ["ReadSkill", "MemoryRecall"],
232
+ allowedTools: allRoutesUseDirectCodex ? ["*"] : ["ReadSkill", "MemoryRecall", SESSION_HISTORY_TOOL_NAME],
211
233
  disallowedTools: [],
212
234
  mcpServers: {},
213
235
  }),
@@ -980,18 +1002,22 @@ function mcpQualifiedTool(pattern) {
980
1002
  function isAppOwnedMcpTool(server, tool) {
981
1003
  return server === ADAPTER_SEND_TOOLS_MCP_SERVER_NAME
982
1004
  ? ADAPTER_SEND_TOOL_NAMES.some((name) => name === tool)
983
- : server === RUN_HISTORY_MCP_SERVER_NAME && tool === RUN_HISTORY_TOOL_NAME;
1005
+ : (server === RUN_HISTORY_MCP_SERVER_NAME && tool === RUN_HISTORY_TOOL_NAME)
1006
+ || (server === SESSION_HISTORY_MCP_SERVER_NAME && tool === SESSION_HISTORY_TOOL_NAME);
984
1007
  }
985
1008
  function appOwnedMcpWildcardCovers(prefix, candidate) {
986
1009
  if (prefix === `mcp__${ADAPTER_SEND_TOOLS_MCP_SERVER_NAME}__`) {
987
1010
  return ADAPTER_SEND_TOOL_NAMES.some((name) => name === candidate);
988
1011
  }
989
- return prefix === `mcp__${RUN_HISTORY_MCP_SERVER_NAME}__`
990
- && candidate === RUN_HISTORY_TOOL_NAME;
1012
+ return (prefix === `mcp__${RUN_HISTORY_MCP_SERVER_NAME}__`
1013
+ && candidate === RUN_HISTORY_TOOL_NAME)
1014
+ || (prefix === `mcp__${SESSION_HISTORY_MCP_SERVER_NAME}__`
1015
+ && candidate === SESSION_HISTORY_TOOL_NAME);
991
1016
  }
992
1017
  function isAppOwnedTool(candidate) {
993
1018
  return ADAPTER_SEND_TOOL_NAMES.some((name) => name === candidate)
994
- || candidate === RUN_HISTORY_TOOL_NAME;
1019
+ || candidate === RUN_HISTORY_TOOL_NAME
1020
+ || candidate === SESSION_HISTORY_TOOL_NAME;
995
1021
  }
996
1022
  function isMcpAuthorityTool(candidate) {
997
1023
  return (candidate.startsWith("mcp__") && candidate !== "mcp__*") || isAppOwnedTool(candidate);