@openrig/cli 0.6.13 → 0.7.0

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 (823) hide show
  1. package/README.md +58 -9
  2. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  3. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  4. package/daemon/assets/plugins/openrig-core/README.md +11 -4
  5. package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
  6. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
  7. package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
  8. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
  9. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
  10. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  11. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +39 -21
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
  15. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +12 -32
  16. package/daemon/assets/skills/rigs/SKILL.md +24 -5
  17. package/daemon/context-packs/help/manifest.yaml +1 -1
  18. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  19. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +18 -8
  20. package/daemon/context-packs/reference/getting-started.md +178 -35
  21. package/daemon/context-packs/reference/manifest.yaml +1 -1
  22. package/daemon/context-packs/reference/rig-spec.md +1 -1
  23. package/daemon/context-packs/reference/whats-new.md +126 -100
  24. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
  28. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
  34. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
  39. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
  42. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
  51. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/openrig-user/SKILL.md +39 -21
  56. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
  66. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
  67. package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
  68. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  69. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
  71. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  73. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  74. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  75. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  76. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  77. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  78. package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
  79. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
  80. package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  81. package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
  82. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  83. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  84. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +12 -32
  85. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  86. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  87. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  88. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  89. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  90. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  91. package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
  92. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  93. package/daemon/dist/adapters/claude-code-adapter.js +33 -6
  94. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  95. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  96. package/daemon/dist/adapters/codex-resume.js +2 -7
  97. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  98. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
  99. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  100. package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
  101. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  102. package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
  103. package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
  104. package/daemon/dist/adapters/compose-services-adapter.js +52 -9
  105. package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
  106. package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
  107. package/daemon/dist/adapters/kernel-authority.js +9 -5
  108. package/daemon/dist/adapters/kernel-authority.js.map +1 -1
  109. package/daemon/dist/adapters/pi-runner.d.ts +2 -0
  110. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  111. package/daemon/dist/adapters/pi-runner.js +5 -0
  112. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  113. package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
  114. package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
  115. package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
  116. package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
  117. package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
  118. package/daemon/dist/adapters/stub-runner.js +2 -0
  119. package/daemon/dist/adapters/stub-runner.js.map +1 -1
  120. package/daemon/dist/adapters/tmux.d.ts +21 -1
  121. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  122. package/daemon/dist/adapters/tmux.js +101 -14
  123. package/daemon/dist/adapters/tmux.js.map +1 -1
  124. package/daemon/dist/build-info.js +3 -3
  125. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  126. package/daemon/dist/db/all-migrations.js +12 -0
  127. package/daemon/dist/db/all-migrations.js.map +1 -1
  128. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
  129. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
  130. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
  131. package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
  132. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
  133. package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
  134. package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
  135. package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
  136. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
  137. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
  138. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
  139. package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
  140. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
  141. package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
  142. package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
  143. package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
  144. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
  145. package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
  146. package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
  147. package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
  148. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
  149. package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
  150. package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
  151. package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
  152. package/daemon/dist/domain/active-occupant.d.ts +5 -3
  153. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  154. package/daemon/dist/domain/active-occupant.js +2 -2
  155. package/daemon/dist/domain/active-occupant.js.map +1 -1
  156. package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
  157. package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
  158. package/daemon/dist/domain/activity-taxonomy.js +21 -0
  159. package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
  160. package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
  161. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  162. package/daemon/dist/domain/agent-activity-store.js +41 -5
  163. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  164. package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
  165. package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
  166. package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
  167. package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
  168. package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
  169. package/daemon/dist/domain/ask-service.d.ts +1 -0
  170. package/daemon/dist/domain/ask-service.d.ts.map +1 -1
  171. package/daemon/dist/domain/ask-service.js +7 -1
  172. package/daemon/dist/domain/ask-service.js.map +1 -1
  173. package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
  174. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  175. package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
  176. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  177. package/daemon/dist/domain/claim-service.d.ts +10 -19
  178. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  179. package/daemon/dist/domain/claim-service.js +90 -0
  180. package/daemon/dist/domain/claim-service.js.map +1 -1
  181. package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
  182. package/daemon/dist/domain/classification-sources.js +2 -0
  183. package/daemon/dist/domain/classification-sources.js.map +1 -1
  184. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +19 -6
  185. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  186. package/daemon/dist/domain/claude-compaction-enforcer.js +108 -38
  187. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  188. package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
  189. package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
  190. package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
  191. package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
  192. package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
  193. package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
  194. package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
  195. package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
  196. package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
  197. package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
  198. package/daemon/dist/domain/codex-thread-id.js +58 -17
  199. package/daemon/dist/domain/codex-thread-id.js.map +1 -1
  200. package/daemon/dist/domain/context-monitor.d.ts +13 -5
  201. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  202. package/daemon/dist/domain/context-monitor.js +47 -13
  203. package/daemon/dist/domain/context-monitor.js.map +1 -1
  204. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  205. package/daemon/dist/domain/context-usage-store.js +3 -0
  206. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  207. package/daemon/dist/domain/current-work.d.ts +18 -0
  208. package/daemon/dist/domain/current-work.d.ts.map +1 -1
  209. package/daemon/dist/domain/current-work.js +17 -3
  210. package/daemon/dist/domain/current-work.js.map +1 -1
  211. package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
  212. package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
  213. package/daemon/dist/domain/draft-aware-delivery.js +61 -82
  214. package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
  215. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  216. package/daemon/dist/domain/execution-view.js +2 -1
  217. package/daemon/dist/domain/execution-view.js.map +1 -1
  218. package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
  219. package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
  220. package/daemon/dist/domain/existing-rig-restore.js +254 -0
  221. package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
  222. package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
  223. package/daemon/dist/domain/fresh-occupant-relation.js +11 -3
  224. package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
  225. package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
  226. package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
  227. package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
  228. package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
  229. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  230. package/daemon/dist/domain/gateway/connections-projection.js +3 -46
  231. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  232. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
  233. package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
  234. package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
  235. package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
  236. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
  237. package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
  238. package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
  239. package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
  240. package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
  241. package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
  242. package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
  243. package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
  244. package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
  245. package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
  246. package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
  247. package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
  248. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
  249. package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
  250. package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
  251. package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
  252. package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
  253. package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
  254. package/daemon/dist/domain/gateway/human-registry.js +67 -5
  255. package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
  256. package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
  257. package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
  258. package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
  259. package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
  260. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  261. package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
  262. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  263. package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
  264. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  265. package/daemon/dist/domain/gateway/slack/message.js +5 -1
  266. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  267. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
  268. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  269. package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
  270. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  271. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
  272. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  273. package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
  274. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  275. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
  276. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  277. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
  278. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  279. package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
  280. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  281. package/daemon/dist/domain/health-passive-ceremony.js +34 -4
  282. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  283. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
  284. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  285. package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
  286. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  287. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
  288. package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
  289. package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
  290. package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
  291. package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
  292. package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
  293. package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
  294. package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
  295. package/daemon/dist/domain/human-questions.d.ts +8 -1
  296. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  297. package/daemon/dist/domain/human-questions.js.map +1 -1
  298. package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
  299. package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
  300. package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
  301. package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
  302. package/daemon/dist/domain/kernel-boot.d.ts +21 -0
  303. package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
  304. package/daemon/dist/domain/kernel-boot.js +57 -2
  305. package/daemon/dist/domain/kernel-boot.js.map +1 -1
  306. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
  307. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  308. package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
  309. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  310. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  311. package/daemon/dist/domain/native-process-lineage.js +43 -15
  312. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  313. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  314. package/daemon/dist/domain/node-inventory.js +26 -12
  315. package/daemon/dist/domain/node-inventory.js.map +1 -1
  316. package/daemon/dist/domain/node-launcher.d.ts +5 -3
  317. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  318. package/daemon/dist/domain/node-launcher.js +29 -25
  319. package/daemon/dist/domain/node-launcher.js.map +1 -1
  320. package/daemon/dist/domain/outbox-handler.d.ts +3 -5
  321. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  322. package/daemon/dist/domain/outbox-handler.js +9 -19
  323. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  324. package/daemon/dist/domain/park-wake-text.d.ts +11 -0
  325. package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
  326. package/daemon/dist/domain/park-wake-text.js +26 -0
  327. package/daemon/dist/domain/park-wake-text.js.map +1 -0
  328. package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
  329. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  330. package/daemon/dist/domain/plugin-vendor-service.js +29 -6
  331. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  332. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
  333. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  334. package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
  335. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  336. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
  337. package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
  338. package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
  339. package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
  340. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
  341. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
  342. package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
  343. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  344. package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
  345. package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
  346. package/daemon/dist/domain/policies/quiet-release.js +213 -0
  347. package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
  348. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  349. package/daemon/dist/domain/profile-resolver.js +8 -3
  350. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  351. package/daemon/dist/domain/proof/source-watch.js +2 -2
  352. package/daemon/dist/domain/proof/source-watch.js.map +1 -1
  353. package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
  354. package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
  355. package/daemon/dist/domain/queue-destination-check.js +35 -0
  356. package/daemon/dist/domain/queue-destination-check.js.map +1 -0
  357. package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
  358. package/daemon/dist/domain/queue-owner.js +2 -1
  359. package/daemon/dist/domain/queue-owner.js.map +1 -1
  360. package/daemon/dist/domain/queue-recovery.d.ts +1 -1
  361. package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
  362. package/daemon/dist/domain/queue-recovery.js +3 -2
  363. package/daemon/dist/domain/queue-recovery.js.map +1 -1
  364. package/daemon/dist/domain/queue-repository.d.ts +108 -67
  365. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  366. package/daemon/dist/domain/queue-repository.js +316 -140
  367. package/daemon/dist/domain/queue-repository.js.map +1 -1
  368. package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
  369. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  370. package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
  371. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  372. package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
  373. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  374. package/daemon/dist/domain/queue-transition-log.js +25 -8
  375. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  376. package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
  377. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  378. package/daemon/dist/domain/queue-wake-ladder.js +94 -11
  379. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  380. package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
  381. package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
  382. package/daemon/dist/domain/quiet-hold-custody.js +85 -0
  383. package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
  384. package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
  385. package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
  386. package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
  387. package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
  388. package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
  389. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  390. package/daemon/dist/domain/restore-orchestrator.js +144 -15
  391. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  392. package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
  393. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  394. package/daemon/dist/domain/restore-plan-preview.js +30 -13
  395. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  396. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  397. package/daemon/dist/domain/review/gather.js +8 -5
  398. package/daemon/dist/domain/review/gather.js.map +1 -1
  399. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
  400. package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
  401. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
  402. package/daemon/dist/domain/rig-repository.d.ts +11 -1
  403. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  404. package/daemon/dist/domain/rig-repository.js +27 -3
  405. package/daemon/dist/domain/rig-repository.js.map +1 -1
  406. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  407. package/daemon/dist/domain/rig-teardown.js +31 -4
  408. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  409. package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
  410. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  411. package/daemon/dist/domain/rigspec-instantiator.js +59 -28
  412. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  413. package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
  414. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  415. package/daemon/dist/domain/rigspec-schema.js +30 -0
  416. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  417. package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
  418. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  419. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  420. package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
  421. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
  422. package/daemon/dist/domain/seat-activity-service.js +124 -57
  423. package/daemon/dist/domain/seat-activity-service.js.map +1 -1
  424. package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
  425. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  426. package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
  427. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  428. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
  429. package/daemon/dist/domain/seat-delivery-guard.js +21 -5
  430. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
  431. package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
  432. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  433. package/daemon/dist/domain/seat-handover-service.js +28 -2
  434. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  435. package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
  436. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  437. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  438. package/daemon/dist/domain/seat-identity-store.js +5 -2
  439. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  440. package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
  441. package/daemon/dist/domain/seat-launch-environment.js +17 -1
  442. package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
  443. package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
  444. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  445. package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
  446. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
  447. package/daemon/dist/domain/seat-restart-in-place.js +102 -30
  448. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
  449. package/daemon/dist/domain/self-attach-service.d.ts +3 -2
  450. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  451. package/daemon/dist/domain/self-attach-service.js +18 -1
  452. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  453. package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
  454. package/daemon/dist/domain/services-readiness.js +14 -3
  455. package/daemon/dist/domain/services-readiness.js.map +1 -1
  456. package/daemon/dist/domain/session-registry.d.ts +45 -0
  457. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  458. package/daemon/dist/domain/session-registry.js +124 -0
  459. package/daemon/dist/domain/session-registry.js.map +1 -1
  460. package/daemon/dist/domain/session-transport.d.ts +24 -6
  461. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  462. package/daemon/dist/domain/session-transport.js +58 -41
  463. package/daemon/dist/domain/session-transport.js.map +1 -1
  464. package/daemon/dist/domain/skill-discovery.d.ts +7 -1
  465. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  466. package/daemon/dist/domain/skill-discovery.js +41 -7
  467. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  468. package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
  469. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  470. package/daemon/dist/domain/snapshot-repository.js +23 -10
  471. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  472. package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
  473. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  474. package/daemon/dist/domain/startup-orchestrator.js +66 -16
  475. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  476. package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
  477. package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
  478. package/daemon/dist/domain/startup-submission-evidence.js +11 -17
  479. package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
  480. package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
  481. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  482. package/daemon/dist/domain/successor-session-launcher.js +3 -1
  483. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  484. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
  485. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  486. package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
  487. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  488. package/daemon/dist/domain/topology-converge.d.ts +1 -0
  489. package/daemon/dist/domain/topology-converge.d.ts.map +1 -1
  490. package/daemon/dist/domain/topology-converge.js +1 -0
  491. package/daemon/dist/domain/topology-converge.js.map +1 -1
  492. package/daemon/dist/domain/types.d.ts +15 -4
  493. package/daemon/dist/domain/types.d.ts.map +1 -1
  494. package/daemon/dist/domain/types.js.map +1 -1
  495. package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -1
  496. package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
  497. package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -1
  498. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  499. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  500. package/daemon/dist/domain/user-settings/settings-store.js +37 -7
  501. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  502. package/daemon/dist/domain/wake-resolve-service.d.ts +1 -0
  503. package/daemon/dist/domain/wake-resolve-service.d.ts.map +1 -1
  504. package/daemon/dist/domain/wake-resolve-service.js +10 -0
  505. package/daemon/dist/domain/wake-resolve-service.js.map +1 -1
  506. package/daemon/dist/domain/wake-resolver.d.ts.map +1 -1
  507. package/daemon/dist/domain/wake-resolver.js +7 -0
  508. package/daemon/dist/domain/wake-resolver.js.map +1 -1
  509. package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
  510. package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
  511. package/daemon/dist/domain/watchdog-delivery.js +12 -89
  512. package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
  513. package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
  514. package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
  515. package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
  516. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  517. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  518. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  519. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  520. package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
  521. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  522. package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
  523. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  524. package/daemon/dist/domain/whoami-service.d.ts +2 -0
  525. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  526. package/daemon/dist/domain/whoami-service.js +23 -6
  527. package/daemon/dist/domain/whoami-service.js.map +1 -1
  528. package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
  529. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  530. package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
  531. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  532. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
  533. package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
  534. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
  535. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  536. package/daemon/dist/domain/workflow-projector.js +5 -2
  537. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  538. package/daemon/dist/domain/workflow-role-context.js +2 -2
  539. package/daemon/dist/domain/workflow-role-context.js.map +1 -1
  540. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  541. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  542. package/daemon/dist/domain/workflow-runtime.js +2 -0
  543. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  544. package/daemon/dist/routes/activity.d.ts +13 -1
  545. package/daemon/dist/routes/activity.d.ts.map +1 -1
  546. package/daemon/dist/routes/activity.js +67 -2
  547. package/daemon/dist/routes/activity.js.map +1 -1
  548. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  549. package/daemon/dist/routes/agent-images.js +2 -0
  550. package/daemon/dist/routes/agent-images.js.map +1 -1
  551. package/daemon/dist/routes/compaction.d.ts.map +1 -1
  552. package/daemon/dist/routes/compaction.js +8 -3
  553. package/daemon/dist/routes/compaction.js.map +1 -1
  554. package/daemon/dist/routes/discovery.js +3 -0
  555. package/daemon/dist/routes/discovery.js.map +1 -1
  556. package/daemon/dist/routes/down.js +9 -1
  557. package/daemon/dist/routes/down.js.map +1 -1
  558. package/daemon/dist/routes/gateway.d.ts +2 -0
  559. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  560. package/daemon/dist/routes/gateway.js +181 -1
  561. package/daemon/dist/routes/gateway.js.map +1 -1
  562. package/daemon/dist/routes/kernel-status.js +6 -1
  563. package/daemon/dist/routes/kernel-status.js.map +1 -1
  564. package/daemon/dist/routes/provider.d.ts.map +1 -1
  565. package/daemon/dist/routes/provider.js +0 -73
  566. package/daemon/dist/routes/provider.js.map +1 -1
  567. package/daemon/dist/routes/queue.d.ts.map +1 -1
  568. package/daemon/dist/routes/queue.js +73 -13
  569. package/daemon/dist/routes/queue.js.map +1 -1
  570. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  571. package/daemon/dist/routes/rigs.js +29 -10
  572. package/daemon/dist/routes/rigs.js.map +1 -1
  573. package/daemon/dist/routes/rigspec.js +2 -3
  574. package/daemon/dist/routes/rigspec.js.map +1 -1
  575. package/daemon/dist/routes/seat.js +2 -2
  576. package/daemon/dist/routes/seat.js.map +1 -1
  577. package/daemon/dist/routes/sessions.js +35 -0
  578. package/daemon/dist/routes/sessions.js.map +1 -1
  579. package/daemon/dist/routes/skills.js +2 -2
  580. package/daemon/dist/routes/skills.js.map +1 -1
  581. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  582. package/daemon/dist/routes/transcripts.js +7 -3
  583. package/daemon/dist/routes/transcripts.js.map +1 -1
  584. package/daemon/dist/routes/transport.js +1 -1
  585. package/daemon/dist/routes/transport.js.map +1 -1
  586. package/daemon/dist/routes/up.js +36 -52
  587. package/daemon/dist/routes/up.js.map +1 -1
  588. package/daemon/dist/server.d.ts.map +1 -1
  589. package/daemon/dist/server.js +6 -4
  590. package/daemon/dist/server.js.map +1 -1
  591. package/daemon/dist/startup.d.ts.map +1 -1
  592. package/daemon/dist/startup.js +104 -65
  593. package/daemon/dist/startup.js.map +1 -1
  594. package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
  595. package/daemon/docs/reference/getting-started.md +178 -35
  596. package/daemon/docs/reference/quickstart.md +200 -0
  597. package/daemon/docs/reference/refocus-channel.md +9 -3
  598. package/daemon/docs/reference/rig-spec.md +1 -1
  599. package/daemon/docs/reference/seat-delivery.md +57 -18
  600. package/daemon/docs/reference/slack-app-setup.md +49 -2
  601. package/daemon/docs/reference/whats-new.md +126 -100
  602. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
  603. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
  604. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
  605. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
  606. package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
  607. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
  608. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
  609. package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
  610. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
  611. package/dist/build-info.js +3 -3
  612. package/dist/cli-error.d.ts +4 -0
  613. package/dist/cli-error.d.ts.map +1 -1
  614. package/dist/cli-error.js +6 -0
  615. package/dist/cli-error.js.map +1 -1
  616. package/dist/client.d.ts +7 -1
  617. package/dist/client.d.ts.map +1 -1
  618. package/dist/client.js +28 -0
  619. package/dist/client.js.map +1 -1
  620. package/dist/commands/agent-image.d.ts.map +1 -1
  621. package/dist/commands/agent-image.js +15 -7
  622. package/dist/commands/agent-image.js.map +1 -1
  623. package/dist/commands/archive.d.ts.map +1 -1
  624. package/dist/commands/archive.js +17 -3
  625. package/dist/commands/archive.js.map +1 -1
  626. package/dist/commands/ask.d.ts.map +1 -1
  627. package/dist/commands/ask.js +13 -3
  628. package/dist/commands/ask.js.map +1 -1
  629. package/dist/commands/attach.d.ts.map +1 -1
  630. package/dist/commands/attach.js +6 -4
  631. package/dist/commands/attach.js.map +1 -1
  632. package/dist/commands/broadcast.js +2 -0
  633. package/dist/commands/broadcast.js.map +1 -1
  634. package/dist/commands/chatroom.d.ts.map +1 -1
  635. package/dist/commands/chatroom.js +1 -0
  636. package/dist/commands/chatroom.js.map +1 -1
  637. package/dist/commands/community-harness.d.ts.map +1 -1
  638. package/dist/commands/community-harness.js +2 -1
  639. package/dist/commands/community-harness.js.map +1 -1
  640. package/dist/commands/compact-plan.d.ts.map +1 -1
  641. package/dist/commands/compact-plan.js +2 -1
  642. package/dist/commands/compact-plan.js.map +1 -1
  643. package/dist/commands/compact.d.ts.map +1 -1
  644. package/dist/commands/compact.js +15 -7
  645. package/dist/commands/compact.js.map +1 -1
  646. package/dist/commands/config.d.ts.map +1 -1
  647. package/dist/commands/config.js +11 -2
  648. package/dist/commands/config.js.map +1 -1
  649. package/dist/commands/context.d.ts.map +1 -1
  650. package/dist/commands/context.js +16 -9
  651. package/dist/commands/context.js.map +1 -1
  652. package/dist/commands/doctor.d.ts +3 -0
  653. package/dist/commands/doctor.d.ts.map +1 -1
  654. package/dist/commands/doctor.js +39 -16
  655. package/dist/commands/doctor.js.map +1 -1
  656. package/dist/commands/expand.d.ts.map +1 -1
  657. package/dist/commands/expand.js +16 -2
  658. package/dist/commands/expand.js.map +1 -1
  659. package/dist/commands/export.d.ts.map +1 -1
  660. package/dist/commands/export.js +9 -2
  661. package/dist/commands/export.js.map +1 -1
  662. package/dist/commands/fork.d.ts.map +1 -1
  663. package/dist/commands/fork.js +3 -1
  664. package/dist/commands/fork.js.map +1 -1
  665. package/dist/commands/gateway.d.ts +39 -0
  666. package/dist/commands/gateway.d.ts.map +1 -1
  667. package/dist/commands/gateway.js +310 -3
  668. package/dist/commands/gateway.js.map +1 -1
  669. package/dist/commands/health.js +3 -2
  670. package/dist/commands/health.js.map +1 -1
  671. package/dist/commands/host.d.ts +1 -1
  672. package/dist/commands/host.d.ts.map +1 -1
  673. package/dist/commands/host.js +2 -2
  674. package/dist/commands/host.js.map +1 -1
  675. package/dist/commands/launch.d.ts.map +1 -1
  676. package/dist/commands/launch.js +9 -2
  677. package/dist/commands/launch.js.map +1 -1
  678. package/dist/commands/plugin.d.ts.map +1 -1
  679. package/dist/commands/plugin.js +2 -1
  680. package/dist/commands/plugin.js.map +1 -1
  681. package/dist/commands/provider.d.ts.map +1 -1
  682. package/dist/commands/provider.js +0 -73
  683. package/dist/commands/provider.js.map +1 -1
  684. package/dist/commands/ps.d.ts +4 -0
  685. package/dist/commands/ps.d.ts.map +1 -1
  686. package/dist/commands/ps.js +95 -5
  687. package/dist/commands/ps.js.map +1 -1
  688. package/dist/commands/queue.d.ts +4 -0
  689. package/dist/commands/queue.d.ts.map +1 -1
  690. package/dist/commands/queue.js +78 -3
  691. package/dist/commands/queue.js.map +1 -1
  692. package/dist/commands/reconcile-session.d.ts.map +1 -1
  693. package/dist/commands/reconcile-session.js +25 -4
  694. package/dist/commands/reconcile-session.js.map +1 -1
  695. package/dist/commands/release.d.ts.map +1 -1
  696. package/dist/commands/release.js +16 -2
  697. package/dist/commands/release.js.map +1 -1
  698. package/dist/commands/restore-check.d.ts.map +1 -1
  699. package/dist/commands/restore-check.js +2 -1
  700. package/dist/commands/restore-check.js.map +1 -1
  701. package/dist/commands/restore-packet.d.ts.map +1 -1
  702. package/dist/commands/restore-packet.js +2 -1
  703. package/dist/commands/restore-packet.js.map +1 -1
  704. package/dist/commands/restore.d.ts.map +1 -1
  705. package/dist/commands/restore.js +23 -6
  706. package/dist/commands/restore.js.map +1 -1
  707. package/dist/commands/scope.d.ts.map +1 -1
  708. package/dist/commands/scope.js +5 -2
  709. package/dist/commands/scope.js.map +1 -1
  710. package/dist/commands/seat.js +0 -4
  711. package/dist/commands/seat.js.map +1 -1
  712. package/dist/commands/send.d.ts.map +1 -1
  713. package/dist/commands/send.js +27 -3
  714. package/dist/commands/send.js.map +1 -1
  715. package/dist/commands/setup.d.ts +3 -0
  716. package/dist/commands/setup.d.ts.map +1 -1
  717. package/dist/commands/setup.js +29 -9
  718. package/dist/commands/setup.js.map +1 -1
  719. package/dist/commands/shrink.d.ts.map +1 -1
  720. package/dist/commands/shrink.js +16 -2
  721. package/dist/commands/shrink.js.map +1 -1
  722. package/dist/commands/slack.d.ts.map +1 -1
  723. package/dist/commands/slack.js +11 -24
  724. package/dist/commands/slack.js.map +1 -1
  725. package/dist/commands/snapshot.d.ts.map +1 -1
  726. package/dist/commands/snapshot.js +36 -10
  727. package/dist/commands/snapshot.js.map +1 -1
  728. package/dist/commands/specs.d.ts.map +1 -1
  729. package/dist/commands/specs.js +11 -5
  730. package/dist/commands/specs.js.map +1 -1
  731. package/dist/commands/start.d.ts.map +1 -1
  732. package/dist/commands/start.js +36 -10
  733. package/dist/commands/start.js.map +1 -1
  734. package/dist/commands/status.d.ts.map +1 -1
  735. package/dist/commands/status.js +4 -1
  736. package/dist/commands/status.js.map +1 -1
  737. package/dist/commands/transcript.d.ts.map +1 -1
  738. package/dist/commands/transcript.js +12 -7
  739. package/dist/commands/transcript.js.map +1 -1
  740. package/dist/commands/ui.d.ts.map +1 -1
  741. package/dist/commands/ui.js +8 -1
  742. package/dist/commands/ui.js.map +1 -1
  743. package/dist/commands/unarchive.d.ts.map +1 -1
  744. package/dist/commands/unarchive.js +16 -2
  745. package/dist/commands/unarchive.js.map +1 -1
  746. package/dist/commands/up.d.ts.map +1 -1
  747. package/dist/commands/up.js +33 -7
  748. package/dist/commands/up.js.map +1 -1
  749. package/dist/commands/walk.d.ts.map +1 -1
  750. package/dist/commands/walk.js +2 -1
  751. package/dist/commands/walk.js.map +1 -1
  752. package/dist/commands/whoami.d.ts.map +1 -1
  753. package/dist/commands/whoami.js +3 -0
  754. package/dist/commands/whoami.js.map +1 -1
  755. package/dist/config-store.d.ts +5 -2
  756. package/dist/config-store.d.ts.map +1 -1
  757. package/dist/config-store.js +39 -7
  758. package/dist/config-store.js.map +1 -1
  759. package/dist/daemon-lifecycle.d.ts +9 -4
  760. package/dist/daemon-lifecycle.d.ts.map +1 -1
  761. package/dist/daemon-lifecycle.js +38 -12
  762. package/dist/daemon-lifecycle.js.map +1 -1
  763. package/dist/daemon-reachability.d.ts +13 -0
  764. package/dist/daemon-reachability.d.ts.map +1 -1
  765. package/dist/daemon-reachability.js +28 -0
  766. package/dist/daemon-reachability.js.map +1 -1
  767. package/dist/fetch-with-timeout.d.ts.map +1 -1
  768. package/dist/fetch-with-timeout.js +19 -16
  769. package/dist/fetch-with-timeout.js.map +1 -1
  770. package/dist/front-door.d.ts.map +1 -1
  771. package/dist/front-door.js +3 -1
  772. package/dist/front-door.js.map +1 -1
  773. package/dist/host-bindings.d.ts +6 -0
  774. package/dist/host-bindings.d.ts.map +1 -1
  775. package/dist/host-bindings.js +7 -4
  776. package/dist/host-bindings.js.map +1 -1
  777. package/dist/lib/bundle-check.d.ts.map +1 -1
  778. package/dist/lib/bundle-check.js +13 -5
  779. package/dist/lib/bundle-check.js.map +1 -1
  780. package/dist/local-daemon-owner.d.ts +28 -0
  781. package/dist/local-daemon-owner.d.ts.map +1 -0
  782. package/dist/local-daemon-owner.js +98 -0
  783. package/dist/local-daemon-owner.js.map +1 -0
  784. package/dist/mcp-server.d.ts.map +1 -1
  785. package/dist/mcp-server.js +57 -14
  786. package/dist/mcp-server.js.map +1 -1
  787. package/dist/rig-handle.d.ts +18 -1
  788. package/dist/rig-handle.d.ts.map +1 -1
  789. package/dist/rig-handle.js +19 -2
  790. package/dist/rig-handle.js.map +1 -1
  791. package/package.json +1 -1
  792. package/tui/dist/config/config-model.js +1 -1
  793. package/tui/dist/config/config-model.js.map +1 -1
  794. package/tui/dist/connections/connections-model.d.ts +0 -5
  795. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  796. package/tui/dist/connections/connections-model.js +1 -1
  797. package/tui/dist/connections/connections-model.js.map +1 -1
  798. package/tui/dist/daemon-client.d.ts +2 -0
  799. package/tui/dist/daemon-client.d.ts.map +1 -1
  800. package/tui/dist/daemon-client.js +23 -0
  801. package/tui/dist/daemon-client.js.map +1 -1
  802. package/tui/dist/hydrate.d.ts.map +1 -1
  803. package/tui/dist/hydrate.js +13 -1
  804. package/tui/dist/hydrate.js.map +1 -1
  805. package/tui/dist/live.d.ts +10 -1
  806. package/tui/dist/live.d.ts.map +1 -1
  807. package/tui/dist/live.js +56 -7
  808. package/tui/dist/live.js.map +1 -1
  809. package/tui/dist/main.js +35 -2
  810. package/tui/dist/main.js.map +1 -1
  811. package/tui/dist/render.d.ts.map +1 -1
  812. package/tui/dist/render.js +111 -7
  813. package/tui/dist/render.js.map +1 -1
  814. package/tui/dist/types.d.ts +53 -0
  815. package/tui/dist/types.d.ts.map +1 -1
  816. package/tui/dist/version-skew.d.ts +24 -0
  817. package/tui/dist/version-skew.d.ts.map +1 -0
  818. package/tui/dist/version-skew.js +37 -0
  819. package/tui/dist/version-skew.js.map +1 -0
  820. package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
  821. package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
  822. package/daemon/dist/domain/provider/subscription-moves.js +0 -140
  823. package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
@@ -0,0 +1,126 @@
1
+ import nodePath from "node:path";
2
+ import { parse as parseToml } from "smol-toml";
3
+ // Codex loads the openrig-core plugin's hooks only from a plugin installed through its own marketplace path and enabled
4
+ // in its config. OpenRig installs it with Codex's own commands (`codex plugin marketplace add`, `codex plugin add`), which
5
+ // write `[plugins."openrig-core@openrig"] enabled = true` into the user config.toml. Before any install or reinstall,
6
+ // OpenRig reads the person's choice and never overrides it:
7
+ // - an explicit `enabled = false` for the plugin keeps it disabled;
8
+ // - with no explicit value for the plugin, an effective `[plugins._default] enabled = false` keeps it disabled too (Codex
9
+ // applies that default to an entry without its own `enabled`, and an install would replace it with an explicit true);
10
+ // like Codex, a higher layer's `_default` overrides a lower one's;
11
+ // - an explicit `enabled = true` is the person's choice and allows it;
12
+ // - a layer that exists but can't be read or parsed leaves the answer unknown, so nothing is installed.
13
+ // The layers read are the config files Codex reads at fixed paths: the system config, the user config, and the legacy
14
+ // managed config, in Codex's precedence order. Profiles, project config, session flags, MDM and cloud-managed config are
15
+ // not visible here; the report says so.
16
+ export const CODEX_CORE_MARKETPLACE = "openrig";
17
+ export const CODEX_CORE_PLUGIN = "openrig-core";
18
+ export const CODEX_CORE_PLUGIN_KEY = `${CODEX_CORE_PLUGIN}@${CODEX_CORE_MARKETPLACE}`;
19
+ /** The config files Codex reads at fixed paths, lowest precedence first, as `{ name, path }`. */
20
+ export function codexReadableConfigLayers(codexHome, systemDir = "/etc/codex") {
21
+ return [
22
+ { name: "system config", path: nodePath.join(systemDir, "config.toml") },
23
+ { name: "user config", path: nodePath.join(codexHome, "config.toml") },
24
+ { name: "legacy managed config", path: nodePath.join(systemDir, "managed_config.toml") },
25
+ ];
26
+ }
27
+ const NOT_VISIBLE = "profile, project, session-flag, MDM and cloud-managed config aren't visible to OpenRig";
28
+ /** Whether OpenRig may run Codex's install for the plugin, from the layers it can read. */
29
+ export function codexCorePluginEnablement(layers) {
30
+ let explicit;
31
+ let defaultOff;
32
+ for (const layer of layers) {
33
+ if (layer.state === "absent")
34
+ continue;
35
+ if (layer.state === "unreadable")
36
+ return { decision: "unknown", reason: `${layer.name} at ${layer.path} can't be read (${layer.reason})` };
37
+ let doc;
38
+ try {
39
+ doc = parseToml(layer.content);
40
+ }
41
+ catch (error) {
42
+ return { decision: "unknown", reason: `${layer.name} at ${layer.path} can't be parsed (${error.message.split("\n")[0]})` };
43
+ }
44
+ const plugins = doc["plugins"];
45
+ if (plugins === undefined)
46
+ continue;
47
+ if (!isTable(plugins))
48
+ return { decision: "unknown", reason: `${layer.name} has a plugins value that isn't a table` };
49
+ const entry = plugins[CODEX_CORE_PLUGIN_KEY];
50
+ if (entry !== undefined) {
51
+ if (!isTable(entry))
52
+ return { decision: "unknown", reason: `${layer.name} has a ${CODEX_CORE_PLUGIN_KEY} value that isn't a table` };
53
+ if (entry["enabled"] !== undefined) {
54
+ if (typeof entry["enabled"] !== "boolean")
55
+ return { decision: "unknown", reason: `${layer.name} sets ${CODEX_CORE_PLUGIN_KEY}.enabled to a non-boolean` };
56
+ explicit = { enabled: entry["enabled"], layer: layer.name };
57
+ }
58
+ }
59
+ const fallback = plugins["_default"];
60
+ if (fallback !== undefined) {
61
+ if (!isTable(fallback) || (fallback["enabled"] !== undefined && typeof fallback["enabled"] !== "boolean")) {
62
+ return { decision: "unknown", reason: `${layer.name} has a plugins._default that this reader doesn't recognise` };
63
+ }
64
+ // Layers come lowest precedence first, as Codex merges them: a higher layer's _default replaces a lower one's.
65
+ if (fallback["enabled"] === false)
66
+ defaultOff = layer.name;
67
+ else if (fallback["enabled"] === true)
68
+ defaultOff = undefined;
69
+ }
70
+ }
71
+ if (explicit) {
72
+ return explicit.enabled
73
+ ? { decision: "allow", reason: `${CODEX_CORE_PLUGIN_KEY} is explicitly enabled in the ${explicit.layer}` }
74
+ : { decision: "disabled", reason: `${CODEX_CORE_PLUGIN_KEY} is explicitly disabled in the ${explicit.layer}; it stays disabled` };
75
+ }
76
+ if (defaultOff)
77
+ return { decision: "disabled", reason: `plugins._default disables plugins in the ${defaultOff}; ${CODEX_CORE_PLUGIN_KEY} stays disabled` };
78
+ return { decision: "allow", reason: `no layer OpenRig can read disables ${CODEX_CORE_PLUGIN_KEY} (${NOT_VISIBLE})` };
79
+ }
80
+ /** The `[marketplaces.openrig]` source recorded in the user config, if any. */
81
+ export function recordedMarketplaceSource(userConfig) {
82
+ if (userConfig === null)
83
+ return undefined;
84
+ let doc;
85
+ try {
86
+ doc = parseToml(userConfig);
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ const marketplaces = doc["marketplaces"];
92
+ if (!isTable(marketplaces))
93
+ return undefined;
94
+ const entry = marketplaces[CODEX_CORE_MARKETPLACE];
95
+ if (entry === undefined)
96
+ return undefined;
97
+ return isTable(entry) && typeof entry["source"] === "string" ? entry["source"] : null;
98
+ }
99
+ /** Whether the user config sets an explicit `enabled = true` for the plugin (what Codex's install writes there). */
100
+ export function userLayerEnablesCorePlugin(userConfig) {
101
+ if (userConfig === null)
102
+ return false;
103
+ let doc;
104
+ try {
105
+ doc = parseToml(userConfig);
106
+ }
107
+ catch {
108
+ return false;
109
+ }
110
+ const plugins = doc["plugins"];
111
+ const entry = isTable(plugins) ? plugins[CODEX_CORE_PLUGIN_KEY] : undefined;
112
+ return isTable(entry) && entry["enabled"] === true;
113
+ }
114
+ /** The local marketplace manifest that lists the vendored plugin, in a layout Codex reads (`.agents/plugins/marketplace.json`). */
115
+ export function codexCoreMarketplaceManifest() {
116
+ return `${JSON.stringify({
117
+ name: CODEX_CORE_MARKETPLACE,
118
+ interface: { displayName: "OpenRig" },
119
+ plugins: [{ name: CODEX_CORE_PLUGIN, source: `./${CODEX_CORE_PLUGIN}` }],
120
+ }, null, 2)}\n`;
121
+ }
122
+ export const CODEX_MARKETPLACE_MANIFEST_PATH = nodePath.join(".agents", "plugins", "marketplace.json");
123
+ function isTable(value) {
124
+ return typeof value === "object" && value !== null && !Array.isArray(value);
125
+ }
126
+ //# sourceMappingURL=codex-core-plugin-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-core-plugin-install.js","sourceRoot":"","sources":["../../src/domain/codex-core-plugin-install.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,15 @@ export type CodexCaptureDiagnostic = {
3
3
  count?: number;
4
4
  };
5
5
  export type CodexCaptureReporter = (diagnostic: CodexCaptureDiagnostic) => void;
6
+ /** A read's thread with whether it met no detected incompleteness: every versioned database found (discovery), and every
7
+ * one opened and queried. `incomplete` names which part fell short. Not an atomic snapshot: databases can change during
8
+ * the read, and rows inside the process's start second stay excluded by the reuse gate. */
9
+ export interface CodexThreadEvidence {
10
+ thread?: string;
11
+ reason?: CodexCaptureDiagnostic["reason"];
12
+ fullyReadable: boolean;
13
+ incomplete?: "unreadable" | "discovery";
14
+ }
6
15
  /** F1 (B12's completion): may return a plain value (test stubs stay sync) or a Promise — every
7
16
  * caller awaits it, and the DEFAULT is async so the per-PID `ps eww` spawn no longer blocks the
8
17
  * event loop (measured live: 28.9s/15min of burst blocking inside the 8-attempt capture loops). */
@@ -98,6 +107,12 @@ export declare class CodexThreadIdResolver {
98
107
  * rule (e91d7a94) on the cache above.
99
108
  */
100
109
  resolveUngatedLegacy(pid: number, report?: CodexCaptureReporter): Promise<string | undefined>;
110
+ /**
111
+ * {@link resolve} for the explicit `codexHome` read, with whether that read met no detected incompleteness. The thread
112
+ * and diagnostic are what `resolve` gives for the same home; only the readability is new. For a caller that must tell
113
+ * a complete read from a partial one (the in-place restart), never a cache or another home.
114
+ */
115
+ resolveWithReadability(pid: number, identity: string): Promise<CodexThreadEvidence>;
101
116
  private resolveWithDiagnostics;
102
117
  private resolveInternal;
103
118
  private cacheHome;
@@ -120,5 +135,12 @@ export type StartSecondRows =
120
135
  * later), rows after it resolve. Unparseable → undefined (the caller falls
121
136
  * back to the ungated read rather than inventing a gate). */
122
137
  export declare function lstartToMinTs(identity: string | undefined): number | undefined;
123
- export declare function resolveCodexDbPaths(homeDir: string, kind: "logs" | "state", exists?: (path: string) => boolean, codexHome?: string): string[];
138
+ /**
139
+ * The versioned Codex databases of `kind`, newest first. `discovery`, when passed, is set false when the search may have
140
+ * missed one: the listing failed, or a listed database was dropped by (or threw in) the existence check. The returned
141
+ * paths are the same whether or not it's passed, the historical fallback included.
142
+ */
143
+ export declare function resolveCodexDbPaths(homeDir: string, kind: "logs" | "state", exists?: (path: string) => boolean, codexHome?: string, discovery?: {
144
+ complete: boolean;
145
+ }): string[];
124
146
  //# sourceMappingURL=codex-thread-id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-thread-id.d.ts","sourceRoot":"","sources":["../../src/domain/codex-thread-id.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,sBAAsB,KAAK,IAAI,CAAC;AAEhF;;oGAEoG;AACpG,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpG,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgBzF;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAiC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhCvB;;;;;;;;;;;;;;;;;;;;iCAoB6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqE;IAC/F;;;;;;8DAM0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkD;gBAG7D,IAAI,GAAE;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,0EAA0E;QAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAC;QAClI,qEAAqE;QACrE,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;;;;;;sEAO8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gCAAgC;QAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;KACf;IAGR;;;;;;OAMG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIxG;;2BAEuB;IACjB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIjH;;;;;;;;OAQG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAIrF,sBAAsB;YAatB,eAAe;IAoE7B,OAAO,CAAC,SAAS;CAQlB;AA6BD,8GAA8G;AAC9G,MAAM,MAAM,eAAe;AACzB,iFAAiF;AAC/E,SAAS;AACX;;;8DAG8D;GAC5D,YAAY,CAAC;AAwEjB;;;;;;;8DAO8D;AAC9D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO9E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA0B7I"}
1
+ {"version":3,"file":"codex-thread-id.d.ts","sourceRoot":"","sources":["../../src/domain/codex-thread-id.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,23 @@ export class CodexThreadIdResolver {
113
113
  async resolveUngatedLegacy(pid, report) {
114
114
  return this.resolveWithDiagnostics(pid, undefined, report);
115
115
  }
116
+ /**
117
+ * {@link resolve} for the explicit `codexHome` read, with whether that read met no detected incompleteness. The thread
118
+ * and diagnostic are what `resolve` gives for the same home; only the readability is new. For a caller that must tell
119
+ * a complete read from a partial one (the in-place restart), never a cache or another home.
120
+ */
121
+ async resolveWithReadability(pid, identity) {
122
+ const diagnostics = [];
123
+ const readability = { complete: true, unreadable: false };
124
+ const thread = this.opts.codexHome
125
+ ? readCodexThreadIdFromLogs(pid, "", undefined, lstartToMinTs(identity), this.opts.codexHome, (diagnostic) => diagnostics.push(diagnostic), "exclude", readability)
126
+ : undefined;
127
+ if (!this.opts.codexHome)
128
+ return { reason: "no_log_row", fullyReadable: false, incomplete: "discovery" };
129
+ const fullyReadable = readability.complete;
130
+ const incomplete = fullyReadable ? undefined : readability.unreadable ? "unreadable" : "discovery";
131
+ return { ...(thread ? { thread } : { reason: diagnostics[0]?.reason ?? "no_log_row" }), fullyReadable, ...(incomplete ? { incomplete } : {}) };
132
+ }
116
133
  async resolveWithDiagnostics(pid, identity, report, startSecond = "exclude") {
117
134
  const diagnostics = [];
118
135
  const token = await this.resolveInternal(pid, identity, diagnostic => diagnostics.push(diagnostic), startSecond);
@@ -134,7 +151,7 @@ export class CodexThreadIdResolver {
134
151
  const readFromLogs = injected
135
152
  ? (p, home, report) => injected(p, home, report, startSecond)
136
153
  : (p, home, report) => readCodexThreadIdFromLogs(p, home, undefined, minTs, undefined, report, startSecond);
137
- const defaultHome = this.opts.defaultHome ?? safeUserHomeDir() ?? os.homedir();
154
+ const defaultHome = this.opts.defaultHome ?? os.homedir();
138
155
  const now = this.opts.now ?? Date.now;
139
156
  const ttl = this.opts.homeTtlMs ?? 60_000;
140
157
  // 1. Default home: no subprocess.
@@ -202,25 +219,25 @@ const _resolveRequiresIdentityPin = true;
202
219
  void _resolveRequiresIdentityPin;
203
220
  function uniqueHomes(candidateHomes) {
204
221
  const homes = candidateHomes.filter((home) => Boolean(home));
205
- const userHome = safeUserHomeDir();
206
- if (userHome)
207
- homes.push(userHome);
222
+ // os.homedir() honors HOME. The passwd home must not bypass an explicit provider/test home.
223
+ homes.push(os.homedir());
208
224
  return [...new Set(homes)];
209
225
  }
210
- function safeUserHomeDir() {
211
- try {
212
- return os.userInfo().homedir;
213
- }
214
- catch {
215
- return undefined;
216
- }
217
- }
218
- function readCodexThreadIdFromLogs(pid, homeDir, exists, minTs, codexHome, report, startSecond = "exclude") {
226
+ function readCodexThreadIdFromLogs(pid, homeDir, exists, minTs, codexHome, report, startSecond = "exclude", readability) {
219
227
  let unreadable = false;
228
+ // Discovery completeness is tracked only when the caller asked for readability; every other caller is unchanged.
229
+ const logsDiscovery = readability ? { complete: true } : undefined;
230
+ const stateDiscovery = readability ? { complete: true } : undefined;
231
+ const settle = () => {
232
+ if (!readability)
233
+ return;
234
+ readability.unreadable = unreadable;
235
+ readability.complete = !unreadable && logsDiscovery.complete && stateDiscovery.complete;
236
+ };
220
237
  const loggedIds = new Set();
221
238
  const sameSecond = new Map(); // process_uuid -> thread ids logged in the start second
222
239
  const loggedBefore = new Set(); // process_uuids with a row before the start second
223
- for (const dbPath of resolveCodexDbPaths(homeDir, "logs", exists, codexHome)) {
240
+ for (const dbPath of resolveCodexDbPaths(homeDir, "logs", exists, codexHome, logsDiscovery)) {
224
241
  try {
225
242
  const db = new Database(dbPath, { readonly: true });
226
243
  try {
@@ -255,12 +272,13 @@ function readCodexThreadIdFromLogs(pid, homeDir, exists, minTs, codexHome, repor
255
272
  loggedIds.add(id);
256
273
  if (!loggedIds.size) {
257
274
  report?.({ reason: unreadable ? "sqlite_unreadable" : "no_log_row" });
275
+ settle();
258
276
  return undefined;
259
277
  }
260
278
  // Native title generation logs another thread in the same process. Join only
261
279
  // PID-owned IDs to retained CLI conversations; recency cannot identify the TUI.
262
280
  const conversations = new Set();
263
- for (const dbPath of resolveCodexDbPaths(homeDir, "state", exists, codexHome)) {
281
+ for (const dbPath of resolveCodexDbPaths(homeDir, "state", exists, codexHome, stateDiscovery)) {
264
282
  try {
265
283
  const db = new Database(dbPath, { readonly: true });
266
284
  try {
@@ -278,6 +296,7 @@ function readCodexThreadIdFromLogs(pid, homeDir, exists, minTs, codexHome, repor
278
296
  }
279
297
  }
280
298
  // Multiple retained conversations in one process need a stronger native signal.
299
+ settle();
281
300
  if (conversations.size === 1)
282
301
  return [...conversations][0];
283
302
  report?.(unreadable ? { reason: "sqlite_unreadable" }
@@ -304,7 +323,12 @@ export function lstartToMinTs(identity) {
304
323
  return undefined;
305
324
  return Math.floor(parsed / 1000);
306
325
  }
307
- export function resolveCodexDbPaths(homeDir, kind, exists, codexHome) {
326
+ /**
327
+ * The versioned Codex databases of `kind`, newest first. `discovery`, when passed, is set false when the search may have
328
+ * missed one: the listing failed, or a listed database was dropped by (or threw in) the existence check. The returned
329
+ * paths are the same whether or not it's passed, the historical fallback included.
330
+ */
331
+ export function resolveCodexDbPaths(homeDir, kind, exists, codexHome, discovery) {
308
332
  const codexDir = codexHome || nodePath.join(homeDir, ".codex");
309
333
  const discovered = [];
310
334
  try {
@@ -320,7 +344,10 @@ export function resolveCodexDbPaths(homeDir, kind, exists, codexHome) {
320
344
  }
321
345
  catch {
322
346
  // Best effort only; fall back to the historical filename below.
347
+ if (discovery)
348
+ discovery.complete = false;
323
349
  }
350
+ const listed = new Set(discovered.map((entry) => entry.path));
324
351
  if (discovered.length === 0) {
325
352
  discovered.push({ version: kind === "logs" ? 1 : 5, path: nodePath.join(codexDir, kind === "logs" ? "logs_1.sqlite" : "state_5.sqlite") });
326
353
  }
@@ -328,6 +355,20 @@ export function resolveCodexDbPaths(homeDir, kind, exists, codexHome) {
328
355
  .sort((a, b) => b.version - a.version)
329
356
  .map((entry) => entry.path)
330
357
  .filter((path, index, paths) => paths.indexOf(path) === index)
331
- .filter((path) => (exists ?? fs.existsSync)(path));
358
+ .filter((path) => {
359
+ let found;
360
+ try {
361
+ found = (exists ?? fs.existsSync)(path);
362
+ }
363
+ catch (error) {
364
+ if (discovery && listed.has(path))
365
+ discovery.complete = false;
366
+ throw error;
367
+ }
368
+ // A database the listing named but the existence check dropped may hold rows: the search is incomplete.
369
+ if (!found && discovery && listed.has(path))
370
+ discovery.complete = false;
371
+ return found;
372
+ });
332
373
  }
333
374
  //# sourceMappingURL=codex-thread-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-thread-id.js","sourceRoot":"","sources":["../../src/domain/codex-thread-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-thread-id.js","sourceRoot":"","sources":["../../src/domain/codex-thread-id.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type Database from "better-sqlite3";
2
2
  import type { ClaudeCompactionEnforcer } from "./claude-compaction-enforcer.js";
3
3
  import type { ContextUsageStore } from "./context-usage-store.js";
4
- import { type NodeBinding, type ReadinessResult } from "./runtime-adapter.js";
4
+ import { type NodeBinding, type ReadinessOptions, type ReadinessResult } from "./runtime-adapter.js";
5
5
  import type { UsageSamplesStore, ProviderWindowSampleInput } from "./usage-samples-store.js";
6
6
  /** Default polling interval: 30 seconds. */
7
7
  export declare const DEFAULT_POLL_INTERVAL_MS = 30000;
@@ -10,10 +10,10 @@ interface ClaudeContextProvisioner {
10
10
  cwd?: string | null;
11
11
  tmuxSession?: string | null;
12
12
  }): void;
13
- checkReady?(binding: NodeBinding): Promise<ReadinessResult>;
13
+ checkReady?(binding: NodeBinding, options?: ReadinessOptions): Promise<ReadinessResult>;
14
14
  }
15
15
  interface RuntimeReadinessChecker {
16
- checkReady?(binding: NodeBinding): Promise<ReadinessResult>;
16
+ checkReady?(binding: NodeBinding, options?: ReadinessOptions): Promise<ReadinessResult>;
17
17
  }
18
18
  /**
19
19
  * Polls known managed runtime context sources and persists the latest
@@ -54,8 +54,9 @@ export declare class ContextMonitor {
54
54
  * sample.
55
55
  */
56
56
  private maybeAutoCompact;
57
- /** Readiness normalization changes these two fields itself; all other snapshot
58
- * fields, including the launch event sequence, must still describe this seat. */
57
+ /** Every field must match the observation, including this poll's own readiness writes.
58
+ * Usage telemetry passes `ignoreReadiness`: readiness does not change how usage is
59
+ * read, so an independent readiness change must not drop that tick's sample. */
59
60
  private isCurrentSession;
60
61
  /** Start polling at the given interval. Idempotent. */
61
62
  start(intervalMs?: number): void;
@@ -65,6 +66,13 @@ export declare class ContextMonitor {
65
66
  private getEligibleSessions;
66
67
  private readContextUsage;
67
68
  private normalizeStartupStatus;
69
+ /** For a promotion the no-launch process proof made (#1477), the conversation the failed start asked for, in addition
70
+ * to the recorded one. `node.startup_failed`'s `requestedResumeToken` is written by the daemon and survives a restart; the SessionStart hook rewrites only
71
+ * `sessions.resume_token`, so a record the hook moved to another conversation no longer matches the request. The
72
+ * same comparison the post-send reconcile makes (stored token, or a rotation that started from it). With no such
73
+ * event, or a null request (a fresh launch), or an event from before the fields existed, this holds nothing back,
74
+ * unlike the post-send reconcile's default: a seat the monitor promotes today stays promoted. */
75
+ private requestedConversationDiffers;
68
76
  }
69
77
  export {};
70
78
  //# sourceMappingURL=context-monitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-monitor.d.ts","sourceRoot":"","sources":["../../src/domain/context-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAI7F,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAqB/C,UAAU,wBAAwB;IAChC,sBAAsB,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5F,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED,UAAU,uBAAuB;IAC/B,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,wBAAwB,CAAkC;IAClE,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,iBAAiB,CAAsD;IAC/E,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,qBAAqB,CAAoD;IACjF,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,UAAU,CAA8B;gBAG9C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,iBAAiB,EACxB,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,kBAAkB,CAAC,EAAE,wBAAwB,EAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC,EACvE,YAAY,CAAC,EAAE,iBAAiB,EAChC,qBAAqB,CAAC,EAAE,MAAM,yBAAyB,EAAE;IAc3D,4EAA4E;IACtE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAWjB,OAAO;IAgDrB;0FACsF;IACtF,OAAO,CAAC,0BAA0B;IAUlC;;;;;;;;;;OAUG;YACW,gBAAgB;IAiC9B;qFACiF;IACjF,OAAO,CAAC,gBAAgB;IAMxB,uDAAuD;IACvD,KAAK,CAAC,UAAU,GAAE,MAAiC,GAAG,IAAI;IAW1D,iEAAiE;IACjE,IAAI,IAAI,IAAI;IAOZ,wEAAwE;IACxE,OAAO,CAAC,mBAAmB;IA4C3B,OAAO,CAAC,gBAAgB;YAqBV,sBAAsB;CAoDrC"}
1
+ {"version":3,"file":"context-monitor.d.ts","sourceRoot":"","sources":["../../src/domain/context-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAK7F,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAyB/C,UAAU,wBAAwB;IAChC,sBAAsB,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5F,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzF;AAED,UAAU,uBAAuB;IAC/B,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACzF;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,wBAAwB,CAAkC;IAClE,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,iBAAiB,CAAsD;IAC/E,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,qBAAqB,CAAoD;IACjF,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,UAAU,CAA8B;gBAG9C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,iBAAiB,EACxB,wBAAwB,CAAC,EAAE,wBAAwB,EACnD,kBAAkB,CAAC,EAAE,wBAAwB,EAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC,EACvE,YAAY,CAAC,EAAE,iBAAiB,EAChC,qBAAqB,CAAC,EAAE,MAAM,yBAAyB,EAAE;IAc3D,4EAA4E;IACtE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAWjB,OAAO;IAgDrB;0FACsF;IACtF,OAAO,CAAC,0BAA0B;IAUlC;;;;;;;;;;OAUG;YACW,gBAAgB;IAiC9B;;oFAEgF;IAChF,OAAO,CAAC,gBAAgB;IAOxB,uDAAuD;IACvD,KAAK,CAAC,UAAU,GAAE,MAAiC,GAAG,IAAI;IAW1D,iEAAiE;IACjE,IAAI,IAAI,IAAI;IAOZ,wEAAwE;IACxE,OAAO,CAAC,mBAAmB;IAgD3B,OAAO,CAAC,gBAAgB;YAqBV,sBAAsB;IAkEpC;;;;;sGAKkG;IAClG,OAAO,CAAC,4BAA4B;CAMrC"}
@@ -1,5 +1,6 @@
1
1
  import { isAttentionRequiredReadinessCode, } from "./runtime-adapter.js";
2
- import { readPendingStartupContext } from "./startup-orchestrator.js";
2
+ import { getLatestStartupFailedEvent, hasClaudeResumeIdentityWork, readPendingStartupContext } from "./startup-orchestrator.js";
3
+ import { claudeResumeRotation, SessionRegistry } from "./session-registry.js";
3
4
  /** Default polling interval: 30 seconds. */
4
5
  export const DEFAULT_POLL_INTERVAL_MS = 30_000;
5
6
  /**
@@ -52,7 +53,7 @@ export class ContextMonitor {
52
53
  this.compactionEnforcer?.reconcilePreparations?.();
53
54
  const sessions = this.getEligibleSessions();
54
55
  for (const session of sessions) {
55
- if (!this.isCurrentSession(session))
56
+ if (!this.isCurrentSession(session, true))
56
57
  continue;
57
58
  let observed = null;
58
59
  const canReadContextUsage = session.runtime !== "codex" || !!session.resume_token;
@@ -151,11 +152,13 @@ export class ContextMonitor {
151
152
  // polling loop continues to make progress for remaining sessions.
152
153
  }
153
154
  }
154
- /** Readiness normalization changes these two fields itself; all other snapshot
155
- * fields, including the launch event sequence, must still describe this seat. */
156
- isCurrentSession(session) {
155
+ /** Every field must match the observation, including this poll's own readiness writes.
156
+ * Usage telemetry passes `ignoreReadiness`: readiness does not change how usage is
157
+ * read, so an independent readiness change must not drop that tick's sample. */
158
+ isCurrentSession(session, ignoreReadiness = false) {
157
159
  const current = this.getEligibleSessions(session.node_id)[0];
158
- return current !== undefined && Object.entries(session).every(([key, value]) => key === "startup_status" || key === "startup_completed_at" || current[key] === value);
160
+ return current !== undefined && Object.entries(session).every(([key, value]) => (ignoreReadiness && (key === "startup_status" || key === "startup_completed_at"))
161
+ || current[key] === value);
159
162
  }
160
163
  /** Start polling at the given interval. Idempotent. */
161
164
  start(intervalMs = DEFAULT_POLL_INTERVAL_MS) {
@@ -185,6 +188,10 @@ export class ContextMonitor {
185
188
  s.session_name,
186
189
  n.runtime,
187
190
  s.resume_token,
191
+ s.resume_provenance,
192
+ s.resume_rotated_from,
193
+ s.resume_rotated_process,
194
+ s.resume_launch_process,
188
195
  n.cwd,
189
196
  s.startup_status,
190
197
  s.status,
@@ -247,22 +254,27 @@ export class ContextMonitor {
247
254
  return;
248
255
  // A poll snapshot is not a lease: lifecycle work can run before or during
249
256
  // the probe. The event sequence also distinguishes same-status retries.
250
- const isCurrent = () => JSON.stringify(this.getEligibleSessions(session.node_id)[0]) === JSON.stringify(session);
257
+ const isCurrent = () => this.isCurrentSession(session);
251
258
  try {
252
259
  if (!isCurrent())
253
260
  return;
261
+ // A Claude seat is checked with its real binding (pane, session, current occupant) and recorded conversation, so a
262
+ // banner-less auto-mode screen can be proved when no launch record exists (#1477). Other runtimes keep the stand-in.
263
+ const claude = session.runtime === "claude-code";
264
+ const rotation = claude ? claudeResumeRotation(session) : null;
254
265
  const readiness = await checker.checkReady({
255
- id: `context-monitor:${session.session_id}`,
266
+ id: claude && session.binding_id ? session.binding_id : `context-monitor:${session.session_id}`,
256
267
  nodeId: session.node_id,
257
268
  attachmentType: "tmux",
258
269
  tmuxSession: session.session_name,
259
270
  tmuxWindow: null,
260
- tmuxPane: null,
271
+ tmuxPane: claude ? session.binding_pane : null,
261
272
  cmuxWorkspace: null,
262
273
  cmuxSurface: null,
263
274
  updatedAt: "",
264
275
  cwd: session.cwd ?? "",
265
- });
276
+ ...(claude && session.generation_uuid ? { launchGeneration: session.generation_uuid } : {}),
277
+ }, ...(claude && session.resume_token ? [{ resumeToken: session.resume_token, ...(rotation ? { resumeRotation: rotation } : {}) }] : []));
266
278
  // Hold no database lock while observing the runtime. Revalidation and
267
279
  // the write share an immediate transaction, reserving the writer before the
268
280
  // snapshot read so WAL contention cannot fail a later read-to-write upgrade.
@@ -274,20 +286,30 @@ export class ContextMonitor {
274
286
  // startup may have reached an attention gate while we were observing.
275
287
  if (readPendingStartupContext(this.db, session.node_id, session.session_id))
276
288
  return;
277
- this.db.prepare(`
289
+ if (readiness.provedWithoutLaunch && this.requestedConversationDiffers(session))
290
+ return;
291
+ const completedAt = new Date().toISOString();
292
+ const updated = this.db.prepare(`
278
293
  UPDATE sessions
279
294
  SET startup_status = 'ready',
280
295
  startup_completed_at = ?
281
296
  WHERE id = ? AND startup_status IN ('failed', 'attention_required')
282
- `).run(new Date().toISOString(), session.session_id);
297
+ `).run(completedAt, session.session_id);
298
+ if (updated.changes > 0) {
299
+ // Accept only the readiness changes written by this poll, not a later re-read.
300
+ session.startup_status = "ready";
301
+ session.startup_completed_at = completedAt;
302
+ }
283
303
  return;
284
304
  }
285
305
  if (isAttentionRequiredReadinessCode(readiness.code)) {
286
- this.db.prepare(`
306
+ const updated = this.db.prepare(`
287
307
  UPDATE sessions
288
308
  SET startup_status = 'attention_required'
289
309
  WHERE id = ?
290
310
  `).run(session.session_id);
311
+ if (updated.changes > 0)
312
+ session.startup_status = "attention_required";
291
313
  }
292
314
  }).immediate();
293
315
  }
@@ -295,5 +317,17 @@ export class ContextMonitor {
295
317
  // Best-effort normalization only; telemetry polling still succeeds.
296
318
  }
297
319
  }
320
+ /** For a promotion the no-launch process proof made (#1477), the conversation the failed start asked for, in addition
321
+ * to the recorded one. `node.startup_failed`'s `requestedResumeToken` is written by the daemon and survives a restart; the SessionStart hook rewrites only
322
+ * `sessions.resume_token`, so a record the hook moved to another conversation no longer matches the request. The
323
+ * same comparison the post-send reconcile makes (stored token, or a rotation that started from it). With no such
324
+ * event, or a null request (a fresh launch), or an event from before the fields existed, this holds nothing back,
325
+ * unlike the post-send reconcile's default: a seat the monitor promotes today stays promoted. */
326
+ requestedConversationDiffers(session) {
327
+ const event = getLatestStartupFailedEvent(this.db, session.node_id, session.session_id);
328
+ if (!event?.requestedResumeToken)
329
+ return false;
330
+ return hasClaudeResumeIdentityWork(new SessionRegistry(this.db), session.session_id, "claude-code", event.requestedResumeToken, event.requestedResumeType);
331
+ }
298
332
  }
299
333
  //# sourceMappingURL=context-monitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-monitor.js","sourceRoot":"","sources":["../../src/domain/context-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-monitor.js","sourceRoot":"","sources":["../../src/domain/context-monitor.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gCAAgC,GAIjC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAChI,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE9E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAkC/C;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IACjB,EAAE,CAAoB;IACtB,KAAK,CAAoB;IACzB,wBAAwB,CAAkC;IAC1D,kBAAkB,CAAkC;IACpD,iBAAiB,CAAsD;IACvE,YAAY,GAA6B,IAAI,CAAC;IAC9C,qBAAqB,GAA+C,IAAI,CAAC;IACzE,KAAK,GAA0C,IAAI,CAAC;IACpD,UAAU,GAAyB,IAAI,CAAC;IAEhD,YACE,EAAqB,EACrB,KAAwB,EACxB,wBAAmD,EACnD,kBAA6C,EAC7C,iBAAuE,EACvE,YAAgC,EAChC,qBAAyD;QAEzD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,IAAI,IAAI,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,EAAE,CAAC;QACjD,IAAI,wBAAwB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,wBAAwB,CAAC;QACnE,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;gBAAE,SAAS;YACpD,IAAI,QAAQ,GAAwB,IAAI,CAAC;YACzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YAClF,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC9C,sEAAsE;oBACtE,uEAAuE;oBACvE,sEAAsE;oBACtE,6BAA6B;oBAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;wBAC3D,IAAI,CAAC;4BACH,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACnC;gCACE,MAAM,EAAE,OAAO,CAAC,OAAO;gCACvB,WAAW,EAAE,OAAO,CAAC,YAAY;gCACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;gCAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gCAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gCAC7C,cAAc,EAAE,QAAQ,CAAC,cAAc;gCACvC,eAAe,EAAE,QAAQ,CAAC,SAAS;gCACnC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,IAAI,IAAI;6BAC9D,EACD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,IAAI,CAAC;oBAChB,oDAAoD;oBACpD,IAAI,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC9E,CAAC;oBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;0FACsF;IAC9E,0BAA0B;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO;QAC9D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAAwB,EACxB,KAA0B;QAE1B,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACrC,IAAI,CAAC;YACH,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3F,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;oBAC7C,WAAW,EAAE,OAAO,CAAC,YAAY;oBACjC,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;iBAC3D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;gBAAE,OAAO;YACxF,MAAM,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;gBACzD,WAAW,EAAE,OAAO,CAAC,YAAY;gBACjC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,IAAI;gBAC7C,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI;gBACnC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED;;oFAEgF;IACxE,gBAAgB,CAAC,OAAwB,EAAE,eAAe,GAAG,KAAK;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC7E,CAAC,eAAe,IAAI,CAAC,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,sBAAsB,CAAC,CAAC;eAC9E,OAAO,CAAC,GAA4B,CAAC,KAAK,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,aAAqB,wBAAwB;QACjD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,kBAAkB;QAC1C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,oDAAoD;QACpD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzE,IAAI,CAAC,KAAwB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,wEAAwE;IAChE,mBAAmB,CAAC,MAAe;QACzC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2CjB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;KAC/C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAsB,CAAC;IACzE,CAAC;IAEO,gBAAgB,CAAC,OAAwB;QAC/C,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;gBACtC,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,WAAW,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;gBACpD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;gBAC7B,WAAW,EAAE,OAAO,CAAC,YAAY;aAClC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAwB;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,CAAC,OAAO,EAAE,UAAU;YAAE,OAAO;QACjC,IAAI,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,KAAK,oBAAoB;YAAE,OAAO;QAEnG,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,EAAE;gBAAE,OAAO;YACzB,mHAAmH;YACnH,qHAAqH;YACrH,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,aAAa,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACzC,EAAE,EAAE,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,UAAU,EAAE;gBAC/F,MAAM,EAAE,OAAO,CAAC,OAAO;gBACvB,cAAc,EAAE,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,YAAY;gBACjC,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;gBAC9C,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,EAAE;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE;gBACtB,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5F,EAAE,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1I,sEAAsE;YACtE,4EAA4E;YAC5E,6EAA6E;YAC7E,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,SAAS,EAAE;oBAAE,OAAO;gBACzB,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpB,uEAAuE;oBACvE,sEAAsE;oBACtE,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;wBAAE,OAAO;oBACpF,IAAI,SAAS,CAAC,mBAAmB,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC;wBAAE,OAAO;oBACxF,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;WAK/B,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBACxC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;wBACxB,+EAA+E;wBAC/E,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;wBACjC,OAAO,CAAC,oBAAoB,GAAG,WAAW,CAAC;oBAC7C,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;WAI/B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC3B,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC;wBAAE,OAAO,CAAC,cAAc,GAAG,oBAAoB,CAAC;gBACzE,CAAC;YACH,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED;;;;;sGAKkG;IAC1F,4BAA4B,CAAC,OAAwB;QAC3D,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,EAAE,oBAAoB;YAAE,OAAO,KAAK,CAAC;QAC/C,OAAO,2BAA2B,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,aAAa,EAChG,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;CACF"}