@ashlr/hub 3.12.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +29 -16
  3. package/dist/authority-surface.json +89 -43
  4. package/dist/build-identity.json +2 -2
  5. package/dist/cli/authority.d.ts +145 -33
  6. package/dist/cli/authority.js +1196 -313
  7. package/dist/cli/authority.js.map +1 -1
  8. package/dist/cli/cloud.js +12 -3
  9. package/dist/cli/cloud.js.map +1 -1
  10. package/dist/core/authority/protected-paths.js +11 -0
  11. package/dist/core/authority/protected-paths.js.map +1 -1
  12. package/dist/core/authority/resident.d.ts +101 -0
  13. package/dist/core/authority/resident.js +246 -0
  14. package/dist/core/authority/resident.js.map +1 -0
  15. package/dist/core/authority/types.d.ts +43 -0
  16. package/dist/core/authority/types.js +6 -0
  17. package/dist/core/authority/types.js.map +1 -1
  18. package/dist/core/cloud/budget.js +11 -1
  19. package/dist/core/cloud/budget.js.map +1 -1
  20. package/dist/core/cloud/cloud-api.d.ts +25 -2
  21. package/dist/core/cloud/cloud-api.js +139 -5
  22. package/dist/core/cloud/cloud-api.js.map +1 -1
  23. package/dist/core/cloud/pr-actions.d.ts +93 -0
  24. package/dist/core/cloud/pr-actions.js +436 -0
  25. package/dist/core/cloud/pr-actions.js.map +1 -0
  26. package/dist/core/cloud/pr-preview.d.ts +128 -0
  27. package/dist/core/cloud/pr-preview.js +228 -0
  28. package/dist/core/cloud/pr-preview.js.map +1 -0
  29. package/dist/core/cloud/store.d.ts +2 -0
  30. package/dist/core/cloud/store.js +28 -0
  31. package/dist/core/cloud/store.js.map +1 -1
  32. package/dist/core/cloud/timeline-api.d.ts +24 -0
  33. package/dist/core/cloud/timeline-api.js +46 -0
  34. package/dist/core/cloud/timeline-api.js.map +1 -0
  35. package/dist/core/cloud/timeline-types.d.ts +62 -0
  36. package/dist/core/cloud/timeline-types.js +36 -0
  37. package/dist/core/cloud/timeline-types.js.map +1 -0
  38. package/dist/core/cloud/timeline.d.ts +102 -0
  39. package/dist/core/cloud/timeline.js +919 -0
  40. package/dist/core/cloud/timeline.js.map +1 -0
  41. package/dist/core/cloud/tracker.js +67 -0
  42. package/dist/core/cloud/tracker.js.map +1 -1
  43. package/dist/core/cloud/types.d.ts +38 -0
  44. package/dist/core/cloud/types.js +1 -1
  45. package/dist/core/cloud/types.js.map +1 -1
  46. package/dist/core/daemon/service-install-authority.d.ts +10 -2
  47. package/dist/core/daemon/service-install-authority.js +14 -5
  48. package/dist/core/daemon/service-install-authority.js.map +1 -1
  49. package/dist/core/daemon/service.d.ts +15 -0
  50. package/dist/core/daemon/service.js +26 -0
  51. package/dist/core/daemon/service.js.map +1 -1
  52. package/dist/core/fleet/cloud-intake.d.ts +95 -0
  53. package/dist/core/fleet/cloud-intake.js +557 -0
  54. package/dist/core/fleet/cloud-intake.js.map +1 -0
  55. package/dist/core/fleet/dispatch-router.d.ts +13 -0
  56. package/dist/core/fleet/dispatch-router.js +32 -8
  57. package/dist/core/fleet/dispatch-router.js.map +1 -1
  58. package/dist/core/fleet/fleet-merge-state.d.ts +10 -0
  59. package/dist/core/fleet/fleet-merge-state.js.map +1 -1
  60. package/dist/core/fleet/host-merge.d.ts +5 -0
  61. package/dist/core/fleet/host-merge.js +11 -0
  62. package/dist/core/fleet/host-merge.js.map +1 -1
  63. package/dist/core/fleet/merge-gates.d.ts +8 -0
  64. package/dist/core/fleet/merge-gates.js +25 -5
  65. package/dist/core/fleet/merge-gates.js.map +1 -1
  66. package/dist/core/fleet/standing-merge-pass.js +30 -0
  67. package/dist/core/fleet/standing-merge-pass.js.map +1 -1
  68. package/dist/core/fleet/tick-hooks-live.d.ts +9 -0
  69. package/dist/core/fleet/tick-hooks-live.js +44 -5
  70. package/dist/core/fleet/tick-hooks-live.js.map +1 -1
  71. package/dist/core/fleet/verify-check-run.d.ts +90 -0
  72. package/dist/core/fleet/verify-check-run.js +274 -0
  73. package/dist/core/fleet/verify-check-run.js.map +1 -0
  74. package/dist/core/routing/budget-api.d.ts +11 -0
  75. package/dist/core/routing/budget-api.js +64 -8
  76. package/dist/core/routing/budget-api.js.map +1 -1
  77. package/dist/core/routing/budget-store.d.ts +22 -1
  78. package/dist/core/routing/budget-store.js +22 -8
  79. package/dist/core/routing/budget-store.js.map +1 -1
  80. package/dist/core/verse/account-health.js +9 -3
  81. package/dist/core/verse/account-health.js.map +1 -1
  82. package/dist/core/verse/activity-api.d.ts +5 -1
  83. package/dist/core/verse/activity-api.js +62 -14
  84. package/dist/core/verse/activity-api.js.map +1 -1
  85. package/dist/core/verse/authority-api.d.ts +9 -1
  86. package/dist/core/verse/authority-api.js +82 -2
  87. package/dist/core/verse/authority-api.js.map +1 -1
  88. package/dist/core/verse/seat-readiness.d.ts +25 -0
  89. package/dist/core/verse/seat-readiness.js +43 -6
  90. package/dist/core/verse/seat-readiness.js.map +1 -1
  91. package/dist/core/verse/verse-api.d.ts +3 -1
  92. package/dist/core/verse/verse-api.js +6 -0
  93. package/dist/core/verse/verse-api.js.map +1 -1
  94. package/dist/core/web/public/next/assets/{ActionMenu-B4-39f2S.js → ActionMenu-Dwjk6rUQ.js} +2 -2
  95. package/dist/core/web/public/next/assets/{ActionMenu-B4-39f2S.js.map → ActionMenu-Dwjk6rUQ.js.map} +1 -1
  96. package/dist/core/web/public/next/assets/Advanced-cVYTAsfB.js +2 -0
  97. package/dist/core/web/public/next/assets/{Advanced-B-LqYXvd.js.map → Advanced-cVYTAsfB.js.map} +1 -1
  98. package/dist/core/web/public/next/assets/App-IsaWDsdF.js +7 -0
  99. package/dist/core/web/public/next/assets/{App-E2zCDRxm.js.map → App-IsaWDsdF.js.map} +1 -1
  100. package/dist/core/web/public/next/assets/AppsSection-DDqeSrty.js +2 -0
  101. package/dist/core/web/public/next/assets/{AppsSection-8wXPPhZb.js.map → AppsSection-DDqeSrty.js.map} +1 -1
  102. package/dist/core/web/public/next/assets/{AreaTrend-BFimExYn.js → AreaTrend-C32rUaxm.js} +2 -2
  103. package/dist/core/web/public/next/assets/{AreaTrend-BFimExYn.js.map → AreaTrend-C32rUaxm.js.map} +1 -1
  104. package/dist/core/web/public/next/assets/AutonomyOffState-CmSSTHVe.css +1 -0
  105. package/dist/core/web/public/next/assets/AutonomyOffState-CpFYS3tQ.js +3 -0
  106. package/dist/core/web/public/next/assets/AutonomyOffState-CpFYS3tQ.js.map +1 -0
  107. package/dist/core/web/public/next/assets/AutonomySection-Dwn8UtOy.js +2 -0
  108. package/dist/core/web/public/next/assets/{AutonomySection-B46igJKR.js.map → AutonomySection-Dwn8UtOy.js.map} +1 -1
  109. package/dist/core/web/public/next/assets/{BranchBar-BRkrEQGs.js → BranchBar-ISZ7xUCj.js} +2 -2
  110. package/dist/core/web/public/next/assets/{BranchBar-BRkrEQGs.js.map → BranchBar-ISZ7xUCj.js.map} +1 -1
  111. package/dist/core/web/public/next/assets/BudgetControl-BARVp-En.js +2 -0
  112. package/dist/core/web/public/next/assets/BudgetControl-BARVp-En.js.map +1 -0
  113. package/dist/core/web/public/next/assets/{Button-BhO-WKPp.js → Button-DtE0rlWD.js} +2 -2
  114. package/dist/core/web/public/next/assets/{Button-BhO-WKPp.js.map → Button-DtE0rlWD.js.map} +1 -1
  115. package/dist/core/web/public/next/assets/{CapacityStrip-CkFz5vq2.js → CapacityStrip-DKbKA_Aa.js} +2 -2
  116. package/dist/core/web/public/next/assets/{CapacityStrip-CkFz5vq2.js.map → CapacityStrip-DKbKA_Aa.js.map} +1 -1
  117. package/dist/core/web/public/next/assets/{ChartFrame-SygZ7B3x.js → ChartFrame-DK_BDXCt.js} +2 -2
  118. package/dist/core/web/public/next/assets/{ChartFrame-SygZ7B3x.js.map → ChartFrame-DK_BDXCt.js.map} +1 -1
  119. package/dist/core/web/public/next/assets/ChatSection-C9myY4ei.js +3 -0
  120. package/dist/core/web/public/next/assets/ChatSection-C9myY4ei.js.map +1 -0
  121. package/dist/core/web/public/next/assets/{CloudBudgetForm-Bd91iStN.js → CloudBudgetForm-CvjK4Oh6.js} +2 -2
  122. package/dist/core/web/public/next/assets/{CloudBudgetForm-Bd91iStN.js.map → CloudBudgetForm-CvjK4Oh6.js.map} +1 -1
  123. package/dist/core/web/public/next/assets/{CommandPalette-B6SgDJH-.js → CommandPalette-DzPsth0u.js} +2 -2
  124. package/dist/core/web/public/next/assets/{CommandPalette-B6SgDJH-.js.map → CommandPalette-DzPsth0u.js.map} +1 -1
  125. package/dist/core/web/public/next/assets/CommandSection-Brp73iox.js +3 -0
  126. package/dist/core/web/public/next/assets/CommandSection-Brp73iox.js.map +1 -0
  127. package/dist/core/web/public/next/assets/{ConfirmDialog-Bv4hdK2T.js → ConfirmDialog-CLUhzaBj.js} +2 -2
  128. package/dist/core/web/public/next/assets/{ConfirmDialog-Bv4hdK2T.js.map → ConfirmDialog-CLUhzaBj.js.map} +1 -1
  129. package/dist/core/web/public/next/assets/{DeleteChatDialog-CH1Ix8Eh.js → DeleteChatDialog-C_eDhV8b.js} +2 -2
  130. package/dist/core/web/public/next/assets/{DeleteChatDialog-CH1Ix8Eh.js.map → DeleteChatDialog-C_eDhV8b.js.map} +1 -1
  131. package/dist/core/web/public/next/assets/{Dialog-BSsIFNqD.js → Dialog-BRd_B9OE.js} +2 -2
  132. package/dist/core/web/public/next/assets/{Dialog-BSsIFNqD.js.map → Dialog-BRd_B9OE.js.map} +1 -1
  133. package/dist/core/web/public/next/assets/{DiffPane-BpNuJmth.js → DiffPane-Cpr9soB2.js} +2 -2
  134. package/dist/core/web/public/next/assets/{DiffPane-BpNuJmth.js.map → DiffPane-Cpr9soB2.js.map} +1 -1
  135. package/dist/core/web/public/next/assets/{DiffViewer-CJarUvs0.js → DiffViewer-CNwd0W3Q.js} +2 -2
  136. package/dist/core/web/public/next/assets/{DiffViewer-CJarUvs0.js.map → DiffViewer-CNwd0W3Q.js.map} +1 -1
  137. package/dist/core/web/public/next/assets/DockHost-BcEq2qaS.js +2 -0
  138. package/dist/core/web/public/next/assets/{DockHost-DW9q0NdR.js.map → DockHost-BcEq2qaS.js.map} +1 -1
  139. package/dist/core/web/public/next/assets/{EmptyState-DPrd2aak.js → EmptyState-DsN1H6MC.js} +2 -2
  140. package/dist/core/web/public/next/assets/{EmptyState-DPrd2aak.js.map → EmptyState-DsN1H6MC.js.map} +1 -1
  141. package/dist/core/web/public/next/assets/{Epistemic-D7MxSmED.js → Epistemic-fycQTBRO.js} +2 -2
  142. package/dist/core/web/public/next/assets/{Epistemic-D7MxSmED.js.map → Epistemic-fycQTBRO.js.map} +1 -1
  143. package/dist/core/web/public/next/assets/EvidenceTimeline-PBDAiSuG.css +1 -0
  144. package/dist/core/web/public/next/assets/EvidenceTimeline-sCCAdnBK.js +2 -0
  145. package/dist/core/web/public/next/assets/EvidenceTimeline-sCCAdnBK.js.map +1 -0
  146. package/dist/core/web/public/next/assets/{FleetSection-BdZN6rGS.js → FleetSection-BG8iGraG.js} +3 -3
  147. package/dist/core/web/public/next/assets/{FleetSection-BdZN6rGS.js.map → FleetSection-BG8iGraG.js.map} +1 -1
  148. package/dist/core/web/public/next/assets/{Funnel-BeNQZWv2.js → Funnel-B88_wpA4.js} +2 -2
  149. package/dist/core/web/public/next/assets/{Funnel-BeNQZWv2.js.map → Funnel-B88_wpA4.js.map} +1 -1
  150. package/dist/core/web/public/next/assets/{GearTray-CIPtzeIx.js → GearTray-CpDt0xwj.js} +2 -2
  151. package/dist/core/web/public/next/assets/{GearTray-CIPtzeIx.js.map → GearTray-CpDt0xwj.js.map} +1 -1
  152. package/dist/core/web/public/next/assets/{GrowthSection-iiQg6wvK.js → GrowthSection-BvZezOsX.js} +2 -2
  153. package/dist/core/web/public/next/assets/{GrowthSection-iiQg6wvK.js.map → GrowthSection-BvZezOsX.js.map} +1 -1
  154. package/dist/core/web/public/next/assets/{HandoffDialog-DrQ6ofuy.js → HandoffDialog-B1G6gQyk.js} +2 -2
  155. package/dist/core/web/public/next/assets/{HandoffDialog-DrQ6ofuy.js.map → HandoffDialog-B1G6gQyk.js.map} +1 -1
  156. package/dist/core/web/public/next/assets/{Input-C0MQxEM6.js → Input-CI0yBHmn.js} +2 -2
  157. package/dist/core/web/public/next/assets/{Input-C0MQxEM6.js.map → Input-CI0yBHmn.js.map} +1 -1
  158. package/dist/core/web/public/next/assets/{LeaderCard-BRr3_yE-.js → LeaderCard-BxxiEg4e.js} +2 -2
  159. package/dist/core/web/public/next/assets/{LeaderCard-BRr3_yE-.js.map → LeaderCard-BxxiEg4e.js.map} +1 -1
  160. package/dist/core/web/public/next/assets/{MatrixHeatmap-DZvZeWXL.js → MatrixHeatmap-iPFEU2Tv.js} +2 -2
  161. package/dist/core/web/public/next/assets/{MatrixHeatmap-DZvZeWXL.js.map → MatrixHeatmap-iPFEU2Tv.js.map} +1 -1
  162. package/dist/core/web/public/next/assets/McpSection-nuXer4K-.js +2 -0
  163. package/dist/core/web/public/next/assets/{McpSection-BRuCcTjT.js.map → McpSection-nuXer4K-.js.map} +1 -1
  164. package/dist/core/web/public/next/assets/{MessageMarkdown-bRvD5nSc.js → MessageMarkdown-BCe4TsXk.js} +3 -3
  165. package/dist/core/web/public/next/assets/{MessageMarkdown-bRvD5nSc.js.map → MessageMarkdown-BCe4TsXk.js.map} +1 -1
  166. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-FjjkPKA2.js → MessageMarkdownRenderer-DL3LU5kL.js} +2 -2
  167. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-FjjkPKA2.js.map → MessageMarkdownRenderer-DL3LU5kL.js.map} +1 -1
  168. package/dist/core/web/public/next/assets/{Meter-CFNLpwA-.js → Meter-b69LM0mU.js} +2 -2
  169. package/dist/core/web/public/next/assets/{Meter-CFNLpwA-.js.map → Meter-b69LM0mU.js.map} +1 -1
  170. package/dist/core/web/public/next/assets/{MindSection-BTIiQS8P.js → MindSection-Dc5v5rH3.js} +2 -2
  171. package/dist/core/web/public/next/assets/{MindSection-BTIiQS8P.js.map → MindSection-Dc5v5rH3.js.map} +1 -1
  172. package/dist/core/web/public/next/assets/{MutationTokenDialog-T7gv3a9r.js → MutationTokenDialog-Bm34BNVV.js} +2 -2
  173. package/dist/core/web/public/next/assets/{MutationTokenDialog-T7gv3a9r.js.map → MutationTokenDialog-Bm34BNVV.js.map} +1 -1
  174. package/dist/core/web/public/next/assets/NeedsYouDrawer-N1cWJjpz.js +3 -0
  175. package/dist/core/web/public/next/assets/NeedsYouDrawer-N1cWJjpz.js.map +1 -0
  176. package/dist/core/web/public/next/assets/NeedsYouList-CH6Mq-E_.css +1 -0
  177. package/dist/core/web/public/next/assets/NeedsYouList-D5Kk549g.js +2 -0
  178. package/dist/core/web/public/next/assets/{NeedsYouList-BgH8ezqf.js.map → NeedsYouList-D5Kk549g.js.map} +1 -1
  179. package/dist/core/web/public/next/assets/{NewChatDialog-Db5Xjrk8.js → NewChatDialog-BqFTWgHU.js} +2 -2
  180. package/dist/core/web/public/next/assets/{NewChatDialog-Db5Xjrk8.js.map → NewChatDialog-BqFTWgHU.js.map} +1 -1
  181. package/dist/core/web/public/next/assets/OnboardingFlow-DcDsguAM.js +3 -0
  182. package/dist/core/web/public/next/assets/OnboardingFlow-DcDsguAM.js.map +1 -0
  183. package/dist/core/web/public/next/assets/OnboardingGate-BZafM1Vf.js +3 -0
  184. package/dist/core/web/public/next/assets/{OnboardingGate-C4VXn7BJ.js.map → OnboardingGate-BZafM1Vf.js.map} +1 -1
  185. package/dist/core/web/public/next/assets/{PreviewPane-BPBbcROb.js → PreviewPane-zT3gK9TD.js} +2 -2
  186. package/dist/core/web/public/next/assets/{PreviewPane-BPBbcROb.js.map → PreviewPane-zT3gK9TD.js.map} +1 -1
  187. package/dist/core/web/public/next/assets/{ProviderLogo-CT2cSfkg.js → ProviderLogo-AwHn2sKm.js} +2 -2
  188. package/dist/core/web/public/next/assets/{ProviderLogo-CT2cSfkg.js.map → ProviderLogo-AwHn2sKm.js.map} +1 -1
  189. package/dist/core/web/public/next/assets/{RailStatus-Vgl0GYtd.js → RailStatus-xHrovWvI.js} +2 -2
  190. package/dist/core/web/public/next/assets/{RailStatus-Vgl0GYtd.js.map → RailStatus-xHrovWvI.js.map} +1 -1
  191. package/dist/core/web/public/next/assets/{RefreshIndicator-CSyqpY_q.js → RefreshIndicator-SEFZlMB2.js} +2 -2
  192. package/dist/core/web/public/next/assets/{RefreshIndicator-CSyqpY_q.js.map → RefreshIndicator-SEFZlMB2.js.map} +1 -1
  193. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BX2nkdmZ.js → ResourcePoolConsoleApp-CAxPQ4sZ.js} +3 -3
  194. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BX2nkdmZ.js.map → ResourcePoolConsoleApp-CAxPQ4sZ.js.map} +1 -1
  195. package/dist/core/web/public/next/assets/ResourcesChrome-BnhnEdJe.js +3 -0
  196. package/dist/core/web/public/next/assets/{ResourcesChrome-B2U2lO1H.js.map → ResourcesChrome-BnhnEdJe.js.map} +1 -1
  197. package/dist/core/web/public/next/assets/{ResourcesDrawer-DlUKOjl9.js → ResourcesDrawer-BAFGodny.js} +2 -2
  198. package/dist/core/web/public/next/assets/{ResourcesDrawer-DlUKOjl9.js.map → ResourcesDrawer-BAFGodny.js.map} +1 -1
  199. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BaC7YVzR.js → RouteErrorBoundary-C8WGiixc.js} +2 -2
  200. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BaC7YVzR.js.map → RouteErrorBoundary-C8WGiixc.js.map} +1 -1
  201. package/dist/core/web/public/next/assets/{RunInCloudAction-D5PDHJPE.js → RunInCloudAction-1-IPLYhf.js} +2 -2
  202. package/dist/core/web/public/next/assets/{RunInCloudAction-D5PDHJPE.js.map → RunInCloudAction-1-IPLYhf.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{SeatSelector-Cg75LInq.js → SeatSelector-DpwNiX8F.js} +2 -2
  204. package/dist/core/web/public/next/assets/{SeatSelector-Cg75LInq.js.map → SeatSelector-DpwNiX8F.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/{Segmented-CametjLt.js → Segmented-Wt1ATod9.js} +2 -2
  206. package/dist/core/web/public/next/assets/{Segmented-CametjLt.js.map → Segmented-Wt1ATod9.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/{Select-De52fghU.js → Select-By-V9lMc.js} +2 -2
  208. package/dist/core/web/public/next/assets/{Select-De52fghU.js.map → Select-By-V9lMc.js.map} +1 -1
  209. package/dist/core/web/public/next/assets/{SessionGate-CzlcNq3O.js → SessionGate-WROS02tK.js} +2 -2
  210. package/dist/core/web/public/next/assets/{SessionGate-CzlcNq3O.js.map → SessionGate-WROS02tK.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/{SessionInsightChip-Bk_Owa7u.js → SessionInsightChip-DNUcruwp.js} +2 -2
  212. package/dist/core/web/public/next/assets/{SessionInsightChip-Bk_Owa7u.js.map → SessionInsightChip-DNUcruwp.js.map} +1 -1
  213. package/dist/core/web/public/next/assets/{SessionSearch-C6C8DHN8.js → SessionSearch-UHtt7a8f.js} +2 -2
  214. package/dist/core/web/public/next/assets/{SessionSearch-C6C8DHN8.js.map → SessionSearch-UHtt7a8f.js.map} +1 -1
  215. package/dist/core/web/public/next/assets/{SettingsSection-mI9wQYZg.js → SettingsSection-Bf74l0Gj.js} +2 -2
  216. package/dist/core/web/public/next/assets/{SettingsSection-mI9wQYZg.js.map → SettingsSection-Bf74l0Gj.js.map} +1 -1
  217. package/dist/core/web/public/next/assets/SetupChecklist-BhZpFLsj.css +1 -0
  218. package/dist/core/web/public/next/assets/SetupChecklist-CzpEcfOl.js +2 -0
  219. package/dist/core/web/public/next/assets/SetupChecklist-CzpEcfOl.js.map +1 -0
  220. package/dist/core/web/public/next/assets/{Sheet-CJhK9Dqv.js → Sheet-HkBOBMTT.js} +2 -2
  221. package/dist/core/web/public/next/assets/{Sheet-CJhK9Dqv.js.map → Sheet-HkBOBMTT.js.map} +1 -1
  222. package/dist/core/web/public/next/assets/{ShortcutsOverlay-DDW-i9Fc.js → ShortcutsOverlay-DiigiT8H.js} +2 -2
  223. package/dist/core/web/public/next/assets/{ShortcutsOverlay-DDW-i9Fc.js.map → ShortcutsOverlay-DiigiT8H.js.map} +1 -1
  224. package/dist/core/web/public/next/assets/Sidebar-C9YtBYVZ.js +3 -0
  225. package/dist/core/web/public/next/assets/Sidebar-C9YtBYVZ.js.map +1 -0
  226. package/dist/core/web/public/next/assets/{Slider-Bwd9HfXl.js → Slider-DaEDws-b.js} +2 -2
  227. package/dist/core/web/public/next/assets/{Slider-Bwd9HfXl.js.map → Slider-DaEDws-b.js.map} +1 -1
  228. package/dist/core/web/public/next/assets/{StatTile-DPZ5yyaU.js → StatTile-CTX41O6y.js} +2 -2
  229. package/dist/core/web/public/next/assets/{StatTile-DPZ5yyaU.js.map → StatTile-CTX41O6y.js.map} +1 -1
  230. package/dist/core/web/public/next/assets/{StatusBadge-DHKRtttH.js → StatusBadge-CXG3iNL4.js} +2 -2
  231. package/dist/core/web/public/next/assets/{StatusBadge-DHKRtttH.js.map → StatusBadge-CXG3iNL4.js.map} +1 -1
  232. package/dist/core/web/public/next/assets/{StepBand-DQykLkk_.js → StepBand-jJTqYIdX.js} +2 -2
  233. package/dist/core/web/public/next/assets/{StepBand-DQykLkk_.js.map → StepBand-jJTqYIdX.js.map} +1 -1
  234. package/dist/core/web/public/next/assets/{Surface-D--LXgQm.js → Surface-5bNA08tK.js} +2 -2
  235. package/dist/core/web/public/next/assets/{Surface-D--LXgQm.js.map → Surface-5bNA08tK.js.map} +1 -1
  236. package/dist/core/web/public/next/assets/{Swimlane-BzH6OCee.js → Swimlane-LrslsGxw.js} +2 -2
  237. package/dist/core/web/public/next/assets/{Swimlane-BzH6OCee.js.map → Swimlane-LrslsGxw.js.map} +1 -1
  238. package/dist/core/web/public/next/assets/{Switch-PMixU6b0.js → Switch-BmCzfFnu.js} +2 -2
  239. package/dist/core/web/public/next/assets/{Switch-PMixU6b0.js.map → Switch-BmCzfFnu.js.map} +1 -1
  240. package/dist/core/web/public/next/assets/{Tag-fordBsrJ.js → Tag-WSUIaMVy.js} +2 -2
  241. package/dist/core/web/public/next/assets/{Tag-fordBsrJ.js.map → Tag-WSUIaMVy.js.map} +1 -1
  242. package/dist/core/web/public/next/assets/{TerminalPane-BSnGdUuF.js → TerminalPane-BVFgYX6K.js} +5 -5
  243. package/dist/core/web/public/next/assets/{TerminalPane-BSnGdUuF.js.map → TerminalPane-BVFgYX6K.js.map} +1 -1
  244. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DtXFhAhw.js → UniverseConsoleApp-BpphLqoz.js} +2 -2
  245. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DtXFhAhw.js.map → UniverseConsoleApp-BpphLqoz.js.map} +1 -1
  246. package/dist/core/web/public/next/assets/{UniverseView-sWm3pnTW.js → UniverseView-DbpbSMwO.js} +4 -4
  247. package/dist/core/web/public/next/assets/{UniverseView-sWm3pnTW.js.map → UniverseView-DbpbSMwO.js.map} +1 -1
  248. package/dist/core/web/public/next/assets/{UsageSection-CiD1DbuF.js → UsageSection-CUlaKtws.js} +3 -3
  249. package/dist/core/web/public/next/assets/{UsageSection-CiD1DbuF.js.map → UsageSection-CUlaKtws.js.map} +1 -1
  250. package/dist/core/web/public/next/assets/VerseConsoleApp-DXDv1aOi.js +3 -0
  251. package/dist/core/web/public/next/assets/VerseConsoleApp-DXDv1aOi.js.map +1 -0
  252. package/dist/core/web/public/next/assets/{Workspace-BQSZFSeO.js → Workspace-RXy0pqp6.js} +5 -5
  253. package/dist/core/web/public/next/assets/{Workspace-BQSZFSeO.js.map → Workspace-RXy0pqp6.js.map} +1 -1
  254. package/dist/core/web/public/next/assets/{actions-Ci6I4C0l.js → actions-BZTidCXZ.js} +2 -2
  255. package/dist/core/web/public/next/assets/{actions-Ci6I4C0l.js.map → actions-BZTidCXZ.js.map} +1 -1
  256. package/dist/core/web/public/next/assets/{apps-model-DlwnfqwJ.js → apps-model-CHO133qt.js} +2 -2
  257. package/dist/core/web/public/next/assets/{apps-model-DlwnfqwJ.js.map → apps-model-CHO133qt.js.map} +1 -1
  258. package/dist/core/web/public/next/assets/{authority-model-BFuPezSo.js → authority-model-8NeAEwAF.js} +2 -2
  259. package/dist/core/web/public/next/assets/{authority-model-BFuPezSo.js.map → authority-model-8NeAEwAF.js.map} +1 -1
  260. package/dist/core/web/public/next/assets/{budget-queries-DsAjH8ac.js → budget-queries-DFF-3ICg.js} +2 -2
  261. package/dist/core/web/public/next/assets/{budget-queries-DsAjH8ac.js.map → budget-queries-DFF-3ICg.js.map} +1 -1
  262. package/dist/core/web/public/next/assets/{capacity-strip-model-Dn1cNOhz.js → capacity-strip-model-5ViUgUlP.js} +2 -2
  263. package/dist/core/web/public/next/assets/{capacity-strip-model-Dn1cNOhz.js.map → capacity-strip-model-5ViUgUlP.js.map} +1 -1
  264. package/dist/core/web/public/next/assets/{charts-C_xJbJiw.js → charts-CzxWrZn7.js} +2 -2
  265. package/dist/core/web/public/next/assets/{charts-C_xJbJiw.js.map → charts-CzxWrZn7.js.map} +1 -1
  266. package/dist/core/web/public/next/assets/cloud-model-CfRydq8N.js +2 -0
  267. package/dist/core/web/public/next/assets/{cloud-model-CX407gPY.js.map → cloud-model-CfRydq8N.js.map} +1 -1
  268. package/dist/core/web/public/next/assets/{cloud-queries-QAhpExlz.js → cloud-queries-DmptbjS8.js} +2 -2
  269. package/dist/core/web/public/next/assets/{cloud-queries-QAhpExlz.js.map → cloud-queries-DmptbjS8.js.map} +1 -1
  270. package/dist/core/web/public/next/assets/{command-catalog-CF0cQQac.js → command-catalog-ffCAijVY.js} +2 -2
  271. package/dist/core/web/public/next/assets/{command-catalog-CF0cQQac.js.map → command-catalog-ffCAijVY.js.map} +1 -1
  272. package/dist/core/web/public/next/assets/{context-model-DV1zCfAm.js → context-model-Bb15chFt.js} +2 -2
  273. package/dist/core/web/public/next/assets/{context-model-DV1zCfAm.js.map → context-model-Bb15chFt.js.map} +1 -1
  274. package/dist/core/web/public/next/assets/{context-model-Co4wh3SM.js → context-model-CDeyP0cA.js} +2 -2
  275. package/dist/core/web/public/next/assets/{context-model-Co4wh3SM.js.map → context-model-CDeyP0cA.js.map} +1 -1
  276. package/dist/core/web/public/next/assets/{context-queries-CktFQqSS.js → context-queries-_9bFWb9v.js} +2 -2
  277. package/dist/core/web/public/next/assets/{context-queries-CktFQqSS.js.map → context-queries-_9bFWb9v.js.map} +1 -1
  278. package/dist/core/web/public/next/assets/{control-queries-DAvlh_YM.js → control-queries-CXtmZZH6.js} +2 -2
  279. package/dist/core/web/public/next/assets/{control-queries-DAvlh_YM.js.map → control-queries-CXtmZZH6.js.map} +1 -1
  280. package/dist/core/web/public/next/assets/copy-setup-BIp0iaiZ.js +2 -0
  281. package/dist/core/web/public/next/assets/copy-setup-BIp0iaiZ.js.map +1 -0
  282. package/dist/core/web/public/next/assets/{dock-icons-BFuBbqJl.js → dock-icons-Cc43W7r4.js} +2 -2
  283. package/dist/core/web/public/next/assets/{dock-icons-BFuBbqJl.js.map → dock-icons-Cc43W7r4.js.map} +1 -1
  284. package/dist/core/web/public/next/assets/{fleet-model-Dfd5JyLR.js → fleet-model-DOK8ZtEt.js} +2 -2
  285. package/dist/core/web/public/next/assets/{fleet-model-Dfd5JyLR.js.map → fleet-model-DOK8ZtEt.js.map} +1 -1
  286. package/dist/core/web/public/next/assets/{fleet-queries-RtMTd5rR.js → fleet-queries-BeEAqD6y.js} +2 -2
  287. package/dist/core/web/public/next/assets/{fleet-queries-RtMTd5rR.js.map → fleet-queries-BeEAqD6y.js.map} +1 -1
  288. package/dist/core/web/public/next/assets/{focus-trap-BdrbWfC4.js → focus-trap-ChZ5EFfM.js} +2 -2
  289. package/dist/core/web/public/next/assets/{focus-trap-BdrbWfC4.js.map → focus-trap-ChZ5EFfM.js.map} +1 -1
  290. package/dist/core/web/public/next/assets/format-BmH2yWL6.js +2 -0
  291. package/dist/core/web/public/next/assets/format-BmH2yWL6.js.map +1 -0
  292. package/dist/core/web/public/next/assets/{git-model-_BnI_Ogh.js → git-model-BFwAVbxF.js} +2 -2
  293. package/dist/core/web/public/next/assets/{git-model-_BnI_Ogh.js.map → git-model-BFwAVbxF.js.map} +1 -1
  294. package/dist/core/web/public/next/assets/global-y_exIyAP.js +2 -0
  295. package/dist/core/web/public/next/assets/{global-CNNGMril.js.map → global-y_exIyAP.js.map} +1 -1
  296. package/dist/core/web/public/next/assets/{guarded-runners-DPh2d32e.js → guarded-runners-Cd4POBtI.js} +2 -2
  297. package/dist/core/web/public/next/assets/{guarded-runners-DPh2d32e.js.map → guarded-runners-Cd4POBtI.js.map} +1 -1
  298. package/dist/core/web/public/next/assets/{icons-0haWy6nh.js → icons-CygCEFWs.js} +2 -2
  299. package/dist/core/web/public/next/assets/{icons-0haWy6nh.js.map → icons-CygCEFWs.js.map} +1 -1
  300. package/dist/core/web/public/next/assets/{index-QesfXBsb.js → index-CyK31YRm.js} +3 -3
  301. package/dist/core/web/public/next/assets/{index-QesfXBsb.js.map → index-CyK31YRm.js.map} +1 -1
  302. package/dist/core/web/public/next/assets/{live-model-De-q0ZFK.js → live-model-D7hilYFk.js} +2 -2
  303. package/dist/core/web/public/next/assets/live-model-D7hilYFk.js.map +1 -0
  304. package/dist/core/web/public/next/assets/{mind.module-BrK2nFOL.js → mind.module-B15k0Y9q.js} +2 -2
  305. package/dist/core/web/public/next/assets/{mind.module-BrK2nFOL.js.map → mind.module-B15k0Y9q.js.map} +1 -1
  306. package/dist/core/web/public/next/assets/mutations-CWlxEMEm.js +2 -0
  307. package/dist/core/web/public/next/assets/{mutations-DTCtKCn_.js.map → mutations-CWlxEMEm.js.map} +1 -1
  308. package/dist/core/web/public/next/assets/{nav-KmGX0CVz.js → nav-mimleI0R.js} +2 -2
  309. package/dist/core/web/public/next/assets/{nav-KmGX0CVz.js.map → nav-mimleI0R.js.map} +1 -1
  310. package/dist/core/web/public/next/assets/{overnight-queries-mlO0xzsr.js → overnight-queries-DJ4mZKSj.js} +2 -2
  311. package/dist/core/web/public/next/assets/{overnight-queries-mlO0xzsr.js.map → overnight-queries-DJ4mZKSj.js.map} +1 -1
  312. package/dist/core/web/public/next/assets/primitives-DMijqcu0.js +1 -0
  313. package/dist/core/web/public/next/assets/{queries-CyBE8nsW.js → queries-Bw1McHTj.js} +2 -2
  314. package/dist/core/web/public/next/assets/{queries-CyBE8nsW.js.map → queries-Bw1McHTj.js.map} +1 -1
  315. package/dist/core/web/public/next/assets/{reasoning-pref-CaoA4_Vl.js → reasoning-pref-KkhI_5-j.js} +2 -2
  316. package/dist/core/web/public/next/assets/{reasoning-pref-CaoA4_Vl.js.map → reasoning-pref-KkhI_5-j.js.map} +1 -1
  317. package/dist/core/web/public/next/assets/{reveal-anchor-BP1VqnPU.js → reveal-anchor-CCCx_kfT.js} +2 -2
  318. package/dist/core/web/public/next/assets/{reveal-anchor-BP1VqnPU.js.map → reveal-anchor-CCCx_kfT.js.map} +1 -1
  319. package/dist/core/web/public/next/assets/{seat-subscription-C5Tvr0WQ.js → seat-subscription-BhUUz7VL.js} +2 -2
  320. package/dist/core/web/public/next/assets/{seat-subscription-C5Tvr0WQ.js.map → seat-subscription-BhUUz7VL.js.map} +1 -1
  321. package/dist/core/web/public/next/assets/{sidebar-model-B5Qk95k_.js → sidebar-model-Dcd437cf.js} +2 -2
  322. package/dist/core/web/public/next/assets/{sidebar-model-B5Qk95k_.js.map → sidebar-model-Dcd437cf.js.map} +1 -1
  323. package/dist/core/web/public/next/assets/{slots-DHKQDoE6.js → slots-BL_J5mmV.js} +3 -3
  324. package/dist/core/web/public/next/assets/{slots-DHKQDoE6.js.map → slots-BL_J5mmV.js.map} +1 -1
  325. package/dist/core/web/public/next/assets/{surface-data-CchClvHo.js → surface-data-C3UAQ4QX.js} +2 -2
  326. package/dist/core/web/public/next/assets/{surface-data-CchClvHo.js.map → surface-data-C3UAQ4QX.js.map} +1 -1
  327. package/dist/core/web/public/next/assets/surface-prefetch-BXKjPsV5.js +2 -0
  328. package/dist/core/web/public/next/assets/{surface-prefetch-BWr0LBQn.js.map → surface-prefetch-BXKjPsV5.js.map} +1 -1
  329. package/dist/core/web/public/next/assets/{tasks-model-D6WFVULI.js → tasks-model-CzHvclVm.js} +2 -2
  330. package/dist/core/web/public/next/assets/{tasks-model-D6WFVULI.js.map → tasks-model-CzHvclVm.js.map} +1 -1
  331. package/dist/core/web/public/next/assets/{terminal-icons-BvCvuXk2.js → terminal-icons-BwgQTQP0.js} +2 -2
  332. package/dist/core/web/public/next/assets/{terminal-icons-BvCvuXk2.js.map → terminal-icons-BwgQTQP0.js.map} +1 -1
  333. package/dist/core/web/public/next/assets/types-IYKrYLku.js +2 -0
  334. package/dist/core/web/public/next/assets/types-IYKrYLku.js.map +1 -0
  335. package/dist/core/web/public/next/assets/{usage-queries-D1SU1t7r.js → usage-queries-pXxvy54x.js} +2 -2
  336. package/dist/core/web/public/next/assets/{usage-queries-D1SU1t7r.js.map → usage-queries-pXxvy54x.js.map} +1 -1
  337. package/dist/core/web/public/next/assets/{use-guarded-action-BZmBv7CJ.js → use-guarded-action-EgVWjM5c.js} +2 -2
  338. package/dist/core/web/public/next/assets/{use-guarded-action-BZmBv7CJ.js.map → use-guarded-action-EgVWjM5c.js.map} +1 -1
  339. package/dist/core/web/public/next/assets/{use-ticker-CkJ4-0wU.js → use-ticker-BoqFxRFG.js} +2 -2
  340. package/dist/core/web/public/next/assets/{use-ticker-CkJ4-0wU.js.map → use-ticker-BoqFxRFG.js.map} +1 -1
  341. package/dist/core/web/public/next/assets/{use-token-gate-CYcfk_GS.js → use-token-gate-DSNIIpI6.js} +2 -2
  342. package/dist/core/web/public/next/assets/{use-token-gate-CYcfk_GS.js.map → use-token-gate-DSNIIpI6.js.map} +1 -1
  343. package/dist/core/web/public/next/assets/{useOnboarding-CujRS6PK.js → useOnboarding-Bk0VnkxQ.js} +2 -2
  344. package/dist/core/web/public/next/assets/{useOnboarding-CujRS6PK.js.map → useOnboarding-Bk0VnkxQ.js.map} +1 -1
  345. package/dist/core/web/public/next/assets/{useSeatsRefresh-BEaQdkZs.js → useSeatsRefresh-q7Id9RcW.js} +2 -2
  346. package/dist/core/web/public/next/assets/{useSeatsRefresh-BEaQdkZs.js.map → useSeatsRefresh-q7Id9RcW.js.map} +1 -1
  347. package/dist/core/web/public/next/assets/{useVerseTranscript-BQ0J6Xhx.js → useVerseTranscript-CqH51rt9.js} +2 -2
  348. package/dist/core/web/public/next/assets/{useVerseTranscript-BQ0J6Xhx.js.map → useVerseTranscript-CqH51rt9.js.map} +1 -1
  349. package/dist/core/web/public/next/assets/{verse-icons-DndgEgKS.js → verse-icons-DsG1dOQx.js} +2 -2
  350. package/dist/core/web/public/next/assets/{verse-icons-DndgEgKS.js.map → verse-icons-DsG1dOQx.js.map} +1 -1
  351. package/dist/core/web/public/next/assets/{verse-model-MMySehjj.js → verse-model-JTuvRBVK.js} +2 -2
  352. package/dist/core/web/public/next/assets/{verse-model-MMySehjj.js.map → verse-model-JTuvRBVK.js.map} +1 -1
  353. package/dist/core/web/public/next/assets/{warmup-CNEH_-be.js → warmup-Bv1RumVq.js} +3 -3
  354. package/dist/core/web/public/next/assets/{warmup-CNEH_-be.js.map → warmup-Bv1RumVq.js.map} +1 -1
  355. package/dist/core/web/public/next/assets/why-seat-model-Cau8qG6O.js +2 -0
  356. package/dist/core/web/public/next/assets/why-seat-model-Cau8qG6O.js.map +1 -0
  357. package/dist/core/web/public/next/assets/{workspace-model-Dukb2wwv.js → workspace-model-D-SLfads.js} +2 -2
  358. package/dist/core/web/public/next/assets/{workspace-model-Dukb2wwv.js.map → workspace-model-D-SLfads.js.map} +1 -1
  359. package/dist/core/web/public/next/index.html +1 -1
  360. package/dist/release-dependency-inventory.json +1 -1
  361. package/docs/AUTONOMY-GAP.md +1 -1
  362. package/package.json +1 -1
  363. package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js +0 -2
  364. package/dist/core/web/public/next/assets/App-E2zCDRxm.js +0 -7
  365. package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js +0 -2
  366. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js +0 -2
  367. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js.map +0 -1
  368. package/dist/core/web/public/next/assets/AutonomyOffState-DmbE71vI.css +0 -1
  369. package/dist/core/web/public/next/assets/AutonomySection-B46igJKR.js +0 -2
  370. package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js +0 -2
  371. package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js.map +0 -1
  372. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js +0 -3
  373. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js.map +0 -1
  374. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js +0 -2
  375. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js.map +0 -1
  376. package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js +0 -2
  377. package/dist/core/web/public/next/assets/McpSection-BRuCcTjT.js +0 -2
  378. package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js +0 -2
  379. package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js.map +0 -1
  380. package/dist/core/web/public/next/assets/NeedsYouList-BgH8ezqf.js +0 -2
  381. package/dist/core/web/public/next/assets/NeedsYouList-CruOt4JT.css +0 -1
  382. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js +0 -2
  383. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js.map +0 -1
  384. package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js +0 -3
  385. package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js +0 -3
  386. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js +0 -3
  387. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js.map +0 -1
  388. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js +0 -3
  389. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js.map +0 -1
  390. package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js +0 -2
  391. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js +0 -2
  392. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js.map +0 -1
  393. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js +0 -2
  394. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js.map +0 -1
  395. package/dist/core/web/public/next/assets/global-CNNGMril.js +0 -2
  396. package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js.map +0 -1
  397. package/dist/core/web/public/next/assets/mutations-DTCtKCn_.js +0 -2
  398. package/dist/core/web/public/next/assets/primitives-D0Fb3TtS.js +0 -1
  399. package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js +0 -2
  400. package/dist/core/web/public/next/assets/types-D5XOdyw8.js +0 -2
  401. package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +0 -1
  402. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js +0 -2
  403. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ import { readLedger } from '../authority/ledger.js';
2
+ import { readFleetMergeState, type FleetMergeStateV1 } from '../fleet/fleet-merge-state.js';
3
+ import type { GateResult, LandingRecord, PostMergeResult } from '../fleet/fleet-types.js';
4
+ import { type PostMergeWatchView } from '../fleet/post-merge-watch.js';
5
+ import { type GitRunner } from '../verse/git-ops.js';
6
+ import { type CloudTimelineResponse } from './timeline-types.js';
7
+ import { type CloudTaskV1 } from './types.js';
8
+ export type MergeRecordSource = {
9
+ state: 'ok';
10
+ record: FleetMergeStateV1;
11
+ } | {
12
+ state: 'missing';
13
+ } | {
14
+ state: 'unknown';
15
+ reason: string;
16
+ };
17
+ export type LedgerSource = {
18
+ state: 'ok';
19
+ /** `ok` = chain verified; `empty` = no ledger yet. */
20
+ chain: 'ok' | 'empty';
21
+ gates: Array<GateResult & {
22
+ rowAt: string;
23
+ }>;
24
+ landing: LandingRecord | null;
25
+ postMerge: PostMergeResult | null;
26
+ } | {
27
+ state: 'unknown';
28
+ reason: string;
29
+ };
30
+ export type WatchSource = {
31
+ state: 'ok';
32
+ view: PostMergeWatchView | null;
33
+ } | {
34
+ state: 'unknown';
35
+ reason: string;
36
+ };
37
+ export interface MergeCommit {
38
+ sha: string;
39
+ /** `landing` = our host merge recorded it; `git` = found by message in local git. */
40
+ basis: 'landing' | 'git';
41
+ }
42
+ export type ReleaseSource = {
43
+ state: 'contained';
44
+ latestTag: string;
45
+ firstTag: string | null;
46
+ } | {
47
+ state: 'not-contained';
48
+ latestTag: string;
49
+ } | {
50
+ state: 'no-tags';
51
+ } | {
52
+ state: 'unknown';
53
+ reason: string;
54
+ };
55
+ export interface TimelineSources {
56
+ task: CloudTaskV1;
57
+ merge: MergeRecordSource;
58
+ ledger: LedgerSource;
59
+ watch: WatchSource;
60
+ /** The producing model from the evidence pack; null = not recorded. */
61
+ model: string | null;
62
+ mergeCommit: MergeCommit | null;
63
+ /** Null when there is no merge commit to look for. */
64
+ release: ReleaseSource | null;
65
+ }
66
+ /** PURE: the ordered evidence chain for one task from already-gathered sources. */
67
+ export declare function buildCloudTimeline(sources: TimelineSources, now?: Date): CloudTimelineResponse;
68
+ export interface TimelineDeps {
69
+ now?: () => Date;
70
+ readTask?: (id: string) => CloudTaskV1 | null;
71
+ /** Every merge record key (null = directory unreadable). */
72
+ listMergeKeys?: () => string[] | null;
73
+ readMergeRecord?: typeof readFleetMergeState;
74
+ readLedger?: typeof readLedger;
75
+ listWatches?: () => PostMergeWatchView[];
76
+ readEvidenceModel?: (proposalId: string) => string | null;
77
+ git?: GitRunner;
78
+ /** A local clone of `repo` with its tags (fleet mirror, else an enrolled checkout); null = none. */
79
+ checkoutFor?: (repo: string) => Promise<string | null>;
80
+ /** Time budget for the ledger read (default 2.5 s). */
81
+ ledgerBudgetMs?: number;
82
+ /** Time budget for every git step together (default 5 s). */
83
+ gitBudgetMs?: number;
84
+ }
85
+ /** Test hook: drop every cache (the merge index, git answers, checkouts, whole timelines). */
86
+ export declare function clearCloudTimelineCaches(): void;
87
+ /** `owner/name` of a GitHub remote URL (https, ssh, scp-style), lowercased; null otherwise. */
88
+ export declare function githubNameFromRemote(url: string): string | null;
89
+ /** Production checkout finder: the fleet mirror, else an enrolled project whose origin is `repo`. */
90
+ export declare function defaultCheckoutFor(git: GitRunner): (repo: string) => Promise<string | null>;
91
+ /** Gather every source for one task. Never throws; a failing source becomes 'unknown'. */
92
+ export declare function gatherTimelineSources(task: CloudTaskV1, deps?: TimelineDeps): Promise<TimelineSources>;
93
+ /** Test hook: the sources the HTTP route reads (null restores production). Clears every cache. */
94
+ export declare function setCloudTimelineDepsForTest(deps: TimelineDeps | null): void;
95
+ /** What timeline-api.ts passes to cloudTaskTimeline (production: real stores and git). */
96
+ export declare function timelineDepsForRoute(): TimelineDeps;
97
+ /**
98
+ * The timeline for task `id`, or null when there is no such task. Cached per
99
+ * task revision (`updatedAt`) for a few seconds, and concurrent requests for
100
+ * one task share a single gather.
101
+ */
102
+ export declare function cloudTaskTimeline(id: string, deps?: TimelineDeps): Promise<CloudTimelineResponse | null>;