@openrig/cli 0.5.1 → 0.5.2

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 (473) hide show
  1. package/daemon/assets/guidance/openrig-start.md +21 -64
  2. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
  3. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  4. package/daemon/dist/adapters/codex-runtime-adapter.js +18 -10
  5. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  6. package/daemon/dist/build-info.js +3 -3
  7. package/daemon/dist/domain/codex-thread-id.d.ts +5 -2
  8. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  9. package/daemon/dist/domain/codex-thread-id.js +9 -4
  10. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  11. package/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
  12. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
  13. package/daemon/dist/domain/crash-cart-conductor.js +233 -0
  14. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
  15. package/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
  16. package/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
  17. package/daemon/dist/domain/crash-cart-probes.js +57 -7
  18. package/daemon/dist/domain/crash-cart-probes.js.map +1 -1
  19. package/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
  20. package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
  21. package/daemon/dist/domain/hosts/fanout-contract.js +15 -0
  22. package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
  23. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
  24. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  25. package/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
  26. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  27. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +67 -0
  28. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
  29. package/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
  30. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
  31. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
  32. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
  33. package/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
  34. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
  35. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +113 -0
  36. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
  37. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +190 -0
  38. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
  39. package/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
  40. package/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
  41. package/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
  42. package/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
  43. package/daemon/dist/domain/resume-metadata-refresher.d.ts +11 -2
  44. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  45. package/daemon/dist/domain/resume-metadata-refresher.js +17 -9
  46. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  47. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  48. package/daemon/dist/domain/review/gather.js +3 -2
  49. package/daemon/dist/domain/review/gather.js.map +1 -1
  50. package/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
  51. package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
  52. package/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
  53. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
  54. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts → daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
  55. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
  56. package/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
  57. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
  58. package/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
  59. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
  60. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js → daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
  61. package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
  62. package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
  63. package/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
  64. package/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
  65. package/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
  66. package/daemon/dist/domain/rigspec-schema.d.ts +7 -0
  67. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  68. package/daemon/dist/domain/rigspec-schema.js +7 -0
  69. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  70. package/daemon/dist/domain/scope/node-file.d.ts +37 -0
  71. package/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
  72. package/daemon/dist/domain/scope/node-file.js +55 -0
  73. package/daemon/dist/domain/scope/node-file.js.map +1 -0
  74. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +11 -0
  75. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  76. package/daemon/dist/domain/scope/plan-lock-artifacts.js +40 -0
  77. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  78. package/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
  79. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  80. package/daemon/dist/domain/scope/scope-approve.js +56 -7
  81. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  82. package/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
  83. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  84. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  85. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  86. package/daemon/dist/domain/scope/scope-view-projection.js +5 -2
  87. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  88. package/daemon/dist/domain/seat-handover-service.d.ts +32 -15
  89. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  90. package/daemon/dist/domain/seat-handover-service.js +42 -17
  91. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  92. package/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
  93. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  94. package/daemon/dist/domain/seat-identity-reconciler.js +22 -0
  95. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  96. package/daemon/dist/domain/session-jsonl.js +1 -1
  97. package/daemon/dist/domain/session-jsonl.js.map +1 -1
  98. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  99. package/daemon/dist/domain/slices/slice-detail-projector.js +14 -2
  100. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  101. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  102. package/daemon/dist/domain/slices/slice-indexer.js +16 -3
  103. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  104. package/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
  105. package/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
  106. package/daemon/dist/domain/spec-live-conformance.js +35 -0
  107. package/daemon/dist/domain/spec-live-conformance.js.map +1 -1
  108. package/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
  109. package/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
  110. package/daemon/dist/domain/sync-site-wrap.js +11 -0
  111. package/daemon/dist/domain/sync-site-wrap.js.map +1 -1
  112. package/daemon/dist/domain/types.d.ts +15 -0
  113. package/daemon/dist/domain/types.d.ts.map +1 -1
  114. package/daemon/dist/domain/types.js.map +1 -1
  115. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  116. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  117. package/daemon/dist/domain/user-settings/settings-store.js +20 -0
  118. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  119. package/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
  120. package/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
  121. package/daemon/dist/domain/watchdog-auto-registration.js +27 -0
  122. package/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
  123. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  124. package/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
  125. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  126. package/daemon/dist/routes/activity.js +11 -2
  127. package/daemon/dist/routes/activity.js.map +1 -1
  128. package/daemon/dist/routes/bundles.d.ts +27 -0
  129. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  130. package/daemon/dist/routes/bundles.js +107 -26
  131. package/daemon/dist/routes/bundles.js.map +1 -1
  132. package/daemon/dist/routes/crash-cart.d.ts +4 -0
  133. package/daemon/dist/routes/crash-cart.d.ts.map +1 -0
  134. package/daemon/dist/routes/crash-cart.js +144 -0
  135. package/daemon/dist/routes/crash-cart.js.map +1 -0
  136. package/daemon/dist/routes/missions.d.ts.map +1 -1
  137. package/daemon/dist/routes/missions.js +10 -6
  138. package/daemon/dist/routes/missions.js.map +1 -1
  139. package/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  140. package/daemon/dist/routes/rig-mode.d.ts.map +1 -0
  141. package/{node_modules/@openrig/daemon/dist/routes/rig-policy.js → daemon/dist/routes/rig-mode.js} +13 -13
  142. package/daemon/dist/routes/rig-mode.js.map +1 -0
  143. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  144. package/daemon/dist/routes/scope-approve.js +4 -0
  145. package/daemon/dist/routes/scope-approve.js.map +1 -1
  146. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  147. package/daemon/dist/routes/scope-audit.js +29 -2
  148. package/daemon/dist/routes/scope-audit.js.map +1 -1
  149. package/daemon/dist/routes/seat.js +7 -2
  150. package/daemon/dist/routes/seat.js.map +1 -1
  151. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  152. package/daemon/dist/routes/sessions.js +11 -1
  153. package/daemon/dist/routes/sessions.js.map +1 -1
  154. package/daemon/dist/server.d.ts +3 -1
  155. package/daemon/dist/server.d.ts.map +1 -1
  156. package/daemon/dist/server.js +15 -5
  157. package/daemon/dist/server.js.map +1 -1
  158. package/daemon/dist/startup.d.ts.map +1 -1
  159. package/daemon/dist/startup.js +134 -5
  160. package/daemon/dist/startup.js.map +1 -1
  161. package/dist/build-info.js +3 -3
  162. package/dist/commands/bundle.d.ts.map +1 -1
  163. package/dist/commands/bundle.js +6 -0
  164. package/dist/commands/bundle.js.map +1 -1
  165. package/dist/commands/capture.d.ts.map +1 -1
  166. package/dist/commands/capture.js +2 -0
  167. package/dist/commands/capture.js.map +1 -1
  168. package/dist/commands/crash-cart.d.ts.map +1 -1
  169. package/dist/commands/crash-cart.js.map +1 -1
  170. package/dist/commands/host.d.ts +5 -0
  171. package/dist/commands/host.d.ts.map +1 -1
  172. package/dist/commands/host.js +59 -3
  173. package/dist/commands/host.js.map +1 -1
  174. package/dist/commands/policy.d.ts +5 -0
  175. package/dist/commands/policy.d.ts.map +1 -0
  176. package/dist/commands/policy.js +307 -0
  177. package/dist/commands/policy.js.map +1 -0
  178. package/dist/commands/ps.d.ts +4 -0
  179. package/dist/commands/ps.d.ts.map +1 -1
  180. package/dist/commands/ps.js +4 -0
  181. package/dist/commands/ps.js.map +1 -1
  182. package/dist/commands/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  183. package/dist/commands/rig-mode.d.ts.map +1 -0
  184. package/dist/commands/{rig-policy.js → rig-mode.js} +17 -17
  185. package/dist/commands/rig-mode.js.map +1 -0
  186. package/dist/commands/scope.d.ts.map +1 -1
  187. package/dist/commands/scope.js +58 -16
  188. package/dist/commands/scope.js.map +1 -1
  189. package/dist/commands/send.d.ts.map +1 -1
  190. package/dist/commands/send.js +2 -0
  191. package/dist/commands/send.js.map +1 -1
  192. package/dist/commands/setup.d.ts +13 -0
  193. package/dist/commands/setup.d.ts.map +1 -1
  194. package/dist/commands/setup.js +3 -3
  195. package/dist/commands/setup.js.map +1 -1
  196. package/dist/commands/transcript.d.ts.map +1 -1
  197. package/dist/commands/transcript.js +2 -0
  198. package/dist/commands/transcript.js.map +1 -1
  199. package/dist/commands/whoami.d.ts.map +1 -1
  200. package/dist/commands/whoami.js +11 -1
  201. package/dist/commands/whoami.js.map +1 -1
  202. package/dist/config-store.d.ts +3 -1
  203. package/dist/config-store.d.ts.map +1 -1
  204. package/dist/config-store.js +18 -0
  205. package/dist/config-store.js.map +1 -1
  206. package/dist/cross-host-target.d.ts +8 -1
  207. package/dist/cross-host-target.d.ts.map +1 -1
  208. package/dist/cross-host-target.js +23 -4
  209. package/dist/cross-host-target.js.map +1 -1
  210. package/dist/daemon-lifecycle.d.ts +10 -1
  211. package/dist/daemon-lifecycle.d.ts.map +1 -1
  212. package/dist/daemon-lifecycle.js +26 -1
  213. package/dist/daemon-lifecycle.js.map +1 -1
  214. package/dist/front-door.d.ts.map +1 -1
  215. package/dist/front-door.js +11 -1
  216. package/dist/front-door.js.map +1 -1
  217. package/dist/host-bindings.d.ts +62 -0
  218. package/dist/host-bindings.d.ts.map +1 -0
  219. package/dist/host-bindings.js +147 -0
  220. package/dist/host-bindings.js.map +1 -0
  221. package/dist/host-registry.d.ts +14 -1
  222. package/dist/host-registry.d.ts.map +1 -1
  223. package/dist/host-registry.js +30 -2
  224. package/dist/host-registry.js.map +1 -1
  225. package/dist/index.d.ts +2 -2
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.js +5 -2
  228. package/dist/index.js.map +1 -1
  229. package/dist/lib/hosts/fanout-contract.d.ts +4 -0
  230. package/dist/lib/hosts/fanout-contract.d.ts.map +1 -1
  231. package/dist/lib/hosts/fanout-contract.js +15 -0
  232. package/dist/lib/hosts/fanout-contract.js.map +1 -1
  233. package/dist/lib/path-safety.d.ts +8 -0
  234. package/dist/lib/path-safety.d.ts.map +1 -0
  235. package/dist/lib/path-safety.js +24 -0
  236. package/dist/lib/path-safety.js.map +1 -0
  237. package/dist/lib/permission-policy/policy-ref.d.ts +89 -0
  238. package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -0
  239. package/dist/lib/permission-policy/policy-ref.js +171 -0
  240. package/dist/lib/permission-policy/policy-ref.js.map +1 -0
  241. package/dist/lib/permission-policy/policy-spec.d.ts +34 -0
  242. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -0
  243. package/dist/lib/permission-policy/policy-spec.js +106 -0
  244. package/dist/lib/permission-policy/policy-spec.js.map +1 -0
  245. package/dist/lib/scope/scope-audit.d.ts +1 -1
  246. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  247. package/dist/lib/scope/scope-audit.js.map +1 -1
  248. package/dist/lib/scope/scope-fs.d.ts +19 -3
  249. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  250. package/dist/lib/scope/scope-fs.js +37 -17
  251. package/dist/lib/scope/scope-fs.js.map +1 -1
  252. package/dist/release-surface/extract-surface.js +1 -1
  253. package/dist/release-surface/extract-surface.js.map +1 -1
  254. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
  255. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  256. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +18 -10
  257. package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  258. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  259. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +5 -2
  260. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  261. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +9 -4
  262. package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
  263. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
  264. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
  265. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +233 -0
  266. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
  267. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
  268. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
  269. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js +57 -7
  270. package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js.map +1 -1
  271. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
  272. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
  273. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js +15 -0
  274. package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
  275. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
  276. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  277. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
  278. package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  279. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +67 -0
  280. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
  281. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
  282. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
  283. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
  284. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
  285. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
  286. package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
  287. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +113 -0
  288. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
  289. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +190 -0
  290. package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
  291. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
  292. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
  293. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
  294. package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
  295. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +11 -2
  296. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  297. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +17 -9
  298. package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  299. package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
  300. package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -2
  301. package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
  302. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
  303. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
  304. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
  305. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
  306. package/{daemon/dist/domain/rig-policy/rig-policy-store.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
  307. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
  308. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
  309. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
  310. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
  311. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
  312. package/{daemon/dist/domain/rig-policy/rig-policy-types.js → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
  313. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
  314. package/{daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
  315. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
  316. package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
  317. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
  318. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +7 -0
  319. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  320. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +7 -0
  321. package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
  322. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +37 -0
  323. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
  324. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +55 -0
  325. package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -0
  326. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +11 -0
  327. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
  328. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +40 -0
  329. package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
  330. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
  331. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  332. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +56 -7
  333. package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  334. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
  335. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  336. package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  337. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  338. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +5 -2
  339. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  340. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +32 -15
  341. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  342. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +42 -17
  343. package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
  344. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
  345. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  346. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +22 -0
  347. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  348. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js +1 -1
  349. package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js.map +1 -1
  350. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  351. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +14 -2
  352. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  353. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  354. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +16 -3
  355. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  356. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
  357. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
  358. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js +35 -0
  359. package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js.map +1 -1
  360. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
  361. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
  362. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js +11 -0
  363. package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js.map +1 -1
  364. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +15 -0
  365. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  366. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  367. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  368. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  369. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +20 -0
  370. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  371. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
  372. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
  373. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js +27 -0
  374. package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
  375. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  376. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
  377. package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  378. package/node_modules/@openrig/daemon/dist/routes/activity.js +11 -2
  379. package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
  380. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts +27 -0
  381. package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
  382. package/node_modules/@openrig/daemon/dist/routes/bundles.js +107 -26
  383. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  384. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts +4 -0
  385. package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts.map +1 -0
  386. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +144 -0
  387. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -0
  388. package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +1 -1
  389. package/node_modules/@openrig/daemon/dist/routes/missions.js +10 -6
  390. package/node_modules/@openrig/daemon/dist/routes/missions.js.map +1 -1
  391. package/node_modules/@openrig/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
  392. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -0
  393. package/{daemon/dist/routes/rig-policy.js → node_modules/@openrig/daemon/dist/routes/rig-mode.js} +13 -13
  394. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -0
  395. package/node_modules/@openrig/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  396. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js +4 -0
  397. package/node_modules/@openrig/daemon/dist/routes/scope-approve.js.map +1 -1
  398. package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  399. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +29 -2
  400. package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
  401. package/node_modules/@openrig/daemon/dist/routes/seat.js +7 -2
  402. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  403. package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts.map +1 -1
  404. package/node_modules/@openrig/daemon/dist/routes/sessions.js +11 -1
  405. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  406. package/node_modules/@openrig/daemon/dist/server.d.ts +3 -1
  407. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  408. package/node_modules/@openrig/daemon/dist/server.js +15 -5
  409. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  410. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  411. package/node_modules/@openrig/daemon/dist/startup.js +134 -5
  412. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  413. package/node_modules/@openrig/daemon/package.json +1 -1
  414. package/package.json +1 -1
  415. package/tui/dist/crash-cart/from-emit.d.ts +9 -0
  416. package/tui/dist/crash-cart/from-emit.d.ts.map +1 -1
  417. package/tui/dist/crash-cart/from-emit.js.map +1 -1
  418. package/tui/dist/crash-cart/keys.d.ts +1 -1
  419. package/tui/dist/crash-cart/keys.d.ts.map +1 -1
  420. package/tui/dist/crash-cart/keys.js +13 -2
  421. package/tui/dist/crash-cart/keys.js.map +1 -1
  422. package/tui/dist/crash-cart/one-click-gate.d.ts +5 -0
  423. package/tui/dist/crash-cart/one-click-gate.d.ts.map +1 -1
  424. package/tui/dist/crash-cart/one-click-gate.js +8 -0
  425. package/tui/dist/crash-cart/one-click-gate.js.map +1 -1
  426. package/tui/dist/crash-cart/render-crash-cart.d.ts +11 -0
  427. package/tui/dist/crash-cart/render-crash-cart.d.ts.map +1 -1
  428. package/tui/dist/crash-cart/render-crash-cart.js +113 -0
  429. package/tui/dist/crash-cart/render-crash-cart.js.map +1 -1
  430. package/tui/dist/crash-cart/restore-input.d.ts +32 -0
  431. package/tui/dist/crash-cart/restore-input.d.ts.map +1 -0
  432. package/tui/dist/crash-cart/restore-input.js +37 -0
  433. package/tui/dist/crash-cart/restore-input.js.map +1 -0
  434. package/tui/dist/crash-cart/restore-lifecycle.d.ts +66 -0
  435. package/tui/dist/crash-cart/restore-lifecycle.d.ts.map +1 -0
  436. package/tui/dist/crash-cart/restore-lifecycle.js +96 -0
  437. package/tui/dist/crash-cart/restore-lifecycle.js.map +1 -0
  438. package/tui/dist/crash-cart/restore-scroll.d.ts +14 -0
  439. package/tui/dist/crash-cart/restore-scroll.d.ts.map +1 -0
  440. package/tui/dist/crash-cart/restore-scroll.js +27 -0
  441. package/tui/dist/crash-cart/restore-scroll.js.map +1 -0
  442. package/tui/dist/daemon-client.d.ts +38 -0
  443. package/tui/dist/daemon-client.d.ts.map +1 -1
  444. package/tui/dist/daemon-client.js +15 -0
  445. package/tui/dist/daemon-client.js.map +1 -1
  446. package/tui/dist/main.js +146 -2
  447. package/tui/dist/main.js.map +1 -1
  448. package/tui/dist/render.d.ts +10 -0
  449. package/tui/dist/render.d.ts.map +1 -1
  450. package/tui/dist/render.js +63 -10
  451. package/tui/dist/render.js.map +1 -1
  452. package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
  453. package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
  454. package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
  455. package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
  456. package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
  457. package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
  458. package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
  459. package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
  460. package/daemon/dist/routes/rig-policy.d.ts.map +0 -1
  461. package/daemon/dist/routes/rig-policy.js.map +0 -1
  462. package/dist/commands/rig-policy.d.ts.map +0 -1
  463. package/dist/commands/rig-policy.js.map +0 -1
  464. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
  465. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
  466. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
  467. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
  468. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
  469. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
  470. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
  471. package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
  472. package/node_modules/@openrig/daemon/dist/routes/rig-policy.d.ts.map +0 -1
  473. package/node_modules/@openrig/daemon/dist/routes/rig-policy.js.map +0 -1
@@ -19,6 +19,7 @@ import { connect } from "node:net";
19
19
  import { getOpenRigHome } from "../openrig-compat.js";
20
20
  import { addHostEntry, defaultHostRegistryPath, loadHostRegistry, validateHostRegistry, hostDisplayTarget, resolveHost, resolveRemoteBearer, bearerAuthHeaders } from "../host-registry.js";
21
21
  import { runCrossHostCommand } from "../cross-host-executor.js";
22
+ import { recordHostObservation, loadHostBindings, describeBindingConflict, defaultHostBindingsPath } from "../host-bindings.js";
22
23
  import { DaemonClient } from "../client.js";
23
24
  import { readOwnHostName, readSelectedHost } from "../host-selection.js";
24
25
  function nestedBoolean(obj, path) {
@@ -60,6 +61,7 @@ function defaultDoctorDeps() {
60
61
  sock.on("timeout", () => { sock.destroy(); resolve("closed"); });
61
62
  sock.on("error", () => { sock.destroy(); resolve("closed"); });
62
63
  }),
64
+ learnHostBinding: (alias, observedHostId) => recordHostObservation({ alias, observedHostId }),
63
65
  };
64
66
  }
65
67
  /** FR-1 doctor legs — each failing step maps to a DISTINCT actionable error:
@@ -182,6 +184,35 @@ export async function doctorLegs(host, deps) {
182
184
  }
183
185
  rows.push({ step: "transport-reachability", status: "pass", detail: `healthz ok at ${host.url}` });
184
186
  rows.push({ step: "remote-daemon-health", status: "pass", detail: "healthz IS the daemon health check on http transport" });
187
+ // Slice 14 Source-1: the healthz body we ALREADY hold carries the peer's selfHostId — record it
188
+ // in the learned sidecar (TOFU first contact; a contradiction surfaces loudly and never
189
+ // overwrites). Exact correlation: we asked THIS entry's URL, so the id is this entry's.
190
+ // Absence (no learner wired, body unparseable, no selfHostId in an older daemon) is fail-open: no row.
191
+ if (deps.learnHostBinding) {
192
+ try {
193
+ const parsed = JSON.parse(health.body);
194
+ if (typeof parsed.selfHostId === "string" && parsed.selfHostId.length > 0) {
195
+ const obs = deps.learnHostBinding(host.id, parsed.selfHostId);
196
+ rows.push(obs.outcome === "conflict"
197
+ ? {
198
+ step: "host-identity-binding",
199
+ status: "fail",
200
+ detail: describeBindingConflict(host.id, obs.binding),
201
+ fix: `if the re-key is legitimate, delete the '${host.id}' entry in ${defaultHostBindingsPath()} and re-run doctor to re-learn`,
202
+ }
203
+ : {
204
+ step: "host-identity-binding",
205
+ status: "pass",
206
+ detail: obs.outcome === "bound"
207
+ ? `learned host identity '${obs.binding.hostId}' (first contact) — reply hints ending @${obs.binding.hostId} now resolve to '${host.id}'`
208
+ : `host identity '${obs.binding.hostId}' confirmed`,
209
+ });
210
+ }
211
+ }
212
+ catch {
213
+ // body not JSON — an older or non-daemon endpoint; learning is skipped, nothing breaks.
214
+ }
215
+ }
185
216
  }
186
217
  catch (err) {
187
218
  rows.push({ step: "transport-reachability", status: "fail", detail: `daemon unreachable at ${host.url}: ${err.message}`, fix: "check tailnet connectivity and that the remote daemon is running (rig daemon start on the host)" });
@@ -715,7 +746,19 @@ export function hostCommand(doctorDepsOverride) {
715
746
  // pre-MH1 consumers keep working): each row gains `selected` +
716
747
  // `status`; the scriptable selection pointer is the true row (or
717
748
  // `rig config get host.selected`).
718
- console.log(JSON.stringify(loaded.registry.hosts.map((h, i) => ({ ...h, selected: h.id === selected, status: statuses[i] }))));
749
+ // Slice 14: `hostId` rides through the spread when present, but ABSENT-as-missing-key makes
750
+ // "never learned this peer's identity" indistinguishable from a consumer that forgot to
751
+ // look. Emit it explicitly as null so unbound is a value, not an absence. `learnedHostId`
752
+ // (the Source-1 sidecar binding) and `idChanged` (a recorded contradiction) are additive keys.
753
+ const jsonBindings = loadHostBindings().bindings;
754
+ console.log(JSON.stringify(loaded.registry.hosts.map((h, i) => ({
755
+ ...h,
756
+ hostId: h.hostId ?? null,
757
+ learnedHostId: jsonBindings[h.id]?.hostId ?? null,
758
+ idChanged: Boolean(jsonBindings[h.id]?.conflict),
759
+ selected: h.id === selected,
760
+ status: statuses[i],
761
+ }))));
719
762
  return;
720
763
  }
721
764
  if (loaded.registry.hosts.length === 0) {
@@ -732,11 +775,24 @@ export function hostCommand(doctorDepsOverride) {
732
775
  console.log(`This host: ${ownName}\n`);
733
776
  }
734
777
  const pad = (s, n) => (s.length > n ? s.slice(0, n - 1) + "…" : s.padEnd(n));
735
- console.log(`${pad("", 2)}${pad("ID", 20)} ${pad("TRANSPORT", 10)} ${pad("TARGET", 30)} ${pad("STATUS", 12)} ${pad("AUTH", 24)} NOTES`);
778
+ const bindings = loadHostBindings().bindings;
779
+ console.log(`${pad("", 2)}${pad("ID", 20)} ${pad("HOST-ID", 18)} ${pad("TRANSPORT", 10)} ${pad("TARGET", 30)} ${pad("STATUS", 12)} ${pad("AUTH", 24)} NOTES`);
736
780
  for (let i = 0; i < loaded.registry.hosts.length; i++) {
737
781
  const h = loaded.registry.hosts[i];
738
782
  const marker = h.id === selected ? "* " : " ";
739
- console.log(`${marker}${pad(h.id, 20)} ${pad(h.transport, 10)} ${pad(hostDisplayTarget(h), 30)} ${pad(statuses[i], 12)} ${pad(authPointer(h), 24)} ${h.notes ?? "—"}`);
783
+ // "unbound" is the whole point of the column: an operator can SEE which entries have never
784
+ // learned their peer's self-id, instead of finding out when a cross-machine message fails.
785
+ // Registry-declared hostId outranks the sidecar-learned binding; a recorded contradiction
786
+ // flags the cell and prints its full story under the table (loud, never silent).
787
+ const binding = bindings[h.id];
788
+ const effectiveId = h.hostId ?? binding?.hostId ?? "unbound";
789
+ const cell = binding?.conflict ? `${effectiveId} id-changed!` : effectiveId;
790
+ console.log(`${marker}${pad(h.id, 20)} ${pad(cell, 18)} ${pad(h.transport, 10)} ${pad(hostDisplayTarget(h), 30)} ${pad(statuses[i], 12)} ${pad(authPointer(h), 24)} ${h.notes ?? "—"}`);
791
+ }
792
+ for (const h of loaded.registry.hosts) {
793
+ const binding = bindings[h.id];
794
+ if (binding?.conflict)
795
+ console.log(`\n! ${describeBindingConflict(h.id, binding)}`);
740
796
  }
741
797
  if (selected !== "local") {
742
798
  console.log(`\nSelected host: ${selected} (return with: rig host select local)`);
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from "commander";
2
+ import { BUILTIN_POLICY_NAMES } from "../lib/permission-policy/policy-ref.js";
3
+ export declare function policyCommand(): Command;
4
+ export { BUILTIN_POLICY_NAMES };
5
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/commands/policy.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EACL,oBAAoB,EAIrB,MAAM,wCAAwC,CAAC;AA8EhD,wBAAgB,aAAa,IAAI,OAAO,CAuMvC;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,307 @@
1
+ // B7 (0.5.2, RULING-rig-mode-rig-policy-naming) — `rig policy`: the top-level PERMISSION-POLICY
2
+ // verb, introduced after the context-mode verb took its natural name (`rig mode`).
3
+ //
4
+ // BINDING HONESTY PIN (carried VERBATIM from setup.ts, per the ruling): OpenRig bakes NO
5
+ // allow/ask/deny permission policy — the harness-native permissions are the control surface.
6
+ // `rig policy` TEACHES and RECORDS into RigSpec (`permission_policy: builtin:<name> | none`); it
7
+ // never enforces at runtime. OpenRig records posture into RigSpec, harness-native permissions
8
+ // enforce — never runtime enforcement.
9
+ //
10
+ // v1 scope per the ruling (read-heavy + one write path):
11
+ // rig policy list [--spec] — built-ins + the reserved deliberate-none + CUSTOM
12
+ // policies visible in the given spec context
13
+ // rig policy show <name-or-ref> [--spec]— one built-in OR a custom policy spec (validated)
14
+ // rig policy current --spec <path> — the effective recorded policy + WHAT WOULD APPLY,
15
+ // through the AUTHORITATIVE validator/resolver
16
+ // rig policy apply <name> --spec <path> — record the choice (same flow as `rig setup --policy`,
17
+ // which STAYS as the setup-flow composition, not an alias)
18
+ //
19
+ // AUTHORITATIVE SEMANTICS, NOT A PRIVATE CLASSIFIER (r2 HIGH-2): every ref this verb reports runs
20
+ // through validatePermissionPolicyRef + resolvePermissionPolicyAttachment — byte-equivalent CLI
21
+ // twins of the daemon's permission-policy modules (lib/permission-policy/*, lib/path-safety.ts;
22
+ // pinned by permission-policy-parity.test.ts). An invalid ref exits 1 with the authoritative error
23
+ // — this surface must never bless a spec defect the daemon's own validation refuses.
24
+ import { Command } from "commander";
25
+ import { parse as parseYaml } from "yaml";
26
+ import fs from "node:fs";
27
+ import path from "node:path";
28
+ import { defaultDeps, recordPermissionPolicyStep, resolveExistingSpecPath, POLICY_CHOICES, } from "./setup.js";
29
+ import { BUILTIN_POLICY_NAMES, validatePermissionPolicyRef, resolvePermissionPolicyAttachment, } from "../lib/permission-policy/policy-ref.js";
30
+ import { parsePolicySpec, validatePolicySpec } from "../lib/permission-policy/policy-spec.js";
31
+ const HONESTY_PIN = "OpenRig bakes NO allow/ask/deny permission policy — the harness-native permissions are the control surface. " +
32
+ "OpenRig records posture into RigSpec; harness-native permissions enforce — never runtime enforcement.";
33
+ const BUILTIN_DESCRIPTIONS = {
34
+ locked: "the most restrictive packaged posture — for seats that must not touch anything unattended",
35
+ standard: "the packaged default posture for managed working seats",
36
+ open: "a permissive packaged posture for trusted, high-autonomy seats",
37
+ yolo: "the operator/no-guardrails posture — everything the harness allows (launch posture: full_bypass)",
38
+ none: "the RESERVED deliberate-none choice: recorded as permission_policy: none — posture identical to absent (the floor), but the absence is chosen and visible",
39
+ };
40
+ function refFor(name) {
41
+ return name === "none" ? "none" : `builtin:${name}`;
42
+ }
43
+ const readFileDep = { readFile: (p) => fs.readFileSync(p, "utf-8") };
44
+ /** Collect every permission_policy declaration site in a parsed rig spec (rig level + members).
45
+ * Presence is keyed on the KEY existing, not on the value being a string. */
46
+ function collectRefSites(doc) {
47
+ const sites = [{
48
+ site: "rig",
49
+ ref: Object.prototype.hasOwnProperty.call(doc, "permission_policy") ? doc["permission_policy"] : undefined,
50
+ }];
51
+ const pods = Array.isArray(doc["pods"]) ? doc["pods"] : [];
52
+ pods.forEach((pod, pi) => {
53
+ const members = Array.isArray(pod["members"]) ? pod["members"] : [];
54
+ members.forEach((member, mi) => {
55
+ if (member && typeof member === "object" && Object.prototype.hasOwnProperty.call(member, "permission_policy")) {
56
+ const id = [pod["id"], member["id"]].filter(Boolean).join(".");
57
+ sites.push({ site: `pods[${pi}].members[${mi}]${id ? ` (${id})` : ""}`, ref: member["permission_policy"] });
58
+ }
59
+ });
60
+ });
61
+ return sites;
62
+ }
63
+ function loadSpec(specPath) {
64
+ const resolved = resolveExistingSpecPath(defaultDeps(), specPath);
65
+ if (!resolved) {
66
+ return { error: `No rig spec found at ${specPath} (looked for a file, then rig.yaml/rig.yml/agent.yaml/agent.yml inside it).` };
67
+ }
68
+ try {
69
+ const doc = (parseYaml(fs.readFileSync(resolved, "utf-8")) ?? {});
70
+ return { resolved, doc };
71
+ }
72
+ catch (err) {
73
+ return { error: `Could not parse ${resolved}: ${err.message}` };
74
+ }
75
+ }
76
+ /** Render "what would apply" for one resolved attachment. */
77
+ function describeAttachment(a) {
78
+ const parts = [
79
+ `origin=${a.origin}`,
80
+ a.builtinName ? `builtin=${a.builtinName}` : null,
81
+ a.resolvedTarget ? `target=${a.resolvedTarget}` : null,
82
+ a.surface ? `surface=${a.surface}` : null,
83
+ `launch_posture=${a.launchPosture}`,
84
+ `content_resolved=${a.contentResolved}`,
85
+ ].filter(Boolean);
86
+ const advisory = a.origin === "custom" && !a.contentResolved
87
+ ? " — UNRESOLVED custom content: the advisory FLOOR applies until the policy spec reads + validates"
88
+ : "";
89
+ return parts.join(" · ") + advisory;
90
+ }
91
+ export function policyCommand() {
92
+ const cmd = new Command("policy").description(`Teach and record the rig-level permission policy. ${HONESTY_PIN} (The context-mode verb formerly at this name is now: rig mode.)`);
93
+ cmd
94
+ .command("list")
95
+ .description(`List the built-in permission-policy templates, plus the custom policies visible in a spec context. ${HONESTY_PIN}`)
96
+ .option("--spec <path>", "Rig spec (file or directory) defining the custom-policy context")
97
+ .option("--json", "Machine-readable output")
98
+ .action((opts) => {
99
+ const builtins = POLICY_CHOICES.map((name) => ({ name, ref: refFor(name), origin: name === "none" ? "deliberate_none" : "builtin", description: BUILTIN_DESCRIPTIONS[name] ?? "" }));
100
+ const custom = [];
101
+ let specError = null;
102
+ if (opts.spec) {
103
+ const loaded = loadSpec(opts.spec);
104
+ if ("error" in loaded) {
105
+ specError = loaded.error;
106
+ }
107
+ else {
108
+ const declaringDir = path.dirname(loaded.resolved);
109
+ for (const { site, ref } of collectRefSites(loaded.doc)) {
110
+ if (ref === undefined)
111
+ continue; // truly absent
112
+ if (typeof ref === "string" && (ref === "none" || ref.startsWith("builtin:")))
113
+ continue;
114
+ const invalid = validatePermissionPolicyRef(ref, `${site}.permission_policy`);
115
+ if (invalid) {
116
+ custom.push({ site, ref, invalid });
117
+ continue;
118
+ }
119
+ const a = resolvePermissionPolicyAttachment(ref, declaringDir, readFileDep);
120
+ custom.push({ site, ref, resolvedTarget: a.resolvedTarget, surface: a.surface ?? null, launchPosture: a.launchPosture, contentResolved: a.contentResolved });
121
+ }
122
+ }
123
+ }
124
+ if (opts.json) {
125
+ console.log(JSON.stringify({ policies: builtins, custom, ...(specError ? { specError } : {}), note: HONESTY_PIN }));
126
+ }
127
+ else {
128
+ for (const r of builtins)
129
+ console.log(`${r.name.padEnd(10)} ${r.ref.padEnd(18)} ${r.description}`);
130
+ if (opts.spec && !specError) {
131
+ console.log(custom.length > 0 ? "\nCustom policies in the spec set:" : "\n(no custom policies referenced in the spec set)");
132
+ for (const c of custom) {
133
+ console.log(c.invalid
134
+ ? ` ${String(c.site).padEnd(28)} ${c.ref} — INVALID: ${c.invalid}`
135
+ : ` ${String(c.site).padEnd(28)} ${c.ref} → ${c.resolvedTarget} (surface=${c.surface ?? "?"}, launch_posture=${c.launchPosture}, content_resolved=${c.contentResolved})`);
136
+ }
137
+ }
138
+ if (specError)
139
+ console.error(specError);
140
+ console.log(`\n${HONESTY_PIN}`);
141
+ }
142
+ if (specError)
143
+ process.exitCode = 1;
144
+ });
145
+ cmd
146
+ .command("show <nameOrRef>")
147
+ .description("Show one built-in policy choice, or validate + open a CUSTOM policy spec by ref (relative to --spec's directory, else cwd).")
148
+ .option("--spec <path>", "Rig spec (file or directory) whose directory anchors a custom ref")
149
+ .option("--json", "Machine-readable output")
150
+ .action((nameOrRef, opts) => {
151
+ if (POLICY_CHOICES.includes(nameOrRef)) {
152
+ const out = {
153
+ name: nameOrRef,
154
+ ref: refFor(nameOrRef),
155
+ origin: nameOrRef === "none" ? "deliberate_none" : "builtin",
156
+ description: BUILTIN_DESCRIPTIONS[nameOrRef] ?? "",
157
+ recordedAs: `permission_policy: ${refFor(nameOrRef)}`,
158
+ launchPosture: nameOrRef === "yolo" ? "full_bypass" : "floor",
159
+ enforcement: HONESTY_PIN,
160
+ };
161
+ if (opts.json)
162
+ console.log(JSON.stringify(out));
163
+ else {
164
+ console.log(`${out.name} — ${out.description}`);
165
+ console.log(`Recorded as: ${out.recordedAs} (launch_posture: ${out.launchPosture})`);
166
+ console.log(out.enforcement);
167
+ }
168
+ return;
169
+ }
170
+ // Custom ref path — AUTHORITATIVE validation first; an invalid ref is a loud refusal.
171
+ const ref = nameOrRef.startsWith("builtin:") ? nameOrRef : nameOrRef;
172
+ const invalid = validatePermissionPolicyRef(ref, "policy ref");
173
+ if (invalid) {
174
+ console.error(invalid);
175
+ console.error(`Known built-ins: ${POLICY_CHOICES.join(", ")}.`);
176
+ process.exitCode = 1;
177
+ return;
178
+ }
179
+ let declaringDir = process.cwd();
180
+ let anchor = "cwd";
181
+ if (opts.spec) {
182
+ const loaded = loadSpec(opts.spec);
183
+ if ("error" in loaded) {
184
+ console.error(loaded.error);
185
+ process.exitCode = 1;
186
+ return;
187
+ }
188
+ declaringDir = path.dirname(loaded.resolved);
189
+ anchor = loaded.resolved;
190
+ }
191
+ const resolvedTarget = path.resolve(declaringDir, ref);
192
+ let raw;
193
+ try {
194
+ raw = fs.readFileSync(resolvedTarget, "utf-8");
195
+ }
196
+ catch {
197
+ console.error(`Custom policy '${ref}' does not resolve: ${resolvedTarget} is missing or unreadable (anchored at ${anchor}). The advisory FLOOR would apply.`);
198
+ process.exitCode = 1;
199
+ return;
200
+ }
201
+ const parsed = parsePolicySpec(raw);
202
+ if ("error" in parsed) {
203
+ console.error(`Custom policy '${ref}' at ${resolvedTarget} is INVALID: ${parsed.error}`);
204
+ process.exitCode = 1;
205
+ return;
206
+ }
207
+ const contract = validatePolicySpec(parsed.frontmatter);
208
+ const attachment = resolvePermissionPolicyAttachment(ref, declaringDir, readFileDep);
209
+ const out = {
210
+ ref,
211
+ origin: "custom",
212
+ resolvedTarget,
213
+ declaringDir,
214
+ surface: attachment.surface ?? null,
215
+ launchPosture: attachment.launchPosture,
216
+ contentResolved: attachment.contentResolved,
217
+ contractValid: contract.ok,
218
+ contractErrors: contract.errors,
219
+ enforcement: HONESTY_PIN,
220
+ };
221
+ if (opts.json)
222
+ console.log(JSON.stringify(out));
223
+ else {
224
+ console.log(`${ref} → ${resolvedTarget}`);
225
+ console.log(describeAttachment(attachment));
226
+ if (!contract.ok)
227
+ for (const e of contract.errors)
228
+ console.log(` contract: ${e}`);
229
+ console.log(HONESTY_PIN);
230
+ }
231
+ if (!contract.ok)
232
+ process.exitCode = 1;
233
+ });
234
+ cmd
235
+ .command("current")
236
+ .description("Show the EFFECTIVE permission policy for a rig spec and what would apply, per site (rig + member overrides), through the authoritative validator/resolver.")
237
+ .requiredOption("--spec <path>", "Rig spec file, or a directory containing rig.yaml/agent.yaml")
238
+ .option("--json", "Machine-readable output")
239
+ .action((opts) => {
240
+ const loaded = loadSpec(opts.spec);
241
+ if ("error" in loaded) {
242
+ console.error(loaded.error);
243
+ process.exitCode = 1;
244
+ return;
245
+ }
246
+ const declaringDir = path.dirname(loaded.resolved);
247
+ const sites = collectRefSites(loaded.doc);
248
+ const rigRef = sites[0].ref;
249
+ let anyInvalid = false;
250
+ const report = sites.map(({ site, ref }) => {
251
+ // member > rig precedence on PRESENCE (a present member value overrides, even an invalid one —
252
+ // it must surface as ITS OWN defect, never silently disappear behind the rig ref).
253
+ const effective = site === "rig" ? ref : (ref !== undefined ? ref : rigRef);
254
+ if (effective === undefined) {
255
+ return { site, ref: null, effective: null, applies: "absent — the floor (honest absence; nothing recorded)" };
256
+ }
257
+ const invalid = validatePermissionPolicyRef(effective, `${site}.permission_policy`);
258
+ if (invalid) {
259
+ anyInvalid = true;
260
+ return { site, ref: ref ?? null, effective, invalid };
261
+ }
262
+ const a = resolvePermissionPolicyAttachment(effective, declaringDir, readFileDep);
263
+ return { site, ref: ref ?? null, effective, applies: describeAttachment(a), attachment: a };
264
+ });
265
+ const out = { spec: loaded.resolved, sites: report, enforcement: HONESTY_PIN };
266
+ if (opts.json)
267
+ console.log(JSON.stringify(out));
268
+ else {
269
+ console.log(`Spec: ${loaded.resolved}`);
270
+ for (const r of report) {
271
+ if ("invalid" in r && r.invalid)
272
+ console.log(`${r.site}: ${r.effective} — INVALID: ${r.invalid}`);
273
+ else
274
+ console.log(`${r.site}: ${r.effective ?? "(absent)"} — ${String(r.applies)}`);
275
+ }
276
+ console.log(HONESTY_PIN);
277
+ }
278
+ // An invalid ref is a spec DEFECT (the daemon's own validation refuses it) — never exit 0.
279
+ if (anyInvalid)
280
+ process.exitCode = 1;
281
+ });
282
+ cmd
283
+ .command("apply <name>")
284
+ .description(`Record a policy choice into an EXISTING rig spec (the same recording flow as \`rig setup --policy\`, which stays as the setup-step composition). ${HONESTY_PIN}`)
285
+ .requiredOption("--spec <path>", "Rig spec file, or a directory containing rig.yaml/agent.yaml")
286
+ .option("--json", "Machine-readable output")
287
+ .action((name, opts) => {
288
+ const step = recordPermissionPolicyStep(defaultDeps(), name, opts.spec);
289
+ if (opts.json)
290
+ console.log(JSON.stringify(step));
291
+ else {
292
+ console.log(step.message);
293
+ if (step.status === "fail") {
294
+ if (step.reason)
295
+ console.log(step.reason);
296
+ if (step.fixHint)
297
+ console.log(`Fix: ${step.fixHint}`);
298
+ }
299
+ }
300
+ if (step.status === "fail")
301
+ process.exitCode = 1;
302
+ });
303
+ return cmd;
304
+ }
305
+ // Re-exported so the parity test can assert the twin surface without deep-importing.
306
+ export { BUILTIN_POLICY_NAMES };
307
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/commands/policy.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ interface NodeEntry {
8
8
  logicalId: string;
9
9
  podId: string | null;
10
10
  podNamespace?: string | null;
11
+ /** Slice 13 fix 2 — the serving daemon's boot-reconciled self-id, stamped per row at the source
12
+ * (null before the daemon reconciles). Distinct from the -A fan-out's `hostId`, which is the
13
+ * CALLER'S registry alias for the host it queried. */
14
+ hostSelfId?: string | null;
11
15
  canonicalSessionName: string | null;
12
16
  nodeKind: "agent" | "infrastructure";
13
17
  runtime: string | null;