@openscout/scout 0.2.95 → 0.2.96

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 (360) hide show
  1. package/bin/scout +26 -10
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/{ActivityScreen--eANwuxa.js → ActivityScreen-BnoaUkVZ.js} +1 -1
  5. package/dist/client/assets/{AddProjectForm-CcD6qvV8.js → AddProjectForm-IqOtJfRs.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-CYhf6twS.js → AgentAvatar-6-KBVKUu.js} +1 -1
  7. package/dist/client/assets/{AgentConfigurationScreen-BTI24HQX.js → AgentConfigurationScreen-CuZJy07q.js} +1 -1
  8. package/dist/client/assets/{AgentDefinitionsWorkspace-srmN6-vj.js → AgentDefinitionsWorkspace-Iyl4BesU.js} +1 -1
  9. package/dist/client/assets/{AgentDetailCard-UqPNpcvB.js → AgentDetailCard-C9rn3Fj5.js} +1 -1
  10. package/dist/client/assets/{AgentFloorView-XXNgI5Cj.js → AgentFloorView-YT-Jjccf.js} +1 -1
  11. package/dist/client/assets/{AgentInfoScreen-CimdOnZ9.js → AgentInfoScreen-Dr99gQEZ.js} +1 -1
  12. package/dist/client/assets/{AgentLaneCard-Z-aOBR3W.js → AgentLaneCard-DI2iW9zO.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-CyhA1reW.js → AgentLaneChrome-D8bARHMx.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-BNzjMjIH.js → AgentLaneDetailSheet-52un7dKC.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-Box8-_rS.js → AgentLaneSummaryResize-CEBjmPTa.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-Dgcm7zd_.js +1 -0
  17. package/dist/client/assets/AgentLanesPreflight-q20mTjms.js +1 -0
  18. package/dist/client/assets/AgentLanesView-CetZZDyF.js +2 -0
  19. package/dist/client/assets/{AgentLiveActions-BwuzOE8h.js → AgentLiveActions-DrEJDJef.js} +1 -1
  20. package/dist/client/assets/AgentMasterScreen-DJPnstoD.js +1 -0
  21. package/dist/client/assets/{AgentSessions-CsZwoukw.js → AgentSessions-DCPCG4xb.js} +1 -1
  22. package/dist/client/assets/{AgentsConsole-KCao4XmX.js → AgentsConsole-CsYOoFJi.js} +1 -1
  23. package/dist/client/assets/{AgentsScreen-CtPAmwRX.js → AgentsScreen-k8LvBuU_.js} +1 -1
  24. package/dist/client/assets/AgentsSubnav-C4xpQhsv.js +1 -0
  25. package/dist/client/assets/{AstronautSuit-Ckx7lu7G.js → AstronautSuit-DbjQtfD_.js} +1 -1
  26. package/dist/client/assets/{AtopView-DYlpgEHf.js → AtopView-Daq_ob3z.js} +1 -1
  27. package/dist/client/assets/{BackToPicker-4JaeRvDm.js → BackToPicker-CXZjBRAe.js} +1 -1
  28. package/dist/client/assets/{BriefingDetailScreen-D6-xqrpo.js → BriefingDetailScreen-CUCXO-KH.js} +1 -1
  29. package/dist/client/assets/{BriefingsScreen-DKxSDEmk.js → BriefingsScreen-B5oMTGKv.js} +1 -1
  30. package/dist/client/assets/{BrokerMetadataPanel-BbREmsbK.js → BrokerMetadataPanel-BsiU8lTD.js} +1 -1
  31. package/dist/client/assets/{BrokerScreen-fbPIouMw.js → BrokerScreen-BPbOHhCS.js} +1 -1
  32. package/dist/client/assets/{CastPicker-BcA2vDDV.js → CastPicker-_5E5hNUe.js} +1 -1
  33. package/dist/client/assets/ChatCollapsedStrip-D-eXhzPf.js +1 -0
  34. package/dist/client/assets/{CodeDiffPane-Cn8Y9hAt.js → CodeDiffPane-n7W4iGUG.js} +1 -1
  35. package/dist/client/assets/{CodeProjectPicker-nPFktrco.js → CodeProjectPicker-CMsbSTDq.js} +1 -1
  36. package/dist/client/assets/{CodeScreen-BlAxtxE5.js → CodeScreen-CeuO3EhR.js} +1 -1
  37. package/dist/client/assets/{ConversationComposer-2HjbGPL9.js → ConversationComposer-CXPKx86g.js} +1 -1
  38. package/dist/client/assets/{ConversationFeedRows-C6wUqJrx.js → ConversationFeedRows-WrH-YI3L.js} +1 -1
  39. package/dist/client/assets/{ConversationHeader-C8vfXaTF.js → ConversationHeader-BQWzGzLK.js} +1 -1
  40. package/dist/client/assets/{ConversationPanels-CNCIbpqU.js → ConversationPanels-Dujvnmup.js} +2 -2
  41. package/dist/client/assets/ConversationScreen-CR9pWB65.js +2 -0
  42. package/dist/client/assets/{ConversationStatus-DZuyKsWN.js → ConversationStatus-DVzSb2Hv.js} +1 -1
  43. package/dist/client/assets/{CrewAvatar-CTIuxp4G.js → CrewAvatar-BwXjyg8N.js} +1 -1
  44. package/dist/client/assets/CrewWorkspaces-CkQDhyie.css +1 -0
  45. package/dist/client/assets/CrewWorkspaces-NKujRzwh.js +1 -0
  46. package/dist/client/assets/{DataTable-6IDhanr5.js → DataTable-Bp8tU9AK.js} +1 -1
  47. package/dist/client/assets/{DispatchAftermath-DC1u9itO.js → DispatchAftermath-B-6rmXzL.js} +1 -1
  48. package/dist/client/assets/{DocumentFocusViewer-DZVhS7as.js → DocumentFocusViewer-Do3wQ_3Z.js} +1 -1
  49. package/dist/client/assets/{EmbeddableSurfacesLab-BKUFJMCV.js → EmbeddableSurfacesLab-C1orRyP9.js} +1 -1
  50. package/dist/client/assets/{EmptyState-CeBl0iGd.js → EmptyState-CJzXj1l5.js} +1 -1
  51. package/dist/client/assets/{FileViewerPane-DQlpNt2S.js → FileViewerPane-Df6VzXjA.js} +1 -1
  52. package/dist/client/assets/FlightObserveScreen-6mGnmWQA.js +1 -0
  53. package/dist/client/assets/{FollowScreen-BXHOp3gb.js → FollowScreen-DvnxYLVh.js} +1 -1
  54. package/dist/client/assets/{HarnessMark-D5CA5uSp.js → HarnessMark-B979GCSB.js} +1 -1
  55. package/dist/client/assets/{HarnessesScreen-DhFXq1qz.js → HarnessesScreen-CHTuv8p6.js} +1 -1
  56. package/dist/client/assets/{HerdrSession-BRhs5LIR.js → HerdrSession-B3McuYgi.js} +1 -1
  57. package/dist/client/assets/{HomeHero-DMABJuze.js → HomeHero-CdUVPjkG.js} +1 -1
  58. package/dist/client/assets/{HostAdvisorView-RAociATV.js → HostAdvisorView-Bok5Sk5c.js} +1 -1
  59. package/dist/client/assets/{KnowledgeSearchInspector-CZPyVNSw.js → KnowledgeSearchInspector-B7XSoJsu.js} +1 -1
  60. package/dist/client/assets/{KnowledgeSearchScreen-mGTKIg00.js → KnowledgeSearchScreen-D3o3IODW.js} +1 -1
  61. package/dist/client/assets/{LaneToolHoverCard-D_DMlBeT.js → LaneToolHoverCard-HByf2ndx.js} +1 -1
  62. package/dist/client/assets/{LaneTraceDetailSheet-BEHg3LmH.js → LaneTraceDetailSheet-BUgHz-sd.js} +1 -1
  63. package/dist/client/assets/{LaneTraceEventFocus-DVimcizS.js → LaneTraceEventFocus-DM-hoPxG.js} +1 -1
  64. package/dist/client/assets/{MeshCanvas-BOuZx4AM.js → MeshCanvas-DCLJRsBy.js} +1 -1
  65. package/dist/client/assets/{MeshCanvasMinimap-wL-1N94e.js → MeshCanvasMinimap-cEFS9eW7.js} +1 -1
  66. package/dist/client/assets/{MeshScreen-DMY9Bmh5.js → MeshScreen-BcxPkhm6.js} +1 -1
  67. package/dist/client/assets/{MeshTopologyView-DiDcX5f4.js → MeshTopologyView-CCRPd8PU.js} +2 -2
  68. package/dist/client/assets/MessagesScreen-Bb5l13MO.js +1 -0
  69. package/dist/client/assets/{MissionContextRail-DrNKXG5u.js → MissionContextRail-DF0_kiU7.js} +1 -1
  70. package/dist/client/assets/{MissionControlView-ByBlHVN8.js → MissionControlView-E3V7bENU.js} +1 -1
  71. package/dist/client/assets/{MissionFocusOverlay-D1i6R6Zt.js → MissionFocusOverlay-h15sQFvP.js} +1 -1
  72. package/dist/client/assets/{MissionLeftAgentRow-DN9NcCML.js → MissionLeftAgentRow-KPdk9rSa.js} +1 -1
  73. package/dist/client/assets/{MissionLogPane-DSeIv3Xo.js → MissionLogPane-BbdDKjUl.js} +1 -1
  74. package/dist/client/assets/{NewAgentModal-V7yK6J6j.js → NewAgentModal-DfHxad34.js} +1 -1
  75. package/dist/client/assets/NewChatComposer-_Stj0fZy.js +19 -0
  76. package/dist/client/assets/{NewChatOrigin-DdpzE4kz.js → NewChatOrigin-B1u7ki70.js} +1 -1
  77. package/dist/client/assets/{ObserveEmbedScreen-l_Q3ts2q.js → ObserveEmbedScreen-Co0xTii6.js} +1 -1
  78. package/dist/client/assets/{ObserveTextFlow-BSEtYTxU.js → ObserveTextFlow-ZQWwrK3i.js} +2 -2
  79. package/dist/client/assets/{ObservedTopologyPanel-CdGUXxGR.js → ObservedTopologyPanel-BJUhDSuQ.js} +1 -1
  80. package/dist/client/assets/{OpenScoutAppShell-DN8dOSK4.js → OpenScoutAppShell-CUd2yOLu.js} +25 -25
  81. package/dist/client/assets/{OpsAgentsView-ntGr4pz4.js → OpsAgentsView-DI5wu1si.js} +1 -1
  82. package/dist/client/assets/OpsScreen-D8fQafCl.js +1 -0
  83. package/dist/client/assets/OpsSubnav-1K4Jaf__.js +1 -0
  84. package/dist/client/assets/ProjectAgentProfile-Bdjd_dAx.js +1 -0
  85. package/dist/client/assets/{ProjectAgentProfileBar-BQET-qrY.js → ProjectAgentProfileBar-k2QHHHsQ.js} +1 -1
  86. package/dist/client/assets/{ProjectAgentProfileHero-Ck8mThtx.js → ProjectAgentProfileHero-Bpxk1ui2.js} +1 -1
  87. package/dist/client/assets/ProjectsInbox-C_bMHLCc.js +2 -0
  88. package/dist/client/assets/ProjectsRail-J-aH_pxT.js +1 -0
  89. package/dist/client/assets/ProjectsScreen-cVUkGbPz.js +1 -0
  90. package/dist/client/assets/ProjectsThreadAside-_ourdM-Q.js +1 -0
  91. package/dist/client/assets/{Provider-B2xuo3rf.js → Provider-CtXJeLrP.js} +1 -1
  92. package/dist/client/assets/{RailRow-B-GycCBx.js → RailRow-CEH2MFBw.js} +1 -1
  93. package/dist/client/assets/{RawSessionsTable-AQThi6sm.js → RawSessionsTable-CDyrom-F.js} +1 -1
  94. package/dist/client/assets/RealtimeVoiceScreen-DBl3DN1H.js +1 -0
  95. package/dist/client/assets/{RepoDiffEmbedScreen-DXWoRF_c.js → RepoDiffEmbedScreen-kY2pHjIs.js} +1 -1
  96. package/dist/client/assets/{RepoDiffPageScreen-D_274ExO.js → RepoDiffPageScreen-C6LhoKrn.js} +1 -1
  97. package/dist/client/assets/{RepoDiffViewer-DbedmHDX.js → RepoDiffViewer-BhcIIQQg.js} +1 -1
  98. package/dist/client/assets/{RepoDiffViewerLazy-C0--fPtk.js → RepoDiffViewerLazy-Csy_j9LD.js} +2 -2
  99. package/dist/client/assets/{ReposScreen-D39_YG4H.js → ReposScreen-B_cB0zu7.js} +1 -1
  100. package/dist/client/assets/ScoutDeckSurface-CSy_fjcG.js +1 -0
  101. package/dist/client/assets/{ScoutSurface-UsRy0t-I.js → ScoutSurface-CQVcSrin.js} +1 -1
  102. package/dist/client/assets/{ScoutbotFxLab-Fmdfboxs.js → ScoutbotFxLab-DqGiLYNy.js} +1 -1
  103. package/dist/client/assets/{SecondaryNav-o2RL9H8H.js → SecondaryNav-BR4VRdgh.js} +1 -1
  104. package/dist/client/assets/SessionEmbedScreen-BTlZ9gAg.js +1 -0
  105. package/dist/client/assets/{SessionObserve-Dsd0j05N.js → SessionObserve-dQDN23pP.js} +1 -1
  106. package/dist/client/assets/{SessionObserveEvidence-DopQYDkD.js → SessionObserveEvidence-BRBGKAgd.js} +1 -1
  107. package/dist/client/assets/SessionRefScreen-COVQMbtE.js +1 -0
  108. package/dist/client/assets/SessionsScreen--5OJ3p3v.js +1 -0
  109. package/dist/client/assets/{SettingsDrawer-_AwuopMS.js → SettingsDrawer-RGVK_bmE.js} +1 -1
  110. package/dist/client/assets/{SettingsScreen-Cw4DDfJP.js → SettingsScreen-CCxzy5IU.js} +1 -1
  111. package/dist/client/assets/{ShikiPane-BfHc_3pM.js → ShikiPane-DYI9Hkge.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-C-q7XwTa.js → SlidePanel-B9ugxWgA.js} +1 -1
  113. package/dist/client/assets/{SpriteAvatar-Bs68ZENy.js → SpriteAvatar-z5hHesx9.js} +1 -1
  114. package/dist/client/assets/{StatusPill-ZZQwxB1a.js → StatusPill-BFvMjmZV.js} +1 -1
  115. package/dist/client/assets/{TailView-Q4FVMsUH.js → TailView-0uEIj2JH.js} +1 -1
  116. package/dist/client/assets/{Terminal-D7zqHwHV.js → Terminal-DouZeNxc.js} +1 -1
  117. package/dist/client/assets/{TerminalEmbedScreen-CXIJ7qv6.js → TerminalEmbedScreen-dMNUbzXr.js} +1 -1
  118. package/dist/client/assets/{TerminalHeaderMount-BnBLOPbb.js → TerminalHeaderMount-BL07cd0q.js} +1 -1
  119. package/dist/client/assets/{TextDocumentSurface-CKQP-cBT.js → TextDocumentSurface-BflAwXeZ.js} +1 -1
  120. package/dist/client/assets/{TmuxPeek-V9dGESfO.js → TmuxPeek-BTnjOQi0.js} +1 -1
  121. package/dist/client/assets/{VoicePermissionsPanel-k7sbLXx2.js → VoicePermissionsPanel-CgQ6GGS-.js} +1 -1
  122. package/dist/client/assets/{WorkDetailScreen-60p9litn.js → WorkDetailScreen-CaLG-zDs.js} +1 -1
  123. package/dist/client/assets/{WorkFilesViewer-BjJS7GyM.js → WorkFilesViewer-B9Sil_No.js} +1 -1
  124. package/dist/client/assets/{activity-Bj3Hnbj3.js → activity-DcrMApUY.js} +1 -1
  125. package/dist/client/assets/{addon-fit-BL-NTWRU.js → addon-fit-DMVrz5Sv.js} +1 -1
  126. package/dist/client/assets/{addon-webgl-CIMgmNjg.js → addon-webgl-BYvpZUyu.js} +1 -1
  127. package/dist/client/assets/{agent-autocomplete-DXlvdc4b.js → agent-autocomplete-B-5QTeas.js} +1 -1
  128. package/dist/client/assets/{agent-essentials-BOMHR0_U.js → agent-essentials-D7KRGYvF.js} +1 -1
  129. package/dist/client/assets/{agent-lane-card-model-CTLxf3R4.js → agent-lane-card-model-CNZMPkhc.js} +1 -1
  130. package/dist/client/assets/{agent-lanes-model-AfrjRNK5.js → agent-lanes-model-DXqjs0OK.js} +2 -2
  131. package/dist/client/assets/agent-master-I1W-5d-x.css +1 -0
  132. package/dist/client/assets/agent-master-model-DqjrVI2h.js +1 -0
  133. package/dist/client/assets/{agent-specialization-BIPIBW8u.js → agent-specialization-BujJVUTD.js} +1 -1
  134. package/dist/client/assets/{arc.es-IR5r6sj_.js → arc.es-NHqHWohb.js} +1 -1
  135. package/dist/client/assets/{arrow-down-BydciYFZ.js → arrow-down-CKtSUjmW.js} +1 -1
  136. package/dist/client/assets/{arrow-left-CghA0kTw.js → arrow-left-Czpf-AE4.js} +1 -1
  137. package/dist/client/assets/{arrow-right-iJFv3jNh.js → arrow-right-BuzMnLYP.js} +1 -1
  138. package/dist/client/assets/{arrow-up-right-CCfZXPqD.js → arrow-up-right-C6Wl-1uw.js} +1 -1
  139. package/dist/client/assets/{bot-B5sub1-i.js → bot-rd0awxD3.js} +1 -1
  140. package/dist/client/assets/{check-C18YQC90.js → check-ofKUE8yH.js} +1 -1
  141. package/dist/client/assets/{chevron-down-Mp9mu_yd.js → chevron-down-wciXnOQz.js} +1 -1
  142. package/dist/client/assets/{chevron-right-CzH-TaSF.js → chevron-right-D-HdlPg8.js} +1 -1
  143. package/dist/client/assets/{chunk-HRAB3GC3-swV8PA2k.js → chunk-HRAB3GC3-Tyv9rzx7.js} +1 -1
  144. package/dist/client/assets/{chunk-JTPDIGGW-BKXqcLKw.js → chunk-JTPDIGGW-BC2Mandc.js} +3 -3
  145. package/dist/client/assets/{chunk-T65CQEWV-vYbNJ8E6.js → chunk-T65CQEWV-C1AWTYZZ.js} +1 -1
  146. package/dist/client/assets/{chunk-YOZR3KYS-U65yUmqt.js → chunk-YOZR3KYS-DwHPHa6f.js} +1 -1
  147. package/dist/client/assets/{clock-B4PTFi5m.js → clock-B88r8OrZ.js} +1 -1
  148. package/dist/client/assets/{code-xml-Jtxsp5d1.js → code-xml-D7pOQM9l.js} +1 -1
  149. package/dist/client/assets/{compass-0_54-vz3.js → compass-Dt1AMXz2.js} +1 -1
  150. package/dist/client/assets/content-9K38QchR.js +1 -0
  151. package/dist/client/assets/content-BRgnyXWh.js +1 -0
  152. package/dist/client/assets/{content-CHghn-rT.js → content-BWPNyXJ0.js} +1 -1
  153. package/dist/client/assets/content-BdkI07v3.js +1 -0
  154. package/dist/client/assets/content-C4oWa8SB.js +1 -0
  155. package/dist/client/assets/content-C9ijJxyl.js +1 -0
  156. package/dist/client/assets/content-CFZ4rghn.js +1 -0
  157. package/dist/client/assets/content-CIqu_Ci_.js +1 -0
  158. package/dist/client/assets/content-CnJF9DGO.js +1 -0
  159. package/dist/client/assets/content-CriW8Y8u.js +1 -0
  160. package/dist/client/assets/content-DDCyPPk_.js +1 -0
  161. package/dist/client/assets/content-DtcZeh5m.js +1 -0
  162. package/dist/client/assets/content-U9tsdtle.js +1 -0
  163. package/dist/client/assets/content-hFLK3CON.js +1 -0
  164. package/dist/client/assets/{content-DMbawvqU.js → content-nkx0swDe.js} +1 -1
  165. package/dist/client/assets/content-p00KQrtD.js +1 -0
  166. package/dist/client/assets/{conversation-icons-BV10B2Me.js → conversation-icons-tp9BX6X2.js} +1 -1
  167. package/dist/client/assets/{conversation-model-CwF6Y9gx.js → conversation-model-Dc02NsGp.js} +1 -1
  168. package/dist/client/assets/conversation-motion-features-D9-RmBSq.js +1 -0
  169. package/dist/client/assets/{copy-Dtpx4FOE.js → copy-CWWAJ75H.js} +1 -1
  170. package/dist/client/assets/{cpu-BjVis9mc.js → cpu-DrqejfkB.js} +1 -1
  171. package/dist/client/assets/{createLucideIcon-DXpqZP7I.js → createLucideIcon-DezKXSG2.js} +1 -1
  172. package/dist/client/assets/{ctx-panel-D_HJ3nhb.css → ctx-panel-F05jXK4Q.css} +1 -1
  173. package/dist/client/assets/discover-C2CZO4Tk.js +2 -0
  174. package/dist/client/assets/embed-entry-BSMUykuG.js +2 -0
  175. package/dist/client/assets/{external-link-Ckiyzjwo.js → external-link-Dp_a2vRZ.js} +1 -1
  176. package/dist/client/assets/{eye-CpfyvdLq.js → eye-BRyD0jno.js} +1 -1
  177. package/dist/client/assets/{file-code-corner-7mo7EviR.js → file-code-corner-muIVH_xO.js} +1 -1
  178. package/dist/client/assets/{file-text-KijGBnME.js → file-text-CqJgwxmv.js} +1 -1
  179. package/dist/client/assets/{gauge-y-Xg8Mrv.js → gauge-hU--hKVP.js} +1 -1
  180. package/dist/client/assets/{gestures-Bq9XnSqY.js → gestures-DN4hEeqv.js} +1 -1
  181. package/dist/client/assets/{git-branch-BQ_x8KZL.js → git-branch-CK5v8F2v.js} +1 -1
  182. package/dist/client/assets/{home-moving-signal-DtRpiNa0.js → home-moving-signal-BjDtEJUP.js} +1 -1
  183. package/dist/client/assets/{home-now-card-DFb4GOgM.js → home-now-card-nF8OotI-.js} +1 -1
  184. package/dist/client/assets/{home-now-card-nano-D--m9jpq.js → home-now-card-nano-C-r_bBg5.js} +1 -1
  185. package/dist/client/assets/{hooks-9d1SoaQA.js → hooks-D46bABUP.js} +1 -1
  186. package/dist/client/assets/index-CPrU5q04.js +1 -0
  187. package/dist/client/assets/{index-CZ-05hKz.js → index-DvLtl7rV.js} +5 -5
  188. package/dist/client/assets/index-kL1WLbeS.js +1 -0
  189. package/dist/client/assets/index-zvhpRHao.js +1 -0
  190. package/dist/client/assets/{inspector-panel-C-EhEDYy.js → inspector-panel-Dkc7rLvY.js} +1 -1
  191. package/dist/client/assets/{keyboard-nav-DFhAJkW3.js → keyboard-nav-BLYDhL3Z.js} +1 -1
  192. package/dist/client/assets/{lane-roster-store-gUBsydNf.js → lane-roster-store-DOdI1O13.js} +1 -1
  193. package/dist/client/assets/{layers-CGou-LwV.js → layers-CSsg3JVP.js} +1 -1
  194. package/dist/client/assets/{layout-grid-BrZt31QH.js → layout-grid-DOChPJdZ.js} +1 -1
  195. package/dist/client/assets/left-B-SdEJSJ.js +1 -0
  196. package/dist/client/assets/{left-B_o51JV6.js → left-B3wSE6ql.js} +1 -1
  197. package/dist/client/assets/{left-CwHZCGO3.js → left-BNRFiRsb.js} +1 -1
  198. package/dist/client/assets/{left-DA0amyfu.js → left-BggzhgXN.js} +1 -1
  199. package/dist/client/assets/left-CARCvvxS.js +2 -0
  200. package/dist/client/assets/left-CpokZYHt.js +1 -0
  201. package/dist/client/assets/{left-CwLs0okF.js → left-YT7mIGuH.js} +1 -1
  202. package/dist/client/assets/{left-advisor-DU3s01gk.js → left-advisor-CCY0vkcO.js} +1 -1
  203. package/dist/client/assets/left-agents-trhO5sL8.js +1 -0
  204. package/dist/client/assets/{left-default-uvuvDmt0.js → left-default-CG33elBs.js} +1 -1
  205. package/dist/client/assets/{left-lanes-DnNLgec8.js → left-lanes-CitMgeTp.js} +1 -1
  206. package/dist/client/assets/{left-mission-DN3-NLPC.js → left-mission-Zl2m_5eU.js} +1 -1
  207. package/dist/client/assets/{library-DIo5NiGP.js → library-DkALuCh5.js} +1 -1
  208. package/dist/client/assets/{loader-circle-BiohlpM3.js → loader-circle-pM56HNhR.js} +1 -1
  209. package/dist/client/assets/{local-agents-wUIaBcEr.js → local-agents-C8xAhbO5.js} +1 -1
  210. package/dist/client/assets/{mentions-CcPFMbmZ.js → mentions-DG6OQrsc.js} +1 -1
  211. package/dist/client/assets/{mesh-buckets-ByyFXdKT.js → mesh-buckets-6y3ZIibI.js} +1 -1
  212. package/dist/client/assets/{mesh-ops-CvGyjK84.js → mesh-ops-BZ1h5RQs.js} +1 -1
  213. package/dist/client/assets/{mesh-roster-n2nDpEmA.js → mesh-roster-Bc7T4b7z.js} +1 -1
  214. package/dist/client/assets/{mesh-view-store-BpxGm71b.js → mesh-view-store-ChUOASK8.js} +1 -1
  215. package/dist/client/assets/{message-circle-B2ddzBrX.js → message-circle-mZCv8tvB.js} +1 -1
  216. package/dist/client/assets/{message-markup-RkfmDfME.js → message-markup-C2LQDm_k.js} +1 -1
  217. package/dist/client/assets/{message-square-D9YYWE0x.js → message-square-C7t_qtuj.js} +1 -1
  218. package/dist/client/assets/{message-visibility-DwxgcgYK.js → message-visibility-CGOmSSKs.js} +1 -1
  219. package/dist/client/assets/{mission-control-store-Bf4b54MV.js → mission-control-store-nDLdUZPA.js} +1 -1
  220. package/dist/client/assets/{observe-CJRIvOCn.js → observe-BpEm1INu.js} +1 -1
  221. package/dist/client/assets/{page-status-BptpTdQ-.js → page-status-E5jnk48p.js} +1 -1
  222. package/dist/client/assets/{paperclip-B1UNGl5d.js → paperclip-C64lkcbM.js} +1 -1
  223. package/dist/client/assets/{persistent-state-YI-WHSCF.js → persistent-state-EHXw8WNy.js} +1 -1
  224. package/dist/client/assets/{plus-CuU_X0-8.js → plus-Co-dqKul.js} +1 -1
  225. package/dist/client/assets/{profile-rY8jO38P.js → profile-APxDsN2P.js} +1 -1
  226. package/dist/client/assets/projects-inbox-Cg4X2lUQ.js +1 -0
  227. package/dist/client/assets/projects-inbox-DRBl2N85.css +1 -0
  228. package/dist/client/assets/{proxy-DnLpZIi9.js → proxy-BiW5suC7.js} +1 -1
  229. package/dist/client/assets/{radio-Dm1ItnA4.js → radio-BOxBQX-T.js} +1 -1
  230. package/dist/client/assets/{refresh-cw-BRn9Oxxl.js → refresh-cw-DMxGzDwn.js} +1 -1
  231. package/dist/client/assets/resolve-panes-DeVJbS9c.js +1 -0
  232. package/dist/client/assets/resolve-sidebar-context-BQe5J6xF.js +1 -0
  233. package/dist/client/assets/{right-BJltPRnd.js → right-Bmfd3pjP.js} +1 -1
  234. package/dist/client/assets/{right-Beh3nCUB.js → right-BqI-nr9G.js} +1 -1
  235. package/dist/client/assets/{right-D3aTKf1F.js → right-BuCgE0fZ.js} +1 -1
  236. package/dist/client/assets/{right-Shpw_xDy.js → right-BwlW6E57.js} +1 -1
  237. package/dist/client/assets/{right-CPP7GyOm.js → right-C0ybUw0j.js} +1 -1
  238. package/dist/client/assets/{right-BbyYdzHn.js → right-CdkcrmeD.js} +1 -1
  239. package/dist/client/assets/{right-CJnB_Bg7.js → right-CimaAvQN.js} +1 -1
  240. package/dist/client/assets/{right-C1yumXNx.js → right-CkCCPbCX.js} +1 -1
  241. package/dist/client/assets/{right-DI1B79nR.js → right-D3eSiy41.js} +1 -1
  242. package/dist/client/assets/{right-DtsRNX5b.js → right-Dz_xD0Vj.js} +1 -1
  243. package/dist/client/assets/{rocket-DOwXHKWA.js → rocket-BQm5_CvR.js} +1 -1
  244. package/dist/client/assets/router-B9vQkNJL.js +1 -0
  245. package/dist/client/assets/{scope-views-A4_vP97W.js → scope-views-1IYJdl41.js} +1 -1
  246. package/dist/client/assets/{scout-voice-BhPzrc6P.js → scout-voice-BVUqGhth.js} +1 -1
  247. package/dist/client/assets/{scoutbot-markdown-jh7tzFB1.js → scoutbot-markdown-BQ_Ee2Ic.js} +1 -1
  248. package/dist/client/assets/{scroll-text-DO0GQzvN.js → scroll-text-Dze_dXtQ.js} +1 -1
  249. package/dist/client/assets/{search-D1tJSAWe.js → search-CDko0PKE.js} +1 -1
  250. package/dist/client/assets/{secondaryNavConfig-B9IF8wXl.js → secondaryNavConfig-BoQ_zYR9.js} +1 -1
  251. package/dist/client/assets/{selection-bridge-i2S9zpf8.js → selection-bridge-Din6yV3h.js} +1 -1
  252. package/dist/client/assets/{send-horizontal-CgLppsIC.js → send-horizontal-CSjIm6xg.js} +1 -1
  253. package/dist/client/assets/{server-Dymv5Emh.js → server-Bzj7lPIx.js} +1 -1
  254. package/dist/client/assets/{session-catalog-DNaOEzoQ.js → session-catalog-DsaZJXZt.js} +1 -1
  255. package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +1 -0
  256. package/dist/client/assets/{session-table-PTQVoTyc.js → session-table-BQfR7u6r.js} +1 -1
  257. package/dist/client/assets/{settings-2fC_G9nX.js → settings-Dyvpkb1D.js} +1 -1
  258. package/dist/client/assets/{sliders-horizontal-BPSMHhbm.js → sliders-horizontal-C8njVwfg.js} +1 -1
  259. package/dist/client/assets/{sparkles-Dy8p5xN8.js → sparkles-CETYrxGA.js} +1 -1
  260. package/dist/client/assets/{sse-CiOSzE5n.js → sse-CD9MMUxl.js} +1 -1
  261. package/dist/client/assets/{tail-events-BMQmSx1n.js → tail-events-Ps8KpKah.js} +1 -1
  262. package/dist/client/assets/{terminal-yN9xN-h9.js → terminal-9GRS_Qdc.js} +1 -1
  263. package/dist/client/assets/{terminal-relay-9lhzEp2V.js → terminal-relay-GYMIvKs1.js} +1 -1
  264. package/dist/client/assets/{terminal-takeover-DANQfTcy.js → terminal-takeover-_Jyys4me.js} +1 -1
  265. package/dist/client/assets/{text-CnZ0e1-V.js → text-BP3oyl8-.js} +1 -1
  266. package/dist/client/assets/{text-rLpBg4_z.css → text-BYAFNLNq.css} +1 -1
  267. package/dist/client/assets/{use-conversation-list-D9BNLfnW.js → use-conversation-list-C9ABzjXI.js} +1 -1
  268. package/dist/client/assets/use-fleet-active-asks-DAspZQjE.js +1 -0
  269. package/dist/client/assets/{use-mesh-ops-items-BIvIHlqe.js → use-mesh-ops-items-Dh54ymEp.js} +1 -1
  270. package/dist/client/assets/{use-reduced-motion-CKkhq9c5.js → use-reduced-motion-x8pJMVrG.js} +1 -1
  271. package/dist/client/assets/{use-scout-dev-flags-B2KCzPxn.js → use-scout-dev-flags-DhCbiDK3.js} +1 -1
  272. package/dist/client/assets/{useAgentHoverCard-CHBsxcbp.js → useAgentHoverCard-DoBwV0LX.js} +1 -1
  273. package/dist/client/assets/useContentSecondaryNav-pZe2Zfk1.js +1 -0
  274. package/dist/client/assets/{usePierreRuntime-DUuXH5yp.js → usePierreRuntime-ejq9dCWV.js} +1 -1
  275. package/dist/client/assets/{wrench-YcXMlsh2.js → wrench-DjkoAOQt.js} +1 -1
  276. package/dist/client/assets/{x-e3h2hDsp.js → x-CAbNespN.js} +1 -1
  277. package/dist/client/assets/{xterm-Byp1Hep_.js → xterm-Cf-ngcGP.js} +1 -1
  278. package/dist/client/assets/{zap-nMcjPoWB.js → zap-Cq8eWkcF.js} +1 -1
  279. package/dist/client/index.html +1 -1
  280. package/dist/drizzle/0009_old_korg.sql +72 -0
  281. package/dist/drizzle/0010_sparkling_colonel_america.sql +2 -0
  282. package/dist/drizzle/0011_funny_onslaught.sql +4 -0
  283. package/dist/drizzle/0012_high_blazing_skull.sql +16 -0
  284. package/dist/drizzle/0013_perfect_juggernaut.sql +1 -0
  285. package/dist/drizzle/0014_legal_meggan.sql +6 -0
  286. package/dist/drizzle/0015_lame_marvel_boy.sql +12 -0
  287. package/dist/drizzle/0016_early_goliath.sql +6 -0
  288. package/dist/drizzle/meta/0009_snapshot.json +6262 -0
  289. package/dist/drizzle/meta/0010_snapshot.json +6286 -0
  290. package/dist/drizzle/meta/0011_snapshot.json +6337 -0
  291. package/dist/drizzle/meta/0012_snapshot.json +6458 -0
  292. package/dist/drizzle/meta/0013_snapshot.json +6465 -0
  293. package/dist/drizzle/meta/0014_snapshot.json +6503 -0
  294. package/dist/drizzle/meta/0015_snapshot.json +6596 -0
  295. package/dist/drizzle/meta/0016_snapshot.json +6611 -0
  296. package/dist/drizzle/meta/_journal.json +56 -0
  297. package/dist/main.mjs +1306 -360
  298. package/dist/node/main.mjs +314 -12
  299. package/dist/pairing-runtime-controller.mjs +608 -108
  300. package/dist/runtime/base-daemon.mjs +30 -3
  301. package/dist/runtime/broker-daemon.mjs +4771 -529
  302. package/dist/runtime/broker-process-manager.mjs +23 -2
  303. package/dist/runtime/mesh-discover.mjs +23 -2
  304. package/dist/scout-control-plane-web.mjs +1914 -478
  305. package/package.json +2 -2
  306. package/dist/client/assets/AgentLanesEmbedScreen-BmLnN4on.js +0 -1
  307. package/dist/client/assets/AgentLanesPreflight-5B6sXvRB.js +0 -1
  308. package/dist/client/assets/AgentLanesView-DHyzVBk6.js +0 -2
  309. package/dist/client/assets/AgentsSubnav-CDMjKeYC.js +0 -1
  310. package/dist/client/assets/ChatCollapsedStrip-Ycm0ecaX.js +0 -1
  311. package/dist/client/assets/ConversationScreen-BNULZAp2.js +0 -2
  312. package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +0 -1
  313. package/dist/client/assets/CrewWorkspaces-CkPYIA46.js +0 -1
  314. package/dist/client/assets/FlightObserveScreen-CDWGSKZg.js +0 -1
  315. package/dist/client/assets/MessagesScreen-Eulveud3.js +0 -1
  316. package/dist/client/assets/NewChatComposer-hlWT-nbR.js +0 -19
  317. package/dist/client/assets/OpsScreen-Ppen_Lmj.js +0 -1
  318. package/dist/client/assets/OpsSubnav-GAKsoSor.js +0 -1
  319. package/dist/client/assets/ProjectAgentProfile-BLlp2e6t.js +0 -1
  320. package/dist/client/assets/ProjectsInbox-Dlt8OQ8O.js +0 -2
  321. package/dist/client/assets/ProjectsRail-DCfNMmnW.js +0 -1
  322. package/dist/client/assets/ProjectsScreen-BP-hmI1m.js +0 -1
  323. package/dist/client/assets/ProjectsThreadAside-CWpMjGIH.js +0 -1
  324. package/dist/client/assets/RealtimeVoiceScreen-D7zZHK_t.js +0 -1
  325. package/dist/client/assets/ScoutDeckSurface-CKT3qdqY.js +0 -1
  326. package/dist/client/assets/SessionEmbedScreen-RD5XOx7R.js +0 -1
  327. package/dist/client/assets/SessionRefScreen-B_cTv47v.js +0 -1
  328. package/dist/client/assets/SessionsScreen-Bq0Z77On.js +0 -1
  329. package/dist/client/assets/archive-BjcGiAy8.js +0 -1
  330. package/dist/client/assets/content-6RvWTrtk.js +0 -1
  331. package/dist/client/assets/content-BCgwMUqz.js +0 -1
  332. package/dist/client/assets/content-Bf2VLhx0.js +0 -1
  333. package/dist/client/assets/content-BrU_38-m.js +0 -1
  334. package/dist/client/assets/content-BvvJN8rN.js +0 -1
  335. package/dist/client/assets/content-CAeEqYPw.js +0 -1
  336. package/dist/client/assets/content-CI_Z9DXk.js +0 -1
  337. package/dist/client/assets/content-CbyKONhW.js +0 -1
  338. package/dist/client/assets/content-Czogvp43.js +0 -1
  339. package/dist/client/assets/content-DFk0zNzX.js +0 -1
  340. package/dist/client/assets/content-DHe4DgkA.js +0 -1
  341. package/dist/client/assets/content-DTz7cKjo.js +0 -1
  342. package/dist/client/assets/content-E3kudY-W.js +0 -1
  343. package/dist/client/assets/content-LpO0aO_U.js +0 -1
  344. package/dist/client/assets/conversation-motion-features-BKkCRaWR.js +0 -1
  345. package/dist/client/assets/discover-CHbrEItO.js +0 -2
  346. package/dist/client/assets/embed-entry-vil28MyU.js +0 -2
  347. package/dist/client/assets/index-BVlMw8x_.js +0 -1
  348. package/dist/client/assets/index-Cn0GR-q1.js +0 -1
  349. package/dist/client/assets/index-DosI4AG9.js +0 -1
  350. package/dist/client/assets/left-BpgWnaah.js +0 -1
  351. package/dist/client/assets/left-Cx0kv6pe.js +0 -1
  352. package/dist/client/assets/left-agents-qL5PpUY-.js +0 -1
  353. package/dist/client/assets/left-z-6CkuBe.js +0 -2
  354. package/dist/client/assets/projects-inbox-BBs1hG13.css +0 -1
  355. package/dist/client/assets/projects-inbox-D-zAb9Gp.js +0 -1
  356. package/dist/client/assets/resolve-panes-DO6LkwhQ.js +0 -1
  357. package/dist/client/assets/resolve-sidebar-context-CIF288wY.js +0 -1
  358. package/dist/client/assets/router-DJj2WbDg.js +0 -1
  359. package/dist/client/assets/use-fleet-active-asks-BeAdcl09.js +0 -1
  360. package/dist/client/assets/useContentSecondaryNav-D0mUhxTF.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as W}from"./index-DvLtl7rV.js";import{a as T}from"./api-Co9aQ2Jw.js";import{b as Ie}from"./router-B9vQkNJL.js";import{u as ke}from"./sse-CD9MMUxl.js";import{i as q,o as Re}from"./surface-activity-B1rgWB1i.js";import{u as je}from"./tail-events-Ps8KpKah.js";import{d as be,u as Ee}from"./Provider-CtXJeLrP.js";import{x as C}from"./conversation-model-Dc02NsGp.js";import{i as Ce,a as Me}from"./mesh-roster-Bc7T4b7z.js";import{d as Te,c as Ne,e as _e,f as Pe,I as G}from"./NewChatComposer-_Stj0fZy.js";import{i as xe}from"./agents-project-model-UYiamtrU.js";import{o as ae,b as Be,a as Le,h as U,c as ue}from"./model-IGCUEsMy.js";const Oe=["codex","claude","grok","grok-acp","kimi","flue","cursor","opencode","native","worker","bridge","http","pi"],$e=new Set(Oe);function Y(e){const t=e?.trim().toLowerCase().replace(/_/gu,"-")??"",s=t==="claude-code"||t==="claude-stream-json"?"claude":t==="codex-app-server"||t==="codex-exec"?"codex":t==="pi-rpc"?"pi":t;return $e.has(s)?s:null}function O(e){const t=e?.trim();if(!t)return null;const s=t.split(/[\\/]/u).filter(Boolean).at(-1)??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function J(e){const t=e?.trim();if(!t)return null;if(t.startsWith("session:")){const n=t.slice(8),o=n.indexOf(":");if(o>0){const i=Y(n.slice(0,o)),c=O(n.slice(o+1));if(i&&c)return{refId:c,harness:i,qualified:!0}}const r=O(n);return r?{refId:r,harness:null,qualified:!1}:null}const s=O(t);return s?{refId:s,harness:null,qualified:!1}:null}function fe(e,t){const s=J(t);if(!s)return null;if(s.qualified)return`session:${s.harness}:${s.refId}`;const n=Y(e);return n?`session:${n}:${s.refId}`:s.refId}const de=1440*6e4;function De(e,t){const s=n=>JSON.stringify([n.activeAsks,n.needsAttention]);return e&&s(e)===s(t)?e:t}function We(e){const t=new Map;for(const s of e?.activeAsks??[]){const n=t.get(s.agentId)??[];n.push(s),t.set(s.agentId,n)}return t}function qe(e){const t=new Map,s=(n,o)=>{if(!n)return;const r=t.get(n)??[];r.push(o),t.set(n,r)};for(const n of e?.needsAttention??[])s(n.agentId,{title:n.title,summary:n.summary,conversationId:n.conversationId,updatedAt:n.updatedAt});for(const n of t.values())n.sort((o,r)=>r.updatedAt-o.updatedAt);return t}function ge(e){return e?e.charAt(0).toUpperCase()+e.slice(1):"Harness"}function pe(e){return e.length===1?e[0]??null:e.length>1?`${e.length} branches`:null}function Fe(e,t,s,n){const o=e.group,r=o.nodes.flatMap(h=>s.get(h.row.agent.id)??[]).sort((h,A)=>A.updatedAt-h.updatedAt)[0]??null,i=!!r,c=!i&&o.nodes.some(h=>G(h.row)),a=xe(o,n),v=i?"needs":c?"working":"recent",l=i?"needs":c||a?"live":"idle",f=e.leadAgent,g=r?.conversationId??t.get(f.id)??f.conversationId??null;return{id:`${e.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:e.projectSlug,projectTitle:e.projectTitle,projectRoot:e.projectRoot,workspaceRoot:f.cwd??f.projectRoot??e.projectRoot,agentId:f.id,agentName:o.name,harness:U(o.harness),branch:pe(o.branches),work:r?.summary?.trim()||r?.title.trim()||Le(e,l),group:v,needs:i,working:c,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:g,sessionId:null}}function He(e){return e&&e.view==="sessions"&&e.sessionId?e.sessionId:null}function Ke(e,t,s){const n=U(t.harness);return{id:`${e.slice.slug}:native:${t.key}`,kind:"native",projectSlug:e.slice.slug,projectTitle:e.slice.title,projectRoot:e.slice.root,workspaceRoot:e.slice.root,agentId:null,agentName:`${ge(n)} session`,harness:n,source:t.harness,branch:null,work:ue(t.detail??t.label)||t.label,group:"working",needs:!1,working:!0,lastActivityAt:t.lastActivityAt??s,sessionCount:1,contextPct:null,conversationId:null,sessionId:He(t.route)}}function ze(e,t){return e.status==="active"||e.status==="workflow"?"working":(e.lastActivityAt&&t-e.lastActivityAt<de,"recent")}function P(e){return e?e.view==="sessions"?e.sessionId??null:e.view==="conversation"?e.conversationId:null:null}function F(e){return!!P(e.route)}function H(e,t,s,n,o,r){const i=U(t.harness),c=P(t.route),a=t.status==="active"||t.status==="workflow";return{id:`${e.slice.slug}:session:${t.key}`,kind:"session",projectSlug:e.slice.slug,projectTitle:e.slice.title,projectRoot:e.slice.root,workspaceRoot:n?.cwd??n?.projectRoot??e.slice.root,agentId:n?.id??null,agentName:n?.name??`${ge(i)} session`,harness:i,source:t.harness,branch:pe(o?[o]:[]),work:ue(t.detail??t.label)||t.label,group:ze(t,s),needs:!1,working:a,lastActivityAt:t.lastActivityAt??s,latestReplyAt:r?.ts??null,latestReplyPreview:r?.summary.trim()||null,sessionCount:1,contextPct:null,conversationId:t.route?.view==="conversation"?t.route.conversationId:null,sessionId:t.route?.view==="sessions"?t.route.sessionId??c:c,route:t.route}}function ve(e){const t=e?.trim();if(!t)return null;const s=t.split(/[\\/]/u).filter(Boolean).at(-1)??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function k(e,t){const s=ve(t);return s?`${Y(e)??e.trim().toLowerCase()}\0${s}`:null}function Ve(e){if(!e.raw||typeof e.raw!="object"||Array.isArray(e.raw))return null;const t=e.raw.payload;if(!t||typeof t!="object"||Array.isArray(t))return null;const s=t.role;return typeof s=="string"?s.trim().toLowerCase():null}function Ge(e){const t=e.trim();if(!t.startsWith("{"))return!1;if(t.startsWith('{"risk_level":')&&t.includes('"user_authorization":')&&t.includes('"outcome":')&&t.includes('"rationale":'))return!0;try{const s=JSON.parse(t);return typeof s.risk_level=="string"&&typeof s.user_authorization=="string"&&typeof s.outcome=="string"&&typeof s.rationale=="string"}catch{return!1}}function Q(e){if(e.kind!=="assistant")return!1;const t=e.summary.trim();if(!t||/^\[(?:assistant|message)\]$/iu.test(t))return!1;const s=Ve(e);return s&&s!=="assistant"?!1:!Ge(t)}function Ue(e){const t=new Map;for(const s of e){if(!Q(s))continue;const n=k(s.source,s.sessionId);if(!n)continue;const o=t.get(n);(!o||s.ts>o.ts)&&t.set(n,s)}return t}function Ye(e,t,s){const n=[];for(const o of e.agents)for(const r of o.sessions)F(r)&&n.push(H(e,r,t,o.row.agent,o.row.branch,s.get(k(r.harness,P(r.route))??"")??null));for(const o of e.unassigned)F(o)&&n.push(H(e,o,t,void 0,void 0,s.get(k(o.harness,P(o.route))??"")??null));return n.sort((o,r)=>r.lastActivityAt-o.lastActivityAt||o.agentName.localeCompare(r.agentName))}function Je(e,t,s,n){const o=new Set;for(const r of t){const i=k(r.source??r.harness,r.sessionId);i&&o.add(i)}for(const r of e)for(const i of r.agents){if(!i.sessions.some(F))continue;const c=i.row.agent,a=k(c.harness??i.row.harness,c.harnessSessionId);a&&o.add(a)}for(const r of e)for(const i of r.agents){const c=i.row.agent;if(!Me(c))continue;const a=c.harness?.trim()||i.row.harness,v=ve(c.harnessSessionId),l=k(a,v);if(!v||!l||o.has(l))continue;o.add(l);const f=G(i.row),g={key:`fallback:${c.id}`,status:f?"active":"idle",harness:a,label:c.name,detail:i.row.activeTask??c.harnessLogPath??v,lastActivityAt:i.row.lastActivityAt??c.createdAt??s,route:{view:"sessions",sessionId:v}};t.push(H(r,g,s,c,i.row.branch,n.get(l)??null))}t.sort((r,i)=>i.lastActivityAt-r.lastActivityAt||r.agentName.localeCompare(i.agentName))}function Qe(e){const t=new Map,s=(n,o,r,i)=>{const c=t.get(n);if(!c){t.set(n,{root:n,branch:o,working:r,lastActivityAt:i});return}(r||!c.branch)&&o&&(c.branch=o),c.working||=r,c.lastActivityAt=Math.max(c.lastActivityAt,i)};for(const n of e.agents){const o=n.row.agent.cwd??n.row.agent.projectRoot??e.slice.root;if(!o)continue;const r=n.row.branch&&n.row.branch!=="—"?n.row.branch:null;s(o,r,G(n.row),n.row.lastActivityAt??0)}for(const n of e.slice.nativeSessions)n.cwd&&s(n.cwd,null,n.status==="active",n.lastActivityAt??0);return t.size===0&&e.slice.root&&s(e.slice.root,null,!1,e.lastActivityAt??0),[...t.values()].sort((n,o)=>Number(o.working)-Number(n.working)||o.lastActivityAt-n.lastActivityAt||n.root.localeCompare(o.root))}function ne(e,t){return e.needs?3:e.working?2:t-e.lastActivityAt<de?1:0}function Xe(e){const{nowMs:t,showEphemeral:s}=e,n=be(e.agents,e.machineId),o=We(e.fleet),r=qe(e.fleet),{conversationByAgentId:i,sessionByAgentId:c}=Te(e.sessions),a=n.map(u=>Ne(u,c.get(u.id)??null,o.get(u.id)??[])),v=_e(e.discovery,t),l=Pe(a,e.sessions,v),f=Be(l,s).filter(u=>Ce(u.leadAgent)),g=Ue(e.recentEvents??[]),h=f.map(u=>Fe(u,i,r,t));for(const u of l)for(const p of u.unassigned)p.kind!=="native"||p.status!=="active"||!p.route||h.push(Ke(u,p,t));h.sort((u,p)=>ne(p,t)-ne(u,t)||p.lastActivityAt-u.lastActivityAt);const A=l.flatMap(u=>Ye(u,t,g));Je(l,A,t,g);const S=new Map;for(const u of h){const p=S.get(u.projectSlug)??[];p.push(u),S.set(u.projectSlug,p)}const m=new Map;for(const u of A){const p=m.get(u.projectSlug)??[];p.push(u),m.set(u.projectSlug,p)}const ee=l.map(u=>{const p=S.get(u.slice.slug)??[],te=m.get(u.slice.slug)??[],Se=[...new Set(u.agents.map(w=>w.row.branch).filter(w=>!!w&&w!=="—"&&w!=="main"))],se=Qe(u);return{slug:u.slice.slug,title:u.slice.title,root:u.slice.root,agentCount:1,sessionCount:te.length,liveSessionCount:te.filter(w=>w.working).length,worktreeCount:se.length,worktrees:se,needs:p.filter(w=>w.needs).length,working:p.filter(w=>w.working).length,threadCount:p.length,lastActivityAt:u.lastActivityAt,branches:Se}});return ee.sort((u,p)=>x(p)-x(u)||p.lastActivityAt-u.lastActivityAt||u.title.localeCompare(p.title)),et({projects:ee,threads:h,sessions:A,projectAliases:{}})}function x(e){return e.needs>0?2:e.working>0?1:0}function oe(e){return e?/\/(?:\.codex|\.claude|\.agents?)\/worktrees\/[^/]+\//iu.test(e)||/\/\.worktrees\/[^/]+/iu.test(e):!1}function re(e){return e.replace(/^\/Users\/[^/]+(?=\/)/u,"~").replace(/\/+$/u,"")}function Ze(e){const t=new Map;for(const s of e)for(const n of s.worktrees){const o=t.get(n.root);if(!o){t.set(n.root,{...n});continue}o.branch??=n.branch,o.working||=n.working,o.lastActivityAt=Math.max(o.lastActivityAt,n.lastActivityAt)}return[...t.values()].sort((s,n)=>Number(n.working)-Number(s.working)||n.lastActivityAt-s.lastActivityAt||s.root.localeCompare(n.root))}function et(e){const t=new Map;for(const l of e.projects){if(!l.root||!oe(l.root))continue;const f=e.projects.filter(g=>g.slug!==l.slug&&!oe(g.root)&&g.worktrees.some(h=>re(h.root)===re(l.root)));f.length===1&&t.set(l.slug,f[0].slug)}if(t.size===0)return e;const s=new Map(e.projects.map(l=>[l.slug,l])),n=l=>{const f=t.get(l.projectSlug);if(!f)return l;const g=s.get(f);return{...l,projectSlug:g.slug,projectTitle:g.title,projectRoot:g.root}},o=l=>{const f=t.get(l.projectSlug);if(!f)return l;const g=s.get(f);return{...l,projectSlug:g.slug,projectTitle:g.title,projectRoot:g.root}},r=e.threads.map(n),i=e.sessions.map(o),c=new Map;for(const l of e.projects){const f=t.get(l.slug)??l.slug,g=c.get(f)??[];g.push(l),c.set(f,g)}const a=[...c.entries()].map(([l,f])=>{const g=s.get(l),h=r.filter(m=>m.projectSlug===l),A=i.filter(m=>m.projectSlug===l),S=Ze(f);return{...g,agentCount:1,sessionCount:A.length,liveSessionCount:A.filter(m=>m.working).length,worktreeCount:S.length,worktrees:S,needs:h.filter(m=>m.needs).length,working:h.filter(m=>m.working).length,threadCount:h.length,lastActivityAt:Math.max(...f.map(m=>m.lastActivityAt)),branches:[...new Set(f.flatMap(m=>m.branches))]}});a.sort((l,f)=>x(f)-x(l)||f.lastActivityAt-l.lastActivityAt||l.title.localeCompare(f.title));const v={...e.projectAliases};for(const[l,f]of t)v[l]=f;return{projects:a,threads:r,sessions:i,projectAliases:v}}function Ot(e,t){if(e.projects.some(o=>o.slug===t))return t;let s=t;const n=new Set;for(;Object.hasOwn(e.projectAliases,s);){if(n.has(s))return null;n.add(s),s=e.projectAliases[s]}return e.projects.some(o=>o.slug===s)?s:null}function tt(e,t,s){const n=new Set(s.map(r=>r.slug)),o={...t};for(const[r,i]of Object.entries(e??{}))n.has(r)||!n.has(i)||o[r]||(o[r]=i);return o}function $t(e,t){return e.filter(s=>s.projectSlug===t)}function Dt(e,t){return e.filter(s=>s.projectSlug===t)}const st=["needs","working","recent"],nt={needs:"Your turn",working:"In flight",recent:"Recent"};function Wt(e){const t=new Map;for(const s of e){const n=t.get(s.group)??[];n.push(s),t.set(s.group,n)}return st.filter(s=>t.has(s)).map(s=>({group:s,label:nt[s],items:t.get(s)}))}function y(e){return{view:"agents-v2",...e.projectSlug?{projectSlug:e.projectSlug}:{},...e.machineId?{machineId:e.machineId}:{}}}function B(e){return e.kind!=="native"||!e.sessionId?null:fe(e.source??e.harness,e.sessionId)}function ot(e,t){const s=t.projectSlug?e.filter(a=>a.projectSlug===t.projectSlug):e;if(t.selectedAgentId){const a=s.filter(v=>v.agentId===t.selectedAgentId);return a.length===1?a[0]:null}const n=t.sessionId?.trim();if(!n)return null;const o=s.filter(a=>B(a)===n);if(o.length===1)return o[0];const r=J(n);if(o.length>1||r?.qualified)return null;const i=r?.refId??n,c=s.filter(a=>a.kind==="native"&&a.sessionId===i);return c.length===1?c[0]:null}function qt(e,t,s){return ot(s,t)===e}function Ft(e,t){return e.kind==="native"?{...y(t),sessionId:B(e)??void 0}:{...y(t),selectedAgentId:e.agentId??void 0}}function Ht(e,t){const s=B(e);return s?{view:"sessions",sessionId:s}:e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.agentId?ae(t,e.agentId):y(t)}function Kt(e,t){const s=B(e);return s?{view:"sessions",sessionId:s}:e.agentId?{...ae(t,e.agentId),tab:"observe"}:null}function zt(e,t){const s=X(e);return s?{...y(t),indexView:"sessions",...s?{sessionId:s}:{},selectedAgentId:void 0}:y(t)}function Vt(e,t,s){return rt(s,t)===e}function X(e){return e.conversationId&&e.route?.view==="conversation"?e.conversationId:e.sessionId?fe(e.source??e.harness,e.sessionId):e.conversationId?e.conversationId:null}function rt(e,t){const s=t.sessionId?.trim();if(!s)return null;const n=t.projectSlug?e.filter(a=>a.projectSlug===t.projectSlug):e,o=n.filter(a=>X(a)===s);if(o.length===1)return o[0];const r=J(s);if(o.length>1||r?.qualified)return null;const i=r?.refId??s,c=n.filter(a=>a.sessionId===i||a.conversationId===i||a.id===i);return c.length===1?c[0]:null}function Gt(e,t){const s=X(e);return s?{...y(t),projectSlug:e.projectSlug,indexView:"sessions",sessionId:s,selectedAgentId:void 0}:{...y(t),projectSlug:e.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const it=50;function me(e){const t=e.source.trim().toLowerCase(),s=e.sessionId.trim(),n=s.split(/[\\/]/u).filter(Boolean).at(-1)??s,o=n.endsWith(".jsonl")?n.slice(0,-6):n;return t&&o?`${t}\0${o}`:`event\0${e.id}`}function he(e,t){const s=new Map;for(const n of e){if(!Q(n))continue;const o=me(n),r=s.get(o);(!r||n.ts>=r.ts)&&s.set(o,n)}return[...s.values()].sort((n,o)=>o.ts-n.ts||o.id.localeCompare(n.id)).slice(0,t)}function ct(e){const t=e.now??Date.now;let s="idle",n=0,o=null,r=0;const i=()=>s==="idle"||s==="error"&&t()>=n;return{shouldRun:i,run(){if(o)return o;if(!i())return Promise.resolve();s="loading";const c=r;let a;return a=Promise.resolve().then(e.load).then(()=>{r===c&&(s="ready")}).catch(()=>{r===c&&(s="error",n=t()+e.retryDelayMs)}).finally(()=>{o===a&&(o=null)}),o=a,a},reset(){r+=1,s="idle",n=0,o=null}}}function lt(e,t=s=>{const n=setTimeout(s,it);return()=>clearTimeout(n)}){const s=new Map;let n=null;const o=()=>{if(n=null,s.size===0)return;const r=[...s.values()];s.clear(),e(r)};return{push(r){s.set(me(r),r),n??=t(o)},cancel(){n?.(),n=null,s.clear()}}}function at(e){if(typeof window<"u"){const s=window;if(s.requestIdleCallback){const n=s.requestIdleCallback(e,{timeout:1e3});return()=>s.cancelIdleCallback?.(n)}}const t=setTimeout(e,0);return()=>clearTimeout(t)}const ut=6e4,we=3e4,ft=1e3,Z=200,dt=5e3,gt="/api/tail/discover?scope=hot&limit=160",pt=`/api/tail/recent?limit=${Z}&transcripts=1&mode=assistant-replies`;let d={sessions:[],fleet:null,discovery:null,recentEvents:[],loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const K=new Set;let I=0,b=null,$=!1,E=null,R=null,N=null,_=null,z=null,ie=0;function Ae(){for(const e of[...K])e()}function vt(e,t){const s=n=>JSON.stringify([n?.transcripts??[],n?.processes??[]]);return e&&s(e)===s(t)?e:t}function L(e){d={...d,...e},Ae()}const V=ct({retryDelayMs:dt,load:async()=>{const e=await T(pt),t=he([...d.recentEvents,...e.events??[]],Z),s=C(d.recentEvents,t);s!==d.recentEvents&&L({recentEvents:s})}});function mt(){E||!V.shouldRun()||(E=at(()=>{E=null,I>0&&V.run()}))}const ye=lt(e=>{const t=he([...d.recentEvents,...e],Z),s=C(d.recentEvents,t);s!==d.recentEvents&&L({recentEvents:s})});function ht(e){Q(e)&&ye.push(e)}async function j(e){if(b)return $=!0,b;b=(async()=>{ie+=1,typeof window<"u"&&(window.__projectsInboxLoads=ie),d.loadedAt===null&&e!=="background"&&L({loading:!0,error:null});const[t,s,n]=await Promise.allSettled([T("/api/conversations"),T("/api/fleet"),T(gt)]),o=t.status==="fulfilled"?C(d.sessions,t.value):d.sessions,r=s.status==="fulfilled"?De(d.fleet,s.value):d.fleet,i=n.status==="fulfilled"?vt(d.discovery,n.value):d.discovery,c=[t,s,n].find(l=>l.status==="rejected"),a=c?c.reason instanceof Error?c.reason.message:String(c.reason):null,v=o!==d.sessions||r!==d.fleet||i!==d.discovery||a!==d.error||d.loading;d={...d,sessions:o,fleet:r,discovery:i,error:a,loading:!1,loadedAt:Date.now()},v&&Ae(),mt()})();try{await b}finally{b=null,$&&I>0&&($=!1,j("background"))}}function wt(){q()&&(R||(R=setTimeout(()=>{R=null,j("background")},ft)))}function At(){j("initial"),N=setInterval(()=>{q()&&j("background")},ut),_=setInterval(()=>{q()&&L({nowMs:Date.now()})},we),z=Re(()=>{j("background")})}function yt(){E?.(),E=null,V.reset(),ye.cancel(),R&&(clearTimeout(R),R=null),N&&(clearInterval(N),N=null),_&&(clearInterval(_),_=null),z?.(),z=null}function Ut(){j("background")}function St(){const[e,t]=W.useState(d);return W.useEffect(()=>{const s=()=>t(d);return K.add(s),I+=1,I===1&&At(),s(),()=>{K.delete(s),I-=1,I===0&&yt()}},[]),ke(wt),je(ht),e}let ce=null,M=null,le=null;function It(e,t){return!!e&&e.length===t.length&&e.every((s,n)=>s===t[n])}function D(e,t,s){if(!e?.length)return t;const n=new Map(e.map(i=>[s(i),i]));let o=e.length===t.length;const r=t.map((i,c)=>{const a=n.get(s(i)),v=a?C(a,i):i;return v!==e[c]&&(o=!1),v});return o?e:r}function kt(e,t){if(!e)return t;const s=D(e.projects,t.projects,i=>i.slug),n=D(e.threads,t.threads,i=>i.id),o=D(e.sessions,t.sessions,i=>i.id),r=C(e.projectAliases,tt(e.projectAliases,t.projectAliases,s));return s===e.projects&&n===e.threads&&o===e.sessions&&r===e.projectAliases?e:{projects:s,threads:n,sessions:o,projectAliases:r}}function Rt(e){const t=[e.agents,e.sessions,e.fleet,e.discovery,e.recentEvents,e.machineId,Math.floor(e.nowMs/we),e.showEphemeral];if(It(ce,t)&&M)return M;const s=Xe(e),n=`${e.machineId??""}\0${e.showEphemeral?"ephemeral":"durable"}`,o=kt(le===n?M:null,s);return ce=t,M=o,le=n,o}function Yt(e){const t=St(),{agents:s}=Ee(),n=Ie(e),o=!!e.showEphemeral;return{model:W.useMemo(()=>Rt({agents:s,machineId:n,sessions:t.sessions,fleet:t.fleet,discovery:t.discovery,recentEvents:t.recentEvents,nowMs:t.nowMs,showEphemeral:o}),[s,n,t.sessions,t.fleet,t.discovery,t.recentEvents,t.nowMs,o]),agents:s,nowMs:t.nowMs,loading:t.loading,loadedAt:t.loadedAt,error:t.error}}export{Ht as a,ot as b,$t as c,Dt as d,zt as e,rt as f,Wt as g,Ft as h,Vt as i,qt as j,Ut as k,Ot as r,Gt as s,Kt as t,Yt as u};
@@ -0,0 +1 @@
1
+ .s-pi{--pi-bg: var(--hud-bg);--pi-ink: var(--scout-chrome-ink-strong);--pi-muted: var(--scout-chrome-ink-soft);--pi-dim: var(--scout-chrome-ink-faint);--pi-hairline: color-mix(in srgb, var(--hud-ink) 8%, transparent);--pi-hairline-strong: color-mix(in srgb, var(--hud-ink) 15%, transparent);--pi-accent: var(--accent);--pi-accent-soft: var(--hud-accent-soft);--pi-surface: color-mix(in srgb, var(--hud-surface) 58%, var(--pi-bg));--pi-mono: var(--hud-font-mono);--pi-sans: var(--hud-font-sans);--pi-ease: cubic-bezier(.22, 1, .36, 1);height:100%;min-height:0;display:flex;flex-direction:column;color:var(--pi-ink);font-family:var(--pi-sans);-webkit-font-smoothing:antialiased}.pi-tnum{font-variant-numeric:tabular-nums}.pi-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(268px,316px) minmax(0,1fr);background:var(--pi-bg)}.pi-shell[data-aside]{grid-template-columns:minmax(268px,316px) minmax(0,1fr) minmax(320px,380px)}.pi-srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pi-loadingLine{display:block;min-width:0;height:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--hud-ink) 6%,transparent),color-mix(in srgb,var(--hud-ink) 13%,transparent),color-mix(in srgb,var(--hud-ink) 6%,transparent));background-size:220% 100%;animation:pi-shimmer 1.35s ease-in-out infinite}.pi-stateBlock{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:42px 24px;color:var(--pi-dim);text-align:center;animation:pi-fade-in .16s var(--pi-ease)}.pi-statePulse{width:7px;height:7px;border-radius:999px;background:color-mix(in srgb,var(--pi-muted) 64%,transparent)}.pi-stateBlock[data-tone=loading] .pi-statePulse{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 1.8s ease-in-out infinite}.pi-stateBlock[data-tone=error] .pi-statePulse{background:color-mix(in srgb,#ff6b57 72%,var(--pi-accent))}.pi-stateTitle{color:var(--pi-muted);font-size:var(--text-md);font-weight:650}.pi-stateDetail{max-width:420px;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-xs);line-height:1.45}.s-pi-rail{display:flex;flex-direction:column;height:100%;min-height:0;border-right:1px solid var(--pi-hairline);background:color-mix(in srgb,var(--hud-surface) 22%,transparent)}.s-projects-embed,.pi-projectsEmbedShell{width:100%;height:100vh;min-height:0}.pi-projectsEmbedShell{display:grid;grid-template-columns:clamp(224px,26vw,292px) minmax(0,1fr);overflow:hidden;background:var(--hud-bg)}.pi-projectsEmbedShell>.s-av2{min-width:0}.pi-railFind{flex:none;display:flex;align-items:center;gap:7px;height:30px;margin:12px 10px 8px;padding:0 9px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 44%,transparent);color:var(--pi-dim)}.pi-railFind:focus-within{border-color:color-mix(in srgb,var(--pi-accent) 45%,var(--pi-hairline))}.pi-railFindInput{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--pi-ink);font-size:var(--text-md);font-family:var(--pi-sans)}.pi-railFindInput::placeholder{color:var(--pi-dim)}.pi-railFindClear{flex:none;display:inline-flex;background:none;border:none;cursor:pointer;color:var(--pi-dim);padding:2px;border-radius:5px}.pi-railFindClear:hover{color:var(--pi-ink)}.pi-railBody{flex:1;min-height:0;overflow-y:auto;padding:4px 10px 12px;scrollbar-width:thin}.pi-railGroup{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.pi-railGroup--projects{gap:0}.pi-railLabel{font-size:var(--text-2xs);font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--pi-muted);padding:3px 8px 5px}.pi-railDisclosure{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:4px 9px 6px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--pi-dim)}.pi-railDisclosure:hover{color:var(--pi-muted)}.pi-railChev{display:inline-block;transition:transform .15s var(--pi-ease);font-size:var(--text-2xs)}.pi-railDisclosure[data-open] .pi-railChev{transform:rotate(90deg)}.pi-railEmpty{padding:6px 9px;font-size:var(--text-sm);color:var(--pi-dim)}.pi-railFoot{flex:none;padding:8px 10px 10px;border-top:1px solid var(--pi-hairline)}.pi-railFootBtn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:1px solid transparent;cursor:pointer;padding:6px 9px;border-radius:7px;font-size:var(--text-sm);font-weight:560;color:var(--pi-dim);transition:background .12s var(--pi-ease),color .12s var(--pi-ease)}.pi-railFootBtn:hover{background:color-mix(in srgb,var(--hud-surface) 55%,transparent);color:var(--pi-ink)}.pi-railProjectTools{display:flex;align-items:center;gap:8px;padding-right:2px}.pi-railProjectTools .pi-railLabel{flex:1;min-width:0}.pi-railAddBtn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 35%,transparent);color:var(--pi-dim);cursor:pointer}.pi-railAddBtn:hover{color:var(--pi-ink);border-color:var(--pi-hairline-strong)}.pi-railAddBtn[aria-expanded=true]{color:var(--pi-accent);border-color:color-mix(in srgb,var(--pi-accent) 45%,var(--pi-hairline))}.pi-addProject{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px}.pi-addProjectBox{display:flex;align-items:center;gap:7px;height:30px;padding:0 9px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 44%,transparent);color:var(--pi-dim)}.pi-addProjectBox:focus-within{border-color:color-mix(in srgb,var(--pi-accent) 45%,var(--pi-hairline))}.pi-addProjectInput{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--pi-ink);font-family:var(--pi-mono);font-size:var(--text-sm)}.pi-addProjectInput::placeholder{color:var(--pi-dim)}.pi-addProjectSubmit{flex:none;border:0;background:none;padding:2px;color:var(--pi-accent);font-size:var(--text-sm);font-weight:600;cursor:pointer}.pi-addProjectSubmit:disabled{color:var(--pi-dim);cursor:default}.pi-addProjectNote{padding:0 2px;font-size:var(--text-sm);color:var(--pi-muted)}.pi-addProjectNote[data-tone=error]{color:var(--red, #c25555)}.pi-railSortWrap{position:relative;flex:none;display:inline-flex;align-items:center;width:86px;height:25px;padding:0 18px 0 8px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 35%,transparent);color:var(--pi-dim)}.pi-railSortWrap svg{position:absolute;right:5px;pointer-events:none}.pi-railSort{width:100%;min-width:0;appearance:none;border:0;outline:0;background:none;color:var(--pi-muted);font-size:var(--text-xs);font-family:var(--pi-sans);cursor:pointer}.pi-railSortWrap:focus-within{border-color:color-mix(in srgb,var(--pi-accent) 45%,var(--pi-hairline))}.pi-pinnedSessions{margin:2px 0 10px;padding:5px 0 8px;border-bottom:1px solid var(--pi-hairline)}.pi-recentReplies{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--pi-hairline)}.pi-recentReplies .pi-projectSessionTitle{color:var(--pi-ink)}.pi-pinnedLabel{padding:0 8px 4px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pi-accent)}.pi-projectGroup{position:relative;margin:5px 0 9px}.pi-projectGroup--loading{opacity:.78;pointer-events:none}.pi-projectGroup--loading .pi-projectPath{cursor:default}.pi-loadingLine--railProject{width:72%;height:9px}.pi-loadingLine--railSession{width:calc(100% - 42px);height:7px;margin:7px 10px 7px 35px}.pi-projectGroup[data-selected]{padding:3px;margin-inline:-3px;border-radius:8px;background:color-mix(in srgb,var(--hud-ink) 4%,transparent)}.pi-projectGroupHead{display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:2px;min-width:0}.pi-projectPath{width:100%;min-width:0;height:27px;display:flex;align-items:center;gap:7px;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;color:var(--pi-muted);cursor:pointer;text-align:left}.pi-projectPath:hover{color:var(--pi-ink);background:color-mix(in srgb,var(--hud-surface) 48%,transparent)}.pi-projectGroup[data-selected] .pi-projectPath{color:var(--pi-ink)}.pi-projectGroup[data-state=working] .pi-projectPath svg,.pi-projectGroup[data-state=needs] .pi-projectPath svg{color:var(--pi-accent)}.pi-projectPathText{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:620}.pi-projectPathToggle{width:22px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:none;color:var(--pi-dim);opacity:0;cursor:pointer;transition:opacity .14s var(--pi-ease),color .14s var(--pi-ease)}.pi-projectGroupHead:hover .pi-projectPathToggle,.pi-projectGroupHead:focus-within .pi-projectPathToggle{color:var(--pi-muted);opacity:.88}.pi-projectPathToggle:hover{color:var(--pi-ink);background:color-mix(in srgb,var(--hud-ink) 6%,transparent);opacity:1}.pi-projectIndex{display:flex;flex-direction:column;gap:2px}.pi-projectGroup--flat{margin:0}.pi-projectGroup--flat[data-selected]{margin:0;padding:0;background:transparent}.pi-projectGroupHead--flat{display:block}.pi-projectPath--flat{height:auto;min-height:47px;padding:6px 7px;gap:8px}.pi-projectGroup--flat[data-selected] .pi-projectPath--flat{background:color-mix(in srgb,var(--pi-accent) 8%,transparent);border-color:color-mix(in srgb,var(--pi-accent) 22%,var(--pi-hairline))}.pi-projectPath--flat>svg{flex:none;align-self:flex-start;margin-top:3px}.pi-projectPathStack{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pi-projectPathMeta{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);white-space:nowrap}.pi-projectPathMeta>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.pi-projectState{flex:none;align-self:flex-start;margin-top:1px;color:color-mix(in srgb,var(--pi-accent) 78%,var(--pi-ink));font-size:10px;font-weight:650}.pi-projectState[data-state=needs]{color:color-mix(in srgb,#d9a441 84%,var(--pi-ink))}.pi-loadingLine--railRoot{width:52%;height:6px}.pi-projectPath--flat:focus-visible,.pi-railAddBtn:focus-visible,.pi-railFootBtn:focus-visible,.pi-railFindClear:focus-visible{outline:2px solid color-mix(in srgb,var(--pi-accent) 70%,white);outline-offset:1px}.pi-projectSessionList{display:flex;flex-direction:column;gap:0;margin-top:1px}.pi-projectSession{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 22px 22px auto;align-items:center;gap:4px;min-height:25px;margin-left:22px;border-radius:6px;color:var(--pi-muted)}.pi-projectSession:hover{color:var(--pi-ink);background:color-mix(in srgb,var(--scout-chrome-hover) 66%,transparent)}.pi-projectSession[data-selected]{color:var(--pi-ink);background:color-mix(in srgb,var(--pi-accent) 9%,transparent)}.pi-projectSession[data-pinned]{color:var(--pi-ink)}.pi-projectSessionMain{min-width:0;display:flex;align-items:center;gap:6px;height:25px;padding:0 0 0 13px;border:0;background:none;color:inherit;cursor:pointer;text-align:left;overflow:hidden}.pi-projectSessionTitle{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.pi-projectSessionTitle:before{content:"";position:absolute;left:-11px;top:50%;width:5px;height:5px;border-radius:999px;transform:translateY(-50%);background:color-mix(in srgb,var(--pi-dim) 46%,transparent)}.pi-projectSession[data-active] .pi-projectSessionTitle:before{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft)}.pi-projectSessionProject{flex:0 1 auto;min-width:0;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-dim)}.pi-projectSessionWhen{padding-right:5px;font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--pi-dim)}.pi-sessionPin,.pi-sessionArchive{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:transparent;color:var(--pi-dim);opacity:0;pointer-events:none;cursor:pointer;transition:opacity .12s var(--pi-ease),background .12s var(--pi-ease),color .12s var(--pi-ease)}.pi-projectSession:hover .pi-sessionPin,.pi-projectSession:focus-within .pi-sessionPin,.pi-projectSession[data-pinned] .pi-sessionPin,.pi-projectSession:hover .pi-sessionArchive,.pi-projectSession:focus-within .pi-sessionArchive{opacity:1;pointer-events:auto}.pi-sessionPin:hover,.pi-sessionArchive:hover{color:var(--pi-ink);background:color-mix(in srgb,var(--hud-ink) 6%,transparent)}.pi-sessionArchive:hover{color:var(--scout-danger, #ef4444)}.pi-sessionPin[data-pinned]{color:var(--pi-accent)}.pi-sessionPin[data-pinned] svg{fill:currentColor}.pi-projectSessionEmpty{padding:5px 8px 5px 35px;font-size:var(--text-sm);color:var(--pi-dim)}.pi-projectShowMore{display:block;width:calc(100% - 24px);margin:2px 0 0 24px;padding:4px 0 3px;border:0;background:none;color:color-mix(in srgb,var(--pi-dim) 72%,transparent);font-size:var(--text-xs);font-weight:600;text-align:left;cursor:pointer}.pi-projectShowMore:hover{color:var(--pi-dim)}.pi-sessionHoverCard{position:fixed;z-index:50;width:304px;min-height:154px;display:flex;flex-direction:column;gap:7px;padding:11px 12px;border:1px solid var(--pi-hairline-strong);border-radius:8px;background:color-mix(in srgb,var(--hud-surface) 94%,var(--pi-bg));box-shadow:0 18px 46px color-mix(in srgb,black 36%,transparent);color:var(--pi-ink);pointer-events:none}.pi-sessionHoverKicker{display:flex;justify-content:space-between;gap:12px;color:var(--pi-dim);font-size:var(--text-2xs);font-family:var(--pi-mono);font-variant-numeric:tabular-nums}.pi-sessionHoverTitle{font-size:var(--text-md);font-weight:680;color:var(--pi-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-sessionHoverContext{font-size:var(--text-sm);color:var(--pi-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-sessionHoverFacts{display:flex;flex-wrap:wrap;gap:5px}.pi-sessionHoverFacts span{min-width:0;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;border:1px solid var(--pi-hairline);border-radius:6px;color:var(--pi-muted);font-size:var(--text-xs);font-family:var(--pi-mono)}.pi-sessionHoverRef{margin-top:auto;color:var(--pi-dim);font-size:var(--text-xs);font-family:var(--pi-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-pi-inbox{display:flex;flex-direction:column;height:100%;min-height:0;background:radial-gradient(1100px 380px at 6% -10%,color-mix(in srgb,var(--pi-accent) 4%,transparent),transparent 58%),var(--pi-bg)}.pi-inboxHead{flex:none;display:flex;align-items:center;min-height:54px;padding:8px clamp(18px,3vw,42px);border-bottom:1px solid var(--pi-hairline)}.pi-inboxHeading{min-width:0;display:flex;align-items:baseline;gap:10px}.pi-inboxTitle{flex:none;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.01em;color:var(--pi-ink);margin:0}.pi-inboxDigest{font-size:var(--text-sm);font-family:var(--pi-mono);font-variant-numeric:tabular-nums;color:var(--pi-dim)}.pi-meta{flex:1;min-height:0;width:100%;overflow-y:auto;padding:18px clamp(18px,3vw,42px) 48px;scrollbar-width:thin;animation:pi-fade-in .14s var(--pi-ease)}.pi-metaShortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.pi-shortcut{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 11px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 28%,transparent);color:var(--pi-muted);font-size:var(--text-sm);font-weight:560;cursor:pointer;transition:color .12s var(--pi-ease),border-color .12s var(--pi-ease)}.pi-shortcut:hover{color:var(--pi-ink);border-color:var(--pi-hairline-strong)}.pi-shortcut svg{color:var(--pi-dim)}.pi-shortcut:hover svg{color:var(--pi-muted)}.pi-shortcut[aria-expanded=true]{color:var(--pi-accent);border-color:color-mix(in srgb,var(--pi-accent) 38%,var(--pi-hairline))}.pi-meta .pi-addProject{width:min(100%,560px);margin:8px 0 0}.pi-metaSection{min-width:0;width:min(100%,980px);margin-top:20px}.pi-recentRow{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:7px 12px;border:0;border-bottom:1px solid var(--pi-hairline);background:none;color:var(--pi-muted);text-align:left;cursor:pointer;transition:background .12s var(--pi-ease)}.pi-recentRow:hover{background:color-mix(in srgb,var(--scout-chrome-hover) 62%,transparent);color:var(--pi-ink)}.pi-recentDot{width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--pi-dim) 42%,transparent)}.pi-recentRow[data-state=live] .pi-recentDot{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 2.4s ease-in-out infinite}.pi-recentRow[data-state=needs] .pi-recentDot{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft)}.pi-recentMain{min-width:0;display:flex;align-items:baseline;gap:9px}.pi-recentTitle{flex:none;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:600;color:var(--pi-ink)}.pi-recentRoot{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--pi-mono);font-size:var(--text-2xs);color:var(--pi-dim)}.pi-recentMeta{flex:none;display:flex;align-items:baseline;gap:10px;font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--pi-dim)}.pi-recentMeta b{color:var(--pi-accent);font-weight:650}.pi-diffRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:7px 12px;border-bottom:1px solid var(--pi-hairline)}.pi-diffMain{min-width:0;display:flex;align-items:baseline;gap:8px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.pi-diffMain:hover .pi-diffProject{color:var(--pi-accent)}.pi-diffProject{flex:none;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:600;color:var(--pi-ink)}.pi-diffBranch{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--pi-mono);font-size:var(--text-2xs);color:var(--pi-dim)}.pi-diffChurn{flex:none;display:flex;align-items:baseline;gap:7px;font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.pi-diffChurn small{color:var(--pi-dim);font-size:var(--text-2xs)}.pi-metaEmpty{padding:16px 12px;border-bottom:1px solid var(--pi-hairline);color:var(--pi-dim);font-size:var(--text-sm)}.pi-projectHead{flex:none;display:flex;align-items:flex-start;flex-direction:column;gap:9px;padding:10px 16px;border-bottom:1px solid var(--pi-hairline)}.pi-projectHeadTop{width:100%;min-width:0}.pi-projectIdent{min-width:0;display:flex;flex-direction:column;gap:4px}.pi-projectTitle{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xl);font-weight:680;letter-spacing:-.01em;color:var(--pi-ink)}.pi-projectMeta{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-xs)}.pi-projectMeta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-projectFacets{flex:none;display:flex;align-items:center;gap:2px;min-width:0;padding:2px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 18%,transparent)}.pi-projectFacet{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:var(--pi-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color .12s var(--pi-ease),background .12s var(--pi-ease)}.pi-projectFacet b{font-family:var(--pi-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--pi-dim)}.pi-projectFacet:hover{color:var(--pi-ink)}.pi-projectFacet[data-selected]{color:var(--pi-accent);border-color:color-mix(in srgb,var(--pi-accent) 38%,var(--pi-hairline));background:color-mix(in srgb,var(--pi-accent-soft) 24%,transparent)}.pi-projectFacet[data-selected] b{color:var(--pi-accent)}.pi-projectFacet:disabled{cursor:default;color:var(--pi-dim)}.pi-projectFacet:disabled:hover{color:var(--pi-dim);border-color:var(--pi-hairline)}.pi-projectFacetOut{flex:none;color:var(--pi-dim)}.pi-projectFacet:hover .pi-projectFacetOut{color:var(--pi-muted)}.pi-projectOverview{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:12px 16px 24px;background:color-mix(in srgb,var(--pi-bg) 97%,black)}.pi-projectSnapshot{display:grid;grid-template-columns:minmax(280px,.56fr) minmax(0,2fr);gap:10px;align-items:stretch}.pi-projectRepository,.pi-projectWorktrees,.pi-projectPullRequests{min-width:0;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--pi-bg) 94%,black)}.pi-projectRepository{display:flex;flex-direction:column;align-self:start;overflow:hidden}.pi-projectRepositoryHead,.pi-projectWorktreesHead,.pi-projectPullRequestsHead{min-height:34px;display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--pi-muted);font-size:var(--text-xs);font-weight:680}.pi-projectRepositoryHead{justify-content:space-between;color:var(--pi-dim)}.pi-projectRepositoryHead span,.pi-projectWorktreesHead span,.pi-projectPullRequestsHead span{color:var(--pi-muted);font-size:var(--text-2xs);font-weight:740;letter-spacing:.08em;text-transform:uppercase}.pi-projectRepositoryIdentity{min-width:0;display:flex;flex-direction:column;gap:3px;padding:11px 12px 8px}.pi-projectRepositoryIdentity b,.pi-projectRepositoryIdentity span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-projectRepositoryIdentity b{color:var(--pi-ink);font-size:var(--text-xl);font-weight:680}.pi-projectRepositoryIdentity span{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-projectRepositoryCurrent{min-width:0;display:flex;align-items:center;gap:8px;margin:0 10px 9px;padding:7px 8px;border:1px solid var(--pi-hairline);border-radius:6px;background:color-mix(in srgb,var(--hud-surface) 7%,transparent)}.pi-projectRepositoryCurrent>span:not(.pi-projectRepositoryPulse){min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.pi-projectRepositoryCurrent small,.pi-projectRepositoryCurrent b,.pi-projectRepositoryCurrent time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-projectRepositoryCurrent small,.pi-projectRepositoryCurrent time{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-projectRepositoryCurrent b{color:var(--pi-muted);font-family:var(--pi-mono);font-size:var(--text-xs);font-weight:550}.pi-projectRepositoryCurrent time{flex:none}.pi-projectRepositoryPulse{flex:none;width:6px;height:6px;border-radius:999px;background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 2.2s ease-in-out infinite}.pi-projectRepositoryStats{min-width:0;display:flex;align-items:center;gap:20px;margin-top:auto;padding:8px 10px;border-top:1px solid var(--pi-hairline)}.pi-projectRepositoryStats span{overflow:hidden;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.pi-projectRepositoryStats b{color:var(--pi-muted);font-weight:680}.pi-projectWorktrees{display:flex;flex-direction:column;overflow:hidden}.pi-projectWorktreesHead b,.pi-projectPullRequestsHead b{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.pi-projectWorktreeList{min-width:0;display:flex;flex-direction:column}.pi-projectWorktree{min-width:0;min-height:82px;display:grid;grid-template-columns:minmax(150px,.65fr) minmax(260px,1.35fr);grid-template-areas:"name diff" "path diff" "files meta";align-items:center;gap:4px 18px;padding:9px 10px;border-bottom:1px solid var(--pi-hairline);color:var(--pi-muted);background:color-mix(in srgb,var(--hud-surface) 7%,transparent)}.pi-projectWorktree:last-child{border-bottom:0}.pi-projectWorktree[data-active]{background:color-mix(in srgb,var(--pi-accent-soft) 14%,var(--pi-bg))}.pi-projectWorktree[data-stranded]{background:color-mix(in srgb,var(--hud-status-warn, #d4a64a) 3%,var(--pi-bg))}.pi-projectWorktreeTop{grid-area:name;min-width:0;display:flex;align-items:center;gap:8px}.pi-projectWorktreeTop b{flex:1}.pi-projectWorktree>em{grid-area:path}.pi-projectWorktreeMeta{grid-area:meta;min-width:0;display:flex;flex-wrap:wrap;gap:0;overflow:visible}.pi-projectWorktree b,.pi-projectWorktree em,.pi-projectWorktree small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-projectWorktree b{color:var(--pi-ink);font-size:var(--text-sm);font-weight:650}.pi-projectWorktree em,.pi-projectWorktree small{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);font-style:normal}.pi-projectWorktreeMeta small+small:before{content:"·";margin:0 6px;color:var(--pi-dim)}.pi-projectWorktreeDiff{grid-area:diff;min-width:0;display:flex;align-items:center;gap:10px;min-height:30px;font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-projectWorktreeDiff b{font-weight:620}.pi-projectWorktreeDiff small{color:var(--pi-dim)}.pi-projectWorktreeDiff[data-clean] small{color:var(--pi-muted)}.pi-projectWorktreeChurn{min-width:0;display:flex;align-items:center;gap:7px}.pi-projectWorktreeChurnBar{width:clamp(74px,9vw,138px);height:5px;display:flex;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--hud-ink) 8%,transparent)}.pi-projectWorktreeChurnBar i{min-width:2px;height:100%}.pi-projectWorktreeChurnBar i[data-add]{background:var(--hud-status-ok, #79c99e)}.pi-projectWorktreeChurnBar i[data-delete]{background:var(--hud-status-error, #d98276)}.pi-projectWorktreeAdd{color:var(--hud-status-ok, #79c99e)}.pi-projectWorktreeDel{color:var(--hud-status-error, #d98276)}.pi-projectWorktreeOpenDiff,.pi-projectPullRequestState button{flex:none;min-height:24px;padding:0 7px;border:1px solid var(--pi-hairline-strong);border-radius:5px;background:color-mix(in srgb,var(--hud-surface) 30%,transparent);color:var(--pi-muted);font:inherit;font-family:var(--pi-mono);font-size:var(--text-2xs);cursor:pointer}.pi-projectWorktreeOpenDiff{margin-left:auto}.pi-projectWorktreeOpenDiff:hover,.pi-projectPullRequestState button:hover{border-color:color-mix(in srgb,var(--pi-accent) 38%,var(--pi-hairline));color:var(--pi-ink)}.pi-projectWorktreeFiles{grid-area:files;min-width:0;overflow:hidden;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-3xs);text-overflow:ellipsis;white-space:nowrap}.pi-projectWorktreeMore{padding:0 10px 9px;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-projectPullRequests{overflow:hidden}.pi-projectPullRequestList{display:flex;flex-direction:column}.pi-projectPullRequest{min-width:0;min-height:34px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(170px,.55fr) auto auto;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--pi-hairline);color:var(--pi-muted);text-decoration:none}.pi-projectPullRequest:last-child{border-bottom:0}.pi-projectPullRequest:hover{background:color-mix(in srgb,var(--hud-surface) 45%,transparent)}.pi-projectPullRequestState{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;color:var(--pi-dim);font-size:var(--text-xs)}.pi-projectPullRequestState[data-loading] span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:999px;background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 2.2s ease-in-out infinite}.pi-projectPullRequestNumber{color:var(--pi-accent);font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-projectPullRequest b,.pi-projectPullRequestBranch{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-projectPullRequest b{color:var(--pi-ink);font-size:var(--text-sm);font-weight:520}.pi-projectPullRequestBranch,.pi-projectPullRequest em,.pi-projectPullRequest time{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);font-style:normal;white-space:nowrap}.pi-sessionDetail{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:color-mix(in srgb,var(--pi-bg) 96%,black);animation:pi-fade-in .14s var(--pi-ease)}.pi-sessionOverview{flex:none;display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--pi-hairline);background:color-mix(in srgb,var(--hud-surface) 6%,transparent)}.pi-sessionMasthead{flex:none;display:flex;flex-direction:column;gap:5px;min-width:0;padding:11px 16px 12px;border-bottom:1px solid var(--pi-hairline);background:color-mix(in srgb,var(--hud-surface) 14%,var(--pi-bg))}.pi-sessionMastTop{min-width:0;display:flex;align-items:baseline;gap:10px}.pi-sessionCrumb{flex:none;color:var(--pi-muted);font-family:var(--pi-mono);font-size:var(--text-2xs);font-weight:720;letter-spacing:.06em;text-transform:uppercase}.pi-sessionHeadline{min-width:0;margin:0;color:var(--pi-ink);font-size:var(--text-2xl);font-weight:680;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-sessionState{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--pi-muted);font-family:var(--pi-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pi-sessionLiveDot{width:6px;height:6px;border-radius:999px;background:var(--pi-accent)}.pi-sessionMeta{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 0;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pi-sessionMeta>span{min-width:0;display:inline-flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-sessionMeta>span+span:before{content:"·";margin:0 7px;color:var(--pi-dim)}.pi-sessionMeta>span:first-child{color:var(--pi-muted)}.pi-sessionMeta svg{flex:none}.pi-sessionTerminalActions{min-width:0;display:flex;align-items:center;gap:7px;padding-top:3px}.pi-sessionTerminalActions button,.pi-sessionTerminalActions a{min-height:24px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--pi-hairline-strong);border-radius:5px;background:color-mix(in srgb,var(--hud-surface) 16%,transparent);color:var(--pi-muted);font:650 9.5px/1 var(--pi-mono);text-decoration:none;cursor:pointer}.pi-sessionTerminalActions button:hover,.pi-sessionTerminalActions a:hover{border-color:color-mix(in srgb,var(--pi-accent) 36%,var(--pi-hairline-strong));background:color-mix(in srgb,var(--pi-accent) 8%,transparent);color:var(--pi-ink)}.pi-sessionTerminalName{min-width:0;max-width:260px;overflow:hidden;color:var(--pi-dim);font:600 9.5px/1 var(--pi-mono);text-overflow:ellipsis;white-space:nowrap}.pi-sessionGlance{flex:none;display:flex;flex-direction:column;min-width:0;background:color-mix(in srgb,var(--pi-bg) 94%,black)}.pi-sessionVitals{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:9px 16px;border-bottom:1px solid var(--pi-hairline)}.pi-sessionGlanceField{min-width:0;display:inline-flex;align-items:baseline;gap:6px;font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.pi-sessionGlanceField span{flex:none;color:var(--pi-dim);font-size:var(--text-3xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pi-sessionGlanceField b{min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-ink);font-weight:620}.pi-sessionGlanceField small{color:var(--pi-dim);font-size:var(--text-2xs)}.pi-sessionContextVital{display:inline-flex;align-items:center;gap:7px;font-family:var(--pi-mono);font-variant-numeric:tabular-nums}.pi-sessionContextVital>span:first-child{color:var(--pi-dim);font-size:var(--text-3xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pi-sessionContextBar{width:64px;height:4px;overflow:hidden;border-radius:2px;background:var(--pi-hairline)}.pi-sessionContextBar span{display:block;height:100%;background:var(--pi-accent)}.pi-sessionContextBar span[data-warn]{background:var(--hud-warn)}.pi-sessionContextVital b[data-warn]{color:var(--hud-warn)}.pi-sessionContextVital b{color:var(--pi-ink);font-size:var(--text-sm);font-weight:640}.pi-sessionTokenToggle{display:inline-flex;align-items:baseline;gap:6px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--pi-muted);font-family:var(--pi-mono);font-variant-numeric:tabular-nums}.pi-sessionTokenToggle span{color:var(--pi-dim);font-size:var(--text-3xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pi-sessionTokenToggle b{color:var(--pi-ink);font-size:var(--text-sm);font-weight:640}.pi-sessionTokenToggle i{color:var(--pi-dim);font-size:var(--text-2xs);font-style:normal}.pi-sessionGlanceTokens{min-width:0;display:flex;flex-direction:column;gap:7px;padding:10px 16px 12px;border-bottom:1px solid var(--pi-hairline);background:color-mix(in srgb,var(--hud-surface) 8%,transparent)}.pi-sessionGlanceTokenBars{min-width:0;height:16px;display:flex;gap:2px;overflow:hidden;border-radius:5px}.pi-sessionGlanceTokenSeg{min-width:0;background:color-mix(in srgb,var(--pi-accent) 15%,transparent)}.pi-sessionGlanceTokenSeg[data-kind=cache-read]{background:color-mix(in srgb,var(--pi-accent) 25%,transparent)}.pi-sessionGlanceTokenSeg[data-kind=cache-write]{background:color-mix(in srgb,var(--pi-accent) 11%,transparent)}.pi-sessionGlanceTokenSeg[data-kind=output]{background:color-mix(in srgb,var(--pi-ink) 11%,transparent)}.pi-sessionGlanceTokenSeg[data-kind=reasoning]{background:color-mix(in srgb,var(--hud-warn) 18%,transparent)}.pi-sessionGlanceTokenSeg[data-kind=total]{background:color-mix(in srgb,var(--pi-accent) 20%,transparent)}.pi-sessionGlanceTokenLegend{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;color:var(--pi-muted);font-family:var(--pi-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pi-sessionGlanceTokenLegend span{display:flex;align-items:center;gap:6px}.pi-sessionGlanceTokenLegend i{width:8px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--pi-accent) 15%,transparent)}.pi-sessionGlanceTokenLegend i[data-kind=cache-read]{background:color-mix(in srgb,var(--pi-accent) 25%,transparent)}.pi-sessionGlanceTokenLegend i[data-kind=cache-write]{background:color-mix(in srgb,var(--pi-accent) 11%,transparent)}.pi-sessionGlanceTokenLegend i[data-kind=output]{background:color-mix(in srgb,var(--pi-ink) 11%,transparent)}.pi-sessionGlanceTokenLegend i[data-kind=reasoning]{background:color-mix(in srgb,var(--hud-warn) 18%,transparent)}.pi-sessionGlanceTokenLegend b{color:var(--pi-ink);font-weight:640}.pi-sessionSignals{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr) minmax(280px,1fr);gap:1px;background:var(--pi-hairline)}.pi-sessionSignalCol{min-width:0;padding:12px 14px 14px;background:color-mix(in srgb,var(--pi-bg) 94%,black)}.pi-sessionSignalHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-3xs);font-weight:740;letter-spacing:.08em;text-transform:uppercase}.pi-sessionSignalHead b{color:var(--pi-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pi-sessionSignalEmpty{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs)}.pi-sessionFileList,.pi-sessionContextList,.pi-sessionThreadList{display:flex;flex-direction:column;gap:7px}.pi-sessionFileRow{display:grid;grid-template-columns:64px minmax(0,1fr);gap:2px 10px;align-items:baseline;font-family:var(--pi-mono);font-size:var(--text-xs)}.pi-sessionFileRow span{color:var(--pi-dim);font-size:var(--text-3xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pi-sessionFileRow span[data-kind=created],.pi-sessionFileRow span[data-kind=modified]{color:var(--pi-accent)}.pi-sessionFileRow code{min-width:0;overflow:hidden;color:var(--pi-ink);font:inherit;text-overflow:ellipsis;white-space:nowrap}.pi-sessionFileRow small{grid-column:2;color:var(--pi-muted);font-size:var(--text-2xs)}.pi-sessionToolGrid{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.pi-sessionToolPill{display:inline-flex;align-items:baseline;gap:6px;padding:3px 7px 4px;border:1px solid var(--pi-hairline);border-radius:6px;background:color-mix(in srgb,var(--hud-surface) 22%,transparent);font-family:var(--pi-mono);font-size:var(--text-xs)}.pi-sessionToolPill b{color:var(--pi-ink);font-weight:600}.pi-sessionToolPill em{color:var(--pi-muted);font-style:normal;font-variant-numeric:tabular-nums}.pi-sessionContextRow{display:grid;grid-template-columns:68px auto minmax(0,1fr);gap:8px;align-items:baseline;font-family:var(--pi-mono);font-size:var(--text-xs)}.pi-sessionContextRow span{color:var(--pi-dim);font-size:var(--text-3xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pi-sessionContextRow b{color:var(--pi-ink);font-weight:640}.pi-sessionContextRow b[data-tone=warn]{color:var(--hud-warn)}.pi-sessionContextRow b[data-tone=good]{color:var(--pi-accent)}.pi-sessionContextRow small{min-width:0;overflow:hidden;color:var(--pi-muted);text-overflow:ellipsis;white-space:nowrap}.pi-sessionThreadRow{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.pi-sessionThreadRow:hover .pi-sessionThreadTitle{color:var(--pi-accent)}.pi-sessionThreadTitle{min-width:0;overflow:hidden;color:var(--pi-ink);font-size:var(--text-sm);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.pi-sessionThreadMeta{display:inline-flex;align-items:baseline;gap:7px;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.pi-sessionThreadMeta b{color:var(--pi-muted);font-weight:600}.pi-sessionThreadMeta em{color:var(--pi-accent);font-style:normal;text-transform:uppercase}.pi-sessionThreadWhy{grid-column:1 / -1;min-width:0;overflow:hidden;flex:none;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.pi-sessionContent{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pi-sessionContent>.s-observe,.pi-sessionContent>.s-sessions-screen,.pi-sessionContent>.s-conversation{flex:1;min-height:0}.pi-sessionContent .s-observe-main{padding:22px 28px 42px}.pi-sessionContent .s-observe-stream{max-width:min(100%,1120px)}.pi-threads{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;animation:pi-fade-in .14s var(--pi-ease)}.pi-loadingRows{animation:pi-fade-in .16s var(--pi-ease)}.pi-sectionHead--loading{min-height:31px}.pi-loadingLine--label{width:90px}.pi-loadingLine--count{width:20px}.pi-sectionHead{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 16px 6px;background:color-mix(in srgb,var(--pi-bg) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--pi-hairline)}.pi-sectionLabel{font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pi-muted)}.pi-sectionHead[data-tone=needs] .pi-sectionLabel,.pi-sectionHead[data-tone=working] .pi-sectionLabel{color:var(--pi-accent)}.pi-sectionCount{font-size:var(--text-2xs);font-family:var(--pi-mono);font-variant-numeric:tabular-nums;color:var(--pi-dim)}.pi-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--pi-hairline);cursor:pointer;padding:10px 16px;transition:background .12s var(--pi-ease),box-shadow .12s var(--pi-ease)}.pi-row--loading{cursor:default;pointer-events:none}.pi-row--loading .pi-rowDot{background:color-mix(in srgb,var(--hud-ink) 12%,transparent)}.pi-loadingLine--title{width:min(420px,72%);height:10px}.pi-loadingLine--meta{width:min(260px,52%);height:7px}.pi-loadingLine--time{width:36px;height:7px}.pi-row:hover,.pi-row:focus-visible{outline:none;background:color-mix(in srgb,var(--hud-surface) 72%,transparent);box-shadow:inset 0 0 0 1px var(--pi-hairline-strong)}.pi-row[data-selected]{background:color-mix(in srgb,var(--pi-accent-soft) 24%,var(--pi-surface))}.pi-row[data-cursor]:not([data-selected]){background:color-mix(in srgb,var(--hud-surface) 58%,transparent)}.pi-rowDot{flex:none;width:7px;height:7px;border-radius:999px;background:var(--pi-dim)}.pi-row[data-state=working] .pi-rowDot{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 2.4s ease-in-out infinite}.pi-row[data-state=needs] .pi-rowDot{background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft)}.pi-rowBody{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pi-rowWork{font-size:var(--text-lg);color:var(--pi-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-row[data-needs] .pi-rowWork{color:var(--pi-ink);font-weight:620}.pi-row[data-selected] .pi-rowWork{color:var(--pi-ink)}.pi-row:hover .pi-rowWork,.pi-row:focus-visible .pi-rowWork{color:var(--pi-ink)}.pi-rowAttr{display:flex;align-items:center;gap:7px;min-width:0}.pi-rowAvatar{flex:none;display:inline-flex}.pi-rowAgent{flex:none;font-size:var(--text-sm);font-weight:600;color:var(--pi-muted);max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-rowHmark{flex:none;display:inline-flex;color:var(--pi-dim)}.pi-rowChip{flex:none;font-size:var(--text-xs);font-family:var(--pi-mono);color:var(--pi-dim);border:1px solid var(--pi-hairline);border-radius:5px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34%}.pi-rowBranch{flex:1;min-width:0;font-size:var(--text-xs);font-family:var(--pi-mono);color:var(--pi-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-rowVitals{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:44px}.pi-rowAgo{font-size:var(--text-xs);font-family:var(--pi-mono);font-variant-numeric:tabular-nums;color:var(--pi-dim)}.pi-rowCtx{font-size:var(--text-2xs);font-family:var(--pi-mono);font-variant-numeric:tabular-nums;color:var(--pi-muted)}.pi-rowNeedsTag{font-size:var(--text-3xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pi-bg);background:var(--pi-accent);padding:1px 6px;border-radius:999px}.pi-rowLiveTag{font-size:var(--text-3xs);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--pi-accent);border:1px solid color-mix(in srgb,var(--pi-accent) 50%,transparent);padding:0 5px;border-radius:999px}.pi-rowOpen{flex:none;width:54px;display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--pi-dim);font-size:var(--text-xs);font-weight:650;transition:color .12s var(--pi-ease)}.pi-rowOpen span{opacity:0;transform:translate(3px);transition:opacity .12s var(--pi-ease),transform .12s var(--pi-ease)}.pi-row:hover .pi-rowOpen,.pi-row:focus-visible .pi-rowOpen,.pi-row[data-selected] .pi-rowOpen{color:var(--pi-ink)}.pi-row:hover .pi-rowOpen span,.pi-row:focus-visible .pi-rowOpen span,.pi-row[data-selected] .pi-rowOpen span{opacity:1;transform:translate(0)}.pi-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:60px 20px;color:var(--pi-dim);font-size:var(--text-md);text-align:center}.pi-emptyHint{font-size:var(--text-sm);color:var(--pi-dim)}.pi-zero{width:min(680px,100%);display:flex;flex-direction:column;gap:13px;align-items:stretch;color:var(--pi-ink)}.pi-zeroHead{display:flex;flex-direction:column;gap:5px;align-items:center}.pi-zeroKicker{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pi-muted)}.pi-zeroHead h2{margin:0;color:var(--pi-ink);font-size:var(--text-3xl);font-weight:680;letter-spacing:0}.pi-zeroComposer{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--pi-hairline-strong);border-radius:8px;background:color-mix(in srgb,var(--hud-surface) 52%,transparent);box-shadow:0 18px 46px color-mix(in srgb,black 18%,transparent)}.pi-zeroBar{display:flex;align-items:center;justify-content:space-between;gap:10px}.pi-zeroSelect{flex:1;min-width:0;height:30px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--pi-hairline);border-radius:7px;color:var(--pi-dim);background:color-mix(in srgb,var(--pi-bg) 54%,transparent)}.pi-zeroSelect select{width:100%;min-width:0;appearance:none;border:0;outline:0;background:none;color:var(--pi-muted);font:inherit;font-size:var(--text-md)}.pi-zeroHarness{flex:none;display:inline-flex;align-items:center;gap:3px;padding:2px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--pi-bg) 54%,transparent)}.pi-zeroHarness button{height:24px;padding:0 9px;border:0;border-radius:5px;background:none;color:var(--pi-dim);font-size:var(--text-sm);font-weight:650;cursor:pointer}.pi-zeroHarness button[data-on]{color:var(--pi-ink);background:color-mix(in srgb,var(--pi-accent-soft) 34%,var(--pi-surface))}.pi-zeroInputRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.pi-zeroInputRow textarea{min-width:0;resize:vertical;min-height:54px;max-height:150px;padding:9px 10px;border:1px solid var(--pi-hairline);border-radius:7px;outline:none;background:color-mix(in srgb,var(--pi-bg) 70%,transparent);color:var(--pi-ink);font:inherit;font-size:var(--text-lg);line-height:1.35}.pi-zeroInputRow textarea::placeholder{color:var(--pi-dim)}.pi-zeroInputRow textarea:focus,.pi-zeroSelect:focus-within{border-color:color-mix(in srgb,var(--pi-accent) 45%,var(--pi-hairline))}.pi-zeroSend{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--pi-accent);border-radius:7px;background:var(--pi-accent);color:var(--pi-bg);font-size:var(--text-md);font-weight:700;cursor:pointer}.pi-zeroSend:disabled{opacity:.45;cursor:default}.pi-zeroMatches{display:flex;flex-direction:column;gap:2px}.pi-zeroMatch{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:36px;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:none;color:var(--pi-muted);text-align:left;cursor:pointer}.pi-zeroMatch:hover,.pi-zeroMatch[data-selected]{color:var(--pi-ink);background:color-mix(in srgb,var(--scout-chrome-hover) 68%,transparent)}.pi-zeroMatchMain{min-width:0;display:flex;flex-direction:column;gap:2px}.pi-zeroMatchTitle,.pi-zeroMatchRoot,.pi-zeroMatchMeta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-zeroMatchTitle{font-size:var(--text-md);font-weight:650;color:inherit}.pi-zeroMatchRoot,.pi-zeroMatchMeta{font-size:var(--text-xs);font-family:var(--pi-mono);color:var(--pi-dim)}.pi-zeroMatchMeta{flex:none;max-width:220px;text-align:right}.pi-zeroEmpty,.pi-zeroError,.pi-zeroStatus{padding:2px 4px 0;font-size:var(--text-sm);text-align:left}.pi-zeroEmpty{color:var(--pi-dim)}.pi-zeroError{color:var(--pi-accent)}.pi-zeroStatus{color:var(--pi-muted)}.s-pi-aside{display:flex;flex-direction:column;height:100%;min-height:0;border-left:1px solid var(--pi-hairline);background:var(--pi-bg);color:var(--pi-ink);animation:pi-fade-in .14s var(--pi-ease)}.pi-asideHead{flex:none;display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--pi-hairline)}.pi-asideAvatar{flex:none;display:inline-flex}.pi-asideIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pi-asideTop{display:flex;align-items:center;gap:8px}.pi-asideName{font-size:var(--text-2xl);font-weight:680;letter-spacing:-.01em;color:var(--pi-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-asideHmark{flex:none;display:inline-flex;color:var(--pi-muted)}.pi-asideProj{flex:none;font-size:var(--text-sm);font-family:var(--pi-mono);color:var(--pi-dim)}.pi-asideSub{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pi-asideBranch{font-size:var(--text-sm);font-family:var(--pi-mono);color:var(--pi-muted);border:1px solid var(--pi-hairline);border-radius:6px;padding:1px 7px}.pi-asideStatus{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:600}.pi-asideStatus[data-tone=working]{color:var(--pi-accent)}.pi-asideStatus[data-tone=recent]{color:var(--pi-dim)}.pi-asideStatus[data-tone=needs]{color:var(--pi-bg);background:var(--pi-accent);padding:2px 8px;border-radius:999px;font-size:var(--text-2xs);letter-spacing:.03em;text-transform:uppercase}.pi-asidePulse{width:7px;height:7px;border-radius:999px;background:var(--pi-accent);box-shadow:0 0 0 3px var(--pi-accent-soft);animation:pi-pulse 1.8s ease-in-out infinite}.pi-asideBody{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin}.pi-asideHeadline{margin:0;font-size:var(--text-2xl);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--pi-ink)}.pi-asideMuted{margin:0;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-xs);line-height:1.5}.pi-asideReadouts{display:flex;flex-wrap:wrap;gap:6px 26px;padding:2px 0}.pi-stat{display:flex;flex-direction:column;gap:2px}.pi-statLabel{font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--pi-muted)}.pi-statValue{font-size:var(--text-lg);font-family:var(--pi-mono);font-variant-numeric:tabular-nums;color:var(--pi-ink)}.pi-asideSection{display:flex;flex-direction:column;gap:6px}.pi-asideSectionHead{font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pi-muted)}.pi-asideLine{display:flex;flex-direction:column;gap:4px;font-size:var(--text-md);line-height:1.5;color:var(--pi-muted);background:var(--pi-surface);border:1px solid var(--pi-hairline);border-radius:10px;padding:9px 12px}.pi-asideActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.pi-asideBtn{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-md);font-weight:600;color:var(--pi-muted);background:none;border:1px solid var(--pi-hairline);border-radius:8px;padding:8px 13px;cursor:pointer;transition:color .12s var(--pi-ease),border-color .12s var(--pi-ease)}.pi-asideBtn:hover{color:var(--pi-ink);border-color:var(--pi-hairline-strong)}.pi-asideBtnPrimary{color:var(--pi-bg);background:var(--pi-accent);border-color:var(--pi-accent)}.pi-asideBtnPrimary:hover{color:var(--pi-bg);filter:brightness(1.06)}@keyframes pi-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pi-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes pi-fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pi-rowDot,.pi-asidePulse,.pi-statePulse,.pi-loadingLine,.pi-loadingRows,.pi-threads,.pi-sessionDetail,.s-pi-aside,.pi-projectRepositoryPulse{animation:none}}@media(max-width:1120px){.pi-projectSnapshot{grid-template-columns:1fr}}@media(max-width:860px){.pi-projectsEmbedShell,.pi-shell{grid-template-columns:minmax(0,1fr)}.s-pi-rail{display:none}.pi-shell[data-aside]{grid-template-columns:minmax(0,1fr)}.s-pi-aside{display:none}.pi-projectHead{grid-template-columns:minmax(0,1fr)}.pi-inboxHeading{justify-content:space-between}.pi-meta{padding:18px 12px 36px}.pi-projectFacets{max-width:100%;overflow-x:auto}.pi-projectOverview{padding:12px}.pi-projectSnapshot,.pi-projectWorktree{grid-template-columns:1fr}.pi-projectWorktree{grid-template-areas:"name" "path" "diff" "files" "meta"}.pi-projectPullRequest{grid-template-columns:auto minmax(0,1fr) auto auto}.pi-projectPullRequestBranch{display:none}.pi-sessionMastTop{align-items:flex-start;flex-direction:column}.pi-sessionState{margin-left:0}.pi-sessionTerminalActions{align-items:flex-start;flex-wrap:wrap}.pi-sessionTerminalName{flex-basis:100%}.pi-sessionSignals{grid-template-columns:1fr}.pi-sessionMasthead,.pi-sessionVitals,.pi-sessionGlanceTokens{padding-inline:12px}.pi-zeroBar,.pi-zeroInputRow,.pi-zeroMatch{grid-template-columns:1fr;align-items:stretch;flex-direction:column}.pi-zeroHarness,.pi-zeroSend{width:100%;justify-content:center}.pi-zeroMatchMeta{max-width:100%;text-align:left}}
@@ -1 +1 @@
1
- import{r as s,j as u}from"./index-CZ-05hKz.js";import{l as c,L as f,c as l}from"./use-reduced-motion-CKkhq9c5.js";function p({children:r,features:e,strict:d=!1}){const[,i]=s.useState(!a(e)),t=s.useRef(void 0);if(!a(e)){const{renderer:n,...o}=e;t.current=n,c(o)}return s.useEffect(()=>{a(e)&&e().then(({renderer:n,...o})=>{c(o),t.current=n,i(!0)})},[]),u.jsx(f.Provider,{value:{renderer:t.current,strict:d},children:r})}function a(r){return typeof r=="function"}const L=l();export{p as L,L as m};
1
+ import{r as s,j as u}from"./index-DvLtl7rV.js";import{l as c,L as f,c as l}from"./use-reduced-motion-x8pJMVrG.js";function p({children:r,features:e,strict:d=!1}){const[,i]=s.useState(!a(e)),t=s.useRef(void 0);if(!a(e)){const{renderer:n,...o}=e;t.current=n,c(o)}return s.useEffect(()=>{a(e)&&e().then(({renderer:n,...o})=>{c(o),t.current=n,i(!0)})},[]),u.jsx(f.Provider,{value:{renderer:t.current,strict:d},children:r})}function a(r){return typeof r=="function"}const L=l();export{p as L,L as m};
@@ -1 +1 @@
1
- import{c as a}from"./createLucideIcon-DXpqZP7I.js";const c=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=a("radio",c);export{o as R};
1
+ import{c as a}from"./createLucideIcon-DezKXSG2.js";const c=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=a("radio",c);export{o as R};
@@ -1 +1 @@
1
- import{c as e}from"./createLucideIcon-DXpqZP7I.js";const c=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],a=e("refresh-cw",c);export{a as R};
1
+ import{c as e}from"./createLucideIcon-DezKXSG2.js";const c=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],a=e("refresh-cw",c);export{a as R};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-DvLtl7rV.js";import{ActivityContent as s}from"./content-p00KQrtD.js";import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./router-B9vQkNJL.js";import"./index-zvhpRHao.js";import"./Provider-CtXJeLrP.js";import"./AgentDetailCard-C9rn3Fj5.js";/* empty css */import{AgentsLeft as e}from"./left-YT7mIGuH.js";import{AgentsContent as n}from"./content-C4oWa8SB.js";import{AgentsInspector as m}from"./right-BwlW6E57.js";/* empty css */import"./secondaryNavConfig-BoQ_zYR9.js";/* empty css */import"./CrewAvatar-BwXjyg8N.js";import"./BackToPicker-CXZjBRAe.js";import"./text-BP3oyl8-.js";import"./ConversationScreen-CR9pWB65.js";/* empty css */import"./ObservedTopologyPanel-BJUhDSuQ.js";import"./SessionObserve-dQDN23pP.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./AgentLiveActions-DrEJDJef.js";import{ProjectsRail as c}from"./ProjectsRail-J-aH_pxT.js";import{ProjectsScreen as f}from"./ProjectsScreen-cVUkGbPz.js";import{ProjectsThreadAside as a}from"./ProjectsThreadAside-_ourdM-Q.js";import{BriefingsContent as x}from"./content-9K38QchR.js";/* empty css */import{BrokerContent as j}from"./content-DDCyPPk_.js";import"./NewChatComposer-_Stj0fZy.js";import{ChatLeft as u}from"./left-CARCvvxS.js";/* empty css */import{ChatContent as l}from"./content-BRgnyXWh.js";import{ConversationInspector as i}from"./right-CdkcrmeD.js";/* empty css */import{CodeContent as h}from"./CodeScreen-CeuO3EhR.js";import{FollowContent as C}from"./content-BWPNyXJ0.js";/* empty css */import{HarnessesContent as d}from"./content-CFZ4rghn.js";/* empty css */import{HomeLeft as I}from"./left-BNRFiRsb.js";import{HomeContent as p}from"./content-C9ijJxyl.js";import{HomeRight as w}from"./right-CkCCPbCX.js";import{MeshLeft as L}from"./left-CpokZYHt.js";import{MeshContent as P}from"./content-BdkI07v3.js";import{MeshInspectorPanel as R}from"./right-Bmfd3pjP.js";import"./mesh-view-store-ChUOASK8.js";/* empty css */import{MeshOpsLeft as k}from"./left-BggzhgXN.js";import{MeshOpsContent as A}from"./content-nkx0swDe.js";import{MeshOpsInspector as M}from"./right-BuCgE0fZ.js";import{OpsLeft as S}from"./left-B-SdEJSJ.js";import{OpsContent as b}from"./content-CnJF9DGO.js";/* empty css */import"./RailRow-CEH2MFBw.js";import"./left-mission-Zl2m_5eU.js";import"./mission-control-store-nDLdUZPA.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-B9ugxWgA.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-0uEIj2JH.js";import{ReposContent as g}from"./content-CIqu_Ci_.js";import{ReposInspector as O}from"./right-CimaAvQN.js";/* empty css */import"./RepoDiffViewerLazy-Csy_j9LD.js";import"./cache-CeWH_KzJ.js";import{SearchContent as H}from"./content-U9tsdtle.js";import{K as T}from"./KnowledgeSearchInspector-B7XSoJsu.js";/* empty css */import{SessionsContent as y}from"./content-CriW8Y8u.js";import{SessionsInspector as B}from"./right-C0ybUw0j.js";/* empty css */import{SettingsContent as K}from"./content-DtcZeh5m.js";import"./CastPicker-_5E5hNUe.js";import"./SettingsDrawer-RGVK_bmE.js";import{TerminalLeft as W}from"./left-B3wSE6ql.js";import{TerminalContent as E}from"./Terminal-DouZeNxc.js";import{TerminalInspector as F}from"./right-D3eSiy41.js";import{WorkContent as V}from"./content-hFLK3CON.js";import{WorkInspector as q}from"./right-Dz_xD0Vj.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import{R as z}from"./RealtimeVoiceScreen-DBl3DN1H.js";import"./ActivityScreen-BnoaUkVZ.js";import"./api-Co9aQ2Jw.js";import"./clipboard-e3fSpeo7.js";import"./sse-CD9MMUxl.js";import"./colors-BtO5_zlx.js";import"./mentions-DG6OQrsc.js";import"./time-Dhsh_2EG.js";import"./EmptyState-CJzXj1l5.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./chevron-right-D-HdlPg8.js";import"./createLucideIcon-DezKXSG2.js";import"./file-text-CqJgwxmv.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";import"./AgentAvatar-6-KBVKUu.js";import"./SpriteAvatar-z5hHesx9.js";import"./AgentInfoScreen-Dr99gQEZ.js";import"./conversation-model-Dc02NsGp.js";import"./openContent-C6XO6kr5.js";import"./AgentsScreen-k8LvBuU_.js";import"./AgentsSubnav-C4xpQhsv.js";import"./SecondaryNav-BR4VRdgh.js";import"./library-DkALuCh5.js";import"./HarnessMark-B979GCSB.js";import"./AgentSessions-DCPCG4xb.js";import"./agents-project-model-UYiamtrU.js";import"./profile-APxDsN2P.js";import"./context-budget-DX_fwUs3.js";import"./session-catalog-DsaZJXZt.js";import"./terminal-relay-GYMIvKs1.js";import"./AgentDefinitionsWorkspace-Iyl4BesU.js";import"./agent-specialization-BujJVUTD.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-Df6VzXjA.js";import"./chevron-down-wciXnOQz.js";import"./agent-essentials-D7KRGYvF.js";import"./openAgent-Dbv5wfuL.js";import"./terminal-takeover-_Jyys4me.js";import"./TmuxPeek-BTnjOQi0.js";import"./refresh-cw-DMxGzDwn.js";import"./message-square-C7t_qtuj.js";import"./search-CDko0PKE.js";import"./compass-Dt1AMXz2.js";import"./settings-Dyvpkb1D.js";import"./terminal-9GRS_Qdc.js";import"./git-branch-CK5v8F2v.js";import"./scroll-text-Dze_dXtQ.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./ConversationComposer-CXPKx86g.js";import"./zap-Cq8eWkcF.js";import"./x-CAbNespN.js";import"./message-markup-C2LQDm_k.js";import"./message-visibility-CGOmSSKs.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-BQWzGzLK.js";import"./AstronautSuit-DbjQtfD_.js";import"./eye-BRyD0jno.js";import"./ConversationFeedRows-WrH-YI3L.js";import"./ConversationPanels-Dujvnmup.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-x8pJMVrG.js";import"./proxy-BiW5suC7.js";import"./activity-DcrMApUY.js";import"./message-circle-mZCv8tvB.js";import"./tail-events-Ps8KpKah.js";import"./ConversationStatus-DVzSb2Hv.js";import"./check-ofKUE8yH.js";import"./sparkles-CETYrxGA.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-HByf2ndx.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-ZQWwrK3i.js";import"./SessionObserveEvidence-BRBGKAgd.js";import"./wrench-DjkoAOQt.js";import"./external-link-Dp_a2vRZ.js";import"./AddProjectForm-IqOtJfRs.js";import"./projects-inbox-Cg4X2lUQ.js";import"./mesh-roster-Bc7T4b7z.js";import"./model-IGCUEsMy.js";import"./ProjectsInbox-C_bMHLCc.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-COVQMbtE.js";import"./session-ref-lookup-state-SATH_jAP.js";import"./CrewWorkspaces-NKujRzwh.js";import"./sliders-horizontal-C8njVwfg.js";import"./api-HFH8wFyb.js";import"./arrow-up-right-C6Wl-1uw.js";import"./ProjectAgentProfile-Bdjd_dAx.js";import"./ProjectAgentProfileBar-k2QHHHsQ.js";import"./BriefingDetailScreen-CUCXO-KH.js";import"./scoutbot-markdown-BQ_Ee2Ic.js";import"./BriefingsScreen-B5oMTGKv.js";import"./BrokerScreen-BPbOHhCS.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-Q75fupqG.js";import"./BrokerMetadataPanel-BsiU8lTD.js";import"./DispatchAftermath-B-6rmXzL.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-DYI9Hkge.js";import"./arrow-down-CKtSUjmW.js";import"./paperclip-C64lkcbM.js";import"./plus-Co-dqKul.js";import"./send-horizontal-CSjIm6xg.js";import"./copy-CWWAJ75H.js";import"./radio-BOxBQX-T.js";import"./bot-rd0awxD3.js";import"./NewChatOrigin-B1u7ki70.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-fleet-active-asks-DAspZQjE.js";import"./agent-master-model-DqjrVI2h.js";import"./use-conversation-list-C9ABzjXI.js";import"./MessagesScreen-Bb5l13MO.js";import"./AgentMasterScreen-DJPnstoD.js";import"./CodeDiffPane-n7W4iGUG.js";import"./usePierreRuntime-ejq9dCWV.js";/* empty css */import"./CodeProjectPicker-CMsbSTDq.js";/* empty css */import"./FollowScreen-DvnxYLVh.js";import"./HarnessesScreen-CHTuv8p6.js";import"./useContentSecondaryNav-pZe2Zfk1.js";import"./OpsSubnav-1K4Jaf__.js";import"./HomeHero-CdUVPjkG.js";import"./observe-BpEm1INu.js";import"./persistent-state-EHXw8WNy.js";import"./agent-lanes-model-DXqjs0OK.js";import"./home-moving-signal-BjDtEJUP.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-DrqejfkB.js";import"./file-code-corner-muIVH_xO.js";import"./mesh-buckets-6y3ZIibI.js";import"./MeshScreen-BcxPkhm6.js";import"./MeshCanvas-DCLJRsBy.js";import"./chunk-T65CQEWV-C1AWTYZZ.js";import"./useAgentHoverCard-DoBwV0LX.js";import"./local-agents-C8xAhbO5.js";import"./mesh-ops-BZ1h5RQs.js";import"./use-mesh-ops-items-Dh54ymEp.js";import"./use-scout-dev-flags-DhCbiDK3.js";import"./left-agents-trhO5sL8.js";import"./left-default-CG33elBs.js";import"./left-lanes-CitMgeTp.js";import"./lane-roster-store-DOdI1O13.js";import"./left-advisor-CCY0vkcO.js";import"./server-Bzj7lPIx.js";import"./layers-CSsg3JVP.js";import"./gauge-hU--hKVP.js";import"./OpsScreen-D8fQafCl.js";import"./page-status-E5jnk48p.js";import"./AgentLanesView-CetZZDyF.js";import"./AgentFloorView-YT-Jjccf.js";import"./AgentLanesPreflight-q20mTjms.js";import"./AgentLaneChrome-D8bARHMx.js";import"./AgentLaneCard-DI2iW9zO.js";import"./AgentLaneSummaryResize-CEBjmPTa.js";import"./agent-lane-card-model-CNZMPkhc.js";import"./agent-lane-preview-BhplDYGf.js";import"./agent-lane-detail-ppJId6Jc.js";import"./AgentLaneDetailSheet-52un7dKC.js";import"./LaneTraceDetailSheet-BUgHz-sd.js";import"./LaneTraceEventFocus-DM-hoPxG.js";import"./MissionControlView-E3V7bENU.js";import"./MissionContextRail-DF0_kiU7.js";import"./mission-wall-CocIM1cF.js";import"./mission-control-model-C0fByIjm.js";import"./MissionFocusOverlay-h15sQFvP.js";import"./MissionLogPane-BbdDKjUl.js";import"./OpsAgentsView-DI5wu1si.js";import"./DataTable-Bp8tU9AK.js";import"./HostAdvisorView-Bok5Sk5c.js";import"./layout-grid-DOChPJdZ.js";import"./AtopView-Daq_ob3z.js";import"./MissionLeftAgentRow-KPdk9rSa.js";import"./RepoDiffPageScreen-C6LhoKrn.js";import"./ReposScreen-B_cB0zu7.js";import"./selection-bridge-Din6yV3h.js";import"./KnowledgeSearchScreen-D3o3IODW.js";import"./clock-B88r8OrZ.js";import"./SessionsScreen--5OJ3p3v.js";import"./RawSessionsTable-CDyrom-F.js";import"./FlightObserveScreen-6mGnmWQA.js";import"./SettingsScreen-CCxzy5IU.js";import"./StatusPill-BFvMjmZV.js";import"./AgentConfigurationScreen-CuZJy07q.js";import"./credentials-BTce3VP1.js";import"./VoicePermissionsPanel-CgQ6GGS-.js";import"./chunk-YOZR3KYS-DwHPHa6f.js";import"./session-table-BQfR7u6r.js";/* empty css */import"./HerdrSession-B3McuYgi.js";import"./chunk-JTPDIGGW-BC2Mandc.js";import"./TerminalHeaderMount-BL07cd0q.js";import"./WorkDetailScreen-CaLG-zDs.js";import"./WorkFilesViewer-B9Sil_No.js";import"./agent-autocomplete-B-5QTeas.js";import"./gestures-DN4hEeqv.js";import"./rocket-BQm5_CvR.js";function kp(t,o){switch(t.view){case"ops":return r.jsx(S,{});case"agents-v2":return r.jsx(c,{route:t,navigate:o});case"agent-info":return r.jsx(e,{});case"messages":case"conversation":return r.jsx(u,{});case"mesh":return r.jsx(L,{});case"mesh-ops":return r.jsx(k,{});case"terminal":return r.jsx(W,{});default:return r.jsx(I,{})}}function Ap(t,o,D=[]){switch(t.view){case"conversation":case"messages":return r.jsx(l,{route:t,navigate:o});case"agents-v2":return r.jsx(f,{route:t,navigate:o});case"agent-info":return r.jsx(n,{route:t,navigate:o});case"settings":return r.jsx(K,{route:t,navigate:o});case"inbox":return r.jsx(p,{navigate:o});case"sessions":return r.jsx(y,{route:t,navigate:o});case"search":return r.jsx(H,{route:t,navigate:o});case"mesh":return r.jsx(P,{route:t,navigate:o});case"mesh-ops":return r.jsx(A,{route:t,navigate:o});case"broker":return r.jsx(j,{route:t,navigate:o});case"code":return r.jsx(h,{route:t,navigate:o});case"repos":case"repo-diff":return r.jsx(g,{route:t,navigate:o});case"harnesses":return r.jsx(d,{route:t,navigate:o});case"briefings":return r.jsx(x,{route:t,navigate:o});case"activity":return r.jsx(s,{route:t,navigate:o});case"voice":return r.jsx(z,{});case"ops":return r.jsx(b,{route:t,navigate:o});case"terminal":return r.jsx(E,{route:t,navigate:o});case"work":return r.jsx(V,{route:t,navigate:o});case"follow":return r.jsx(C,{route:t,navigate:o});default:return r.jsx(p,{navigate:o})}}function Mp(t,o){switch(t.view){case"inbox":return r.jsx(w,{});case"agents-v2":return t.agentId?r.jsx(m,{}):t.selectedAgentId||t.sessionId?r.jsx(a,{route:t,navigate:o}):null;case"agent-info":return r.jsx(m,{});case"sessions":return t.flightId?null:r.jsx(B,{});case"search":return r.jsx(T,{});case"conversation":return r.jsx(i,{});case"messages":return r.jsx(i,{});case"terminal":return r.jsx(F,{});case"work":return r.jsx(q,{});case"mesh":return r.jsx(R,{});case"mesh-ops":return r.jsx(M,{});case"repos":return r.jsx(O,{});default:return null}}export{Ap as resolveContentPane,kp as resolveLeftPane,Mp as resolveRightPane};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-DvLtl7rV.js";import{AgentsLeft as i}from"./left-YT7mIGuH.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./Provider-CtXJeLrP.js";import"./router-B9vQkNJL.js";import"./BackToPicker-CXZjBRAe.js";import"./AgentLiveActions-DrEJDJef.js";import"./ObservedTopologyPanel-BJUhDSuQ.js";/* empty css */import"./secondaryNavConfig-BoQ_zYR9.js";/* empty css */import"./CrewAvatar-BwXjyg8N.js";import"./text-BP3oyl8-.js";import"./index-zvhpRHao.js";import"./AgentDetailCard-C9rn3Fj5.js";import"./ConversationScreen-CR9pWB65.js";/* empty css */import"./SessionObserve-dQDN23pP.js";/* empty css *//* empty css *//* empty css *//* empty css */import{ProjectsRail as m}from"./ProjectsRail-J-aH_pxT.js";import"./ProjectsInbox-C_bMHLCc.js";import"./projects-inbox-Cg4X2lUQ.js";import{ChatLeft as p}from"./left-CARCvvxS.js";/* empty css *//* empty css */import{HomeLeft as e}from"./left-BNRFiRsb.js";import"./content-C9ijJxyl.js";import{MeshLeft as s}from"./left-CpokZYHt.js";import"./mesh-view-store-ChUOASK8.js";/* empty css *//* empty css */import{MeshOpsLeft as n}from"./left-BggzhgXN.js";import"./use-scout-dev-flags-DhCbiDK3.js";import"./mesh-ops-BZ1h5RQs.js";import{OpsLeft as l}from"./left-B-SdEJSJ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-B9ugxWgA.js";/* empty css */import"./mission-control-store-nDLdUZPA.js";/* empty css *//* empty css *//* empty css */import"./TailView-0uEIj2JH.js";import"./RailRow-CEH2MFBw.js";import"./left-mission-Zl2m_5eU.js";import{TerminalLeft as a}from"./left-B3wSE6ql.js";/* empty css */import{M as f}from"./MeshCanvasMinimap-cEFS9eW7.js";import"./NewChatComposer-_Stj0fZy.js";import"./conversation-model-Dc02NsGp.js";import"./createLucideIcon-DezKXSG2.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./keyboard-nav-BLYDhL3Z.js";import"./x-CAbNespN.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./loader-circle-pM56HNhR.js";import"./file-text-CqJgwxmv.js";import"./AgentAvatar-6-KBVKUu.js";import"./SpriteAvatar-z5hHesx9.js";import"./sse-CD9MMUxl.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./terminal-takeover-_Jyys4me.js";import"./openContent-C6XO6kr5.js";import"./eye-BRyD0jno.js";import"./terminal-9GRS_Qdc.js";import"./message-square-C7t_qtuj.js";import"./compass-Dt1AMXz2.js";import"./settings-Dyvpkb1D.js";import"./git-branch-CK5v8F2v.js";import"./scroll-text-Dze_dXtQ.js";import"./voice-levels-Dcr3jglk.js";import"./ConversationComposer-CXPKx86g.js";import"./zap-Cq8eWkcF.js";import"./message-markup-C2LQDm_k.js";import"./mentions-DG6OQrsc.js";import"./message-visibility-CGOmSSKs.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-BQWzGzLK.js";import"./AstronautSuit-DbjQtfD_.js";import"./ConversationFeedRows-WrH-YI3L.js";import"./ConversationPanels-Dujvnmup.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-x8pJMVrG.js";import"./proxy-BiW5suC7.js";import"./activity-DcrMApUY.js";import"./message-circle-mZCv8tvB.js";import"./tail-events-Ps8KpKah.js";import"./ConversationStatus-DVzSb2Hv.js";import"./check-ofKUE8yH.js";import"./sparkles-CETYrxGA.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-HByf2ndx.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-ZQWwrK3i.js";import"./SessionObserveEvidence-BRBGKAgd.js";import"./wrench-DjkoAOQt.js";import"./external-link-Dp_a2vRZ.js";import"./AddProjectForm-IqOtJfRs.js";import"./project-overview-helpers-BQTc_Ous.js";import"./mesh-roster-Bc7T4b7z.js";import"./agents-project-model-UYiamtrU.js";import"./model-IGCUEsMy.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-COVQMbtE.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./CrewWorkspaces-NKujRzwh.js";import"./agent-specialization-BujJVUTD.js";import"./sliders-horizontal-C8njVwfg.js";import"./api-HFH8wFyb.js";import"./cache-CeWH_KzJ.js";import"./arrow-up-right-C6Wl-1uw.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-fleet-active-asks-DAspZQjE.js";import"./agent-master-model-DqjrVI2h.js";import"./use-conversation-list-C9ABzjXI.js";import"./openAgent-Dbv5wfuL.js";import"./HomeHero-CdUVPjkG.js";import"./refresh-cw-DMxGzDwn.js";import"./observe-BpEm1INu.js";import"./persistent-state-EHXw8WNy.js";import"./agent-lanes-model-DXqjs0OK.js";import"./context-budget-DX_fwUs3.js";import"./home-moving-signal-BjDtEJUP.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-DrqejfkB.js";import"./file-code-corner-muIVH_xO.js";import"./mesh-buckets-6y3ZIibI.js";import"./use-mesh-ops-items-Dh54ymEp.js";import"./left-agents-trhO5sL8.js";import"./left-default-CG33elBs.js";import"./left-lanes-CitMgeTp.js";import"./lane-roster-store-DOdI1O13.js";import"./left-advisor-CCY0vkcO.js";import"./server-Bzj7lPIx.js";import"./layers-CSsg3JVP.js";import"./gauge-hU--hKVP.js";import"./MissionLeftAgentRow-KPdk9rSa.js";import"./page-status-E5jnk48p.js";import"./chunk-YOZR3KYS-DwHPHa6f.js";import"./arrow-down-CKtSUjmW.js";import"./terminal-relay-GYMIvKs1.js";import"./session-table-BQfR7u6r.js";import"./clock-B88r8OrZ.js";function kt(r,t){switch(r.view){case"inbox":case"activity":case"briefings":return{body:o.jsx(e,{}),footer:null};case"agents-v2":return{body:o.jsx(m,{route:r,navigate:t}),footer:null};case"agent-info":return{body:o.jsx(i,{}),footer:null};case"repos":case"repo-diff":case"code":return{body:null,footer:null};case"sessions":return{body:null,footer:null};case"terminal":return{body:o.jsx(a,{}),footer:null};case"messages":case"conversation":return{body:o.jsx(p,{}),footer:null};case"broker":case"work":case"follow":return{body:null,footer:null};case"search":return{body:null,footer:null};case"ops":return{body:o.jsx(l,{}),footer:null};case"mesh":return{body:o.jsx(s,{}),footer:o.jsx(f,{})};case"mesh-ops":return{body:o.jsx(n,{}),footer:null};case"harnesses":return{body:null,footer:null};case"settings":case"voice":return{body:null,footer:null};default:return{body:null,footer:null}}}export{kt as resolveSidebarContext};
@@ -1 +1 @@
1
- import{r as u,j as s}from"./index-CZ-05hKz.js";import{u as $,s as g,c as b}from"./mesh-view-store-BpxGm71b.js";import{u as I}from"./local-agents-wUIaBcEr.js";import{f as O}from"./mesh-roster-n2nDpEmA.js";import{n as B,b as E,a as J}from"./colors-BtO5_zlx.js";import{a as f}from"./api-Co9aQ2Jw.js";import{t as R}from"./time-Dhsh_2EG.js";/* empty css *//* empty css */import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";function P(a){return a.localNode?.advertiseScope==="mesh"}function U(a){const t=new Map;for(const i of a){const r=(i.harness??i.agentClass??"agent").toLowerCase(),c=t.get(r)??{total:0,working:0};c.total+=1,J(i.state)&&(c.working+=1),t.set(r,c)}return Array.from(t.entries()).map(([i,r])=>({label:i,total:r.total,working:r.working})).sort((i,r)=>r.total-i.total).slice(0,6)}function w(a){return a?a.replace(/^https?:\/\//,"").split("/")[0]??a:"Unavailable"}function _(a){return a.split("/")[0]}function W(a){return new Promise(t=>window.setTimeout(t,a))}async function z(a,t){let i=null,r=null;for(let c=0;c<=t.attempts;c+=1){try{if(i=await f("/api/mesh"),g(i),a(i))return i}catch(h){r=h}c<t.attempts&&await W(t.intervalMs)}if(i)return i;throw r instanceof Error?r:new Error("Mesh status is temporarily unavailable.")}function D(a){return a.issues.find(t=>t.code==="local_only"||t.code==="mesh_loopback"||t.code==="tailscale_stopped")?.summary??null}function Is(){const{meshSnapshot:a,selectedId:t,selectedType:i,probeCache:r}=$(),{agents:c}=I(),h=u.useMemo(()=>O(c),[c]),[C,y]=u.useState(!1),[N,p]=u.useState(null),M=u.useCallback(async()=>{y(!0),p({tone:"info",text:"Joining mesh — announcing broker and syncing peers…"});try{const l=await f("/api/mesh/join",{method:"POST",body:"{}"});g(l);const n=l.identity.discoverable?l:await z(e=>e.identity.discoverable,{attempts:6,intervalMs:750});if(n.identity.discoverable){const e=l.discovery,m=e?.discoveredCount!=null?` Found ${e.discoveredCount} peer node${e.discoveredCount===1?"":"s"}.`:"";p(e.error?{tone:"warning",text:`On mesh, but the initial peer sync failed: ${e.error}`}:{tone:"success",text:`On mesh at ${w(n.identity.announceUrl??n.brokerUrl)}.${m}`})}else p({tone:"warning",text:D(n)??"Joined, but this broker is not peer-reachable yet."})}catch(l){p({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{y(!1)}},[]),S=u.useCallback(async()=>{y(!0),p({tone:"info",text:"Leaving mesh…"});try{const l=await f("/api/mesh/leave",{method:"POST",body:"{}"});g(l),p({tone:"success",text:"Local only — peers will no longer discover this broker."})}catch(l){p({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{y(!1)}},[]),x=u.useMemo(()=>{const l={total:h.length,working:0,ready:0,notReady:0};for(const n of h){const e=B(n.state);e==="in_turn"||e==="in_flight"?l.working+=1:e==="callable"?l.ready+=1:l.notReady+=1}return l},[h]),k=u.useMemo(()=>U(h),[h]);if(!a)return s.jsx("div",{className:"sys-inspector-empty",children:s.jsx("p",{children:"Loading mesh…"})});if(t?.startsWith("tailnet:")&&i==="node"){const l=t.slice(8),n=a.tailscale.peers.find(d=>d.id===l),e=r[t]??null,m=n?.addresses?.[0]?_(n.addresses[0]):null,j=n?.hostName?.split(".")[0]??n?.hostName??"Tailnet peer";return s.jsxs("div",{className:"sys-inspector-content",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:j}),s.jsx("span",{className:`sys-chip sys-chip-${n?.online?"success":"failed"}`,children:n?.online?"Online":"Offline"})]}),s.jsxs("div",{className:"sys-detail-grid",children:[m&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Address"}),s.jsx("code",{className:"sys-detail-value",children:m})]}),n?.os&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Platform"}),s.jsx("span",{className:"sys-detail-value",children:n.os})]}),e?.result?.node?.meshId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Mesh ID"}),s.jsxs("code",{className:"sys-detail-value",children:[e.result.node.meshId.slice(0,14),"…"]})]}),e?.result?.node?.name&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Node name"}),s.jsx("span",{className:"sys-detail-value",children:e.result.node.name})]})]}),(!e||e.status==="loading")&&s.jsx("div",{className:"sys-banner sys-banner-muted",style:{marginTop:8},children:s.jsx("span",{children:"Connecting to Scout broker…"})}),e?.status==="error"&&s.jsxs("div",{className:"sys-banner sys-banner-warning",style:{marginTop:8},children:[s.jsx("strong",{children:"Broker unreachable."}),s.jsx("span",{children:e.result?.error??"Could not reach the remote broker."})]}),e?.status==="done"&&e.result?.node?.capabilities?.length&&s.jsxs("div",{style:{marginTop:10},children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Capabilities"}),s.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:e.result.node.capabilities.map(d=>s.jsx("span",{className:"sys-chip sys-chip-neutral",children:d},d))})]}),e?.status==="done"&&e.result?.home&&s.jsxs("div",{style:{marginTop:14},children:[s.jsxs("div",{className:"sys-inspector-section-label",children:["Agents — ",e.result.home.agents.length," registered"]}),e.result.home.agents.length===0?s.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:s.jsx("p",{children:"No agents registered on this broker."})}):s.jsx("div",{className:"mesh-agent-table",style:{marginTop:4},children:e.result.home.agents.map(d=>{const v=E(d.state);return s.jsxs("div",{className:"mesh-detail-agent",style:{padding:"4px 0"},children:[s.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${v}`}),s.jsxs("div",{className:"mesh-detail-agent-body",children:[s.jsx("span",{className:"mesh-detail-agent-name",style:{fontSize:12},children:d.title}),d.activeTask&&s.jsx("span",{className:"mesh-detail-agent-task",children:d.activeTask})]}),s.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${v}`,children:d.statusLabel||v})]},d.id)})})]}),s.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>b(null,null),children:"Clear selection"})]})}if(t&&i==="node"){const n=Object.values(a.nodes).find(m=>m.id===t)??(a.localNode?.id===t?a.localNode:null),e=a.localNode?.id===t;return n?s.jsxs("div",{className:"sys-inspector-content",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:n.hostName?.split(".")[0]??n.name??"Node"}),e&&s.jsx("span",{className:"sys-chip sys-chip-neutral",children:"this broker"})]}),s.jsxs("div",{className:"sys-detail-grid",children:[s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Node ID"}),s.jsxs("code",{className:"sys-detail-value",children:[n.id.slice(0,16),"…"]})]}),n.brokerUrl&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Broker URL"}),s.jsx("code",{className:"sys-detail-value",children:w(n.brokerUrl)})]}),n.hostName&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Host"}),s.jsx("span",{className:"sys-detail-value",children:n.hostName})]}),!e&&"lastSeenAt"in n&&typeof n.lastSeenAt=="number"&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Last seen"}),s.jsx("span",{className:"sys-detail-value",children:R(n.lastSeenAt)})]}),!e&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Scope"}),s.jsx("span",{className:"sys-detail-value",children:n.advertiseScope==="mesh"?"Announced to mesh":"Local only"})]})]}),e&&a.issues.length>0&&s.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:a.issues.map((m,j)=>s.jsxs("article",{className:`sys-issue-card sys-issue-card-${m.severity==="error"?"error":"warning"}`,children:[s.jsx("div",{className:"sys-issue-head",children:s.jsx("h3",{className:"sys-issue-title",children:m.title})}),s.jsx("p",{className:"sys-issue-body",children:m.summary}),m.actionCommand&&s.jsx("div",{className:"sys-issue-action",children:s.jsx("code",{className:"sys-code-inline",children:m.actionCommand})})]},j))}),s.jsx("button",{type:"button",className:"s-btn",style:{marginTop:12},onClick:()=>b(null,null),children:"Clear selection"})]}):s.jsxs("div",{className:"sys-inspector-empty",children:[s.jsx("p",{children:"Node not found."}),s.jsx("button",{type:"button",className:"s-btn",onClick:()=>b(null,null),children:"Clear"})]})}const o=a,T=Object.values(o.nodes).filter(l=>l.id!==o.localNode?.id).length,A=o.tailscale.onlineCount??0,L=o.localNode?.hostName?.split(".")[0]??o.localNode?.name??o.identity.name??"this broker";return s.jsxs("div",{className:"sys-inspector-content mesh-summary",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:L}),s.jsx("span",{className:"mesh-summary-mode",children:o.identity.modeLabel})]}),s.jsx("section",{className:"mesh-summary-section",children:s.jsxs("div",{className:"mesh-summary-counts",children:[s.jsxs("div",{className:"mesh-summary-count",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.total}),s.jsx("span",{className:"mesh-summary-count-label",children:"agents"})]}),s.jsxs("div",{className:"mesh-summary-count mesh-summary-count--working",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.working}),s.jsx("span",{className:"mesh-summary-count-label",children:"working"})]}),s.jsxs("div",{className:"mesh-summary-count",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.ready}),s.jsx("span",{className:"mesh-summary-count-label",children:"ready"})]}),s.jsxs("div",{className:"mesh-summary-count mesh-summary-count--offline",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.notReady}),s.jsx("span",{className:"mesh-summary-count-label",children:"not ready"})]})]})}),k.length>0&&s.jsxs("section",{className:"mesh-summary-section",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"By harness"}),s.jsx("div",{className:"mesh-summary-harness",children:k.map(l=>s.jsxs("div",{className:"mesh-summary-harness-row",children:[s.jsx("span",{className:"mesh-summary-harness-name",children:l.label}),s.jsx("span",{className:"mesh-summary-harness-count",children:l.total}),l.working>0&&s.jsxs("span",{className:"mesh-summary-harness-working",children:[l.working," working"]})]},l.label))})]}),s.jsxs("section",{className:"mesh-summary-section",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Peers"}),s.jsxs("div",{className:"mesh-summary-peers",children:[s.jsxs("div",{className:"mesh-summary-peer-row",children:[s.jsx("span",{className:"mesh-summary-peer-label",children:"Mesh"}),s.jsx("span",{className:"mesh-summary-peer-value",children:T})]}),o.tailscale.available&&s.jsxs("div",{className:"mesh-summary-peer-row",children:[s.jsx("span",{className:"mesh-summary-peer-label",children:"Tailnet"}),s.jsx("span",{className:`mesh-summary-peer-value${o.tailscale.running?"":" mesh-summary-peer-value--dim"}`,children:o.tailscale.running?`${A} online`:"stopped"})]})]})]}),s.jsxs("section",{className:"mesh-summary-section mesh-summary-reach",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Mesh"}),s.jsx(H,{joined:P(o),busy:C,tailscaleAvailable:o.tailscale.available,onJoin:()=>{M()},onLeave:()=>{S()}}),N&&s.jsx("div",{className:`sys-banner mesh-action-message sys-banner-${N.tone}`,children:s.jsx("span",{children:N.text})})]})]})}function H({joined:a,busy:t,tailscaleAvailable:i,onJoin:r,onLeave:c}){return s.jsxs("div",{className:"mesh-reach",children:[s.jsxs("label",{className:"mesh-join-toggle",children:[s.jsx("input",{type:"checkbox",checked:a,disabled:t,onChange:()=>{a?c():r()}}),s.jsx("span",{className:"mesh-join-toggle-copy",children:t?"Working…":a?"On mesh":"Join mesh"})]}),!i&&!a&&s.jsx("p",{className:"mesh-join-hint",children:"Tailscale can add automatic discovery; explicit seeds and LAN peers still work."}),a&&s.jsx("p",{className:"mesh-join-hint",children:"Mesh membership is on. Reachability is reported separately above."})]})}export{Is as MeshInspectorPanel};
1
+ import{r as u,j as s}from"./index-DvLtl7rV.js";import{u as $,s as g,c as b}from"./mesh-view-store-ChUOASK8.js";import{u as I}from"./local-agents-C8xAhbO5.js";import{f as O}from"./mesh-roster-Bc7T4b7z.js";import{n as B,b as E,a as J}from"./colors-BtO5_zlx.js";import{a as f}from"./api-Co9aQ2Jw.js";import{t as R}from"./time-Dhsh_2EG.js";/* empty css *//* empty css */import"./Provider-CtXJeLrP.js";import"./router-B9vQkNJL.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CD9MMUxl.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./createLucideIcon-DezKXSG2.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./file-text-CqJgwxmv.js";import"./x-CAbNespN.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./NewChatComposer-_Stj0fZy.js";import"./text-BP3oyl8-.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./conversation-model-Dc02NsGp.js";import"./index-zvhpRHao.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";function P(a){return a.localNode?.advertiseScope==="mesh"}function U(a){const t=new Map;for(const i of a){const r=(i.harness??i.agentClass??"agent").toLowerCase(),c=t.get(r)??{total:0,working:0};c.total+=1,J(i.state)&&(c.working+=1),t.set(r,c)}return Array.from(t.entries()).map(([i,r])=>({label:i,total:r.total,working:r.working})).sort((i,r)=>r.total-i.total).slice(0,6)}function w(a){return a?a.replace(/^https?:\/\//,"").split("/")[0]??a:"Unavailable"}function _(a){return a.split("/")[0]}function W(a){return new Promise(t=>window.setTimeout(t,a))}async function z(a,t){let i=null,r=null;for(let c=0;c<=t.attempts;c+=1){try{if(i=await f("/api/mesh"),g(i),a(i))return i}catch(h){r=h}c<t.attempts&&await W(t.intervalMs)}if(i)return i;throw r instanceof Error?r:new Error("Mesh status is temporarily unavailable.")}function D(a){return a.issues.find(t=>t.code==="local_only"||t.code==="mesh_loopback"||t.code==="tailscale_stopped")?.summary??null}function Is(){const{meshSnapshot:a,selectedId:t,selectedType:i,probeCache:r}=$(),{agents:c}=I(),h=u.useMemo(()=>O(c),[c]),[C,y]=u.useState(!1),[N,p]=u.useState(null),M=u.useCallback(async()=>{y(!0),p({tone:"info",text:"Joining mesh — announcing broker and syncing peers…"});try{const l=await f("/api/mesh/join",{method:"POST",body:"{}"});g(l);const n=l.identity.discoverable?l:await z(e=>e.identity.discoverable,{attempts:6,intervalMs:750});if(n.identity.discoverable){const e=l.discovery,m=e?.discoveredCount!=null?` Found ${e.discoveredCount} peer node${e.discoveredCount===1?"":"s"}.`:"";p(e.error?{tone:"warning",text:`On mesh, but the initial peer sync failed: ${e.error}`}:{tone:"success",text:`On mesh at ${w(n.identity.announceUrl??n.brokerUrl)}.${m}`})}else p({tone:"warning",text:D(n)??"Joined, but this broker is not peer-reachable yet."})}catch(l){p({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{y(!1)}},[]),S=u.useCallback(async()=>{y(!0),p({tone:"info",text:"Leaving mesh…"});try{const l=await f("/api/mesh/leave",{method:"POST",body:"{}"});g(l),p({tone:"success",text:"Local only — peers will no longer discover this broker."})}catch(l){p({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{y(!1)}},[]),x=u.useMemo(()=>{const l={total:h.length,working:0,ready:0,notReady:0};for(const n of h){const e=B(n.state);e==="in_turn"||e==="in_flight"?l.working+=1:e==="callable"?l.ready+=1:l.notReady+=1}return l},[h]),k=u.useMemo(()=>U(h),[h]);if(!a)return s.jsx("div",{className:"sys-inspector-empty",children:s.jsx("p",{children:"Loading mesh…"})});if(t?.startsWith("tailnet:")&&i==="node"){const l=t.slice(8),n=a.tailscale.peers.find(d=>d.id===l),e=r[t]??null,m=n?.addresses?.[0]?_(n.addresses[0]):null,j=n?.hostName?.split(".")[0]??n?.hostName??"Tailnet peer";return s.jsxs("div",{className:"sys-inspector-content",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:j}),s.jsx("span",{className:`sys-chip sys-chip-${n?.online?"success":"failed"}`,children:n?.online?"Online":"Offline"})]}),s.jsxs("div",{className:"sys-detail-grid",children:[m&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Address"}),s.jsx("code",{className:"sys-detail-value",children:m})]}),n?.os&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Platform"}),s.jsx("span",{className:"sys-detail-value",children:n.os})]}),e?.result?.node?.meshId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Mesh ID"}),s.jsxs("code",{className:"sys-detail-value",children:[e.result.node.meshId.slice(0,14),"…"]})]}),e?.result?.node?.name&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Node name"}),s.jsx("span",{className:"sys-detail-value",children:e.result.node.name})]})]}),(!e||e.status==="loading")&&s.jsx("div",{className:"sys-banner sys-banner-muted",style:{marginTop:8},children:s.jsx("span",{children:"Connecting to Scout broker…"})}),e?.status==="error"&&s.jsxs("div",{className:"sys-banner sys-banner-warning",style:{marginTop:8},children:[s.jsx("strong",{children:"Broker unreachable."}),s.jsx("span",{children:e.result?.error??"Could not reach the remote broker."})]}),e?.status==="done"&&e.result?.node?.capabilities?.length&&s.jsxs("div",{style:{marginTop:10},children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Capabilities"}),s.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:e.result.node.capabilities.map(d=>s.jsx("span",{className:"sys-chip sys-chip-neutral",children:d},d))})]}),e?.status==="done"&&e.result?.home&&s.jsxs("div",{style:{marginTop:14},children:[s.jsxs("div",{className:"sys-inspector-section-label",children:["Agents — ",e.result.home.agents.length," registered"]}),e.result.home.agents.length===0?s.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:s.jsx("p",{children:"No agents registered on this broker."})}):s.jsx("div",{className:"mesh-agent-table",style:{marginTop:4},children:e.result.home.agents.map(d=>{const v=E(d.state);return s.jsxs("div",{className:"mesh-detail-agent",style:{padding:"4px 0"},children:[s.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${v}`}),s.jsxs("div",{className:"mesh-detail-agent-body",children:[s.jsx("span",{className:"mesh-detail-agent-name",style:{fontSize:12},children:d.title}),d.activeTask&&s.jsx("span",{className:"mesh-detail-agent-task",children:d.activeTask})]}),s.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${v}`,children:d.statusLabel||v})]},d.id)})})]}),s.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>b(null,null),children:"Clear selection"})]})}if(t&&i==="node"){const n=Object.values(a.nodes).find(m=>m.id===t)??(a.localNode?.id===t?a.localNode:null),e=a.localNode?.id===t;return n?s.jsxs("div",{className:"sys-inspector-content",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:n.hostName?.split(".")[0]??n.name??"Node"}),e&&s.jsx("span",{className:"sys-chip sys-chip-neutral",children:"this broker"})]}),s.jsxs("div",{className:"sys-detail-grid",children:[s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Node ID"}),s.jsxs("code",{className:"sys-detail-value",children:[n.id.slice(0,16),"…"]})]}),n.brokerUrl&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Broker URL"}),s.jsx("code",{className:"sys-detail-value",children:w(n.brokerUrl)})]}),n.hostName&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Host"}),s.jsx("span",{className:"sys-detail-value",children:n.hostName})]}),!e&&"lastSeenAt"in n&&typeof n.lastSeenAt=="number"&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Last seen"}),s.jsx("span",{className:"sys-detail-value",children:R(n.lastSeenAt)})]}),!e&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Scope"}),s.jsx("span",{className:"sys-detail-value",children:n.advertiseScope==="mesh"?"Announced to mesh":"Local only"})]})]}),e&&a.issues.length>0&&s.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:a.issues.map((m,j)=>s.jsxs("article",{className:`sys-issue-card sys-issue-card-${m.severity==="error"?"error":"warning"}`,children:[s.jsx("div",{className:"sys-issue-head",children:s.jsx("h3",{className:"sys-issue-title",children:m.title})}),s.jsx("p",{className:"sys-issue-body",children:m.summary}),m.actionCommand&&s.jsx("div",{className:"sys-issue-action",children:s.jsx("code",{className:"sys-code-inline",children:m.actionCommand})})]},j))}),s.jsx("button",{type:"button",className:"s-btn",style:{marginTop:12},onClick:()=>b(null,null),children:"Clear selection"})]}):s.jsxs("div",{className:"sys-inspector-empty",children:[s.jsx("p",{children:"Node not found."}),s.jsx("button",{type:"button",className:"s-btn",onClick:()=>b(null,null),children:"Clear"})]})}const o=a,T=Object.values(o.nodes).filter(l=>l.id!==o.localNode?.id).length,A=o.tailscale.onlineCount??0,L=o.localNode?.hostName?.split(".")[0]??o.localNode?.name??o.identity.name??"this broker";return s.jsxs("div",{className:"sys-inspector-content mesh-summary",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:L}),s.jsx("span",{className:"mesh-summary-mode",children:o.identity.modeLabel})]}),s.jsx("section",{className:"mesh-summary-section",children:s.jsxs("div",{className:"mesh-summary-counts",children:[s.jsxs("div",{className:"mesh-summary-count",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.total}),s.jsx("span",{className:"mesh-summary-count-label",children:"agents"})]}),s.jsxs("div",{className:"mesh-summary-count mesh-summary-count--working",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.working}),s.jsx("span",{className:"mesh-summary-count-label",children:"working"})]}),s.jsxs("div",{className:"mesh-summary-count",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.ready}),s.jsx("span",{className:"mesh-summary-count-label",children:"ready"})]}),s.jsxs("div",{className:"mesh-summary-count mesh-summary-count--offline",children:[s.jsx("span",{className:"mesh-summary-count-value",children:x.notReady}),s.jsx("span",{className:"mesh-summary-count-label",children:"not ready"})]})]})}),k.length>0&&s.jsxs("section",{className:"mesh-summary-section",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"By harness"}),s.jsx("div",{className:"mesh-summary-harness",children:k.map(l=>s.jsxs("div",{className:"mesh-summary-harness-row",children:[s.jsx("span",{className:"mesh-summary-harness-name",children:l.label}),s.jsx("span",{className:"mesh-summary-harness-count",children:l.total}),l.working>0&&s.jsxs("span",{className:"mesh-summary-harness-working",children:[l.working," working"]})]},l.label))})]}),s.jsxs("section",{className:"mesh-summary-section",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Peers"}),s.jsxs("div",{className:"mesh-summary-peers",children:[s.jsxs("div",{className:"mesh-summary-peer-row",children:[s.jsx("span",{className:"mesh-summary-peer-label",children:"Mesh"}),s.jsx("span",{className:"mesh-summary-peer-value",children:T})]}),o.tailscale.available&&s.jsxs("div",{className:"mesh-summary-peer-row",children:[s.jsx("span",{className:"mesh-summary-peer-label",children:"Tailnet"}),s.jsx("span",{className:`mesh-summary-peer-value${o.tailscale.running?"":" mesh-summary-peer-value--dim"}`,children:o.tailscale.running?`${A} online`:"stopped"})]})]})]}),s.jsxs("section",{className:"mesh-summary-section mesh-summary-reach",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Mesh"}),s.jsx(H,{joined:P(o),busy:C,tailscaleAvailable:o.tailscale.available,onJoin:()=>{M()},onLeave:()=>{S()}}),N&&s.jsx("div",{className:`sys-banner mesh-action-message sys-banner-${N.tone}`,children:s.jsx("span",{children:N.text})})]})]})}function H({joined:a,busy:t,tailscaleAvailable:i,onJoin:r,onLeave:c}){return s.jsxs("div",{className:"mesh-reach",children:[s.jsxs("label",{className:"mesh-join-toggle",children:[s.jsx("input",{type:"checkbox",checked:a,disabled:t,onChange:()=>{a?c():r()}}),s.jsx("span",{className:"mesh-join-toggle-copy",children:t?"Working…":a?"On mesh":"Join mesh"})]}),!i&&!a&&s.jsx("p",{className:"mesh-join-hint",children:"Tailscale can add automatic discovery; explicit seeds and LAN peers still work."}),a&&s.jsx("p",{className:"mesh-join-hint",children:"Mesh membership is on. Reachability is reported separately above."})]})}export{Is as MeshInspectorPanel};
@@ -1 +1 @@
1
- import{j as e,r as i}from"./index-CZ-05hKz.js";import{u as w}from"./Provider-B2xuo3rf.js";import{a as C}from"./api-Co9aQ2Jw.js";import{u as B}from"./sse-CiOSzE5n.js";import{t as g}from"./time-Dhsh_2EG.js";import{B as E,b as M}from"./BrokerScreen-fbPIouMw.js";import{b as S}from"./broker-display-Q75fupqG.js";import"./router-DJj2WbDg.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./index-BWHgHrtv.js";import"./EmptyState-CeBl0iGd.js";import"./clipboard-e3fSpeo7.js";import"./status-tone-BM_zuRy1.js";import"./openContent-C6XO6kr5.js";import"./BrokerMetadataPanel-BbREmsbK.js";import"./DispatchAftermath-DC1u9itO.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-CCfZXPqD.js";import"./ShikiPane-BfHc_3pM.js";import"./types-B0PlfpKc.js";/* empty css */import"./refresh-cw-BRn9Oxxl.js";import"./arrow-down-BydciYFZ.js";import"./external-link-Ckiyzjwo.js";import"./sparkles-Dy8p5xN8.js";import"./paperclip-B1UNGl5d.js";import"./plus-CuU_X0-8.js";import"./send-horizontal-CgLppsIC.js";import"./check-C18YQC90.js";import"./copy-Dtpx4FOE.js";import"./message-square-D9YYWE0x.js";import"./radio-Dm1ItnA4.js";import"./bot-B5sub1-i.js";function $(r){return`${Math.round(r*100)}%`}function R(r){switch(r){case"success":return"sent";case"failed_query":return"query";case"failed_delivery":return"delivery";default:return"attempt"}}function q(r){switch(r){case"dm":return"direct";case"channel":return"channel";case"broadcast":return"broadcast";case null:return"no route";default:return r}}function A(r){const t=new Map;for(const o of r){const n=q(o.route);t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([o,n])=>({label:o,count:n})).sort((o,n)=>n.count-o.count||o.label.localeCompare(n.label)).slice(0,5)}function D(r){const t={sent:0,query:0,delivery:0,failures:0};for(const o of r)o.kind==="success"?t.sent+=1:o.kind==="failed_query"?t.query+=1:(o.kind==="failed_delivery"||o.kind==="delivery_attempt")&&(t.delivery+=1),S(o)&&(t.failures+=1);return t}function L(){const{inspectBrokerAttempt:r}=w(),[t,o]=i.useState(null),[n,f]=i.useState(null),l=i.useCallback(async()=>{try{const s=await C(M());o(s),f(null)}catch(s){f(s instanceof Error?s.message:String(s))}},[]);i.useEffect(()=>{l()},[l]),B(s=>{(s.kind==="message.posted"||s.kind==="delivery.planned"||s.kind==="delivery.attempted"||s.kind==="delivery.state.changed"||s.kind==="scout.dispatched")&&l()});const h=i.useMemo(()=>t?[...t.failedQueries,...t.failedDeliveries].sort((s,m)=>m.ts-s.ts).slice(0,4):[],[t]),v=i.useMemo(()=>t?t.attempts.slice().sort((s,m)=>m.ts-s.ts).slice(0,5):[],[t]),j=i.useMemo(()=>t?A(t.attempts):[],[t]),a=i.useMemo(()=>t?D(t.attempts):null,[t]),b=i.useCallback(s=>{r(s),window.dispatchEvent(new CustomEvent("scout:set-inspector-width",{detail:{width:420}}))},[r]);if(!t&&!n)return e.jsx("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:e.jsx(u,{title:"Dispatch context",status:"Loading broker ledger..."})});if(!t)return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsx(u,{title:"Dispatch context",status:"Broker diagnostics unavailable"}),e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5 text-sm leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:n})]});const c=t.attempts.length,y=t.ledger.hasMore.attempts?"+":"",N=c>0&&a?a.failures/c:0;return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs(u,{title:"Dispatch context",status:`${c}${y} latest route${c===1?"":"s"}`,children:[e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(d,{label:"Sent",value:`${a?.sent??0}`}),e.jsx(d,{label:"Query",value:`${a?.query??0}`}),e.jsx(d,{label:"Delivery",value:`${a?.delivery??0}`})]}),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.jsxs("span",{children:[$(N)," failed"]}),e.jsx("span",{children:g(t.generatedAt)})]})]}),e.jsx(p,{label:"Route mix",children:e.jsx(_,{items:j,empty:"No route records visible"})}),e.jsx(p,{label:"Needs attention",children:h.length===0?e.jsx(x,{children:"No failed routes in history."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:h.map(s=>e.jsx(k,{attempt:s,onOpen:b},s.id))})}),e.jsx(p,{label:"Recent dispatch",children:v.length===0?e.jsx(x,{children:"No recent dispatch rows."}):e.jsx("div",{className:"flex flex-col gap-1",children:v.map(s=>e.jsx(k,{attempt:s,onOpen:b,compact:!0},s.id))})})]})}function u({title:r,status:t,children:o}){return 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:r}),e.jsx("div",{className:"mt-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-soft)]",children:t}),o]})}function d({label:r,value:t}){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:r}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:t})]})}function p({label:r,children:t}){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:r}),t]})}function _({items:r,empty:t}){return r.length===0?e.jsx(x,{children:t}):e.jsx("div",{className:"flex flex-wrap gap-1",children:r.map(o=>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:`${o.count} ${o.label}`,children:[o.label," ",o.count]},o.label))})}function x({children:r}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:r})}function k({attempt:r,onOpen:t,compact:o=!1}){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:()=>t(r),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:R(r.kind)}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:r.detail}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(r.ts)})]}),!o&&e.jsxs("div",{className:"mt-0.5 flex items-center gap-2 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{className:"truncate",children:r.actorName??"unknown"}),e.jsx("span",{className:"shrink-0",children:"->"}),e.jsx("span",{className:"truncate",children:r.target??"none"})]})]})}function Ue({selectedAttempt:r,navigate:t,onClose:o}){return r?e.jsx(E,{attempt:r,navigate:t,onClose:o}):e.jsx(L,{})}export{Ue as BrokerRight};
1
+ import{j as e,r as i}from"./index-DvLtl7rV.js";import{u as w}from"./Provider-CtXJeLrP.js";import{a as C}from"./api-Co9aQ2Jw.js";import{u as B}from"./sse-CD9MMUxl.js";import{t as g}from"./time-Dhsh_2EG.js";import{B as E,b as M}from"./BrokerScreen-BPbOHhCS.js";import{b as S}from"./broker-display-Q75fupqG.js";import"./router-B9vQkNJL.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./createLucideIcon-DezKXSG2.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./file-text-CqJgwxmv.js";import"./x-CAbNespN.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./NewChatComposer-_Stj0fZy.js";import"./text-BP3oyl8-.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./conversation-model-Dc02NsGp.js";import"./index-zvhpRHao.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";import"./index-BWHgHrtv.js";import"./EmptyState-CJzXj1l5.js";import"./clipboard-e3fSpeo7.js";import"./status-tone-BM_zuRy1.js";import"./openContent-C6XO6kr5.js";import"./BrokerMetadataPanel-BsiU8lTD.js";import"./DispatchAftermath-B-6rmXzL.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-C6Wl-1uw.js";import"./ShikiPane-DYI9Hkge.js";import"./types-B0PlfpKc.js";/* empty css */import"./refresh-cw-DMxGzDwn.js";import"./arrow-down-CKtSUjmW.js";import"./external-link-Dp_a2vRZ.js";import"./sparkles-CETYrxGA.js";import"./paperclip-C64lkcbM.js";import"./plus-Co-dqKul.js";import"./send-horizontal-CSjIm6xg.js";import"./check-ofKUE8yH.js";import"./copy-CWWAJ75H.js";import"./message-square-C7t_qtuj.js";import"./radio-BOxBQX-T.js";import"./bot-rd0awxD3.js";function $(r){return`${Math.round(r*100)}%`}function R(r){switch(r){case"success":return"sent";case"failed_query":return"query";case"failed_delivery":return"delivery";default:return"attempt"}}function q(r){switch(r){case"dm":return"direct";case"channel":return"channel";case"broadcast":return"broadcast";case null:return"no route";default:return r}}function A(r){const t=new Map;for(const o of r){const n=q(o.route);t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([o,n])=>({label:o,count:n})).sort((o,n)=>n.count-o.count||o.label.localeCompare(n.label)).slice(0,5)}function D(r){const t={sent:0,query:0,delivery:0,failures:0};for(const o of r)o.kind==="success"?t.sent+=1:o.kind==="failed_query"?t.query+=1:(o.kind==="failed_delivery"||o.kind==="delivery_attempt")&&(t.delivery+=1),S(o)&&(t.failures+=1);return t}function L(){const{inspectBrokerAttempt:r}=w(),[t,o]=i.useState(null),[n,f]=i.useState(null),l=i.useCallback(async()=>{try{const s=await C(M());o(s),f(null)}catch(s){f(s instanceof Error?s.message:String(s))}},[]);i.useEffect(()=>{l()},[l]),B(s=>{(s.kind==="message.posted"||s.kind==="delivery.planned"||s.kind==="delivery.attempted"||s.kind==="delivery.state.changed"||s.kind==="scout.dispatched")&&l()});const h=i.useMemo(()=>t?[...t.failedQueries,...t.failedDeliveries].sort((s,m)=>m.ts-s.ts).slice(0,4):[],[t]),v=i.useMemo(()=>t?t.attempts.slice().sort((s,m)=>m.ts-s.ts).slice(0,5):[],[t]),j=i.useMemo(()=>t?A(t.attempts):[],[t]),a=i.useMemo(()=>t?D(t.attempts):null,[t]),b=i.useCallback(s=>{r(s),window.dispatchEvent(new CustomEvent("scout:set-inspector-width",{detail:{width:420}}))},[r]);if(!t&&!n)return e.jsx("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:e.jsx(u,{title:"Dispatch context",status:"Loading broker ledger..."})});if(!t)return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsx(u,{title:"Dispatch context",status:"Broker diagnostics unavailable"}),e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5 text-sm leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:n})]});const c=t.attempts.length,y=t.ledger.hasMore.attempts?"+":"",N=c>0&&a?a.failures/c:0;return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs(u,{title:"Dispatch context",status:`${c}${y} latest route${c===1?"":"s"}`,children:[e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(d,{label:"Sent",value:`${a?.sent??0}`}),e.jsx(d,{label:"Query",value:`${a?.query??0}`}),e.jsx(d,{label:"Delivery",value:`${a?.delivery??0}`})]}),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.jsxs("span",{children:[$(N)," failed"]}),e.jsx("span",{children:g(t.generatedAt)})]})]}),e.jsx(p,{label:"Route mix",children:e.jsx(_,{items:j,empty:"No route records visible"})}),e.jsx(p,{label:"Needs attention",children:h.length===0?e.jsx(x,{children:"No failed routes in history."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:h.map(s=>e.jsx(k,{attempt:s,onOpen:b},s.id))})}),e.jsx(p,{label:"Recent dispatch",children:v.length===0?e.jsx(x,{children:"No recent dispatch rows."}):e.jsx("div",{className:"flex flex-col gap-1",children:v.map(s=>e.jsx(k,{attempt:s,onOpen:b,compact:!0},s.id))})})]})}function u({title:r,status:t,children:o}){return 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:r}),e.jsx("div",{className:"mt-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-soft)]",children:t}),o]})}function d({label:r,value:t}){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:r}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:t})]})}function p({label:r,children:t}){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:r}),t]})}function _({items:r,empty:t}){return r.length===0?e.jsx(x,{children:t}):e.jsx("div",{className:"flex flex-wrap gap-1",children:r.map(o=>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:`${o.count} ${o.label}`,children:[o.label," ",o.count]},o.label))})}function x({children:r}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:r})}function k({attempt:r,onOpen:t,compact:o=!1}){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:()=>t(r),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:R(r.kind)}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:r.detail}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(r.ts)})]}),!o&&e.jsxs("div",{className:"mt-0.5 flex items-center gap-2 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{className:"truncate",children:r.actorName??"unknown"}),e.jsx("span",{className:"shrink-0",children:"->"}),e.jsx("span",{className:"truncate",children:r.target??"none"})]})]})}function Ue({selectedAttempt:r,navigate:t,onClose:o}){return r?e.jsx(E,{attempt:r,navigate:t,onClose:o}):e.jsx(L,{})}export{Ue as BrokerRight};
@@ -1 +1 @@
1
- import{r as y,j as e}from"./index-CZ-05hKz.js";import{a as O}from"./api-Co9aQ2Jw.js";import{a as r,t as f}from"./time-Dhsh_2EG.js";import{u as M,j as R}from"./mesh-ops-CvGyjK84.js";import{u as L}from"./mesh-view-store-BpxGm71b.js";import{u as H}from"./Provider-B2xuo3rf.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.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 ye(){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{ye as MeshOpsInspector};
1
+ import{r as y,j as e}from"./index-DvLtl7rV.js";import{a as O}from"./api-Co9aQ2Jw.js";import{a as r,t as f}from"./time-Dhsh_2EG.js";import{u as M,j as R}from"./mesh-ops-BZ1h5RQs.js";import{u as L}from"./mesh-view-store-ChUOASK8.js";import{u as H}from"./Provider-CtXJeLrP.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./router-B9vQkNJL.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CD9MMUxl.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./createLucideIcon-DezKXSG2.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./file-text-CqJgwxmv.js";import"./x-CAbNespN.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./NewChatComposer-_Stj0fZy.js";import"./text-BP3oyl8-.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./conversation-model-Dc02NsGp.js";import"./index-zvhpRHao.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./chunk-HRAB3GC3-Tyv9rzx7.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 ye(){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{ye as MeshOpsInspector};