@openrig/cli 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/daemon/assets/guidance/openrig-start.md +6 -0
  2. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
  3. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +115 -0
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +12 -12
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +46 -0
  6. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  7. package/daemon/dist/adapters/codex-runtime-adapter.js +167 -3
  8. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  9. package/daemon/dist/adapters/tmux.d.ts +31 -0
  10. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  11. package/daemon/dist/adapters/tmux.js +62 -0
  12. package/daemon/dist/adapters/tmux.js.map +1 -1
  13. package/daemon/dist/build-info.d.ts +12 -0
  14. package/daemon/dist/build-info.d.ts.map +1 -0
  15. package/daemon/dist/build-info.js +11 -0
  16. package/daemon/dist/build-info.js.map +1 -0
  17. package/daemon/dist/db/migrations/045_resume_verification.d.ts +29 -0
  18. package/daemon/dist/db/migrations/045_resume_verification.d.ts.map +1 -0
  19. package/daemon/dist/db/migrations/045_resume_verification.js +34 -0
  20. package/daemon/dist/db/migrations/045_resume_verification.js.map +1 -0
  21. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +41 -0
  22. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -0
  23. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +56 -0
  24. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -0
  25. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts +48 -0
  26. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +1 -0
  27. package/daemon/dist/db/migrations/047_events_node_type_index.js +52 -0
  28. package/daemon/dist/db/migrations/047_events_node_type_index.js.map +1 -0
  29. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts +18 -0
  30. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts.map +1 -0
  31. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js +22 -0
  32. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js.map +1 -0
  33. package/daemon/dist/domain/activity-endpoint.d.ts +25 -0
  34. package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -0
  35. package/daemon/dist/domain/activity-endpoint.js +91 -0
  36. package/daemon/dist/domain/activity-endpoint.js.map +1 -0
  37. package/daemon/dist/domain/claim-service.d.ts +36 -0
  38. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  39. package/daemon/dist/domain/claim-service.js +90 -0
  40. package/daemon/dist/domain/claim-service.js.map +1 -1
  41. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +57 -0
  42. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  43. package/daemon/dist/domain/claude-compaction-enforcer.js +149 -3
  44. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  45. package/daemon/dist/domain/event-loop-monitor.d.ts +100 -0
  46. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -0
  47. package/daemon/dist/domain/event-loop-monitor.js +127 -0
  48. package/daemon/dist/domain/event-loop-monitor.js.map +1 -0
  49. package/daemon/dist/domain/feed/attention-aggregator.d.ts +31 -0
  50. package/daemon/dist/domain/feed/attention-aggregator.d.ts.map +1 -0
  51. package/daemon/dist/domain/feed/attention-aggregator.js +119 -0
  52. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -0
  53. package/daemon/dist/domain/files/file-write-service.d.ts +11 -2
  54. package/daemon/dist/domain/files/file-write-service.d.ts.map +1 -1
  55. package/daemon/dist/domain/files/file-write-service.js +77 -0
  56. package/daemon/dist/domain/files/file-write-service.js.map +1 -1
  57. package/daemon/dist/domain/gate-predicate.d.ts +29 -0
  58. package/daemon/dist/domain/gate-predicate.d.ts.map +1 -0
  59. package/daemon/dist/domain/gate-predicate.js +73 -0
  60. package/daemon/dist/domain/gate-predicate.js.map +1 -0
  61. package/daemon/dist/domain/graph-projection.d.ts +7 -1
  62. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  63. package/daemon/dist/domain/graph-projection.js +19 -1
  64. package/daemon/dist/domain/graph-projection.js.map +1 -1
  65. package/daemon/dist/domain/hosts/fanout-contract.d.ts +33 -0
  66. package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -0
  67. package/daemon/dist/domain/hosts/fanout-contract.js +23 -0
  68. package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -0
  69. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +49 -0
  70. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -0
  71. package/daemon/dist/domain/hosts/hosts-registry-reader.js +165 -0
  72. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -0
  73. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +35 -0
  74. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -0
  75. package/daemon/dist/domain/hosts/remote-daemon-http.js +105 -0
  76. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -0
  77. package/daemon/dist/domain/human-route-enforcer.d.ts +71 -0
  78. package/daemon/dist/domain/human-route-enforcer.d.ts.map +1 -0
  79. package/daemon/dist/domain/human-route-enforcer.js +80 -0
  80. package/daemon/dist/domain/human-route-enforcer.js.map +1 -0
  81. package/daemon/dist/domain/mission-control/audit-browse.d.ts +8 -0
  82. package/daemon/dist/domain/mission-control/audit-browse.d.ts.map +1 -1
  83. package/daemon/dist/domain/mission-control/audit-browse.js +19 -0
  84. package/daemon/dist/domain/mission-control/audit-browse.js.map +1 -1
  85. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +1 -1
  86. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +1 -1
  87. package/daemon/dist/domain/mission-control/mission-control-action-log.js +4 -0
  88. package/daemon/dist/domain/mission-control/mission-control-action-log.js.map +1 -1
  89. package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +1 -1
  90. package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +1 -1
  91. package/daemon/dist/domain/mission-control/mission-control-read-layer.js +1 -1
  92. package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
  93. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +28 -0
  94. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
  95. package/daemon/dist/domain/mission-control/mission-control-write-contract.js +125 -0
  96. package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
  97. package/daemon/dist/domain/node-inventory.d.ts +7 -1
  98. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  99. package/daemon/dist/domain/node-inventory.js +84 -5
  100. package/daemon/dist/domain/node-inventory.js.map +1 -1
  101. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  102. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  103. package/daemon/dist/domain/periodic-snapshot-scheduler.js +11 -0
  104. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  105. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +14 -0
  106. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -0
  107. package/daemon/dist/domain/policies/idle-gate-qitem.js +114 -0
  108. package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -0
  109. package/daemon/dist/domain/ps-projection.d.ts +28 -1
  110. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  111. package/daemon/dist/domain/ps-projection.js +39 -0
  112. package/daemon/dist/domain/ps-projection.js.map +1 -1
  113. package/daemon/dist/domain/queue-repository.d.ts +25 -1
  114. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  115. package/daemon/dist/domain/queue-repository.js +111 -7
  116. package/daemon/dist/domain/queue-repository.js.map +1 -1
  117. package/daemon/dist/domain/restore-orchestrator.d.ts +8 -0
  118. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  119. package/daemon/dist/domain/restore-orchestrator.js +109 -27
  120. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  121. package/daemon/dist/domain/restore-plan-preview.d.ts +25 -1
  122. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  123. package/daemon/dist/domain/restore-plan-preview.js +72 -4
  124. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  125. package/daemon/dist/domain/resume-metadata-refresher.d.ts +44 -2
  126. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  127. package/daemon/dist/domain/resume-metadata-refresher.js +92 -6
  128. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  129. package/daemon/dist/domain/resume-token-capture.d.ts +50 -0
  130. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -0
  131. package/daemon/dist/domain/resume-token-capture.js +63 -0
  132. package/daemon/dist/domain/resume-token-capture.js.map +1 -0
  133. package/daemon/dist/domain/review/brief-spine.d.ts +19 -0
  134. package/daemon/dist/domain/review/brief-spine.d.ts.map +1 -0
  135. package/daemon/dist/domain/review/brief-spine.js +86 -0
  136. package/daemon/dist/domain/review/brief-spine.js.map +1 -0
  137. package/daemon/dist/domain/review/compose.d.ts +228 -0
  138. package/daemon/dist/domain/review/compose.d.ts.map +1 -0
  139. package/daemon/dist/domain/review/compose.js +773 -0
  140. package/daemon/dist/domain/review/compose.js.map +1 -0
  141. package/daemon/dist/domain/review/freeze.d.ts +31 -0
  142. package/daemon/dist/domain/review/freeze.d.ts.map +1 -0
  143. package/daemon/dist/domain/review/freeze.js +257 -0
  144. package/daemon/dist/domain/review/freeze.js.map +1 -0
  145. package/daemon/dist/domain/review/gather.d.ts +100 -0
  146. package/daemon/dist/domain/review/gather.d.ts.map +1 -0
  147. package/daemon/dist/domain/review/gather.js +676 -0
  148. package/daemon/dist/domain/review/gather.js.map +1 -0
  149. package/daemon/dist/domain/review/types.d.ts +258 -0
  150. package/daemon/dist/domain/review/types.d.ts.map +1 -0
  151. package/daemon/dist/domain/review/types.js +35 -0
  152. package/daemon/dist/domain/review/types.js.map +1 -0
  153. package/daemon/dist/domain/rig-status-compose.d.ts +62 -0
  154. package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -0
  155. package/daemon/dist/domain/rig-status-compose.js +149 -0
  156. package/daemon/dist/domain/rig-status-compose.js.map +1 -0
  157. package/daemon/dist/domain/rig-teardown.d.ts +3 -1
  158. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  159. package/daemon/dist/domain/rig-teardown.js +4 -19
  160. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  161. package/daemon/dist/domain/route-timing-recorder.d.ts +42 -0
  162. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -0
  163. package/daemon/dist/domain/route-timing-recorder.js +62 -0
  164. package/daemon/dist/domain/route-timing-recorder.js.map +1 -0
  165. package/daemon/dist/domain/scope/scope-approve.d.ts +64 -0
  166. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -0
  167. package/daemon/dist/domain/scope/scope-approve.js +153 -0
  168. package/daemon/dist/domain/scope/scope-approve.js.map +1 -0
  169. package/daemon/dist/domain/scope/scope-audit.d.ts +11 -1
  170. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  171. package/daemon/dist/domain/scope/scope-audit.js +203 -2
  172. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  173. package/daemon/dist/domain/seat-handover-service.d.ts +50 -7
  174. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  175. package/daemon/dist/domain/seat-handover-service.js +273 -33
  176. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  177. package/daemon/dist/domain/seat-identity-reconciler.d.ts +59 -0
  178. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -0
  179. package/daemon/dist/domain/seat-identity-reconciler.js +207 -0
  180. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -0
  181. package/daemon/dist/domain/seat-identity-store.d.ts +27 -0
  182. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -0
  183. package/daemon/dist/domain/seat-identity-store.js +106 -0
  184. package/daemon/dist/domain/seat-identity-store.js.map +1 -0
  185. package/daemon/dist/domain/seat-switch-client-service.d.ts +57 -0
  186. package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -0
  187. package/daemon/dist/domain/seat-switch-client-service.js +168 -0
  188. package/daemon/dist/domain/seat-switch-client-service.js.map +1 -0
  189. package/daemon/dist/domain/self-attach-service.d.ts +8 -0
  190. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  191. package/daemon/dist/domain/self-attach-service.js +20 -7
  192. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  193. package/daemon/dist/domain/session-registry.d.ts +35 -4
  194. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  195. package/daemon/dist/domain/session-registry.js +89 -10
  196. package/daemon/dist/domain/session-registry.js.map +1 -1
  197. package/daemon/dist/domain/session-transport.d.ts +8 -1
  198. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  199. package/daemon/dist/domain/session-transport.js +143 -37
  200. package/daemon/dist/domain/session-transport.js.map +1 -1
  201. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  202. package/daemon/dist/domain/startup-orchestrator.js +34 -2
  203. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  204. package/daemon/dist/domain/startup-proof.d.ts +63 -0
  205. package/daemon/dist/domain/startup-proof.d.ts.map +1 -0
  206. package/daemon/dist/domain/startup-proof.js +165 -0
  207. package/daemon/dist/domain/startup-proof.js.map +1 -0
  208. package/daemon/dist/domain/successor-session-launcher.d.ts +103 -0
  209. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -0
  210. package/daemon/dist/domain/successor-session-launcher.js +246 -0
  211. package/daemon/dist/domain/successor-session-launcher.js.map +1 -0
  212. package/daemon/dist/domain/topology/multi-rig-launcher.d.ts +49 -0
  213. package/daemon/dist/domain/topology/multi-rig-launcher.d.ts.map +1 -0
  214. package/daemon/dist/domain/topology/multi-rig-launcher.js +132 -0
  215. package/daemon/dist/domain/topology/multi-rig-launcher.js.map +1 -0
  216. package/daemon/dist/domain/topology/remote-up-leaf.d.ts +29 -0
  217. package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -0
  218. package/daemon/dist/domain/topology/remote-up-leaf.js +60 -0
  219. package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -0
  220. package/daemon/dist/domain/topology/topology-manifest.d.ts +34 -0
  221. package/daemon/dist/domain/topology/topology-manifest.d.ts.map +1 -0
  222. package/daemon/dist/domain/topology/topology-manifest.js +195 -0
  223. package/daemon/dist/domain/topology/topology-manifest.js.map +1 -0
  224. package/daemon/dist/domain/types.d.ts +86 -0
  225. package/daemon/dist/domain/types.d.ts.map +1 -1
  226. package/daemon/dist/domain/types.js +8 -0
  227. package/daemon/dist/domain/types.js.map +1 -1
  228. package/daemon/dist/domain/up-command-router.d.ts +1 -1
  229. package/daemon/dist/domain/up-command-router.d.ts.map +1 -1
  230. package/daemon/dist/domain/up-command-router.js +34 -2
  231. package/daemon/dist/domain/up-command-router.js.map +1 -1
  232. package/daemon/dist/domain/user-settings/settings-store.d.ts +17 -0
  233. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  234. package/daemon/dist/domain/user-settings/settings-store.js +109 -0
  235. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  236. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  237. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  238. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  239. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  240. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  241. package/daemon/dist/domain/watchdog-policy-engine.js +19 -0
  242. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  243. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  244. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +51 -6
  245. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  246. package/daemon/dist/domain/workspace/workspace-doctor.d.ts +11 -0
  247. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  248. package/daemon/dist/domain/workspace/workspace-doctor.js +82 -0
  249. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  250. package/daemon/dist/index.d.ts.map +1 -1
  251. package/daemon/dist/index.js +18 -1
  252. package/daemon/dist/index.js.map +1 -1
  253. package/daemon/dist/routes/activity.d.ts.map +1 -1
  254. package/daemon/dist/routes/activity.js +26 -0
  255. package/daemon/dist/routes/activity.js.map +1 -1
  256. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  257. package/daemon/dist/routes/agent-images.js +139 -0
  258. package/daemon/dist/routes/agent-images.js.map +1 -1
  259. package/daemon/dist/routes/compaction.d.ts +17 -0
  260. package/daemon/dist/routes/compaction.d.ts.map +1 -0
  261. package/daemon/dist/routes/compaction.js +125 -0
  262. package/daemon/dist/routes/compaction.js.map +1 -0
  263. package/daemon/dist/routes/config.d.ts.map +1 -1
  264. package/daemon/dist/routes/config.js +15 -6
  265. package/daemon/dist/routes/config.js.map +1 -1
  266. package/daemon/dist/routes/files.d.ts.map +1 -1
  267. package/daemon/dist/routes/files.js +45 -1
  268. package/daemon/dist/routes/files.js.map +1 -1
  269. package/daemon/dist/routes/mission-control.d.ts.map +1 -1
  270. package/daemon/dist/routes/mission-control.js +67 -2
  271. package/daemon/dist/routes/mission-control.js.map +1 -1
  272. package/daemon/dist/routes/queue.d.ts +8 -2
  273. package/daemon/dist/routes/queue.d.ts.map +1 -1
  274. package/daemon/dist/routes/queue.js +44 -4
  275. package/daemon/dist/routes/queue.js.map +1 -1
  276. package/daemon/dist/routes/restore-check.d.ts +10 -0
  277. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  278. package/daemon/dist/routes/restore-check.js +46 -37
  279. package/daemon/dist/routes/restore-check.js.map +1 -1
  280. package/daemon/dist/routes/review.d.ts +3 -0
  281. package/daemon/dist/routes/review.d.ts.map +1 -0
  282. package/daemon/dist/routes/review.js +169 -0
  283. package/daemon/dist/routes/review.js.map +1 -0
  284. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  285. package/daemon/dist/routes/rigs.js +70 -1
  286. package/daemon/dist/routes/rigs.js.map +1 -1
  287. package/daemon/dist/routes/scope-approve.d.ts +3 -0
  288. package/daemon/dist/routes/scope-approve.d.ts.map +1 -0
  289. package/daemon/dist/routes/scope-approve.js +55 -0
  290. package/daemon/dist/routes/scope-approve.js.map +1 -0
  291. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  292. package/daemon/dist/routes/scope-audit.js +28 -1
  293. package/daemon/dist/routes/scope-audit.js.map +1 -1
  294. package/daemon/dist/routes/seat.d.ts.map +1 -1
  295. package/daemon/dist/routes/seat.js +53 -2
  296. package/daemon/dist/routes/seat.js.map +1 -1
  297. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  298. package/daemon/dist/routes/sessions.js +44 -9
  299. package/daemon/dist/routes/sessions.js.map +1 -1
  300. package/daemon/dist/routes/slices.d.ts.map +1 -1
  301. package/daemon/dist/routes/slices.js +49 -9
  302. package/daemon/dist/routes/slices.js.map +1 -1
  303. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  304. package/daemon/dist/routes/snapshots.js +16 -1
  305. package/daemon/dist/routes/snapshots.js.map +1 -1
  306. package/daemon/dist/routes/terminal-ws.d.ts.map +1 -1
  307. package/daemon/dist/routes/terminal-ws.js +58 -21
  308. package/daemon/dist/routes/terminal-ws.js.map +1 -1
  309. package/daemon/dist/routes/transport.d.ts.map +1 -1
  310. package/daemon/dist/routes/transport.js +12 -5
  311. package/daemon/dist/routes/transport.js.map +1 -1
  312. package/daemon/dist/routes/up.d.ts.map +1 -1
  313. package/daemon/dist/routes/up.js +84 -0
  314. package/daemon/dist/routes/up.js.map +1 -1
  315. package/daemon/dist/routes/workspace.js +2 -2
  316. package/daemon/dist/server.d.ts +33 -0
  317. package/daemon/dist/server.d.ts.map +1 -1
  318. package/daemon/dist/server.js +41 -1
  319. package/daemon/dist/server.js.map +1 -1
  320. package/daemon/dist/startup.d.ts +1 -0
  321. package/daemon/dist/startup.d.ts.map +1 -1
  322. package/daemon/dist/startup.js +108 -20
  323. package/daemon/dist/startup.js.map +1 -1
  324. package/daemon/docs/reference/agent-startup-guide.md +1 -1
  325. package/daemon/docs/reference/product-factory-vps-runbook.md +132 -0
  326. package/daemon/docs/reference/sdlc-conventions.md +187 -0
  327. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  328. package/daemon/specs/agents/conveyor/builder/guidance/role.md +1 -0
  329. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  330. package/daemon/specs/agents/conveyor/lead/guidance/role.md +1 -0
  331. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  332. package/daemon/specs/agents/conveyor/planner/guidance/role.md +1 -0
  333. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  334. package/daemon/specs/agents/conveyor/reviewer/guidance/role.md +1 -0
  335. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  336. package/daemon/specs/agents/design/product-designer/guidance/role.md +1 -0
  337. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  338. package/daemon/specs/agents/development/implementer/guidance/role.md +1 -0
  339. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  340. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  341. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  342. package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +1 -0
  343. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  344. package/daemon/specs/agents/product-management/pm/guidance/role.md +13 -0
  345. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  346. package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +1 -0
  347. package/daemon/specs/agents/shared/agent.yaml +2 -0
  348. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +115 -0
  349. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +4 -4
  350. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +69 -23
  351. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +3 -3
  352. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +4 -0
  353. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +1 -1
  354. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +1 -1
  355. package/daemon/specs/rigs/preview/product-team/CULTURE.md +4 -0
  356. package/dist/build-info.d.ts +8 -0
  357. package/dist/build-info.d.ts.map +1 -0
  358. package/dist/build-info.js +11 -0
  359. package/dist/build-info.js.map +1 -0
  360. package/dist/commands/compact.d.ts +15 -0
  361. package/dist/commands/compact.d.ts.map +1 -0
  362. package/dist/commands/compact.js +62 -0
  363. package/dist/commands/compact.js.map +1 -0
  364. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  365. package/dist/commands/config-init-workspace.js +20 -4
  366. package/dist/commands/config-init-workspace.js.map +1 -1
  367. package/dist/commands/daemon.d.ts.map +1 -1
  368. package/dist/commands/daemon.js +18 -2
  369. package/dist/commands/daemon.js.map +1 -1
  370. package/dist/commands/doctor.js +2 -2
  371. package/dist/commands/doctor.js.map +1 -1
  372. package/dist/commands/expand.js +1 -1
  373. package/dist/commands/expand.js.map +1 -1
  374. package/dist/commands/file.d.ts +7 -0
  375. package/dist/commands/file.d.ts.map +1 -0
  376. package/dist/commands/file.js +77 -0
  377. package/dist/commands/file.js.map +1 -0
  378. package/dist/commands/fork.d.ts +4 -0
  379. package/dist/commands/fork.d.ts.map +1 -0
  380. package/dist/commands/fork.js +101 -0
  381. package/dist/commands/fork.js.map +1 -0
  382. package/dist/commands/host.d.ts +34 -0
  383. package/dist/commands/host.d.ts.map +1 -0
  384. package/dist/commands/host.js +448 -0
  385. package/dist/commands/host.js.map +1 -0
  386. package/dist/commands/launch.d.ts.map +1 -1
  387. package/dist/commands/launch.js +34 -4
  388. package/dist/commands/launch.js.map +1 -1
  389. package/dist/commands/proof.d.ts +54 -0
  390. package/dist/commands/proof.d.ts.map +1 -0
  391. package/dist/commands/proof.js +311 -0
  392. package/dist/commands/proof.js.map +1 -0
  393. package/dist/commands/ps.d.ts +41 -7
  394. package/dist/commands/ps.d.ts.map +1 -1
  395. package/dist/commands/ps.js +357 -135
  396. package/dist/commands/ps.js.map +1 -1
  397. package/dist/commands/queue.d.ts +6 -0
  398. package/dist/commands/queue.d.ts.map +1 -1
  399. package/dist/commands/queue.js +154 -4
  400. package/dist/commands/queue.js.map +1 -1
  401. package/dist/commands/reconcile-session.d.ts.map +1 -1
  402. package/dist/commands/reconcile-session.js +2 -2
  403. package/dist/commands/reconcile-session.js.map +1 -1
  404. package/dist/commands/restore-check.d.ts.map +1 -1
  405. package/dist/commands/restore-check.js +93 -0
  406. package/dist/commands/restore-check.js.map +1 -1
  407. package/dist/commands/scope.d.ts.map +1 -1
  408. package/dist/commands/scope.js +191 -4
  409. package/dist/commands/scope.js.map +1 -1
  410. package/dist/commands/seat.d.ts +17 -0
  411. package/dist/commands/seat.d.ts.map +1 -1
  412. package/dist/commands/seat.js +145 -32
  413. package/dist/commands/seat.js.map +1 -1
  414. package/dist/commands/send.d.ts.map +1 -1
  415. package/dist/commands/send.js +161 -11
  416. package/dist/commands/send.js.map +1 -1
  417. package/dist/commands/start.d.ts +5 -0
  418. package/dist/commands/start.d.ts.map +1 -1
  419. package/dist/commands/start.js.map +1 -1
  420. package/dist/commands/startup-proof.d.ts +24 -0
  421. package/dist/commands/startup-proof.d.ts.map +1 -0
  422. package/dist/commands/startup-proof.js +100 -0
  423. package/dist/commands/startup-proof.js.map +1 -0
  424. package/dist/commands/unclaim.js +2 -2
  425. package/dist/commands/unclaim.js.map +1 -1
  426. package/dist/commands/up.d.ts +2 -0
  427. package/dist/commands/up.d.ts.map +1 -1
  428. package/dist/commands/up.js +79 -2
  429. package/dist/commands/up.js.map +1 -1
  430. package/dist/commands/watchdog.js +2 -2
  431. package/dist/commands/watchdog.js.map +1 -1
  432. package/dist/commands/workspace.js +6 -6
  433. package/dist/commands/workspace.js.map +1 -1
  434. package/dist/config-store.d.ts +4 -0
  435. package/dist/config-store.d.ts.map +1 -1
  436. package/dist/config-store.js +68 -0
  437. package/dist/config-store.js.map +1 -1
  438. package/dist/cross-host-executor.d.ts +1 -0
  439. package/dist/cross-host-executor.d.ts.map +1 -1
  440. package/dist/cross-host-executor.js +4 -1
  441. package/dist/cross-host-executor.js.map +1 -1
  442. package/dist/daemon-lifecycle.d.ts +23 -0
  443. package/dist/daemon-lifecycle.d.ts.map +1 -1
  444. package/dist/daemon-lifecycle.js +54 -6
  445. package/dist/daemon-lifecycle.js.map +1 -1
  446. package/dist/host-registry.d.ts +9 -0
  447. package/dist/host-registry.d.ts.map +1 -1
  448. package/dist/host-registry.js +32 -2
  449. package/dist/host-registry.js.map +1 -1
  450. package/dist/index.d.ts +5 -0
  451. package/dist/index.d.ts.map +1 -1
  452. package/dist/index.js +15 -1
  453. package/dist/index.js.map +1 -1
  454. package/dist/lib/codex-auth.d.ts +24 -0
  455. package/dist/lib/codex-auth.d.ts.map +1 -1
  456. package/dist/lib/codex-auth.js +89 -17
  457. package/dist/lib/codex-auth.js.map +1 -1
  458. package/dist/lib/file-transfer.d.ts +89 -0
  459. package/dist/lib/file-transfer.d.ts.map +1 -0
  460. package/dist/lib/file-transfer.js +300 -0
  461. package/dist/lib/file-transfer.js.map +1 -0
  462. package/dist/lib/hosts/fanout-contract.d.ts +33 -0
  463. package/dist/lib/hosts/fanout-contract.d.ts.map +1 -0
  464. package/dist/lib/hosts/fanout-contract.js +23 -0
  465. package/dist/lib/hosts/fanout-contract.js.map +1 -0
  466. package/dist/lib/scope/scope-audit.d.ts +11 -1
  467. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  468. package/dist/lib/scope/scope-audit.js +203 -2
  469. package/dist/lib/scope/scope-audit.js.map +1 -1
  470. package/dist/lib/scope/templates.d.ts +1 -0
  471. package/dist/lib/scope/templates.d.ts.map +1 -1
  472. package/dist/lib/scope/templates.js +9 -0
  473. package/dist/lib/scope/templates.js.map +1 -1
  474. package/dist/lib/scope-templates/backlog-deprecation.md +16 -0
  475. package/dist/lib/scope-templates/backlog-tech-debt.md +16 -0
  476. package/dist/lib/scope-templates/bug-fix.md +16 -0
  477. package/dist/lib/scope-templates/implementation-prd.md +33 -0
  478. package/dist/lib/scope-templates/mission-placeholder.md +41 -0
  479. package/dist/lib/scope-templates/mission-progress.md +2 -0
  480. package/dist/lib/scope-templates/mission-release.md +41 -0
  481. package/dist/lib/scope-templates/placeholder.md +12 -4
  482. package/dist/lib/scope-templates/proof.md +6 -0
  483. package/dist/lib/scope-templates/release-feature.md +14 -6
  484. package/dist/lib/scope-templates/research.md +16 -0
  485. package/dist/lib/scope-templates/slice-progress.md +2 -0
  486. package/dist/openrig-compat.d.ts +19 -0
  487. package/dist/openrig-compat.d.ts.map +1 -1
  488. package/dist/openrig-compat.js +31 -1
  489. package/dist/openrig-compat.js.map +1 -1
  490. package/dist/version.d.ts +5 -0
  491. package/dist/version.d.ts.map +1 -1
  492. package/dist/version.js +11 -1
  493. package/dist/version.js.map +1 -1
  494. package/package.json +1 -1
  495. package/ui/dist/assets/index-D69ZhNIr.js +598 -0
  496. package/ui/dist/assets/index-DJYun-8d.css +32 -0
  497. package/ui/dist/index.html +23 -2
  498. package/ui/dist/assets/index-CnqRX7A3.css +0 -32
  499. package/ui/dist/assets/index-CtL9jXFt.js +0 -582
@@ -2,6 +2,7 @@ import { Hono } from "hono";
2
2
  import fs from "node:fs";
3
3
  import nodePath from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
+ import { stampFields } from "./build-info.js";
5
6
  import { rigsRoutes } from "./routes/rigs.js";
6
7
  import { sessionsRoutes, nodesRoutes, sessionAdminRoutes } from "./routes/sessions.js";
7
8
  import { adaptersRoutes } from "./routes/adapters.js";
@@ -21,6 +22,7 @@ import { downRoutes } from "./routes/down.js";
21
22
  import { kernelStatusRoutes } from "./routes/kernel-status.js";
22
23
  import { transcriptRoutes } from "./routes/transcripts.js";
23
24
  import { transportRoutes } from "./routes/transport.js";
25
+ import { compactionRoutes } from "./routes/compaction.js";
24
26
  import { activityRoutes } from "./routes/activity.js";
25
27
  import { askRoutes } from "./routes/ask.js";
26
28
  import { specReviewRoutes } from "./routes/spec-review.js";
@@ -46,6 +48,7 @@ import { watchdogRoutes } from "./routes/watchdog.js";
46
48
  import { workflowRoutes } from "./routes/workflow.js";
47
49
  import { missionControlRoutes } from "./routes/mission-control.js";
48
50
  import { slicesRoutes } from "./routes/slices.js";
51
+ import { reviewRoutes } from "./routes/review.js";
49
52
  import { rigPolicyRoutes } from "./routes/rig-policy.js";
50
53
  import { missionsRoutes } from "./routes/missions.js";
51
54
  import { rigCmuxRoutes } from "./routes/rig-cmux.js";
@@ -54,12 +57,14 @@ import { getNodeInventory } from "./domain/node-inventory.js";
54
57
  import { filesRoutes } from "./routes/files.js";
55
58
  import { progressRoutes } from "./routes/progress.js";
56
59
  import { scopeAuditRoutes } from "./routes/scope-audit.js";
60
+ import { scopeApproveRoutes } from "./routes/scope-approve.js";
57
61
  import { registerTerminalWs } from "./routes/terminal-ws.js";
58
62
  import { createNodeWebSocket } from "@hono/node-ws";
59
63
  import { steeringRoutes } from "./routes/steering.js";
60
64
  import { healthSummaryRoutes } from "./routes/health-summary.js";
61
65
  import { envRoutes } from "./routes/env.js";
62
66
  import { seatRoutes } from "./routes/seat.js";
67
+ import { createRouteTimingMiddleware } from "./domain/route-timing-recorder.js";
63
68
  const MIME_TYPES = {
64
69
  ".css": "text/css; charset=utf-8",
65
70
  ".html": "text/html; charset=utf-8",
@@ -160,6 +165,7 @@ export function createApp(deps) {
160
165
  c.set("eventBus", deps.eventBus);
161
166
  c.set("nodeLauncher", deps.nodeLauncher);
162
167
  c.set("tmuxAdapter", deps.tmuxAdapter);
168
+ c.set("sessionEnv", deps.sessionEnv);
163
169
  c.set("cmuxAdapter", deps.cmuxAdapter);
164
170
  // Slice 24 — per-rig CMUX workspace launcher wiring.
165
171
  c.set("cmuxLayoutService", new CmuxLayoutService(deps.cmuxAdapter));
@@ -167,6 +173,7 @@ export function createApp(deps) {
167
173
  c.set("snapshotCapture", deps.snapshotCapture);
168
174
  c.set("snapshotRepo", deps.snapshotRepo);
169
175
  c.set("restoreOrchestrator", deps.restoreOrchestrator);
176
+ c.set("resumeMetadataRefresher", deps.resumeMetadataRefresher);
170
177
  c.set("rigSpecExporter", deps.rigSpecExporter);
171
178
  c.set("rigSpecPreflight", deps.rigSpecPreflight);
172
179
  c.set("rigInstantiator", deps.rigInstantiator);
@@ -213,6 +220,7 @@ export function createApp(deps) {
213
220
  c.set("missionControlFleetCliCapability", deps.missionControlFleetCliCapability);
214
221
  c.set("sliceIndexer", deps.sliceIndexer);
215
222
  c.set("sliceDetailProjector", deps.sliceDetailProjector);
223
+ c.set("reviewGatherer", deps.reviewGatherer);
216
224
  c.set("filesAllowlist", deps.filesAllowlist);
217
225
  c.set("settingsStore", deps.settingsStore);
218
226
  c.set("previewRateLimiter", deps.previewRateLimiter);
@@ -232,6 +240,7 @@ export function createApp(deps) {
232
240
  c.set("whoamiService", deps.whoamiService);
233
241
  c.set("contextUsageStore", deps.contextUsageStore);
234
242
  c.set("contextMonitor", deps.contextMonitor);
243
+ c.set("compactionEnforcer", deps.compactionEnforcer);
235
244
  c.set("nodeCmuxService", deps.nodeCmuxService);
236
245
  c.set("agentActivityStore", deps.agentActivityStore);
237
246
  c.set("seatAttentionReconciler", deps.seatAttentionReconciler);
@@ -248,8 +257,32 @@ export function createApp(deps) {
248
257
  c.set("terminalBearerToken", deps.terminalBearerToken ?? null);
249
258
  await next();
250
259
  });
260
+ // OPR.0.4.3.21 — ONE request-duration middleware for the expensive topology
261
+ // routes (rigs summary/graph, nodes, ps). Registered only when a recorder is
262
+ // wired (production); the internal expensiveRouteLabel gate makes it a no-op
263
+ // for every other path, so cheap routes pay nothing.
264
+ if (deps.routeTimingRecorder) {
265
+ app.use("*", createRouteTimingMiddleware(deps.routeTimingRecorder));
266
+ }
251
267
  app.get("/healthz", (c) => {
252
- return c.json({ status: "ok" });
268
+ // OPR.0.4.3.21 enrich the health surface with event-loop wedge evidence
269
+ // when the monitor is wired. Absent monitor keeps the exact legacy body so
270
+ // existing probes / tests that assert `{ status: "ok" }` are unchanged.
271
+ // OPR.0.4.4.11 FR-7 — a STAMPED build additionally carries
272
+ // {semver, commit, dirty, builtAt}; dev runs add NOTHING (stampFields is
273
+ // {} without a stamp — no invented identity, legacy bodies preserved).
274
+ const stamp = stampFields();
275
+ const monitor = deps.eventLoopMonitor;
276
+ if (!monitor) {
277
+ return c.json({ status: "ok", ...stamp });
278
+ }
279
+ const eventLoop = monitor.snapshot();
280
+ return c.json({
281
+ status: "ok",
282
+ ...stamp,
283
+ eventLoop,
284
+ routeTimings: deps.routeTimingRecorder?.snapshot() ?? {},
285
+ });
253
286
  });
254
287
  app.route("/api/rigs", rigsRoutes);
255
288
  app.route("/api/rigs/:rigId/sessions", sessionsRoutes);
@@ -276,6 +309,9 @@ export function createApp(deps) {
276
309
  app.route("/api/kernel", kernelStatusRoutes);
277
310
  app.route("/api/transcripts", transcriptRoutes());
278
311
  app.route("/api/transport", transportRoutes({ bearerToken: deps.terminalBearerToken ?? null }));
312
+ // OPR.0.4.3.14 — manual compaction trigger (same terminal-bearer posture as
313
+ // transport, since it drives a send into the target seat).
314
+ app.route("/api/compaction", compactionRoutes({ bearerToken: deps.terminalBearerToken ?? null }));
279
315
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
280
316
  let injectWebSocket = () => { };
281
317
  if (deps.enableNodeWebSocket) {
@@ -309,6 +345,8 @@ export function createApp(deps) {
309
345
  app.route("/api/mission-control", missionControlRoutes({ bearerToken: deps.missionControlBearerToken ?? null }));
310
346
  // Slice Story View v0 — slice indexer + per-tab payload routes.
311
347
  app.route("/api/slices", slicesRoutes());
348
+ // Living Notes Packet 2 (OPR.0.4.4.20) — composed-review read contract.
349
+ app.route("/api/review", reviewRoutes());
312
350
  // V0.3.1 slice 12 walk-item 1 — mission scope data layer
313
351
  // (aggregated mission metadata + slices filter; pairs with
314
352
  // useScopeMarkdown for README / PROGRESS content via /api/files/read).
@@ -317,6 +355,8 @@ export function createApp(deps) {
317
355
  app.route("/api/files", filesRoutes());
318
356
  app.route("/api/progress", progressRoutes());
319
357
  app.route("/api/scope/audit", scopeAuditRoutes());
358
+ // OPR.0.4.4.19 FR-9 — scope approve: frontmatter stamp + audit row.
359
+ app.route("/api/scope/approve", scopeApproveRoutes());
320
360
  // Operator Surface Reconciliation v0 — steering composition + health summary.
321
361
  app.route("/api/steering", steeringRoutes());
322
362
  app.route("/api/health-summary", healthSummaryRoutes());
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAwBzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,4DAA4D;AAC5D,yEAAyE;AACzE,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wEAAwE;AACxE,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAajE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+J9C,MAAM,UAAU,GAA2B;IACzC,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,gCAAgC;IACvC,OAAO,EAAE,iCAAiC;IAC1C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEF,SAAS,uBAAuB;IAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,WAAmB;IAC/D,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IACpG,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE;YACP,cAAc,EAAE,WAAW;SAC5B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;WACpC,YAAY,KAAK,aAAa;WAC9B,YAAY,KAAK,YAAY;WAC7B,YAAY,KAAK,sBAAsB,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,kDAAkD;IAClD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,CAAC,CAAC,GAAG,CAAC,SAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,UAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,GAAG,CAAC,cAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CAAC,aAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,aAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,qDAAqD;QACrD,CAAC,CAAC,GAAG,CACH,mBAA4B,EAC5B,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CACxC,CAAC;QACF,CAAC,CAAC,GAAG,CACH,iBAA0B,EAC1B,CAAC,KAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAC5D,CAAC;QACF,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,cAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,aAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,aAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,uBAAgC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,sBAA+B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,cAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,UAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,GAAG,CAAC,sBAA+B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,yBAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,YAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC,CAAC,GAAG,CAAC,UAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,GAAG,CAAC,aAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,WAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC,cAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,wBAAiC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtE,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,sBAA+B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,yBAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,yBAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,GAAG,CAAC,6BAAsC,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAChF,CAAC,CAAC,GAAG,CAAC,yBAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,CAAC,CAAC,GAAG,CAAC,kCAA2C,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC1F,CAAC,CAAC,GAAG,CAAC,cAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,GAAG,CAAC,sBAA+B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,CAAC,CAAC,GAAG,CAAC,gBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,2BAAoC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5E,CAAC,CAAC,GAAG,CAAC,sCAA+C,EAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClG,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,wBAAiC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtE,CAAC,CAAC,GAAG,CAAC,8BAAuC,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAClF,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,kBAA2B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC,CAAC,GAAG,CAAC,eAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,gBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC,iBAA0B,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC,CAAC,GAAG,CAAC,oBAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,GAAG,CAAC,yBAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,qDAAqD;QACrD,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,GAAG,CAAC,gBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC,mBAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,gBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC,IAAa,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,GAAG,CAAC,qBAA8B,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;QACxE,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;IACvD,8CAA8C;IAC9C,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;IAClD,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;IACjD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC/C,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACtC,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAC;IACzD,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;IACrD,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAC;IACxD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACvC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChG,8DAA8D;IAC9D,IAAI,eAAe,GAA0B,GAAG,EAAE,GAAE,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,eAAe,GAAG,EAAE,CAAC,eAAwB,CAAC;QAC9C,oBAAoB,GAAG,eAAe,CAAC;QACvC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAyB,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3C,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACjC,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACrD,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3C,uEAAuE;IACvE,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtD,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;QAC/C,SAAS,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC,CAAC;IACJ,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CACP,sBAAsB,EACtB,oBAAoB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,yBAAyB,IAAI,IAAI,EAAE,CAAC,CAC9E,CAAC;IACF,gEAAgE;IAChE,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;IACzC,yDAAyD;IACzD,2DAA2D;IAC3D,uEAAuE;IACvE,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,gFAAgF;IAChF,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClD,8EAA8E;IAC9E,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACpD,wEAAwE;IACxE,sEAAsE;IACtE,GAAG,CAAC,KAAK,CACP,iBAAiB,EACjB,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,yBAAyB,IAAI,IAAI,EAAE,CAAC,CACzE,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,uBAAuB,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE9D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAE/B,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACzF,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB;YAC1C,CAAC,CAAC,oIAAoI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY;YAC1L,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,IAAI,oBAAoB,GAAmC,IAAI,CAAC;AAEhE,8DAA8D;AAC9D,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAChC,oBAAoB,GAAG,IAAI,CAAC;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ interface DaemonResult {
30
30
  db: Database.Database;
31
31
  deps: AppDeps;
32
32
  contextMonitor: import("./domain/context-monitor.js").ContextMonitor;
33
+ eventLoopMonitor: import("./domain/event-loop-monitor.js").EventLoopMonitor;
33
34
  injectWebSocket: (server: any) => void;
34
35
  }
35
36
  export declare function collectAllowlistedProviderAuthEnv(raw: string | null | undefined, env: Record<string, string | undefined>): Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAqF/D,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAqEnE,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,GAAG,EAAE,IAAI,CAAC;IACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC;IAErE,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACxC;AAYD,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAED,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAqkC9E"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuF/D,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AA0EnE,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,GAAG,EAAE,IAAI,CAAC;IACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC;IAErE,gBAAgB,EAAE,OAAO,gCAAgC,EAAE,gBAAgB,CAAC;IAE5E,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CACxC;AAYD,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAED,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAupC9E"}
@@ -47,6 +47,7 @@ import { LegacyBundleSourceResolver as BundleSourceResolver } from "./domain/bun
47
47
  import { PodBundleSourceResolver } from "./domain/bundle-source-resolver.js";
48
48
  import { PsProjectionService } from "./domain/ps-projection.js";
49
49
  import { SeatActivityService } from "./domain/seat-activity-service.js";
50
+ import { SeatIdentityReconciler } from "./domain/seat-identity-reconciler.js";
50
51
  import { UpCommandRouter } from "./domain/up-command-router.js";
51
52
  import { RigTeardownOrchestrator } from "./domain/rig-teardown.js";
52
53
  import { ResumeMetadataRefresher } from "./domain/resume-metadata-refresher.js";
@@ -70,6 +71,7 @@ import { WatchdogPolicyEngine } from "./domain/watchdog-policy-engine.js";
70
71
  import { WatchdogScheduler } from "./domain/watchdog-scheduler.js";
71
72
  import { WorkflowRuntime } from "./domain/workflow-runtime.js";
72
73
  import { makeWorkflowKeepalivePolicy } from "./domain/policies/workflow-keepalive.js";
74
+ import { makeIdleGateQitemPolicy } from "./domain/policies/idle-gate-qitem.js";
73
75
  import { SpecReviewService } from "./domain/spec-review-service.js";
74
76
  import { SpecLibraryService } from "./domain/spec-library-service.js";
75
77
  // Phase 3a slice 3.3 — plugin discovery service.
@@ -131,6 +133,10 @@ import { rigPolicySchema } from "./db/migrations/041_rig_policy.js";
131
133
  import { rigArchiveSchema } from "./db/migrations/042_rig_archive.js";
132
134
  import { resumeProvenanceSchema } from "./db/migrations/043_resume_provenance.js";
133
135
  import { queueItemSummarySchema } from "./db/migrations/044_queue_item_summary.js";
136
+ import { resumeVerificationSchema } from "./db/migrations/045_resume_verification.js";
137
+ import { seatIdentityVerdictsSchema } from "./db/migrations/046_seat_identity_verdicts.js";
138
+ import { eventsNodeTypeIndexSchema } from "./db/migrations/047_events_node_type_index.js";
139
+ import { queueItemEvidenceRefSchema } from "./db/migrations/048_queue_item_evidence_ref.js";
134
140
  import { RigPolicyStore } from "./domain/rig-policy/rig-policy-store.js";
135
141
  import { MissionControlActionLog } from "./domain/mission-control/mission-control-action-log.js";
136
142
  import { MissionControlWriteContract } from "./domain/mission-control/mission-control-write-contract.js";
@@ -141,6 +147,7 @@ import { MissionControlNotificationDispatcher } from "./domain/mission-control/n
141
147
  import { NtfyNotificationAdapter } from "./domain/mission-control/notification-adapter-ntfy.js";
142
148
  import { WebhookNotificationAdapter } from "./domain/mission-control/notification-adapter-webhook.js";
143
149
  import { OPENRIG_HOME } from "./openrig-compat.js";
150
+ import { ensureActivityHookToken, writeActivityEndpointFile, deriveActivityUrl } from "./domain/activity-endpoint.js";
144
151
  import { getCompatibleOpenRigPath, getDefaultOpenRigPath, readOpenRigEnv, } from "./openrig-compat.js";
145
152
  const KNOWN_PROVIDER_AUTH_ENV = new Set([
146
153
  "ANTHROPIC_API_KEY",
@@ -171,7 +178,7 @@ export function collectAllowlistedProviderAuthEnv(raw, env) {
171
178
  export async function createDaemon(opts) {
172
179
  const dbPath = opts?.dbPath ?? ":memory:";
173
180
  const db = createDb(dbPath);
174
- migrate(db, [coreSchema, bindingsSessionsSchema, eventsSchema, snapshotsSchema, checkpointsSchema, resumeMetadataSchema, nodeSpecFieldsSchema, packagesSchema, installJournalSchema, journalSeqSchema, bootstrapSchema, discoverySchema, discoveryFkFix, agentspecRebootSchema, startupContextSchema, chatMessagesSchema, podNamespaceSchema, contextUsageSchema, externalCliAttachmentSchema, rigServicesSchema, seatHandoverObservabilitySchema, nodeCodexConfigProfileSchema, streamItemsSchema, queueItemsSchema, queueTransitionsSchema, inboxEntriesSchema, outboxEntriesSchema, projectClassificationsSchema, classifierLeasesSchema, viewsCustomSchema, watchdogJobsSchema, watchdogHistorySchema, workflowSpecsSchema, workflowInstancesSchema, workflowStepTrailsSchema, watchdogPolicyEnumExtensionSchema, missionControlActionsSchema, workspacePrimitiveSchema, queueTargetRepoSchema, workflowSpecsDiagnosticSchema, rigPolicySchema, rigArchiveSchema, resumeProvenanceSchema, queueItemSummarySchema]);
181
+ migrate(db, [coreSchema, bindingsSessionsSchema, eventsSchema, snapshotsSchema, checkpointsSchema, resumeMetadataSchema, nodeSpecFieldsSchema, packagesSchema, installJournalSchema, journalSeqSchema, bootstrapSchema, discoverySchema, discoveryFkFix, agentspecRebootSchema, startupContextSchema, chatMessagesSchema, podNamespaceSchema, contextUsageSchema, externalCliAttachmentSchema, rigServicesSchema, seatHandoverObservabilitySchema, nodeCodexConfigProfileSchema, streamItemsSchema, queueItemsSchema, queueTransitionsSchema, inboxEntriesSchema, outboxEntriesSchema, projectClassificationsSchema, classifierLeasesSchema, viewsCustomSchema, watchdogJobsSchema, watchdogHistorySchema, workflowSpecsSchema, workflowInstancesSchema, workflowStepTrailsSchema, watchdogPolicyEnumExtensionSchema, missionControlActionsSchema, workspacePrimitiveSchema, queueTargetRepoSchema, workflowSpecsDiagnosticSchema, rigPolicySchema, rigArchiveSchema, resumeProvenanceSchema, queueItemSummarySchema, resumeVerificationSchema, seatIdentityVerdictsSchema, eventsNodeTypeIndexSchema, queueItemEvidenceRefSchema]);
175
182
  const rigRepo = new RigRepository(db);
176
183
  const sessionRegistry = new SessionRegistry(db);
177
184
  const eventBus = new EventBus(db);
@@ -227,6 +234,14 @@ export async function createDaemon(opts) {
227
234
  defaultWindowSeconds: 3,
228
235
  eventBus,
229
236
  });
237
+ // OPR.0.4.3.19 — SeatIdentityReconciler owns the liveness identity verdict
238
+ // (the THIRD axis). Reconciles each running seat's pane PID/command against
239
+ // the registered binding and persists the verdict so node-inventory can gate
240
+ // the running/active green derivations. Started post-bind in index.ts.
241
+ const seatIdentityReconciler = new SeatIdentityReconciler({
242
+ db,
243
+ tmux: tmuxAdapter,
244
+ });
230
245
  // cmuxFactory takes precedence (for tests), then cmuxExec-based CLI transport, then default
231
246
  const cmuxFactory = opts?.cmuxFactory
232
247
  ?? createCmuxCliTransport(opts?.cmuxExec ?? execCommand);
@@ -238,12 +253,39 @@ export async function createDaemon(opts) {
238
253
  const activityHookUrl = readOpenRigEnv("OPENRIG_URL", "RIGGED_URL") || undefined;
239
254
  const openRigPort = readOpenRigEnv("OPENRIG_PORT", "RIGGED_PORT") || undefined;
240
255
  const openRigHost = readOpenRigEnv("OPENRIG_HOST", "RIGGED_HOST") || undefined;
256
+ // OPR.0.4.3.28 B2 — self-provision a STABLE activity url+token so launched
257
+ // seats reach the ingest endpoint without operator shell seeding (the
258
+ // confirmed live break). The token persists across daemon restarts (matches
259
+ // already-launched seats' frozen env); the URL derives from the daemon's
260
+ // loopback + port (DEFAULT_PORT 7433 fallback). The SAME token becomes both
261
+ // the ingest expected-token (server dep below) and the seats' env value, so
262
+ // hook POSTs authenticate. Also snapshotted to activity-endpoint.json for the
263
+ // relay file-discovery fallback used by reconcile/restored seats (B3).
264
+ const resolvedActivityHookToken = activityHookToken ?? ensureActivityHookToken(OPENRIG_HOME);
265
+ // Derive from the daemon's OWN bound host+port (honors an explicit OPENRIG_HOST
266
+ // single-host bind; wildcard/absent → loopback) so seats post to a reachable
267
+ // address — a hardcoded 127.0.0.1 breaks an explicit tailnet/hostname bind.
268
+ const resolvedActivityHookUrl = activityHookUrl ?? deriveActivityUrl(openRigHost, openRigPort);
269
+ writeActivityEndpointFile(OPENRIG_HOME, { baseUrl: resolvedActivityHookUrl, token: resolvedActivityHookToken });
241
270
  const startupSettings = new ContextPackSettingsStore().resolveConfig();
242
271
  const providerAuthEnv = collectAllowlistedProviderAuthEnv(startupSettings.recoveryProviderAuthEnvAllowlistRaw, process.env);
243
272
  const transcriptStore = new TranscriptStore({
244
273
  enabled: transcriptsEnabled,
245
274
  transcriptsRoot: transcriptsPath,
246
275
  });
276
+ // Shared launch identity/activity env — used by NodeLauncher at launch AND
277
+ // by the seat-handover full-cycle composer when it creates a successor
278
+ // session (OPR.0.4.3.04), so a handed-over successor self-identifies +
279
+ // reports activity exactly like a launched seat.
280
+ const launchSessionEnv = {
281
+ PATH: process.env.PATH,
282
+ OPENRIG_HOME,
283
+ OPENRIG_PORT: openRigPort,
284
+ OPENRIG_HOST: openRigHost,
285
+ OPENRIG_URL: resolvedActivityHookUrl,
286
+ OPENRIG_ACTIVITY_HOOK_TOKEN: resolvedActivityHookToken,
287
+ ...providerAuthEnv,
288
+ };
247
289
  const nodeLauncher = new NodeLauncher({
248
290
  db,
249
291
  rigRepo,
@@ -251,15 +293,7 @@ export async function createDaemon(opts) {
251
293
  eventBus,
252
294
  tmuxAdapter,
253
295
  transcriptStore,
254
- sessionEnv: {
255
- PATH: process.env.PATH,
256
- OPENRIG_HOME,
257
- OPENRIG_PORT: openRigPort,
258
- OPENRIG_HOST: openRigHost,
259
- OPENRIG_URL: activityHookUrl,
260
- OPENRIG_ACTIVITY_HOOK_TOKEN: activityHookToken,
261
- ...providerAuthEnv,
262
- },
296
+ sessionEnv: launchSessionEnv,
263
297
  });
264
298
  const snapshotRepo = new SnapshotRepository(db);
265
299
  const checkpointStore = new CheckpointStore(db);
@@ -622,21 +656,34 @@ export async function createDaemon(opts) {
622
656
  scanner: tmuxScanner, fingerprinter: sessionFingerprinter, enricher: sessionEnricher,
623
657
  discoveryRepo, sessionRegistry, eventBus,
624
658
  });
625
- const resumeMetadataRefresher = new ResumeMetadataRefresher({ sessionRegistry, tmuxAdapter });
659
+ // Context usage store constructed ahead of the refresher + ClaimService so the
660
+ // Claude status-line sidecar reader can be injected into BOTH: FR-3
661
+ // adoption-boundary capture (ClaimService) and FR-4 snapshot null-fill (refresher).
662
+ // Also threaded through WhoamiService + routes below (same single instance).
663
+ const { ContextUsageStore } = await import("./domain/context-usage-store.js");
664
+ const contextUsageStore = new ContextUsageStore(db, { stateDir: OPENRIG_HOME });
665
+ // OPR.0.4.3.20 FR-4 — inject contextUsageStore so refresh() can null-fill a
666
+ // Claude token from the sidecar during periodic/manual snapshot refresh.
667
+ const resumeMetadataRefresher = new ResumeMetadataRefresher({ sessionRegistry, tmuxAdapter, contextUsageStore });
626
668
  const claimService = new ClaimService({
627
669
  db, rigRepo, sessionRegistry, discoveryRepo, eventBus, tmuxAdapter, transcriptStore,
628
670
  claudeContextProvisioner: claudeAdapter,
671
+ // OPR.0.4.3.20 FR-3 — adoption-boundary resume-token capture deps
672
+ // (Claude sidecar reader + Codex thread-id capturer, both reuse).
673
+ contextUsageStore,
674
+ resumeTokenCapturer: resumeMetadataRefresher,
629
675
  });
630
676
  const selfAttachService = new SelfAttachService({
631
677
  db, rigRepo, podRepo, sessionRegistry, eventBus, tmuxAdapter, transcriptStore,
632
678
  claudeContextProvisioner: claudeAdapter,
679
+ // OPR.0.4.3.28 B3 — echo the resolved activity url+token into the self-attach
680
+ // response env so the caller's shell can produce activity signal.
681
+ activityEnv: { url: resolvedActivityHookUrl, token: resolvedActivityHookToken },
633
682
  });
634
683
  const rigLifecycleService = new RigLifecycleService({ db, rigRepo, sessionRegistry, discoveryRepo, eventBus, tmuxAdapter });
635
684
  const rigExpansionService = new RigExpansionService({ db, rigRepo, eventBus, nodeLauncher, podInstantiator, sessionRegistry });
636
685
  const specReviewService = new SpecReviewService();
637
- // Context usage store created before deps so it can be threaded through WhoamiService + routes
638
- const { ContextUsageStore } = await import("./domain/context-usage-store.js");
639
- const contextUsageStore = new ContextUsageStore(db, { stateDir: OPENRIG_HOME });
686
+ // (ContextUsageStore is constructed above, ahead of ClaimService, for FR-3.)
640
687
  const whoamiService = new WhoamiService({ db, rigRepo, sessionRegistry, transcriptStore, contextUsageStore });
641
688
  const nodeCmuxService = new NodeCmuxService(rigRepo, sessionRegistry, cmuxAdapter, tmuxAdapter);
642
689
  const agentActivityStore = new AgentActivityStore({ db, eventBus });
@@ -662,10 +709,12 @@ export async function createDaemon(opts) {
662
709
  eventBus,
663
710
  nodeLauncher,
664
711
  tmuxAdapter,
712
+ sessionEnv: launchSessionEnv,
665
713
  cmuxAdapter,
666
714
  snapshotCapture,
667
715
  snapshotRepo,
668
716
  restoreOrchestrator,
717
+ resumeMetadataRefresher, // OPR.0.4.3.20 FR-4 — manual snapshot refresh-before-serialize
669
718
  rigSpecExporter,
670
719
  rigSpecPreflight,
671
720
  rigInstantiator,
@@ -686,7 +735,10 @@ export async function createDaemon(opts) {
686
735
  // + UI surfaces read the latest observation per seat. NEVER reads
687
736
  // queue/assignment state (non-inference contract; see slice 15 IMPL-PRD §2.3).
688
737
  seatActivityService,
689
- psProjectionService: new PsProjectionService({ db, seatActivity: seatActivityService }),
738
+ seatIdentityReconciler,
739
+ // OPR.0.4.4.21 — agentActivity feeds the rig-rollup attention
740
+ // predicate's needs_input signal (synchronous events lookup only).
741
+ psProjectionService: new PsProjectionService({ db, seatActivity: seatActivityService, agentActivity: agentActivityStore }),
690
742
  upRouter: new UpCommandRouter({
691
743
  fsOps: {
692
744
  exists: (p) => fs.existsSync(p),
@@ -736,7 +788,7 @@ export async function createDaemon(opts) {
736
788
  watchdogJobsRepo: watchdogJobsRepoInstance,
737
789
  watchdogHistoryLog: watchdogHistoryLogInstance,
738
790
  askService: (() => {
739
- const psProjectionService = new PsProjectionService({ db });
791
+ const psProjectionService = new PsProjectionService({ db, agentActivity: agentActivityStore });
740
792
  const execDep = (cmd, args) => new Promise((resolve) => {
741
793
  execFile(cmd, args, { maxBuffer: 10 * 1024 * 1024 }, (err, stdout) => {
742
794
  if (err && typeof err.code === "string" && err.code === "ENOENT") {
@@ -771,7 +823,7 @@ export async function createDaemon(opts) {
771
823
  nodeCmuxService,
772
824
  agentActivityStore,
773
825
  seatAttentionReconciler,
774
- activityHookToken,
826
+ activityHookToken: resolvedActivityHookToken,
775
827
  contextUsageStore,
776
828
  serviceOrchestrator,
777
829
  composeAdapter,
@@ -1115,6 +1167,18 @@ export async function createDaemon(opts) {
1115
1167
  });
1116
1168
  deps.sliceIndexer = sliceIndexer;
1117
1169
  deps.sliceDetailProjector = sliceDetailProjector;
1170
+ // Living Notes Packet 2 (OPR.0.4.4.20): the composed-review gatherer.
1171
+ // Git lineage facts come from OPENRIG_REVIEW_GIT_REPO when set; else
1172
+ // lineage degrades honestly to unknown.
1173
+ const { ReviewGatherer } = await import("./domain/review/gather.js");
1174
+ deps.reviewGatherer = new ReviewGatherer({
1175
+ db,
1176
+ indexer: sliceIndexer,
1177
+ gitRepoPath: process.env["OPENRIG_REVIEW_GIT_REPO"] ?? null,
1178
+ // OPR.0.4.4.22 FR-2: the agent state glyph reads recorded hook
1179
+ // activity (honest-unknown when absent) - synchronous, never polls.
1180
+ activityStore: agentActivityStore,
1181
+ });
1118
1182
  }
1119
1183
  // UI Enhancement Pack v0:
1120
1184
  // - file allowlist (item 3) from OPENRIG_FILES_ALLOWLIST
@@ -1201,7 +1265,14 @@ export async function createDaemon(opts) {
1201
1265
  // Phase C's three built-in policies. workflow-keepalive reads
1202
1266
  // SQLite workflow_instances directly via the new Phase D tables
1203
1267
  // (audit row 18: SQLite-source-only, no markdown read).
1204
- additionalPolicies: [makeWorkflowKeepalivePolicy({ db })],
1268
+ // OPR.0.4.3.16: register idle-gate-qitem — joins pending gate:*
1269
+ // qitems (queue_items) with a FRESH idle runtime signal from the
1270
+ // shared AgentActivityStore (constructed above, before the engine)
1271
+ // into one bounded wake. Wakes/flags only; cooldown via engine throttle.
1272
+ additionalPolicies: [
1273
+ makeWorkflowKeepalivePolicy({ db }),
1274
+ makeIdleGateQitemPolicy({ db, agentActivityStore }),
1275
+ ],
1205
1276
  });
1206
1277
  const watchdogScheduler = new WatchdogScheduler({
1207
1278
  jobsRepo: watchdogJobsRepoInstance,
@@ -1225,11 +1296,28 @@ export async function createDaemon(opts) {
1225
1296
  codex: codexAdapter,
1226
1297
  });
1227
1298
  deps.contextMonitor = contextMonitor;
1299
+ // OPR.0.4.3.14 — expose the SAME enforcer instance to routes for the manual
1300
+ // compaction trigger. Sharing one instance with ContextMonitor is what makes
1301
+ // the manual back-half drain through the auto poll loop (no second path).
1302
+ deps.compactionEnforcer = compactionEnforcer;
1228
1303
  // OPR.0.3.4.9 — periodic snapshot scheduler (crash-insurance floor).
1229
1304
  const { PeriodicSnapshotScheduler } = await import("./domain/periodic-snapshot-scheduler.js");
1230
- const periodicSnapshotScheduler = new PeriodicSnapshotScheduler({ db, snapshotCapture, snapshotRepo });
1305
+ const periodicSnapshotScheduler = new PeriodicSnapshotScheduler({
1306
+ db, snapshotCapture, snapshotRepo,
1307
+ // OPR.0.4.3.20 FR-4 — refresh live tokens before each periodic snapshot serializes.
1308
+ sessionRegistry, resumeMetadataRefresher,
1309
+ });
1231
1310
  deps.periodicSnapshotScheduler = periodicSnapshotScheduler;
1311
+ // OPR.0.4.3.21 — daemon event-loop health instrumentation. Constructed once
1312
+ // per daemon and wired into deps so `/healthz` can surface wedge evidence
1313
+ // (loop lag / last-tick age) and the expensive topology routes are timed.
1314
+ const { EventLoopMonitor } = await import("./domain/event-loop-monitor.js");
1315
+ const { RouteTimingRecorder } = await import("./domain/route-timing-recorder.js");
1316
+ const eventLoopMonitor = new EventLoopMonitor();
1317
+ const routeTimingRecorder = new RouteTimingRecorder();
1318
+ deps.eventLoopMonitor = eventLoopMonitor;
1319
+ deps.routeTimingRecorder = routeTimingRecorder;
1232
1320
  const { app, injectWebSocket } = createAppWithWebSocket(deps);
1233
- return { app, db, deps, contextMonitor, injectWebSocket };
1321
+ return { app, db, deps, contextMonitor, eventLoopMonitor, injectWebSocket };
1234
1322
  }
1235
1323
  //# sourceMappingURL=startup.js.map