@openscout/scout 0.2.102 → 0.2.106

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 (605) hide show
  1. package/README.md +37 -0
  2. package/bin/scout.mjs +6 -0
  3. package/bin/scoutd +0 -0
  4. package/dist/build-manifest.json +4 -4
  5. package/dist/chat.mjs +307 -0
  6. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +1 -0
  7. package/dist/client/assets/{AddProjectForm-DfbjlFfy.js → AddProjectForm-CusDRiVO.js} +1 -1
  8. package/dist/client/assets/{AdventureEvidence-Dzz9VbuE.js → AdventureEvidence-CyegKk1V.js} +1 -1
  9. package/dist/client/assets/{AdventureReader-ClMxT0e4.js → AdventureReader-X-hbTOi0.js} +1 -1
  10. package/dist/client/assets/{AdventureScenery-D548O0x4.js → AdventureScenery-LPXSVP67.js} +1 -1
  11. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +1 -0
  12. package/dist/client/assets/AgentAvatar-CrP1eXxk.js +1 -0
  13. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +1 -0
  14. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +1 -0
  15. package/dist/client/assets/{AgentDetailCard-CFDE8TLi.js → AgentDetailCard-DtHT3sCo.js} +1 -1
  16. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +1 -0
  17. package/dist/client/assets/{AgentFloorWorld-BDJmXl3C.js → AgentFloorWorld-CjoIa6jA.js} +1 -1
  18. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +1 -0
  19. package/dist/client/assets/{AgentLaneCard-C6YmwPxQ.js → AgentLaneCard-BaZ2g-f8.js} +1 -1
  20. package/dist/client/assets/{AgentLaneChrome-D9uJ4QY7.js → AgentLaneChrome-TF1SlJSc.js} +1 -1
  21. package/dist/client/assets/{AgentLaneDetailSheet-KYckCBCX.js → AgentLaneDetailSheet-EzEPsn3g.js} +1 -1
  22. package/dist/client/assets/{AgentLaneSummaryResize-BBYBS3DO.js → AgentLaneSummaryResize-dpp7YvrX.js} +1 -1
  23. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +1 -0
  24. package/dist/client/assets/{AgentLanesPreflight-pw2vMO3Q.js → AgentLanesPreflight-Ry-aqDTr.js} +1 -1
  25. package/dist/client/assets/AgentLanesView-BJi9xXz6.js +2 -0
  26. package/dist/client/assets/{AgentLiveActions-lYzicnNa.js → AgentLiveActions-CfTupTEl.js} +1 -1
  27. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +1 -0
  28. package/dist/client/assets/AgentSessions-B1gOhDBf.js +6 -0
  29. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +1 -0
  30. package/dist/client/assets/AgentsScreen-ChwMBs11.js +1 -0
  31. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +1 -0
  32. package/dist/client/assets/{AstronautSuit-C-4I5YKi.js → AstronautSuit-Cchnc4Ug.js} +1 -1
  33. package/dist/client/assets/{AtopView-DKm-ERYC.js → AtopView-gkEp4y__.js} +1 -1
  34. package/dist/client/assets/{BackToPicker-Bys9ColC.js → BackToPicker-CUkjnoVk.js} +1 -1
  35. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +1 -0
  36. package/dist/client/assets/{BriefingsScreen-D4Zf31Y6.js → BriefingsScreen-B1HlBMGZ.js} +1 -1
  37. package/dist/client/assets/{BrokerMetadataPanel-1GoSl2BV.js → BrokerMetadataPanel-Dk242Yh_.js} +1 -1
  38. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +8 -0
  39. package/dist/client/assets/Canvas-X9pVSkw3.js +1 -0
  40. package/dist/client/assets/{CastPicker-BuwE_JQp.js → CastPicker-BXUtPAGC.js} +1 -1
  41. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +1 -0
  42. package/dist/client/assets/ChannelSidebar-e9DOPulb.js +1 -0
  43. package/dist/client/assets/{CharacterFamilyPreview-CfO3j8Of.js → CharacterFamilyPreview-DMfw7UM_.js} +1 -1
  44. package/dist/client/assets/ChatAvatar-C3a_o5Hj.js +1 -0
  45. package/dist/client/assets/ChatBits-CsvxbToF.js +1 -0
  46. package/dist/client/assets/{ChatCollapsedStrip-TV0j1xTB.js → ChatCollapsedStrip-FEmQ_G9J.js} +1 -1
  47. package/dist/client/assets/ChatRichInput-DhtwFxQE.js +31 -0
  48. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +1 -0
  49. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +1 -0
  50. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +1 -0
  51. package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +1 -0
  52. package/dist/client/assets/{CodeDiffPane-DB6-mqtX.js → CodeDiffPane-DuQRwpgK.js} +1 -1
  53. package/dist/client/assets/{CodeProjectPicker-B_LNLpIK.js → CodeProjectPicker-ZQ6gSBpg.js} +1 -1
  54. package/dist/client/assets/{CodeScreen-C9H160XS.js → CodeScreen-BXyKeL5T.js} +1 -1
  55. package/dist/client/assets/{CommsCanvas-DOKw3Q8i.js → CommsCanvas-THp0r_U8.js} +1 -1
  56. package/dist/client/assets/{CommsDeck-C18JA7rK.js → CommsDeck-BVmSMV2V.js} +1 -1
  57. package/dist/client/assets/{CommsFlowGraph-Czg-KTS0.js → CommsFlowGraph-DxoOaLF_.js} +1 -1
  58. package/dist/client/assets/{CommsFlowMap-CzBWvSa5.js → CommsFlowMap-Vi8ziCPg.js} +1 -1
  59. package/dist/client/assets/{CommsSelection-g1twA-Lb.js → CommsSelection-BUoRbu9o.js} +1 -1
  60. package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +1 -0
  61. package/dist/client/assets/ConversationComposer-CUQyArlk.js +1 -0
  62. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +1 -0
  63. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +1 -0
  64. package/dist/client/assets/{ConversationPanels-C9yCAoJy.js → ConversationPanels-D9oC0xG5.js} +2 -2
  65. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +1 -0
  66. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +2 -0
  67. package/dist/client/assets/ConversationStatus--IPm2nGh.js +1 -0
  68. package/dist/client/assets/{CrewAvatar-D0c9z5Qr.css → CrewAvatar-BnIPIn_Z.css} +1 -1
  69. package/dist/client/assets/CrewAvatar-kTznzqcO.js +1 -0
  70. package/dist/client/assets/{CrewSprite-hgpA3SWB.js → CrewSprite-Dhryjx2c.js} +1 -1
  71. package/dist/client/assets/CrewStage-vdO0qm3D.js +1 -0
  72. package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +1 -0
  73. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
  74. package/dist/client/assets/{DataTable-BMOZ1-z8.js → DataTable-aH-jCyDq.js} +1 -1
  75. package/dist/client/assets/{DispatchAftermath-DDlwqSCY.js → DispatchAftermath-66uQAorV.js} +1 -1
  76. package/dist/client/assets/{DocumentFocusViewer-f12RRQpV.js → DocumentFocusViewer-DJr0v0D_.js} +1 -1
  77. package/dist/client/assets/{EmbeddableSurfacesLab-DGl9EMRV.js → EmbeddableSurfacesLab-BBa70EhJ.js} +1 -1
  78. package/dist/client/assets/{EmptyState-uyYN5piI.js → EmptyState-CZlrHXy-.js} +1 -1
  79. package/dist/client/assets/{FileViewerPane-HtiDbj9N.js → FileViewerPane-BAO6mtjD.js} +1 -1
  80. package/dist/client/assets/FleetRollCallHud-C5q2567n.js +1 -0
  81. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +1 -0
  82. package/dist/client/assets/{FloorContextSheet-DV-SYA0K.js → FloorContextSheet-2_NVPQor.js} +1 -1
  83. package/dist/client/assets/{FloorExchangePanel-D59nvRCF.js → FloorExchangePanel-BU1pPu8K.js} +1 -1
  84. package/dist/client/assets/{FloorMessagePasses-BCwsz9VS.js → FloorMessagePasses-cLW2UGNP.js} +1 -1
  85. package/dist/client/assets/{FloorReplay-BHo79HCD.js → FloorReplay-VFzA6Kxc.js} +1 -1
  86. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +1 -0
  87. package/dist/client/assets/{FloorSavedWork-2tjBoy06.js → FloorSavedWork-BeHDejWz.js} +1 -1
  88. package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +1 -0
  89. package/dist/client/assets/{FollowScreen-eHXOlK-u.js → FollowScreen-CFfkIbc6.js} +1 -1
  90. package/dist/client/assets/HarnessMark-C4naWc16.js +1 -0
  91. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +1 -0
  92. package/dist/client/assets/{HerdrSession-CtJOUn7H.js → HerdrSession-_t7yM8vX.js} +2 -2
  93. package/dist/client/assets/{HomeHero-Cvwx2H0w.js → HomeHero-DouPyNmz.js} +1 -1
  94. package/dist/client/assets/{HostAdvisorView-CTJXIc1Q.js → HostAdvisorView-CnM1i8hW.js} +1 -1
  95. package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +1 -0
  96. package/dist/client/assets/InviteSheet-CwxZtWCl.js +1 -0
  97. package/dist/client/assets/JumpPalette-O1aJE9gR.js +1 -0
  98. package/dist/client/assets/{KnowledgeSearchInspector-DwGMVmFL.js → KnowledgeSearchInspector-32n9baT-.js} +1 -1
  99. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +1 -0
  100. package/dist/client/assets/{LaneToolHoverCard-C6YehJqD.js → LaneToolHoverCard-CJa110yk.js} +1 -1
  101. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +1 -0
  102. package/dist/client/assets/{LaneTraceEventFocus-WLNZZVi_.js → LaneTraceEventFocus-TbrNHRj_.js} +1 -1
  103. package/dist/client/assets/{MeshCanvas-FDDGE69h.js → MeshCanvas-DWZHYh1A.js} +2 -2
  104. package/dist/client/assets/{MeshCanvasMinimap-CGRzQCac.js → MeshCanvasMinimap-iswYFpIb.js} +1 -1
  105. package/dist/client/assets/MeshScreen-8nAzQVbm.js +1 -0
  106. package/dist/client/assets/{MeshTopologyView-C2Cv_2gx.js → MeshTopologyView-BVvtqI8q.js} +2 -2
  107. package/dist/client/assets/MessageEmbeds-ksPazAKH.js +1 -0
  108. package/dist/client/assets/MessagesScreen-C3WB4T21.js +1 -0
  109. package/dist/client/assets/{MissionContextRail-CVSZJnvX.js → MissionContextRail-D62-Wis8.js} +1 -1
  110. package/dist/client/assets/MissionControlView-B9cNPXvl.js +1 -0
  111. package/dist/client/assets/{MissionFocusOverlay-B9SiuO-i.js → MissionFocusOverlay-C1zys3Jv.js} +1 -1
  112. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +1 -0
  113. package/dist/client/assets/{MissionLogPane-CMBiI29U.js → MissionLogPane-B19lYSY9.js} +1 -1
  114. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +1 -0
  115. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +1 -0
  116. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +1 -0
  117. package/dist/client/assets/{NewAgentModal-Cl4nsGhu.js → NewAgentModal-Bh-L-emz.js} +1 -1
  118. package/dist/client/assets/NewChatComposer-C97-iTMK.js +19 -0
  119. package/dist/client/assets/{NewChatOrigin-CyPPWTJP.js → NewChatOrigin-DFbF_XvR.js} +1 -1
  120. package/dist/client/assets/{NodeDetailPanel-BUG8rOb-.js → NodeDetailPanel-CElOEpCh.js} +1 -1
  121. package/dist/client/assets/{NodeMenu-Fw8ATWQA.js → NodeMenu-B-jjHf1c.js} +1 -1
  122. package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +2 -0
  123. package/dist/client/assets/{ObserveTextFlow-ET0dD1wO.js → ObserveTextFlow-PFnG_10h.js} +2 -2
  124. package/dist/client/assets/{ObservedTopologyPanel-DkEkQzo-.js → ObservedTopologyPanel-CUTIoLZJ.js} +1 -1
  125. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +31 -0
  126. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +1 -0
  127. package/dist/client/assets/OpsScreen-jVcaBKGi.js +1 -0
  128. package/dist/client/assets/OpsSubnav-BOOYShHE.js +1 -0
  129. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +1 -0
  130. package/dist/client/assets/{ProjectAgentProfileBar-C1fR65Eh.js → ProjectAgentProfileBar-DHuMKJj-.js} +1 -1
  131. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +1 -0
  132. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +1 -0
  133. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +2 -0
  134. package/dist/client/assets/ProjectsRail-CDWocin_.js +1 -0
  135. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +1 -0
  136. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +1 -0
  137. package/dist/client/assets/Provider-C35yu29I.js +5 -0
  138. package/dist/client/assets/{RailRow-BYguXNm4.js → RailRow-BjmWK420.js} +1 -1
  139. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +1 -0
  140. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +16 -0
  141. package/dist/client/assets/{RenderedWorkerSprite-CvdWO32C.js → RenderedWorkerSprite-Dhlyg89J.js} +1 -1
  142. package/dist/client/assets/{ReplayClock-B7JLTp8A.js → ReplayClock-348f17bW.js} +1 -1
  143. package/dist/client/assets/{ReplayLog-DZTpf2CW.js → ReplayLog-CBnAM3ui.js} +1 -1
  144. package/dist/client/assets/{ReplayOutpost-CvWQa30T.js → ReplayOutpost-DyRPfNFx.js} +1 -1
  145. package/dist/client/assets/{RepoDiffEmbedScreen-Cbu0_PJW.js → RepoDiffEmbedScreen-BWxvRDrS.js} +1 -1
  146. package/dist/client/assets/{RepoDiffPageScreen-Chwm6GXL.js → RepoDiffPageScreen-DN94irmY.js} +1 -1
  147. package/dist/client/assets/{RepoDiffViewer-C2mb0Wj-.js → RepoDiffViewer-_4JVXBIW.js} +1 -1
  148. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +2 -0
  149. package/dist/client/assets/{ReposScreen-C7JZQmyh.js → ReposScreen-uMCpt0e9.js} +2 -2
  150. package/dist/client/assets/{RiggedWorkerCharacter-DNe731GE.js → RiggedWorkerCharacter-q6QRc7_o.js} +1 -1
  151. package/dist/client/assets/{SageModelStudio-BR1J2D4R.js → SageModelStudio-CNDhZhgD.js} +1 -1
  152. package/dist/client/assets/{ScoutDeckSurface-flRamdvE.js → ScoutDeckSurface-CUaU4R6T.js} +1 -1
  153. package/dist/client/assets/{ScoutSurface-BpklGmDL.js → ScoutSurface-3_25USO_.js} +1 -1
  154. package/dist/client/assets/{ScoutbotFxLab-DeK7ySWZ.js → ScoutbotFxLab-CRqhYe0a.js} +1 -1
  155. package/dist/client/assets/{SecondaryNav-BkTn5tkq.js → SecondaryNav-D7dbV2qo.js} +1 -1
  156. package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +1 -0
  157. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +1 -0
  158. package/dist/client/assets/{SessionEmbedScreen-CcQN6xlo.js → SessionEmbedScreen-D0zFmou-.js} +1 -1
  159. package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +1 -0
  160. package/dist/client/assets/{SessionObserve-BOBJSfs0.css → SessionObserve-CDdJ7fAE.css} +1 -1
  161. package/dist/client/assets/SessionObserve-DXxBvejJ.js +12 -0
  162. package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +1 -0
  163. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +1 -0
  164. package/dist/client/assets/SessionsScreen-BLIRkohT.js +1 -0
  165. package/dist/client/assets/SettingsDrawer-juCpnbH6.js +3 -0
  166. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +1 -0
  167. package/dist/client/assets/{SharedFloorCharacter-CSYG_t9t.js → SharedFloorCharacter-DNEiaOUh.js} +1 -1
  168. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +1 -0
  169. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +2 -0
  170. package/dist/client/assets/{ShikiPane-BudrOxNK.js → ShikiPane-CRtTYkMj.js} +1 -1
  171. package/dist/client/assets/{SlidePanel-Datu7XG4.js → SlidePanel-_CHAQdOa.js} +1 -1
  172. package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +1 -0
  173. package/dist/client/assets/{SpriteAvatar-BW1JzkDt.js → SpriteAvatar-CpZWf54-.js} +1 -1
  174. package/dist/client/assets/{SproutActionSprite-DveCzg6l.js → SproutActionSprite-BSiTS4en.js} +1 -1
  175. package/dist/client/assets/{StatusPill-MxYClPG5.js → StatusPill-2gCP6H7A.js} +1 -1
  176. package/dist/client/assets/{TailView-Dn7uWmPz.js → TailView-CYSijNTy.js} +2 -2
  177. package/dist/client/assets/Terminal-Bi97yb5s.js +4 -0
  178. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +1 -0
  179. package/dist/client/assets/{TerminalHeaderMount-DCGstkZ4.js → TerminalHeaderMount-Cq4OD_xN.js} +1 -1
  180. package/dist/client/assets/TerminalRelay-DrikpUSJ.js +46 -0
  181. package/dist/client/assets/{TextDocumentSurface-BhYvAB0o.js → TextDocumentSurface-D52m7Vd8.js} +1 -1
  182. package/dist/client/assets/{TmuxPeek-BhK0V9Qt.js → TmuxPeek-CXFeweMg.js} +1 -1
  183. package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +1 -0
  184. package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +1 -0
  185. package/dist/client/assets/{VoicePermissionsPanel-CecFWzva.js → VoicePermissionsPanel-Ok2nfxHw.js} +1 -1
  186. package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +8 -0
  187. package/dist/client/assets/VoiceTurnStage-edoJalLV.js +1 -0
  188. package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +1 -0
  189. package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +5 -0
  190. package/dist/client/assets/{WorkFilesViewer-DJHftsH9.js → WorkFilesViewer-vNt01sDd.js} +1 -1
  191. package/dist/client/assets/{WorkRunView-x5PH1byG.js → WorkRunView-BDkR7Edq.js} +1 -1
  192. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +1 -0
  193. package/dist/client/assets/{WorldCharacter-Dn4sIXNP.js → WorldCharacter-CIIlutQq.js} +1 -1
  194. package/dist/client/assets/WorldMinimap-B6HNgcDe.js +1 -0
  195. package/dist/client/assets/{WorldSky-DV9bpvXj.js → WorldSky-Jm2Z6dfW.js} +1 -1
  196. package/dist/client/assets/{activity-CSUhvjD0.js → activity-CIlFrfPJ.js} +1 -1
  197. package/dist/client/assets/{addon-fit-MR98IWES.js → addon-fit-dFpj9Kfq.js} +1 -1
  198. package/dist/client/assets/{addon-webgl-CIIKXrvK.js → addon-webgl-BFCGRtGh.js} +1 -1
  199. package/dist/client/assets/{agent-essentials-8t2il7PV.js → agent-essentials-BGGvT5G6.js} +1 -1
  200. package/dist/client/assets/{agent-floor-actor-3v9drnxh.js → agent-floor-actor-DW8zLht0.js} +1 -1
  201. package/dist/client/assets/{agent-lane-card-model-l0stnU9N.js → agent-lane-card-model-CeqQGp-8.js} +1 -1
  202. package/dist/client/assets/{agent-lane-detail-Db7KyAlf.js → agent-lane-detail-Ti3trpfH.js} +1 -1
  203. package/dist/client/assets/{agent-lane-preview-B8lsQJOQ.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
  204. package/dist/client/assets/{agent-lanes-model-CX0wTcnF.js → agent-lanes-model-DMAdqCmK.js} +1 -1
  205. package/dist/client/assets/{agent-master-model-C-KdOFDK.js → agent-master-model-Bk_yuUXJ.js} +1 -1
  206. package/dist/client/assets/{agent-specialization-CiVxQsFT.js → agent-specialization-DDc7mLCW.js} +1 -1
  207. package/dist/client/assets/agents-screen-BYakbO50.css +1 -0
  208. package/dist/client/assets/{api-B9_IqFKY.js → api-BQYTwoz6.js} +1 -1
  209. package/dist/client/assets/{api-CaROe5_H.js → api-DSqpVKC7.js} +1 -1
  210. package/dist/client/assets/{arc.es-BzhWalCl.js → arc.es-C1SQHJ3k.js} +1 -1
  211. package/dist/client/assets/{arrow-left-PuKdO3NM.js → arrow-left-MVUKauwQ.js} +1 -1
  212. package/dist/client/assets/{arrow-right-ldbfp4SZ.js → arrow-right-Bp-FpE5V.js} +1 -1
  213. package/dist/client/assets/{arrow-up-right-Hn754ybA.js → arrow-up-right-BPedAgxO.js} +1 -1
  214. package/dist/client/assets/{book-open-BlJnpf2U.js → book-open-CV98WMSp.js} +1 -1
  215. package/dist/client/assets/{bot-CfN9PSBF.js → bot-B4zLQ4IN.js} +1 -1
  216. package/dist/client/assets/{cache-DEy9E34b.js → cache-DGBo3vIf.js} +1 -1
  217. package/dist/client/assets/chat-api-DSJMBYoT.js +2 -0
  218. package/dist/client/assets/chat-message-markup-91DIry6R.js +1 -0
  219. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +4 -0
  220. package/dist/client/assets/chat-transport-DNS5CB2I.js +1 -0
  221. package/dist/client/assets/{check-B8dMv3Is.js → check-lrJ3a73a.js} +1 -1
  222. package/dist/client/assets/{chevron-down-B5eMsn5c.js → chevron-down-l1mrh5S9.js} +1 -1
  223. package/dist/client/assets/{chevron-right-C7UGFpkl.js → chevron-right-DrfqcerI.js} +1 -1
  224. package/dist/client/assets/{chevron-up-BHOEgHcn.js → chevron-up-CETZJzjV.js} +1 -1
  225. package/dist/client/assets/{chunk-HRAB3GC3-C5X-kFhb.js → chunk-HRAB3GC3-DbVLgbWX.js} +1 -1
  226. package/dist/client/assets/{clock-DFcRbtrl.js → clock-BV1aqPkK.js} +1 -1
  227. package/dist/client/assets/{code-xml-BmyLM0I2.js → code-xml-BhcNbLWU.js} +1 -1
  228. package/dist/client/assets/{coffee-C_D9zooM.js → coffee-D7EAOdCk.js} +1 -1
  229. package/dist/client/assets/{compass-DTZdCpv9.js → compass-63TUaz5_.js} +1 -1
  230. package/dist/client/assets/content-B1lgE8qr.js +1 -0
  231. package/dist/client/assets/content-B5l11YyQ.js +1 -0
  232. package/dist/client/assets/content-BNZOZEpX.js +1 -0
  233. package/dist/client/assets/content-BRIxP155.js +1 -0
  234. package/dist/client/assets/content-BWd8gt8L.js +1 -0
  235. package/dist/client/assets/content-BfwS2jAK.js +1 -0
  236. package/dist/client/assets/content-C4p43_eT.js +1 -0
  237. package/dist/client/assets/content-CdYfaoDV.js +1 -0
  238. package/dist/client/assets/content-CzldLxw0.js +1 -0
  239. package/dist/client/assets/content-D-olnc4U.js +1 -0
  240. package/dist/client/assets/content-DTioimq4.js +1 -0
  241. package/dist/client/assets/content-LOebm3_d.js +1 -0
  242. package/dist/client/assets/content-nGlEZhUI.js +1 -0
  243. package/dist/client/assets/content-oyzDM-LK.js +1 -0
  244. package/dist/client/assets/content-x1PHxED7.js +1 -0
  245. package/dist/client/assets/content-zX3ZY3T9.js +1 -0
  246. package/dist/client/assets/{context-budget-DemtXu7E.js → context-budget-8qFKqM-j.js} +1 -1
  247. package/dist/client/assets/{conversation-icons-BQ4OeOmr.js → conversation-icons-Tqba2d56.js} +1 -1
  248. package/dist/client/assets/conversation-model-FxDeWlle.js +1 -0
  249. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +1 -0
  250. package/dist/client/assets/conversations-DoAAO6kA.js +1 -0
  251. package/dist/client/assets/{copy-D9WUpQRf.js → copy-xKeM5ZtU.js} +1 -1
  252. package/dist/client/assets/{cpu-Ck_4tB_-.js → cpu-BOTa_WLr.js} +1 -1
  253. package/dist/client/assets/{createLucideIcon-DkjnzvcJ.js → createLucideIcon-zZ8Hx7er.js} +1 -1
  254. package/dist/client/assets/{credentials-C4VXz2hr.js → credentials-OeoF-VKJ.js} +1 -1
  255. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +1 -0
  256. package/dist/client/assets/direct-voice-BbLPuJ04.js +2 -0
  257. package/dist/client/assets/direct-voice-DbO7CSv_.css +1 -0
  258. package/dist/client/assets/discover-DJFxyV1k.js +2 -0
  259. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +2 -0
  260. package/dist/client/assets/{external-link-RT4Ph-6-.js → external-link-CUObqmgX.js} +1 -1
  261. package/dist/client/assets/{eye-CtqSV8BS.js → eye-LrO-cXQt.js} +1 -1
  262. package/dist/client/assets/{file-code-corner-D_Aptal2.js → file-code-corner-CsU7jJpu.js} +1 -1
  263. package/dist/client/assets/{file-text-ChtICwub.js → file-text-CnISiiw6.js} +1 -1
  264. package/dist/client/assets/{flag-CqdOxVkI.js → flag-C4wl8z2-.js} +1 -1
  265. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +1 -0
  266. package/dist/client/assets/{floor-context-model-DZBpo_oD.js → floor-context-model-rWKqaKmV.js} +1 -1
  267. package/dist/client/assets/{floor-message-passes-CJh9f8Jp.js → floor-message-passes-CO3Ix_wR.js} +1 -1
  268. package/dist/client/assets/{folder-0fWevPvQ.js → folder-D5prSkzz.js} +1 -1
  269. package/dist/client/assets/{gauge-Dgtfxf_o.js → gauge-D9_5iJEm.js} +1 -1
  270. package/dist/client/assets/{gestures-BDCZ1FRG.js → gestures-QZub3Ot9.js} +1 -1
  271. package/dist/client/assets/{git-branch-CA3cHKCI.js → git-branch-B0_fPLO7.js} +1 -1
  272. package/dist/client/assets/{go-shortcuts-DKtw4qYx.js → go-shortcuts-DicR7sUf.js} +1 -1
  273. package/dist/client/assets/home-moving-signal-rpMhsOJB.js +1 -0
  274. package/dist/client/assets/home-now-card-ByE6Umcx.js +1 -0
  275. package/dist/client/assets/{home-now-card-nano-D1ScGrgv.js → home-now-card-nano-B5Dv3-pb.js} +1 -1
  276. package/dist/client/assets/hooks-_eCZZPsR.js +2 -0
  277. package/dist/client/assets/index-724SdE6r.js +1 -0
  278. package/dist/client/assets/{index-CvsM3jm8.js → index-CHD0qcfL.js} +1 -1
  279. package/dist/client/assets/index-CN4rBB_s.css +1 -0
  280. package/dist/client/assets/index-D1d98iYf.js +1 -0
  281. package/dist/client/assets/index-EsrkGBcv.js +10 -0
  282. package/dist/client/assets/index-gGHPA-By.js +1 -0
  283. package/dist/client/assets/{inspector-panel-BLhDODb3.js → inspector-panel-BkgUDn6G.js} +2 -2
  284. package/dist/client/assets/{keyboard-nav-CXfav14z.js → keyboard-nav-DDHegDbx.js} +1 -1
  285. package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
  286. package/dist/client/assets/{lane-observe-BD21P8BB.js → lane-observe-CteDwdD-.js} +3 -3
  287. package/dist/client/assets/{lane-roster-store-DzNHP392.js → lane-roster-store-D-RSWjb-.js} +1 -1
  288. package/dist/client/assets/{layers-Bolb8ejU.js → layers-C8PDiMul.js} +1 -1
  289. package/dist/client/assets/{layout-grid-DI9tVJ2E.js → layout-grid-Cor2frzj.js} +1 -1
  290. package/dist/client/assets/left-Bn5X7x2o.js +2 -0
  291. package/dist/client/assets/left-BqS0fYX1.js +1 -0
  292. package/dist/client/assets/left-CTCeeeD3.js +1 -0
  293. package/dist/client/assets/left-DhtVPVux.js +1 -0
  294. package/dist/client/assets/left-K39b-Wvx.js +2 -0
  295. package/dist/client/assets/left-KGmueNPt.js +1 -0
  296. package/dist/client/assets/left-P_GOYB-s.js +1 -0
  297. package/dist/client/assets/left-advisor-B0N47De2.js +1 -0
  298. package/dist/client/assets/left-agents-CsSNc51Y.js +1 -0
  299. package/dist/client/assets/left-default-BlO5LP2T.js +1 -0
  300. package/dist/client/assets/left-lanes-C4PhaJE6.js +1 -0
  301. package/dist/client/assets/left-mission-BjTE5vPa.js +1 -0
  302. package/dist/client/assets/library-CkWNPHRp.js +1 -0
  303. package/dist/client/assets/{loader-circle-DurUYl7E.js → loader-circle-OvccU82H.js} +1 -1
  304. package/dist/client/assets/{local-agents-D9fYYRyj.js → local-agents-BqnoxJrq.js} +1 -1
  305. package/dist/client/assets/log-in-7SnYqW5w.js +1 -0
  306. package/dist/client/assets/{machine-children-RGS4Q0r6.js → machine-children-DxcqCLmd.js} +1 -1
  307. package/dist/client/assets/media-blobs-Bi8pxr1u.js +1 -0
  308. package/dist/client/assets/{mentions-Ctw1ECUC.js → mentions-ByUvhS-v.js} +1 -1
  309. package/dist/client/assets/{mesh-ops-CGpRk4ik.js → mesh-ops-CiZ8xSAx.js} +1 -1
  310. package/dist/client/assets/{mesh-view-store-CliSYsmt.js → mesh-view-store-DZvJC4KU.js} +1 -1
  311. package/dist/client/assets/{message-circle-CSiJj6yo.js → message-circle-CxRVKNE-.js} +1 -1
  312. package/dist/client/assets/message-markup-BQW5jdJw.js +15 -0
  313. package/dist/client/assets/message-markup-Zwo3t4cI.js +1 -0
  314. package/dist/client/assets/{message-square-NmXWtWLR.js → message-square-BxesYglW.js} +1 -1
  315. package/dist/client/assets/mission-control-model-BpJHDV5D.js +1 -0
  316. package/dist/client/assets/{mission-control-store-DZ29Mlj1.js → mission-control-store-elEEsIvb.js} +1 -1
  317. package/dist/client/assets/{mission-wall-DOuGOxQy.js → mission-wall-CAo4BKfa.js} +1 -1
  318. package/dist/client/assets/monitor-DTTYEb73.js +1 -0
  319. package/dist/client/assets/{nav-destinations-CyXnw9kh.js → nav-destinations-uorRqFxf.js} +1 -1
  320. package/dist/client/assets/{observe-CkfOxYx_.js → observe-BJqERJVj.js} +1 -1
  321. package/dist/client/assets/{operator-attention-DGR4kOog.js → operator-attention-DBaRg5ep.js} +1 -1
  322. package/dist/client/assets/{page-status-CkS3SZu-.js → page-status-BswZLqvA.js} +1 -1
  323. package/dist/client/assets/{panel-right-BNTJhy8M.js → panel-right-Bv7sP_fc.js} +1 -1
  324. package/dist/client/assets/paperclip-BjcuP_Hx.js +1 -0
  325. package/dist/client/assets/{pause-DWS7YGQ3.js → pause-C2XTlkjs.js} +1 -1
  326. package/dist/client/assets/{persistent-state-xsuk6Kc-.js → persistent-state-KRk_yb0q.js} +1 -1
  327. package/dist/client/assets/{pin-DWlD1BOF.js → pin-C2mFOV1l.js} +1 -1
  328. package/dist/client/assets/{play-D_Pggug4.js → play-FT6K3It1.js} +1 -1
  329. package/dist/client/assets/{plus-D_wLGJGT.js → plus-DFDDeGKu.js} +1 -1
  330. package/dist/client/assets/profile-DTmzN16I.js +1 -0
  331. package/dist/client/assets/{projects-inbox-DvbqJO3q.js → projects-inbox-C0FUCv_p.js} +1 -1
  332. package/dist/client/assets/projects-inbox-ColX6lpx.css +1 -0
  333. package/dist/client/assets/provider-Dojd8quC.js +1 -0
  334. package/dist/client/assets/{proxy-DOG46ja4.js → proxy-AJsmwA6h.js} +1 -1
  335. package/dist/client/assets/{radio-C_jtwbFP.js → radio-DRoOZsws.js} +1 -1
  336. package/dist/client/assets/{refresh-cw-Da9DDLk2.js → refresh-cw-BmVr7sCD.js} +1 -1
  337. package/dist/client/assets/resolve-panes-pbY1fCWi.js +1 -0
  338. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +1 -0
  339. package/dist/client/assets/right-49kO-6nD.js +1 -0
  340. package/dist/client/assets/right-APtItA8A.js +1 -0
  341. package/dist/client/assets/right-BJwhPqtn.js +1 -0
  342. package/dist/client/assets/right-BPqrf4ek.js +1 -0
  343. package/dist/client/assets/right-D7djOy6K.js +1 -0
  344. package/dist/client/assets/right-DKOUCRob.js +1 -0
  345. package/dist/client/assets/right-DMNrVzg7.js +1 -0
  346. package/dist/client/assets/{right-BLJsc2-p.js → right-DWPVB-nK.js} +1 -1
  347. package/dist/client/assets/right-DppeMCy4.js +1 -0
  348. package/dist/client/assets/right-GAL5Mw1v.js +1 -0
  349. package/dist/client/assets/{rocket-DyrYDo8V.js → rocket-CGl4RTV7.js} +1 -1
  350. package/dist/client/assets/router-DCtl8wqb.js +1 -0
  351. package/dist/client/assets/runtime-picker-DXu2bOTh.js +1 -0
  352. package/dist/client/assets/{scope-views-B7PZGlhY.js → scope-views-RUWwCVAr.js} +1 -1
  353. package/dist/client/assets/scout-voice-CZx60X6E.js +1 -0
  354. package/dist/client/assets/{scoutbot-markdown-Bz0Vbto2.js → scoutbot-markdown-BKEBSbG0.js} +1 -1
  355. package/dist/client/assets/{scroll-text-DwC8r2g6.js → scroll-text-DNjxhyO2.js} +1 -1
  356. package/dist/client/assets/{search-C4VlW_0l.js → search-DT42oyRW.js} +1 -1
  357. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +1 -0
  358. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +1 -0
  359. package/dist/client/assets/{selection-bridge-B5jqyMR9.js → selection-bridge-x3wFUjxj.js} +1 -1
  360. package/dist/client/assets/{send-horizontal-pOtGI7FM.js → send-horizontal-CH0-fbZE.js} +1 -1
  361. package/dist/client/assets/{send-to-agent-session-BZGq_ycy.js → send-to-agent-session-DoKCDBJ4.js} +1 -1
  362. package/dist/client/assets/{server-ms1yxUYJ.js → server-QfsgMLk1.js} +1 -1
  363. package/dist/client/assets/{session-catalog-s-T_w41t.js → session-catalog-CvSdPHPe.js} +1 -1
  364. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +1 -0
  365. package/dist/client/assets/session-recap-queue-41l2XVkI.js +1 -0
  366. package/dist/client/assets/{session-table-CDx_16xf.js → session-table-L-pns6Zl.js} +1 -1
  367. package/dist/client/assets/{sessions-view-DzYGsKWS.js → sessions-view-Dc-QAa7O.js} +1 -1
  368. package/dist/client/assets/{settings-TJIkkZ0P.js → settings-BVh7kldq.js} +1 -1
  369. package/dist/client/assets/{shared-work-artifacts-4IIQXQfc.js → shared-work-artifacts-DfNl9KTo.js} +1 -1
  370. package/dist/client/assets/{sliders-horizontal-CHf3ntw0.js → sliders-horizontal-782VC_yy.js} +1 -1
  371. package/dist/client/assets/{sparkles-BbOFw3d0.js → sparkles-BjHq_DNK.js} +1 -1
  372. package/dist/client/assets/{sse-v5QLsOHV.js → sse-BCPRocpq.js} +1 -1
  373. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +1 -0
  374. package/dist/client/assets/{tail-events-DQ46QBW1.js → tail-events-d0yAYxR0.js} +1 -1
  375. package/dist/client/assets/{terminal-96JWDYDL.js → terminal-hQKQygcf.js} +1 -1
  376. package/dist/client/assets/{terminal-relay-Bfx8pg80.js → terminal-relay-Bxs1hp-j.js} +1 -1
  377. package/dist/client/assets/{terminal-sessions-Ch9aYlgi.js → terminal-sessions-3RfJpen8.js} +1 -1
  378. package/dist/client/assets/{terminal-takeover-BlpxpvSp.js → terminal-takeover-Ay5C2c-M.js} +1 -1
  379. package/dist/client/assets/theme-vars-DNK0nn3k.js +1 -0
  380. package/dist/client/assets/triangle-alert-CHoRGdVO.js +1 -0
  381. package/dist/client/assets/use-beside-DoRC1nt0.js +1 -0
  382. package/dist/client/assets/{use-conversation-list-A_YUf8lo.js → use-conversation-list-CY4JciOV.js} +1 -1
  383. package/dist/client/assets/{use-fleet-active-asks-DFs_u-vM.js → use-fleet-active-asks-CymmXWH4.js} +1 -1
  384. package/dist/client/assets/{use-mesh-node-state-Ck9CYplv.js → use-mesh-node-state-BvaqtODo.js} +1 -1
  385. package/dist/client/assets/{use-mesh-ops-items-Be1WmwCg.js → use-mesh-ops-items-BSYaqH_0.js} +1 -1
  386. package/dist/client/assets/{use-reduced-motion-D7n3vK8t.js → use-reduced-motion-3gMYZNIp.js} +1 -1
  387. package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +1 -0
  388. package/dist/client/assets/{useAgentHoverCard-Dr-OjNFF.js → useAgentHoverCard-BANmpjMh.js} +1 -1
  389. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +1 -0
  390. package/dist/client/assets/{useEmbedHeadline-BL8wQawZ.js → useEmbedHeadline-D6pJRxUg.js} +1 -1
  391. package/dist/client/assets/usePersistentState-B8lP7TRb.js +1 -0
  392. package/dist/client/assets/{usePierreRuntime-DJkRHMoe.js → usePierreRuntime-BAQdiN0L.js} +1 -1
  393. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +1 -0
  394. package/dist/client/assets/users-BUjx36gx.js +1 -0
  395. package/dist/client/assets/voice-paths-CJUuBPh3.css +1 -0
  396. package/dist/client/assets/voice-turn-DftA0iIb.css +1 -0
  397. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +1 -0
  398. package/dist/client/assets/{wrench-BsMTSeji.js → wrench-DR0i5BU7.js} +1 -1
  399. package/dist/client/assets/{x-DI1ktCYb.js → x-DAehov0E.js} +1 -1
  400. package/dist/client/assets/{xterm-B1YBE4Gq.js → xterm-BXQiLVnI.js} +1 -1
  401. package/dist/client/assets/{zap-sKPkh4sQ.js → zap-CEjZNZbI.js} +1 -1
  402. package/dist/client/crew/sheets/eye-plate-v1/look-down-left.webp +0 -0
  403. package/dist/client/crew/sheets/eye-plate-v1/look-down-right.webp +0 -0
  404. package/dist/client/crew/sheets/eye-plate-v1/look-down.webp +0 -0
  405. package/dist/client/crew/sheets/eye-plate-v1/look-up-left.webp +0 -0
  406. package/dist/client/crew/sheets/eye-plate-v1/look-up-right.webp +0 -0
  407. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  408. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  409. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  410. package/dist/client/crew/sheets/sprout/look-down-left.webp +0 -0
  411. package/dist/client/crew/sheets/sprout/look-down-right.webp +0 -0
  412. package/dist/client/crew/sheets/sprout/look-down.webp +0 -0
  413. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  414. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  415. package/dist/client/crew/sheets/sprout/look-up-left.webp +0 -0
  416. package/dist/client/crew/sheets/sprout/look-up-right.webp +0 -0
  417. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  418. package/dist/client/index.html +15 -3
  419. package/dist/drizzle/0019_session_actor_targets.sql +227 -0
  420. package/dist/drizzle/0020_message_reactions.sql +11 -0
  421. package/dist/drizzle/README.md +19 -0
  422. package/dist/drizzle/meta/_journal.json +14 -0
  423. package/dist/highlights-eq9cgrbb.scm +604 -0
  424. package/dist/highlights-ghv9g403.scm +205 -0
  425. package/dist/highlights-hk7bwhj4.scm +284 -0
  426. package/dist/highlights-r812a2qc.scm +150 -0
  427. package/dist/highlights-x6tmsnaa.scm +115 -0
  428. package/dist/injections-73j83es3.scm +27 -0
  429. package/dist/main.mjs +1721 -837
  430. package/dist/node/main.mjs +264 -39
  431. package/dist/pairing-runtime-controller.mjs +1090 -570
  432. package/dist/runtime/base-daemon.mjs +14272 -61
  433. package/dist/runtime/broker-daemon.mjs +16999 -1243
  434. package/dist/runtime/broker-process-manager.mjs +101 -6
  435. package/dist/runtime/mesh-discover.mjs +101 -6
  436. package/dist/scout-control-plane-web.mjs +27057 -6178
  437. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  438. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  439. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  440. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  441. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  442. package/dist/update-helper.mjs +294 -56
  443. package/package.json +2 -2
  444. package/dist/client/assets/ActivityScreen-DCALiEXY.js +0 -1
  445. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +0 -1
  446. package/dist/client/assets/AgentAvatar-BIwg54Tj.js +0 -1
  447. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +0 -1
  448. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +0 -1
  449. package/dist/client/assets/AgentFloorView-l2wNKFob.js +0 -1
  450. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +0 -1
  451. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +0 -1
  452. package/dist/client/assets/AgentLanesView-aAyC7lHf.js +0 -2
  453. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +0 -1
  454. package/dist/client/assets/AgentSessions-Cox2zS-e.js +0 -6
  455. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +0 -1
  456. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +0 -1
  457. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +0 -1
  458. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +0 -1
  459. package/dist/client/assets/BrokerScreen-CejzhRsB.js +0 -8
  460. package/dist/client/assets/ConversationComposer-B7RU6LKd.js +0 -1
  461. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +0 -1
  462. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +0 -1
  463. package/dist/client/assets/ConversationScreen-Brfas2y0.css +0 -1
  464. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +0 -2
  465. package/dist/client/assets/ConversationStatus-CK-YfLpi.js +0 -1
  466. package/dist/client/assets/CrewAvatar-CJhuqTsJ.js +0 -1
  467. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +0 -1
  468. package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
  469. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +0 -1
  470. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +0 -1
  471. package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +0 -1
  472. package/dist/client/assets/HarnessMark-Bt47OeHy.js +0 -1
  473. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +0 -1
  474. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +0 -1
  475. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +0 -1
  476. package/dist/client/assets/MeshScreen-DlfiMlaR.js +0 -1
  477. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +0 -1
  478. package/dist/client/assets/MissionControlView-DpGhxG4a.js +0 -1
  479. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +0 -1
  480. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +0 -1
  481. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +0 -1
  482. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +0 -1
  483. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +0 -19
  484. package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +0 -2
  485. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +0 -22
  486. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +0 -1
  487. package/dist/client/assets/OpsScreen-DJq-aBmX.js +0 -1
  488. package/dist/client/assets/OpsSubnav-9sURjajO.js +0 -1
  489. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +0 -1
  490. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +0 -1
  491. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +0 -2
  492. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +0 -1
  493. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +0 -1
  494. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +0 -1
  495. package/dist/client/assets/Provider-5Hotn7NQ.js +0 -5
  496. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +0 -1
  497. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +0 -1
  498. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +0 -2
  499. package/dist/client/assets/SessionObserve-DaqDhqDI.js +0 -12
  500. package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +0 -1
  501. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +0 -1
  502. package/dist/client/assets/SessionsScreen-R8QKvoey.js +0 -1
  503. package/dist/client/assets/SettingsDrawer-BDapR4E9.js +0 -3
  504. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +0 -1
  505. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +0 -1
  506. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +0 -2
  507. package/dist/client/assets/Terminal-D-DsQlmV.js +0 -4
  508. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +0 -1
  509. package/dist/client/assets/WorkDetailScreen-CwtRCm_-.js +0 -5
  510. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +0 -1
  511. package/dist/client/assets/WorldMinimap-Blqg0d5r.js +0 -1
  512. package/dist/client/assets/agent-autocomplete-C7xwIcwd.css +0 -1
  513. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +0 -10
  514. package/dist/client/assets/agents-screen-BMu6PpRY.css +0 -1
  515. package/dist/client/assets/arrow-down-WoVlkUmg.js +0 -1
  516. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +0 -46
  517. package/dist/client/assets/chunk-T65CQEWV-CSVUz2rY.js +0 -1
  518. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +0 -2
  519. package/dist/client/assets/content-B5Q4pb9R.js +0 -1
  520. package/dist/client/assets/content-BK1IfOZs.js +0 -1
  521. package/dist/client/assets/content-BeEsWLEm.js +0 -1
  522. package/dist/client/assets/content-BkOwEknW.js +0 -1
  523. package/dist/client/assets/content-C32W5kAG.js +0 -1
  524. package/dist/client/assets/content-CoqyLs9v.js +0 -1
  525. package/dist/client/assets/content-CwpdIS5b.js +0 -1
  526. package/dist/client/assets/content-DS2OkJ3Q.js +0 -1
  527. package/dist/client/assets/content-DXKaPDfn.js +0 -1
  528. package/dist/client/assets/content-DZt5-dkI.js +0 -1
  529. package/dist/client/assets/content-DbQJH8L1.js +0 -1
  530. package/dist/client/assets/content-DetoiaHq.js +0 -1
  531. package/dist/client/assets/content-Dhu3wL7J.js +0 -1
  532. package/dist/client/assets/content-Dpv34iZu.js +0 -1
  533. package/dist/client/assets/content-TtQJb61D.js +0 -1
  534. package/dist/client/assets/content-ymNb2R7g.js +0 -1
  535. package/dist/client/assets/conversation-model-BGFHoxQ0.js +0 -1
  536. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +0 -1
  537. package/dist/client/assets/conversations-Cbg9h_Af.js +0 -1
  538. package/dist/client/assets/ctx-panel-F05jXK4Q.css +0 -1
  539. package/dist/client/assets/discover-C8IOY7_K.js +0 -2
  540. package/dist/client/assets/embed-entry-CG3CfCbm.js +0 -2
  541. package/dist/client/assets/home-moving-signal-B7m-ngb2.js +0 -1
  542. package/dist/client/assets/home-now-card-DduXkHRR.js +0 -1
  543. package/dist/client/assets/hooks-C6VyQTQe.js +0 -2
  544. package/dist/client/assets/index-C5cX8dkl.js +0 -1
  545. package/dist/client/assets/index-C8uS5szO.js +0 -10
  546. package/dist/client/assets/index-Ck1__1yL.css +0 -1
  547. package/dist/client/assets/index-ClOOrVG1.js +0 -1
  548. package/dist/client/assets/index-Crtgfc9I.js +0 -1
  549. package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
  550. package/dist/client/assets/left-B-_z_nqj.js +0 -2
  551. package/dist/client/assets/left-B1LY7rJc.js +0 -1
  552. package/dist/client/assets/left-C6bdjWcG.js +0 -2
  553. package/dist/client/assets/left-CF4iuqlz.js +0 -1
  554. package/dist/client/assets/left-DLtNyZl1.js +0 -1
  555. package/dist/client/assets/left-Fpxoq-VY.js +0 -1
  556. package/dist/client/assets/left-N2wXfTlp.js +0 -1
  557. package/dist/client/assets/left-advisor-CeIjCKbd.js +0 -1
  558. package/dist/client/assets/left-agents-upjHVlOj.js +0 -1
  559. package/dist/client/assets/left-default-08gmdCtb.js +0 -1
  560. package/dist/client/assets/left-lanes-Cvsp73Hw.js +0 -1
  561. package/dist/client/assets/left-mission-W1LLaz74.js +0 -1
  562. package/dist/client/assets/library-DLKBVUJ6.js +0 -1
  563. package/dist/client/assets/message-markup-DgFSyb3f.js +0 -15
  564. package/dist/client/assets/mission-control-model-C30vU1Fe.js +0 -1
  565. package/dist/client/assets/profile-C3KgiZvc.js +0 -1
  566. package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
  567. package/dist/client/assets/resolve-panes-DuowGRTk.js +0 -1
  568. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +0 -1
  569. package/dist/client/assets/right-B9OUA6Ho.js +0 -1
  570. package/dist/client/assets/right-BDQnjetX.js +0 -1
  571. package/dist/client/assets/right-BUbKHmRH.js +0 -1
  572. package/dist/client/assets/right-Ci2IcD4s.js +0 -1
  573. package/dist/client/assets/right-CmCce3e5.js +0 -1
  574. package/dist/client/assets/right-D7w0zM5a.js +0 -1
  575. package/dist/client/assets/right-DIoON_bv.js +0 -1
  576. package/dist/client/assets/right-E0Jr3VN5.js +0 -1
  577. package/dist/client/assets/right-lCdAk9dW.js +0 -1
  578. package/dist/client/assets/router-BKiMcYa7.js +0 -1
  579. package/dist/client/assets/runtime-picker-DdsttHHc.js +0 -1
  580. package/dist/client/assets/scout-voice-DOQ_B77g.js +0 -1
  581. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +0 -1
  582. package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
  583. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +0 -1
  584. package/dist/client/assets/use-beside-Df-F2Uvg.js +0 -1
  585. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +0 -1
  586. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +0 -1
  587. package/dist/drizzle/meta/0000_snapshot.json +0 -4575
  588. package/dist/drizzle/meta/0001_snapshot.json +0 -4624
  589. package/dist/drizzle/meta/0002_snapshot.json +0 -4631
  590. package/dist/drizzle/meta/0003_snapshot.json +0 -4952
  591. package/dist/drizzle/meta/0004_snapshot.json +0 -5235
  592. package/dist/drizzle/meta/0005_snapshot.json +0 -5599
  593. package/dist/drizzle/meta/0006_snapshot.json +0 -5606
  594. package/dist/drizzle/meta/0007_snapshot.json +0 -5767
  595. package/dist/drizzle/meta/0008_snapshot.json +0 -5774
  596. package/dist/drizzle/meta/0009_snapshot.json +0 -6262
  597. package/dist/drizzle/meta/0010_snapshot.json +0 -6286
  598. package/dist/drizzle/meta/0011_snapshot.json +0 -6337
  599. package/dist/drizzle/meta/0012_snapshot.json +0 -6458
  600. package/dist/drizzle/meta/0013_snapshot.json +0 -6465
  601. package/dist/drizzle/meta/0014_snapshot.json +0 -6503
  602. package/dist/drizzle/meta/0015_snapshot.json +0 -6596
  603. package/dist/drizzle/meta/0016_snapshot.json +0 -6611
  604. package/dist/drizzle/meta/0017_snapshot.json +0 -6785
  605. package/dist/drizzle/meta/0018_snapshot.json +0 -6804
@@ -1 +0,0 @@
1
- import{j as t}from"./index-C8uS5szO.js";import{u as h}from"./Provider-5Hotn7NQ.js";import{o as j}from"./openAgent-Dbv5wfuL.js";import{n as v,i as u,c as d}from"./agent-state-DDhnFEEP.js";import{A as b}from"./AgentAvatar-BIwg54Tj.js";import{t as g}from"./time-Dhsh_2EG.js";import"./router-BKiMcYa7.js";import"./api-CaROe5_H.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Ch9aYlgi.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-v5QLsOHV.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-JjLbm3W2.js";import"./runtime-picker-DdsttHHc.js";import"./scout-voice-DOQ_B77g.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DurUYl7E.js";import"./createLucideIcon-DkjnzvcJ.js";import"./conversation-model-BGFHoxQ0.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-C5cX8dkl.js";import"./HarnessMark-Bt47OeHy.js";import"./NewChatOrigin-CyPPWTJP.js";import"./keyboard-nav-CXfav14z.js";import"./x-DI1ktCYb.js";import"./chevron-down-B5eMsn5c.js";import"./search-C4VlW_0l.js";import"./file-text-ChtICwub.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-f12RRQpV.js";import"./TextDocumentSurface-BhYvAB0o.js";import"./index-CvsM3jm8.js";import"./chevron-right-C7UGFpkl.js";import"./folder-0fWevPvQ.js";import"./chevron-up-BHOEgHcn.js";import"./code-xml-BmyLM0I2.js";import"./arrow-left-PuKdO3NM.js";import"./arrow-right-ldbfp4SZ.js";import"./chunk-HRAB3GC3-C5X-kFhb.js";import"./openContent-C6XO6kr5.js";import"./SpriteAvatar-BW1JzkDt.js";import"./CrewAvatar-CJhuqTsJ.js";function dt(){const{agents:r,agentsLoaded:s,apiConnection:o,navigate:a,route:f}=h(),n=e=>j(a,e,{returnTo:f});if(!s)return t.jsx("div",{className:"flex h-full flex-col justify-center","aria-busy":"true",children:t.jsxs("div",{className:"base-rail-loading",role:"status","aria-label":"Loading agent roster",children:[t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"})]})});if(r.length===0)return t.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-4 text-center font-mono text-sm leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[t.jsx("div",{className:"mb-1 uppercase tracking-[0.15em]",children:o.status==="offline"?"Roster unavailable":"No agents"}),t.jsx("div",{children:o.status==="offline"?o.message:"Connect an agent to see your roster here."})]});const i=r.filter(e=>{const x=v(e.state,e);return x==="in_turn"||x==="in_flight"}),l=r.filter(e=>u(e.state,e)&&!i.includes(e)),m=r.filter(e=>!u(e.state,e));return t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[i.length>0&&t.jsx(c,{label:"In progress",count:i.length,children:i.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e)},e.id))}),l.length>0&&t.jsx(c,{label:"Callable",count:l.length,children:l.map(e=>t.jsx(p,{agent:e,onOpen:n},e.id))}),m.length>0&&t.jsx(c,{label:"Blocked",count:m.length,children:m.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e),dim:!0},e.id))})]})}function c({label:r,count:s,children:o}){return t.jsxs("div",{className:"flex flex-col",children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-1.5",children:[t.jsx("span",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),t.jsx("span",{className:"text-2xs font-mono tabular-nums text-[var(--scout-chrome-ink-ghost)]",children:s})]}),t.jsx("div",{className:"flex flex-col gap-0.5",children:o})]})}function p({agent:r,onOpen:s,subLabel:o,dim:a}){return t.jsxs("button",{onClick:()=>s(r),className:`group flex items-center gap-2.5 px-2 py-1.5 rounded-sm text-left transition-colors ${a?"opacity-60 hover:opacity-100 hover:bg-[var(--scout-chrome-hover)]":"hover:bg-[var(--scout-chrome-hover)]"}`,children:[t.jsx(b,{agent:r,placement:"row"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"truncate font-medium text-[var(--scout-chrome-ink)]",children:r.name}),o?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:o}):r.updatedAt?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-ghost)]",children:g(r.updatedAt)}):null]})]})}export{dt as HomeRight};
@@ -1 +0,0 @@
1
- import{r as u,j as e}from"./index-C8uS5szO.js";import{u as j}from"./Provider-5Hotn7NQ.js";import{o as b}from"./openContent-C6XO6kr5.js";import{a as N}from"./api-CaROe5_H.js";import{u as w}from"./sse-v5QLsOHV.js";import{t as g,b as p}from"./time-Dhsh_2EG.js";import{C as y}from"./chevron-down-B5eMsn5c.js";import{C as I}from"./chevron-right-C7UGFpkl.js";import{M as C}from"./message-square-NmXWtWLR.js";import"./router-BKiMcYa7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Ch9aYlgi.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-JjLbm3W2.js";import"./runtime-picker-DdsttHHc.js";import"./scout-voice-DOQ_B77g.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DurUYl7E.js";import"./createLucideIcon-DkjnzvcJ.js";import"./conversation-model-BGFHoxQ0.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-C5cX8dkl.js";import"./HarnessMark-Bt47OeHy.js";import"./NewChatOrigin-CyPPWTJP.js";import"./keyboard-nav-CXfav14z.js";import"./x-DI1ktCYb.js";import"./search-C4VlW_0l.js";import"./file-text-ChtICwub.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-f12RRQpV.js";import"./TextDocumentSurface-BhYvAB0o.js";import"./index-CvsM3jm8.js";import"./folder-0fWevPvQ.js";import"./chevron-up-BHOEgHcn.js";import"./code-xml-BmyLM0I2.js";import"./arrow-left-PuKdO3NM.js";import"./arrow-right-ldbfp4SZ.js";import"./chunk-HRAB3GC3-C5X-kFhb.js";import"./index-BWHgHrtv.js";const M=5;function ye(){const{route:t,navigate:s}=j(),a=t.view==="work"?t.workId:null,[r,o]=u.useState(null),i=u.useCallback(async()=>{if(!a){o(null);return}try{o(await N(`/api/work/${encodeURIComponent(a)}`))}catch{o(null)}},[a]);if(u.useEffect(()=>{i()},[i]),w(()=>{a&&i()}),t.view!=="work")return null;if(!r)return e.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-sm font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-ghost)]",children:"Loading work item…"});const d=O(r.state),m=T(r.attention),f=r.ownerName??r.ownerId??"Unassigned",l=r.nextMoveOwnerName??r.nextMoveOwnerId??null,h=l!==null&&(r.ownerId??null)!==(r.nextMoveOwnerId??null)&&l!==f,k=1+(h?1:0)+(r.priority?1:0)+2+(r.parentId?1:0)+(r.conversationId?1:0);return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar text-sm",children:[e.jsx("div",{className:"sticky top-0 z-10 border-b border-[var(--scout-chrome-border-soft)] bg-black/55 px-4 py-2 backdrop-blur",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${d.dot}`}),e.jsx("span",{className:`font-mono text-xs uppercase tracking-[0.15em] ${d.text}`,children:L(r.state)}),e.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:[e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:f}),h&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"px-1 text-[var(--scout-chrome-ink-ghost)]",children:"→"}),e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:l})]})]}),m&&e.jsx("span",{className:"shrink-0 rounded border border-amber-400/30 bg-amber-400/10 px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-amber-300/90",children:m})]})}),e.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[e.jsxs(c,{label:"Case facts",children:[e.jsx(n,{label:"Phase",value:r.currentPhase}),e.jsx(n,{label:"Acceptance",value:r.acceptanceState.replace(/_/g," ")}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority})]}),e.jsx(c,{label:"Timeline",children:r.timeline.length===0?e.jsx("div",{className:"text-xs text-[var(--scout-chrome-ink-faint)]",children:"No activity yet."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:r.timeline.slice(0,M).map(x=>e.jsx(W,{item:x,onOpen:x.conversationId?()=>b(s,{view:"conversation",conversationId:x.conversationId},{returnTo:t}):void 0},x.id))})}),e.jsxs(c,{label:"Routing",collapsible:!0,defaultOpen:!1,count:k,children:[e.jsx(n,{label:"Owner",value:f}),h&&l&&e.jsx(n,{label:"Next move",value:l}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority}),e.jsx(n,{label:"Children",value:`${r.activeChildWorkCount}`}),e.jsx(n,{label:"Flights",value:`${r.activeFlightCount}`}),r.lastMeaningfulAt&&e.jsx(n,{label:"Last update",value:g(r.lastMeaningfulAt)}),(r.conversationId||r.parentId)&&e.jsxs("div",{className:"mt-2 flex flex-col gap-1.5",children:[r.conversationId&&e.jsx(v,{label:"Open thread",onClick:()=>b(s,{view:"conversation",conversationId:r.conversationId},{returnTo:t})}),r.parentId&&r.parentTitle&&e.jsx(v,{label:r.parentTitle,eyebrow:"Parent",onClick:()=>b(s,{view:"work",workId:r.parentId},{returnTo:t})})]})]}),e.jsxs(c,{label:"Record",collapsible:!0,defaultOpen:!1,children:[e.jsx(n,{label:"Case ID",value:r.id}),e.jsx(n,{label:"Created",value:p(r.createdAt)}),e.jsx(n,{label:"Updated",value:p(r.updatedAt)}),e.jsx(n,{label:"Last activity",value:p(r.lastMeaningfulAt)})]}),r.lastMeaningfulSummary&&e.jsxs(c,{label:"Hudson context",collapsible:!0,defaultOpen:!1,children:[e.jsx("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:r.lastMeaningfulSummary}),e.jsxs("div",{className:"mt-2 flex gap-1.5",children:[e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Plan"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Docs"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Code"})]})]})]})]})}function L(t){switch(t){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return t.replace(/_/g," ")}}function T(t){switch(t){case"badge":return"Noteworthy";case"interrupt":return"Blocked";default:return null}}function O(t){return/complete|done|finished/i.test(t)?{dot:"bg-emerald-400",text:"text-emerald-300/90"}:/fail|error/i.test(t)?{dot:"bg-red-400",text:"text-red-300/90"}:/block|wait|pause/i.test(t)?{dot:"bg-amber-400",text:"text-amber-300/90"}:/active|working|in[_-]?progress/i.test(t)?{dot:"bg-cyan-400",text:"text-cyan-300/90"}:{dot:"bg-[var(--scout-chrome-ink-faint)]",text:"text-[var(--scout-chrome-ink)]"}}function c({label:t,children:s,collapsible:a=!1,defaultOpen:r=!0,count:o}){const[i,d]=u.useState(r);return a?e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("button",{type:"button",onClick:()=>d(m=>!m),className:"flex items-center gap-1.5 text-left text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--scout-chrome-ink)]",children:[i?e.jsx(y,{"aria-hidden":"true",size:10,strokeWidth:2}):e.jsx(I,{"aria-hidden":"true",size:10,strokeWidth:2}),e.jsx("span",{children:t}),typeof o=="number"&&o>0&&e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0 font-mono text-3xs tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:o})]}),i&&e.jsx("div",{className:"mt-1.5",children:s})]}):e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),s]})}function v({label:t,eyebrow:s,onClick:a}){return e.jsxs("button",{type:"button",onClick:a,className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-white/[0.025] px-2 py-1.5 text-left hover:border-cyan-400/25 hover:bg-cyan-400/10",children:[e.jsxs("span",{className:"min-w-0",children:[s&&e.jsx("span",{className:"block font-mono text-2xs uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:s}),e.jsx("span",{className:"block truncate font-mono text-xs text-[var(--scout-chrome-ink)]",children:t})]}),e.jsx(C,{"aria-hidden":"true",size:11,strokeWidth:1.8,className:"shrink-0 text-cyan-300/75"})]})}function W({item:t,onOpen:s}){const a=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:`mt-1 h-1.5 w-1.5 shrink-0 rounded-full ${A(t)}`}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsxs("span",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(t.at)}),e.jsx("span",{className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:_(t)})]}),e.jsx("span",{className:"mt-0.5 block truncate text-xs font-semibold text-[var(--scout-chrome-ink-strong)]",children:t.actorName??"system"}),t.title&&e.jsx("span",{className:"mt-0.5 block truncate text-xs leading-snug text-[var(--scout-chrome-ink)]",children:t.title}),t.summary&&e.jsx("span",{className:"mt-0.5 block text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden"},children:t.summary})]})]}),r="flex gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-1.5 first:border-t-0 first:pt-0",o=p(t.at);return s?e.jsx("button",{type:"button",onClick:s,title:o,className:`${r} text-left hover:text-cyan-300/90`,children:a}):e.jsx("div",{className:r,title:o,children:a})}function _(t){switch(t.kind){case"flight_started":return"flight started";case"flight_completed":return t.detailKind?`flight ${t.detailKind}`:"flight ended";case"message":return"message";default:return t.title??t.detailKind??"event"}}function A(t){return t.kind==="message"?"bg-cyan-400":t.kind==="flight_started"?"bg-lime-400":t.kind==="flight_completed"?t.detailKind?.includes("fail")?"bg-red-400":"bg-emerald-400":t.detailKind?.includes("interrupt")||t.detailKind?.includes("block")?"bg-amber-400":"bg-[var(--scout-chrome-ink-faint)]"}function n({label:t,value:s}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:s})]})}export{ye as WorkInspector};
@@ -1 +0,0 @@
1
- import{r as y,j as e}from"./index-C8uS5szO.js";import{a as O}from"./api-CaROe5_H.js";import{a as r,t as f}from"./time-Dhsh_2EG.js";import{u as M,j as R}from"./mesh-ops-CGpRk4ik.js";import{u as L}from"./mesh-view-store-CliSYsmt.js";import{u as H}from"./Provider-5Hotn7NQ.js";/* empty css */import"./router-BKiMcYa7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Ch9aYlgi.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-v5QLsOHV.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-JjLbm3W2.js";import"./runtime-picker-DdsttHHc.js";import"./scout-voice-DOQ_B77g.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DurUYl7E.js";import"./createLucideIcon-DkjnzvcJ.js";import"./conversation-model-BGFHoxQ0.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-C5cX8dkl.js";import"./HarnessMark-Bt47OeHy.js";import"./NewChatOrigin-CyPPWTJP.js";import"./keyboard-nav-CXfav14z.js";import"./x-DI1ktCYb.js";import"./chevron-down-B5eMsn5c.js";import"./search-C4VlW_0l.js";import"./file-text-ChtICwub.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-f12RRQpV.js";import"./TextDocumentSurface-BhYvAB0o.js";import"./index-CvsM3jm8.js";import"./chevron-right-C7UGFpkl.js";import"./folder-0fWevPvQ.js";import"./chevron-up-BHOEgHcn.js";import"./code-xml-BmyLM0I2.js";import"./arrow-left-PuKdO3NM.js";import"./arrow-right-ldbfp4SZ.js";import"./chunk-HRAB3GC3-C5X-kFhb.js";function E(o){return o.state==="waiting"&&o.nextMoveOwnerId==="operator"&&o.waitingOn?.label==="Held by operator"}function t({label:o,value:c}){return c?e.jsxs("div",{className:"mesh-ops-detail-row",children:[e.jsx("span",{className:"mesh-ops-detail-label",children:o}),e.jsx("span",{className:"mesh-ops-detail-value",children:c})]}):null}function $e(){const{navigate:o}=H(),{items:c,hosts:h,selectedItemId:w,lab:A}=M(),{meshSnapshot:p}=L(),[i,x]=y.useState(null),[v,j]=y.useState(null),s=c.find(l=>l.id===w)??null,u=async l=>{if(!(!s||i)){x(l),j(null);try{await O(`/api/mesh-ops/items/${encodeURIComponent(s.id)}/${l}`,{method:"POST",body:"{}"}),R()}catch(d){j(d instanceof Error?d.message:String(d))}finally{x(null)}}};if(!s){const l=new Map;for(const n of c)n.hostNodeId&&l.set(n.hostNodeId,(l.get(n.hostNodeId)??0)+1);const d=p?.localNode?.id??null;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Mesh"}),h.map(n=>e.jsx(t,{label:n.nodeId===d?"this host":"peer",value:`${n.label} · ${l.get(n.nodeId)??0} items${n.liveSessionCount>0?` · ${n.liveSessionCount} live`:""}`},n.nodeId)),h.length===0&&e.jsx("div",{className:"ctx-panel-empty",children:"No hosts yet."})]}),e.jsx("div",{className:"ctx-panel-section",children:e.jsx("p",{className:"mesh-ops-inspector-note",children:"Select an item to inspect it. Counts are items attributed to each host; the map stays in the mesh screen."})})]})}if(s.kind==="session"&&s.session){const l=s.session;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"mesh-ops-inspector-header",children:[e.jsx("div",{className:"mesh-ops-inspector-title",children:s.title}),e.jsxs("div",{className:"mesh-ops-inspector-summary",children:[l.live?`Live ${l.harness} session`:l.endedAt!==null?`Ended ${l.harness} session`:`Lost ${l.harness} session — no end marker, last seen ${r(l.lastSeenAt)}`,l.alias?` · ${l.alias}`:""]})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Session"}),e.jsx(t,{label:"harness",value:l.harness}),e.jsx(t,{label:"state",value:l.endedAt!==null?"ended":l.state}),e.jsx(t,{label:"agent",value:s.ownerId}),e.jsx(t,{label:"started",value:l.startedAt!==null?r(l.startedAt):null}),e.jsx(t,{label:"last seen",value:r(l.lastSeenAt)}),e.jsx(t,{label:"ended",value:l.endedAt!==null?r(l.endedAt):null})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Venue"}),e.jsx(t,{label:"host",value:s.hostLabel}),e.jsx(t,{label:"project",value:s.projectRoot}),e.jsx(t,{label:"cwd",value:l.cwd})]})]})}const S=E(s),I=s.state==="done"||s.state==="cancelled",$=s.state==="open"||s.state==="working",C=S,m=s.state==="review",a=s.latestFlight,k=a!==null&&(a.state==="running"||a.state==="queued"),b=p?.localNode?.hostName?.split(".")[0]??p?.localNode?.name??"here",N=s.hostLabel??"unattributed",g=N===b||s.hostNodeId===null;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"mesh-ops-inspector-header",children:[e.jsx("div",{className:"mesh-ops-inspector-title",children:s.title}),s.summary&&e.jsx("div",{className:"mesh-ops-inspector-summary",children:s.summary})]}),A.routeStrip&&e.jsx("div",{className:"mesh-ops-routestrip","aria-hidden":!0,children:e.jsxs("svg",{viewBox:"0 0 260 40",className:"mesh-ops-routestrip-svg",children:[e.jsx("line",{x1:"24",y1:"18",x2:"236",y2:"18",className:`mesh-ops-routestrip-line${k&&!g?" mesh-ops-routestrip-line--moving":""}`}),e.jsx("rect",{x:"14",y:"12",width:"12",height:"12",rx:"2",className:"mesh-ops-routestrip-node"}),e.jsx("rect",{x:"234",y:"12",width:"12",height:"12",rx:"2",className:"mesh-ops-routestrip-node"}),e.jsx("text",{x:"20",y:"36",textAnchor:"middle",className:"mesh-ops-routestrip-label",children:b}),e.jsx("text",{x:"246",y:"36",textAnchor:"end",className:"mesh-ops-routestrip-label",children:g?"(same host)":N})]})}),!I&&e.jsxs("div",{className:"mesh-ops-actions",children:[C?e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u("release")},children:i==="release"?"Releasing…":"Release"}):$?e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u("hold")},children:i==="hold"?"Holding…":"Hold"}):null,(s.state==="review"||s.attention!=="silent")&&e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u(m?"accept":"clear")},title:m?"Accept this work item":"Dismiss this item from the attention queue",children:i==="accept"||i==="clear"?m?"Accepting…":"Clearing…":m?"Accept":"Clear"}),e.jsx("button",{type:"button",className:"mesh-ops-button",onClick:()=>o({view:"work",workId:s.id}),title:"Open the full work item",children:"Open item"})]}),v&&e.jsx("div",{className:"ctx-panel-empty","data-tone":"error",children:v}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"State"}),e.jsx(t,{label:"phase",value:s.currentPhase}),e.jsx(t,{label:"state",value:s.state}),e.jsx(t,{label:"attention",value:s.attention==="silent"?null:s.attention}),e.jsx(t,{label:"waiting on",value:s.waitingOn?.label??null}),e.jsx(t,{label:"acceptance",value:s.acceptanceState==="none"?null:s.acceptanceState}),e.jsx(t,{label:"priority",value:s.priority}),e.jsx(t,{label:"labels",value:s.labels.length>0?s.labels.join(", "):null})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Venue"}),e.jsx(t,{label:"owner",value:s.ownerName??s.ownerId}),e.jsx(t,{label:"host",value:s.hostLabel??(s.hostNodeId?s.hostNodeId:null)}),e.jsx(t,{label:"project",value:s.projectRoot})]}),a&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Latest flight"}),e.jsx(t,{label:"state",value:a.state}),e.jsx(t,{label:"summary",value:a.summary}),e.jsx(t,{label:"started",value:a.startedAt!==null?r(a.startedAt):null}),e.jsx(t,{label:"completed",value:a.completedAt!==null?r(a.completedAt):null}),s.activeFlightCount>0&&e.jsx(t,{label:"active",value:`${s.activeFlightCount} in flight`})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Activity"}),e.jsx(t,{label:"last",value:s.lastMeaningfulSummary}),e.jsx(t,{label:"updated",value:`${f(s.updatedAt)} · created ${f(s.createdAt)}`})]})]})}export{$e as MeshOpsInspector};
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./index-C8uS5szO.js";import{u as P}from"./Provider-5Hotn7NQ.js";import{a as g}from"./api-CaROe5_H.js";import{u as A}from"./sse-v5QLsOHV.js";import{t as b}from"./time-Dhsh_2EG.js";import{o as k}from"./openContent-C6XO6kr5.js";import"./router-BKiMcYa7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Ch9aYlgi.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-JjLbm3W2.js";import"./runtime-picker-DdsttHHc.js";import"./scout-voice-DOQ_B77g.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DurUYl7E.js";import"./createLucideIcon-DkjnzvcJ.js";import"./conversation-model-BGFHoxQ0.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-C5cX8dkl.js";import"./HarnessMark-Bt47OeHy.js";import"./NewChatOrigin-CyPPWTJP.js";import"./keyboard-nav-CXfav14z.js";import"./x-DI1ktCYb.js";import"./chevron-down-B5eMsn5c.js";import"./search-C4VlW_0l.js";import"./file-text-ChtICwub.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-f12RRQpV.js";import"./TextDocumentSurface-BhYvAB0o.js";import"./index-CvsM3jm8.js";import"./chevron-right-C7UGFpkl.js";import"./folder-0fWevPvQ.js";import"./chevron-up-BHOEgHcn.js";import"./code-xml-BmyLM0I2.js";import"./arrow-left-PuKdO3NM.js";import"./arrow-right-ldbfp4SZ.js";import"./chunk-HRAB3GC3-C5X-kFhb.js";import"./index-BWHgHrtv.js";function f(t){const r=t.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return r[r.length-1]??t}function N(t){const n=t?.trim();if(!n)return null;const r=f(n);return r.endsWith(".jsonl")?r.slice(0,-6):r}function C(t){return t.workspaceRoot?f(t.workspaceRoot):t.agentName??"unassigned"}function L(t){return t.harness?.trim()||t.kind?.trim()||"scout"}function w(t){return t.project?.trim()||(t.cwd?f(t.cwd):null)||"unknown"}function y(t,n=4){const r=new Map;for(const c of t){const a=c.trim()||"unknown";r.set(a,(r.get(a)??0)+1)}return[...r.entries()].map(([c,a])=>({label:c,count:a})).sort((c,a)=>a.count-c.count||c.label.localeCompare(a.label)).slice(0,n)}function Ne(){const{route:t,navigate:n}=P(),[r,c]=l.useState([]),[a,h]=l.useState(null),x=l.useCallback(async()=>{const[u,d]=await Promise.allSettled([g("/api/sessions"),g("/api/tail/discover")]);u.status==="fulfilled"&&c(u.value),d.status==="fulfilled"&&h(d.value)},[]);if(l.useEffect(()=>{x()},[x]),A(()=>{x()}),t.view!=="sessions")return null;const s=t.sessionId?r.find(u=>u.id===t.sessionId)??null:null;return s?e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[e.jsx("div",{className:"text-lg leading-snug text-[var(--scout-chrome-ink-strong)]",children:s.title}),e.jsx("div",{className:"text-xs font-mono uppercase tracking-wider text-cyan-400/70 mt-1",children:s.kind})]}),s.agentName&&e.jsxs(m,{label:"Agent",children:[e.jsx(p,{label:"Name",value:s.agentName}),s.harness&&e.jsx(p,{label:"Harness",value:s.harness})]}),(s.currentBranch||s.workspaceRoot)&&e.jsxs(m,{label:"Workspace",children:[s.currentBranch&&e.jsx(p,{label:"Branch",value:s.currentBranch}),s.workspaceRoot&&e.jsx(p,{label:"Root",value:s.workspaceRoot})]}),e.jsxs(m,{label:"Activity",children:[e.jsx(p,{label:"Messages",value:`${s.messageCount}`}),s.lastMessageAt&&e.jsx(p,{label:"Last",value:b(s.lastMessageAt)}),(s.participantCount??s.participantIds.length)>0&&e.jsx(p,{label:"Participants",value:`${s.participantCount??s.participantIds.length}`})]}),s.preview&&e.jsx(m,{label:"Preview",children:e.jsxs("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:['"',s.preview,'"']})})]}):e.jsx($,{sessions:r,discovery:a,navigate:n,route:t})}function $({sessions:t,discovery:n,navigate:r,route:c}){const a=n?.transcripts??[],h=l.useMemo(()=>y([...t.map(L),...a.map(o=>o.source||"unknown")],5),[t,a]),x=l.useMemo(()=>y([...t.map(C),...a.map(w)],5),[t,a]),s=l.useMemo(()=>a.slice().sort((o,i)=>i.mtimeMs-o.mtimeMs).slice(0,5),[a]),u=l.useMemo(()=>t.filter(o=>o.lastMessageAt).slice().sort((o,i)=>(i.lastMessageAt??0)-(o.lastMessageAt??0)).slice(0,5),[t]),d=n?.processes?.length??0,S=n?.totals.transcripts??a.length,R=d>0?"Live harness activity":"Quiet session surface";return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5",children:[e.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:"Sessions context"}),e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(v,{label:"Scout",value:`${t.length}`}),e.jsx(v,{label:"Raw",value:`${S}`}),e.jsx(v,{label:"Live",value:`${d}`})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-2 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{children:R}),e.jsxs("span",{children:[h.length," sources"]})]})]}),e.jsx(m,{label:"Sources",children:e.jsx(M,{items:h,empty:"No sources visible"})}),e.jsx(m,{label:"Project mix",children:e.jsx(M,{items:x,empty:"No projects visible"})}),e.jsx(m,{label:"Recent raw",children:s.length===0?e.jsx(j,{children:"No raw transcripts discovered."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:s.map(o=>{const i=N(o.sessionId)??N(o.transcriptPath);return e.jsxs("button",{type:"button",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5 text-left transition-colors hover:border-[var(--scout-chrome-border)]",onClick:()=>{i&&k(r,{view:"sessions",sessionId:i},{returnTo:c})},disabled:!i,children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-bg)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:o.source||"raw"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:w(o)}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:b(o.mtimeMs)})]}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:i??f(o.transcriptPath)})]},`${o.source}:${o.transcriptPath}`)})})}),e.jsx(m,{label:"Recent Scout sessions",children:u.length===0?e.jsx(j,{children:"No recent Scout session messages."}):e.jsx("div",{className:"flex flex-col gap-1",children:u.map(o=>e.jsxs("button",{type:"button",className:"flex items-center gap-2 bg-transparent px-0 py-0.5 text-left",onClick:()=>k(r,{view:"sessions",sessionId:o.id},{returnTo:c}),children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink-soft)]",children:o.title}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:o.lastMessageAt?b(o.lastMessageAt):"-"})]},o.id))})})]})}function v({label:t,value:n}){return e.jsxs("div",{className:"min-w-0 rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-bg)] px-1.5 py-1",children:[e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:n})]})}function M({items:t,empty:n}){return t.length===0?e.jsx(j,{children:n}):e.jsx("div",{className:"flex flex-wrap gap-1",children:t.map(r=>e.jsxs("span",{className:"rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 font-mono text-xs text-[var(--scout-chrome-ink-soft)]",title:`${r.count} ${r.label}`,children:[r.label," ",r.count]},r.label))})}function j({children:t}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:t})}function m({label:t,children:n}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),n]})}function p({label:t,value:n}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:n})]})}export{Ne as SessionsInspector};
@@ -1 +0,0 @@
1
- import{r as L,j as Nt,O as ce,P as Mt,Q as Me,R as Be,B as Bt,T as zt,D as T,E as w,U as Wt,V as J,W as Kt,X as Gt}from"./index-C8uS5szO.js";import{b as Vt}from"./api-CaROe5_H.js";import{n as ue}from"./synthetic-agent-routing-aduMYO7P.js";import{g as Ht,h as ze,j as Yt,k as qt}from"./terminal-sessions-Ch9aYlgi.js";var We=["local","url","sharedConfig","env"];function Ke(e){const t=Qt(e),n=e.audienceIncludes??Xt(e.audienceOrder),s=new Set;function o(a){!e.warnOnUnknown||s.has(a)||(s.add(a),typeof console<"u"&&typeof console.warn=="function"&&console.warn(`[hudsonkit/flags] Unknown feature flag "${a}" resolved false.`))}const r=e.registry;function i(a){const u=r[a];if(!u)return o(a),{key:a,enabled:!1,value:!1,layer:"default",audience:t,reason:"unknown-flag"};const d=Zt(e.layers,a);return d?{key:a,enabled:d.value,value:d.value,layer:d.layer,audience:t,requiredTier:u.tier,reason:"override",definition:u}:u.defaultEnabled?u.tier&&!n(t,u.tier)?{key:a,enabled:!1,value:!1,layer:"default",audience:t,requiredTier:u.tier,reason:"audience-denied",definition:u}:{key:a,enabled:!0,value:!0,layer:"default",audience:t,requiredTier:u.tier,reason:"default",definition:u}:{key:a,enabled:!1,value:!1,layer:"default",audience:t,requiredTier:u.tier,reason:"default",definition:u}}return{registry:e.registry,isEnabled:a=>i(String(a)).enabled,explain:a=>i(String(a)),all:()=>Object.keys(e.registry).sort().map(i),audience:()=>t}}function Qt(e){let t=e.audience.tier;for(const n of We.slice().reverse()){const s=e.layers?.[n]?.audience;s&&(t=s)}return{...e.audience,tier:t}}function Xt(e){return(t,n)=>{if(t.tier===n)return!0;if(!e||e.length===0)return!1;const s=e.indexOf(t.tier),o=e.indexOf(n);return s<0||o<0?!1:s>=o}}function Zt(e,t){for(const n of We){const s=Jt(e?.[n]?.flags?.[t]);if(s!==null)return{layer:n,value:s}}return null}function Jt(e){return e===!0||e==="on"?!0:e===!1||e==="off"?!1:null}function en(e){if(e===!0||e===!1)return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e!="string")return;const t=e.trim().toLowerCase();if(["1","true","on","yes","enabled","enable"].includes(t))return!0;if(["0","false","off","no","disabled","disable"].includes(t))return!1;if(["default","null","unset","clear"].includes(t))return"default"}function tn(e,t={}){const n=t.paramPrefix??"ff.",s=t.audienceParam??"ffAudience",o=typeof e=="string"?new URL(e,"http://hudson.local"):e,r={};let i;for(const[a,u]of o.searchParams.entries()){if(a===s&&u.trim()&&(i=u.trim()),!a.startsWith(n))continue;const d=a.slice(n.length),f=en(u);d&&f!==void 0&&(r[d]=f)}return{flags:r,audience:i}}var O=1;function Ge(e){if(typeof window>"u")return{version:O};try{const t=window.localStorage?.getItem(e);return nn(t)}catch{return{version:O}}}function q(e,t){if(typeof window>"u")return;const n=Ve(t),s=JSON.stringify(n);try{window.localStorage?.setItem(e,s)}catch{}sn(e,s)}function nn(e){if(!e)return{version:O};try{const t=JSON.parse(e);return!t||typeof t!="object"?{version:O}:Ve(t)}catch{return{version:O}}}function Ve(e){const t={version:O};if(e.audience&&(t.audience=e.audience),e.flags&&typeof e.flags=="object"){t.flags={};for(const[n,s]of Object.entries(e.flags))(s===!0||s===!1)&&(t.flags[n]=s);Object.keys(t.flags).length===0&&delete t.flags}return t}function sn(e,t){if(!(typeof document>"u"))try{const n=encodeURIComponent(t);document.cookie=`${encodeURIComponent(e)}=${n}; Path=/; SameSite=Lax; Max-Age=31536000`}catch{}}var on="hudson.flags",He=L.createContext(null);function Ms({registry:e,audience:t,audienceOrder:n,audienceIncludes:s,initialLayers:o,storageKey:r=on,warnOnUnknown:i=!1,children:a}){const[u,d]=L.useState(()=>{const g=o?.local;return{version:1,audience:g?.audience??void 0,flags:rn(g)}});L.useEffect(()=>{const g=Ge(r);(g.audience||Object.keys(g.flags??{}).length>0)&&d(g)},[r]);const f=L.useMemo(()=>({...o,local:{...o?.local,audience:u.audience??o?.local?.audience,flags:{...o?.local?.flags??{},...u.flags??{}}}}),[o,u]),I=L.useMemo(()=>Ke({registry:e,audience:t,audienceOrder:n,audienceIncludes:s,layers:f,warnOnUnknown:i}),[e,t,n,s,f,i]),R=L.useMemo(()=>({...I,layers:f,storageKey:r,setLocalOverride:(g,h)=>{d(P=>{const U={...P.flags??{}};h===null?delete U[g]:U[g]=h;const _={...P,version:1,flags:U};return q(r,_),_})},setLocalAudienceOverride:g=>{d(h=>{const P={...h,version:1,audience:g??void 0};return q(r,P),P})},resetLocalOverrides:()=>{const g={version:1};q(r,g),d(g)}}),[I,f,r]);return Nt.jsx(He.Provider,{value:R,children:a})}function Ye(){return L.useContext(He)}function Bs(){const e=Ye();if(!e)throw new Error("useFeatureFlags must be used within FeatureFlagsProvider");return e}function zs(e,t=!0){return Ye()?.isEnabled(e)??t}function rn(e){if(!e?.flags)return;const t={};for(const[n,s]of Object.entries(e.flags))(s===!0||s===!1)&&(t[n]=s);return Object.keys(t).length>0?t:void 0}const an=["ops.control","ops.mesh","ops.runtime","ops.plans","ops.terminal"],cn=["surface.search","surface.sessions","surface.briefings","surface.work","surface.activity","surface.follow","surface.scoutbot","surface.workflows"];function Ee(e,t){return Object.fromEntries(e.map(n=>[n,t]))}const qe={label:"Surface · Scope",description:`Scope presentation on Scout infra — lean lanes/tail/sessions/agents at ${Mt}/*.`,defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface","scope","observability"]},un={...qe,label:"Surface · Scope (legacy alias)",description:`Legacy alias for ${ce}. Prefer the primary flag; ${Me} remains for old dev links.`},Ws=ce;function ln(){return{audience:"everyone",flags:{"ops.control":!0,"ops.lanes":!0,...Ee(an,!1),...Ee(cn,!1)}}}const Qe=["ffBundle","ffVariant","scoutBundle","scoutExperience","ab"],Xe=["ffGlobal","scoutGlobalBundle"],Ze=["ffPersist","persistBundle"],dn=new Set(["no-ops","ffAudience",...Qe,...Xe,...Ze]);function Ks(e){for(const t of[...e.searchParams.keys()])(dn.has(t)||t.startsWith("ff."))&&e.searchParams.delete(t);return e}const fn=["everyone","internal","power"],mn="openscout.flags",ee="openscout.flagBundle",pn={tier:"power"},$e=["ops.control","ops.mesh","ops.runtime","ops.plans","ops.terminal","ops.lanes"],Re=["surface.search","surface.sessions","surface.briefings","surface.work","surface.activity","surface.follow","surface.mesh-ops","surface.scoutbot","surface.workflows"],gn={"nav.sidebar":{label:"Nav · Sidebar",description:"Classic sidebar chrome (8 primary areas + icon rail). Default on since sco-083 soak; opt out with ?ff.nav.sidebar=off. Not included in max-pro.",defaultEnabled:!0,tier:"everyone",owner:"scout-web",tags:["nav","chrome"]},"ops.control":{label:"Ops · Control",description:"Mission control, issues, and the Ops section shell.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops","nav"]},"ops.mesh":{label:"Ops · Network",description:"Mesh topology and peer status.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops"]},"ops.runtime":{label:"Ops · Runtime",description:"Runtime / atop process telemetry.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops"]},"ops.plans":{label:"Ops · Plans",description:"Plan documents and plan-mode review.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops"]},"ops.terminal":{label:"Ops · Terminal",description:"Observe / takeover terminal sessions.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops"]},"ops.lanes":{label:"Ops · Agent Lanes",description:"One column per local agent — follow live harness work in power-user mode.",defaultEnabled:!0,tier:"power",owner:"scout-web",tags:["ops"]},"surface.search":{label:"Surface · Search",description:"Knowledge + indexer search as a top-level nav entry.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface","nav"]},"surface.sessions":{label:"Surface · Sessions",description:"Standalone top-level Sessions entry (still reachable under Agents).",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface","nav"]},"surface.briefings":{label:"Surface · Briefings",description:"Briefings list + detail.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface"]},"surface.work":{label:"Surface · Work",description:"Work item detail.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface"]},"surface.activity":{label:"Surface · Activity",description:"Activity stream.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface"]},"surface.follow":{label:"Surface · Follow",description:"Follow view.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface"]},"surface.mesh-ops":{label:"Surface · Mesh Ops",description:"Mesh Ops — work-item triage over the mesh (hosts rail, item list, inspector).",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface","ops"]},"surface.scoutbot":{label:"Surface · Scoutbot",description:"Scoutbot assistant — the inspector panel, the status-bar broadcast chip, and the Message-Scout command-palette actions.",defaultEnabled:!0,tier:"everyone",owner:"scout-web",tags:["surface","assistant"]},"surface.realtime-voice":{label:"Surface · Realtime voice",description:"Live WebRTC voice conversations with Scoutbot through OpenAI Realtime. Operator enablement lives in Settings → Voice; this flag is a build-level kill switch.",defaultEnabled:!0,tier:"everyone",owner:"scout-web",tags:["surface","assistant","voice"]},"surface.workflows":{label:"Surface · Workflows",description:"Observed harness families / workflow topology telemetry on the Agents directory. Off in the lean view — the directory is just the project-grouped agent board.",defaultEnabled:!1,tier:"everyone",owner:"scout-web",tags:["surface","observability"]},[ce]:qe,[Me]:un},hn={a:"light-prod",control:"light-prod",light:"light-prod","light-prod":"light-prod",prod:"light-prod",production:"light-prod",b:"max-pro",max:"max-pro","max-pro":"max-pro",pro:"max-pro",treatment:"max-pro",...zt},Pe=new Set(["clear","default","none","reset","unset"]);function K(e,t){return Object.fromEntries(e.map(n=>[n,t]))}function Je(...e){const t={};for(const n of e)n.audience&&(t.audience=n.audience),n.flags&&Object.keys(n.flags).length>0&&(t.flags={...t.flags??{},...n.flags});return t}function le(e){switch(e){case"light-prod":return{audience:"everyone",flags:{...K($e,!1),...K(Re,!1)}};case"max-pro":return{audience:"power",flags:{...K($e,!0),...K(Re,!0)}};case Bt:return ln()}}function j(e){return e?hn[e.trim().toLowerCase()]??null:null}function te(e,t){for(const n of t){const s=e.get(n);if(s!==null)return s}return null}function et(e){const t=te(e,Qe);return j(t)}function wn(e){const t=te(e,Xe);if(t){const i=t.trim().toLowerCase();if(Pe.has(i))return{action:"clear"};const a=j(t);return a?{action:"set",bundle:a}:null}const n=te(e,Ze);if(!n)return null;const s=n.trim().toLowerCase();if(Pe.has(s))return{action:"clear"};if(["0","false","no"].includes(s))return null;const o=j(n);if(o)return{action:"set",bundle:o};const r=et(e);return r?{action:"set",bundle:r}:null}function tt(){if(typeof window>"u")return null;try{return j(window.localStorage.getItem(ee))}catch{return null}}function In(e){if(!(typeof window>"u"))try{e.action==="clear"?window.localStorage.removeItem(ee):window.localStorage.setItem(ee,e.bundle)}catch{}}function Gs(){return tt()??j(Be())??st}function nt(){const e=tt();return e?le(e):{}}const st="light-prod";function ot(){const e=j(Be())??st;return le(e)}function vn(e){const t=wn(e);t&&In(t)}function rt(e=new URLSearchParams(window.location.search)){const t=tn(window.location.href),n=et(e),s=n?le(n):{},o={audience:t.audience??s.audience,flags:{...s.flags??{},...t.flags??{}}};return e.has("no-ops")&&(o.flags={...o.flags,"ops.control":!1}),o}function Sn(){const e=Ge(mn);return{flags:e.flags,audience:e.audience??void 0}}function Vs(){if(typeof window>"u")return{};const e=new URLSearchParams(window.location.search);return vn(e),{sharedConfig:Je(ot(),nt()),url:rt(e)}}function bn(e){const t=typeof window>"u"?{}:{sharedConfig:Je(ot(),nt()),url:rt(),local:Sn()};return Ke({registry:gn,audience:pn,audienceOrder:fn,layers:t,warnOnUnknown:!1}).isEnabled(e)}function at(){return bn("ops.control")}const ne={sm:408,md:512,lg:616},it=240,ct=640,Ln=24,ut="openscout:lane-deck:v1",yn=new Set(["web.ops","macos.lanes","hud.tail","web.embed"]),de=new Set(["sm","md","lg"]),lt={"web.ops":{defaultLaneWidth:"lg",showAutoLanes:!0},"macos.lanes":{defaultLaneWidth:"md",showAutoLanes:!0},"hud.tail":{defaultLaneWidth:"sm",showAutoLanes:!0,defaultHorizon:"30m"},"web.embed":{defaultLaneWidth:"md",showAutoLanes:!0}},En=lt["web.ops"];function fe(e){return dt(e)?lt[e]:En}const V={pinned_left:0,main:1,pinned_right:2};function dt(e){return yn.has(e)}function Hs(e=window.location.search,t=window.location.pathname){const n=new URLSearchParams(e),s=n.get("profile")?.trim().toLowerCase();if(s&&dt(s))return s;const o=n.get("embed")?.trim().toLowerCase();return o==="hud"?"hud.tail":o==="app"?"macos.lanes":t.includes("/lanes/embed")?"web.embed":(t.includes("/ops/lanes"),"web.ops")}function Ys(e=window.location.search){const t=new URLSearchParams(e),n=(t.get("lanes")??t.get("size"))?.trim().toLowerCase();return n&&de.has(n)?n:"lg"}function qs(e,t){if(typeof e=="number"&&Number.isFinite(e))return Math.min(ct,Math.max(it,Math.round(e)));const n=typeof e=="string"&&de.has(e)?e:t;return ne[n]}function Qs(e){const t=Math.min(ct,Math.max(it,Math.round(e)));let n=null,s=Number.POSITIVE_INFINITY;for(const[o,r]of Object.entries(ne)){const i=Math.abs(r-t);i<s&&(s=i,n=o)}return n&&s<=Ln?{px:ne[n],tier:n}:{px:t,tier:null}}function me(e,t,n){return{version:1,profileId:e,defaultLaneWidth:t??n.defaultLaneWidth,defaultHorizon:n.defaultHorizon,laneWidths:{},laneDefs:[],slots:[],showAutoLanes:n.showAutoLanes,updatedAt:Date.now()}}function Ce(e,t){const n=fe(e);return me(e,t,n)}function se(e){if(typeof e=="number"&&Number.isFinite(e)||typeof e=="string"&&de.has(e))return e}function $n(e){if(!e||typeof e!="object")return null;const t=e;return typeof t.id!="string"||!t.id.trim()||t.kind!=="session"&&t.kind!=="harness"&&t.kind!=="project"&&t.kind!=="attention"||typeof t.title!="string"||!t.title.trim()?null:{id:t.id.trim(),kind:t.kind,title:t.title.trim(),sessionId:typeof t.sessionId=="string"?t.sessionId.trim():void 0,harness:typeof t.harness=="string"?t.harness.trim():void 0,projectPath:typeof t.projectPath=="string"?t.projectPath.trim():void 0}}function Rn(e){if(!e||typeof e!="object")return null;const t=e;return typeof t.id!="string"||!t.id.trim()||typeof t.laneDefId!="string"||!t.laneDefId.trim()||t.zone!=="pinned_left"&&t.zone!=="main"&&t.zone!=="pinned_right"||typeof t.position!="number"||!Number.isFinite(t.position)?null:{id:t.id.trim(),laneDefId:t.laneDefId.trim(),zone:t.zone,position:t.position,width:se(t.width)}}function ft(e,t,n,s){if(!e||typeof e!="object")return me(t,n,s);const o=e,r=Array.isArray(o.laneDefs)?o.laneDefs.map($n).filter(d=>d!==null):[],i=Array.isArray(o.slots)?o.slots.map(Rn).filter(d=>d!==null):[],a={};if(o.laneWidths&&typeof o.laneWidths=="object")for(const[d,f]of Object.entries(o.laneWidths)){const I=se(f);I!==void 0&&(a[d]=I)}const u=se(o.defaultLaneWidth);return{version:1,profileId:t,defaultLaneWidth:(typeof u=="string"?u:void 0)??n??s.defaultLaneWidth,defaultHorizon:typeof o.defaultHorizon=="string"?o.defaultHorizon:s.defaultHorizon,laneWidths:a,laneDefs:r,slots:i,showAutoLanes:typeof o.showAutoLanes=="boolean"?o.showAutoLanes:s.showAutoLanes,updatedAt:typeof o.updatedAt=="number"?o.updatedAt:Date.now()}}function Pn(e,t,n){return ft(e,t,n,fe(t))}function Xs(e,t){const n=fe(e),s=t??n.defaultLaneWidth;try{const o=localStorage.getItem(`${ut}:${e}`);return o?Pn(JSON.parse(o),e,s):Ce(e,s)}catch{return Ce(e,s)}}function Cn(e){try{localStorage.setItem(`${ut}:${e.profileId}`,JSON.stringify({...e,updatedAt:Date.now()}))}catch{}}function Zs(e){return[...e].sort((t,n)=>{const s=V[t.zone]-V[n.zone];return s!==0?s:t.position-n.position})}function Js(e,t){return V[e]-V[t]}function mt(){return`slot:${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function pe(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function Y(e){return`session:${e}`}function An(e){return`harness:${pe(e)}`}function _n(e){return`project:${pe(e)}`}const Un="attention:needs-input";function pt(e,t){const n=e.filter(s=>s.zone===t);return n.length===0?0:Math.max(...n.map(s=>s.position))+1}function gt(e,t){const n=e.laneDefs.some(s=>s.id===t.id);return{...e,laneDefs:n?e.laneDefs.map(s=>s.id===t.id?t:s):[...e.laneDefs,t]}}function ht(e,t){const n=e.slots.some(s=>s.id===t.id);return{...e,slots:n?e.slots.map(s=>s.id===t.id?t:s):[...e.slots,t]}}function wt(e,t){return{...e,slots:e.slots.filter(n=>n.laneDefId!==t)}}function kn(e,t){const n=Y(t);return{...wt(e,n),laneDefs:e.laneDefs.filter(s=>s.id!==n)}}function eo(e,t){const n=Y(t);return e.slots.some(s=>s.laneDefId===n&&s.zone!=="main")}function to(e,t){const n=Y(t),s=e.slots.find(o=>o.laneDefId===n);return!s||s.zone==="main"?null:s.zone}function no(e,t){const n=t.zone??"pinned_left",s=Y(t.laneId),o=kn(e,t.laneId),r=gt(o,{id:s,kind:"session",title:t.title,sessionId:t.laneId});return ht(r,{id:mt(),laneDefId:s,zone:n,position:pt(r.slots,n),width:t.width})}function so(e,t){const n=t.zone??"pinned_left",s=t.kind==="attention"?Un:t.kind==="harness"&&t.harness?An(t.harness):t.kind==="project"&&t.projectPath?_n(t.projectPath):`${t.kind}:${pe(t.title)}`,o=wt(e,s),r=gt(o,{id:s,kind:t.kind,title:t.title,harness:t.harness,projectPath:t.projectPath});return ht(r,{id:mt(),laneDefId:s,zone:n,position:pt(r.slots,n),width:t.width})}function oo(e,t,n){return{...e,laneWidths:{...e.laneWidths,[t]:n},updatedAt:Date.now()}}function ro(e,t){return{...e,defaultLaneWidth:t,updatedAt:Date.now()}}function ao(e){const t=new Set(e.slots.filter(n=>n.zone!=="main").map(n=>n.laneDefId));return{...e,slots:e.slots.filter(n=>n.zone==="main"),laneDefs:e.laneDefs.filter(n=>!t.has(n.id))}}const H="scope.lanes",oe={defaultLaneWidth:"md",showAutoLanes:!0,defaultHorizon:"30m"},Fn="openscout:lane-deck:v1";function Ae(e){return me(H,e,oe)}function io(e){const t=e??oe.defaultLaneWidth;try{const n=localStorage.getItem(`${Fn}:${H}`);return n?ft(JSON.parse(n),H,t,oe):Ae(t)}catch{return Ae(t)}}function co(e){Cn(e)}const Tn=[w.lanes,w.tail,w.sessions,w.agents];function xn(e){return Tn.includes(e)}function On(e){return e===Kt||e===Gt}function It(e){return Wt(e)}function Q(e,t={}){switch(e){case w.tail:{const n=new URLSearchParams;t.tailQuery&&n.set("q",t.tailQuery);const s=n.toString();return T(e,s?`?${s}`:"")}case w.sessions:return t.sessionId?T(e,`/${encodeURIComponent(t.sessionId)}`):T(e);case w.lanes:return T(J);case w.agents:return T(e);default:return T(J)}}function vt(e){switch(e.view){case"ops":return!e.mode||e.mode==="lanes"?w.lanes:e.mode==="tail"?w.tail:null;case"sessions":return e.agentId?null:w.sessions;case"agents-v2":return e.agentId||e.projectSlug||e.sessionId||e.conversationId?null:w.agents;default:return null}}function Dn(e){const t=vt(e);return t?t===w.tail&&e.view==="ops"?Q(t,{tailQuery:e.tailQuery}):t===w.sessions&&e.view==="sessions"?Q(t,{sessionId:e.sessionId}):Q(t):null}function jn(e,t,n){if(!On(e[0]))return null;const s=e[1]??J;if(!xn(s))return{view:"ops",mode:"lanes"};switch(s){case w.tail:{const o=t.searchParams.get("q")?.trim();return{view:"ops",mode:"tail",...o?{tailQuery:o}:{}}}case w.sessions:return e[2]?n({view:"sessions",sessionId:decodeURIComponent(e[2])}):n({view:"sessions"});case w.agents:return n({view:"agents-v2"});case w.lanes:default:return{view:"ops",mode:"lanes"}}}const Nn=new Set(["no-ops","ffBundle","ffVariant","scoutBundle","scoutExperience","ab","ffGlobal","scoutGlobalBundle","ffPersist","persistBundle","ffAudience","studio","studioInjection","studioMode"]),Mn=["ff.","studio.","studioMode."];function Bn(e){return Nn.has(e)||Mn.some(t=>e.startsWith(t))}const zn=[{key:"open",prefix:"/messages"}];function Wn(e,t){return zn.some(n=>n.key===e&&(t===n.prefix||t.startsWith(`${n.prefix}/`)))}function St(e,t=""){const n=new URL(e,"http://scout.local");new URLSearchParams(t).forEach((r,i)=>{!Bn(i)&&!Wn(i,n.pathname)||n.searchParams.has(i)||n.searchParams.set(i,r)});const o=n.searchParams.toString();return`${n.pathname}${o?`?${o}`:""}`}function uo(e){switch(e){case w.tail:return{view:"ops",mode:"tail"};case w.sessions:return{view:"sessions"};case w.agents:return{view:"agents-v2"};case w.lanes:default:return{view:"ops",mode:"lanes"}}}function Kn(e=typeof window<"u"?window.location.pathname:""){return It(e)}function lo(){return H}function fo(e=Kn()){return e?{"data-scope-presentation":!0}:void 0}function bt(e,t=typeof window<"u"?window.location.pathname:""){return It(t)?Dn(e):null}function Gn(e,t=typeof window<"u"?window.location.pathname:""){return bt(e,t)!==null}function mo(e,t=typeof window<"u"?window.location.pathname:""){return Gn(e,t)?vt(e):null}const po={days:3,sessionLimit:200,hitLimit:60,debounceMs:180};function re(e){return e.root==="HOME"?`~/${e.relPath}`:e.root==="ABSOLUTE"?e.relPath:`$${e.root}/${e.relPath}`}function _e(e){const t=e?.trim();if(!t)return null;const n=t.replace(/[\\/]+$/,""),s=n.split(/[\\/]/).filter(Boolean).at(-1)??n;return s.endsWith(".jsonl")?s.slice(0,-6):s}function F(e){return e.sourceRefs.find(t=>t.kind==="harness_transcript")??null}function Lt(e){return e.sourceRefs.find(t=>t.kind==="file")??null}function ge(e){return e?_e(e.sessionId)??_e(re(e.path)):null}function go(e){const t=ge(e);if(!t)return null;const n=e?.recordRange;return n?`${t}|records ${n[0]}..${n[1]}`:t}function z(e,t){const n=e.facets[t];return Array.isArray(n)?n.filter(Boolean).join(", "):typeof n=="string"?n:""}function M(e){const t=new Set;return e.split(/[^A-Za-z0-9_./-]+/u).map(n=>n.trim()).filter(n=>n.length>1).filter(n=>{const s=n.toLowerCase();return t.has(s)?!1:(t.add(s),!0)}).slice(0,12)}const Vn=/^(events?\s+window(\s+\d+)?|files?\s+touched|tool\s+calls?|indexed\s+snippet|manifest|summary|decisions?|context\s+pack)\b/iu,Ue=/^(claude|codex|kimi|cursor|gpt|gemini)\b/iu,ke=/^(?:claude|codex|kimi|cursor|gpt|gemini)?\s*[a-z0-9._/-]*\s*(?:jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]*\s+\d{1,2}(?:\s+at\s+\d{1,2}:\d{2}\s*(?:am|pm)?)?\s*[-–—:]\s*/iu;function yt(e){return Vn.test(e.replace(/\s+/g," ").trim())}function Hn(e){let t=e.replace(/\s+/g," ").trim();if(!t)return"";if(t=t.replace(/<[^>\n]+>/g," ").replace(/\s+/g," ").trim(),ke.test(t))t=t.replace(ke,"").trim();else{const n=t.match(/^(.{6,72}?)\s[-–—]\s+(.+)$/u);if(n){const s=n[1]??"",o=n[2]??"";(Ue.test(s)||/\b(?:am|pm|\d{1,2}:\d{2}|plugin|session|openscout)\b/iu.test(s))&&(t=o.trim())}}return t=t.replace(Ue,"").replace(/^\s*[-–—:]\s*/,"").trim(),t=t.replace(/\s{2,}/g," ").trim(),t.length>72&&(t=`${t.slice(0,69).replace(/\s+\S*$/u,"").trimEnd()}…`),t}function Yn(e){const t=z(e,"project"),n=e.title.replace(/\s+/g," ").trim();if(n&&!yt(n)){const o=Hn(n);if(o&&o.toLowerCase()!==t.toLowerCase()||o)return o}if(t)return t;const s=ge(F(e));return s?s.length>18?`${s.slice(0,16)}…`:s:"Session match"}function Et(e){const t=B(e,"recordKind",8).map(s=>s.toLowerCase());if(t.length===0&&t.push(...B(e,"recordTag",8).map(s=>s.toLowerCase())),t.some(s=>s.includes("assistant")))return"assistant";if(t.some(s=>s.includes("user")))return"user";if(t.some(s=>s.includes("tool")||s.includes("command")||s.includes("response")))return"tool";const n=we(e);return n==="tool activity"?"tool":n==="overview"?"overview":""}function ho(e,t){const n=Ie(e.snippet,t),s=Et(e),o=he(e);let r="";if(n){const i=M(t).map(d=>d.toLowerCase()),a=n.split(new RegExp("(?<=[.!?])\\s+|\\s+[–—]\\s+|\\s+·\\s+","u")).map(d=>d.replace(/^…+|…+$/gu,"").trim()).filter(d=>d.length>12);r=((i.length>0?a.find(d=>i.some(f=>ae(d,f)>=0)):void 0)??a[0]??n).replace(/^…+|…+$/gu,"").trim()}return r?(r.length>78&&(r=`${r.slice(0,75).replace(/\s+\S*$/u,"").trimEnd()}…`),r):s&&o?`${s} · ${o}`:o||s||Yn(e)}function qn(e){return e.freshness&&e.freshness!=="unknown"?e.freshness:e.title.replace(/\s+/g," ").trim().match(/\b((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2}(?:\s+at\s+\d{1,2}:\d{2}\s*(?:AM|PM)?)?)\b/iu)?.[1]??""}function Fe(e){const t=e.trim().toLowerCase();return t?t==="events"||t.startsWith("events")?"conversation":t==="overview"||t==="summary"?"overview":t==="tool-calls"||t==="tools"?"tool activity":t==="files"||t==="files-touched"?"files touched":t==="manifest"?"session index":t.replace(/[-_]+/g," "):""}function Qn(e){const t=e.trim();return t?t.charAt(0).toUpperCase()+t.slice(1):""}function Xn(e){const t=z(e,"harness")||F(e)?.harness||"";if(!t)return"";const n=t.toLowerCase();return n==="claude"?"Claude":n==="codex"?"Codex":n==="kimi"?"Kimi":n==="cursor"?"Cursor":Qn(t)}function Zn(e){const t=z(e,"sessionId").trim(),n=ge(F(e)),s=(t||n||"").trim();return s?s.length>14?s.slice(0,8):s:""}function he(e){const t=F(e)?.recordRange;if(t){const[s,o]=t;return s===o?`turn ${s}`:o-s<=1?`turns ${s}–${o}`:`turns ${s}–${o}`}const n=e.title.match(/events?\s+window\s+(\d+)/iu);return n?`window ${Number(n[1])}`:""}function Jn(e){const t=B(e,"recordKind",8).map(s=>s.toLowerCase());t.length===0&&t.push(...B(e,"recordTag",8).map(s=>s.toLowerCase()));const n=[];return t.some(s=>s.includes("user"))&&n.push("user"),t.some(s=>s.includes("assistant"))&&n.push("assistant"),t.some(s=>s.includes("tool")||s.includes("command")||s.includes("response"))&&n.push("tool"),n.length===0?"":n.join(" · ")}function we(e){const t=z(e,"documentKind");if(t){const s=t.split(",")[0]?.trim()??t;return Fe(s)}return yt(e.title)?Fe(e.title):Lt(e)?"file":F(e)?"conversation":""}function B(e,t,n=3){const s=e.facets[t];return(Array.isArray(s)?s:typeof s=="string"?s.split(","):[]).map(r=>r.trim()).filter(Boolean).slice(0,n)}function wo(e){return{agent:Xn(e),project:z(e,"project"),session:Zn(e),when:qn(e),turn:he(e),role:Jn(e),where:we(e)}}function Io(e){const t=[],n=he(e);n&&t.push(n);const s=Et(e);s&&t.push(s);const o=we(e);o&&o!=="conversation"&&t.push(o);const r=B(e,"toolName",2);r.length===1&&t.push(r[0]),r.length>1&&t.push(r.join(", "));const i=new Set;return t.filter(a=>{const u=a.toLowerCase();return i.has(u)?!1:(i.add(u),!0)})}function ae(e,t){return new RegExp(`(?<![A-Za-z0-9_./~-])${Pt(t)}(?![A-Za-z0-9_./~-])`,"iu").exec(e)?.index??-1}function Ie(e,t=""){let n=e.replace(/\s+/g," ").trim();if(!n)return"";if(n=n.replace(/\s*-\s*\[\d{3,}\]\s*`[^`]+`(?:\s*\([^)]*\))?\s*-\s*/gu," "),n=n.replace(/\[\d{3,}\]\s*`[^`]+`\s*/gu,""),n=n.replace(/\*\*/gu,""),n=n.replace(/\b(?:assistant_turn|user_turn|agent_reasoning|command_or_tool|response_item|system_record)\b/giu," "),n=n.replace(/(?:~\/|\.\.?\/|\/(?:Users|home|var|tmp|opt)\/)\S+/gu," "),n=n.replace(/https?:\/\/\S+/gu," "),n=n.replace(/\b[\w.-]+\.(?:com|net|org|io|dev|app)(?:\/\S*)?/giu," "),n=n.replace(/\{[^{}]{0,160}\}/gu," "),n=n.replace(/`[^`]{0,64}`/gu,r=>{const i=r.slice(1,-1);return M(t).some(a=>ae(i,a)>=0)||/^[A-Za-z][\w.-]{0,24}$/u.test(i)?i:" "}),n=n.replace(/\s{2,}/g," ").trim(),n=n.replace(/^[\s,;:.\-–—|/]+/u,"").trim(),n.includes("{")||n.includes("[")){const r=n.search(/[\[{]/u);if(r>18){const i=n.slice(0,r).trim().replace(/[-–—,:;]+$/u,"").trim();i&&(n=i)}}const s=M(t),o=200;if(s.length>0&&n.length>o){let r=-1;for(const i of s){const a=ae(n,i);a>=0&&(r<0||a<r)&&(r=a)}if(r<0)for(const i of s){if(i.length<4)continue;const a=n.toLowerCase().indexOf(i.toLowerCase());a>=0&&(r<0||a<r)&&(r=a)}if(r>=0){const a=Math.max(0,r-48),u=Math.min(n.length,a+o),d=n.slice(a,u).trim();n=`${a>0?"…":""}${d}${u<n.length?"…":""}`}else n=`${n.slice(0,o-1).replace(/\s+\S*$/u,"").trimEnd()}…`}else n.length>o&&(n=`${n.slice(0,o-1).replace(/\s+\S*$/u,"").trimEnd()}…`);return n.replace(/\s{2,}/g," ").trim()}function vo(e,t,n){const s=Ie(e.snippet,t);return s.length<=n?s:`${s.slice(0,n-1).replace(/\s+\S*$/u,"").trimEnd()}…`}function es(e,t){return M(t).filter(n=>{const s=n.toLowerCase();return e.title.toLowerCase().includes(s)||e.snippet.toLowerCase().includes(s)||Ie(e.snippet,t).toLowerCase().includes(s)})}function $t(e){const t=(e.kind||e.role||e.type||"record").toLowerCase();return t==="assistant_turn"||t==="assistant"?"assistant":t==="user_turn"||t==="user"?"user":t==="system_record"||t==="system"?"system":t==="command_or_tool"||t==="tool_use"?"tool":t==="response_item"?"tool output":t==="agent_reasoning"||t==="reasoning"?"reasoning":t.replace(/_/gu," ")}function Rt(e){const t=(e.kind||e.role||e.type||"").toLowerCase();return t==="assistant"||t==="assistant_turn"||t==="user"||t==="user_turn"||t==="last-prompt"||t==="ai-title"?0:t==="system"||t==="system_record"||t.includes("reasoning")?1:2}function So(e){return e.scoreSource==="hybrid"?"Words and meaning":e.scoreSource==="vector"?"Similar in meaning":"Exact words"}function bo(e,t,n){const s=es(e,t),o=s.length===1?`Matched “${s[0]}”`:s.length>1?`Matched ${s.length} terms`:"Matched in this session";if(!n?.matched)return o;const r=[n.renderedText,n.summary].filter(Boolean).join(" ").toLowerCase(),i=s.filter(d=>r.includes(d.toLowerCase()));if(i.length===0)return o;const a=$t(n),u=a==="assistant"?"an assistant reply":a==="user"?"your message":a==="tool"?"a tool call":a==="tool output"?"tool output":a==="system"?"a system record":a==="reasoning"?"agent reasoning":`a ${a} record`;return i.length===1?`Matched “${i[0]}” in ${u}`:`Matched ${i.length} terms in ${u}`}function Lo(e){const t=F(e);if(t){const s=re(t.path),o=t.recordRange;return o?`${s}#R${o[0]}-R${o[1]}`:s}const n=Lt(e);if(n){const s=re(n.path),o=n.lineRange;return o?`${s}#L${o[0]}-L${o[1]}`:s}return e.id}function ts(e){const t=e.filter(o=>Rt(o)===2).length,n=e.length-t,s=e.some(o=>o.matched)?" · match inside":"";return t>0&&n===0?`${t} tool step${t===1?"":"s"}${s}`:t===0?`${n} process step${n===1?"":"s"}${s}`:`${t} tool + ${n} process step${e.length===1?"":"s"}${s}`}function ns(e){return`${e.length} more conversation turn${e.length===1?"":"s"}`}function yo(e,t={}){if(e.length===0)return[];const n=t.contextRadius??3,s=t.maxTurns??6,o=t.centerRecordIndex===void 0?-1:e.findIndex(h=>h.index===t.centerRecordIndex),r=e.findIndex(h=>h.matched),i=o>=0?o:r>=0?r:0,a=e.slice(Math.max(0,i-n),Math.min(e.length,i+n+1)),u=[];let d=[],f=[],I=0;const R=()=>{d.length!==0&&(u.push({kind:"folded",records:d,summary:ts(d)}),d=[])},g=()=>{f.length!==0&&(u.push({kind:"folded",records:f,summary:ns(f)}),f=[])};for(const h of a){if(Rt(h)>0){g(),d.push(h);continue}if(R(),I>=s){f.push(h);continue}u.push({kind:"turn",record:h,role:$t(h)}),I+=1}return R(),g(),u}function Te(e){const t=F(e)?.recordRange;return t?t[0]:Number.MAX_SAFE_INTEGER}function Eo(e){const t=[],n=new Map;for(const s of e){const o=s.collectionId||s.id,r=n.get(o);r?r.push(s):(t.push(o),n.set(o,[s]))}return t.map(s=>{const o=[...n.get(s)??[]].sort((i,a)=>{const u=Te(i)-Te(a);return u!==0?u:i.score-a.score}),r=n.get(s)?.[0]??o[0];return{collectionId:s,best:r,moments:o}})}function Pt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $o(e,t){const n=M(t);if(n.length===0||e.length===0)return[{text:e,match:!1}];const s=n.map(a=>`(?<![A-Za-z0-9_./~-])${Pt(a)}(?![A-Za-z0-9_./~-])`),o=new RegExp(`(${s.join("|")})`,"giu"),r=[];let i=0;for(const a of e.matchAll(o)){const u=a.index??0;u>i&&r.push({text:e.slice(i,u),match:!1}),r.push({text:a[0],match:!0}),i=u+a[0].length}return i<e.length&&r.push({text:e.slice(i),match:!1}),r.length>0?r:[{text:e,match:!1}]}const Ro={sessions:"Sessions",skills:"Skills",mcp:"MCP",codebase:"Codebase",context_pack:"Context packs",mixed:"Mixed"},Ct=[{value:"1",label:"Last 24h"},{value:"3",label:"Last 3 days"},{value:"7",label:"Last 7 days"},{value:"30",label:"Last 30 days"}],Po=["sessions","skills","mcp","codebase","context_pack"];function Co(){return{query:"",sourceKinds:[],harness:[],project:[],timeWindow:"all"}}function ss(e){return e?Ct.some(t=>t.value===e):!1}function X(e){return e?e.split(",").map(t=>t.trim()).filter(t=>t.length>0):[]}function os(e){const t=e==null?new URLSearchParams:typeof e=="string"?new URLSearchParams(e):e,n=t.get("time"),s=ss(n)?n:"all";return{query:t.get("q")?.trim()??"",sourceKinds:X(t.get("source")),harness:X(t.get("harness")),project:X(t.get("project")),timeWindow:s}}function rs(e,t={}){const n=new URLSearchParams,s=e.query.trim();return s&&n.set("q",s),e.sourceKinds.length>0&&n.set("source",e.sourceKinds.join(",")),e.harness.length>0&&n.set("harness",e.harness.join(",")),e.project.length>0&&n.set("project",e.project.join(",")),e.timeWindow!=="all"&&n.set("time",e.timeWindow),t.hitId&&n.set("hit",t.hitId),n}function Ao(e,t){return e.query.trim()===t.query.trim()&&e.timeWindow===t.timeWindow&&Z(e.sourceKinds,t.sourceKinds)&&Z(e.harness,t.harness)&&Z(e.project,t.project)}function Z(e,t){if(e.length!==t.length)return!1;const n=[...e].map(o=>o.trim().toLowerCase()).sort(),s=[...t].map(o=>o.trim().toLowerCase()).sort();return n.every((o,r)=>o===s[r])}function as(e){return e.query.trim().length>0||e.sourceKinds.length>0||e.harness.length>0||e.project.length>0||e.timeWindow!=="all"}function _o(e){if(e==="all")return null;const t=Number.parseInt(e,10);return!Number.isFinite(t)||t<=0?null:Date.now()-t*24*60*60*1e3}function Uo(e){return e==="all"?"Any time":Ct.find(n=>n.value===e)?.label??e}const At=typeof window<"u"?window.location.href:"http://scout.local/";function _t(e){const t=e.toString();return new URL(t,At)}function is(e){switch(e){case"profile":case"config":case"definitions":return e==="definitions"?"config":e;case"observe":case"message":return e;default:return}}function cs(e){const t=e.trim().replace(/^#/,"");if(!t.startsWith("msg-"))return null;const n=t.slice(4).trim();if(!n)return null;try{return decodeURIComponent(n)}catch{return n}}function us(e){switch(e){case"control":case"mission":case"command":case"warroom":case"conduct":case"conductor":return"mission";case"plan":case"advisor":return"advisor";case"issues":case"errors":case"warnings":return"issues";case"agents":case"tail":case"atop":case"lanes":case"world":return e;default:return}}function ls(e){return e==="delivered"||e==="failed"||e==="all"?e:void 0}function ds(e){return e==="indexer"||e==="knowledge"?e:void 0}function fs(e){switch(e){case"pairing":case"agents":case"appearance":case"operator":case"comms":case"credentials":case"voice":case"devices":case"about":return e;case"communications":return"comms";default:return}}function ms(e){switch(e){case"tail":case"session":case"chat":case"work":return e;default:return}}function ps(e){const t=e?.trim().replace(/\.+$/u,"");return t==="observe"||t==="takeover"?t:void 0}function gs(e){const t=e?.trim().toLowerCase();return t==="pty"||t==="tmux"||t==="zellij"||t==="herdr"?t:void 0}function hs(e){const t=e?.trim().toLowerCase();return t==="shell"||t==="claude"||t==="codex"||t==="pi"?t:void 0}function ws(e){return e==="all"||e==="touched"?"all":e==="changed"?"changed":void 0}function xe(e){if(!e)return;const t=Number.parseInt(e,10);return Number.isSafeInteger(t)&&t>0?t:void 0}function Oe(e){return e==="mission"?"control":e}function Is(e){return e.searchParams.has("no-ops")?!1:typeof window>"u"?!0:at()}function vs(e){return e==="tail"}function Ss(e){return e==="lanes"||e==="world"}function Ut(e){return vs(e)||Ss(e)}const ve="machineId",kt=new Set(["inbox","conversation","agents-v2","messages","sessions","repos","harnesses","mesh","mesh-ops","activity","work","follow"]);function bs(e){return e.searchParams.get(ve)?.trim()||void 0}function Ls(e,t){return!t||!kt.has(e.view)?e:{...e,machineId:t}}function Se(e){return kt.has(e.view)}function ys(e){return"machineId"in e&&e.machineId?e.machineId:null}function De(e,t){if(!Se(e))return e;const n={...e},s=t?.trim();return s?n.machineId=s:delete n.machineId,n}function ko(e){return Se(e)?{...e,machineId:""}:e}function Es(e,t){return Se(e)?"machineId"in e?De(e,e.machineId??null):De(e,ys(t)):e}function k(e,t){"machineId"in t&&t.machineId&&e.set(ve,t.machineId)}function S(e){const t=e.toString();return t?`?${t}`:""}function x(e,t){const n=new URLSearchParams;return k(n,t),`${e}${S(n)}`}function $s(e){return"machineId"in e&&e.machineId?`:machine:${e.machineId}`:""}function be(e){const t=_t(e),n=t.pathname.replace(/^\/+/,"").split("/").filter(Boolean);if(n[0]==="embed"&&["home","search","ops"].includes(n[1]??"")){const c=new URL(t),l=n[1],m=t.searchParams.get("mode");c.pathname=l==="home"?"/":`/${l}${m?`/${encodeURIComponent(m)}`:""}`,c.searchParams.delete("mode");const p=be(c);return l==="ops"&&p.view==="inbox"?{...p,view:"ops",mode:"tail"}:p}const s=bs(t),o=c=>Ls(c,s),r=jn(n,t,o);if(r)return r;const i=cs(t.hash),a=is(t.searchParams.get("tab"))??(i?"message":void 0),u=t.searchParams.get("project")?.trim()||void 0,d=t.searchParams.get("agentId")?.trim()||void 0;if(n[0]==="agent"&&n[1])return{view:"agent-info",conversationId:decodeURIComponent(n[1])};const f=t.searchParams.get("project")?.trim()||void 0,I=t.searchParams.get("harness")?.trim()||void 0,R=t.searchParams.get("node")?.trim()||void 0,g=t.searchParams.get("set")?.trim(),h=g==="live"||g==="ephemeral"||g==="archived"?g:void 0,P=t.searchParams.get("view")?.trim(),U=P==="sessions"||P==="agents"?P:void 0,_=t.searchParams.get("state")?.trim(),Le=_==="needs"||_==="live"||_==="idle"?_:void 0,jt=t.searchParams.get("ephemeral")==="1",W=t.searchParams.get("session")?.trim()||void 0,y=t.searchParams.get("select")?.trim()||void 0,$={...I?{harness:I}:{},...R?{node:R}:{},...h?{set:h}:{},...U?{indexView:U}:{},...Le?{stateFilter:Le}:{},...jt?{showEphemeral:!0}:{}};if(n[0]==="projects"){const c=n[1]?decodeURIComponent(n[1]):void 0;if(!c)return o({view:"agents-v2",...y?{selectedAgentId:y}:{},...$});if(n[2]==="agents"){const l=n[3]?decodeURIComponent(n[3]):void 0;if(l){if(n[4]==="c"&&n[5])return o({view:"agents-v2",projectSlug:c,agentId:l,conversationId:decodeURIComponent(n[5]),tab:a??"message",...$});const m=n[4]==="sessions"&&n[5]?decodeURIComponent(n[5]):W;return o({view:"agents-v2",projectSlug:c,agentId:l,...m?{sessionId:m}:{},...a?{tab:a}:{},...$})}return o({view:"agents-v2",projectSlug:c,indexView:"agents",...y?{selectedAgentId:y}:{},...$})}return n[2]==="sessions"?o({view:"agents-v2",projectSlug:c,indexView:"sessions",...n[3]?{sessionId:decodeURIComponent(n[3])}:{},...y?{selectedAgentId:y}:{},...$}):o({view:"agents-v2",projectSlug:c,...y?{selectedAgentId:y}:{},...$})}if(n[0]==="agents-v2"&&n[1]==="sessions"&&n[2])return o({view:"agents-v2",sessionId:decodeURIComponent(n[2]),...y?{selectedAgentId:y}:{},...f?{projectSlug:f}:{},...$});if(n[0]==="agents-v2"&&n[1]){const c=decodeURIComponent(n[1]);return o({view:"agents-v2",agentId:c,...a?{tab:a}:{},...W?{sessionId:W}:{},...f?{projectSlug:f}:{},...$})}if(n[0]==="agents-v2")return o({view:"agents-v2",...y?{selectedAgentId:y}:{},...f?{projectSlug:f}:{},...$});if(n[0]==="agents"&&n[1]){const c=decodeURIComponent(n[1]),l=n[2]==="sessions"&&n[3]?decodeURIComponent(n[3]):W;return n[2]==="c"&&n[3]?o({view:"agents-v2",agentId:c,conversationId:decodeURIComponent(n[3]),tab:a??"message",...$}):o({view:"agents-v2",agentId:c,...l?{sessionId:l}:{},...a?{tab:a}:{},...$})}if(n[0]==="agents")return o({view:"agents-v2",...y?{selectedAgentId:y}:{},...f?{projectSlug:f}:{},...$});if(n[0]==="agents.deprecated"&&n[1]&&n[2]==="sessions"&&n[3])return o({view:"sessions",agentId:decodeURIComponent(n[1]),sessionId:decodeURIComponent(n[3])});if(n[0]==="agents.deprecated"&&n[1]&&n[2]==="c"&&n[3])return o({view:"agents-v2",agentId:decodeURIComponent(n[1]),conversationId:decodeURIComponent(n[3]),tab:a??"message"});if(n[0]==="agents.deprecated"&&n[1]){const c=decodeURIComponent(n[1]);return o({view:"agents-v2",agentId:c,...a?{tab:a}:{},...!a&&u?{projectSlug:u}:{}})}if(n[0]==="agents.deprecated")return o({view:"agents-v2",...u?{projectSlug:u}:{}});if(n[0]==="fleet")return o({view:"inbox"});if(n[0]==="c"&&n[1])return o({view:"conversation",conversationId:decodeURIComponent(n[1])});if(n[0]==="flights"&&n[1]&&n[2]==="observe"){const c=t.searchParams.get("session")?.trim()||void 0,l=t.searchParams.get("compare")?.trim()||void 0;return o({view:"sessions",flightId:decodeURIComponent(n[1]),...c?{sessionId:c}:{},...l?{compareSessionId:l}:{}})}if(n[0]==="sessions"&&n[1])return o({view:"sessions",sessionId:decodeURIComponent(n[1]),...d?{agentId:d}:{}});if(n[0]==="conversations")return o({view:"messages"});if(n[0]==="messages"){if(n[1]==="agent"&&n[2]){const l=t.searchParams.get("thread")?.trim()||void 0;return o({view:"messages",agentId:decodeURIComponent(n[2]),...l?{threadId:l}:{}})}const c={view:"messages",...n[1]?{conversationId:decodeURIComponent(n[1])}:{}};return o(c)}if(n[0]==="sessions")return o({view:"sessions",...d?{agentId:d}:{}});if(n[0]==="repos"){const c=t.searchParams.get("root")?.trim()||void 0;return o({view:"repos",...c?{root:c}:{}})}if(n[0]==="providers"||n[0]==="harnesses")return o({view:"harnesses"});if(n[0]==="repo-diff"){const c=t.searchParams.get("path")?.trim();if(c){const l=t.searchParams.getAll("layer").filter(v=>v==="unstaged"||v==="staged"||v==="branch"),m=t.searchParams.getAll("file").map(v=>v.trim()).filter(Boolean),p=t.searchParams.get("sessionId")?.trim()||void 0,b=t.searchParams.get("agentId")?.trim()||void 0,E=ws(t.searchParams.get("include"));return{view:"repo-diff",path:c,...l.length>0?{layers:l}:{},...m.length>0?{files:m}:{},...p?{sessionId:p}:{},...b?{agentId:b}:{},...E?{include:E}:{}}}}if(n[0]==="search"){const c=ds(n[1]),l=t.searchParams.get("hit")?.trim()||void 0,m=os(t.searchParams);return{view:"search",...c&&c!=="knowledge"?{mode:c}:{},...l?{hitId:l}:{},...as(m)?{filters:m}:{}}}if(n[0]==="channels"&&n[1])return o({view:"messages",conversationId:decodeURIComponent(n[1])});if(n[0]==="channels")return o({view:"messages"});if(n[0]==="network"||n[0]==="mesh")return o({view:"mesh"});if(n[0]==="mesh-ops")return o({view:"mesh-ops",...n[1]?{itemId:decodeURIComponent(n[1])}:{}});if(n[0]==="dispatch"||n[0]==="broker"){const c=t.searchParams.get("attempt")?.trim()||void 0,l=ls(t.searchParams.get("filter"));return{view:"broker",...c?{attemptId:c}:{},...l&&l!=="all"?{filter:l}:{}}}if(n[0]==="code"){const c=t.searchParams.get("wt")?.trim()||void 0,l=t.searchParams.get("fromConversation")?.trim()||void 0,m=xe(t.searchParams.get("line")),p=xe(t.searchParams.get("endLine")),b=m&&p&&p>=m?p:void 0;if(n[1]){const A=decodeURIComponent(n[1]),C=n.length>2?n.slice(2).map(decodeURIComponent).join("/"):void 0;return{view:"code",project:A,...C?{path:C}:{},...c?{wt:c}:{},...m?{line:m}:{},...b?{endLine:b}:{},...l?{returnConversationId:l}:{}}}const E=t.searchParams.get("root")?.trim()||void 0,v=t.searchParams.get("file")?.trim()||void 0;return{view:"code",...E?{root:E}:{},...v?{file:v}:{},...c?{wt:c}:{},...m?{line:m}:{},...b?{endLine:b}:{},...l?{returnConversationId:l}:{}}}if(n[0]==="briefings"&&n[1])return{view:"briefings",briefingId:decodeURIComponent(n[1])};if(n[0]==="briefings")return{view:"briefings"};if(n[0]==="activity")return o({view:"activity"});if(n[0]==="voice")return{view:"voice"};if(n[0]==="work"&&n[1])return o({view:"work",workId:decodeURIComponent(n[1])});if(n[0]==="follow"){const c=ms(t.searchParams.get("view")),l={view:"follow",...c?{preferredView:c}:{}},m=n[1],p=n[2]?decodeURIComponent(n[2]):"";m==="flight"&&p&&(l.flightId=p),m==="invocation"&&p&&(l.invocationId=p),m==="conversation"&&p&&(l.conversationId=p),m==="work"&&p&&(l.workId=p),m==="session"&&p&&(l.sessionId=p),m==="agent"&&p&&(l.targetAgentId=p);const b=t.searchParams.get("flightId"),E=t.searchParams.get("invocationId"),v=t.searchParams.get("conversationId"),A=t.searchParams.get("workId"),C=t.searchParams.get("sessionId"),ye=t.searchParams.get("targetAgentId");return b&&(l.flightId=b),E&&(l.invocationId=E),v&&(l.conversationId=v),A&&(l.workId=A),C&&(l.sessionId=C),ye&&(l.targetAgentId=ye),o(l)}if(n[0]==="settings"){if(n[1]==="agents")return{view:"settings",section:"agents",...n[2]?{agentId:decodeURIComponent(n[2])}:{}};const c=fs(n[1]);return{view:"settings",...c?{section:c}:{}}}if(n[0]==="terminal"){const c=ps(t.searchParams.get("mode")),l=t.searchParams.get("session")?.trim()||void 0,m=Ht(t.searchParams.get("surface"))??void 0;if(n[1]==="new"){const b=gs(t.searchParams.get("backend"))??"pty",E=hs(t.searchParams.get("agent"))??"shell",v=t.searchParams.get("name")?.trim()||void 0,A=t.searchParams.get("tab")?.trim()||void 0,C=t.searchParams.get("socketDir")?.trim()||void 0;return{view:"terminal",terminalBackend:b,terminalAgent:E,...v?{terminalSessionName:v}:{},...A?{terminalTabId:A}:{},...C?{zellijSocketDir:C}:{}}}const p=n[1]==="s"&&n[2]?ze(decodeURIComponent(n.slice(2).join("/")))?decodeURIComponent(n.slice(2).join("/")):null:Yt(n[1]?decodeURIComponent(n[1]):void 0,n[2]?decodeURIComponent(n.slice(2).join("/")):void 0);return p?{view:"terminal",terminalSurfaceKey:p,...l?{terminalSessionId:l}:{},...c?{mode:c}:{}}:{view:"terminal",...n[1]?{agentId:decodeURIComponent(n[1])}:{},...c?{mode:c}:{},...!n[1]&&l?{terminalSessionId:l}:{},...!n[1]&&m?{terminalSurfaceKey:m}:{}}}if(n[0]==="ops"){const c=us(n[1])??"mission";if(!Ut(c)&&!Is(t))return o({view:"inbox"});const l=c==="tail"?t.searchParams.get("q")?.trim():"",m=c==="advisor"?t.searchParams.get("plan")?.trim():"",p=t.searchParams.get("flightId")?.trim(),b=t.searchParams.get("invocationId")?.trim(),E=t.searchParams.get("conversationId")?.trim(),v=t.searchParams.get("workId")?.trim(),A=t.searchParams.get("sessionId")?.trim(),C=t.searchParams.get("targetAgentId")?.trim()??t.searchParams.get("agentId")?.trim();return{view:"ops",mode:c,...l?{tailQuery:l}:{},...m?{planDocumentId:m}:{},...p?{flightId:p}:{},...b?{invocationId:b}:{},...E?{conversationId:E}:{},...v?{workId:v}:{},...A?{sessionId:A}:{},...C?{targetAgentId:C}:{}}}return o({view:"inbox"})}function Ft(e,t){const n=e.view==="sessions"&&e.flightId?null:bt(e,t);if(n)return n;switch(e.view){case"inbox":return x("/",e);case"conversation":{const s=new URLSearchParams;return k(s,e),`/c/${encodeURIComponent(e.conversationId)}${S(s)}`}case"agent-info":return`/agent/${encodeURIComponent(e.conversationId)}`;case"agents-v2":{const s=new URLSearchParams;e.harness&&s.set("harness",e.harness),e.node&&s.set("node",e.node),e.set&&s.set("set",e.set),!e.projectSlug&&e.indexView&&e.indexView!=="agents"&&s.set("view",e.indexView),e.stateFilter&&s.set("state",e.stateFilter),e.showEphemeral&&s.set("ephemeral","1"),e.selectedAgentId&&!e.agentId&&!e.sessionId&&s.set("select",e.selectedAgentId);const o=e.conversationId?"message":"profile";e.agentId&&e.tab&&e.tab!==o&&s.set("tab",e.tab),k(s,e);const r=e.projectSlug?`/projects/${encodeURIComponent(e.projectSlug)}`:null;return`${r?e.agentId?e.conversationId?`${r}/agents/${encodeURIComponent(e.agentId)}/c/${encodeURIComponent(e.conversationId)}`:e.sessionId?`${r}/agents/${encodeURIComponent(e.agentId)}/sessions/${encodeURIComponent(e.sessionId)}`:`${r}/agents/${encodeURIComponent(e.agentId)}`:e.sessionId?`${r}/sessions/${encodeURIComponent(e.sessionId)}`:e.indexView==="sessions"?`${r}/sessions`:e.indexView==="agents"?`${r}/agents`:r:e.agentId?e.conversationId?`/agents/${encodeURIComponent(e.agentId)}/c/${encodeURIComponent(e.conversationId)}`:e.sessionId?`/agents/${encodeURIComponent(e.agentId)}/sessions/${encodeURIComponent(e.sessionId)}`:`/agents/${encodeURIComponent(e.agentId)}`:e.sessionId?`/sessions/${encodeURIComponent(e.sessionId)}`:"/projects"}${S(s)}`}case"messages":{const s=new URLSearchParams;return e.agentId&&e.threadId&&s.set("thread",e.threadId),k(s,e),`${e.agentId?`/messages/agent/${encodeURIComponent(e.agentId)}`:e.conversationId?`/messages/${encodeURIComponent(e.conversationId)}`:"/messages"}${S(s)}`}case"sessions":{const s=new URLSearchParams;return e.agentId&&s.set("agentId",e.agentId),e.flightId?(e.sessionId&&s.set("session",e.sessionId),e.compareSessionId&&s.set("compare",e.compareSessionId),k(s,e),`/flights/${encodeURIComponent(e.flightId)}/observe${S(s)}`):(k(s,e),`${e.sessionId?`/sessions/${encodeURIComponent(e.sessionId)}`:"/sessions"}${S(s)}`)}case"repos":{const s=new URLSearchParams;return e.root&&s.set("root",e.root),k(s,e),`/repos${S(s)}`}case"harnesses":return x("/providers",e);case"repo-diff":{const s=new URLSearchParams;s.set("path",e.path);for(const o of e.layers??[])s.append("layer",o);for(const o of e.files??[])s.append("file",o);return e.sessionId&&s.set("sessionId",e.sessionId),e.agentId&&s.set("agentId",e.agentId),e.include&&s.set("include",e.include),`/repo-diff${S(s)}`}case"search":{const s=e.mode==="indexer"?"/search/indexer":"/search",o=e.filters?rs(e.filters,{hitId:e.hitId??null}):new URLSearchParams;return!e.filters&&e.hitId&&o.set("hit",e.hitId),`${s}${S(o)}`}case"mesh":return x("/network",e);case"mesh-ops":return x(e.itemId?`/mesh-ops/${encodeURIComponent(e.itemId)}`:"/mesh-ops",e);case"broker":{const s=new URLSearchParams;return e.attemptId&&s.set("attempt",e.attemptId),e.filter&&e.filter!=="all"&&s.set("filter",e.filter),`/dispatch${S(s)}`}case"code":{const s=new URLSearchParams;if(e.wt&&s.set("wt",e.wt),e.line&&s.set("line",String(e.line)),e.line&&e.endLine&&e.endLine>=e.line&&s.set("endLine",String(e.endLine)),e.project){e.returnConversationId&&s.set("fromConversation",e.returnConversationId);const r=[encodeURIComponent(e.project)];return e.path&&r.push(...e.path.split("/").map(encodeURIComponent)),`${`/code/${r.join("/")}`}${S(s)}`}e.root&&s.set("root",e.root),e.file&&s.set("file",e.file),e.returnConversationId&&s.set("fromConversation",e.returnConversationId);const o=s.toString();return o?`/code?${o}`:"/code"}case"briefings":return e.briefingId?`/briefings/${encodeURIComponent(e.briefingId)}`:"/briefings";case"activity":return x("/activity",e);case"voice":return"/voice";case"work":return x(`/work/${encodeURIComponent(e.workId)}`,e);case"settings":return e.section==="agents"?e.agentId?`/settings/agents/${encodeURIComponent(e.agentId)}`:"/settings/agents":e.section?e.section==="pairing"?"/settings/pairing":e.section==="comms"?"/settings/comms":`/settings/${e.section}`:"/settings";case"ops":if(!e.mode)return"/ops";if(e.mode==="tail"||e.mode==="advisor"){const s=new URLSearchParams;return e.mode==="tail"&&e.tailQuery&&s.set("q",e.tailQuery),e.mode==="advisor"&&e.planDocumentId&&s.set("plan",e.planDocumentId),e.flightId&&s.set("flightId",e.flightId),e.invocationId&&s.set("invocationId",e.invocationId),e.conversationId&&s.set("conversationId",e.conversationId),e.workId&&s.set("workId",e.workId),e.sessionId&&s.set("sessionId",e.sessionId),e.targetAgentId&&s.set("targetAgentId",e.targetAgentId),`/ops/${Oe(e.mode)}${S(s)}`}return`/ops/${Oe(e.mode)}`;case"follow":{const s=new URLSearchParams;e.preferredView&&s.set("view",e.preferredView),e.flightId&&s.set("flightId",e.flightId),e.invocationId&&s.set("invocationId",e.invocationId),e.conversationId&&s.set("conversationId",e.conversationId),e.workId&&s.set("workId",e.workId),e.sessionId&&s.set("sessionId",e.sessionId),e.targetAgentId&&s.set("targetAgentId",e.targetAgentId),e.machineId&&s.set(ve,e.machineId);const o=s.toString();return`/follow${o?`?${o}`:""}`}case"terminal":if(e.agentId){const s=new URLSearchParams;return e.mode&&s.set("mode",e.mode),`/terminal/${encodeURIComponent(e.agentId)}${S(s)}`}{const s=new URLSearchParams;if(e.terminalBackend)return e.terminalBackend!=="pty"&&s.set("backend",e.terminalBackend),e.terminalAgent&&e.terminalAgent!=="shell"&&s.set("agent",e.terminalAgent),e.terminalSessionName&&s.set("name",e.terminalSessionName),e.terminalTabId&&s.set("tab",e.terminalTabId),e.zellijSocketDir&&s.set("socketDir",e.zellijSocketDir),`/terminal/new${S(s)}`;e.mode&&s.set("mode",e.mode);const o=qt(e.terminalSurfaceKey);return o?`/terminal/${encodeURIComponent(o.backend)}/${encodeURIComponent(o.sessionName)}${S(s)}`:ze(e.terminalSurfaceKey)?`/terminal/s/${encodeURIComponent(e.terminalSurfaceKey)}${S(s)}`:(e.terminalSessionId&&s.set("session",e.terminalSessionId),e.terminalSurfaceKey&&s.set("surface",e.terminalSurfaceKey),`/terminal${S(s)}`)}}}function N(e){const t=$s(e);switch(e.view){case"conversation":return`conv:${e.conversationId}${t}`;case"agent-info":return`agent-info:${e.conversationId}`;case"settings":return`settings:${e.section??"pairing"}:${e.agentId??""}`;case"agents-v2":return["agents-v2",e.projectSlug??"",e.harness??"",e.node??"",e.set??"",e.indexView??"agents",e.stateFilter??"",e.showEphemeral?"eph":"",e.agentId??"",e.sessionId??"",t].join(":");case"sessions":return e.flightId?`flight-observe:${e.flightId}:${e.sessionId??""}:${e.compareSessionId??""}${t}`:e.sessionId?`session:${e.agentId??""}:${e.sessionId}${t}`:`sessions${t}`;case"messages":return["messages",e.conversationId??"",e.agentId??"",e.threadId??"",t].join(":");case"work":return`work:${e.workId}${t}`;case"ops":return`ops:${e.mode??"advisor"}:${e.tailQuery??""}:${e.planDocumentId??""}:${e.flightId??""}:${e.invocationId??""}:${e.workId??""}:${e.conversationId??""}:${e.sessionId??""}:${e.targetAgentId??""}`;case"search":return`search:${e.mode??"knowledge"}:${e.hitId??""}`;case"broker":return`broker:${e.attemptId??""}`;case"follow":return`follow:${e.flightId??e.invocationId??e.conversationId??e.workId??e.sessionId??e.targetAgentId??""}:${e.preferredView??""}${t}`;case"terminal":return`terminal:${e.agentId??""}:${e.terminalSessionId??""}:${e.terminalSurfaceKey??""}:${e.terminalBackend??""}:${e.terminalAgent??""}:${e.terminalSessionName??""}:${e.terminalTabId??""}:${e.mode??"detail"}`;case"repo-diff":return`repo-diff:${e.path}`;default:return`${e.view}${t}`}}function G(e,t){return ue(be(`${e}${t}`))}function Tt(e){return e?`#${e}`:""}function Rs(e){return e.startsWith("/embed/")||e==="/ops/lanes/embed"}function je(){if(typeof window>"u"){const e=new URL(At);return{pathname:e.pathname,searchStr:e.search,hash:e.hash.replace(/^#/,""),state:null}}return{pathname:window.location.pathname,searchStr:window.location.search,hash:window.location.hash.replace(/^#/,""),state:window.history.state}}function Ps(e,t){return e.pathname===t.pathname&&e.searchStr===t.searchStr&&e.hash===t.hash&&Object.is(e.state,t.state)}function Cs(e){let t=e.read();const n=new Set;let s=null;const o=()=>{const r=e.read();if(!Ps(t,r)){t=r;for(const i of n)i()}};return{getSnapshot:()=>t,subscribe(r){return s||(s=e.observe(o)),n.add(r),()=>{n.delete(r)}},navigateTo(r,i={}){const a=t.pathname,u=i.state===void 0?t.state:i.state;i.replace?e.replace(r,u):e.push(r,u),o(),t.pathname!==a&&Vt(a,t.pathname)}}}function As(){return typeof window>"u"?{read:je,push:()=>{},replace:()=>{},observe:()=>()=>{}}:{read:je,push:(e,t)=>window.history.pushState(t,"",e),replace:(e,t)=>window.history.replaceState(t,"",e),observe:e=>(window.addEventListener("popstate",e),window.addEventListener("hashchange",e),()=>{window.removeEventListener("popstate",e),window.removeEventListener("hashchange",e)})}}const D=Cs(As());function _s(){return L.useSyncExternalStore(D.subscribe,D.getSnapshot,D.getSnapshot)}function ie(e,t={}){D.navigateTo(e,t)}function xt(){return typeof window>"u"?null:window.navigation??null}function Ot(){if(typeof window>"u")return!1;const e=xt();return e?e.canGoBack:window.history.length>1}function Us(){if(!Ot())return;const e=xt();if(e){e.back();return}window.history.back()}function Fo(e){if(!e||typeof e!="object")return null;const t=e.returnTo;return!t||typeof t!="object"||typeof t.view!="string"?null:t}function To(e){return!e||typeof e!="object"?!1:e.returnUseHistory===!0}function Ne(e){if(!e||typeof e!="object")return e;const{returnTo:t,returnUseHistory:n,settingsEntry:s,...o}=e;return o}function ks(e,t){if(t.returnTo!==void 0){const n=t.state!==void 0?t.state:Ne(e),s=n&&typeof n=="object"?{...n}:{};return s.returnTo=t.returnTo,s.returnUseHistory=t.replace!==!0,s}return t.state!==void 0?t.state:t.replace?e:Ne(e)}function Dt(e){return e?e.replace(/^#/,""):""}function Fs(e,t,n={}){const s=G(e.pathname,e.searchStr),o=Es(t,s),r=n.preserveSearch===!1?"":e.searchStr;let i=Ft(o,e.pathname);if({"/embed/home":"inbox","/embed/search":"search","/embed/ops":"ops"}[e.pathname]===o.view){const f=_t(i),I=f.pathname.split("/").filter(Boolean)[1];f.pathname=e.pathname;const R=new URLSearchParams(e.searchStr);for(const g of["embed","profile","theme","themeVars","_nav"]){const h=R.get(g);h!==null&&f.searchParams.set(g,h)}I&&f.searchParams.set("mode",I),i=f.pathname+f.search}const u=St(i,r),d=Dt(n.hash);return{route:o,href:`${u}${d?`#${d}`:""}`}}function Ts(e,t){const n=new URLSearchParams(e.searchStr);for(const[r,i]of Object.entries(t.searchPatch??{}))i===null?n.delete(r):n.set(r,i);const s=n.toString(),o=t.hash===void 0?e.hash:Dt(t.hash);return`${e.pathname}${s?`?${s}`:""}${o?`#${o}`:""}`}function xo(e){const t=D.getSnapshot(),n=Ts(t,e),s=`${t.pathname}${t.searchStr}${Tt(t.hash)}`;n!==s&&ie(n,{replace:e.replace??!0,state:e.state})}function xs(e,t,n){if(Rs(e))return null;const s=`${e}${t}`,o=be(s),r=ue(o),i=St(Ft(r,e),t);return!(N(o)!==N(r)||r.view==="agents-v2"||s!==i)||s===i?null:`${i}${Tt(n)}`}function Oo(){const{pathname:e,searchStr:t,hash:n}=_s(),s=`${e}${t}`,o=L.useMemo(()=>G(e,t),[e,t]),r=L.useRef({}),i=L.useRef(s);L.useEffect(()=>{const f=xs(e,t,n);f&&ie(f,{replace:!0})},[e,t,n]),L.useEffect(()=>{if(i.current===s)return;const f=G(e,t);requestAnimationFrame(()=>{window.scrollTo(0,r.current[N(f)]??0)}),i.current=s},[s,e,t]);const a=L.useCallback((f,I={})=>{const R=ue(f.view==="ops"&&!at()&&!Ut(f.mode)?{view:"inbox"}:f),g=G(e,t),{route:h,href:P}=Fs({pathname:e,searchStr:t},R,I);r.current[N(g)]=window.scrollY;const U=D.getSnapshot().state,_=ks(U,I);ie(P,{replace:I.replace,state:_}),requestAnimationFrame(()=>{window.scrollTo(0,r.current[N(h)]??0)})},[e,t]),u=L.useCallback(()=>Us(),[]),d=Ot();return{route:o,navigate:a,navigateBack:u,canNavigateBack:d}}export{Un as $,as as A,Ao as B,Po as C,Ro as D,Ct as E,Ms as F,wo as G,Yn as H,ge as I,F as J,po as K,ho as L,vo as M,Io as N,_o as O,$o as P,Uo as Q,uo as R,mn as S,vt as T,It as U,fo as V,Se as W,Zs as X,qs as Y,Js as Z,_n as _,Ft as a,Xs as a0,Cn as a1,no as a2,kn as a3,oo as a4,ro as a5,so as a6,ao as a7,eo as a8,to as a9,Lo as aA,Rt as aB,yo as aC,re as aD,bo as aE,So as aF,$t as aG,Qs as aa,ct as ab,it as ac,Oo as ad,io as ae,co as af,H as ag,ne as ah,Ws as ai,oe as aj,Q as ak,Dn as al,Kn as am,jn as an,St as ao,Gn as ap,ln as aq,lo as ar,bt as as,qe as at,mo as au,Ye as av,Jt as aw,Lt as ax,z as ay,go as az,ys as b,ko as c,xo as d,Fo as e,Bs as f,tt as g,Gs as h,le as i,Ks as j,zs as k,Hs as l,Ys as m,To as n,fn as o,pn as p,gn as q,be as r,De as s,Vs as t,_s as u,rs as v,In as w,Co as x,os as y,Eo as z};
@@ -1 +0,0 @@
1
- import{r as s,j as t,N as Ae}from"./index-C8uS5szO.js";import{g as Ve,e as _e,a as Be,b as fe,f as Pe,c as Ie}from"./scout-voice-DOQ_B77g.js";import{createLevelHistory as Te,energyFromPartialDelta as pe,tryStartMicLevelMeter as qe,VOICE_WAVE_BARS as ve}from"./voice-levels-Dcr3jglk.js";import{L as De}from"./loader-circle-DurUYl7E.js";import{c as be}from"./createLucideIcon-DkjnzvcJ.js";import{ad as Fe}from"./router-BKiMcYa7.js";function at(e){if(!e)return null;const n=e.replace(/_/g," ");return n.toLowerCase()==="relay agent"?"agent":n}const $e=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],Ke=be("mic",$e);const We=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],ze=be("square",We);function Oe(e,n=!1){return e.key==="Enter"&&!e.shiftKey&&(n||!!(e.metaKey||e.ctrlKey))&&!e.nativeEvent?.isComposing}function He(e){switch(e){case"starting":return"starting";case"recording":return"recording";case"processing":return"processing";default:return"idle"}}function Ue(e,n,l){if(l)return l;switch(e){case"starting":return"Starting voice…";case"recording":return n.trim()?n.trim():null;case"processing":return"Transcribing…";default:return null}}function ge(e){return new Promise(n=>window.setTimeout(n,e))}function Ye({onAppend:e,onError:n,onStatus:l,disabled:R,className:d}){const p=s.useRef(Ve()),u=s.useRef(null),g=s.useRef(Te(ve)),H=s.useRef(null),k=s.useRef(!1),b=s.useRef(""),q=s.useRef(0),v=s.useRef(0),[h,w]=s.useState("idle"),[X,_]=s.useState(""),[Z,D]=s.useState("probing"),[ne,F]=s.useState(null),[N,B]=s.useState(null),[L,U]=s.useState(null),[oe,E]=s.useState(0),S=s.useCallback(()=>{v.current&&(window.cancelAnimationFrame(v.current),v.current=0),H.current?.stop(),H.current=null,k.current=!1},[]),j=s.useCallback(r=>{U(r),n?.(r)},[n]),ee=s.useCallback((r,i,c,f)=>{l?.({state:r,partial:i,message:Ue(r,i,c),tone:c?"error":r==="recording"?"recording":r==="processing"?"processing":"neutral",levels:r==="idle"&&!c?[]:g.current.snapshot(),levelsLive:k.current,issue:c?f:null})},[l]);s.useEffect(()=>{ee(h,X,L,N)},[ee,N,L,X,h,oe]);const A=s.useCallback(async(r=!1)=>{const i=p.current;D(f=>f==="launching"?f:"probing");const c=await i.probe(r?{force:!0}:void 0);return F(c),D("idle"),c},[]);s.useEffect(()=>{_e();const r=p.current,i=Be(c=>{F(c.ok),D("idle")});return r.connectionState==="unknown"?A():(F(r.connectionState==="connected"),B(null),D("idle")),()=>{i(),S();const c=u.current;c&&(c.cancel().catch(()=>{}),u.current=null)}},[A,S]);const $=s.useCallback(r=>{g.current.push(r),E(i=>i+1)},[]),K=s.useCallback(()=>{if(v.current)return;let r=performance.now();const i=c=>{if(c-r>=36){r=c;const f=c-(q.current||c),C=pe(b.current,b.current,f);g.current.push(Math.max(.05,C)),E(a=>a+1)}v.current=window.requestAnimationFrame(i)};v.current=window.requestAnimationFrame(i)},[]),te=s.useCallback(async()=>{const r=p.current;U(null),B(null),_(""),b.current="",q.current=performance.now(),g.current.clear(),E(a=>a+1),w("starting"),S();let i=await fe({surface:"chat-composer",requestPermissions:!0});if(!i.ready&&i.issue?.code==="microphone_not_requested"&&(await ge(1800),i=await fe({surface:"chat-composer"})),!(i.ready||i.issue?.code==="microphone_not_requested")){w("idle");const a=i.issue;a?(B(a),j(Pe(a))):j("Scout voice is not ready."),A(!0);return}B(null),F(!0);let f=null,C=!1;try{if(f=await r.startLive({onState:m=>w(He(m)),onPartial:m=>{const V=b.current;if(b.current=m,q.current=performance.now(),_(m),!k.current){const T=pe(V,m,0);$(T)}},onLevel:m=>{C=!0,k.current=!0,v.current&&(window.cancelAnimationFrame(v.current),v.current=0),$(m)}}),u.current=f,w("recording"),await ge(140),u.current&&!C&&!k.current){const m=await qe(V=>{C=!0,k.current=!0,v.current&&(window.cancelAnimationFrame(v.current),v.current=0),$(V)});m&&u.current?H.current=m:u.current&&!k.current&&(k.current=!1,K())}const a=await f.result;u.current=null,S(),w("idle");const z=b.current.trim();_(""),b.current="",U(null),g.current.clear(),E(m=>m+1);const I=a.text?.trim()||z;I?e(I):j("No speech was detected. Check your microphone in Settings → Voice."),A(!0)}catch(a){u.current=null,S(),w("idle");const z=b.current.trim();_(""),b.current="",g.current.clear(),E(m=>m+1);const I=a instanceof Error?a.message:"Scout voice recording failed.";if(z){e(z),a instanceof Error&&a.name==="AbortError"||j(`Recording ended early, but Scout recovered the partial transcript. ${I}`);return}if(a instanceof Error&&a.name==="AbortError")return;j(I),A(!0)}},[e,A,$,j,K,S]),re=s.useCallback(async()=>{const r=u.current;if(!r)return;w("processing"),S();const i=window.setInterval(()=>{g.current.decay(.82),E(c=>c+1)},50);window.setTimeout(()=>window.clearInterval(i),600);try{await r.stop()}catch(c){try{await r.cancel()}catch{}u.current=null,w("idle");const f=b.current.trim();_(""),b.current="",g.current.clear(),E(a=>a+1);const C=c instanceof Error?c.message:"Scout voice recording did not finish.";f?(e(f),j(`Recording ended early, but Scout recovered the partial transcript. ${C}`)):j(C)}},[e,j,S]),ce=s.useCallback(()=>{if(h==="recording"){re();return}h==="processing"||h==="starting"||te()},[h,te,re]),y=h==="recording",x=Z==="launching"||h==="starting"||h==="processing",P=(p.current.canRequestMicrophone||N?.action==="request_microphone"||N?.action==="request_speech")&&!y&&!x,Y=(p.current.isMicrophoneHardDenied||N?.action==="open_microphone_settings")&&!y&&!x,se=(ne===!1||N!==null)&&!P&&!Y&&!y&&!x,W=L||(N?N.title:Y?"Microphone blocked. Open Privacy & Security → Microphone to change it.":P?"Allow microphone access":se?"Scout voice is not ready":Z==="probing"?"Checking voice…":y?"Stop recording":h==="processing"?"Transcribing…":h==="starting"?"Starting voice…":"Start recording"),G=L?"s-dictation-mic--error":y?"s-dictation-mic--recording":Y?"s-dictation-mic--error":P?"s-dictation-mic--needs-permission":se?"s-dictation-mic--unavailable":x?"s-dictation-mic--busy":"",ie=x?De:y?ze:Ke,J=y?12:14;return t.jsx("button",{type:"button",title:W,"aria-label":W,"aria-pressed":y,onClick:ce,disabled:R||h==="processing",className:["s-dictation-mic",G,d].filter(Boolean).join(" "),children:t.jsx(ie,{size:J,className:x?"s-dictation-mic-spin":y?"fill-current":""})})}function Ge({samples:e,active:n,processing:l=!1,className:R}){const d=Je(e,ve,l?.06:.04),p=["s-msg-compose-wave",n?"s-msg-compose-wave--live":"",l?"s-msg-compose-wave--processing":"",R??""].filter(Boolean).join(" ");return t.jsx("div",{className:p,"aria-hidden":"true","data-wave-source":e&&e.length>0?"levels":"floor",children:d.map((u,g)=>t.jsx("span",{className:"s-msg-compose-wave-bar",style:{transform:`scaleY(${Math.max(.08,u)})`,opacity:l?.28+u*.35:n?.4+u*.55:.25}},g))})}function Je(e,n,l){if(!e||e.length===0)return Array.from({length:n},()=>l);if(e.length===n)return e.map(d=>Math.max(l,Math.min(1,d)));const R=new Array(n);for(let d=0;d<n;d+=1){const p=Math.min(e.length-1,Math.round(d/Math.max(1,n-1)*(e.length-1)));R[d]=Math.max(l,Math.min(1,e[p]??l))}return R}function Qe(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M12 19V5"}),t.jsx("path",{d:"m5 12 7-7 7 7"})]})}function Xe(){return t.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}function Ze(){return t.jsx("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("path",{d:"M21.44 11.05 12.05 20.44a5.5 5.5 0 0 1-7.78-7.78l9.19-9.19a3.5 3.5 0 0 1 4.95 4.95l-9.2 9.19a1.5 1.5 0 0 1-2.12-2.12l8.49-8.48"})})}function he(e,n){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,n)}px`}function et(e){return e.tone==="error"?"Voice":e.state==="recording"?"Listening":e.state==="processing"?"Transcribing":e.state==="starting"?"Starting":"Voice"}function lt({renderWhenEmbedded:e=!1,...n}){return Ae()&&!e?null:t.jsx(tt,{...n})}function tt({value:e,onChange:n,onSend:l,placeholder:R="Type a message…",disabled:d=!1,sending:p=!1,canSend:u,stopMode:g=!1,onStop:H,sendTitle:k="Send (Cmd+Enter)",sendAriaLabel:b="Send message (Cmd+Enter)",stopAriaLabel:q="Stop agent",showDictation:v=!0,onDictationStatusChange:h,onDictationCommit:w,showAttach:X=!1,onAttach:_,attachTitle:Z="Add attachment",attachAriaLabel:D="Add attachment",onPaste:ne,dropHandlers:F,dragActive:N=!1,secondaryAction:B,leadingTools:L,tools:U,footer:oe,header:E,above:S,aboveAttached:j=!1,input:ee,overlay:A,status:$,textareaRef:K,onKeyDown:te,sendOnEnter:re=!1,onSelect:ce,onBlur:y,density:x="panel",as:P="form",className:Y,rows:se=1,autoResize:W=!0,maxHeightPx:G=160,"aria-label":ie="Message"}){const J=s.useRef(null),[r,i]=s.useState(null),[c,f]=s.useState(!1),[C,a]=s.useState(null),z=s.useCallback(o=>{J.current=o,K&&(K.current=o)},[K]);s.useEffect(()=>{if(!W)return;const o=J.current;o&&he(o,G)},[e,W,G]);const I=(u??e.trim().length>0)&&!p&&!d,m=U??oe,V=r?.state==="recording"||r?.state==="starting",T=r?.state==="processing",xe=!!(r&&(r.tone==="error"||V||T||r.partial&&r.partial.trim())),ae=s.useCallback(()=>{g||!(u??e.trim().length>0)||p||d||l()},[u,d,l,p,g,e]),Se=o=>{o.preventDefault(),ae()},we=o=>{if(te?.(o)){o.preventDefault();return}if(Oe(o,re)){o.preventDefault(),ae();return}},je=o=>{const O=o.target.value;n(O,{caret:o.target.selectionStart??O.length}),W&&he(o.target,G)},ye=o=>{const O=e.trim()?`${e.trimEnd()} ${o}`:o;if(n(O,{caret:O.length}),w){w(O);return}requestAnimationFrame(()=>J.current?.focus())},Ce=s.useCallback(o=>{i(o),o.issue||a(null),h?.(o)},[h]),le=["s-msg-compose",`s-msg-compose--${x}`,x==="thread"?"s-thread-compose":"",Y??""].filter(Boolean).join(" "),ke=["s-msg-compose-shell",x==="thread"?"s-thread-compose-shell":""].filter(Boolean).join(" "),Ne=["s-msg-compose-input",x==="thread"?"s-thread-compose-input":""].filter(Boolean).join(" "),ue=["s-msg-compose-send",x==="thread"?"s-thread-compose-send":"",g?"s-msg-compose-send--agent-stop s-thread-compose-send--stop":""].filter(Boolean).join(" "),Ee=["s-msg-compose-voice",r?.tone==="recording"||V?"s-msg-compose-voice--recording":"",r?.tone==="processing"||T?"s-msg-compose-voice--processing":"",r?.tone==="error"?"s-msg-compose-voice--error":""].filter(Boolean).join(" "),{navigate:Me}=Fe(),Q=r?.tone==="error",Re=r?.partial?.trim()||null,M=Q?r?.issue??null:null,de=Q?r?.message:T?"Finalizing transcript…":Re,Le=t.jsxs("div",{className:ke,"data-drag-active":N?"true":void 0,...F,children:[E?t.jsx("div",{className:"s-msg-compose-header",children:E}):null,t.jsxs("div",{className:"s-msg-compose-body",children:[ee??t.jsx("textarea",{ref:z,className:Ne,placeholder:R,value:e,disabled:d,rows:se,"aria-label":ie,onChange:je,onKeyDown:we,onSelect:ce,onBlur:y,onPaste:ne}),xe?t.jsxs("div",{className:Ee,role:Q?"alert":"status","aria-live":Q?"assertive":"polite",children:[!Q&&(V||T)?t.jsx(Ge,{samples:r?.levels,active:V,processing:T}):null,t.jsxs("div",{className:"s-msg-compose-voice-meta",children:[t.jsx("span",{className:"s-msg-compose-voice-label",children:r?et(r):"Voice"}),M?t.jsxs("span",{className:"s-msg-compose-voice-issue",children:[t.jsx("span",{className:"s-msg-compose-voice-issue-title",children:M.title}),M.hint?t.jsx("span",{className:"s-msg-compose-voice-issue-hint",children:M.hint}):null,M.action!=="none"&&M.actionLabel?t.jsx("button",{type:"button",className:"s-msg-compose-voice-issue-action",disabled:c,onClick:()=>{a(null),M.action==="open_voice_settings"?Me({view:"settings",section:"voice"}):(f(!0),Ie(M.action).catch(o=>a(o instanceof Error?o.message:String(o))).finally(()=>f(!1)))},children:M.actionLabel}):null,C?t.jsx("span",{children:C}):null]}):de?t.jsx("span",{className:"s-msg-compose-voice-text",children:de}):null]})]}):null]}),t.jsxs("div",{className:["s-msg-compose-toolbar",x==="thread"?"s-thread-compose-footer":""].filter(Boolean).join(" "),children:[t.jsxs("div",{className:"s-msg-compose-toolbar-start",children:[L,X?t.jsx("button",{type:"button",className:"s-msg-compose-icon-btn",title:Z,"aria-label":D,disabled:d||p,onClick:_,children:t.jsx(Ze,{})}):L?null:t.jsx("span",{className:"s-msg-compose-toolbar-spacer","aria-hidden":"true"})]}),t.jsxs("div",{className:"s-msg-compose-toolbar-end",children:[m?t.jsx("div",{className:"s-msg-compose-tools",children:m}):null,v?t.jsx(Ye,{onAppend:ye,onStatus:Ce,disabled:d||p}):null,B?t.jsx("div",{className:"s-msg-compose-secondary",children:B}):null,g?t.jsx("button",{type:"button",className:ue,onClick:H,title:q,"aria-label":q,children:t.jsx(Xe,{})}):t.jsx("button",{type:P==="form"?"submit":"button",className:ue,disabled:!I,title:k,"aria-label":b,"data-action":"send",onClick:P==="div"?()=>ae():void 0,children:t.jsx(Qe,{})})]})]}),$]}),me=t.jsxs("div",{className:"s-msg-compose-frame","data-above-attached":S&&j?"true":void 0,children:[A,S?t.jsx("div",{className:"s-msg-compose-above",children:S}):null,Le]});return P==="div"?t.jsx("div",{className:le,children:me}):t.jsx("form",{className:le,onSubmit:Se,children:me})}export{Ye as D,lt as M,ze as S,Ke as a,at as f,Oe as i};
@@ -1 +0,0 @@
1
- import{_ as A}from"./index-C8uS5szO.js";import{b as q,p as N,V as U,D as $}from"./fx-z37u1o2z.js";function F(){return{code:"host_offline",title:"Scout Menu is not connected",message:"No voice host has registered with this web server.",hint:"The browser never records audio — Scout Menu is the voice host. If it is already running, this clears on its own; otherwise launch it.",action:"launch_host",actionLabel:"Launch Scout Menu"}}function j(t){return!t||t.granted?null:t.canRequest?{code:"microphone_not_requested",title:"Microphone access needed",message:"Scout Menu needs microphone access before dictation can start.",hint:"Request access or tap the mic again to show the macOS prompt.",action:"request_microphone",actionLabel:"Request access"}:t.status==="denied"?{code:"microphone_denied",title:"Microphone blocked",message:"Scout Menu cannot record because microphone access is off.",hint:"Scout is opening macOS Microphone settings and will detect the change automatically.",action:"open_microphone_settings",actionLabel:"Open Microphone settings"}:{code:"microphone_denied",title:"Microphone unavailable",message:"Scout Menu cannot access the microphone on this Mac.",hint:"Open Privacy & Security → Microphone to review it.",action:"open_microphone_settings",actionLabel:"Open Microphone settings"}}function H(t){return!t||t.granted?null:t.canRequest?{code:"speech_not_requested",title:"Speech recognition needed",message:"Scout Menu needs speech recognition for live partials and Apple Speech fallback.",hint:"Request access to show the macOS prompt.",action:"request_speech",actionLabel:"Request access"}:{code:"speech_denied",title:"Speech recognition blocked",message:"Speech recognition is off for Scout Menu.",hint:"Choose Retry access to reopen macOS Speech Recognition settings.",action:"open_speech_settings",actionLabel:"Open Speech settings"}}function G(){return{code:"no_input_device",title:"No microphone detected",message:"Scout Menu did not report any audio input devices.",hint:"Plug in a microphone, check Sound settings, then refresh Settings → Voice.",action:"open_voice_settings",actionLabel:"Open Voice settings"}}function we(t){return t?t.hint?`${t.message} ${t.hint}`:t.message:"Scout voice is unavailable."}async function Se(t){switch(t){case"request_microphone":await _("microphone");return;case"request_speech":await _("speechRecognition");return;case"open_microphone_settings":await C("microphone");return;case"open_speech_settings":await C("speechRecognition");return;case"launch_host":await D().launch({source:"openscout"});return;case"open_voice_settings":case"none":return}}async function ge(t={}){const e=await fetch("/api/voice/engage",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(e.status===404)return z(t);if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(y(n,e.status))}return await e.json()}async function z(t={}){const e=await he(),n=e.settings,i=e.devices,r=i.length>0||(n.permissions?.length??0)>0,o=n.permissions?.find(w=>w.kind==="microphone")??null,s=n.permissions?.find(w=>w.kind==="speechRecognition")??null,u=B(n,i);if(t.requestPermissions&&(o&&!o.granted&&o.status!=="restricted"?await _("microphone").catch(()=>{}):(o?.granted??!1)&&s&&!s.granted&&s.status!=="restricted"&&await _("speechRecognition").catch(()=>{})),!r)return{ready:!1,issue:F(),warnings:[],settings:n,devices:i,inputDevice:null,hostOnline:!1};const h=j(o);if(h)return{ready:!1,issue:h,warnings:[],settings:n,devices:i,inputDevice:u,hostOnline:r};if(!u)return{ready:!1,issue:G(),warnings:[],settings:n,devices:i,inputDevice:null,hostOnline:r};const d=H(s);return{ready:!0,issue:null,warnings:d?[d]:[],settings:n,devices:i,inputDevice:u,hostOnline:r}}function B(t,e){if(e.length===0)return null;const n=t.inputDeviceId?e.find(o=>o.id===t.inputDeviceId):null,i=e.find(o=>o.isDefault)??e[0]??null,r=n??i;return r?{id:r.id,name:r.name}:null}function J(t,e){switch(e){case"microphone_permission":return"Microphone access is off for Scout Menu. Tap the mic to retry; Scout will open macOS Microphone settings.";case"empty_transcript":return"No speech was detected. Check your microphone input in Settings → Voice.";default:return t}}const W=6e4,X=3e3,K=2e4,Q=8e3,Y=45e3;let T=null,E=null,l=null,P=!1;const R=new Set;function Z(){return typeof window>"u"?!1:typeof fetch=="function"}function D(){return T||(T=new ee),T}function ve(t){return R.add(t),l&&t(l),()=>{R.delete(t)}}function ye(){if(P||!Z())return;P=!0;const t=D();t.probe();const e=()=>{t.probeIfStale()};window.addEventListener("focus",e),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function O(t){for(const e of R)e(t)}function L(t,e=Date.now()){const n=t.ok?K:Q;return e-t.probedAt<n}class ee{state="unknown";unavailableReason=null;captureMode=null;hostReachable=!1;microphoneGranted=null;microphoneCanRequest=null;inputDeviceName=null;get connectionState(){return this.state}get lastUnavailableReason(){return this.unavailableReason}get preferredCaptureMode(){return this.captureMode}get isVoiceHostReachable(){return this.hostReachable}get activeInputDeviceName(){return this.inputDeviceName}get isMicrophoneGranted(){return this.microphoneGranted}get canRequestMicrophone(){return this.hostReachable&&this.microphoneGranted===!1&&this.microphoneCanRequest===!0}get isMicrophoneHardDenied(){return this.hostReachable&&this.microphoneGranted===!1&&this.microphoneCanRequest===!1}get isMicrophoneDenied(){return this.isMicrophoneHardDenied}async probeIfStale(){const e=Date.now();return l&&L(l,e)?(this.applyProbeSnapshot(l),l.ok):l&&l.ok&&e-l.probedAt<Y?(this.applyProbeSnapshot(l),!0):l&&!l.ok?this.probe({force:!0}):this.probe()}async probe(e={}){const n=typeof e=="number"?{timeoutMs:e}:e,i=n.force??!1,r=n.timeoutMs??X,o=Date.now();return!i&&l&&L(l,o)?(this.applyProbeSnapshot(l),l.ok):E||(this.state="probing",E=this.fetchProbe(r).finally(()=>{E=null}),E)}async fetchProbe(e){const n=new AbortController,i=window.setTimeout(()=>n.abort(),e);try{const r=await fetch("/api/voice/health?quiet=1",{signal:n.signal}),o=await r.json().catch(()=>({})),s=!!o.host?.hostId,u=typeof o.microphoneGranted=="boolean"?o.microphoneGranted:null,h=typeof o.microphoneCanRequest=="boolean"?o.microphoneCanRequest:null,d=typeof o.inputDevice?.name=="string"&&o.inputDevice.name.trim()?o.inputDevice.name.trim():null,w=o.capture==="browser"?"browser":"native",S=r.ok&&o.ok===!0,v=S?null:o.detail??o.error??(s?"Scout voice is not ready.":"Scout voice service is unavailable."),f={ok:S,reason:v,captureMode:S?w:null,hostReachable:s,microphoneGranted:u,microphoneCanRequest:h,inputDeviceName:d,probedAt:Date.now()};return l=f,this.applyProbeSnapshot(f),O(f),S}catch(r){const s={ok:!1,reason:r instanceof Error&&r.name==="AbortError"?"Scout voice service did not respond.":"Scout voice service is unavailable.",captureMode:null,hostReachable:!1,microphoneGranted:null,microphoneCanRequest:null,inputDeviceName:null,probedAt:Date.now()};return l=s,this.applyProbeSnapshot(s),O(s),!1}finally{window.clearTimeout(i)}}applyProbeSnapshot(e){if(this.hostReachable=e.hostReachable,this.microphoneGranted=e.microphoneGranted,this.microphoneCanRequest=e.microphoneCanRequest,this.inputDeviceName=e.inputDeviceName,e.ok){this.unavailableReason=null,this.captureMode=e.captureMode,this.state="connected";return}this.unavailableReason=e.reason,this.captureMode=null,this.state="unavailable"}async launch(e={}){window.location.href="scout://hud/show"}async startLive(e={},n={}){return this.captureMode!=="browser"?await te(e,n):await ne(e)}}async function te(t={},e={}){t.onState?.("starting");const n=await fetch("/api/voice/session",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({clientId:"openscout-web",surface:e.surface?.trim()||"chat-composer"})});if(!n.ok){const a=await n.text().catch(()=>"");throw new Error(y(a,n.status))}const r=(await n.json()).sessionId?.trim();if(!r)throw new Error("Scout voice did not return a session id.");let o=!1,s,u;const h=new Promise((a,p)=>{s=a,u=p});let d=null;const w=()=>{d&&window.clearTimeout(d),d=window.setTimeout(()=>{v(new Error("Scout voice transcription timed out. Try again or check voice settings."))},W)},S=()=>{d&&(window.clearTimeout(d),d=null)},v=(a,p="error")=>{o||(o=!0,S(),m.close(),t.onState?.(p),u(a))},f=a=>{o||(o=!0,S(),m.close(),t.onFinal?.(a),t.onState?.("done"),s(a))},m=new EventSource(`/api/voice/session/${encodeURIComponent(r)}/events`),c=a=>p=>{if(o)return;let g={};try{g=JSON.parse(p.data)}catch{return}if(a==="session.partial"){const b=typeof g.text=="string"?g.text:"";t.onPartial?.(b);return}if(a==="session.state"){const b=oe(g.state);b&&(t.onState?.(b),b==="processing"&&w());return}if(a==="session.final"){f({sessionId:r,text:typeof g.text=="string"?g.text.trim():"",durationMs:Number(g.durationMs??0)});return}if(a==="session.cancelled"){v(M(),"cancelled");return}if(a==="session.error"){const b=typeof g.message=="string"?g.message:"Scout voice session failed.",x=typeof g.code=="string"?g.code:null;v(new Error(J(b,x)))}};return m.addEventListener("session.started",()=>{t.onState?.("starting")}),m.addEventListener("session.state",c("session.state")),m.addEventListener("session.partial",c("session.partial")),m.addEventListener("session.final",c("session.final")),m.addEventListener("session.cancelled",c("session.cancelled")),m.addEventListener("session.error",c("session.error")),m.onerror=()=>{o||v(new Error("Scout voice event stream disconnected."))},{get sessionId(){return r},result:h,stop:async()=>{t.onState?.("processing"),w();const a=await fetch(`/api/voice/session/${encodeURIComponent(r)}/stop`,{method:"POST"});if(!a.ok){const p=await a.text().catch(()=>"");throw new Error(y(p,a.status))}},cancel:async()=>{o=!0,S(),m.close();const a=await fetch(`/api/voice/session/${encodeURIComponent(r)}/cancel`,{method:"POST"});if(!a.ok){const p=await a.text().catch(()=>"");throw new Error(y(p,a.status))}t.onState?.("cancelled"),u(M())}}}async function ne(t={}){if(typeof MediaRecorder>"u"||!navigator.mediaDevices?.getUserMedia)throw new Error("Scout voice capture is unavailable in this browser.");const{startStreamLevelMeter:e}=await A(async()=>{const{startStreamLevelMeter:c}=await import("./voice-levels-Dcr3jglk.js");return{startStreamLevelMeter:c}},[]),n=pe(),i=[];let r=null,o=null,s=null,u=!1,h=!1,d,w;const S=new Promise((c,a)=>{d=c,w=a}),v=()=>{s?.stop(),s=null;for(const c of r?.getTracks()??[])c.stop();r=null},f=(c,a="error")=>{h||(h=!0,v(),t.onState?.(a),w(c))},m=async()=>{if(h)return;if(v(),u){f(M(),"cancelled");return}t.onState?.("processing");const c=o?.mimeType||V()||"application/octet-stream",a=new Blob(i,{type:c});if(a.size===0){f(new Error("No voice audio was captured."));return}try{const p=await ae(a,{sessionId:n});if(h)return;h=!0,t.onFinal?.(p),t.onState?.("done"),d(p)}catch(p){f(p instanceof Error?p:new Error(String(p)))}};try{t.onState?.("starting"),r=await navigator.mediaDevices.getUserMedia({audio:!0}),t.onLevel&&(s=e(r,t.onLevel));const c=V();o=new MediaRecorder(r,c?{mimeType:c}:void 0),o.addEventListener("dataavailable",a=>{a.data.size>0&&i.push(a.data)}),o.addEventListener("error",()=>{f(new Error("Scout voice recorder failed."))}),o.addEventListener("stop",()=>{m()},{once:!0}),o.start(),t.onPartial?.(""),t.onState?.("recording")}catch(c){const a=c instanceof Error?c:new Error(String(c));throw f(a),S.catch(()=>{}),a}return{get sessionId(){return n},result:S,stop:async()=>{!o||o.state==="inactive"||o.stop()},cancel:async()=>{if(u=!0,o&&o.state!=="inactive"){o.stop();return}f(M(),"cancelled")}}}function oe(t){return t==="starting"||t==="recording"||t==="processing"||t==="done"||t==="cancelled"||t==="error"?t:null}function y(t,e){try{return JSON.parse(t).error??`Scout voice returned HTTP ${e}`}catch{return t||`Scout voice returned HTTP ${e}`}}function be(t){return t instanceof Error&&t.name==="AbortError"}async function k(t,e={}){const n={text:t,speed:le(e.speed)};e.modelId&&(n.modelId=e.modelId),e.voiceId&&(n.voiceId=e.voiceId),e.originAppId&&(n.originAppId=e.originAppId),e.utteranceId&&(n.utteranceId=e.utteranceId),e.instructions&&(n.instructions=e.instructions),e.speechTiming?.enabled&&(n.speechTiming=e.speechTiming),e.playback&&(n.playback=e.playback);const i=await fetch("/api/voice/speak",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n),signal:e.signal});if(!i.ok){const r=await i.text().catch(()=>"");try{const o=JSON.parse(r);throw new Error(o.error??`Scout voice returned HTTP ${i.status}`)}catch(o){throw o instanceof SyntaxError?new Error(r||`Scout voice returned HTTP ${i.status}`):o}}return await i.json()}async function Ee(t){const e=t?`?modelId=${encodeURIComponent(t)}`:"",n=await fetch(`/api/voice/catalog${e}`,{headers:{accept:"application/json"}});if(!n.ok)throw new Error(`Scout voice catalog returned HTTP ${n.status}`);return await n.json()}function Me(t,e,n){if(t.voices.find(s=>s.id===n&&s.modelId===e))return{modelId:e,voiceId:n};const r=t.voices.filter(s=>s.modelId===e),o=r.find(s=>s.isDefault&&s.available!==!1)??r.find(s=>s.available!==!1)??r[0];return{modelId:e,voiceId:o?.id??n}}async function re(t,e={}){if(e.signal?.aborted)throw I();if(t.playedOnHost)return e.onPlaybackStart?.(),t;const n=new Audio(`data:${t.contentType};base64,${t.audioBase64}`),i=()=>{n.pause(),n.currentTime=0};e.signal?.addEventListener("abort",i,{once:!0}),await n.play(),e.onPlaybackStart?.();try{return await new Promise((r,o)=>{const s=()=>{n.removeEventListener("ended",u),n.removeEventListener("error",h),e.signal?.removeEventListener("abort",d)},u=()=>{s(),r()},h=()=>{s(),o(new Error("Scout voice playback failed."))},d=()=>{s(),o(I())};if(e.signal?.aborted){d();return}n.addEventListener("ended",u,{once:!0}),n.addEventListener("error",h,{once:!0}),e.signal?.addEventListener("abort",d,{once:!0})}),t}finally{e.signal?.removeEventListener("abort",i)}}async function ie(t,e={}){const n=await k(t,e);return await re(n,{signal:e.signal})}function _e(t,e={}){const n=new AbortController;return{promise:ie(t,{...e,signal:n.signal}),stop:()=>n.abort()}}async function se(t,e={}){const n=await k(t,e);if(e.signal?.aborted)throw I();if(n.playedOnHost)return n;const i=await q(n.audioBase64,n.contentType),r=de(e.presetId,e.params);return await N(i,{params:r,signal:e.signal}).promise,n}function Te(t,e={}){const n=new AbortController;return{promise:se(t,{...e,signal:n.signal}),stop:()=>n.abort()}}async function ae(t,e){const n=new FormData,i=ce(t.type);n.append("audio",t,`audio.${ue(t.type)}`),n.append("sessionId",e.sessionId),i&&n.append("format",i);const r=await fetch("/api/voice/transcribe",{method:"POST",body:n});if(!r.ok){const s=await r.text().catch(()=>"");try{const u=JSON.parse(s);throw new Error(u.error??`Scout voice returned HTTP ${r.status}`)}catch(u){throw u instanceof SyntaxError?new Error(s||`Scout voice returned HTTP ${r.status}`):u}}const o=await r.json();return{sessionId:e.sessionId,text:o.text?.trim()??"",durationMs:Number(o.durationMs??0)}}function I(){const t=new Error("Speech stopped.");return t.name="AbortError",t}function M(){const t=new Error("Voice recording was cancelled.");return t.name="AbortError",t}function V(){return typeof MediaRecorder>"u"||typeof MediaRecorder.isTypeSupported!="function"?void 0:["audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/webm","audio/wav"].find(e=>{try{return MediaRecorder.isTypeSupported(e)}catch{return!1}})}function ce(t){const e=t.toLowerCase();if(e.includes("mp3")||e.includes("mpeg"))return"mp3";if(e.includes("wav"))return"wav";if(e.includes("aac")||e.includes("mp4"))return"aac";if(e.includes("opus")||e.includes("ogg")||e.includes("webm"))return"opus"}function ue(t){const e=t.toLowerCase();return e.includes("webm")?"webm":e.includes("ogg")||e.includes("opus")?"opus":e.includes("mp4")||e.includes("aac")?"m4a":e.includes("wav")?"wav":e.includes("mp3")||e.includes("mpeg")?"mp3":"audio"}function de(t,e){const n=t?U.find(i=>i.id===t)?.params:void 0;return{...$,...n??{},...e??{}}}function le(t){if(!(t===void 0||!Number.isFinite(t)))return Math.min(2,Math.max(.5,Number(t.toFixed(2))))}function pe(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`scout-voice:${crypto.randomUUID()}`:`scout-voice:${Date.now().toString(36)}:${Math.random().toString(36).slice(2)}`}async function he(){const t=await fetch("/api/voice/settings");if(!t.ok){const e=await t.text().catch(()=>"");throw new Error(y(e,t.status))}return await t.json()}async function C(t="microphone"){const e=await fetch("/api/voice/permissions/open",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:t})});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(y(n,e.status))}}async function _(t="microphone"){const e=await fetch("/api/voice/permissions/request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:t})});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(y(n,e.status))}}async function Re(t=12){const e=await fetch(`/api/voice/history?limit=${t}`);if(!e.ok){const i=await e.text().catch(()=>"");throw new Error(y(i,e.status))}return(await e.json()).sessions??[]}async function Ie(t){const e=await fetch("/api/voice/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(y(n,e.status))}return await e.json()}export{ve as a,ge as b,Se as c,Te as d,ye as e,we as f,D as g,Ee as h,be as i,Me as j,re as k,he as l,Re as m,Ie as n,C as o,k as p,_ as r,_e as s};
@@ -1 +0,0 @@
1
- import{a,b as o}from"./nav-destinations-CyXnw9kh.js";const r=o(),t=a();export{r as A,t as O};
@@ -1 +0,0 @@
1
- .s-secondary-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:0 var(--space-xs)}.s-secondary-nav-shell{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.s-secondary-nav-bar{flex:none;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 var(--space-3xl);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 52%,transparent)}.s-secondary-nav-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.s-secondary-nav-body>*{flex:1 1 auto;min-height:0}.s-secondary-nav-body--scroll{overflow:auto}.s-secondary-nav::-webkit-scrollbar{display:none}.s-secondary-nav-group{flex:none;display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0}.s-secondary-nav-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);opacity:.7;white-space:nowrap}.s-secondary-nav-switch{display:inline-flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 82%,transparent),transparent),color-mix(in srgb,var(--bg) 68%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.s-secondary-nav-button{flex:none;min-height:24px;padding:var(--space-3xs) var(--space-md);border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--dim);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);line-height:var(--leading-none);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.s-secondary-nav-button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-secondary-nav-button--active{background:color-mix(in srgb,var(--accent) 90%,white 4%);color:var(--bg);box-shadow:inset 0 1px color-mix(in srgb,white 16%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 52%,transparent)}
@@ -1 +0,0 @@
1
- [data-scout-theme-mode]{--sys-hairline: color-mix(in srgb, var(--ink) 7%, transparent);--sys-hairline-soft: color-mix(in srgb, var(--ink) 5%, transparent);--sys-head-tint: color-mix(in srgb, var(--ink) 3%, transparent);--sys-well: color-mix(in srgb, var(--bg) 84%, transparent);--sys-row-hover: color-mix(in srgb, var(--accent) 5%, transparent);--sys-row-selected: color-mix(in srgb, var(--accent) 9%, transparent)}[data-scout-theme-mode=light]{--sys-hairline: var(--border);--sys-hairline-soft: color-mix(in srgb, var(--border) 62%, transparent);--sys-head-tint: color-mix(in srgb, var(--ink) 3.5%, transparent);--sys-well: color-mix(in srgb, var(--ink) 4%, transparent);--sys-row-hover: color-mix(in srgb, var(--accent) 7%, transparent);--sys-row-selected: color-mix(in srgb, var(--accent) 12%, transparent)}.sys-surface-page{display:flex;flex-direction:column;gap:var(--space-5xl);padding:var(--space-4xl) var(--space-5xl) var(--space-5xl);max-width:820px!important}.sys-surface-page-wide{max-width:1080px!important}.sys-surface-page-fluid{width:100%;max-width:none!important}.sys-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2xl)}.sys-page-title-group{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.sys-page-kicker{display:none}.sys-page-title{font-family:var(--font-accent-title);font-size:var(--text-6xl);font-weight:500;line-height:var(--leading-none);letter-spacing:-.025em;color:var(--ink)}.sys-page-subtitle{max-width:520px;font-size:var(--text-md);color:var(--dim);line-height:var(--leading-snug)}.sys-page-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.sys-sync-note{font-size:var(--text-sm);color:var(--muted)}.sys-panel{border:1px solid var(--sys-hairline);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:none;padding:var(--space-2xl)}.sys-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2xl);margin-bottom:var(--space-lg)}.sys-section-title{font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:500;color:var(--ink);letter-spacing:-.01em}.sys-section-subtitle{margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--dim)}.sys-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm)}.sys-stat-card{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border:1px solid var(--sys-hairline-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);padding:var(--space-lg) var(--space-xl)}.sys-stat-label{font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);opacity:.6}.sys-stat-value{font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere}.sys-stat-detail{font-size:var(--text-sm);color:var(--muted)}.sys-chip-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center}.sys-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-md);padding:var(--space-2xs) var(--space-sm);border:1px solid transparent;font-size:var(--text-xs);font-weight:600;line-height:var(--leading-none)}.sys-chip-neutral{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:color-mix(in srgb,var(--muted) 18%,transparent)}.sys-chip-notice,.sys-chip-warning{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);border-color:color-mix(in srgb,var(--amber) 22%,transparent)}.sys-chip-working{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.sys-chip-success,.sys-chip-completed{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border-color:color-mix(in srgb,var(--green) 20%,transparent)}.sys-chip-danger,.sys-chip-failed{color:var(--red);background:color-mix(in srgb,var(--red) 11%,transparent);border-color:color-mix(in srgb,var(--red) 18%,transparent)}.sys-banner{display:flex;align-items:flex-start;gap:var(--space-sm);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-2xl);font-size:var(--text-lg)}.sys-banner strong{white-space:nowrap}.sys-banner-warning{background:color-mix(in srgb,var(--amber) 10%,transparent);border-color:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber)}.sys-banner-info{background:color-mix(in srgb,var(--accent) 7%,transparent);border-color:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.sys-banner-success{background:color-mix(in srgb,var(--green) 8%,transparent);border-color:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}.sys-banner-error{background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red)}.sys-banner-muted{background:color-mix(in srgb,var(--accent) 5%,transparent);border-color:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.sys-tab-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;border-bottom:1px solid var(--sys-hairline)}.sys-tab{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-none);padding:0 var(--space-md) var(--space-lg);cursor:pointer}.sys-tab:hover{color:var(--ink)}.sys-tab-active{color:var(--ink);border-bottom-color:var(--accent)}.sys-kicker{color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-page{gap:var(--space-lg);height:100%;min-height:0;padding:var(--space-lg) var(--space-3xl) var(--space-3xl);overflow:auto}.sys-broker-page .sys-ledger-toolbar{align-items:center;flex:0 0 auto;min-height:0;border-bottom:0}.sys-ledger-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg);min-height:38px;border-bottom:1px solid var(--sys-hairline)}.sys-ledger-toolbar .sys-tab-row{min-width:0;flex:1 1 420px;flex-wrap:nowrap;overflow-x:auto;border-bottom:0}.sys-broker-page .sys-tab-row--toolbar{flex:0 1 auto;width:fit-content;padding:3px;overflow:visible;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg);background:var(--sys-well)}.sys-tab-row--toolbar .sys-tab{padding-bottom:var(--space-md)}.sys-broker-page .sys-tab-row--toolbar .sys-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:0;border-radius:calc(var(--radius-lg) - 2px);color:var(--dim);font-weight:550;transition:color .12s ease,background .12s ease,box-shadow .12s ease}.sys-broker-page .sys-tab-row--toolbar .sys-tab:hover{color:var(--ink)}.sys-broker-page .sys-tab-row--toolbar .sys-tab-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb,var(--bg) 32%,transparent)}.sys-tab-count{min-width:17px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.35;text-align:center}.sys-tab-active .sys-tab-count{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.sys-ledger-actions{margin-left:auto;padding-bottom:0}.sys-ledger-kicker{padding-bottom:var(--space-md);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-ledger-footer{display:flex;justify-content:center;padding:var(--space-lg) 0 var(--space-sm)}.sys-broker-source-note{display:flex;align-items:center;gap:var(--space-sm);min-width:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.sys-broker-source-note strong{color:var(--muted);font-weight:600}.sys-broker-source-note--warning strong{color:color-mix(in srgb,var(--amber) 84%,var(--ink))}.sys-broker-source-spinner{flex:0 0 auto;color:var(--muted);animation:sys-broker-source-spin .8s linear infinite}@keyframes sys-broker-source-spin{to{transform:rotate(360deg)}}.sys-broker-source-dot{flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 10%,transparent)}.sys-broker-wire{display:flex;flex-direction:column;gap:var(--space-md);background:transparent}.sys-broker-wire-head,.sys-broker-wire-row{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr) 60px;column-gap:var(--space-2xl);align-items:center}.sys-broker-wire-head{padding:0 var(--space-lg) var(--space-xs);border-left:2px solid transparent;border-bottom:1px solid var(--sys-hairline)}.sys-broker-wire-head .sys-broker-col{overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-lg);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sys-broker-wire-head .sys-broker-col--time{text-align:right}.sys-broker-wire-body{display:flex;flex-direction:column}.sys-broker-day{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.sys-broker-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-xs)}.sys-broker-day-head h2{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-day-head span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.sys-broker-wire-row{position:relative;box-sizing:border-box;width:100%;padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--sys-hairline-soft);border-left:2px solid transparent;cursor:pointer;outline:none;transition:background .12s ease,border-color .12s ease}.sys-broker-wire-body .sys-broker-wire-row:last-child{border-bottom-color:transparent}.sys-broker-wire-row:hover,.sys-broker-wire-row:focus-visible{z-index:3;background:var(--sys-row-hover)}.sys-broker-wire-row--failure{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 5%,transparent)}.sys-broker-wire-row--failure:hover{background:color-mix(in srgb,var(--red) 8%,transparent)}.sys-broker-wire-row--pending{border-left-color:var(--amber);background:color-mix(in srgb,var(--amber) 5%,transparent)}.sys-broker-wire-row--pending:hover{background:color-mix(in srgb,var(--amber) 8%,transparent)}.sys-broker-wire-row--selected{background:var(--sys-row-selected)}.sys-broker-wire-row--selected:not(.sys-broker-wire-row--failure):not(.sys-broker-wire-row--pending){border-left-color:var(--accent)}.sys-broker-wire-row--failure.sys-broker-wire-row--selected{background:color-mix(in srgb,var(--red) 10%,transparent)}.sys-broker-wire-row--pending.sys-broker-wire-row--selected{background:color-mix(in srgb,var(--amber) 10%,transparent)}.sys-broker-cell{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.sys-broker-dot{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--dim)}.sys-broker-dot--success{background:var(--green)}.sys-broker-dot--danger{background:var(--red)}.sys-broker-dot--working,.sys-broker-dot--warning{background:var(--amber)}.sys-broker-state{overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sys-broker-state--success{color:var(--dim)}.sys-broker-state--danger{color:var(--red);font-weight:560}.sys-broker-state--working,.sys-broker-state--warning{color:color-mix(in srgb,var(--amber) 86%,var(--ink))}.sys-broker-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:var(--sys-well);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.sys-broker-from-name,.sys-broker-endpoint-name{overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:560;text-overflow:ellipsis;white-space:nowrap}.sys-broker-endpoint-avatar{width:16px;height:16px;border-radius:var(--radius-sm);font-size:var(--text-3xs)}.sys-broker-endpoint-avatar svg{width:10px;height:10px}.sys-broker-endpoint-card{position:absolute;z-index:40;top:calc(100% + 8px);left:-8px;display:none;width:min(320px,70vw);overflow:hidden;flex-direction:column;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 96%,black 4%);box-shadow:0 22px 56px -18px #000000e0;color:var(--ink);pointer-events:none}.sys-broker-route:hover .sys-broker-endpoint-card,.sys-broker-route:focus .sys-broker-endpoint-card,.sys-broker-route:focus-within .sys-broker-endpoint-card{display:flex}.sys-broker-endpoint-card-head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--ink) 2.5%,transparent)}.sys-broker-endpoint-card-edge{display:flex;min-width:0;align-items:center;gap:var(--space-xs)}.sys-broker-endpoint-card-head strong{min-width:0;overflow:hidden;font-size:var(--text-sm);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sys-broker-endpoint-card-body{display:grid;grid-template-columns:78px minmax(0,1fr);gap:var(--space-xs) var(--space-md);padding:var(--space-md)}.sys-broker-endpoint-card-field{display:contents}.sys-broker-endpoint-card-field small{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-endpoint-card-field code{overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-route{position:relative;display:flex;min-width:0;max-width:100%;align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);outline:none}.sys-broker-route:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.sys-broker-route-end{display:flex;min-width:0;align-items:center;gap:var(--space-xs)}.sys-broker-route-end--from{flex:0 1 auto;min-width:48px;opacity:.78}.sys-broker-route-end--from .sys-broker-endpoint-name{color:var(--muted);font-weight:500}.sys-broker-route-end--to{flex:1 1 auto}.sys-broker-route-arrow{flex:0 0 auto;color:var(--dim);opacity:.6}.sys-broker-route>.sys-broker-route-arrow{opacity:.45}.sys-broker-to-glyph{display:inline-flex;flex:0 0 auto;color:var(--dim)}.sys-broker-to-id{overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-col--msg{gap:var(--space-sm)}.sys-broker-msg{overflow:hidden;color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sys-broker-msg-error{flex:0 0 auto;max-width:100%;overflow:hidden;padding:1px var(--space-xs);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-overflow:ellipsis;white-space:nowrap}.sys-broker-msg-error--danger{background:color-mix(in srgb,var(--red) 14%,transparent);color:color-mix(in srgb,var(--red) 88%,var(--ink))}.sys-broker-msg-error--warning{background:color-mix(in srgb,var(--amber) 16%,transparent);color:color-mix(in srgb,var(--amber) 88%,var(--ink))}.sys-broker-col--time{justify-content:flex-end}.sys-broker-time-abs{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.sys-broker-wire-head{display:none}.sys-broker-wire-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"route time" "message message";align-items:start;column-gap:var(--space-sm);row-gap:var(--space-3xs)}.sys-broker-col--route{grid-area:route}.sys-broker-col--msg{grid-area:message}.sys-broker-col--time{grid-area:time;align-self:center}.sys-broker-route{flex-wrap:wrap;row-gap:var(--space-3xs)}.sys-broker-route-end--from{min-width:0}.sys-broker-source-note>span:last-child{display:none}}@media(max-width:520px){.sys-broker-page .sys-ledger-actions .sys-sync-note{display:none}}.sys-broker-inspector{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.sys-broker-inspector-head{flex:0 0 auto;min-width:0;border-bottom:1px solid var(--sys-hairline)}.sys-broker-inspector-status{display:flex;align-items:center;gap:var(--space-sm);min-width:0;min-height:48px;padding:var(--space-sm) var(--space-lg)}.sys-broker-inspector-status .sys-broker-state{flex:0 0 auto;font-weight:560}.sys-broker-inspector-status>code{min-width:0;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-inspector-copy{margin-left:auto}.sys-broker-inspector-close{flex:0 0 auto}.sys-broker-inspector-body{display:flex;min-height:0;flex:1;flex-direction:column;gap:var(--space-xl);overflow:auto;padding:var(--space-xl) var(--space-lg)}.sys-broker-inspector-body>*{flex:0 0 auto}.sys-broker-route-stack{display:flex;flex-direction:column;gap:var(--space-2xs)}.sys-broker-route-party{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-width:0}.sys-broker-route-avatar,.sys-broker-route-target-icon{width:30px;height:30px;border-radius:var(--radius-md)}.sys-broker-route-target-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sys-hairline);background:var(--sys-well);color:var(--muted)}.sys-broker-route-target-icon svg{width:14px;height:14px}.sys-broker-route-party-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.sys-broker-route-party-copy strong,.sys-broker-route-party-copy code{overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:540;line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.sys-broker-route-party-copy code{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400}.sys-broker-route-down{margin-left:7px;color:var(--dim)}.sys-broker-route-button{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:3px 7px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer}.sys-broker-route-button:hover,.sys-broker-route-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,var(--sys-hairline));color:var(--ink);outline:none}.sys-broker-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;margin:0;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg)}.sys-broker-delivery-grid>div{min-width:0;padding:var(--space-sm) var(--space-md)}.sys-broker-delivery-grid>div:nth-child(odd){border-right:1px solid var(--sys-hairline)}.sys-broker-delivery-grid>div:nth-child(-n+2){border-bottom:1px solid var(--sys-hairline)}.sys-broker-delivery-grid dt{margin-bottom:3px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-delivery-grid dd{margin:0;overflow:hidden;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sys-broker-delivery-grid .sys-broker-delivery-accent{color:var(--green)}.sys-broker-payload{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-broker-route-failure{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:start;gap:var(--space-md);padding:var(--space-lg);border:1px solid color-mix(in srgb,var(--red) 28%,var(--sys-hairline));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--red) 6%,var(--sys-well))}.sys-broker-route-failure-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.sys-broker-route-failure>div{display:flex;min-width:0;flex-direction:column;gap:3px}.sys-broker-route-failure strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.sys-broker-route-failure p{margin:2px 0 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere}.sys-broker-payload-head,.sys-broker-payload-dialog-head,.sys-broker-payload-dialog-head>div{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.sys-broker-payload-head>.sys-detail-label,.sys-broker-payload-dialog-head>div{flex:1}.sys-broker-payload-meta{overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sys-broker-payload-resizer{box-sizing:border-box;width:100%;height:clamp(220px,34vh,420px);min-height:160px;max-height:min(72vh,760px);resize:vertical;overflow:hidden;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 92%,black)}.sys-broker-payload-code,.sys-broker-payload-code .s-code-shiki{width:100%;height:100%;min-width:0;min-height:0}.sys-broker-payload-code{overflow:hidden;color:var(--ink);outline:none}.sys-broker-payload-code:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 52%,transparent)}.sys-broker-payload-code .s-code-shiki{overflow:auto}.sys-broker-payload-code .s-code-shiki pre{min-width:max-content;margin:0;padding:var(--space-lg) var(--space-xl) var(--space-3xl);background:transparent!important;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65;tab-size:2}.sys-broker-payload-code .s-code-shiki code{display:block}.sys-broker-payload-code .s-code-shiki .line{display:inline-block;min-width:100%}.sys-broker-payload-code[data-language=markdown] .s-code-shiki pre{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.sys-broker-payload-code[data-language=markdown] .s-code-shiki .line{display:inline;min-width:0}.sys-broker-payload-code .s-code-shiki .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style, normal);font-weight:var(--shiki-dark-font-weight, inherit)}[data-scout-theme-mode=light] .sys-broker-payload-code .s-code-shiki .shiki span{color:var(--shiki-light);font-style:var(--shiki-light-font-style, normal);font-weight:var(--shiki-light-font-weight, inherit)}.sys-broker-payload-code .s-code-shiki .shiki ::selection{background:color-mix(in srgb,var(--accent) 20%,transparent)}.sys-broker-payload-expand{flex:0 0 auto}.sys-broker-payload-dialog{box-sizing:border-box;inset:0;width:min(1360px,calc(100vw - 48px));height:calc(100vh - 48px);max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--sys-hairline));border-radius:var(--radius-xl);background:var(--bg);color:var(--ink);box-shadow:0 28px 90px #00000094}.sys-broker-payload-dialog::backdrop{background:color-mix(in srgb,black 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sys-broker-payload-dialog-head{min-height:48px;padding:0 var(--space-lg);border-bottom:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 92%,transparent)}.sys-broker-payload-dialog-body{height:calc(100% - 49px);min-height:0;background:color-mix(in srgb,var(--bg) 94%,black)}.sys-broker-payload-dialog-body .sys-broker-payload-code .s-code-shiki pre{padding:var(--space-3xl) var(--space-4xl);font-size:var(--text-sm);line-height:1.7}.sys-broker-inspector-error{display:flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--red) 10%,transparent)}.sys-broker-inspector-error-label{color:var(--red);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.sys-broker-inspector-error p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.sys-broker-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-broker-action-row{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-2xs)}.sys-broker-action-row+.sys-broker-action-row{border-top:1px solid var(--sys-hairline)}.sys-broker-action-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.sys-broker-action-label{margin-right:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-redispatch-controls{display:grid;flex:1 1 240px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-width:0}.sys-broker-redispatch-controls select{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:0 30px 0 var(--space-sm);border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-xs);outline:none}.sys-broker-redispatch-controls select:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--sys-hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.sys-broker-redispatch-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:104px;height:34px;padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--sys-hairline));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font-size:var(--text-xs);font-weight:600;cursor:pointer}.sys-broker-redispatch-send:hover:not(:disabled),.sys-broker-redispatch-send:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--sys-hairline));background:color-mix(in srgb,var(--accent) 16%,transparent);outline:none}.sys-broker-redispatch-send:disabled{cursor:default;opacity:.45}.sys-broker-action-target-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.sys-broker-action-target-meta span,.sys-broker-action-target-meta code{overflow:hidden;padding:3px 6px;border-radius:var(--radius-sm);background:var(--sys-well);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-action-target-meta code{max-width:100%}.sys-broker-action-status{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-snug)}.sys-broker-action-status--sent{color:var(--green)}.sys-broker-action-status--failed{color:var(--red)}.sys-broker-action-spinner{animation:sys-broker-source-spin .8s linear infinite}.sys-broker-intents{display:flex;align-items:center;gap:var(--space-xs)}.sys-broker-intent{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:var(--space-xs);min-width:0;min-height:34px;padding:0 var(--space-md);border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 45%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:600;white-space:nowrap;cursor:pointer}.sys-broker-intent:hover:not(:disabled),.sys-broker-intent:focus-visible{border-color:color-mix(in srgb,var(--accent) 34%,var(--sys-hairline));background:var(--sys-row-hover);color:var(--ink);outline:none}.sys-broker-intent:disabled{cursor:default;opacity:.45}.sys-broker-intent--primary{border-color:color-mix(in srgb,var(--accent) 35%,var(--sys-hairline));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.sys-broker-intent--primary:hover:not(:disabled),.sys-broker-intent--primary:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--sys-hairline));background:color-mix(in srgb,var(--accent) 16%,transparent)}.sys-broker-forward-draft{display:flex;min-width:0;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm)}.sys-broker-forward-draft-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sys-broker-forward-discard{padding:0;border:0;background:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer}.sys-broker-forward-discard:hover,.sys-broker-forward-discard:focus-visible{color:var(--ink);outline:none}.sys-broker-forward-adjust-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2xs);padding:0;border:0;background:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer}.sys-broker-forward-adjust-toggle:hover,.sys-broker-forward-adjust-toggle:focus-visible{color:var(--ink);outline:none}.sys-broker-forward-adjust-toggle svg{transition:transform .14s ease}.sys-broker-forward-adjust-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.sys-broker-message-composer .sys-broker-forward-adjust{padding:0 var(--space-md) var(--space-md)}.sys-broker-message-composer{display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px color-mix(in srgb,white 4%,transparent) inset,0 12px 32px -26px #000000e6;transition:border-color .14s ease,box-shadow .14s ease}.sys-broker-message-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,var(--sys-hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent),0 16px 34px -26px #000000f2}.sys-broker-message-composer>label{padding:var(--space-sm) var(--space-lg) 0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-message-composer textarea{box-sizing:border-box;width:100%;min-height:76px;max-height:180px;resize:vertical;padding:var(--space-md) var(--space-md) var(--space-sm);border:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5;outline:none}.sys-broker-message-composer textarea::placeholder{color:var(--dim)}.sys-broker-message-composer footer{display:flex;align-items:center;gap:var(--space-xs);min-height:40px;padding:0 var(--space-md) var(--space-md)}.sys-broker-composer-left,.sys-broker-composer-targets{display:flex;min-width:0;align-items:center;gap:var(--space-xs)}.sys-broker-composer-left{flex:0 1 auto}.sys-broker-composer-targets{margin-left:auto;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-route-label{flex:0 0 auto;color:var(--dim);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-composer-targets>label{display:inline-flex;min-width:0}.sys-broker-composer-targets>label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sys-broker-composer-targets select{max-width:74px;height:28px;padding:0 14px 0 2px;overflow:hidden;border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-overflow:ellipsis;outline:none}.sys-broker-composer-targets label:nth-of-type(1) select{max-width:70px}.sys-broker-composer-targets label:nth-of-type(2) select{max-width:68px;color:var(--ink)}.sys-broker-composer-targets label:nth-of-type(3) select{max-width:82px}.sys-broker-composer-targets label:nth-of-type(4) select{max-width:66px}.sys-broker-composer-targets select:hover,.sys-broker-composer-targets select:focus-visible{color:var(--ink)}.sys-broker-composer-attach{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer}.sys-broker-composer-attach:hover:not(:disabled),.sys-broker-composer-attach:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,var(--sys-hairline));color:var(--ink);outline:none}.sys-broker-message-attachment{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2xs);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-message-hint{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-mic.s-dictation-mic{align-self:center;width:32px;height:32px;border-radius:var(--radius-md)}.sys-broker-composer-send{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--accent);color:var(--bg);cursor:pointer;transition:filter .12s ease,opacity .12s ease,transform .12s ease}.sys-broker-composer-send:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.sys-broker-composer-send:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:2px}.sys-broker-composer-send:disabled,.sys-broker-composer-attach:disabled{cursor:default;opacity:.28}.sys-broker-composer-attachments{display:flex;min-width:0;flex-wrap:wrap;gap:var(--space-xs);padding:0 var(--space-lg) var(--space-sm)}.sys-broker-composer-attachments>span{display:inline-flex;min-width:0;max-width:180px;align-items:center;gap:4px;padding:4px 5px 4px 7px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:var(--sys-well);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-attachments>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-broker-composer-attachments button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--dim);cursor:pointer}.sys-broker-composer-attachments button:hover{background:var(--sys-row-hover);color:var(--ink)}@media(max-width:620px){.sys-broker-message-attachment{display:none}.sys-broker-composer-targets{gap:2px}.sys-broker-composer-targets>span{display:none}}.sys-broker-technical{border-top:1px solid var(--sys-hairline)}.sys-broker-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer;list-style:none}.sys-broker-technical>summary::-webkit-details-marker{display:none}.sys-broker-technical>summary svg{transition:transform .14s ease}.sys-broker-technical[open]>summary svg{transform:rotate(180deg)}.sys-broker-inspector-rows{display:flex;min-width:0;flex-direction:column;padding:var(--space-xs) 0;border-radius:var(--radius-lg);background:var(--sys-well)}.sys-broker-inspector-row{display:grid;grid-template-columns:minmax(88px,110px) minmax(0,1fr) 20px;gap:var(--space-sm);align-items:start;padding:var(--space-2xs) var(--space-sm) var(--space-2xs) var(--space-md)}.sys-broker-inspector-row .sys-detail-value{font-family:var(--font-mono);font-size:var(--text-xs)}.sys-broker-inspector-row .sys-copy-btn{width:20px;height:20px;opacity:0}.sys-broker-inspector-row:hover .sys-copy-btn,.sys-broker-inspector-row .sys-copy-btn:focus-visible,.sys-broker-inspector-row .sys-copy-btn--copied,.sys-broker-inspector-row .sys-copy-btn--failed{opacity:1}.sys-broker-technical .sys-broker-metadata{margin-top:var(--space-lg)}.sys-broker-technical>.sys-broker-delivery-grid{margin-bottom:var(--space-md)}.sys-broker-record-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.sys-broker-technical>.sys-broker-action-row{margin-top:var(--space-lg);padding-bottom:var(--space-md)}.sys-broker-metadata{display:flex;min-width:0;flex-direction:column;gap:var(--space-sm)}.sys-broker-metadata-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sys-broker-metadata-copy{border:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 92%,transparent)}.sys-broker-metadata-panel{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0}.sys-broker-metadata-section{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.sys-broker-metadata-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sys-broker-metadata-tree,.sys-broker-metadata-children{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.sys-broker-metadata-group-toggle,.sys-broker-metadata-raw-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);border:0;background:transparent;color:var(--muted);padding:0;font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.sys-broker-metadata-group-label,.sys-broker-metadata-raw-toggle{color:var(--ink)}.sys-broker-metadata-count{color:var(--dim)}.sys-broker-metadata-row{display:grid;grid-template-columns:minmax(88px,.35fr) minmax(0,1fr);gap:var(--space-sm);align-items:start;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:var(--sys-well)}.sys-broker-metadata-key{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.sys-broker-metadata-value{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere;white-space:pre-wrap}.sys-broker-metadata-empty{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.sys-broker-metadata-raw,.sys-broker-metadata pre{margin:0;max-height:360px;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--sys-hairline);background:var(--sys-well);color:var(--ink);padding:var(--space-lg);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-snug);white-space:pre}.sys-broker-right-empty{display:flex;height:100%;min-height:180px;flex-direction:column;justify-content:center;gap:var(--space-sm);padding:var(--space-3xl);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.sys-state-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.sys-state-card-centered{align-items:center;text-align:center}.sys-state-card-centered .sys-state-body{margin-left:auto;margin-right:auto}.sys-broker-empty-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:240px;padding:var(--space-2xl) 0}.sys-broker-empty-wrap>.sys-state-card{width:min(480px,100%)}.sys-state-card-error{background:color-mix(in srgb,var(--red) 4%,var(--surface));border-color:color-mix(in srgb,var(--red) 16%,transparent)}.sys-state-title{font-size:var(--text-2xl);font-weight:600;color:var(--ink)}.sys-state-body{max-width:520px;font-size:var(--text-md);color:var(--muted)}.sys-inline-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.sys-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl)}.sys-detail-card{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border-radius:var(--radius-lg);border:none;background:var(--sys-well);padding:var(--space-md) var(--space-lg)}.sys-detail-label{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.sys-detail-value{min-width:0;font-size:var(--text-md);line-height:var(--leading-snug);color:var(--ink);overflow-wrap:anywhere}.sys-code-inline{display:inline-flex;align-items:center;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:-.01em}.sys-list-empty{border:1px dashed color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:var(--space-3xl);font-family:var(--font-accent-title);font-style:italic;opacity:.5;font-size:var(--text-xl)}.sys-list-empty h3{font-size:var(--text-xl);font-weight:600;color:var(--ink)}.sys-list-empty p{margin-top:var(--space-xs);font-size:var(--text-lg);color:var(--muted)}.sys-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.sys-list-card{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;border-radius:var(--radius-lg);border:none;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:var(--space-xl)}.sys-list-card-head{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:flex-start}.sys-list-card-title{min-width:0;font-size:var(--text-lg);font-weight:700;color:var(--ink);overflow-wrap:anywhere}.sys-list-card-detail{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.agent-config-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.agent-config-list{display:flex;flex-direction:column;gap:var(--space-xs)}.agent-config-list-scroll{max-height:520px;overflow-y:auto;padding-right:var(--space-3xs)}.agent-config-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-lg) var(--space-lg);color:var(--ink);text-align:left}.agent-config-row-button{cursor:pointer}.agent-config-row-button:hover,.agent-config-row-selected{border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.agent-config-row-main{display:flex;align-items:flex-start;gap:var(--space-md);min-width:0}.agent-config-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.agent-config-row-copy{min-width:0}.agent-config-row-title{color:var(--ink);font-size:var(--text-lg);font-weight:700;overflow-wrap:anywhere}.agent-config-row-detail,.agent-config-row-meta,.agent-config-copy{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.agent-config-code{display:inline-flex;max-width:100%;margin:var(--space-2xs) 0;border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-sm);line-height:var(--leading-tight);overflow-wrap:anywhere;white-space:normal}.agent-config-link{color:var(--accent);font-size:var(--text-sm);font-weight:700;text-decoration:none}.agent-config-link:hover{text-decoration:underline}.agent-config-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);max-width:42%;min-width:0}.agent-config-detail-panel{display:flex;flex-direction:column;gap:var(--space-xl)}.agent-config-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}.agent-config-detail-grid>div{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-md);font-size:var(--text-md);color:var(--ink);overflow-wrap:anywhere}.agent-config-detail-grid strong,.agent-config-detail-grid code,.agent-config-selectable,.agent-config-inline-code{user-select:text;-webkit-user-select:text;cursor:text}.agent-config-detail-wide{grid-column:span 2}.agent-config-label{color:var(--dim);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.agent-config-chip-row,.agent-config-gap-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-lg)}.agent-config-edit{display:flex;flex-direction:column;gap:var(--space-lg);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-lg)}.agent-config-edit-empty{color:var(--muted);font-size:var(--text-sm)}.agent-config-edit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(120px,.6fr);gap:var(--space-md)}.agent-config-field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.agent-config-field-wide{grid-column:1 / -1}.agent-config-field span,.agent-config-check span{color:var(--dim);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.agent-config-field input,.agent-config-field select{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-snug)}.agent-config-field input:focus,.agent-config-field select:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.agent-config-field input:disabled,.agent-config-field select:disabled{opacity:.58;cursor:not-allowed}.agent-config-check{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0}.agent-config-check input{width:14px;height:14px;accent-color:var(--accent)}.agent-config-save-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.agent-config-save-note,.agent-config-save-error{font-size:var(--text-sm);line-height:var(--leading-snug)}.agent-config-save-note{color:var(--muted)}.agent-config-save-error{color:var(--red)}.agent-config-gap-list span{border-radius:var(--radius-lg);background:color-mix(in srgb,var(--amber) 10%,transparent);color:var(--ink);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.sys-audit-list{display:flex;flex-direction:column;gap:var(--space-3xs)}.sys-audit-entry{position:relative;border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:none}.sys-audit-entry-expanded{border-color:color-mix(in srgb,var(--accent) 14%,transparent);background:color-mix(in srgb,var(--accent) 1.5%,var(--surface));box-shadow:none}.sys-audit-toggle{display:grid;grid-template-columns:76px 16px minmax(0,1fr) auto;align-items:flex-start;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-xl);border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.sys-audit-toggle:hover{background:color-mix(in srgb,var(--accent) 2%,transparent)}.sys-audit-stamp{display:flex;flex-direction:column;gap:var(--space-3xs);padding-top:var(--space-3xs)}.sys-audit-time{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.sys-audit-date{font-size:var(--text-2xs);color:color-mix(in srgb,var(--dim) 70%,transparent);letter-spacing:.01em}.sys-audit-marker{position:relative;display:flex;justify-content:center;min-height:100%}.sys-audit-marker:before{content:"";position:absolute;top:12px;bottom:-14px;width:1px;background:color-mix(in srgb,var(--ink) 6%,transparent)}.sys-audit-entry:last-child .sys-audit-marker:before{display:none}.sys-audit-marker span{position:relative;z-index:1;width:7px;height:7px;border-radius:var(--radius-pill);margin-top:var(--space-xs);border:2px solid var(--surface);box-shadow:none}.sys-audit-marker-notice span{background:var(--amber)}.sys-audit-marker-working span{background:var(--accent)}.sys-audit-marker-completed span{background:var(--green)}.sys-audit-marker-failed span{background:var(--red)}.sys-audit-body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.sys-audit-topline{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.sys-audit-category{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 5%,transparent);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);line-height:var(--leading-none)}.sys-audit-kind{font-size:var(--text-sm);color:var(--muted)}.sys-audit-title{font-size:var(--text-lg);font-weight:500;line-height:var(--leading-snug);color:var(--ink)}.sys-audit-summary{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sys-audit-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-lg);margin-top:var(--space-3xs)}.sys-audit-meta-item{display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0;font-size:var(--text-sm);color:var(--muted)}.sys-audit-meta-item+.sys-audit-meta-item:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--dim) 50%,transparent);margin-right:var(--space-2xs);flex-shrink:0}.sys-audit-avatar{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-pill);color:var(--bg);font-size:var(--text-2xs);font-weight:700}.sys-audit-expand{font-size:var(--text-xs);font-weight:600;color:var(--muted);padding-top:var(--space-2xs);white-space:nowrap;opacity:1;transition:color .12s ease}.sys-audit-toggle:hover .sys-audit-expand{opacity:1;color:var(--accent)}.sys-audit-jumps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-2xs)}.sys-audit-jumps-label{font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:color-mix(in srgb,var(--dim) 80%,transparent);margin-right:var(--space-3xs)}.sys-audit-jump{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--ink) 9%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--muted);cursor:pointer;line-height:var(--leading-normal);transition:color .12s ease,border-color .12s ease,background .12s ease}.sys-audit-jump:hover,.sys-audit-jump:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--accent);outline:none}.sys-audit-details{display:flex;flex-direction:column;gap:var(--space-lg);padding:0 var(--space-xl) var(--space-xl) 116px}.sys-issue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-sm)}.sys-issue-card{display:flex;flex-direction:column;gap:var(--space-sm);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);padding:var(--space-xl)}.sys-issue-card-notice{border-color:color-mix(in srgb,var(--amber) 16%,transparent);background:color-mix(in srgb,var(--amber) 4%,var(--surface))}.sys-issue-card-warning{border-color:color-mix(in srgb,var(--amber) 16%,transparent);background:color-mix(in srgb,var(--amber) 5%,var(--surface))}.sys-issue-card-error{border-color:color-mix(in srgb,var(--red) 12%,transparent);background:color-mix(in srgb,var(--red) 3%,var(--surface))}.sys-issue-head{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.sys-issue-title{font-size:var(--text-lg);font-weight:600;color:var(--ink)}.sys-issue-body{font-size:var(--text-md);color:var(--muted)}.sys-issue-action{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-sm);color:var(--ink)}.sys-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);align-items:start}.sys-settings-page{max-width:960px!important}.sys-settings-hero{display:flex;gap:var(--space-3xl);align-items:flex-start}.sys-settings-qr-col{flex-shrink:0}.sys-settings-qr-frame{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:var(--space-2xl)}.sys-settings-qr-frame .s-qr{width:180px;height:180px;border:none;padding:0;background:transparent;border-radius:var(--radius-lg);overflow:hidden}.sys-settings-qr-frame .s-qr svg{width:100%;height:100%}.sys-settings-qr-expires{font-size:var(--text-sm);font-weight:600;color:var(--muted)}.sys-settings-qr-empty{display:flex;align-items:center;justify-content:center;width:212px;height:212px;border:1px dashed color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg) 70%,transparent)}.sys-settings-qr-empty-label{font-size:var(--text-md);color:var(--dim);text-align:center;padding:var(--space-2xl)}.sys-settings-info-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xl)}.sys-settings-kv-list{display:flex;flex-direction:column;gap:var(--space-xs)}.sys-settings-kv{display:flex;align-items:center;gap:var(--space-md);min-height:28px;border-bottom:1px solid color-mix(in srgb,var(--ink) 4%,transparent)}.sys-settings-kv:last-child{border-bottom:none}.sys-settings-kv-label{flex-shrink:0;width:96px;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.sys-settings-kv-value{display:flex;align-items:center;gap:var(--space-xs);min-width:0;font-size:var(--text-md);color:var(--ink)}.sys-settings-kv-value code{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-settings-link{min-width:0;color:inherit;text-decoration:none}.sys-settings-link:hover code{color:var(--accent)}.sys-settings-link-list{flex-wrap:wrap;gap:var(--space-sm)}.sys-settings-route-link{display:inline-flex;align-items:center;gap:2px;min-width:0}.sys-settings-kv-nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-settings-kv .sys-chip{margin:0}.sys-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:color .12s ease,background .12s ease}.sys-copy-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.sys-copy-btn--copied{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.sys-copy-btn--failed{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.sys-settings-controls{margin-top:var(--space-3xs)}.sys-settings-controls .s-btn:last-child{color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,transparent)}.sys-settings-peers{border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:var(--space-2xl)}.sys-peers-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.sys-peers-table th{text-align:left;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);padding:var(--space-xs) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent)}.sys-peers-table th:last-child{text-align:right;width:72px}.sys-peers-table td{padding:var(--space-md);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--ink) 3%,transparent);vertical-align:middle}.sys-peers-table tr:last-child td{border-bottom:none}.sys-peers-row-connected td{background:color-mix(in srgb,var(--green) 3%,transparent)}.sys-peers-name{display:flex;align-items:center;gap:var(--space-sm);font-weight:600}.sys-peers-badge{font-size:var(--text-2xs);padding:var(--space-3xs) var(--space-xs)}.sys-peers-fp{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}.sys-peers-remove{border:none;background:transparent;font-size:var(--text-sm);font-weight:500;color:var(--dim);cursor:pointer;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);transition:color .12s ease,background .12s ease;float:right}.sys-peers-remove:hover{color:var(--red, #dc2626);background:color-mix(in srgb,var(--red, #dc2626) 6%,transparent)}.sys-peers-remove:disabled{opacity:.5;cursor:default}.sys-input-row{display:flex;align-items:center;gap:var(--space-md)}.sys-input{width:100%;min-width:0;height:38px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:var(--surface);padding:0 var(--space-lg);font-family:var(--font-sans);font-size:var(--text-lg);color:var(--ink)}.sys-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.sys-input-row .s-btn{border-radius:var(--radius-lg)}.sys-qr-stage{margin-bottom:var(--space-lg)}.sys-qr-block{display:flex;flex-direction:column;gap:var(--space-xl);align-items:center;min-width:0;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);background:var(--bg);padding:var(--space-2xl);text-align:center}.sys-qr-meta{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);min-width:0}.sys-qr-meta h4{font-size:var(--text-xl);font-weight:600;color:var(--ink)}.sys-qr-meta p{font-size:var(--text-md);color:var(--muted)}.sys-trust-list{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-trust-row{display:flex;flex-direction:column;gap:var(--space-sm);border-radius:var(--radius-lg);border:none;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:var(--space-xl)}.sys-trust-main{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-trust-meta{display:flex;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;font-size:var(--text-sm);color:var(--muted)}@media(max-width:1024px){.sys-settings-grid,.sys-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.sys-settings-hero{flex-direction:column;align-items:stretch}.sys-settings-qr-col{align-self:center}.sys-settings-qr-empty{width:100%;height:120px}.sys-peers-table th:nth-child(3),.sys-peers-table td:nth-child(3){display:none}.sys-surface-page{padding:var(--space-3xl) var(--space-2xl) var(--space-5xl)}.sys-page-head,.sys-page-actions{flex-direction:column;align-items:flex-start}.sys-page-actions{justify-content:flex-start}.sys-settings-grid,.sys-list-grid,.agent-config-layout,.agent-config-detail-grid,.agent-config-edit-grid{grid-template-columns:minmax(0,1fr)}.agent-config-detail-wide{grid-column:auto}.sys-audit-toggle{grid-template-columns:60px 16px minmax(0,1fr) auto}.sys-audit-details{padding:0 var(--space-xl) var(--space-xl) 96px}.sys-qr-block{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.sys-trust-meta{flex-direction:column}}@media(max-width:560px){.sys-stat-grid,.sys-detail-grid,.sys-issue-grid{grid-template-columns:minmax(0,1fr)}.sys-section-head{flex-direction:column;align-items:flex-start}.agent-config-row{flex-direction:column}.agent-config-row-side{align-items:flex-start;max-width:none}.sys-audit-toggle{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.sys-audit-stamp{flex-direction:row;align-items:center;gap:var(--space-sm);padding-top:0}.sys-audit-expand{padding-top:0}.sys-audit-marker{display:none}.sys-audit-details{padding:0 var(--space-xl) var(--space-xl)}.sys-peers-table th:nth-child(4),.sys-peers-table td:nth-child(4){display:none}.sys-settings-kv-label{width:64px;font-size:var(--text-2xs)}}.s-ops--embedded{display:flex;height:100vh;min-height:0;flex-direction:column}.s-ops--embedded>.s-ops-body{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.s-ops--embedded.s-ops--split>.s-ops-body{flex-direction:row}.s-ops--embedded.s-ops--split>.s-ops-body>.sys-broker-page{flex:1 1 auto;min-width:0}.s-broker-embed-detail{display:flex;flex:0 0 clamp(340px,34vw,520px);min-width:0;min-height:0;border-left:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 42%,transparent)}@media(max-width:900px){.s-broker-embed-detail{position:absolute;inset:0;flex:1 1 auto;border-left:0;background:var(--bg)}}.sys-broker-aftermath{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-broker-aftermath-head{display:flex;align-items:center;gap:var(--space-sm)}.sys-broker-aftermath-outcome{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 55%,transparent)}.sys-broker-aftermath-outcome strong{font-size:var(--text-sm);font-weight:560}.sys-broker-aftermath-outcome--danger strong{color:var(--red)}.sys-broker-aftermath-outcome--success strong{color:var(--green)}.sys-broker-aftermath-duration{justify-self:start;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-outcome p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-replies{display:flex;flex-direction:column;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.sys-broker-aftermath-reply{display:flex;width:100%;flex-direction:column;gap:2px;padding:var(--space-sm) var(--space-md);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:transparent;text-align:left;transition:border-color .12s,background .12s}.sys-broker-aftermath-reply:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--sys-hairline));background:color-mix(in srgb,var(--surface) 55%,transparent)}.sys-broker-aftermath-reply:disabled{cursor:default}.sys-broker-aftermath-reply-head{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.sys-broker-aftermath-reply-head strong{overflow:hidden;color:var(--ink);font-size:var(--text-xs);font-weight:560;text-overflow:ellipsis;white-space:nowrap}.sys-broker-aftermath-answer{flex:0 0 auto;padding:0 4px;border-radius:var(--radius-2xs, 3px);background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-aftermath-gap{margin-left:auto;flex:0 0 auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-reply-body{overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-more{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-empty{margin:0;color:var(--dim);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-links{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.sys-broker-aftermath-link{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-sm);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-xs);transition:border-color .12s,color .12s}.sys-broker-aftermath-link:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--sys-hairline));color:var(--ink)}.sys-broker-aftermath-foot{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}
@@ -1 +0,0 @@
1
- import{r}from"./index-C8uS5szO.js";import{u as m,d as f}from"./router-BKiMcYa7.js";import{u as b}from"./use-conversation-list-A_YUf8lo.js";import{s as g}from"./agent-master-model-C-KdOFDK.js";import{b as i,B as c,a as w,c as p,d as h,e as C}from"./comms-deck-CBhsXnY-.js";function u(){return typeof window>"u"?[]:i(new URLSearchParams(window.location.search).get(c))}function v(){const{searchStr:t}=m(),a=r.useMemo(()=>i(new URLSearchParams(t).get(c)),[t]),e=r.useCallback(s=>{f({searchPatch:{[c]:s.length>0?w(s):null}})},[]),o=r.useCallback(s=>e(p(u(),s)),[e]),n=r.useCallback(s=>e(h(u(),s)),[e]),d=r.useCallback(s=>e(C(u(),s)),[e]),l=r.useCallback(s=>a.includes(s),[a]);return{ids:a,has:l,add:o,remove:n,toggle:d}}function R(t,a,e){const o=e?{machineId:e}:{};return a?.agentId?{view:"messages",agentId:a.agentId,threadId:t,...o}:{view:"messages",conversationId:t,...o}}function A(t,a){const{sessions:e}=b();return r.useCallback(o=>{t(R(o,e.find(n=>g(n,o)),a))},[t,e,a])}export{A as a,v as u};
@@ -1 +0,0 @@
1
- import{r as t}from"./index-C8uS5szO.js";import{f,g as p,h as m,i as w,w as s,j as v}from"./router-BKiMcYa7.js";import{a as h}from"./api-CaROe5_H.js";let o=null;function g(){return import.meta.env?.DEV===!0}function y(){if(typeof window>"u")return!1;const e=window.location.hostname.trim().toLowerCase();return e==="localhost"||e==="127.0.0.1"||e==="[::1]"||e.endsWith(".local")}function S(){typeof window>"u"||o!==null||h("/api/build").then(e=>{o=e.mode==="production"?"production":"dev"}).catch(()=>{o=null})}typeof window<"u"&&S();function b(){return!!(g()||y()||o==="dev")}function F(){const e=v(new URL(window.location.href));window.history.replaceState(window.history.state,"",`${e.pathname}${e.search}${e.hash}`)}function C(){const e=f(),a=t.useMemo(()=>p()??m(),[e.layers]),r=t.useCallback(i=>{e.resetLocalOverrides();const n=w(i);n.audience&&e.setLocalAudienceOverride(n.audience);for(const[d,l]of Object.entries(n.flags??{}))typeof l=="boolean"&&e.setLocalOverride(d,l);s({action:"set",bundle:i})},[e]),u=t.useCallback(()=>{r(a==="max-pro"?"light-prod":"max-pro")},[a,r]),c=t.useCallback(()=>{e.resetLocalOverrides(),s({action:"clear"}),F(),window.location.reload()},[e]);return{activeBundle:a,applyBundle:r,toggleBundle:u,resetBundle:c}}export{b as i,C as u};
@@ -1 +0,0 @@
1
- import{k as e}from"./router-BKiMcYa7.js";function n(){return!e("nav.sidebar",!1)}export{n as u};