@openrig/cli 0.4.4 → 0.4.6

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 (431) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +6 -8
  2. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +86 -0
  3. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +158 -0
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +744 -96
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.js +12 -8
  7. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  8. package/daemon/dist/adapters/pi-resume.d.ts +32 -0
  9. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -0
  10. package/daemon/dist/adapters/pi-resume.js +125 -0
  11. package/daemon/dist/adapters/pi-resume.js.map +1 -0
  12. package/daemon/dist/adapters/pi-runner-protocol.d.ts +88 -0
  13. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -0
  14. package/daemon/dist/adapters/pi-runner-protocol.js +153 -0
  15. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -0
  16. package/daemon/dist/adapters/pi-runner.d.ts +99 -0
  17. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -0
  18. package/daemon/dist/adapters/pi-runner.js +519 -0
  19. package/daemon/dist/adapters/pi-runner.js.map +1 -0
  20. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +61 -0
  21. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -0
  22. package/daemon/dist/adapters/pi-runtime-adapter.js +356 -0
  23. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -0
  24. package/daemon/dist/adapters/tmux.d.ts +22 -1
  25. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  26. package/daemon/dist/adapters/tmux.js +40 -1
  27. package/daemon/dist/adapters/tmux.js.map +1 -1
  28. package/daemon/dist/build-info.js +3 -3
  29. package/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +31 -0
  30. package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +152 -0
  31. package/daemon/dist/builtins/workflow-specs/gated-release.yaml +26 -0
  32. package/daemon/dist/builtins/workflow-specs/linear-build.yaml +21 -0
  33. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +20 -0
  34. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +1 -0
  35. package/daemon/dist/db/migrations/049_workflow_instance_version.js +24 -0
  36. package/daemon/dist/db/migrations/049_workflow_instance_version.js.map +1 -0
  37. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +22 -0
  38. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +1 -0
  39. package/daemon/dist/db/migrations/050_workflow_spec_json.js +26 -0
  40. package/daemon/dist/db/migrations/050_workflow_spec_json.js.map +1 -0
  41. package/daemon/dist/db/migrations/051_workflow_resume.d.ts +22 -0
  42. package/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +1 -0
  43. package/daemon/dist/db/migrations/051_workflow_resume.js +27 -0
  44. package/daemon/dist/db/migrations/051_workflow_resume.js.map +1 -0
  45. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +26 -0
  46. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +1 -0
  47. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +30 -0
  48. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +1 -0
  49. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +48 -0
  50. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +1 -0
  51. package/daemon/dist/db/migrations/053_sessions_node_id_index.js +53 -0
  52. package/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +1 -0
  53. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +34 -0
  54. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/054_queue_transitions_archive.js +49 -0
  56. package/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +1 -0
  57. package/daemon/dist/domain/claim-service.d.ts +11 -0
  58. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  59. package/daemon/dist/domain/claim-service.js +3 -1
  60. package/daemon/dist/domain/claim-service.js.map +1 -1
  61. package/daemon/dist/domain/discovery-types.d.ts +1 -1
  62. package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
  63. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +1 -0
  64. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  65. package/daemon/dist/domain/hosts/hosts-registry-reader.js +19 -0
  66. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  67. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +11 -0
  68. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -0
  69. package/daemon/dist/domain/hosts/hosts-registry-writer.js +54 -0
  70. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -0
  71. package/daemon/dist/domain/hosts/read-through.d.ts +28 -0
  72. package/daemon/dist/domain/hosts/read-through.d.ts.map +1 -0
  73. package/daemon/dist/domain/hosts/read-through.js +139 -0
  74. package/daemon/dist/domain/hosts/read-through.js.map +1 -0
  75. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +21 -0
  76. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  77. package/daemon/dist/domain/hosts/remote-daemon-http.js +49 -0
  78. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  79. package/daemon/dist/domain/node-inventory.d.ts +18 -0
  80. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  81. package/daemon/dist/domain/node-inventory.js +206 -95
  82. package/daemon/dist/domain/node-inventory.js.map +1 -1
  83. package/daemon/dist/domain/node-launcher.d.ts +11 -0
  84. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  85. package/daemon/dist/domain/node-launcher.js +10 -0
  86. package/daemon/dist/domain/node-launcher.js.map +1 -1
  87. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
  88. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  89. package/daemon/dist/domain/policies/workflow-keepalive.js +93 -13
  90. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  91. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  92. package/daemon/dist/domain/ps-projection.js +37 -26
  93. package/daemon/dist/domain/ps-projection.js.map +1 -1
  94. package/daemon/dist/domain/queue-repository.d.ts +105 -0
  95. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  96. package/daemon/dist/domain/queue-repository.js +193 -4
  97. package/daemon/dist/domain/queue-repository.js.map +1 -1
  98. package/daemon/dist/domain/queue-retention.d.ts +130 -0
  99. package/daemon/dist/domain/queue-retention.d.ts.map +1 -0
  100. package/daemon/dist/domain/queue-retention.js +224 -0
  101. package/daemon/dist/domain/queue-retention.js.map +1 -0
  102. package/daemon/dist/domain/restore-orchestrator.d.ts +5 -0
  103. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  104. package/daemon/dist/domain/restore-orchestrator.js +29 -2
  105. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  106. package/daemon/dist/domain/resume-token-capture.d.ts +13 -0
  107. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  108. package/daemon/dist/domain/resume-token-capture.js +14 -1
  109. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  110. package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
  111. package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
  112. package/daemon/dist/domain/resume-token-validation.js +58 -10
  113. package/daemon/dist/domain/resume-token-validation.js.map +1 -1
  114. package/daemon/dist/domain/review/compose.d.ts +50 -1
  115. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  116. package/daemon/dist/domain/review/compose.js +92 -3
  117. package/daemon/dist/domain/review/compose.js.map +1 -1
  118. package/daemon/dist/domain/review/fleet-compose.d.ts +52 -0
  119. package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -0
  120. package/daemon/dist/domain/review/fleet-compose.js +294 -0
  121. package/daemon/dist/domain/review/fleet-compose.js.map +1 -0
  122. package/daemon/dist/domain/review/gather.d.ts +16 -1
  123. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  124. package/daemon/dist/domain/review/gather.js +177 -41
  125. package/daemon/dist/domain/review/gather.js.map +1 -1
  126. package/daemon/dist/domain/review/types.d.ts +104 -1
  127. package/daemon/dist/domain/review/types.d.ts.map +1 -1
  128. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  129. package/daemon/dist/domain/rig-expansion-service.js +3 -0
  130. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  131. package/daemon/dist/domain/rig-repository.d.ts +7 -6
  132. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  133. package/daemon/dist/domain/rig-repository.js +33 -11
  134. package/daemon/dist/domain/rig-repository.js.map +1 -1
  135. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  136. package/daemon/dist/domain/rigspec-codec.js +3 -0
  137. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  138. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  139. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  140. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  141. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  142. package/daemon/dist/domain/rigspec-instantiator.js +11 -0
  143. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  144. package/daemon/dist/domain/rigspec-preflight.d.ts +6 -0
  145. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  146. package/daemon/dist/domain/rigspec-preflight.js +26 -1
  147. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  148. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  149. package/daemon/dist/domain/rigspec-schema.js +20 -1
  150. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  151. package/daemon/dist/domain/runtime-verifier.d.ts +7 -1
  152. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  153. package/daemon/dist/domain/runtime-verifier.js +39 -1
  154. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  155. package/daemon/dist/domain/seat-handover-service.d.ts +9 -0
  156. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  157. package/daemon/dist/domain/seat-handover-service.js +2 -0
  158. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  159. package/daemon/dist/domain/seat-identity-store.d.ts +7 -0
  160. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  161. package/daemon/dist/domain/seat-identity-store.js +27 -0
  162. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  163. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  164. package/daemon/dist/domain/seat-status-service.js +6 -4
  165. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  166. package/daemon/dist/domain/session-name.d.ts +22 -0
  167. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  168. package/daemon/dist/domain/session-name.js +29 -0
  169. package/daemon/dist/domain/session-name.js.map +1 -1
  170. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  171. package/daemon/dist/domain/slices/slice-detail-projector.js +4 -5
  172. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  173. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +18 -2
  174. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  175. package/daemon/dist/domain/spec-library-workflow-scanner.js +23 -1
  176. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  177. package/daemon/dist/domain/startup-proof.d.ts +10 -6
  178. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  179. package/daemon/dist/domain/startup-proof.js +35 -7
  180. package/daemon/dist/domain/startup-proof.js.map +1 -1
  181. package/daemon/dist/domain/successor-session-launcher.d.ts +16 -0
  182. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  183. package/daemon/dist/domain/successor-session-launcher.js +13 -0
  184. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  185. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +27 -0
  186. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
  187. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +67 -0
  188. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
  189. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +77 -0
  190. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
  191. package/daemon/dist/domain/terminal/herdr-adapter.js +266 -0
  192. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -0
  193. package/daemon/dist/domain/terminal/herdr-transport.d.ts +50 -0
  194. package/daemon/dist/domain/terminal/herdr-transport.d.ts.map +1 -0
  195. package/daemon/dist/domain/terminal/herdr-transport.js +145 -0
  196. package/daemon/dist/domain/terminal/herdr-transport.js.map +1 -0
  197. package/daemon/dist/domain/terminal/terminal-provider.d.ts +88 -0
  198. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -0
  199. package/daemon/dist/domain/terminal/terminal-provider.js +17 -0
  200. package/daemon/dist/domain/terminal/terminal-provider.js.map +1 -0
  201. package/daemon/dist/domain/terminal/terminal-service.d.ts +60 -0
  202. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -0
  203. package/daemon/dist/domain/terminal/terminal-service.js +174 -0
  204. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -0
  205. package/daemon/dist/domain/terminal/terminal-views-store.d.ts +77 -0
  206. package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -0
  207. package/daemon/dist/domain/terminal/terminal-views-store.js +146 -0
  208. package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -0
  209. package/daemon/dist/domain/terminal/view-composer.d.ts +42 -0
  210. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -0
  211. package/daemon/dist/domain/terminal/view-composer.js +137 -0
  212. package/daemon/dist/domain/terminal/view-composer.js.map +1 -0
  213. package/daemon/dist/domain/tmux-option-defaults.d.ts +89 -0
  214. package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -0
  215. package/daemon/dist/domain/tmux-option-defaults.js +132 -0
  216. package/daemon/dist/domain/tmux-option-defaults.js.map +1 -0
  217. package/daemon/dist/domain/types.d.ts +34 -1
  218. package/daemon/dist/domain/types.d.ts.map +1 -1
  219. package/daemon/dist/domain/types.js.map +1 -1
  220. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  221. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  222. package/daemon/dist/domain/user-settings/settings-store.js +92 -0
  223. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  224. package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -1
  225. package/daemon/dist/domain/workflow/slice-workflow-projection.js +6 -2
  226. package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -1
  227. package/daemon/dist/domain/workflow-boot-sweep.d.ts +28 -0
  228. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -0
  229. package/daemon/dist/domain/workflow-boot-sweep.js +102 -0
  230. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -0
  231. package/daemon/dist/domain/workflow-deadline.d.ts +74 -0
  232. package/daemon/dist/domain/workflow-deadline.d.ts.map +1 -0
  233. package/daemon/dist/domain/workflow-deadline.js +165 -0
  234. package/daemon/dist/domain/workflow-deadline.js.map +1 -0
  235. package/daemon/dist/domain/workflow-exception-escalation.d.ts +33 -0
  236. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -0
  237. package/daemon/dist/domain/workflow-exception-escalation.js +104 -0
  238. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -0
  239. package/daemon/dist/domain/workflow-exception-router.d.ts +33 -0
  240. package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -0
  241. package/daemon/dist/domain/workflow-exception-router.js +96 -0
  242. package/daemon/dist/domain/workflow-exception-router.js.map +1 -0
  243. package/daemon/dist/domain/workflow-exception.d.ts +90 -0
  244. package/daemon/dist/domain/workflow-exception.d.ts.map +1 -0
  245. package/daemon/dist/domain/workflow-exception.js +122 -0
  246. package/daemon/dist/domain/workflow-exception.js.map +1 -0
  247. package/daemon/dist/domain/workflow-frontier-guard.d.ts +24 -0
  248. package/daemon/dist/domain/workflow-frontier-guard.d.ts.map +1 -0
  249. package/daemon/dist/domain/workflow-frontier-guard.js +30 -0
  250. package/daemon/dist/domain/workflow-frontier-guard.js.map +1 -0
  251. package/daemon/dist/domain/workflow-instance-store.d.ts +28 -0
  252. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  253. package/daemon/dist/domain/workflow-instance-store.js +66 -10
  254. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  255. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +35 -0
  256. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -0
  257. package/daemon/dist/domain/workflow-keepalive-arming.js +87 -0
  258. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -0
  259. package/daemon/dist/domain/workflow-projector.d.ts +117 -2
  260. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  261. package/daemon/dist/domain/workflow-projector.js +672 -41
  262. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  263. package/daemon/dist/domain/workflow-role-context.d.ts +57 -0
  264. package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -0
  265. package/daemon/dist/domain/workflow-role-context.js +120 -0
  266. package/daemon/dist/domain/workflow-role-context.js.map +1 -0
  267. package/daemon/dist/domain/workflow-role-resolver.d.ts +65 -0
  268. package/daemon/dist/domain/workflow-role-resolver.d.ts.map +1 -0
  269. package/daemon/dist/domain/workflow-role-resolver.js +108 -0
  270. package/daemon/dist/domain/workflow-role-resolver.js.map +1 -0
  271. package/daemon/dist/domain/workflow-runtime.d.ts +157 -1
  272. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  273. package/daemon/dist/domain/workflow-runtime.js +718 -11
  274. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  275. package/daemon/dist/domain/workflow-spec-cache.d.ts +26 -1
  276. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  277. package/daemon/dist/domain/workflow-spec-cache.js +327 -13
  278. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  279. package/daemon/dist/domain/workflow-types.d.ts +143 -8
  280. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  281. package/daemon/dist/domain/workflow-types.js +14 -1
  282. package/daemon/dist/domain/workflow-types.js.map +1 -1
  283. package/daemon/dist/domain/workflow-validator.d.ts +11 -1
  284. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  285. package/daemon/dist/domain/workflow-validator.js +246 -1
  286. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  287. package/daemon/dist/index.d.ts +17 -0
  288. package/daemon/dist/index.d.ts.map +1 -1
  289. package/daemon/dist/index.js +44 -0
  290. package/daemon/dist/index.js.map +1 -1
  291. package/daemon/dist/routes/activity.js +22 -0
  292. package/daemon/dist/routes/activity.js.map +1 -1
  293. package/daemon/dist/routes/hosts.d.ts +5 -0
  294. package/daemon/dist/routes/hosts.d.ts.map +1 -0
  295. package/daemon/dist/routes/hosts.js +346 -0
  296. package/daemon/dist/routes/hosts.js.map +1 -0
  297. package/daemon/dist/routes/queue.d.ts +2 -7
  298. package/daemon/dist/routes/queue.d.ts.map +1 -1
  299. package/daemon/dist/routes/queue.js +264 -9
  300. package/daemon/dist/routes/queue.js.map +1 -1
  301. package/daemon/dist/routes/review.d.ts.map +1 -1
  302. package/daemon/dist/routes/review.js +26 -0
  303. package/daemon/dist/routes/review.js.map +1 -1
  304. package/daemon/dist/routes/seat.js +13 -0
  305. package/daemon/dist/routes/seat.js.map +1 -1
  306. package/daemon/dist/routes/terminal.d.ts +11 -0
  307. package/daemon/dist/routes/terminal.d.ts.map +1 -0
  308. package/daemon/dist/routes/terminal.js +104 -0
  309. package/daemon/dist/routes/terminal.js.map +1 -0
  310. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  311. package/daemon/dist/routes/workflow.js +102 -10
  312. package/daemon/dist/routes/workflow.js.map +1 -1
  313. package/daemon/dist/server.d.ts +5 -0
  314. package/daemon/dist/server.d.ts.map +1 -1
  315. package/daemon/dist/server.js +22 -0
  316. package/daemon/dist/server.js.map +1 -1
  317. package/daemon/dist/startup.d.ts.map +1 -1
  318. package/daemon/dist/startup.js +221 -12
  319. package/daemon/dist/startup.js.map +1 -1
  320. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +29 -0
  321. package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
  322. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +29 -0
  323. package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
  324. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +6 -8
  325. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +86 -0
  326. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +158 -0
  327. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +6 -6
  328. package/daemon/specs/rigs/launch/factory-rsi/CULTURE.md +47 -0
  329. package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
  330. package/dist/build-info.js +3 -3
  331. package/dist/commands/broadcast.d.ts +6 -1
  332. package/dist/commands/broadcast.d.ts.map +1 -1
  333. package/dist/commands/broadcast.js +101 -15
  334. package/dist/commands/broadcast.js.map +1 -1
  335. package/dist/commands/capture.d.ts.map +1 -1
  336. package/dist/commands/capture.js +99 -8
  337. package/dist/commands/capture.js.map +1 -1
  338. package/dist/commands/config.d.ts.map +1 -1
  339. package/dist/commands/config.js +4 -0
  340. package/dist/commands/config.js.map +1 -1
  341. package/dist/commands/down.d.ts.map +1 -1
  342. package/dist/commands/down.js +5 -0
  343. package/dist/commands/down.js.map +1 -1
  344. package/dist/commands/host.d.ts +14 -0
  345. package/dist/commands/host.d.ts.map +1 -1
  346. package/dist/commands/host.js +338 -14
  347. package/dist/commands/host.js.map +1 -1
  348. package/dist/commands/launch.d.ts.map +1 -1
  349. package/dist/commands/launch.js +5 -0
  350. package/dist/commands/launch.js.map +1 -1
  351. package/dist/commands/ps.d.ts.map +1 -1
  352. package/dist/commands/ps.js +10 -4
  353. package/dist/commands/ps.js.map +1 -1
  354. package/dist/commands/queue.d.ts +36 -0
  355. package/dist/commands/queue.d.ts.map +1 -1
  356. package/dist/commands/queue.js +73 -7
  357. package/dist/commands/queue.js.map +1 -1
  358. package/dist/commands/restore-packet.d.ts.map +1 -1
  359. package/dist/commands/restore-packet.js +13 -2
  360. package/dist/commands/restore-packet.js.map +1 -1
  361. package/dist/commands/send.d.ts.map +1 -1
  362. package/dist/commands/send.js +114 -9
  363. package/dist/commands/send.js.map +1 -1
  364. package/dist/commands/terminal.d.ts +6 -0
  365. package/dist/commands/terminal.d.ts.map +1 -0
  366. package/dist/commands/terminal.js +116 -0
  367. package/dist/commands/terminal.js.map +1 -0
  368. package/dist/commands/transcript.d.ts +6 -1
  369. package/dist/commands/transcript.d.ts.map +1 -1
  370. package/dist/commands/transcript.js +113 -30
  371. package/dist/commands/transcript.js.map +1 -1
  372. package/dist/commands/up.d.ts.map +1 -1
  373. package/dist/commands/up.js +9 -0
  374. package/dist/commands/up.js.map +1 -1
  375. package/dist/commands/whoami.d.ts.map +1 -1
  376. package/dist/commands/whoami.js +11 -0
  377. package/dist/commands/whoami.js.map +1 -1
  378. package/dist/commands/workflow-errors.d.ts +23 -0
  379. package/dist/commands/workflow-errors.d.ts.map +1 -0
  380. package/dist/commands/workflow-errors.js +100 -0
  381. package/dist/commands/workflow-errors.js.map +1 -0
  382. package/dist/commands/workflow-follow.d.ts +71 -0
  383. package/dist/commands/workflow-follow.d.ts.map +1 -0
  384. package/dist/commands/workflow-follow.js +259 -0
  385. package/dist/commands/workflow-follow.js.map +1 -0
  386. package/dist/commands/workflow-render.d.ts +114 -0
  387. package/dist/commands/workflow-render.d.ts.map +1 -0
  388. package/dist/commands/workflow-render.js +223 -0
  389. package/dist/commands/workflow-render.js.map +1 -0
  390. package/dist/commands/workflow.d.ts +1 -0
  391. package/dist/commands/workflow.d.ts.map +1 -1
  392. package/dist/commands/workflow.js +278 -14
  393. package/dist/commands/workflow.js.map +1 -1
  394. package/dist/config-store.d.ts +15 -1
  395. package/dist/config-store.d.ts.map +1 -1
  396. package/dist/config-store.js +103 -0
  397. package/dist/config-store.js.map +1 -1
  398. package/dist/cross-host-cli-helpers.d.ts +13 -0
  399. package/dist/cross-host-cli-helpers.d.ts.map +1 -1
  400. package/dist/cross-host-cli-helpers.js +27 -0
  401. package/dist/cross-host-cli-helpers.js.map +1 -1
  402. package/dist/cross-host-target.d.ts +49 -0
  403. package/dist/cross-host-target.d.ts.map +1 -0
  404. package/dist/cross-host-target.js +35 -0
  405. package/dist/cross-host-target.js.map +1 -0
  406. package/dist/host-registry.d.ts +8 -0
  407. package/dist/host-registry.d.ts.map +1 -1
  408. package/dist/host-registry.js +32 -0
  409. package/dist/host-registry.js.map +1 -1
  410. package/dist/host-selection.d.ts +13 -0
  411. package/dist/host-selection.d.ts.map +1 -0
  412. package/dist/host-selection.js +54 -0
  413. package/dist/host-selection.js.map +1 -0
  414. package/dist/index.d.ts +2 -0
  415. package/dist/index.d.ts.map +1 -1
  416. package/dist/index.js +2 -0
  417. package/dist/index.js.map +1 -1
  418. package/dist/remote-host-ops.d.ts +1 -0
  419. package/dist/remote-host-ops.d.ts.map +1 -1
  420. package/dist/remote-host-ops.js +11 -4
  421. package/dist/remote-host-ops.js.map +1 -1
  422. package/dist/session-name.d.ts +23 -0
  423. package/dist/session-name.d.ts.map +1 -0
  424. package/dist/session-name.js +61 -0
  425. package/dist/session-name.js.map +1 -0
  426. package/package.json +1 -1
  427. package/ui/dist/assets/index-CFqxa0zW.css +32 -0
  428. package/ui/dist/assets/index-zrFqS7gL.js +623 -0
  429. package/ui/dist/index.html +2 -2
  430. package/ui/dist/assets/index-D69ZhNIr.js +0 -598
  431. package/ui/dist/assets/index-DJYun-8d.css +0 -32
@@ -102,4 +102,53 @@ export async function remoteJsonRequest(host, path, opts) {
102
102
  : "";
103
103
  return { ok: false, kind: "http", status: res.status, detail: remoteError };
104
104
  }
105
+ /** One bounded daemon→daemon GET, body passed through as text for ANY origin
106
+ * status (arch P3 verbatim rule). Same bearer resolution + single-deadline +
107
+ * explicit body race discipline as remoteJsonRequest; never hangs, never
108
+ * throws. */
109
+ export async function remoteRawRequest(host, path, opts) {
110
+ const bearer = resolveBearer(host, opts);
111
+ if (!bearer.ok)
112
+ return { ok: false, kind: "bearer", detail: bearer.detail };
113
+ const fetchImpl = opts.fetchImpl ?? fetch;
114
+ const url = `${host.url.replace(/\/$/, "")}${path}`;
115
+ const controller = new AbortController();
116
+ const timer = setTimeout(() => controller.abort(), opts.timeoutMs);
117
+ let res;
118
+ try {
119
+ res = await fetchImpl(url, {
120
+ method: "GET",
121
+ headers: { Authorization: `Bearer ${bearer.token}` },
122
+ signal: controller.signal,
123
+ });
124
+ }
125
+ catch (err) {
126
+ clearTimeout(timer);
127
+ if (controller.signal.aborted)
128
+ return { ok: false, kind: "timeout", phase: "request", detail: "" };
129
+ return { ok: false, kind: "network", detail: err.message };
130
+ }
131
+ const abortRace = new Promise((_resolve, reject) => {
132
+ const onAbort = () => reject(new Error("body read aborted"));
133
+ if (controller.signal.aborted)
134
+ onAbort();
135
+ else
136
+ controller.signal.addEventListener("abort", onAbort, { once: true });
137
+ });
138
+ let bodyText = "";
139
+ let bodyTimedOut = false;
140
+ try {
141
+ bodyText = await Promise.race([res.text(), abortRace]);
142
+ }
143
+ catch {
144
+ if (controller.signal.aborted)
145
+ bodyTimedOut = true;
146
+ }
147
+ finally {
148
+ clearTimeout(timer);
149
+ }
150
+ if (bodyTimedOut)
151
+ return { ok: false, kind: "timeout", phase: "body", status: res.status, detail: "" };
152
+ return { ok: true, status: res.status, contentType: res.headers.get("content-type") ?? "application/json", bodyText };
153
+ }
105
154
  //# sourceMappingURL=remote-daemon-http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-daemon-http.js","sourceRoot":"","sources":["../../../src/domain/hosts/remote-daemon-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-daemon-http.js","sourceRoot":"","sources":["../../../src/domain/hosts/remote-daemon-http.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,18 @@ export declare function deriveNodeLifecycleState(input: {
36
36
  * Single source of truth consumed by CLI, UI, and MCP.
37
37
  */
38
38
  export declare function getNodeInventory(db: Database.Database, rigId: string): NodeInventoryEntry[];
39
+ /**
40
+ * FS-1 W1.2 — the rig-level N+1 collapse. Builds inventory for ALL rigs in a
41
+ * bounded, rig-count-INDEPENDENT set of queries: 3 batched setup reads
42
+ * (snapshots / workspaces / identity verdicts) + 1 all-rigs node SELECT, grouped
43
+ * by rig_id. Every entry is built through the SAME `buildInventoryEntry` that the
44
+ * per-rig `getNodeInventory` uses, so `getNodeInventoryForAllRigs(db).get(rigId)`
45
+ * is byte-identical to `getNodeInventory(db, rigId)` — the collapse changes only
46
+ * HOW the context + rows are fetched (batched vs per-rig), never how an entry is
47
+ * derived. Per-node reads inside `buildInventoryEntry` (`deriveRestoreOutcome`
48
+ * etc.) remain per-node and ride the 047 index — NOT the rig-level N+1 removed here.
49
+ */
50
+ export declare function getNodeInventoryForAllRigs(db: Database.Database): Map<string, NodeInventoryEntry[]>;
39
51
  /**
40
52
  * Get detailed node information including startup files, resources, and events.
41
53
  * The adapter dependency is optional — when provided, uses live listInstalled;
@@ -76,6 +88,12 @@ export declare function attachTerminalActivityAndWork(entries: NodeInventoryEntr
76
88
  db: Database.Database;
77
89
  seatActivity?: SeatActivityService;
78
90
  }): NodeInventoryEntry[];
91
+ /** EXPORTED (OPR.0.4.6.FAC1): the derived canonical coordinate
92
+ * `{pod}-{member}@{rig}` for an inventory entry — the binding layer's
93
+ * ONE string rule (tiebreak key AND recorded destination) reuses
94
+ * exactly this dual-key derivation, never a parallel one. */
95
+ export declare function deriveCanonicalFromEntry(entry: NodeInventoryEntry): string | null;
96
+ export declare function readPendingWorkBySession(db: Database.Database): Map<string, number>;
79
97
  export declare function attachAgentActivity(entries: NodeInventoryEntry[], deps: {
80
98
  tmuxAdapter: TmuxAdapter;
81
99
  activityStore?: AgentActivityStore;
@@ -1 +1 @@
1
- {"version":3,"file":"node-inventory.d.ts","sourceRoot":"","sources":["../../src/domain/node-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAyD,kBAAkB,EAAE,kBAAkB,EAAgD,QAAQ,EAAsC,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI1R,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAwJvD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,kBAAkB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC;;;gEAG4D;IAC5D,eAAe,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAClD,GAAG,kBAAkB,CA2BrB;AA0KD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAqI3F;AAiBD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,iGAAiG;IACjG,0BAA0B,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1F,GACA,eAAe,GAAG,IAAI,CA0JxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,iBAAiB,GACnC,kBAAkB,EAAE,CA0BtB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GACzC,eAAe,GAAG,IAAI,CAexB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,kBAAkB,EAAE,EAC7B,IAAI,EAAE;IAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAClE,kBAAkB,EAAE,CAiBtB;AAqED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAAE,EAC7B,IAAI,EAAE;IACJ,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,GAAG,CAAC,EAAE,IAAI,CAAC;IAaX,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2C/B"}
1
+ {"version":3,"file":"node-inventory.d.ts","sourceRoot":"","sources":["../../src/domain/node-inventory.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { identityVerdictDownranksRunning } from "./types.js";
2
2
  import { SeatIdentityStore } from "./seat-identity-store.js";
3
- import { deriveOriented } from "./startup-proof.js";
3
+ import { buildOrientedMap } from "./startup-proof.js";
4
4
  import { probeSessionActivity } from "./session-transport.js";
5
- import { findLatestUsableSnapshot } from "./rig-repository.js";
5
+ import { findLatestUsableSnapshot, findLatestUsableSnapshotsForAllRigs } from "./rig-repository.js";
6
6
  import { resolveNodeWorkspace } from "./workspace/workspace-resolver.js";
7
7
  import { deriveCanonicalSessionName } from "./session-name.js";
8
8
  import { buildNativeResumeCommand, buildCodexResumeCore } from "./native-resume-probe.js";
@@ -142,32 +142,47 @@ function deriveContinuityOutcome(row, restoreOutcome) {
142
142
  return null;
143
143
  return restoreOutcome;
144
144
  }
145
- function deriveRestoreOutcome(db, rigId, nodeId) {
146
- // OPR.0.3.4.11 + 0.4.0.16: per-node-latest across restore.completed,
147
- // restore.subset_completed, AND restore.outcome_reconciled.
148
- // restore.outcome_reconciled has a different shape: top-level nodeId/to,
149
- // not result.nodes[]. A newer reconcile overrides an older failure; an
150
- // older reconcile must not override a newer failure.
151
- const rows = db.prepare("SELECT type, payload, seq FROM events WHERE rig_id = ? AND type IN ('restore.completed', 'restore.subset_completed', 'restore.outcome_reconciled') ORDER BY seq DESC").all(rigId);
145
+ // FS-1 W1.3 S1 — hoist restore-outcome derivation to ONCE-PER-RIG.
146
+ // Prior shape: deriveRestoreOutcome(db, rigId, nodeId) fetched + JSON-parsed the
147
+ // rig's ENTIRE restore-event set once PER NODE inside buildInventoryEntry (K
148
+ // nodes x E events per rig per poll = the dominant W3 residual). This builds a
149
+ // nodeId->outcome map in ONE seq-DESC pass and buildInventoryEntry does an O(1)
150
+ // lookup.
151
+ // OPR.0.3.4.11 + 0.4.0.16: per-node-latest across restore.completed,
152
+ // restore.subset_completed, AND restore.outcome_reconciled. reconciled has a
153
+ // different shape (top-level nodeId/to, not result.nodes[]).
154
+ // BYTE-IDENTICAL BY CONSTRUCTION: the prior per-node reader returned the FIRST
155
+ // event in seq-DESC order that referenced the node. This single seq-DESC pass
156
+ // sets a node's outcome ONLY IF ABSENT — so the first (highest-seq) event
157
+ // referencing a node wins, reproducing exactly that (incl.
158
+ // newer-reconcile-overrides-older-failure). rigId given -> WHERE rig_id=? (the
159
+ // prior single-rig filter); rigId omitted -> all rigs in one pass (a nodeId is
160
+ // referenced only by its own rig's events, so the per-node value is identical).
161
+ // [GUARD AT CODE REVIEW: the only-if-absent set is the one load-bearing
162
+ // semantics cell — it is what preserves first/newest-wins.]
163
+ function buildRestoreOutcomeMap(db, rigId) {
164
+ const stmt = db.prepare(`SELECT type, payload, seq FROM events WHERE type IN ('restore.completed', 'restore.subset_completed', 'restore.outcome_reconciled')${rigId ? " AND rig_id = ?" : ""} ORDER BY seq DESC`);
165
+ const rows = (rigId ? stmt.all(rigId) : stmt.all());
166
+ const map = new Map();
152
167
  for (const row of rows) {
153
168
  try {
154
169
  if (row.type === "restore.outcome_reconciled") {
155
170
  const event = JSON.parse(row.payload);
156
- if (event.nodeId !== nodeId)
157
- continue;
158
- return mapStatus(event.to);
171
+ if (!map.has(event.nodeId))
172
+ map.set(event.nodeId, mapStatus(event.to));
173
+ continue;
159
174
  }
160
175
  const event = JSON.parse(row.payload);
161
- const nodeResult = event.result.nodes.find((n) => n.nodeId === nodeId);
162
- if (!nodeResult)
163
- continue;
164
- return mapStatus(nodeResult.status);
176
+ for (const nodeResult of event.result.nodes) {
177
+ if (!map.has(nodeResult.nodeId))
178
+ map.set(nodeResult.nodeId, mapStatus(nodeResult.status));
179
+ }
165
180
  }
166
181
  catch {
167
182
  continue;
168
183
  }
169
184
  }
170
- return "n-a";
185
+ return map;
171
186
  }
172
187
  function mapStatus(status) {
173
188
  if (status === "resumed")
@@ -288,6 +303,27 @@ export function getNodeInventory(db, rigId) {
288
303
  // per projection (cheap indexed read, defensive to a missing table). Gates
289
304
  // the running/active green derivations below.
290
305
  const identityVerdicts = new SeatIdentityStore(db).getForRig(rigId);
306
+ // FS-1 W1.3 S1/S2 — the per-node restore-outcome + oriented reads built ONCE
307
+ // for the rig (was a query per node inside the rows.map). rig-scoped restore
308
+ // map = the prior WHERE rig_id=? filter; oriented map is node-scoped/global.
309
+ const restoreOutcomes = buildRestoreOutcomeMap(db, rigId);
310
+ const orienteds = buildOrientedMap(db);
311
+ const rows = queryInventoryRows(db, rigId);
312
+ return rows.map((row) => buildInventoryEntry(db, row, { usableSnapshot, workspaceSpec, identityVerdicts, restoreOutcomes, orienteds }));
313
+ }
314
+ /**
315
+ * FS-1 W1.2 — the shared inventory-row query. Extracted verbatim from the prior
316
+ * inline `getNodeInventory` SELECT so the single-rig and all-rigs paths run the
317
+ * IDENTICAL query.
318
+ * - `rigId` given → one rig (`WHERE n.rig_id = ?`, `ORDER BY n.created_at`) —
319
+ * byte-identical to the prior per-rig read.
320
+ * - `rigId` omitted → ALL rigs in one pass (no WHERE; `ORDER BY n.rig_id,
321
+ * n.created_at` so JS grouping preserves each rig's `created_at` order,
322
+ * matching the per-rig ordering exactly).
323
+ * The latest-session subquery (`s2.node_id = n.id ORDER BY id DESC LIMIT 1`)
324
+ * rides the W1.1 index (051, idx_sessions_node_created_id).
325
+ */
326
+ function queryInventoryRows(db, rigId) {
291
327
  // Join nodes with newest session (max ULID = max session.id string comparison)
292
328
  // and the rig name
293
329
  const hasCodexConfigProfile = db.prepare("PRAGMA table_info(nodes)").all()
@@ -295,7 +331,7 @@ export function getNodeInventory(db, rigId) {
295
331
  const codexConfigProfileSelect = hasCodexConfigProfile
296
332
  ? "n.codex_config_profile"
297
333
  : "NULL";
298
- const rows = db.prepare(`
334
+ const stmt = db.prepare(`
299
335
  SELECT
300
336
  n.id as node_id,
301
337
  n.rig_id,
@@ -303,6 +339,7 @@ export function getNodeInventory(db, rigId) {
303
339
  n.logical_id,
304
340
  n.pod_id,
305
341
  p.namespace as pod_namespace,
342
+ n.role,
306
343
  n.runtime,
307
344
  n.model,
308
345
  ${codexConfigProfileSelect} as codex_config_profile,
@@ -332,82 +369,152 @@ export function getNodeInventory(db, rigId) {
332
369
  LEFT JOIN sessions s ON s.node_id = n.id
333
370
  AND s.id = (SELECT s2.id FROM sessions s2 WHERE s2.node_id = n.id ORDER BY s2.id DESC LIMIT 1)
334
371
  LEFT JOIN bindings b ON b.node_id = n.id
335
- WHERE n.rig_id = ?
336
- ORDER BY n.created_at
337
- `).all(rigId);
338
- return rows.map((row) => {
339
- const restoreOutcome = deriveRestoreOutcome(db, rigId, row.node_id);
340
- // OPR.0.4.3.19 rev1-r2 B1 — a durable verdict is keyed only by node_id, so
341
- // after a rebind/relaunch (same node, NEW session + NEW pane) a stale
342
- // `verified` verdict for the OLD pane would otherwise be served for the new
343
- // pane until the next 5s reconcile tick, suppressing down-rank and rendering
344
- // a fresh squat/orphan false-green. Make applicability LOAD-BEARING at read
345
- // time: a stored verdict applies ONLY when it was computed against the
346
- // current binding (its sessionName === the latest session AND its
347
- // registeredPane === the current binding pane). Otherwise treat it as ABSENT
348
- // (null) a STALE verdict becomes fail-open (never down-ranks a running
349
- // seat), it does NOT itself down-rank. Only a MATCHING mismatch/pane_missing
350
- // verdict down-ranks.
351
- const identityVerdict = applicableVerdict(identityVerdicts.get(row.node_id) ?? null, row);
352
- const lifecycleState = deriveNodeLifecycleState({
353
- sessionStatus: row.session_status,
354
- restoreOutcome,
355
- nodeId: row.node_id,
356
- usableSnapshot,
357
- identityVerdict: identityVerdict?.verdict ?? null,
358
- });
359
- return {
360
- rigId: row.rig_id,
361
- rigName: row.rig_name,
362
- logicalId: row.logical_id,
363
- podId: row.pod_id,
364
- podNamespace: row.pod_namespace,
365
- canonicalSessionName: row.session_name,
366
- attachmentType: row.binding_attachment_type ?? null,
367
- nodeKind: deriveNodeKind(row.runtime),
368
- runtime: row.runtime,
369
- sessionStatus: row.session_status,
370
- startupStatus: row.startup_status,
371
- restoreOutcome,
372
- oriented: deriveOriented(db, row.node_id),
373
- lifecycleState,
374
- occupantLifecycle: deriveOccupantLifecycle(row, identityVerdict?.verdict ?? null),
375
- continuityOutcome: deriveContinuityOutcome(row, restoreOutcome),
376
- handoverResult: row.handover_result ?? null,
377
- previousOccupant: row.previous_occupant,
378
- handoverAt: row.handover_at,
379
- tmuxAttachCommand: row.binding_attachment_type === "tmux" && row.session_name ? `tmux attach -t ${row.session_name}` : null,
380
- resumeCommand: computeResumeCommand(row.runtime, row.resume_token, row.codex_config_profile),
381
- // OPR.0.4.0.26: recoveryGuidance is NOT inlined per node in the LIST
382
- // payload. It duplicated ~47KB of templated prose across all nodes and
383
- // no node-list consumer reads it. The full guidance is recomputed on
384
- // the single-node detail path (getNodeDetail / GET
385
- // /api/rigs/:rigId/nodes/:logicalId) — relocation, not loss.
386
- recoveryGuidance: null,
387
- latestError: row.startup_status === "ready" ? null : getLatestError(db, rigId, row.node_id),
388
- // Extended fields
389
- model: row.model,
390
- agentRef: row.agent_ref,
391
- profile: row.profile,
392
- codexConfigProfile: row.codex_config_profile,
393
- resolvedSpecName: row.resolved_spec_name,
394
- resolvedSpecVersion: row.resolved_spec_version,
395
- resolvedSpecHash: row.resolved_spec_hash,
396
- cwd: row.cwd,
397
- restorePolicy: row.restore_policy,
398
- resumeType: row.resume_type,
399
- resumeToken: row.resume_token,
400
- startupCompletedAt: row.startup_completed_at,
401
- // PL-007 Workspace Primitive — per-node workspace summary derived
402
- // from cwd against the rig's typed workspace block. null when the
403
- // rig has no workspace declaration.
404
- workspace: resolveNodeWorkspace({ spec: workspaceSpec, cwd: row.cwd }),
405
- // OPR.0.4.3.19 — the liveness identity verdict (third axis). null when
406
- // never observed; carries evidence on mismatch/missing.
407
- identityVerdict,
408
- heldReason: deriveHeldReason(db, rigId, row.node_id, row.session_status),
409
- };
372
+ ${rigId ? "WHERE n.rig_id = ?" : ""}
373
+ ORDER BY ${rigId ? "n.created_at" : "n.rig_id, n.created_at"}
374
+ `);
375
+ return (rigId ? stmt.all(rigId) : stmt.all());
376
+ }
377
+ function buildInventoryEntry(db, row, ctx) {
378
+ const { usableSnapshot, workspaceSpec, identityVerdicts, restoreOutcomes, orienteds } = ctx;
379
+ // FS-1 W1.3 S1 O(1) lookup into the once-per-rig restore-outcome map
380
+ // (byte-identical to the prior per-node deriveRestoreOutcome; "n-a" when a node
381
+ // is referenced by no restore event, matching the prior fall-through).
382
+ const restoreOutcome = restoreOutcomes.get(row.node_id) ?? "n-a";
383
+ // OPR.0.4.3.19 rev1-r2 B1 a durable verdict is keyed only by node_id, so
384
+ // after a rebind/relaunch (same node, NEW session + NEW pane) a stale
385
+ // `verified` verdict for the OLD pane would otherwise be served for the new
386
+ // pane until the next 5s reconcile tick, suppressing down-rank and rendering
387
+ // a fresh squat/orphan false-green. Make applicability LOAD-BEARING at read
388
+ // time: a stored verdict applies ONLY when it was computed against the
389
+ // current binding (its sessionName === the latest session AND its
390
+ // registeredPane === the current binding pane). Otherwise treat it as ABSENT
391
+ // (null) — a STALE verdict becomes fail-open (never down-ranks a running
392
+ // seat), it does NOT itself down-rank. Only a MATCHING mismatch/pane_missing
393
+ // verdict down-ranks.
394
+ const identityVerdict = applicableVerdict(identityVerdicts.get(row.node_id) ?? null, row);
395
+ const lifecycleState = deriveNodeLifecycleState({
396
+ sessionStatus: row.session_status,
397
+ restoreOutcome,
398
+ nodeId: row.node_id,
399
+ usableSnapshot,
400
+ identityVerdict: identityVerdict?.verdict ?? null,
410
401
  });
402
+ return {
403
+ rigId: row.rig_id,
404
+ rigName: row.rig_name,
405
+ logicalId: row.logical_id,
406
+ podId: row.pod_id,
407
+ podNamespace: row.pod_namespace,
408
+ // OPR.0.4.6.FAC1: the seat-side role dimension (nodes.role,
409
+ // declared in the pod-member spec) — the workflow binding layer's
410
+ // candidate filter. null = role-less (never role-resolved).
411
+ role: row.role,
412
+ canonicalSessionName: row.session_name,
413
+ attachmentType: row.binding_attachment_type ?? null,
414
+ nodeKind: deriveNodeKind(row.runtime),
415
+ runtime: row.runtime,
416
+ sessionStatus: row.session_status,
417
+ startupStatus: row.startup_status,
418
+ restoreOutcome,
419
+ // FS-1 W1.3 S2 — O(1) lookup into the fleet-batched oriented map
420
+ // (byte-identical to the prior per-node deriveOriented; "n-a" when a node has
421
+ // no proof events, matching deriveOriented's no-challenge branch).
422
+ oriented: orienteds.get(row.node_id) ?? "n-a",
423
+ lifecycleState,
424
+ occupantLifecycle: deriveOccupantLifecycle(row, identityVerdict?.verdict ?? null),
425
+ continuityOutcome: deriveContinuityOutcome(row, restoreOutcome),
426
+ handoverResult: row.handover_result ?? null,
427
+ previousOccupant: row.previous_occupant,
428
+ handoverAt: row.handover_at,
429
+ tmuxAttachCommand: row.binding_attachment_type === "tmux" && row.session_name ? `tmux attach -t ${row.session_name}` : null,
430
+ resumeCommand: computeResumeCommand(row.runtime, row.resume_token, row.codex_config_profile),
431
+ // OPR.0.4.0.26: recoveryGuidance is NOT inlined per node in the LIST
432
+ // payload. It duplicated ~47KB of templated prose across all nodes and
433
+ // no node-list consumer reads it. The full guidance is recomputed on
434
+ // the single-node detail path (getNodeDetail / GET
435
+ // /api/rigs/:rigId/nodes/:logicalId) — relocation, not loss.
436
+ recoveryGuidance: null,
437
+ latestError: row.startup_status === "ready" ? null : getLatestError(db, row.rig_id, row.node_id),
438
+ // Extended fields
439
+ model: row.model,
440
+ agentRef: row.agent_ref,
441
+ profile: row.profile,
442
+ codexConfigProfile: row.codex_config_profile,
443
+ resolvedSpecName: row.resolved_spec_name,
444
+ resolvedSpecVersion: row.resolved_spec_version,
445
+ resolvedSpecHash: row.resolved_spec_hash,
446
+ cwd: row.cwd,
447
+ restorePolicy: row.restore_policy,
448
+ resumeType: row.resume_type,
449
+ resumeToken: row.resume_token,
450
+ startupCompletedAt: row.startup_completed_at,
451
+ // PL-007 Workspace Primitive — per-node workspace summary derived
452
+ // from cwd against the rig's typed workspace block. null when the
453
+ // rig has no workspace declaration.
454
+ workspace: resolveNodeWorkspace({ spec: workspaceSpec, cwd: row.cwd }),
455
+ // OPR.0.4.3.19 — the liveness identity verdict (third axis). null when
456
+ // never observed; carries evidence on mismatch/missing.
457
+ identityVerdict,
458
+ heldReason: deriveHeldReason(db, row.rig_id, row.node_id, row.session_status),
459
+ };
460
+ }
461
+ /** FS-1 W1.2 — all-rigs batched form of `readRigWorkspaceJson`: one query,
462
+ * `rigId → WorkspaceSpec`. Rigs with no/malformed workspace are absent (callers
463
+ * default to null — byte-identical to `readRigWorkspaceJson`'s null return). */
464
+ function readAllRigWorkspaceJson(db) {
465
+ const out = new Map();
466
+ try {
467
+ const rows = db.prepare("SELECT id, workspace_json FROM rigs").all();
468
+ for (const row of rows) {
469
+ if (!row.workspace_json)
470
+ continue;
471
+ try {
472
+ out.set(row.id, JSON.parse(row.workspace_json));
473
+ }
474
+ catch { /* malformed → absent → caller null (matches per-rig) */ }
475
+ }
476
+ }
477
+ catch { /* column/table absent → empty → caller null (matches per-rig defensive path) */ }
478
+ return out;
479
+ }
480
+ /**
481
+ * FS-1 W1.2 — the rig-level N+1 collapse. Builds inventory for ALL rigs in a
482
+ * bounded, rig-count-INDEPENDENT set of queries: 3 batched setup reads
483
+ * (snapshots / workspaces / identity verdicts) + 1 all-rigs node SELECT, grouped
484
+ * by rig_id. Every entry is built through the SAME `buildInventoryEntry` that the
485
+ * per-rig `getNodeInventory` uses, so `getNodeInventoryForAllRigs(db).get(rigId)`
486
+ * is byte-identical to `getNodeInventory(db, rigId)` — the collapse changes only
487
+ * HOW the context + rows are fetched (batched vs per-rig), never how an entry is
488
+ * derived. Per-node reads inside `buildInventoryEntry` (`deriveRestoreOutcome`
489
+ * etc.) remain per-node and ride the 047 index — NOT the rig-level N+1 removed here.
490
+ */
491
+ export function getNodeInventoryForAllRigs(db) {
492
+ const snapshotByRig = findLatestUsableSnapshotsForAllRigs(db);
493
+ const workspaceByRig = readAllRigWorkspaceJson(db);
494
+ const verdictsByRig = new SeatIdentityStore(db).getForAllRigs();
495
+ // FS-1 W1.3 S1/S2 — the per-node reads built ONCE for ALL rigs (O(1) queries,
496
+ // not O(nodes)). Restore map unscoped: a nodeId is referenced only by its own
497
+ // rig's restore events, so each node's value equals the single-rig path.
498
+ const restoreOutcomes = buildRestoreOutcomeMap(db);
499
+ const orienteds = buildOrientedMap(db);
500
+ const rows = queryInventoryRows(db);
501
+ const out = new Map();
502
+ for (const row of rows) {
503
+ const entry = buildInventoryEntry(db, row, {
504
+ usableSnapshot: snapshotByRig.get(row.rig_id) ?? null,
505
+ workspaceSpec: workspaceByRig.get(row.rig_id) ?? null,
506
+ identityVerdicts: verdictsByRig.get(row.rig_id) ?? new Map(),
507
+ restoreOutcomes,
508
+ orienteds,
509
+ });
510
+ let list = out.get(row.rig_id);
511
+ if (!list) {
512
+ list = [];
513
+ out.set(row.rig_id, list);
514
+ }
515
+ list.push(entry);
516
+ }
517
+ return out;
411
518
  }
412
519
  /** PL-007 — read the rig's typed workspace block from `rigs.workspace_json`
413
520
  * defensively. Migration 038 may not yet be applied in older test fixtures
@@ -689,7 +796,11 @@ function countPendingForEntry(entry, pendingByDest) {
689
796
  }
690
797
  return count;
691
798
  }
692
- function deriveCanonicalFromEntry(entry) {
799
+ /** EXPORTED (OPR.0.4.6.FAC1): the derived canonical coordinate
800
+ * `{pod}-{member}@{rig}` for an inventory entry — the binding layer's
801
+ * ONE string rule (tiebreak key AND recorded destination) reuses
802
+ * exactly this dual-key derivation, never a parallel one. */
803
+ export function deriveCanonicalFromEntry(entry) {
693
804
  if (!entry.rigName || !entry.logicalId)
694
805
  return null;
695
806
  const dotIdx = entry.logicalId.indexOf(".");
@@ -699,7 +810,7 @@ function deriveCanonicalFromEntry(entry) {
699
810
  const member = entry.logicalId.slice(dotIdx + 1);
700
811
  return deriveCanonicalSessionName(pod, member, entry.rigName);
701
812
  }
702
- function readPendingWorkBySession(db) {
813
+ export function readPendingWorkBySession(db) {
703
814
  const rows = db.prepare(`
704
815
  SELECT destination_session, COUNT(*) as c
705
816
  FROM queue_items
@@ -1 +1 @@
1
- {"version":3,"file":"node-inventory.js","sourceRoot":"","sources":["../../src/domain/node-inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-inventory.js","sourceRoot":"","sources":["../../src/domain/node-inventory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAoE1F,gBAAgB;AAEhB,SAAS,oBAAoB,CAAC,OAAsB,EAAE,WAA0B,EAAE,kBAAkC;IAClH,OAAO,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,uBAAuB,CAAC,KAMhC;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACxE,IAAI,GAAG;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEjC,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO,EAAE,WAAW;gBAClB,CAAC,CAAC,yFAAyF;gBAC3F,CAAC,CAAC,gFAAgF;YACpF,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACvF,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kCAAkC,kBAAkB,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,gEAAgE,WAAW,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW;gBAClB,CAAC,CAAC,2FAA2F;gBAC7F,CAAC,CAAC,2EAA2E;YAC/E,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB;IAC5C,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAUxC;IACC,yEAAyE;IACzE,yEAAyE;IACzE,qCAAqC;IACrC,IACE,KAAK,CAAC,cAAc,KAAK,oBAAoB;WAC1C,CAAC,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EAC3E,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACtC,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,+DAA+D;QAC/D,IAAI,+BAA+B,CAAC,KAAK,CAAC,eAAe,CAAC;YAAE,OAAO,oBAAoB,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CACjC,CAAC;QACF,IAAI,OAAO,WAAW,EAAE,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAiB,EACjB,eAAgD;IAEhD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,kBAA6D,CAAC;IAC3E,CAAC;IACD,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1F,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAiB,EACjB,cAAkC;IAElC,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,kBAA6D,CAAC;IAC3E,CAAC;IACD,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC1C,wEAAwE;IACxE,gEAAgE;IAChE,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,cAAc,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,cAAc,KAAK,oBAAoB;QAAE,OAAO,SAAS,CAAC;IAC9D,+EAA+E;IAC/E,kEAAkE;IAClE,mDAAmD;IACnD,IAAI,cAAc,KAAK,cAAc;QAAE,OAAO,OAAO,CAAC;IACtD,IAAI,cAAc,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,mEAAmE;AACnE,iFAAiF;AACjF,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,UAAU;AACV,uEAAuE;AACvE,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAC/E,8EAA8E;AAC9E,0EAA0E;AAC1E,2DAA2D;AAC3D,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,wEAAwE;AACxE,6DAA6D;AAC7D,SAAS,sBAAsB,CAAC,EAAqB,EAAE,KAAc;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,sIAAsI,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,oBAAoB,CACzL,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAqD,CAAC;IACxG,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAmC,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAA8B,CAAC;YACnE,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACvC,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACrD,IAAI,MAAM,KAAK,mBAAmB;QAAE,OAAO,mBAAmB,CAAC;IAC/D,IAAI,MAAM,KAAK,oBAAoB;QAAE,OAAO,oBAAoB,CAAC;IACjE,IAAI,MAAM,KAAK,oBAAoB;QAAE,OAAO,oBAAoB,CAAC;IACjE,IAAI,MAAM,KAAK,oBAAoB;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,MAAM,KAAK,qBAAqB;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,aAA4B;IAC1G,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAE7C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,oGAAoG,CACrG,CAAC,GAAG,CAAC,MAAM,CAAiD,CAAC;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,uEAAuE;IACvE,mFAAmF;IACnF,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,EAAE,CAAC,OAAO,CACjC,yIAAyI,CAC1I,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAA0B,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAqD,CAAC;YAC1F,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAwB,CAAC;QAClE,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAqB,EAAE,KAAa,EAAE,MAAc;IAC1E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,wHAAwH,CACzH,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAoC,CAAC;IAExD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC;QAC5D,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAkB;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,CAA2B,CAAC;QAC1C,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,EAAE;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,iBAAiB,CACxB,OAAmC,EACnC,GAA6D;IAE7D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,KAAK,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mBAAmB;AAEnB;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,KAAa;IACnE,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,cAAc,GAAG,wBAAwB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3D,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,aAAa,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtD,6EAA6E;IAC7E,2EAA2E;IAC3E,8CAA8C;IAC9C,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,eAAe,GAAG,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAE3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAC9G,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,EAAqB,EAAE,KAAc;IAC/D,+EAA+E;IAC/E,mBAAmB;IACnB,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE;SACvE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAyB,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IAC7E,MAAM,wBAAwB,GAAG,qBAAqB;QACpD,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;QAWlB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2B1B,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;eACxB,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB;GAC7D,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAmB,CAAC;AAClE,CAAC;AAkBD,SAAS,mBAAmB,CAC1B,EAAqB,EACrB,GAAiB,EACjB,GAA0B;IAE1B,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAC5F,uEAAuE;IACvE,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;IACjE,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,kEAAkE;IAClE,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,sBAAsB;IACtB,MAAM,eAAe,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1F,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC9C,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,cAAc;QACd,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,cAAc;QACd,eAAe,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI;KAClD,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,4DAA4D;QAC5D,kEAAkE;QAClE,4DAA4D;QAC5D,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,oBAAoB,EAAE,GAAG,CAAC,YAAY;QACtC,cAAc,EAAG,GAAG,CAAC,uBAAgE,IAAI,IAAI;QAC7F,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACrC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,aAAa,EAAE,GAAG,CAAC,cAAqD;QACxE,cAAc;QACd,iEAAiE;QACjE,8EAA8E;QAC9E,mEAAmE;QACnE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK;QAC7C,cAAc;QACd,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI,CAAC;QACjF,iBAAiB,EAAE,uBAAuB,CAAC,GAAG,EAAE,cAAc,CAAC;QAC/D,cAAc,EAAE,GAAG,CAAC,eAAuD,IAAI,IAAI;QACnF,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;QACvC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,iBAAiB,EAAE,GAAG,CAAC,uBAAuB,KAAK,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;QAC3H,aAAa,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,oBAAoB,CAAC;QAC5F,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,mDAAmD;QACnD,6DAA6D;QAC7D,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,GAAG,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC;QAChG,kBAAkB;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;QAC5C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;QAC9C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;QAC5C,kEAAkE;QAClE,kEAAkE;QAClE,oCAAoC;QACpC,SAAS,EAAE,oBAAoB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACtE,uEAAuE;QACvE,wDAAwD;QACxD,eAAe;QACf,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;iFAEiF;AACjF,SAAS,uBAAuB,CAAC,EAAqB;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,EAA0D,CAAC;QAC7H,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,cAAc;gBAAE,SAAS;YAClC,IAAI,CAAC;gBAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAkB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,wDAAwD,CAAC,CAAC;QAC9I,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,gFAAgF,CAAC,CAAC;IAC5F,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAqB;IAC9D,MAAM,aAAa,GAAG,mCAAmC,CAAC,EAAE,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IAChE,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,eAAe,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE;YACzC,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI;YACrD,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI;YACrD,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;YAC5D,eAAe;YACf,SAAS;SACV,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;oBAGoB;AACpB,SAAS,oBAAoB,CAAC,EAAqB,EAAE,KAAa;IAChE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC;aACnE,GAAG,CAAC,KAAK,CAAkD,CAAC;QAC/D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAkB,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAqB,EACrB,KAAa,EACb,SAAiB,EACjB,IAIC;IAED,gCAAgC;IAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,mBAAmB;IACnB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,0DAA0D,CAC3D,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAA+B,CAAC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAE1B,UAAU;IACV,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,MAAM,CAA2B,CAAC;IAChH,MAAM,OAAO,GAAmB,UAAU,CAAC,CAAC,CAAC;QAC3C,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,MAAM;QACN,cAAc,EAAG,UAAU,CAAC,eAA6C,IAAI,MAAM;QACnF,WAAW,EAAE,UAAU,CAAC,YAAY;QACpC,UAAU,EAAE,UAAU,CAAC,WAAW;QAClC,QAAQ,EAAE,UAAU,CAAC,SAAS;QAC9B,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,IAAI,IAAI;QAC7D,aAAa,EAAE,UAAU,CAAC,cAAc;QACxC,WAAW,EAAE,UAAU,CAAC,YAAY;QACpC,SAAS,EAAE,UAAU,CAAC,UAAU;KACjC,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,kBAAkB;IAClB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,sDAAsD,CACvD,CAAC,GAAG,CAAC,MAAM,CAAkC,CAAC;IAE/C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,gFAAgF;IAChF,IAAI,kBAAyD,CAAC;IAC9D,IAAI,IAAI,EAAE,0BAA0B,EAAE,CAAC;QACrC,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC;IACvD,CAAC;SAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5D,oFAAoF;QACpF,oFAAoF;QACpF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAE,CAAC;YACpD,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAY,CAAC;YAChE,4DAA4D;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,kBAAkB,GAAI,SAAqF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtH,EAAE,EAAE,CAAC,CAAC,WAAW;oBACjB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,UAAU,EAAE,CAAC,CAAC,aAAa;iBAC5B,CAAC,CAAC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sBAAsB;QACtB,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAC1B,mEAAmE,CACpE,CAAC,GAAG,CAAC,MAAM,CAAe,CAAC;IAE5B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,IAAI,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9D,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,IAAI,4BAA4B,GAAkB,IAAI,CAAC;IACvD,IAAI,KAAK,CAAC,QAAQ,KAAK,gBAAgB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC5F,IAAI,cAAc,EAAE,CAAC;YACnB,4BAA4B,GAAG,cAAc,CAAC,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,KAAK,GAAqB,UAAU;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;QAC5C,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;IAEN,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,wGAAwG;QACxG,eAAe;QACf,yCAAyC;QACzC,yCAAyC;QACzC,6DAA6D,CAC9D,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAA4G,CAAC;IAExI,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAClI,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,WAAW,GAA0B;QACzC,IAAI,EAAE,KAAK,CAAC,gBAAgB;QAC5B,OAAO,EAAE,KAAK,CAAC,mBAAmB;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;QACtG,aAAa,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,MAAM;KACrH,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,kEAAkE;QAClE,mEAAmE;QACnE,8DAA8D;QAC9D,gBAAgB,EAAE,uBAAuB,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,WAAW,EAAE,KAAK,CAAC,oBAAoB;YACvC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;SAC7C,CAAC;QACF,OAAO;QACP,YAAY;QACZ,cAAc;QACd,kBAAkB;QAClB,YAAY;QACZ,4BAA4B;QAC5B,KAAK;QACL,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,6BAA6B;QAC5F,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,EAAqB,EACrB,KAAa,EACb,iBAAoC;IAEpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAE5C,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,mDAAmD,CACpD,CAAC,GAAG,CAAC,KAAK,CAA8C,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;QAChD,kBAAkB,EAAE,CAAC,CAAC,oBAAoB;KAC3C,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEjE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClF,iEAAiE;QACjE,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,OAAO,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,KAAa,EACb,SAAiB,EACjB,iBAAoC,EACpC,IAA0C;IAE1C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CACxB,0DAA0D,CAC3D,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAA+B,CAAC;IAEtD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9F,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA6B,EAC7B,IAAmE;IAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IAC/C,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,cAAc,GAA+B,SAAS,CAAC;QAC3D,IAAI,YAAY,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACrE,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,CAAC;QACD,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChE,OAAO;YACL,GAAG,KAAK;YACR,cAAc;YACd,eAAe,EAAE,YAAY,GAAG,CAAC;YACjC,gBAAgB,EAAE,YAAY;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,oBAAoB,CAC3B,KAAyB,EACzB,aAAkC;IAElC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAAK,CAAC,oBAAoB;QAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO;QAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;8DAG8D;AAC9D,MAAM,UAAU,wBAAwB,CAAC,KAAyB;IAChE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,OAAO,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAqB;IAC5D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;GAKvB,CAAC,CAAC,GAAG,EAAuD,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA6B,EAC7B,IAiBC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC;YACxD,WAAW,EAAE,KAAK,CAAC,oBAAoB;YACvC,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,KAAK;gBACR,aAAa,EAAE,YAAY;aAC5B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,4EAA4E;YAC5E,wEAAwE;YACxE,uEAAuE;YACvE,OAAO;gBACL,GAAG,KAAK;gBACR,aAAa,EAAE;oBACb,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,iBAAiB;oBACzB,cAAc,EAAE,kBAAkB;oBAClC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;oBAClC,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,KAAK;YACR,aAAa,EAAE,MAAM,oBAAoB,CAAC;gBAC1C,WAAW,EAAE,KAAK,CAAC,oBAAoB;gBACvC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,EAAE,SAAS;aACf,CAAC;SACD,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -4,6 +4,7 @@ import type { SessionRegistry } from "./session-registry.js";
4
4
  import type { EventBus } from "./event-bus.js";
5
5
  import type { TmuxAdapter } from "../adapters/tmux.js";
6
6
  import type { TranscriptStore } from "./transcript-store.js";
7
+ import type { TmuxOptionDefaultsApplier } from "./tmux-option-defaults.js";
7
8
  import type { Session, Binding } from "./types.js";
8
9
  export type LaunchResult = {
9
10
  ok: true;
@@ -39,6 +40,15 @@ interface NodeLauncherDeps {
39
40
  * SeatActivityService global default (3s). Per-seat override via
40
41
  * LaunchOpts is currently inert. */
41
42
  defaultSilenceWindowSeconds?: number;
43
+ /**
44
+ * OPR.0.4.6.02 S1 — the SHARED tmux option-defaults applier (mouse/status
45
+ * session-scope + set-clipboard/copy-command server-scope), applied to the
46
+ * just-created session at launch. Injected from startup so the same
47
+ * instance (and its once-per-daemon server-defaults memo) is shared with
48
+ * SuccessorSessionLauncher. When omitted (most unit tests), the launch path
49
+ * skips option application entirely.
50
+ */
51
+ tmuxOptionDefaults?: TmuxOptionDefaultsApplier;
42
52
  }
43
53
  export declare class NodeLauncher {
44
54
  readonly db: Database.Database;
@@ -49,6 +59,7 @@ export declare class NodeLauncher {
49
59
  private transcriptStore;
50
60
  private sessionEnv;
51
61
  private defaultSilenceWindowSeconds;
62
+ private tmuxOptionDefaults;
52
63
  constructor(deps: NodeLauncherDeps);
53
64
  launchNode(rigId: string, logicalId: string, opts?: LaunchOpts): Promise<LaunchResult>;
54
65
  }