@ashlr/hub 3.16.0 → 3.16.1

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 (997) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +2 -2
  3. package/dist/authority-surface.json +5 -5
  4. package/dist/build-identity.json +2 -2
  5. package/dist/core/daemon/loop.js +1 -0
  6. package/dist/core/daemon/loop.js.map +1 -1
  7. package/dist/core/daemon/tick-hooks.d.ts +2 -0
  8. package/dist/core/daemon/tick-hooks.js.map +1 -1
  9. package/dist/core/fleet/tick-hooks-live.d.ts +2 -1
  10. package/dist/core/fleet/tick-hooks-live.js +49 -7
  11. package/dist/core/fleet/tick-hooks-live.js.map +1 -1
  12. package/dist/core/web/public/next/assets/ActionMenu-Bv-kQxD4.js +2 -0
  13. package/dist/core/web/public/next/assets/ActionMenu-Bv-kQxD4.js.map +1 -0
  14. package/dist/core/web/public/next/assets/Advanced-Be7Frv-G.js +2 -0
  15. package/dist/core/web/public/next/assets/Advanced-Be7Frv-G.js.map +1 -0
  16. package/dist/core/web/public/next/assets/AgentDetailScreen-DzqHmufO.js +2 -0
  17. package/dist/core/web/public/next/assets/AgentDetailScreen-DzqHmufO.js.map +1 -0
  18. package/dist/core/web/public/next/assets/AgentToolsSheet-D00kLnIq.js +2 -0
  19. package/dist/core/web/public/next/assets/AgentToolsSheet-D00kLnIq.js.map +1 -0
  20. package/dist/core/web/public/next/assets/AgentToolsStrip-CSus9Dr3.js +2 -0
  21. package/dist/core/web/public/next/assets/AgentToolsStrip-CSus9Dr3.js.map +1 -0
  22. package/dist/core/web/public/next/assets/AgentsScreen-WoR0oSLZ.js +2 -0
  23. package/dist/core/web/public/next/assets/AgentsScreen-WoR0oSLZ.js.map +1 -0
  24. package/dist/core/web/public/next/assets/AgentsSection-D5mKoOhH.js +3 -0
  25. package/dist/core/web/public/next/assets/AgentsSection-D5mKoOhH.js.map +1 -0
  26. package/dist/core/web/public/next/assets/App-Uy6lDpKw.js +8 -0
  27. package/dist/core/web/public/next/assets/App-Uy6lDpKw.js.map +1 -0
  28. package/dist/core/web/public/next/assets/AppsSection-Cfhmc4r3.js +2 -0
  29. package/dist/core/web/public/next/assets/AppsSection-Cfhmc4r3.js.map +1 -0
  30. package/dist/core/web/public/next/assets/AreaTrend-Bz3ETKPk.js +2 -0
  31. package/dist/core/web/public/next/assets/AreaTrend-Bz3ETKPk.js.map +1 -0
  32. package/dist/core/web/public/next/assets/AutomationsSection-D4K8db0o.js +2 -0
  33. package/dist/core/web/public/next/assets/AutomationsSection-D4K8db0o.js.map +1 -0
  34. package/dist/core/web/public/next/assets/AutonomyOffState-DUiNMgr8.js +3 -0
  35. package/dist/core/web/public/next/assets/AutonomyOffState-DUiNMgr8.js.map +1 -0
  36. package/dist/core/web/public/next/assets/AutonomySection-wxRZ7vSw.js +2 -0
  37. package/dist/core/web/public/next/assets/AutonomySection-wxRZ7vSw.js.map +1 -0
  38. package/dist/core/web/public/next/assets/AutonomyStatus-B-PCVnFO.js +2 -0
  39. package/dist/core/web/public/next/assets/AutonomyStatus-B-PCVnFO.js.map +1 -0
  40. package/dist/core/web/public/next/assets/BranchBar-Bs4r_Vh6.js +2 -0
  41. package/dist/core/web/public/next/assets/BranchBar-Bs4r_Vh6.js.map +1 -0
  42. package/dist/core/web/public/next/assets/BrowserPanel-BMQcviI1.js +7 -0
  43. package/dist/core/web/public/next/assets/BrowserPanel-BMQcviI1.js.map +1 -0
  44. package/dist/core/web/public/next/assets/BudgetControl-A4TEONtT.js +2 -0
  45. package/dist/core/web/public/next/assets/BudgetControl-A4TEONtT.js.map +1 -0
  46. package/dist/core/web/public/next/assets/Button-CMR_Op-0.js +2 -0
  47. package/dist/core/web/public/next/assets/Button-CMR_Op-0.js.map +1 -0
  48. package/dist/core/web/public/next/assets/CapacityStrip-B-2NDrA5.js +2 -0
  49. package/dist/core/web/public/next/assets/CapacityStrip-B-2NDrA5.js.map +1 -0
  50. package/dist/core/web/public/next/assets/ChangesPaneHost-CS5qGjwM.js +16 -0
  51. package/dist/core/web/public/next/assets/ChangesPaneHost-CS5qGjwM.js.map +1 -0
  52. package/dist/core/web/public/next/assets/ChartFrame-sZTnZkVd.js +2 -0
  53. package/dist/core/web/public/next/assets/ChartFrame-sZTnZkVd.js.map +1 -0
  54. package/dist/core/web/public/next/assets/ChatPanes-CicgTVpN.js +2 -0
  55. package/dist/core/web/public/next/assets/ChatPanes-CicgTVpN.js.map +1 -0
  56. package/dist/core/web/public/next/assets/ChatSection-Cc6sudpF.js +3 -0
  57. package/dist/core/web/public/next/assets/ChatSection-Cc6sudpF.js.map +1 -0
  58. package/dist/core/web/public/next/assets/ChecksPanel-BGWgv8Zb.js +5 -0
  59. package/dist/core/web/public/next/assets/ChecksPanel-BGWgv8Zb.js.map +1 -0
  60. package/dist/core/web/public/next/assets/CloudBudgetForm-CqsidwfU.js +2 -0
  61. package/dist/core/web/public/next/assets/CloudBudgetForm-CqsidwfU.js.map +1 -0
  62. package/dist/core/web/public/next/assets/CommandPalette-rwEZ20MN.js +3 -0
  63. package/dist/core/web/public/next/assets/CommandPalette-rwEZ20MN.js.map +1 -0
  64. package/dist/core/web/public/next/assets/CommandSection-C2CLkVXN.js +3 -0
  65. package/dist/core/web/public/next/assets/CommandSection-C2CLkVXN.js.map +1 -0
  66. package/dist/core/web/public/next/assets/CommandWorkflowForm-DAbPIdI3.js +9 -0
  67. package/dist/core/web/public/next/assets/CommandWorkflowForm-DAbPIdI3.js.map +1 -0
  68. package/dist/core/web/public/next/assets/CommandWorkflowPicker-fqHtzYXX.js +3 -0
  69. package/dist/core/web/public/next/assets/CommandWorkflowPicker-fqHtzYXX.js.map +1 -0
  70. package/dist/core/web/public/next/assets/CompareDialog-Cwfpaa8I.js +4 -0
  71. package/dist/core/web/public/next/assets/CompareDialog-Cwfpaa8I.js.map +1 -0
  72. package/dist/core/web/public/next/assets/ComputerControl-DU0cuVSY.js +2 -0
  73. package/dist/core/web/public/next/assets/ComputerControl-DU0cuVSY.js.map +1 -0
  74. package/dist/core/web/public/next/assets/ConfirmDialog-B_wCnbcC.js +2 -0
  75. package/dist/core/web/public/next/assets/ConfirmDialog-B_wCnbcC.js.map +1 -0
  76. package/dist/core/web/public/next/assets/DeleteChatDialog-CxMh53yX.js +2 -0
  77. package/dist/core/web/public/next/assets/DeleteChatDialog-CxMh53yX.js.map +1 -0
  78. package/dist/core/web/public/next/assets/DevinStopDialog-D9Bziccz.js +2 -0
  79. package/dist/core/web/public/next/assets/DevinStopDialog-D9Bziccz.js.map +1 -0
  80. package/dist/core/web/public/next/assets/Dialog-DI5D6Is2.js +2 -0
  81. package/dist/core/web/public/next/assets/Dialog-DI5D6Is2.js.map +1 -0
  82. package/dist/core/web/public/next/assets/DiffPane-Buo19Bqr.js +2 -0
  83. package/dist/core/web/public/next/assets/DiffPane-Buo19Bqr.js.map +1 -0
  84. package/dist/core/web/public/next/assets/DiffViewer-dO0RQoqA.js +2 -0
  85. package/dist/core/web/public/next/assets/DiffViewer-dO0RQoqA.js.map +1 -0
  86. package/dist/core/web/public/next/assets/DockHost-KJUHjoiG.js +2 -0
  87. package/dist/core/web/public/next/assets/DockHost-KJUHjoiG.js.map +1 -0
  88. package/dist/core/web/public/next/assets/EmptyState-C3BUt2Ev.js +2 -0
  89. package/dist/core/web/public/next/assets/EmptyState-C3BUt2Ev.js.map +1 -0
  90. package/dist/core/web/public/next/assets/Epistemic-DlG2QqKJ.js +2 -0
  91. package/dist/core/web/public/next/assets/Epistemic-DlG2QqKJ.js.map +1 -0
  92. package/dist/core/web/public/next/assets/EvidenceTimeline-D1GB9F-f.js +2 -0
  93. package/dist/core/web/public/next/assets/EvidenceTimeline-D1GB9F-f.js.map +1 -0
  94. package/dist/core/web/public/next/assets/FilesPane-icSP5vPt.js +2 -0
  95. package/dist/core/web/public/next/assets/FilesPane-icSP5vPt.js.map +1 -0
  96. package/dist/core/web/public/next/assets/FleetScreen-V_X8SeD3.js +2 -0
  97. package/dist/core/web/public/next/assets/FleetScreen-V_X8SeD3.js.map +1 -0
  98. package/dist/core/web/public/next/assets/FleetSection-xyhfpRJy.js +5 -0
  99. package/dist/core/web/public/next/assets/FleetSection-xyhfpRJy.js.map +1 -0
  100. package/dist/core/web/public/next/assets/Funnel-BlzQ5FOU.js +2 -0
  101. package/dist/core/web/public/next/assets/Funnel-BlzQ5FOU.js.map +1 -0
  102. package/dist/core/web/public/next/assets/GearTray-Dvu-ee-h.js +2 -0
  103. package/dist/core/web/public/next/assets/GearTray-Dvu-ee-h.js.map +1 -0
  104. package/dist/core/web/public/next/assets/GitDialogs-o0eCEqAN.js +2 -0
  105. package/dist/core/web/public/next/assets/GitDialogs-o0eCEqAN.js.map +1 -0
  106. package/dist/core/web/public/next/assets/GrowthSection-CyqJOzob.js +3 -0
  107. package/dist/core/web/public/next/assets/GrowthSection-CyqJOzob.js.map +1 -0
  108. package/dist/core/web/public/next/assets/HandoffDialog-0uTNyK99.js +2 -0
  109. package/dist/core/web/public/next/assets/HandoffDialog-0uTNyK99.js.map +1 -0
  110. package/dist/core/web/public/next/assets/HomeBody-DJjN3GTV.js +3 -0
  111. package/dist/core/web/public/next/assets/HomeBody-DJjN3GTV.js.map +1 -0
  112. package/dist/core/web/public/next/assets/HomeSeats-IJvjh9iH.js +2 -0
  113. package/dist/core/web/public/next/assets/HomeSeats-IJvjh9iH.js.map +1 -0
  114. package/dist/core/web/public/next/assets/Input-CsSZI8QC.js +2 -0
  115. package/dist/core/web/public/next/assets/Input-CsSZI8QC.js.map +1 -0
  116. package/dist/core/web/public/next/assets/LaunchDialog-DReYqlI0.js +9 -0
  117. package/dist/core/web/public/next/assets/LaunchDialog-DReYqlI0.js.map +1 -0
  118. package/dist/core/web/public/next/assets/LeaderCard-82indlOE.js +2 -0
  119. package/dist/core/web/public/next/assets/LeaderCard-82indlOE.js.map +1 -0
  120. package/dist/core/web/public/next/assets/LeaderConversation-8hDF6Gh3.js +3 -0
  121. package/dist/core/web/public/next/assets/LeaderConversation-8hDF6Gh3.js.map +1 -0
  122. package/dist/core/web/public/next/assets/LeaderScreen-BxPiwHcT.js +2 -0
  123. package/dist/core/web/public/next/assets/LeaderScreen-BxPiwHcT.js.map +1 -0
  124. package/dist/core/web/public/next/assets/LessonsPanel-BG558qil.js +2 -0
  125. package/dist/core/web/public/next/assets/LessonsPanel-BG558qil.js.map +1 -0
  126. package/dist/core/web/public/next/assets/LiveTimer-DUgUBr49.js +2 -0
  127. package/dist/core/web/public/next/assets/LiveTimer-DUgUBr49.js.map +1 -0
  128. package/dist/core/web/public/next/assets/LocalSeatBadge-D6U4Q2P3.js +2 -0
  129. package/dist/core/web/public/next/assets/LocalSeatBadge-D6U4Q2P3.js.map +1 -0
  130. package/dist/core/web/public/next/assets/MatrixHeatmap-Brn70z84.js +2 -0
  131. package/dist/core/web/public/next/assets/MatrixHeatmap-Brn70z84.js.map +1 -0
  132. package/dist/core/web/public/next/assets/McpSection-Dz8Ga2Rg.js +2 -0
  133. package/dist/core/web/public/next/assets/McpSection-Dz8Ga2Rg.js.map +1 -0
  134. package/dist/core/web/public/next/assets/MessageMarkdown-CQfYQaXB.js +3 -0
  135. package/dist/core/web/public/next/assets/MessageMarkdown-CQfYQaXB.js.map +1 -0
  136. package/dist/core/web/public/next/assets/MessageMarkdownRenderer-DPaNQMj8.js +72 -0
  137. package/dist/core/web/public/next/assets/MessageMarkdownRenderer-DPaNQMj8.js.map +1 -0
  138. package/dist/core/web/public/next/assets/Meter-TnD7Ris6.js +2 -0
  139. package/dist/core/web/public/next/assets/Meter-TnD7Ris6.js.map +1 -0
  140. package/dist/core/web/public/next/assets/MicButton-Dc9g2Z_E.js +2 -0
  141. package/dist/core/web/public/next/assets/MicButton-Dc9g2Z_E.js.map +1 -0
  142. package/dist/core/web/public/next/assets/MindSection-DGpYq8c7.js +3 -0
  143. package/dist/core/web/public/next/assets/MindSection-DGpYq8c7.js.map +1 -0
  144. package/dist/core/web/public/next/assets/MobileComposer-DbSZ2rxa.js +2 -0
  145. package/dist/core/web/public/next/assets/MobileComposer-DbSZ2rxa.js.map +1 -0
  146. package/dist/core/web/public/next/assets/MobileGuardSheet-qQJev_w3.js +2 -0
  147. package/dist/core/web/public/next/assets/MobileGuardSheet-qQJev_w3.js.map +1 -0
  148. package/dist/core/web/public/next/assets/MobileRuntime-BEnY4Uvs.js +3 -0
  149. package/dist/core/web/public/next/assets/MobileRuntime-BEnY4Uvs.js.map +1 -0
  150. package/dist/core/web/public/next/assets/MoreScreen-CG0E5S8G.js +2 -0
  151. package/dist/core/web/public/next/assets/MoreScreen-CG0E5S8G.js.map +1 -0
  152. package/dist/core/web/public/next/assets/MultiModelBar-DgMyP8IC.js +7 -0
  153. package/dist/core/web/public/next/assets/MultiModelBar-DgMyP8IC.js.map +1 -0
  154. package/dist/core/web/public/next/assets/MutationTokenDialog-T3r9EtHi.js +2 -0
  155. package/dist/core/web/public/next/assets/MutationTokenDialog-T3r9EtHi.js.map +1 -0
  156. package/dist/core/web/public/next/assets/NeedsYouDrawer-BDAcTlK8.js +3 -0
  157. package/dist/core/web/public/next/assets/NeedsYouDrawer-BDAcTlK8.js.map +1 -0
  158. package/dist/core/web/public/next/assets/NeedsYouList-BFubkjzF.js +2 -0
  159. package/dist/core/web/public/next/assets/NeedsYouList-BFubkjzF.js.map +1 -0
  160. package/dist/core/web/public/next/assets/NeedsYouScreen-B3Dk15T_.js +2 -0
  161. package/dist/core/web/public/next/assets/NeedsYouScreen-B3Dk15T_.js.map +1 -0
  162. package/dist/core/web/public/next/assets/NewAgentScreen-zf1bqGYC.js +2 -0
  163. package/dist/core/web/public/next/assets/NewAgentScreen-zf1bqGYC.js.map +1 -0
  164. package/dist/core/web/public/next/assets/NewChatDialog-el95cRTF.js +4 -0
  165. package/dist/core/web/public/next/assets/NewChatDialog-el95cRTF.js.map +1 -0
  166. package/dist/core/web/public/next/assets/OnboardingFlow-Bi8gZOuz.js +3 -0
  167. package/dist/core/web/public/next/assets/OnboardingFlow-Bi8gZOuz.js.map +1 -0
  168. package/dist/core/web/public/next/assets/OnboardingGate-CRexmMn5.js +3 -0
  169. package/dist/core/web/public/next/assets/OnboardingGate-CRexmMn5.js.map +1 -0
  170. package/dist/core/web/public/next/assets/PlaybooksSection-R2_wyVpQ.js +9 -0
  171. package/dist/core/web/public/next/assets/PlaybooksSection-R2_wyVpQ.js.map +1 -0
  172. package/dist/core/web/public/next/assets/PreviewPane-Djw_GJ20.js +2 -0
  173. package/dist/core/web/public/next/assets/PreviewPane-Djw_GJ20.js.map +1 -0
  174. package/dist/core/web/public/next/assets/ProviderLogo-DIfJXNWf.js +2 -0
  175. package/dist/core/web/public/next/assets/ProviderLogo-DIfJXNWf.js.map +1 -0
  176. package/dist/core/web/public/next/assets/RailStatus-B3eI2AaD.js +2 -0
  177. package/dist/core/web/public/next/assets/RailStatus-B3eI2AaD.js.map +1 -0
  178. package/dist/core/web/public/next/assets/ReasoningPane-ExT8XgQB.js +2 -0
  179. package/dist/core/web/public/next/assets/ReasoningPane-ExT8XgQB.js.map +1 -0
  180. package/dist/core/web/public/next/assets/ReasoningSheet-YF4OS4lM.js +2 -0
  181. package/dist/core/web/public/next/assets/ReasoningSheet-YF4OS4lM.js.map +1 -0
  182. package/dist/core/web/public/next/assets/RefreshIndicator-BJoefKSa.js +2 -0
  183. package/dist/core/web/public/next/assets/RefreshIndicator-BJoefKSa.js.map +1 -0
  184. package/dist/core/web/public/next/assets/RemoteMobileApp-C2SflRkm.js +2 -0
  185. package/dist/core/web/public/next/assets/RemoteMobileApp-C2SflRkm.js.map +1 -0
  186. package/dist/core/web/public/next/assets/ResourcePoolConsoleApp-FkAdn3Sv.js +7 -0
  187. package/dist/core/web/public/next/assets/ResourcePoolConsoleApp-FkAdn3Sv.js.map +1 -0
  188. package/dist/core/web/public/next/assets/ResourcesChrome-CFHrLqmA.js +3 -0
  189. package/dist/core/web/public/next/assets/ResourcesChrome-CFHrLqmA.js.map +1 -0
  190. package/dist/core/web/public/next/assets/ResourcesDrawer-DtnZgDr_.js +3 -0
  191. package/dist/core/web/public/next/assets/ResourcesDrawer-DtnZgDr_.js.map +1 -0
  192. package/dist/core/web/public/next/assets/RouteErrorBoundary-DTz5-ndE.js +2 -0
  193. package/dist/core/web/public/next/assets/RouteErrorBoundary-DTz5-ndE.js.map +1 -0
  194. package/dist/core/web/public/next/assets/RunInCloudAction-DvoDMV54.js +2 -0
  195. package/dist/core/web/public/next/assets/RunInCloudAction-DvoDMV54.js.map +1 -0
  196. package/dist/core/web/public/next/assets/RunInDevinAction-BwCkFxLX.js +2 -0
  197. package/dist/core/web/public/next/assets/RunInDevinAction-BwCkFxLX.js.map +1 -0
  198. package/dist/core/web/public/next/assets/ScreenHost-jdgnt5U2.js +3 -0
  199. package/dist/core/web/public/next/assets/ScreenHost-jdgnt5U2.js.map +1 -0
  200. package/dist/core/web/public/next/assets/SeatSelector-DnpH5D_D.js +3 -0
  201. package/dist/core/web/public/next/assets/SeatSelector-DnpH5D_D.js.map +1 -0
  202. package/dist/core/web/public/next/assets/Segmented-BECZDbsg.js +2 -0
  203. package/dist/core/web/public/next/assets/Segmented-BECZDbsg.js.map +1 -0
  204. package/dist/core/web/public/next/assets/Select-DjQDkPJU.js +2 -0
  205. package/dist/core/web/public/next/assets/Select-DjQDkPJU.js.map +1 -0
  206. package/dist/core/web/public/next/assets/SessionGate-CWuI8dDR.js +2 -0
  207. package/dist/core/web/public/next/assets/SessionGate-CWuI8dDR.js.map +1 -0
  208. package/dist/core/web/public/next/assets/SessionInsightChip-DRsIQu29.js +2 -0
  209. package/dist/core/web/public/next/assets/SessionInsightChip-DRsIQu29.js.map +1 -0
  210. package/dist/core/web/public/next/assets/SessionSearch-Bya3EXJl.js +2 -0
  211. package/dist/core/web/public/next/assets/SessionSearch-Bya3EXJl.js.map +1 -0
  212. package/dist/core/web/public/next/assets/SettingsSection-CXjiHNQb.js +2 -0
  213. package/dist/core/web/public/next/assets/SettingsSection-CXjiHNQb.js.map +1 -0
  214. package/dist/core/web/public/next/assets/SetupChecklist-YUMOJNbk.js +2 -0
  215. package/dist/core/web/public/next/assets/SetupChecklist-YUMOJNbk.js.map +1 -0
  216. package/dist/core/web/public/next/assets/ShadowDecisions-BP2WgGMi.js +3 -0
  217. package/dist/core/web/public/next/assets/ShadowDecisions-BP2WgGMi.js.map +1 -0
  218. package/dist/core/web/public/next/assets/Sheet-Czuz3h6A.js +2 -0
  219. package/dist/core/web/public/next/assets/Sheet-Czuz3h6A.js.map +1 -0
  220. package/dist/core/web/public/next/assets/ShortcutsOverlay-D_ICte5N.js +2 -0
  221. package/dist/core/web/public/next/assets/ShortcutsOverlay-D_ICte5N.js.map +1 -0
  222. package/dist/core/web/public/next/assets/Sidebar-CcI1_B9Y.js +3 -0
  223. package/dist/core/web/public/next/assets/Sidebar-CcI1_B9Y.js.map +1 -0
  224. package/dist/core/web/public/next/assets/SkipToContent-B0GAKhYQ.js +2 -0
  225. package/dist/core/web/public/next/assets/SkipToContent-B0GAKhYQ.js.map +1 -0
  226. package/dist/core/web/public/next/assets/Slider-Dzv55CNY.js +2 -0
  227. package/dist/core/web/public/next/assets/Slider-Dzv55CNY.js.map +1 -0
  228. package/dist/core/web/public/next/assets/SourcesPane-rxRCi7cL.js +2 -0
  229. package/dist/core/web/public/next/assets/SourcesPane-rxRCi7cL.js.map +1 -0
  230. package/dist/core/web/public/next/assets/SourcesPanel-LyMp7aLt.js +2 -0
  231. package/dist/core/web/public/next/assets/SourcesPanel-LyMp7aLt.js.map +1 -0
  232. package/dist/core/web/public/next/assets/StatTile-1_HPOflX.js +2 -0
  233. package/dist/core/web/public/next/assets/StatTile-1_HPOflX.js.map +1 -0
  234. package/dist/core/web/public/next/assets/StatusBadge-zR7YgIa8.js +2 -0
  235. package/dist/core/web/public/next/assets/StatusBadge-zR7YgIa8.js.map +1 -0
  236. package/dist/core/web/public/next/assets/StepBand-BGX2RpFV.js +2 -0
  237. package/dist/core/web/public/next/assets/StepBand-BGX2RpFV.js.map +1 -0
  238. package/dist/core/web/public/next/assets/Surface-BEToBKC3.js +2 -0
  239. package/dist/core/web/public/next/assets/Surface-BEToBKC3.js.map +1 -0
  240. package/dist/core/web/public/next/assets/Swimlane-DAf7u5p3.js +2 -0
  241. package/dist/core/web/public/next/assets/Swimlane-DAf7u5p3.js.map +1 -0
  242. package/dist/core/web/public/next/assets/Switch-mvc9lQcT.js +2 -0
  243. package/dist/core/web/public/next/assets/Switch-mvc9lQcT.js.map +1 -0
  244. package/dist/core/web/public/next/assets/Tag-Chqolzxz.js +2 -0
  245. package/dist/core/web/public/next/assets/Tag-Chqolzxz.js.map +1 -0
  246. package/dist/core/web/public/next/assets/TerminalPane-4wn3AxS0.js +3 -0
  247. package/dist/core/web/public/next/assets/TerminalPane-4wn3AxS0.js.map +1 -0
  248. package/dist/core/web/public/next/assets/TerminalPane-D7-O0ssr.js +26 -0
  249. package/dist/core/web/public/next/assets/TerminalPane-D7-O0ssr.js.map +1 -0
  250. package/dist/core/web/public/next/assets/ThinkingBlock-gWESdTxs.js +2 -0
  251. package/dist/core/web/public/next/assets/ThinkingBlock-gWESdTxs.js.map +1 -0
  252. package/dist/core/web/public/next/assets/UniverseConsoleApp-XqJvgt7b.js +2 -0
  253. package/dist/core/web/public/next/assets/UniverseConsoleApp-XqJvgt7b.js.map +1 -0
  254. package/dist/core/web/public/next/assets/UniverseView-D0j9HVku.js +9 -0
  255. package/dist/core/web/public/next/assets/UniverseView-D0j9HVku.js.map +1 -0
  256. package/dist/core/web/public/next/assets/UsageSection-DnSPo4Ua.js +3 -0
  257. package/dist/core/web/public/next/assets/UsageSection-DnSPo4Ua.js.map +1 -0
  258. package/dist/core/web/public/next/assets/UsePlaybookAction-71M3gO7g.js +2 -0
  259. package/dist/core/web/public/next/assets/UsePlaybookAction-71M3gO7g.js.map +1 -0
  260. package/dist/core/web/public/next/assets/VerseConsoleApp-DO84Xscn.js +3 -0
  261. package/dist/core/web/public/next/assets/VerseConsoleApp-DO84Xscn.js.map +1 -0
  262. package/dist/core/web/public/next/assets/VerseMobileApp-CrCDQcw5.js +3 -0
  263. package/dist/core/web/public/next/assets/VerseMobileApp-CrCDQcw5.js.map +1 -0
  264. package/dist/core/web/public/next/assets/VerseShared-CFE5B-IY.js +2 -0
  265. package/dist/core/web/public/next/assets/VerseShared-CFE5B-IY.js.map +1 -0
  266. package/dist/core/web/public/next/assets/VoiceHud-CumHX7If.js +2 -0
  267. package/dist/core/web/public/next/assets/VoiceHud-CumHX7If.js.map +1 -0
  268. package/dist/core/web/public/next/assets/VoiceInput-CWTVwTwV.js +2 -0
  269. package/dist/core/web/public/next/assets/VoiceInput-CWTVwTwV.js.map +1 -0
  270. package/dist/core/web/public/next/assets/WikiSection-BIGSx4z-.js +2 -0
  271. package/dist/core/web/public/next/assets/WikiSection-BIGSx4z-.js.map +1 -0
  272. package/dist/core/web/public/next/assets/Workspace-5sa9Xggd.js +6 -0
  273. package/dist/core/web/public/next/assets/Workspace-5sa9Xggd.js.map +1 -0
  274. package/dist/core/web/public/next/assets/actions-BPyW8QC-.js +2 -0
  275. package/dist/core/web/public/next/assets/actions-BPyW8QC-.js.map +1 -0
  276. package/dist/core/web/public/next/assets/agent-tools-client-Si2ncqwV.js +2 -0
  277. package/dist/core/web/public/next/assets/agent-tools-client-Si2ncqwV.js.map +1 -0
  278. package/dist/core/web/public/next/assets/agent-transcript-model-D-34Ll59.js +7 -0
  279. package/dist/core/web/public/next/assets/agent-transcript-model-D-34Ll59.js.map +1 -0
  280. package/dist/core/web/public/next/assets/agents-focus-E_TBTTmZ.js +2 -0
  281. package/dist/core/web/public/next/assets/agents-focus-E_TBTTmZ.js.map +1 -0
  282. package/dist/core/web/public/next/assets/app-version-y5sfMXiE.js +2 -0
  283. package/dist/core/web/public/next/assets/app-version-y5sfMXiE.js.map +1 -0
  284. package/dist/core/web/public/next/assets/apps-model-BnjwUIUH.js +2 -0
  285. package/dist/core/web/public/next/assets/apps-model-BnjwUIUH.js.map +1 -0
  286. package/dist/core/web/public/next/assets/ask-seat-CWE-jY2D.js +2 -0
  287. package/dist/core/web/public/next/assets/ask-seat-CWE-jY2D.js.map +1 -0
  288. package/dist/core/web/public/next/assets/authority-model-DVMxkDV4.js +2 -0
  289. package/dist/core/web/public/next/assets/authority-model-DVMxkDV4.js.map +1 -0
  290. package/dist/core/web/public/next/assets/automations-focus-B-lklYid.js +2 -0
  291. package/dist/core/web/public/next/assets/automations-focus-B-lklYid.js.map +1 -0
  292. package/dist/core/web/public/next/assets/budget-model-Bwv4MZSa.js +2 -0
  293. package/dist/core/web/public/next/assets/budget-model-Bwv4MZSa.js.map +1 -0
  294. package/dist/core/web/public/next/assets/budget-queries-t-Bdoly3.js +2 -0
  295. package/dist/core/web/public/next/assets/budget-queries-t-Bdoly3.js.map +1 -0
  296. package/dist/core/web/public/next/assets/capacity-strip-model-CJ5F-CtB.js +2 -0
  297. package/dist/core/web/public/next/assets/capacity-strip-model-CJ5F-CtB.js.map +1 -0
  298. package/dist/core/web/public/next/assets/charts-Di0_Q980.js +2 -0
  299. package/dist/core/web/public/next/assets/charts-Di0_Q980.js.map +1 -0
  300. package/dist/core/web/public/next/assets/chat-pane-data-5MDEsLff.js +2 -0
  301. package/dist/core/web/public/next/assets/chat-pane-data-5MDEsLff.js.map +1 -0
  302. package/dist/core/web/public/next/assets/checkpoint-queries-6thqsAiE.js +2 -0
  303. package/dist/core/web/public/next/assets/checkpoint-queries-6thqsAiE.js.map +1 -0
  304. package/dist/core/web/public/next/assets/cloud-model-CzKeuxfm.js +2 -0
  305. package/dist/core/web/public/next/assets/cloud-model-CzKeuxfm.js.map +1 -0
  306. package/dist/core/web/public/next/assets/cloud-queries-DrR_QeUK.js +2 -0
  307. package/dist/core/web/public/next/assets/cloud-queries-DrR_QeUK.js.map +1 -0
  308. package/dist/core/web/public/next/assets/command-catalog-COH2G2xv.js +2 -0
  309. package/dist/core/web/public/next/assets/command-catalog-COH2G2xv.js.map +1 -0
  310. package/dist/core/web/public/next/assets/composer-queries-GxFt1UQm.js +2 -0
  311. package/dist/core/web/public/next/assets/composer-queries-GxFt1UQm.js.map +1 -0
  312. package/dist/core/web/public/next/assets/composer-state-DTAoie2b.js +2 -0
  313. package/dist/core/web/public/next/assets/composer-state-DTAoie2b.js.map +1 -0
  314. package/dist/core/web/public/next/assets/connectivity-zM4_O-XZ.js +2 -0
  315. package/dist/core/web/public/next/assets/connectivity-zM4_O-XZ.js.map +1 -0
  316. package/dist/core/web/public/next/assets/context-model-CKXUZd0O.js +2 -0
  317. package/dist/core/web/public/next/assets/context-model-CKXUZd0O.js.map +1 -0
  318. package/dist/core/web/public/next/assets/context-model-DYkDKK6C.js +3 -0
  319. package/dist/core/web/public/next/assets/context-model-DYkDKK6C.js.map +1 -0
  320. package/dist/core/web/public/next/assets/context-queries-D0Aydl5L.js +2 -0
  321. package/dist/core/web/public/next/assets/context-queries-D0Aydl5L.js.map +1 -0
  322. package/dist/core/web/public/next/assets/control-queries-C5uQTzJi.js +2 -0
  323. package/dist/core/web/public/next/assets/control-queries-C5uQTzJi.js.map +1 -0
  324. package/dist/core/web/public/next/assets/copy-setup-IHGsNfkz.js +2 -0
  325. package/dist/core/web/public/next/assets/copy-setup-IHGsNfkz.js.map +1 -0
  326. package/dist/core/web/public/next/assets/deep-link-DgTIAuc2.js +2 -0
  327. package/dist/core/web/public/next/assets/deep-link-DgTIAuc2.js.map +1 -0
  328. package/dist/core/web/public/next/assets/device-permissions-BplZgouU.js +2 -0
  329. package/dist/core/web/public/next/assets/device-permissions-BplZgouU.js.map +1 -0
  330. package/dist/core/web/public/next/assets/devin-queries-Bltl6Jz2.js +2 -0
  331. package/dist/core/web/public/next/assets/devin-queries-Bltl6Jz2.js.map +1 -0
  332. package/dist/core/web/public/next/assets/dock-icons-DPXFt10d.js +2 -0
  333. package/dist/core/web/public/next/assets/dock-icons-DPXFt10d.js.map +1 -0
  334. package/dist/core/web/public/next/assets/dock-panes-DNSv-1Tq.js +2 -0
  335. package/dist/core/web/public/next/assets/dock-panes-DNSv-1Tq.js.map +1 -0
  336. package/dist/core/web/public/next/assets/fleet-control-queries-DZEa-aFz.js +2 -0
  337. package/dist/core/web/public/next/assets/fleet-control-queries-DZEa-aFz.js.map +1 -0
  338. package/dist/core/web/public/next/assets/fleet-model-D4n8ErhA.js +2 -0
  339. package/dist/core/web/public/next/assets/fleet-model-D4n8ErhA.js.map +1 -0
  340. package/dist/core/web/public/next/assets/fleet-queries-BO1MHMFz.js +2 -0
  341. package/dist/core/web/public/next/assets/fleet-queries-BO1MHMFz.js.map +1 -0
  342. package/dist/core/web/public/next/assets/fleet-state-yM0mV9_P.js +3 -0
  343. package/dist/core/web/public/next/assets/fleet-state-yM0mV9_P.js.map +1 -0
  344. package/dist/core/web/public/next/assets/focus-trap-C2rynI8q.js +2 -0
  345. package/dist/core/web/public/next/assets/focus-trap-C2rynI8q.js.map +1 -0
  346. package/dist/core/web/public/next/assets/format-V6IiIMAL.js +2 -0
  347. package/dist/core/web/public/next/assets/format-V6IiIMAL.js.map +1 -0
  348. package/dist/core/web/public/next/assets/git-model-rVA0Jd0g.js +5 -0
  349. package/dist/core/web/public/next/assets/git-model-rVA0Jd0g.js.map +1 -0
  350. package/dist/core/web/public/next/assets/global-CYfRwH6t.js +3 -0
  351. package/dist/core/web/public/next/assets/global-CYfRwH6t.js.map +1 -0
  352. package/dist/core/web/public/next/assets/guarded-action-A9ZsIE8S.js +3 -0
  353. package/dist/core/web/public/next/assets/guarded-action-A9ZsIE8S.js.map +1 -0
  354. package/dist/core/web/public/next/assets/guarded-runners-xMakDn92.js +2 -0
  355. package/dist/core/web/public/next/assets/guarded-runners-xMakDn92.js.map +1 -0
  356. package/dist/core/web/public/next/assets/headroom-C4dyfw7P.js +2 -0
  357. package/dist/core/web/public/next/assets/headroom-C4dyfw7P.js.map +1 -0
  358. package/dist/core/web/public/next/assets/health-queries-BHoSyIcL.js +2 -0
  359. package/dist/core/web/public/next/assets/health-queries-BHoSyIcL.js.map +1 -0
  360. package/dist/core/web/public/next/assets/icons-BBm_Cy62.js +2 -0
  361. package/dist/core/web/public/next/assets/icons-BBm_Cy62.js.map +1 -0
  362. package/dist/core/web/public/next/assets/index-_izD07R9.js +11 -0
  363. package/dist/core/web/public/next/assets/index-_izD07R9.js.map +1 -0
  364. package/dist/core/web/public/next/assets/jev-queries-D-AMM0sw.js +2 -0
  365. package/dist/core/web/public/next/assets/jev-queries-D-AMM0sw.js.map +1 -0
  366. package/dist/core/web/public/next/assets/ladder-queries-BIpJVqxu.js +2 -0
  367. package/dist/core/web/public/next/assets/ladder-queries-BIpJVqxu.js.map +1 -0
  368. package/dist/core/web/public/next/assets/leader-focus-Dh4gXTSi.js +2 -0
  369. package/dist/core/web/public/next/assets/leader-focus-Dh4gXTSi.js.map +1 -0
  370. package/dist/core/web/public/next/assets/live-model-D97AfBFz.js +2 -0
  371. package/dist/core/web/public/next/assets/live-model-D97AfBFz.js.map +1 -0
  372. package/dist/core/web/public/next/assets/mind.module-rVKz51LB.js +2 -0
  373. package/dist/core/web/public/next/assets/mind.module-rVKz51LB.js.map +1 -0
  374. package/dist/core/web/public/next/assets/mobile-actions-V26-lGbH.js +2 -0
  375. package/dist/core/web/public/next/assets/mobile-actions-V26-lGbH.js.map +1 -0
  376. package/dist/core/web/public/next/assets/mobile-toast-9-WQbWQu.js +2 -0
  377. package/dist/core/web/public/next/assets/mobile-toast-9-WQbWQu.js.map +1 -0
  378. package/dist/core/web/public/next/assets/multimodel-flows-D309YXSk.js +7 -0
  379. package/dist/core/web/public/next/assets/multimodel-flows-D309YXSk.js.map +1 -0
  380. package/dist/core/web/public/next/assets/multimodel-queries-BuslyWtq.js +2 -0
  381. package/dist/core/web/public/next/assets/multimodel-queries-BuslyWtq.js.map +1 -0
  382. package/dist/core/web/public/next/assets/mutations-B9AZoqNR.js +2 -0
  383. package/dist/core/web/public/next/assets/mutations-B9AZoqNR.js.map +1 -0
  384. package/dist/core/web/public/next/assets/nav-DC0ynjdb.js +2 -0
  385. package/dist/core/web/public/next/assets/nav-DC0ynjdb.js.map +1 -0
  386. package/dist/core/web/public/next/assets/needs-you-actions-BOHN9fg7.js +2 -0
  387. package/dist/core/web/public/next/assets/needs-you-actions-BOHN9fg7.js.map +1 -0
  388. package/dist/core/web/public/next/assets/needs-you-model-ChGg3r5r.js +2 -0
  389. package/dist/core/web/public/next/assets/needs-you-model-ChGg3r5r.js.map +1 -0
  390. package/dist/core/web/public/next/assets/open-terminal-5F1FNUEB.js +2 -0
  391. package/dist/core/web/public/next/assets/open-terminal-5F1FNUEB.js.map +1 -0
  392. package/dist/core/web/public/next/assets/open-terminal-request-SjPIZmAt.js +2 -0
  393. package/dist/core/web/public/next/assets/open-terminal-request-SjPIZmAt.js.map +1 -0
  394. package/dist/core/web/public/next/assets/overnight-queries-Dc46kMfg.js +2 -0
  395. package/dist/core/web/public/next/assets/overnight-queries-Dc46kMfg.js.map +1 -0
  396. package/dist/core/web/public/next/assets/palette-handoff-xkWF9v2M.js +2 -0
  397. package/dist/core/web/public/next/assets/palette-handoff-xkWF9v2M.js.map +1 -0
  398. package/dist/core/web/public/next/assets/panes-DOXM13lF.js +3 -0
  399. package/dist/core/web/public/next/assets/panes-DOXM13lF.js.map +1 -0
  400. package/dist/core/web/public/next/assets/path-display-C6BmdnBS.js +2 -0
  401. package/dist/core/web/public/next/assets/path-display-C6BmdnBS.js.map +1 -0
  402. package/dist/core/web/public/next/assets/percent-text-CSk89zQF.js +2 -0
  403. package/dist/core/web/public/next/assets/percent-text-CSk89zQF.js.map +1 -0
  404. package/dist/core/web/public/next/assets/playbook-composer-Bz-fFxXW.js +2 -0
  405. package/dist/core/web/public/next/assets/playbook-composer-Bz-fFxXW.js.map +1 -0
  406. package/dist/core/web/public/next/assets/playbook-focus-BXu0yrHF.js +2 -0
  407. package/dist/core/web/public/next/assets/playbook-focus-BXu0yrHF.js.map +1 -0
  408. package/dist/core/web/public/next/assets/playbooks-queries-Cpnl3avl.js +2 -0
  409. package/dist/core/web/public/next/assets/playbooks-queries-Cpnl3avl.js.map +1 -0
  410. package/dist/core/web/public/next/assets/preloaded-E_jepvvg.js +2 -0
  411. package/dist/core/web/public/next/assets/preloaded-E_jepvvg.js.map +1 -0
  412. package/dist/core/web/public/next/assets/primitives-Bynv7bPl.js +1 -0
  413. package/dist/core/web/public/next/assets/pwa-D2lyCiGV.js +2 -0
  414. package/dist/core/web/public/next/assets/pwa-D2lyCiGV.js.map +1 -0
  415. package/dist/core/web/public/next/assets/queries-C0Bs3TOo.js +2 -0
  416. package/dist/core/web/public/next/assets/queries-C0Bs3TOo.js.map +1 -0
  417. package/dist/core/web/public/next/assets/reasoning-pref-DDPtfTM3.js +2 -0
  418. package/dist/core/web/public/next/assets/reasoning-pref-DDPtfTM3.js.map +1 -0
  419. package/dist/core/web/public/next/assets/remote-session-Dj27m1xb.js +3 -0
  420. package/dist/core/web/public/next/assets/remote-session-Dj27m1xb.js.map +1 -0
  421. package/dist/core/web/public/next/assets/resolved-store-B2iJa5C2.js +2 -0
  422. package/dist/core/web/public/next/assets/resolved-store-B2iJa5C2.js.map +1 -0
  423. package/dist/core/web/public/next/assets/resources-queries-pVRhOTEt.js +2 -0
  424. package/dist/core/web/public/next/assets/resources-queries-pVRhOTEt.js.map +1 -0
  425. package/dist/core/web/public/next/assets/reveal-anchor-BAMmxMeu.js +2 -0
  426. package/dist/core/web/public/next/assets/reveal-anchor-BAMmxMeu.js.map +1 -0
  427. package/dist/core/web/public/next/assets/rolldown-runtime-hePW80VL.js +1 -0
  428. package/dist/core/web/public/next/assets/seat-readiness-a5B9iqP-.js +2 -0
  429. package/dist/core/web/public/next/assets/seat-readiness-a5B9iqP-.js.map +1 -0
  430. package/dist/core/web/public/next/assets/seat-subscription-Cut6eC-8.js +2 -0
  431. package/dist/core/web/public/next/assets/seat-subscription-Cut6eC-8.js.map +1 -0
  432. package/dist/core/web/public/next/assets/sheet-BxZSmdad.js +2 -0
  433. package/dist/core/web/public/next/assets/sheet-BxZSmdad.js.map +1 -0
  434. package/dist/core/web/public/next/assets/sidebar-model-COzIPSiP.js +2 -0
  435. package/dist/core/web/public/next/assets/sidebar-model-COzIPSiP.js.map +1 -0
  436. package/dist/core/web/public/next/assets/slots-BJc3RJkV.js +3 -0
  437. package/dist/core/web/public/next/assets/slots-BJc3RJkV.js.map +1 -0
  438. package/dist/core/web/public/next/assets/sources-queries-DCKiXNAt.js +4 -0
  439. package/dist/core/web/public/next/assets/sources-queries-DCKiXNAt.js.map +1 -0
  440. package/dist/core/web/public/next/assets/sse-It4xa040.js +2 -0
  441. package/dist/core/web/public/next/assets/sse-It4xa040.js.map +1 -0
  442. package/dist/core/web/public/next/assets/surface-data-NFl_uS--.js +2 -0
  443. package/dist/core/web/public/next/assets/surface-data-NFl_uS--.js.map +1 -0
  444. package/dist/core/web/public/next/assets/surface-prefetch-jMaLNI6z.js +2 -0
  445. package/dist/core/web/public/next/assets/surface-prefetch-jMaLNI6z.js.map +1 -0
  446. package/dist/core/web/public/next/assets/tasks-model-CbmPgWL8.js +2 -0
  447. package/dist/core/web/public/next/assets/tasks-model-CbmPgWL8.js.map +1 -0
  448. package/dist/core/web/public/next/assets/terminal-client-DTXAf2-x.js +2 -0
  449. package/dist/core/web/public/next/assets/terminal-client-DTXAf2-x.js.map +1 -0
  450. package/dist/core/web/public/next/assets/terminal-icons-qBCOwqu-.js +2 -0
  451. package/dist/core/web/public/next/assets/terminal-icons-qBCOwqu-.js.map +1 -0
  452. package/dist/core/web/public/next/assets/terminal-view-CksH3CsK.js +6 -0
  453. package/dist/core/web/public/next/assets/terminal-view-CksH3CsK.js.map +1 -0
  454. package/dist/core/web/public/next/assets/thread-data-C8z55msn.js +2 -0
  455. package/dist/core/web/public/next/assets/thread-data-C8z55msn.js.map +1 -0
  456. package/dist/core/web/public/next/assets/ui-parts-CcpmRBwj.js +2 -0
  457. package/dist/core/web/public/next/assets/ui-parts-CcpmRBwj.js.map +1 -0
  458. package/dist/core/web/public/next/assets/usage-queries-BxrTLCaJ.js +2 -0
  459. package/dist/core/web/public/next/assets/usage-queries-BxrTLCaJ.js.map +1 -0
  460. package/dist/core/web/public/next/assets/use-chat-activity-O8I0Ho0m.js +2 -0
  461. package/dist/core/web/public/next/assets/use-chat-activity-O8I0Ho0m.js.map +1 -0
  462. package/dist/core/web/public/next/assets/use-guarded-action-BZ6Bye9l.js +2 -0
  463. package/dist/core/web/public/next/assets/use-guarded-action-BZ6Bye9l.js.map +1 -0
  464. package/dist/core/web/public/next/assets/use-ticker-CUsNALmP.js +2 -0
  465. package/dist/core/web/public/next/assets/use-ticker-CUsNALmP.js.map +1 -0
  466. package/dist/core/web/public/next/assets/use-token-gate-DgnO9fbv.js +2 -0
  467. package/dist/core/web/public/next/assets/use-token-gate-DgnO9fbv.js.map +1 -0
  468. package/dist/core/web/public/next/assets/useAutoSeat-CIEXM-Q5.js +2 -0
  469. package/dist/core/web/public/next/assets/useAutoSeat-CIEXM-Q5.js.map +1 -0
  470. package/dist/core/web/public/next/assets/useOnboarding-BAmRBxkI.js +2 -0
  471. package/dist/core/web/public/next/assets/useOnboarding-BAmRBxkI.js.map +1 -0
  472. package/dist/core/web/public/next/assets/useSeatHealth-DPkSSddF.js +2 -0
  473. package/dist/core/web/public/next/assets/useSeatHealth-DPkSSddF.js.map +1 -0
  474. package/dist/core/web/public/next/assets/useSeatsRefresh-CpsRhfmt.js +2 -0
  475. package/dist/core/web/public/next/assets/useSeatsRefresh-CpsRhfmt.js.map +1 -0
  476. package/dist/core/web/public/next/assets/useVerseSession-DeW1iFpw.js +2 -0
  477. package/dist/core/web/public/next/assets/useVerseSession-DeW1iFpw.js.map +1 -0
  478. package/dist/core/web/public/next/assets/useVerseTranscript-CvUqjRmZ.js +2 -0
  479. package/dist/core/web/public/next/assets/useVerseTranscript-CvUqjRmZ.js.map +1 -0
  480. package/dist/core/web/public/next/assets/verse-bootstrap-query-ANtL2OPN.js +2 -0
  481. package/dist/core/web/public/next/assets/verse-bootstrap-query-ANtL2OPN.js.map +1 -0
  482. package/dist/core/web/public/next/assets/verse-icons-C92Qt7rh.js +2 -0
  483. package/dist/core/web/public/next/assets/verse-icons-C92Qt7rh.js.map +1 -0
  484. package/dist/core/web/public/next/assets/verse-model-DAOz9LrY.js +2 -0
  485. package/dist/core/web/public/next/assets/verse-model-DAOz9LrY.js.map +1 -0
  486. package/dist/core/web/public/next/assets/warmup-B2DWWeeC.js +3 -0
  487. package/dist/core/web/public/next/assets/warmup-B2DWWeeC.js.map +1 -0
  488. package/dist/core/web/public/next/assets/why-seat-model-Bn6O26JJ.js +2 -0
  489. package/dist/core/web/public/next/assets/why-seat-model-Bn6O26JJ.js.map +1 -0
  490. package/dist/core/web/public/next/assets/wiki-focus-CwC-yoT9.js +2 -0
  491. package/dist/core/web/public/next/assets/wiki-focus-CwC-yoT9.js.map +1 -0
  492. package/dist/core/web/public/next/assets/workspace-model-C-q_I8xN.js +2 -0
  493. package/dist/core/web/public/next/assets/workspace-model-C-q_I8xN.js.map +1 -0
  494. package/dist/core/web/public/next/index.html +2 -1
  495. package/dist/core/web/remote-gateway-policy.js +5 -0
  496. package/dist/core/web/remote-gateway-policy.js.map +1 -1
  497. package/dist/core/web/static.d.ts +4 -3
  498. package/dist/core/web/static.js +8 -5
  499. package/dist/core/web/static.js.map +1 -1
  500. package/dist/release-dependency-inventory.json +1 -1
  501. package/node_modules/fast-uri/index.js +20 -5
  502. package/node_modules/fast-uri/lib/utils.js +8 -1
  503. package/node_modules/fast-uri/package.json +1 -1
  504. package/node_modules/fast-uri/test/component-safe-serialization.test.js +58 -0
  505. package/node_modules/fast-uri/test/ipv6-validation.test.js +34 -0
  506. package/node_modules/ip-address/README.md +134 -134
  507. package/node_modules/ip-address/dist/address-error.d.ts +11 -0
  508. package/node_modules/ip-address/dist/address-error.js.map +1 -1
  509. package/node_modules/ip-address/dist/ipv4.d.ts +22 -6
  510. package/node_modules/ip-address/dist/ipv4.js +22 -6
  511. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  512. package/node_modules/ip-address/dist/ipv6.d.ts +26 -8
  513. package/node_modules/ip-address/dist/ipv6.js +46 -29
  514. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  515. package/node_modules/ip-address/dist/v6/constants.js +1 -0
  516. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  517. package/node_modules/ip-address/package.json +1 -1
  518. package/package.json +5 -4
  519. package/dist/core/web/public/next/assets/ActionMenu-Bia8Re6u.js +0 -2
  520. package/dist/core/web/public/next/assets/ActionMenu-Bia8Re6u.js.map +0 -1
  521. package/dist/core/web/public/next/assets/Advanced-C1LtnA8c.js +0 -2
  522. package/dist/core/web/public/next/assets/Advanced-C1LtnA8c.js.map +0 -1
  523. package/dist/core/web/public/next/assets/AgentDetailScreen-DuoXrbol.js +0 -2
  524. package/dist/core/web/public/next/assets/AgentDetailScreen-DuoXrbol.js.map +0 -1
  525. package/dist/core/web/public/next/assets/AgentToolsSheet-Bdfk4SF-.js +0 -2
  526. package/dist/core/web/public/next/assets/AgentToolsSheet-Bdfk4SF-.js.map +0 -1
  527. package/dist/core/web/public/next/assets/AgentToolsStrip-BN1otiqC.js +0 -2
  528. package/dist/core/web/public/next/assets/AgentToolsStrip-BN1otiqC.js.map +0 -1
  529. package/dist/core/web/public/next/assets/AgentsScreen-BxHFaI48.js +0 -2
  530. package/dist/core/web/public/next/assets/AgentsScreen-BxHFaI48.js.map +0 -1
  531. package/dist/core/web/public/next/assets/AgentsSection-mYIA8Lyk.js +0 -3
  532. package/dist/core/web/public/next/assets/AgentsSection-mYIA8Lyk.js.map +0 -1
  533. package/dist/core/web/public/next/assets/App-DebYuj1v.js +0 -8
  534. package/dist/core/web/public/next/assets/App-DebYuj1v.js.map +0 -1
  535. package/dist/core/web/public/next/assets/AppsSection-W30duGQA.js +0 -2
  536. package/dist/core/web/public/next/assets/AppsSection-W30duGQA.js.map +0 -1
  537. package/dist/core/web/public/next/assets/AreaTrend-ZnnIjBGU.js +0 -2
  538. package/dist/core/web/public/next/assets/AreaTrend-ZnnIjBGU.js.map +0 -1
  539. package/dist/core/web/public/next/assets/AutomationsSection-B4N0V-vz.js +0 -2
  540. package/dist/core/web/public/next/assets/AutomationsSection-B4N0V-vz.js.map +0 -1
  541. package/dist/core/web/public/next/assets/AutonomyOffState-C9S_FXc0.js +0 -3
  542. package/dist/core/web/public/next/assets/AutonomyOffState-C9S_FXc0.js.map +0 -1
  543. package/dist/core/web/public/next/assets/AutonomySection-oMQfNEQN.js +0 -2
  544. package/dist/core/web/public/next/assets/AutonomySection-oMQfNEQN.js.map +0 -1
  545. package/dist/core/web/public/next/assets/AutonomyStatus-CdHOyhrV.js +0 -2
  546. package/dist/core/web/public/next/assets/AutonomyStatus-CdHOyhrV.js.map +0 -1
  547. package/dist/core/web/public/next/assets/BranchBar-Bo5b8-hr.js +0 -2
  548. package/dist/core/web/public/next/assets/BranchBar-Bo5b8-hr.js.map +0 -1
  549. package/dist/core/web/public/next/assets/BrowserPanel-D02omBK0.js +0 -7
  550. package/dist/core/web/public/next/assets/BrowserPanel-D02omBK0.js.map +0 -1
  551. package/dist/core/web/public/next/assets/BudgetControl-BtPTi8qI.js +0 -2
  552. package/dist/core/web/public/next/assets/BudgetControl-BtPTi8qI.js.map +0 -1
  553. package/dist/core/web/public/next/assets/Button-DP2ImS5n.js +0 -2
  554. package/dist/core/web/public/next/assets/Button-DP2ImS5n.js.map +0 -1
  555. package/dist/core/web/public/next/assets/CapacityStrip-ChYPcr23.js +0 -2
  556. package/dist/core/web/public/next/assets/CapacityStrip-ChYPcr23.js.map +0 -1
  557. package/dist/core/web/public/next/assets/ChangesPaneHost-C53_94Kn.js +0 -16
  558. package/dist/core/web/public/next/assets/ChangesPaneHost-C53_94Kn.js.map +0 -1
  559. package/dist/core/web/public/next/assets/ChartFrame-CtFLETWA.js +0 -2
  560. package/dist/core/web/public/next/assets/ChartFrame-CtFLETWA.js.map +0 -1
  561. package/dist/core/web/public/next/assets/ChatPanes-CyAK9VAi.js +0 -2
  562. package/dist/core/web/public/next/assets/ChatPanes-CyAK9VAi.js.map +0 -1
  563. package/dist/core/web/public/next/assets/ChatSection-DV9smoPe.js +0 -3
  564. package/dist/core/web/public/next/assets/ChatSection-DV9smoPe.js.map +0 -1
  565. package/dist/core/web/public/next/assets/ChecksPanel-B6T2sjc_.js +0 -5
  566. package/dist/core/web/public/next/assets/ChecksPanel-B6T2sjc_.js.map +0 -1
  567. package/dist/core/web/public/next/assets/CloudBudgetForm-D8RbdAC7.js +0 -2
  568. package/dist/core/web/public/next/assets/CloudBudgetForm-D8RbdAC7.js.map +0 -1
  569. package/dist/core/web/public/next/assets/CommandPalette-C04gGTES.js +0 -3
  570. package/dist/core/web/public/next/assets/CommandPalette-C04gGTES.js.map +0 -1
  571. package/dist/core/web/public/next/assets/CommandSection-Be8VFAEU.js +0 -3
  572. package/dist/core/web/public/next/assets/CommandSection-Be8VFAEU.js.map +0 -1
  573. package/dist/core/web/public/next/assets/CommandWorkflowForm-D5A7c2PE.js +0 -9
  574. package/dist/core/web/public/next/assets/CommandWorkflowForm-D5A7c2PE.js.map +0 -1
  575. package/dist/core/web/public/next/assets/CommandWorkflowPicker-CGrRWfzQ.js +0 -3
  576. package/dist/core/web/public/next/assets/CommandWorkflowPicker-CGrRWfzQ.js.map +0 -1
  577. package/dist/core/web/public/next/assets/CompareDialog-C2ryiEtF.js +0 -4
  578. package/dist/core/web/public/next/assets/CompareDialog-C2ryiEtF.js.map +0 -1
  579. package/dist/core/web/public/next/assets/ComputerControl-C4oW7Zim.js +0 -2
  580. package/dist/core/web/public/next/assets/ComputerControl-C4oW7Zim.js.map +0 -1
  581. package/dist/core/web/public/next/assets/ConfirmDialog-J8CszPmj.js +0 -2
  582. package/dist/core/web/public/next/assets/ConfirmDialog-J8CszPmj.js.map +0 -1
  583. package/dist/core/web/public/next/assets/DeleteChatDialog-BT5y9cR2.js +0 -2
  584. package/dist/core/web/public/next/assets/DeleteChatDialog-BT5y9cR2.js.map +0 -1
  585. package/dist/core/web/public/next/assets/DevinStopDialog-CADdSqha.js +0 -2
  586. package/dist/core/web/public/next/assets/DevinStopDialog-CADdSqha.js.map +0 -1
  587. package/dist/core/web/public/next/assets/Dialog-BYIKNPcH.js +0 -2
  588. package/dist/core/web/public/next/assets/Dialog-BYIKNPcH.js.map +0 -1
  589. package/dist/core/web/public/next/assets/DiffPane-D_CC9a5x.js +0 -2
  590. package/dist/core/web/public/next/assets/DiffPane-D_CC9a5x.js.map +0 -1
  591. package/dist/core/web/public/next/assets/DiffViewer-DjtLl7ro.js +0 -2
  592. package/dist/core/web/public/next/assets/DiffViewer-DjtLl7ro.js.map +0 -1
  593. package/dist/core/web/public/next/assets/DockHost-BHbosAjM.js +0 -2
  594. package/dist/core/web/public/next/assets/DockHost-BHbosAjM.js.map +0 -1
  595. package/dist/core/web/public/next/assets/EmptyState-BEXDoNZd.js +0 -2
  596. package/dist/core/web/public/next/assets/EmptyState-BEXDoNZd.js.map +0 -1
  597. package/dist/core/web/public/next/assets/Epistemic-BPBAmLNh.js +0 -2
  598. package/dist/core/web/public/next/assets/Epistemic-BPBAmLNh.js.map +0 -1
  599. package/dist/core/web/public/next/assets/EvidenceTimeline-D2nuo6Oo.js +0 -2
  600. package/dist/core/web/public/next/assets/EvidenceTimeline-D2nuo6Oo.js.map +0 -1
  601. package/dist/core/web/public/next/assets/FilesPane-BQBcWyxr.js +0 -2
  602. package/dist/core/web/public/next/assets/FilesPane-BQBcWyxr.js.map +0 -1
  603. package/dist/core/web/public/next/assets/FleetScreen-YXDuVwKd.js +0 -2
  604. package/dist/core/web/public/next/assets/FleetScreen-YXDuVwKd.js.map +0 -1
  605. package/dist/core/web/public/next/assets/FleetSection-D2M7u9zG.js +0 -5
  606. package/dist/core/web/public/next/assets/FleetSection-D2M7u9zG.js.map +0 -1
  607. package/dist/core/web/public/next/assets/Funnel-rnPUaoN7.js +0 -2
  608. package/dist/core/web/public/next/assets/Funnel-rnPUaoN7.js.map +0 -1
  609. package/dist/core/web/public/next/assets/GearTray-Cc14h572.js +0 -2
  610. package/dist/core/web/public/next/assets/GearTray-Cc14h572.js.map +0 -1
  611. package/dist/core/web/public/next/assets/GitDialogs-BSTlyNJR.js +0 -2
  612. package/dist/core/web/public/next/assets/GitDialogs-BSTlyNJR.js.map +0 -1
  613. package/dist/core/web/public/next/assets/GrowthSection-BK63EJn9.js +0 -3
  614. package/dist/core/web/public/next/assets/GrowthSection-BK63EJn9.js.map +0 -1
  615. package/dist/core/web/public/next/assets/HandoffDialog-DD4M-C7v.js +0 -2
  616. package/dist/core/web/public/next/assets/HandoffDialog-DD4M-C7v.js.map +0 -1
  617. package/dist/core/web/public/next/assets/HomeBody-OEhTpkk9.js +0 -3
  618. package/dist/core/web/public/next/assets/HomeBody-OEhTpkk9.js.map +0 -1
  619. package/dist/core/web/public/next/assets/HomeSeats-CJCxRUlD.js +0 -2
  620. package/dist/core/web/public/next/assets/HomeSeats-CJCxRUlD.js.map +0 -1
  621. package/dist/core/web/public/next/assets/Input-BEF-ScuG.js +0 -2
  622. package/dist/core/web/public/next/assets/Input-BEF-ScuG.js.map +0 -1
  623. package/dist/core/web/public/next/assets/LaunchDialog-CERI717u.js +0 -9
  624. package/dist/core/web/public/next/assets/LaunchDialog-CERI717u.js.map +0 -1
  625. package/dist/core/web/public/next/assets/LeaderCard-3P95vgVU.js +0 -2
  626. package/dist/core/web/public/next/assets/LeaderCard-3P95vgVU.js.map +0 -1
  627. package/dist/core/web/public/next/assets/LeaderConversation-DjZS2PrX.js +0 -3
  628. package/dist/core/web/public/next/assets/LeaderConversation-DjZS2PrX.js.map +0 -1
  629. package/dist/core/web/public/next/assets/LeaderScreen-Dw5jDfWv.js +0 -2
  630. package/dist/core/web/public/next/assets/LeaderScreen-Dw5jDfWv.js.map +0 -1
  631. package/dist/core/web/public/next/assets/LessonsPanel-Wy6TVWEv.js +0 -2
  632. package/dist/core/web/public/next/assets/LessonsPanel-Wy6TVWEv.js.map +0 -1
  633. package/dist/core/web/public/next/assets/LiveTimer-c18lVIBC.js +0 -2
  634. package/dist/core/web/public/next/assets/LiveTimer-c18lVIBC.js.map +0 -1
  635. package/dist/core/web/public/next/assets/LocalSeatBadge-BfUUuXE5.js +0 -2
  636. package/dist/core/web/public/next/assets/LocalSeatBadge-BfUUuXE5.js.map +0 -1
  637. package/dist/core/web/public/next/assets/MatrixHeatmap-DTOumwCS.js +0 -2
  638. package/dist/core/web/public/next/assets/MatrixHeatmap-DTOumwCS.js.map +0 -1
  639. package/dist/core/web/public/next/assets/McpSection-D9eJislZ.js +0 -2
  640. package/dist/core/web/public/next/assets/McpSection-D9eJislZ.js.map +0 -1
  641. package/dist/core/web/public/next/assets/MessageMarkdown-Dkw4V24c.js +0 -3
  642. package/dist/core/web/public/next/assets/MessageMarkdown-Dkw4V24c.js.map +0 -1
  643. package/dist/core/web/public/next/assets/MessageMarkdownRenderer-VOSfkJpd.js +0 -72
  644. package/dist/core/web/public/next/assets/MessageMarkdownRenderer-VOSfkJpd.js.map +0 -1
  645. package/dist/core/web/public/next/assets/Meter-dMqKBaVV.js +0 -2
  646. package/dist/core/web/public/next/assets/Meter-dMqKBaVV.js.map +0 -1
  647. package/dist/core/web/public/next/assets/MicButton-92I_NsaT.js +0 -2
  648. package/dist/core/web/public/next/assets/MicButton-92I_NsaT.js.map +0 -1
  649. package/dist/core/web/public/next/assets/MindSection-CaGckJiR.js +0 -3
  650. package/dist/core/web/public/next/assets/MindSection-CaGckJiR.js.map +0 -1
  651. package/dist/core/web/public/next/assets/MobileComposer-BOFWmkku.js +0 -2
  652. package/dist/core/web/public/next/assets/MobileComposer-BOFWmkku.js.map +0 -1
  653. package/dist/core/web/public/next/assets/MobileGuardSheet-CY3Iulte.js +0 -2
  654. package/dist/core/web/public/next/assets/MobileGuardSheet-CY3Iulte.js.map +0 -1
  655. package/dist/core/web/public/next/assets/MobileRuntime-C-GtV4jT.js +0 -3
  656. package/dist/core/web/public/next/assets/MobileRuntime-C-GtV4jT.js.map +0 -1
  657. package/dist/core/web/public/next/assets/MoreScreen-BaH8iEnb.js +0 -2
  658. package/dist/core/web/public/next/assets/MoreScreen-BaH8iEnb.js.map +0 -1
  659. package/dist/core/web/public/next/assets/MultiModelBar-7DHuXGht.js +0 -7
  660. package/dist/core/web/public/next/assets/MultiModelBar-7DHuXGht.js.map +0 -1
  661. package/dist/core/web/public/next/assets/MutationTokenDialog-D522NXsm.js +0 -2
  662. package/dist/core/web/public/next/assets/MutationTokenDialog-D522NXsm.js.map +0 -1
  663. package/dist/core/web/public/next/assets/NeedsYouDrawer-6ud1RHOU.js +0 -3
  664. package/dist/core/web/public/next/assets/NeedsYouDrawer-6ud1RHOU.js.map +0 -1
  665. package/dist/core/web/public/next/assets/NeedsYouList-E-yy-xKE.js +0 -2
  666. package/dist/core/web/public/next/assets/NeedsYouList-E-yy-xKE.js.map +0 -1
  667. package/dist/core/web/public/next/assets/NeedsYouScreen-D13Q7iU8.js +0 -2
  668. package/dist/core/web/public/next/assets/NeedsYouScreen-D13Q7iU8.js.map +0 -1
  669. package/dist/core/web/public/next/assets/NewAgentScreen-BLtU1u-d.js +0 -2
  670. package/dist/core/web/public/next/assets/NewAgentScreen-BLtU1u-d.js.map +0 -1
  671. package/dist/core/web/public/next/assets/NewChatDialog-BL15LCaj.js +0 -4
  672. package/dist/core/web/public/next/assets/NewChatDialog-BL15LCaj.js.map +0 -1
  673. package/dist/core/web/public/next/assets/OnboardingFlow-7LRC7FlX.js +0 -3
  674. package/dist/core/web/public/next/assets/OnboardingFlow-7LRC7FlX.js.map +0 -1
  675. package/dist/core/web/public/next/assets/OnboardingGate-DRlv8QZ5.js +0 -3
  676. package/dist/core/web/public/next/assets/OnboardingGate-DRlv8QZ5.js.map +0 -1
  677. package/dist/core/web/public/next/assets/PlaybooksSection-D_uQ-NB3.js +0 -9
  678. package/dist/core/web/public/next/assets/PlaybooksSection-D_uQ-NB3.js.map +0 -1
  679. package/dist/core/web/public/next/assets/PreviewPane-DubyNi8H.js +0 -2
  680. package/dist/core/web/public/next/assets/PreviewPane-DubyNi8H.js.map +0 -1
  681. package/dist/core/web/public/next/assets/ProviderLogo-CWrojWjI.js +0 -2
  682. package/dist/core/web/public/next/assets/ProviderLogo-CWrojWjI.js.map +0 -1
  683. package/dist/core/web/public/next/assets/RailStatus-xjOcjL0v.js +0 -2
  684. package/dist/core/web/public/next/assets/RailStatus-xjOcjL0v.js.map +0 -1
  685. package/dist/core/web/public/next/assets/ReasoningPane-M7ZfvEc5.js +0 -2
  686. package/dist/core/web/public/next/assets/ReasoningPane-M7ZfvEc5.js.map +0 -1
  687. package/dist/core/web/public/next/assets/ReasoningSheet-RLLj2oys.js +0 -2
  688. package/dist/core/web/public/next/assets/ReasoningSheet-RLLj2oys.js.map +0 -1
  689. package/dist/core/web/public/next/assets/RefreshIndicator-CEMRNruu.js +0 -2
  690. package/dist/core/web/public/next/assets/RefreshIndicator-CEMRNruu.js.map +0 -1
  691. package/dist/core/web/public/next/assets/RemoteMobileApp-BcXsVw0z.js +0 -2
  692. package/dist/core/web/public/next/assets/RemoteMobileApp-BcXsVw0z.js.map +0 -1
  693. package/dist/core/web/public/next/assets/ResourcePoolConsoleApp-BC_Q_i0I.js +0 -7
  694. package/dist/core/web/public/next/assets/ResourcePoolConsoleApp-BC_Q_i0I.js.map +0 -1
  695. package/dist/core/web/public/next/assets/ResourcesChrome-CPcTYvZR.js +0 -3
  696. package/dist/core/web/public/next/assets/ResourcesChrome-CPcTYvZR.js.map +0 -1
  697. package/dist/core/web/public/next/assets/ResourcesDrawer-C6VzGCSv.js +0 -3
  698. package/dist/core/web/public/next/assets/ResourcesDrawer-C6VzGCSv.js.map +0 -1
  699. package/dist/core/web/public/next/assets/RouteErrorBoundary-Cc9GsjZz.js +0 -2
  700. package/dist/core/web/public/next/assets/RouteErrorBoundary-Cc9GsjZz.js.map +0 -1
  701. package/dist/core/web/public/next/assets/RunInCloudAction-P_hDsqjX.js +0 -2
  702. package/dist/core/web/public/next/assets/RunInCloudAction-P_hDsqjX.js.map +0 -1
  703. package/dist/core/web/public/next/assets/RunInDevinAction-CfNpQCP3.js +0 -2
  704. package/dist/core/web/public/next/assets/RunInDevinAction-CfNpQCP3.js.map +0 -1
  705. package/dist/core/web/public/next/assets/ScreenHost-BBYihlNQ.js +0 -3
  706. package/dist/core/web/public/next/assets/ScreenHost-BBYihlNQ.js.map +0 -1
  707. package/dist/core/web/public/next/assets/SeatSelector-DSd_pxg2.js +0 -3
  708. package/dist/core/web/public/next/assets/SeatSelector-DSd_pxg2.js.map +0 -1
  709. package/dist/core/web/public/next/assets/Segmented-CtwuFlbY.js +0 -2
  710. package/dist/core/web/public/next/assets/Segmented-CtwuFlbY.js.map +0 -1
  711. package/dist/core/web/public/next/assets/Select-zXMdgblm.js +0 -2
  712. package/dist/core/web/public/next/assets/Select-zXMdgblm.js.map +0 -1
  713. package/dist/core/web/public/next/assets/SessionGate-88QiSoXo.js +0 -2
  714. package/dist/core/web/public/next/assets/SessionGate-88QiSoXo.js.map +0 -1
  715. package/dist/core/web/public/next/assets/SessionInsightChip-CaPvisvI.js +0 -2
  716. package/dist/core/web/public/next/assets/SessionInsightChip-CaPvisvI.js.map +0 -1
  717. package/dist/core/web/public/next/assets/SessionSearch-Ch3veGxY.js +0 -2
  718. package/dist/core/web/public/next/assets/SessionSearch-Ch3veGxY.js.map +0 -1
  719. package/dist/core/web/public/next/assets/SettingsSection-DLSYZEFc.js +0 -2
  720. package/dist/core/web/public/next/assets/SettingsSection-DLSYZEFc.js.map +0 -1
  721. package/dist/core/web/public/next/assets/SetupChecklist-DFAVVLpJ.js +0 -2
  722. package/dist/core/web/public/next/assets/SetupChecklist-DFAVVLpJ.js.map +0 -1
  723. package/dist/core/web/public/next/assets/ShadowDecisions-Gtrbo4US.js +0 -3
  724. package/dist/core/web/public/next/assets/ShadowDecisions-Gtrbo4US.js.map +0 -1
  725. package/dist/core/web/public/next/assets/Sheet-D72WH4mP.js +0 -2
  726. package/dist/core/web/public/next/assets/Sheet-D72WH4mP.js.map +0 -1
  727. package/dist/core/web/public/next/assets/ShortcutsOverlay-DKetDlCR.js +0 -2
  728. package/dist/core/web/public/next/assets/ShortcutsOverlay-DKetDlCR.js.map +0 -1
  729. package/dist/core/web/public/next/assets/Sidebar-CqOJle0q.js +0 -3
  730. package/dist/core/web/public/next/assets/Sidebar-CqOJle0q.js.map +0 -1
  731. package/dist/core/web/public/next/assets/SkipToContent-C7UObcP2.js +0 -2
  732. package/dist/core/web/public/next/assets/SkipToContent-C7UObcP2.js.map +0 -1
  733. package/dist/core/web/public/next/assets/Slider-Bi5q-21C.js +0 -2
  734. package/dist/core/web/public/next/assets/Slider-Bi5q-21C.js.map +0 -1
  735. package/dist/core/web/public/next/assets/SourcesPane-D7Raaor0.js +0 -2
  736. package/dist/core/web/public/next/assets/SourcesPane-D7Raaor0.js.map +0 -1
  737. package/dist/core/web/public/next/assets/SourcesPanel-CCSdY5Os.js +0 -2
  738. package/dist/core/web/public/next/assets/SourcesPanel-CCSdY5Os.js.map +0 -1
  739. package/dist/core/web/public/next/assets/StatTile-BS_dzInS.js +0 -2
  740. package/dist/core/web/public/next/assets/StatTile-BS_dzInS.js.map +0 -1
  741. package/dist/core/web/public/next/assets/StatusBadge-CJbb9DhR.js +0 -2
  742. package/dist/core/web/public/next/assets/StatusBadge-CJbb9DhR.js.map +0 -1
  743. package/dist/core/web/public/next/assets/StepBand-Bfj1YYTl.js +0 -2
  744. package/dist/core/web/public/next/assets/StepBand-Bfj1YYTl.js.map +0 -1
  745. package/dist/core/web/public/next/assets/Surface-CV-NXGIM.js +0 -2
  746. package/dist/core/web/public/next/assets/Surface-CV-NXGIM.js.map +0 -1
  747. package/dist/core/web/public/next/assets/Swimlane-DbUp4tjD.js +0 -2
  748. package/dist/core/web/public/next/assets/Swimlane-DbUp4tjD.js.map +0 -1
  749. package/dist/core/web/public/next/assets/Switch-BtEo9Cku.js +0 -2
  750. package/dist/core/web/public/next/assets/Switch-BtEo9Cku.js.map +0 -1
  751. package/dist/core/web/public/next/assets/Tag-CMFqY2MP.js +0 -2
  752. package/dist/core/web/public/next/assets/Tag-CMFqY2MP.js.map +0 -1
  753. package/dist/core/web/public/next/assets/TerminalPane-BCjlhc3t.js +0 -26
  754. package/dist/core/web/public/next/assets/TerminalPane-BCjlhc3t.js.map +0 -1
  755. package/dist/core/web/public/next/assets/TerminalPane-DIwGSCA9.js +0 -3
  756. package/dist/core/web/public/next/assets/TerminalPane-DIwGSCA9.js.map +0 -1
  757. package/dist/core/web/public/next/assets/ThinkingBlock-Db8qnuKz.js +0 -2
  758. package/dist/core/web/public/next/assets/ThinkingBlock-Db8qnuKz.js.map +0 -1
  759. package/dist/core/web/public/next/assets/UniverseConsoleApp-ksreONXM.js +0 -2
  760. package/dist/core/web/public/next/assets/UniverseConsoleApp-ksreONXM.js.map +0 -1
  761. package/dist/core/web/public/next/assets/UniverseView-CfT9Dsl7.js +0 -9
  762. package/dist/core/web/public/next/assets/UniverseView-CfT9Dsl7.js.map +0 -1
  763. package/dist/core/web/public/next/assets/UsageSection-DypcdQys.js +0 -3
  764. package/dist/core/web/public/next/assets/UsageSection-DypcdQys.js.map +0 -1
  765. package/dist/core/web/public/next/assets/UsePlaybookAction-Bxwqrpwe.js +0 -2
  766. package/dist/core/web/public/next/assets/UsePlaybookAction-Bxwqrpwe.js.map +0 -1
  767. package/dist/core/web/public/next/assets/VerseConsoleApp-kFOEmnGC.js +0 -3
  768. package/dist/core/web/public/next/assets/VerseConsoleApp-kFOEmnGC.js.map +0 -1
  769. package/dist/core/web/public/next/assets/VerseMobileApp-BTGF5yuZ.js +0 -3
  770. package/dist/core/web/public/next/assets/VerseMobileApp-BTGF5yuZ.js.map +0 -1
  771. package/dist/core/web/public/next/assets/VerseShared-_pMXKs8m.js +0 -2
  772. package/dist/core/web/public/next/assets/VerseShared-_pMXKs8m.js.map +0 -1
  773. package/dist/core/web/public/next/assets/VoiceHud-B_hiHfnQ.js +0 -2
  774. package/dist/core/web/public/next/assets/VoiceHud-B_hiHfnQ.js.map +0 -1
  775. package/dist/core/web/public/next/assets/VoiceInput-B7yrGchr.js +0 -2
  776. package/dist/core/web/public/next/assets/VoiceInput-B7yrGchr.js.map +0 -1
  777. package/dist/core/web/public/next/assets/WikiSection-BXu4aZyr.js +0 -2
  778. package/dist/core/web/public/next/assets/WikiSection-BXu4aZyr.js.map +0 -1
  779. package/dist/core/web/public/next/assets/Workspace-BYT3iuNM.js +0 -6
  780. package/dist/core/web/public/next/assets/Workspace-BYT3iuNM.js.map +0 -1
  781. package/dist/core/web/public/next/assets/actions-CyO4R-IO.js +0 -2
  782. package/dist/core/web/public/next/assets/actions-CyO4R-IO.js.map +0 -1
  783. package/dist/core/web/public/next/assets/agent-tools-client-FgVNokGh.js +0 -2
  784. package/dist/core/web/public/next/assets/agent-tools-client-FgVNokGh.js.map +0 -1
  785. package/dist/core/web/public/next/assets/agent-transcript-model-CRa_I3eR.js +0 -7
  786. package/dist/core/web/public/next/assets/agent-transcript-model-CRa_I3eR.js.map +0 -1
  787. package/dist/core/web/public/next/assets/agents-focus-D2hd-RNJ.js +0 -2
  788. package/dist/core/web/public/next/assets/agents-focus-D2hd-RNJ.js.map +0 -1
  789. package/dist/core/web/public/next/assets/app-version-DDlXX8-W.js +0 -2
  790. package/dist/core/web/public/next/assets/app-version-DDlXX8-W.js.map +0 -1
  791. package/dist/core/web/public/next/assets/apps-model-DLQgiczq.js +0 -2
  792. package/dist/core/web/public/next/assets/apps-model-DLQgiczq.js.map +0 -1
  793. package/dist/core/web/public/next/assets/ask-seat-zMpqJABI.js +0 -2
  794. package/dist/core/web/public/next/assets/ask-seat-zMpqJABI.js.map +0 -1
  795. package/dist/core/web/public/next/assets/authority-model-BvLFgPaX.js +0 -2
  796. package/dist/core/web/public/next/assets/authority-model-BvLFgPaX.js.map +0 -1
  797. package/dist/core/web/public/next/assets/automations-focus-zqI9oIl8.js +0 -2
  798. package/dist/core/web/public/next/assets/automations-focus-zqI9oIl8.js.map +0 -1
  799. package/dist/core/web/public/next/assets/budget-model-CKd0d1Cj.js +0 -2
  800. package/dist/core/web/public/next/assets/budget-model-CKd0d1Cj.js.map +0 -1
  801. package/dist/core/web/public/next/assets/budget-queries-q7mCG9Ek.js +0 -2
  802. package/dist/core/web/public/next/assets/budget-queries-q7mCG9Ek.js.map +0 -1
  803. package/dist/core/web/public/next/assets/capacity-strip-model-pdIEweaZ.js +0 -2
  804. package/dist/core/web/public/next/assets/capacity-strip-model-pdIEweaZ.js.map +0 -1
  805. package/dist/core/web/public/next/assets/charts-D3I0q4hG.js +0 -2
  806. package/dist/core/web/public/next/assets/charts-D3I0q4hG.js.map +0 -1
  807. package/dist/core/web/public/next/assets/chat-pane-data-DIDV7uIU.js +0 -2
  808. package/dist/core/web/public/next/assets/chat-pane-data-DIDV7uIU.js.map +0 -1
  809. package/dist/core/web/public/next/assets/checkpoint-queries-DjrDEsN-.js +0 -2
  810. package/dist/core/web/public/next/assets/checkpoint-queries-DjrDEsN-.js.map +0 -1
  811. package/dist/core/web/public/next/assets/cloud-model-DuboHWPT.js +0 -2
  812. package/dist/core/web/public/next/assets/cloud-model-DuboHWPT.js.map +0 -1
  813. package/dist/core/web/public/next/assets/cloud-queries-DQF1a_R-.js +0 -2
  814. package/dist/core/web/public/next/assets/cloud-queries-DQF1a_R-.js.map +0 -1
  815. package/dist/core/web/public/next/assets/command-catalog-BzHSIzIS.js +0 -2
  816. package/dist/core/web/public/next/assets/command-catalog-BzHSIzIS.js.map +0 -1
  817. package/dist/core/web/public/next/assets/composer-queries-BEYuD6Qr.js +0 -2
  818. package/dist/core/web/public/next/assets/composer-queries-BEYuD6Qr.js.map +0 -1
  819. package/dist/core/web/public/next/assets/composer-state-B4KVc2ZZ.js +0 -2
  820. package/dist/core/web/public/next/assets/composer-state-B4KVc2ZZ.js.map +0 -1
  821. package/dist/core/web/public/next/assets/connectivity-Svn7iy2K.js +0 -2
  822. package/dist/core/web/public/next/assets/connectivity-Svn7iy2K.js.map +0 -1
  823. package/dist/core/web/public/next/assets/context-model-C9EIuPJ_.js +0 -2
  824. package/dist/core/web/public/next/assets/context-model-C9EIuPJ_.js.map +0 -1
  825. package/dist/core/web/public/next/assets/context-model-DU3OPiBC.js +0 -3
  826. package/dist/core/web/public/next/assets/context-model-DU3OPiBC.js.map +0 -1
  827. package/dist/core/web/public/next/assets/context-queries-Cgb_XvRv.js +0 -2
  828. package/dist/core/web/public/next/assets/context-queries-Cgb_XvRv.js.map +0 -1
  829. package/dist/core/web/public/next/assets/control-queries-Clgsy_eH.js +0 -2
  830. package/dist/core/web/public/next/assets/control-queries-Clgsy_eH.js.map +0 -1
  831. package/dist/core/web/public/next/assets/copy-setup-C-hDt9sS.js +0 -2
  832. package/dist/core/web/public/next/assets/copy-setup-C-hDt9sS.js.map +0 -1
  833. package/dist/core/web/public/next/assets/deep-link-Cgvchdy7.js +0 -2
  834. package/dist/core/web/public/next/assets/deep-link-Cgvchdy7.js.map +0 -1
  835. package/dist/core/web/public/next/assets/device-permissions-JmqkyrDw.js +0 -2
  836. package/dist/core/web/public/next/assets/device-permissions-JmqkyrDw.js.map +0 -1
  837. package/dist/core/web/public/next/assets/devin-queries-DKgeD4_S.js +0 -2
  838. package/dist/core/web/public/next/assets/devin-queries-DKgeD4_S.js.map +0 -1
  839. package/dist/core/web/public/next/assets/dock-icons-CRHjXBWm.js +0 -2
  840. package/dist/core/web/public/next/assets/dock-icons-CRHjXBWm.js.map +0 -1
  841. package/dist/core/web/public/next/assets/dock-panes-C98u13Bi.js +0 -2
  842. package/dist/core/web/public/next/assets/dock-panes-C98u13Bi.js.map +0 -1
  843. package/dist/core/web/public/next/assets/fleet-control-queries-BLoc5Gza.js +0 -2
  844. package/dist/core/web/public/next/assets/fleet-control-queries-BLoc5Gza.js.map +0 -1
  845. package/dist/core/web/public/next/assets/fleet-model-CPTadBFK.js +0 -2
  846. package/dist/core/web/public/next/assets/fleet-model-CPTadBFK.js.map +0 -1
  847. package/dist/core/web/public/next/assets/fleet-queries-69WuY-dt.js +0 -2
  848. package/dist/core/web/public/next/assets/fleet-queries-69WuY-dt.js.map +0 -1
  849. package/dist/core/web/public/next/assets/fleet-state-CCdBRK-m.js +0 -3
  850. package/dist/core/web/public/next/assets/fleet-state-CCdBRK-m.js.map +0 -1
  851. package/dist/core/web/public/next/assets/focus-trap-C8MiYlLZ.js +0 -2
  852. package/dist/core/web/public/next/assets/focus-trap-C8MiYlLZ.js.map +0 -1
  853. package/dist/core/web/public/next/assets/format-CcEKjUou.js +0 -2
  854. package/dist/core/web/public/next/assets/format-CcEKjUou.js.map +0 -1
  855. package/dist/core/web/public/next/assets/git-model-DL3MwN93.js +0 -5
  856. package/dist/core/web/public/next/assets/git-model-DL3MwN93.js.map +0 -1
  857. package/dist/core/web/public/next/assets/global-BWc2NPzv.js +0 -3
  858. package/dist/core/web/public/next/assets/global-BWc2NPzv.js.map +0 -1
  859. package/dist/core/web/public/next/assets/guarded-action-BK2_U5ho.js +0 -3
  860. package/dist/core/web/public/next/assets/guarded-action-BK2_U5ho.js.map +0 -1
  861. package/dist/core/web/public/next/assets/guarded-runners-Q0UkoY3H.js +0 -2
  862. package/dist/core/web/public/next/assets/guarded-runners-Q0UkoY3H.js.map +0 -1
  863. package/dist/core/web/public/next/assets/headroom-CP99UxyV.js +0 -2
  864. package/dist/core/web/public/next/assets/headroom-CP99UxyV.js.map +0 -1
  865. package/dist/core/web/public/next/assets/health-queries-D8TwNTDQ.js +0 -2
  866. package/dist/core/web/public/next/assets/health-queries-D8TwNTDQ.js.map +0 -1
  867. package/dist/core/web/public/next/assets/icons-U34oiN9M.js +0 -2
  868. package/dist/core/web/public/next/assets/icons-U34oiN9M.js.map +0 -1
  869. package/dist/core/web/public/next/assets/index-BbDqdepe.js +0 -11
  870. package/dist/core/web/public/next/assets/index-BbDqdepe.js.map +0 -1
  871. package/dist/core/web/public/next/assets/jev-queries-CiQDnM5r.js +0 -2
  872. package/dist/core/web/public/next/assets/jev-queries-CiQDnM5r.js.map +0 -1
  873. package/dist/core/web/public/next/assets/ladder-queries-Cf64JB04.js +0 -2
  874. package/dist/core/web/public/next/assets/ladder-queries-Cf64JB04.js.map +0 -1
  875. package/dist/core/web/public/next/assets/leader-focus-azN19kfO.js +0 -2
  876. package/dist/core/web/public/next/assets/leader-focus-azN19kfO.js.map +0 -1
  877. package/dist/core/web/public/next/assets/live-model-DHX_2gOu.js +0 -2
  878. package/dist/core/web/public/next/assets/live-model-DHX_2gOu.js.map +0 -1
  879. package/dist/core/web/public/next/assets/mind.module-BJpuH2JT.js +0 -2
  880. package/dist/core/web/public/next/assets/mind.module-BJpuH2JT.js.map +0 -1
  881. package/dist/core/web/public/next/assets/mobile-actions-CvGouAAH.js +0 -2
  882. package/dist/core/web/public/next/assets/mobile-actions-CvGouAAH.js.map +0 -1
  883. package/dist/core/web/public/next/assets/mobile-toast-C_UP13GQ.js +0 -2
  884. package/dist/core/web/public/next/assets/mobile-toast-C_UP13GQ.js.map +0 -1
  885. package/dist/core/web/public/next/assets/multimodel-flows-C377w9oZ.js +0 -7
  886. package/dist/core/web/public/next/assets/multimodel-flows-C377w9oZ.js.map +0 -1
  887. package/dist/core/web/public/next/assets/multimodel-queries-_Y1QXAqq.js +0 -2
  888. package/dist/core/web/public/next/assets/multimodel-queries-_Y1QXAqq.js.map +0 -1
  889. package/dist/core/web/public/next/assets/mutations-DL4u2kRQ.js +0 -2
  890. package/dist/core/web/public/next/assets/mutations-DL4u2kRQ.js.map +0 -1
  891. package/dist/core/web/public/next/assets/nav-CM-mJcSq.js +0 -2
  892. package/dist/core/web/public/next/assets/nav-CM-mJcSq.js.map +0 -1
  893. package/dist/core/web/public/next/assets/needs-you-actions-DF2zEltF.js +0 -2
  894. package/dist/core/web/public/next/assets/needs-you-actions-DF2zEltF.js.map +0 -1
  895. package/dist/core/web/public/next/assets/needs-you-model-DqmU5YOe.js +0 -2
  896. package/dist/core/web/public/next/assets/needs-you-model-DqmU5YOe.js.map +0 -1
  897. package/dist/core/web/public/next/assets/open-terminal-BAnwAOoA.js +0 -2
  898. package/dist/core/web/public/next/assets/open-terminal-BAnwAOoA.js.map +0 -1
  899. package/dist/core/web/public/next/assets/open-terminal-request-f5_ItEpF.js +0 -2
  900. package/dist/core/web/public/next/assets/open-terminal-request-f5_ItEpF.js.map +0 -1
  901. package/dist/core/web/public/next/assets/overnight-queries-BP6viiM5.js +0 -2
  902. package/dist/core/web/public/next/assets/overnight-queries-BP6viiM5.js.map +0 -1
  903. package/dist/core/web/public/next/assets/palette-handoff-Bmq98lDl.js +0 -2
  904. package/dist/core/web/public/next/assets/palette-handoff-Bmq98lDl.js.map +0 -1
  905. package/dist/core/web/public/next/assets/panes-BjUzIDw6.js +0 -3
  906. package/dist/core/web/public/next/assets/panes-BjUzIDw6.js.map +0 -1
  907. package/dist/core/web/public/next/assets/path-display-HyxETV-f.js +0 -2
  908. package/dist/core/web/public/next/assets/path-display-HyxETV-f.js.map +0 -1
  909. package/dist/core/web/public/next/assets/playbook-composer-DwuBBP4I.js +0 -2
  910. package/dist/core/web/public/next/assets/playbook-composer-DwuBBP4I.js.map +0 -1
  911. package/dist/core/web/public/next/assets/playbook-focus-B9xzeUMw.js +0 -2
  912. package/dist/core/web/public/next/assets/playbook-focus-B9xzeUMw.js.map +0 -1
  913. package/dist/core/web/public/next/assets/playbooks-queries-C8j1Aswo.js +0 -2
  914. package/dist/core/web/public/next/assets/playbooks-queries-C8j1Aswo.js.map +0 -1
  915. package/dist/core/web/public/next/assets/preloaded-CLDUOHXJ.js +0 -2
  916. package/dist/core/web/public/next/assets/preloaded-CLDUOHXJ.js.map +0 -1
  917. package/dist/core/web/public/next/assets/primitives-BEXDE-HP.js +0 -1
  918. package/dist/core/web/public/next/assets/pwa-lVT_VRkK.js +0 -2
  919. package/dist/core/web/public/next/assets/pwa-lVT_VRkK.js.map +0 -1
  920. package/dist/core/web/public/next/assets/queries-T7ZUVqyA.js +0 -2
  921. package/dist/core/web/public/next/assets/queries-T7ZUVqyA.js.map +0 -1
  922. package/dist/core/web/public/next/assets/reasoning-pref-CWEri5xB.js +0 -2
  923. package/dist/core/web/public/next/assets/reasoning-pref-CWEri5xB.js.map +0 -1
  924. package/dist/core/web/public/next/assets/remote-session-BPULIfdG.js +0 -3
  925. package/dist/core/web/public/next/assets/remote-session-BPULIfdG.js.map +0 -1
  926. package/dist/core/web/public/next/assets/resolved-store-Ba-W6Uhy.js +0 -2
  927. package/dist/core/web/public/next/assets/resolved-store-Ba-W6Uhy.js.map +0 -1
  928. package/dist/core/web/public/next/assets/resources-queries-CKyXyaDY.js +0 -2
  929. package/dist/core/web/public/next/assets/resources-queries-CKyXyaDY.js.map +0 -1
  930. package/dist/core/web/public/next/assets/reveal-anchor-Djk1vGLl.js +0 -2
  931. package/dist/core/web/public/next/assets/reveal-anchor-Djk1vGLl.js.map +0 -1
  932. package/dist/core/web/public/next/assets/seat-readiness-CvEmMBol.js +0 -2
  933. package/dist/core/web/public/next/assets/seat-readiness-CvEmMBol.js.map +0 -1
  934. package/dist/core/web/public/next/assets/seat-subscription-BClqZwau.js +0 -2
  935. package/dist/core/web/public/next/assets/seat-subscription-BClqZwau.js.map +0 -1
  936. package/dist/core/web/public/next/assets/sheet-D0ciShoy.js +0 -2
  937. package/dist/core/web/public/next/assets/sheet-D0ciShoy.js.map +0 -1
  938. package/dist/core/web/public/next/assets/sidebar-model-BZ9Wh1lR.js +0 -2
  939. package/dist/core/web/public/next/assets/sidebar-model-BZ9Wh1lR.js.map +0 -1
  940. package/dist/core/web/public/next/assets/slots-m3L6Ints.js +0 -3
  941. package/dist/core/web/public/next/assets/slots-m3L6Ints.js.map +0 -1
  942. package/dist/core/web/public/next/assets/sources-queries-DeIlxb3A.js +0 -4
  943. package/dist/core/web/public/next/assets/sources-queries-DeIlxb3A.js.map +0 -1
  944. package/dist/core/web/public/next/assets/sse-CK65-Cun.js +0 -2
  945. package/dist/core/web/public/next/assets/sse-CK65-Cun.js.map +0 -1
  946. package/dist/core/web/public/next/assets/surface-data-DoN8peNV.js +0 -2
  947. package/dist/core/web/public/next/assets/surface-data-DoN8peNV.js.map +0 -1
  948. package/dist/core/web/public/next/assets/surface-prefetch-CVNIptSl.js +0 -2
  949. package/dist/core/web/public/next/assets/surface-prefetch-CVNIptSl.js.map +0 -1
  950. package/dist/core/web/public/next/assets/tasks-model-BueAhEAf.js +0 -2
  951. package/dist/core/web/public/next/assets/tasks-model-BueAhEAf.js.map +0 -1
  952. package/dist/core/web/public/next/assets/terminal-client-DO0eRhRi.js +0 -2
  953. package/dist/core/web/public/next/assets/terminal-client-DO0eRhRi.js.map +0 -1
  954. package/dist/core/web/public/next/assets/terminal-icons-COMoAiDd.js +0 -2
  955. package/dist/core/web/public/next/assets/terminal-icons-COMoAiDd.js.map +0 -1
  956. package/dist/core/web/public/next/assets/terminal-view-DkVXx7Xk.js +0 -6
  957. package/dist/core/web/public/next/assets/terminal-view-DkVXx7Xk.js.map +0 -1
  958. package/dist/core/web/public/next/assets/thread-data-Dq7QugaD.js +0 -2
  959. package/dist/core/web/public/next/assets/thread-data-Dq7QugaD.js.map +0 -1
  960. package/dist/core/web/public/next/assets/ui-parts-2JLq2ZSq.js +0 -2
  961. package/dist/core/web/public/next/assets/ui-parts-2JLq2ZSq.js.map +0 -1
  962. package/dist/core/web/public/next/assets/usage-queries-CDKUE4e0.js +0 -2
  963. package/dist/core/web/public/next/assets/usage-queries-CDKUE4e0.js.map +0 -1
  964. package/dist/core/web/public/next/assets/use-chat-activity-BaNWmI2A.js +0 -2
  965. package/dist/core/web/public/next/assets/use-chat-activity-BaNWmI2A.js.map +0 -1
  966. package/dist/core/web/public/next/assets/use-guarded-action-D4m4Mlzr.js +0 -2
  967. package/dist/core/web/public/next/assets/use-guarded-action-D4m4Mlzr.js.map +0 -1
  968. package/dist/core/web/public/next/assets/use-ticker-PQ_oYxn5.js +0 -2
  969. package/dist/core/web/public/next/assets/use-ticker-PQ_oYxn5.js.map +0 -1
  970. package/dist/core/web/public/next/assets/use-token-gate-_JPjMD5z.js +0 -2
  971. package/dist/core/web/public/next/assets/use-token-gate-_JPjMD5z.js.map +0 -1
  972. package/dist/core/web/public/next/assets/useAutoSeat-CkyqgwX9.js +0 -2
  973. package/dist/core/web/public/next/assets/useAutoSeat-CkyqgwX9.js.map +0 -1
  974. package/dist/core/web/public/next/assets/useOnboarding-3r8T1GBP.js +0 -2
  975. package/dist/core/web/public/next/assets/useOnboarding-3r8T1GBP.js.map +0 -1
  976. package/dist/core/web/public/next/assets/useSeatHealth-C08b9zut.js +0 -2
  977. package/dist/core/web/public/next/assets/useSeatHealth-C08b9zut.js.map +0 -1
  978. package/dist/core/web/public/next/assets/useSeatsRefresh-BGsdylUl.js +0 -2
  979. package/dist/core/web/public/next/assets/useSeatsRefresh-BGsdylUl.js.map +0 -1
  980. package/dist/core/web/public/next/assets/useVerseSession-0MnfpcHg.js +0 -2
  981. package/dist/core/web/public/next/assets/useVerseSession-0MnfpcHg.js.map +0 -1
  982. package/dist/core/web/public/next/assets/useVerseTranscript-B6wLDOv8.js +0 -2
  983. package/dist/core/web/public/next/assets/useVerseTranscript-B6wLDOv8.js.map +0 -1
  984. package/dist/core/web/public/next/assets/verse-bootstrap-query-BR5ypA8b.js +0 -2
  985. package/dist/core/web/public/next/assets/verse-bootstrap-query-BR5ypA8b.js.map +0 -1
  986. package/dist/core/web/public/next/assets/verse-icons-BQxBZk9k.js +0 -2
  987. package/dist/core/web/public/next/assets/verse-icons-BQxBZk9k.js.map +0 -1
  988. package/dist/core/web/public/next/assets/verse-model-CkF3q2IH.js +0 -2
  989. package/dist/core/web/public/next/assets/verse-model-CkF3q2IH.js.map +0 -1
  990. package/dist/core/web/public/next/assets/warmup-CqTK8yIn.js +0 -3
  991. package/dist/core/web/public/next/assets/warmup-CqTK8yIn.js.map +0 -1
  992. package/dist/core/web/public/next/assets/why-seat-model-Dh4-Ty9n.js +0 -2
  993. package/dist/core/web/public/next/assets/why-seat-model-Dh4-Ty9n.js.map +0 -1
  994. package/dist/core/web/public/next/assets/wiki-focus-CisQb_pM.js +0 -2
  995. package/dist/core/web/public/next/assets/wiki-focus-CisQb_pM.js.map +0 -1
  996. package/dist/core/web/public/next/assets/workspace-model-DRGckE8q.js +0 -2
  997. package/dist/core/web/public/next/assets/workspace-model-DRGckE8q.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"UniverseView-CfT9Dsl7.js","names":[],"sources":["../../../../../../src/web-ui/hooks/useScrollRestore.ts","../../../../../../src/web-ui/routes/universe/UniverseView.module.css","../../../../../../src/web-ui/routes/universe/UniverseScope.tsx","../../../../../../src/web-ui/routes/universe/UniverseDeliveries.tsx","../../../../../../src/core/universe/graph-query.ts","../../../../../../src/web-ui/routes/universe/UniverseGraph.module.css","../../../../../../src/web-ui/routes/universe/UniverseGraph.tsx","../../../../../../src/web-ui/data/universe-readiness-queries.ts","../../../../../../src/web-ui/routes/universe/CampaignReadiness.module.css","../../../../../../src/web-ui/routes/universe/CampaignReadiness.tsx","../../../../../../src/web-ui/routes/universe/UniverseView.tsx"],"sourcesContent":["/**\n * hooks/useScrollRestore.ts — React port of the one thing app.js got right\n * for view state (captureMainViewState / restoreMainViewState at\n * app.js:692-718), adapted to survive both route changes AND the\n * background-refresh re-renders the data layer now does constantly.\n *\n * The old bug this fixes: app.js captured `window.scrollY`, but the actual\n * scroll container was `.main` (styles.css sets `body.live-shell {overflow:\n * hidden}`), so scroll position always read 0 and reset on every ~8-15s\n * poll. Here the caller passes the REAL scrolling element's ref directly —\n * there is no ambiguity about which element scrolls.\n *\n * State survives:\n * - scrollTop of the container\n * - which element (if any) had focus, keyed by a stable `data-focus-key`\n * attribute the view puts on focusable rows/controls\n * - open/closed state of any `<details data-state-key>` in the subtree\n *\n * Keyed by `routeKey` (typically the route pathname) so switching views and\n * coming back restores each view's own scroll position independently.\n */\nimport { useEffect, useLayoutEffect, useRef, type RefObject } from 'react';\n\ninterface ViewState {\n scrollTop: number;\n focusKey: string | null;\n details: Map<string, boolean>;\n}\n\nconst stateByKey = new Map<string, ViewState>();\n\nfunction capture(container: HTMLElement): ViewState {\n const active = document.activeElement;\n const focusKey =\n active instanceof HTMLElement && container.contains(active)\n ? active.getAttribute('data-focus-key')\n : null;\n const details = new Map<string, boolean>();\n container.querySelectorAll('details[data-state-key]').forEach((node) => {\n const key = node.getAttribute('data-state-key');\n if (key) details.set(key, (node as HTMLDetailsElement).open);\n });\n return { scrollTop: container.scrollTop, focusKey, details };\n}\n\nfunction restore(container: HTMLElement, saved: ViewState): void {\n container.querySelectorAll('details[data-state-key]').forEach((node) => {\n const key = node.getAttribute('data-state-key');\n if (key && saved.details.has(key)) (node as HTMLDetailsElement).open = saved.details.get(key)!;\n });\n container.scrollTop = saved.scrollTop;\n if (!saved.focusKey) return;\n const target = container.querySelector<HTMLElement>(`[data-focus-key=\"${CSS.escape(saved.focusKey)}\"]`);\n if (!target) return;\n try {\n target.focus({ preventScroll: true });\n } catch {\n target.focus();\n }\n container.scrollTop = saved.scrollTop;\n}\n\n/**\n * Attach to the scrolling container. Call `saveNow()` before any render\n * that's about to replace the subtree wholesale (rare in React, but\n * available for parity with the old imperative call sites); normally you\n * don't need to call anything — mount/unmount and periodic capture on\n * scroll/blur handle it.\n */\nexport function useScrollRestore(routeKey: string, containerRef: RefObject<HTMLElement | null>) {\n const routeKeyRef = useRef(routeKey);\n routeKeyRef.current = routeKey;\n\n // Restore synchronously before paint so there's no visible jump.\n useLayoutEffect(() => {\n const el = containerRef.current;\n if (!el) return;\n const saved = stateByKey.get(routeKey);\n if (saved) restore(el, saved);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- deliberately re-runs only on routeKey; the ref itself is stable for the shell's lifetime.\n }, [routeKey]);\n\n useEffect(() => {\n const el = containerRef.current;\n if (!el) return;\n\n let raf = 0;\n function onScroll() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n if (el) stateByKey.set(routeKeyRef.current, capture(el));\n });\n }\n el.addEventListener('scroll', onScroll, { passive: true });\n document.addEventListener('focusout', onScroll);\n document.addEventListener('toggle', onScroll, true);\n\n return () => {\n cancelAnimationFrame(raf);\n el.removeEventListener('scroll', onScroll);\n document.removeEventListener('focusout', onScroll);\n document.removeEventListener('toggle', onScroll, true);\n // Final capture on unmount so a same-tick route swap doesn't lose the\n // last scroll position (scroll events can be throttled by the\n // browser right before teardown). Uses the `el` captured when this\n // effect was set up, not containerRef.current — the ref may already\n // point elsewhere (or be null) by the time cleanup runs.\n stateByKey.set(routeKeyRef.current, capture(el));\n };\n }, [containerRef]);\n}\n",".view { max-width: 1600px; min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }\n.view h1, .view h2, .view h3, .view p, .view dl, .view dd { margin: 0; }\n.view h1 { font-family: var(--font-display, var(--font-ui)); font-size: var(--text-3xl-size); line-height: var(--text-3xl-line); letter-spacing: -.045em; font-weight: var(--font-weight-semibold); }\n.view h2 { font-family: var(--font-display, var(--font-ui)); font-size: var(--text-lg-size); line-height: var(--text-lg-line); letter-spacing: -.02em; font-weight: var(--font-weight-semibold); }\n.view h3 { font-family: var(--font-display, var(--font-ui)); font-size: var(--text-md-size); line-height: var(--text-md-line); }\n.view p { max-width: 78ch; color: var(--text-secondary); line-height: var(--text-base-line); }\n.view button, .view select, .view summary { cursor: pointer; }\n.view button:focus-visible, .view select:focus-visible, .view summary:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; }\n.header, .sectionHeading { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-5); }\n.header p { margin-top: var(--space-2); }\n.actions { display: flex; align-items: flex-end; gap: var(--space-3); }\n.refresh, .selectLabel select { min-height: 36px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); background: var(--bg-surface); color: var(--text-primary); font: inherit; }\n.refresh:hover { background: var(--bg-hover); }\n.refresh:disabled { cursor: wait; color: var(--text-disabled); }\n.selectLabel { display: flex; flex-direction: column; gap: var(--space-1); color: var(--text-secondary); font-size: var(--text-xs-size); }\n.selectLabel select { max-width: 280px; font-size: var(--text-sm-size); }\n.freshness { min-height: 18px; display: flex; gap: var(--space-4); flex-wrap: wrap; color: var(--text-tertiary); font-size: var(--text-xs-size); margin-top: calc(-1 * var(--space-3)); }\n.objective { border-left: 3px solid var(--text-link); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); background: var(--bg-surface); border-radius: 0 var(--radius-md) var(--radius-md) 0; }\n.objective h2 { font-size: var(--text-xl-size); line-height: var(--text-xl-line); }\n.objectiveFacts { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-8); }\n.objectiveFacts dt, .measurements dt, .resources dt, .artifact dt { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.objectiveFacts dd { margin-top: var(--space-1); font-size: var(--text-sm-size); }\n.archive, .comparison { border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--bg-surface); overflow: hidden; }\n.campaign { border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: var(--bg-surface); min-width: 0; overflow: hidden; }\n.campaignBody { display: flex; flex-direction: column; gap: var(--space-4); padding: 0 var(--space-5) var(--space-5); }\n.campaignHeading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); overflow-wrap: anywhere; }\n.campaignFacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-4); padding-block: var(--space-4); border-block: 1px solid var(--border-subtle); }\n.campaignFacts dt { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.campaignFacts dd { margin-top: var(--space-1); font-size: var(--text-sm-size); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }\n.view .campaignNote, .campaignBody > p { font-size: var(--text-xs-size); }\n.campaignBody .command { margin-top: 0; }\n.delivery { border-top: 1px solid var(--border-subtle); padding-top: var(--space-3); font-size: var(--text-sm-size); }\n.delivery summary { display: flex; align-items: baseline; gap: var(--space-3); flex-wrap: wrap; overflow-wrap: anywhere; }\n.delivery summary::before { content: '+'; color: var(--text-link); }\n.delivery[open] summary::before { content: '−'; }\n.delivery summary span { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.deliveryFacts { display: grid; gap: var(--space-3); padding: var(--space-4) 0; }\n.deliveryFacts dt { color: var(--text-tertiary); font-size: var(--text-xs-size); }\n.deliveryFacts dd { overflow-wrap: anywhere; margin-top: var(--space-1); }\n.sectionHeading { padding: var(--space-5); }\n.sectionHeading p { margin-top: var(--space-1); font-size: var(--text-sm-size); }\n.archiveCount { color: var(--text-secondary); font-size: var(--text-xs-size); white-space: nowrap; padding-top: var(--space-1); }\n.tableScroll { overflow-x: auto; }\n.archiveTable { width: 100%; border-collapse: collapse; text-align: left; font-variant-numeric: tabular-nums; }\n.archiveTable thead { color: var(--text-secondary); font-size: var(--text-xs-size); background: var(--bg-canvas); }\n.archiveTable th, .archiveTable td { padding: var(--space-3) var(--space-5); border-top: 1px solid var(--border-subtle); }\n.archiveTable th { font-weight: var(--font-weight-medium); }\n.archiveTable tbody tr[data-selected] { background: var(--bg-selected); }\n.archiveTable td { font-size: var(--text-sm-size); }\n.nicheFilled, .nicheEmpty { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: var(--space-3); border: 1px solid var(--status-success-solid); }\n.nicheFilled { background: var(--status-success-solid); }\n.nicheEmpty { border-color: var(--border-strong); }\n.eliteButton { padding: var(--space-1) 0; color: var(--text-link); background: none; border: 0; font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 3px; }\n.muted { color: var(--text-tertiary); }\n.runMeta { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; padding: 0 var(--space-5) var(--space-4); font-size: var(--text-xs-size); color: var(--text-secondary); }\n.comparisonBody { display: grid; grid-template-columns: minmax(210px, 0.8fr) minmax(0, 2fr); border-top: 1px solid var(--border-default); }\n.trialList { border-right: 1px solid var(--border-default); display: flex; flex-direction: column; align-self: stretch; background: var(--bg-canvas); }\n.trialButton { display: flex; flex-direction: column; gap: var(--space-2); text-align: left; border: 0; border-bottom: 1px solid var(--border-default); border-left: 3px solid transparent; padding: var(--space-4); background: transparent; color: var(--text-primary); font: inherit; }\n.trialButton:hover { background: var(--bg-hover); }\n.trialButton[aria-pressed=\"true\"] { background: var(--bg-selected); border-left-color: var(--accent-500); }\n.trialTitle, .trialSubline { display: flex; justify-content: space-between; gap: var(--space-3); overflow-wrap: anywhere; }\n.trialTitle { font-family: var(--font-display, var(--font-ui)); font-weight: var(--font-weight-medium); }\n.trialTitle > span { font-variant-numeric: tabular-nums; }\n.trialSubline { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.trialDetail { padding: var(--space-5); min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }\n.detailHeading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }\n.hypothesis { font-size: var(--text-sm-size); }\n.lineage { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); padding: var(--space-3) 0; font-size: var(--text-sm-size); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); overflow-wrap: anywhere; }\n.generation { margin-left: auto; color: var(--text-tertiary); font-size: var(--text-xs-size); }\n.reason { font-size: var(--text-base-size); }\n.view .currentElite { margin-top: calc(-1 * var(--space-2)); color: var(--status-success-fg); font-size: var(--text-xs-size); }\n.measurements { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-4); }\n.measurements dd { font-family: var(--font-display, var(--font-ui)); font-size: var(--text-xl-size); line-height: var(--text-xl-line); font-variant-numeric: tabular-nums; margin-top: var(--space-1); overflow-wrap: anywhere; }\n.generationEvidence { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }\n.generationEvidence h4 { margin: 0; font-size: var(--text-sm-size); font-weight: var(--font-weight-semibold); }\n.generationEvidence .measurements dd { font-size: var(--text-sm-size); }\n.generationEvidence p { font-size: var(--text-xs-size); }\n.diagnosticCodes { display: flex; flex-direction: column; gap: var(--space-2); font-size: var(--text-sm-size); }\n.diagnosticCodes ul { margin: 0; padding-left: var(--space-5); }\n.diagnosticCodes p { font-size: var(--text-xs-size); }\n.artifact { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.artifact summary { width: fit-content; padding: var(--space-1) 0; }\n.artifact dl { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-3); }\n.artifact dd { overflow-wrap: anywhere; }\n.artifact pre, .command { overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--bg-code); padding: var(--space-4); border-radius: var(--radius-sm); font-family: var(--font-mono); font-size: var(--text-xs-size); line-height: var(--text-base-line); margin: var(--space-3) 0 0; }\n.notice { border: 1px solid var(--status-warning-solid); border-radius: var(--radius-md); background: var(--status-warning-bg); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); }\n.notice p { color: var(--text-primary); font-size: var(--text-sm-size); overflow-wrap: anywhere; }\n.running { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm-size); }\n.view .failure { color: var(--status-danger-fg); overflow-wrap: anywhere; padding: 0 var(--space-5) var(--space-3); }\n.trialDetail .failure { padding: 0; }\n.failureEvidence { margin: 0; max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: var(--space-3); border-radius: var(--radius-sm); background: var(--status-danger-bg); color: var(--status-danger-fg); font-family: var(--font-mono); font-size: var(--text-xs-size); line-height: var(--text-base-line); }\n.empty { border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); padding: var(--space-8); display: flex; flex-direction: column; gap: var(--space-3); background: var(--bg-surface); }\n.empty .command { max-width: 720px; margin: 0; }\n.empty details { color: var(--text-secondary); font-size: var(--text-sm-size); margin-top: var(--space-2); }\n.empty details .command { margin-top: var(--space-3); }\n.noTrials { padding: var(--space-5); }\n.resources { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-1) 0 var(--space-5); }\n.resources h2 { font-size: var(--text-sm-size); }\n.resources dl { display: flex; flex-wrap: wrap; gap: var(--space-5) var(--space-10); }\n.resources dd { font-size: var(--text-base-size); margin-top: var(--space-1); font-variant-numeric: tabular-nums; }\n.resources p { color: var(--text-tertiary); font-size: var(--text-xs-size); }\n@media (max-width: 900px) { .header, .sectionHeading { flex-wrap: wrap; } .comparisonBody { grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.4fr); } }\n@media (max-width: 600px) {\n .view h1 { font-size: var(--text-2xl-size); line-height: var(--text-2xl-line); }\n .view { gap: var(--space-4); }\n .actions { width: 100%; justify-content: space-between; }\n .objective { padding-left: var(--space-3); }\n .comparisonBody { display: flex; flex-direction: column; }\n .trialList { border-right: 0; border-bottom: 1px solid var(--border-default); max-height: 240px; overflow-y: auto; }\n .sectionHeading, .trialDetail { padding: var(--space-4); }\n .campaignBody { padding-right: var(--space-4); padding-left: var(--space-4); }\n .empty { padding: var(--space-5); }\n .running { align-items: flex-start; }\n .archiveTable th, .archiveTable td { padding: var(--space-3); }\n .archiveTable th:first-child { min-width: 120px; }\n .archiveTable td { min-width: 100px; }\n}\n","import { createContext, useCallback, useContext } from 'react';\n\n/** Absent in the ordinary dashboard; scoped consoles obtain this after auth. */\nexport const UniverseRootContext = createContext<string | null>(null);\n\nexport function quoteShellArgument(value: string): string {\n return `'${value.replaceAll(\"'\", \"'\\\\''\")}'`;\n}\n\nexport function withUniverseRoot(command: string, root: string | null): string {\n if (root === null) return command;\n return command.split('\\n').map((line) => `${line} --root ${quoteShellArgument(root)}`).join('\\n');\n}\n\n/** Commands are display-only. No browser action invokes a process. */\nexport function useUniverseCommand(): (command: string) => string {\n const root = useContext(UniverseRootContext);\n return useCallback((command: string) => withUniverseRoot(command, root), [root]);\n}\n","import type { UniverseOverview, UniverseSummary } from '../../data/api-types.js';\nimport styles from './UniverseView.module.css';\nimport { quoteShellArgument as quote, useUniverseCommand } from './UniverseScope.js';\n\ntype DeliveryReport = NonNullable<UniverseOverview['deliveryReports']>[number];\n\n// The authenticated API abbreviates this user's home. A quoted tilde does not\n// expand in the shell, so keep the home expansion separate from the path data.\nconst repoArgument = (value: string): string => value.startsWith('~/') ? `\"$HOME\"/${quote(value.slice(2))}` : quote(value);\nconst visibleDigest = (value: string): string => value === '[REDACTED]' ? 'Hidden by the console privacy filter' : value;\n\nexport function UniverseDeliveries({ summary, report, onInspectTrial }: {\n summary: UniverseSummary;\n report?: DeliveryReport;\n onInspectTrial: (runId: string, trialId: string) => void;\n}) {\n const verified = report?.sourceState === 'healthy';\n const command = useUniverseCommand();\n const degraded = report?.sourceState === 'degraded';\n const deliveries = report?.deliveries ?? [];\n return (\n <section className={styles.archive} aria-label=\"Repository delivery\">\n <div className={styles.sectionHeading}>\n <div><h2>Repository delivery</h2><p>Turn a retained artifact into an exact local Git branch. Your current checkout stays untouched.</p></div>\n </div>\n <div className={styles.campaignBody}>\n {degraded ? <div className={styles.notice} role=\"status\"><strong>Delivery evidence could not be verified.</strong><p>{report.reasons.join('; ') || 'Refresh after restoring the recorded repository and receipt.'}</p></div> : null}\n {deliveries.length ? deliveries.map((delivery) => (\n <details key={delivery.id} className={styles.delivery}>\n <summary>\n <code>{delivery.branch}</code>\n <span>{!verified ? `Unverified record (${delivery.status})` : delivery.status === 'delivered' ? 'Local branch verified' : delivery.status === 'unchanged' ? 'No change; no branch created' : 'Pending; not confirmed delivered'}</span>\n </summary>\n <dl className={styles.deliveryFacts}>\n <div><dt>Repository</dt><dd><code>{delivery.repo}</code></dd></div>\n <div><dt>Commit</dt><dd><code>{delivery.commit}</code></dd></div>\n <div><dt>Pinned base</dt><dd><code>{delivery.baseCommit}</code></dd></div>\n <div><dt>Artifact digest</dt><dd><code>{visibleDigest(delivery.artifactDigest)}</code></dd></div>\n <div><dt>Comparator digest</dt><dd><code>{visibleDigest(delivery.comparatorDigest)}</code></dd></div>\n <div><dt>Changed files</dt><dd>{delivery.changedFiles.length ? delivery.changedFiles.map((path) => <code key={path}>{path}<br /></code>) : 'None'}</dd></div>\n </dl>\n {summary.runs.some((run) => run.id === delivery.runId && run.trials.some((trial) => trial.id === delivery.trialId)) ?\n <button type=\"button\" className={styles.eliteButton} onClick={() => onInspectTrial(delivery.runId, delivery.trialId)}>Inspect source trial</button> :\n <p>Source trial unavailable in the current history.</p>}\n {verified && delivery.status === 'delivered' ? <pre className={styles.command}><code>{`git -C ${repoArgument(delivery.repo)} show --stat ${quote(delivery.commit)}`}</code></pre> : null}\n {delivery.artifactDigest === '[REDACTED]' || delivery.comparatorDigest === '[REDACTED]' ?\n <p>Read exact identities locally with <code>{command(`ashlr universe deliveries ${quote(summary.manifest.id)} --json`)}</code>.</p> : null}\n </details>\n )) : <p>{degraded ? 'No delivery can be confirmed from this read.' : 'No local branches delivered yet.'}</p>}\n {summary.sourceState === 'healthy' && !degraded && summary.elites.length ? (\n <details className={styles.artifact}>\n <summary>Deliver a retained artifact from your terminal</summary>\n <p>Choose a new branch name. Each command writes only a new local branch in <code>{summary.manifest.seed.repo}</code>; it does not switch branches, merge, or push.</p>\n {summary.elites.map((elite) => <div key={elite.trialId}>\n <p>{elite.niche}: {elite.variantId}</p>\n <pre className={styles.command}><code>{command(`ashlr universe deliver ${quote(summary.manifest.id)} --trial ${quote(elite.trialId)} --branch ${quote(`codex/universe-${summary.manifest.id}-${elite.trialId.slice(0, 8)}`)} --json`)}</code></pre>\n </div>)}\n </details>\n ) : null}\n <p>Verification binds the branch to the recorded evaluator result. It is not a fresh evaluation, a merge, or a production deployment. Refresh to inspect delivery changes made in your terminal.</p>\n </div>\n </section>\n );\n}\n","import type { UniverseGraph, UniverseGraphEdge, UniverseGraphTraversal } from './graph-types.js';\n\nexport const MAX_UNIVERSE_GRAPH_DEPTH = 64;\nconst MAX_QUERY_NODES = 25_000;\nconst MAX_QUERY_EDGES = 100_000;\n\n/** Browser-safe bounded breadth-first traversal, including the focus node. */\nexport function traverseUniverseGraph(graph: UniverseGraph, options: {\n nodeId: string; direction: 'ancestors' | 'descendants'; maxDepth?: number;\n}): UniverseGraphTraversal {\n const result: UniverseGraphTraversal = { nodeIds: [], edgeIds: [], complete: true, issues: [] };\n const issue = (code: string, message: string): void => {\n result.complete = false;\n result.issues.push({ code, message, nodeIds: [] });\n };\n const depth = options.maxDepth ?? MAX_UNIVERSE_GRAPH_DEPTH;\n if (!Number.isSafeInteger(depth) || depth < 1 || depth > MAX_UNIVERSE_GRAPH_DEPTH ||\n !['ancestors', 'descendants'].includes(options.direction)) {\n issue('invalid-query', 'Traversal requires a direction and depth from 1 to 64.'); return result;\n }\n if (graph.nodes.length > MAX_QUERY_NODES || graph.edges.length > MAX_QUERY_EDGES) {\n issue('graph-limit', 'Graph exceeds the traversal envelope.'); return result;\n }\n const nodes = new Set(graph.nodes.map((node) => node.id));\n if (nodes.size !== graph.nodes.length) { issue('duplicate-node', 'Graph contains duplicated node identities.'); return result; }\n if (!nodes.has(options.nodeId)) { issue('invalid-node', 'The requested graph node is unavailable.'); return result; }\n const adjacency = new Map<string, UniverseGraphEdge[]>();\n const forward = new Map<string, string[]>();\n const incoming = new Map([...nodes].map((id) => [id, 0]));\n const edgeIds = new Set<string>();\n for (const edge of graph.edges) {\n if (!nodes.has(edge.from) || !nodes.has(edge.to) || edgeIds.has(edge.id)) {\n issue('invalid-edge', 'Graph contains an unresolved or duplicated edge.'); return result;\n }\n edgeIds.add(edge.id);\n const targets = forward.get(edge.from) ?? [];\n targets.push(edge.to); forward.set(edge.from, targets);\n incoming.set(edge.to, incoming.get(edge.to)! + 1);\n const from = options.direction === 'ancestors' ? edge.to : edge.from;\n const list = adjacency.get(from) ?? [];\n list.push(edge); adjacency.set(from, list);\n }\n const ordered = [...incoming].filter(([, count]) => count === 0).map(([id]) => id);\n for (let index = 0; index < ordered.length; index++) for (const target of forward.get(ordered[index]!) ?? []) {\n incoming.set(target, incoming.get(target)! - 1);\n if (incoming.get(target) === 0) ordered.push(target);\n }\n if (ordered.length !== nodes.size) { issue('cycle', 'Graph contains a dependency cycle.'); return result; }\n const seen = new Set([options.nodeId]);\n let frontier = [options.nodeId];\n for (let level = 0; frontier.length && level < depth; level++) {\n const next: string[] = [];\n for (const id of frontier) {\n for (const edge of adjacency.get(id) ?? []) {\n const target = options.direction === 'ancestors' ? edge.from : edge.to;\n if (!seen.has(target)) { seen.add(target); next.push(target); }\n }\n }\n frontier = next;\n }\n if (frontier.some((id) => (adjacency.get(id) ?? []).some((edge) => !seen.has(options.direction === 'ancestors' ? edge.from : edge.to)))) {\n issue('depth-limit', 'Additional related nodes exist beyond the selected depth.');\n }\n if (!graph.complete || graph.sourceState !== 'healthy') issue('source-incomplete', 'Traversal uses incomplete or degraded source evidence.');\n result.nodeIds = [...seen].sort();\n // Return the induced graph, including cross-links between nodes discovered\n // at the exact depth boundary, not merely the breadth-first search tree.\n result.edgeIds = graph.edges.filter((edge) => seen.has(edge.from) && seen.has(edge.to)).map((edge) => edge.id).sort();\n return result;\n}\n",".section { min-width: 0; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: var(--bg-surface); overflow: hidden; }\n.header { padding: var(--space-5); display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }\n.header p { margin-top: var(--space-1); font-size: var(--text-sm-size); }\n.header h2 { font-family: var(--font-display, var(--font-ui)); letter-spacing: -.025em; }\n.button, .filters select { min-height: 36px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); background: var(--bg-surface); color: var(--text-primary); font: inherit; }\n.button { white-space: nowrap; }\n.button:hover { background: var(--bg-hover); }\n.button:disabled { color: var(--text-disabled); cursor: wait; }\n.section button:focus-visible, .section select:focus-visible, .section summary:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; }\n.body { padding: 0 var(--space-5) var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }\n.toolbar, .facts { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }\n.facts { font-size: var(--text-xs-size); color: var(--text-secondary); gap: var(--space-2) var(--space-5); padding-block: var(--space-3); border-block: 1px solid var(--border-subtle); font-variant-numeric: tabular-nums; }\n.toolbar .button { margin-left: auto; }\n.notice { padding: var(--space-3); border-left: 3px solid var(--status-warning-solid); background: var(--status-warning-bg); font-size: var(--text-sm-size); }\n.filters { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: flex-end; padding: var(--space-3); border-radius: var(--radius-sm); background: var(--bg-canvas); }\n.filters label { display: flex; flex-direction: column; gap: var(--space-1); color: var(--text-secondary); font-size: var(--text-xs-size); }\n.filters select { max-width: 240px; font-size: var(--text-sm-size); }\n.note { font-size: var(--text-xs-size); }\n.diagram { overflow: auto; max-height: 460px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--bg-canvas); scrollbar-color: var(--border-strong) var(--bg-canvas); }\n.diagram svg { display: block; min-height: 220px; }\n.diagram [role='button'] { cursor: pointer; }\n.diagram [role='button']:focus-visible { outline: none; }\n.diagram [role='button']:focus-visible rect { stroke: var(--border-focus); stroke-width: 3; stroke-dasharray: 4 2; }\n.diagram [role='button']:hover rect { stroke: var(--text-link); stroke-width: 2; }\n.edge { stroke: var(--border-strong); stroke-width: 1.5; }\n.feedback { stroke: var(--text-link); stroke-dasharray: 5 4; }\n.arrow { fill: var(--border-strong); }\n.nodeBox { fill: var(--bg-surface-raised); stroke: var(--border-strong); stroke-width: 1.25; }\n.selectedBox { fill: var(--bg-selected); stroke: var(--text-link); stroke-width: 2.5; }\n.nodeLabel { fill: var(--text-primary); font-family: var(--font-display, var(--font-ui)); font-size: var(--text-xs-size); font-weight: var(--font-weight-semibold); }\n.nodeKind, .columnLabel { fill: var(--text-secondary); font-size: var(--text-xs-size); }\n.nodeKind { letter-spacing: -.02em; }\n.columnLabel { font-family: var(--font-display, var(--font-ui)); font-weight: var(--font-weight-medium); }\n/* Shape distinguishes entity kinds; color remains reserved for selection/evidence. */\n.diagram [data-kind='universe'] rect, .diagram [data-kind='campaign'] rect { rx: 14px; }\n.diagram [data-kind='seed'] rect, .diagram [data-kind='artifact'] rect { rx: 1px; }\n.diagram [data-kind='comparator'] rect { stroke-dasharray: 6 3; }\n.diagram [data-kind='delivery'] rect { rx: 1px; stroke-width: 2.5; }\n.diagram [data-kind='reservation'] rect { stroke-dasharray: 2 3; }\n.legend { display: flex; flex-wrap: wrap; gap: var(--space-4); font-size: var(--text-xs-size); color: var(--text-secondary); }\n.legend span::before { content: ''; display: inline-block; width: 24px; margin-right: var(--space-2); vertical-align: middle; border-top: 2px solid var(--border-strong); }\n.legend .feedbackLegend::before { border-top-style: dashed; border-color: var(--text-link); }\n.workspace { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.7fr); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); overflow: hidden; }\n.nodeList { display: flex; flex-direction: column; max-height: 480px; overflow: auto; border-right: 1px solid var(--border-subtle); padding: var(--space-2); background: var(--bg-canvas); }\n.nodeButton { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-3); border: 0; border-left: 3px solid transparent; text-align: left; background: transparent; color: var(--text-primary); font: inherit; font-size: var(--text-sm-size); overflow-wrap: anywhere; }\n.nodeButton:hover { background: var(--bg-hover); }\n.nodeButton[aria-pressed='true'] { border-left-color: var(--accent-500); background: var(--bg-selected); }\n.nodeButton small { color: var(--text-secondary); font-size: var(--text-xs-size); }\n.nodeButton > span { font-family: var(--font-display, var(--font-ui)); font-weight: var(--font-weight-medium); }\n.nodeButton[data-kind='campaign'], .nodeButton[data-kind='universe'] { border-radius: var(--radius-md); }\n.inspector { min-width: 0; padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }\n.inspector h3 { font-family: var(--font-display, var(--font-ui)); font-size: var(--text-xl-size); line-height: var(--text-xl-line); letter-spacing: -.025em; overflow-wrap: anywhere; }\n.properties { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-3); }\n.properties dt { font-size: var(--text-xs-size); color: var(--text-secondary); }\n.properties dd { margin-top: var(--space-1); font-size: var(--text-sm-size); overflow-wrap: anywhere; }\n.relations { display: flex; flex-direction: column; gap: var(--space-2); padding-left: var(--space-4); margin: 0; font-size: var(--text-sm-size); }\n.link { background: transparent; border: 0; padding: 0; color: var(--text-link); text-decoration: underline; text-underline-offset: 3px; text-align: left; font: inherit; overflow-wrap: anywhere; }\n.findings { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border-inline-start: 3px solid var(--border-strong); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--bg-canvas); }\n.findings ul { margin: 0; padding-left: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }\n.findings p, .findings li { font-size: var(--text-sm-size); }\n.findingLinks { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-1); }\n.exact { overflow-wrap: anywhere; font-size: var(--text-xs-size); }\n.pagination { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); font-size: var(--text-xs-size); }\n@media (max-width: 600px) {\n .header { flex-wrap: wrap; padding: var(--space-4); }\n .body { padding-right: var(--space-4); padding-left: var(--space-4); }\n .workspace { display: flex; flex-direction: column; }\n .nodeList { max-height: 220px; border-right: 0; border-bottom: 1px solid var(--border-subtle); padding-right: 0; }\n .inspector { padding: var(--space-4); }\n .filters select { max-width: 190px; }\n .diagram { max-height: 360px; }\n}\n","import { useId, useMemo, useState } from 'react';\nimport type { UniverseGraph as GraphReport, UniverseGraphNode, UniverseGraphEdge } from '../../../core/universe/graph-types.js';\nimport { traverseUniverseGraph } from '../../../core/universe/graph-query.js';\nimport { useQuery, useRefetch } from '../../data/hooks.js';\nimport { useUniverseCommand } from './UniverseScope.js';\nimport { universeGraphQuery } from '../../data/queries.js';\nimport styles from './UniverseGraph.module.css';\n\nconst DISPLAY_LIMIT = 60;\nconst DISPLAY_EDGE_LIMIT = 240;\ntype InspectTrial = (runId: string, trialId: string) => boolean;\nconst KIND_LABELS: Record<UniverseGraphNode['kind'], string> = {\n universe: 'Universe', seed: 'Seed', comparator: 'Evaluator', campaign: 'Campaign',\n reservation: 'Reservation', run: 'Run', trial: 'Trial', artifact: 'Artifact', delivery: 'Delivery',\n};\nconst EDGE_LABELS: Record<UniverseGraphEdge['kind'], string> = {\n contains: 'Contains', 'seed-parent': 'Seed parent', parent: 'Candidate parent', feedback: 'Evaluator feedback',\n evaluates: 'Evaluates', produced: 'Produced artifact', reserved: 'Reserved work',\n 'executed-as': 'Executed as', 'delivered-as': 'Delivered as',\n};\nconst evidenceLabel = (node: UniverseGraphNode): string => node.evidence === 'verified-local-delivery'\n ? 'Local delivery checked' : node.evidence === 'recorded' ? 'Recorded evidence'\n : node.evidence === 'pending' ? 'Pending evidence' : 'Evidence unavailable';\nconst short = (value: string, length: number): string => value.length > length ? `${value.slice(0, length - 1)}…` : value;\n\n/** Bounded, deterministic columns; the full text node list remains usable without the SVG. */\nfunction GraphDiagram({ nodes, edges, selectedId, select }: {\n nodes: UniverseGraphNode[]; edges: UniverseGraphEdge[]; selectedId?: string;\n select: (id: string) => void;\n}) {\n const marker = `universe-arrow-${useId().replaceAll(':', '')}`;\n const columns = [...new Set(nodes.map((node) => node.generation ?? 0))].sort((a, b) => a - b);\n const positions = new Map<string, { x: number; y: number }>();\n let rows = 1;\n columns.forEach((generation, column) => {\n const members = nodes.filter((node) => (node.generation ?? 0) === generation);\n rows = Math.max(rows, members.length);\n members.forEach((node, row) => positions.set(node.id, { x: 24 + column * 225, y: 32 + row * 76 }));\n });\n return (\n <div className={styles.diagram}>\n <svg width={Math.max(260, columns.length * 225 + 24)} height={rows * 76 + 40} role=\"group\" aria-label=\"Evidence relationship diagram\">\n <defs><marker id={marker} markerWidth=\"8\" markerHeight=\"8\" refX=\"7\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L0,6 L8,3 z\" className={styles.arrow} /></marker></defs>\n {columns.map((generation, column) => <text key={generation} x={24 + column * 225} y={18} className={styles.columnLabel}>{generation === 0 ? 'Experiment context' : `Generation ${generation}`}</text>)}\n {edges.map((edge) => {\n const from = positions.get(edge.from); const to = positions.get(edge.to);\n if (!from || !to) return null;\n const sameColumn = from.x === to.x;\n const startX = from.x + 180; const endX = sameColumn ? to.x + 180 : to.x;\n const mid = sameColumn ? startX + 28 : (startX + endX) / 2;\n return <path key={edge.id} d={`M ${startX} ${from.y + 27} C ${mid} ${from.y + 27}, ${mid} ${to.y + 27}, ${endX} ${to.y + 27}`} fill=\"none\" markerEnd={`url(#${marker})`} className={`${styles.edge} ${edge.kind === 'feedback' ? styles.feedback : ''}`}><title>{EDGE_LABELS[edge.kind]}</title></path>;\n })}\n {nodes.map((node) => {\n const position = positions.get(node.id)!;\n return <g key={node.id} data-kind={node.kind} transform={`translate(${position.x},${position.y})`} role=\"button\" tabIndex={0} aria-label={`Select ${KIND_LABELS[node.kind].toLowerCase()}: ${node.label}`} aria-pressed={node.id === selectedId}\n onClick={() => select(node.id)} onKeyDown={(event) => { if (event.key === 'Enter' || event.key === ' ') { event.preventDefault(); select(node.id); } }}>\n <title>{`${node.label}: ${node.state}. ${evidenceLabel(node)}`}</title>\n <rect width=\"180\" height=\"54\" rx=\"5\" className={node.id === selectedId ? styles.selectedBox : styles.nodeBox} />\n <text x=\"10\" y=\"20\" className={styles.nodeLabel}>{short(node.label, 24)}</text>\n <text x=\"10\" y=\"39\" className={styles.nodeKind}>{KIND_LABELS[node.kind]} · {short(node.state, 18)}</text>\n </g>;\n })}\n </svg>\n </div>\n );\n}\n\nfunction NodeInspector({ node, graph, byId, select, onInspectTrial }: {\n node: UniverseGraphNode; graph: GraphReport; byId: Map<string, UniverseGraphNode>;\n select: (id: string) => void; onInspectTrial: InspectTrial;\n}) {\n const [unavailableTrial, setUnavailableTrial] = useState<string | null>(null);\n const command = useUniverseCommand();\n const relationships = graph.edges.filter((edge) => edge.from === node.id || edge.to === node.id);\n return <section className={styles.inspector} aria-label=\"Selected graph evidence\">\n <h3>{node.label}</h3>\n <dl className={styles.properties}>\n <div><dt>Entity</dt><dd>{KIND_LABELS[node.kind]}</dd></div>\n <div><dt>State</dt><dd>{node.state}</dd></div>\n <div><dt>Evidence</dt><dd>{evidenceLabel(node)}</dd></div>\n {node.generation !== undefined ? <div><dt>Generation</dt><dd>{node.generation}</dd></div> : null}\n {node.niche ? <div><dt>Niche</dt><dd>{node.niche}</dd></div> : null}\n {node.score !== undefined ? <div><dt>Evaluator score</dt><dd>{node.score === null ? 'Unavailable' : node.score}</dd></div> : null}\n {node.currentElite ? <div><dt>Archive</dt><dd>Current local elite</dd></div> : null}\n {node.admitted && !node.currentElite ? <div><dt>Archive</dt><dd>Historical admission; not the current elite</dd></div> : null}\n </dl>\n <p className={styles.note}>The graph observes saved evidence. It does not rerun evaluation or establish accepted production value.</p>\n {node.runId && node.trialId ? <button type=\"button\" className={styles.link} onClick={() => setUnavailableTrial(onInspectTrial(node.runId!, node.trialId!) ? null : node.id)}>Inspect exact trial evidence</button> : null}\n {unavailableTrial === node.id ? <p className={styles.notice} role=\"status\">This exact trial is not present in the current overview. Refresh Universe before inspecting it; no other trial was selected.</p> : null}\n <h4>Direct relationships</h4>\n {relationships.length ? <ul className={styles.relations}>{relationships.slice(0, DISPLAY_LIMIT).map((edge) => {\n const incoming = edge.to === node.id;\n const other = byId.get(incoming ? edge.from : edge.to);\n return <li key={edge.id}>{EDGE_LABELS[edge.kind]} {incoming ? 'from' : 'to'}{' '}{other\n ? <button type=\"button\" className={styles.link} onClick={() => select(other.id)}>{other.label}</button>\n : <span>unavailable source</span>}</li>;\n })}</ul> : <p className={styles.note}>No direct relationships in this observation.</p>}\n {relationships.length > DISPLAY_LIMIT ? <p className={styles.note}>{relationships.length - DISPLAY_LIMIT} additional relationships omitted from this panel. Inspect the CLI graph for the full observation.</p> : null}\n <details className={styles.exact}><summary>Record identity</summary>\n <dl className={styles.properties}>\n <div><dt>Graph node</dt><dd><code>{node.id}</code></dd></div>\n {node.runId ? <div><dt>Run</dt><dd><code>{node.runId}</code></dd></div> : null}\n {node.trialId ? <div><dt>Trial</dt><dd><code>{node.trialId}</code></dd></div> : null}\n {node.variantId ? <div><dt>Variant</dt><dd><code>{node.variantId}</code></dd></div> : null}\n {node.campaignId ? <div><dt>Campaign</dt><dd><code>{node.campaignId}</code></dd></div> : null}\n {node.branch ? <div><dt>Local branch</dt><dd><code>{node.branch}</code></dd></div> : null}\n {node.commit ? <div><dt>Commit</dt><dd><code>{node.commit}</code></dd></div> : null}\n {node.manifestDigest ? <div><dt>Manifest digest</dt><dd><code>{node.manifestDigest === '[REDACTED]' ? 'Hidden by the console privacy filter' : node.manifestDigest}</code></dd></div> : null}\n {node.comparatorDigest ? <div><dt>Comparator digest</dt><dd><code>{node.comparatorDigest === '[REDACTED]' ? 'Hidden by the console privacy filter' : node.comparatorDigest}</code></dd></div> : null}\n {node.artifactDigest ? <div><dt>Artifact digest</dt><dd><code>{node.artifactDigest === '[REDACTED]' ? 'Hidden by the console privacy filter' : node.artifactDigest}</code></dd></div> : null}\n </dl>\n <p>Read exact local provenance with <code>{command(`ashlr universe graph ${graph.universeId} --json`)}</code>.</p>\n </details>\n </section>;\n}\n\nfunction GraphExplorer({ graph, onInspectTrial }: { graph: GraphReport; onInspectTrial: InspectTrial }) {\n const [selectedId, setSelectedId] = useState<string | null>(null);\n const [kind, setKind] = useState('all');\n const [niche, setNiche] = useState('all');\n const [direction, setDirection] = useState<'all' | 'ancestors' | 'descendants'>('all');\n const [depth, setDepth] = useState(2);\n const [requestedPage, setRequestedPage] = useState<number | null>(null);\n const byId = useMemo(() => new Map(graph.nodes.map((node) => [node.id, node])), [graph.nodes]);\n const selected = selectedId === null ? graph.nodes.find((node) => node.kind === 'trial' && node.currentElite) ?? graph.nodes.find((node) => node.kind === 'trial') ?? graph.nodes[0] : byId.get(selectedId);\n const traversal = useMemo(() => selected && direction !== 'all' ? traverseUniverseGraph(graph, { nodeId: selected.id, direction, maxDepth: depth }) : null, [graph, selected, direction, depth]);\n const traversedIds = useMemo(() => traversal ? new Set(traversal.nodeIds) : null, [traversal]);\n const matching = graph.nodes.filter((node) => (!traversedIds || traversedIds.has(node.id)) && (kind === 'all' || node.kind === kind) && (niche === 'all' || node.niche === niche));\n const pageCount = Math.max(1, Math.ceil(matching.length / DISPLAY_LIMIT));\n const selectedPage = Math.floor(Math.max(0, matching.findIndex((node) => node.id === selected?.id)) / DISPLAY_LIMIT);\n const page = Math.min(requestedPage ?? selectedPage, pageCount - 1);\n const nodes = matching.slice(page * DISPLAY_LIMIT, (page + 1) * DISPLAY_LIMIT);\n const visibleIds = new Set(nodes.map((node) => node.id));\n const edges = graph.edges.filter((edge) => visibleIds.has(edge.from) && visibleIds.has(edge.to));\n const select = (id: string) => { setSelectedId(id); setKind('all'); setNiche('all'); setRequestedPage(null); };\n const niches = [...new Set(graph.nodes.flatMap((node) => node.niche ? [node.niche] : []))].sort();\n return <>\n <div className={styles.facts}><span>Source: {graph.sourceState}</span><span>{graph.complete ? 'Source graph complete' : 'Source graph incomplete'}</span><span>{graph.counts.trials} trial records included</span><span>{graph.counts.verifiedDeliveries} checked local deliveries included</span></div>\n {!graph.complete || graph.sourceState === 'degraded' ? <p className={styles.notice} role=\"status\">Graph evidence is incomplete. Missing relationships are not proof that no work or delivery occurred.</p> : null}\n {graph.issues.length ? <details className={styles.note}><summary>Source issues ({graph.issues.length})</summary><ul>{graph.issues.map((issue, index) => <li key={`${issue.code}-${index}`}><code>{issue.code}</code>: {issue.message}</li>)}</ul></details> : null}\n {graph.findings.length ? <section className={styles.findings} aria-label=\"Graph observations\"><h3>Useful observations</h3><ul>{graph.findings.slice(0, DISPLAY_LIMIT).map((finding) => <li key={finding.id}>\n <strong>{finding.kind === 'repeated-output' ? 'Repeated artifact output' : 'Current elite without recorded delivery'}</strong>\n {finding.kind === 'repeated-output' ? <p>{finding.trialCount} trials share a recorded artifact digest. {finding.usageComplete ? `Reported generation tokens: ${finding.reportedTokens ?? 'unavailable'}.` : `Total generation tokens unavailable; recorded subtotal: ${finding.recordedTokens}.`}</p> : <p>No verified delivery is linked to this current local elite in the observation.</p>}\n <div className={styles.findingLinks}>{finding.nodeIds.slice(0, 8).map((id) => { const node = byId.get(id); return node ? <button type=\"button\" className={styles.link} key={id} onClick={() => select(id)}>Inspect {node.label}</button> : null; })}</div>\n {finding.nodeIds.length > 8 ? <p>{finding.nodeIds.length - 8} additional nodes in this group; inspect CLI JSON for all identities.</p> : null}\n </li>)}</ul><p>These are evidence patterns, not cost savings, automatic delivery instructions or proof of business value.</p>{graph.findings.length > DISPLAY_LIMIT ? <p>{graph.findings.length - DISPLAY_LIMIT} additional observations omitted from this panel.</p> : null}</section> : null}\n {graph.nodes.length ? <>\n <div className={styles.filters}>\n <label>Entity type<select value={kind} onChange={(event) => { setKind(event.target.value); setRequestedPage(null); }}><option value=\"all\">All entity types</option>{Object.entries(KIND_LABELS).map(([value, label]) => <option key={value} value={value}>{label}</option>)}</select></label>\n <label>Niche<select value={niche} onChange={(event) => { setNiche(event.target.value); setRequestedPage(null); }}><option value=\"all\">All niches</option>{niches.map((value) => <option key={value}>{value}</option>)}</select></label>\n <label>Trace from selection<select value={direction} onChange={(event) => { setDirection(event.target.value as typeof direction); setRequestedPage(null); }} disabled={!selected}><option value=\"all\">All nodes</option><option value=\"ancestors\">Ancestors</option><option value=\"descendants\">Descendants</option></select></label>\n <label>Traversal depth<select value={depth} onChange={(event) => { setDepth(Number(event.target.value)); setRequestedPage(null); }} disabled={direction === 'all'}>{[1, 2, 3, 4, 8, 16, 32, 64].map((value) => <option key={value}>{value}</option>)}</select></label>\n </div>\n <p className={styles.note} role=\"status\">Showing {nodes.length} of {matching.length} matching nodes ({graph.nodes.length} in source). {direction !== 'all' ? `Trace is bounded to ${depth} relationship hops. ` : ''}{matching.length > DISPLAY_LIMIT ? `Diagram shows at most ${DISPLAY_LIMIT} nodes per page; relationships crossing pages remain in the inspector. ` : ''}{traversal && !traversal.complete ? 'Traversal is incomplete; the depth bound or source evidence limits this trace.' : ''}</p>\n {pageCount > 1 ? <nav className={styles.pagination} aria-label=\"Graph node pages\"><button type=\"button\" className={styles.button} disabled={page === 0} onClick={() => setRequestedPage(page - 1)}>Previous node page</button><span>Page {page + 1} of {pageCount}</span><button type=\"button\" className={styles.button} disabled={page + 1 === pageCount} onClick={() => setRequestedPage(page + 1)}>Next node page</button></nav> : null}\n {selectedId !== null && !selected ? <p className={styles.notice} role=\"status\">The selected node is no longer present in the current graph. Select another recorded node; no substitute has been chosen.</p> : null}\n {nodes.length ? <><GraphDiagram nodes={nodes} edges={edges.slice(0, DISPLAY_EDGE_LIMIT)} selectedId={selected?.id} select={select} /><div className={styles.legend}><span>Recorded relationship</span><span className={styles.feedbackLegend}>Evaluator feedback (not candidate ancestry)</span></div>{edges.length > DISPLAY_EDGE_LIMIT ? <p className={styles.note}>Diagram shows {DISPLAY_EDGE_LIMIT} of {edges.length} relationships on this page. Select a node to inspect its direct relationships.</p> : null}</> : <p className={styles.notice}>No nodes match these filters. Broaden the entity type, niche or trace direction.</p>}\n <div className={styles.workspace}>\n <div className={styles.nodeList} role=\"group\" aria-label=\"Graph nodes\">{nodes.map((node) => <button type=\"button\" key={node.id} data-kind={node.kind} className={styles.nodeButton} aria-label={`Inspect ${KIND_LABELS[node.kind].toLowerCase()}: ${node.label}`} aria-pressed={node.id === selected?.id} onClick={() => setSelectedId(node.id)}><span>{node.label}</span><small>{KIND_LABELS[node.kind]} · {node.state}{node.generation !== undefined ? ` · generation ${node.generation}` : ''}</small></button>)}</div>\n {selected ? <NodeInspector node={selected} graph={graph} byId={byId} select={select} onInspectTrial={onInspectTrial} /> : null}\n </div>\n </> : <p>{graph.sourceState === 'missing' ? 'No recorded graph source is available for this universe.' : graph.complete ? 'This observation contains no graph nodes.' : 'Graph nodes could not be established from incomplete evidence.'}</p>}\n </>;\n}\n\nfunction LoadedGraph({ universeId, onInspectTrial }: { universeId: string; onInspectTrial: InspectTrial }) {\n const definition = useMemo(() => universeGraphQuery(universeId), [universeId]);\n const query = useQuery(definition);\n const refresh = useRefetch(definition);\n return <div className={styles.body}>\n <div className={styles.toolbar}><p className={styles.note}>{query.data ? `Observed ${query.data.sampledAt}${query.status === 'error' ? ' · Last successful read' : ''}` : 'Read-only graph observation; no work is started.'}</p><button type=\"button\" className={styles.button} onClick={refresh} disabled={query.status === 'loading' || query.status === 'refreshing'}>{query.status === 'refreshing' ? 'Refreshing graph…' : 'Refresh graph'}</button></div>\n {query.status === 'loading' ? <p role=\"status\">Loading graph evidence…</p> : null}\n {query.status === 'error' ? <p className={styles.notice} role=\"alert\">Graph records unavailable. {query.error?.message} Refresh graph to retry.{query.data ? ' The graph below is the last successful observation.' : ''}</p> : null}\n {query.data ? <GraphExplorer graph={query.data} onInspectTrial={onInspectTrial} /> : null}\n </div>;\n}\n\n/** Mounting this section does not fetch: only opening the inspector mounts its query. */\nexport function UniverseGraph({ universeId, onInspectTrial }: { universeId: string; onInspectTrial: InspectTrial }) {\n const [open, setOpen] = useState(false);\n const panelId = `universe-graph-${useId().replaceAll(':', '')}`;\n return <section className={styles.section} aria-label=\"Evidence graph\">\n <div className={styles.header}><div><h2>Evidence graph</h2><p>Trace candidate ancestry, evaluator feedback and local delivery back to recorded trials.</p></div><button type=\"button\" className={styles.button} aria-expanded={open} aria-controls={panelId} onClick={() => setOpen((value) => !value)}>{open ? 'Close graph' : 'Open graph'}</button></div>\n <div id={panelId}>{open ? <LoadedGraph universeId={universeId} onInspectTrial={onInspectTrial} /> : null}</div>\n </section>;\n}\n","import type { UniverseCampaignReadinessView } from '../../core/web/universe-console-types.js';\nimport { apiGet } from './client.js';\nimport type { QueryDef } from './queries.js';\n\nconst ID = /^[a-z0-9][a-z0-9_-]{0,63}$/;\nconst FIELDS = ['schemaVersion', 'readinessScope', 'campaignId', 'universeId', 'observedState', 'sourceState',\n 'disposition', 'reasonCode', 'resourceRuntimeRequired', 'sampledAt'];\nconst STATES = ['ready', 'running', 'pause-requested', 'stop-requested', 'paused', 'interrupted', 'completed', 'stopped', 'failed'];\nconst DISPOSITIONS: Record<UniverseCampaignReadinessView['disposition'], true> = {\n startable: true, owned: true, 'owner-held': true, 'resource-withheld': true, 'recovery-required': true,\n 'attention-required': true, 'budget-exhausted': true, terminal: true, unavailable: true,\n};\nconst REASONS: Record<UniverseCampaignReadinessView['reasonCode'], true> = {\n 'never-started': true, 'owner-active': true, 'pause-requested': true, 'stop-requested': true, 'owner-paused': true,\n 'owner-abandoned': true, 'run-incomplete': true, 'resource-withheld': true, 'resource-outcome-ambiguous': true,\n 'resource-attention-required': true, 'generation-attention-required': true, 'duration-budget-exhausted': true, 'generation-budget-exhausted': true,\n 'stagnation-budget-exhausted': true, 'request-budget-exhausted': true, 'reported-token-budget-exhausted': true,\n 'usage-unavailable': true, 'campaign-completed': true, 'campaign-stopped': true, 'campaign-failed': true,\n 'paused-unclassified': true, 'interrupted-unclassified': true, 'campaign-missing': true, 'evidence-degraded': true, 'snapshot-changed': true,\n 'seed-evaluation-unresolved': true, 'seed-evaluation-attention-required': true,\n};\n\n/** Reject mismatched identities and uncontracted/private fields before they reach the view. */\nexport function validateUniverseCampaignReadinessView(value: unknown, campaignId: string, universeId: string): UniverseCampaignReadinessView {\n const invalid = () => new Error('Recorded campaign check is unavailable.');\n if (!value || typeof value !== 'object' || Array.isArray(value)) throw invalid();\n const report = value as Record<string, unknown>;\n if (Object.keys(report).length !== FIELDS.length || Object.keys(report).some((field) => !FIELDS.includes(field)) ||\n report.schemaVersion !== 1 || report.readinessScope !== 'recorded-campaign-evidence' || report.campaignId !== campaignId ||\n typeof report.sourceState !== 'string' || !['healthy', 'missing', 'degraded'].includes(report.sourceState) ||\n !(report.universeId === universeId || report.universeId === null && report.sourceState !== 'healthy') ||\n !(report.observedState === null && report.sourceState !== 'healthy' || typeof report.observedState === 'string' && STATES.includes(report.observedState)) ||\n typeof report.disposition !== 'string' || !Object.hasOwn(DISPOSITIONS, report.disposition) ||\n typeof report.reasonCode !== 'string' || !Object.hasOwn(REASONS, report.reasonCode) ||\n !(typeof report.resourceRuntimeRequired === 'boolean' || report.resourceRuntimeRequired === null && report.sourceState !== 'healthy') ||\n typeof report.sampledAt !== 'string' || !/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$/.test(report.sampledAt) ||\n !Number.isFinite(Date.parse(report.sampledAt)) || new Date(report.sampledAt).toISOString() !== report.sampledAt ||\n report.sourceState !== 'healthy' && (report.universeId !== null || report.observedState !== null ||\n report.resourceRuntimeRequired !== null || report.disposition !== 'unavailable')) throw invalid();\n return value as UniverseCampaignReadinessView;\n}\n\n/** On demand only: independent from the overview's polling and SSE invalidation keys. */\nexport function universeCampaignReadinessQuery(campaignId: string, universeId: string): QueryDef<UniverseCampaignReadinessView> {\n if (!ID.test(campaignId) || !ID.test(universeId)) throw new Error('Invalid recorded campaign check identity.');\n return {\n key: `universe-campaign-readiness:${universeId}:${campaignId}`,\n fetch: async (signal) => validateUniverseCampaignReadinessView(\n await apiGet<unknown>(`/api/universe/campaign-readiness?campaignId=${encodeURIComponent(campaignId)}`, signal), campaignId, universeId),\n };\n}\n",".panel { border-block: 1px solid var(--border-default); padding-block: 16px; text-align: left; min-width: 0; }\n.result { margin-top: 14px; min-width: 0; }\n.heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }\n.heading h4 { margin: 0; font-family: var(--font-display); font-size: 1rem; color: var(--text-primary); }\n.button { font: inherit; color: var(--text-link); border: 1px solid var(--border-strong); border-radius: 6px; padding: 8px 12px; background: var(--bg-surface); cursor: pointer; white-space: normal; text-align: left; }\n.button:hover:not(:disabled) { background: var(--bg-hover); }\n.button:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; }\n.button:disabled { cursor: wait; color: var(--text-secondary); }\n.outcome { font-weight: 600; color: var(--text-primary); }\n.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px 20px; margin: 16px 0; }\n.facts div { min-width: 0; }\n.facts dt { color: var(--text-secondary); font-size: .8rem; }\n.facts dd { margin: 4px 0 0; color: var(--text-primary); overflow-wrap: anywhere; font-size: .9rem; }\n.note { color: var(--text-secondary); font-size: .85rem; max-width: 78ch; line-height: 1.55; margin-bottom: 0; }\n.notice { color: var(--status-warning-fg); font-size: .9rem; }\n","import { useMemo, useState } from 'react';\nimport type { UniverseCampaignReadinessView } from '../../../core/web/universe-console-types.js';\nimport { useQuery, useRefetch } from '../../data/hooks.js';\nimport { universeCampaignReadinessQuery } from '../../data/universe-readiness-queries.js';\nimport styles from './CampaignReadiness.module.css';\n\nconst LABELS: Record<UniverseCampaignReadinessView['disposition'], string> = {\n startable: 'Recorded evidence permitted a run attempt',\n owned: 'Campaign owner was recorded active',\n 'owner-held': 'Owner control held the campaign',\n 'resource-withheld': 'Last attempt was withheld by resources',\n 'recovery-required': 'Recovery inspection was required',\n 'attention-required': 'Attention was required',\n 'budget-exhausted': 'Recorded budget was exhausted',\n terminal: 'Campaign had ended',\n unavailable: 'Recorded check was unavailable',\n};\n\nfunction RecordedCheck({ campaignId, universeId }: { campaignId: string; universeId: string }) {\n const query = useMemo(() => universeCampaignReadinessQuery(campaignId, universeId), [campaignId, universeId]);\n // `freshMs: 0` opts out of useQuery's default mount-freshness window. This\n // component only mounts when the operator discloses it, so every mount IS\n // the request for a new sample — accepting a cached one because it is a few\n // seconds old would silently answer a click with the previous reading.\n const { data, status } = useQuery(query, { freshMs: 0 });\n const refresh = useRefetch(query);\n const busy = status === 'loading' || status === 'refreshing' || status === 'idle';\n const historical = busy || status === 'error';\n return <div className={styles.result} aria-busy={busy}>\n <div className={styles.heading}><h4>Last recorded check</h4><button type=\"button\" className={styles.button} disabled={busy} onClick={refresh}>{busy ? 'Checking recorded evidence…' : 'Refresh check'}</button></div>\n {status === 'error' ? <p className={styles.notice} role=\"alert\">Recorded check could not be refreshed. Retry the check; no current readiness conclusion is available.</p> : null}\n {data ? <>\n {historical ? <p className={styles.notice}>Previous sample only. {busy ? 'A new check is pending.' : 'The latest check failed.'}</p> : null}\n {!historical ? <p className={styles.outcome}>{data.sourceState === 'healthy' ? LABELS[data.disposition] : 'Recorded evidence was unavailable or incomplete'}</p> : null}\n <dl className={styles.facts}>\n <div><dt>Sampled</dt><dd><time dateTime={data.sampledAt}>{new Date(data.sampledAt).toLocaleString()}</time></dd></div>\n <div><dt>Source</dt><dd>{data.sourceState}</dd></div>\n <div><dt>{historical ? 'Previous disposition' : 'Recorded disposition'}</dt><dd>{data.disposition}</dd></div>\n <div><dt>Reason code</dt><dd><code>{data.reasonCode}</code></dd></div>\n <div><dt>Observed campaign state</dt><dd>{data.observedState ?? 'Unavailable'}</dd></div>\n <div><dt>Resource runtime binding</dt><dd>{data.resourceRuntimeRequired === null ? 'Unknown' : data.resourceRuntimeRequired ? 'Explicit private runtime required for a run attempt' : 'Not required by the recorded manifest'}</dd></div>\n </dl>\n </> : busy ? <p role=\"status\">Reading saved campaign controls and outcomes…</p> : null}\n <p className={styles.note}>This checks saved campaign controls and outcomes—not current provider connection, quota, worker capacity, evaluator execution, or execution-lease availability. A recorded startable result is advisory; the runner must still perform its admission checks.</p>\n </div>;\n}\n\n/** Mount the shared query only on request; switching campaigns resets this disclosure. */\nexport function CampaignReadiness({ campaignId, universeId }: { campaignId: string; universeId: string }) {\n const [open, setOpen] = useState(false);\n return <section className={styles.panel} aria-label=\"Recorded campaign readiness\">\n <button type=\"button\" className={styles.button} aria-expanded={open} onClick={() => setOpen((value) => !value)}>{open ? 'Hide recorded readiness' : 'Check recorded readiness'}</button>\n {!open ? <p className={styles.note}>Inspect saved controls, remaining budgets, and recovery conditions for this campaign. This does not start work.</p> : <RecordedCheck campaignId={campaignId} universeId={universeId} />}\n </section>;\n}\n","import { useContext, useEffect, useRef, useState } from 'react';\nimport { StatusBadge } from '../../components/primitives/StatusBadge.js';\nimport { RefreshIndicator } from '../../components/primitives/RefreshIndicator.js';\nimport { SkeletonLine } from '../../components/primitives/Skeleton.js';\nimport { useQuery, useRefetch } from '../../data/hooks.js';\nimport { universeOverviewQuery } from '../../data/queries.js';\nimport type { UniverseOverview, UniverseRun, UniverseSummary, UniverseTrial } from '../../data/api-types.js';\nimport { useScrollRestore } from '../../hooks/useScrollRestore.js';\nimport styles from './UniverseView.module.css';\nimport { UniverseDeliveries } from './UniverseDeliveries.js';\nimport { UniverseGraph } from './UniverseGraph.js';\nimport { UniverseRootContext, useUniverseCommand } from './UniverseScope.js';\nimport { CampaignReadiness } from './CampaignReadiness.js';\n\ntype Campaign = NonNullable<UniverseOverview['campaigns']>[number];\nconst ACTIVE_CAMPAIGN_STATES = new Set(['running', 'pause-requested', 'stop-requested']);\n\nfunction number(value: number): string {\n return value.toLocaleString(undefined, { maximumFractionDigits: 6 });\n}\n\nfunction duration(ms: number): string {\n return ms < 1_000\n ? `${ms.toLocaleString(undefined, { maximumFractionDigits: 0 })} ms`\n : `${(ms / 1_000).toLocaleString(undefined, { maximumFractionDigits: 2 })} s`;\n}\n\nfunction timestamp(value: string): string {\n const date = new Date(value);\n return Number.isNaN(date.getTime()) ? value : date.toLocaleString();\n}\n\nfunction FirstExperiment() {\n const command = useUniverseCommand();\n return (\n <section className={styles.empty} aria-labelledby=\"universe-start-title\">\n <h2 id=\"universe-start-title\">Start your first universe</h2>\n <p>Run two measured generations on a disposable seed, then inspect which variants earned a place in the archive.</p>\n <pre className={styles.command}><code>{command('ashlr universe demo')}</code></pre>\n <p>The local demonstration needs no model credentials. Refresh this page after running it.</p>\n <details>\n <summary>Bring your own experiment</summary>\n <pre className={styles.command}><code>{command('ashlr universe init --manifest path/to/universe.json\\nashlr universe run <id>\\nashlr universe status <id> --json\\nashlr universe archive <id> --json')}</code></pre>\n </details>\n </section>\n );\n}\n\nfunction selectionReason(trial: UniverseTrial, summary: UniverseSummary, run: UniverseRun): string {\n if (trial.status !== 'passed') return 'Not admitted. The trial did not finish with a passing measurement.';\n if (run.status !== 'completed') return 'This generation has not completed. Its measurements have not been admitted to the archive.';\n if (trial.selected && trial.delta === null) return 'Established the first measured elite in this niche.';\n if (trial.selected) return `Admitted in generation ${run.generation} after an improvement of ${number(trial.delta!)} over the prior niche elite.`;\n return `Not admitted in this generation. Selection compares passing trials within each niche and requires an improvement of ${number(summary.manifest.metric.minImprovement)}.`;\n}\n\nconst RESOURCE_DISPATCH_LABELS: Record<string, string> = {\n 'not-started': 'Not started', withheld: 'Admission withheld', settled: 'Receipt settled',\n replayed: 'Recorded task replayed; no redispatch', unavailable: 'Evidence unavailable',\n};\nconst RESOURCE_USAGE_LABELS: Record<string, string> = {\n 'codex-turn': 'Codex reported turns', 'claude-main-loop': 'Claude main loop only',\n 'local-chat-completion': 'Local chat completion',\n};\n\nexport function GenerationEvidence({ trial }: { trial: UniverseTrial }) {\n const receipt = trial.generation;\n if (!receipt) return <p className={styles.hypothesis}>Operator command. Model usage was not measured.</p>;\n const pooled = receipt.provider === 'resource-pool';\n const resource = pooled ? receipt.resource : undefined;\n const tokenCount = (value: number | null) => value === null ? 'Unavailable' : number(value);\n return (\n <section className={styles.generationEvidence} aria-label=\"Model generation evidence\">\n <div className={styles.detailHeading}><h4>Model generation</h4><StatusBadge status={receipt.status} tone={receipt.status === 'succeeded' ? 'success' : undefined} /></div>\n <dl className={styles.measurements}>\n <div><dt>Model</dt><dd>{receipt.model ?? resource?.workerModel ?? 'Not assigned'}</dd></div>\n <div><dt>Accounting</dt><dd>{receipt.usage.state === 'reported' ? 'Provider-reported' : 'Unavailable'}</dd></div>\n <div><dt>Input tokens</dt><dd>{tokenCount(receipt.usage.inputTokens)}</dd></div>\n <div><dt>Output tokens</dt><dd>{tokenCount(receipt.usage.outputTokens)}</dd></div>\n <div><dt>Generation duration</dt><dd>{duration(receipt.durationMs)}</dd></div>\n <div><dt>{pooled ? 'Provider request count' : 'Request'}</dt><dd>{pooled ? 'Unknown' : receipt.requestStarted ? 'Started' : 'Not started'}</dd></div>\n </dl>\n {pooled ? <section aria-label=\"Recorded resource task evidence\">\n <h4>Recorded resource task</h4>\n <dl className={styles.measurements}>\n <div><dt>Dispatch evidence</dt><dd>{resource && Object.hasOwn(RESOURCE_DISPATCH_LABELS, resource.dispatch) ? RESOURCE_DISPATCH_LABELS[resource.dispatch] : 'Unavailable'}</dd></div>\n <div><dt>Pool</dt><dd>{resource?.poolId ?? 'Unavailable'}</dd></div>\n <div><dt>Worker</dt><dd>{resource?.workerId ?? 'Not assigned'}</dd></div>\n <div><dt>Worker provider</dt><dd>{resource?.workerProvider ?? 'Not assigned'}</dd></div>\n <div><dt>Task</dt><dd><code>{resource?.taskId ?? 'Unavailable'}</code></dd></div>\n <div><dt>Recorded task outcome</dt><dd>{resource?.taskStatus ?? 'Unavailable'}</dd></div>\n <div><dt>Worker usage scope</dt><dd>{resource?.usageScope && Object.hasOwn(RESOURCE_USAGE_LABELS, resource.usageScope) ? RESOURCE_USAGE_LABELS[resource.usageScope] : 'Unavailable'}</dd></div>\n </dl>\n <p>Recorded provenance only, not a current worker heartbeat. Task completion does not mean the candidate response validated or the evaluator accepted it.</p>\n {resource?.taskStatus === 'reserved' || resource?.taskStatus === 'uncertain'\n ? <p className={styles.notice}>The resource receipt still occupies capacity. Reconcile the affected pool before another attempt; this view does not release its slot.</p> : null}\n </section> : null}\n <details className={styles.artifact}>\n <summary>Generation source and changes</summary>\n <dl>\n <div><dt>Provider</dt><dd>{receipt.provider}</dd></div>\n {!pooled ? <div><dt>Endpoint</dt><dd><code>{receipt.endpoint}</code></dd></div> : null}\n {resource ? <>\n <div><dt>Allowed workers</dt><dd>{resource.allowedWorkerIds.join(', ')}</dd></div>\n <div><dt>Pool digest</dt><dd><code>{resource.poolDigest}</code></dd></div>\n <div><dt>Task digest</dt><dd><code>{resource.taskDigest ?? 'Unavailable'}</code></dd></div>\n <div><dt>Resource receipt digest</dt><dd><code>{resource.receiptDigest ?? 'Unavailable'}</code></dd></div>\n </> : null}\n <div><dt>Changed files</dt><dd>{receipt.changedFiles.length ? receipt.changedFiles.join(', ') : 'None'}</dd></div>\n <div><dt>Prompt digest</dt><dd><code>{receipt.promptDigest ?? 'Unavailable'}</code></dd></div>\n <div><dt>Response digest</dt><dd><code>{receipt.responseDigest ?? 'Unavailable'}</code></dd></div>\n {receipt.feedback ? <><div><dt>Evaluator feedback source</dt><dd>Generation {receipt.feedback.generation} · trial {receipt.feedback.trialId}</dd></div><div><dt>Feedback digest</dt><dd><code>{receipt.feedback.digest}</code></dd></div></> : null}\n {receipt.search ? <><div><dt>Recorded search context</dt><dd>Version {receipt.search.schemaVersion}</dd></div><div><dt>Search context digest</dt><dd><code>{receipt.search.digest}</code></dd></div></> : null}\n {receipt.seedContext ? <><div><dt>Historical seed context</dt><dd>Version {receipt.seedContext.schemaVersion}</dd></div><div><dt>Seed context digest</dt><dd><code>{receipt.seedContext.digest}</code></dd></div></> : null}\n </dl>\n {receipt.seedContext ? <p>Historical measured seed evidence is retained across campaign generations. It is not the trial parent, latest-attempt feedback, or acceptance.</p> : null}\n {pooled ? <p>Some digests are redacted in the web view. Use scoped CLI JSON for exact evidence; this view does not revalidate the resource ledger.</p> : null}\n </details>\n <p>Generation success means a valid replacement response, not evaluator acceptance. {pooled\n ? 'Token counts come from the recorded worker receipt and keep its usage scope; model identity is the configured model name. Native provider request counts and account-wide spend remain unknown.'\n : 'Token counts come from the endpoint response; model identity is the configured name.'}</p>\n {receipt.feedback ? <p>Feedback can come from a failed attempt. It is distinct from the retained parent shown in the lineage.</p> : null}\n {receipt.search ? <p>Search context supplies the metric and bounded repetition evidence, with a retained baseline and previous selection result when available. A repeated artifact is not an evaluator result or a reason to skip evaluation.</p> : null}\n </section>\n );\n}\n\nfunction TrialDetail({ trial, summary, run }: { trial: UniverseTrial; summary: UniverseSummary; run: UniverseRun }) {\n const command = useUniverseCommand();\n const parent = summary.runs.flatMap((item) => item.trials).find((item) => item.id === trial.parentTrialId);\n const current = summary.elites.some((elite) => elite.trialId === trial.id);\n const variant = summary.manifest.variants.find((item) => item.id === trial.variantId);\n return (\n <section className={styles.trialDetail} aria-label={`Evidence for ${trial.variantId}`}>\n <div className={styles.detailHeading}>\n <h3>{trial.variantId}</h3>\n <StatusBadge status={trial.status} tone={trial.status === 'passed' ? 'success' : undefined} />\n </div>\n {variant ? <p className={styles.hypothesis}>{variant.hypothesis}</p> : null}\n <div className={styles.lineage} aria-label=\"Variant lineage\">\n <span>{trial.parentTrialId ? (parent?.variantId ?? trial.parentTrialId) : 'Seed'}</span>\n <span aria-hidden=\"true\">→</span>\n <strong>{trial.variantId}</strong>\n <span className={styles.generation}>Generation {run.generation}</span>\n </div>\n <p className={styles.reason}>{selectionReason(trial, summary, run)}</p>\n {trial.selected ? <p className={styles.currentElite}>{summary.sourceState === 'degraded' ? 'Admission recorded; the current niche elite could not be verified.' : current ? 'Current niche elite' : 'Previously admitted; a later trial now holds this niche.'}</p> : null}\n <dl className={styles.measurements}>\n <div><dt>{summary.manifest.metric.name}</dt><dd>{trial.score === null ? 'Not measured' : number(trial.score)}</dd></div>\n <div><dt>Improvement over prior elite</dt><dd>{trial.delta === null ? 'No prior comparison' : number(trial.delta)}</dd></div>\n <div><dt>Trial duration</dt><dd>{duration(trial.durationMs)}</dd></div>\n {Object.entries(trial.metrics).filter(([key]) => key !== summary.manifest.metric.name).map(([key, value]) => (\n <div key={key}><dt>{key}</dt><dd>{number(value)}</dd></div>\n ))}\n </dl>\n <GenerationEvidence trial={trial} />\n {trial.diagnostics?.length ? <div className={styles.diagnosticCodes} aria-label=\"Evaluator diagnostic codes\"><strong>Evaluator diagnostics</strong><ul>{trial.diagnostics.map((diagnostic, index) => <li key={`${diagnostic.code}-${index}`}><code>{diagnostic.code}</code></li>)}</ul><p>Codes are shown here; diagnostic messages and private locations are omitted.</p></div> : null}\n {trial.error ? <pre role=\"status\" aria-label=\"Trial failure evidence\" className={styles.failureEvidence}>{trial.error}</pre> : null}\n {trial.artifact ? (\n <details className={styles.artifact}>\n <summary>Artifact and evaluator identity</summary>\n <dl>\n <div><dt>Artifact</dt><dd><code>{trial.artifact.path}</code></dd></div>\n <div><dt>Content digest</dt><dd><code>{trial.artifact.digest}</code></dd></div>\n <div><dt>Seed revision</dt><dd><code>{trial.artifact.revision}</code></dd></div>\n <div><dt>Comparator digest</dt><dd><code>{run.comparatorDigest}</code></dd></div>\n </dl>\n <p>For exact local records, run <code>{command(`ashlr universe status ${summary.manifest.id} --json`)}</code>.</p>\n </details>\n ) : null}\n <details className={styles.artifact}>\n <summary>Raw measurement record</summary>\n <pre>{JSON.stringify({ ...trial, ...(trial.diagnostics ? { diagnostics: trial.diagnostics.map(({ code }) => ({ code })) } : {}) }, null, 2)}</pre>\n </details>\n </section>\n );\n}\n\nfunction Campaigns({ campaigns, summary, onInspectRun }: {\n campaigns: Campaign[]; summary: UniverseSummary; onInspectRun: (runId: string) => void;\n}) {\n const [campaignId, setCampaignId] = useState<string | null>(null);\n const command = useUniverseCommand();\n const root = useContext(UniverseRootContext);\n const campaign = campaigns.find((item) => item.definition.id === campaignId) ??\n campaigns.find((item) => ACTIVE_CAMPAIGN_STATES.has(item.state)) ?? campaigns.at(-1);\n if (!campaign) return (\n <section className={styles.campaign} aria-label=\"Campaigns\">\n <div className={styles.sectionHeading}><div><h2>Continue with a campaign</h2><p>Run successive generations automatically within a fixed resource budget. A passing trial does not end the search.</p></div></div>\n <div className={styles.campaignBody}>\n <p>Set <code>universeId</code> to <code>{summary.manifest.id}</code> in your campaign manifest.</p>\n <pre className={styles.command}><code>{command('ashlr universe campaign init --manifest campaign.json\\nashlr universe campaign run <campaign-id>')}</code></pre>\n <p>The console observes saved evidence. These commands run in your terminal, without installing a background service.</p>\n </div>\n </section>\n );\n const { definition, progress } = campaign;\n const verified = campaign.sourceState === 'healthy';\n const value = (count: number) => verified ? number(count) : 'Unavailable';\n const availableRuns = new Set(summary.runs.map((item) => item.id));\n if (summary.activeRun) availableRuns.add(summary.activeRun.id);\n const controls = [`ashlr universe campaign status ${definition.id} --json`];\n controls.push(`ashlr universe campaign check ${definition.id} --json${root === null ? \" --root '/absolute/private/experiments'\" : ''}`);\n if (ACTIVE_CAMPAIGN_STATES.has(campaign.state)) controls.push(`ashlr universe campaign pause ${definition.id}`);\n if (!['completed', 'stopped', 'failed'].includes(campaign.state)) controls.push(`ashlr universe campaign stop ${definition.id}`);\n return (\n <section className={styles.campaign} aria-label=\"Campaigns\">\n <div className={styles.sectionHeading}>\n <div><h2>Autonomous campaign</h2><p>Generations continue until the campaign reaches its resource or stagnation limit.</p></div>\n {campaigns.length > 1 ? <label className={styles.selectLabel}>Campaign<select value={definition.id} onChange={(event) => setCampaignId(event.target.value)}>{campaigns.map((item) => <option key={item.definition.id} value={item.definition.id}>{item.definition.id}</option>)}</select></label> : null}\n </div>\n <div className={styles.campaignBody}>\n <div className={styles.campaignHeading}><h3>{definition.id}</h3><StatusBadge status={campaign.state} tone={campaign.state === 'ready' ? 'neutral' : undefined} /></div>\n {verified ? null : <div className={styles.notice} role=\"status\"><strong>Campaign history is incomplete.</strong><p>{campaign.reasons.join('; ') || 'Recorded progress could not be verified.'}</p></div>}\n <p className={styles.reason}><strong>Reason: </strong>{campaign.reason ?? (campaign.state === 'ready' ? 'Registered; execution readiness has not been checked.' : 'No stop reason recorded.')}</p>\n <p>Use the recovery check before resuming. It reads recorded controls and outcomes, not current worker readiness.{root === null ? ' Replace the example root with your exact Universe store.' : ''}</p>\n <CampaignReadiness key={`${summary.manifest.id}:${definition.id}`} campaignId={definition.id} universeId={summary.manifest.id} />\n {campaign.state === 'pause-requested' || campaign.state === 'stop-requested' ? <p role=\"status\">Control requested. The owner has not yet acknowledged that work has stopped.</p> : null}\n <dl className={styles.campaignFacts}>\n <div><dt>Generation attempts</dt><dd>{value(progress.attempts)} / {definition.budget.maxGenerations}</dd></div>\n <div><dt>Reserved generation invocations</dt><dd>{value(progress.reservedModelRequests)} / {definition.budget.maxModelRequests}</dd></div>\n <div><dt>Stagnant generations</dt><dd>{value(progress.stagnantGenerations)} / {definition.budget.maxStagnantGenerations}</dd></div>\n <div><dt>Deadline</dt><dd>{campaign.deadlineAt ? timestamp(campaign.deadlineAt) : 'Starts on first run'}</dd></div>\n <div><dt>Completed generations</dt><dd>{value(progress.completedRuns)}</dd></div>\n <div><dt>Interrupted generations</dt><dd>{value(progress.interruptedRuns)}</dd></div>\n <div><dt>Initial niche admissions</dt><dd>{value(progress.admissions)}</dd></div>\n <div><dt>Strict improvements</dt><dd>{value(progress.improvements)}</dd></div>\n <div><dt>Reported token total</dt><dd>{verified && progress.usageComplete && progress.reportedTokens !== null ? number(progress.reportedTokens) : 'Unavailable'}</dd></div>\n <div><dt>Recorded token subtotal</dt><dd>{value(progress.recordedTokens)}</dd></div>\n <div><dt>Reported-token stop threshold</dt><dd>{definition.budget.maxReportedTokens === null ? 'Not configured' : number(definition.budget.maxReportedTokens)}</dd></div>\n <div><dt>Bounded evaluator feedback</dt><dd>{definition.feedback ? 'Enabled' : 'Disabled'}</dd></div>\n </dl>\n <p className={styles.campaignNote}>Resume keeps the original deadline and consumed budget. Token figures cover recorded model requests; a recorded subtotal is not proof of complete spend. A reported-token threshold cannot prevent spend already incurred.</p>\n <p className={styles.campaignNote}>The legacy maxModelRequests field reserves generation transport invocations, not native API calls. A native invocation may make zero or multiple provider requests. Resource-pool run/resume requires its explicit private runtime option again; this read-only console does not hold that binding.</p>\n </div>\n {campaign.steps.length ? <div className={styles.tableScroll}>\n <table className={styles.archiveTable} aria-label=\"Campaign generations\">\n <thead><tr><th scope=\"col\">Generation</th><th scope=\"col\">State</th><th scope=\"col\">Trials passed</th><th scope=\"col\">New niches</th><th scope=\"col\">Improvements</th><th scope=\"col\">Generation invocations reserved</th></tr></thead>\n <tbody>{campaign.steps.map((step) => <tr key={step.runId}>\n <th scope=\"row\">{availableRuns.has(step.runId) ? <button type=\"button\" className={styles.eliteButton} aria-label={`Inspect campaign generation ${step.generation}`} onClick={() => onInspectRun(step.runId)}>{step.generation}</button> : <span>{step.generation} · Evidence pending</span>}</th>\n <td>{step.state}</td><td>{value(step.passedTrials)} / {value(step.trialCount)}</td><td>{value(step.admissions)}</td><td>{value(step.improvements)}</td><td>{value(step.reservedModelRequests)}</td>\n </tr>)}</tbody>\n </table>\n </div> : null}\n <div className={styles.campaignBody}>\n <details className={styles.artifact}><summary>Inspect or control from your terminal</summary><pre className={styles.command}><code>{command(controls.join('\\n'))}</code></pre><p>Pause and stop are requests until acknowledged. These controls do not change the legacy fleet daemon or its kill switch.</p></details>\n <p className={styles.campaignNote}>Campaign termination is not project success. Archive admissions are local evaluator results, not accepted production changes.</p>\n </div>\n </section>\n );\n}\n\nfunction UniverseExperiment({ summary, campaigns, deliveryReport }: {\n summary: UniverseSummary;\n campaigns: Campaign[];\n deliveryReport?: NonNullable<UniverseOverview['deliveryReports']>[number];\n}) {\n const [runId, setRunId] = useState<string | null>(null);\n const command = useUniverseCommand();\n const [trialId, setTrialId] = useState<string | null>(null);\n const comparisonRef = useRef<HTMLElement>(null);\n const runs = summary.activeRun && !summary.runs.some((run) => run.id === summary.activeRun!.id)\n ? [...summary.runs, summary.activeRun] : summary.runs;\n const run = runs.find((item) => item.id === runId) ?? summary.activeRun ?? runs.at(-1);\n const trial = run?.trials.find((item) => item.id === trialId) ?? run?.trials.find((item) => item.selected) ?? run?.trials[0];\n const niches = [...new Set(summary.manifest.variants.map((variant) => variant.niche))];\n const totalDuration = runs.reduce((sum, item) => sum + item.durationMs, 0);\n\n return (\n <>\n <section className={styles.objective} aria-label=\"Universe objective\">\n <h2>{summary.manifest.name}</h2>\n <p>{summary.manifest.objective}</p>\n <dl className={styles.objectiveFacts}>\n <div><dt>Selection metric</dt><dd>{summary.manifest.metric.name} · {summary.manifest.metric.direction}</dd></div>\n <div><dt>Minimum improvement</dt><dd>{number(summary.manifest.metric.minImprovement)}</dd></div>\n <div><dt>Run budget</dt><dd>{summary.manifest.budget.maxTrials} trials / {duration(summary.manifest.budget.maxDurationMs)}</dd></div>\n <div><dt>Parallel trials</dt><dd>{summary.manifest.budget.maxParallel}</dd></div>\n </dl>\n </section>\n\n {summary.sourceState === 'degraded' ? (\n <div className={styles.notice} role=\"status\"><strong>Some experiment records could not be read.</strong><p>{summary.reasons.join('; ')}</p></div>\n ) : null}\n {summary.activeRun ? (\n <div className={styles.running} role=\"status\">\n <StatusBadge status={summary.activeRun.status} />\n <span>Generation {summary.activeRun.generation}: {summary.activeRun.trials.length} trial measurements recorded. Refreshing every 3 seconds.</span>\n </div>\n ) : null}\n\n <Campaigns campaigns={campaigns} summary={summary} onInspectRun={(id) => { setRunId(id); setTrialId(null); }} />\n\n <UniverseGraph universeId={summary.manifest.id} onInspectTrial={(run, trial) => {\n if (!runs.some((item) => item.id === run && item.trials.some((candidate) => candidate.id === trial))) return false;\n setRunId(run); setTrialId(trial);\n window.requestAnimationFrame(() => comparisonRef.current?.scrollIntoView?.({ block: 'start' }));\n return true;\n }} />\n\n <section className={styles.archive} aria-labelledby=\"universe-archive-title\">\n <div className={styles.sectionHeading}>\n <div><h2 id=\"universe-archive-title\">Population archive</h2><p>Each niche keeps its best measured variant. Inspect an elite to see the experiment that earned its place.</p></div>\n <span className={styles.archiveCount}>{summary.sourceState === 'degraded' ? 'Archive incomplete' : `${summary.elites.length} / ${niches.length} niches populated`}</span>\n </div>\n <div className={styles.tableScroll}>\n <table className={styles.archiveTable}>\n <thead><tr><th scope=\"col\">Niche</th><th scope=\"col\">Retained variant</th><th scope=\"col\">{summary.manifest.metric.name}</th><th scope=\"col\">Generation</th></tr></thead>\n <tbody>{niches.map((niche) => {\n const elite = summary.elites.find((item) => item.niche === niche);\n return (\n <tr key={niche} data-selected={elite?.trialId === trial?.id || undefined}>\n <th scope=\"row\"><span className={elite ? styles.nicheFilled : styles.nicheEmpty} aria-hidden=\"true\" />{niche}</th>\n <td>{elite ? (\n <button type=\"button\" className={styles.eliteButton} aria-label={`Inspect ${elite.variantId} in ${niche}`} onClick={() => { setRunId(elite.runId); setTrialId(elite.trialId); }}>{elite.variantId}</button>\n ) : <span className={styles.muted}>{summary.sourceState === 'degraded' ? 'History incomplete' : 'No retained variant'}</span>}</td>\n <td>{elite ? number(elite.score) : summary.sourceState === 'degraded' ? 'Unavailable' : 'Not measured'}</td>\n <td>{elite ? elite.generation : '—'}</td>\n </tr>\n );\n })}</tbody>\n </table>\n </div>\n </section>\n\n {run ? (\n <section ref={comparisonRef} className={styles.comparison} aria-labelledby=\"universe-comparison-title\">\n <div className={styles.sectionHeading}>\n <div><h2 id=\"universe-comparison-title\">Experiment comparison</h2><p>Selection is local to a niche. Positive improvement means better in either metric direction.</p></div>\n <label className={styles.selectLabel}>Generation\n <select value={run.id} onChange={(event) => { setRunId(event.target.value); setTrialId(null); }}>\n {[...runs].reverse().map((item) => <option key={item.id} value={item.id}>{item.generation} · {item.status}</option>)}\n </select>\n </label>\n </div>\n <div className={styles.runMeta}><StatusBadge status={run.status} tone={run.status === 'completed' ? 'success' : undefined} /><span>Started {timestamp(run.startedAt)}</span><span>{duration(run.durationMs)} recorded</span><span>{run.trials.filter((item) => item.status === 'passed').length} / {run.trials.length} trials passed</span><span>{run.status === 'completed' ? `${run.trials.filter((item) => item.selected).length} admitted` : run.status === 'running' ? 'Selection pending' : 'Selection not applied'}</span></div>\n {run.error ? <p className={styles.failure} role=\"status\">{run.error}</p> : null}\n {trial ? (\n <div className={styles.comparisonBody}>\n <div className={styles.trialList} aria-label=\"Trials\">\n {run.trials.map((item) => (\n <button type=\"button\" key={item.id} className={styles.trialButton} aria-pressed={item.id === trial.id} onClick={() => setTrialId(item.id)}>\n <span className={styles.trialTitle}>{item.variantId}<span>{item.score === null ? '—' : number(item.score)}</span></span>\n <span className={styles.trialSubline}>{item.niche}<span>{item.selected ? 'Admitted' : item.status}</span></span>\n </button>\n ))}\n </div>\n <TrialDetail trial={trial} summary={summary} run={run} />\n </div>\n ) : <p className={styles.noTrials}>No trial measurements have been recorded for this generation yet.</p>}\n </section>\n ) : (\n <section className={styles.empty}>\n <h2>This universe is registered</h2>\n <pre className={styles.command}><code>{command(`ashlr universe run ${summary.manifest.id}`)}</code></pre>\n <p>No generation has run yet. Verify the evaluator and required runtime before starting, then refresh to compare measurements.</p>\n </section>\n )}\n\n <UniverseDeliveries summary={summary} report={deliveryReport} onInspectTrial={(run, trial) => { setRunId(run); setTrialId(trial); }} />\n\n <footer className={styles.resources} aria-label=\"Generation resources\">\n <h2>Recorded resources</h2>\n <dl><div><dt>Runtime across {runs.length} generations</dt><dd>{duration(totalDuration)}</dd></div><div><dt>Model tokens{run ? ` in generation ${run.generation}` : ''}</dt><dd>{run?.tokensUsed == null ? 'Unavailable' : number(run.tokensUsed)}</dd></div><div><dt>Model cost</dt><dd>Unavailable</dd></div></dl>\n {run?.generationUsage ? <p>Generation usage coverage: {run.generationUsage.reportedRequests} / {run.generationUsage.requestsStarted} recorded started requests reported tokens across {run.generationUsage.trials} model trials. {run.generationUsage.resourceAttempts === undefined\n ? 'Totals require a completed generation, at least one recorded request, and usage from every recorded request. Interrupted in-flight usage may be missing.'\n : 'These request counters cover the direct local path only. Combined totals also require complete resource-attempt usage and a completed generation; interrupted in-flight usage may be missing.'}</p> : null}\n {run?.generationUsage?.resourceAttempts !== undefined ? <p>Resource handoff coverage: {run.generationUsage.resourceReportedAttempts ?? 'Unavailable'} / {run.generationUsage.resourceAttempts} attempted handoffs reported worker tokens. Handoffs do not guarantee worker starts or count provider requests; incomplete resource usage keeps the combined total unavailable.</p> : null}\n <p>Tokens cover model generation only, not command or evaluator work. Missing usage and dollar costs stay unavailable. Evaluator scores do not establish business value or accepted production changes.</p>\n </footer>\n </>\n );\n}\n\nexport function UniverseView() {\n const containerRef = useRef<HTMLDivElement>(null);\n useScrollRestore('/universe', containerRef);\n const query = useQuery(universeOverviewQuery);\n const refresh = useRefetch(universeOverviewQuery);\n const [universeId, setUniverseId] = useState<string | null>(null);\n const overview = query.data;\n const universe = overview?.universes.find((item) => item.manifest.id === universeId) ?? overview?.universes[0];\n const isRunning = (overview?.universes.some((item) => item.activeRun !== null) ?? false) ||\n (overview?.campaigns?.some((item) => ACTIVE_CAMPAIGN_STATES.has(item.state)) ?? false);\n useEffect(() => {\n let disposed = false;\n const poll = () => { if (!disposed && document.visibilityState !== 'hidden') refresh(); };\n // Idle discovery notices work started elsewhere without requiring a manual\n // refresh. The existing cache coalesces overlapping reads and owns their\n // lifetime; hiding/unmounting stops new polling, not a shared in-flight read.\n const timer = window.setInterval(poll, isRunning ? 3_000 : 15_000);\n document.addEventListener('visibilitychange', poll);\n return () => {\n disposed = true;\n window.clearInterval(timer);\n document.removeEventListener('visibilitychange', poll);\n };\n }, [isRunning, refresh]);\n return (\n <div ref={containerRef} className={styles.view}>\n <header className={styles.header}>\n <div><h1>Ashlrverse</h1><p>Run experiments. Compare futures. Keep what earns its place.</p></div>\n <div className={styles.actions}>\n {overview && overview.universes.length > 1 ? (\n <label className={styles.selectLabel}>Universe<select value={universe?.manifest.id} onChange={(event) => setUniverseId(event.target.value)}>{overview.universes.map((item) => <option value={item.manifest.id} key={item.manifest.id}>{item.manifest.name}</option>)}</select></label>\n ) : null}\n <button type=\"button\" className={styles.refresh} onClick={refresh} disabled={query.status === 'loading' || query.status === 'refreshing'}>Refresh</button>\n </div>\n </header>\n <div className={styles.freshness} aria-live=\"polite\">\n {query.status === 'refreshing' ? <RefreshIndicator /> : null}\n {overview ? <span>Observed {timestamp(overview.sampledAt)}{query.status === 'error' ? ' · Last successful read' : ''}</span> : null}\n {overview ? <span>Local experiments</span> : null}\n <span>Refreshes every {isRunning ? '3' : '15'} seconds while visible</span>\n </div>\n {query.status === 'loading' ? <section className={styles.empty} aria-label=\"Loading Universe experiments\"><SkeletonLine width=\"60%\" /><SkeletonLine width=\"90%\" /><SkeletonLine width=\"80%\" /></section> : null}\n {query.status === 'error' ? <div className={styles.notice} role=\"alert\"><h2>Universe records unavailable</h2><p>{query.error?.message ?? 'The experiment store could not be read.'}</p><p>Refresh to retry. Any records below are from the last successful read.</p></div> : null}\n {overview?.sourceState === 'degraded' ? <div className={styles.notice} role=\"status\"><strong>Experiment history is incomplete.</strong><p>{overview.reasons.join('; ') || 'Some persisted records could not be verified.'}</p></div> : null}\n {universe ? <UniverseExperiment key={universe.manifest.id} summary={universe} campaigns={overview?.campaigns?.filter((item) => item.definition.universeId === universe.manifest.id) ?? []} deliveryReport={overview?.deliveryReports?.find((report) => report.universeId === universe.manifest.id)} /> : overview && overview.sourceState !== 'degraded' ? <FirstExperiment /> : null}\n </div>\n );\n}\n"],"mappings":"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"}