@openrig/cli 0.6.11 → 0.6.13

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 (1322) hide show
  1. package/README.md +23 -13
  2. package/daemon/assets/claude-statusline-context.cjs +2 -0
  3. package/daemon/assets/guidance/openrig-start.md +2 -1
  4. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  5. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  6. package/daemon/assets/plugins/openrig-core/README.md +37 -7
  7. package/daemon/assets/plugins/openrig-core/hooks/claude.json +7 -7
  8. package/daemon/assets/plugins/openrig-core/hooks/codex.json +2 -2
  9. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +93 -0
  10. package/daemon/assets/plugins/openrig-core/hooks/scripts/compaction-restore-bridge.cjs +23 -0
  11. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus-health.cjs +4 -2
  12. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +76 -20
  13. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +24 -0
  14. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +25 -5
  15. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -2
  16. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +15 -1
  17. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +1 -1
  18. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +172 -11
  19. package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +7 -4
  20. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +8 -0
  21. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +61 -16
  22. package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  23. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +19 -0
  24. package/daemon/assets/skills/rigs/SKILL.md +63 -13
  25. package/daemon/context-packs/help/manifest.yaml +1 -1
  26. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  27. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +160 -43
  28. package/daemon/context-packs/reference/getting-started.md +81 -18
  29. package/daemon/context-packs/reference/manifest.yaml +1 -1
  30. package/daemon/context-packs/reference/rig-spec.md +67 -6
  31. package/daemon/context-packs/reference/whats-new.md +99 -151
  32. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +24 -0
  37. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +1 -1
  46. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +0 -1
  48. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  50. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  56. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/delegating-work/SKILL.md +25 -5
  59. package/daemon/context-packs/skills/delegating-work/manifest.yaml +3 -3
  60. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +4 -2
  61. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +15 -1
  64. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/openrig-user/SKILL.md +172 -11
  67. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/SKILL.md +7 -4
  69. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +1 -1
  79. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  89. package/daemon/context-packs/skills/queue-handoff/SKILL.md +8 -0
  90. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  92. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +61 -16
  93. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  94. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  95. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +19 -0
  97. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  98. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  99. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  100. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  101. package/daemon/dist/adapters/bounded-probe-exec.d.ts +45 -0
  102. package/daemon/dist/adapters/bounded-probe-exec.d.ts.map +1 -0
  103. package/daemon/dist/adapters/bounded-probe-exec.js +204 -0
  104. package/daemon/dist/adapters/bounded-probe-exec.js.map +1 -0
  105. package/daemon/dist/adapters/claude-code-adapter.d.ts +26 -2
  106. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  107. package/daemon/dist/adapters/claude-code-adapter.js +275 -76
  108. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  109. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  110. package/daemon/dist/adapters/claude-resume.js +14 -3
  111. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  112. package/daemon/dist/adapters/codex-resume.d.ts +5 -0
  113. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  114. package/daemon/dist/adapters/codex-resume.js +17 -3
  115. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  116. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +38 -1
  117. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  118. package/daemon/dist/adapters/codex-runtime-adapter.js +184 -11
  119. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  120. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts +46 -0
  121. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts.map +1 -0
  122. package/daemon/dist/adapters/community-harness-runtime-adapter.js +102 -0
  123. package/daemon/dist/adapters/community-harness-runtime-adapter.js.map +1 -0
  124. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  125. package/daemon/dist/adapters/compose-services-adapter.js +2 -1
  126. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  127. package/daemon/dist/adapters/kernel-authority.d.ts +8 -1
  128. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  129. package/daemon/dist/adapters/kernel-authority.js +35 -10
  130. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  131. package/daemon/dist/adapters/omp-rpc-frame.d.ts +51 -0
  132. package/daemon/dist/adapters/omp-rpc-frame.d.ts.map +1 -0
  133. package/daemon/dist/adapters/omp-rpc-frame.js +153 -0
  134. package/daemon/dist/adapters/omp-rpc-frame.js.map +1 -0
  135. package/daemon/dist/adapters/pi-openrouter-charge.d.ts +67 -0
  136. package/daemon/dist/adapters/pi-openrouter-charge.d.ts.map +1 -0
  137. package/daemon/dist/adapters/pi-openrouter-charge.js +228 -0
  138. package/daemon/dist/adapters/pi-openrouter-charge.js.map +1 -0
  139. package/daemon/dist/adapters/pi-readiness.d.ts +81 -5
  140. package/daemon/dist/adapters/pi-readiness.d.ts.map +1 -1
  141. package/daemon/dist/adapters/pi-readiness.js +193 -27
  142. package/daemon/dist/adapters/pi-readiness.js.map +1 -1
  143. package/daemon/dist/adapters/pi-resume.d.ts +5 -1
  144. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  145. package/daemon/dist/adapters/pi-resume.js +6 -1
  146. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  147. package/daemon/dist/adapters/pi-runner-protocol.d.ts +13 -0
  148. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  149. package/daemon/dist/adapters/pi-runner-protocol.js +21 -0
  150. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  151. package/daemon/dist/adapters/pi-runner.d.ts +72 -4
  152. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  153. package/daemon/dist/adapters/pi-runner.js +405 -28
  154. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  155. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +16 -1
  156. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  157. package/daemon/dist/adapters/pi-runtime-adapter.js +19 -0
  158. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  159. package/daemon/dist/adapters/preflight-exec.d.ts +3 -0
  160. package/daemon/dist/adapters/preflight-exec.d.ts.map +1 -1
  161. package/daemon/dist/adapters/preflight-exec.js +15 -7
  162. package/daemon/dist/adapters/preflight-exec.js.map +1 -1
  163. package/daemon/dist/adapters/replace-file.d.ts +8 -0
  164. package/daemon/dist/adapters/replace-file.d.ts.map +1 -0
  165. package/daemon/dist/adapters/replace-file.js +32 -0
  166. package/daemon/dist/adapters/replace-file.js.map +1 -0
  167. package/daemon/dist/adapters/stub-compaction.d.ts +1 -0
  168. package/daemon/dist/adapters/stub-compaction.d.ts.map +1 -1
  169. package/daemon/dist/adapters/stub-compaction.js +2 -0
  170. package/daemon/dist/adapters/stub-compaction.js.map +1 -1
  171. package/daemon/dist/adapters/stub-refocus.d.ts +6 -0
  172. package/daemon/dist/adapters/stub-refocus.d.ts.map +1 -0
  173. package/daemon/dist/adapters/stub-refocus.js +22 -0
  174. package/daemon/dist/adapters/stub-refocus.js.map +1 -0
  175. package/daemon/dist/adapters/stub-runner.d.ts +6 -0
  176. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  177. package/daemon/dist/adapters/stub-runner.js +18 -1
  178. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  179. package/daemon/dist/adapters/stub-script.d.ts +2 -2
  180. package/daemon/dist/adapters/stub-script.d.ts.map +1 -1
  181. package/daemon/dist/adapters/stub-script.js +2 -2
  182. package/daemon/dist/adapters/stub-script.js.map +1 -1
  183. package/daemon/dist/adapters/tmux-control.d.ts +119 -0
  184. package/daemon/dist/adapters/tmux-control.d.ts.map +1 -0
  185. package/daemon/dist/adapters/tmux-control.js +547 -0
  186. package/daemon/dist/adapters/tmux-control.js.map +1 -0
  187. package/daemon/dist/adapters/tmux-exec.d.ts +18 -4
  188. package/daemon/dist/adapters/tmux-exec.d.ts.map +1 -1
  189. package/daemon/dist/adapters/tmux-exec.js +98 -17
  190. package/daemon/dist/adapters/tmux-exec.js.map +1 -1
  191. package/daemon/dist/adapters/tmux.d.ts +52 -15
  192. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  193. package/daemon/dist/adapters/tmux.js +232 -58
  194. package/daemon/dist/adapters/tmux.js.map +1 -1
  195. package/daemon/dist/build-info.js +3 -3
  196. package/daemon/dist/composer-prompts-surface.d.ts +2 -0
  197. package/daemon/dist/composer-prompts-surface.d.ts.map +1 -0
  198. package/daemon/dist/composer-prompts-surface.js +2 -0
  199. package/daemon/dist/composer-prompts-surface.js.map +1 -0
  200. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  201. package/daemon/dist/db/all-migrations.js +26 -0
  202. package/daemon/dist/db/all-migrations.js.map +1 -1
  203. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts +3 -0
  204. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts.map +1 -0
  205. package/daemon/dist/db/migrations/100_typing_guard_modes.js +10 -0
  206. package/daemon/dist/db/migrations/100_typing_guard_modes.js.map +1 -0
  207. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts +3 -0
  208. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts.map +1 -0
  209. package/daemon/dist/db/migrations/104_node_effort_choice.js +10 -0
  210. package/daemon/dist/db/migrations/104_node_effort_choice.js.map +1 -0
  211. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts +9 -0
  212. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts.map +1 -0
  213. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js +14 -0
  214. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js.map +1 -0
  215. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts +10 -0
  216. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts.map +1 -0
  217. package/daemon/dist/db/migrations/107_pi_usage_entries.js +38 -0
  218. package/daemon/dist/db/migrations/107_pi_usage_entries.js.map +1 -0
  219. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts +12 -0
  220. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts.map +1 -0
  221. package/daemon/dist/db/migrations/108_pi_usage_charges.js +39 -0
  222. package/daemon/dist/db/migrations/108_pi_usage_charges.js.map +1 -0
  223. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts +5 -0
  224. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts.map +1 -0
  225. package/daemon/dist/db/migrations/109_mode_posture_coexist.js +11 -0
  226. package/daemon/dist/db/migrations/109_mode_posture_coexist.js.map +1 -0
  227. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts +10 -0
  228. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts.map +1 -0
  229. package/daemon/dist/db/migrations/110_workflow_instance_scope.js +14 -0
  230. package/daemon/dist/db/migrations/110_workflow_instance_scope.js.map +1 -0
  231. package/daemon/dist/db/migrations/111_seat_env.d.ts +6 -0
  232. package/daemon/dist/db/migrations/111_seat_env.d.ts.map +1 -0
  233. package/daemon/dist/db/migrations/111_seat_env.js +11 -0
  234. package/daemon/dist/db/migrations/111_seat_env.js.map +1 -0
  235. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts +3 -0
  236. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts.map +1 -0
  237. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js +14 -0
  238. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js.map +1 -0
  239. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts +3 -0
  240. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts.map +1 -0
  241. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js +9 -0
  242. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js.map +1 -0
  243. package/daemon/dist/db/migrations/114_session_agent_app.d.ts +3 -0
  244. package/daemon/dist/db/migrations/114_session_agent_app.d.ts.map +1 -0
  245. package/daemon/dist/db/migrations/114_session_agent_app.js +11 -0
  246. package/daemon/dist/db/migrations/114_session_agent_app.js.map +1 -0
  247. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts +3 -0
  248. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts.map +1 -0
  249. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js +28 -0
  250. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js.map +1 -0
  251. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts +3 -0
  252. package/daemon/dist/db/migrations/117_provider_account_readings.d.ts.map +1 -0
  253. package/daemon/dist/db/migrations/117_provider_account_readings.js +32 -0
  254. package/daemon/dist/db/migrations/117_provider_account_readings.js.map +1 -0
  255. package/daemon/dist/domain/activity-taxonomy.d.ts +13 -5
  256. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  257. package/daemon/dist/domain/activity-taxonomy.js +14 -2
  258. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  259. package/daemon/dist/domain/agent-activity-store.d.ts +2 -0
  260. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  261. package/daemon/dist/domain/agent-activity-store.js +14 -8
  262. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  263. package/daemon/dist/domain/agent-images/agent-image-library-service.js +1 -1
  264. package/daemon/dist/domain/agent-images/agent-image-library-service.js.map +1 -1
  265. package/daemon/dist/domain/agent-images/manifest-parser.js +1 -1
  266. package/daemon/dist/domain/agent-images/manifest-parser.js.map +1 -1
  267. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  268. package/daemon/dist/domain/agent-manifest.js +21 -3
  269. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  270. package/daemon/dist/domain/applied-launch-observation-store.d.ts +2 -0
  271. package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
  272. package/daemon/dist/domain/applied-launch-observation-store.js +27 -3
  273. package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
  274. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +3 -0
  275. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  276. package/daemon/dist/domain/bootstrap-orchestrator.js +49 -16
  277. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  278. package/daemon/dist/domain/built-in-runtimes.d.ts +10 -0
  279. package/daemon/dist/domain/built-in-runtimes.d.ts.map +1 -0
  280. package/daemon/dist/domain/built-in-runtimes.js +14 -0
  281. package/daemon/dist/domain/built-in-runtimes.js.map +1 -0
  282. package/daemon/dist/domain/bundle-archive.d.ts +3 -1
  283. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
  284. package/daemon/dist/domain/bundle-archive.js +5 -3
  285. package/daemon/dist/domain/bundle-archive.js.map +1 -1
  286. package/daemon/dist/domain/bundle-behaviour.d.ts +20 -0
  287. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -1
  288. package/daemon/dist/domain/bundle-behaviour.js +57 -1
  289. package/daemon/dist/domain/bundle-behaviour.js.map +1 -1
  290. package/daemon/dist/domain/bundle-integrity.d.ts +5 -2
  291. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
  292. package/daemon/dist/domain/bundle-integrity.js +39 -8
  293. package/daemon/dist/domain/bundle-integrity.js.map +1 -1
  294. package/daemon/dist/domain/bundle-source-resolver.d.ts +3 -1
  295. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  296. package/daemon/dist/domain/bundle-source-resolver.js +7 -2
  297. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  298. package/daemon/dist/domain/bundle-types.d.ts +6 -0
  299. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  300. package/daemon/dist/domain/bundle-types.js +26 -0
  301. package/daemon/dist/domain/bundle-types.js.map +1 -1
  302. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  303. package/daemon/dist/domain/chat-repository.js +3 -2
  304. package/daemon/dist/domain/chat-repository.js.map +1 -1
  305. package/daemon/dist/domain/claim-service.d.ts +6 -0
  306. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  307. package/daemon/dist/domain/claim-service.js +20 -1
  308. package/daemon/dist/domain/claim-service.js.map +1 -1
  309. package/daemon/dist/domain/claude-activity-hooks.d.ts +6 -0
  310. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -1
  311. package/daemon/dist/domain/claude-activity-hooks.js +19 -1
  312. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -1
  313. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +63 -2
  314. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  315. package/daemon/dist/domain/claude-compaction-enforcer.js +154 -16
  316. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  317. package/daemon/dist/domain/claude-core-plugin-env.d.ts +28 -0
  318. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -0
  319. package/daemon/dist/domain/claude-core-plugin-env.js +90 -0
  320. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -0
  321. package/daemon/dist/domain/claude-managed-launch.d.ts +18 -6
  322. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  323. package/daemon/dist/domain/claude-managed-launch.js +104 -10
  324. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  325. package/daemon/dist/domain/claude-mcp-menu.d.ts +5 -0
  326. package/daemon/dist/domain/claude-mcp-menu.d.ts.map +1 -0
  327. package/daemon/dist/domain/claude-mcp-menu.js +25 -0
  328. package/daemon/dist/domain/claude-mcp-menu.js.map +1 -0
  329. package/daemon/dist/domain/codex-thread-id.d.ts +22 -3
  330. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  331. package/daemon/dist/domain/codex-thread-id.js +65 -16
  332. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  333. package/daemon/dist/domain/community-harness-presets.d.ts +38 -0
  334. package/daemon/dist/domain/community-harness-presets.d.ts.map +1 -0
  335. package/daemon/dist/domain/community-harness-presets.js +155 -0
  336. package/daemon/dist/domain/community-harness-presets.js.map +1 -0
  337. package/daemon/dist/domain/composer-prompts.d.ts +118 -0
  338. package/daemon/dist/domain/composer-prompts.d.ts.map +1 -0
  339. package/daemon/dist/domain/composer-prompts.js +165 -0
  340. package/daemon/dist/domain/composer-prompts.js.map +1 -0
  341. package/daemon/dist/domain/context-monitor.d.ts +3 -0
  342. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  343. package/daemon/dist/domain/context-monitor.js +14 -2
  344. package/daemon/dist/domain/context-monitor.js.map +1 -1
  345. package/daemon/dist/domain/context-packs/context-pack-library-service.js +2 -2
  346. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  347. package/daemon/dist/domain/context-packs/manifest-parser.js +1 -1
  348. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  349. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  350. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  351. package/daemon/dist/domain/context-usage-store.js +1 -0
  352. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  353. package/daemon/dist/domain/current-work.js +2 -2
  354. package/daemon/dist/domain/current-work.js.map +1 -1
  355. package/daemon/dist/domain/draft-aware-delivery.d.ts +32 -0
  356. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -0
  357. package/daemon/dist/domain/draft-aware-delivery.js +156 -0
  358. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -0
  359. package/daemon/dist/domain/event-bus.d.ts +10 -1
  360. package/daemon/dist/domain/event-bus.d.ts.map +1 -1
  361. package/daemon/dist/domain/event-bus.js +25 -0
  362. package/daemon/dist/domain/event-bus.js.map +1 -1
  363. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  364. package/daemon/dist/domain/execution-view.js +76 -10
  365. package/daemon/dist/domain/execution-view.js.map +1 -1
  366. package/daemon/dist/domain/fresh-occupant-relation.d.ts +7 -0
  367. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  368. package/daemon/dist/domain/fresh-occupant-relation.js +44 -0
  369. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  370. package/daemon/dist/domain/frontmatter.d.ts +11 -0
  371. package/daemon/dist/domain/frontmatter.d.ts.map +1 -0
  372. package/daemon/dist/domain/frontmatter.js +20 -0
  373. package/daemon/dist/domain/frontmatter.js.map +1 -0
  374. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +11 -0
  375. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  376. package/daemon/dist/domain/gateway/gateway-subsystem.js +7 -0
  377. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  378. package/daemon/dist/domain/gateway/human-registry.d.ts +6 -1
  379. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  380. package/daemon/dist/domain/gateway/human-registry.js +7 -0
  381. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  382. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts +54 -0
  383. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts.map +1 -0
  384. package/daemon/dist/domain/gateway/slack/bot-inbox.js +86 -0
  385. package/daemon/dist/domain/gateway/slack/bot-inbox.js.map +1 -0
  386. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -1
  387. package/daemon/dist/domain/gateway/slack/capabilities.js +1 -0
  388. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -1
  389. package/daemon/dist/domain/gateway/slack/channel-map.d.ts +11 -1
  390. package/daemon/dist/domain/gateway/slack/channel-map.d.ts.map +1 -1
  391. package/daemon/dist/domain/gateway/slack/channel-map.js +31 -6
  392. package/daemon/dist/domain/gateway/slack/channel-map.js.map +1 -1
  393. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +14 -2
  394. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -1
  395. package/daemon/dist/domain/gateway/slack/channel-recovery.js +128 -89
  396. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -1
  397. package/daemon/dist/domain/gateway/slack/config.d.ts +14 -0
  398. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  399. package/daemon/dist/domain/gateway/slack/config.js +28 -0
  400. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  401. package/daemon/dist/domain/gateway/slack/forwarding.d.ts +32 -0
  402. package/daemon/dist/domain/gateway/slack/forwarding.d.ts.map +1 -0
  403. package/daemon/dist/domain/gateway/slack/forwarding.js +76 -0
  404. package/daemon/dist/domain/gateway/slack/forwarding.js.map +1 -0
  405. package/daemon/dist/domain/gateway/slack/inbound.d.ts +103 -1
  406. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  407. package/daemon/dist/domain/gateway/slack/inbound.js +329 -9
  408. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  409. package/daemon/dist/domain/gateway/slack/message.d.ts +28 -0
  410. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  411. package/daemon/dist/domain/gateway/slack/message.js +105 -4
  412. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  413. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
  414. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  415. package/daemon/dist/domain/gateway/slack/outbound-driver.js +1 -0
  416. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  417. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -1
  418. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  419. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts +24 -0
  420. package/daemon/dist/domain/gateway/slack/recovery-budget.d.ts.map +1 -0
  421. package/daemon/dist/domain/gateway/slack/recovery-budget.js +18 -0
  422. package/daemon/dist/domain/gateway/slack/recovery-budget.js.map +1 -0
  423. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +10 -0
  424. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  425. package/daemon/dist/domain/gateway/slack/slack-api.js +13 -0
  426. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  427. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +2 -0
  428. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  429. package/daemon/dist/domain/gateway/slack/slack-delivery.js +12 -2
  430. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  431. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts +104 -0
  432. package/daemon/dist/domain/gateway/slack/slack-recovery.d.ts.map +1 -0
  433. package/daemon/dist/domain/gateway/slack/slack-recovery.js +236 -0
  434. package/daemon/dist/domain/gateway/slack/slack-recovery.js.map +1 -0
  435. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -0
  436. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  437. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +157 -21
  438. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  439. package/daemon/dist/domain/gateway/slack/state-store.d.ts +43 -2
  440. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  441. package/daemon/dist/domain/gateway/slack/state-store.js +91 -2
  442. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  443. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts +37 -0
  444. package/daemon/dist/domain/gateway/slack/thread-recovery.d.ts.map +1 -0
  445. package/daemon/dist/domain/gateway/slack/thread-recovery.js +173 -0
  446. package/daemon/dist/domain/gateway/slack/thread-recovery.js.map +1 -0
  447. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +3 -0
  448. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  449. package/daemon/dist/domain/gateway/slack/thread-routing.js +18 -7
  450. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  451. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +25 -6
  452. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  453. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +52 -23
  454. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  455. package/daemon/dist/domain/history-query.d.ts.map +1 -1
  456. package/daemon/dist/domain/history-query.js +2 -1
  457. package/daemon/dist/domain/history-query.js.map +1 -1
  458. package/daemon/dist/domain/home-isolation.d.ts +18 -0
  459. package/daemon/dist/domain/home-isolation.d.ts.map +1 -0
  460. package/daemon/dist/domain/home-isolation.js +75 -0
  461. package/daemon/dist/domain/home-isolation.js.map +1 -0
  462. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +22 -0
  463. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  464. package/daemon/dist/domain/hosts/remote-daemon-http.js +43 -3
  465. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  466. package/daemon/dist/domain/inbox-handler.d.ts.map +1 -1
  467. package/daemon/dist/domain/inbox-handler.js +34 -32
  468. package/daemon/dist/domain/inbox-handler.js.map +1 -1
  469. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +12 -2
  470. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +1 -1
  471. package/daemon/dist/domain/mission-control/notification-dispatcher.d.ts.map +1 -1
  472. package/daemon/dist/domain/mission-control/notification-dispatcher.js +2 -1
  473. package/daemon/dist/domain/mission-control/notification-dispatcher.js.map +1 -1
  474. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +68 -0
  475. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  476. package/daemon/dist/domain/model-divergence/current-generation-record.js +133 -1
  477. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  478. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts +74 -0
  479. package/daemon/dist/domain/model-divergence/current-model-reader.d.ts.map +1 -0
  480. package/daemon/dist/domain/model-divergence/current-model-reader.js +246 -0
  481. package/daemon/dist/domain/model-divergence/current-model-reader.js.map +1 -0
  482. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +60 -0
  483. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  484. package/daemon/dist/domain/model-divergence/effective-model-readers.js +182 -11
  485. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  486. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +8 -2
  487. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  488. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +10 -5
  489. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  490. package/daemon/dist/domain/native-process-lineage.d.ts +57 -1
  491. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  492. package/daemon/dist/domain/native-process-lineage.js +169 -41
  493. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  494. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  495. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  496. package/daemon/dist/domain/native-resume-probe.js +77 -14
  497. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  498. package/daemon/dist/domain/node-inventory.d.ts +1 -1
  499. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  500. package/daemon/dist/domain/node-inventory.js +110 -27
  501. package/daemon/dist/domain/node-inventory.js.map +1 -1
  502. package/daemon/dist/domain/node-launcher.d.ts +18 -0
  503. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  504. package/daemon/dist/domain/node-launcher.js +60 -2
  505. package/daemon/dist/domain/node-launcher.js.map +1 -1
  506. package/daemon/dist/domain/openrouter-charge.d.ts +42 -0
  507. package/daemon/dist/domain/openrouter-charge.d.ts.map +1 -0
  508. package/daemon/dist/domain/openrouter-charge.js +57 -0
  509. package/daemon/dist/domain/openrouter-charge.js.map +1 -0
  510. package/daemon/dist/domain/parked-query.d.ts +5 -0
  511. package/daemon/dist/domain/parked-query.d.ts.map +1 -1
  512. package/daemon/dist/domain/parked-query.js +9 -2
  513. package/daemon/dist/domain/parked-query.js.map +1 -1
  514. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  515. package/daemon/dist/domain/periodic-snapshot-scheduler.js +27 -3
  516. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  517. package/daemon/dist/domain/permission-drift.d.ts +2 -0
  518. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  519. package/daemon/dist/domain/permission-drift.js.map +1 -1
  520. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
  521. package/daemon/dist/domain/permission-policy/policy-spec.js +5 -7
  522. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
  523. package/daemon/dist/domain/pi-usage-entries-store.d.ts +41 -0
  524. package/daemon/dist/domain/pi-usage-entries-store.d.ts.map +1 -0
  525. package/daemon/dist/domain/pi-usage-entries-store.js +173 -0
  526. package/daemon/dist/domain/pi-usage-entries-store.js.map +1 -0
  527. package/daemon/dist/domain/pi-usage-facts.d.ts +90 -0
  528. package/daemon/dist/domain/pi-usage-facts.d.ts.map +1 -0
  529. package/daemon/dist/domain/pi-usage-facts.js +165 -0
  530. package/daemon/dist/domain/pi-usage-facts.js.map +1 -0
  531. package/daemon/dist/domain/pod-bundle-assembler.d.ts +2 -0
  532. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  533. package/daemon/dist/domain/pod-bundle-assembler.js +4 -0
  534. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  535. package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +1 -1
  536. package/daemon/dist/domain/policies/artifact-pool-helpers.js +6 -4
  537. package/daemon/dist/domain/policies/artifact-pool-helpers.js.map +1 -1
  538. package/daemon/dist/domain/process-census.d.ts +1 -1
  539. package/daemon/dist/domain/process-census.d.ts.map +1 -1
  540. package/daemon/dist/domain/process-table.d.ts +26 -0
  541. package/daemon/dist/domain/process-table.d.ts.map +1 -0
  542. package/daemon/dist/domain/process-table.js +185 -0
  543. package/daemon/dist/domain/process-table.js.map +1 -0
  544. package/daemon/dist/domain/profile-resolver.d.ts +10 -0
  545. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  546. package/daemon/dist/domain/profile-resolver.js +15 -0
  547. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  548. package/daemon/dist/domain/progress/progress-indexer.js +1 -1
  549. package/daemon/dist/domain/progress/progress-indexer.js.map +1 -1
  550. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +4 -0
  551. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
  552. package/daemon/dist/domain/project-lifecycle-compiler.js +63 -3
  553. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
  554. package/daemon/dist/domain/projection-planner.js +1 -1
  555. package/daemon/dist/domain/projection-planner.js.map +1 -1
  556. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  557. package/daemon/dist/domain/proof/judgments.js +31 -2
  558. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  559. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts +33 -0
  560. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts.map +1 -0
  561. package/daemon/dist/domain/provider/claude-auth-status-reader.js +195 -0
  562. package/daemon/dist/domain/provider/claude-auth-status-reader.js.map +1 -0
  563. package/daemon/dist/domain/provider/claude-usage-windows.d.ts +70 -0
  564. package/daemon/dist/domain/provider/claude-usage-windows.d.ts.map +1 -0
  565. package/daemon/dist/domain/provider/claude-usage-windows.js +305 -0
  566. package/daemon/dist/domain/provider/claude-usage-windows.js.map +1 -0
  567. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +14 -0
  568. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -1
  569. package/daemon/dist/domain/provider/codex-auth-reader.js +41 -12
  570. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -1
  571. package/daemon/dist/domain/provider/codex-usage-reader.d.ts +6 -1
  572. package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -1
  573. package/daemon/dist/domain/provider/codex-usage-reader.js +6 -1
  574. package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -1
  575. package/daemon/dist/domain/provider/codex-usage-windows.d.ts +12 -49
  576. package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -1
  577. package/daemon/dist/domain/provider/codex-usage-windows.js +16 -173
  578. package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -1
  579. package/daemon/dist/domain/provider/provider-account-readings.d.ts +42 -0
  580. package/daemon/dist/domain/provider/provider-account-readings.d.ts.map +1 -0
  581. package/daemon/dist/domain/provider/provider-account-readings.js +132 -0
  582. package/daemon/dist/domain/provider/provider-account-readings.js.map +1 -0
  583. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts +18 -0
  584. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts.map +1 -0
  585. package/daemon/dist/domain/provider/provider-seat-accounts.js +159 -0
  586. package/daemon/dist/domain/provider/provider-seat-accounts.js.map +1 -0
  587. package/daemon/dist/domain/provider/provider-service-impl.d.ts +7 -2
  588. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -1
  589. package/daemon/dist/domain/provider/provider-service-impl.js +20 -2
  590. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -1
  591. package/daemon/dist/domain/provider/provider-service.d.ts +4 -2
  592. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -1
  593. package/daemon/dist/domain/provider/provider-types.d.ts +101 -4
  594. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
  595. package/daemon/dist/domain/provider/reactive-tap.js +2 -0
  596. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -1
  597. package/daemon/dist/domain/provider/subscription-moves.d.ts +77 -0
  598. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +1 -0
  599. package/daemon/dist/domain/provider/subscription-moves.js +140 -0
  600. package/daemon/dist/domain/provider/subscription-moves.js.map +1 -0
  601. package/daemon/dist/domain/provider/usage-across-hosts.d.ts +162 -0
  602. package/daemon/dist/domain/provider/usage-across-hosts.d.ts.map +1 -0
  603. package/daemon/dist/domain/provider/usage-across-hosts.js +569 -0
  604. package/daemon/dist/domain/provider/usage-across-hosts.js.map +1 -0
  605. package/daemon/dist/domain/provider/usage-windows.d.ts +113 -0
  606. package/daemon/dist/domain/provider/usage-windows.d.ts.map +1 -0
  607. package/daemon/dist/domain/provider/usage-windows.js +285 -0
  608. package/daemon/dist/domain/provider/usage-windows.js.map +1 -0
  609. package/daemon/dist/domain/queue-owner.d.ts +6 -0
  610. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  611. package/daemon/dist/domain/queue-owner.js +22 -0
  612. package/daemon/dist/domain/queue-owner.js.map +1 -1
  613. package/daemon/dist/domain/queue-repository.d.ts +112 -14
  614. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  615. package/daemon/dist/domain/queue-repository.js +390 -87
  616. package/daemon/dist/domain/queue-repository.js.map +1 -1
  617. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  618. package/daemon/dist/domain/queue-stuck-sweep.js +53 -22
  619. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  620. package/daemon/dist/domain/queue-transition-log.d.ts +23 -2
  621. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  622. package/daemon/dist/domain/queue-transition-log.js +98 -39
  623. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  624. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -2
  625. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  626. package/daemon/dist/domain/queue-wake-ladder.js +27 -8
  627. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  628. package/daemon/dist/domain/queue-wake-repository.d.ts +7 -1
  629. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  630. package/daemon/dist/domain/queue-wake-repository.js +54 -5
  631. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  632. package/daemon/dist/domain/reply-to-choice.d.ts +2 -0
  633. package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -1
  634. package/daemon/dist/domain/reply-to-choice.js +2 -0
  635. package/daemon/dist/domain/reply-to-choice.js.map +1 -1
  636. package/daemon/dist/domain/restore-check-service.d.ts +10 -0
  637. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  638. package/daemon/dist/domain/restore-check-service.js +76 -12
  639. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  640. package/daemon/dist/domain/restore-guidance.d.ts +6 -0
  641. package/daemon/dist/domain/restore-guidance.d.ts.map +1 -1
  642. package/daemon/dist/domain/restore-guidance.js +21 -5
  643. package/daemon/dist/domain/restore-guidance.js.map +1 -1
  644. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  645. package/daemon/dist/domain/restore-orchestrator.js +79 -15
  646. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  647. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  648. package/daemon/dist/domain/restore-plan-preview.js +23 -19
  649. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  650. package/daemon/dist/domain/restore-policy.d.ts +26 -0
  651. package/daemon/dist/domain/restore-policy.d.ts.map +1 -0
  652. package/daemon/dist/domain/restore-policy.js +22 -0
  653. package/daemon/dist/domain/restore-policy.js.map +1 -0
  654. package/daemon/dist/domain/restore-preconditions.d.ts +2 -0
  655. package/daemon/dist/domain/restore-preconditions.d.ts.map +1 -1
  656. package/daemon/dist/domain/restore-preconditions.js +6 -1
  657. package/daemon/dist/domain/restore-preconditions.js.map +1 -1
  658. package/daemon/dist/domain/restore-runtime-compatibility.d.ts +3 -0
  659. package/daemon/dist/domain/restore-runtime-compatibility.d.ts.map +1 -0
  660. package/daemon/dist/domain/restore-runtime-compatibility.js +7 -0
  661. package/daemon/dist/domain/restore-runtime-compatibility.js.map +1 -0
  662. package/daemon/dist/domain/resume-metadata-refresher.d.ts +10 -5
  663. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  664. package/daemon/dist/domain/resume-metadata-refresher.js +115 -50
  665. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  666. package/daemon/dist/domain/resume-token-capture.d.ts +1 -1
  667. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  668. package/daemon/dist/domain/resume-token-capture.js +7 -1
  669. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  670. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  671. package/daemon/dist/domain/review/compose.js +5 -4
  672. package/daemon/dist/domain/review/compose.js.map +1 -1
  673. package/daemon/dist/domain/review/gather.d.ts +2 -1
  674. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  675. package/daemon/dist/domain/review/gather.js +25 -17
  676. package/daemon/dist/domain/review/gather.js.map +1 -1
  677. package/daemon/dist/domain/rig-lifecycle-service.d.ts +31 -8
  678. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  679. package/daemon/dist/domain/rig-lifecycle-service.js +253 -98
  680. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  681. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +11 -1
  682. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  683. package/daemon/dist/domain/rig-mode/rig-mode-store.js +69 -48
  684. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  685. package/daemon/dist/domain/rig-repository.d.ts +21 -0
  686. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  687. package/daemon/dist/domain/rig-repository.js +58 -1
  688. package/daemon/dist/domain/rig-repository.js.map +1 -1
  689. package/daemon/dist/domain/rig-teardown.d.ts +4 -1
  690. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  691. package/daemon/dist/domain/rig-teardown.js +40 -2
  692. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  693. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  694. package/daemon/dist/domain/rigspec-codec.js +7 -0
  695. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  696. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  697. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  698. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  699. package/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
  700. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  701. package/daemon/dist/domain/rigspec-instantiator.js +32 -7
  702. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  703. package/daemon/dist/domain/rigspec-preflight.d.ts +4 -0
  704. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  705. package/daemon/dist/domain/rigspec-preflight.js +30 -7
  706. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  707. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  708. package/daemon/dist/domain/rigspec-schema.js +35 -2
  709. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  710. package/daemon/dist/domain/runtime-adapter.d.ts +24 -0
  711. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  712. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  713. package/daemon/dist/domain/runtime-verifier.d.ts +15 -1
  714. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  715. package/daemon/dist/domain/runtime-verifier.js +28 -4
  716. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  717. package/daemon/dist/domain/scope/logical-checkbox.js +1 -1
  718. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -1
  719. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  720. package/daemon/dist/domain/scope/scope-view-projection.js +23 -10
  721. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  722. package/daemon/dist/domain/seat-activity-service.d.ts +9 -2
  723. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  724. package/daemon/dist/domain/seat-activity-service.js +100 -15
  725. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  726. package/daemon/dist/domain/seat-attention-reconciler.d.ts +3 -0
  727. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  728. package/daemon/dist/domain/seat-attention-reconciler.js +129 -8
  729. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  730. package/daemon/dist/domain/seat-cwd-preparation.d.ts +22 -0
  731. package/daemon/dist/domain/seat-cwd-preparation.d.ts.map +1 -0
  732. package/daemon/dist/domain/seat-cwd-preparation.js +107 -0
  733. package/daemon/dist/domain/seat-cwd-preparation.js.map +1 -0
  734. package/daemon/dist/domain/seat-delivery-guard.d.ts +36 -1
  735. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  736. package/daemon/dist/domain/seat-delivery-guard.js +255 -22
  737. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  738. package/daemon/dist/domain/seat-effort.d.ts +116 -0
  739. package/daemon/dist/domain/seat-effort.d.ts.map +1 -0
  740. package/daemon/dist/domain/seat-effort.js +251 -0
  741. package/daemon/dist/domain/seat-effort.js.map +1 -0
  742. package/daemon/dist/domain/seat-env.d.ts +37 -0
  743. package/daemon/dist/domain/seat-env.d.ts.map +1 -0
  744. package/daemon/dist/domain/seat-env.js +94 -0
  745. package/daemon/dist/domain/seat-env.js.map +1 -0
  746. package/daemon/dist/domain/seat-handover-service.d.ts +5 -0
  747. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  748. package/daemon/dist/domain/seat-handover-service.js +22 -4
  749. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  750. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  751. package/daemon/dist/domain/seat-identity-reconciler.js +19 -2
  752. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  753. package/daemon/dist/domain/seat-lifecycle-service.d.ts +153 -5
  754. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  755. package/daemon/dist/domain/seat-lifecycle-service.js +509 -23
  756. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  757. package/daemon/dist/domain/seat-restart-in-place.d.ts +27 -2
  758. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  759. package/daemon/dist/domain/seat-restart-in-place.js +82 -7
  760. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  761. package/daemon/dist/domain/seat-status-service.d.ts +2 -0
  762. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  763. package/daemon/dist/domain/seat-status-service.js +1 -0
  764. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  765. package/daemon/dist/domain/seat-structural-activity-service.d.ts +12 -2
  766. package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
  767. package/daemon/dist/domain/seat-structural-activity-service.js +51 -9
  768. package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
  769. package/daemon/dist/domain/session-name.d.ts +8 -0
  770. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  771. package/daemon/dist/domain/session-name.js +12 -0
  772. package/daemon/dist/domain/session-name.js.map +1 -1
  773. package/daemon/dist/domain/session-registry.d.ts +13 -1
  774. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  775. package/daemon/dist/domain/session-registry.js +29 -2
  776. package/daemon/dist/domain/session-registry.js.map +1 -1
  777. package/daemon/dist/domain/session-transport.d.ts +186 -4
  778. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  779. package/daemon/dist/domain/session-transport.js +1421 -143
  780. package/daemon/dist/domain/session-transport.js.map +1 -1
  781. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
  782. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  783. package/daemon/dist/domain/slices/slice-detail-projector.js +16 -4
  784. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  785. package/daemon/dist/domain/slices/slice-indexer.d.ts +10 -0
  786. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  787. package/daemon/dist/domain/slices/slice-indexer.js +84 -4
  788. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  789. package/daemon/dist/domain/snapshot-repository.d.ts +3 -0
  790. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  791. package/daemon/dist/domain/snapshot-repository.js +19 -2
  792. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  793. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +1 -1
  794. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  795. package/daemon/dist/domain/spec-library-workflow-scanner.js +24 -21
  796. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  797. package/daemon/dist/domain/spec-validation-advisory.js +1 -1
  798. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -1
  799. package/daemon/dist/domain/startup-orchestrator.d.ts +31 -3
  800. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  801. package/daemon/dist/domain/startup-orchestrator.js +218 -60
  802. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  803. package/daemon/dist/domain/startup-submission-evidence.d.ts +13 -3
  804. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  805. package/daemon/dist/domain/startup-submission-evidence.js +34 -25
  806. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  807. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  808. package/daemon/dist/domain/startup-validation.js +3 -0
  809. package/daemon/dist/domain/startup-validation.js.map +1 -1
  810. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -1
  811. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  812. package/daemon/dist/domain/successor-session-launcher.js +6 -2
  813. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  814. package/daemon/dist/domain/text-cut.d.ts +4 -0
  815. package/daemon/dist/domain/text-cut.d.ts.map +1 -0
  816. package/daemon/dist/domain/text-cut.js +7 -0
  817. package/daemon/dist/domain/text-cut.js.map +1 -0
  818. package/daemon/dist/domain/time-bound-advisory.d.ts +5 -0
  819. package/daemon/dist/domain/time-bound-advisory.d.ts.map +1 -0
  820. package/daemon/dist/domain/time-bound-advisory.js +25 -0
  821. package/daemon/dist/domain/time-bound-advisory.js.map +1 -0
  822. package/daemon/dist/domain/transcript-capture.d.ts +7 -0
  823. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  824. package/daemon/dist/domain/transcript-capture.js +22 -1
  825. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  826. package/daemon/dist/domain/transcript-rotation.d.ts +12 -4
  827. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  828. package/daemon/dist/domain/transcript-rotation.js +185 -23
  829. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  830. package/daemon/dist/domain/transcript-store.d.ts +1 -1
  831. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  832. package/daemon/dist/domain/transcript-store.js +8 -4
  833. package/daemon/dist/domain/transcript-store.js.map +1 -1
  834. package/daemon/dist/domain/types.d.ts +67 -3
  835. package/daemon/dist/domain/types.d.ts.map +1 -1
  836. package/daemon/dist/domain/types.js.map +1 -1
  837. package/daemon/dist/domain/usage-samples-store.d.ts +8 -0
  838. package/daemon/dist/domain/usage-samples-store.d.ts.map +1 -1
  839. package/daemon/dist/domain/usage-samples-store.js +24 -5
  840. package/daemon/dist/domain/usage-samples-store.js.map +1 -1
  841. package/daemon/dist/domain/usage-series.d.ts +154 -2
  842. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  843. package/daemon/dist/domain/usage-series.js +208 -9
  844. package/daemon/dist/domain/usage-series.js.map +1 -1
  845. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  846. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  847. package/daemon/dist/domain/user-settings/settings-store.js +37 -1
  848. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  849. package/daemon/dist/domain/watchdog-delivery.d.ts +29 -0
  850. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -0
  851. package/daemon/dist/domain/watchdog-delivery.js +113 -0
  852. package/daemon/dist/domain/watchdog-delivery.js.map +1 -0
  853. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +3 -1
  854. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  855. package/daemon/dist/domain/watchdog-jobs-repository.js +13 -1
  856. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  857. package/daemon/dist/domain/watchdog-policy-engine.d.ts +61 -1
  858. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  859. package/daemon/dist/domain/watchdog-policy-engine.js +185 -30
  860. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  861. package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
  862. package/daemon/dist/domain/watchdog-scheduler.js +6 -1
  863. package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
  864. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  865. package/daemon/dist/domain/workflow-exception-escalation.js +3 -1
  866. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  867. package/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -1
  868. package/daemon/dist/domain/workflow-exception-readiness.js +7 -3
  869. package/daemon/dist/domain/workflow-exception-readiness.js.map +1 -1
  870. package/daemon/dist/domain/workflow-instance-store.d.ts +11 -0
  871. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  872. package/daemon/dist/domain/workflow-instance-store.js +24 -6
  873. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  874. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  875. package/daemon/dist/domain/workflow-projector.js +5 -3
  876. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  877. package/daemon/dist/domain/workflow-rig-placeholder.d.ts +24 -0
  878. package/daemon/dist/domain/workflow-rig-placeholder.d.ts.map +1 -0
  879. package/daemon/dist/domain/workflow-rig-placeholder.js +43 -0
  880. package/daemon/dist/domain/workflow-rig-placeholder.js.map +1 -0
  881. package/daemon/dist/domain/workflow-runtime.d.ts +10 -1
  882. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  883. package/daemon/dist/domain/workflow-runtime.js +26 -13
  884. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  885. package/daemon/dist/domain/workflow-scope.d.ts +50 -0
  886. package/daemon/dist/domain/workflow-scope.d.ts.map +1 -0
  887. package/daemon/dist/domain/workflow-scope.js +129 -0
  888. package/daemon/dist/domain/workflow-scope.js.map +1 -0
  889. package/daemon/dist/domain/workflow-spec-cache.d.ts +10 -0
  890. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  891. package/daemon/dist/domain/workflow-spec-cache.js +13 -0
  892. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  893. package/daemon/dist/domain/workflow-types.d.ts +4 -0
  894. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  895. package/daemon/dist/domain/workflow-types.js.map +1 -1
  896. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  897. package/daemon/dist/domain/workflow-validator.js +3 -1
  898. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  899. package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
  900. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
  901. package/daemon/dist/domain/workspace/project-read.js +4 -0
  902. package/daemon/dist/domain/workspace/project-read.js.map +1 -1
  903. package/daemon/dist/index.d.ts.map +1 -1
  904. package/daemon/dist/index.js +10 -0
  905. package/daemon/dist/index.js.map +1 -1
  906. package/daemon/dist/lib/pane-envelope.js +1 -1
  907. package/daemon/dist/lib/pane-envelope.js.map +1 -1
  908. package/daemon/dist/middleware/json-body-error.d.ts +4 -3
  909. package/daemon/dist/middleware/json-body-error.d.ts.map +1 -1
  910. package/daemon/dist/middleware/json-body-error.js +18 -4
  911. package/daemon/dist/middleware/json-body-error.js.map +1 -1
  912. package/daemon/dist/routes/activity.d.ts.map +1 -1
  913. package/daemon/dist/routes/activity.js +78 -0
  914. package/daemon/dist/routes/activity.js.map +1 -1
  915. package/daemon/dist/routes/attention.d.ts.map +1 -1
  916. package/daemon/dist/routes/attention.js +41 -1
  917. package/daemon/dist/routes/attention.js.map +1 -1
  918. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  919. package/daemon/dist/routes/bundles.js +39 -16
  920. package/daemon/dist/routes/bundles.js.map +1 -1
  921. package/daemon/dist/routes/community-harnesses.d.ts +3 -0
  922. package/daemon/dist/routes/community-harnesses.d.ts.map +1 -0
  923. package/daemon/dist/routes/community-harnesses.js +18 -0
  924. package/daemon/dist/routes/community-harnesses.js.map +1 -0
  925. package/daemon/dist/routes/compaction.d.ts +3 -0
  926. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  927. package/daemon/dist/routes/compaction.js +14 -2
  928. package/daemon/dist/routes/compaction.js.map +1 -1
  929. package/daemon/dist/routes/events.js +26 -12
  930. package/daemon/dist/routes/events.js.map +1 -1
  931. package/daemon/dist/routes/gateway.d.ts +3 -0
  932. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  933. package/daemon/dist/routes/gateway.js +15 -0
  934. package/daemon/dist/routes/gateway.js.map +1 -1
  935. package/daemon/dist/routes/hosts.d.ts.map +1 -1
  936. package/daemon/dist/routes/hosts.js +2 -1
  937. package/daemon/dist/routes/hosts.js.map +1 -1
  938. package/daemon/dist/routes/provider.d.ts +11 -1
  939. package/daemon/dist/routes/provider.d.ts.map +1 -1
  940. package/daemon/dist/routes/provider.js +182 -10
  941. package/daemon/dist/routes/provider.js.map +1 -1
  942. package/daemon/dist/routes/query-limit.d.ts +1 -0
  943. package/daemon/dist/routes/query-limit.d.ts.map +1 -1
  944. package/daemon/dist/routes/query-limit.js +1 -1
  945. package/daemon/dist/routes/query-limit.js.map +1 -1
  946. package/daemon/dist/routes/queue.d.ts.map +1 -1
  947. package/daemon/dist/routes/queue.js +47 -4
  948. package/daemon/dist/routes/queue.js.map +1 -1
  949. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  950. package/daemon/dist/routes/restore-check.js +19 -1
  951. package/daemon/dist/routes/restore-check.js.map +1 -1
  952. package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  953. package/daemon/dist/routes/rig-mode.js +66 -11
  954. package/daemon/dist/routes/rig-mode.js.map +1 -1
  955. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  956. package/daemon/dist/routes/scope-audit.js +10 -0
  957. package/daemon/dist/routes/scope-audit.js.map +1 -1
  958. package/daemon/dist/routes/seat.d.ts.map +1 -1
  959. package/daemon/dist/routes/seat.js +76 -12
  960. package/daemon/dist/routes/seat.js.map +1 -1
  961. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  962. package/daemon/dist/routes/sessions.js +8 -2
  963. package/daemon/dist/routes/sessions.js.map +1 -1
  964. package/daemon/dist/routes/startup.d.ts.map +1 -1
  965. package/daemon/dist/routes/startup.js +9 -2
  966. package/daemon/dist/routes/startup.js.map +1 -1
  967. package/daemon/dist/routes/telemetry.d.ts.map +1 -1
  968. package/daemon/dist/routes/telemetry.js +13 -3
  969. package/daemon/dist/routes/telemetry.js.map +1 -1
  970. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  971. package/daemon/dist/routes/transcripts.js +14 -5
  972. package/daemon/dist/routes/transcripts.js.map +1 -1
  973. package/daemon/dist/routes/transport.d.ts.map +1 -1
  974. package/daemon/dist/routes/transport.js +26 -4
  975. package/daemon/dist/routes/transport.js.map +1 -1
  976. package/daemon/dist/routes/up.d.ts.map +1 -1
  977. package/daemon/dist/routes/up.js +4 -0
  978. package/daemon/dist/routes/up.js.map +1 -1
  979. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  980. package/daemon/dist/routes/workflow.js +50 -1
  981. package/daemon/dist/routes/workflow.js.map +1 -1
  982. package/daemon/dist/server.d.ts +1 -0
  983. package/daemon/dist/server.d.ts.map +1 -1
  984. package/daemon/dist/server.js +5 -1
  985. package/daemon/dist/server.js.map +1 -1
  986. package/daemon/dist/spec-validation-surface.d.ts +1 -1
  987. package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
  988. package/daemon/dist/spec-validation-surface.js +1 -1
  989. package/daemon/dist/spec-validation-surface.js.map +1 -1
  990. package/daemon/dist/startup.d.ts +3 -1
  991. package/daemon/dist/startup.d.ts.map +1 -1
  992. package/daemon/dist/startup.js +160 -148
  993. package/daemon/dist/startup.js.map +1 -1
  994. package/daemon/dist/workflow-scope-surface.d.ts +2 -0
  995. package/daemon/dist/workflow-scope-surface.d.ts.map +1 -0
  996. package/daemon/dist/workflow-scope-surface.js +2 -0
  997. package/daemon/dist/workflow-scope-surface.js.map +1 -0
  998. package/daemon/docs/reference/agent-spec.md +5 -3
  999. package/daemon/docs/reference/agent-startup-guide.md +179 -6
  1000. package/daemon/docs/reference/claude-status-line.md +69 -0
  1001. package/daemon/docs/reference/getting-started.md +81 -18
  1002. package/daemon/docs/reference/keeping-a-watch.md +102 -5
  1003. package/daemon/docs/reference/project-workspace.md +70 -1
  1004. package/daemon/docs/reference/publishing-a-rig-bundle.md +11 -3
  1005. package/daemon/docs/reference/refocus-channel.md +52 -6
  1006. package/daemon/docs/reference/rig-bundle.md +26 -2
  1007. package/daemon/docs/reference/rig-spec.md +67 -6
  1008. package/daemon/docs/reference/rosters.md +29 -2
  1009. package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +105 -2
  1010. package/daemon/docs/reference/scoped-operating-posture.md +12 -2
  1011. package/daemon/docs/reference/sdlc-conventions.md +39 -1
  1012. package/daemon/docs/reference/seat-delivery.md +127 -0
  1013. package/daemon/docs/reference/slack-app-setup.md +187 -29
  1014. package/daemon/docs/reference/topology-naming.md +9 -0
  1015. package/daemon/docs/reference/whats-new.md +99 -151
  1016. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -0
  1017. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -0
  1018. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -0
  1019. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -0
  1020. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -0
  1021. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -0
  1022. package/daemon/specs/agents/development/implementer/agent.yaml +1 -0
  1023. package/daemon/specs/agents/development/qa/agent.yaml +1 -0
  1024. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -0
  1025. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -0
  1026. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -0
  1027. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  1028. package/daemon/specs/agents/research/analyst/agent.yaml +1 -0
  1029. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -0
  1030. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -0
  1031. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +1 -1
  1032. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +0 -1
  1033. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  1034. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  1035. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  1036. package/daemon/specs/rigs/launch/demo/CULTURE.md +1 -1
  1037. package/daemon/specs/rigs/launch/factory/CULTURE.md +1 -1
  1038. package/daemon/specs/rigs/launch/factory/topology/rig/CRAFT.md +2 -2
  1039. package/daemon/specs/rigs/launch/first-project/CULTURE.md +2 -1
  1040. package/daemon/specs/rigs/launch/first-project-claude/CULTURE.md +2 -1
  1041. package/daemon/specs/rigs/launch/first-project-mixed/CULTURE.md +2 -1
  1042. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +9 -2
  1043. package/daemon/specs/rigs/launch/starter/CULTURE.md +2 -1
  1044. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  1045. package/dist/bin-wrapper.d.ts +2 -1
  1046. package/dist/bin-wrapper.d.ts.map +1 -1
  1047. package/dist/bin-wrapper.js +61 -4
  1048. package/dist/bin-wrapper.js.map +1 -1
  1049. package/dist/build-info.js +3 -3
  1050. package/dist/bundle-behaviour.d.ts.map +1 -1
  1051. package/dist/bundle-behaviour.js +22 -0
  1052. package/dist/bundle-behaviour.js.map +1 -1
  1053. package/dist/client.d.ts.map +1 -1
  1054. package/dist/client.js +3 -3
  1055. package/dist/client.js.map +1 -1
  1056. package/dist/commands/add.d.ts.map +1 -1
  1057. package/dist/commands/add.js +1 -1
  1058. package/dist/commands/add.js.map +1 -1
  1059. package/dist/commands/ask.d.ts.map +1 -1
  1060. package/dist/commands/ask.js +16 -5
  1061. package/dist/commands/ask.js.map +1 -1
  1062. package/dist/commands/bootstrap.d.ts.map +1 -1
  1063. package/dist/commands/bootstrap.js +9 -5
  1064. package/dist/commands/bootstrap.js.map +1 -1
  1065. package/dist/commands/bundle.d.ts.map +1 -1
  1066. package/dist/commands/bundle.js +8 -0
  1067. package/dist/commands/bundle.js.map +1 -1
  1068. package/dist/commands/capture.d.ts +4 -0
  1069. package/dist/commands/capture.d.ts.map +1 -1
  1070. package/dist/commands/capture.js +29 -2
  1071. package/dist/commands/capture.js.map +1 -1
  1072. package/dist/commands/community-harness.d.ts +4 -0
  1073. package/dist/commands/community-harness.d.ts.map +1 -0
  1074. package/dist/commands/community-harness.js +48 -0
  1075. package/dist/commands/community-harness.js.map +1 -0
  1076. package/dist/commands/compact.d.ts.map +1 -1
  1077. package/dist/commands/compact.js +8 -4
  1078. package/dist/commands/compact.js.map +1 -1
  1079. package/dist/commands/config.d.ts.map +1 -1
  1080. package/dist/commands/config.js +9 -2
  1081. package/dist/commands/config.js.map +1 -1
  1082. package/dist/commands/crash-cart.d.ts.map +1 -1
  1083. package/dist/commands/crash-cart.js +3 -5
  1084. package/dist/commands/crash-cart.js.map +1 -1
  1085. package/dist/commands/create.d.ts.map +1 -1
  1086. package/dist/commands/create.js +7 -5
  1087. package/dist/commands/create.js.map +1 -1
  1088. package/dist/commands/doctor.d.ts.map +1 -1
  1089. package/dist/commands/doctor.js +8 -7
  1090. package/dist/commands/doctor.js.map +1 -1
  1091. package/dist/commands/down.d.ts.map +1 -1
  1092. package/dist/commands/down.js +2 -1
  1093. package/dist/commands/down.js.map +1 -1
  1094. package/dist/commands/grow.d.ts.map +1 -1
  1095. package/dist/commands/grow.js +24 -7
  1096. package/dist/commands/grow.js.map +1 -1
  1097. package/dist/commands/launch.d.ts +1 -0
  1098. package/dist/commands/launch.d.ts.map +1 -1
  1099. package/dist/commands/launch.js +61 -10
  1100. package/dist/commands/launch.js.map +1 -1
  1101. package/dist/commands/policy.d.ts +2 -1
  1102. package/dist/commands/policy.d.ts.map +1 -1
  1103. package/dist/commands/policy.js +66 -7
  1104. package/dist/commands/policy.js.map +1 -1
  1105. package/dist/commands/provider.d.ts +2 -0
  1106. package/dist/commands/provider.d.ts.map +1 -1
  1107. package/dist/commands/provider.js +372 -49
  1108. package/dist/commands/provider.js.map +1 -1
  1109. package/dist/commands/ps.d.ts +13 -0
  1110. package/dist/commands/ps.d.ts.map +1 -1
  1111. package/dist/commands/ps.js +52 -7
  1112. package/dist/commands/ps.js.map +1 -1
  1113. package/dist/commands/queue.d.ts.map +1 -1
  1114. package/dist/commands/queue.js +59 -10
  1115. package/dist/commands/queue.js.map +1 -1
  1116. package/dist/commands/remove.d.ts.map +1 -1
  1117. package/dist/commands/remove.js +20 -1
  1118. package/dist/commands/remove.js.map +1 -1
  1119. package/dist/commands/requirements.d.ts.map +1 -1
  1120. package/dist/commands/requirements.js +8 -5
  1121. package/dist/commands/requirements.js.map +1 -1
  1122. package/dist/commands/restore.js +1 -1
  1123. package/dist/commands/restore.js.map +1 -1
  1124. package/dist/commands/rig-mode.d.ts.map +1 -1
  1125. package/dist/commands/rig-mode.js +106 -18
  1126. package/dist/commands/rig-mode.js.map +1 -1
  1127. package/dist/commands/roster.d.ts +2 -1
  1128. package/dist/commands/roster.d.ts.map +1 -1
  1129. package/dist/commands/roster.js +10 -5
  1130. package/dist/commands/roster.js.map +1 -1
  1131. package/dist/commands/scope.d.ts.map +1 -1
  1132. package/dist/commands/scope.js +47 -9
  1133. package/dist/commands/scope.js.map +1 -1
  1134. package/dist/commands/seat.d.ts.map +1 -1
  1135. package/dist/commands/seat.js +203 -25
  1136. package/dist/commands/seat.js.map +1 -1
  1137. package/dist/commands/send.d.ts +2 -2
  1138. package/dist/commands/send.d.ts.map +1 -1
  1139. package/dist/commands/send.js +79 -12
  1140. package/dist/commands/send.js.map +1 -1
  1141. package/dist/commands/slack.d.ts.map +1 -1
  1142. package/dist/commands/slack.js +23 -5
  1143. package/dist/commands/slack.js.map +1 -1
  1144. package/dist/commands/start.d.ts +11 -0
  1145. package/dist/commands/start.d.ts.map +1 -1
  1146. package/dist/commands/start.js +77 -3
  1147. package/dist/commands/start.js.map +1 -1
  1148. package/dist/commands/status.d.ts.map +1 -1
  1149. package/dist/commands/status.js +60 -2
  1150. package/dist/commands/status.js.map +1 -1
  1151. package/dist/commands/up.d.ts.map +1 -1
  1152. package/dist/commands/up.js +58 -0
  1153. package/dist/commands/up.js.map +1 -1
  1154. package/dist/commands/usage.d.ts +12 -0
  1155. package/dist/commands/usage.d.ts.map +1 -1
  1156. package/dist/commands/usage.js +108 -0
  1157. package/dist/commands/usage.js.map +1 -1
  1158. package/dist/commands/watchdog.d.ts.map +1 -1
  1159. package/dist/commands/watchdog.js +20 -7
  1160. package/dist/commands/watchdog.js.map +1 -1
  1161. package/dist/commands/whoami.d.ts +36 -0
  1162. package/dist/commands/whoami.d.ts.map +1 -1
  1163. package/dist/commands/whoami.js +125 -7
  1164. package/dist/commands/whoami.js.map +1 -1
  1165. package/dist/commands/workflow.d.ts.map +1 -1
  1166. package/dist/commands/workflow.js +53 -5
  1167. package/dist/commands/workflow.js.map +1 -1
  1168. package/dist/config-store.d.ts +14 -1
  1169. package/dist/config-store.d.ts.map +1 -1
  1170. package/dist/config-store.js +50 -1
  1171. package/dist/config-store.js.map +1 -1
  1172. package/dist/daemon-lifecycle.d.ts +2 -2
  1173. package/dist/daemon-lifecycle.d.ts.map +1 -1
  1174. package/dist/daemon-lifecycle.js +5 -4
  1175. package/dist/daemon-lifecycle.js.map +1 -1
  1176. package/dist/host-registry.d.ts.map +1 -1
  1177. package/dist/host-registry.js +6 -3
  1178. package/dist/host-registry.js.map +1 -1
  1179. package/dist/index.d.ts +1 -0
  1180. package/dist/index.d.ts.map +1 -1
  1181. package/dist/index.js +4 -7
  1182. package/dist/index.js.map +1 -1
  1183. package/dist/lazy-program.d.ts +9 -0
  1184. package/dist/lazy-program.d.ts.map +1 -0
  1185. package/dist/lazy-program.js +111 -0
  1186. package/dist/lazy-program.js.map +1 -0
  1187. package/dist/lib/bundle-check.js +2 -2
  1188. package/dist/lib/bundle-check.js.map +1 -1
  1189. package/dist/lib/bundle-source.d.ts +1 -0
  1190. package/dist/lib/bundle-source.d.ts.map +1 -1
  1191. package/dist/lib/bundle-source.js +1 -0
  1192. package/dist/lib/bundle-source.js.map +1 -1
  1193. package/dist/lib/codex-auth.d.ts.map +1 -1
  1194. package/dist/lib/codex-auth.js +17 -1
  1195. package/dist/lib/codex-auth.js.map +1 -1
  1196. package/dist/lib/context-install.js +1 -1
  1197. package/dist/lib/context-install.js.map +1 -1
  1198. package/dist/lib/file-transfer.js +1 -1
  1199. package/dist/lib/file-transfer.js.map +1 -1
  1200. package/dist/lib/frontmatter.d.ts +11 -0
  1201. package/dist/lib/frontmatter.d.ts.map +1 -0
  1202. package/dist/lib/frontmatter.js +20 -0
  1203. package/dist/lib/frontmatter.js.map +1 -0
  1204. package/dist/lib/model-observation.d.ts +13 -0
  1205. package/dist/lib/model-observation.d.ts.map +1 -0
  1206. package/dist/lib/model-observation.js +25 -0
  1207. package/dist/lib/model-observation.js.map +1 -0
  1208. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
  1209. package/dist/lib/permission-policy/policy-spec.js +5 -7
  1210. package/dist/lib/permission-policy/policy-spec.js.map +1 -1
  1211. package/dist/lib/scope/logical-checkbox.js +1 -1
  1212. package/dist/lib/scope/logical-checkbox.js.map +1 -1
  1213. package/dist/lib/scope/scope-fs.d.ts +8 -0
  1214. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  1215. package/dist/lib/scope/scope-fs.js +50 -1
  1216. package/dist/lib/scope/scope-fs.js.map +1 -1
  1217. package/dist/lib/work-install.d.ts.map +1 -1
  1218. package/dist/lib/work-install.js +3 -13
  1219. package/dist/lib/work-install.js.map +1 -1
  1220. package/dist/mcp-server.d.ts.map +1 -1
  1221. package/dist/mcp-server.js +114 -0
  1222. package/dist/mcp-server.js.map +1 -1
  1223. package/dist/program-root.d.ts +5 -0
  1224. package/dist/program-root.d.ts.map +1 -0
  1225. package/dist/program-root.js +11 -0
  1226. package/dist/program-root.js.map +1 -0
  1227. package/dist/queue-read-compact.d.ts +29 -0
  1228. package/dist/queue-read-compact.d.ts.map +1 -0
  1229. package/dist/queue-read-compact.js +74 -0
  1230. package/dist/queue-read-compact.js.map +1 -0
  1231. package/dist/remote-host-ops.d.ts +21 -0
  1232. package/dist/remote-host-ops.d.ts.map +1 -1
  1233. package/dist/remote-host-ops.js +25 -12
  1234. package/dist/remote-host-ops.js.map +1 -1
  1235. package/package.json +1 -1
  1236. package/tui/dist/attention/attention-model.js +6 -5
  1237. package/tui/dist/attention/attention-model.js.map +1 -1
  1238. package/tui/dist/attention/source-continuity.d.ts.map +1 -1
  1239. package/tui/dist/attention/source-continuity.js +2 -0
  1240. package/tui/dist/attention/source-continuity.js.map +1 -1
  1241. package/tui/dist/commands/registry.d.ts.map +1 -1
  1242. package/tui/dist/commands/registry.js +3 -0
  1243. package/tui/dist/commands/registry.js.map +1 -1
  1244. package/tui/dist/config/config-model.d.ts.map +1 -1
  1245. package/tui/dist/config/config-model.js +6 -1
  1246. package/tui/dist/config/config-model.js.map +1 -1
  1247. package/tui/dist/cost/cost-model.d.ts +12 -0
  1248. package/tui/dist/cost/cost-model.d.ts.map +1 -0
  1249. package/tui/dist/cost/cost-model.js +141 -0
  1250. package/tui/dist/cost/cost-model.js.map +1 -0
  1251. package/tui/dist/cost/cost-read.d.ts +19 -0
  1252. package/tui/dist/cost/cost-read.d.ts.map +1 -0
  1253. package/tui/dist/cost/cost-read.js +4 -0
  1254. package/tui/dist/cost/cost-read.js.map +1 -0
  1255. package/tui/dist/daemon-client.d.ts +13 -0
  1256. package/tui/dist/daemon-client.d.ts.map +1 -1
  1257. package/tui/dist/daemon-client.js +77 -1
  1258. package/tui/dist/daemon-client.js.map +1 -1
  1259. package/tui/dist/detail.d.ts +2 -0
  1260. package/tui/dist/detail.d.ts.map +1 -1
  1261. package/tui/dist/detail.js +5 -0
  1262. package/tui/dist/detail.js.map +1 -1
  1263. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  1264. package/tui/dist/execution/execution-model.js +38 -18
  1265. package/tui/dist/execution/execution-model.js.map +1 -1
  1266. package/tui/dist/helper-cwd.d.ts +3 -0
  1267. package/tui/dist/helper-cwd.d.ts.map +1 -0
  1268. package/tui/dist/helper-cwd.js +16 -0
  1269. package/tui/dist/helper-cwd.js.map +1 -0
  1270. package/tui/dist/hydrate.d.ts.map +1 -1
  1271. package/tui/dist/hydrate.js +32 -1
  1272. package/tui/dist/hydrate.js.map +1 -1
  1273. package/tui/dist/input.d.ts.map +1 -1
  1274. package/tui/dist/input.js +2 -1
  1275. package/tui/dist/input.js.map +1 -1
  1276. package/tui/dist/local-reading.d.ts.map +1 -1
  1277. package/tui/dist/local-reading.js +2 -1
  1278. package/tui/dist/local-reading.js.map +1 -1
  1279. package/tui/dist/main.js +6 -5
  1280. package/tui/dist/main.js.map +1 -1
  1281. package/tui/dist/pulse/render-pulse.d.ts.map +1 -1
  1282. package/tui/dist/pulse/render-pulse.js +7 -1
  1283. package/tui/dist/pulse/render-pulse.js.map +1 -1
  1284. package/tui/dist/reading.js +1 -1
  1285. package/tui/dist/reading.js.map +1 -1
  1286. package/tui/dist/render.d.ts.map +1 -1
  1287. package/tui/dist/render.js +10 -1
  1288. package/tui/dist/render.js.map +1 -1
  1289. package/tui/dist/scopes/scopes-model.d.ts +6 -1
  1290. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  1291. package/tui/dist/scopes/scopes-model.js +33 -13
  1292. package/tui/dist/scopes/scopes-model.js.map +1 -1
  1293. package/tui/dist/sections.d.ts.map +1 -1
  1294. package/tui/dist/sections.js +4 -1
  1295. package/tui/dist/sections.js.map +1 -1
  1296. package/tui/dist/socket-server.d.ts.map +1 -1
  1297. package/tui/dist/socket-server.js +2 -1
  1298. package/tui/dist/socket-server.js.map +1 -1
  1299. package/tui/dist/specs/launch.d.ts.map +1 -1
  1300. package/tui/dist/specs/launch.js +2 -1
  1301. package/tui/dist/specs/launch.js.map +1 -1
  1302. package/tui/dist/startup.js +1 -1
  1303. package/tui/dist/startup.js.map +1 -1
  1304. package/tui/dist/state.d.ts.map +1 -1
  1305. package/tui/dist/state.js +8 -4
  1306. package/tui/dist/state.js.map +1 -1
  1307. package/tui/dist/terminals/open-window.d.ts +11 -1
  1308. package/tui/dist/terminals/open-window.d.ts.map +1 -1
  1309. package/tui/dist/terminals/open-window.js +48 -2
  1310. package/tui/dist/terminals/open-window.js.map +1 -1
  1311. package/tui/dist/types.d.ts +9 -0
  1312. package/tui/dist/types.d.ts.map +1 -1
  1313. package/tui/dist/usage/usage-hosts-model.d.ts +17 -0
  1314. package/tui/dist/usage/usage-hosts-model.d.ts.map +1 -0
  1315. package/tui/dist/usage/usage-hosts-model.js +73 -0
  1316. package/tui/dist/usage/usage-hosts-model.js.map +1 -0
  1317. package/tui/dist/usage/usage-model.d.ts +41 -0
  1318. package/tui/dist/usage/usage-model.d.ts.map +1 -0
  1319. package/tui/dist/usage/usage-model.js +196 -0
  1320. package/tui/dist/usage/usage-model.js.map +1 -0
  1321. package/ui/dist/assets/{index-DhmxKuZf.js → index-CVgod3Pm.js} +2 -2
  1322. package/ui/dist/index.html +1 -1
@@ -1,3 +1,4 @@
1
+ import { makeWatchdogDeliver, occurrenceAttempted, priorDigestAttempt } from "./domain/watchdog-delivery.js";
1
2
  import { fileURLToPath } from "node:url";
2
3
  import { discoverTailscaleSelfNames } from "./middleware/browser-boundary.js";
3
4
  import { configureShadowCapture } from "./domain/shadow-capture.js";
@@ -25,6 +26,8 @@ import { TmuxAdapter } from "./adapters/tmux.js";
25
26
  import { setDaemonTmuxServer, tmuxServerArgs } from "./adapters/tmux-server.js";
26
27
  import { CmuxAdapter } from "./adapters/cmux.js";
27
28
  import { execArgvCommand, execCommand } from "./adapters/tmux-exec.js";
29
+ import { tmuxControlExec } from "./adapters/tmux-control.js";
30
+ import { boundedProbeExec } from "./adapters/bounded-probe-exec.js";
28
31
  import { execPreflightCommand } from "./adapters/preflight-exec.js";
29
32
  import { createCmuxCliTransport } from "./adapters/cmux-transport.js";
30
33
  import { SnapshotRepository } from "./domain/snapshot-repository.js";
@@ -38,6 +41,9 @@ import { codexDaemonSupportProbe } from "./domain/codex-daemon-support.js";
38
41
  import { codexNetworkDefaultReader } from "./domain/codex-network-default.js";
39
42
  import { codexUsageReader } from "./domain/provider/codex-usage-reader.js";
40
43
  import { CodexUsageWindows } from "./domain/provider/codex-usage-windows.js";
44
+ import { ProviderAccountReadingsStore } from "./domain/provider/provider-account-readings.js";
45
+ import { claudeAuthStatusReader } from "./domain/provider/claude-auth-status-reader.js";
46
+ import { ClaudeUsageWindows, latestClaudeWindowSamples } from "./domain/provider/claude-usage-windows.js";
41
47
  import { prepareCodexTeamWorkspace } from "./domain/codex-team-workspace.js";
42
48
  import { PiResumeAdapter } from "./adapters/pi-resume.js";
43
49
  import { OmpResumeAdapter } from "./adapters/omp-resume.js";
@@ -74,6 +80,7 @@ import { PodBundleSourceResolver } from "./domain/bundle-source-resolver.js";
74
80
  import { PsProjectionService } from "./domain/ps-projection.js";
75
81
  import { SeatActivityService } from "./domain/seat-activity-service.js";
76
82
  import { readClaudeSelfReportEvidence } from "./adapters/claude-code-adapter.js";
83
+ import { replaceFile } from "./adapters/replace-file.js";
77
84
  import { SeatStructuralActivityService } from "./domain/seat-structural-activity-service.js";
78
85
  import { deriveSelfHostIdSource, SeatIdentityReconciler, reconcileSelfHostIdentity } from "./domain/seat-identity-reconciler.js";
79
86
  import { SeatIdentityStore, SelfHostIdentityStore } from "./domain/seat-identity-store.js";
@@ -85,8 +92,8 @@ import { RigTeardownOrchestrator } from "./domain/rig-teardown.js";
85
92
  import { ResumeMetadataRefresher } from "./domain/resume-metadata-refresher.js";
86
93
  import { observeClaudePaneStartedAt } from "./domain/native-process-lineage.js";
87
94
  import { TranscriptStore } from "./domain/transcript-store.js";
88
- import { resumeRunningTranscriptCaptures } from "./domain/transcript-capture.js";
89
- import { SessionTransport } from "./domain/session-transport.js";
95
+ import { resumeRunningTranscriptCaptures, wireTranscriptCaptureStops } from "./domain/transcript-capture.js";
96
+ import { probeSessionActivity, SessionTransport } from "./domain/session-transport.js";
90
97
  import { AgentActivityStore } from "./domain/agent-activity-store.js";
91
98
  import { HistoryQuery } from "./domain/history-query.js";
92
99
  import { AskService } from "./domain/ask-service.js";
@@ -108,7 +115,7 @@ import { wireViewEventBridge } from "./domain/view-event-bridge.js";
108
115
  import { WatchdogJobsRepository } from "./domain/watchdog-jobs-repository.js";
109
116
  import { WatchdogAutoRegistration } from "./domain/watchdog-auto-registration.js";
110
117
  import { WatchdogHistoryLog } from "./domain/watchdog-history-log.js";
111
- import { formatWatchdogDeliveryMessage, WatchdogPolicyEngine, } from "./domain/watchdog-policy-engine.js";
118
+ import { WatchdogPolicyEngine, } from "./domain/watchdog-policy-engine.js";
112
119
  import { WatchdogScheduler } from "./domain/watchdog-scheduler.js";
113
120
  import { ContinuityPolicyMaterializer, createContinuityCutoverBaton, findClaudeTranscriptByToken, recordManagedWidthReceipt, } from "./domain/continuity-policy-materializer.js";
114
121
  import { WorkflowRuntime } from "./domain/workflow-runtime.js";
@@ -153,7 +160,9 @@ import { MissionControlNotificationDispatcher } from "./domain/mission-control/n
153
160
  import { NtfyNotificationAdapter } from "./domain/mission-control/notification-adapter-ntfy.js";
154
161
  import { WebhookNotificationAdapter } from "./domain/mission-control/notification-adapter-webhook.js";
155
162
  import { OPENRIG_HOME } from "./openrig-compat.js";
163
+ import { homeIsolationAdvisory } from "./domain/home-isolation.js";
156
164
  import { materializeBuiltinPolicyReference } from "./domain/builtin-policy-reference.js";
165
+ import { withCommunityHarnessResolver, withCommunityHarnesses } from "./adapters/community-harness-runtime-adapter.js";
157
166
  import { ensureActivityHookToken, writeActivityEndpointFile, deriveActivityUrl, readActivityEndpointFile } from "./domain/activity-endpoint.js";
158
167
  import { getCompatibleOpenRigPath, getDefaultOpenRigPath, readOpenRigEnv, } from "./openrig-compat.js";
159
168
  const KNOWN_PROVIDER_AUTH_ENV = new Set([
@@ -197,6 +206,7 @@ const OMP_PROVIDER_AUTH_ENV = Object.fromEntries([
197
206
  ...Object.values(OMP_PROVIDER_ENV_VARS),
198
207
  ...Object.values(OMP_PROVIDER_EXTRA_ENV_VARS).flat(),
199
208
  ].map((name) => [name, true]));
209
+ /** Select configured provider credentials from the launch environment allowlist. */
200
210
  export function collectAllowlistedProviderAuthEnv(raw, env, runtime) {
201
211
  const admitOmp = runtime === "omp";
202
212
  const out = {};
@@ -215,6 +225,7 @@ export function collectAllowlistedProviderAuthEnv(raw, env, runtime) {
215
225
  }
216
226
  return out;
217
227
  }
228
+ /** Assemble the daemon services and runtime adapters using the selected installation assets. */
218
229
  export async function createDaemon(opts) {
219
230
  const daemonHome = os.homedir();
220
231
  const configuredCodexHome = process.env.CODEX_HOME || undefined;
@@ -222,6 +233,9 @@ export async function createDaemon(opts) {
222
233
  throw new Error(`CODEX_HOME must be an absolute path for managed seats: ${configuredCodexHome}`);
223
234
  }
224
235
  const codexHome = configuredCodexHome || nodePath.join(daemonHome, ".codex");
236
+ const homeIsolation = homeIsolationAdvisory({ openrigHome: OPENRIG_HOME, home: daemonHome, codexHome: configuredCodexHome });
237
+ if (homeIsolation)
238
+ console.warn(homeIsolation);
225
239
  // Only the explicit selection overrides a pane rc or the legacy PID-home
226
240
  // reader. The resolved default remains the writer/network-reader/session root.
227
241
  const dbPath = opts?.dbPath ?? ":memory:";
@@ -409,8 +423,13 @@ export async function createDaemon(opts) {
409
423
  // boot without creating jobs: additive coverage stays loud, core boot stays live.
410
424
  watchdogAutoRegistration.assertLiveSeatCoverage();
411
425
  const watchdogHistoryLogInstance = new WatchdogHistoryLog(db);
412
- const argvExec = opts?.argvExec
413
- ?? (opts?.tmuxExec ? undefined : process.platform === "win32" ? execArgvCommand : undefined);
426
+ // An injected string exec keeps the shell path, so its fake sees every command. OPENRIG_TMUX_SHELL=1 keeps it too.
427
+ const spawnedArgvExec = opts?.argvExec
428
+ ?? (opts?.tmuxExec || (process.env.OPENRIG_TMUX_SHELL === "1" && process.platform !== "win32") ? undefined : execArgvCommand);
429
+ // OPENRIG_TMUX_CONTROL=1 drives the real tmux through one control-mode client (tmux-control.ts); by default a client
430
+ // is spawned per command. An injected exec is the test's own, and psmux has no control mode.
431
+ const argvExec = spawnedArgvExec === execArgvCommand && process.platform !== "win32" && process.env.OPENRIG_TMUX_CONTROL === "1"
432
+ ? tmuxControlExec(execArgvCommand) : spawnedArgvExec;
414
433
  const tmuxAdapter = new TmuxAdapter(opts?.tmuxExec ?? execCommand, undefined, argvExec);
415
434
  // The real tmux runs with this process's environment, so its server is the one $TMUX names.
416
435
  // An injected exec has no server of its own: printed attach commands stay in the default form.
@@ -427,6 +446,17 @@ export async function createDaemon(opts) {
427
446
  const seatActivityService = new SeatActivityService({
428
447
  tmux: tmuxAdapter,
429
448
  defaultWindowSeconds: 3,
449
+ permissionPromptReader: async (sessionName) => {
450
+ const activity = await probeSessionActivity({ sessionName, runtime: "codex", attachmentType: "tmux", tmuxAdapter });
451
+ if (activity.state === "unknown")
452
+ return null;
453
+ return activity.state === "needs_input" && ["permission_prompt", "selection_prompt"].includes(activity.reason);
454
+ },
455
+ permissionPromptChanged: (sessionName, confirmed) => {
456
+ const latest = agentActivityStore.getLatestForNode({ sessionName });
457
+ agentActivityStore.recordHookEvent({ sessionName, runtime: "codex", generation: latest?.generation,
458
+ hookEvent: confirmed ? "PermissionPromptConfirmed" : "PermissionPromptCleared" });
459
+ },
430
460
  eventBus,
431
461
  // S19 — the Claude self-report rung (pid.json), consulted per sweep for seats whose
432
462
  // declared inventory staffs it; unreadable = null = the ladder falls, never errors.
@@ -539,19 +569,39 @@ export async function createDaemon(opts) {
539
569
  const snapshotCapture = new SnapshotCapture({ db, rigRepo, sessionRegistry, eventBus, snapshotRepo, checkpointStore });
540
570
  const claudeManagedLaunch = new ClaudeManagedLaunch(db, { ...launchSessionEnv, CLAUDE_CONFIG_DIR: process.env.CLAUDE_CONFIG_DIR }, {
541
571
  OPENRIG_CLAUDE_DISABLE_ALTERNATE_SCREEN: process.env.OPENRIG_CLAUDE_DISABLE_ALTERNATE_SCREEN,
542
- });
572
+ }, (session, key) => tmuxAdapter.getSessionEnv(session, key));
543
573
  const claudeResume = new ClaudeResumeAdapter(tmuxAdapter, { claudeManagedLaunch, seatLaunchEnvironment });
544
574
  // #275: one reader for both Codex launch adapters, with the PATH, HOME and CODEX_HOME a seat session gets.
545
575
  const readCodexNetworkDefault = codexNetworkDefaultReader({ launchPath: process.env.PATH, home: daemonHome, codexHome });
546
576
  const prepareTeamWorkspace = (sessionName) => prepareCodexTeamWorkspace(sessionName, new ContextPackSettingsStore().resolveConfig().workspaceRoot, process.env.OPENRIG_SHARED_DOCS_ROOT?.trim() || nodePath.join(daemonHome, ".openrig", "shared-docs"), daemonHome);
547
- const codexResume = new CodexResumeAdapter(tmuxAdapter, { prepareTeamWorkspace, seatLaunchEnvironment, codexHome: configuredCodexHome, launchPath: process.env.PATH, detectDaemonSupport: codexDaemonSupportProbe(process.env.PATH, undefined, configuredCodexHome), readNetworkDefault: readCodexNetworkDefault });
577
+ const codexResume = new CodexResumeAdapter(tmuxAdapter, { ensureManagedConfig: () => codexAdapter.ensureManagedConfig(), prepareTeamWorkspace, seatLaunchEnvironment, codexHome: configuredCodexHome, launchPath: process.env.PATH, detectDaemonSupport: codexDaemonSupportProbe(process.env.PATH, undefined, configuredCodexHome), readNetworkDefault: readCodexNetworkDefault });
548
578
  // OPR.0.4.6.PI1 — the Pi seat-state root + the compiled runner entry (daemon
549
579
  // dist). Shared by the Pi runtime adapter, the resume adapter, and the
550
580
  // resume-token capture sidecar reader.
551
581
  const piStateRoot = nodePath.join(OPENRIG_HOME, "state", "pi");
552
582
  const ompStateRoot = nodePath.join(OPENRIG_HOME, "state", "omp");
553
583
  const piRunnerEntryPath = nodePath.resolve(import.meta.dirname, "./adapters/pi-runner.js");
554
- const piResume = new PiResumeAdapter(tmuxAdapter, { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }) }, { stateRoot: piStateRoot, runnerEntryPath: piRunnerEntryPath }, { seatLaunchEnvironment });
584
+ // OPR.0.7.0.2: Pi seats report cost facts from persisted entries only while usage.pi_cost_facts is on;
585
+ // read at each launch and resume, so the switch takes effect at the next one.
586
+ const piUsageFactsEnabled = () => {
587
+ try {
588
+ return new ContextPackSettingsStore().resolveOne("usage.pi_cost_facts").value === true;
589
+ }
590
+ catch {
591
+ return false;
592
+ }
593
+ };
594
+ // OPR.0.7.0.2 K4: Pi seats look up OpenRouter's actual charge only while usage.pi_openrouter_charge is on (and
595
+ // only alongside usage.pi_cost_facts); read at each launch and resume.
596
+ const piOpenRouterChargeEnabled = () => {
597
+ try {
598
+ return new ContextPackSettingsStore().resolveOne("usage.pi_openrouter_charge").value === true;
599
+ }
600
+ catch {
601
+ return false;
602
+ }
603
+ };
604
+ const piResume = new PiResumeAdapter(tmuxAdapter, { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }) }, { stateRoot: piStateRoot, runnerEntryPath: piRunnerEntryPath }, { seatLaunchEnvironment, usageFactsEnabled: piUsageFactsEnabled, openRouterChargeEnabled: piOpenRouterChargeEnabled });
555
605
  const ompResume = new OmpResumeAdapter(tmuxAdapter, { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }) }, { stateRoot: ompStateRoot, runnerEntryPath: piRunnerEntryPath });
556
606
  // Services infrastructure (RigEnv) — created early so restore/bootstrap can use it
557
607
  const { ComposeServicesAdapter } = await import("./adapters/compose-services-adapter.js");
@@ -604,6 +654,7 @@ export async function createDaemon(opts) {
604
654
  // Transcript rotators are process-local. Reattach them after lifecycle
605
655
  // reconciliation so surviving tmux sessions keep ingesting across daemon
606
656
  // restarts while genuinely detached sessions stay excluded.
657
+ wireTranscriptCaptureStops(db, eventBus);
607
658
  try {
608
659
  await resumeRunningTranscriptCaptures(db, tmuxAdapter, transcriptStore);
609
660
  }
@@ -642,7 +693,9 @@ export async function createDaemon(opts) {
642
693
  // Phase 5: Bootstrap services
643
694
  const bootstrapRepo = new BootstrapRepository(db);
644
695
  const exec = opts?.tmuxExec ?? execCommand;
645
- const runtimeVerifier = new RuntimeVerifier({ exec, db });
696
+ // Runtime --version/--help probes are bounded and end their process group: startup awaits the Codex probe
697
+ // before it listens (fresh DB), so a hung binary must not hold it. An injected test exec keeps probing as given.
698
+ const runtimeVerifier = new RuntimeVerifier({ exec, db, ...(opts?.tmuxExec ? {} : { probeExec: boundedProbeExec() }) });
646
699
  const probeRegistry = new RequirementsProbeRegistry(exec);
647
700
  const externalInstallPlanner = new ExternalInstallPlanner();
648
701
  const externalInstallExecutor = new ExternalInstallExecutor({ exec, db });
@@ -652,6 +705,7 @@ export async function createDaemon(opts) {
652
705
  exists: (p) => fs.existsSync(p),
653
706
  listFiles: (dirPath) => {
654
707
  const results = [];
708
+ /** Walk installation files and collect their relative paths. */
655
709
  function walk(dir, prefix) {
656
710
  for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
657
711
  if (entry.isDirectory())
@@ -688,27 +742,42 @@ export async function createDaemon(opts) {
688
742
  const { OmpRuntimeAdapter } = await import("./adapters/omp-runtime-adapter.js");
689
743
  const startupOrchestrator = new StartupOrchestrator({ db, sessionRegistry, eventBus, tmuxAdapter, readFile: (p) => fs.readFileSync(p, "utf-8") });
690
744
  const runtimeSettings = new ContextPackSettingsStore().resolveConfig();
691
- const claudeAdapter = new ClaudeCodeAdapter({ tmux: tmuxAdapter, seatLaunchEnvironment, claudeManagedLaunch, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), copyFile: (src, dest) => fs.copyFileSync(src, dest), listFiles: (dir) => { const r = []; function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
745
+ const claudeAdapter = new ClaudeCodeAdapter({ tmux: tmuxAdapter, seatLaunchEnvironment, claudeManagedLaunch, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), copyFile: replaceFile, listFiles: (dir) => { const r = []; /** Collect relative file paths recursively. */ /** Collect relative file paths recursively. */ function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
692
746
  if (e.isDirectory())
693
747
  w(nodePath.join(d, e.name), nodePath.join(pre, e.name));
694
748
  else
695
749
  r.push(pre ? nodePath.join(pre, e.name) : e.name);
696
750
  } } w(dir, ""); return r; }, readdir: (dir) => fs.readdirSync(dir), statMode: (p) => fs.statSync(p).mode, chmod: (p, m) => fs.chmodSync(p, m), homedir: os.homedir() }, stateDir: OPENRIG_HOME, collectorAssetPath: nodePath.resolve(import.meta.dirname, "../assets/claude-statusline-context.cjs"), autoDriveProviderPrompts: runtimeSettings.recoveryAutoDriveProviderPrompts, activityRelayPath: nodePath.resolve(import.meta.dirname, "../assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs"), claudeHooksManifestPath: nodePath.resolve(import.meta.dirname, "../assets/plugins/openrig-core/hooks/claude.json"), recordProjection: (targetPath, content) => projectionManifestStore.record({ targetPath, lastHash: hashContent(content), writtenAt: new Date().toISOString() }) });
697
- const codexAdapter = new CodexRuntimeAdapter({ prepareTeamWorkspace, tmux: tmuxAdapter, seatLaunchEnvironment, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
751
+ const codexAdapter = new CodexRuntimeAdapter({ prepareTeamWorkspace, tmux: tmuxAdapter, seatLaunchEnvironment, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; /** Collect relative file paths recursively. */ /** Collect relative file paths recursively. */ function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
698
752
  if (e.isDirectory())
699
753
  w(nodePath.join(d, e.name), nodePath.join(pre, e.name));
700
754
  else
701
755
  r.push(pre ? nodePath.join(pre, e.name) : e.name);
702
- } } w(dir, ""); return r; }, statMode: (p) => fs.statSync(p).mode, chmod: (p, m) => fs.chmodSync(p, m), homedir: daemonHome }, codexHome: configuredCodexHome, launchPath: process.env.PATH, detectDaemonSupport: codexDaemonSupportProbe(process.env.PATH, undefined, configuredCodexHome), readNetworkDefault: readCodexNetworkDefault, activityRelayPath: nodePath.resolve(import.meta.dirname, "../assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs") });
756
+ } } w(dir, ""); return r; }, statMode: (p) => fs.statSync(p).mode, chmod: (p, m) => fs.chmodSync(p, m), homedir: daemonHome }, codexHome: configuredCodexHome, launchPath: process.env.PATH, detectDaemonSupport: codexDaemonSupportProbe(process.env.PATH, undefined, configuredCodexHome), readNetworkDefault: readCodexNetworkDefault, activityRelayPath: nodePath.resolve(import.meta.dirname, "../assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs"), resolveHooksEnabled: async () => {
757
+ const { SettingsStore } = await import("./domain/user-settings/settings-store.js");
758
+ return new SettingsStore().resolveOne("runtime.codex.hooks_enabled").value;
759
+ }, resolveManagedConfigSettings: async () => {
760
+ const { SettingsStore } = await import("./domain/user-settings/settings-store.js");
761
+ const enabled = new SettingsStore().resolveOne("runtime.codex.hooks_enabled").value;
762
+ const row = db.prepare("SELECT version FROM runtime_verifications WHERE runtime = 'codex' ORDER BY verified_at DESC LIMIT 1").get();
763
+ if (row?.version)
764
+ return { enabled, codexVersion: row.version };
765
+ try {
766
+ return { enabled, codexVersion: (await runtimeVerifier.verifyCodex()).version ?? undefined };
767
+ }
768
+ catch {
769
+ return { enabled }; /* codex not available — skip feature flag */
770
+ }
771
+ } });
703
772
  // OPR.0.4.6.PI1 — the RPC-first Pi adapter (runner-in-a-pane). Same fsOps
704
773
  // shape as the Codex adapter; seat isolation roots under piStateRoot.
705
- const piAdapter = new PiRuntimeAdapter({ tmux: tmuxAdapter, seatLaunchEnvironment, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
774
+ const piAdapter = new PiRuntimeAdapter({ tmux: tmuxAdapter, seatLaunchEnvironment, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; /** Collect relative file paths recursively. */ /** Collect relative file paths recursively. */ function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
706
775
  if (e.isDirectory())
707
776
  w(nodePath.join(d, e.name), nodePath.join(pre, e.name));
708
777
  else
709
778
  r.push(pre ? nodePath.join(pre, e.name) : e.name);
710
- } } w(dir, ""); return r; }, statMode: (p) => fs.statSync(p).mode, chmod: (p, m) => fs.chmodSync(p, m) }, stateRoot: piStateRoot, runnerEntryPath: piRunnerEntryPath });
711
- const ompAdapter = new OmpRuntimeAdapter({ tmux: tmuxAdapter, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
779
+ } } w(dir, ""); return r; }, statMode: (p) => fs.statSync(p).mode, chmod: (p, m) => fs.chmodSync(p, m) }, stateRoot: piStateRoot, runnerEntryPath: piRunnerEntryPath, usageFactsEnabled: piUsageFactsEnabled, openRouterChargeEnabled: piOpenRouterChargeEnabled });
780
+ const ompAdapter = new OmpRuntimeAdapter({ tmux: tmuxAdapter, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; /** Collect relative file paths recursively. */ /** Collect relative file paths recursively. */ function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
712
781
  if (e.isDirectory())
713
782
  w(nodePath.join(d, e.name), nodePath.join(pre, e.name));
714
783
  else
@@ -718,7 +787,7 @@ export async function createDaemon(opts) {
718
787
  // Same fsOps shape as Pi; the compiled runner entry lives in the daemon dist.
719
788
  const { StubRuntimeAdapter } = await import("./adapters/stub-runtime-adapter.js");
720
789
  const stubRunnerEntryPath = nodePath.resolve(import.meta.dirname, "./adapters/stub-runner.js");
721
- const stubAdapter = new StubRuntimeAdapter({ tmux: tmuxAdapter, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
790
+ const stubAdapter = new StubRuntimeAdapter({ tmux: tmuxAdapter, fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), writeFile: (p, c) => fs.writeFileSync(p, c, "utf-8"), exists: (p) => fs.existsSync(p), mkdirp: (p) => fs.mkdirSync(p, { recursive: true }), listFiles: (dir) => { const r = []; /** Collect relative file paths recursively. */ /** Collect relative file paths recursively. */ function w(d, pre) { for (const e of fs.readdirSync(d, { withFileTypes: true })) {
722
791
  if (e.isDirectory())
723
792
  w(nodePath.join(d, e.name), nodePath.join(pre, e.name));
724
793
  else
@@ -731,33 +800,16 @@ export async function createDaemon(opts) {
731
800
  // Operator can disable Codex hooks via OPENRIG_RUNTIME_CODEX_HOOKS_ENABLED
732
801
  // or rig config set runtime.codex.hooks_enabled false.
733
802
  try {
734
- const { SettingsStore, ensureDefaultClaudeCompactionFiles, } = await import("./domain/user-settings/settings-store.js");
803
+ const { ensureDefaultClaudeCompactionFiles } = await import("./domain/user-settings/settings-store.js");
735
804
  ensureDefaultClaudeCompactionFiles(OPENRIG_HOME);
736
- const settingsStore = new SettingsStore();
737
- const enabled = settingsStore.resolveOne("runtime.codex.hooks_enabled").value;
738
- let codexVersion;
739
- const codexVersionRow = db.prepare("SELECT version FROM runtime_verifications WHERE runtime = 'codex' ORDER BY verified_at DESC LIMIT 1").get();
740
- if (codexVersionRow?.version) {
741
- codexVersion = codexVersionRow.version;
742
- }
743
- else {
744
- try {
745
- const verifyResult = await runtimeVerifier.verifyCodex();
746
- codexVersion = verifyResult.version ?? undefined;
747
- }
748
- catch { /* codex not available — skip feature flag */ }
749
- }
750
- codexAdapter.ensureCodexFeatureFlag(enabled, { codexVersion });
751
- // OPR.0.4.1.10 FR-A — project the OpenRig activity hooks into the Codex config
752
- // layer so Codex seats are hook-PRIMARY for the rig-send prompt guard (and gain
753
- // SessionStart/UserPromptSubmit/Stop observability) from clean shipped config.
754
- // Same enable gate as the feature flag; trust is auto-cleared at launch.
755
- if (enabled) {
756
- codexAdapter.ensureCodexActivityHooks();
805
+ // The Codex config is the user's file: write it at boot only when this daemon already
806
+ // has a Codex seat; otherwise the first Codex launch ensures it (CodexRuntimeAdapter.prepareLaunch).
807
+ // A disabled hooks setting still strips a stale managed block at every boot.
808
+ if (db.prepare("SELECT 1 FROM nodes WHERE runtime = 'codex' LIMIT 1").get()) {
809
+ await codexAdapter.ensureManagedConfig();
757
810
  }
758
811
  else {
759
- // OPR.0.4.1.10 B3 — durable disable: strip any previously-written managed [hooks] block.
760
- codexAdapter.removeCodexActivityHooks();
812
+ await codexAdapter.stripManagedHooksIfDisabled();
761
813
  }
762
814
  }
763
815
  catch (err) {
@@ -779,6 +831,7 @@ export async function createDaemon(opts) {
779
831
  mkdirp: (p) => fs.mkdirSync(p, { recursive: true }),
780
832
  listFiles: (dir) => {
781
833
  const r = [];
834
+ /** Collect relative file paths recursively. */
782
835
  function w(d, pre) {
783
836
  for (const e of fs.readdirSync(d, { withFileTypes: true })) {
784
837
  if (e.isDirectory())
@@ -927,7 +980,7 @@ export async function createDaemon(opts) {
927
980
  db, rigRepo, podRepo,
928
981
  sessionRegistry, eventBus, nodeLauncher, startupOrchestrator,
929
982
  fsOps: { readFile: (p) => fs.readFileSync(p, "utf-8"), exists: (p) => fs.existsSync(p) },
930
- adapters: { "claude-code": claudeAdapter, "codex": codexAdapter, "pi": piAdapter, "omp": ompAdapter, "stub": stubAdapter, "terminal": new (await import("./adapters/terminal-adapter.js")).TerminalAdapter() },
983
+ adapters: withCommunityHarnesses({ "claude-code": claudeAdapter, "codex": codexAdapter, "pi": piAdapter, "omp": ompAdapter, "stub": stubAdapter, "terminal": new (await import("./adapters/terminal-adapter.js")).TerminalAdapter() }, { tmux: tmuxAdapter, seatLaunchEnvironment }),
931
984
  tmuxAdapter,
932
985
  agentImageLibrary,
933
986
  continuityPolicyMaterializer,
@@ -1037,6 +1090,27 @@ export async function createDaemon(opts) {
1037
1090
  // generation) so a frozen pre-handover sample can't drive the threshold. null = UNKNOWN (inert).
1038
1091
  resolveOccupantBootAt: (nodeId) => sessionRegistry.currentOccupantTenure(nodeId)?.bootAt ?? null,
1039
1092
  });
1093
+ // Shared, read-only current-occupant record path: reporting does not depend on a pin or transport.
1094
+ const { CurrentModelReader } = await import("./domain/model-divergence/current-model-reader.js");
1095
+ const { ProcessCensus: ModelProcessCensus } = await import("./domain/process-census.js");
1096
+ const { CodexThreadIdResolver: ModelThreadResolver } = await import("./domain/codex-thread-id.js");
1097
+ const modelCensus = new ModelProcessCensus();
1098
+ const modelThreads = new ModelThreadResolver({ defaultHome: daemonHome, codexHome: configuredCodexHome });
1099
+ const currentModelReader = new CurrentModelReader({
1100
+ sessions: sessionRegistry, identities: new SeatIdentityStore(db), context: contextUsageStore,
1101
+ census: modelCensus,
1102
+ readAllPaneProcesses: () => tmuxAdapter.readAllPaneProcesses(),
1103
+ native: {
1104
+ getPanePid: async (target) => tmuxAdapter.getPanePid ? tmuxAdapter.getPanePid(target) : null,
1105
+ listProcesses: () => modelCensus.list(),
1106
+ readThreadIdByPid: (pid, identity) => identity === undefined
1107
+ ? modelThreads.resolveUngatedLegacy(pid) : modelThreads.resolve(pid, identity),
1108
+ },
1109
+ codexRollout: (threadId, sessionName, reporting) => reporting
1110
+ ? contextUsageStore.readCodexTranscriptPath(threadId)
1111
+ : contextUsageStore.readCodexAndNormalize({ threadId, sessionName }).transcriptPath,
1112
+ piRunner: (sessionName) => piAdapter.readRunnerSidecar(sessionName),
1113
+ });
1040
1114
  const { HealthProjectionService, LiveContextHealthSource } = await import("./domain/health-detectors.js");
1041
1115
  const healthSettingsStore = new ContextPackSettingsStore();
1042
1116
  const contextHealthSource = new LiveContextHealthSource({
@@ -1136,6 +1210,14 @@ export async function createDaemon(opts) {
1136
1210
  // Capture compatibility before the spec-library initializer creates the primary directory.
1137
1211
  const userSpecLibraryRoot = getDefaultOpenRigPath("specs");
1138
1212
  const compatibleSpecLibraryRoot = getCompatibleOpenRigPath("specs");
1213
+ const runtimeAdaptersMap = withCommunityHarnessResolver({
1214
+ "claude-code": claudeAdapter,
1215
+ "codex": codexAdapter,
1216
+ "pi": piAdapter,
1217
+ "omp": ompAdapter,
1218
+ "stub": stubAdapter,
1219
+ "terminal": new (await import("./adapters/terminal-adapter.js")).TerminalAdapter(),
1220
+ }, { tmux: tmuxAdapter, seatLaunchEnvironment });
1139
1221
  const deps = {
1140
1222
  rigRepo,
1141
1223
  sessionRegistry,
@@ -1160,11 +1242,18 @@ export async function createDaemon(opts) {
1160
1242
  listRigs: () => rigRepo.listRigs(),
1161
1243
  collectClaudeSignals: () => collectClaudeSignalsFromProviderUsageDirectory(providerUsageDirectory(OPENRIG_HOME), undefined, legacyProviderUsageDirectory(OPENRIG_HOME)),
1162
1244
  agentActivityStore,
1163
- // Slice 01: Codex usage windows, off unless provider.usage_windows is on (read per call). The reader
1164
- // runs only on an explicit refresh, with the PATH, HOME and CODEX_HOME a seat session gets.
1245
+ // Slice 01: Codex and Claude usage windows, off unless provider.usage_windows is on (read per call). The native
1246
+ // readers (Codex's app-server; Claude's auth status, for identity) run only on an explicit refresh, with the
1247
+ // PATH, HOME, CODEX_HOME and CLAUDE_CONFIG_DIR a seat session gets. Claude's windows are the seats' status-line
1248
+ // samples (usage_samples), read on every view.
1165
1249
  usageWindows: {
1166
1250
  enabled: () => new ContextPackSettingsStore().resolveOne("provider.usage_windows").value === true,
1167
- windows: new CodexUsageWindows({ read: codexUsageReader({ launchPath: process.env.PATH, home: daemonHome, codexHome }) }),
1251
+ windows: new CodexUsageWindows({ read: codexUsageReader({ launchPath: process.env.PATH, home: daemonHome, codexHome }),
1252
+ store: new ProviderAccountReadingsStore(db) }),
1253
+ claude: new ClaudeUsageWindows({
1254
+ readIdentity: claudeAuthStatusReader({ launchPath: process.env.PATH, home: daemonHome, claudeConfigDir: process.env.CLAUDE_CONFIG_DIR }),
1255
+ listSamples: () => latestClaudeWindowSamples(db),
1256
+ }),
1168
1257
  },
1169
1258
  }),
1170
1259
  restoreOrchestrator,
@@ -1206,7 +1295,7 @@ export async function createDaemon(opts) {
1206
1295
  }),
1207
1296
  podInstantiator,
1208
1297
  podBundleSourceResolver,
1209
- runtimeAdapters: { "claude-code": claudeAdapter, "codex": codexAdapter, "pi": piAdapter, "omp": ompAdapter, "stub": stubAdapter, "terminal": new (await import("./adapters/terminal-adapter.js")).TerminalAdapter() },
1298
+ runtimeAdapters: runtimeAdaptersMap,
1210
1299
  transcriptStore,
1211
1300
  sessionTransport: (() => {
1212
1301
  const t = new SessionTransport({
@@ -1219,6 +1308,16 @@ export async function createDaemon(opts) {
1219
1308
  slowOpRecorder,
1220
1309
  activityEndpointFile: () => readActivityEndpointFile(OPENRIG_HOME),
1221
1310
  captureObserver: shadow.capture?.observer,
1311
+ runtimeAdapters: runtimeAdaptersMap,
1312
+ // transport.verify_input_box, read at each verified Claude Code or Codex send (absent or unreadable = off).
1313
+ verifyInputBox: () => {
1314
+ try {
1315
+ return new ContextPackSettingsStore().resolveOne("transport.verify_input_box").value === true;
1316
+ }
1317
+ catch {
1318
+ return false;
1319
+ }
1320
+ },
1222
1321
  });
1223
1322
  // PL-004 Phase A revision (R1): wire QueueRepository's wake-path so
1224
1323
  // create / handoff / handoff-and-complete nudge by default.
@@ -1304,6 +1403,7 @@ export async function createDaemon(opts) {
1304
1403
  seatAttentionReconciler,
1305
1404
  activityHookToken: resolvedActivityHookToken,
1306
1405
  contextUsageStore,
1406
+ currentModelReader,
1307
1407
  healthProjection,
1308
1408
  healthDiagnosis,
1309
1409
  healthPolicy,
@@ -1888,31 +1988,12 @@ export async function createDaemon(opts) {
1888
1988
  jobsRepo: watchdogJobsRepoInstance,
1889
1989
  historyLog: watchdogHistoryLogInstance,
1890
1990
  eventBus,
1891
- deliver: async ({ targetSession, message, continuityAction }, source) => {
1892
- let continuityActionCompleted = false;
1893
- try {
1894
- if (continuityAction) {
1895
- await createContinuityCutoverBaton(continuityAction, queueRepoInstance);
1896
- continuityActionCompleted = true;
1897
- }
1898
- const deliveryId = `guard-watchdog-${source.occurrenceId ?? source.jobId}`;
1899
- const previous = outboxHandlerInstance.getById(deliveryId);
1900
- const payload = previous?.guardBinding ? previous.body : formatWatchdogDeliveryMessage(source, message);
1901
- const result = await sessionTransport.send(targetSession, payload, { deliveryId, actorSession: "watchdog@system", auditPointer: source.jobId });
1902
- if (result.outcome === "retained")
1903
- return { status: "retained", outboxIds: result.outboxIds, continuityActionCompleted };
1904
- return result.ok
1905
- ? { status: "ok", continuityActionCompleted }
1906
- : { status: "failed", error: result.error, continuityActionCompleted };
1907
- }
1908
- catch (err) {
1909
- return {
1910
- status: "failed",
1911
- error: err instanceof Error ? err.message : String(err),
1912
- continuityActionCompleted,
1913
- };
1914
- }
1915
- },
1991
+ deliver: makeWatchdogDeliver({
1992
+ sessionTransport,
1993
+ outbox: outboxHandlerInstance,
1994
+ db,
1995
+ createContinuityAction: (action) => createContinuityCutoverBaton(action, queueRepoInstance).then(() => { }),
1996
+ }),
1916
1997
  // (i-c) fire-time target-generation gate: resolve the target's LIVE occupant-generation (P12
1917
1998
  // occupant_tenures) so a generation-bound wake is refused once the target has handed over.
1918
1999
  // UNKNOWN (null) fails open → deliver. A drop of this line disables the gate silently (gen-bound
@@ -1923,6 +2004,10 @@ export async function createDaemon(opts) {
1923
2004
  onWakeAttempt: ({ jobId, deliveryStatus }) => {
1924
2005
  queueRepoInstance.recordWatchdogWakeAttempt(jobId, deliveryStatus);
1925
2006
  },
2007
+ // Due parked-row reminders for one seat in one scheduler pass go as one message.
2008
+ resolveDigestEntry: ({ jobId, message }) => queueRepoInstance.parkReminderDigestEntry(jobId, message),
2009
+ priorDigestAttempt: (occurrenceId) => priorDigestAttempt(outboxHandlerInstance, occurrenceId),
2010
+ occurrenceAttempted: (occurrenceId) => occurrenceAttempted(outboxHandlerInstance, occurrenceId),
1926
2011
  // PL-004 Phase D: register workflow-keepalive policy alongside
1927
2012
  // Phase C's three built-in policies. workflow-keepalive reads
1928
2013
  // SQLite workflow_instances directly via the new Phase D tables
@@ -1961,16 +2046,11 @@ export async function createDaemon(opts) {
1961
2046
  const parkedDeps = {
1962
2047
  getSeatState: (seatNodeId) => seatActivityService.getSeatState(seatNodeId),
1963
2048
  listOpenObligations: (destinationSession, limit) => ({
1964
- rows: queueRepoInstance
1965
- .list({ destinationSession, state: ["pending", "in-progress", "blocked"], limit })
1966
- .map((r) => ({
1967
- qitemId: r.qitemId,
1968
- state: r.state,
1969
- summary: r.summary ?? null,
1970
- })),
2049
+ rows: queueRepoInstance.listOpenObligations(destinationSession, limit),
1971
2050
  limit,
1972
2051
  }),
1973
2052
  getParkWake: (qitemId) => queueRepoInstance.getParkWakeStatus(qitemId),
2053
+ servedByOwnReminder: (qitemId) => queueRepoInstance.parkWakeServedByOwnReminder(qitemId),
1974
2054
  };
1975
2055
  return diagnoseRigParked(parkedDeps, seats.map((s) => ({ seatNodeId: s.node_id, sessionName: s.session_name })));
1976
2056
  },
@@ -1998,9 +2078,7 @@ export async function createDaemon(opts) {
1998
2078
  return { ok: true };
1999
2079
  },
2000
2080
  recordNudgeResult: (qitemId, result) => queueRepoInstance.recordNudgeAttempt(qitemId, result),
2001
- listOpenIds: (destinationSession) => queueRepoInstance
2002
- .list({ destinationSession, state: ["pending", "in-progress", "blocked"], limit: 500 })
2003
- .map((r) => r.qitemId),
2081
+ listOpenIds: (destinationSession) => queueRepoInstance.listOpenObligations(destinationSession, 500).map((r) => r.qitemId),
2004
2082
  },
2005
2083
  occupantGeneration: (sessionName) => sessionRegistry.currentOccupantGenerationForSession(sessionName),
2006
2084
  }),
@@ -2104,30 +2182,9 @@ export async function createDaemon(opts) {
2104
2182
  // (no daemon-side cross-host send seam exists yet — the deferral names that, never silence).
2105
2183
  {
2106
2184
  const { ModelDivergenceMonitor } = await import("./domain/model-divergence/model-divergence-monitor.js");
2107
- const { readClaudeEffectiveModel, readCodexEffectiveModel } = await import("./domain/model-divergence/effective-model-readers.js");
2108
- const { resolveIdentityVerifiedClaudeRecord, resolveLiveCodexThreadId } = await import("./domain/model-divergence/current-generation-record.js");
2109
- const { defaultListProcesses } = await import("./domain/resume-metadata-refresher.js");
2110
- const { readCodexThreadIdFromCandidateHomes, defaultResolveHomeDirByPid } = await import("./domain/codex-thread-id.js");
2111
- const nodeOs = await import("node:os");
2112
- const nodeFs = await import("node:fs");
2113
- const seatIdentityStore = new SeatIdentityStore(db);
2114
- // OPR.0.5.3.10 — ONE shared census + ONE PID-home resolver for the whole
2115
- // divergence surface: no more `ps -Ao` per seat per poll, no more `ps eww`
2116
- // per pid (default-home-first + bounded PID cache).
2117
- const { ProcessCensus } = await import("./domain/process-census.js");
2118
- const { CodexThreadIdResolver } = await import("./domain/codex-thread-id.js");
2119
- const divergenceCensus = new ProcessCensus();
2120
- const codexThreadIdResolver = new CodexThreadIdResolver({ defaultHome: nodeOs.homedir(), codexHome: configuredCodexHome });
2121
- const currentGenDeps = {
2122
- getPanePid: async (sessionTarget) => tmuxAdapter.getPanePid ? tmuxAdapter.getPanePid(sessionTarget) : null,
2123
- listProcesses: () => divergenceCensus.list(),
2124
- // S10 follow-on: identity REQUIRED on resolve(); the identity-less case routes EXPLICITLY
2125
- // through the named ungated escape hatch — never a silent fallback (r1 owed item 3).
2126
- readThreadIdByPid: (pid, identity) => identity === undefined ? codexThreadIdResolver.resolveUngatedLegacy(pid) : codexThreadIdResolver.resolve(pid, identity),
2127
- };
2128
2185
  const OVERSIGHT_SEAT = "watch-lead@oversight";
2129
2186
  const modelDivergenceMonitor = new ModelDivergenceMonitor({
2130
- processCensus: divergenceCensus,
2187
+ processCensus: modelCensus,
2131
2188
  listPinnedSeats: () => {
2132
2189
  const rows = db.prepare(`
2133
2190
  SELECT n.id AS nodeId, r.id AS rigId, r.name AS rigName, n.runtime AS runtime, n.model AS pinnedModel,
@@ -2141,52 +2198,7 @@ export async function createDaemon(opts) {
2141
2198
  .filter((row) => row.sessionName !== null)
2142
2199
  .map((row) => ({ ...row, generation: sessionRegistry.currentOccupantGenerationForSession(row.sessionName) }));
2143
2200
  },
2144
- // D-a / OPR.0.5.9.13 — the CURRENT GENERATION's record through the canonical binding and
2145
- // verified pane identity, never a name, registry token, or transcript recency lookup. A
2146
- // retained predecessor may keep writing under the canonical launch-time name forever.
2147
- // Every missing or ambiguous identity join is an explicit no-answer.
2148
- readEffectiveModel: async (seat, cycle) => {
2149
- // OPR.0.5.3.10 mini-req 1 — the poll-scoped census (one ps per pass) when the
2150
- // monitor threads it; the shared coalescing census otherwise.
2151
- const genDeps = cycle ? { ...currentGenDeps, listProcesses: cycle.listProcesses } : currentGenDeps;
2152
- if (seat.runtime === "codex") {
2153
- const live = await resolveLiveCodexThreadId(seat.sessionName, genDeps);
2154
- if (!live.ok)
2155
- return { ok: false, reason: live.reason };
2156
- const rollout = contextUsageStore.readCodexAndNormalize({ threadId: live.id, sessionName: seat.sessionName }).transcriptPath;
2157
- if (!rollout)
2158
- return { ok: false, reason: `live thread ${live.id.slice(0, 8)}… has no readable rollout` };
2159
- const model = readCodexEffectiveModel(rollout);
2160
- return model ? { ok: true, model } : { ok: false, reason: `no model signal in the bounded read of ${rollout}` };
2161
- }
2162
- if (seat.runtime === "claude-code") {
2163
- const tenure = sessionRegistry.currentOccupantTenure(seat.nodeId);
2164
- const sidecar = contextUsageStore.readSidecar(seat.sessionName);
2165
- const binding = sessionRegistry.getBindingForNode(seat.nodeId);
2166
- const selection = await resolveIdentityVerifiedClaudeRecord({
2167
- sessionName: seat.sessionName,
2168
- generation: seat.generation,
2169
- occupantBootAt: tenure?.bootAt ?? null,
2170
- binding: binding ? { tmuxSession: binding.tmuxSession, tmuxPane: binding.tmuxPane } : null,
2171
- identity: seatIdentityStore.getForNode(seat.nodeId),
2172
- sidecar: sidecar.ok ? sidecar.data : null,
2173
- }, genDeps, (path) => {
2174
- try {
2175
- return nodeFs.statSync(path).isFile();
2176
- }
2177
- catch {
2178
- return false;
2179
- }
2180
- });
2181
- if (!selection.ok)
2182
- return { ok: false, reason: selection.reason };
2183
- const model = readClaudeEffectiveModel(selection.path);
2184
- return model
2185
- ? { ok: true, model }
2186
- : { ok: false, reason: `no assistant turn yet in the current occupant record ${selection.path} (selected from ${selection.source})` };
2187
- }
2188
- return { ok: false, reason: `runtime ${seat.runtime ?? "unknown"} has no effective-model reader yet` };
2189
- },
2201
+ readEffectiveModel: (seat, cycle) => currentModelReader.readEffectiveModel(seat, cycle),
2190
2202
  sendToSession: async (target, message, deliveryId) => {
2191
2203
  try {
2192
2204
  const previous = deliveryId ? outboxHandlerInstance.getById(deliveryId) : null;