@openrig/cli 0.6.11 → 0.6.12

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 (1182) hide show
  1. package/README.md +7 -4
  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 +30 -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 +77 -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 +69 -16
  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 +10 -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/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  22. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +19 -0
  23. package/daemon/assets/skills/rigs/SKILL.md +55 -9
  24. package/daemon/context-packs/help/manifest.yaml +1 -1
  25. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  26. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +106 -37
  27. package/daemon/context-packs/reference/getting-started.md +39 -6
  28. package/daemon/context-packs/reference/manifest.yaml +1 -1
  29. package/daemon/context-packs/reference/rig-spec.md +64 -3
  30. package/daemon/context-packs/reference/whats-new.md +167 -146
  31. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/claude-compaction-restore/scripts/precompact-hook.mjs +24 -0
  36. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +1 -1
  45. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +0 -1
  47. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  49. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  55. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/delegating-work/SKILL.md +25 -5
  58. package/daemon/context-packs/skills/delegating-work/manifest.yaml +3 -3
  59. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +4 -2
  60. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +10 -1
  63. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/openrig-user/SKILL.md +172 -11
  66. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/SKILL.md +7 -4
  68. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +1 -1
  78. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  79. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  80. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  81. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  82. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  85. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/queue-handoff/SKILL.md +8 -0
  89. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  90. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  91. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/SKILL.md +5 -2
  92. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  93. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  94. package/daemon/context-packs/skills/session-compaction-and-restore/SKILL.md +19 -0
  95. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  96. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  97. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  98. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  99. package/daemon/dist/adapters/bounded-probe-exec.d.ts +45 -0
  100. package/daemon/dist/adapters/bounded-probe-exec.d.ts.map +1 -0
  101. package/daemon/dist/adapters/bounded-probe-exec.js +204 -0
  102. package/daemon/dist/adapters/bounded-probe-exec.js.map +1 -0
  103. package/daemon/dist/adapters/claude-code-adapter.d.ts +17 -1
  104. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  105. package/daemon/dist/adapters/claude-code-adapter.js +173 -32
  106. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  107. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  108. package/daemon/dist/adapters/claude-resume.js +14 -3
  109. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  110. package/daemon/dist/adapters/codex-resume.d.ts +5 -0
  111. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  112. package/daemon/dist/adapters/codex-resume.js +17 -3
  113. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  114. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +38 -1
  115. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  116. package/daemon/dist/adapters/codex-runtime-adapter.js +137 -5
  117. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  118. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts +46 -0
  119. package/daemon/dist/adapters/community-harness-runtime-adapter.d.ts.map +1 -0
  120. package/daemon/dist/adapters/community-harness-runtime-adapter.js +102 -0
  121. package/daemon/dist/adapters/community-harness-runtime-adapter.js.map +1 -0
  122. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  123. package/daemon/dist/adapters/compose-services-adapter.js +2 -1
  124. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  125. package/daemon/dist/adapters/kernel-authority.d.ts +8 -1
  126. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  127. package/daemon/dist/adapters/kernel-authority.js +35 -10
  128. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  129. package/daemon/dist/adapters/omp-rpc-frame.d.ts +51 -0
  130. package/daemon/dist/adapters/omp-rpc-frame.d.ts.map +1 -0
  131. package/daemon/dist/adapters/omp-rpc-frame.js +153 -0
  132. package/daemon/dist/adapters/omp-rpc-frame.js.map +1 -0
  133. package/daemon/dist/adapters/pi-openrouter-charge.d.ts +67 -0
  134. package/daemon/dist/adapters/pi-openrouter-charge.d.ts.map +1 -0
  135. package/daemon/dist/adapters/pi-openrouter-charge.js +228 -0
  136. package/daemon/dist/adapters/pi-openrouter-charge.js.map +1 -0
  137. package/daemon/dist/adapters/pi-readiness.d.ts +81 -5
  138. package/daemon/dist/adapters/pi-readiness.d.ts.map +1 -1
  139. package/daemon/dist/adapters/pi-readiness.js +193 -27
  140. package/daemon/dist/adapters/pi-readiness.js.map +1 -1
  141. package/daemon/dist/adapters/pi-resume.d.ts +4 -0
  142. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  143. package/daemon/dist/adapters/pi-resume.js +2 -0
  144. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  145. package/daemon/dist/adapters/pi-runner-protocol.d.ts +4 -0
  146. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
  147. package/daemon/dist/adapters/pi-runner-protocol.js +5 -0
  148. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
  149. package/daemon/dist/adapters/pi-runner.d.ts +67 -2
  150. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  151. package/daemon/dist/adapters/pi-runner.js +333 -13
  152. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  153. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +16 -1
  154. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  155. package/daemon/dist/adapters/pi-runtime-adapter.js +17 -0
  156. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  157. package/daemon/dist/adapters/preflight-exec.d.ts +3 -0
  158. package/daemon/dist/adapters/preflight-exec.d.ts.map +1 -1
  159. package/daemon/dist/adapters/preflight-exec.js +15 -7
  160. package/daemon/dist/adapters/preflight-exec.js.map +1 -1
  161. package/daemon/dist/adapters/replace-file.d.ts +8 -0
  162. package/daemon/dist/adapters/replace-file.d.ts.map +1 -0
  163. package/daemon/dist/adapters/replace-file.js +32 -0
  164. package/daemon/dist/adapters/replace-file.js.map +1 -0
  165. package/daemon/dist/adapters/tmux-control.d.ts +119 -0
  166. package/daemon/dist/adapters/tmux-control.d.ts.map +1 -0
  167. package/daemon/dist/adapters/tmux-control.js +547 -0
  168. package/daemon/dist/adapters/tmux-control.js.map +1 -0
  169. package/daemon/dist/adapters/tmux-exec.d.ts +18 -4
  170. package/daemon/dist/adapters/tmux-exec.d.ts.map +1 -1
  171. package/daemon/dist/adapters/tmux-exec.js +98 -17
  172. package/daemon/dist/adapters/tmux-exec.js.map +1 -1
  173. package/daemon/dist/adapters/tmux.d.ts +52 -15
  174. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  175. package/daemon/dist/adapters/tmux.js +232 -58
  176. package/daemon/dist/adapters/tmux.js.map +1 -1
  177. package/daemon/dist/build-info.js +3 -3
  178. package/daemon/dist/composer-prompts-surface.d.ts +2 -0
  179. package/daemon/dist/composer-prompts-surface.d.ts.map +1 -0
  180. package/daemon/dist/composer-prompts-surface.js +2 -0
  181. package/daemon/dist/composer-prompts-surface.js.map +1 -0
  182. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  183. package/daemon/dist/db/all-migrations.js +24 -0
  184. package/daemon/dist/db/all-migrations.js.map +1 -1
  185. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts +3 -0
  186. package/daemon/dist/db/migrations/100_typing_guard_modes.d.ts.map +1 -0
  187. package/daemon/dist/db/migrations/100_typing_guard_modes.js +10 -0
  188. package/daemon/dist/db/migrations/100_typing_guard_modes.js.map +1 -0
  189. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts +3 -0
  190. package/daemon/dist/db/migrations/104_node_effort_choice.d.ts.map +1 -0
  191. package/daemon/dist/db/migrations/104_node_effort_choice.js +10 -0
  192. package/daemon/dist/db/migrations/104_node_effort_choice.js.map +1 -0
  193. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts +9 -0
  194. package/daemon/dist/db/migrations/105_usage_samples_client_cost.d.ts.map +1 -0
  195. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js +14 -0
  196. package/daemon/dist/db/migrations/105_usage_samples_client_cost.js.map +1 -0
  197. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts +10 -0
  198. package/daemon/dist/db/migrations/107_pi_usage_entries.d.ts.map +1 -0
  199. package/daemon/dist/db/migrations/107_pi_usage_entries.js +38 -0
  200. package/daemon/dist/db/migrations/107_pi_usage_entries.js.map +1 -0
  201. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts +12 -0
  202. package/daemon/dist/db/migrations/108_pi_usage_charges.d.ts.map +1 -0
  203. package/daemon/dist/db/migrations/108_pi_usage_charges.js +39 -0
  204. package/daemon/dist/db/migrations/108_pi_usage_charges.js.map +1 -0
  205. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts +5 -0
  206. package/daemon/dist/db/migrations/109_mode_posture_coexist.d.ts.map +1 -0
  207. package/daemon/dist/db/migrations/109_mode_posture_coexist.js +11 -0
  208. package/daemon/dist/db/migrations/109_mode_posture_coexist.js.map +1 -0
  209. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts +10 -0
  210. package/daemon/dist/db/migrations/110_workflow_instance_scope.d.ts.map +1 -0
  211. package/daemon/dist/db/migrations/110_workflow_instance_scope.js +14 -0
  212. package/daemon/dist/db/migrations/110_workflow_instance_scope.js.map +1 -0
  213. package/daemon/dist/db/migrations/111_seat_env.d.ts +6 -0
  214. package/daemon/dist/db/migrations/111_seat_env.d.ts.map +1 -0
  215. package/daemon/dist/db/migrations/111_seat_env.js +11 -0
  216. package/daemon/dist/db/migrations/111_seat_env.js.map +1 -0
  217. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts +3 -0
  218. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.d.ts.map +1 -0
  219. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js +14 -0
  220. package/daemon/dist/db/migrations/112_queue_transitions_ts_qitem.js.map +1 -0
  221. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts +3 -0
  222. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.d.ts.map +1 -0
  223. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js +9 -0
  224. package/daemon/dist/db/migrations/113_applied_launch_daemon_opt_out.js.map +1 -0
  225. package/daemon/dist/db/migrations/114_session_agent_app.d.ts +3 -0
  226. package/daemon/dist/db/migrations/114_session_agent_app.d.ts.map +1 -0
  227. package/daemon/dist/db/migrations/114_session_agent_app.js +11 -0
  228. package/daemon/dist/db/migrations/114_session_agent_app.js.map +1 -0
  229. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts +3 -0
  230. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.d.ts.map +1 -0
  231. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js +28 -0
  232. package/daemon/dist/db/migrations/115_thread_seat_map_channel_key.js.map +1 -0
  233. package/daemon/dist/domain/activity-taxonomy.d.ts +13 -5
  234. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  235. package/daemon/dist/domain/activity-taxonomy.js +14 -2
  236. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  237. package/daemon/dist/domain/agent-activity-store.d.ts +2 -0
  238. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  239. package/daemon/dist/domain/agent-activity-store.js +14 -8
  240. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  241. package/daemon/dist/domain/agent-images/agent-image-library-service.js +1 -1
  242. package/daemon/dist/domain/agent-images/agent-image-library-service.js.map +1 -1
  243. package/daemon/dist/domain/agent-images/manifest-parser.js +1 -1
  244. package/daemon/dist/domain/agent-images/manifest-parser.js.map +1 -1
  245. package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
  246. package/daemon/dist/domain/agent-manifest.js +21 -3
  247. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  248. package/daemon/dist/domain/applied-launch-observation-store.d.ts +2 -0
  249. package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
  250. package/daemon/dist/domain/applied-launch-observation-store.js +27 -3
  251. package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
  252. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +3 -0
  253. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  254. package/daemon/dist/domain/bootstrap-orchestrator.js +49 -16
  255. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  256. package/daemon/dist/domain/built-in-runtimes.d.ts +10 -0
  257. package/daemon/dist/domain/built-in-runtimes.d.ts.map +1 -0
  258. package/daemon/dist/domain/built-in-runtimes.js +14 -0
  259. package/daemon/dist/domain/built-in-runtimes.js.map +1 -0
  260. package/daemon/dist/domain/bundle-archive.d.ts +3 -1
  261. package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
  262. package/daemon/dist/domain/bundle-archive.js +5 -3
  263. package/daemon/dist/domain/bundle-archive.js.map +1 -1
  264. package/daemon/dist/domain/bundle-behaviour.d.ts +20 -0
  265. package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -1
  266. package/daemon/dist/domain/bundle-behaviour.js +57 -1
  267. package/daemon/dist/domain/bundle-behaviour.js.map +1 -1
  268. package/daemon/dist/domain/bundle-integrity.d.ts +5 -2
  269. package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
  270. package/daemon/dist/domain/bundle-integrity.js +39 -8
  271. package/daemon/dist/domain/bundle-integrity.js.map +1 -1
  272. package/daemon/dist/domain/bundle-source-resolver.d.ts +3 -1
  273. package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
  274. package/daemon/dist/domain/bundle-source-resolver.js +7 -2
  275. package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
  276. package/daemon/dist/domain/bundle-types.d.ts +6 -0
  277. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  278. package/daemon/dist/domain/bundle-types.js +26 -0
  279. package/daemon/dist/domain/bundle-types.js.map +1 -1
  280. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  281. package/daemon/dist/domain/chat-repository.js +3 -2
  282. package/daemon/dist/domain/chat-repository.js.map +1 -1
  283. package/daemon/dist/domain/claim-service.d.ts +6 -0
  284. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  285. package/daemon/dist/domain/claim-service.js +20 -1
  286. package/daemon/dist/domain/claim-service.js.map +1 -1
  287. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +63 -2
  288. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  289. package/daemon/dist/domain/claude-compaction-enforcer.js +154 -16
  290. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  291. package/daemon/dist/domain/claude-core-plugin-env.d.ts +26 -0
  292. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -0
  293. package/daemon/dist/domain/claude-core-plugin-env.js +86 -0
  294. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -0
  295. package/daemon/dist/domain/claude-managed-launch.d.ts +13 -6
  296. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  297. package/daemon/dist/domain/claude-managed-launch.js +58 -5
  298. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  299. package/daemon/dist/domain/codex-thread-id.d.ts +22 -3
  300. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  301. package/daemon/dist/domain/codex-thread-id.js +65 -16
  302. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  303. package/daemon/dist/domain/community-harness-presets.d.ts +38 -0
  304. package/daemon/dist/domain/community-harness-presets.d.ts.map +1 -0
  305. package/daemon/dist/domain/community-harness-presets.js +155 -0
  306. package/daemon/dist/domain/community-harness-presets.js.map +1 -0
  307. package/daemon/dist/domain/composer-prompts.d.ts +118 -0
  308. package/daemon/dist/domain/composer-prompts.d.ts.map +1 -0
  309. package/daemon/dist/domain/composer-prompts.js +165 -0
  310. package/daemon/dist/domain/composer-prompts.js.map +1 -0
  311. package/daemon/dist/domain/context-monitor.d.ts +3 -0
  312. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  313. package/daemon/dist/domain/context-monitor.js +14 -2
  314. package/daemon/dist/domain/context-monitor.js.map +1 -1
  315. package/daemon/dist/domain/context-packs/context-pack-library-service.js +2 -2
  316. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  317. package/daemon/dist/domain/context-packs/manifest-parser.js +1 -1
  318. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  319. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  320. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  321. package/daemon/dist/domain/context-usage-store.js +1 -0
  322. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  323. package/daemon/dist/domain/current-work.js +2 -2
  324. package/daemon/dist/domain/current-work.js.map +1 -1
  325. package/daemon/dist/domain/draft-aware-delivery.d.ts +32 -0
  326. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -0
  327. package/daemon/dist/domain/draft-aware-delivery.js +156 -0
  328. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -0
  329. package/daemon/dist/domain/event-bus.d.ts +10 -1
  330. package/daemon/dist/domain/event-bus.d.ts.map +1 -1
  331. package/daemon/dist/domain/event-bus.js +25 -0
  332. package/daemon/dist/domain/event-bus.js.map +1 -1
  333. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  334. package/daemon/dist/domain/execution-view.js +76 -10
  335. package/daemon/dist/domain/execution-view.js.map +1 -1
  336. package/daemon/dist/domain/frontmatter.d.ts +11 -0
  337. package/daemon/dist/domain/frontmatter.d.ts.map +1 -0
  338. package/daemon/dist/domain/frontmatter.js +20 -0
  339. package/daemon/dist/domain/frontmatter.js.map +1 -0
  340. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +11 -0
  341. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  342. package/daemon/dist/domain/gateway/gateway-subsystem.js +7 -0
  343. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  344. package/daemon/dist/domain/gateway/human-registry.d.ts +6 -1
  345. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  346. package/daemon/dist/domain/gateway/human-registry.js +7 -0
  347. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  348. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts +54 -0
  349. package/daemon/dist/domain/gateway/slack/bot-inbox.d.ts.map +1 -0
  350. package/daemon/dist/domain/gateway/slack/bot-inbox.js +86 -0
  351. package/daemon/dist/domain/gateway/slack/bot-inbox.js.map +1 -0
  352. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -1
  353. package/daemon/dist/domain/gateway/slack/capabilities.js +1 -0
  354. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -1
  355. package/daemon/dist/domain/gateway/slack/channel-map.d.ts +11 -1
  356. package/daemon/dist/domain/gateway/slack/channel-map.d.ts.map +1 -1
  357. package/daemon/dist/domain/gateway/slack/channel-map.js +31 -6
  358. package/daemon/dist/domain/gateway/slack/channel-map.js.map +1 -1
  359. package/daemon/dist/domain/gateway/slack/config.d.ts +14 -0
  360. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  361. package/daemon/dist/domain/gateway/slack/config.js +28 -0
  362. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  363. package/daemon/dist/domain/gateway/slack/forwarding.d.ts +32 -0
  364. package/daemon/dist/domain/gateway/slack/forwarding.d.ts.map +1 -0
  365. package/daemon/dist/domain/gateway/slack/forwarding.js +76 -0
  366. package/daemon/dist/domain/gateway/slack/forwarding.js.map +1 -0
  367. package/daemon/dist/domain/gateway/slack/inbound.d.ts +99 -1
  368. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  369. package/daemon/dist/domain/gateway/slack/inbound.js +325 -7
  370. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  371. package/daemon/dist/domain/gateway/slack/message.d.ts +28 -0
  372. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  373. package/daemon/dist/domain/gateway/slack/message.js +105 -4
  374. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  375. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
  376. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  377. package/daemon/dist/domain/gateway/slack/outbound-driver.js +1 -0
  378. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  379. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -1
  380. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  381. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +10 -0
  382. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  383. package/daemon/dist/domain/gateway/slack/slack-api.js +13 -0
  384. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  385. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +2 -0
  386. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  387. package/daemon/dist/domain/gateway/slack/slack-delivery.js +12 -2
  388. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  389. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -0
  390. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  391. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +133 -20
  392. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  393. package/daemon/dist/domain/gateway/slack/state-store.d.ts +9 -2
  394. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  395. package/daemon/dist/domain/gateway/slack/state-store.js +24 -2
  396. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  397. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +3 -0
  398. package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
  399. package/daemon/dist/domain/gateway/slack/thread-routing.js +18 -7
  400. package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
  401. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +17 -6
  402. package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
  403. package/daemon/dist/domain/gateway/slack/thread-seat-map.js +41 -23
  404. package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
  405. package/daemon/dist/domain/history-query.d.ts.map +1 -1
  406. package/daemon/dist/domain/history-query.js +2 -1
  407. package/daemon/dist/domain/history-query.js.map +1 -1
  408. package/daemon/dist/domain/home-isolation.d.ts +18 -0
  409. package/daemon/dist/domain/home-isolation.d.ts.map +1 -0
  410. package/daemon/dist/domain/home-isolation.js +75 -0
  411. package/daemon/dist/domain/home-isolation.js.map +1 -0
  412. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +22 -0
  413. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  414. package/daemon/dist/domain/hosts/remote-daemon-http.js +43 -3
  415. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  416. package/daemon/dist/domain/inbox-handler.d.ts.map +1 -1
  417. package/daemon/dist/domain/inbox-handler.js +34 -32
  418. package/daemon/dist/domain/inbox-handler.js.map +1 -1
  419. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js +12 -2
  420. package/daemon/dist/domain/mission-control/notification-adapter-ntfy.js.map +1 -1
  421. package/daemon/dist/domain/mission-control/notification-dispatcher.d.ts.map +1 -1
  422. package/daemon/dist/domain/mission-control/notification-dispatcher.js +2 -1
  423. package/daemon/dist/domain/mission-control/notification-dispatcher.js.map +1 -1
  424. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +63 -0
  425. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  426. package/daemon/dist/domain/model-divergence/current-generation-record.js +130 -1
  427. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  428. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +42 -0
  429. package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
  430. package/daemon/dist/domain/model-divergence/effective-model-readers.js +160 -5
  431. package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
  432. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +8 -2
  433. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  434. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +10 -5
  435. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  436. package/daemon/dist/domain/native-process-lineage.d.ts +49 -0
  437. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  438. package/daemon/dist/domain/native-process-lineage.js +129 -15
  439. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  440. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  441. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  442. package/daemon/dist/domain/native-resume-probe.js +43 -6
  443. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  444. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  445. package/daemon/dist/domain/node-inventory.js +26 -9
  446. package/daemon/dist/domain/node-inventory.js.map +1 -1
  447. package/daemon/dist/domain/node-launcher.d.ts +18 -0
  448. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  449. package/daemon/dist/domain/node-launcher.js +60 -2
  450. package/daemon/dist/domain/node-launcher.js.map +1 -1
  451. package/daemon/dist/domain/openrouter-charge.d.ts +42 -0
  452. package/daemon/dist/domain/openrouter-charge.d.ts.map +1 -0
  453. package/daemon/dist/domain/openrouter-charge.js +57 -0
  454. package/daemon/dist/domain/openrouter-charge.js.map +1 -0
  455. package/daemon/dist/domain/parked-query.d.ts +5 -0
  456. package/daemon/dist/domain/parked-query.d.ts.map +1 -1
  457. package/daemon/dist/domain/parked-query.js +9 -2
  458. package/daemon/dist/domain/parked-query.js.map +1 -1
  459. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  460. package/daemon/dist/domain/periodic-snapshot-scheduler.js +27 -3
  461. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  462. package/daemon/dist/domain/permission-drift.d.ts +2 -0
  463. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  464. package/daemon/dist/domain/permission-drift.js.map +1 -1
  465. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
  466. package/daemon/dist/domain/permission-policy/policy-spec.js +5 -7
  467. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
  468. package/daemon/dist/domain/pi-usage-entries-store.d.ts +41 -0
  469. package/daemon/dist/domain/pi-usage-entries-store.d.ts.map +1 -0
  470. package/daemon/dist/domain/pi-usage-entries-store.js +173 -0
  471. package/daemon/dist/domain/pi-usage-entries-store.js.map +1 -0
  472. package/daemon/dist/domain/pi-usage-facts.d.ts +90 -0
  473. package/daemon/dist/domain/pi-usage-facts.d.ts.map +1 -0
  474. package/daemon/dist/domain/pi-usage-facts.js +165 -0
  475. package/daemon/dist/domain/pi-usage-facts.js.map +1 -0
  476. package/daemon/dist/domain/pod-bundle-assembler.d.ts +2 -0
  477. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  478. package/daemon/dist/domain/pod-bundle-assembler.js +4 -0
  479. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  480. package/daemon/dist/domain/policies/artifact-pool-helpers.d.ts.map +1 -1
  481. package/daemon/dist/domain/policies/artifact-pool-helpers.js +6 -4
  482. package/daemon/dist/domain/policies/artifact-pool-helpers.js.map +1 -1
  483. package/daemon/dist/domain/profile-resolver.d.ts +2 -0
  484. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  485. package/daemon/dist/domain/profile-resolver.js +4 -0
  486. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  487. package/daemon/dist/domain/progress/progress-indexer.js +1 -1
  488. package/daemon/dist/domain/progress/progress-indexer.js.map +1 -1
  489. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +4 -0
  490. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
  491. package/daemon/dist/domain/project-lifecycle-compiler.js +63 -3
  492. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
  493. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  494. package/daemon/dist/domain/proof/judgments.js +31 -2
  495. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  496. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts +33 -0
  497. package/daemon/dist/domain/provider/claude-auth-status-reader.d.ts.map +1 -0
  498. package/daemon/dist/domain/provider/claude-auth-status-reader.js +195 -0
  499. package/daemon/dist/domain/provider/claude-auth-status-reader.js.map +1 -0
  500. package/daemon/dist/domain/provider/claude-usage-windows.d.ts +68 -0
  501. package/daemon/dist/domain/provider/claude-usage-windows.d.ts.map +1 -0
  502. package/daemon/dist/domain/provider/claude-usage-windows.js +260 -0
  503. package/daemon/dist/domain/provider/claude-usage-windows.js.map +1 -0
  504. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +14 -0
  505. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -1
  506. package/daemon/dist/domain/provider/codex-auth-reader.js +41 -12
  507. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -1
  508. package/daemon/dist/domain/provider/codex-usage-reader.d.ts +2 -0
  509. package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -1
  510. package/daemon/dist/domain/provider/codex-usage-reader.js +3 -1
  511. package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -1
  512. package/daemon/dist/domain/provider/codex-usage-windows.d.ts +10 -49
  513. package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -1
  514. package/daemon/dist/domain/provider/codex-usage-windows.js +15 -173
  515. package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -1
  516. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts +18 -0
  517. package/daemon/dist/domain/provider/provider-seat-accounts.d.ts.map +1 -0
  518. package/daemon/dist/domain/provider/provider-seat-accounts.js +159 -0
  519. package/daemon/dist/domain/provider/provider-seat-accounts.js.map +1 -0
  520. package/daemon/dist/domain/provider/provider-service-impl.d.ts +7 -2
  521. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -1
  522. package/daemon/dist/domain/provider/provider-service-impl.js +20 -2
  523. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -1
  524. package/daemon/dist/domain/provider/provider-service.d.ts +4 -2
  525. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -1
  526. package/daemon/dist/domain/provider/provider-types.d.ts +72 -4
  527. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
  528. package/daemon/dist/domain/provider/reactive-tap.js +2 -0
  529. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -1
  530. package/daemon/dist/domain/provider/subscription-moves.d.ts +77 -0
  531. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +1 -0
  532. package/daemon/dist/domain/provider/subscription-moves.js +140 -0
  533. package/daemon/dist/domain/provider/subscription-moves.js.map +1 -0
  534. package/daemon/dist/domain/provider/usage-across-hosts.d.ts +162 -0
  535. package/daemon/dist/domain/provider/usage-across-hosts.d.ts.map +1 -0
  536. package/daemon/dist/domain/provider/usage-across-hosts.js +563 -0
  537. package/daemon/dist/domain/provider/usage-across-hosts.js.map +1 -0
  538. package/daemon/dist/domain/provider/usage-windows.d.ts +88 -0
  539. package/daemon/dist/domain/provider/usage-windows.d.ts.map +1 -0
  540. package/daemon/dist/domain/provider/usage-windows.js +189 -0
  541. package/daemon/dist/domain/provider/usage-windows.js.map +1 -0
  542. package/daemon/dist/domain/queue-owner.d.ts +6 -0
  543. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  544. package/daemon/dist/domain/queue-owner.js +22 -0
  545. package/daemon/dist/domain/queue-owner.js.map +1 -1
  546. package/daemon/dist/domain/queue-repository.d.ts +89 -14
  547. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  548. package/daemon/dist/domain/queue-repository.js +331 -86
  549. package/daemon/dist/domain/queue-repository.js.map +1 -1
  550. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  551. package/daemon/dist/domain/queue-stuck-sweep.js +9 -21
  552. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  553. package/daemon/dist/domain/queue-transition-log.d.ts +23 -2
  554. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  555. package/daemon/dist/domain/queue-transition-log.js +98 -39
  556. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  557. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -2
  558. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  559. package/daemon/dist/domain/queue-wake-ladder.js +27 -8
  560. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  561. package/daemon/dist/domain/queue-wake-repository.d.ts +7 -1
  562. package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
  563. package/daemon/dist/domain/queue-wake-repository.js +54 -5
  564. package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
  565. package/daemon/dist/domain/reply-to-choice.d.ts +2 -0
  566. package/daemon/dist/domain/reply-to-choice.d.ts.map +1 -1
  567. package/daemon/dist/domain/reply-to-choice.js +2 -0
  568. package/daemon/dist/domain/reply-to-choice.js.map +1 -1
  569. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  570. package/daemon/dist/domain/restore-check-service.js +3 -2
  571. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  572. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  573. package/daemon/dist/domain/restore-orchestrator.js +78 -14
  574. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  575. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  576. package/daemon/dist/domain/restore-plan-preview.js +23 -19
  577. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  578. package/daemon/dist/domain/restore-policy.d.ts +26 -0
  579. package/daemon/dist/domain/restore-policy.d.ts.map +1 -0
  580. package/daemon/dist/domain/restore-policy.js +22 -0
  581. package/daemon/dist/domain/restore-policy.js.map +1 -0
  582. package/daemon/dist/domain/restore-preconditions.d.ts +2 -0
  583. package/daemon/dist/domain/restore-preconditions.d.ts.map +1 -1
  584. package/daemon/dist/domain/restore-preconditions.js +6 -1
  585. package/daemon/dist/domain/restore-preconditions.js.map +1 -1
  586. package/daemon/dist/domain/restore-runtime-compatibility.d.ts +3 -0
  587. package/daemon/dist/domain/restore-runtime-compatibility.d.ts.map +1 -0
  588. package/daemon/dist/domain/restore-runtime-compatibility.js +7 -0
  589. package/daemon/dist/domain/restore-runtime-compatibility.js.map +1 -0
  590. package/daemon/dist/domain/resume-metadata-refresher.d.ts +10 -5
  591. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  592. package/daemon/dist/domain/resume-metadata-refresher.js +109 -21
  593. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  594. package/daemon/dist/domain/resume-token-capture.d.ts +1 -1
  595. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  596. package/daemon/dist/domain/resume-token-capture.js +7 -1
  597. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  598. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  599. package/daemon/dist/domain/review/compose.js +5 -4
  600. package/daemon/dist/domain/review/compose.js.map +1 -1
  601. package/daemon/dist/domain/review/gather.d.ts +2 -1
  602. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  603. package/daemon/dist/domain/review/gather.js +25 -17
  604. package/daemon/dist/domain/review/gather.js.map +1 -1
  605. package/daemon/dist/domain/rig-lifecycle-service.d.ts +31 -8
  606. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  607. package/daemon/dist/domain/rig-lifecycle-service.js +253 -98
  608. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  609. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +11 -1
  610. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  611. package/daemon/dist/domain/rig-mode/rig-mode-store.js +69 -48
  612. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  613. package/daemon/dist/domain/rig-repository.d.ts +18 -0
  614. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  615. package/daemon/dist/domain/rig-repository.js +52 -1
  616. package/daemon/dist/domain/rig-repository.js.map +1 -1
  617. package/daemon/dist/domain/rig-teardown.d.ts +4 -1
  618. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  619. package/daemon/dist/domain/rig-teardown.js +40 -2
  620. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  621. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  622. package/daemon/dist/domain/rigspec-codec.js +7 -0
  623. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  624. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  625. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  626. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  627. package/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
  628. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  629. package/daemon/dist/domain/rigspec-instantiator.js +28 -5
  630. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  631. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  632. package/daemon/dist/domain/rigspec-preflight.js +18 -5
  633. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  634. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  635. package/daemon/dist/domain/rigspec-schema.js +24 -2
  636. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  637. package/daemon/dist/domain/runtime-adapter.d.ts +11 -0
  638. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  639. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  640. package/daemon/dist/domain/runtime-verifier.d.ts +15 -1
  641. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  642. package/daemon/dist/domain/runtime-verifier.js +28 -4
  643. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  644. package/daemon/dist/domain/scope/logical-checkbox.js +1 -1
  645. package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -1
  646. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  647. package/daemon/dist/domain/scope/scope-view-projection.js +23 -10
  648. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  649. package/daemon/dist/domain/seat-activity-service.d.ts +9 -2
  650. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  651. package/daemon/dist/domain/seat-activity-service.js +100 -15
  652. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  653. package/daemon/dist/domain/seat-attention-reconciler.d.ts +3 -0
  654. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  655. package/daemon/dist/domain/seat-attention-reconciler.js +114 -7
  656. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  657. package/daemon/dist/domain/seat-delivery-guard.d.ts +36 -1
  658. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  659. package/daemon/dist/domain/seat-delivery-guard.js +255 -22
  660. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  661. package/daemon/dist/domain/seat-effort.d.ts +115 -0
  662. package/daemon/dist/domain/seat-effort.d.ts.map +1 -0
  663. package/daemon/dist/domain/seat-effort.js +233 -0
  664. package/daemon/dist/domain/seat-effort.js.map +1 -0
  665. package/daemon/dist/domain/seat-env.d.ts +37 -0
  666. package/daemon/dist/domain/seat-env.d.ts.map +1 -0
  667. package/daemon/dist/domain/seat-env.js +94 -0
  668. package/daemon/dist/domain/seat-env.js.map +1 -0
  669. package/daemon/dist/domain/seat-handover-service.d.ts +5 -0
  670. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  671. package/daemon/dist/domain/seat-handover-service.js +22 -4
  672. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  673. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  674. package/daemon/dist/domain/seat-identity-reconciler.js +19 -2
  675. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  676. package/daemon/dist/domain/seat-lifecycle-service.d.ts +119 -5
  677. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  678. package/daemon/dist/domain/seat-lifecycle-service.js +318 -23
  679. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  680. package/daemon/dist/domain/seat-restart-in-place.d.ts +13 -2
  681. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  682. package/daemon/dist/domain/seat-restart-in-place.js +23 -4
  683. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  684. package/daemon/dist/domain/seat-structural-activity-service.d.ts +6 -2
  685. package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
  686. package/daemon/dist/domain/seat-structural-activity-service.js +45 -9
  687. package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
  688. package/daemon/dist/domain/session-registry.d.ts +13 -1
  689. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  690. package/daemon/dist/domain/session-registry.js +29 -2
  691. package/daemon/dist/domain/session-registry.js.map +1 -1
  692. package/daemon/dist/domain/session-transport.d.ts +108 -1
  693. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  694. package/daemon/dist/domain/session-transport.js +1116 -129
  695. package/daemon/dist/domain/session-transport.js.map +1 -1
  696. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
  697. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  698. package/daemon/dist/domain/slices/slice-detail-projector.js +16 -4
  699. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  700. package/daemon/dist/domain/slices/slice-indexer.d.ts +10 -0
  701. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  702. package/daemon/dist/domain/slices/slice-indexer.js +84 -4
  703. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  704. package/daemon/dist/domain/snapshot-repository.d.ts +3 -0
  705. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  706. package/daemon/dist/domain/snapshot-repository.js +19 -2
  707. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  708. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +1 -1
  709. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  710. package/daemon/dist/domain/spec-library-workflow-scanner.js +24 -21
  711. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  712. package/daemon/dist/domain/spec-validation-advisory.js +1 -1
  713. package/daemon/dist/domain/spec-validation-advisory.js.map +1 -1
  714. package/daemon/dist/domain/startup-orchestrator.d.ts +31 -3
  715. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  716. package/daemon/dist/domain/startup-orchestrator.js +218 -60
  717. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  718. package/daemon/dist/domain/startup-submission-evidence.d.ts +13 -3
  719. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  720. package/daemon/dist/domain/startup-submission-evidence.js +34 -25
  721. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  722. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  723. package/daemon/dist/domain/startup-validation.js +3 -0
  724. package/daemon/dist/domain/startup-validation.js.map +1 -1
  725. package/daemon/dist/domain/successor-session-launcher.d.ts +7 -1
  726. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  727. package/daemon/dist/domain/successor-session-launcher.js +5 -1
  728. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  729. package/daemon/dist/domain/text-cut.d.ts +4 -0
  730. package/daemon/dist/domain/text-cut.d.ts.map +1 -0
  731. package/daemon/dist/domain/text-cut.js +7 -0
  732. package/daemon/dist/domain/text-cut.js.map +1 -0
  733. package/daemon/dist/domain/time-bound-advisory.d.ts +5 -0
  734. package/daemon/dist/domain/time-bound-advisory.d.ts.map +1 -0
  735. package/daemon/dist/domain/time-bound-advisory.js +25 -0
  736. package/daemon/dist/domain/time-bound-advisory.js.map +1 -0
  737. package/daemon/dist/domain/transcript-capture.d.ts +7 -0
  738. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  739. package/daemon/dist/domain/transcript-capture.js +22 -1
  740. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  741. package/daemon/dist/domain/transcript-rotation.d.ts +12 -4
  742. package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
  743. package/daemon/dist/domain/transcript-rotation.js +185 -23
  744. package/daemon/dist/domain/transcript-rotation.js.map +1 -1
  745. package/daemon/dist/domain/transcript-store.d.ts +1 -1
  746. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  747. package/daemon/dist/domain/transcript-store.js +8 -4
  748. package/daemon/dist/domain/transcript-store.js.map +1 -1
  749. package/daemon/dist/domain/types.d.ts +53 -3
  750. package/daemon/dist/domain/types.d.ts.map +1 -1
  751. package/daemon/dist/domain/types.js.map +1 -1
  752. package/daemon/dist/domain/usage-samples-store.d.ts +8 -0
  753. package/daemon/dist/domain/usage-samples-store.d.ts.map +1 -1
  754. package/daemon/dist/domain/usage-samples-store.js +24 -5
  755. package/daemon/dist/domain/usage-samples-store.js.map +1 -1
  756. package/daemon/dist/domain/usage-series.d.ts +154 -2
  757. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  758. package/daemon/dist/domain/usage-series.js +208 -9
  759. package/daemon/dist/domain/usage-series.js.map +1 -1
  760. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  761. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  762. package/daemon/dist/domain/user-settings/settings-store.js +37 -1
  763. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  764. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +3 -1
  765. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  766. package/daemon/dist/domain/watchdog-jobs-repository.js +13 -1
  767. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  768. package/daemon/dist/domain/watchdog-policy-engine.d.ts +1 -0
  769. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  770. package/daemon/dist/domain/watchdog-policy-engine.js +31 -2
  771. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  772. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  773. package/daemon/dist/domain/workflow-exception-escalation.js +3 -1
  774. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  775. package/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -1
  776. package/daemon/dist/domain/workflow-exception-readiness.js +7 -3
  777. package/daemon/dist/domain/workflow-exception-readiness.js.map +1 -1
  778. package/daemon/dist/domain/workflow-instance-store.d.ts +11 -0
  779. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  780. package/daemon/dist/domain/workflow-instance-store.js +18 -4
  781. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  782. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  783. package/daemon/dist/domain/workflow-projector.js +5 -3
  784. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  785. package/daemon/dist/domain/workflow-rig-placeholder.d.ts +24 -0
  786. package/daemon/dist/domain/workflow-rig-placeholder.d.ts.map +1 -0
  787. package/daemon/dist/domain/workflow-rig-placeholder.js +43 -0
  788. package/daemon/dist/domain/workflow-rig-placeholder.js.map +1 -0
  789. package/daemon/dist/domain/workflow-runtime.d.ts +10 -1
  790. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  791. package/daemon/dist/domain/workflow-runtime.js +26 -13
  792. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  793. package/daemon/dist/domain/workflow-scope.d.ts +50 -0
  794. package/daemon/dist/domain/workflow-scope.d.ts.map +1 -0
  795. package/daemon/dist/domain/workflow-scope.js +129 -0
  796. package/daemon/dist/domain/workflow-scope.js.map +1 -0
  797. package/daemon/dist/domain/workflow-spec-cache.d.ts +10 -0
  798. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  799. package/daemon/dist/domain/workflow-spec-cache.js +13 -0
  800. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  801. package/daemon/dist/domain/workflow-types.d.ts +4 -0
  802. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  803. package/daemon/dist/domain/workflow-types.js.map +1 -1
  804. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  805. package/daemon/dist/domain/workflow-validator.js +3 -1
  806. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  807. package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
  808. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
  809. package/daemon/dist/domain/workspace/project-read.js +4 -0
  810. package/daemon/dist/domain/workspace/project-read.js.map +1 -1
  811. package/daemon/dist/index.d.ts.map +1 -1
  812. package/daemon/dist/index.js +10 -0
  813. package/daemon/dist/index.js.map +1 -1
  814. package/daemon/dist/lib/pane-envelope.js +1 -1
  815. package/daemon/dist/lib/pane-envelope.js.map +1 -1
  816. package/daemon/dist/middleware/json-body-error.d.ts +4 -3
  817. package/daemon/dist/middleware/json-body-error.d.ts.map +1 -1
  818. package/daemon/dist/middleware/json-body-error.js +18 -4
  819. package/daemon/dist/middleware/json-body-error.js.map +1 -1
  820. package/daemon/dist/routes/activity.d.ts.map +1 -1
  821. package/daemon/dist/routes/activity.js +78 -0
  822. package/daemon/dist/routes/activity.js.map +1 -1
  823. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  824. package/daemon/dist/routes/bundles.js +39 -16
  825. package/daemon/dist/routes/bundles.js.map +1 -1
  826. package/daemon/dist/routes/community-harnesses.d.ts +3 -0
  827. package/daemon/dist/routes/community-harnesses.d.ts.map +1 -0
  828. package/daemon/dist/routes/community-harnesses.js +18 -0
  829. package/daemon/dist/routes/community-harnesses.js.map +1 -0
  830. package/daemon/dist/routes/compaction.d.ts +3 -0
  831. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  832. package/daemon/dist/routes/compaction.js +14 -2
  833. package/daemon/dist/routes/compaction.js.map +1 -1
  834. package/daemon/dist/routes/events.js +26 -12
  835. package/daemon/dist/routes/events.js.map +1 -1
  836. package/daemon/dist/routes/gateway.d.ts +3 -0
  837. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  838. package/daemon/dist/routes/gateway.js +15 -0
  839. package/daemon/dist/routes/gateway.js.map +1 -1
  840. package/daemon/dist/routes/hosts.d.ts.map +1 -1
  841. package/daemon/dist/routes/hosts.js +2 -1
  842. package/daemon/dist/routes/hosts.js.map +1 -1
  843. package/daemon/dist/routes/provider.d.ts +11 -1
  844. package/daemon/dist/routes/provider.d.ts.map +1 -1
  845. package/daemon/dist/routes/provider.js +182 -10
  846. package/daemon/dist/routes/provider.js.map +1 -1
  847. package/daemon/dist/routes/query-limit.d.ts +1 -0
  848. package/daemon/dist/routes/query-limit.d.ts.map +1 -1
  849. package/daemon/dist/routes/query-limit.js +1 -1
  850. package/daemon/dist/routes/query-limit.js.map +1 -1
  851. package/daemon/dist/routes/queue.d.ts.map +1 -1
  852. package/daemon/dist/routes/queue.js +44 -3
  853. package/daemon/dist/routes/queue.js.map +1 -1
  854. package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  855. package/daemon/dist/routes/rig-mode.js +66 -11
  856. package/daemon/dist/routes/rig-mode.js.map +1 -1
  857. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  858. package/daemon/dist/routes/scope-audit.js +10 -0
  859. package/daemon/dist/routes/scope-audit.js.map +1 -1
  860. package/daemon/dist/routes/seat.d.ts.map +1 -1
  861. package/daemon/dist/routes/seat.js +63 -12
  862. package/daemon/dist/routes/seat.js.map +1 -1
  863. package/daemon/dist/routes/sessions.js +1 -1
  864. package/daemon/dist/routes/startup.d.ts.map +1 -1
  865. package/daemon/dist/routes/startup.js +9 -2
  866. package/daemon/dist/routes/startup.js.map +1 -1
  867. package/daemon/dist/routes/telemetry.d.ts.map +1 -1
  868. package/daemon/dist/routes/telemetry.js +13 -3
  869. package/daemon/dist/routes/telemetry.js.map +1 -1
  870. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  871. package/daemon/dist/routes/transcripts.js +14 -5
  872. package/daemon/dist/routes/transcripts.js.map +1 -1
  873. package/daemon/dist/routes/transport.d.ts.map +1 -1
  874. package/daemon/dist/routes/transport.js +13 -2
  875. package/daemon/dist/routes/transport.js.map +1 -1
  876. package/daemon/dist/routes/up.d.ts.map +1 -1
  877. package/daemon/dist/routes/up.js +4 -0
  878. package/daemon/dist/routes/up.js.map +1 -1
  879. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  880. package/daemon/dist/routes/workflow.js +50 -1
  881. package/daemon/dist/routes/workflow.js.map +1 -1
  882. package/daemon/dist/server.d.ts.map +1 -1
  883. package/daemon/dist/server.js +4 -1
  884. package/daemon/dist/server.js.map +1 -1
  885. package/daemon/dist/spec-validation-surface.d.ts +1 -1
  886. package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
  887. package/daemon/dist/spec-validation-surface.js +1 -1
  888. package/daemon/dist/spec-validation-surface.js.map +1 -1
  889. package/daemon/dist/startup.d.ts +3 -1
  890. package/daemon/dist/startup.d.ts.map +1 -1
  891. package/daemon/dist/startup.js +140 -54
  892. package/daemon/dist/startup.js.map +1 -1
  893. package/daemon/dist/workflow-scope-surface.d.ts +2 -0
  894. package/daemon/dist/workflow-scope-surface.d.ts.map +1 -0
  895. package/daemon/dist/workflow-scope-surface.js +2 -0
  896. package/daemon/dist/workflow-scope-surface.js.map +1 -0
  897. package/daemon/docs/reference/agent-spec.md +4 -2
  898. package/daemon/docs/reference/agent-startup-guide.md +95 -6
  899. package/daemon/docs/reference/claude-status-line.md +69 -0
  900. package/daemon/docs/reference/getting-started.md +39 -6
  901. package/daemon/docs/reference/keeping-a-watch.md +102 -5
  902. package/daemon/docs/reference/project-workspace.md +70 -1
  903. package/daemon/docs/reference/publishing-a-rig-bundle.md +6 -1
  904. package/daemon/docs/reference/refocus-channel.md +41 -5
  905. package/daemon/docs/reference/rig-bundle.md +26 -2
  906. package/daemon/docs/reference/rig-spec.md +64 -3
  907. package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +105 -2
  908. package/daemon/docs/reference/scoped-operating-posture.md +12 -2
  909. package/daemon/docs/reference/sdlc-conventions.md +39 -1
  910. package/daemon/docs/reference/seat-delivery.md +127 -0
  911. package/daemon/docs/reference/slack-app-setup.md +141 -13
  912. package/daemon/docs/reference/topology-naming.md +9 -0
  913. package/daemon/docs/reference/whats-new.md +167 -146
  914. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +1 -1
  915. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +0 -1
  916. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +7 -4
  917. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +1 -1
  918. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  919. package/daemon/specs/rigs/launch/demo/CULTURE.md +1 -1
  920. package/daemon/specs/rigs/launch/factory/CULTURE.md +1 -1
  921. package/daemon/specs/rigs/launch/factory/topology/rig/CRAFT.md +2 -2
  922. package/daemon/specs/rigs/launch/first-project/CULTURE.md +2 -1
  923. package/daemon/specs/rigs/launch/first-project-claude/CULTURE.md +2 -1
  924. package/daemon/specs/rigs/launch/first-project-mixed/CULTURE.md +2 -1
  925. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +9 -2
  926. package/daemon/specs/rigs/launch/starter/CULTURE.md +2 -1
  927. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  928. package/dist/bin-wrapper.d.ts +2 -1
  929. package/dist/bin-wrapper.d.ts.map +1 -1
  930. package/dist/bin-wrapper.js +61 -4
  931. package/dist/bin-wrapper.js.map +1 -1
  932. package/dist/build-info.js +3 -3
  933. package/dist/bundle-behaviour.d.ts.map +1 -1
  934. package/dist/bundle-behaviour.js +22 -0
  935. package/dist/bundle-behaviour.js.map +1 -1
  936. package/dist/client.d.ts.map +1 -1
  937. package/dist/client.js +3 -3
  938. package/dist/client.js.map +1 -1
  939. package/dist/commands/add.d.ts.map +1 -1
  940. package/dist/commands/add.js +1 -1
  941. package/dist/commands/add.js.map +1 -1
  942. package/dist/commands/ask.d.ts.map +1 -1
  943. package/dist/commands/ask.js +16 -5
  944. package/dist/commands/ask.js.map +1 -1
  945. package/dist/commands/bootstrap.d.ts.map +1 -1
  946. package/dist/commands/bootstrap.js +9 -5
  947. package/dist/commands/bootstrap.js.map +1 -1
  948. package/dist/commands/bundle.d.ts.map +1 -1
  949. package/dist/commands/bundle.js +8 -0
  950. package/dist/commands/bundle.js.map +1 -1
  951. package/dist/commands/capture.d.ts +4 -0
  952. package/dist/commands/capture.d.ts.map +1 -1
  953. package/dist/commands/capture.js +15 -2
  954. package/dist/commands/capture.js.map +1 -1
  955. package/dist/commands/community-harness.d.ts +4 -0
  956. package/dist/commands/community-harness.d.ts.map +1 -0
  957. package/dist/commands/community-harness.js +48 -0
  958. package/dist/commands/community-harness.js.map +1 -0
  959. package/dist/commands/compact.d.ts.map +1 -1
  960. package/dist/commands/compact.js +8 -4
  961. package/dist/commands/compact.js.map +1 -1
  962. package/dist/commands/config.d.ts.map +1 -1
  963. package/dist/commands/config.js +8 -2
  964. package/dist/commands/config.js.map +1 -1
  965. package/dist/commands/crash-cart.d.ts.map +1 -1
  966. package/dist/commands/crash-cart.js +3 -5
  967. package/dist/commands/crash-cart.js.map +1 -1
  968. package/dist/commands/create.d.ts.map +1 -1
  969. package/dist/commands/create.js +7 -5
  970. package/dist/commands/create.js.map +1 -1
  971. package/dist/commands/down.d.ts.map +1 -1
  972. package/dist/commands/down.js +2 -1
  973. package/dist/commands/down.js.map +1 -1
  974. package/dist/commands/launch.d.ts +1 -0
  975. package/dist/commands/launch.d.ts.map +1 -1
  976. package/dist/commands/launch.js +61 -10
  977. package/dist/commands/launch.js.map +1 -1
  978. package/dist/commands/policy.d.ts +2 -1
  979. package/dist/commands/policy.d.ts.map +1 -1
  980. package/dist/commands/policy.js +66 -7
  981. package/dist/commands/policy.js.map +1 -1
  982. package/dist/commands/provider.d.ts +2 -0
  983. package/dist/commands/provider.d.ts.map +1 -1
  984. package/dist/commands/provider.js +336 -49
  985. package/dist/commands/provider.js.map +1 -1
  986. package/dist/commands/ps.d.ts +11 -0
  987. package/dist/commands/ps.d.ts.map +1 -1
  988. package/dist/commands/ps.js +40 -6
  989. package/dist/commands/ps.js.map +1 -1
  990. package/dist/commands/queue.d.ts.map +1 -1
  991. package/dist/commands/queue.js +59 -10
  992. package/dist/commands/queue.js.map +1 -1
  993. package/dist/commands/requirements.d.ts.map +1 -1
  994. package/dist/commands/requirements.js +8 -5
  995. package/dist/commands/requirements.js.map +1 -1
  996. package/dist/commands/restore.js +1 -1
  997. package/dist/commands/restore.js.map +1 -1
  998. package/dist/commands/rig-mode.d.ts.map +1 -1
  999. package/dist/commands/rig-mode.js +106 -18
  1000. package/dist/commands/rig-mode.js.map +1 -1
  1001. package/dist/commands/scope.d.ts.map +1 -1
  1002. package/dist/commands/scope.js +47 -9
  1003. package/dist/commands/scope.js.map +1 -1
  1004. package/dist/commands/seat.d.ts.map +1 -1
  1005. package/dist/commands/seat.js +131 -20
  1006. package/dist/commands/seat.js.map +1 -1
  1007. package/dist/commands/send.d.ts +2 -2
  1008. package/dist/commands/send.d.ts.map +1 -1
  1009. package/dist/commands/send.js +79 -12
  1010. package/dist/commands/send.js.map +1 -1
  1011. package/dist/commands/slack.d.ts.map +1 -1
  1012. package/dist/commands/slack.js +9 -4
  1013. package/dist/commands/slack.js.map +1 -1
  1014. package/dist/commands/start.d.ts +11 -0
  1015. package/dist/commands/start.d.ts.map +1 -1
  1016. package/dist/commands/start.js +77 -3
  1017. package/dist/commands/start.js.map +1 -1
  1018. package/dist/commands/status.d.ts.map +1 -1
  1019. package/dist/commands/status.js +60 -2
  1020. package/dist/commands/status.js.map +1 -1
  1021. package/dist/commands/up.d.ts.map +1 -1
  1022. package/dist/commands/up.js +58 -0
  1023. package/dist/commands/up.js.map +1 -1
  1024. package/dist/commands/usage.d.ts +12 -0
  1025. package/dist/commands/usage.d.ts.map +1 -1
  1026. package/dist/commands/usage.js +107 -0
  1027. package/dist/commands/usage.js.map +1 -1
  1028. package/dist/commands/watchdog.d.ts.map +1 -1
  1029. package/dist/commands/watchdog.js +20 -7
  1030. package/dist/commands/watchdog.js.map +1 -1
  1031. package/dist/commands/whoami.d.ts +36 -0
  1032. package/dist/commands/whoami.d.ts.map +1 -1
  1033. package/dist/commands/whoami.js +125 -7
  1034. package/dist/commands/whoami.js.map +1 -1
  1035. package/dist/commands/workflow.d.ts.map +1 -1
  1036. package/dist/commands/workflow.js +53 -5
  1037. package/dist/commands/workflow.js.map +1 -1
  1038. package/dist/config-store.d.ts +14 -1
  1039. package/dist/config-store.d.ts.map +1 -1
  1040. package/dist/config-store.js +50 -1
  1041. package/dist/config-store.js.map +1 -1
  1042. package/dist/daemon-lifecycle.d.ts +2 -2
  1043. package/dist/daemon-lifecycle.d.ts.map +1 -1
  1044. package/dist/daemon-lifecycle.js +5 -4
  1045. package/dist/daemon-lifecycle.js.map +1 -1
  1046. package/dist/host-registry.d.ts.map +1 -1
  1047. package/dist/host-registry.js +6 -3
  1048. package/dist/host-registry.js.map +1 -1
  1049. package/dist/index.d.ts +1 -0
  1050. package/dist/index.d.ts.map +1 -1
  1051. package/dist/index.js +4 -7
  1052. package/dist/index.js.map +1 -1
  1053. package/dist/lazy-program.d.ts +9 -0
  1054. package/dist/lazy-program.d.ts.map +1 -0
  1055. package/dist/lazy-program.js +111 -0
  1056. package/dist/lazy-program.js.map +1 -0
  1057. package/dist/lib/bundle-check.js +2 -2
  1058. package/dist/lib/bundle-check.js.map +1 -1
  1059. package/dist/lib/bundle-source.d.ts +1 -0
  1060. package/dist/lib/bundle-source.d.ts.map +1 -1
  1061. package/dist/lib/bundle-source.js +1 -0
  1062. package/dist/lib/bundle-source.js.map +1 -1
  1063. package/dist/lib/codex-auth.d.ts.map +1 -1
  1064. package/dist/lib/codex-auth.js +17 -1
  1065. package/dist/lib/codex-auth.js.map +1 -1
  1066. package/dist/lib/context-install.js +1 -1
  1067. package/dist/lib/context-install.js.map +1 -1
  1068. package/dist/lib/file-transfer.js +1 -1
  1069. package/dist/lib/file-transfer.js.map +1 -1
  1070. package/dist/lib/frontmatter.d.ts +11 -0
  1071. package/dist/lib/frontmatter.d.ts.map +1 -0
  1072. package/dist/lib/frontmatter.js +20 -0
  1073. package/dist/lib/frontmatter.js.map +1 -0
  1074. package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
  1075. package/dist/lib/permission-policy/policy-spec.js +5 -7
  1076. package/dist/lib/permission-policy/policy-spec.js.map +1 -1
  1077. package/dist/lib/scope/logical-checkbox.js +1 -1
  1078. package/dist/lib/scope/logical-checkbox.js.map +1 -1
  1079. package/dist/lib/scope/scope-fs.d.ts +8 -0
  1080. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  1081. package/dist/lib/scope/scope-fs.js +50 -1
  1082. package/dist/lib/scope/scope-fs.js.map +1 -1
  1083. package/dist/lib/work-install.d.ts.map +1 -1
  1084. package/dist/lib/work-install.js +3 -13
  1085. package/dist/lib/work-install.js.map +1 -1
  1086. package/dist/mcp-server.d.ts.map +1 -1
  1087. package/dist/mcp-server.js +113 -0
  1088. package/dist/mcp-server.js.map +1 -1
  1089. package/dist/program-root.d.ts +5 -0
  1090. package/dist/program-root.d.ts.map +1 -0
  1091. package/dist/program-root.js +11 -0
  1092. package/dist/program-root.js.map +1 -0
  1093. package/dist/queue-read-compact.d.ts +29 -0
  1094. package/dist/queue-read-compact.d.ts.map +1 -0
  1095. package/dist/queue-read-compact.js +74 -0
  1096. package/dist/queue-read-compact.js.map +1 -0
  1097. package/dist/remote-host-ops.d.ts +21 -0
  1098. package/dist/remote-host-ops.d.ts.map +1 -1
  1099. package/dist/remote-host-ops.js +25 -12
  1100. package/dist/remote-host-ops.js.map +1 -1
  1101. package/package.json +1 -1
  1102. package/tui/dist/commands/registry.d.ts.map +1 -1
  1103. package/tui/dist/commands/registry.js +3 -0
  1104. package/tui/dist/commands/registry.js.map +1 -1
  1105. package/tui/dist/config/config-model.d.ts.map +1 -1
  1106. package/tui/dist/config/config-model.js +6 -1
  1107. package/tui/dist/config/config-model.js.map +1 -1
  1108. package/tui/dist/cost/cost-model.d.ts +12 -0
  1109. package/tui/dist/cost/cost-model.d.ts.map +1 -0
  1110. package/tui/dist/cost/cost-model.js +141 -0
  1111. package/tui/dist/cost/cost-model.js.map +1 -0
  1112. package/tui/dist/cost/cost-read.d.ts +19 -0
  1113. package/tui/dist/cost/cost-read.d.ts.map +1 -0
  1114. package/tui/dist/cost/cost-read.js +4 -0
  1115. package/tui/dist/cost/cost-read.js.map +1 -0
  1116. package/tui/dist/daemon-client.d.ts +13 -0
  1117. package/tui/dist/daemon-client.d.ts.map +1 -1
  1118. package/tui/dist/daemon-client.js +77 -1
  1119. package/tui/dist/daemon-client.js.map +1 -1
  1120. package/tui/dist/detail.d.ts +2 -0
  1121. package/tui/dist/detail.d.ts.map +1 -1
  1122. package/tui/dist/detail.js +5 -0
  1123. package/tui/dist/detail.js.map +1 -1
  1124. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  1125. package/tui/dist/execution/execution-model.js +38 -18
  1126. package/tui/dist/execution/execution-model.js.map +1 -1
  1127. package/tui/dist/helper-cwd.d.ts +3 -0
  1128. package/tui/dist/helper-cwd.d.ts.map +1 -0
  1129. package/tui/dist/helper-cwd.js +16 -0
  1130. package/tui/dist/helper-cwd.js.map +1 -0
  1131. package/tui/dist/hydrate.d.ts.map +1 -1
  1132. package/tui/dist/hydrate.js +32 -1
  1133. package/tui/dist/hydrate.js.map +1 -1
  1134. package/tui/dist/input.d.ts.map +1 -1
  1135. package/tui/dist/input.js +2 -1
  1136. package/tui/dist/input.js.map +1 -1
  1137. package/tui/dist/local-reading.d.ts.map +1 -1
  1138. package/tui/dist/local-reading.js +2 -1
  1139. package/tui/dist/local-reading.js.map +1 -1
  1140. package/tui/dist/main.js +6 -5
  1141. package/tui/dist/main.js.map +1 -1
  1142. package/tui/dist/pulse/render-pulse.d.ts.map +1 -1
  1143. package/tui/dist/pulse/render-pulse.js +7 -1
  1144. package/tui/dist/pulse/render-pulse.js.map +1 -1
  1145. package/tui/dist/reading.js +1 -1
  1146. package/tui/dist/reading.js.map +1 -1
  1147. package/tui/dist/render.d.ts.map +1 -1
  1148. package/tui/dist/render.js +10 -1
  1149. package/tui/dist/render.js.map +1 -1
  1150. package/tui/dist/scopes/scopes-model.d.ts +6 -1
  1151. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  1152. package/tui/dist/scopes/scopes-model.js +33 -13
  1153. package/tui/dist/scopes/scopes-model.js.map +1 -1
  1154. package/tui/dist/sections.d.ts.map +1 -1
  1155. package/tui/dist/sections.js +4 -1
  1156. package/tui/dist/sections.js.map +1 -1
  1157. package/tui/dist/socket-server.d.ts.map +1 -1
  1158. package/tui/dist/socket-server.js +2 -1
  1159. package/tui/dist/socket-server.js.map +1 -1
  1160. package/tui/dist/specs/launch.d.ts.map +1 -1
  1161. package/tui/dist/specs/launch.js +2 -1
  1162. package/tui/dist/specs/launch.js.map +1 -1
  1163. package/tui/dist/startup.js +1 -1
  1164. package/tui/dist/startup.js.map +1 -1
  1165. package/tui/dist/state.d.ts.map +1 -1
  1166. package/tui/dist/state.js +8 -4
  1167. package/tui/dist/state.js.map +1 -1
  1168. package/tui/dist/terminals/open-window.d.ts.map +1 -1
  1169. package/tui/dist/terminals/open-window.js +2 -1
  1170. package/tui/dist/terminals/open-window.js.map +1 -1
  1171. package/tui/dist/types.d.ts +9 -0
  1172. package/tui/dist/types.d.ts.map +1 -1
  1173. package/tui/dist/usage/usage-hosts-model.d.ts +17 -0
  1174. package/tui/dist/usage/usage-hosts-model.d.ts.map +1 -0
  1175. package/tui/dist/usage/usage-hosts-model.js +73 -0
  1176. package/tui/dist/usage/usage-hosts-model.js.map +1 -0
  1177. package/tui/dist/usage/usage-model.d.ts +39 -0
  1178. package/tui/dist/usage/usage-model.d.ts.map +1 -0
  1179. package/tui/dist/usage/usage-model.js +161 -0
  1180. package/tui/dist/usage/usage-model.js.map +1 -0
  1181. package/ui/dist/assets/{index-DhmxKuZf.js → index-Cfbtfd9G.js} +2 -2
  1182. package/ui/dist/index.html +1 -1
@@ -1,3 +1,4 @@
1
+ import { shellQuote } from "../adapters/shell-quote.js";
1
2
  import { deriveCanonicalFromEntry, getNodeInventory } from "./node-inventory.js";
2
3
  import { deriveSessionName, parseSessionName } from "./session-name.js";
3
4
  import { resolveStartupProof } from "./startup-resolver.js";
@@ -7,7 +8,14 @@ import { observeSolePane } from "./pane-binding-observation.js";
7
8
  import { createHash } from "node:crypto";
8
9
  import { NativePermissionStore } from "./native-permission-store.js";
9
10
  import { validateNativePermissionSelection, unresolvedClaudePermissionModes } from "./native-permission-selection.js";
11
+ import { resolvePermissionPolicyAttachment, validatePermissionPolicyRef } from "./permission-policy/policy-ref.js";
12
+ import { effortPrecedence, emittedEffortFromArgv, readNativeEffort, resolveSeatEffort, unknownLevelWarning, } from "./seat-effort.js";
13
+ import { claudeCommandSessionToken, codexCommandResumeToken, observeClaudePaneRuntime, observeCodexPaneProcess, processArgv, } from "./native-process-lineage.js";
14
+ import { defaultInPlaceRestartIo } from "./seat-restart-in-place.js";
15
+ import nodePath from "node:path";
10
16
  import { CodexInPlaceRestart, } from "./seat-restart-in-place.js";
17
+ import { seatAdapter } from "../adapters/community-harness-runtime-adapter.js";
18
+ import { sessionCommunityHarnessSelect } from "./session-registry.js";
11
19
  /**
12
20
  * S5 (OPR.0.5.4.7) — the seat-lifecycle verb surface: set-model, single-seat stop,
13
21
  * dead-session clean. One coherent design (KI-5.3-9):
@@ -40,6 +48,7 @@ export class SeatLifecycleService {
40
48
  inPlaceRestartIo;
41
49
  inPlaceRestartTiming;
42
50
  inPlaceRestartDaemonStartedAt;
51
+ transcripts;
43
52
  constructor(deps) {
44
53
  if (deps.db !== deps.rigRepo.db)
45
54
  throw new Error("SeatLifecycleService: rigRepo must share the same db handle");
@@ -61,6 +70,7 @@ export class SeatLifecycleService {
61
70
  this.inPlaceRestartIo = deps.inPlaceRestartIo;
62
71
  this.inPlaceRestartTiming = deps.inPlaceRestartTiming;
63
72
  this.inPlaceRestartDaemonStartedAt = deps.inPlaceRestartDaemonStartedAt;
73
+ this.transcripts = deps.transcripts ?? null;
64
74
  }
65
75
  async setModel(input) {
66
76
  const required = this.requireReason(input.reason);
@@ -98,6 +108,193 @@ export class SeatLifecycleService {
98
108
  this.eventBus.notifySubscribers(persisted);
99
109
  return { ok: true, seat, from, to: model, changed: true };
100
110
  }
111
+ /** OPR.0.7.0.7 — save one seat's effort for its next managed continuation. Like set-model it
112
+ * validates, writes, and persists an audited event in the same transaction; it never restarts
113
+ * the seat or touches its peers, model or account. `effort: null` clears the explicit choice. */
114
+ async setEffort(input) {
115
+ const required = this.requireReason(input.reason);
116
+ if (required)
117
+ return required;
118
+ const requested = input.effort === null ? null : input.effort.trim();
119
+ if (requested !== null) {
120
+ if (!requested)
121
+ return { ok: false, code: "missing_effort", message: "An effort level is required (--effort <level>), or pass --clear." };
122
+ // Levels are the runtime's own (they differ by model and client), so only the shape is checked here.
123
+ if (!/^[A-Za-z][A-Za-z0-9_-]{0,31}$/.test(requested)) {
124
+ return { ok: false, code: "invalid_effort", message: `"${requested}" isn't an effort level: use the runtime's level name, such as low, medium or high.` };
125
+ }
126
+ }
127
+ const resolved = this.resolveSeat(input.seatRef);
128
+ if ("code" in resolved)
129
+ return resolved;
130
+ const seat = this.describe(resolved);
131
+ const runtime = resolved.entry.runtime ?? "unknown";
132
+ if (runtime !== "claude-code" && runtime !== "codex") {
133
+ return { ok: false, code: "effort_unsupported_runtime", message: `Seat "${input.seatRef}" runs ${runtime}; reasoning effort applies to claude-code and codex seats only.` };
134
+ }
135
+ const from = this.readEffort(seat.nodeId);
136
+ if (!from) {
137
+ return { ok: false, code: "effort_unavailable", message: "This daemon's database has no per-seat effort choice (checked: nodes.effort_choice column); nothing was saved." };
138
+ }
139
+ let changed = false;
140
+ if (from.choice !== requested) {
141
+ let persisted = null;
142
+ this.db.transaction(() => {
143
+ if (!this.rigRepo.setNodeEffortChoice(seat.nodeId, requested))
144
+ return;
145
+ changed = true;
146
+ persisted = this.eventBus.persistWithinTransaction({
147
+ type: "node.effort_changed",
148
+ rigId: seat.rigId,
149
+ nodeId: seat.nodeId,
150
+ logicalId: seat.logicalId,
151
+ from: from.choice,
152
+ to: requested,
153
+ reason: input.reason.trim(),
154
+ operator: input.operator ?? null,
155
+ });
156
+ })();
157
+ if (persisted)
158
+ this.eventBus.notifySubscribers(persisted);
159
+ if (!changed) {
160
+ return { ok: false, code: "effort_unavailable", message: `The effort choice for seat "${input.seatRef}" was not saved (no node row was updated); nothing changed.` };
161
+ }
162
+ }
163
+ const saved = this.readEffort(seat.nodeId) ?? from;
164
+ const running = await this.runningState(seat.nodeId);
165
+ const effect = requested === null
166
+ ? `Cleared: the seat has no saved effort choice now, so it goes back to ${saved.source === "authored" ? `the spec's authored effort ${saved.authored}` : "no effort flag (the runtime's own default)"} at its next managed launch, resume, restore or spec refresh. An in-place restart keeps the running effort and refuses if it would change it. The running process is unchanged; nothing was restarted.`
167
+ : `Saved for the seat's next managed continuation. The running process is unchanged; nothing was restarted.`;
168
+ return {
169
+ ok: true, seat, runtime, requested, from, saved, changed,
170
+ running: running.state, ...(running.detail ? { runningDetail: running.detail } : {}),
171
+ emitted: "not_yet", observed: "not_observed", effect,
172
+ ...(unknownLevelWarning(runtime, requested) ? { warning: unknownLevelWarning(runtime, requested) } : {}),
173
+ };
174
+ }
175
+ /** OPR.0.7.0.7 — requested, saved, emitted at launch and observed in the native session, each from
176
+ * its own source. Reads only. An unseen value is reported as unknown or NOT VERIFIED, never guessed. */
177
+ async effortReport(seatRef) {
178
+ const resolved = this.resolveSeat(seatRef);
179
+ if ("code" in resolved)
180
+ return resolved;
181
+ const seat = this.describe(resolved);
182
+ const runtime = resolved.entry.runtime ?? "unknown";
183
+ if (runtime !== "claude-code" && runtime !== "codex") {
184
+ return { ok: false, code: "effort_unsupported_runtime", message: `Seat "${seatRef}" runs ${runtime}; reasoning effort applies to claude-code and codex seats only.` };
185
+ }
186
+ const saved = this.readEffort(seat.nodeId);
187
+ if (!saved) {
188
+ return { ok: false, code: "effort_unavailable", message: "This daemon's database has no per-seat effort choice (checked: nodes.effort_choice column)." };
189
+ }
190
+ const requested = this.lastRequestedEffort(seat.nodeId);
191
+ const precedence = { decided: effortPrecedence.decided, detail: effortPrecedence.detail };
192
+ let emitted;
193
+ let observed;
194
+ const session = this.latestSession(seat.nodeId);
195
+ const binding = this.sessionRegistry.getBindingForNode(seat.nodeId);
196
+ const target = binding?.tmuxPane ?? binding?.tmuxSession ?? null;
197
+ if (!session || TERMINAL_SESSION_STATUSES.has(session.status) || !target) {
198
+ emitted = { state: "unknown", detail: "The seat has no running session, so no launch to read." };
199
+ observed = { state: "not_verified", detail: "The seat has no running session." };
200
+ }
201
+ else {
202
+ const observe = runtime === "claude-code" ? observeClaudePaneRuntime : observeCodexPaneProcess;
203
+ const process = (await observe({ target, tmux: this.tmuxAdapter, ...(this.listProcesses ? { listProcesses: this.listProcesses } : {}) }))?.process;
204
+ if (!process) {
205
+ emitted = { state: "unknown", detail: `No single ${runtime === "claude-code" ? "Claude" : "Codex"} process could be read in the seat's pane.` };
206
+ observed = { state: "not_verified", detail: "The running process could not be read, so no turn can be tied to its launch." };
207
+ }
208
+ else {
209
+ const flag = emittedEffortFromArgv(runtime, processArgv(process.command));
210
+ const value = flag.flag === "present" ? flag.value : null;
211
+ emitted = { state: "observed", value, pid: process.pid, startedAt: process.startedAt ?? null, matchesSaved: value === saved.effective };
212
+ // Native effort is attributed only from the transcript of the conversation this process is on.
213
+ const joined = await this.joinedTranscript(runtime, session, process);
214
+ const native = "detail" in joined ? { state: "not_verified", detail: joined.detail }
215
+ : readNativeEffort(runtime, joined.path, process.startedAt ?? null);
216
+ observed = native.state === "observed" ? { ...native, matchesEmitted: native.value === value } : native;
217
+ }
218
+ }
219
+ return { ok: true, seat, runtime, requested, saved, emitted, observed, precedence, summary: effortSummary(saved, emitted, observed) };
220
+ }
221
+ lastRequestedEffort(nodeId) {
222
+ const row = this.db.prepare("SELECT payload, created_at FROM events WHERE node_id = ? AND type = 'node.effort_changed' ORDER BY seq DESC LIMIT 1")
223
+ .get(nodeId);
224
+ if (!row)
225
+ return null;
226
+ try {
227
+ const payload = JSON.parse(row.payload);
228
+ return { value: payload.to ?? null, at: row.created_at, reason: payload.reason ?? "", operator: payload.operator ?? null };
229
+ }
230
+ catch {
231
+ return null;
232
+ }
233
+ }
234
+ /** The transcript of the conversation the observed process is on, or why that join can't be made.
235
+ * The recorded conversation (Codex: the session's resume token; Claude: the status sidecar's session)
236
+ * must be the one the process itself names, by argv or, for a Codex that names none, by its own logs. */
237
+ async joinedTranscript(runtime, session, process) {
238
+ if (!this.transcripts)
239
+ return { detail: "The native transcript for this session isn't known to OpenRig." };
240
+ const mismatch = "The process in the pane isn't on the conversation recorded for this seat (or its conversation couldn't be read), so no native turn can be attributed to it.";
241
+ try {
242
+ if (runtime === "codex") {
243
+ const recorded = this.sessionResumeToken(session.id);
244
+ if (!recorded)
245
+ return { detail: "No Codex conversation is recorded for this session yet." };
246
+ let own = codexCommandResumeToken(process.command) ?? undefined;
247
+ if (own === undefined && process.startedAt) {
248
+ const io = { ...defaultInPlaceRestartIo(), ...this.inPlaceRestartIo };
249
+ const facts = await io.readProcess(process.pid);
250
+ const home = facts?.env.CODEX_HOME ?? (facts?.env.HOME ? nodePath.join(facts.env.HOME, ".codex") : undefined);
251
+ own = home ? await io.readThreadId(process.pid, process.startedAt, home) : undefined;
252
+ }
253
+ if (own !== recorded)
254
+ return { detail: mismatch };
255
+ return { path: this.transcripts.readCodexTranscriptPath(recorded) };
256
+ }
257
+ const sidecar = this.transcripts.readSidecar(session.session_name);
258
+ if (!sidecar.ok)
259
+ return { detail: "Claude's status sidecar for this session isn't available, so its transcript isn't known." };
260
+ const recorded = sidecar.data.session_id ?? null;
261
+ const own = claudeCommandSessionToken(process.command);
262
+ // A resumed Claude can rotate to a new session id; the registry's recorded rotation from the
263
+ // launched id to the sidecar's joins them too.
264
+ const rotated = this.db.prepare("SELECT 1 FROM sessions WHERE id = ? AND resume_token = ? AND resume_rotated_from = ?")
265
+ .get(session.id, recorded, own);
266
+ if (!recorded || !own || (own !== recorded && !rotated))
267
+ return { detail: mismatch };
268
+ return { path: sidecar.data.transcript_path ?? null };
269
+ }
270
+ catch {
271
+ return { detail: mismatch };
272
+ }
273
+ }
274
+ readEffort(nodeId) {
275
+ let row;
276
+ try {
277
+ row = this.db.prepare("SELECT effort, effort_choice FROM nodes WHERE id = ?").get(nodeId);
278
+ }
279
+ catch {
280
+ return null; // an older database without the columns
281
+ }
282
+ if (!row)
283
+ return null;
284
+ return resolveSeatEffort({ effort: row.effort, effortChoice: row.effort_choice });
285
+ }
286
+ /** Whether the seat's latest session is live now. Never a guess: an indeterminate probe is unknown. */
287
+ async runningState(nodeId) {
288
+ const session = this.latestSession(nodeId);
289
+ if (!session)
290
+ return { state: "no", detail: "no session recorded" };
291
+ if (TERMINAL_SESSION_STATUSES.has(session.status))
292
+ return { state: "no", detail: `latest session ${session.status}` };
293
+ const probe = await this.probeLiveness(session.session_name, "running is reported as unknown");
294
+ if ("code" in probe)
295
+ return { state: "unknown", detail: probe.message };
296
+ return probe.state === "present" ? { state: "yes" } : { state: "no", detail: "tmux session absent" };
297
+ }
101
298
  async setPermissions(input) {
102
299
  input = { ...input };
103
300
  const required = this.requireReason(input.reason);
@@ -143,6 +340,71 @@ export class SeatLifecycleService {
143
340
  return { ok: false, code: "permission_selection_refused", message: error.message };
144
341
  }
145
342
  }
343
+ /** `rig policy apply <name> --seat`: re-point an existing seat's own permission_policy. This writes
344
+ * the raw ref and the provenance the instantiator would persist for the same member ref; restore,
345
+ * resume and launches that read the seat's stored state use that provenance, while a launch from a
346
+ * spec that declares a policy re-applies the spec's. The ref is validated exactly as a spec
347
+ * member's is; the running process is untouched. */
348
+ async setPolicy(input) {
349
+ const required = this.requireReason(input.reason);
350
+ if (required)
351
+ return required;
352
+ const invalid = validatePermissionPolicyRef(input.ref, "permission_policy");
353
+ if (invalid)
354
+ return { ok: false, code: "invalid_policy", message: invalid };
355
+ const ref = input.ref;
356
+ // Built-ins and `none` resolve from the ref alone; only a custom file reads its declaring directory.
357
+ const attachment = resolvePermissionPolicyAttachment(ref, "", { readFile: () => { throw new Error("no declaring spec"); } });
358
+ if (attachment.origin === "custom") {
359
+ return {
360
+ ok: false, code: "invalid_policy",
361
+ message: `permission_policy: '${ref}' is a custom policy file, which resolves relative to the rig spec that declares it; a seat has no spec directory of its own.`,
362
+ guidance: "Use builtin:<name> or none here, or declare the custom ref in the rig spec.",
363
+ };
364
+ }
365
+ const resolved = this.resolveSeat(input.seatRef);
366
+ if ("code" in resolved)
367
+ return resolved;
368
+ const seat = this.describe(resolved);
369
+ if (resolved.entry.runtime === "terminal") {
370
+ return { ok: false, code: "invalid_policy", message: "permission_policy: not valid on terminal members (a terminal node is not an agent seat)" };
371
+ }
372
+ const row = this.db.prepare("SELECT permission_policy FROM nodes WHERE id = ?").get(seat.nodeId);
373
+ const from = row?.permission_policy ?? null;
374
+ const provenance = {
375
+ origin: attachment.origin,
376
+ resolvedTarget: attachment.resolvedTarget ?? null,
377
+ declaringDir: attachment.declaringDir ?? null,
378
+ launchPosture: attachment.launchPosture,
379
+ };
380
+ const before = this.rigRepo.getNodePolicyProvenance(seat.nodeId);
381
+ const changed = from !== ref || !before || before.origin !== provenance.origin || before.resolvedTarget !== provenance.resolvedTarget
382
+ || before.declaringDir !== provenance.declaringDir || before.launchPosture !== provenance.launchPosture;
383
+ if (changed) {
384
+ let persisted = null;
385
+ this.db.transaction(() => {
386
+ this.rigRepo.setNodePermissionPolicy(seat.nodeId, ref);
387
+ this.rigRepo.setNodePolicyProvenance(seat.nodeId, provenance);
388
+ persisted = this.eventBus.persistWithinTransaction({
389
+ type: "node.policy_changed", rigId: seat.rigId, nodeId: seat.nodeId, logicalId: seat.logicalId,
390
+ from, to: ref, launchPosture: attachment.launchPosture, reason: input.reason.trim(), operator: input.actor.trim(),
391
+ });
392
+ })();
393
+ if (persisted)
394
+ this.eventBus.notifySubscribers(persisted);
395
+ }
396
+ let selection = false;
397
+ // An unreadable selection refuses the launch by itself (NativePermissionStore.read); nothing to add here.
398
+ try {
399
+ selection = new NativePermissionStore(this.db).read(seat.nodeId) !== null;
400
+ }
401
+ catch { /* see above */ }
402
+ const effect = "Restore, resume and launches that read this seat's stored state use this policy, unless an explicit native selection (rig seat set-permissions) takes precedence. "
403
+ + "`rig up <rig name>` uses it; a launch from a spec that declares a policy replaces it with the spec's policy, which later restores then use. "
404
+ + "The running process and the rig spec file are unchanged; nothing was restarted."
405
+ + (selection ? " This seat has an explicit native permission selection, so that selection takes precedence at launch." : "");
406
+ return { ok: true, seat, from, to: ref, launchPosture: attachment.launchPosture, changed, effect };
407
+ }
146
408
  async stopSeat(input) {
147
409
  const required = this.requireReason(input.reason);
148
410
  if (required)
@@ -224,11 +486,14 @@ export class SeatLifecycleService {
224
486
  if ("code" in probed)
225
487
  return probed;
226
488
  if (probed.state === "present") {
489
+ const latest = this.latestSession(resolved.nodeId);
227
490
  return {
228
491
  ok: false,
229
492
  code: "session_live",
230
493
  message: `Session "${name}" is alive in tmux (checked: tmux has-session, against EVERY session row clean would mutate) — clean only operates on dead seats.`,
231
- guidance: "Stop a live seat first with: rig seat stop",
494
+ guidance: latest?.session_name === name && latest.origin !== "claimed"
495
+ ? "Stop a live seat first with: rig seat stop"
496
+ : `Check that session (rig capture -- ${shellQuote(name)}) and end it yourself if it is no longer needed, then retry; rig seat stop targets the seat's latest session, not a selected historical session.`,
232
497
  };
233
498
  }
234
499
  }
@@ -264,19 +529,19 @@ export class SeatLifecycleService {
264
529
  this.eventBus.notifySubscribers(persisted);
265
530
  return { ok: true, seat, actions: { sessionsExited, bindingCleared: binding !== null } };
266
531
  }
267
- /** Finish context delivery to the same fresh occupant after its native gate.
532
+ /** Finish context delivery to the same fresh or forked occupant after its native gate.
268
533
  * This never launches a process or replays an uncertain/finished delivery.
269
534
  */
270
- async continueFreshStartup(seatRef) {
535
+ async continueStartup(seatRef) {
271
536
  const resolved = this.resolveSeat(seatRef);
272
537
  if ("code" in resolved)
273
538
  return resolved;
274
539
  const guard = this.tmuxAdapter.deliveryGuard;
275
540
  return guard
276
- ? guard.lifecycle([resolved.nodeId], () => this.continueFreshStartupUnchecked(seatRef))
277
- : this.continueFreshStartupUnchecked(seatRef);
541
+ ? guard.lifecycle([resolved.nodeId], () => this.continueStartupUnchecked(seatRef))
542
+ : this.continueStartupUnchecked(seatRef);
278
543
  }
279
- async continueFreshStartupUnchecked(seatRef) {
544
+ async continueStartupUnchecked(seatRef) {
280
545
  const resolved = this.resolveSeat(seatRef);
281
546
  if ("code" in resolved)
282
547
  return resolved;
@@ -284,14 +549,15 @@ export class SeatLifecycleService {
284
549
  const node = this.rigRepo.getRig(seat.rigId)?.nodes.find((n) => n.id === seat.nodeId);
285
550
  const session = this.latestSession(seat.nodeId);
286
551
  const binding = this.sessionRegistry.getBindingForNode(seat.nodeId);
552
+ const pending = session && this.startupOrchestrator?.pendingStartupContext(seat.nodeId, session.id);
287
553
  if (!node || !session || !binding?.tmuxSession || !this.startupOrchestrator
288
- || !this.startupOrchestrator.canContinueFresh(node.id, session.id)) {
289
- return { ok: false, code: "continuation_unavailable", message: "No verified pending fresh-context delivery exists for this occupant. Refresh to inspect its actual state." };
554
+ || !pending) {
555
+ return { ok: false, code: "continuation_unavailable", message: "No verified pending startup-context delivery exists for this occupant. Refresh to inspect its actual state." };
290
556
  }
291
557
  const pane = await observeSolePane(this.tmuxAdapter, binding.tmuxSession);
292
558
  if (!pane.ok || pane.pane !== binding.tmuxPane)
293
559
  return { ok: false, code: "binding_changed", message: "The managed terminal binding changed; context was not delivered." };
294
- const adapter = node.runtime ? this.runtimeAdapters[node.runtime] : undefined;
560
+ const adapter = seatAdapter(this.runtimeAdapters, node.runtime, session.community_harness);
295
561
  if (!adapter)
296
562
  return { ok: false, code: "runtime_adapter_missing", message: "The configured runtime adapter is unavailable." };
297
563
  const ready = await adapter.checkReady({ ...binding, cwd: node.cwd ?? "." });
@@ -305,16 +571,17 @@ export class SeatLifecycleService {
305
571
  // Recheck after the asynchronous native observation; startNode immediately
306
572
  // records pending before its first await, consuming the retained permission.
307
573
  if (this.latestSession(node.id)?.id !== session.id || this.sessionRegistry.getBindingForNode(node.id)?.tmuxPane !== pane.pane
308
- || !this.startupOrchestrator.canContinueFresh(node.id, session.id))
574
+ || !this.stillPending(node.id, session.id, pending))
309
575
  return { ok: false, code: "continuation_unavailable", message: "Startup changed during the readiness check. Refresh." };
310
576
  const result = await this.startupOrchestrator.startNode({
311
577
  rigId: seat.rigId, nodeId: node.id, sessionId: session.id,
312
- binding: { ...binding, cwd: node.cwd ?? ".", model: node.model ?? undefined, effort: node.effort ?? undefined, codexConfigProfile: node.codexConfigProfile ?? undefined },
578
+ binding: { ...binding, cwd: node.cwd ?? ".", model: node.model ?? undefined, effort: resolveSeatEffort(node).effective ?? undefined, codexConfigProfile: node.codexConfigProfile ?? undefined },
313
579
  adapter, plan: startup.context.plan, resolvedStartupFiles: startup.context.resolvedStartupFiles,
314
- startupActions: startup.context.startupActions, isRestore: false,
315
- sessionName: session.session_name, skipHarnessLaunch: true, continueFreshStartup: true, includeDurableObligations: true, allowFreshFallback: false,
580
+ startupActions: startup.context.startupActions, isRestore: pending.mode === "fork" && pending.isRestore,
581
+ sessionName: session.session_name, skipHarnessLaunch: true, continueFreshStartup: pending.mode === "fresh", includeDurableObligations: true, allowFreshFallback: false,
582
+ ...(pending.mode === "fork" ? { forkSource: { kind: "native_id", value: pending.parentToken } } : {}),
316
583
  });
317
- return { ...result, message: result.ok ? "Configured context delivered to the existing fresh conversation." : result.errors.join("; ") };
584
+ return { ...result, message: result.ok ? "Configured context delivered to the existing conversation." : result.errors.join("; ") };
318
585
  }
319
586
  /**
320
587
  * Resolve a seat snapshot into current launch settings and persisted startup context.
@@ -342,7 +609,7 @@ export class SeatLifecycleService {
342
609
  message: `Persisted startup context runtime '${startup.context.runtime}' does not match current node runtime '${node.runtime ?? "missing"}'.`,
343
610
  };
344
611
  }
345
- const adapter = this.runtimeAdapters[node.runtime];
612
+ const adapter = seatAdapter(this.runtimeAdapters, node.runtime, this.latestSession(node.id)?.community_harness);
346
613
  if (!adapter) {
347
614
  return {
348
615
  ok: false,
@@ -360,6 +627,13 @@ export class SeatLifecycleService {
360
627
  * mismatched sessions. Return its session row or a refusal, including unknown pane
361
628
  * observations, without stopping, repairing, or starting a tmux server.
362
629
  */
630
+ /** Whether the context found before the native check is still owed. A fork continuation needs the exact
631
+ * same pending event: its child is verified against that attempt. A fresh continuation keeps main's
632
+ * check (fresh context still pending for this occupant), so another pending event doesn't refuse it. */
633
+ stillPending(nodeId, sessionId, pending) {
634
+ const now = this.startupOrchestrator?.pendingStartupContext(nodeId, sessionId);
635
+ return pending.mode === "fork" ? now?.eventSeq === pending.eventSeq : now?.mode === "fresh";
636
+ }
363
637
  async validateFreshCollision(resolved, canonicalSessionName, stop) {
364
638
  const currentSession = this.latestSession(resolved.nodeId);
365
639
  const currentBinding = this.sessionRegistry.getBindingForNode(resolved.nodeId);
@@ -645,7 +919,7 @@ export class SeatLifecycleService {
645
919
  newGeneration: null,
646
920
  startupPolicyHash: startup.hash,
647
921
  model: node.model,
648
- effort: node.effort ?? null,
922
+ effort: resolveSeatEffort(node).effective,
649
923
  reason: input.reason,
650
924
  operator: input.operator,
651
925
  errors: ["new occupant generation was not persisted"],
@@ -666,7 +940,7 @@ export class SeatLifecycleService {
666
940
  ...launch.binding,
667
941
  cwd: node.cwd ?? ".",
668
942
  model: node.model ?? undefined,
669
- effort: node.effort ?? undefined,
943
+ effort: resolveSeatEffort(node).effective ?? undefined,
670
944
  codexConfigProfile: node.codexConfigProfile ?? undefined,
671
945
  launchPosture,
672
946
  },
@@ -688,7 +962,7 @@ export class SeatLifecycleService {
688
962
  newGeneration: generation,
689
963
  startupPolicyHash: startup.hash,
690
964
  model: node.model,
691
- effort: node.effort ?? null,
965
+ effort: resolveSeatEffort(node).effective,
692
966
  reason: input.reason,
693
967
  operator: input.operator,
694
968
  errors: startupResult.errors,
@@ -750,7 +1024,7 @@ export class SeatLifecycleService {
750
1024
  nativeSessionId,
751
1025
  ...(nativeSessionId ? {} : { nativeSessionIdReason: "scrape_miss" }),
752
1026
  model: node.model,
753
- effort: node.effort ?? null,
1027
+ effort: resolveSeatEffort(node).effective,
754
1028
  startupPolicyHash: startup.hash,
755
1029
  reason: input.reason.trim(),
756
1030
  operator: input.operator ?? null,
@@ -782,7 +1056,7 @@ export class SeatLifecycleService {
782
1056
  sessionId: launch.session.id,
783
1057
  generation,
784
1058
  model: node.model,
785
- effort: node.effort ?? undefined,
1059
+ effort: resolveSeatEffort(node).effective ?? undefined,
786
1060
  startupPolicyHash: startup.hash,
787
1061
  supersededSessionIds,
788
1062
  warnings: startupResult.warnings,
@@ -887,13 +1161,15 @@ export class SeatLifecycleService {
887
1161
  ?? this.rigRepo.getNodePolicyProvenance(node.id)?.launchPosture
888
1162
  ?? this.rigRepo.getRigPolicyProvenance(seat.rigId)?.launchPosture
889
1163
  ?? "floor";
1164
+ // OPR.0.7.0.7: an in-place restart is a managed continuation, so it relaunches with the seat's saved effort.
1165
+ const savedEffort = resolveSeatEffort(node);
890
1166
  return {
891
1167
  seat, sessionId: session.id, sessionName: session.session_name,
892
- saved: { model: node.model ?? null, effort: node.effort ?? null, codexConfigProfile: node.codexConfigProfile ?? null },
1168
+ saved: { model: node.model ?? null, effort: savedEffort.effective, codexConfigProfile: node.codexConfigProfile ?? null, effortSource: savedEffort.source },
893
1169
  binding: {
894
1170
  ...binding, cwd: node.cwd ?? ".",
895
1171
  ...(node.model ? { model: node.model } : {}),
896
- ...(node.effort ? { effort: node.effort } : {}),
1172
+ ...(savedEffort.effective ? { effort: savedEffort.effective } : {}),
897
1173
  ...(node.codexConfigProfile ? { codexConfigProfile: node.codexConfigProfile } : {}),
898
1174
  launchPosture, kernelAuthority: permissionOverride.kernelAuthority, teamPermissionDefault: permissionOverride.teamPermissionDefault,
899
1175
  nonInterruptive: this.rigRepo.getRigNonInterruptive(seat.rigId),
@@ -1164,7 +1440,7 @@ export class SeatLifecycleService {
1164
1440
  };
1165
1441
  }
1166
1442
  latestSession(nodeId) {
1167
- const row = this.db.prepare("SELECT id, session_name, status, origin FROM sessions WHERE node_id = ? ORDER BY id DESC LIMIT 1").get(nodeId);
1443
+ const row = this.db.prepare(`SELECT id, session_name, status, origin, ${sessionCommunityHarnessSelect(this.db, "sessions")} AS community_harness FROM sessions WHERE node_id = ? ORDER BY id DESC LIMIT 1`).get(nodeId);
1168
1444
  return row ?? null;
1169
1445
  }
1170
1446
  /** The ONE resolution path, mirroring SeatStatusService.findMatches semantics
@@ -1239,4 +1515,23 @@ function isOptionalOneOf(value, allowed) {
1239
1515
  function isStringArrayOf(value, allowed) {
1240
1516
  return Array.isArray(value) && value.every((entry) => isOneOf(entry, allowed));
1241
1517
  }
1518
+ /** One line naming where the four values agree, and where they can't be seen. */
1519
+ function effortSummary(saved, emitted, observed) {
1520
+ const savedText = saved.effective ? `${saved.effective} (${saved.source === "seat_choice" ? "seat choice" : "authored"})` : "no flag (the runtime's own default)";
1521
+ if (emitted.state !== "observed")
1522
+ return `Saved: ${savedText}. Launch: unknown (${emitted.detail}) Native effort: NOT VERIFIED.`;
1523
+ const launch = emitted.value ?? "no flag";
1524
+ const launchNote = emitted.matchesSaved ? "" : " This differs from the saved value: it applies at the seat's next managed continuation.";
1525
+ if (observed.state !== "observed")
1526
+ return `Saved: ${savedText}. Launch sent: ${launch}.${launchNote} Native effort: NOT VERIFIED (${observed.detail})`;
1527
+ const sent = observed.matchesEmitted === false
1528
+ ? `${observed.value}, not the ${launch} the launch sent (changed or overridden inside the session)`
1529
+ : observed.value;
1530
+ const verdict = observed.outcome === "accepted" ? "accepted by the service for that turn"
1531
+ : observed.outcome === "rejected" ? `REJECTED (${observed.detail})`
1532
+ : observed.outcome === "failed" || observed.outcome === "interrupted" ? (observed.detail ?? "not judged").replace(/\.$/, "")
1533
+ : observed.outcome === "pending" ? "its turn hasn't finished, so not yet known whether it was taken"
1534
+ : "applied level NOT VERIFIED (whether this is after any model fallback isn't shown)";
1535
+ return `Saved: ${savedText}. Launch sent: ${launch}.${launchNote} The session sent ${sent} with its latest turn (${observed.source}, ${observed.at}): ${verdict}.`;
1536
+ }
1242
1537
  //# sourceMappingURL=seat-lifecycle-service.js.map