@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
@@ -0,0 +1,153 @@
1
+ // OPR.0.4.6.PI1 — the shared, PURE contract between the Pi runtime adapter,
2
+ // the Pi resume adapter, and the pane-hosted pi-runner process.
3
+ //
4
+ // Everything here is side-effect-free (constants + string/argv/env builders +
5
+ // the runner-state sidecar shape) so the runner entry can import it without
6
+ // dragging daemon dependencies into the pane process, and the adapter/resume
7
+ // tests can assert command construction hermetically.
8
+ //
9
+ // Contract summary (PRD FR-2/FR-3/FR-5/FR-7):
10
+ // - The adapter launches `node <runnerEntry> …` inside the seat's tmux pane.
11
+ // - The runner spawns `pi --mode rpc` with seat-scoped PI_CODING_AGENT_DIR /
12
+ // PI_CODING_AGENT_SESSION_DIR and a deny-by-default env allowlist (BR-3).
13
+ // - Every managed launch carries an EXPLICIT trust flag (BR-5) — ambient
14
+ // `ask` silently skips in RPC mode, it never asks.
15
+ // - The runner persists `runner-state.json` (the sidecar) from RPC
16
+ // `get_state`, and prints the READY marker to the pane; the daemon reads
17
+ // ONLY runner-authored surfaces — never Pi TUI heuristics (BR-1).
18
+ import nodePath from "node:path";
19
+ import { shellQuote } from "./shell-quote.js";
20
+ export function piSeatPaths(stateRoot, sessionName) {
21
+ const seatRoot = nodePath.join(stateRoot, sessionName);
22
+ return {
23
+ seatRoot,
24
+ agentDir: nodePath.join(seatRoot, "agent"),
25
+ sessionsDir: nodePath.join(seatRoot, "sessions"),
26
+ runnerStatePath: nodePath.join(seatRoot, "runner-state.json"),
27
+ };
28
+ }
29
+ // ── Pane markers (runner-authored; the adapter greps for THESE, never Pi UI) ─
30
+ export const PI_RUNNER_READY_MARKER = "[pi-runner] READY";
31
+ export const PI_RUNNER_EXIT_MARKER = "[pi-runner] EXITED";
32
+ export const PI_RUNNER_ERROR_MARKER = "[pi-runner] ERROR";
33
+ /** The launch-scoped pending record every writer uses when resetting the
34
+ * sidecar for a new attempt. It deliberately CARRIES the prior lastEntryId:
35
+ * the durable catch-up cursor (FR-5) must survive the stale-artifact reset —
36
+ * erasing it broke get_entries-since on resume (guard re-verdict,
37
+ * qitem-20260707013815). Everything else from the prior record is exactly
38
+ * the stale state the reset exists to scope away. */
39
+ export function buildPendingRunnerState(launchId, updatedAt, prior) {
40
+ return {
41
+ ready: false,
42
+ launchId,
43
+ lastEntryId: prior?.lastEntryId,
44
+ updatedAt,
45
+ };
46
+ }
47
+ export function parsePiRunnerState(raw) {
48
+ try {
49
+ const parsed = JSON.parse(raw);
50
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
51
+ return null;
52
+ const state = parsed;
53
+ if (typeof state.ready !== "boolean" || typeof state.updatedAt !== "string")
54
+ return null;
55
+ return parsed;
56
+ }
57
+ catch {
58
+ return null;
59
+ }
60
+ }
61
+ // ── Provider env passthrough (BR-3 / FR-7) ──────────────────────────────────
62
+ // Deny-by-default: the runner passes the pi child ONLY the baseline vars plus
63
+ // the DECLARED provider's key var. Extending this map is a reviewed change,
64
+ // never a convenience edit. Custom/local providers configure keys via the
65
+ // seat's managed models.json instead (their vars are not ambient-forwarded).
66
+ export const PI_PROVIDER_ENV_VARS = {
67
+ // Founder ruling 2026-07-06 (supersedes the PRD FR-7 zai/kimi-first framing):
68
+ // OpenRouter is the PREFERRED provider path — one key covers the GLM and
69
+ // Kimi model families and is the cheaper/easier route users actually take.
70
+ // The native providers stay supported as secondary paths.
71
+ "openrouter": "OPENROUTER_API_KEY",
72
+ "zai": "ZAI_API_KEY",
73
+ "kimi-coding": "KIMI_API_KEY",
74
+ };
75
+ // Baseline process needs for a spawned pi child. No OPENRIG_*, no host
76
+ // credential families, no shell customization vars.
77
+ export const PI_ENV_BASELINE_VARS = ["PATH", "HOME", "TERM", "LANG", "LC_ALL", "SHELL", "TMPDIR"];
78
+ /** Model declaration: Pi accepts `--model provider/id`. The provider segment
79
+ * (before the first "/") selects the env passthrough var, if any. */
80
+ export function providerFromModel(model) {
81
+ const trimmed = model?.trim() ?? "";
82
+ const slash = trimmed.indexOf("/");
83
+ if (slash <= 0)
84
+ return null;
85
+ return trimmed.slice(0, slash);
86
+ }
87
+ /** Build the deny-by-default env for the pi child process (BR-3). `source` is
88
+ * the runner's own env; only allowlisted names cross the boundary. */
89
+ export function buildPiChildEnv(source, opts) {
90
+ const env = {};
91
+ for (const name of PI_ENV_BASELINE_VARS) {
92
+ const value = source[name];
93
+ if (value !== undefined)
94
+ env[name] = value;
95
+ }
96
+ env.PI_CODING_AGENT_DIR = opts.agentDir;
97
+ env.PI_CODING_AGENT_SESSION_DIR = opts.sessionsDir;
98
+ const provider = providerFromModel(opts.model);
99
+ const providerVar = provider ? PI_PROVIDER_ENV_VARS[provider] : undefined;
100
+ if (providerVar && source[providerVar] !== undefined) {
101
+ env[providerVar] = source[providerVar];
102
+ }
103
+ return env;
104
+ }
105
+ /** The command typed into the seat's tmux pane. The runner owns everything
106
+ * past this boundary (pi spawn, env allowlist, RPC, mirror, sidecar). */
107
+ export function buildPiRunnerCommand(opts) {
108
+ const parts = [
109
+ "node",
110
+ shellQuote(opts.runnerEntryPath),
111
+ "--session-name", shellQuote(opts.sessionName),
112
+ "--state-root", shellQuote(opts.stateRoot),
113
+ "--cwd", shellQuote(opts.cwd),
114
+ "--launch-id", shellQuote(opts.launchId),
115
+ `--${opts.trust}`,
116
+ ];
117
+ if (opts.model?.trim()) {
118
+ parts.push("--model", shellQuote(opts.model.trim()));
119
+ }
120
+ if (opts.sessionFile) {
121
+ parts.push("--session", shellQuote(opts.sessionFile));
122
+ }
123
+ if (opts.forkRef) {
124
+ parts.push("--fork", shellQuote(opts.forkRef));
125
+ }
126
+ return parts.join(" ");
127
+ }
128
+ /** Argv for the `pi` child the RUNNER spawns (argv-style, no shell). The
129
+ * explicit `--session-dir` wins over env per Pi's documented precedence —
130
+ * both are set so the isolation holds even if one layer regresses. */
131
+ export function buildPiChildArgs(opts) {
132
+ const args = [
133
+ "--mode", "rpc",
134
+ "--session-dir", opts.sessionsDir,
135
+ "--name", opts.sessionName,
136
+ `--${opts.trust}`,
137
+ ];
138
+ if (opts.model?.trim()) {
139
+ args.push("--model", opts.model.trim());
140
+ }
141
+ if (opts.sessionFile) {
142
+ // Exact file resume — NEVER --resume (interactive picker; forbidden in
143
+ // managed paths, PRD FR-6).
144
+ args.push("--session", opts.sessionFile);
145
+ }
146
+ else if (opts.forkRef) {
147
+ // Whole-session fork with parentSession linkage — CLI --fork, NOT RPC
148
+ // fork (which is by-entryId on the active session; a different operation).
149
+ args.push("--fork", opts.forkRef);
150
+ }
151
+ return args;
152
+ }
153
+ //# sourceMappingURL=pi-runner-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-runner-protocol.js","sourceRoot":"","sources":["../../src/adapters/pi-runner-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { type PiRunnerState } from "./pi-runner-protocol.js";
2
+ export declare class PasteAggregator {
3
+ private onFlush;
4
+ private quietMs;
5
+ private schedule;
6
+ private cancel;
7
+ private buffer;
8
+ private timer;
9
+ constructor(onFlush: (block: string) => void, quietMs?: number, schedule?: (fn: () => void, ms: number) => ReturnType<typeof setTimeout>, cancel?: (t: ReturnType<typeof setTimeout>) => void);
10
+ addLine(line: string): void;
11
+ flush(): void;
12
+ }
13
+ export interface MirrorAndActivity {
14
+ /** Lines to print to the pane (already human-readable). */
15
+ mirrorLines: string[];
16
+ /** Raw text to append to the current mirror line (streamed deltas). */
17
+ mirrorAppend?: string;
18
+ /** Activity POST payload (hookEvent/subtype), when the event maps to one. */
19
+ activity?: {
20
+ hookEvent: string;
21
+ subtype: string | null;
22
+ };
23
+ /** Streaming-state transition, when the event carries one. */
24
+ streaming?: boolean;
25
+ }
26
+ /** Tolerant text extraction from a Pi message shape (string, {text}, or
27
+ * content-block arrays). Exact field calibration is a VM-proof concern; this
28
+ * covers the documented shapes without throwing on unknowns. */
29
+ export declare function extractMessageText(message: unknown): string;
30
+ export declare function mapPiEvent(event: Record<string, unknown>): MirrorAndActivity;
31
+ export interface RunnerIo {
32
+ /** Write one JSONL command to pi stdin. */
33
+ sendRpc(cmd: Record<string, unknown>): void;
34
+ /** Print a full line to the pane. */
35
+ mirrorLine(line: string): void;
36
+ /** Append raw text to the current pane line (streamed deltas). */
37
+ mirrorAppend(text: string): void;
38
+ /** Fire-and-forget POST to the daemon activity endpoint. */
39
+ postActivity(payload: Record<string, unknown>): void;
40
+ /** Persist the runner-state sidecar. */
41
+ writeSidecar(state: PiRunnerState): void;
42
+ now(): string;
43
+ }
44
+ export declare class RunnerCore {
45
+ private io;
46
+ private identity;
47
+ private opts;
48
+ private streaming;
49
+ private sessionFile;
50
+ private sessionId;
51
+ private lastEntryId;
52
+ private ready;
53
+ constructor(io: RunnerIo, identity: {
54
+ sessionName: string;
55
+ nodeId?: string;
56
+ launchId?: string;
57
+ }, opts?: {
58
+ catchUpSince?: string;
59
+ });
60
+ /** Kick off identity capture. Called once pi's RPC stream is up. */
61
+ start(): void;
62
+ /** One LF-delimited JSONL record from pi stdout. */
63
+ handlePiLine(rawLine: string): void;
64
+ /** One aggregated paste block from pane stdin. */
65
+ handleUserBlock(block: string): void;
66
+ /** Pi process exit — honest, loud, durable. */
67
+ handlePiExit(code: number | null): void;
68
+ private handleResponse;
69
+ private handleEvent;
70
+ private activityPayload;
71
+ private writeSidecar;
72
+ }
73
+ interface RunnerArgs {
74
+ sessionName: string;
75
+ stateRoot: string;
76
+ cwd: string;
77
+ launchId: string;
78
+ model?: string;
79
+ trust: "approve" | "no-approve";
80
+ sessionFile?: string;
81
+ forkRef?: string;
82
+ }
83
+ export declare function parseRunnerArgs(argv: string[]): RunnerArgs;
84
+ /** The runner-side sidecar handshake, extracted for hermetic testing (guard
85
+ * re-verdict, qitem-20260707013815): read the PRIOR record's durable cursor
86
+ * FIRST, then stamp the launch-scoped pending record — the write carries the
87
+ * cursor forward so no reset in the chain can erase it. `catchUpSince` is
88
+ * only surfaced when resuming: a fresh/fork session has no prior projection
89
+ * to catch up. */
90
+ export declare function prepareRunnerSidecar(fsOps: {
91
+ readFile(p: string): string;
92
+ writeFile(p: string, c: string): void;
93
+ exists(p: string): boolean;
94
+ }, runnerStatePath: string, launchId: string, resuming: boolean, now: () => string): {
95
+ catchUpSince: string | undefined;
96
+ };
97
+ export declare function main(argv?: string[]): Promise<void>;
98
+ export {};
99
+ //# sourceMappingURL=pi-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-runner.d.ts","sourceRoot":"","sources":["../../src/adapters/pi-runner.ts"],"names":[],"mappings":"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"}