@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
@@ -18,7 +18,26 @@
18
18
  import { Hono } from "hono";
19
19
  import { rmSync } from "node:fs";
20
20
  import { evaluateProtection } from "../domain/agent-images/evidence-guard.js";
21
+ import { discoverResumeToken } from "../domain/agent-images/resume-token-discovery.js";
22
+ import { convergeOp } from "../domain/topology-converge.js";
21
23
  import { AgentImageError } from "../domain/agent-images/agent-image-types.js";
24
+ function resolveForkSourceNode(db, sourceSession) {
25
+ // SELECT n.* so an older DB missing codex_config_profile simply yields
26
+ // undefined for that key rather than throwing.
27
+ const row = db
28
+ .prepare(`SELECT n.* FROM sessions s JOIN nodes n ON n.id = s.node_id
29
+ WHERE s.session_name = ? ORDER BY s.id DESC LIMIT 1`)
30
+ .get(sourceSession);
31
+ if (!row)
32
+ return null;
33
+ return {
34
+ runtime: row["runtime"] ?? null,
35
+ agentRef: row["agent_ref"] ?? null,
36
+ profile: row["profile"] ?? null,
37
+ cwd: row["cwd"] ?? null,
38
+ codexConfigProfile: row["codex_config_profile"] ?? null,
39
+ };
40
+ }
22
41
  function redactResumeToken(entry) {
23
42
  return { ...entry, sourceResumeToken: "(redacted)" };
24
43
  }
@@ -76,6 +95,126 @@ export function agentImagesRoutes(deps) {
76
95
  return c.json({ error: "snapshot_failed", message: err.message }, 500);
77
96
  }
78
97
  });
98
+ // OPR.0.4.3.05 seat-forking closeout — the narrow daemon fork composer.
99
+ //
100
+ // `rig fork <source-session>` posts here. This is the ONLY net-new surface
101
+ // in the slice: it composes the ALREADY-SHIPPED primitives (resume-token
102
+ // discovery + add_member converge, or snapshot + pin + add_member) into one
103
+ // operator verb. It exists server-side because the native resume id is
104
+ // redacted at every wire boundary by design — the default one-shot fork MUST
105
+ // resolve the token in-process so the id NEVER leaves the daemon.
106
+ //
107
+ // default → discoverResumeToken → add_member(mode: fork,
108
+ // native_id) → launch. NO image. Native id stays
109
+ // daemon-local (never serialized into the response).
110
+ // { keepImage: true } → snapshot capture → PIN (evidence-guard protection)
111
+ // → add_member(mode: agent_image) → launch.
112
+ router.post("/fork", async (c) => {
113
+ const db = c.get("db");
114
+ const podInstantiator = c.get("podInstantiator");
115
+ if (!db || !podInstantiator)
116
+ return c.json({ error: "fork_composer_unavailable" }, 503);
117
+ const body = (await c.req.json().catch(() => ({})));
118
+ const sourceSession = body.sourceSession;
119
+ const rigId = body.rigId;
120
+ const pod = body.pod;
121
+ const member = body.member;
122
+ if (!sourceSession || !rigId || !pod || !member) {
123
+ return c.json({
124
+ error: "missing_required_fields",
125
+ hint: "POST body must include { sourceSession, rigId, pod, member }",
126
+ }, 400);
127
+ }
128
+ const rigRoot = typeof body.rigRoot === "string" ? body.rigRoot : ".";
129
+ // Resolve the source seat's launch shape so the successor mirrors it
130
+ // (agent_ref / profile / cwd / codex profile). The native resume id is
131
+ // NOT read here — it is resolved separately below and kept daemon-local.
132
+ const source = resolveForkSourceNode(db, sourceSession);
133
+ if (!source) {
134
+ return c.json({
135
+ error: "session_not_found",
136
+ message: `Source session '${sourceSession}' not found. Run 'rig ps --nodes' to see what's running.`,
137
+ }, 404);
138
+ }
139
+ let sessionSource;
140
+ let keptImage;
141
+ if (body.keepImage) {
142
+ // --keep-image: durable image → PIN-ON-KEEP (the evidence guard protects
143
+ // pinned images from prune/delete) → agent_image launch. Native id is
144
+ // captured into the manifest (redacted at every route boundary) and is
145
+ // consumed only in-process by the instantiator — it never leaves here.
146
+ const capturer = c.get("snapshotCapturer");
147
+ const lib = c.get("agentImageLibrary");
148
+ if (!capturer || !lib)
149
+ return c.json({ error: "snapshot_capturer_unavailable" }, 503);
150
+ const imageName = (body.imageName && body.imageName.trim()) || `fork-${member}`;
151
+ const version = (body.imageVersion && body.imageVersion.trim()) || "1";
152
+ try {
153
+ const cap = capturer.capture({ sourceSession, name: imageName, version });
154
+ // PIN-ON-KEEP: protection is the evidence guard's PINNED reason, an
155
+ // explicit + shipped mechanism that survives prune/delete.
156
+ lib.pin(cap.imageId);
157
+ keptImage = { id: cap.imageId, name: imageName, version, pinned: true };
158
+ }
159
+ catch (err) {
160
+ if (err instanceof AgentImageError) {
161
+ const status = err.code === "image_not_found" ? 404
162
+ : err.code === "runtime_mismatch" ? 400
163
+ : err.code === "image_referenced" ? 409
164
+ : 500;
165
+ return c.json({ error: err.code, message: err.message, details: err.details ?? null }, status);
166
+ }
167
+ return c.json({ error: "fork_snapshot_failed", message: err.message }, 500);
168
+ }
169
+ sessionSource = { mode: "agent_image", ref: { kind: "image_name", value: imageName, version } };
170
+ }
171
+ else {
172
+ // Default one-shot: resolve the native resume id server-side. Honest
173
+ // rejection on terminal / no-token — NEVER fabricate (resume-honesty).
174
+ const discovery = discoverResumeToken(db, sourceSession);
175
+ if (!discovery.ok) {
176
+ const status = discovery.failure.code === "session_not_found" ? 404 : 400;
177
+ return c.json({ error: discovery.failure.code, message: discovery.failure.message }, status);
178
+ }
179
+ const nativeId = discovery.result.nativeId;
180
+ if (!nativeId) {
181
+ return c.json({
182
+ error: "resume_token_unavailable",
183
+ message: `Could not discover a resume token for ${discovery.result.runtime} source session '${sourceSession}'. The seat may not have a native conversation id yet — try again after it has produced output. No token was fabricated and no fresh seat was cold-started.`,
184
+ }, 409);
185
+ }
186
+ // The native id is used ONLY to build the in-process member fragment
187
+ // below. It is deliberately NOT echoed in the response (kept daemon-local,
188
+ // consistent with the route redaction boundary).
189
+ sessionSource = { mode: "fork", ref: { kind: "native_id", value: nativeId } };
190
+ }
191
+ const memberFragment = {
192
+ id: member,
193
+ runtime: source.runtime,
194
+ ...(source.agentRef ? { agent_ref: source.agentRef } : {}),
195
+ ...(source.profile ? { profile: source.profile } : {}),
196
+ ...(source.cwd ? { cwd: source.cwd } : {}),
197
+ ...(source.codexConfigProfile ? { codex_config_profile: source.codexConfigProfile } : {}),
198
+ session_source: sessionSource,
199
+ };
200
+ const converged = await convergeOp({ instantiator: podInstantiator }, rigId, { kind: "add_member", pod, member: memberFragment, edges: body.edges }, rigRoot);
201
+ if (converged.kind !== "add_member" || !converged.supported) {
202
+ return c.json({ error: "fork_failed", message: "Unexpected converge result for fork add_member" }, 500);
203
+ }
204
+ const outcome = converged.outcome;
205
+ // The outcome never carries the native id (add_member persists no
206
+ // session_source; RigRepository.addNode stores no agent-image reference).
207
+ if (!outcome.ok) {
208
+ const status = outcome.code === "rig_not_found" || outcome.code === "pod_not_found" ? 404
209
+ : outcome.code === "member_conflict" ? 409
210
+ : outcome.code === "edge_unresolved" || outcome.code === "validation_failed" || outcome.code === "preflight_failed" ? 400
211
+ : 500;
212
+ // A kept image is already pinned/protected even if launch failed — report
213
+ // it honestly so the operator knows it was retained.
214
+ return c.json({ ...outcome, ...(keptImage ? { image: keptImage } : {}) }, status);
215
+ }
216
+ return c.json({ ...outcome, ...(keptImage ? { image: keptImage } : {}) }, 201);
217
+ });
79
218
  router.post("/prune", async (c) => {
80
219
  const lib = c.get("agentImageLibrary");
81
220
  if (!lib)
@@ -1 +1 @@
1
- {"version":3,"file":"agent-images.js","sourceRoot":"","sources":["../../src/routes/agent-images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-images.js","sourceRoot":"","sources":["../../src/routes/agent-images.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Hono } from "hono";
2
+ /**
3
+ * OPR.0.4.3.14 — manual configurable compaction trigger route.
4
+ *
5
+ * POST /api/compaction/trigger { session } drives the SAME guided compaction
6
+ * lifecycle the auto-policy runs, on demand, for one Claude seat. Mirrors the
7
+ * /api/transport/send auth + resolveSessions ambiguity/404/409 pattern.
8
+ *
9
+ * The route resolves the target to a node + runtime and reads the EXISTING
10
+ * context-usage projection BEFORE triggering — it never invents usage values.
11
+ * The enforcer owns the reject reasons (non-Claude / no-usage) so there is one
12
+ * source of truth for the guided-sequence contract.
13
+ */
14
+ export declare function compactionRoutes(opts?: {
15
+ bearerToken?: string | null;
16
+ }): Hono;
17
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/routes/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAqG7E"}
@@ -0,0 +1,125 @@
1
+ import { Hono } from "hono";
2
+ import { authBearerTokenMiddleware } from "../middleware/auth-bearer-token.js";
3
+ /**
4
+ * OPR.0.4.3.14 — manual configurable compaction trigger route.
5
+ *
6
+ * POST /api/compaction/trigger { session } drives the SAME guided compaction
7
+ * lifecycle the auto-policy runs, on demand, for one Claude seat. Mirrors the
8
+ * /api/transport/send auth + resolveSessions ambiguity/404/409 pattern.
9
+ *
10
+ * The route resolves the target to a node + runtime and reads the EXISTING
11
+ * context-usage projection BEFORE triggering — it never invents usage values.
12
+ * The enforcer owns the reject reasons (non-Claude / no-usage) so there is one
13
+ * source of truth for the guided-sequence contract.
14
+ */
15
+ export function compactionRoutes(opts) {
16
+ const router = new Hono();
17
+ router.use("*", authBearerTokenMiddleware({ expectedToken: opts?.bearerToken ?? null }));
18
+ router.post("/trigger", async (c) => {
19
+ const enforcer = c.get("compactionEnforcer");
20
+ const transport = c.get("sessionTransport");
21
+ const usageStore = c.get("contextUsageStore");
22
+ const db = c.get("db");
23
+ if (!enforcer || !transport || !usageStore || !db) {
24
+ return c.json({
25
+ ok: false,
26
+ reason: "compaction_unavailable",
27
+ error: "Manual compaction is not available on this daemon (enforcer/transport/context-usage not wired).",
28
+ }, 503);
29
+ }
30
+ const body = await c.req.json().catch(() => ({}));
31
+ if (!body.session) {
32
+ return c.json({ ok: false, error: "Missing required field: session" }, 400);
33
+ }
34
+ const sessionName = body.session;
35
+ // Ambiguity / existence check — mirror /send (409 ambiguous, 404 not found).
36
+ const resolved = await transport.resolveSessions({ session: sessionName });
37
+ if (!resolved.ok) {
38
+ const status = resolved.code === "ambiguous" ? 409 : 404;
39
+ return c.json({ ok: false, error: resolved.error }, status);
40
+ }
41
+ // Resolve the DB node id + runtime for the latest session row.
42
+ const row = db.prepare(`
43
+ SELECT n.id AS node_id, n.runtime AS runtime
44
+ FROM sessions s
45
+ JOIN nodes n ON s.node_id = n.id
46
+ WHERE s.session_name = ?
47
+ ORDER BY s.id DESC
48
+ LIMIT 1
49
+ `).get(sessionName);
50
+ if (!row) {
51
+ return c.json({
52
+ ok: false,
53
+ reason: "session_missing",
54
+ error: `Session '${sessionName}' not found. Check session names with: rig ps --nodes`,
55
+ }, 404);
56
+ }
57
+ // Read the KNOWN context-usage projection BEFORE triggering. When usage is
58
+ // absent / stale / unknown we pass null (never invent a value); the enforcer
59
+ // returns an honest `no_usage_data` reason for a Claude seat.
60
+ const usage = usageStore.getForNode(row.node_id, sessionName);
61
+ const outcome = await enforcer.triggerManualCompact({
62
+ sessionName,
63
+ runtime: row.runtime,
64
+ usedPercentage: usage.availability === "known" ? usage.usedPercentage : null,
65
+ transcriptPath: usage.transcriptPath,
66
+ sessionId: usage.sessionId,
67
+ });
68
+ if (outcome.triggered) {
69
+ return c.json({ ok: true, session: sessionName, stage: outcome.stage });
70
+ }
71
+ const statusMap = {
72
+ runtime_filter: 422,
73
+ no_usage_data: 409,
74
+ mid_work: 409,
75
+ target_needs_input: 409,
76
+ target_activity_unknown: 409,
77
+ wait_for_idle_timeout: 409,
78
+ transport_unavailable: 409,
79
+ invalid_wait_for_idle: 400,
80
+ session_missing: 404,
81
+ tmux_unavailable: 503,
82
+ send_failed: 502,
83
+ submit_failed: 502,
84
+ };
85
+ const status = (statusMap[outcome.reason] ?? 409);
86
+ return c.json({
87
+ ok: false,
88
+ session: sessionName,
89
+ stage: outcome.stage,
90
+ reason: outcome.reason,
91
+ error: manualReasonMessage(sessionName, outcome.reason),
92
+ }, status);
93
+ });
94
+ router.get("/state", (c) => {
95
+ const enforcer = c.get("compactionEnforcer");
96
+ if (!enforcer) {
97
+ return c.json({ ok: false, reason: "compaction_unavailable" }, 503);
98
+ }
99
+ const session = c.req.query("session");
100
+ if (!session) {
101
+ return c.json({ ok: false, error: "Missing required query param: session" }, 400);
102
+ }
103
+ return c.json({ ok: true, session, state: enforcer.getManualCompactionState(session) });
104
+ });
105
+ return router;
106
+ }
107
+ function manualReasonMessage(sessionName, reason) {
108
+ switch (reason) {
109
+ case "runtime_filter":
110
+ return `Refused: '${sessionName}' is not a Claude (claude-code) seat. Manual compaction runs the Claude guided lifecycle only.`;
111
+ case "no_usage_data":
112
+ return `Refused: no known context-usage sample for '${sessionName}' yet; not triggering blind. Retry once telemetry is fresh.`;
113
+ case "mid_work":
114
+ return `Refused: '${sessionName}' appears mid-task; the pre-compact prep could not be sent. Wait for it to settle and retry.`;
115
+ case "target_needs_input":
116
+ return `Refused: '${sessionName}' is at an interactive prompt; the pre-compact prep could not be sent safely.`;
117
+ case "target_activity_unknown":
118
+ return `Refused: '${sessionName}' activity could not be determined; failing closed so /compact cannot land on a prompt.`;
119
+ case "wait_for_idle_timeout":
120
+ return `Prep was sent to '${sessionName}' but it did not go idle in time, so /compact was NOT sent. Retry once the prep turn completes.`;
121
+ default:
122
+ return `Manual compaction for '${sessionName}' did not complete (${reason}).`;
123
+ }
124
+ }
125
+ //# sourceMappingURL=compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/routes/compaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAmB5B,wBAAgB,YAAY,IAAI,IAAI,CA0GnC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAoB5B,wBAAgB,YAAY,IAAI,IAAI,CAkHnC"}
@@ -14,7 +14,7 @@
14
14
  import { Hono } from "hono";
15
15
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
16
16
  import { join } from "node:path";
17
- import { SETTINGS_VALID_KEYS, isSettingsValidKey, } from "../domain/user-settings/settings-store.js";
17
+ import { SETTINGS_VALID_KEYS, isSettingsValidKey, parseFeedHostSubscriptionKey, } from "../domain/user-settings/settings-store.js";
18
18
  import { workspaceScaffoldDirs, workspaceScaffoldFiles, } from "../domain/workspace/default-workspace-scaffold.js";
19
19
  export function configRoutes() {
20
20
  const router = new Hono();
@@ -22,7 +22,9 @@ export function configRoutes() {
22
22
  const store = c.get("settingsStore");
23
23
  if (!store)
24
24
  return c.json({ error: "settings_unavailable" }, 503);
25
- return c.json({ settings: store.resolveAllWithSource() });
25
+ // OPR.0.4.4.15: dynamic-class enumeration rides ADDITIVELY beside the
26
+ // static settings map (existing consumers of `settings` unaffected).
27
+ return c.json({ settings: store.resolveAllWithSource(), feedHostSubscriptions: store.listFeedHostSubscriptions() });
26
28
  });
27
29
  router.post("/init-workspace", async (c) => {
28
30
  const store = c.get("settingsStore");
@@ -80,6 +82,11 @@ export function configRoutes() {
80
82
  if (!store)
81
83
  return c.json({ error: "settings_unavailable" }, 503);
82
84
  const key = c.req.param("key");
85
+ // OPR.0.4.4.15: the ONE registered dynamic class resolves here; every
86
+ // other unknown key keeps the 400 below byte-for-byte.
87
+ const dynamic = store.resolveFeedHostSubscription(key);
88
+ if (dynamic)
89
+ return c.json(dynamic);
83
90
  if (!isSettingsValidKey(key)) {
84
91
  return c.json({ error: `Unknown config key '${key}'`, validKeys: SETTINGS_VALID_KEYS }, 400);
85
92
  }
@@ -90,7 +97,8 @@ export function configRoutes() {
90
97
  if (!store)
91
98
  return c.json({ error: "settings_unavailable" }, 503);
92
99
  const key = c.req.param("key");
93
- if (!isSettingsValidKey(key)) {
100
+ const isDynamic = parseFeedHostSubscriptionKey(key) !== null;
101
+ if (!isDynamic && !isSettingsValidKey(key)) {
94
102
  return c.json({ error: `Unknown config key '${key}'`, validKeys: SETTINGS_VALID_KEYS }, 400);
95
103
  }
96
104
  const body = (await c.req.json().catch(() => ({})));
@@ -99,7 +107,7 @@ export function configRoutes() {
99
107
  }
100
108
  try {
101
109
  store.set(key, body.value);
102
- return c.json({ ok: true, key, resolved: store.resolveOne(key) });
110
+ return c.json({ ok: true, key, resolved: isDynamic ? store.resolveFeedHostSubscription(key) : store.resolveOne(key) });
103
111
  }
104
112
  catch (err) {
105
113
  return c.json({ error: err.message }, 400);
@@ -110,12 +118,13 @@ export function configRoutes() {
110
118
  if (!store)
111
119
  return c.json({ error: "settings_unavailable" }, 503);
112
120
  const key = c.req.param("key");
113
- if (!isSettingsValidKey(key)) {
121
+ const isDynamic = parseFeedHostSubscriptionKey(key) !== null;
122
+ if (!isDynamic && !isSettingsValidKey(key)) {
114
123
  return c.json({ error: `Unknown config key '${key}'`, validKeys: SETTINGS_VALID_KEYS }, 400);
115
124
  }
116
125
  try {
117
126
  store.reset(key);
118
- return c.json({ ok: true, key, resolved: store.resolveOne(key) });
127
+ return c.json({ ok: true, key, resolved: isDynamic ? store.resolveFeedHostSubscription(key) : store.resolveOne(key) });
119
128
  }
120
129
  catch (err) {
121
130
  return c.json({ error: err.message }, 400);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAGL,kBAAkB,EAElB,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACvC;AAED;;;+CAG+C;AAC/C,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAEpD,wBAAgB,WAAW,IAAI,IAAI,CA+LlC;AA+BD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAGL,kBAAkB,EAElB,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACvC;AAED;;;+CAG+C;AAC/C,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAEpD,wBAAgB,WAAW,IAAI,IAAI,CA4OlC;AA+BD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -154,12 +154,56 @@ export function filesRoutes() {
154
154
  return c.json({ error: "root_and_path_required" }, 400);
155
155
  try {
156
156
  const resolved = resolveAllowedFile(deps.allowlist, rootName, relativePath);
157
+ const size = fs.statSync(resolved).size;
158
+ let contentType = inferContentType(resolved);
159
+ // OPR.0.4.4.20 FR-11: .html renders as text/html ONLY under the explicit
160
+ // ?render=1 opt-in (text/plain stays the default for every other read).
161
+ // First-party operator mockups open in a new tab; CSP here is a
162
+ // documented advisory posture, deliberately NOT a deny-by-default gate.
163
+ if (c.req.query("render") === "1" && path.extname(resolved).toLowerCase() === ".html") {
164
+ contentType = "text/html; charset=utf-8";
165
+ }
166
+ // OPR.0.4.4.20 FR-5: byte-range support on THIS route only (iOS Safari
167
+ // requires 206 + Accept-Ranges for media playback; 200-with-whole-file
168
+ // is the documented iOS failure mode). Single-range form only.
169
+ const rangeHeader = c.req.header("Range");
170
+ if (rangeHeader) {
171
+ const m = rangeHeader.match(/^bytes=(\d*)-(\d*)$/);
172
+ const start = m && m[1] !== "" ? Number(m[1]) : m && m[2] !== "" ? size - Number(m[2]) : NaN;
173
+ const end = m && m[1] !== "" && m[2] !== "" ? Number(m[2]) : size - 1;
174
+ if (!m || Number.isNaN(start) || start < 0 || start >= size || end < start) {
175
+ return new Response(null, {
176
+ status: 416,
177
+ headers: { "Content-Range": `bytes */${size}`, "Accept-Ranges": "bytes" },
178
+ });
179
+ }
180
+ const boundedEnd = Math.min(end, size - 1);
181
+ const length = boundedEnd - start + 1;
182
+ const fd = fs.openSync(resolved, "r");
183
+ try {
184
+ const buf = Buffer.alloc(length);
185
+ fs.readSync(fd, buf, 0, length, start);
186
+ return new Response(new Uint8Array(buf), {
187
+ status: 206,
188
+ headers: {
189
+ "Content-Type": contentType,
190
+ "Content-Range": `bytes ${start}-${boundedEnd}/${size}`,
191
+ "Content-Length": String(length),
192
+ "Accept-Ranges": "bytes",
193
+ "Cache-Control": "public, max-age=300",
194
+ },
195
+ });
196
+ }
197
+ finally {
198
+ fs.closeSync(fd);
199
+ }
200
+ }
157
201
  const data = fs.readFileSync(resolved);
158
- const contentType = inferContentType(resolved);
159
202
  return new Response(new Uint8Array(data), {
160
203
  status: 200,
161
204
  headers: {
162
205
  "Content-Type": contentType,
206
+ "Accept-Ranges": "bytes",
163
207
  "Cache-Control": "public, max-age=300",
164
208
  },
165
209
  });
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/routes/files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mission-control.d.ts","sourceRoot":"","sources":["../../src/routes/mission-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAuB5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,IAAI,CA2W1E"}
1
+ {"version":3,"file":"mission-control.d.ts","sourceRoot":"","sources":["../../src/routes/mission-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA+B5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,wBAAwB,GAAG,IAAI,CA0a1E"}