@openrig/cli 0.5.12 → 0.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  2. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +50 -4
  3. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  4. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  5. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  6. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  54. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  55. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  56. package/daemon/dist/attention-surface.d.ts +36 -0
  57. package/daemon/dist/attention-surface.d.ts.map +1 -0
  58. package/daemon/dist/attention-surface.js +2 -0
  59. package/daemon/dist/attention-surface.js.map +1 -0
  60. package/daemon/dist/build-info.js +3 -3
  61. package/daemon/dist/db/all-migrations.d.ts +1 -1
  62. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  63. package/daemon/dist/db/all-migrations.js +3 -1
  64. package/daemon/dist/db/all-migrations.js.map +1 -1
  65. package/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts +4 -0
  66. package/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
  67. package/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
  68. package/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
  69. package/daemon/dist/domain/execution-view.d.ts +1 -0
  70. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  71. package/daemon/dist/domain/execution-view.js +20 -14
  72. package/daemon/dist/domain/execution-view.js.map +1 -1
  73. package/daemon/dist/domain/files/file-read.d.ts +17 -0
  74. package/daemon/dist/domain/files/file-read.d.ts.map +1 -0
  75. package/daemon/dist/domain/files/file-read.js +24 -0
  76. package/daemon/dist/domain/files/file-read.js.map +1 -0
  77. package/daemon/dist/domain/gateway/connections-projection.d.ts +4 -4
  78. package/daemon/dist/domain/health-context.d.ts +3 -0
  79. package/daemon/dist/domain/health-context.d.ts.map +1 -1
  80. package/daemon/dist/domain/health-context.js +78 -6
  81. package/daemon/dist/domain/health-context.js.map +1 -1
  82. package/daemon/dist/domain/health-detectors.d.ts +2 -1
  83. package/daemon/dist/domain/health-detectors.d.ts.map +1 -1
  84. package/daemon/dist/domain/health-detectors.js +8 -2
  85. package/daemon/dist/domain/health-detectors.js.map +1 -1
  86. package/daemon/dist/domain/health-diagnosis.d.ts +51 -1
  87. package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
  88. package/daemon/dist/domain/health-diagnosis.js +60 -9
  89. package/daemon/dist/domain/health-diagnosis.js.map +1 -1
  90. package/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
  91. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  92. package/daemon/dist/domain/health-passive-ceremony.js +59 -26
  93. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  94. package/daemon/dist/domain/health-projection.d.ts +2 -0
  95. package/daemon/dist/domain/health-projection.d.ts.map +1 -1
  96. package/daemon/dist/domain/health-projection.js.map +1 -1
  97. package/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
  98. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
  99. package/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
  100. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
  101. package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
  102. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
  103. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
  104. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
  105. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  106. package/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
  107. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  108. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
  109. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
  110. package/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
  111. package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
  112. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +1 -0
  113. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  114. package/daemon/dist/domain/slices/slice-detail-projector.js +3 -0
  115. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  116. package/daemon/dist/domain/slices/slice-indexer.d.ts +4 -0
  117. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  118. package/daemon/dist/domain/slices/slice-indexer.js +10 -1
  119. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  120. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
  121. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  122. package/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
  123. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  124. package/daemon/dist/domain/terminal/terminal-service.d.ts +28 -2
  125. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  126. package/daemon/dist/domain/terminal/terminal-service.js +50 -13
  127. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  128. package/daemon/dist/domain/view-projector.d.ts +2 -0
  129. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  130. package/daemon/dist/domain/view-projector.js +1 -1
  131. package/daemon/dist/domain/view-projector.js.map +1 -1
  132. package/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
  133. package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
  134. package/daemon/dist/domain/workspace/project-catalog.js +66 -0
  135. package/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
  136. package/daemon/dist/domain/workspace/project-read.d.ts +29 -0
  137. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
  138. package/daemon/dist/domain/workspace/project-read.js +107 -0
  139. package/daemon/dist/domain/workspace/project-read.js.map +1 -0
  140. package/daemon/dist/health-projection-surface.d.ts +1 -0
  141. package/daemon/dist/health-projection-surface.d.ts.map +1 -1
  142. package/daemon/dist/local-reading-surface.d.ts +3 -0
  143. package/daemon/dist/local-reading-surface.d.ts.map +1 -0
  144. package/daemon/dist/local-reading-surface.js +3 -0
  145. package/daemon/dist/local-reading-surface.js.map +1 -0
  146. package/daemon/dist/project-catalog-surface.d.ts +2 -0
  147. package/daemon/dist/project-catalog-surface.d.ts.map +1 -0
  148. package/daemon/dist/project-catalog-surface.js +2 -0
  149. package/daemon/dist/project-catalog-surface.js.map +1 -0
  150. package/daemon/dist/routes/attention.d.ts +3 -0
  151. package/daemon/dist/routes/attention.d.ts.map +1 -0
  152. package/daemon/dist/routes/attention.js +155 -0
  153. package/daemon/dist/routes/attention.js.map +1 -0
  154. package/daemon/dist/routes/files.d.ts +1 -1
  155. package/daemon/dist/routes/files.d.ts.map +1 -1
  156. package/daemon/dist/routes/files.js +4 -24
  157. package/daemon/dist/routes/files.js.map +1 -1
  158. package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  159. package/daemon/dist/routes/rig-mode.js +67 -14
  160. package/daemon/dist/routes/rig-mode.js.map +1 -1
  161. package/daemon/dist/routes/scopes.d.ts.map +1 -1
  162. package/daemon/dist/routes/scopes.js +48 -3
  163. package/daemon/dist/routes/scopes.js.map +1 -1
  164. package/daemon/dist/routes/slices.d.ts +2 -2
  165. package/daemon/dist/routes/slices.d.ts.map +1 -1
  166. package/daemon/dist/routes/slices.js +18 -1
  167. package/daemon/dist/routes/slices.js.map +1 -1
  168. package/daemon/dist/routes/spec-library.d.ts.map +1 -1
  169. package/daemon/dist/routes/spec-library.js +11 -2
  170. package/daemon/dist/routes/spec-library.js.map +1 -1
  171. package/daemon/dist/routes/terminal.d.ts.map +1 -1
  172. package/daemon/dist/routes/terminal.js +14 -4
  173. package/daemon/dist/routes/terminal.js.map +1 -1
  174. package/daemon/dist/routes/views.d.ts.map +1 -1
  175. package/daemon/dist/routes/views.js +11 -1
  176. package/daemon/dist/routes/views.js.map +1 -1
  177. package/daemon/dist/server.d.ts +1 -0
  178. package/daemon/dist/server.d.ts.map +1 -1
  179. package/daemon/dist/server.js +3 -0
  180. package/daemon/dist/server.js.map +1 -1
  181. package/daemon/dist/startup.d.ts.map +1 -1
  182. package/daemon/dist/startup.js +8 -4
  183. package/daemon/dist/startup.js.map +1 -1
  184. package/daemon/docs/reference/getting-started.md +13 -1
  185. package/daemon/docs/reference/health-diagnosis.md +83 -6
  186. package/daemon/docs/reference/project-workspace.md +23 -0
  187. package/daemon/docs/reference/scoped-operating-posture.md +95 -0
  188. package/dist/build-info.js +3 -3
  189. package/dist/commands/context.d.ts.map +1 -1
  190. package/dist/commands/context.js +66 -124
  191. package/dist/commands/context.js.map +1 -1
  192. package/dist/commands/health.d.ts.map +1 -1
  193. package/dist/commands/health.js +17 -2
  194. package/dist/commands/health.js.map +1 -1
  195. package/dist/commands/rig-mode.d.ts +2 -2
  196. package/dist/commands/rig-mode.d.ts.map +1 -1
  197. package/dist/commands/rig-mode.js +36 -11
  198. package/dist/commands/rig-mode.js.map +1 -1
  199. package/dist/lib/context-git.d.ts +141 -0
  200. package/dist/lib/context-git.d.ts.map +1 -0
  201. package/dist/lib/context-git.js +256 -0
  202. package/dist/lib/context-git.js.map +1 -0
  203. package/dist/lib/context-install.d.ts +5 -0
  204. package/dist/lib/context-install.d.ts.map +1 -0
  205. package/dist/lib/context-install.js +125 -0
  206. package/dist/lib/context-install.js.map +1 -0
  207. package/dist/lib/work-install.d.ts.map +1 -1
  208. package/dist/lib/work-install.js +11 -36
  209. package/dist/lib/work-install.js.map +1 -1
  210. package/dist/local-reading.d.ts +31 -0
  211. package/dist/local-reading.d.ts.map +1 -0
  212. package/dist/local-reading.js +62 -0
  213. package/dist/local-reading.js.map +1 -0
  214. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts +36 -0
  215. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts.map +1 -0
  216. package/node_modules/@openrig/daemon/dist/attention-surface.js +2 -0
  217. package/node_modules/@openrig/daemon/dist/attention-surface.js.map +1 -0
  218. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  219. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  220. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  221. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +3 -1
  222. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  223. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts +4 -0
  224. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
  225. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
  226. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
  227. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +1 -0
  228. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  229. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +20 -14
  230. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  231. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts +17 -0
  232. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts.map +1 -0
  233. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js +24 -0
  234. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js.map +1 -0
  235. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +4 -4
  236. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +3 -0
  237. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -1
  238. package/node_modules/@openrig/daemon/dist/domain/health-context.js +78 -6
  239. package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -1
  240. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +2 -1
  241. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -1
  242. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +8 -2
  243. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -1
  244. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +51 -1
  245. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
  246. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +60 -9
  247. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -1
  248. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
  249. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  250. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +59 -26
  251. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  252. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +2 -0
  253. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -1
  254. package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -1
  255. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
  256. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
  257. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
  258. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
  259. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
  260. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
  261. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
  262. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
  263. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  264. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
  265. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  266. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
  267. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
  268. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
  269. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
  270. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts +1 -0
  271. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  272. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +3 -0
  273. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  274. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts +4 -0
  275. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  276. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +10 -1
  277. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  278. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
  279. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  280. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
  281. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  282. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts +28 -2
  283. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  284. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js +50 -13
  285. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  286. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +2 -0
  287. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
  288. package/node_modules/@openrig/daemon/dist/domain/view-projector.js +1 -1
  289. package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
  290. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
  291. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
  292. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js +66 -0
  293. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
  294. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts +29 -0
  295. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
  296. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js +107 -0
  297. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js.map +1 -0
  298. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +1 -0
  299. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -1
  300. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts +3 -0
  301. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts.map +1 -0
  302. package/node_modules/@openrig/daemon/dist/local-reading-surface.js +3 -0
  303. package/node_modules/@openrig/daemon/dist/local-reading-surface.js.map +1 -0
  304. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts +2 -0
  305. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts.map +1 -0
  306. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js +2 -0
  307. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js.map +1 -0
  308. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts +3 -0
  309. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts.map +1 -0
  310. package/node_modules/@openrig/daemon/dist/routes/attention.js +155 -0
  311. package/node_modules/@openrig/daemon/dist/routes/attention.js.map +1 -0
  312. package/node_modules/@openrig/daemon/dist/routes/files.d.ts +1 -1
  313. package/node_modules/@openrig/daemon/dist/routes/files.d.ts.map +1 -1
  314. package/node_modules/@openrig/daemon/dist/routes/files.js +4 -24
  315. package/node_modules/@openrig/daemon/dist/routes/files.js.map +1 -1
  316. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  317. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js +67 -14
  318. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -1
  319. package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts.map +1 -1
  320. package/node_modules/@openrig/daemon/dist/routes/scopes.js +48 -3
  321. package/node_modules/@openrig/daemon/dist/routes/scopes.js.map +1 -1
  322. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts +2 -2
  323. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +1 -1
  324. package/node_modules/@openrig/daemon/dist/routes/slices.js +18 -1
  325. package/node_modules/@openrig/daemon/dist/routes/slices.js.map +1 -1
  326. package/node_modules/@openrig/daemon/dist/routes/spec-library.d.ts.map +1 -1
  327. package/node_modules/@openrig/daemon/dist/routes/spec-library.js +11 -2
  328. package/node_modules/@openrig/daemon/dist/routes/spec-library.js.map +1 -1
  329. package/node_modules/@openrig/daemon/dist/routes/terminal.d.ts.map +1 -1
  330. package/node_modules/@openrig/daemon/dist/routes/terminal.js +14 -4
  331. package/node_modules/@openrig/daemon/dist/routes/terminal.js.map +1 -1
  332. package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
  333. package/node_modules/@openrig/daemon/dist/routes/views.js +11 -1
  334. package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
  335. package/node_modules/@openrig/daemon/dist/server.d.ts +1 -0
  336. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  337. package/node_modules/@openrig/daemon/dist/server.js +3 -0
  338. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  339. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  340. package/node_modules/@openrig/daemon/dist/startup.js +8 -4
  341. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  342. package/node_modules/@openrig/daemon/package.json +13 -1
  343. package/package.json +1 -1
  344. package/tui/dist/attention/attention-model.d.ts +4 -0
  345. package/tui/dist/attention/attention-model.d.ts.map +1 -0
  346. package/tui/dist/attention/attention-model.js +44 -0
  347. package/tui/dist/attention/attention-model.js.map +1 -0
  348. package/tui/dist/commands/help.d.ts +4 -0
  349. package/tui/dist/commands/help.d.ts.map +1 -0
  350. package/tui/dist/commands/help.js +42 -0
  351. package/tui/dist/commands/help.js.map +1 -0
  352. package/tui/dist/commands/registry.d.ts.map +1 -1
  353. package/tui/dist/commands/registry.js +13 -0
  354. package/tui/dist/commands/registry.js.map +1 -1
  355. package/tui/dist/config/config-model.d.ts.map +1 -1
  356. package/tui/dist/config/config-model.js +32 -8
  357. package/tui/dist/config/config-model.js.map +1 -1
  358. package/tui/dist/daemon-client.d.ts +25 -6
  359. package/tui/dist/daemon-client.d.ts.map +1 -1
  360. package/tui/dist/daemon-client.js +61 -11
  361. package/tui/dist/daemon-client.js.map +1 -1
  362. package/tui/dist/detail.d.ts.map +1 -1
  363. package/tui/dist/detail.js +20 -7
  364. package/tui/dist/detail.js.map +1 -1
  365. package/tui/dist/health/health-model.d.ts.map +1 -1
  366. package/tui/dist/health/health-model.js +26 -34
  367. package/tui/dist/health/health-model.js.map +1 -1
  368. package/tui/dist/hydrate.d.ts +1 -1
  369. package/tui/dist/hydrate.d.ts.map +1 -1
  370. package/tui/dist/hydrate.js +67 -16
  371. package/tui/dist/hydrate.js.map +1 -1
  372. package/tui/dist/input.d.ts.map +1 -1
  373. package/tui/dist/input.js +20 -3
  374. package/tui/dist/input.js.map +1 -1
  375. package/tui/dist/local-reading.d.ts +54 -0
  376. package/tui/dist/local-reading.d.ts.map +1 -0
  377. package/tui/dist/local-reading.js +122 -0
  378. package/tui/dist/local-reading.js.map +1 -0
  379. package/tui/dist/main.js +73 -29
  380. package/tui/dist/main.js.map +1 -1
  381. package/tui/dist/motion.d.ts +2 -0
  382. package/tui/dist/motion.d.ts.map +1 -1
  383. package/tui/dist/motion.js +4 -0
  384. package/tui/dist/motion.js.map +1 -1
  385. package/tui/dist/reading.d.ts +36 -0
  386. package/tui/dist/reading.d.ts.map +1 -0
  387. package/tui/dist/reading.js +89 -0
  388. package/tui/dist/reading.js.map +1 -0
  389. package/tui/dist/render.d.ts.map +1 -1
  390. package/tui/dist/render.js +136 -166
  391. package/tui/dist/render.js.map +1 -1
  392. package/tui/dist/scopes/scopes-model.d.ts +1 -0
  393. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  394. package/tui/dist/scopes/scopes-model.js.map +1 -1
  395. package/tui/dist/sections.d.ts.map +1 -1
  396. package/tui/dist/sections.js +4 -3
  397. package/tui/dist/sections.js.map +1 -1
  398. package/tui/dist/startup.d.ts +6 -0
  399. package/tui/dist/startup.d.ts.map +1 -1
  400. package/tui/dist/startup.js +59 -13
  401. package/tui/dist/startup.js.map +1 -1
  402. package/tui/dist/state.d.ts.map +1 -1
  403. package/tui/dist/state.js +101 -14
  404. package/tui/dist/state.js.map +1 -1
  405. package/tui/dist/stylize.d.ts.map +1 -1
  406. package/tui/dist/stylize.js +10 -1
  407. package/tui/dist/stylize.js.map +1 -1
  408. package/tui/dist/terminals/terminal-model.d.ts +55 -0
  409. package/tui/dist/terminals/terminal-model.d.ts.map +1 -0
  410. package/tui/dist/terminals/terminal-model.js +95 -0
  411. package/tui/dist/terminals/terminal-model.js.map +1 -0
  412. package/tui/dist/types.d.ts +73 -1
  413. package/tui/dist/types.d.ts.map +1 -1
@@ -12,14 +12,15 @@ export const SECTION_REGISTRY = [
12
12
  },
13
13
  {
14
14
  name: "scopes",
15
- sourceRead: "GET /api/scopes?detail=1 + /api/views/execution?mission= (existing projections)",
16
- drillShape: "mission>execution-row>slice/source",
15
+ sourceRead: "GET /api/scopes/projects + project-scoped scopes, execution and slice projections",
16
+ drillShape: "project>mission>execution-row>slice/source",
17
17
  },
18
+ { name: "terminals", sourceRead: "GET /api/terminal/views?detail=1 + /api/terminal/preview (passive)", drillShape: "saved/derived>view>page" },
18
19
  { name: "config", sourceRead: "GET /healthz + /api/config?view=browser + /api/gateway/connections (passive)", drillShape: "category>setting" },
19
20
  { name: "connections", sourceRead: "GET /healthz + /api/gateway/connections (passive projection)", drillShape: "instance>human/routes>work" },
20
21
  {
21
22
  name: "needs",
22
- sourceRead: "GET /api/review/fleet + /api/queue/list?attention=1 (existing)",
23
+ sourceRead: "GET /api/attention (passive queue, native proof and canonical health)",
23
24
  drillShape: "flat",
24
25
  },
25
26
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD;QACE,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,kEAAkE;QAC9E,UAAU,EAAE,oBAAoB;KACjC;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,2DAA2D;QACvE,UAAU,EAAE,WAAW;KACxB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,iFAAiF;QAC7F,UAAU,EAAE,oCAAoC;KACjD;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,8EAA8E,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC9I,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,8DAA8D,EAAE,UAAU,EAAE,4BAA4B,EAAE;IAC7I;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,gEAAgE;QAC5E,UAAU,EAAE,MAAM;KACnB;CACF,CAAC"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD;QACE,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,kEAAkE;QAC9E,UAAU,EAAE,oBAAoB;KACjC;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,2DAA2D;QACvE,UAAU,EAAE,WAAW;KACxB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,mFAAmF;QAC/F,UAAU,EAAE,4CAA4C;KACzD;IACD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,oEAAoE,EAAE,UAAU,EAAE,yBAAyB,EAAE;IAC9I,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,8EAA8E,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC9I,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,8DAA8D,EAAE,UAAU,EAAE,4BAA4B,EAAE;IAC7I;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,uEAAuE;QACnF,UAAU,EAAE,MAAM;KACnB;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { DaemonClient } from "./daemon-client.js";
2
2
  import { type CrashCartRenderOpts } from "./crash-cart/from-emit.js";
3
+ import { type LocalReadingState, type LocalRequest, type LocalResult } from "./local-reading.js";
3
4
  import type { Action } from "./types.js";
4
5
  export interface StartupSeat {
5
6
  logicalId: string;
@@ -27,6 +28,8 @@ interface StartupRig {
27
28
  seats: StartupSeat[];
28
29
  }
29
30
  export interface StartupState {
31
+ connection: "probing" | "up" | "down" | "unverified";
32
+ local?: LocalReadingState;
30
33
  open: boolean;
31
34
  busy: boolean;
32
35
  page: "probe" | "down" | "unavailable" | "rigs" | "seats" | "kernel" | "confirm";
@@ -59,12 +62,15 @@ export interface StartupDeps {
59
62
  probe: () => Promise<string>;
60
63
  startDaemon: () => Promise<void>;
61
64
  onChange: () => void;
65
+ onHelp?: () => void;
66
+ readLocal?: (request: LocalRequest) => Promise<LocalResult>;
62
67
  onNative?: (seat: StartupSeat) => Promise<void>;
63
68
  onWork: (rig?: StartupRig, seat?: StartupSeat) => void;
64
69
  }
65
70
  export declare class StartupController {
66
71
  private readonly deps;
67
72
  readonly state: StartupState;
73
+ private local?;
68
74
  constructor(deps: StartupDeps);
69
75
  private changed;
70
76
  private run;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import { StartupRequestError } from "./daemon-client.js";
2
2
  import { probeCrashCart } from "./crash-cart/from-emit.js";
3
+ import { LocalReadingController, localLines } from "./local-reading.js";
3
4
  export class StartupController {
4
5
  deps;
5
6
  state;
7
+ local;
6
8
  constructor(deps) {
7
9
  this.deps = deps;
8
- this.state = { open: true, busy: false, page: "probe", target: deps.client.baseUrl,
10
+ this.state = { connection: "probing", open: true, busy: false, page: "probe", target: deps.client.baseUrl,
9
11
  home: deps.home, notice: "Reading startup state…", detail: "", expanded: false,
10
12
  selected: 0, scroll: 0, rigs: [] };
11
13
  }
@@ -30,13 +32,23 @@ export class StartupController {
30
32
  this.changed();
31
33
  }
32
34
  }
33
- async open() { this.state.open = true; await this.refresh(); }
35
+ async open() {
36
+ this.local?.close();
37
+ this.local = undefined;
38
+ this.state.local = undefined;
39
+ this.state.open = true;
40
+ this.state.consent = undefined;
41
+ this.changed();
42
+ await this.refresh();
43
+ }
34
44
  async refresh() {
35
45
  await this.run(async () => {
36
46
  this.state.consent = undefined;
47
+ this.state.connection = "probing";
37
48
  this.state.notice = "Reading actual state…";
38
49
  const probe = await probeCrashCart(this.deps.probe);
39
50
  this.state.probe = probe;
51
+ this.state.connection = probe.unavailable || probe.daemonState === "unverified" ? "unverified" : probe.daemonState === "down" ? "down" : "up";
40
52
  if (probe.unavailable || probe.daemonState === "unverified") {
41
53
  this.state.page = "unavailable";
42
54
  this.state.notice = "Startup state is unavailable. No recovery effect has been authorized.";
@@ -74,6 +86,44 @@ export class StartupController {
74
86
  }
75
87
  async key(key) {
76
88
  const s = this.state;
89
+ // Read navigation is independent of the serialized effect/probe lane.
90
+ if (key === "?") {
91
+ this.deps.onHelp?.();
92
+ return;
93
+ }
94
+ if (key === "w") {
95
+ s.consent = undefined;
96
+ s.open = false;
97
+ this.local?.close();
98
+ s.local = undefined;
99
+ this.deps.onWork(s.rig);
100
+ this.changed();
101
+ return;
102
+ }
103
+ if (s.local && this.local) {
104
+ if (!await this.local.key(key)) {
105
+ s.local = undefined;
106
+ this.local = undefined;
107
+ }
108
+ this.changed();
109
+ return;
110
+ }
111
+ if ((key === "L" || key === "l" && s.page !== "kernel")) {
112
+ this.local = new LocalReadingController(this.deps.readLocal ?? (async () => ({ error: "Local reader unavailable in this launcher" })), () => this.changed());
113
+ s.local = this.local.state;
114
+ s.consent = undefined;
115
+ if (s.page === "confirm")
116
+ s.page = "seats";
117
+ await this.local.load();
118
+ return;
119
+ }
120
+ if (key === "escape" && (s.busy || !["confirm", "seats", "kernel"].includes(s.page))) {
121
+ s.consent = undefined;
122
+ s.open = false;
123
+ this.deps.onWork();
124
+ this.changed();
125
+ return;
126
+ }
77
127
  if (s.busy)
78
128
  return;
79
129
  if (key === "d") {
@@ -100,12 +150,6 @@ export class StartupController {
100
150
  this.changed();
101
151
  return;
102
152
  }
103
- if (key === "w" && ["rigs", "seats"].includes(s.page)) {
104
- s.open = false;
105
- this.deps.onWork(s.rig);
106
- this.changed();
107
- return;
108
- }
109
153
  const count = s.page === "rigs" ? s.rigs.length : s.rig?.seats.length ?? 0;
110
154
  if (s.expanded && (key === "up" || key === "down")) {
111
155
  s.scroll = Math.max(0, s.scroll + (key === "down" ? 1 : -1));
@@ -224,10 +268,14 @@ export class StartupController {
224
268
  export function startupLines(s) {
225
269
  const button = (text, key) => ({ text, action: { type: "startup", key } });
226
270
  const lines = [
227
- { text: "OpenRig · Start and return" }, { text: `Instance: ${s.home}` }, { text: `Daemon: ${s.target}` }, { text: "" }, { text: s.notice }, { text: "" },
271
+ { text: "OpenRig · Start and return" }, { text: `Daemon: ${s.target}` }, { text: "" }, { text: s.notice }, { text: "" },
228
272
  ];
273
+ lines.push(button("? Help", "?"), button("w Skip startup · ordinary views", "w"));
274
+ lines.push(button("L Local reading · Specs and intent", "L"));
275
+ if (s.local)
276
+ return localLines(s.local);
229
277
  if (s.busy)
230
- return [...lines, { text: "Working… repeated input will not start another operation." }, { text: "q leaves this view; an accepted operation continues." }];
278
+ return [...lines, { text: "Working… repeated input will not start another operation." }, { text: "Esc Back / skip · q Quit; an accepted operation continues." }];
231
279
  if (s.page === "down")
232
280
  lines.push(button("Enter / s Start daemon; choose seats next", "s"));
233
281
  if (s.page === "rigs") {
@@ -263,11 +311,9 @@ export function startupLines(s) {
263
311
  if (s.page === "confirm" && s.consent) {
264
312
  lines.push({ text: `Start a NEW conversation for ${s.consent.seat.logicalId}?` }, { text: "It will not contain the old conversation. The old history is retained; configured context and durable duties will be re-primed." }, { text: "This decision applies only to this seat and the state just inspected." }, button("y Confirm this fresh start", "y"), button("Esc Decline; leave stopped", "escape"));
265
313
  }
266
- if (["rigs", "seats"].includes(s.page))
267
- lines.push(button("w Continue to ordinary work", "w"));
268
314
  lines.push(button("r Refresh actual state", "r"), button("d Diagnostic details", "d"), button("Esc Back / decline", "escape"), { text: "↑↓ choose · q quit · S opens startup from ordinary work" });
269
315
  if (s.expanded)
270
- lines.push({ text: "" }, { text: s.detail || JSON.stringify(s.rig?.seats[s.selected] ?? s.probe ?? {}) });
316
+ lines.push({ text: "" }, { text: `Instance: ${s.home}` }, { text: s.detail || JSON.stringify(s.rig?.seats[s.selected] ?? s.probe ?? {}) });
271
317
  return lines;
272
318
  }
273
319
  //# sourceMappingURL=startup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,cAAc,EAA4B,MAAM,2BAA2B,CAAC;AA6BrF,MAAM,OAAO,iBAAiB;IAEC;IADpB,KAAK,CAAe;IAC7B,YAA6B,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;QAC5C,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAChF,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK;YAC9E,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IACO,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnC,KAAK,CAAC,GAAG,CAAC,MAA2B;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YAAC,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC;QACvB,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,IAAI,KAAK,YAAY,mBAAmB,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,EAAE,CAAC;gBAClI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9C,CAAC;QACH,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9D,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,uBAAuB,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;gBAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,uEAAuE,CAAC;gBAC5F,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,qDAAqD,CAAC;gBACpK,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACtK,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,GAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACvH,CAAC;gBAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;gBAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,2EAA2E,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,EAAU;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAa,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACpN,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACxJ,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IACtC,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO;QACnB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACtE,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAClD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;YAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;gBAAC,CAAC,CAAC,MAAM,GAAG,yDAAyD,CAAC;YAAC,CAAC;iBAChH,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;gBAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC;gBAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,CAAC;YACtG,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QACzB,CAAC;QACD,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAClE,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC;YACnD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QACvF,CAAC;QACD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC;YACrG,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QACzB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,yDAAyD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvK,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;YACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;gBAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC;gBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QACxI,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACxB,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtD,CAAC,CAAC,MAAM,GAAG,yDAAyD,CAAC;gBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAoB,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC,CAAC,MAAM,GAAG,yEAAyE,CAAC;YACvF,CAAC,CAAC,CAAC;YAAC,OAAO;QACb,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,2EAA2E,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QAC7M,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,uBAAuB,CAAC,EAAE,CAAC;YACtH,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACxB,CAAC,CAAC,MAAM,GAAG,qCAAqC,CAAC;gBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,MAAM,GAAG,4EAA4E,CAAC;YAC1F,CAAC,CAAC,CAAC;YAAC,OAAO;QACb,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjH,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBACxG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,MAAM,GAAG,kFAAkF,CAAC;YAChG,CAAC,CAAC,CAAC;YAAC,OAAO;QACb,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAI,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAAC,OAAO;QAC5D,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YACnH,CAAC,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC;YAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QACzB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;YAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;YACnE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAAC,OAAO;QAClE,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC/I,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACO,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAiB,EAAE,MAAc;QACnE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;YAC1F,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAClD,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9G,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,8CAA8C,CAAC;YAC1O,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oFAAoF;gBACpF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC1C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,CAAe;IAC1C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpG,MAAM,KAAK,GAA6C;QACtD,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;KACzJ,CAAC;IACF,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,2DAA2D,EAAE,EAAE,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,CAAC;IACvK,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7F,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7J,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iFAAiF,EAAE,CAAC,CAAC;QACxG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,aAAa,EAAE,UAAU,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAClK,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0EAA0E,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,uDAAuD,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1M,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,uBAAuB,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAC,CAAC;QAChL,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,KAAK,IAAI,oBAAoB,EAAE,EAAE,EACpH,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc;oBACpF,CAAC,CAAC,iGAAiG;oBACnG,CAAC,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EACjJ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,oBAAoB,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/P,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qEAAqE,EAAE,GAAG,CAAC,CAAC,CAAC;YACpK,IAAI,IAAI,CAAC,cAAc;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,sEAAsE,EAAE,GAAG,CAAC,CAAC,CAAC;YACzH,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtI,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,EAC9E,EAAE,IAAI,EAAE,iIAAiI,EAAE,EAC3I,EAAE,IAAI,EAAE,uEAAuE,EAAE,EACjF,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,uBAAuB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,yDAAyD,EAAE,CAAC,CAAC;IACvM,IAAI,CAAC,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1H,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EAEf,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,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAkE/E;AAmLD;;;;;;;yEAOyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAqBpD;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,CAqHxF"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,cAAc,EAEf,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,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAsE/E;AAgOD;;;;;;;yEAOyE;AACzE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAwBpD;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;AAkHD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CA8HxF"}
package/tui/dist/state.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { fileTargetForPath } from "./reading.js";
2
+ import { terminalExplorerRows } from "./terminals/terminal-model.js";
1
3
  import { CONFIG_CATEGORIES } from "./config/config-model.js";
2
4
  import { availableTabs } from "./commands/registry.js";
3
5
  import { DEFAULT_TIME_ZONE, resolveTimeZone } from "./time.js";
@@ -17,6 +19,8 @@ export function createViewState(options) {
17
19
  throw new Error("createViewState requires an instanceId (A2: instances are addressable)");
18
20
  let state = {
19
21
  instanceId,
22
+ file: null,
23
+ externalUrl: null,
20
24
  timeZone: resolveTimeZone(options.timeZone ?? DEFAULT_TIME_ZONE).timeZone,
21
25
  timeZoneWarning: options.timeZoneWarning ?? resolveTimeZone(options.timeZone ?? DEFAULT_TIME_ZONE).warning,
22
26
  timeZoneHelp: false,
@@ -44,21 +48,23 @@ export function createViewState(options) {
44
48
  notice: null,
45
49
  lastError: null,
46
50
  palette: null,
51
+ project: null,
47
52
  scopesMission: null,
48
53
  scopesSelected: null,
49
54
  scopesCollapseReqs: false,
50
55
  scopesNarrative: false,
51
56
  executionOpen: null,
52
57
  healthOpen: null,
58
+ attentionOpen: null,
53
59
  };
54
60
  const listeners = new Set();
55
61
  function dispatch(action) {
56
62
  const previous = state;
57
- if (["jump", "drill", "cross", "tab", "scopes-mission-open", "scopes-open", "health-open", "execution-open", "recent-open", "timezone", "config-category", "config-setting"].includes(action.type))
58
- state = { ...state, recentOpen: null, timeZoneHelp: false };
63
+ if (["attention-open", "terminal-preview", "project-select", "jump", "drill", "cross", "tab", "scopes-mission-open", "scopes-open", "health-open", "execution-open", "recent-open", "timezone", "config-category", "config-setting"].includes(action.type))
64
+ state = { ...state, file: null, externalUrl: null, recentOpen: null, timeZoneHelp: false, attentionOpen: null };
59
65
  state = reduce(state, action, getSnapshot());
60
66
  // Connections is a side trip from work, including explorer/palette entry.
61
- if (action.type === "jump" && !["connections", "config"].includes(action.section) && !["connections", "config"].includes(previous.section))
67
+ if (action.type === "jump" && !["connections", "config", "needs"].includes(action.section) && !["connections", "config", "needs"].includes(previous.section))
62
68
  state.history = [];
63
69
  // A filter changes the current view; clearing it must not add the detail
64
70
  // being left back onto history (Escape would then cycle forever).
@@ -82,6 +88,31 @@ export function createViewState(options) {
82
88
  function reduce(state, action, snap) {
83
89
  const next = { ...state, lastError: null, notice: action.type === "notice" || action.type === "act" ? state.notice : null };
84
90
  switch (action.type) {
91
+ case "terminal-result":
92
+ return { ...next, terminalResult: { view: action.view, message: action.message } };
93
+ case "terminal-preview":
94
+ return syncSelection(resetContent({ ...next, section: "terminals", terminalView: action.view, terminalPage: 0, drill: [], viewTab: "table", healthOpen: null }), snap);
95
+ case "terminal-page":
96
+ return resetContent({ ...next, terminalPage: Math.max(0, Math.min(action.page, (snap.terminals?.preview?.composed.pages.length ?? 1) - 1)) });
97
+ case "attention-open":
98
+ return syncSelection({ ...resetContent({ ...next, section: "needs", attentionOpen: action.id, file: null, externalUrl: null, healthOpen: null }), focusedPane: "content" }, snap);
99
+ case "attention-source": {
100
+ const detail = snap.attentionRead?.detail;
101
+ if (!detail || detail.item.id !== next.attentionOpen || !detail.files.some(f => f.path === action.path))
102
+ return { ...next, lastError: "Source is no longer in the current Attention read" };
103
+ const hash = action.path.indexOf("#");
104
+ const target = fileTargetForPath(hash < 0 ? action.path : action.path.slice(0, hash), snap.fileRoots ?? []);
105
+ if (target && hash >= 0)
106
+ target.anchor = action.path.slice(hash + 1);
107
+ const project = detail.item.project && action.path.startsWith(detail.item.project.root + "/") ? detail.item.project : null;
108
+ return { ...resetContent({ ...next, project, file: target ?? { root: "", path: action.path } }), focusedPane: "content" };
109
+ }
110
+ case "file-open":
111
+ return { ...resetContent({ ...next, file: action.target, externalUrl: null, healthOpen: null, recentOpen: null, timeZoneHelp: false }), focusedPane: "content" };
112
+ case "external-open":
113
+ return { ...resetContent({ ...next, externalUrl: action.url, file: null, healthOpen: null, recentOpen: null, timeZoneHelp: false }), focusedPane: "content" };
114
+ case "time-setting":
115
+ return { ...state, timeZone: action.timeZone, timeZoneWarning: action.timeZoneWarning };
85
116
  case "timezone":
86
117
  return resetContent({ ...next, timeZoneHelp: true, viewTab: "table", healthOpen: null });
87
118
  case "recent-open": {
@@ -105,7 +136,18 @@ function reduce(state, action, snap) {
105
136
  case "config-setting":
106
137
  return resetContent({ ...next, section: "config", drill: [], viewTab: "table", configKey: action.key, healthOpen: null });
107
138
  case "jump": {
139
+ next.terminalView = null;
140
+ next.terminalPage = 0;
141
+ if (action.section === "needs") {
142
+ next.attentionOpen = null;
143
+ next.file = null;
144
+ next.externalUrl = null;
145
+ next.recentOpen = null;
146
+ next.timeZoneHelp = false;
147
+ }
108
148
  // scopes: jumping anywhere (incl. back to :scopes) closes the opened slice.
149
+ if (action.section === "scopes")
150
+ next.project = null;
109
151
  next.scopesMission = null;
110
152
  next.scopesSelected = null;
111
153
  next.executionOpen = null;
@@ -116,7 +158,26 @@ function reduce(state, action, snap) {
116
158
  return { ...next, lastError: `unknown section "${action.section}"` };
117
159
  return syncSelection(resetContent({ ...next, section: action.section, drill: [], filter: "", runningOf: null, viewTab: "table" }), snap);
118
160
  }
161
+ case "project-select": {
162
+ const project = snap.projects?.projects.find(p => p.id === action.id);
163
+ if (!project)
164
+ return { ...next, lastError: `Project ${action.id} is not in the current catalog` };
165
+ return syncSelection(resetContent({ ...next, section: "scopes", project: { id: project.id, root: project.root }, drill: [], scopesMission: null, scopesSelected: null, executionOpen: null, scopesNarrative: false, filter: "", expanded: [], viewTab: "table" }), snap);
166
+ }
167
+ case "project-source": {
168
+ if (!state.project || snap.projectRead?.id !== state.project.id || snap.projectRead?.root !== state.project.root)
169
+ return { ...next, lastError: "Selected project read is pending" };
170
+ const entry = snap.projects?.projects.find(p => p.id === state.project.id && p.root === state.project.root);
171
+ const missionSource = state.scopesMission ? snap.projectSources?.[state.scopesMission] : null;
172
+ const sliceDir = state.scopesSelected?.slice ?? snap.sliceDetailName;
173
+ const source = sliceDir && state.scopesMission ? snap.scopes?.find(m => m.mission === state.scopesMission)?.slices.find(s => s.dirName === sliceDir)?.sourcePath : missionSource ?? entry?.sourcePath;
174
+ if (!source)
175
+ return { ...next, lastError: "Selected source is unavailable" };
176
+ return reduce(next, { type: "file-open", target: fileTargetForPath(source, snap.fileRoots ?? []) ?? { root: "", path: source } }, snap);
177
+ }
119
178
  case "scopes-mission-open": {
179
+ if (snap.projects !== undefined && !state.project)
180
+ return { ...next, lastError: "Choose a project first" };
120
181
  const key = `scopes-mission:${action.mission}`;
121
182
  const expanded = state.expanded.includes(key) ? state.expanded : [...state.expanded, key];
122
183
  return syncSelection(resetContent({ ...next, section: "scopes", drill: [], runningOf: null, viewTab: "table", filter: "", scopesMission: action.mission, scopesSelected: null, executionOpen: null, healthOpen: null, expanded }), snap);
@@ -184,6 +245,11 @@ function reduce(state, action, snap) {
184
245
  case "copy-mode":
185
246
  return { ...next, copyMode: action.on ?? !state.copyMode };
186
247
  case "layout":
248
+ // Do not clamp a restored bookmark against another page's in-flight snapshot.
249
+ if (state.file && JSON.stringify(state.file) !== JSON.stringify(snap.fileRead?.target))
250
+ return next;
251
+ if (!state.file && state.section === "specs" && !snap.specsLoaded && (snap.fileRead || snap.config))
252
+ return next;
187
253
  return {
188
254
  ...next,
189
255
  contentMaxOffset: Math.max(action.contentMaxOffset, 0),
@@ -242,11 +308,11 @@ function reduce(state, action, snap) {
242
308
  }
243
309
  }
244
310
  function location(s) {
245
- return JSON.stringify([s.section, s.drill, s.runningOf, s.scopesMission, s.scopesSelected, s.executionOpen, s.recentOpen?.transitionId, s.timeZoneHelp, s.configCategory, s.configKey]);
311
+ return JSON.stringify([s.attentionOpen, s.project, s.terminalView, s.section, s.drill, s.runningOf, s.scopesMission, s.scopesSelected, s.executionOpen, s.recentOpen?.transitionId, s.timeZoneHelp, s.configCategory, s.configKey, s.file, s.externalUrl]);
246
312
  }
247
313
  function navigationFrame(s) {
248
- const { section, drill, filter, selection, runningOf, viewTab, contentOffset, contentMaxOffset, contentTargetCount, contentSelection, focusedPane, scopesMission, scopesSelected, scopesCollapseReqs, scopesNarrative, executionOpen, expanded, recentOpen, timeZoneHelp, configCategory, configKey } = s;
249
- return { section, drill, filter, selection, runningOf, viewTab, contentOffset, contentMaxOffset, contentTargetCount, contentSelection, focusedPane, scopesMission, scopesSelected, scopesCollapseReqs, scopesNarrative, executionOpen, expanded, recentOpen, timeZoneHelp, configCategory, configKey };
314
+ const { attentionOpen, project, terminalView, terminalPage, file, externalUrl, section, drill, filter, selection, runningOf, viewTab, contentOffset, contentMaxOffset, contentTargetCount, contentSelection, focusedPane, scopesMission, scopesSelected, scopesCollapseReqs, scopesNarrative, executionOpen, expanded, recentOpen, timeZoneHelp, configCategory, configKey } = s;
315
+ return { attentionOpen, project, terminalView, terminalPage, file, externalUrl, section, drill, filter, selection, runningOf, viewTab, contentOffset, contentMaxOffset, contentTargetCount, contentSelection, focusedPane, scopesMission, scopesSelected, scopesCollapseReqs, scopesNarrative, executionOpen, expanded, recentOpen, timeZoneHelp, configCategory, configKey };
250
316
  }
251
317
  function clearScopeCoordinatesOnSectionChange(previous, next) {
252
318
  return next.section === previous.section
@@ -265,16 +331,22 @@ function resetContent(state) {
265
331
  * footer/indicator affordances (render.ts) both read this ONE predicate, so
266
332
  * the hint can never again promise a gesture the keys don't perform. */
267
333
  export function specDetailArrowsScroll(state) {
268
- return ((state.section === "specs" && state.drill.length > 0) || (state.section === "config" && !!state.configKey)) && state.contentMaxOffset > 0 && state.focusedPane !== "content";
334
+ return (!!state.file || !!state.externalUrl || (state.section === "specs" && state.drill.length > 0) || (state.section === "config" && !!state.configKey)) && state.contentMaxOffset > 0 && state.focusedPane !== "content";
269
335
  }
270
336
  /** The explorer key for the state's current location (drill leaf or section). */
271
337
  export function locationKey(state) {
338
+ if (state.section === "terminals" && state.terminalView)
339
+ return `terminal:${state.terminalView}`;
340
+ if (state.section === "needs" && state.attentionOpen)
341
+ return `attention:${state.attentionOpen}`;
272
342
  if (state.section === "config" && state.configCategory)
273
343
  return `config:${state.configCategory}`;
274
344
  if (state.section === "scopes" && state.scopesSelected)
275
345
  return `scopes-slice:${state.scopesSelected.mission}/${state.scopesSelected.slice}`;
276
346
  if (state.section === "scopes" && state.scopesMission)
277
347
  return `scopes-mission:${state.scopesMission}`;
348
+ if (state.section === "scopes" && state.project)
349
+ return `project:${state.project.id}`;
278
350
  const names = new Map(state.drill.map((seg) => [seg.kind, seg.name]));
279
351
  const leaf = state.drill.at(-1);
280
352
  if (!leaf || state.runningOf)
@@ -438,7 +510,9 @@ function drillTo(state, resource, name, snap, target) {
438
510
  return { ...state, section: "topology", drill, selection: 0, runningOf: null };
439
511
  }
440
512
  case "spec": {
441
- if (!findSpec(snap, name))
513
+ // Another section may intentionally omit Specs. Its absence there is not
514
+ // evidence that this source is missing; judge after the catalog read.
515
+ if (snap.specsLoaded && !findSpec(snap, name))
442
516
  return { ...state, lastError: `no such spec "${name}"` };
443
517
  return { ...state, section: "specs", drill: [{ kind: "spec", name }], selection: 0, runningOf: null };
444
518
  }
@@ -495,13 +569,17 @@ export function computeExplorerRows(state, snap) {
495
569
  : section.name === "specs"
496
570
  ? "SPECS"
497
571
  : section.name === "needs"
498
- ? "NEEDS-YOU"
499
- : section.name.toUpperCase();
572
+ ? "ATTENTION"
573
+ : section.name === "scopes" ? "PROJECTS" : section.name.toUpperCase();
500
574
  // A section changes view but has no independent collapse state. Do not draw
501
575
  // a disclosure glyph that cannot be toggled.
502
576
  rows.push({ label, action: { type: "jump", section: section.name }, key: `section:${section.name}` });
503
577
  if (!active)
504
578
  continue;
579
+ if (section.name === "terminals") {
580
+ rows.push(...terminalExplorerRows(state, snap));
581
+ continue;
582
+ }
505
583
  if (section.name === "config") {
506
584
  rows.push(...CONFIG_CATEGORIES.map((c) => ({ label: " " + c.label, key: `config:${c.id}`, action: { type: "config-category", category: c.id } })));
507
585
  if (state.history?.length)
@@ -509,8 +587,15 @@ export function computeExplorerRows(state, snap) {
509
587
  continue;
510
588
  }
511
589
  if (section.name === "scopes") {
512
- const expanded = new Set(state.expanded);
513
- rows.push(...scopesExplorerRows(snap.scopes, expanded, " "));
590
+ if (snap.projects === undefined)
591
+ rows.push(...scopesExplorerRows(snap.scopes, new Set(state.expanded), " "));
592
+ for (const project of snap.projects?.projects ?? []) {
593
+ rows.push({ label: ` ${state.project?.id === project.id ? "●" : "○"} ${project.id}${project.error ? " !" : ""}`, key: `project:${project.id}`, action: { type: "project-select", id: project.id } });
594
+ if (state.project?.id === project.id && state.project.root === project.root && snap.projectRead?.id === project.id && snap.projectRead.root === project.root)
595
+ rows.push(...scopesExplorerRows(snap.scopes, new Set(state.expanded), " "));
596
+ }
597
+ if (state.history?.length)
598
+ rows.push({ label: " Back", key: "project:back", action: { type: "back" } });
514
599
  continue;
515
600
  }
516
601
  if (section.name === "topology") {
@@ -602,8 +687,10 @@ export function computeExplorerRows(state, snap) {
602
687
  }
603
688
  }
604
689
  else if (section.name === "needs") {
605
- for (const item of snap.needs)
606
- rows.push({ label: ` ${item.source === "agent" ? "☐" : "⚑"} ${item.kind}: ${item.target}`, action: { type: "jump", section: "needs" } });
690
+ for (const item of snap.attentionRead?.items ?? [])
691
+ rows.push({ label: ` ${item.kind === "action" ? "!" : "·"} ${item.summary}`, key: `attention:${item.id}`, action: { type: "attention-open", id: item.id } });
692
+ if (state.history?.length)
693
+ rows.push({ label: " Back", key: "attention:back", action: { type: "back" } });
607
694
  }
608
695
  }
609
696
  return rows;