@openrig/cli 0.5.8 → 0.5.9

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 (781) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +1 -0
  2. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  3. package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +92 -0
  4. package/daemon/assets/plugins/openrig-core/skills/agent-operated-workflows/SKILL.md +79 -0
  5. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  6. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +4 -2
  7. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +12 -16
  8. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +11 -179
  9. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  10. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +63 -19
  11. package/daemon/context-packs/skills/agent-operated-software/SKILL.md +92 -0
  12. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +10 -0
  13. package/daemon/context-packs/skills/agent-operated-workflows/SKILL.md +79 -0
  14. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +10 -0
  15. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +4 -2
  26. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +81 -0
  28. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +3 -1
  29. package/daemon/context-packs/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  30. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +2 -2
  38. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/openrig-user/SKILL.md +12 -16
  43. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/software-for-agents/SKILL.md +11 -179
  69. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +3 -3
  70. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  71. package/daemon/context-packs/world-example/your-world.md +1 -1
  72. package/daemon/context-packs/world-public/build-your-world.md +19 -0
  73. package/daemon/context-packs/world-public/claims.yaml +5 -1
  74. package/daemon/context-packs/world-public/manifest.yaml +40 -1
  75. package/daemon/context-packs/world-public/verify-world.sh +25 -9
  76. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  77. package/daemon/dist/adapters/claude-code-adapter.js +4 -2
  78. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  79. package/daemon/dist/build-info.js +3 -3
  80. package/daemon/dist/db/all-migrations.d.ts +1 -1
  81. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  82. package/daemon/dist/db/all-migrations.js +3 -1
  83. package/daemon/dist/db/all-migrations.js.map +1 -1
  84. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  85. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  86. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  87. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  88. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  89. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  90. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  91. package/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  92. package/daemon/dist/domain/active-occupant.d.ts +6 -1
  93. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  94. package/daemon/dist/domain/active-occupant.js +47 -0
  95. package/daemon/dist/domain/active-occupant.js.map +1 -1
  96. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  97. package/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  98. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  99. package/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  100. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  101. package/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  102. package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  103. package/daemon/dist/domain/bundle-skills-router.js +5 -1
  104. package/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  105. package/daemon/dist/domain/claim-service.d.ts +2 -0
  106. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  107. package/daemon/dist/domain/claim-service.js +33 -12
  108. package/daemon/dist/domain/claim-service.js.map +1 -1
  109. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  110. package/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  111. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  112. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  113. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  114. package/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  115. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  116. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  117. package/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  118. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  119. package/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  120. package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  121. package/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  122. package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  123. package/daemon/dist/domain/context-usage-store.d.ts +4 -0
  124. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  125. package/daemon/dist/domain/context-usage-store.js +8 -4
  126. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  127. package/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  128. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  129. package/daemon/dist/domain/crash-cart-conductor.js +3 -1
  130. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  131. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  132. package/daemon/dist/domain/execution-view.js +145 -16
  133. package/daemon/dist/domain/execution-view.js.map +1 -1
  134. package/daemon/dist/domain/instance-initialization.d.ts +25 -0
  135. package/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  136. package/daemon/dist/domain/instance-initialization.js +81 -0
  137. package/daemon/dist/domain/instance-initialization.js.map +1 -0
  138. package/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  139. package/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  140. package/daemon/dist/domain/lifecycle-manifest.js +73 -0
  141. package/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  142. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  143. package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  144. package/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  145. package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  146. package/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  147. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  148. package/daemon/dist/domain/native-process-lineage.js +86 -0
  149. package/daemon/dist/domain/native-process-lineage.js.map +1 -0
  150. package/daemon/dist/domain/native-resume-probe.js +12 -1
  151. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  152. package/daemon/dist/domain/node-inventory.d.ts +2 -0
  153. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  154. package/daemon/dist/domain/node-inventory.js +3 -1
  155. package/daemon/dist/domain/node-inventory.js.map +1 -1
  156. package/daemon/dist/domain/node-launcher.d.ts +3 -0
  157. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  158. package/daemon/dist/domain/node-launcher.js +21 -8
  159. package/daemon/dist/domain/node-launcher.js.map +1 -1
  160. package/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  161. package/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  162. package/daemon/dist/domain/pane-binding-observation.js +54 -0
  163. package/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  164. package/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  165. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  166. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  167. package/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  168. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  169. package/daemon/dist/domain/profile-resolver.d.ts +12 -0
  170. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  171. package/daemon/dist/domain/profile-resolver.js +60 -0
  172. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  173. package/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  174. package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  175. package/daemon/dist/domain/project-lifecycle-compiler.js +190 -0
  176. package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  177. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  178. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  179. package/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  180. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  181. package/daemon/dist/domain/queue-repository.d.ts +5 -1
  182. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  183. package/daemon/dist/domain/queue-repository.js +6 -0
  184. package/daemon/dist/domain/queue-repository.js.map +1 -1
  185. package/daemon/dist/domain/queue-retention.d.ts +3 -4
  186. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  187. package/daemon/dist/domain/queue-retention.js +5 -8
  188. package/daemon/dist/domain/queue-retention.js.map +1 -1
  189. package/daemon/dist/domain/queue-transition-log.d.ts +28 -0
  190. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  191. package/daemon/dist/domain/queue-transition-log.js +124 -0
  192. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  193. package/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  194. package/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  195. package/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  196. package/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  197. package/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
  198. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  199. package/daemon/dist/domain/restore-orchestrator.js +152 -26
  200. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  201. package/daemon/dist/domain/restore-topology.d.ts +14 -0
  202. package/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  203. package/daemon/dist/domain/restore-topology.js +27 -0
  204. package/daemon/dist/domain/restore-topology.js.map +1 -0
  205. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  206. package/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  207. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  208. package/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
  209. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  210. package/daemon/dist/domain/rigspec-instantiator.js +65 -1
  211. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  212. package/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  213. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  214. package/daemon/dist/domain/rigspec-preflight.js +4 -0
  215. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  216. package/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
  217. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  218. package/daemon/dist/domain/seat-attention-reconciler.js +97 -46
  219. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  220. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  221. package/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  222. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  223. package/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  224. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  225. package/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  226. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  227. package/daemon/dist/domain/session-registry.d.ts +8 -1
  228. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  229. package/daemon/dist/domain/session-registry.js +19 -0
  230. package/daemon/dist/domain/session-registry.js.map +1 -1
  231. package/daemon/dist/domain/skill-catalog.d.ts +81 -0
  232. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  233. package/daemon/dist/domain/skill-catalog.js +827 -0
  234. package/daemon/dist/domain/skill-catalog.js.map +1 -0
  235. package/daemon/dist/domain/skill-discovery.d.ts +3 -0
  236. package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  237. package/daemon/dist/domain/skill-discovery.js +1 -1
  238. package/daemon/dist/domain/skill-discovery.js.map +1 -1
  239. package/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  240. package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  241. package/daemon/dist/domain/snapshot-capture.js +38 -2
  242. package/daemon/dist/domain/snapshot-capture.js.map +1 -1
  243. package/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  244. package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  245. package/daemon/dist/domain/snapshot-repository.js +103 -1
  246. package/daemon/dist/domain/snapshot-repository.js.map +1 -1
  247. package/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  248. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  249. package/daemon/dist/domain/startup-orchestrator.js +12 -0
  250. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  251. package/daemon/dist/domain/system-world.d.ts +45 -0
  252. package/daemon/dist/domain/system-world.d.ts.map +1 -0
  253. package/daemon/dist/domain/system-world.js +123 -0
  254. package/daemon/dist/domain/system-world.js.map +1 -0
  255. package/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  256. package/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  257. package/daemon/dist/domain/telemetry-state-paths.js +20 -0
  258. package/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  259. package/daemon/dist/domain/types.d.ts +103 -4
  260. package/daemon/dist/domain/types.d.ts.map +1 -1
  261. package/daemon/dist/domain/types.js.map +1 -1
  262. package/daemon/dist/domain/user-settings/settings-store.d.ts +8 -3
  263. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  264. package/daemon/dist/domain/user-settings/settings-store.js +65 -29
  265. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  266. package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
  267. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  268. package/daemon/dist/domain/watchdog-policy-engine.js +44 -226
  269. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  270. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  271. package/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  272. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  273. package/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  274. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  275. package/daemon/dist/domain/workflow-instance-store.js +127 -2
  276. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  277. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  278. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  279. package/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  280. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  281. package/daemon/dist/domain/workflow-projector.d.ts +6 -2
  282. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  283. package/daemon/dist/domain/workflow-projector.js +271 -2
  284. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  285. package/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  286. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  287. package/daemon/dist/domain/workflow-runtime.js +334 -18
  288. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  289. package/daemon/dist/domain/workflow-spec-cache.d.ts +9 -1
  290. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  291. package/daemon/dist/domain/workflow-spec-cache.js +85 -0
  292. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  293. package/daemon/dist/domain/workflow-types.d.ts +38 -1
  294. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  295. package/daemon/dist/domain/workflow-types.js.map +1 -1
  296. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  297. package/daemon/dist/domain/workflow-validator.js +20 -3
  298. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  299. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  300. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  301. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  302. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  303. package/daemon/dist/index.d.ts.map +1 -1
  304. package/daemon/dist/index.js +13 -0
  305. package/daemon/dist/index.js.map +1 -1
  306. package/daemon/dist/instance-initialization-surface.d.ts +3 -0
  307. package/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  308. package/daemon/dist/instance-initialization-surface.js +3 -0
  309. package/daemon/dist/instance-initialization-surface.js.map +1 -0
  310. package/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  311. package/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  312. package/daemon/dist/project-lifecycle-surface.js +3 -0
  313. package/daemon/dist/project-lifecycle-surface.js.map +1 -0
  314. package/daemon/dist/routes/bundles.js +10 -9
  315. package/daemon/dist/routes/bundles.js.map +1 -1
  316. package/daemon/dist/routes/config.d.ts.map +1 -1
  317. package/daemon/dist/routes/config.js +27 -49
  318. package/daemon/dist/routes/config.js.map +1 -1
  319. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  320. package/daemon/dist/routes/context-packs.js +114 -16
  321. package/daemon/dist/routes/context-packs.js.map +1 -1
  322. package/daemon/dist/routes/crash-cart.js +3 -0
  323. package/daemon/dist/routes/crash-cart.js.map +1 -1
  324. package/daemon/dist/routes/queue.d.ts.map +1 -1
  325. package/daemon/dist/routes/queue.js +20 -0
  326. package/daemon/dist/routes/queue.js.map +1 -1
  327. package/daemon/dist/routes/rigs.js +12 -1
  328. package/daemon/dist/routes/rigs.js.map +1 -1
  329. package/daemon/dist/routes/rigspec.js +9 -2
  330. package/daemon/dist/routes/rigspec.js.map +1 -1
  331. package/daemon/dist/routes/seat.js +21 -1
  332. package/daemon/dist/routes/seat.js.map +1 -1
  333. package/daemon/dist/routes/sessions.js +16 -6
  334. package/daemon/dist/routes/sessions.js.map +1 -1
  335. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  336. package/daemon/dist/routes/snapshots.js +41 -3
  337. package/daemon/dist/routes/snapshots.js.map +1 -1
  338. package/daemon/dist/routes/up.js +12 -1
  339. package/daemon/dist/routes/up.js.map +1 -1
  340. package/daemon/dist/routes/watchdog.d.ts.map +1 -1
  341. package/daemon/dist/routes/watchdog.js +7 -6
  342. package/daemon/dist/routes/watchdog.js.map +1 -1
  343. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  344. package/daemon/dist/routes/workflow.js +104 -39
  345. package/daemon/dist/routes/workflow.js.map +1 -1
  346. package/daemon/dist/server.d.ts +2 -0
  347. package/daemon/dist/server.d.ts.map +1 -1
  348. package/daemon/dist/server.js +1 -0
  349. package/daemon/dist/server.js.map +1 -1
  350. package/daemon/dist/skill-loadout-surface.d.ts +3 -0
  351. package/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  352. package/daemon/dist/skill-loadout-surface.js +2 -0
  353. package/daemon/dist/skill-loadout-surface.js.map +1 -0
  354. package/daemon/dist/startup.d.ts.map +1 -1
  355. package/daemon/dist/startup.js +72 -65
  356. package/daemon/dist/startup.js.map +1 -1
  357. package/daemon/dist/system-world-surface.d.ts +2 -0
  358. package/daemon/dist/system-world-surface.d.ts.map +1 -0
  359. package/daemon/dist/system-world-surface.js +2 -0
  360. package/daemon/dist/system-world-surface.js.map +1 -0
  361. package/daemon/docs/reference/getting-started.md +2 -1
  362. package/daemon/docs/reference/instance-layout.md +106 -0
  363. package/daemon/docs/reference/mission-install.md +12 -2
  364. package/daemon/docs/reference/project-workspace.md +66 -40
  365. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +4 -2
  366. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +81 -0
  367. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs +1419 -0
  368. package/dist/build-info.js +3 -3
  369. package/dist/commands/config-init-workspace.d.ts +4 -23
  370. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  371. package/dist/commands/config-init-workspace.js +14 -576
  372. package/dist/commands/config-init-workspace.js.map +1 -1
  373. package/dist/commands/config.d.ts.map +1 -1
  374. package/dist/commands/config.js +6 -4
  375. package/dist/commands/config.js.map +1 -1
  376. package/dist/commands/context.d.ts.map +1 -1
  377. package/dist/commands/context.js +114 -8
  378. package/dist/commands/context.js.map +1 -1
  379. package/dist/commands/daemon.d.ts.map +1 -1
  380. package/dist/commands/daemon.js +16 -0
  381. package/dist/commands/daemon.js.map +1 -1
  382. package/dist/commands/launch.d.ts.map +1 -1
  383. package/dist/commands/launch.js +51 -4
  384. package/dist/commands/launch.js.map +1 -1
  385. package/dist/commands/restore.d.ts.map +1 -1
  386. package/dist/commands/restore.js +43 -3
  387. package/dist/commands/restore.js.map +1 -1
  388. package/dist/commands/scope.d.ts.map +1 -1
  389. package/dist/commands/scope.js +169 -79
  390. package/dist/commands/scope.js.map +1 -1
  391. package/dist/commands/seat.d.ts.map +1 -1
  392. package/dist/commands/seat.js +30 -0
  393. package/dist/commands/seat.js.map +1 -1
  394. package/dist/commands/skill.d.ts.map +1 -1
  395. package/dist/commands/skill.js +61 -0
  396. package/dist/commands/skill.js.map +1 -1
  397. package/dist/commands/snapshot.d.ts.map +1 -1
  398. package/dist/commands/snapshot.js +4 -2
  399. package/dist/commands/snapshot.js.map +1 -1
  400. package/dist/commands/start.d.ts.map +1 -1
  401. package/dist/commands/start.js +3 -0
  402. package/dist/commands/start.js.map +1 -1
  403. package/dist/commands/up.d.ts.map +1 -1
  404. package/dist/commands/up.js +3 -0
  405. package/dist/commands/up.js.map +1 -1
  406. package/dist/commands/walk.d.ts.map +1 -1
  407. package/dist/commands/walk.js +3 -0
  408. package/dist/commands/walk.js.map +1 -1
  409. package/dist/commands/workflow-render.d.ts +31 -0
  410. package/dist/commands/workflow-render.d.ts.map +1 -1
  411. package/dist/commands/workflow-render.js +84 -6
  412. package/dist/commands/workflow-render.js.map +1 -1
  413. package/dist/commands/workflow.d.ts.map +1 -1
  414. package/dist/commands/workflow.js +96 -8
  415. package/dist/commands/workflow.js.map +1 -1
  416. package/dist/config-store.d.ts +9 -4
  417. package/dist/config-store.d.ts.map +1 -1
  418. package/dist/config-store.js +67 -30
  419. package/dist/config-store.js.map +1 -1
  420. package/dist/daemon-lifecycle.d.ts +8 -15
  421. package/dist/daemon-lifecycle.d.ts.map +1 -1
  422. package/dist/daemon-lifecycle.js +24 -31
  423. package/dist/daemon-lifecycle.js.map +1 -1
  424. package/dist/lib/scope/mission-composition.d.ts +16 -0
  425. package/dist/lib/scope/mission-composition.d.ts.map +1 -0
  426. package/dist/lib/scope/mission-composition.js +110 -0
  427. package/dist/lib/scope/mission-composition.js.map +1 -0
  428. package/dist/lib/scope/scope-fs.d.ts +5 -0
  429. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  430. package/dist/lib/scope/scope-fs.js +34 -4
  431. package/dist/lib/scope/scope-fs.js.map +1 -1
  432. package/dist/lib/work-install.d.ts +17 -0
  433. package/dist/lib/work-install.d.ts.map +1 -1
  434. package/dist/lib/work-install.js +49 -6
  435. package/dist/lib/work-install.js.map +1 -1
  436. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  437. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +4 -2
  438. package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  439. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  440. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  441. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  442. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +3 -1
  443. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  444. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +8 -5
  445. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -1
  446. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js +8 -5
  447. package/node_modules/@openrig/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -1
  448. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts +8 -0
  449. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.d.ts.map +1 -0
  450. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js +50 -0
  451. package/node_modules/@openrig/daemon/dist/db/migrations/079_workflow_lifecycle_parallel.js.map +1 -0
  452. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +6 -1
  453. package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  454. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +47 -0
  455. package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
  456. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  457. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js +8 -1
  458. package/node_modules/@openrig/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  459. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +3 -3
  460. package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
  461. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts +3 -0
  462. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -1
  463. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js +5 -1
  464. package/node_modules/@openrig/daemon/dist/domain/bundle-skills-router.js.map +1 -1
  465. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts +2 -0
  466. package/node_modules/@openrig/daemon/dist/domain/claim-service.d.ts.map +1 -1
  467. package/node_modules/@openrig/daemon/dist/domain/claim-service.js +33 -12
  468. package/node_modules/@openrig/daemon/dist/domain/claim-service.js.map +1 -1
  469. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  470. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +9 -1
  471. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  472. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +25 -0
  473. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  474. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +3 -1
  475. package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  476. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  477. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +143 -3
  478. package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  479. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +22 -1
  480. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -1
  481. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +105 -40
  482. package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -1
  483. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts +4 -0
  484. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  485. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js +8 -4
  486. package/node_modules/@openrig/daemon/dist/domain/context-usage-store.js.map +1 -1
  487. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +13 -0
  488. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  489. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +3 -1
  490. package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  491. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  492. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +145 -16
  493. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  494. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts +25 -0
  495. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.d.ts.map +1 -0
  496. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js +81 -0
  497. package/node_modules/@openrig/daemon/dist/domain/instance-initialization.js.map +1 -0
  498. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts +19 -0
  499. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.d.ts.map +1 -0
  500. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js +73 -0
  501. package/node_modules/@openrig/daemon/dist/domain/lifecycle-manifest.js.map +1 -0
  502. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +36 -36
  503. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
  504. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +104 -135
  505. package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
  506. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts +10 -0
  507. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.d.ts.map +1 -0
  508. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js +86 -0
  509. package/node_modules/@openrig/daemon/dist/domain/native-process-lineage.js.map +1 -0
  510. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +12 -1
  511. package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
  512. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +2 -0
  513. package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  514. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +3 -1
  515. package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
  516. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts +3 -0
  517. package/node_modules/@openrig/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  518. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js +21 -8
  519. package/node_modules/@openrig/daemon/dist/domain/node-launcher.js.map +1 -1
  520. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts +22 -0
  521. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.d.ts.map +1 -0
  522. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js +54 -0
  523. package/node_modules/@openrig/daemon/dist/domain/pane-binding-observation.js.map +1 -0
  524. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +1 -1
  525. package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  526. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  527. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +16 -2
  528. package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  529. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +12 -0
  530. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  531. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +60 -0
  532. package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
  533. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +35 -0
  534. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -0
  535. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +190 -0
  536. package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -0
  537. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts +1 -1
  538. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -1
  539. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js +28 -18
  540. package/node_modules/@openrig/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -1
  541. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +5 -1
  542. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  543. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +6 -0
  544. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  545. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts +3 -4
  546. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  547. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +5 -8
  548. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
  549. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +28 -0
  550. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  551. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +124 -0
  552. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
  553. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts +34 -0
  554. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.d.ts.map +1 -0
  555. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js +59 -0
  556. package/node_modules/@openrig/daemon/dist/domain/restore-attempt-receipt.js.map +1 -0
  557. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +57 -24
  558. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  559. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +152 -26
  560. package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  561. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts +14 -0
  562. package/node_modules/@openrig/daemon/dist/domain/restore-topology.d.ts.map +1 -0
  563. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js +27 -0
  564. package/node_modules/@openrig/daemon/dist/domain/restore-topology.js.map +1 -0
  565. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  566. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js +9 -0
  567. package/node_modules/@openrig/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  568. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +19 -0
  569. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  570. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +65 -1
  571. package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  572. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts +8 -0
  573. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  574. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js +4 -0
  575. package/node_modules/@openrig/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  576. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +23 -1
  577. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  578. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +97 -46
  579. package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  580. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  581. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +15 -6
  582. package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  583. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +47 -1
  584. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  585. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +525 -29
  586. package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  587. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts +8 -1
  588. package/node_modules/@openrig/daemon/dist/domain/session-registry.d.ts.map +1 -1
  589. package/node_modules/@openrig/daemon/dist/domain/session-registry.js +19 -0
  590. package/node_modules/@openrig/daemon/dist/domain/session-registry.js.map +1 -1
  591. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts +81 -0
  592. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.d.ts.map +1 -0
  593. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js +827 -0
  594. package/node_modules/@openrig/daemon/dist/domain/skill-catalog.js.map +1 -0
  595. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts +3 -0
  596. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
  597. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js +1 -1
  598. package/node_modules/@openrig/daemon/dist/domain/skill-discovery.js.map +1 -1
  599. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts +4 -1
  600. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
  601. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +38 -2
  602. package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
  603. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts +15 -1
  604. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
  605. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js +103 -1
  606. package/node_modules/@openrig/daemon/dist/domain/snapshot-repository.js.map +1 -1
  607. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +2 -0
  608. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  609. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +12 -0
  610. package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  611. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts +45 -0
  612. package/node_modules/@openrig/daemon/dist/domain/system-world.d.ts.map +1 -0
  613. package/node_modules/@openrig/daemon/dist/domain/system-world.js +123 -0
  614. package/node_modules/@openrig/daemon/dist/domain/system-world.js.map +1 -0
  615. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts +7 -0
  616. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.d.ts.map +1 -0
  617. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js +20 -0
  618. package/node_modules/@openrig/daemon/dist/domain/telemetry-state-paths.js.map +1 -0
  619. package/node_modules/@openrig/daemon/dist/domain/types.d.ts +103 -4
  620. package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
  621. package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
  622. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +8 -3
  623. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  624. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +65 -29
  625. package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  626. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -23
  627. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  628. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +44 -226
  629. package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  630. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
  631. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js +20 -6
  632. package/node_modules/@openrig/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
  633. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +33 -1
  634. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  635. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +127 -2
  636. package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  637. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts +7 -5
  638. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -1
  639. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js +27 -16
  640. package/node_modules/@openrig/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -1
  641. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +6 -2
  642. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  643. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +271 -2
  644. package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
  645. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +62 -2
  646. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  647. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +334 -18
  648. package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
  649. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +9 -1
  650. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  651. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +85 -0
  652. package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  653. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +38 -1
  654. package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  655. package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +1 -1
  656. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  657. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +20 -3
  658. package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
  659. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +38 -9
  660. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  661. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +93 -347
  662. package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  663. package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
  664. package/node_modules/@openrig/daemon/dist/index.js +13 -0
  665. package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
  666. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts +3 -0
  667. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.d.ts.map +1 -0
  668. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js +3 -0
  669. package/node_modules/@openrig/daemon/dist/instance-initialization-surface.js.map +1 -0
  670. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts +3 -0
  671. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.d.ts.map +1 -0
  672. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js +3 -0
  673. package/node_modules/@openrig/daemon/dist/project-lifecycle-surface.js.map +1 -0
  674. package/node_modules/@openrig/daemon/dist/routes/bundles.js +10 -9
  675. package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
  676. package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
  677. package/node_modules/@openrig/daemon/dist/routes/config.js +27 -49
  678. package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
  679. package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
  680. package/node_modules/@openrig/daemon/dist/routes/context-packs.js +114 -16
  681. package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
  682. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +3 -0
  683. package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -1
  684. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  685. package/node_modules/@openrig/daemon/dist/routes/queue.js +20 -0
  686. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  687. package/node_modules/@openrig/daemon/dist/routes/rigs.js +12 -1
  688. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
  689. package/node_modules/@openrig/daemon/dist/routes/rigspec.js +9 -2
  690. package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
  691. package/node_modules/@openrig/daemon/dist/routes/seat.js +21 -1
  692. package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
  693. package/node_modules/@openrig/daemon/dist/routes/sessions.js +16 -6
  694. package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
  695. package/node_modules/@openrig/daemon/dist/routes/snapshots.d.ts.map +1 -1
  696. package/node_modules/@openrig/daemon/dist/routes/snapshots.js +41 -3
  697. package/node_modules/@openrig/daemon/dist/routes/snapshots.js.map +1 -1
  698. package/node_modules/@openrig/daemon/dist/routes/up.js +12 -1
  699. package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
  700. package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
  701. package/node_modules/@openrig/daemon/dist/routes/watchdog.js +7 -6
  702. package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
  703. package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
  704. package/node_modules/@openrig/daemon/dist/routes/workflow.js +104 -39
  705. package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
  706. package/node_modules/@openrig/daemon/dist/server.d.ts +2 -0
  707. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  708. package/node_modules/@openrig/daemon/dist/server.js +1 -0
  709. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  710. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts +3 -0
  711. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.d.ts.map +1 -0
  712. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js +2 -0
  713. package/node_modules/@openrig/daemon/dist/skill-loadout-surface.js.map +1 -0
  714. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  715. package/node_modules/@openrig/daemon/dist/startup.js +72 -65
  716. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  717. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts +2 -0
  718. package/node_modules/@openrig/daemon/dist/system-world-surface.d.ts.map +1 -0
  719. package/node_modules/@openrig/daemon/dist/system-world-surface.js +2 -0
  720. package/node_modules/@openrig/daemon/dist/system-world-surface.js.map +1 -0
  721. package/node_modules/@openrig/daemon/package.json +17 -1
  722. package/package.json +1 -1
  723. package/tui/dist/commands/registry.d.ts.map +1 -1
  724. package/tui/dist/commands/registry.js +10 -1
  725. package/tui/dist/commands/registry.js.map +1 -1
  726. package/tui/dist/daemon-client.d.ts +11 -0
  727. package/tui/dist/daemon-client.d.ts.map +1 -1
  728. package/tui/dist/daemon-client.js +15 -0
  729. package/tui/dist/daemon-client.js.map +1 -1
  730. package/tui/dist/demo-data.d.ts.map +1 -1
  731. package/tui/dist/demo-data.js +65 -9
  732. package/tui/dist/demo-data.js.map +1 -1
  733. package/tui/dist/detail.d.ts +9 -0
  734. package/tui/dist/detail.d.ts.map +1 -1
  735. package/tui/dist/detail.js.map +1 -1
  736. package/tui/dist/execution/execution-model.d.ts +8 -2
  737. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  738. package/tui/dist/execution/execution-model.js +482 -119
  739. package/tui/dist/execution/execution-model.js.map +1 -1
  740. package/tui/dist/hydrate.d.ts +3 -2
  741. package/tui/dist/hydrate.d.ts.map +1 -1
  742. package/tui/dist/hydrate.js +66 -8
  743. package/tui/dist/hydrate.js.map +1 -1
  744. package/tui/dist/input.d.ts +6 -1
  745. package/tui/dist/input.d.ts.map +1 -1
  746. package/tui/dist/input.js +20 -10
  747. package/tui/dist/input.js.map +1 -1
  748. package/tui/dist/main.js +39 -8
  749. package/tui/dist/main.js.map +1 -1
  750. package/tui/dist/navigator.d.ts.map +1 -1
  751. package/tui/dist/navigator.js +10 -6
  752. package/tui/dist/navigator.js.map +1 -1
  753. package/tui/dist/render.d.ts.map +1 -1
  754. package/tui/dist/render.js +596 -155
  755. package/tui/dist/render.js.map +1 -1
  756. package/tui/dist/scopes/scopes-model.d.ts +14 -8
  757. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  758. package/tui/dist/scopes/scopes-model.js +218 -46
  759. package/tui/dist/scopes/scopes-model.js.map +1 -1
  760. package/tui/dist/socket-server.d.ts +13 -0
  761. package/tui/dist/socket-server.d.ts.map +1 -1
  762. package/tui/dist/socket-server.js +24 -0
  763. package/tui/dist/socket-server.js.map +1 -1
  764. package/tui/dist/state.d.ts.map +1 -1
  765. package/tui/dist/state.js +20 -6
  766. package/tui/dist/state.js.map +1 -1
  767. package/tui/dist/stylize.d.ts.map +1 -1
  768. package/tui/dist/stylize.js +22 -28
  769. package/tui/dist/stylize.js.map +1 -1
  770. package/tui/dist/theme.d.ts +1 -1
  771. package/tui/dist/theme.d.ts.map +1 -1
  772. package/tui/dist/theme.js +5 -4
  773. package/tui/dist/theme.js.map +1 -1
  774. package/tui/dist/types.d.ts +97 -1
  775. package/tui/dist/types.d.ts.map +1 -1
  776. package/tui/dist/visual-layout.d.ts +6 -0
  777. package/tui/dist/visual-layout.d.ts.map +1 -0
  778. package/tui/dist/visual-layout.js +8 -0
  779. package/tui/dist/visual-layout.js.map +1 -0
  780. package/ui/dist/assets/{index-B_wqzP0D.js → index-wyX378xb.js} +15 -15
  781. package/ui/dist/index.html +1 -1
@@ -19,7 +19,12 @@ export function scopesExplorerRows(scopes, expanded, indent) {
19
19
  for (const m of scopes) {
20
20
  const key = `scopes-mission:${m.mission}`;
21
21
  const open = expanded.has(key);
22
- rows.push({ label: `${indent}${open ? "▾" : "▸"} ${m.mission}`, action: { type: "scopes-mission-open", mission: m.mission }, key });
22
+ rows.push({
23
+ label: `${indent}${open ? "▾" : "▸"} ${m.mission}`,
24
+ action: { type: "scopes-mission-open", mission: m.mission },
25
+ disclosureAction: { type: "toggle-expand", key },
26
+ key,
27
+ });
23
28
  if (!open)
24
29
  continue;
25
30
  for (const s of m.slices) {
@@ -32,63 +37,230 @@ export function scopesExplorerRows(scopes, expanded, indent) {
32
37
  }
33
38
  return rows;
34
39
  }
35
- function box(title, suffix, width) {
36
- const head = `┌─ ${title} `;
37
- const tail = suffix ? `${suffix} ─┐` : "─┐";
38
- const fill = Math.max(1, width - head.length - tail.length);
39
- return `${head}${"─".repeat(fill)} ${tail}`.slice(0, width + 8);
40
+ function semantic(parts, width, action) {
41
+ const segs = [];
42
+ let room = Math.max(0, width);
43
+ for (const part of parts) {
44
+ if (room <= 0)
45
+ break;
46
+ if (part.text.length <= room) {
47
+ segs.push(part);
48
+ room -= part.text.length;
49
+ }
50
+ else {
51
+ segs.push({ ...part, text: room === 1 ? "…" : `${part.text.slice(0, room - 1)}…` });
52
+ room = 0;
53
+ }
54
+ }
55
+ return { text: segs.map((part) => part.text).join(""), segs, ...(action ? { action } : {}) };
40
56
  }
41
- export function scopesContentLines(detail, mission, opts) {
57
+ function wrapText(text, width) {
58
+ const out = [];
59
+ const limit = Math.max(1, width);
60
+ for (const paragraph of text.split("\n")) {
61
+ const words = paragraph.trim().split(/\s+/).filter(Boolean);
62
+ if (words.length === 0) {
63
+ out.push("");
64
+ continue;
65
+ }
66
+ let line = "";
67
+ for (const original of words) {
68
+ let word = original;
69
+ while (word.length > limit) {
70
+ if (line) {
71
+ out.push(line);
72
+ line = "";
73
+ }
74
+ out.push(word.slice(0, limit));
75
+ word = word.slice(limit);
76
+ }
77
+ if (!word)
78
+ continue;
79
+ if (!line)
80
+ line = word;
81
+ else if (line.length + 1 + word.length <= limit)
82
+ line += ` ${word}`;
83
+ else {
84
+ out.push(line);
85
+ line = word;
86
+ }
87
+ }
88
+ if (line)
89
+ out.push(line);
90
+ }
91
+ return out.length ? out : [""];
92
+ }
93
+ function rule(title, width) {
94
+ const head = ` ── ${title} `;
95
+ return semantic([
96
+ { text: " ── ", token: "chrome" },
97
+ { text: title, token: "bright", bold: true },
98
+ { text: ` ${"─".repeat(Math.max(4, width - head.length))}`, token: "chrome" },
99
+ ], width);
100
+ }
101
+ function wrapped(text, width, indent, token = "bright") {
102
+ return wrapText(text, Math.max(1, width - indent.length)).map((part) => semantic([
103
+ { text: indent },
104
+ { text: part, token },
105
+ ], width));
106
+ }
107
+ function proofColumns(detail, width) {
108
+ const stateW = 8;
109
+ const indexW = 3;
110
+ const evidenceW = Math.max(20, Math.floor(width * 0.28));
111
+ const requirementW = Math.max(18, width - 17 - evidenceW);
112
+ const column = (state, index, requirement, evidence, stateToken = "dim", evidenceToken = "dim") => semantic([
113
+ { text: " " },
114
+ { text: state.padEnd(stateW), token: stateToken, bold: !!state.trim() },
115
+ { text: " " },
116
+ { text: index.padEnd(indexW), token: "accentBright", bold: !!index.trim() },
117
+ { text: " " },
118
+ { text: requirement.padEnd(requirementW), token: requirement.trim() ? "bright" : undefined },
119
+ { text: " " },
120
+ { text: evidence.padEnd(evidenceW), token: evidenceToken },
121
+ ], width);
122
+ const lines = [column("STATE", "#", "REQUIREMENT", "EVIDENCE", "accentBright", "accentBright")];
123
+ for (const item of detail.proofContract) {
124
+ const requirements = wrapText(item.text, requirementW);
125
+ const evidence = [];
126
+ if (item.drops.length === 0)
127
+ evidence.push({ text: "not recorded", token: "warn" });
128
+ for (const drop of item.drops) {
129
+ evidence.push({ text: `↳ ${(drop.artifactType ?? "drop").toUpperCase()} ${drop.verdict ?? ""}`.trimEnd(), token: drop.verdict === "PASS" || drop.verdict === "CLEAR" ? "ok" : "dim" });
130
+ evidence.push(...wrapText(drop.file, evidenceW).map((text) => ({ text, token: "dim" })));
131
+ for (const media of drop.media)
132
+ evidence.push(...wrapText(`media ${media}`, evidenceW).map((text) => ({ text, token: "dim" })));
133
+ }
134
+ const count = Math.max(requirements.length, evidence.length, 1);
135
+ for (let i = 0; i < count; i += 1) {
136
+ lines.push(column(i === 0 ? (item.paired ? "PROVED" : "OPEN") : "", i === 0 ? String(item.index) : "", requirements[i] ?? "", evidence[i]?.text ?? "", item.paired ? "ok" : "warn", evidence[i]?.token ?? "dim"));
137
+ }
138
+ }
139
+ return lines;
140
+ }
141
+ function proofStack(detail, width) {
42
142
  const lines = [];
43
- if (!detail) {
44
- lines.push({ text: "select a mission from the SCOPES tree to open its execution path" });
45
- return lines;
143
+ for (const item of detail.proofContract) {
144
+ const status = item.paired ? "PROVED" : "OPEN";
145
+ lines.push(semantic([
146
+ { text: ` REQ ${item.index} · `, token: "accentBright", bold: true },
147
+ { text: status, token: item.paired ? "ok" : "warn", bold: true },
148
+ ], width));
149
+ lines.push(...wrapped(item.text, width, " "));
150
+ if (item.drops.length === 0) {
151
+ lines.push(semantic([{ text: " EVIDENCE · ", token: "dim" }, { text: "not recorded", token: "warn" }], width));
152
+ continue;
153
+ }
154
+ lines.push(semantic([{ text: " EVIDENCE", token: "dim", bold: true }], width));
155
+ for (const drop of item.drops) {
156
+ lines.push(semantic([
157
+ { text: " ↳ ", token: "chrome" },
158
+ { text: (drop.artifactType ?? "drop").toUpperCase(), token: "accentBright" },
159
+ { text: ` ${drop.verdict ?? ""}`.trimEnd(), token: drop.verdict === "PASS" || drop.verdict === "CLEAR" ? "ok" : "dim" },
160
+ ], width));
161
+ lines.push(...wrapped(drop.file, width, " ", "dim"));
162
+ for (const media of drop.media)
163
+ lines.push(...wrapped(`media ${media}`, width, " ", "dim"));
164
+ }
46
165
  }
47
- const w = Math.max(60, opts.width - 4);
48
- // Header card (mock line 1): ● name ── mission ── stage ── proof N/M[ 🔒] ── ...
49
- lines.push({ text: `┌─ ${sliceGlyph(detail)} ${detail.dirName} ── ${mission ?? "?"} ── stage: ${detail.stage ?? "?"} ── ${proofBadge(detail)} ─┐` });
50
- // D2 (answered at source): the store holds NO assignment field — the mock's `with:`
51
- // segment is ASPIRATIONAL and is deliberately not rendered (render only what the
52
- // store enforces — the founder's own truth rule beats mock fidelity here).
53
- const specSha = detail.specShaShort ? ` · spec sha ${detail.specShaShort}` : "";
54
- const specLock = detail.locks.spec
55
- ? `spec🔒 ${detail.locks.spec.at.slice(5, 10)} by ${detail.locks.spec.by.split("@")[0]}${specSha}${detail.prdExists ? " · PRD: p" : ""}`
56
- : "spec: UNLOCKED (build-ahead; ratifies at PM recovery)";
57
- lines.push({ text: `│ ${specLock}` });
58
- lines.push({ text: `└${"─".repeat(Math.min(w, 78))}┘` });
59
- if (opts.executionStrip?.length)
60
- lines.push(...opts.executionStrip);
166
+ return lines;
167
+ }
168
+ /** Compact identity/status/provenance block shared by every route into the
169
+ * canonical slice detail. Keeping it here prevents Explorer and mission-graph
170
+ * navigation from growing separate slice pages again. */
171
+ export function scopeIdentityLines(detail, mission, width) {
172
+ const lines = [];
173
+ const w = Math.max(24, width);
174
+ const stage = detail.stage ?? detail.status ?? "unknown";
175
+ const stateToken = /done|established|building|active|spec/i.test(stage) ? "ok" : "dim";
176
+ const proofToken = detail.proof.total > 0 && detail.proof.paired === detail.proof.total ? "ok" : "warn";
177
+ const locks = `${detail.locks.spec ? "spec locked" : "spec open"} · ${detail.locks.delivery ? "delivery locked" : "delivery open"}`;
178
+ lines.push(semantic([
179
+ { text: `${sliceGlyph(detail)} `, token: stateToken, bold: true },
180
+ { text: detail.dirName, token: "accentBright", bold: true },
181
+ { text: " · ", token: "chrome" },
182
+ { text: detail.id ?? "unregistered", token: "bright" },
183
+ { text: " · ", token: "chrome" },
184
+ { text: mission ?? "unknown mission", token: "dim" },
185
+ ], w));
186
+ if (detail.displayName !== detail.dirName) {
187
+ lines.push(semantic([
188
+ { text: " title ", token: "dim" },
189
+ { text: `${detail.id ?? "unregistered"} · ${detail.displayName}`, token: "bright" },
190
+ ], w));
191
+ }
192
+ if (w < 70) {
193
+ lines.push(semantic([{ text: " STATE ", token: "dim" }, { text: stage, token: stateToken, bold: true }], w));
194
+ lines.push(semantic([{ text: " PROOF ", token: "dim" }, { text: `${detail.proof.paired}/${detail.proof.total}`, token: proofToken, bold: true }], w));
195
+ lines.push(semantic([{ text: " LOCKS ", token: "dim" }, { text: locks, token: detail.locks.delivery ? "ok" : "bright" }], w));
196
+ }
197
+ else {
198
+ lines.push(semantic([
199
+ { text: " STATE ", token: "dim" }, { text: stage, token: stateToken, bold: true },
200
+ { text: " · ", token: "chrome" },
201
+ { text: "PROOF ", token: "dim" }, { text: `${detail.proof.paired}/${detail.proof.total}`, token: proofToken, bold: true },
202
+ { text: " · ", token: "chrome" },
203
+ { text: "LOCKS ", token: "dim" }, { text: locks, token: detail.locks.delivery ? "ok" : "bright" },
204
+ ], w));
205
+ }
206
+ const provenance = [
207
+ detail.specShaShort ? `spec ${detail.specShaShort}` : "spec sha unknown",
208
+ detail.locks.spec ? `${detail.locks.spec.at.slice(5, 10)} ${detail.locks.spec.by.split("@")[0]}` : "unlocked",
209
+ detail.prdExists ? "PRD" : "no PRD",
210
+ ].join(" · ");
211
+ // Narrow detail prioritizes identity, state, and the first proof relation in
212
+ // the opening viewport. The complete provenance remains in SOURCES below.
213
+ if (w >= 70)
214
+ lines.push(semantic([{ text: ` ${provenance}`, token: "dim" }], w));
215
+ return lines;
216
+ }
217
+ /** The authored half of canonical slice detail. Exported so both Explorer and
218
+ * mission-graph routes can use one operational page without copying the
219
+ * Intent/Requirements/Proof contract renderer. Navigation chrome stays with
220
+ * the owning page. */
221
+ export function scopeContractLines(detail, opts) {
222
+ const lines = [];
223
+ const w = Math.max(24, opts.width);
61
224
  if (opts.narrative) {
62
- // The `n` panel: PROGRESS.md as the human LOG — display only, never a data source.
63
- lines.push({ text: box("PROGRESS (narrative — display only)", "n closes", w) });
225
+ lines.push({ text: "" }, rule("PROGRESS · narrative only · n closes", w));
64
226
  for (const l of (detail.narrative ?? "(no PROGRESS.md)").split("\n"))
65
- lines.push({ text: `│ ${l}` });
66
- lines.push({ text: `└${"─".repeat(Math.min(w, 78))}┘` });
67
- lines.push({ text: " esc back · n narrative · m reqs · : command bar" });
227
+ lines.push(...wrapped(l, w, " "));
68
228
  return lines;
69
229
  }
70
- lines.push({ text: box("INTENT (verbatim)", "", w) });
71
- for (const l of detail.intent.split("\n"))
72
- lines.push({ text: `│ ${l}` });
73
- lines.push({ text: `└${"─".repeat(Math.min(w, 78))}┘` });
74
- lines.push({ text: box(`MINI-REQUIREMENTS (${detail.miniRequirements.length})`, "m collapses", w) });
230
+ lines.push({ text: "" }, rule("INTENT", w));
231
+ lines.push(...wrapped(detail.intent, w, " "));
232
+ lines.push({ text: "" }, rule(`REQUIREMENTS (${detail.miniRequirements.length}) · m collapses`, w));
75
233
  if (!opts.collapseReqs) {
76
- detail.miniRequirements.forEach((r, i) => lines.push({ text: `│ ${i + 1} ${r}` }));
234
+ detail.miniRequirements.forEach((requirement, i) => {
235
+ const chunks = wrapText(requirement, Math.max(1, w - 5));
236
+ chunks.forEach((chunk, j) => lines.push(semantic([
237
+ { text: j === 0 ? ` ${i + 1} ` : " ", token: j === 0 ? "accentBright" : undefined, bold: j === 0 },
238
+ { text: chunk, token: "bright" },
239
+ ], w)));
240
+ });
77
241
  }
78
242
  else {
79
- lines.push({ text: `│ (collapsed — m expands)` });
243
+ lines.push(semantic([{ text: " collapsed · m expands", token: "dim" }], w));
80
244
  }
81
- lines.push({ text: `└${"─".repeat(Math.min(w, 78))}┘` });
82
- lines.push({ text: box(`PROOF CONTRACT (${detail.proof.paired}/${detail.proof.total} paired)`, "", w) });
83
- for (const item of detail.proofContract) {
84
- lines.push({ text: `│ ${item.paired ? "✓" : "○"} ${item.index} ${item.text}` });
85
- for (const d of item.drops) {
86
- const media = d.media.length ? ` · ${d.media.join(" · ")}` : "";
87
- lines.push({ text: `│ └ C1 drop · ${d.artifactType ?? "?"} ${d.verdict ?? ""} · ${d.file}${media}` });
88
- }
245
+ lines.push({ text: "" }, rule(`PROOF · ${detail.proof.paired}/${detail.proof.total} paired`, w));
246
+ lines.push(...(w < 70 ? proofStack(detail, w) : proofColumns(detail, w)));
247
+ return lines;
248
+ }
249
+ export function scopesContentLines(detail, mission, opts) {
250
+ const lines = [];
251
+ if (!detail) {
252
+ lines.push({ text: "select a mission from the SCOPES tree to open its execution path" });
253
+ return lines;
89
254
  }
90
- lines.push({ text: `└${"─".repeat(Math.min(w, 78))}┘` });
91
- lines.push({ text: " esc back · m collapse reqs · n narrative · : command bar" });
255
+ const w = Math.max(24, opts.width);
256
+ lines.push(...scopeIdentityLines(detail, mission, w));
257
+ if (opts.executionStrip?.length)
258
+ lines.push(...opts.executionStrip);
259
+ lines.push(...scopeContractLines(detail, opts));
260
+ lines.push({ text: "" }, semantic([{
261
+ text: opts.narrative ? " esc back · n narrative · m reqs · : command bar" : " esc back · m collapse reqs · n narrative · : command bar",
262
+ token: "dim",
263
+ }], w));
92
264
  return lines;
93
265
  }
94
266
  //# sourceMappingURL=scopes-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes-model.js","sourceRoot":"","sources":["../../src/scopes/scopes-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopes-model.js","sourceRoot":"","sources":["../../src/scopes/scopes-model.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,19 @@ export declare function describeState(state: ViewState): {
7
7
  drill: string[];
8
8
  filter: string | undefined;
9
9
  viewTab: import("./types.js").ViewTab;
10
+ address: {
11
+ path: string;
12
+ slice?: string | undefined;
13
+ mission?: string | undefined;
14
+ spec?: string | undefined;
15
+ agent?: string | undefined;
16
+ pod?: string | undefined;
17
+ rig?: string | undefined;
18
+ host?: string | undefined;
19
+ instance: string;
20
+ section: string;
21
+ };
22
+ copyMode: boolean;
10
23
  error: string | undefined;
11
24
  };
12
25
  /** Default socket home follows the shipped OPENRIG_HOME convention
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.d.ts","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS;;;;;;;EAS7C;AAED;oEACoE;AACpE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DzB"}
1
+ {"version":3,"file":"socket-server.d.ts","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;EAiC7C;AAED;oEACoE;AACpE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DzB"}
@@ -19,12 +19,36 @@ import { serializeCommands } from "./commands/registry.js";
19
19
  /** macOS sun_path caps unix-socket paths at ~104 bytes; guard with margin. */
20
20
  export const MAX_SOCKET_PATH_BYTES = 100;
21
21
  export function describeState(state) {
22
+ const named = new Map(state.drill.map((item) => [item.kind, item.name]));
23
+ const mission = state.scopesSelected?.mission ?? state.scopesMission ?? undefined;
24
+ const slice = state.scopesSelected?.slice
25
+ ?? (state.executionOpen?.startsWith("slice:") ? state.executionOpen.slice("slice:".length) : undefined);
26
+ const parts = [
27
+ `instance:${state.instanceId}`,
28
+ `section:${state.section}`,
29
+ ...state.drill.map((item) => `${item.kind}:${item.name}`),
30
+ ...(mission ? [`mission:${mission}`] : []),
31
+ ...(slice ? [`slice:${slice}`] : []),
32
+ ];
22
33
  return {
23
34
  ok: !state.lastError,
24
35
  screen: state.section,
25
36
  drill: state.drill.map((d) => `${d.kind}:${d.name}`),
26
37
  filter: state.filter || undefined,
27
38
  viewTab: state.viewTab,
39
+ address: {
40
+ instance: state.instanceId,
41
+ section: state.section,
42
+ ...(named.get("host") ? { host: named.get("host") } : {}),
43
+ ...(named.get("rig") ? { rig: named.get("rig") } : {}),
44
+ ...(named.get("pod") ? { pod: named.get("pod") } : {}),
45
+ ...(named.get("agent") ? { agent: named.get("agent") } : {}),
46
+ ...(named.get("spec") ? { spec: named.get("spec") } : {}),
47
+ ...(mission ? { mission } : {}),
48
+ ...(slice ? { slice } : {}),
49
+ path: parts.join("/"),
50
+ },
51
+ copyMode: state.copyMode,
28
52
  error: state.lastError ?? undefined,
29
53
  };
30
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,4EAA4E;AAC5E,yBAAyB;AACzB,uEAAuE;AACvE,+EAA+E;AAC/E,iEAAiE;AACjE,4EAA4E;AAC5E,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK;WACpC,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,UAAU,EAAE;QAC9B,WAAW,KAAK,CAAC,OAAO,EAAE;QAC1B,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;QACpB,MAAM,EAAE,KAAK,CAAC,OAAO;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACtB;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;KACpC,CAAC;AACJ,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,UAAU,OAAO,CAAC,CAAC;AAC1D,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAMzC;IACC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,KAAK,GAAG,qBAAqB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,qCAAqC,UAAU,yDAAyD,CACvI,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACpB,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,EAAU,CAAC;YACf,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,2EAA2E;gBAC3E,kFAAkF;gBAClF,mEAAmE;gBACnE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAChH,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CACnG,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,2DAA2D;gBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACvD,UAAU,EAAE,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,OAAO,CAAC;gBACN,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;oBACxB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;4BAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;wBACzD,GAAG,EAAE,CAAC;oBACR,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAED,wBAAgB,aAAa,IAAI,aAAa,CAE7C;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAmD/E;AAqID;;;;;;;yEAOyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAkBpD;AAgCD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;SAGjH;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,yCAEzD;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;SAQvF;AAQD,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;;;SAG3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM;;;;;IAO7E;AAgHD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CA0GxF"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,wBAAgB,eAAe,IAAI,UAAU,EAAE,CAE9C;AAED,wBAAgB,aAAa,IAAI,aAAa,CAE7C;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAoD/E;AA+ID;;;;;;;yEAOyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAkBpD;AAgCD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;SAGjH;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,yCAEzD;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;SAQvF;AAQD,wBAAgB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;;;SAG3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM;;;;;IAO7E;AAgHD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CA8GxF"}
package/tui/dist/state.js CHANGED
@@ -31,6 +31,7 @@ export function createViewState(options) {
31
31
  contentTargetCount: 0,
32
32
  contentSelection: 0,
33
33
  focusedPane: "explorer",
34
+ copyMode: false,
34
35
  footerOn: true,
35
36
  expanded: [],
36
37
  notice: null,
@@ -121,7 +122,7 @@ function reduce(state, action, snap) {
121
122
  if (action.tab === "pulse")
122
123
  return resetContent({ ...next, viewTab: "pulse" });
123
124
  const rigSpec = state.section === "specs" && state.drill.at(-1)?.kind === "spec" && findSpec(snap, state.drill.at(-1).name)?.kind === "rig";
124
- const allowed = rigSpec ? ["topology", "configuration", "yaml"] : state.section === "topology" ? ["table", "overview", "graph"] : [];
125
+ const allowed = rigSpec ? ["topology", "configuration", "yaml"] : state.section === "topology" ? ["table", "recent", "overview", "graph"] : [];
125
126
  if (!allowed.includes(action.tab))
126
127
  return { ...next, lastError: `tab ${action.tab} is not available in this content context` };
127
128
  return resetContent({ ...next, viewTab: action.tab });
@@ -135,6 +136,8 @@ function reduce(state, action, snap) {
135
136
  const target = action.index ?? state.contentSelection + (action.delta ?? 0);
136
137
  return { ...next, contentSelection: Math.min(Math.max(target, 0), count - 1) };
137
138
  }
139
+ case "copy-mode":
140
+ return { ...next, copyMode: action.on ?? !state.copyMode };
138
141
  case "layout":
139
142
  return {
140
143
  ...next,
@@ -170,24 +173,31 @@ function reduce(state, action, snap) {
170
173
  const drilled = drillTo(next, action.resource, action.name, snap, action.target);
171
174
  if (drilled.lastError)
172
175
  return drilled;
176
+ const sectionState = clearScopeCoordinatesOnSectionChange(state, drilled);
173
177
  const spec = action.resource === "spec" ? findSpec(snap, action.name) : null;
174
178
  // filters are VIEW-scoped: a drill that crosses sections clears the old
175
179
  // section's filter (founder direct-drive catch — a specs filter leaked
176
180
  // into the topology table and blanked it)
177
181
  const filter = drilled.section === state.section ? drilled.filter : "";
178
- return syncSelection(resetContent({ ...drilled, filter, viewTab: spec?.kind === "rig" ? "configuration" : "table" }), snap);
182
+ return syncSelection(resetContent({ ...sectionState, filter, viewTab: spec?.kind === "rig" ? "configuration" : "table" }), snap);
179
183
  }
180
184
  case "cross": {
181
185
  const crossed = crossNav(next, action.kind, action.name, snap, action.target);
182
186
  if (crossed.lastError)
183
187
  return crossed;
188
+ const sectionState = clearScopeCoordinatesOnSectionChange(state, crossed);
184
189
  const filter = crossed.section === state.section ? crossed.filter : "";
185
- return syncSelection({ ...crossed, filter }, snap);
190
+ return syncSelection({ ...sectionState, filter }, snap);
186
191
  }
187
192
  default:
188
193
  return { ...next, lastError: "unknown action" };
189
194
  }
190
195
  }
196
+ function clearScopeCoordinatesOnSectionChange(previous, next) {
197
+ return next.section === previous.section
198
+ ? next
199
+ : { ...next, scopesMission: null, scopesSelected: null, executionOpen: null };
200
+ }
191
201
  function resetContent(state) {
192
202
  return { ...state, contentOffset: 0, contentMaxOffset: 0, contentTargetCount: 0, contentSelection: 0, focusedPane: "explorer" };
193
203
  }
@@ -266,7 +276,7 @@ export function findAgentBySession(snap, session, hostId) {
266
276
  for (const rig of host.rigs)
267
277
  for (const pod of rig.pods)
268
278
  for (const agent of pod.agents)
269
- if (agent.session === session && (!hostId || host.name === hostId))
279
+ if (agent.session === session && (!hostId || (host.id ?? host.name) === hostId))
270
280
  matches.push({ host, rig, pod, agent });
271
281
  return matches.length === 1 ? matches[0] : null;
272
282
  }
@@ -423,7 +433,9 @@ export function computeExplorerRows(state, snap) {
423
433
  : section.name === "needs"
424
434
  ? "NEEDS-YOU"
425
435
  : section.name.toUpperCase();
426
- rows.push({ label: `${active ? "▾" : "▸"} ${label}`, action: { type: "jump", section: section.name }, key: `section:${section.name}` });
436
+ // A section changes view but has no independent collapse state. Do not draw
437
+ // a disclosure glyph that cannot be toggled.
438
+ rows.push({ label, action: { type: "jump", section: section.name }, key: `section:${section.name}` });
427
439
  if (!active)
428
440
  continue;
429
441
  if (section.name === "scopes") {
@@ -454,6 +466,7 @@ export function computeExplorerRows(state, snap) {
454
466
  rows.push({
455
467
  label: ` ${open ? "▾" : "▸"} ${pod.name} (${pod.agents.length})`,
456
468
  action: { type: "drill", resource: "pod", name: pod.name, target: { host: host.name, rig: rig.name } },
469
+ disclosureAction: { type: "toggle-expand", key: podKey },
457
470
  key: podKey,
458
471
  });
459
472
  if (!open)
@@ -474,7 +487,7 @@ export function computeExplorerRows(state, snap) {
474
487
  else if (section.name === "specs") {
475
488
  const kinds = ["rig", "agent", "workflow"];
476
489
  rows.push({
477
- label: state.filter ? `/ filter: ${state.filter}` : "/ filter specs…",
490
+ label: state.filter ? `/ filter: ${state.filter} · / replace · esc clear` : "/ filter specs…",
478
491
  action: { type: "filter", text: state.filter },
479
492
  });
480
493
  // ROUND-4 item 3: RIG SPECS fully expanded; AGENT SPECS collapsed to the
@@ -504,6 +517,7 @@ export function computeExplorerRows(state, snap) {
504
517
  rows.push({
505
518
  label: ` ${open ? "▾" : "▸"} ${namespace}/ (${specs.length})`,
506
519
  action: { type: "toggle-expand", key: `folder:${namespace}` },
520
+ disclosureAction: { type: "toggle-expand", key: `folder:${namespace}` },
507
521
  key: `folder:${namespace}`,
508
522
  });
509
523
  if (!open)