@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":"process-jobs-context.d.ts","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,cAAc,EAEf,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAYD,MAAM,MAAM,+BAA+B,GACvC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAgBhC,qFAAqF;AACrF,wBAAsB,4BAA4B,CAAC,CAAC,EAClD,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAoD9F;AAED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC1C,+BAA+B,CAYjC"}
@@ -0,0 +1,135 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ const wakeContext = new AsyncLocalStorage();
3
+ const PROCESS_JOB_WAKE_DELIVERY_METADATA = Symbol.for("mono-agent.process-job-wake.delivery-key.v1");
4
+ // The metadata object is only an identity key. No string field is added to it,
5
+ // and a wire/user-created object cannot forge membership in this owner-private
6
+ // map or serialize the symbol-keyed adapter fallback below.
7
+ // The responder-to-harness conversion deliberately preserves this object
8
+ // identity even when same-conversation live-session work is queued and cloned.
9
+ const wakeContextByRequestMetadata = new WeakMap();
10
+ // Registered before the channel router is entered and cleared only after that
11
+ // route settles. Slack and Telegram carry this exact durable delivery identity
12
+ // on a non-JSON symbol so a queued adapter callback can recover its own flight
13
+ // without attributing context to unrelated work in the same conversation.
14
+ const wakeFlightsByDeliveryKey = new Map();
15
+ /** Run a genuine channel turn with host-owned fan-out depth attached out of band. */
16
+ export async function runWithProcessJobWakeContext(context, operation, deliveryKey) {
17
+ const flight = Object.freeze({
18
+ ...context,
19
+ token: Object.freeze({}),
20
+ deliveryKey,
21
+ });
22
+ const current = wakeFlightsByDeliveryKey.get(deliveryKey) ?? [];
23
+ wakeFlightsByDeliveryKey.set(deliveryKey, [...current, flight]);
24
+ try {
25
+ return await wakeContext.run(flight, operation);
26
+ }
27
+ finally {
28
+ const active = wakeFlightsByDeliveryKey.get(deliveryKey) ?? [];
29
+ const remaining = active.filter((candidate) => candidate.token !== flight.token);
30
+ if (remaining.length === 0)
31
+ wakeFlightsByDeliveryKey.delete(deliveryKey);
32
+ else
33
+ wakeFlightsByDeliveryKey.set(deliveryKey, remaining);
34
+ }
35
+ }
36
+ /**
37
+ * Capture an admitted host wake on the exact request identity that survives
38
+ * the responder-to-harness queue boundary. The association remains outside
39
+ * public/string metadata, prompts, history, traces, and serialized payloads.
40
+ */
41
+ export function bindProcessJobWakeContextToResponder(responder) {
42
+ const dispose = responder.dispose;
43
+ const startNewSession = responder.startNewSession;
44
+ return {
45
+ respond: async (request, stream) => {
46
+ const context = wakeContext.getStore();
47
+ let installed;
48
+ if (context !== undefined) {
49
+ if (request.metadata === undefined) {
50
+ throw new Error("A process-job wake request is missing its host-owned request identity.");
51
+ }
52
+ installed = { token: Object.freeze({}), flight: context };
53
+ const current = wakeContextByRequestMetadata.get(request.metadata) ?? [];
54
+ wakeContextByRequestMetadata.set(request.metadata, [...current, installed]);
55
+ }
56
+ try {
57
+ return await responder.respond(request, stream);
58
+ }
59
+ finally {
60
+ if (installed !== undefined && request.metadata !== undefined) {
61
+ const current = wakeContextByRequestMetadata.get(request.metadata) ?? [];
62
+ const remaining = current.filter((candidate) => candidate.token !== installed.token);
63
+ // Only the invocation that installed this exact token may remove it.
64
+ // Re-entrant calls using the same metadata identity retain their own
65
+ // binding until their corresponding responder invocation settles.
66
+ if (remaining.length === 0)
67
+ wakeContextByRequestMetadata.delete(request.metadata);
68
+ else
69
+ wakeContextByRequestMetadata.set(request.metadata, remaining);
70
+ }
71
+ }
72
+ },
73
+ ...(responder.cancel === undefined ? {} : { cancel: responder.cancel.bind(responder) }),
74
+ ...(responder.offerLiveInput === undefined
75
+ ? {}
76
+ : { offerLiveInput: responder.offerLiveInput.bind(responder) }),
77
+ ...(responder.deliverVerbatim === undefined
78
+ ? {}
79
+ : { deliverVerbatim: responder.deliverVerbatim.bind(responder) }),
80
+ ...(responder.openReplyArtifact === undefined
81
+ ? {}
82
+ : { openReplyArtifact: responder.openReplyArtifact.bind(responder) }),
83
+ ...(responder.loadMcpApp === undefined
84
+ ? {}
85
+ : { loadMcpApp: responder.loadMcpApp.bind(responder) }),
86
+ ...(responder.requestMcpApp === undefined
87
+ ? {}
88
+ : { requestMcpApp: responder.requestMcpApp.bind(responder) }),
89
+ ...(startNewSession === undefined
90
+ ? {}
91
+ : { startNewSession: startNewSession.bind(responder) }),
92
+ ...(dispose === undefined ? {} : { dispose: dispose.bind(responder) }),
93
+ };
94
+ }
95
+ /** Resolve only an association previously issued by the app-owned responder seam. */
96
+ export function processJobWakeContextForRequest(request) {
97
+ const bindings = request.metadata === undefined
98
+ ? []
99
+ : wakeContextByRequestMetadata.get(request.metadata) ?? [];
100
+ if (bindings.length > 0) {
101
+ return resolveFlights(bindings.map((binding) => binding.flight));
102
+ }
103
+ const deliveryKey = processJobWakeDeliveryKey(request.metadata);
104
+ if (deliveryKey === undefined)
105
+ return { kind: "none" };
106
+ const flights = wakeFlightsByDeliveryKey.get(deliveryKey) ?? [];
107
+ if (flights.length === 0)
108
+ return { kind: "none" };
109
+ return resolveFlights(flights);
110
+ }
111
+ function processJobWakeDeliveryKey(metadata) {
112
+ if (metadata === undefined)
113
+ return undefined;
114
+ try {
115
+ const descriptor = Object.getOwnPropertyDescriptor(metadata, PROCESS_JOB_WAKE_DELIVERY_METADATA);
116
+ return descriptor !== undefined
117
+ && "value" in descriptor
118
+ && typeof descriptor.value === "string"
119
+ ? descriptor.value
120
+ : undefined;
121
+ }
122
+ catch {
123
+ return undefined;
124
+ }
125
+ }
126
+ function resolveFlights(flights) {
127
+ const distinct = [...new Map(flights.map((flight) => [flight.token, flight])).values()];
128
+ if (distinct.length === 1)
129
+ return { kind: "resolved", context: publicWakeContext(distinct[0]) };
130
+ return { kind: "missed" };
131
+ }
132
+ function publicWakeContext(context) {
133
+ return Object.freeze({ jobId: context.jobId, chainDepth: context.chainDepth });
134
+ }
135
+ //# sourceMappingURL=process-jobs-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-jobs-context.js","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { type AgentRootCoordinator, type AgentRootProtectionGeneration } from "./agent-root-coordinator.js";
2
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_SCHEMA = "mono-agent.process-jobs-roots.v1";
3
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_DIRECTORY = "process-jobs-roots-v1";
4
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_FILE = "registry.json";
5
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_RECOVERY_DIRECTORY = "process-jobs-roots-v1.recovery";
6
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_STAGING_FILE = "registry.staging.json";
7
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_PREVIOUS_FILE = "registry.previous.json";
8
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_FAILED_FILE = "registry.failed.json";
9
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_RECOVERY_ENTRIES = 3;
10
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_ROOTS = 64;
11
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_SEGMENTS = 64;
12
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_SEGMENT_BYTES = 255;
13
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_ROOT_BYTES: number;
14
+ export declare const PROCESS_JOBS_ROOT_REGISTRY_MAX_BYTES: number;
15
+ export declare const PROCESS_JOBS_REGISTRY_UNAVAILABLE_ERROR = "Process-job private-state protection is unavailable.";
16
+ declare const REGISTRATION_PROOF: unique symbol;
17
+ interface FileIdentity {
18
+ readonly dev: bigint;
19
+ readonly ino: bigint;
20
+ }
21
+ export interface RegisteredProcessJobsRoot {
22
+ readonly segments: readonly string[];
23
+ readonly key: string;
24
+ readonly lexicalPath: string;
25
+ readonly canonicalPath: string;
26
+ readonly protectedPaths: readonly string[];
27
+ }
28
+ export interface EmptyProcessJobsRootRegistrySnapshot {
29
+ readonly kind: "empty";
30
+ readonly agentRoot: string;
31
+ readonly registryDir: string;
32
+ readonly recoveryDir: string;
33
+ readonly manifestPath: string;
34
+ readonly mutationLockPath: string;
35
+ readonly generation: AgentRootProtectionGeneration;
36
+ readonly roots: readonly [];
37
+ readonly protectedRoots: readonly [];
38
+ }
39
+ export interface ReadyProcessJobsRootRegistrySnapshot {
40
+ readonly kind: "ready";
41
+ readonly agentRoot: string;
42
+ readonly registryDir: string;
43
+ readonly recoveryDir: string;
44
+ readonly manifestPath: string;
45
+ readonly mutationLockPath: string;
46
+ readonly generation: AgentRootProtectionGeneration;
47
+ readonly roots: readonly RegisteredProcessJobsRoot[];
48
+ readonly protectedRoots: readonly string[];
49
+ readonly manifestIdentity: FileIdentity;
50
+ readonly manifestContents: Buffer;
51
+ }
52
+ export interface FailedProcessJobsRootRegistrySnapshot {
53
+ readonly kind: "failed";
54
+ readonly agentRoot: string;
55
+ readonly registryDir: string;
56
+ readonly recoveryDir: string;
57
+ readonly manifestPath: string;
58
+ readonly mutationLockPath: string;
59
+ readonly generation: AgentRootProtectionGeneration;
60
+ readonly roots: readonly [];
61
+ readonly protectedRoots: readonly string[];
62
+ readonly error: string;
63
+ }
64
+ export type ProcessJobsRootRegistrySnapshot = EmptyProcessJobsRootRegistrySnapshot | ReadyProcessJobsRootRegistrySnapshot | FailedProcessJobsRootRegistrySnapshot;
65
+ export interface ProcessJobsRootRegistrationProof {
66
+ readonly snapshot: ReadyProcessJobsRootRegistrySnapshot;
67
+ readonly rootKey: string;
68
+ readonly [REGISTRATION_PROOF]: true;
69
+ }
70
+ interface ProcessJobsRootRegistrationHooks {
71
+ /** @internal Deterministic failure seam after first-directory creation and before manifest staging. */
72
+ readonly afterRegistryDirectoryCreated?: () => void | Promise<void>;
73
+ /** @internal Deterministic publication and recovery seams for crash-matrix tests. */
74
+ readonly afterManifestPublish?: () => void | Promise<void>;
75
+ readonly beforeManifestRestore?: () => void | Promise<void>;
76
+ readonly beforeRegistryRecovery?: () => void | Promise<void>;
77
+ }
78
+ export interface ProcessJobsRootRegistryFreeze {
79
+ readonly snapshot: EmptyProcessJobsRootRegistrySnapshot | ReadyProcessJobsRootRegistrySnapshot;
80
+ reattest(workspace: string): Promise<EmptyProcessJobsRootRegistrySnapshot | ReadyProcessJobsRootRegistrySnapshot>;
81
+ release(): Promise<void>;
82
+ }
83
+ export declare function processJobsRootRegistryPaths(agentRoot: string): {
84
+ readonly registryDir: string;
85
+ readonly recoveryDir: string;
86
+ readonly manifestPath: string;
87
+ readonly stagingPath: string;
88
+ readonly previousPath: string;
89
+ readonly failedPath: string;
90
+ readonly mutationLockPath: string;
91
+ };
92
+ /** Load a strict snapshot; malformed or unsafe durable state becomes a provider-zero state. */
93
+ export declare function loadProcessJobsRootRegistryProtection(agentRoot: string, workspace: string): Promise<ProcessJobsRootRegistrySnapshot>;
94
+ export declare function failedProcessJobsRootRegistryProtection(canonicalAgentRoot: string): FailedProcessJobsRootRegistrySnapshot;
95
+ /** Re-read and identity-prove the captured manifest at a request/destructive boundary. */
96
+ export declare function attestProcessJobsRootRegistrySnapshot(snapshot: ProcessJobsRootRegistrySnapshot, workspace: string): Promise<EmptyProcessJobsRootRegistrySnapshot | ReadyProcessJobsRootRegistrySnapshot>;
97
+ /** Fsync a monotonic registration before any ProcessJobs root creation/open. */
98
+ export declare function registerProcessJobsRoot(options: {
99
+ readonly agentRoot: string;
100
+ readonly workspace: string;
101
+ readonly stateDir: string;
102
+ readonly coordinator: AgentRootCoordinator;
103
+ readonly hooks?: ProcessJobsRootRegistrationHooks;
104
+ }): Promise<ProcessJobsRootRegistrationProof>;
105
+ /** Hold the registry mutation lock across clear-sessions preflight and first rename. */
106
+ export declare function freezeProcessJobsRootRegistry(agentRoot: string, workspace: string): Promise<ProcessJobsRootRegistryFreeze>;
107
+ /** Prove a supplied state directory remains in the exact registered generation. */
108
+ export declare function attestProcessJobsRootRegistration(proofValue: ProcessJobsRootRegistrationProof, workspace: string, stateDir: string): Promise<ReadyProcessJobsRootRegistrySnapshot>;
109
+ /** All state roots must remain disjoint from every destructive/control path. */
110
+ export declare function assertProcessJobsRegistryDisjointFromPaths(snapshot: EmptyProcessJobsRootRegistrySnapshot | ReadyProcessJobsRootRegistrySnapshot, paths: readonly string[]): void;
111
+ export declare function processJobsProtectionPolicyRoots(snapshot: ProcessJobsRootRegistrySnapshot): readonly string[];
112
+ export declare function processJobsRootForKey(snapshot: ProcessJobsRootRegistrySnapshot, key: string): RegisteredProcessJobsRoot | undefined;
113
+ export declare function processJobsRegistryGeneration(snapshot: ProcessJobsRootRegistrySnapshot): AgentRootProtectionGeneration;
114
+ export {};
115
+ //# sourceMappingURL=process-jobs-root-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-jobs-root-registry.d.ts","sourceRoot":"","sources":["../src/process-jobs-root-registry.ts"],"names":[],"mappings":"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"}