@mono-agent/agent-app 0.19.1 → 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-runtime-maintenance-entry.js","sourceRoot":"","sources":["../src/managed-runtime-maintenance-entry.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,34 @@
1
- interface ManagedWebLogPaths {
2
- readonly launchd: {
3
- readonly stdoutPath: string;
4
- readonly stderrPath: string;
5
- };
1
+ import type { AdditionalLaunchdLogInspection, AdditionalLaunchdLogMaintenanceResult, ManagedLaunchdLogMonitor } from "./background-log-maintenance.js";
2
+ import type { LaunchdLogInspection } from "./launchd-logs.js";
3
+ import type { LaunchctlRunner, LaunchdPaths } from "./launchd.js";
4
+ type WebLogPaths = Pick<LaunchdPaths, "logDir" | "stdoutPath" | "stderrPath">;
5
+ export type ManagedWebLogMonitorOutcome = "idle" | "cooldown" | "stopped" | "helper-unloaded" | "helper-running" | "requested" | "request-failed" | "inspection-failed";
6
+ export interface ManagedWebLogMonitorStatus {
7
+ readonly version: 1;
8
+ readonly lastInspectionAt: string;
9
+ readonly wakeCount: number;
10
+ readonly lastOutcome: ManagedWebLogMonitorOutcome;
11
+ readonly cooldownDeadline: string;
12
+ }
13
+ export interface ManagedWebLogMonitorDependencies {
14
+ readonly runner: LaunchctlRunner;
15
+ readonly getuid: () => number;
16
+ readonly inspectLogs?: (paths: WebLogPaths) => Promise<LaunchdLogInspection>;
17
+ readonly inspectLegacy?: (paths: WebLogPaths) => Promise<AdditionalLaunchdLogInspection>;
18
+ readonly stderr: (text: string) => void | Promise<void>;
19
+ readonly recordStatus?: (status: ManagedWebLogMonitorStatus) => void | Promise<void>;
20
+ readonly monotonicNow?: () => number;
21
+ readonly wallClockNow?: () => number;
22
+ readonly isStopped?: () => boolean;
6
23
  }
7
- export declare function waitForManagedWebLogRollover(paths: ManagedWebLogPaths, signal: AbortSignal): Promise<"rollover" | "unsafe" | "cancelled">;
8
24
  /**
9
- * Roll a managed web worker's active launchd logs after its HTTP service has
10
- * stopped. The current process still owns stdout/stderr, so each active file is
11
- * moved to a retiring name, a bounded tail is published as generation 1, and
12
- * the retiring inode is unlinked before launchd starts the replacement worker.
25
+ * The managed worker only inspects and wakes the dedicated helper. It never
26
+ * stops itself and never rotates, renames, truncates, or unlinks a log.
13
27
  */
14
- export declare function rolloverManagedWebLogs(paths: ManagedWebLogPaths): Promise<void>;
28
+ export declare function startManagedWebLogMonitor(paths: WebLogPaths, deps: ManagedWebLogMonitorDependencies): ManagedLaunchdLogMonitor;
29
+ /** Bounded inspection of only the two retired pre-helper filename families. */
30
+ export declare function inspectLegacyManagedWebLogArtifacts(paths: WebLogPaths): Promise<AdditionalLaunchdLogInspection>;
31
+ /** Remove only re-authenticated safe legacy artifacts after stopped-writer proof. */
32
+ export declare function maintainLegacyManagedWebLogArtifacts(paths: WebLogPaths): Promise<AdditionalLaunchdLogMaintenanceResult>;
15
33
  export {};
16
34
  //# sourceMappingURL=managed-web-logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-web-logs.d.ts","sourceRoot":"","sources":["../src/managed-web-logs.ts"],"names":[],"mappings":"AAWA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC,CAoC9C;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF"}
1
+ {"version":3,"file":"managed-web-logs.d.ts","sourceRoot":"","sources":["../src/managed-web-logs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,8BAA8B,EAC9B,qCAAqC,EACrC,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AASlE,KAAK,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;AAE9E,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,UAAU,GACV,SAAS,GACT,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACzF,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;CACpC;AAUD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,gCAAgC,GACrC,wBAAwB,CAkF1B;AAED,+EAA+E;AAC/E,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,8BAA8B,CAAC,CAOzC;AAED,qFAAqF;AACrF,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,qCAAqC,CAAC,CAYhD"}
@@ -1,153 +1,276 @@
1
- import { randomUUID } from "node:crypto";
2
1
  import { constants as fsConstants } from "node:fs";
3
- import { lstat, open, rename, rm } from "node:fs/promises";
2
+ import { lstat, open, opendir, unlink } from "node:fs/promises";
3
+ import { basename, join } from "node:path";
4
4
  import process from "node:process";
5
- import { LAUNCHD_LOG_MAINTENANCE_INTERVAL_SECONDS, LAUNCHD_LOG_MAX_BYTES, LAUNCHD_LOG_ROTATION_COUNT, } from "./launchd-logs.js";
6
- export async function waitForManagedWebLogRollover(paths, signal) {
7
- if (signal.aborted)
8
- return "cancelled";
9
- return await new Promise((resolvePromise) => {
10
- let checking = false;
11
- let settled = false;
12
- const finish = (outcome) => {
13
- if (settled)
5
+ import { inspectLaunchdLogs, LAUNCHD_LOG_MONITOR_INTERVAL_SECONDS, } from "./launchd-logs.js";
6
+ import { kickstart, launchdServiceInfo, WEB_MAINTENANCE_LAUNCHD_LABEL, } from "./launchd.js";
7
+ const LEGACY_SCAN_ENTRY_LIMIT = 256;
8
+ const LEGACY_CANDIDATE_LIMIT = 32;
9
+ const LEGACY_PREFIX = /^web\..*\.log\.(?:rollover|retiring)/u;
10
+ const CANONICAL_UUID = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}";
11
+ const LEGACY_NAME = new RegExp(`^web\\.(?:out|err)\\.log\\.(?:rollover|retiring)-${CANONICAL_UUID}$`, "u");
12
+ const WAKE_COOLDOWN_MS = [5, 10, 20, 40, 60].map((minutes) => minutes * 60_000);
13
+ /**
14
+ * The managed worker only inspects and wakes the dedicated helper. It never
15
+ * stops itself and never rotates, renames, truncates, or unlinks a log.
16
+ */
17
+ export function startManagedWebLogMonitor(paths, deps) {
18
+ let stopped = false;
19
+ let checking = false;
20
+ const monotonicNow = deps.monotonicNow ?? (() => performance.now());
21
+ const wallClockNow = deps.wallClockNow ?? Date.now;
22
+ const state = {
23
+ cooldownIndex: 0,
24
+ cooldownDeadlineMonotonicMs: monotonicNow() + WAKE_COOLDOWN_MS[0],
25
+ wakeCount: 0,
26
+ lastOutcome: "idle",
27
+ lastReportedOutcome: undefined,
28
+ };
29
+ const inspect = async () => {
30
+ if (stopped || checking)
31
+ return;
32
+ checking = true;
33
+ try {
34
+ const [logs, legacy] = await Promise.all([
35
+ (deps.inspectLogs ?? inspectLaunchdLogs)(paths),
36
+ (deps.inspectLegacy ?? inspectLegacyManagedWebLogArtifacts)(paths),
37
+ ]);
38
+ if (stopped || deps.isStopped?.() === true) {
39
+ setOutcome(state, "stopped");
14
40
  return;
15
- settled = true;
16
- clearInterval(interval);
17
- signal.removeEventListener("abort", onAbort);
18
- resolvePromise(outcome);
19
- };
20
- const onAbort = () => finish("cancelled");
21
- const inspect = async () => {
22
- if (checking || settled)
41
+ }
42
+ if (!logs.canMaintain || !legacy.canMaintain) {
43
+ throw new Error([...logs.issues, ...legacy.issues].join("; ") || "the bounded inventory is unsafe");
44
+ }
45
+ if (!logs.needsMaintenance && !legacy.needsMaintenance) {
46
+ resetCooldown(state, monotonicNow());
47
+ setOutcome(state, "idle");
23
48
  return;
24
- checking = true;
25
- try {
26
- const sizes = await Promise.all([
27
- managedLogSize(paths.launchd.stdoutPath),
28
- managedLogSize(paths.launchd.stderrPath),
29
- ]);
30
- if (sizes.some((size) => size > LAUNCHD_LOG_MAX_BYTES))
31
- finish("rollover");
32
49
  }
33
- catch {
34
- finish("unsafe");
50
+ if (monotonicNow() < state.cooldownDeadlineMonotonicMs) {
51
+ setOutcome(state, "cooldown");
52
+ return;
35
53
  }
36
- finally {
37
- checking = false;
54
+ const helper = await launchdServiceInfo(deps.runner, WEB_MAINTENANCE_LAUNCHD_LABEL, deps.getuid());
55
+ if (stopped || deps.isStopped?.() === true) {
56
+ setOutcome(state, "stopped");
57
+ return;
38
58
  }
39
- };
40
- const interval = setInterval(() => void inspect(), LAUNCHD_LOG_MAINTENANCE_INTERVAL_SECONDS * 1_000);
41
- interval.unref();
42
- signal.addEventListener("abort", onAbort, { once: true });
43
- void inspect();
44
- });
45
- }
46
- /**
47
- * Roll a managed web worker's active launchd logs after its HTTP service has
48
- * stopped. The current process still owns stdout/stderr, so each active file is
49
- * moved to a retiring name, a bounded tail is published as generation 1, and
50
- * the retiring inode is unlinked before launchd starts the replacement worker.
51
- */
52
- export async function rolloverManagedWebLogs(paths) {
53
- await rolloverManagedWebLogStream(paths.launchd.stdoutPath);
54
- await rolloverManagedWebLogStream(paths.launchd.stderrPath);
55
- }
56
- async function rolloverManagedWebLogStream(activePath) {
57
- const active = await ownedManagedLogStats(activePath);
58
- if (active === undefined || active.size <= LAUNCHD_LOG_MAX_BYTES)
59
- return;
60
- const generations = Array.from({ length: LAUNCHD_LOG_ROTATION_COUNT }, (_unused, index) => `${activePath}.${String(index + 1)}`);
61
- await Promise.all(generations.map(async (path) => await ownedManagedLogStats(path)));
62
- const source = await open(activePath, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK);
63
- let temporaryPath;
64
- let retiringPath;
65
- try {
66
- const sourceStats = await source.stat();
67
- assertOwnedManagedLog(sourceStats, activePath);
68
- if (!sameManagedLogIdentity(active, sourceStats)) {
69
- throw new Error(`Managed web log ${activePath} changed before rollover.`);
70
- }
71
- const retainedBytes = Math.min(sourceStats.size, LAUNCHD_LOG_MAX_BYTES);
72
- const tail = Buffer.alloc(retainedBytes);
73
- const read = await source.read(tail, 0, retainedBytes, sourceStats.size - retainedBytes);
74
- if (read.bytesRead !== retainedBytes) {
75
- throw new Error(`Managed web log ${activePath} changed while its bounded tail was read.`);
76
- }
77
- const afterRead = await source.stat();
78
- if (!sameManagedLogIdentity(sourceStats, afterRead) || sourceStats.size !== afterRead.size) {
79
- throw new Error(`Managed web log ${activePath} changed while its bounded tail was prepared.`);
59
+ if (!helper.loaded) {
60
+ advanceCooldown(state, monotonicNow());
61
+ setOutcome(state, "helper-unloaded");
62
+ return;
63
+ }
64
+ if (helper.pid !== undefined) {
65
+ advanceCooldown(state, monotonicNow());
66
+ setOutcome(state, "helper-running");
67
+ return;
68
+ }
69
+ setOutcome(state, "request-failed");
70
+ const result = await kickstart(deps.runner, WEB_MAINTENANCE_LAUNCHD_LABEL, deps.getuid());
71
+ advanceCooldown(state, monotonicNow());
72
+ if (result.code !== 0) {
73
+ throw new Error(`launchctl kickstart exited ${String(result.code)}${commandDetail(result.stderr, result.stdout)}`);
74
+ }
75
+ state.wakeCount += 1;
76
+ setOutcome(state, "requested");
80
77
  }
81
- temporaryPath = `${activePath}.rollover-${randomUUID()}`;
82
- const temporary = await open(temporaryPath, fsConstants.O_WRONLY | fsConstants.O_CREAT | fsConstants.O_EXCL | fsConstants.O_NOFOLLOW, 0o600);
83
- try {
84
- await temporary.writeFile(tail);
85
- await temporary.sync();
78
+ catch (error) {
79
+ if (state.lastOutcome !== "request-failed")
80
+ setOutcome(state, "inspection-failed");
81
+ if (!stopped && shouldReport(state, state.lastOutcome)) {
82
+ safeReport(deps, `Managed web log monitor: ${safeDetail(error)}`);
83
+ }
86
84
  }
87
85
  finally {
88
- await temporary.close();
86
+ if (!stopped)
87
+ safeRecordStatus(deps, statusFor(state, monotonicNow(), wallClockNow()));
88
+ checking = false;
89
89
  }
90
- const oldest = generations.at(-1);
91
- if (oldest !== undefined && await ownedManagedLogStats(oldest) !== undefined) {
92
- await rm(oldest);
93
- }
94
- for (let index = generations.length - 1; index > 0; index -= 1) {
95
- const from = generations[index - 1];
96
- const to = generations[index];
97
- if (from !== undefined && to !== undefined && await ownedManagedLogStats(from) !== undefined) {
98
- await rename(from, to);
99
- }
100
- }
101
- retiringPath = `${activePath}.retiring-${randomUUID()}`;
102
- await rename(activePath, retiringPath);
90
+ };
91
+ const guarded = () => {
92
+ void inspect().catch((error) => safeReport(deps, `Managed web log monitor: ${safeDetail(error)}`));
93
+ };
94
+ const interval = setInterval(guarded, LAUNCHD_LOG_MONITOR_INTERVAL_SECONDS * 1_000);
95
+ interval.unref();
96
+ guarded();
97
+ return {
98
+ stop: () => {
99
+ if (stopped)
100
+ return;
101
+ stopped = true;
102
+ clearInterval(interval);
103
+ },
104
+ };
105
+ }
106
+ /** Bounded inspection of only the two retired pre-helper filename families. */
107
+ export async function inspectLegacyManagedWebLogArtifacts(paths) {
108
+ const inventory = await legacyInventory(paths.logDir);
109
+ return {
110
+ needsMaintenance: inventory.candidates.length > 0,
111
+ canMaintain: !inventory.exceededBound,
112
+ issues: inventory.refusals,
113
+ };
114
+ }
115
+ /** Remove only re-authenticated safe legacy artifacts after stopped-writer proof. */
116
+ export async function maintainLegacyManagedWebLogArtifacts(paths) {
117
+ const inventory = await legacyInventory(paths.logDir);
118
+ if (inventory.exceededBound)
119
+ return { refusals: inventory.refusals };
120
+ const refusals = [...inventory.refusals];
121
+ for (const candidate of inventory.candidates) {
103
122
  try {
104
- await rename(temporaryPath, generations[0]);
105
- temporaryPath = undefined;
123
+ await removeSameLegacyFile(candidate.path, candidate.stats);
106
124
  }
107
125
  catch (error) {
108
- await rename(retiringPath, activePath).catch(() => undefined);
109
- retiringPath = undefined;
110
- throw error;
126
+ refusals.push(`Legacy web log ${basename(candidate.path)} was preserved: ${safeDetail(error)}`);
127
+ }
128
+ }
129
+ return { refusals };
130
+ }
131
+ async function legacyInventory(logDir) {
132
+ const candidates = [];
133
+ const refusals = [];
134
+ let seen = 0;
135
+ let exceededBound = false;
136
+ const directory = await opendir(logDir);
137
+ try {
138
+ for await (const entry of directory) {
139
+ seen += 1;
140
+ if (seen > LEGACY_SCAN_ENTRY_LIMIT) {
141
+ exceededBound = true;
142
+ refusals.push(`Legacy web log scan exceeded ${String(LEGACY_SCAN_ENTRY_LIMIT)} direct children.`);
143
+ break;
144
+ }
145
+ if (!LEGACY_PREFIX.test(entry.name))
146
+ continue;
147
+ if (!LEGACY_NAME.test(entry.name)) {
148
+ refusals.push(`Legacy-like web log ${safeName(entry.name)} was preserved because its name is not canonical.`);
149
+ continue;
150
+ }
151
+ if (candidates.length >= LEGACY_CANDIDATE_LIMIT) {
152
+ exceededBound = true;
153
+ refusals.push(`Legacy web log candidates exceeded ${String(LEGACY_CANDIDATE_LIMIT)} files.`);
154
+ continue;
155
+ }
156
+ const path = join(logDir, entry.name);
157
+ try {
158
+ const stats = await lstat(path);
159
+ assertSafeLegacyFile(stats, path);
160
+ candidates.push({ path, stats });
161
+ }
162
+ catch (error) {
163
+ refusals.push(`Legacy web log ${safeName(entry.name)} was preserved: ${safeDetail(error)}`);
164
+ }
111
165
  }
112
- await rm(retiringPath);
113
- retiringPath = undefined;
114
166
  }
115
167
  finally {
116
- await source.close().catch(() => undefined);
117
- if (temporaryPath !== undefined)
118
- await rm(temporaryPath, { force: true }).catch(() => undefined);
119
- if (retiringPath !== undefined)
120
- await rm(retiringPath, { force: true }).catch(() => undefined);
168
+ await directory.close().catch(() => undefined);
121
169
  }
170
+ return { candidates, refusals, exceededBound };
122
171
  }
123
- async function managedLogSize(path) {
124
- return Number((await ownedManagedLogStats(path))?.size ?? 0);
125
- }
126
- async function ownedManagedLogStats(path) {
172
+ async function removeSameLegacyFile(path, expected) {
173
+ const handle = await open(path, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK);
127
174
  try {
128
- const stats = await lstat(path);
129
- assertOwnedManagedLog(stats, path);
130
- return stats;
175
+ const opened = await handle.stat();
176
+ assertSafeLegacyFile(opened, path);
177
+ if (!sameIdentity(expected, opened))
178
+ throw new Error("its identity changed before removal");
179
+ const current = await lstat(path);
180
+ assertSafeLegacyFile(current, path);
181
+ if (!sameIdentity(opened, current))
182
+ throw new Error("its pathname changed before removal");
183
+ await unlink(path);
131
184
  }
132
- catch (error) {
133
- if (error.code === "ENOENT")
134
- return undefined;
135
- throw error;
185
+ finally {
186
+ await handle.close();
136
187
  }
137
188
  }
138
- function assertOwnedManagedLog(stats, path) {
189
+ function assertSafeLegacyFile(stats, path) {
139
190
  if (!stats.isFile() || stats.isSymbolicLink() || stats.nlink !== 1) {
140
- throw new Error(`Managed web log ${path} must be one regular, non-symbolic-link file.`);
191
+ throw new Error(`${basename(path)} is not one regular non-symbolic-link file with one link`);
141
192
  }
142
193
  const uid = process.getuid?.();
143
- if (uid !== undefined && stats.uid !== uid) {
144
- throw new Error(`Managed web log ${path} is not owned by the current user.`);
145
- }
194
+ if (uid !== undefined && stats.uid !== uid)
195
+ throw new Error(`${basename(path)} is not owned by the current user`);
196
+ if (!Number.isSafeInteger(stats.size) || stats.size < 0)
197
+ throw new Error(`${basename(path)} has an unsafe size`);
146
198
  }
147
- function sameManagedLogIdentity(left, right) {
199
+ function sameIdentity(left, right) {
148
200
  return left.dev === right.dev
149
201
  && left.ino === right.ino
150
202
  && left.uid === right.uid
151
- && left.nlink === right.nlink;
203
+ && left.nlink === right.nlink
204
+ && left.size === right.size;
205
+ }
206
+ function setOutcome(state, outcome) {
207
+ state.lastOutcome = outcome;
208
+ }
209
+ function resetCooldown(state, now) {
210
+ state.cooldownIndex = 0;
211
+ state.cooldownDeadlineMonotonicMs = now + WAKE_COOLDOWN_MS[0];
212
+ state.lastReportedOutcome = undefined;
213
+ }
214
+ function advanceCooldown(state, now) {
215
+ state.cooldownIndex = Math.min(state.cooldownIndex + 1, WAKE_COOLDOWN_MS.length - 1);
216
+ state.cooldownDeadlineMonotonicMs = now + WAKE_COOLDOWN_MS[state.cooldownIndex];
217
+ }
218
+ function shouldReport(state, outcome) {
219
+ if (outcome === "idle" || outcome === "cooldown" || outcome === "stopped")
220
+ return false;
221
+ if (state.lastReportedOutcome === outcome)
222
+ return false;
223
+ state.lastReportedOutcome = outcome;
224
+ return true;
225
+ }
226
+ function statusFor(state, monotonicNow, wallClockNow) {
227
+ return {
228
+ version: 1,
229
+ lastInspectionAt: new Date(wallClockNow).toISOString(),
230
+ wakeCount: state.wakeCount,
231
+ lastOutcome: state.lastOutcome,
232
+ cooldownDeadline: new Date(wallClockNow + Math.max(0, state.cooldownDeadlineMonotonicMs - monotonicNow)).toISOString(),
233
+ };
234
+ }
235
+ function safeRecordStatus(deps, status) {
236
+ try {
237
+ const result = deps.recordStatus?.(status);
238
+ if (result !== undefined)
239
+ void Promise.resolve(result).catch(() => undefined);
240
+ }
241
+ catch {
242
+ // A monitor status failure cannot alter the worker lifecycle.
243
+ }
244
+ }
245
+ function safeReport(deps, message) {
246
+ const line = `[error] ${safeText(message, 620)}\n`;
247
+ try {
248
+ const result = deps.stderr(Buffer.byteLength(line, "utf8") <= 640 ? line : "[error] Managed web log monitor failed.\n");
249
+ if (result !== undefined)
250
+ void Promise.resolve(result).catch(() => undefined);
251
+ }
252
+ catch {
253
+ // Diagnostics are bounded and non-fatal.
254
+ }
255
+ }
256
+ function commandDetail(stderr, stdout) {
257
+ const detail = safeText(stderr || stdout, 256);
258
+ return detail.length === 0 ? "" : `: ${detail}`;
259
+ }
260
+ function safeDetail(error) {
261
+ return safeText(error instanceof Error ? error.message : String(error), 512);
262
+ }
263
+ function safeName(value) {
264
+ return safeText(value, 160);
265
+ }
266
+ function safeText(value, maxLength) {
267
+ return value
268
+ .replace(/[\u0000-\u001f\u007f]+/gu, " ")
269
+ .replace(/\b(token|secret|password|api[-_]?key|authorization)\s*[=:]\s*\S+/giu, "$1=<redacted>")
270
+ .replace(/\bBearer\s+\S+/giu, "Bearer <redacted>")
271
+ .replace(/(?:\/[A-Za-z0-9._~!$&'()+,;=:@%-]+){2,}/gu, "<path>")
272
+ .replace(/\s+/gu, " ")
273
+ .trim()
274
+ .slice(0, maxLength);
152
275
  }
153
276
  //# sourceMappingURL=managed-web-logs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-web-logs.js","sourceRoot":"","sources":["../src/managed-web-logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-web-logs.js","sourceRoot":"","sources":["../src/managed-web-logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const MANAGED_WEB_LOG_MAINTENANCE_ENV = "MONO_AGENT_MANAGED_WEB_LOG_MAINTENANCE";
2
+ /** Fixed, secret-free environment persisted in the private web helper plist. */
3
+ export declare function managedWebLogMaintenanceEnvironment(): Readonly<Record<string, string>>;
4
+ /** Remove launchd ambient state before the private web controller loads heavy code. */
5
+ export declare function sanitizeManagedWebLogMaintenanceEnvironment(env: Record<string, string | undefined>): void;
6
+ //# sourceMappingURL=managed-web-maintenance-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-web-maintenance-environment.d.ts","sourceRoot":"","sources":["../src/managed-web-maintenance-environment.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,2CAA2C,CAAC;AAExF,gFAAgF;AAChF,wBAAgB,mCAAmC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAKtF;AAED,uFAAuF;AACvF,wBAAgB,2CAA2C,CACzD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,IAAI,CAON"}
@@ -0,0 +1,19 @@
1
+ import { isBackgroundOperationalEnvName } from "./background-environment.js";
2
+ export const MANAGED_WEB_LOG_MAINTENANCE_ENV = "MONO_AGENT_MANAGED_WEB_LOG_MAINTENANCE";
3
+ /** Fixed, secret-free environment persisted in the private web helper plist. */
4
+ export function managedWebLogMaintenanceEnvironment() {
5
+ return {
6
+ PATH: "/usr/bin:/bin",
7
+ [MANAGED_WEB_LOG_MAINTENANCE_ENV]: "1",
8
+ };
9
+ }
10
+ /** Remove launchd ambient state before the private web controller loads heavy code. */
11
+ export function sanitizeManagedWebLogMaintenanceEnvironment(env) {
12
+ for (const name of Object.keys(env)) {
13
+ if (name !== MANAGED_WEB_LOG_MAINTENANCE_ENV && !isBackgroundOperationalEnvName(name)) {
14
+ delete env[name];
15
+ }
16
+ }
17
+ delete env[MANAGED_WEB_LOG_MAINTENANCE_ENV];
18
+ }
19
+ //# sourceMappingURL=managed-web-maintenance-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-web-maintenance-environment.js","sourceRoot":"","sources":["../src/managed-web-maintenance-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,wCAAwC,CAAC;AAExF,gFAAgF;AAChF,MAAM,UAAU,mCAAmC;IACjD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,CAAC,+BAA+B,CAAC,EAAE,GAAG;KACvC,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,2CAA2C,CACzD,GAAuC;IAEvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,+BAA+B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC;YACtF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type AgentMcpAppHostRequest, type AgentMcpAppLoadRequest, type AgentMcpAppResource, type AgentResponder } from "@mono-agent/agent-contracts";
2
+ import type { RuntimeOptionsExtension } from "./runtime-option-extensions.js";
3
+ import { type ReplyPartBudget } from "./reply-part-budget.js";
4
+ import { type ReplyArtifactStorageBudget } from "./reply-artifacts.js";
5
+ export declare const DEFAULT_MCP_APP_AUDIT_STORAGE_MAX_BYTES: number;
6
+ export interface McpAppServiceOptions {
7
+ readonly artifactDir: string;
8
+ readonly retentionDays?: number;
9
+ readonly now?: () => Date;
10
+ readonly replyPartBudget?: ReplyPartBudget;
11
+ readonly storageBudget?: ReplyArtifactStorageBudget;
12
+ readonly maxRetainedConnections?: number;
13
+ readonly connectionIdleMs?: number;
14
+ readonly bridgeRateLimit?: number;
15
+ readonly bridgeRateWindowMs?: number;
16
+ readonly auditMaxBytes?: number;
17
+ readonly auditRetainedFiles?: number;
18
+ /** Independent aggregate reserve for MCP App audit files inside the rich-reply ceiling. */
19
+ readonly auditStorageMaxBytes?: number;
20
+ /** @internal deterministic cleanup/concurrency test seam. */
21
+ readonly stagingGraceMs?: number;
22
+ /** @internal runs after staged files are complete and before directory rename. */
23
+ readonly beforePublicationCommit?: () => void | Promise<void>;
24
+ /** @internal deterministic audit I/O observation and failure-injection seam. */
25
+ readonly beforeAuditStorageOperation?: (operation: "append" | "lstat" | "readdir" | "remove" | "rename", path: string) => void | Promise<void>;
26
+ }
27
+ export interface McpAppService {
28
+ readonly createExtension: RuntimeOptionsExtension;
29
+ wrapResponder(responder: AgentResponder): AgentResponder;
30
+ load(request: AgentMcpAppLoadRequest): Promise<AgentMcpAppResource>;
31
+ request(request: AgentMcpAppHostRequest): Promise<unknown>;
32
+ cleanupExpired(): Promise<void>;
33
+ dispose(): Promise<void>;
34
+ }
35
+ /** Durable MCP Apps registry with live handles scoped to exact MCP connections. */
36
+ export declare function createMcpAppService(options: McpAppServiceOptions): McpAppService;
37
+ //# sourceMappingURL=mcp-apps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-apps.d.ts","sourceRoot":"","sources":["../src/mcp-apps.ts"],"names":[],"mappings":"AA8BA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAIxB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,KAAK,0BAA0B,EAEhC,MAAM,sBAAsB,CAAC;AAmB9B,eAAO,MAAM,uCAAuC,QAAc,CAAC;AA6CnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,2FAA2F;IAC3F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gFAAgF;IAChF,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CACrC,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAC/D,IAAI,EAAE,MAAM,KACT,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,aAAa,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpE,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA0KD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAwtBhF"}