@openrig/cli 0.5.12 → 0.5.14

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 (584) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +40 -5
  2. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  3. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +89 -10
  4. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  5. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  6. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +40 -5
  13. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  56. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  57. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  58. package/daemon/dist/attention-surface.d.ts +38 -0
  59. package/daemon/dist/attention-surface.d.ts.map +1 -0
  60. package/daemon/dist/attention-surface.js +3 -0
  61. package/daemon/dist/attention-surface.js.map +1 -0
  62. package/daemon/dist/build-info.js +3 -3
  63. package/daemon/dist/db/all-migrations.d.ts +1 -1
  64. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  65. package/daemon/dist/db/all-migrations.js +12 -2
  66. package/daemon/dist/db/all-migrations.js.map +1 -1
  67. package/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts +4 -0
  68. package/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
  69. package/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
  70. package/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
  71. package/daemon/dist/db/migrations/081_human_notification_intent.d.ts +3 -0
  72. package/daemon/dist/db/migrations/081_human_notification_intent.d.ts.map +1 -0
  73. package/daemon/dist/db/migrations/081_human_notification_intent.js +9 -0
  74. package/daemon/dist/db/migrations/081_human_notification_intent.js.map +1 -0
  75. package/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts +5 -0
  76. package/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts.map +1 -0
  77. package/daemon/dist/db/migrations/082_archive_identity_provenance.js +7 -0
  78. package/daemon/dist/db/migrations/082_archive_identity_provenance.js.map +1 -0
  79. package/daemon/dist/db/migrations/083_review_read_indexes.d.ts +4 -0
  80. package/daemon/dist/db/migrations/083_review_read_indexes.d.ts.map +1 -0
  81. package/daemon/dist/db/migrations/083_review_read_indexes.js +12 -0
  82. package/daemon/dist/db/migrations/083_review_read_indexes.js.map +1 -0
  83. package/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts +5 -0
  84. package/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts.map +1 -0
  85. package/daemon/dist/db/migrations/084_inventory_event_indexes.js +14 -0
  86. package/daemon/dist/db/migrations/084_inventory_event_indexes.js.map +1 -0
  87. package/daemon/dist/domain/execution-view.d.ts +1 -0
  88. package/daemon/dist/domain/execution-view.d.ts.map +1 -1
  89. package/daemon/dist/domain/execution-view.js +38 -19
  90. package/daemon/dist/domain/execution-view.js.map +1 -1
  91. package/daemon/dist/domain/files/file-read.d.ts +17 -0
  92. package/daemon/dist/domain/files/file-read.d.ts.map +1 -0
  93. package/daemon/dist/domain/files/file-read.js +24 -0
  94. package/daemon/dist/domain/files/file-read.js.map +1 -0
  95. package/daemon/dist/domain/gateway/connections-projection.d.ts +4 -4
  96. package/daemon/dist/domain/gateway/slack/message.d.ts +13 -12
  97. package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  98. package/daemon/dist/domain/gateway/slack/message.js +40 -77
  99. package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  100. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +2 -0
  101. package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  102. package/daemon/dist/domain/gateway/slack/outbound-driver.js +2 -0
  103. package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  104. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +2 -0
  105. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  106. package/daemon/dist/domain/gateway/slack/queue-access.js +2 -0
  107. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  108. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +4 -1
  109. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  110. package/daemon/dist/domain/gateway/slack/slack-delivery.js +85 -3
  111. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  112. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  113. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +8 -1
  114. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  115. package/daemon/dist/domain/health-context.d.ts +3 -0
  116. package/daemon/dist/domain/health-context.d.ts.map +1 -1
  117. package/daemon/dist/domain/health-context.js +78 -6
  118. package/daemon/dist/domain/health-context.js.map +1 -1
  119. package/daemon/dist/domain/health-detectors.d.ts +2 -1
  120. package/daemon/dist/domain/health-detectors.d.ts.map +1 -1
  121. package/daemon/dist/domain/health-detectors.js +8 -2
  122. package/daemon/dist/domain/health-detectors.js.map +1 -1
  123. package/daemon/dist/domain/health-diagnosis.d.ts +51 -1
  124. package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
  125. package/daemon/dist/domain/health-diagnosis.js +60 -9
  126. package/daemon/dist/domain/health-diagnosis.js.map +1 -1
  127. package/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
  128. package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  129. package/daemon/dist/domain/health-passive-ceremony.js +59 -26
  130. package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  131. package/daemon/dist/domain/health-projection.d.ts +2 -0
  132. package/daemon/dist/domain/health-projection.d.ts.map +1 -1
  133. package/daemon/dist/domain/health-projection.js.map +1 -1
  134. package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  135. package/daemon/dist/domain/policies/delivery-digest-flush.js +23 -3
  136. package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  137. package/daemon/dist/domain/proof/judgments.d.ts +10 -3
  138. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  139. package/daemon/dist/domain/proof/judgments.js +26 -8
  140. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  141. package/daemon/dist/domain/queue-repository.d.ts +19 -6
  142. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  143. package/daemon/dist/domain/queue-repository.js +61 -11
  144. package/daemon/dist/domain/queue-repository.js.map +1 -1
  145. package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  146. package/daemon/dist/domain/queue-retention.js +6 -2
  147. package/daemon/dist/domain/queue-retention.js.map +1 -1
  148. package/daemon/dist/domain/queue-transition-log.d.ts +1 -0
  149. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  150. package/daemon/dist/domain/queue-transition-log.js +19 -7
  151. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  152. package/daemon/dist/domain/review/fleet-compose.d.ts +7 -6
  153. package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -1
  154. package/daemon/dist/domain/review/fleet-compose.js +25 -11
  155. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  156. package/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
  157. package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
  158. package/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
  159. package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
  160. package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
  161. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
  162. package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
  163. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
  164. package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  165. package/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
  166. package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  167. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
  168. package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
  169. package/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
  170. package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
  171. package/daemon/dist/domain/scope/scope-view-projection.d.ts +2 -2
  172. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  173. package/daemon/dist/domain/scope/scope-view-projection.js +2 -2
  174. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  175. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +1 -0
  176. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  177. package/daemon/dist/domain/slices/slice-detail-projector.js +3 -0
  178. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  179. package/daemon/dist/domain/slices/slice-indexer.d.ts +4 -0
  180. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  181. package/daemon/dist/domain/slices/slice-indexer.js +10 -1
  182. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  183. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
  184. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  185. package/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
  186. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  187. package/daemon/dist/domain/terminal/terminal-service.d.ts +30 -2
  188. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  189. package/daemon/dist/domain/terminal/terminal-service.js +53 -13
  190. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  191. package/daemon/dist/domain/view-projector.d.ts +2 -0
  192. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  193. package/daemon/dist/domain/view-projector.js +1 -1
  194. package/daemon/dist/domain/view-projector.js.map +1 -1
  195. package/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
  196. package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
  197. package/daemon/dist/domain/workspace/project-catalog.js +66 -0
  198. package/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
  199. package/daemon/dist/domain/workspace/project-read.d.ts +29 -0
  200. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
  201. package/daemon/dist/domain/workspace/project-read.js +125 -0
  202. package/daemon/dist/domain/workspace/project-read.js.map +1 -0
  203. package/daemon/dist/health-projection-surface.d.ts +1 -0
  204. package/daemon/dist/health-projection-surface.d.ts.map +1 -1
  205. package/daemon/dist/local-reading-surface.d.ts +3 -0
  206. package/daemon/dist/local-reading-surface.d.ts.map +1 -0
  207. package/daemon/dist/local-reading-surface.js +3 -0
  208. package/daemon/dist/local-reading-surface.js.map +1 -0
  209. package/daemon/dist/project-catalog-surface.d.ts +2 -0
  210. package/daemon/dist/project-catalog-surface.d.ts.map +1 -0
  211. package/daemon/dist/project-catalog-surface.js +2 -0
  212. package/daemon/dist/project-catalog-surface.js.map +1 -0
  213. package/daemon/dist/routes/attention.d.ts +3 -0
  214. package/daemon/dist/routes/attention.d.ts.map +1 -0
  215. package/daemon/dist/routes/attention.js +155 -0
  216. package/daemon/dist/routes/attention.js.map +1 -0
  217. package/daemon/dist/routes/files.d.ts +1 -1
  218. package/daemon/dist/routes/files.d.ts.map +1 -1
  219. package/daemon/dist/routes/files.js +4 -24
  220. package/daemon/dist/routes/files.js.map +1 -1
  221. package/daemon/dist/routes/queue.d.ts +4 -18
  222. package/daemon/dist/routes/queue.d.ts.map +1 -1
  223. package/daemon/dist/routes/queue.js +23 -33
  224. package/daemon/dist/routes/queue.js.map +1 -1
  225. package/daemon/dist/routes/review.js +1 -1
  226. package/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  227. package/daemon/dist/routes/rig-mode.js +67 -14
  228. package/daemon/dist/routes/rig-mode.js.map +1 -1
  229. package/daemon/dist/routes/rigs.js +5 -1
  230. package/daemon/dist/routes/rigs.js.map +1 -1
  231. package/daemon/dist/routes/scopes.d.ts.map +1 -1
  232. package/daemon/dist/routes/scopes.js +74 -20
  233. package/daemon/dist/routes/scopes.js.map +1 -1
  234. package/daemon/dist/routes/slices.d.ts +2 -2
  235. package/daemon/dist/routes/slices.d.ts.map +1 -1
  236. package/daemon/dist/routes/slices.js +18 -1
  237. package/daemon/dist/routes/slices.js.map +1 -1
  238. package/daemon/dist/routes/spec-library.d.ts.map +1 -1
  239. package/daemon/dist/routes/spec-library.js +11 -2
  240. package/daemon/dist/routes/spec-library.js.map +1 -1
  241. package/daemon/dist/routes/terminal.d.ts.map +1 -1
  242. package/daemon/dist/routes/terminal.js +14 -4
  243. package/daemon/dist/routes/terminal.js.map +1 -1
  244. package/daemon/dist/routes/views.d.ts.map +1 -1
  245. package/daemon/dist/routes/views.js +11 -1
  246. package/daemon/dist/routes/views.js.map +1 -1
  247. package/daemon/dist/server.d.ts +1 -0
  248. package/daemon/dist/server.d.ts.map +1 -1
  249. package/daemon/dist/server.js +3 -0
  250. package/daemon/dist/server.js.map +1 -1
  251. package/daemon/dist/startup.d.ts.map +1 -1
  252. package/daemon/dist/startup.js +19 -5
  253. package/daemon/dist/startup.js.map +1 -1
  254. package/daemon/docs/reference/getting-started.md +13 -1
  255. package/daemon/docs/reference/health-diagnosis.md +83 -6
  256. package/daemon/docs/reference/project-workspace.md +23 -0
  257. package/daemon/docs/reference/scoped-operating-posture.md +95 -0
  258. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +40 -5
  259. package/dist/build-info.js +3 -3
  260. package/dist/commands/context.d.ts.map +1 -1
  261. package/dist/commands/context.js +66 -124
  262. package/dist/commands/context.js.map +1 -1
  263. package/dist/commands/health.d.ts.map +1 -1
  264. package/dist/commands/health.js +17 -2
  265. package/dist/commands/health.js.map +1 -1
  266. package/dist/commands/queue.d.ts.map +1 -1
  267. package/dist/commands/queue.js +5 -1
  268. package/dist/commands/queue.js.map +1 -1
  269. package/dist/commands/rig-mode.d.ts +2 -2
  270. package/dist/commands/rig-mode.d.ts.map +1 -1
  271. package/dist/commands/rig-mode.js +36 -11
  272. package/dist/commands/rig-mode.js.map +1 -1
  273. package/dist/lib/context-git.d.ts +141 -0
  274. package/dist/lib/context-git.d.ts.map +1 -0
  275. package/dist/lib/context-git.js +256 -0
  276. package/dist/lib/context-git.js.map +1 -0
  277. package/dist/lib/context-install.d.ts +5 -0
  278. package/dist/lib/context-install.d.ts.map +1 -0
  279. package/dist/lib/context-install.js +125 -0
  280. package/dist/lib/context-install.js.map +1 -0
  281. package/dist/lib/work-install.d.ts.map +1 -1
  282. package/dist/lib/work-install.js +11 -36
  283. package/dist/lib/work-install.js.map +1 -1
  284. package/dist/local-reading.d.ts +31 -0
  285. package/dist/local-reading.d.ts.map +1 -0
  286. package/dist/local-reading.js +62 -0
  287. package/dist/local-reading.js.map +1 -0
  288. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts +38 -0
  289. package/node_modules/@openrig/daemon/dist/attention-surface.d.ts.map +1 -0
  290. package/node_modules/@openrig/daemon/dist/attention-surface.js +3 -0
  291. package/node_modules/@openrig/daemon/dist/attention-surface.js.map +1 -0
  292. package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
  293. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
  294. package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
  295. package/node_modules/@openrig/daemon/dist/db/all-migrations.js +12 -2
  296. package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
  297. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts +4 -0
  298. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.d.ts.map +1 -0
  299. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js +21 -0
  300. package/node_modules/@openrig/daemon/dist/db/migrations/080_scoped_operating_posture.js.map +1 -0
  301. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.d.ts +3 -0
  302. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.d.ts.map +1 -0
  303. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.js +9 -0
  304. package/node_modules/@openrig/daemon/dist/db/migrations/081_human_notification_intent.js.map +1 -0
  305. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts +5 -0
  306. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.d.ts.map +1 -0
  307. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.js +7 -0
  308. package/node_modules/@openrig/daemon/dist/db/migrations/082_archive_identity_provenance.js.map +1 -0
  309. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.d.ts +4 -0
  310. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.d.ts.map +1 -0
  311. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.js +12 -0
  312. package/node_modules/@openrig/daemon/dist/db/migrations/083_review_read_indexes.js.map +1 -0
  313. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts +5 -0
  314. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.d.ts.map +1 -0
  315. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.js +14 -0
  316. package/node_modules/@openrig/daemon/dist/db/migrations/084_inventory_event_indexes.js.map +1 -0
  317. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +1 -0
  318. package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
  319. package/node_modules/@openrig/daemon/dist/domain/execution-view.js +38 -19
  320. package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
  321. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts +17 -0
  322. package/node_modules/@openrig/daemon/dist/domain/files/file-read.d.ts.map +1 -0
  323. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js +24 -0
  324. package/node_modules/@openrig/daemon/dist/domain/files/file-read.js.map +1 -0
  325. package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +4 -4
  326. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts +13 -12
  327. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
  328. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js +40 -77
  329. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js.map +1 -1
  330. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +2 -0
  331. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
  332. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +2 -0
  333. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
  334. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +2 -0
  335. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  336. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +2 -0
  337. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  338. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +4 -1
  339. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  340. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +85 -3
  341. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  342. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  343. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +8 -1
  344. package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  345. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +3 -0
  346. package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -1
  347. package/node_modules/@openrig/daemon/dist/domain/health-context.js +78 -6
  348. package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -1
  349. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +2 -1
  350. package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -1
  351. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +8 -2
  352. package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -1
  353. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +51 -1
  354. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -1
  355. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +60 -9
  356. package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -1
  357. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +7 -1
  358. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
  359. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +59 -26
  360. package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
  361. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +2 -0
  362. package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -1
  363. package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -1
  364. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
  365. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +23 -3
  366. package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
  367. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts +10 -3
  368. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  369. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js +26 -8
  370. package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js.map +1 -1
  371. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +19 -6
  372. package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  373. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +61 -11
  374. package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
  375. package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
  376. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +6 -2
  377. package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
  378. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +1 -0
  379. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  380. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +19 -7
  381. package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
  382. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.d.ts +7 -6
  383. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -1
  384. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.js +25 -11
  385. package/node_modules/@openrig/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  386. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts +49 -0
  387. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -0
  388. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js +255 -0
  389. package/node_modules/@openrig/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -0
  390. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -1
  391. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js +20 -0
  392. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -1
  393. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts +2 -2
  394. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -1
  395. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js +19 -3
  396. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -1
  397. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts +12 -7
  398. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -1
  399. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js +14 -3
  400. package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -1
  401. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts +2 -2
  402. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  403. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +2 -2
  404. package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  405. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts +1 -0
  406. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  407. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +3 -0
  408. package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  409. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts +4 -0
  410. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  411. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +10 -1
  412. package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  413. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts +2 -0
  414. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  415. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js +1 -1
  416. package/node_modules/@openrig/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  417. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts +30 -2
  418. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  419. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js +53 -13
  420. package/node_modules/@openrig/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  421. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +2 -0
  422. package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
  423. package/node_modules/@openrig/daemon/dist/domain/view-projector.js +1 -1
  424. package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
  425. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts +18 -0
  426. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -0
  427. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js +66 -0
  428. package/node_modules/@openrig/daemon/dist/domain/workspace/project-catalog.js.map +1 -0
  429. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts +29 -0
  430. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.d.ts.map +1 -0
  431. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js +125 -0
  432. package/node_modules/@openrig/daemon/dist/domain/workspace/project-read.js.map +1 -0
  433. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +1 -0
  434. package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -1
  435. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts +3 -0
  436. package/node_modules/@openrig/daemon/dist/local-reading-surface.d.ts.map +1 -0
  437. package/node_modules/@openrig/daemon/dist/local-reading-surface.js +3 -0
  438. package/node_modules/@openrig/daemon/dist/local-reading-surface.js.map +1 -0
  439. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts +2 -0
  440. package/node_modules/@openrig/daemon/dist/project-catalog-surface.d.ts.map +1 -0
  441. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js +2 -0
  442. package/node_modules/@openrig/daemon/dist/project-catalog-surface.js.map +1 -0
  443. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts +3 -0
  444. package/node_modules/@openrig/daemon/dist/routes/attention.d.ts.map +1 -0
  445. package/node_modules/@openrig/daemon/dist/routes/attention.js +155 -0
  446. package/node_modules/@openrig/daemon/dist/routes/attention.js.map +1 -0
  447. package/node_modules/@openrig/daemon/dist/routes/files.d.ts +1 -1
  448. package/node_modules/@openrig/daemon/dist/routes/files.d.ts.map +1 -1
  449. package/node_modules/@openrig/daemon/dist/routes/files.js +4 -24
  450. package/node_modules/@openrig/daemon/dist/routes/files.js.map +1 -1
  451. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts +4 -18
  452. package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
  453. package/node_modules/@openrig/daemon/dist/routes/queue.js +23 -33
  454. package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
  455. package/node_modules/@openrig/daemon/dist/routes/review.js +1 -1
  456. package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -1
  457. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js +67 -14
  458. package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -1
  459. package/node_modules/@openrig/daemon/dist/routes/rigs.js +5 -1
  460. package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
  461. package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts.map +1 -1
  462. package/node_modules/@openrig/daemon/dist/routes/scopes.js +74 -20
  463. package/node_modules/@openrig/daemon/dist/routes/scopes.js.map +1 -1
  464. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts +2 -2
  465. package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +1 -1
  466. package/node_modules/@openrig/daemon/dist/routes/slices.js +18 -1
  467. package/node_modules/@openrig/daemon/dist/routes/slices.js.map +1 -1
  468. package/node_modules/@openrig/daemon/dist/routes/spec-library.d.ts.map +1 -1
  469. package/node_modules/@openrig/daemon/dist/routes/spec-library.js +11 -2
  470. package/node_modules/@openrig/daemon/dist/routes/spec-library.js.map +1 -1
  471. package/node_modules/@openrig/daemon/dist/routes/terminal.d.ts.map +1 -1
  472. package/node_modules/@openrig/daemon/dist/routes/terminal.js +14 -4
  473. package/node_modules/@openrig/daemon/dist/routes/terminal.js.map +1 -1
  474. package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
  475. package/node_modules/@openrig/daemon/dist/routes/views.js +11 -1
  476. package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
  477. package/node_modules/@openrig/daemon/dist/server.d.ts +1 -0
  478. package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
  479. package/node_modules/@openrig/daemon/dist/server.js +3 -0
  480. package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
  481. package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
  482. package/node_modules/@openrig/daemon/dist/startup.js +19 -5
  483. package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
  484. package/node_modules/@openrig/daemon/package.json +13 -1
  485. package/package.json +1 -1
  486. package/tui/dist/attention/attention-model.d.ts +23 -0
  487. package/tui/dist/attention/attention-model.d.ts.map +1 -0
  488. package/tui/dist/attention/attention-model.js +85 -0
  489. package/tui/dist/attention/attention-model.js.map +1 -0
  490. package/tui/dist/attention/source-continuity.d.ts +9 -0
  491. package/tui/dist/attention/source-continuity.d.ts.map +1 -0
  492. package/tui/dist/attention/source-continuity.js +38 -0
  493. package/tui/dist/attention/source-continuity.js.map +1 -0
  494. package/tui/dist/commands/help.d.ts +4 -0
  495. package/tui/dist/commands/help.d.ts.map +1 -0
  496. package/tui/dist/commands/help.js +43 -0
  497. package/tui/dist/commands/help.js.map +1 -0
  498. package/tui/dist/commands/registry.d.ts.map +1 -1
  499. package/tui/dist/commands/registry.js +15 -1
  500. package/tui/dist/commands/registry.js.map +1 -1
  501. package/tui/dist/config/config-model.d.ts.map +1 -1
  502. package/tui/dist/config/config-model.js +33 -9
  503. package/tui/dist/config/config-model.js.map +1 -1
  504. package/tui/dist/connections/connections-model.js +1 -1
  505. package/tui/dist/connections/connections-model.js.map +1 -1
  506. package/tui/dist/daemon-client.d.ts +39 -7
  507. package/tui/dist/daemon-client.d.ts.map +1 -1
  508. package/tui/dist/daemon-client.js +74 -15
  509. package/tui/dist/daemon-client.js.map +1 -1
  510. package/tui/dist/demo-data.d.ts.map +1 -1
  511. package/tui/dist/demo-data.js +1 -0
  512. package/tui/dist/demo-data.js.map +1 -1
  513. package/tui/dist/detail.d.ts.map +1 -1
  514. package/tui/dist/detail.js +20 -7
  515. package/tui/dist/detail.js.map +1 -1
  516. package/tui/dist/execution/execution-model.d.ts +1 -0
  517. package/tui/dist/execution/execution-model.d.ts.map +1 -1
  518. package/tui/dist/execution/execution-model.js +88 -119
  519. package/tui/dist/execution/execution-model.js.map +1 -1
  520. package/tui/dist/health/health-model.d.ts.map +1 -1
  521. package/tui/dist/health/health-model.js +26 -34
  522. package/tui/dist/health/health-model.js.map +1 -1
  523. package/tui/dist/hydrate.d.ts +1 -1
  524. package/tui/dist/hydrate.d.ts.map +1 -1
  525. package/tui/dist/hydrate.js +89 -23
  526. package/tui/dist/hydrate.js.map +1 -1
  527. package/tui/dist/input.d.ts.map +1 -1
  528. package/tui/dist/input.js +20 -3
  529. package/tui/dist/input.js.map +1 -1
  530. package/tui/dist/live.d.ts +3 -1
  531. package/tui/dist/live.d.ts.map +1 -1
  532. package/tui/dist/live.js +66 -7
  533. package/tui/dist/live.js.map +1 -1
  534. package/tui/dist/local-reading.d.ts +54 -0
  535. package/tui/dist/local-reading.d.ts.map +1 -0
  536. package/tui/dist/local-reading.js +122 -0
  537. package/tui/dist/local-reading.js.map +1 -0
  538. package/tui/dist/main.js +121 -34
  539. package/tui/dist/main.js.map +1 -1
  540. package/tui/dist/motion.d.ts +2 -0
  541. package/tui/dist/motion.d.ts.map +1 -1
  542. package/tui/dist/motion.js +4 -0
  543. package/tui/dist/motion.js.map +1 -1
  544. package/tui/dist/navigator.d.ts.map +1 -1
  545. package/tui/dist/navigator.js +14 -3
  546. package/tui/dist/navigator.js.map +1 -1
  547. package/tui/dist/page-read.d.ts +19 -0
  548. package/tui/dist/page-read.d.ts.map +1 -0
  549. package/tui/dist/page-read.js +84 -0
  550. package/tui/dist/page-read.js.map +1 -0
  551. package/tui/dist/pulse/pulse-model.d.ts.map +1 -1
  552. package/tui/dist/pulse/pulse-model.js +3 -4
  553. package/tui/dist/pulse/pulse-model.js.map +1 -1
  554. package/tui/dist/reading.d.ts +36 -0
  555. package/tui/dist/reading.d.ts.map +1 -0
  556. package/tui/dist/reading.js +89 -0
  557. package/tui/dist/reading.js.map +1 -0
  558. package/tui/dist/render.d.ts +5 -0
  559. package/tui/dist/render.d.ts.map +1 -1
  560. package/tui/dist/render.js +190 -174
  561. package/tui/dist/render.js.map +1 -1
  562. package/tui/dist/scopes/scopes-model.d.ts +3 -0
  563. package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
  564. package/tui/dist/scopes/scopes-model.js +8 -2
  565. package/tui/dist/scopes/scopes-model.js.map +1 -1
  566. package/tui/dist/sections.d.ts +2 -0
  567. package/tui/dist/sections.d.ts.map +1 -1
  568. package/tui/dist/sections.js +9 -5
  569. package/tui/dist/sections.js.map +1 -1
  570. package/tui/dist/startup.d.ts +10 -1
  571. package/tui/dist/startup.d.ts.map +1 -1
  572. package/tui/dist/startup.js +99 -27
  573. package/tui/dist/startup.js.map +1 -1
  574. package/tui/dist/state.d.ts.map +1 -1
  575. package/tui/dist/state.js +121 -22
  576. package/tui/dist/state.js.map +1 -1
  577. package/tui/dist/stylize.js +28 -28
  578. package/tui/dist/stylize.js.map +1 -1
  579. package/tui/dist/terminals/terminal-model.d.ts +57 -0
  580. package/tui/dist/terminals/terminal-model.d.ts.map +1 -0
  581. package/tui/dist/terminals/terminal-model.js +113 -0
  582. package/tui/dist/terminals/terminal-model.js.map +1 -0
  583. package/tui/dist/types.d.ts +84 -1
  584. package/tui/dist/types.d.ts.map +1 -1
@@ -30,6 +30,8 @@
30
30
  // not found), so the route JSON and the CLI JSON carry ONE contract for every
31
31
  // outcome.
32
32
  import { composeView } from "./view-composer.js";
33
+ import { createHash } from "node:crypto";
34
+ import { buildGridRoot } from "./herdr-adapter.js";
33
35
  // deriveViewMembers is a VALUE exported by the views store (not the composer).
34
36
  import { deriveViewMembers } from "./terminal-views-store.js";
35
37
  export const DEFAULT_PROVIDER = "herdr";
@@ -65,26 +67,60 @@ export class TerminalService {
65
67
  if (!provider) {
66
68
  return errorResult(providerName, "unknown_provider", `unknown provider '${providerName}' — expected herdr or cmux`);
67
69
  }
68
- const view = (req.view ?? "").trim();
69
- if (!view) {
70
- return errorResult(providerName, "view_required", "a view argument is required (a rig name, mission:<id>, slice:<id>, or a saved-view id)");
70
+ const composed = await this.resolveComposed(req.view);
71
+ if ("code" in composed)
72
+ return errorResult(providerName, composed.code, composed.error);
73
+ if (req.expectedPlan !== undefined && req.expectedPlan !== this.planId(providerName, composed)) {
74
+ return errorResult(providerName, "preview_changed", "View membership or layout changed. Refresh the preview before Open; nothing was launched.");
71
75
  }
72
- const resolved = await this.resolveView(view);
73
- if ("code" in resolved) {
74
- return errorResult(providerName, resolved.code, resolved.error);
75
- }
76
- const refined = await this.refineLiveness(resolved.members);
77
- const composed = composeView(resolved.id, refined, {
78
- resolveHost: (id) => this.deps.resolveHost(id),
79
- });
80
76
  return provider.openView(composed);
81
77
  }
78
+ async resolveComposed(viewArg) {
79
+ const view = (viewArg ?? "").trim();
80
+ if (!view)
81
+ return { code: "view_required", error: "a view argument is required" };
82
+ const resolved = await this.resolveView(view);
83
+ if ("code" in resolved)
84
+ return resolved;
85
+ return composeView(resolved.id, await this.refineLiveness(resolved.members), { resolveHost: (id) => this.deps.resolveHost(id) });
86
+ }
87
+ planId(provider, composed) {
88
+ return createHash("sha256").update(JSON.stringify({ provider, composed, grids: composed.pages.map(buildGridRoot) })).digest("hex");
89
+ }
90
+ /** Passive: inventory, local has-session and provider probe only. Never openView. */
91
+ async previewView(req) {
92
+ const providerName = (req.provider ?? DEFAULT_PROVIDER).trim() || DEFAULT_PROVIDER;
93
+ const provider = this.deps.resolveProvider(providerName);
94
+ if (!provider)
95
+ return errorResult(providerName, "unknown_provider", `unknown provider '${providerName}'`);
96
+ const composed = await this.resolveComposed(req.view);
97
+ if ("code" in composed)
98
+ return errorResult(providerName, composed.code, composed.error);
99
+ return { provider: providerName, view: req.view, composed, grids: composed.pages.map(buildGridRoot), planId: this.planId(providerName, composed), status: await provider.status() };
100
+ }
82
101
  /** List saved views + the rig names openable as derived views. */
83
- async listViews() {
84
- return {
102
+ async listViews(detail = false) {
103
+ const result = {
85
104
  saved: this.deps.viewsStore.list(),
86
105
  rigs: await this.deps.listRigNames(),
87
106
  };
107
+ if (detail) {
108
+ result.catalog = [];
109
+ const entries = [
110
+ ...result.saved.map((s) => ({ view: `saved:${s.id}`, name: s.name, kind: "saved" })),
111
+ ...result.rigs.map((name) => ({ view: `rig:${name}`, name, kind: "derived" })),
112
+ ];
113
+ const inventory = await this.deps.listRigSeatsBatch?.(result.rigs);
114
+ for (const entry of entries) {
115
+ const rows = entry.kind === "derived" ? inventory?.get(entry.name) : undefined;
116
+ const plan = rows ? composeView(entry.view, await this.refineLiveness(deriveViewMembers(rows, { readOnly: false })), { resolveHost: id => this.deps.resolveHost(id) })
117
+ : await this.resolveComposed(entry.view);
118
+ if ("code" in plan)
119
+ continue;
120
+ result.catalog.push({ ...entry, members: [...plan.opened, ...plan.absent, ...plan.degraded].map((m) => m.seat), ready: plan.opened.length, absent: plan.absent.length, degraded: plan.degraded.length, pages: plan.pages.length });
121
+ }
122
+ }
123
+ return result;
88
124
  }
89
125
  /** Provider availability + liveness (doctor). Unknown named provider → empty report for it. */
90
126
  async status(providerName) {
@@ -106,6 +142,10 @@ export class TerminalService {
106
142
  }
107
143
  /** Resolve a view argument into composer-ready members (precedence in the file header). */
108
144
  async resolveView(view) {
145
+ if (view.startsWith("saved:")) {
146
+ const saved = this.deps.viewsStore.get(view.slice(6));
147
+ return saved ? { id: saved.id, members: saved.members.map(savedMemberToInput) } : { code: "view_not_found", error: `unknown saved view '${view.slice(6)}'` };
148
+ }
109
149
  // 1. derived scope prefixes → live, read-only, never persisted.
110
150
  if (view.startsWith("mission:") || view.startsWith("slice:")) {
111
151
  const rows = await this.deps.listScopeSeats(view);
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-service.js","sourceRoot":"","sources":["../../../src/domain/terminal/terminal-service.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,qBAAqB;AACrB,EAAE;AACF,yCAAyC;AACzC,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,2CAA2C;AAC3C,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,gBAAgB;AAChB,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,WAAW;AAEX,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AACvE,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAiB9D,MAAM,CAAC,MAAM,gBAAgB,GAAyB,OAAO,CAAC;AA8C9D,8FAA8F;AAC9F,SAAS,WAAW,CAAC,QAAgB,EAAE,IAAY,EAAE,KAAa;IAChE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED,oGAAoG;AACpG,SAAS,kBAAkB,CAAC,CAAkB;IAC5C,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI;QACxB,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI;QACpC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;QAC7B,4EAA4E;QAC5E,2EAA2E;QAC3E,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAID,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAE1D,sFAAsF;IACtF,KAAK,CAAC,QAAQ,CAAC,GAAoB;QACjC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,WAAW,CAChB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,YAAY,4BAA4B,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,WAAW,CAAC,YAAY,EAAE,eAAe,EAAE,wFAAwF,CAAC,CAAC;QAC9I,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE;YACjD,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,SAAS;QACb,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YAClC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,MAAM,CAAC,YAAqB;QAChC,MAAM,KAAK,GAAa,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI;oBACJ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;oBAC9D,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,IAAI,GAAG,EAAE;iBACjE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,2FAA2F;IACnF,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,6BAA6B,IAAI,GAAG,EAAE,CAAC;YACjF,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QAED,+EAA+E;QAC/E,sDAAsD;QACtD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,uBAAuB,IAAI,8BAA8B,EAAE,CAAC;YACtG,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACtH,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7E,CAAC;QAED,8EAA8E;QAC9E,wEAAwE;QACxE,6EAA6E;QAC7E,4EAA4E;QAC5E,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QACD,+EAA+E;QAC/E,0EAA0E;QAC1E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,MAAM,GAAG,EAAE,CAAC;QACtE,CAAC;QAED,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1E,CAAC;QAED,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,iBAAiB,IAAI,kEAAkE;SAC/F,CAAC;IACJ,CAAC;IAED,2GAA2G;IACnG,KAAK,CAAC,cAAc,CAAC,OAA0B;QACrD,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"terminal-service.js","sourceRoot":"","sources":["../../../src/domain/terminal/terminal-service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ProjectRead } from "./workspace/project-read.js";
1
2
  import type Database from "better-sqlite3";
2
3
  import type { EventBus } from "./event-bus.js";
3
4
  import { type ExecutionViewDeps } from "./execution-view.js";
@@ -56,6 +57,7 @@ export declare class ViewProjector {
56
57
  rig?: string;
57
58
  limit?: number;
58
59
  mission?: string;
60
+ project?: ProjectRead | null;
59
61
  }): ViewQueryResult;
60
62
  list(): {
61
63
  builtIn: BuiltInViewName[];
@@ -1 +1 @@
1
- {"version":3,"file":"view-projector.d.ts","sourceRoot":"","sources":["../../src/domain/view-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,mBAAmB,+GAYtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAWD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAmBD,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAG/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;IAS7B,OAAO,CAAC,aAAa,CAAkC;IACvD,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAI/C;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;IAyBlG,IAAI,IAAI;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE;IAI5D,OAAO,CAAC,UAAU;IAuKlB,OAAO,CAAC,SAAS;IA4BjB;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,UAAU;IAgCd,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAOlD,eAAe,IAAI,UAAU,EAAE;IAO/B;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQxD,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,eAAe;CAUxB"}
1
+ {"version":3,"file":"view-projector.d.ts","sourceRoot":"","sources":["../../src/domain/view-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjF;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,mBAAmB,+GAYtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAWD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAmBD,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAG/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;IAS7B,OAAO,CAAC,aAAa,CAAkC;IACvD,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAI/C;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,GAAG,eAAe;IAyBhI,IAAI,IAAI;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE;IAI5D,OAAO,CAAC,UAAU;IAuKlB,OAAO,CAAC,SAAS;IA4BjB;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,GAAG,UAAU;IAgCd,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAOlD,eAAe,IAAI,UAAU,EAAE;IAO/B;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQxD,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,eAAe;CAUxB"}
@@ -85,7 +85,7 @@ export class ViewProjector {
85
85
  if (!this.executionDeps) {
86
86
  throw new ViewProjectorError("view_query_failed", "execution view deps are not wired on this daemon (setExecutionDeps was never called)");
87
87
  }
88
- const doc = buildExecutionView(this.executionDeps, { mission: opts?.mission, rig: opts?.rig });
88
+ const doc = buildExecutionView(opts?.project ? { ...this.executionDeps, slicesRoot: () => opts.project.missionsRoot } : this.executionDeps, { mission: opts?.mission, rig: opts?.rig, project: opts?.project?.id });
89
89
  return { viewName: "execution", generatedAt: this.now().toISOString(), rows: [doc], rowCount: 1 };
90
90
  }
91
91
  if (BUILT_IN_VIEW_NAMES.includes(viewName)) {
@@ -1 +1 @@
1
- {"version":3,"file":"view-projector.js","sourceRoot":"","sources":["../../src/domain/view-projector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-projector.js","sourceRoot":"","sources":["../../src/domain/view-projector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare class ProjectReadError extends Error {
2
+ readonly code: string;
3
+ readonly candidates?: string[] | undefined;
4
+ constructor(code: string, message: string, candidates?: string[] | undefined);
5
+ }
6
+ export declare function yamlObject(file: string): Record<string, any>;
7
+ /** The existing workspace.yaml catalog, shared by work-install and project reads. */
8
+ export declare function readProjectCatalog(catalogPath: string): Array<{
9
+ id: string;
10
+ root: string;
11
+ }> | null;
12
+ export declare function selectCatalogProject(catalogPath: string, selectedId?: string): {
13
+ id: string;
14
+ root: string;
15
+ } | null;
16
+ /** Exact project membership; unscoped historical rows are not assigned to a selected project. */
17
+ export declare function belongsToProject(raw: string | null | undefined, id: string): boolean;
18
+ //# sourceMappingURL=project-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-catalog.d.ts","sourceRoot":"","sources":["../../../src/domain/workspace/project-catalog.ts"],"names":[],"mappings":"AAIA,qBAAa,gBAAiB,SAAQ,KAAK;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAmB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE;gBAA7D,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,UAAU,CAAC,EAAE,MAAM,EAAE,YAAA;CACnF;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM5D;AACD,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CASlG;AACD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWlH;AACD,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAKpF"}
@@ -0,0 +1,66 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { parse } from "yaml";
4
+ export class ProjectReadError extends Error {
5
+ code;
6
+ candidates;
7
+ constructor(code, message, candidates) {
8
+ super(message);
9
+ this.code = code;
10
+ this.candidates = candidates;
11
+ }
12
+ }
13
+ export function yamlObject(file) {
14
+ try {
15
+ const value = parse(fs.readFileSync(file, "utf8"));
16
+ if (!value || typeof value !== "object" || Array.isArray(value))
17
+ throw new Error("expected a YAML object");
18
+ return value;
19
+ }
20
+ catch (err) {
21
+ throw new ProjectReadError("workspace_catalog_invalid", `${file}: ${err.message}`);
22
+ }
23
+ }
24
+ /** The existing workspace.yaml catalog, shared by work-install and project reads. */
25
+ export function readProjectCatalog(catalogPath) {
26
+ if (!fs.existsSync(catalogPath))
27
+ return null;
28
+ const entries = yamlObject(catalogPath).projects;
29
+ if (!Array.isArray(entries) || entries.some(e => !e || typeof e.id !== "string" || typeof e.root !== "string"))
30
+ throw new ProjectReadError("workspace_catalog_invalid", `${catalogPath} projects must each declare string id and root values`);
31
+ const ids = entries.map(e => e.id);
32
+ const duplicate = ids.find((id, i) => ids.indexOf(id) !== i);
33
+ if (duplicate)
34
+ throw new ProjectReadError("project_identity_ambiguous", `project id '${duplicate}' names multiple roots in ${catalogPath}`);
35
+ return entries.map(e => ({ id: e.id, root: e.root }));
36
+ }
37
+ export function selectCatalogProject(catalogPath, selectedId) {
38
+ const projects = readProjectCatalog(catalogPath);
39
+ if (!projects)
40
+ return null;
41
+ const candidates = projects.map(p => p.id);
42
+ const id = selectedId ?? (projects.length === 1 ? projects[0].id : undefined);
43
+ if (!id)
44
+ throw new ProjectReadError("project_required", "multiple projects are declared; select one with --project", candidates);
45
+ const selected = projects.find(p => p.id === id);
46
+ if (!selected)
47
+ throw new ProjectReadError("project_not_found", `project '${id}' is not declared in ${catalogPath}`, candidates);
48
+ const nominal = path.resolve(path.dirname(catalogPath), selected.root);
49
+ try {
50
+ return { id, root: fs.realpathSync(nominal) };
51
+ }
52
+ catch {
53
+ throw new ProjectReadError("project_root_missing", `project '${id}' root does not exist: ${nominal}`);
54
+ }
55
+ }
56
+ /** Exact project membership; unscoped historical rows are not assigned to a selected project. */
57
+ export function belongsToProject(raw, id) {
58
+ try {
59
+ const tags = JSON.parse(raw ?? "null");
60
+ return Array.isArray(tags) && tags.flatMap(t => typeof t === "string" ? t.split(",").map(s => s.trim()) : []).includes(`project:${id}`);
61
+ }
62
+ catch {
63
+ return false;
64
+ }
65
+ }
66
+ //# sourceMappingURL=project-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-catalog.js","sourceRoot":"","sources":["../../../src/domain/workspace/project-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface ProjectRead {
2
+ id: string;
3
+ root: string;
4
+ name: string;
5
+ sourcePath: string | null;
6
+ missionsRoot: string;
7
+ error?: string;
8
+ }
9
+ type ReadContext = {
10
+ get: (key: never) => unknown;
11
+ req: {
12
+ query: (key: string) => string | undefined;
13
+ };
14
+ };
15
+ export declare function projectCatalogPaths(c: Pick<ReadContext, "get">): {
16
+ workspace: string;
17
+ catalog: string;
18
+ };
19
+ export declare function insideProject(root: string, target: string): string;
20
+ export declare function workSource(root: string, dir: string, validate?: boolean): string;
21
+ export declare function listProjects(c: Pick<ReadContext, "get">): {
22
+ catalogPath: string;
23
+ projects: ProjectRead[];
24
+ };
25
+ export declare function selectedProject(c: ReadContext): ProjectRead | null;
26
+ export declare function projectReadResponse(err: unknown): Response;
27
+ export declare function projectMission(p: ProjectRead, mission: string): string;
28
+ export {};
29
+ //# sourceMappingURL=project-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-read.d.ts","sourceRoot":"","sources":["../../../src/domain/workspace/project-read.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACxI,KAAK,WAAW,GAAG;IAAE,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IAAC,GAAG,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC;AACzG,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;;;EAM9D;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKlE;AACD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,MAAM,CAoB7E;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAQ1G;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAYlE;AACD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,CAE1D;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAkBtE"}
@@ -0,0 +1,125 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { parse, YAMLParseError } from "yaml";
4
+ import { NODE_FILE_PRECEDENCE } from "../scope/node-file.js";
5
+ import { readProjectCatalog, selectCatalogProject, yamlObject, ProjectReadError } from "./project-catalog.js";
6
+ export function projectCatalogPaths(c) {
7
+ const store = c.get("settingsStore");
8
+ const workspace = store?.resolveOne("workspace.root").value;
9
+ if (typeof workspace !== "string" || !workspace)
10
+ throw new ProjectReadError("workspace_root_missing", "Workspace root is not configured");
11
+ const configured = store?.resolveOne("workspace.catalog_path").value;
12
+ return { workspace, catalog: typeof configured === "string" && configured ? configured : path.join(workspace, "workspace.yaml") };
13
+ }
14
+ export function insideProject(root, target) {
15
+ const actual = fs.realpathSync(target);
16
+ const rel = path.relative(root, actual);
17
+ if (path.isAbsolute(rel) || rel === ".." || rel.startsWith(`..${path.sep}`))
18
+ throw new ProjectReadError("project_path_escape", `Source is outside selected project: ${target}`);
19
+ return actual;
20
+ }
21
+ export function workSource(root, dir, validate = true) {
22
+ insideProject(root, dir);
23
+ const source = NODE_FILE_PRECEDENCE.map(name => path.join(dir, name)).find(file => fs.existsSync(file));
24
+ if (!source)
25
+ throw new ProjectReadError("source_unavailable", `No work source at ${dir}`);
26
+ insideProject(root, source);
27
+ if (!validate)
28
+ return source;
29
+ const text = fs.readFileSync(source, "utf8");
30
+ if (text.startsWith("---")) {
31
+ const end = text.indexOf("\n---", 3);
32
+ if (end < 0)
33
+ throw new ProjectReadError("source_invalid", `Unterminated frontmatter: ${source}`);
34
+ let value;
35
+ try {
36
+ value = parse(text.slice(3, end));
37
+ }
38
+ catch (err) {
39
+ if (!(err instanceof YAMLParseError))
40
+ throw err;
41
+ const at = err.linePos?.[0];
42
+ throw new ProjectReadError("source_invalid", `Invalid frontmatter: ${source} (${err.code}${at ? `, line ${at.line}, column ${at.col}` : ""}). Read the source to correct it.`);
43
+ }
44
+ if (value !== null && (typeof value !== "object" || Array.isArray(value)))
45
+ throw new ProjectReadError("source_invalid", `Invalid frontmatter: ${source}`);
46
+ }
47
+ return source;
48
+ }
49
+ function projectEntry(id, root) {
50
+ let p = { id, root, name: id, sourcePath: null, missionsRoot: path.join(root, "missions") };
51
+ try {
52
+ p.root = fs.realpathSync(root);
53
+ const manifest = path.join(p.root, "project.yaml");
54
+ const value = fs.existsSync(manifest) ? yamlObject(insideProject(p.root, manifest)) : {};
55
+ const declared = value.id ?? value.metadata?.id;
56
+ if (declared && declared !== id)
57
+ throw new ProjectReadError("project_identity_conflict", `Catalog ${id} conflicts with project identity ${declared}`);
58
+ p.name = typeof value.metadata?.name === "string" ? value.metadata.name : id;
59
+ const missions = value.missions?.root ?? "missions";
60
+ if (typeof missions !== "string" || path.isAbsolute(missions) || missions.split(/[\\/]/).includes(".."))
61
+ throw new ProjectReadError("missions_root_escape", "Invalid project missions.root");
62
+ p.missionsRoot = path.resolve(p.root, missions);
63
+ p.sourcePath = workSource(p.root, p.root);
64
+ if (fs.existsSync(p.missionsRoot))
65
+ insideProject(p.root, p.missionsRoot);
66
+ }
67
+ catch (err) {
68
+ p.error = err.message;
69
+ }
70
+ return p;
71
+ }
72
+ export function listProjects(c) {
73
+ const { workspace, catalog } = projectCatalogPaths(c);
74
+ const entries = readProjectCatalog(catalog);
75
+ if (entries)
76
+ return { catalogPath: catalog, projects: entries.map(e => projectEntry(e.id, path.resolve(path.dirname(catalog), e.root))) };
77
+ // Uncatalogued workspaces keep their existing single-project authority.
78
+ const manifest = path.join(workspace, "project.yaml");
79
+ const value = fs.existsSync(manifest) ? yamlObject(manifest) : {};
80
+ return { catalogPath: catalog, projects: [projectEntry(value.id ?? value.metadata?.id ?? "workspace", workspace)] };
81
+ }
82
+ export function selectedProject(c) {
83
+ const id = c.req.query("project");
84
+ if (id === undefined)
85
+ return null;
86
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(id))
87
+ throw new ProjectReadError("invalid_project", "Invalid project ID");
88
+ const { catalog } = projectCatalogPaths(c);
89
+ const selected = selectCatalogProject(catalog, id);
90
+ const p = selected ? projectEntry(selected.id, selected.root) : listProjects(c).projects.find(p => p.id === id);
91
+ if (!p)
92
+ throw new ProjectReadError("project_not_found", `Project ${id} is unavailable`);
93
+ if (c.req.query("projectRoot") && c.req.query("projectRoot") !== p.root)
94
+ throw new ProjectReadError("project_changed", `Project ${id} root changed; choose it again`);
95
+ if (p.error)
96
+ throw new ProjectReadError("project_unavailable", `${id}: ${p.error}`);
97
+ if (!fs.existsSync(p.missionsRoot))
98
+ throw new ProjectReadError("missions_unavailable", `${id}: missions root is unavailable: ${p.missionsRoot}`);
99
+ return p;
100
+ }
101
+ export function projectReadResponse(err) {
102
+ return Response.json({ error: err instanceof ProjectReadError ? err.code : "project_source_unavailable", message: err.message }, { status: 409 });
103
+ }
104
+ export function projectMission(p, mission) {
105
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(mission))
106
+ throw new ProjectReadError("invalid_mission", "Invalid mission directory");
107
+ const dir = path.join(p.missionsRoot, mission);
108
+ workSource(p.root, dir);
109
+ const slices = path.join(dir, "slices");
110
+ if (fs.existsSync(slices)) {
111
+ insideProject(p.root, slices);
112
+ for (const child of fs.readdirSync(slices, { withFileTypes: true })) {
113
+ // Keep containment checks for every source consumed by mission readers.
114
+ // A child's syntax belongs to that child's read, not its healthy siblings.
115
+ if (child.isDirectory() || child.isSymbolicLink()) {
116
+ const childDir = insideProject(p.root, path.join(slices, child.name));
117
+ const source = NODE_FILE_PRECEDENCE.map(name => path.join(childDir, name)).find(file => fs.existsSync(file));
118
+ if (source)
119
+ insideProject(p.root, source);
120
+ }
121
+ }
122
+ }
123
+ return dir;
124
+ }
125
+ //# sourceMappingURL=project-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-read.js","sourceRoot":"","sources":["../../../src/domain/workspace/project-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI9G,MAAM,UAAU,mBAAmB,CAAC,CAA2B;IAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,eAAwB,CAA8B,CAAC;IAC3E,MAAM,SAAS,GAAG,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;IAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,kCAAkC,CAAC,CAAC;IAC1I,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC;IACrE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,CAAC;AACpI,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,MAAc;IACxD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,uCAAuC,MAAM,EAAE,CAAC,CAAC;IAChL,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,QAAQ,GAAG,IAAI;IACnE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACxG,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;IAC1F,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,6BAA6B,MAAM,EAAE,CAAC,CAAC;QACjG,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,YAAY,cAAc,CAAC;gBAAE,MAAM,GAAG,CAAC;YAChD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,wBAAwB,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACjL,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,wBAAwB,MAAM,EAAE,CAAC,CAAC;IAC5J,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,YAAY,CAAC,EAAU,EAAE,IAAY;IAC5C,IAAI,CAAC,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;IACzG,IAAI,CAAC;QACH,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChD,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE;YAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,WAAW,EAAE,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QACtJ,CAAC,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC;QACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAC;QAC7L,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;YAAE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,KAAK,GAAI,GAAa,CAAC,OAAO,CAAC;IAAC,CAAC;IACnD,OAAO,CAAC,CAAC;AACX,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,CAA2B;IACtD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO;QAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1I,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAc;IAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACvH,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChH,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACxF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI;QAAE,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,WAAW,EAAE,gCAAgC,CAAC,CAAC;IACtK,IAAI,CAAC,CAAC,KAAK;QAAE,MAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,GAAG,EAAE,mCAAmC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IACjJ,OAAO,CAAC,CAAC;AACX,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC/J,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,CAAc,EAAE,OAAe;IAC5D,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;IACpI,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC/C,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,wEAAwE;YACxE,2EAA2E;YAC3E,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7G,IAAI,MAAM;oBAAE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { HEALTH_CATEGORIES, HEALTH_CONFIDENCE, HEALTH_RECORD_SCHEMA, HEALTH_SEVERITIES, HEALTH_STATUSES, adaptContextUsageEvidence, adaptLifecycleReceiptEvidence, adaptOccupantModelEvidence, adaptQueueTransitionEvidence, adaptTopologyActivityEvidence, adaptWatchdogHistoryEvidence, adaptWorkGraphEvidence, boundHealthEvidence, canonicalHealthJson, deriveHealthSourceFreshness, healthEpisodeId, projectHealthRecord, type BoundedHealthEvidence, type HealthCategory, type HealthConfidence, type HealthEvidenceReference, type HealthFreshnessState, type HealthQueryBounds, type HealthRecord, type HealthRecordDraft, type HealthScope, type HealthSeverity, type HealthSourceFreshness, type HealthStatus, } from "./domain/health-projection.js";
2
+ export type { OperatingPosture, OperatingContext } from "./domain/rig-mode/operating-posture.js";
2
3
  //# sourceMappingURL=health-projection-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health-projection-surface.d.ts","sourceRoot":"","sources":["../src/health-projection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"health-projection-surface.d.ts","sourceRoot":"","sources":["../src/health-projection-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { readAllowedFile } from "./domain/files/file-read.js";
2
+ export { decodeAllowlist, resolveAllowedDirectory, resolveAllowedPath, FilePathSafetyError } from "./domain/files/path-safety.js";
3
+ //# sourceMappingURL=local-reading-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-reading-surface.d.ts","sourceRoot":"","sources":["../src/local-reading-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { readAllowedFile } from "./domain/files/file-read.js";
2
+ export { decodeAllowlist, resolveAllowedDirectory, resolveAllowedPath, FilePathSafetyError } from "./domain/files/path-safety.js";
3
+ //# sourceMappingURL=local-reading-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-reading-surface.js","sourceRoot":"","sources":["../src/local-reading-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { readProjectCatalog, selectCatalogProject, ProjectReadError } from "./domain/workspace/project-catalog.js";
2
+ //# sourceMappingURL=project-catalog-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-catalog-surface.d.ts","sourceRoot":"","sources":["../src/project-catalog-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { readProjectCatalog, selectCatalogProject, ProjectReadError } from "./domain/workspace/project-catalog.js";
2
+ //# sourceMappingURL=project-catalog-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-catalog-surface.js","sourceRoot":"","sources":["../src/project-catalog-surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Hono } from "hono";
2
+ export declare function attentionRoutes(): Hono;
3
+ //# sourceMappingURL=attention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.d.ts","sourceRoot":"","sources":["../../src/routes/attention.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAa5B,wBAAgB,eAAe,IAAI,IAAI,CA6GtC"}