@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
@@ -0,0 +1,48 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
4
+ *
5
+ * ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
6
+ * CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
7
+ * (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
8
+ * whose per-node derivations reverse-scan the append-only `events` table with
9
+ * NO supporting index. The only pre-existing index is
10
+ * `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
11
+ * index makes the `type` filter selective. So:
12
+ * - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
13
+ * ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
14
+ * of the WHOLE events log, per node, every 3s (the btreePrevious/pread
15
+ * signature in the sample). This is the primary wedge.
16
+ * - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
17
+ * ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
18
+ * `type` unindexed, walked ALL of the rig's events (incl. high-volume
19
+ * `agent.activity`) in reverse to find the latest restore event.
20
+ * - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
21
+ * `node.held` lookup are the same `node_id`-filtered reverse pattern.
22
+ * The `events` table is append-only with zero prune (survives rig/node
23
+ * deletion for audit), so it grows forever and each scan lengthens until the
24
+ * single-threaded better-sqlite3 loop starves `/healthz`.
25
+ *
26
+ * FIX (additive, index-only — no data change): the covering index that turns
27
+ * the primary wedge's reverse walk into a bounded index seek over only the
28
+ * relevant (node_id, type) partition instead of the whole log.
29
+ * - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
30
+ * `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
31
+ * UNINDEXED → the full-table reverse scan in the CPU sample), plus
32
+ * `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
33
+ * node_id + type reverse pattern).
34
+ * `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
35
+ * already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
36
+ * planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
37
+ * (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
38
+ * so it is rig-bounded (not the full-table wedge) — a second-order cost the
39
+ * per-node N+1 collapse (a single per-rig windowed query) addresses as the
40
+ * separate, gated follow-on. An agent.activity retention/prune is the other
41
+ * gated follow-on. Neither is in this hotfix.
42
+ * CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
43
+ * events table (SQLite builds the index in one pass; no schema/data rewrite).
44
+ *
45
+ * Next free number after 046_seat_identity_verdicts.ts.
46
+ */
47
+ export declare const eventsNodeTypeIndexSchema: Migration;
48
+ //# sourceMappingURL=047_events_node_type_index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"047_events_node_type_index.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAKvC,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * OPR.0.4.3 hotfix — events per-node/per-rig+type indexes (daemon /healthz-wedge cure).
3
+ *
4
+ * ROOT CAUSE (root-caused from a live CPU sample of the wedged daemon, 98-100%
5
+ * CPU): `GET /api/ps` (polled every 3s by the UI) runs a two-level nested map
6
+ * (ps-projection over rigs -> getNodeInventory -> node-inventory over nodes)
7
+ * whose per-node derivations reverse-scan the append-only `events` table with
8
+ * NO supporting index. The only pre-existing index is
9
+ * `idx_events_rig_seq(rig_id, seq)` — nothing leads with `node_id`, and no
10
+ * index makes the `type` filter selective. So:
11
+ * - `deriveOriented` (startup-proof.ts): `WHERE node_id=? AND type IN (...)
12
+ * ORDER BY seq DESC` had NO usable index -> a full backward PK-btree walk
13
+ * of the WHOLE events log, per node, every 3s (the btreePrevious/pread
14
+ * signature in the sample). This is the primary wedge.
15
+ * - `deriveRestoreOutcome` (node-inventory.ts): `WHERE rig_id=? AND type IN
16
+ * ('restore.*') ORDER BY seq DESC` rode `idx_events_rig_seq` but, with
17
+ * `type` unindexed, walked ALL of the rig's events (incl. high-volume
18
+ * `agent.activity`) in reverse to find the latest restore event.
19
+ * - `getLatestForNode` (agent-activity-store.ts) + `deriveHeldReason`'s
20
+ * `node.held` lookup are the same `node_id`-filtered reverse pattern.
21
+ * The `events` table is append-only with zero prune (survives rig/node
22
+ * deletion for audit), so it grows forever and each scan lengthens until the
23
+ * single-threaded better-sqlite3 loop starves `/healthz`.
24
+ *
25
+ * FIX (additive, index-only — no data change): the covering index that turns
26
+ * the primary wedge's reverse walk into a bounded index seek over only the
27
+ * relevant (node_id, type) partition instead of the whole log.
28
+ * - idx_events_node_type_seq (node_id, type, seq) — serves the PRIMARY wedge
29
+ * `deriveOriented` (node_id + type filtered, ORDER BY seq DESC — previously
30
+ * UNINDEXED → the full-table reverse scan in the CPU sample), plus
31
+ * `getLatestForNode` and `deriveHeldReason`'s node.held lookup (same
32
+ * node_id + type reverse pattern).
33
+ * `deriveRestoreOutcome` (rig_id + type filtered) is NOT addressed here: it
34
+ * already rides the existing `idx_events_rig_seq(rig_id, seq)` (the SQLite
35
+ * planner prefers it because it satisfies ORDER BY seq DESC with no sort; a
36
+ * (rig_id, type, seq) index would go UNUSED — verified via EXPLAIN QUERY PLAN),
37
+ * so it is rig-bounded (not the full-table wedge) — a second-order cost the
38
+ * per-node N+1 collapse (a single per-rig windowed query) addresses as the
39
+ * separate, gated follow-on. An agent.activity retention/prune is the other
40
+ * gated follow-on. Neither is in this hotfix.
41
+ * CREATE INDEX IF NOT EXISTS is idempotent + safe to apply to a live/populated
42
+ * events table (SQLite builds the index in one pass; no schema/data rewrite).
43
+ *
44
+ * Next free number after 046_seat_identity_verdicts.ts.
45
+ */
46
+ export const eventsNodeTypeIndexSchema = {
47
+ name: "047_events_node_type_index.sql",
48
+ sql: `
49
+ CREATE INDEX IF NOT EXISTS idx_events_node_type_seq ON events(node_id, type, seq);
50
+ `,
51
+ };
52
+ //# sourceMappingURL=047_events_node_type_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"047_events_node_type_index.js","sourceRoot":"","sources":["../../../src/db/migrations/047_events_node_type_index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAc;IAClD,IAAI,EAAE,gCAAgC;IACtC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Migration } from "../migrate.js";
2
+ /**
3
+ * OPR.0.4.4.19 FR-5 — queue_items.evidence_ref column.
4
+ *
5
+ * Adds `evidence_ref TEXT` (NULLABLE) to queue_items: a pointer to the
6
+ * durable artifact a human judges when the item is human-routed (convention
7
+ * C3), authored via `--evidence-ref` on `rig queue create` / `handoff` and
8
+ * persistable at park time (`rig queue block`, FR-6). Follows the 044
9
+ * summary-column pattern exactly: additive, nullable, defensive
10
+ * detectQueueColumn read so pre-048 fixtures degrade.
11
+ *
12
+ * NULLABLE by contract: required ONLY for human-routed items (the §5
13
+ * predicate, enforced at the domain write path — FR-4/FR-5), so ordinary
14
+ * agent-to-agent rows stay NULL forever (BR-1 zero-friction). Do NOT make
15
+ * this NOT NULL or add a default.
16
+ */
17
+ export declare const queueItemEvidenceRefSchema: Migration;
18
+ //# sourceMappingURL=048_queue_item_evidence_ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"048_queue_item_evidence_ref.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/048_queue_item_evidence_ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAKxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * OPR.0.4.4.19 FR-5 — queue_items.evidence_ref column.
3
+ *
4
+ * Adds `evidence_ref TEXT` (NULLABLE) to queue_items: a pointer to the
5
+ * durable artifact a human judges when the item is human-routed (convention
6
+ * C3), authored via `--evidence-ref` on `rig queue create` / `handoff` and
7
+ * persistable at park time (`rig queue block`, FR-6). Follows the 044
8
+ * summary-column pattern exactly: additive, nullable, defensive
9
+ * detectQueueColumn read so pre-048 fixtures degrade.
10
+ *
11
+ * NULLABLE by contract: required ONLY for human-routed items (the §5
12
+ * predicate, enforced at the domain write path — FR-4/FR-5), so ordinary
13
+ * agent-to-agent rows stay NULL forever (BR-1 zero-friction). Do NOT make
14
+ * this NOT NULL or add a default.
15
+ */
16
+ export const queueItemEvidenceRefSchema = {
17
+ name: "048_queue_item_evidence_ref.sql",
18
+ sql: `
19
+ ALTER TABLE queue_items ADD COLUMN evidence_ref TEXT;
20
+ `,
21
+ };
22
+ //# sourceMappingURL=048_queue_item_evidence_ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"048_queue_item_evidence_ref.js","sourceRoot":"","sources":["../../../src/db/migrations/048_queue_item_evidence_ref.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAc;IACnD,IAAI,EAAE,iCAAiC;IACvC,GAAG,EAAE;;GAEJ;CACF,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
2
+ * from its OWN bound host+port, so the seat's relay posts to an address the
3
+ * daemon is actually listening on. When OPENRIG_HOST is an explicit host
4
+ * (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
5
+ * host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
6
+ * Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
7
+ * daemon also binds loopback there, so they map to 127.0.0.1. An absent host
8
+ * (the default loopback+tailscale multi-bind) also uses loopback. */
9
+ export declare function deriveActivityUrl(host: string | undefined, port: string | undefined): string;
10
+ /** Read the durable activity-hook token from state, or generate + persist one.
11
+ * Stable across restarts (so frozen-env seats keep authenticating). */
12
+ export declare function ensureActivityHookToken(stateDir: string): string;
13
+ /** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
14
+ * for the relay file-discovery fallback (B3). Best-effort. */
15
+ export declare function writeActivityEndpointFile(stateDir: string, endpoint: {
16
+ baseUrl: string;
17
+ token: string;
18
+ }): void;
19
+ /** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
20
+ * (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
21
+ export declare function readActivityEndpointFile(stateDir: string): {
22
+ baseUrl: string;
23
+ token: string;
24
+ } | null;
25
+ //# sourceMappingURL=activity-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-endpoint.d.ts","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"AA0BA;;;;;;;sEAOsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK5F;AAED;wEACwE;AACxE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkBhE;AAED;+DAC+D;AAC/D,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS9G;AAED;qFACqF;AACrF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYpG"}
@@ -0,0 +1,91 @@
1
+ // OPR.0.4.3.28 B2/B3 — self-provisioned activity-hook endpoint (url + token).
2
+ //
3
+ // The daemon generates a per-install activity-hook token and derives its own
4
+ // ingest URL so launched seats can reach /api/activity/hooks WITHOUT the
5
+ // operator seeding OPENRIG_URL / OPENRIG_ACTIVITY_HOOK_TOKEN into their shell
6
+ // (the confirmed live break — see the slice-28 IMPL-SPEC §1.1).
7
+ //
8
+ // The token is a LOCALHOST internal-auth HANDLE, not a founder-secret: kept out
9
+ // of logs/prints and stored mode-0600, but no redaction machinery is built
10
+ // around it (orch-advisor ruling 2026-07-02).
11
+ //
12
+ // - activity-hook-token : durable token, STABLE across daemon restarts so
13
+ // already-launched seats (whose env froze the token at launch) still
14
+ // authenticate after a restart.
15
+ // - activity-endpoint.json : {baseUrl, token} snapshot, re-written each boot,
16
+ // read by the relay's file-discovery fallback for reconcile/restored seats
17
+ // whose frozen process env carries no OpenRig activity vars (B3).
18
+ import fs from "node:fs";
19
+ import nodePath from "node:path";
20
+ import { randomBytes } from "node:crypto";
21
+ const TOKEN_FILE = "activity-hook-token";
22
+ const ENDPOINT_FILE = "activity-endpoint.json";
23
+ const DEFAULT_DAEMON_PORT = "7433";
24
+ /** OPR.0.4.3.28 B2 — derive the activity ingest URL the daemon injects into seats
25
+ * from its OWN bound host+port, so the seat's relay posts to an address the
26
+ * daemon is actually listening on. When OPENRIG_HOST is an explicit host
27
+ * (loopback, localhost, a tailnet IP, a hostname) the daemon binds ONLY that
28
+ * host, so the URL MUST use it — a hardcoded 127.0.0.1 would be unreachable.
29
+ * Wildcard/bind-all hosts (0.0.0.0 / ::) are not connectable addresses and the
30
+ * daemon also binds loopback there, so they map to 127.0.0.1. An absent host
31
+ * (the default loopback+tailscale multi-bind) also uses loopback. */
32
+ export function deriveActivityUrl(host, port) {
33
+ const p = port && port.trim().length > 0 ? port.trim() : DEFAULT_DAEMON_PORT;
34
+ const h = host?.trim();
35
+ const wildcard = !h || h === "0.0.0.0" || h === "::" || h === "[::]" || h === "*";
36
+ return `http://${wildcard ? "127.0.0.1" : h}:${p}`;
37
+ }
38
+ /** Read the durable activity-hook token from state, or generate + persist one.
39
+ * Stable across restarts (so frozen-env seats keep authenticating). */
40
+ export function ensureActivityHookToken(stateDir) {
41
+ const tokenPath = nodePath.join(stateDir, TOKEN_FILE);
42
+ try {
43
+ const existing = fs.readFileSync(tokenPath, "utf-8").trim();
44
+ if (existing.length > 0)
45
+ return existing;
46
+ }
47
+ catch {
48
+ // not present yet — generate below
49
+ }
50
+ const token = randomBytes(32).toString("hex");
51
+ try {
52
+ fs.mkdirSync(stateDir, { recursive: true });
53
+ fs.writeFileSync(tokenPath, token, { mode: 0o600 });
54
+ fs.chmodSync(tokenPath, 0o600); // enforce mode even if the file pre-existed
55
+ }
56
+ catch {
57
+ // best-effort persist — an in-memory token still works for this daemon run,
58
+ // it just won't survive a restart (falls back to regenerate).
59
+ }
60
+ return token;
61
+ }
62
+ /** Snapshot the current {baseUrl, token} to activity-endpoint.json (mode 0600)
63
+ * for the relay file-discovery fallback (B3). Best-effort. */
64
+ export function writeActivityEndpointFile(stateDir, endpoint) {
65
+ const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
66
+ try {
67
+ fs.mkdirSync(stateDir, { recursive: true });
68
+ fs.writeFileSync(endpointPath, JSON.stringify({ baseUrl: endpoint.baseUrl, token: endpoint.token }), { mode: 0o600 });
69
+ fs.chmodSync(endpointPath, 0o600);
70
+ }
71
+ catch {
72
+ // best-effort — reconcile/restored seats simply won't get file-discovery.
73
+ }
74
+ }
75
+ /** Read {baseUrl, token} from activity-endpoint.json, or null if absent/invalid.
76
+ * (The relay .cjs reads the file directly; this is for daemon-side use + tests.) */
77
+ export function readActivityEndpointFile(stateDir) {
78
+ const endpointPath = nodePath.join(stateDir, ENDPOINT_FILE);
79
+ try {
80
+ const parsed = JSON.parse(fs.readFileSync(endpointPath, "utf-8"));
81
+ if (typeof parsed.baseUrl === "string" && parsed.baseUrl.length > 0
82
+ && typeof parsed.token === "string" && parsed.token.length > 0) {
83
+ return { baseUrl: parsed.baseUrl, token: parsed.token };
84
+ }
85
+ }
86
+ catch {
87
+ // absent or malformed
88
+ }
89
+ return null;
90
+ }
91
+ //# sourceMappingURL=activity-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-endpoint.js","sourceRoot":"","sources":["../../src/domain/activity-endpoint.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,20 @@ interface ClaimServiceDeps {
79
79
  tmuxSession?: string | null;
80
80
  }): void;
81
81
  };
82
+ contextUsageStore?: {
83
+ readSidecar(sessionName: string): {
84
+ ok: true;
85
+ data: {
86
+ session_id?: string;
87
+ };
88
+ } | {
89
+ ok: false;
90
+ reason: string;
91
+ };
92
+ };
93
+ resumeTokenCapturer?: {
94
+ captureCodexThreadId(sessionName: string): Promise<string | undefined>;
95
+ };
82
96
  }
83
97
  interface BindOptions {
84
98
  discoveredId: string;
@@ -106,12 +120,34 @@ export declare class ClaimService {
106
120
  private tmuxAdapter;
107
121
  private transcriptStore;
108
122
  private claudeContextProvisioner;
123
+ private contextUsageStore;
124
+ private resumeTokenCapturer;
109
125
  constructor(deps: ClaimServiceDeps);
110
126
  /** Best-effort: set OpenRig-owned tmux metadata on an adopted session. */
111
127
  private setRiggedMetadata;
112
128
  /** Best-effort: send a short identity hint into the adopted session after claim. */
113
129
  private deliverClaimHint;
114
130
  private maybeProvisionContextCollector;
131
+ /**
132
+ * OPR.0.4.3.20 FR-3 — best-effort capture of a seat's resume token at the
133
+ * adoption boundary (reconcile / adopt / bind). Called post-tx, pre-return
134
+ * from all three ClaimService adoption paths, precisely where an operator has
135
+ * just re-established a live session they expect to survive the next crash.
136
+ *
137
+ * Derivation is REUSE-ONLY and PURE READ — no pane writes, no launch — so it
138
+ * is consistent with reconcile's no-launch/no-input safety contract:
139
+ * claude-code → the status-line sidecar's session_id (a file read)
140
+ * codex → the thread id derived from live pid-keyed logs
141
+ * Persist via updateResumeToken with provenance "adoption"; the rank guard
142
+ * governs clobber (operator/hook are never downgraded; the validity guard
143
+ * blocks an empty write). Honest failure = persist nothing (null token = the
144
+ * honest missing/unverified state) + a redacted skip event with a stated
145
+ * reason. Terminal/unknown runtime is exempt (no capture, no event, not a
146
+ * failure). ANY throw is swallowed — capture NEVER fails or blocks the
147
+ * adoption (PRD Rule 7).
148
+ */
149
+ private captureResumeTokenOnAdoption;
150
+ private emitCaptureSkip;
115
151
  bind(opts: BindOptions): Promise<ClaimResult>;
116
152
  /**
117
153
  * OPR.0.3.4.3 — no-launch reconcile: adopt a LIVE, hand-resumed canonical
@@ -1 +1 @@
1
- {"version":3,"file":"claim-service.d.ts","sourceRoot":"","sources":["../../src/domain/claim-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-service.d.ts","sourceRoot":"","sources":["../../src/domain/claim-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { startTmuxTranscriptCapture } from "./transcript-capture.js";
2
+ import { deriveResumeToken } from "./resume-token-capture.js";
2
3
  /**
3
4
  * Adopts a discovered session into a managed rig.
4
5
  * Creates node + binding + session record atomically.
@@ -13,6 +14,8 @@ export class ClaimService {
13
14
  tmuxAdapter;
14
15
  transcriptStore;
15
16
  claudeContextProvisioner;
17
+ contextUsageStore;
18
+ resumeTokenCapturer;
16
19
  constructor(deps) {
17
20
  if (deps.db !== deps.rigRepo.db)
18
21
  throw new Error("ClaimService: rigRepo must share the same db handle");
@@ -30,6 +33,8 @@ export class ClaimService {
30
33
  this.tmuxAdapter = deps.tmuxAdapter ?? null;
31
34
  this.transcriptStore = deps.transcriptStore ?? null;
32
35
  this.claudeContextProvisioner = deps.claudeContextProvisioner ?? null;
36
+ this.contextUsageStore = deps.contextUsageStore ?? null;
37
+ this.resumeTokenCapturer = deps.resumeTokenCapturer ?? null;
33
38
  }
34
39
  /** Best-effort: set OpenRig-owned tmux metadata on an adopted session. */
35
40
  async setRiggedMetadata(tmuxSession, meta) {
@@ -65,6 +70,73 @@ export class ClaimService {
65
70
  }
66
71
  catch { /* best-effort */ }
67
72
  }
73
+ /**
74
+ * OPR.0.4.3.20 FR-3 — best-effort capture of a seat's resume token at the
75
+ * adoption boundary (reconcile / adopt / bind). Called post-tx, pre-return
76
+ * from all three ClaimService adoption paths, precisely where an operator has
77
+ * just re-established a live session they expect to survive the next crash.
78
+ *
79
+ * Derivation is REUSE-ONLY and PURE READ — no pane writes, no launch — so it
80
+ * is consistent with reconcile's no-launch/no-input safety contract:
81
+ * claude-code → the status-line sidecar's session_id (a file read)
82
+ * codex → the thread id derived from live pid-keyed logs
83
+ * Persist via updateResumeToken with provenance "adoption"; the rank guard
84
+ * governs clobber (operator/hook are never downgraded; the validity guard
85
+ * blocks an empty write). Honest failure = persist nothing (null token = the
86
+ * honest missing/unverified state) + a redacted skip event with a stated
87
+ * reason. Terminal/unknown runtime is exempt (no capture, no event, not a
88
+ * failure). ANY throw is swallowed — capture NEVER fails or blocks the
89
+ * adoption (PRD Rule 7).
90
+ */
91
+ async captureResumeTokenOnAdoption(input) {
92
+ try {
93
+ // Derivation is the shared PURE helper (OPR.0.4.3.04 B2 — reused by the
94
+ // seat-handover discovered-mode capture); persistence + events stay here so
95
+ // FR-3's adoption provenance/audit semantics are unchanged.
96
+ const derived = await deriveResumeToken({ runtime: input.runtime, sessionName: input.sessionName }, { contextUsageStore: this.contextUsageStore, resumeTokenCapturer: this.resumeTokenCapturer });
97
+ if (derived.outcome === "exempt" || derived.outcome === "noop")
98
+ return;
99
+ const runtime = input.runtime; // non-null past exempt
100
+ if (derived.outcome === "skipped") {
101
+ this.emitCaptureSkip(input, runtime, derived.reason);
102
+ return;
103
+ }
104
+ const validation = { resumeType: derived.resumeType, token: derived.token };
105
+ // Emit "captured" ONLY when the write actually happened. If the provenance
106
+ // guard refused it (a higher-rank hook/operator token already present —
107
+ // e.g. a hook fired during the async probe window), the ledger is
108
+ // correctly preserved and the event must say so, not falsely claim a
109
+ // captured adoption write at the exact boundary FR-3 makes authoritative.
110
+ const wrote = this.sessionRegistry.updateResumeToken(input.sessionId, validation.resumeType, validation.token, "adoption");
111
+ try {
112
+ this.eventBus.emit(wrote
113
+ ? {
114
+ type: "session.resume_token_captured",
115
+ rigId: input.rigId, nodeId: input.nodeId, sessionName: input.sessionName, sessionId: input.sessionId,
116
+ runtime, outcome: "captured", resumeType: validation.resumeType, provenance: "adoption", redacted: true,
117
+ }
118
+ : {
119
+ type: "session.resume_token_captured",
120
+ rigId: input.rigId, nodeId: input.nodeId, sessionName: input.sessionName, sessionId: input.sessionId,
121
+ runtime, outcome: "preserved", resumeType: validation.resumeType, reason: "higher_rank_present", redacted: true,
122
+ });
123
+ }
124
+ catch { /* best-effort */ }
125
+ }
126
+ catch {
127
+ // best-effort — capture never fails or blocks the adoption (PRD Rule 7)
128
+ }
129
+ }
130
+ emitCaptureSkip(input, runtime, reason) {
131
+ try {
132
+ this.eventBus.emit({
133
+ type: "session.resume_token_captured",
134
+ rigId: input.rigId, nodeId: input.nodeId, sessionName: input.sessionName, sessionId: input.sessionId,
135
+ runtime, outcome: "skipped", reason, redacted: true,
136
+ });
137
+ }
138
+ catch { /* best-effort */ }
139
+ }
68
140
  async bind(opts) {
69
141
  const discovered = this.discoveryRepo.getDiscoveredSession(opts.discoveredId);
70
142
  if (!discovered) {
@@ -144,6 +216,11 @@ export class ClaimService {
144
216
  await this.deliverClaimHint(discovered.tmuxSession, { rigName: rig.rig.name, logicalId: opts.logicalId });
145
217
  }
146
218
  catch { /* best-effort */ }
219
+ // OPR.0.4.3.20 FR-3 — capture the resume token at the adoption boundary.
220
+ await this.captureResumeTokenOnAdoption({
221
+ rigId: opts.rigId, nodeId, sessionId, sessionName: discovered.tmuxSession,
222
+ runtime: node.runtime ?? discoveredRuntime ?? null,
223
+ });
147
224
  return { ok: true, nodeId, sessionId };
148
225
  }
149
226
  catch (err) {
@@ -319,6 +396,14 @@ export class ClaimService {
319
396
  await startTmuxTranscriptCapture(this.tmuxAdapter, this.transcriptStore, rig.rig.name, sessionName);
320
397
  }
321
398
  catch { /* best-effort */ }
399
+ // OPR.0.4.3.20 FR-3 — capture the resume token at the adoption boundary.
400
+ // Pure reads only (sidecar file / pid-keyed log) — consistent with the
401
+ // no-launch/no-input contract above; does NOT touch `continuity`
402
+ // (FR-3 captures a token, it does not assert conversation continuity).
403
+ await this.captureResumeTokenOnAdoption({
404
+ rigId: nodeRow.rig_id, nodeId: nodeRow.id, sessionId, sessionName,
405
+ runtime: nodeRow.runtime,
406
+ });
322
407
  return {
323
408
  ok: true,
324
409
  result: {
@@ -454,6 +539,11 @@ export class ClaimService {
454
539
  await this.deliverClaimHint(discovered.tmuxSession, { rigName: rig.rig.name, logicalId });
455
540
  }
456
541
  catch { /* best-effort */ }
542
+ // OPR.0.4.3.20 FR-3 — capture the resume token at the adoption boundary.
543
+ await this.captureResumeTokenOnAdoption({
544
+ rigId: opts.rigId, nodeId, sessionId, sessionName: discovered.tmuxSession,
545
+ runtime: discoveredRuntime ?? null,
546
+ });
457
547
  return { ok: true, nodeId, sessionId };
458
548
  }
459
549
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"claim-service.js","sourceRoot":"","sources":["../../src/domain/claim-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-service.js","sourceRoot":"","sources":["../../src/domain/claim-service.ts"],"names":[],"mappings":"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"}