@openscout/scout 0.2.76 → 0.2.78

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 (372) hide show
  1. package/README.md +41 -2
  2. package/bin/openscout-runtime.mjs +48 -30
  3. package/bin/scout.mjs +2 -2
  4. package/bin/scoutd +0 -0
  5. package/dist/build-manifest.json +3 -3
  6. package/dist/client/assets/ActivityScreen-Cu_1V4bq.js +1 -0
  7. package/dist/client/assets/AddProjectForm-DMnobKch.js +1 -0
  8. package/dist/client/assets/AgentAvatar-D90c1Rzk.js +1 -0
  9. package/dist/client/assets/AgentConfigurationScreen-BqfOz90D.js +1 -0
  10. package/dist/client/assets/AgentDefinitionsWorkspace-CUpUrY57.js +1 -0
  11. package/dist/client/assets/AgentDetailCard-BcRBRp88.js +1 -0
  12. package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +1 -0
  13. package/dist/client/assets/AgentFloorView-8LoAEBwS.js +1 -0
  14. package/dist/client/assets/AgentInfoScreen-DZs2_ibL.js +1 -0
  15. package/dist/client/assets/AgentLaneCard-RrNnDZu8.js +1 -0
  16. package/dist/client/assets/AgentLaneChrome-D9ZwUKrl.js +1 -0
  17. package/dist/client/assets/AgentLaneDetailSheet-BXbPls9N.js +5 -0
  18. package/dist/client/assets/AgentLaneSummaryResize-BhFmGNzT.js +1 -0
  19. package/dist/client/assets/AgentLanesEmbedScreen-W3qs022h.js +1 -0
  20. package/dist/client/assets/AgentLanesPreflight-eSAoDsPi.js +1 -0
  21. package/dist/client/assets/AgentLanesView-B9vuEEmZ.js +2 -0
  22. package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +1 -0
  23. package/dist/client/assets/AgentLiveActions-DBtnD0qE.js +1 -0
  24. package/dist/client/assets/AgentSessions-DyqOf4nG.js +6 -0
  25. package/dist/client/assets/AgentsConsole-BgiYP2wR.js +1 -0
  26. package/dist/client/assets/AgentsConsole-BjSTs-TV.css +1 -0
  27. package/dist/client/assets/AgentsScreen-DBi8x4MB.js +1 -0
  28. package/dist/client/assets/AgentsSubnav-DIEO4NPx.js +1 -0
  29. package/dist/client/assets/AtopView-BCkae3e1.js +1 -0
  30. package/dist/client/assets/BackToPicker-BRvfostO.js +1 -0
  31. package/dist/client/assets/BackToPicker-CdgVu-to.css +1 -0
  32. package/dist/client/assets/BriefingDetailScreen-BwFyysT8.js +6 -0
  33. package/dist/client/assets/BriefingsScreen-BQEevztH.js +1 -0
  34. package/dist/client/assets/BrokerMetadataPanel-7UjcuNjd.js +1 -0
  35. package/dist/client/assets/BrokerScreen-7ekklu88.js +5 -0
  36. package/dist/client/assets/ChatCollapsedStrip-CQSYSd8s.js +1 -0
  37. package/dist/client/assets/CodeDiffPane-DDPt6KPh.js +1 -0
  38. package/dist/client/assets/CodeProjectPicker-DqKFCpLU.js +2 -0
  39. package/dist/client/assets/CodeScreen-BxCrpRHd.js +1 -0
  40. package/dist/client/assets/ContextMenu-bARZqTzD.js +1 -0
  41. package/dist/client/assets/ConversationComposer-Bla3DDvM.js +1 -0
  42. package/dist/client/assets/ConversationFeedRows-B_gPxcqA.js +1 -0
  43. package/dist/client/assets/ConversationHeader-DE3FC0m-.js +1 -0
  44. package/dist/client/assets/ConversationPanels-DLek4H6A.js +2 -0
  45. package/dist/client/assets/ConversationScreen-BDRhx-RU.js +1 -0
  46. package/dist/client/assets/ConversationScreen-C9yMAMYF.css +1 -0
  47. package/dist/client/assets/ConversationStatus-BwVLiiO4.js +1 -0
  48. package/dist/client/assets/DataTable-E8s_MmoA.js +1 -0
  49. package/dist/client/assets/DispatchAftermath-Dpe88DFX.js +1 -0
  50. package/dist/client/assets/DocumentFocusViewer-BeVwwl26.js +1 -0
  51. package/dist/client/assets/EmbeddableSurfacesLab-BQqFQVnI.js +1 -0
  52. package/dist/client/assets/EmptyState-4F9XDFQm.js +1 -0
  53. package/dist/client/assets/FileViewerPane-CLgUhSm4.js +3 -0
  54. package/dist/client/assets/FleetSearch-Dz5euQJe.js +1 -0
  55. package/dist/client/assets/FleetSearch-EXOe8ulE.css +1 -0
  56. package/dist/client/assets/FlightObserveScreen-6RpZYwVz.js +1 -0
  57. package/dist/client/assets/FollowScreen-DZ4qfYOY.js +1 -0
  58. package/dist/client/assets/HarnessMark-Cbv3Ib0c.js +1 -0
  59. package/dist/client/assets/HarnessesScreen-CznAImej.js +1 -0
  60. package/dist/client/assets/HomeHero-B3uYd-pP.js +1 -0
  61. package/dist/client/assets/HomeHero-DEl-WBsT.css +1 -0
  62. package/dist/client/assets/KnowledgeSearchInspector-Dgdkfvvz.js +1 -0
  63. package/dist/client/assets/KnowledgeSearchScreen-DJDGGaqC.js +1 -0
  64. package/dist/client/assets/LaneToolHoverCard-Bla0gBdm.js +1 -0
  65. package/dist/client/assets/LaneTraceDetailSheet-D1CspRbl.js +1 -0
  66. package/dist/client/assets/LaneTraceEventFocus-BF9ERP5O.js +1 -0
  67. package/dist/client/assets/MeshCanvas-DFEPkpqY.js +3 -0
  68. package/dist/client/assets/MeshCanvasMinimap-CyVFYixr.js +1 -0
  69. package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +1 -0
  70. package/dist/client/assets/MeshScreen-DFgevn8N.js +1 -0
  71. package/dist/client/assets/MeshTopologyView-CalkZghg.js +2 -0
  72. package/dist/client/assets/MessageComposerSuggestions-DpxN9WiB.js +1 -0
  73. package/dist/client/assets/MessagesScreen-C8YKW10Y.js +1 -0
  74. package/dist/client/assets/MissionControlView-lUeAiSVg.js +1 -0
  75. package/dist/client/assets/MissionFocusOverlay-wlCmWDCT.js +1 -0
  76. package/dist/client/assets/MissionLeftAgentRow-BpZWntfl.js +1 -0
  77. package/dist/client/assets/MissionLogPane-__MVtEl9.js +1 -0
  78. package/dist/client/assets/NewAgentModal-Bg-eWHpY.js +1 -0
  79. package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +1 -0
  80. package/dist/client/assets/NewChatComposer-Cs6OsxK6.js +19 -0
  81. package/dist/client/assets/NewChatComposer-W-t-L4oV.css +1 -0
  82. package/dist/client/assets/NewChatOrigin-Bk2OyVjI.js +1 -0
  83. package/dist/client/assets/ObserveEmbedScreen-y2EpuqRZ.js +2 -0
  84. package/dist/client/assets/ObserveTextFlow-rsFj_rVo.js +2 -0
  85. package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +1 -0
  86. package/dist/client/assets/ObservedTopologyPanel-DyUeV98H.js +2 -0
  87. package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +1 -0
  88. package/dist/client/assets/OpenScoutAppShell-C_URc8sV.js +87 -0
  89. package/dist/client/assets/OpsAgentsView-UN7iOscs.js +1 -0
  90. package/dist/client/assets/OpsScreen-Buf3LKjb.js +1 -0
  91. package/dist/client/assets/OpsSubnav-DsuXzHah.js +1 -0
  92. package/dist/client/assets/PlanView-C1CjH3PG.js +1 -0
  93. package/dist/client/assets/ProjectAgentProfile-DJusrAV-.js +1 -0
  94. package/dist/client/assets/ProjectAgentProfileBar-CtTpj6fU.js +1 -0
  95. package/dist/client/assets/ProjectAgentProfileHero-BFwNJo_N.js +1 -0
  96. package/dist/client/assets/ProjectsInbox-GhVMxOhw.js +2 -0
  97. package/dist/client/assets/ProjectsRail-BgiuV4LR.js +1 -0
  98. package/dist/client/assets/ProjectsScreen-eNUBy4YU.js +1 -0
  99. package/dist/client/assets/ProjectsThreadAside-CoBgnHmr.js +1 -0
  100. package/dist/client/assets/Provider-C7UKGHQy.js +1 -0
  101. package/dist/client/assets/Provider-CCzjtkda.css +1 -0
  102. package/dist/client/assets/RailRow-BoGxAHNF.js +1 -0
  103. package/dist/client/assets/RailRow-Cf9LOiEj.css +1 -0
  104. package/dist/client/assets/RawSessionsTable-DL8y_eEy.js +1 -0
  105. package/dist/client/assets/RealtimeVoiceScreen-ffS-39zy.js +1 -0
  106. package/dist/client/assets/RepoDiffEmbedScreen-C0rumUME.js +1 -0
  107. package/dist/client/assets/RepoDiffPageScreen-DMv6DioL.js +1 -0
  108. package/dist/client/assets/RepoDiffViewer-D_exm6xK.js +7 -0
  109. package/dist/client/assets/RepoDiffViewerLazy-BPgF92Bg.js +2 -0
  110. package/dist/client/assets/ReposScreen-CB_YBWYf.js +6 -0
  111. package/dist/client/assets/ScoutDeckSurface-CxIYFyWx.js +1 -0
  112. package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +1 -0
  113. package/dist/client/assets/ScoutSurface-CYz_TcWC.js +1 -0
  114. package/dist/client/assets/ScoutbotBroadcastChip-CxtYZWPZ.css +1 -0
  115. package/dist/client/assets/ScoutbotBroadcastChip-L_R9atj0.js +2 -0
  116. package/dist/client/assets/ScoutbotFxLab-CgiZMDMW.js +4 -0
  117. package/dist/client/assets/ScoutbotRealtimeVoiceCall-FMQOr1Np.js +1 -0
  118. package/dist/client/assets/SecondaryNav-B3-nh5dM.js +1 -0
  119. package/dist/client/assets/SessionEmbedScreen-BVC7yvWF.js +1 -0
  120. package/dist/client/assets/SessionObserve-BpggNO_M.css +1 -0
  121. package/dist/client/assets/SessionObserve-yfXFafp8.js +12 -0
  122. package/dist/client/assets/SessionRefScreen-DRgJu7Jo.js +1 -0
  123. package/dist/client/assets/SessionsScreen-D6XUsZfA.js +1 -0
  124. package/dist/client/assets/SettingsDrawer-CmJt72ww.css +1 -0
  125. package/dist/client/assets/SettingsDrawer-XfdAa_nD.js +3 -0
  126. package/dist/client/assets/SettingsScreen-Cy8z-EuR.js +1 -0
  127. package/dist/client/assets/ShikiPane-Ap1iPxYb.js +15 -0
  128. package/dist/client/assets/SlidePanel-Bg5dVaIa.css +1 -0
  129. package/dist/client/assets/SlidePanel-COwtoJqR.js +1 -0
  130. package/dist/client/assets/SpriteAvatar-DyaGuhik.js +1 -0
  131. package/dist/client/assets/StatusPill-DhBL__p8.js +1 -0
  132. package/dist/client/assets/TailView-DGj_5HA9.js +2 -0
  133. package/dist/client/assets/TailView-Mj3AU2u0.css +1 -0
  134. package/dist/client/assets/Terminal-CqvGbjXU.js +1 -0
  135. package/dist/client/assets/TerminalEmbedScreen-DuZZFFzW.js +1 -0
  136. package/dist/client/assets/TextDocumentSurface-BpAw4eQS.js +4 -0
  137. package/dist/client/assets/TmuxPeek-m1osv33Q.js +1 -0
  138. package/dist/client/assets/VoicePermissionsPanel-DsK53ar4.js +1 -0
  139. package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +1 -0
  140. package/dist/client/assets/WorkDetailScreen-Bx0JimPC.js +5 -0
  141. package/dist/client/assets/WorkFilesViewer-Btl6C2Q1.js +1 -0
  142. package/dist/client/assets/activity-CA8qS6PI.js +1 -0
  143. package/dist/client/assets/{addon-fit-BOSszMLK.js → addon-fit-BZ-kXjeN.js} +1 -1
  144. package/dist/client/assets/{addon-webgl-WE840gr0.js → addon-webgl-D9-EQVEK.js} +1 -1
  145. package/dist/client/assets/agent-chat-Bfjd9y6c.js +1 -0
  146. package/dist/client/assets/agent-definitions-CymTYqvo.css +1 -0
  147. package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +1 -0
  148. package/dist/client/assets/agent-essentials-BSY1o46q.js +1 -0
  149. package/dist/client/assets/agent-floor-CuJr1iK1.css +1 -0
  150. package/dist/client/assets/agent-lane-card-Dm7YWoew.css +1 -0
  151. package/dist/client/assets/agent-lane-card-model-r2frk57c.js +1 -0
  152. package/dist/client/assets/agent-lane-detail-Djm3YJEa.js +1 -0
  153. package/dist/client/assets/agent-lane-preview-CmHVe3dU.js +4 -0
  154. package/dist/client/assets/agent-lanes-BDNktFBZ.css +1 -0
  155. package/dist/client/assets/agent-lanes-model-B4YTt4OF.js +2 -0
  156. package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +1 -0
  157. package/dist/client/assets/agents-project-COzHxZAF.css +1 -0
  158. package/dist/client/assets/agents-project-model-UYiamtrU.js +1 -0
  159. package/dist/client/assets/agents-screen-BMu6PpRY.css +1 -0
  160. package/dist/client/assets/api-BkjHJfgJ.js +1 -0
  161. package/dist/client/assets/api-h5zurxmi.js +1 -0
  162. package/dist/client/assets/{arc.es-KGqGKGIy.js → arc.es-CQBb-dVu.js} +1 -1
  163. package/dist/client/assets/arrow-down-BPLe0am9.js +1 -0
  164. package/dist/client/assets/arrow-left-DEZzHiPS.js +1 -0
  165. package/dist/client/assets/arrow-up-right-ClxBnsi7.js +1 -0
  166. package/dist/client/assets/bash-format-BRV5C6Gv.js +1 -0
  167. package/dist/client/assets/bot-eu8pBNvI.js +1 -0
  168. package/dist/client/assets/briefings-BwuAFQK6.css +1 -0
  169. package/dist/client/assets/broker-display-pp33bLsu.js +2 -0
  170. package/dist/client/assets/cache-Dr0why2k.js +2 -0
  171. package/dist/client/assets/check-DjgFiBxb.js +1 -0
  172. package/dist/client/assets/chevron-down-BGk5qoEw.js +1 -0
  173. package/dist/client/assets/chevron-right-XiIHsk4m.js +1 -0
  174. package/dist/client/assets/chunk-T65CQEWV-CrzwSeEt.js +1 -0
  175. package/dist/client/assets/chunk-YOZR3KYS-Bet8khjg.js +47 -0
  176. package/dist/client/assets/clipboard-e3fSpeo7.js +1 -0
  177. package/dist/client/assets/code-screen-DrKinCyh.css +1 -0
  178. package/dist/client/assets/code-xml-B6jOCM4V.js +1 -0
  179. package/dist/client/assets/collapsed-strip-Dz-of2SM.css +1 -0
  180. package/dist/client/assets/colors-BtO5_zlx.js +1 -0
  181. package/dist/client/assets/console-B1IBqLI_.css +1 -0
  182. package/dist/client/assets/content-BDt9VBPk.js +1 -0
  183. package/dist/client/assets/content-BIXf4cKR.js +1 -0
  184. package/dist/client/assets/content-BLm0NBJM.js +1 -0
  185. package/dist/client/assets/content-C2EwTb2y.js +1 -0
  186. package/dist/client/assets/content-C5UbLsDF.js +1 -0
  187. package/dist/client/assets/content-CHU0wwA3.css +1 -0
  188. package/dist/client/assets/content-CR3vdrYY.js +1 -0
  189. package/dist/client/assets/content-CSPVmo2s.js +1 -0
  190. package/dist/client/assets/content-C_FGqx1X.js +1 -0
  191. package/dist/client/assets/content-CvlVUOG8.js +1 -0
  192. package/dist/client/assets/content-D5kJmfgl.js +1 -0
  193. package/dist/client/assets/content-DTpQsomG.js +1 -0
  194. package/dist/client/assets/content-DikVsqLf.js +1 -0
  195. package/dist/client/assets/content-DlUe5Ono.js +1 -0
  196. package/dist/client/assets/content-GIBv_55n.js +1 -0
  197. package/dist/client/assets/content-Q2oclDzi.js +1 -0
  198. package/dist/client/assets/context-budget-CbB4BDcO.js +1 -0
  199. package/dist/client/assets/conversation-icons-IIG5ha6D.js +1 -0
  200. package/dist/client/assets/conversation-model-B47vYmWN.js +1 -0
  201. package/dist/client/assets/conversation-motion-features-BdAONVls.js +1 -0
  202. package/dist/client/assets/conversation-prefs-DNre-Lcx.js +1 -0
  203. package/dist/client/assets/copy-CQGYbxdu.js +1 -0
  204. package/dist/client/assets/createLucideIcon-OpA4Amw5.js +1 -0
  205. package/dist/client/assets/ctx-panel-B4s49N9e.css +1 -0
  206. package/dist/client/assets/discover-C1YwpBDE.js +2 -0
  207. package/dist/client/assets/document-focus-viewer-BSC_JwVE.css +1 -0
  208. package/dist/client/assets/embed-entry-BAcGL3g9.js +2 -0
  209. package/dist/client/assets/external-link-CXBytO9o.js +1 -0
  210. package/dist/client/assets/eye-0PvebX_a.js +1 -0
  211. package/dist/client/assets/file-text-BODxCjcz.js +1 -0
  212. package/dist/client/assets/flight-observe-GFg9L8ft.css +1 -0
  213. package/dist/client/assets/follow-route-BvcGtBIL.js +1 -0
  214. package/dist/client/assets/fx-z37u1o2z.js +1 -0
  215. package/dist/client/assets/gestures-CcwOTu8C.js +1 -0
  216. package/dist/client/assets/harnesses-screen-DBZoTZz8.css +1 -0
  217. package/dist/client/assets/home-live-action-B22u89j7.js +1 -0
  218. package/dist/client/assets/home-moving-signal-CAa0V91u.css +1 -0
  219. package/dist/client/assets/home-moving-signal-CK147hxn.js +1 -0
  220. package/dist/client/assets/home-now-card-BgvNWuea.js +1 -0
  221. package/dist/client/assets/home-now-card-nano-BcjnOU9H.js +1 -0
  222. package/dist/client/assets/hooks-B6y_O2FB.js +2 -0
  223. package/dist/client/assets/hooks-D6NI15f6.css +1 -0
  224. package/dist/client/assets/inbox-thread-redesign-Bz4FjWzr.css +1 -0
  225. package/dist/client/assets/index-BWHgHrtv.js +1 -0
  226. package/dist/client/assets/index-BcuhqXLe.js +1 -0
  227. package/dist/client/assets/index-CJXzfjo9.js +1 -0
  228. package/dist/client/assets/index-CvF09yvf.css +1 -0
  229. package/dist/client/assets/index-DMiGbrBt.js +10 -0
  230. package/dist/client/assets/index-DQPvraRS.js +1 -0
  231. package/dist/client/assets/index-DxGoC5l5.css +1 -0
  232. package/dist/client/assets/inspector-panel-DPoCWxKs.js +2 -0
  233. package/dist/client/assets/keyboard-nav-2kv_tGUS.js +1 -0
  234. package/dist/client/assets/knowledge-search-CVxQwxPn.js +1 -0
  235. package/dist/client/assets/knowledge-search-DjrQdiiW.css +1 -0
  236. package/dist/client/assets/lane-ask-display-B6iCAVcd.js +18 -0
  237. package/dist/client/assets/lane-edit-display-C_Aujldz.js +9 -0
  238. package/dist/client/assets/lane-observe-D0rfKDnU.js +7 -0
  239. package/dist/client/assets/lane-roster-store-D8x1jac2.js +1 -0
  240. package/dist/client/assets/lane-tool-detail-0WhMf4Vj.js +9 -0
  241. package/dist/client/assets/left-Bk3XnxPD.css +1 -0
  242. package/dist/client/assets/left-C--GiIh8.js +2 -0
  243. package/dist/client/assets/left-CAaRBK9S.css +1 -0
  244. package/dist/client/assets/left-CCoobxPS.css +1 -0
  245. package/dist/client/assets/left-Cj7Rt89X.js +1 -0
  246. package/dist/client/assets/left-CpNEtFEg.js +1 -0
  247. package/dist/client/assets/left-CzXAuK_t.js +2 -0
  248. package/dist/client/assets/left-agents-Bo9sO1by.js +1 -0
  249. package/dist/client/assets/left-bN4PCAXa.js +1 -0
  250. package/dist/client/assets/left-default-DV9GdvYi.js +1 -0
  251. package/dist/client/assets/left-jYYGAOYD.js +1 -0
  252. package/dist/client/assets/left-lanes-D0l_Co7V.js +1 -0
  253. package/dist/client/assets/left-mission-Ci7zREkQ.js +1 -0
  254. package/dist/client/assets/left-mission-DSenPIyb.css +1 -0
  255. package/dist/client/assets/left-plan-D4U1uflW.js +2 -0
  256. package/dist/client/assets/library-D-RxGiCw.js +1 -0
  257. package/dist/client/assets/loader-circle-CbHjZsz1.js +1 -0
  258. package/dist/client/assets/local-agents--00gLMqr.js +1 -0
  259. package/dist/client/assets/mentions-jSuTGeet.js +1 -0
  260. package/dist/client/assets/mesh-buckets-CfAukILK.js +1 -0
  261. package/dist/client/assets/mesh-screen-BSDUjrnV.css +1 -0
  262. package/dist/client/assets/mesh-view-store-CWidRbTE.js +1 -0
  263. package/dist/client/assets/message-circle-CG-96zts.js +1 -0
  264. package/dist/client/assets/message-markup-3J9pi3nx.js +15 -0
  265. package/dist/client/assets/message-square-DSaGpjFU.js +1 -0
  266. package/dist/client/assets/message-visibility-kJM8XcSG.js +1 -0
  267. package/dist/client/assets/mission-control-D3ikEPND.css +1 -0
  268. package/dist/client/assets/mission-control-model-C0fByIjm.js +1 -0
  269. package/dist/client/assets/mission-control-store-BlnEhiCq.js +1 -0
  270. package/dist/client/assets/model-Co0zkMIc.js +1 -0
  271. package/dist/client/assets/model-CpAxGuis.js +1 -0
  272. package/dist/client/assets/observe-CuLGD9Zp.js +1 -0
  273. package/dist/client/assets/openAgent-Bjt57GdM.js +1 -0
  274. package/dist/client/assets/openContent-C6XO6kr5.js +1 -0
  275. package/dist/client/assets/operator-attention-BwSPeheT.js +1 -0
  276. package/dist/client/assets/ops-agents-BOYxzPTm.css +1 -0
  277. package/dist/client/assets/ops-atop-BB4B4JdE.css +1 -0
  278. package/dist/client/assets/ops-screen-giu3If_N.css +1 -0
  279. package/dist/client/assets/page-status-DpkedE1F.js +1 -0
  280. package/dist/client/assets/page-status-bar-ByUD7VPM.css +1 -0
  281. package/dist/client/assets/plan-view-D56fneVF.css +1 -0
  282. package/dist/client/assets/plus--b1raV_O.js +1 -0
  283. package/dist/client/assets/profile-CVRziEDA.js +1 -0
  284. package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +1 -0
  285. package/dist/client/assets/projects-inbox-CHyUFQ6w.js +1 -0
  286. package/dist/client/assets/projects-inbox-COZ23dLR.css +1 -0
  287. package/dist/client/assets/radio-Bz8ZePxj.js +1 -0
  288. package/dist/client/assets/refresh-cw-BBmAnCB7.js +1 -0
  289. package/dist/client/assets/repo-diff-C9Qs-bEn.css +1 -0
  290. package/dist/client/assets/resizable-columns-C7ygvLt8.css +1 -0
  291. package/dist/client/assets/resolve-panes-r9B3mpW7.js +1 -0
  292. package/dist/client/assets/resolve-sidebar-context-DcG8xGaB.js +1 -0
  293. package/dist/client/assets/right-BHeiIaty.js +1 -0
  294. package/dist/client/assets/right-BkgKo9VT.js +1 -0
  295. package/dist/client/assets/right-BpEU5jWE.js +1 -0
  296. package/dist/client/assets/right-CRZXoy-X.js +1 -0
  297. package/dist/client/assets/right-ChF_pbPy.js +1 -0
  298. package/dist/client/assets/right-DMoUT3KN.js +1 -0
  299. package/dist/client/assets/right-DjRXbnRP.js +2 -0
  300. package/dist/client/assets/right-T4Ue6EqM.js +1 -0
  301. package/dist/client/assets/right-wzrLXKur.js +1 -0
  302. package/dist/client/assets/rocket-BSNS_rLs.js +1 -0
  303. package/dist/client/assets/router-Bq5dwf78.js +1 -0
  304. package/dist/client/assets/runtime-picker-Bcl5iIX5.js +1 -0
  305. package/dist/client/assets/runtime-picker-vhm0gtLs.css +1 -0
  306. package/dist/client/assets/scope-views-4khCg2_z.css +1 -0
  307. package/dist/client/assets/scope-views-U-ucT9m0.js +1 -0
  308. package/dist/client/assets/scout-voice-CU5c0LGi.js +1 -0
  309. package/dist/client/assets/scoutbot-BTIErYHo.js +3 -0
  310. package/dist/client/assets/scroll-text-D6Pdnar7.js +1 -0
  311. package/dist/client/assets/search-CWfZtOt2.js +1 -0
  312. package/dist/client/assets/secondaryNavConfig-DqUIp0Es.js +1 -0
  313. package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +1 -0
  314. package/dist/client/assets/selection-bridge-16pk1qyG.js +1 -0
  315. package/dist/client/assets/send-horizontal-Bg5-QggH.js +1 -0
  316. package/dist/client/assets/server-CPp4ZJhZ.js +1 -0
  317. package/dist/client/assets/session-catalog-BmoyVTJ_.js +1 -0
  318. package/dist/client/assets/session-table-DZcrKoIH.js +1 -0
  319. package/dist/client/assets/sessionRead-CvFz2RHv.js +1 -0
  320. package/dist/client/assets/sliders-horizontal-1oW76Xc9.js +1 -0
  321. package/dist/client/assets/sparkles-ClfRJQ6w.js +1 -0
  322. package/dist/client/assets/sse-CjIkKo46.js +1 -0
  323. package/dist/client/assets/status-tone-BM_zuRy1.js +1 -0
  324. package/dist/client/assets/surface-activity-B1rgWB1i.js +1 -0
  325. package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +1 -0
  326. package/dist/client/assets/tail-display-BdyoLvzY.js +2 -0
  327. package/dist/client/assets/tail-events-D19uAGe3.js +1 -0
  328. package/dist/client/assets/terminal-B9AOZQKR.js +1 -0
  329. package/dist/client/assets/terminal-relay-CWbJ1RCW.js +1 -0
  330. package/dist/client/assets/terminal-screen-19jAI0Cw.css +1 -0
  331. package/dist/client/assets/terminal-sessions-D5CIR2OL.js +1 -0
  332. package/dist/client/assets/terminal-takeover-B8UeD9OX.js +1 -0
  333. package/dist/client/assets/text-DsBWV_4k.js +1 -0
  334. package/dist/client/assets/time-DltNTpLl.js +1 -0
  335. package/dist/client/assets/types-B0PlfpKc.js +1 -0
  336. package/dist/client/assets/ui-LM8pS8qE.js +1 -0
  337. package/dist/client/assets/use-conversation-list-Byab41G6.js +1 -0
  338. package/dist/client/assets/use-fleet-active-asks-BIbQx5AS.js +1 -0
  339. package/dist/client/assets/use-reduced-motion-RRBkmVkk.js +1 -0
  340. package/dist/client/assets/useAgentHoverCard-DMrbBif0.js +1 -0
  341. package/dist/client/assets/useContentSecondaryNav-DMl1WNm7.js +1 -0
  342. package/dist/client/assets/usePierreRuntime-wC-yMtBb.js +50 -0
  343. package/dist/client/assets/voice-levels-Dcr3jglk.js +1 -0
  344. package/dist/client/assets/wrench-Bkc_0lKF.js +1 -0
  345. package/dist/client/assets/x-D3GElQbe.js +1 -0
  346. package/dist/client/assets/{xterm-6eL7V7pF.js → xterm-BKR8oAkR.js} +1 -1
  347. package/dist/client/index.html +6 -3
  348. package/dist/drizzle/0003_harsh_meltdown.sql +45 -0
  349. package/dist/drizzle/0004_medical_aaron_stack.sql +40 -0
  350. package/dist/drizzle/0005_wet_shriek.sql +57 -0
  351. package/dist/drizzle/0006_woozy_dark_beast.sql +1 -0
  352. package/dist/drizzle/README.md +7 -0
  353. package/dist/drizzle/meta/0003_snapshot.json +4952 -0
  354. package/dist/drizzle/meta/0004_snapshot.json +5235 -0
  355. package/dist/drizzle/meta/0005_snapshot.json +5599 -0
  356. package/dist/drizzle/meta/0006_snapshot.json +5606 -0
  357. package/dist/drizzle/meta/_journal.json +28 -0
  358. package/dist/main.mjs +24907 -12910
  359. package/dist/node/main.mjs +10212 -195
  360. package/dist/openscout-terminal-relay.mjs +507 -64
  361. package/dist/pairing-runtime-controller.mjs +10793 -5165
  362. package/dist/runtime/base-daemon.mjs +627 -159
  363. package/dist/runtime/broker-daemon.mjs +65039 -30990
  364. package/dist/runtime/broker-process-manager.mjs +247 -54
  365. package/dist/runtime/mesh-discover.mjs +246 -54
  366. package/dist/scout-control-plane-web.mjs +56699 -47427
  367. package/dist/scout-web-server.mjs +56699 -47427
  368. package/package.json +1 -1
  369. package/dist/client/assets/RepoDiffViewer-DLVleMPW.js +0 -56
  370. package/dist/client/assets/embed-entry-BdmREZuc.js +0 -1
  371. package/dist/client/assets/index-DPFmfHm5.js +0 -271
  372. package/dist/client/assets/index-jpYnsyHM.css +0 -1
@@ -0,0 +1 @@
1
+ import{r as E}from"./index-DMiGbrBt.js";import{a as C}from"./api-h5zurxmi.js";import{b as ot}from"./router-Bq5dwf78.js";import{u as it}from"./sse-CjIkKo46.js";import{i as P,o as rt}from"./surface-activity-B1rgWB1i.js";import{e as ct,u as lt}from"./Provider-C7UKGHQy.js";import{v as H}from"./conversation-model-B47vYmWN.js";import{d as at,c as ut,e as dt,f as ft,i as q}from"./model-Co0zkMIc.js";import{i as gt}from"./agents-project-model-UYiamtrU.js";import{o as z,b as vt,a as wt,h as x,c as Y}from"./model-CpAxGuis.js";const O=1440*6e4;function It(t){const e=new Map;for(const n of t?.activeAsks??[]){const s=e.get(n.agentId)??[];s.push(n),e.set(n.agentId,s)}return e}function At(t){const e=new Map,n=(s,o)=>{if(!s)return;const r=e.get(s)??[];r.push(o),e.set(s,r)};for(const s of t?.needsAttention??[])n(s.agentId,{title:s.title,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of t?.activeAsks??[])s.status==="needs_attention"&&n(s.agentId,{title:s.task,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of e.values())s.sort((o,r)=>r.updatedAt-o.updatedAt);return e}function Q(t){return t?t.charAt(0).toUpperCase()+t.slice(1):"Harness"}function X(t){return t.length===1?t[0]??null:t.length>1?`${t.length} branches`:null}function mt(t,e,n,s){const o=t.group,r=o.nodes.flatMap(I=>n.get(I.row.agent.id)??[]).sort((I,h)=>h.updatedAt-I.updatedAt)[0]??null,c=!!r,a=!c&&o.nodes.some(I=>q(I.row)),d=gt(o,s),v=c?"needs":a?"working":"recent",w=c?"needs":a||d?"live":"idle",f=t.leadAgent,m=r?.conversationId??e.get(f.id)??f.conversationId??null;return{id:`${t.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:t.projectSlug,projectTitle:t.projectTitle,projectRoot:t.projectRoot,workspaceRoot:f.cwd??f.projectRoot??t.projectRoot,agentId:f.id,agentName:o.name,harness:x(o.harness),branch:X(o.branches),work:r?.summary?.trim()||r?.title.trim()||wt(t,w),group:v,needs:c,working:a,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:m,sessionId:null}}function pt(t){return t&&t.view==="sessions"&&t.sessionId?t.sessionId:null}function ht(t,e,n){const s=x(e.harness);return{id:`${t.slice.slug}:native:${e.key}`,kind:"native",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:t.slice.root,agentId:null,agentName:`${Q(s)} session`,harness:s,branch:null,work:Y(e.detail??e.label)||e.label,group:"working",needs:!1,working:!0,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:null,sessionId:pt(e.route)}}function yt(t,e){return t.status==="active"||t.status==="workflow"?"working":(t.lastActivityAt&&e-t.lastActivityAt<O,"recent")}function Z(t){return t?t.view==="sessions"?t.sessionId??null:t.view==="conversation"?t.conversationId:null:null}function F(t){return!!Z(t.route)}function G(t,e,n,s,o){const r=x(e.harness),c=Z(e.route),a=e.status==="active"||e.status==="workflow";return{id:`${t.slice.slug}:session:${e.key}`,kind:"session",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:s?.cwd??s?.projectRoot??t.slice.root,agentId:s?.id??null,agentName:s?.name??`${Q(r)} session`,harness:r,branch:X(o?[o]:[]),work:Y(e.detail??e.label)||e.label,group:yt(e,n),needs:!1,working:a,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:e.route?.view==="conversation"?e.route.conversationId:null,sessionId:e.route?.view==="sessions"?e.route.sessionId??c:c,route:e.route}}function kt(t,e){const n=[];for(const s of t.agents)for(const o of s.sessions)F(o)&&n.push(G(t,o,e,s.row.agent,s.row.branch));for(const s of t.unassigned)F(s)&&n.push(G(t,s,e));return n.sort((s,o)=>o.lastActivityAt-s.lastActivityAt||s.agentName.localeCompare(o.agentName))}function St(t){const e=new Map,n=(s,o,r,c)=>{const a=e.get(s);if(!a){e.set(s,{root:s,branch:o,working:r,lastActivityAt:c});return}(r||!a.branch)&&o&&(a.branch=o),a.working||=r,a.lastActivityAt=Math.max(a.lastActivityAt,c)};for(const s of t.agents){const o=s.row.agent.cwd??s.row.agent.projectRoot??t.slice.root;if(!o)continue;const r=s.row.branch&&s.row.branch!=="—"?s.row.branch:null;n(o,r,q(s.row),s.row.lastActivityAt??0)}for(const s of t.slice.nativeSessions)s.cwd&&n(s.cwd,null,s.status==="active",s.lastActivityAt??0);return e.size===0&&t.slice.root&&n(t.slice.root,null,!1,t.lastActivityAt??0),[...e.values()].sort((s,o)=>Number(o.working)-Number(s.working)||o.lastActivityAt-s.lastActivityAt||s.root.localeCompare(o.root))}function K(t,e){return t.needs?3:t.working?2:e-t.lastActivityAt<O?1:0}function Rt(t){const{nowMs:e,showEphemeral:n}=t,s=ct(t.agents,t.machineId),o=It(t.fleet),r=At(t.fleet),{conversationByAgentId:c,sessionByAgentId:a}=at(t.sessions),d=s.map(i=>ut(i,a.get(i.id)??null,o.get(i.id)??[])),v=dt(t.discovery,e),w=ft(d,t.sessions,v),f=vt(w,n),m=f.map(i=>mt(i,c,r,e));for(const i of w)for(const l of i.unassigned)l.kind!=="native"||l.status!=="active"||!l.route||m.push(ht(i,l,e));m.sort((i,l)=>K(l,e)-K(i,e)||l.lastActivityAt-i.lastActivityAt);const I=w.flatMap(i=>kt(i,e)),h=new Map;for(const i of m){const l=h.get(i.projectSlug)??[];l.push(i),h.set(i.projectSlug,l)}const M=new Map;for(const i of I){const l=M.get(i.projectSlug)??[];l.push(i),M.set(i.projectSlug,l)}const j=new Map;for(const i of f)j.set(i.projectSlug,(j.get(i.projectSlug)??0)+1);const D=w.map(i=>{const l=h.get(i.slice.slug)??[],L=M.get(i.slice.slug)??[],nt=[...new Set(i.agents.map(g=>g.row.branch).filter(g=>!!g&&g!=="—"&&g!=="main"))],$=St(i);return{slug:i.slice.slug,title:i.slice.title,root:i.slice.root,agentCount:j.get(i.slice.slug)??0,sessionCount:L.length,liveSessionCount:L.filter(g=>g.working).length,worktreeCount:$.length,worktrees:$,needs:l.filter(g=>g.needs).length,working:l.filter(g=>g.working).length,threadCount:l.length,lastActivityAt:i.lastActivityAt,branches:nt}});return D.sort((i,l)=>V(l)-V(i)||l.lastActivityAt-i.lastActivityAt||i.title.localeCompare(l.title)),{projects:D,threads:m,sessions:I}}function V(t){return t.needs>0?2:t.working>0?1:0}function qt(t,e){return t.needs===0&&t.working===0&&(t.threadCount===0||e-t.lastActivityAt>O)}function zt(t,e){return t.filter(n=>n.projectSlug===e)}function Yt(t,e){return t.filter(n=>n.projectSlug===e)}const bt=["needs","working","recent"],Mt={needs:"Your turn",working:"In flight",recent:"Recent"};function Qt(t){const e=new Map;for(const n of t){const s=e.get(n.group)??[];s.push(n),e.set(n.group,s)}return bt.filter(n=>e.has(n)).map(n=>({group:n,label:Mt[n],items:e.get(n)}))}function A(t){return{view:"agents-v2",...t.projectSlug?{projectSlug:t.projectSlug}:{},...t.machineId?{machineId:t.machineId}:{}}}function Xt(t,e){return t.agentId&&e.selectedAgentId?e.selectedAgentId===t.agentId:t.kind==="native"&&t.sessionId&&e.sessionId?e.sessionId===t.sessionId:!1}function Zt(t,e){return t.kind==="native"?{...A(e),sessionId:t.sessionId??void 0}:{...A(e),selectedAgentId:t.agentId??void 0}}function te(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?z(e,t.agentId):A(e)}function ee(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.agentId?{...z(e,t.agentId),tab:"observe"}:null}function se(t,e){const n=_(t);return n?{...A(e),indexView:"sessions",...n?{sessionId:n}:{},selectedAgentId:void 0}:A(e)}function ne(t,e){const n=_(t);return n&&e.sessionId?e.sessionId===n:!1}function _(t){return t.sessionId?t.sessionId:t.conversationId?t.conversationId:null}function oe(t,e){const n=_(t);return n?{...A(e),projectSlug:t.projectSlug,indexView:"sessions",sessionId:n,selectedAgentId:void 0}:{...A(e),projectSlug:t.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const jt=15e3,tt=3e4,Ct=250;let u={sessions:[],fleet:null,discovery:null,loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const N=new Set;let k=0,W=0,p=null,R=null,b=null,T=null,J=0;function et(){for(const t of[...N])t()}function Bt(t,e){return t&&JSON.stringify(t.activeAsks)===JSON.stringify(e.activeAsks)?t:e}function Et(t,e){const n=s=>JSON.stringify([s?.transcripts??[],s?.processes??[]]);return t&&n(t)===n(e)?t:e}function st(t){u={...u,...t},et()}async function y(t){const e=++W;J+=1,typeof window<"u"&&(window.__projectsInboxLoads=J),u.loadedAt===null&&t!=="background"&&st({loading:!0,error:null});const[n,s,o]=await Promise.allSettled([C("/api/conversations"),C("/api/fleet"),C("/api/tail/discover")]);if(e!==W)return;const r=n.status==="fulfilled"?H(u.sessions,n.value):u.sessions,c=s.status==="fulfilled"?Bt(u.fleet,s.value):u.fleet,a=o.status==="fulfilled"?Et(u.discovery,o.value):u.discovery,d=[n,s,o].find(f=>f.status==="rejected"),v=d?d.reason instanceof Error?d.reason.message:String(d.reason):null,w=r!==u.sessions||c!==u.fleet||a!==u.discovery||v!==u.error||u.loading;u={...u,sessions:r,fleet:c,discovery:a,error:v,loading:!1,loadedAt:Date.now()},w&&et()}function Pt(){P()&&(p||(p=setTimeout(()=>{p=null,y("background")},Ct)))}function Nt(){y("initial"),R=setInterval(()=>{P()&&y("background")},jt),b=setInterval(()=>{P()&&st({nowMs:Date.now()})},tt),T=rt(()=>{y("background")})}function Tt(){p&&(clearTimeout(p),p=null),R&&(clearInterval(R),R=null),b&&(clearInterval(b),b=null),T?.(),T=null}function ie(){y("background")}function xt(){const[t,e]=E.useState(u);return E.useEffect(()=>{const n=()=>e(u);return N.add(n),k+=1,k===1&&Nt(),n(),()=>{N.delete(n),k-=1,k===0&&Tt()}},[]),it(Pt),t}let U=null,S=null;function Ot(t,e){return!!t&&t.length===e.length&&t.every((n,s)=>n===e[s])}function B(t,e,n){if(!t?.length)return e;const s=new Map(t.map(c=>[n(c),c]));let o=t.length===e.length;const r=e.map((c,a)=>{const d=s.get(n(c)),v=d?H(d,c):c;return v!==t[a]&&(o=!1),v});return o?t:r}function _t(t,e){if(!t)return e;const n=B(t.projects,e.projects,r=>r.slug),s=B(t.threads,e.threads,r=>r.id),o=B(t.sessions,e.sessions,r=>r.id);return n===t.projects&&s===t.threads&&o===t.sessions?t:{projects:n,threads:s,sessions:o}}function Dt(t){const e=[t.agents,t.sessions,t.fleet,t.discovery,t.machineId,Math.floor(t.nowMs/tt),t.showEphemeral];if(Ot(U,e)&&S)return S;const n=Rt(t),s=_t(S,n);return U=e,S=s,s}function re(t){const e=xt(),{agents:n}=lt(),s=ot(t),o=!!t.showEphemeral;return{model:E.useMemo(()=>Dt({agents:n,machineId:s,sessions:e.sessions,fleet:e.fleet,discovery:e.discovery,nowMs:e.nowMs,showEphemeral:o}),[n,s,e.sessions,e.fleet,e.discovery,e.nowMs,o]),nowMs:e.nowMs,loading:e.loading,loadedAt:e.loadedAt,error:e.error}}export{te as a,ne as b,_ as c,Yt as d,zt as e,se as f,Qt as g,Zt as h,qt as i,Xt as j,ie as r,oe as s,ee as t,re 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-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-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;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: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}}
@@ -0,0 +1 @@
1
+ import{c as a}from"./createLucideIcon-OpA4Amw5.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};
@@ -0,0 +1 @@
1
+ import{c as e}from"./createLucideIcon-OpA4Amw5.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
+ .rd-viewer,.s-code-diff{--rd-mono: var(--font-mono, ui-monospace, monospace);--rd-line: color-mix(in srgb, var(--ink) 9%, transparent);--rd-line-strong: color-mix(in srgb, var(--ink) 16%, transparent);--rd-rail-bg: color-mix(in srgb, var(--bg) 80%, black);--rd-sel: color-mix(in srgb, var(--accent) 12%, transparent);--rd-add: var(--green);--rd-del: var(--red);--rd-mod: var(--amber);--rd-diff-line-mix-light: 94%;--rd-diff-line-mix-dark: 92%;--rd-diff-gutter-mix-light: 76%;--rd-diff-gutter-mix-dark: 72%;--rd-diff-spine-width: 6px;display:flex;flex:1;flex-direction:column;height:100%;min-height:0;background:var(--bg);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-sm)}.rd-header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-2xl);border-bottom:1px solid var(--rd-line);background:color-mix(in srgb,var(--bg) 94%,black)}.rd-header-id{min-width:0}.rd-header-title{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.rd-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg);font-weight:600;color:var(--ink)}.rd-header-dir{color:var(--muted);font-weight:400}.rd-scope-pill{flex:none;padding:1px var(--space-xs);border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);color:color-mix(in srgb,var(--muted) 88%,var(--ink));font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.rd-scope-pill.session{border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:color-mix(in srgb,var(--accent) 76%,var(--ink));background:color-mix(in srgb,var(--accent) 8%,transparent)}.rd-header-sub{margin-top:2px;color:var(--muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-freshness{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-2xs);color:color-mix(in srgb,var(--muted) 86%,transparent);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-freshness span+span{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}.rd-header-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.rd-layers{display:flex;gap:var(--space-xs)}.rd-layer-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md);border:1px solid var(--rd-line);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--rd-mono);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color 80ms ease,background 80ms ease,border-color 80ms ease}.rd-layer-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.rd-layer-tab.on{color:var(--ink);background:var(--rd-sel);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.rd-layer-tab .rd-layer-stat{color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}.rd-layer-tab.on .rd-layer-stat{color:color-mix(in srgb,var(--ink) 70%,transparent)}.rd-segmented{display:inline-flex;overflow:hidden;border:1px solid var(--rd-line);border-radius:var(--radius-sm)}.rd-segmented button{padding:var(--space-2xs) var(--space-md);border:0;border-left:1px solid var(--rd-line);background:transparent;color:var(--muted);font-family:var(--rd-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md);cursor:pointer}.rd-segmented button:first-child{border-left:0}.rd-segmented button.on{background:var(--rd-sel);color:var(--ink)}.rd-close{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.rd-close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.rd-close:disabled{cursor:progress;opacity:.65}.rd-close:disabled:hover{background:transparent;color:var(--muted)}.rd-close.spinning svg{animation:rd-spin .7s linear infinite;transform-origin:center}.rd-body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);flex:1;min-height:0}.rd-rail{grid-row:1 / span 2;grid-column:1;position:relative;display:flex;flex-direction:column;flex:none;min-height:0;border-right:1px solid var(--rd-line);background:var(--rd-rail-bg)}.rd-rail-head{padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--rd-line);color:var(--muted);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-lg)}.rd-rail-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2xs) 0}.rd-rail-resizer{position:absolute;top:0;right:-4px;bottom:0;z-index:2;width:8px;cursor:col-resize}.rd-rail-resizer:after{content:"";position:absolute;top:0;right:3px;bottom:0;width:1px;background:transparent}.rd-rail-resizer:hover:after,.rd-rail-resizer:active:after{background:color-mix(in srgb,var(--accent) 55%,transparent)}.rd-dir-row{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding-top:var(--space-2xs);padding-right:var(--space-sm);padding-bottom:var(--space-2xs);border:0;background:color-mix(in srgb,var(--ink) 3%,transparent);color:color-mix(in srgb,var(--muted) 92%,var(--ink));font-family:var(--rd-mono);font-size:var(--text-2xs);text-align:left;cursor:pointer}.rd-dir-row:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.rd-dir-caret{width:12px;flex:none;color:var(--muted)}.rd-dir-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-dir-count{flex:none;color:color-mix(in srgb,var(--muted) 70%,transparent);font-variant-numeric:tabular-nums}.rd-file-row{display:flex;align-items:center;width:100%;border-left:2px solid transparent;background:transparent;color:var(--ink);font-family:var(--rd-mono);text-align:left}.rd-file-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.rd-file-row.on{background:var(--rd-sel)}.rd-file-pick{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1;padding-top:var(--space-xs);padding-right:0;padding-bottom:var(--space-xs);padding-left:var(--space-lg);border:0;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.rd-file-include{display:grid;place-items:center;width:24px;height:24px;margin:0 var(--space-sm);flex:none;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--muted) 78%,transparent);cursor:pointer}.rd-file-include:hover,.rd-file-include:focus-visible{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:var(--rd-sel);color:var(--ink)}.rd-file-glyph{display:grid;place-items:center;width:15px;height:15px;flex:none;border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:700;background:color-mix(in srgb,currentColor 16%,transparent)}.rd-file-glyph.added{color:var(--rd-add)}.rd-file-glyph.modified,.rd-file-glyph.renamed,.rd-file-glyph.copied,.rd-file-glyph.typechange{color:var(--rd-mod)}.rd-file-glyph.deleted,.rd-file-glyph.conflict{color:var(--rd-del)}.rd-file-glyph.unknown{color:var(--muted)}.rd-file-id{min-width:0;flex:1;line-height:1.25}.rd-file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--ink)}.rd-file-dir{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);color:var(--muted)}.rd-file-churn{flex:none;text-align:right;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;line-height:1.25}.rd-file-churn .add{display:block;color:var(--rd-add)}.rd-file-churn .del{display:block;color:var(--rd-del)}.rd-file-tags{display:flex;gap:var(--space-3xs);margin-top:1px}.rd-file-tag{display:inline-block;padding:0 4px;border:1px solid var(--rd-line);border-radius:var(--radius-xs);font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:var(--tracking-sm);color:var(--muted)}.rd-surface{grid-row:2;grid-column:2;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative}.rd-surface-scroll{flex:1;min-height:0;overflow:auto}.rd-codeview{font-size:var(--text-xs);--diffs-addition-color-override: var(--rd-add);--diffs-deletion-color-override: var(--rd-del);height:100%;overflow:auto}.rd-codeview-host{height:100%;min-height:0}.rd-selection-context-chip{position:absolute;z-index:20;display:inline-flex;align-items:center;min-height:24px;max-width:124px;padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--accent) 58%,var(--rd-line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 82%,var(--accent) 18%);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-2xs);font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 10px 26px #0000004d}.rd-selection-context-chip:hover,.rd-selection-context-chip:focus-visible{background:var(--accent);color:var(--bg);outline:none}.rd-banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-2xl);border-bottom:1px solid var(--rd-line);font-size:var(--text-xs);line-height:1.45}.rd-banner.warning{background:color-mix(in srgb,var(--amber) 12%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--ink))}.rd-banner.info{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.rd-banner-dot{margin-top:3px;width:6px;height:6px;flex:none;border-radius:var(--radius-pill);background:currentColor}.rd-comment{grid-row:1;grid-column:2;z-index:8;padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--rd-line);background:color-mix(in srgb,var(--surface) 86%,var(--bg))}.rd-comment-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-xs);max-height:136px;margin-bottom:var(--space-xs);overflow:auto}.rd-context-item{min-width:0;border:1px solid var(--rd-line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 90%,var(--ink) 10%);overflow:hidden}.rd-context-item.line{border-color:color-mix(in srgb,var(--accent) 24%,var(--rd-line))}.rd-context-item.selection{border-color:color-mix(in srgb,var(--green) 24%,var(--rd-line))}.rd-context-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);min-height:24px;padding:0 var(--space-xs);color:var(--muted);font-size:var(--text-2xs)}.rd-context-icon{display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 74%,var(--muted))}.rd-context-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}.rd-context-detail{color:color-mix(in srgb,var(--muted) 78%,transparent);font-variant-numeric:tabular-nums;white-space:nowrap}.rd-context-remove{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.rd-context-remove:hover:not(:disabled),.rd-context-remove:focus-visible{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--ink);outline:none}.rd-context-remove:disabled{cursor:not-allowed;opacity:.55}.rd-context-preview{max-height:84px;margin:0;padding:var(--space-2xs) var(--space-sm) var(--space-xs);overflow:auto;border-top:1px solid var(--rd-line);color:color-mix(in srgb,var(--ink) 88%,var(--muted));font-family:var(--rd-mono);font-size:var(--text-2xs);line-height:1.35;white-space:pre}.rd-comment-main{display:grid;grid-template-columns:minmax(132px,172px) minmax(0,1fr) 72px;gap:var(--space-xs);align-items:start}.rd-target-button,.rd-comment textarea,.rd-comment-send{border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 96%,var(--ink) 4%);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);line-height:18px}.rd-target-button:focus-visible,.rd-comment textarea:focus-visible,.rd-comment-send:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--rd-line-strong));outline:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.rd-target-picker{position:relative;min-width:0}.rd-target-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;height:34px;padding:0 var(--space-sm);cursor:pointer}.rd-target-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-target-button svg{flex:none;color:var(--muted)}.rd-target-button:disabled{cursor:not-allowed;opacity:.56}.rd-target-menu{position:absolute;bottom:calc(100% + 4px);left:0;z-index:40;width:min(260px,max(100%,172px));max-height:184px;overflow:auto;padding:var(--space-2xs);border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 92%,var(--bg));box-shadow:0 14px 34px #0000006b}.rd-target-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);width:100%;min-height:26px;padding:0 var(--space-xs);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);text-align:left;cursor:pointer}.rd-target-option:hover,.rd-target-option:focus-visible,.rd-target-option[aria-selected=true]{background:var(--rd-sel);outline:none}.rd-target-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-target-option-suffix{color:color-mix(in srgb,var(--accent) 70%,var(--muted));font-size:var(--text-2xs);white-space:nowrap}.rd-target-option-check{display:grid;place-items:center;width:14px;color:var(--accent)}.rd-comment textarea{min-width:0;min-height:34px;max-height:96px;resize:vertical;overflow:auto;padding:7px var(--space-sm)}.rd-comment textarea::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}.rd-comment-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);width:72px;height:34px;padding:0 var(--space-sm);cursor:pointer}.rd-comment-send:hover:not(:disabled){background:var(--rd-sel);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.rd-comment-send:disabled{cursor:not-allowed;opacity:.56}.rd-comment-spin{animation:rd-spin .7s linear infinite}.rd-comment-meta{min-height:14px;margin-top:var(--space-2xs);color:var(--muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-comment-meta .ok{color:var(--rd-add)}.rd-comment-meta .err{color:var(--rd-del)}@media(max-width:720px){.rd-comment-main{grid-template-columns:1fr}.rd-target-button,.rd-comment-send{width:100%}}.rd-center{display:flex;flex:1;align-items:center;justify-content:center;min-height:0;padding:var(--space-6xl);text-align:center}.rd-center-card{max-width:420px}.rd-center-title{font-size:var(--text-lg);color:var(--ink)}.rd-center-body{margin-top:var(--space-sm);color:var(--muted);font-size:var(--text-xs);line-height:1.5;word-break:break-word}.rd-center-action{margin-top:var(--space-lg)}.rd-btn{padding:var(--space-2xs) var(--space-lg);border:1px solid var(--rd-line-strong);border-radius:var(--radius-md);background:transparent;color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);cursor:pointer}.rd-btn:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.rd-spinner{width:22px;height:22px;margin:0 auto var(--space-lg);border:2px solid var(--rd-line-strong);border-top-color:var(--accent);border-radius:var(--radius-pill);animation:rd-spin .7s linear infinite}@keyframes rd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rd-spinner{animation:none}}.rd-embed{height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg);color:var(--ink)}
@@ -0,0 +1 @@
1
+ .dt-wrap{min-height:0;overflow:auto;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}.dt-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted)}.dt-table thead th{position:sticky;top:0;z-index:1;padding:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--surface) 98%,transparent);color:var(--muted);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.dt-th-sort,.dt-th-static{display:inline-flex;align-items:center;gap:var(--space-xs);width:calc(100% - 14px);padding:var(--space-sm) var(--space-lg);text-align:left;white-space:nowrap;overflow:hidden}.dt-th-sort{background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.dt-th-sort:hover{color:var(--ink)}.dt-th-sort:focus-visible,.dt-row:focus-visible{outline:none}.dt-th--sorted .dt-th-sort,.dt-th-sort:focus-visible{color:var(--ink)}.dt-th-label{overflow:hidden;text-overflow:ellipsis}.dt-th-arrow{margin-left:auto;padding-left:var(--space-2xs);font-size:var(--text-2xs);color:color-mix(in srgb,var(--ink) 22%,transparent);transition:color .12s}.dt-th-arrow--active,.dt-th-sort:hover .dt-th-arrow--active{color:var(--accent)}.dt-th-sort:hover .dt-th-arrow{color:color-mix(in srgb,var(--ink) 40%,transparent)}.dt-table tbody td{border-bottom:1px solid color-mix(in srgb,var(--ink) 4%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.dt-wrap--comfortable .dt-table tbody td{padding:var(--space-sm) var(--space-lg)}.dt-wrap--compact .dt-table tbody td{padding:var(--space-xs) var(--space-md)}.dt-align-right{text-align:right;font-variant-numeric:tabular-nums}.dt-row--interactive{cursor:pointer}.dt-row--interactive:hover td,.dt-row--interactive:focus-visible td,.dt-row--active td{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.dt-row--pinned td{background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--ink)}.dt-empty-row td,.dt-loading-row td{padding:0}.dt-loading{display:flex;flex-direction:column;overflow:hidden}.dt-loading-line{display:flex;gap:var(--space-xl);min-width:100%;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 4%,transparent)}.dt-loading-line span{display:block;flex:0 0 auto;height:.72em;max-width:26vw;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);animation:dt-loading-pulse 1.2s ease-in-out infinite alternate}.dt-loading-line:nth-child(2n) span{opacity:.7}@keyframes dt-loading-pulse{0%{opacity:.45}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.dt-loading-line span{animation:none}}.dt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-8xl) var(--space-3xl);text-align:center;color:var(--dim);font-size:var(--text-md)}.dt-empty-title{color:var(--muted);font-size:var(--text-sm);letter-spacing:var(--tracking-xl);text-transform:uppercase}.s-resize-handle{position:absolute;top:0;right:0;bottom:0;width:12px;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2}.s-resize-handle:after{content:"";position:absolute;top:22%;bottom:22%;right:4px;width:1px;background:color-mix(in srgb,var(--ink, #fff) 14%,transparent);border-radius:var(--radius-xs);opacity:1;transition:background .12s ease-out,top .12s ease-out,bottom .12s ease-out,width .12s ease-out}.s-resize-handle:hover:after{background:color-mix(in srgb,var(--accent, #62b6ff) 70%,transparent);top:10%;bottom:10%;width:2px}.s-resize-handle:active:after{background:var(--accent, #62b6ff);top:0;bottom:0;width:2px}
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-DMiGbrBt.js";import{ActivityContent as e}from"./content-CSPVmo2s.js";import"./index-BWHgHrtv.js";import"./router-Bq5dwf78.js";import"./index-CJXzfjo9.js";import"./Provider-C7UKGHQy.js";import"./AgentDetailCard-BcRBRp88.js";/* empty css */import{AgentsLeft as s}from"./left-CpNEtFEg.js";import{AgentsContent as n}from"./content-BIXf4cKR.js";import{AgentsInspector as m}from"./right-BkgKo9VT.js";/* empty css */import"./secondaryNavConfig-DqUIp0Es.js";/* empty css */import"./BackToPicker-BRvfostO.js";import"./runtime-picker-Bcl5iIX5.js";import"./ConversationScreen-BDRhx-RU.js";/* empty css */import"./ObservedTopologyPanel-DyUeV98H.js";import"./SessionObserve-yfXFafp8.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./AgentLiveActions-DBtnD0qE.js";import{P as c}from"./ProjectsRail-BgiuV4LR.js";import{ProjectsScreen as f}from"./ProjectsScreen-eNUBy4YU.js";import{ProjectsThreadAside as a}from"./ProjectsThreadAside-CoBgnHmr.js";import{BriefingsContent as x}from"./content-GIBv_55n.js";/* empty css */import{BrokerContent as j}from"./content-CvlVUOG8.js";import"./NewChatComposer-Cs6OsxK6.js";import{ChatLeft as l}from"./left-CzXAuK_t.js";/* empty css */import{ChatContent as u}from"./content-DikVsqLf.js";import{ConversationInspector as i}from"./right-wzrLXKur.js";import{CodeContent as C}from"./CodeScreen-BxCrpRHd.js";import{FollowContent as h}from"./content-D5kJmfgl.js";/* empty css */import{HarnessesContent as d}from"./content-C_FGqx1X.js";/* empty css */import{HomeLeft as I}from"./left-C--GiIh8.js";import{H as p}from"./content-C2EwTb2y.js";import{HomeRight as w}from"./right-BHeiIaty.js";import{MeshLeft as P}from"./left-jYYGAOYD.js";import{MeshContent as L}from"./content-DTpQsomG.js";import{MeshInspectorPanel as R}from"./right-BpEU5jWE.js";import"./mesh-view-store-CWidRbTE.js";/* empty css */import{OpsLeft as g}from"./left-bN4PCAXa.js";import{OpsContent as k}from"./content-BDt9VBPk.js";/* empty css */import"./RailRow-BoGxAHNF.js";import"./left-mission-Ci7zREkQ.js";import"./mission-control-store-BlnEhiCq.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-COwtoJqR.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-DGj_5HA9.js";import{ReposContent as A}from"./content-DlUe5Ono.js";import{ReposInspector as S}from"./right-DjRXbnRP.js";/* empty css */import"./RepoDiffViewerLazy-BPgF92Bg.js";import"./cache-Dr0why2k.js";import{SearchContent as b}from"./content-CR3vdrYY.js";import{K as H}from"./KnowledgeSearchInspector-Dgdkfvvz.js";/* empty css */import{SessionsContent as T}from"./content-BLm0NBJM.js";import{SessionsInspector as M}from"./right-DMoUT3KN.js";/* empty css */import{SettingsContent as y}from"./content-Q2oclDzi.js";import"./SettingsDrawer-XfdAa_nD.js";import{TerminalLeft as B}from"./left-Cj7Rt89X.js";import{TerminalContent as K}from"./Terminal-CqvGbjXU.js";import{TerminalInspector as O}from"./right-T4Ue6EqM.js";import{WorkContent as W}from"./content-C5UbLsDF.js";import{WorkInspector as E}from"./right-CRZXoy-X.js";import{RealtimeVoicePage as F}from"./RealtimeVoiceScreen-ffS-39zy.js";import"./ActivityScreen-Cu_1V4bq.js";import"./api-h5zurxmi.js";import"./clipboard-e3fSpeo7.js";import"./sse-CjIkKo46.js";import"./colors-BtO5_zlx.js";import"./mentions-jSuTGeet.js";import"./time-DltNTpLl.js";import"./ContextMenu-bARZqTzD.js";import"./EmptyState-4F9XDFQm.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./AgentInfoScreen-DZs2_ibL.js";import"./conversation-model-B47vYmWN.js";import"./openContent-C6XO6kr5.js";import"./AgentsScreen-DBi8x4MB.js";import"./AgentsSubnav-DIEO4NPx.js";import"./SecondaryNav-B3-nh5dM.js";import"./library-D-RxGiCw.js";import"./HarnessMark-Cbv3Ib0c.js";import"./AgentSessions-DyqOf4nG.js";import"./agents-project-model-UYiamtrU.js";import"./profile-CVRziEDA.js";import"./context-budget-CbB4BDcO.js";import"./agent-chat-Bfjd9y6c.js";import"./session-catalog-BmoyVTJ_.js";import"./terminal-relay-CWbJ1RCW.js";import"./AgentDefinitionsWorkspace-CUpUrY57.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-CLgUhSm4.js";import"./chevron-down-BGk5qoEw.js";import"./agent-essentials-BSY1o46q.js";import"./openAgent-Bjt57GdM.js";import"./terminal-takeover-B8UeD9OX.js";import"./TmuxPeek-m1osv33Q.js";import"./refresh-cw-BBmAnCB7.js";import"./message-square-DSaGpjFU.js";import"./search-CWfZtOt2.js";import"./terminal-B9AOZQKR.js";import"./scroll-text-D6Pdnar7.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./ConversationComposer-Bla3DDvM.js";import"./message-markup-3J9pi3nx.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-DE3FC0m-.js";import"./eye-0PvebX_a.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-D19uAGe3.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./lane-observe-D0rfKDnU.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";import"./AddProjectForm-DMnobKch.js";import"./projects-inbox-CHyUFQ6w.js";import"./model-CpAxGuis.js";import"./ProjectsInbox-GhVMxOhw.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DRgJu7Jo.js";import"./arrow-up-right-ClxBnsi7.js";import"./ProjectAgentProfile-DJusrAV-.js";import"./ProjectAgentProfileBar-CtTpj6fU.js";import"./BriefingDetailScreen-BwFyysT8.js";import"./BriefingsScreen-BQEevztH.js";import"./BrokerScreen-7ekklu88.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-7UjcuNjd.js";import"./DispatchAftermath-Dpe88DFX.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-Ap1iPxYb.js";import"./arrow-down-BPLe0am9.js";import"./bot-eu8pBNvI.js";import"./check-DjgFiBxb.js";import"./copy-CQGYbxdu.js";import"./sparkles-ClfRJQ6w.js";import"./plus--b1raV_O.js";import"./send-horizontal-Bg5-QggH.js";import"./radio-Bz8ZePxj.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-Byab41G6.js";import"./use-fleet-active-asks-BIbQx5AS.js";import"./MessagesScreen-C8YKW10Y.js";import"./CodeDiffPane-DDPt6KPh.js";import"./usePierreRuntime-wC-yMtBb.js";/* empty css */import"./CodeProjectPicker-DqKFCpLU.js";/* empty css */import"./FollowScreen-DZ4qfYOY.js";import"./HarnessesScreen-CznAImej.js";import"./useContentSecondaryNav-DMl1WNm7.js";import"./OpsSubnav-DsuXzHah.js";import"./operator-attention-BwSPeheT.js";import"./HomeHero-B3uYd-pP.js";import"./observe-CuLGD9Zp.js";import"./agent-lanes-model-B4YTt4OF.js";import"./home-moving-signal-CK147hxn.js";import"./home-live-action-B22u89j7.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-Dz5euQJe.js";import"./MeshScreen-DFgevn8N.js";import"./MeshCanvas-DFEPkpqY.js";import"./chunk-T65CQEWV-CrzwSeEt.js";import"./useAgentHoverCard-DMrbBif0.js";import"./local-agents--00gLMqr.js";import"./left-agents-Bo9sO1by.js";import"./left-default-DV9GdvYi.js";import"./left-lanes-D0l_Co7V.js";import"./lane-roster-store-D8x1jac2.js";import"./left-plan-D4U1uflW.js";import"./OpsScreen-Buf3LKjb.js";import"./page-status-DpkedE1F.js";import"./AgentLanesView-B9vuEEmZ.js";import"./AgentFloorView-8LoAEBwS.js";import"./AgentLanesPreflight-eSAoDsPi.js";import"./AgentLaneChrome-D9ZwUKrl.js";import"./AgentLaneCard-RrNnDZu8.js";import"./AgentLaneSummaryResize-BhFmGNzT.js";import"./agent-lane-card-model-r2frk57c.js";import"./agent-lane-preview-CmHVe3dU.js";import"./AgentLaneDetailSheet-BXbPls9N.js";import"./agent-lane-detail-Djm3YJEa.js";import"./LaneTraceDetailSheet-D1CspRbl.js";import"./LaneTraceEventFocus-BF9ERP5O.js";import"./MissionControlView-lUeAiSVg.js";import"./MissionFocusOverlay-wlCmWDCT.js";import"./mission-control-model-C0fByIjm.js";import"./MissionLogPane-__MVtEl9.js";import"./OpsAgentsView-UN7iOscs.js";import"./DataTable-E8s_MmoA.js";import"./sliders-horizontal-1oW76Xc9.js";import"./PlanView-C1CjH3PG.js";import"./AtopView-BCkae3e1.js";import"./MissionLeftAgentRow-BpZWntfl.js";import"./RepoDiffPageScreen-DMv6DioL.js";import"./ReposScreen-CB_YBWYf.js";import"./selection-bridge-16pk1qyG.js";import"./KnowledgeSearchScreen-DJDGGaqC.js";import"./knowledge-search-CVxQwxPn.js";import"./SessionsScreen-D6XUsZfA.js";import"./RawSessionsTable-DL8y_eEy.js";import"./FlightObserveScreen-6RpZYwVz.js";import"./SettingsScreen-Cy8z-EuR.js";import"./StatusPill-DhBL__p8.js";import"./AgentConfigurationScreen-BqfOz90D.js";import"./server-CPp4ZJhZ.js";import"./VoicePermissionsPanel-DsK53ar4.js";import"./session-table-DZcrKoIH.js";/* empty css */import"./chunk-YOZR3KYS-Bet8khjg.js";import"./WorkDetailScreen-Bx0JimPC.js";import"./WorkFilesViewer-Btl6C2Q1.js";import"./ScoutbotRealtimeVoiceCall-FMQOr1Np.js";function zi(t,o){switch(t.view){case"ops":return r.jsx(g,{});case"agents-v2":return r.jsx(c,{route:t,navigate:o});case"agent-info":return r.jsx(s,{});case"messages":case"conversation":return r.jsx(l,{});case"mesh":return r.jsx(P,{});case"terminal":return r.jsx(B,{});default:return r.jsx(I,{})}}function Di(t,o,V=[]){switch(t.view){case"conversation":case"messages":return r.jsx(u,{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(y,{route:t,navigate:o});case"inbox":return r.jsx(p,{navigate:o});case"sessions":return r.jsx(T,{route:t,navigate:o});case"search":return r.jsx(b,{route:t,navigate:o});case"mesh":return r.jsx(L,{route:t,navigate:o});case"broker":return r.jsx(j,{route:t,navigate:o});case"code":return r.jsx(C,{route:t,navigate:o});case"repos":case"repo-diff":return r.jsx(A,{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(e,{route:t,navigate:o});case"voice":return r.jsx(F,{});case"ops":return r.jsx(k,{route:t,navigate:o});case"terminal":return r.jsx(K,{route:t,navigate:o});case"work":return r.jsx(W,{route:t,navigate:o});case"follow":return r.jsx(h,{route:t,navigate:o});default:return r.jsx(p,{navigate:o})}}function Gi(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(M,{});case"search":return r.jsx(H,{});case"conversation":return r.jsx(i,{});case"messages":return r.jsx(i,{});case"terminal":return r.jsx(O,{});case"work":return r.jsx(E,{});case"mesh":return r.jsx(R,{});case"repos":return r.jsx(S,{});default:return null}}export{Di as resolveContentPane,zi as resolveLeftPane,Gi as resolveRightPane};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-DMiGbrBt.js";import{AgentsLeft as i}from"./left-CpNEtFEg.js";/* empty css */import"./index-BWHgHrtv.js";import"./Provider-C7UKGHQy.js";import"./router-Bq5dwf78.js";import"./BackToPicker-BRvfostO.js";import"./AgentLiveActions-DBtnD0qE.js";import"./ObservedTopologyPanel-DyUeV98H.js";/* empty css */import"./secondaryNavConfig-DqUIp0Es.js";/* empty css */import"./runtime-picker-Bcl5iIX5.js";import"./index-CJXzfjo9.js";import"./AgentDetailCard-BcRBRp88.js";import"./ConversationScreen-BDRhx-RU.js";/* empty css */import"./SessionObserve-yfXFafp8.js";/* empty css *//* empty css *//* empty css *//* empty css */import{P as m}from"./ProjectsRail-BgiuV4LR.js";import"./ProjectsInbox-GhVMxOhw.js";import"./projects-inbox-CHyUFQ6w.js";import{ChatLeft as p}from"./left-CzXAuK_t.js";/* empty css */import{HomeLeft as e}from"./left-C--GiIh8.js";import"./content-C2EwTb2y.js";import{MeshLeft as s}from"./left-jYYGAOYD.js";import"./mesh-view-store-CWidRbTE.js";/* empty css *//* empty css */import{OpsLeft as n}from"./left-bN4PCAXa.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-COwtoJqR.js";/* empty css */import"./mission-control-store-BlnEhiCq.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-DGj_5HA9.js";import"./RailRow-BoGxAHNF.js";import"./left-mission-Ci7zREkQ.js";import{TerminalLeft as l}from"./left-Cj7Rt89X.js";/* empty css */import{M as a}from"./MeshCanvasMinimap-CyVFYixr.js";import"./NewChatComposer-Cs6OsxK6.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./api-h5zurxmi.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./colors-BtO5_zlx.js";import"./time-DltNTpLl.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./keyboard-nav-2kv_tGUS.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-D3GElQbe.js";import"./createLucideIcon-OpA4Amw5.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./loader-circle-CbHjZsz1.js";import"./file-text-BODxCjcz.js";import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./sse-CjIkKo46.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./TextDocumentSurface-BpAw4eQS.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./terminal-sessions-D5CIR2OL.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./message-square-DSaGpjFU.js";import"./scroll-text-D6Pdnar7.js";import"./voice-levels-Dcr3jglk.js";import"./ConversationComposer-Bla3DDvM.js";import"./message-markup-3J9pi3nx.js";import"./mentions-jSuTGeet.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-DE3FC0m-.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-D19uAGe3.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./lane-observe-D0rfKDnU.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";import"./AddProjectForm-DMnobKch.js";import"./project-overview-helpers-BQTc_Ous.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DRgJu7Jo.js";/* empty css */import"./cache-Dr0why2k.js";import"./arrow-up-right-ClxBnsi7.js";import"./agents-project-model-UYiamtrU.js";import"./model-CpAxGuis.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-Byab41G6.js";import"./use-fleet-active-asks-BIbQx5AS.js";import"./operator-attention-BwSPeheT.js";import"./openAgent-Bjt57GdM.js";import"./HomeHero-B3uYd-pP.js";import"./observe-CuLGD9Zp.js";import"./agent-lanes-model-B4YTt4OF.js";import"./context-budget-CbB4BDcO.js";import"./home-moving-signal-CK147hxn.js";import"./home-live-action-B22u89j7.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-Dz5euQJe.js";import"./left-agents-Bo9sO1by.js";import"./left-default-DV9GdvYi.js";import"./left-lanes-D0l_Co7V.js";import"./lane-roster-store-D8x1jac2.js";import"./left-plan-D4U1uflW.js";import"./MissionLeftAgentRow-BpZWntfl.js";import"./page-status-DpkedE1F.js";import"./terminal-relay-CWbJ1RCW.js";import"./session-table-DZcrKoIH.js";import"./refresh-cw-BBmAnCB7.js";function $r(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(l,{}),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(n,{}),footer:null};case"mesh":return{body:o.jsx(s,{}),footer:o.jsx(a,{})};case"harnesses":return{body:null,footer:null};case"settings":case"voice":return{body:null,footer:null};default:return{body:null,footer:null}}}export{$r as resolveSidebarContext};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-DMiGbrBt.js";import{u as h}from"./Provider-C7UKGHQy.js";import{o as j}from"./openAgent-Bjt57GdM.js";import{n as v,i as u,c as d}from"./colors-BtO5_zlx.js";import{A as b}from"./AgentAvatar-D90c1Rzk.js";import{t as g}from"./time-DltNTpLl.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./openContent-C6XO6kr5.js";import"./SpriteAvatar-DyaGuhik.js";function mt(){const{agents:r,agentsLoaded:s,apiConnection:o,navigate:a,route:f}=h(),n=e=>j(a,e,{returnTo:f});if(!s)return t.jsx("div",{className:"flex h-full flex-col justify-center","aria-busy":"true",children:t.jsxs("div",{className:"base-rail-loading",role:"status","aria-label":"Loading agent roster",children:[t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"})]})});if(r.length===0)return t.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-4 text-center font-mono text-sm leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[t.jsx("div",{className:"mb-1 uppercase tracking-[0.15em]",children:o.status==="offline"?"Roster unavailable":"No agents"}),t.jsx("div",{children:o.status==="offline"?o.message:"Connect an agent to see your roster here."})]});const i=r.filter(e=>{const x=v(e.state,e);return x==="in_turn"||x==="in_flight"}),l=r.filter(e=>u(e.state,e)&&!i.includes(e)),m=r.filter(e=>!u(e.state,e));return t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[i.length>0&&t.jsx(c,{label:"In progress",count:i.length,children:i.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e)},e.id))}),l.length>0&&t.jsx(c,{label:"Callable",count:l.length,children:l.map(e=>t.jsx(p,{agent:e,onOpen:n},e.id))}),m.length>0&&t.jsx(c,{label:"Blocked",count:m.length,children:m.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e),dim:!0},e.id))})]})}function c({label:r,count:s,children:o}){return t.jsxs("div",{className:"flex flex-col",children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-1.5",children:[t.jsx("span",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),t.jsx("span",{className:"text-2xs font-mono tabular-nums text-[var(--scout-chrome-ink-ghost)]",children:s})]}),t.jsx("div",{className:"flex flex-col gap-0.5",children:o})]})}function p({agent:r,onOpen:s,subLabel:o,dim:a}){return t.jsxs("button",{onClick:()=>s(r),className:`group flex items-center gap-2.5 px-2 py-1.5 rounded-sm text-left transition-colors ${a?"opacity-60 hover:opacity-100 hover:bg-[var(--scout-chrome-hover)]":"hover:bg-[var(--scout-chrome-hover)]"}`,children:[t.jsx(b,{agent:r,placement:"row"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"truncate font-medium text-[var(--scout-chrome-ink)]",children:r.name}),o?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:o}):r.updatedAt?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-ghost)]",children:g(r.updatedAt)}):null]})]})}export{mt as HomeRight};
@@ -0,0 +1 @@
1
+ import{j as t,r as h}from"./index-DMiGbrBt.js";import{u as Z}from"./Provider-C7UKGHQy.js";import{o as ee}from"./openAgent-Bjt57GdM.js";import{o as F}from"./openContent-C6XO6kr5.js";import{i as pe,s as te,c as se,n as D,d as X}from"./colors-BtO5_zlx.js";import{t as O,c as ne}from"./time-DltNTpLl.js";import{f as oe}from"./text-DsBWV_4k.js";import{a as R}from"./api-h5zurxmi.js";import{u as L}from"./sse-CjIkKo46.js";import{r as E}from"./terminal-relay-CWbJ1RCW.js";import{q as re}from"./terminal-takeover-B8UeD9OX.js";import{r as fe,s as ve,a as be,b as je,c as ke}from"./session-catalog-BmoyVTJ_.js";import{p as ae}from"./model-Co0zkMIc.js";import{u as ge}from"./ContextMenu-bARZqTzD.js";import{A as Ne}from"./AgentAvatar-D90c1Rzk.js";import{A as we}from"./AgentLiveActions-DBtnD0qE.js";import{T as H}from"./TmuxPeek-m1osv33Q.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./index-BWHgHrtv.js";import"./SpriteAvatar-DyaGuhik.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";/* empty css */import"./refresh-cw-BBmAnCB7.js";const ye=new Intl.NumberFormat("en-US"),Ce=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function M(e){return typeof e!="number"||!Number.isFinite(e)?"-":Math.abs(e)<1e3?ye.format(e):Ce.format(e).toLowerCase()}function Se(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const s=Math.round(e),a=Math.floor(s/3600),r=Math.floor(s%3600/60),i=s%60;return a>0?`${a}h ${r}m`:r>=10||i===0?`${r}m`:`${r}m ${i}s`}function Ie(e){return e.replace(/\.local$/i,"").replace(/-local-openscout$/i,"")}function z(e){const s=e?.trim();return s?s.toLowerCase()==="a2a"?"A2A":s:null}function Y(e){const s=e?.trim();return s?s==="claude_stream_json"?"Claude stream-json worker":s==="codex_app_server"?"Codex app server":s==="pi_rpc"?"Pi RPC":s==="tmux"?"tmux terminal":s:null}function ie(e){return!!(e.providerName||z(e.protocol)||(e.skills?.length??0)>0)}async function Ae(e){await R("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,agentId:e.agentId,...e.basePath?{basePath:e.basePath}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}function ce(e){Ae(e).catch(s=>{console.warn("Failed to reveal local path",s)})}function Ot(){const{route:e,agents:s,navigate:a}=Z();if(e.view==="agent-info")return t.jsx(Re,{conversationId:e.conversationId,agents:s,navigate:a,route:e});if(e.view==="agents-v2"){if(!e.agentId)return null;const r=s.find(i=>i.id===e.agentId)??null;return r?t.jsx(le,{agent:r,agents:s,navigate:a,route:e,observeMode:e.tab==="observe",showStaticIdentity:!1}):null}return null}function Re({conversationId:e,agents:s,navigate:a,route:r}){const[i,m]=h.useState(null),[x,v]=h.useState(null),[p,f]=h.useState(!1),n=h.useCallback(async()=>{const o=await R(`/api/session/${encodeURIComponent(e)}`).catch(()=>null);m(o),f(!0)},[e]);h.useEffect(()=>{f(!1),n()},[n]),L(()=>{n()});const l=i?.agentId??null;h.useEffect(()=>{if(!l||s.some(c=>c.id===l)){v(null);return}let o=!1;return R(`/api/agents/${encodeURIComponent(l)}`).then(c=>{o||v(c)}).catch(()=>{o||v(null)}),()=>{o=!0}},[s,l]);const u=h.useMemo(()=>l?s.find(o=>o.id===l)??(x?.id===l?x:null):null,[x,s,l]);return p?u?t.jsx(le,{agent:u,agents:s,navigate:a,route:r,observeMode:!1}):t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[t.jsx(w,{label:"Conversation",value:e}),t.jsx("div",{className:"mt-2 text-xs font-mono uppercase tracking-[0.15em] leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:"No live agent registration matches this profile."})]}):t.jsx("div",{className:"flex h-full items-center justify-center p-4 text-center text-sm italic text-[var(--scout-chrome-ink-faint)]",children:"Loading agent context..."})}function le({agent:e,agents:s,navigate:a,route:r,observeMode:i,showStaticIdentity:m=!0}){const x=pe(e.state),[v,p]=h.useState(null),[f,n]=h.useState(null),[l,u]=h.useState(null),o=e.skills??[],c=z(e.protocol),j=ie(e),y=h.useCallback(async()=>{const[k,xe,he]=await Promise.all([R("/api/fleet").catch(()=>null),R(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).catch(()=>null),R(`/api/agents/${encodeURIComponent(e.id)}/observe`).catch(()=>null)]);k&&p(k),n(xe),u(he)},[e.id]);h.useEffect(()=>{y()},[y]),h.useEffect(()=>{n(null),u(null)},[e.id]),L(()=>{y()});const{focusedSession:d,focusSession:C}=Z(),N=fe(e,f),S=h.useMemo(()=>ve(f?.sessions??[],N),[f?.sessions,N]),$=r.view==="agents-v2"&&r.agentId===e.id?r.sessionId:null,I=be(e.id,d,N,S,$),P=je($,S);h.useEffect(()=>{P&&(d?.agentId===e.id&&d.sessionId===P||C(e.id,P))},[e.id,d?.agentId,d?.sessionId,C,P]);const b=S.find(k=>k.id===I)??null,_=!!(b&&N&&b.id===N),G=l?.sessionId?.trim()||l?.data.metadata?.session?.externalSessionId?.trim()||l?.data.metadata?.session?.threadId?.trim()||null,T=b&&_&&G?G:b?.id??null,U=b&&T&&T!==b.id?b.id:null,W=b?ke(e,f,b,_):{canObserve:!1,canTakeover:!1},me=()=>F(a,{view:"terminal",agentId:e.id,mode:"observe"},{returnTo:r}),B=()=>F(a,{view:"terminal",agentId:e.id,mode:"takeover"},{returnTo:r}),ue=()=>{if(E(e)){B();return}const k=f?.resumeCommand;if(k){re({command:k,cwd:f?.resumeCwd,agentId:e.id}).then(()=>B());return}B()};return m?t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[t.jsxs("div",{className:"flex items-center gap-3 border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[t.jsx(Ne,{agent:e,placement:"inspector"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"truncate text-lg text-[var(--scout-chrome-ink-strong)]",children:e.name}),e.handle&&t.jsxs("span",{className:"text-xs font-mono text-[var(--scout-chrome-ink-faint)]",children:["@",e.handle]})]})]}),t.jsx(we,{agent:e,catalog:f,navigate:a,returnTo:r,variant:"compact"}),E(e)?.backend==="tmux"&&t.jsx(H,{agentId:e.id,lines:44,columns:132}),t.jsxs(g,{label:"State",children:[t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:te(e.state),opacity:x?1:.4}}),t.jsx("span",{className:"text-md capitalize text-[var(--scout-chrome-ink)]",children:se(e.state)})]}),e.updatedAt&&t.jsxs("div",{className:"mt-1 text-xs font-mono text-[var(--scout-chrome-ink-faint)]",children:["Updated ",O(e.updatedAt)]})]}),t.jsx(g,{label:"Presence",children:t.jsx(_e,{focusAgent:e,agents:s,onOpenAgent:k=>ee(a,k,{returnTo:r})})}),i&&t.jsx(J,{agentId:e.id}),v&&t.jsx(V,{asks:v.activeAsks,agentId:e.id,navigate:a}),t.jsxs(g,{label:"Identity",children:[e.providerName&&t.jsx(w,{label:"Provider",value:e.providerName}),c&&t.jsx(w,{label:"Protocol",value:c}),!j&&t.jsx(w,{label:"Class",value:e.agentClass}),!j&&e.role&&t.jsx(w,{label:"Role",value:oe(e.role)??e.role}),!j&&e.harness&&t.jsx(w,{label:"Harness",value:e.harness}),!j&&e.transport&&t.jsx(w,{label:"Transport",value:Y(e.transport)??e.transport}),(e.homeNodeName||e.homeNodeId)&&t.jsx(w,{label:"Host",value:Ie(e.homeNodeName??e.homeNodeId??"")})]}),o.length>0&&t.jsx(g,{label:`Skills · ${o.length}`,children:t.jsx("div",{className:"flex flex-wrap gap-1",children:o.map(k=>t.jsx("span",{className:"rounded-sm bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 text-xs font-mono text-[var(--scout-chrome-ink-soft)]",children:k},k))})}),(e.project||e.branch||e.cwd)&&t.jsxs(g,{label:"Project",children:[e.project&&t.jsx(w,{label:"Name",value:e.project}),e.branch&&t.jsx(w,{label:"Branch",value:e.branch}),e.cwd&&t.jsx(w,{label:"Cwd",value:e.cwd})]}),e.capabilities.length>0&&t.jsx(g,{label:`Capabilities · ${e.capabilities.length}`,children:t.jsx("div",{className:"flex flex-wrap gap-1",children:e.capabilities.map(k=>t.jsx("span",{className:"rounded-sm bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 text-xs font-mono text-[var(--scout-chrome-ink-soft)]",children:k},k))})}),t.jsx(Me,{agent:e,catalog:f,navigate:a,returnTo:r})]}):t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[b&&t.jsxs(g,{label:"Session",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[t.jsx("span",{className:"truncate font-mono text-md text-[var(--scout-chrome-ink)]",title:T??b.id,children:de(T??b.id)}),t.jsx("span",{className:"shrink-0 font-mono text-2xs uppercase tracking-[0.12em]",style:{color:_?"var(--accent)":"var(--scout-chrome-ink-faint)"},children:_?"now":b.endedAt?`ended · ${O(b.endedAt)||"recent"}`:O(b.startedAt)||"recent"})]}),b.cwd&&t.jsx("div",{className:"mt-1 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",title:b.cwd,children:b.cwd}),T&&t.jsxs("div",{className:"mt-1 break-all font-mono text-2xs leading-snug text-[var(--scout-chrome-ink-faint)]",title:T,children:[t.jsx("span",{className:"uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:"id"})," ",T]}),U&&t.jsxs("div",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",title:U,children:["profile ",U]}),t.jsx("div",{className:"mt-2.5 flex flex-col gap-1.5",children:t.jsxs(Te,{label:"Terminal",children:[t.jsx(q,{onClick:me,disabled:!W.canObserve,title:W.canObserve?"Watch the live terminal, read-only":"No live terminal to observe",children:"Observe"}),t.jsx(q,{onClick:ue,disabled:!W.canTakeover,title:W.canTakeover?"Grab the keyboard and drive it":"Can't take over this session",children:"Take over"})]})})]}),!i&&b&&t.jsx(Ee,{agentId:e.id,navigate:a,cwd:b.cwd??e.cwd,route:r}),E(e)?.backend==="tmux"&&t.jsx(H,{agentId:e.id,lines:44,columns:132}),t.jsx(g,{label:"Runtime",children:t.jsx($e,{agent:e})}),i&&t.jsx(J,{agentId:e.id}),v&&t.jsx(V,{asks:v.activeAsks,agentId:e.id,navigate:a})]})}function $e({agent:e}){const s=[],a=(m,x)=>{x&&x.trim()&&s.push({label:m,value:x.trim()})},r=z(e.protocol);return ie(e)?a("Protocol",r):(a("Role",oe(e.role)),a("Class",e.agentClass)),s.length===0?null:t.jsx("div",{className:"grid grid-cols-2 gap-x-3 gap-y-2",children:s.map(m=>t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:m.label}),t.jsx("div",{className:"truncate font-mono text-sm text-[var(--scout-chrome-ink)]",children:m.value})]},m.label))})}function Te({label:e,children:s}){return t.jsxs("div",{className:"flex items-center gap-2.5",children:[t.jsx("span",{className:"w-[56px] shrink-0 font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("div",{className:"flex gap-1.5",children:s})]})}function q({onClick:e,disabled:s,title:a,children:r}){return t.jsx("button",{type:"button",onClick:e,disabled:s,title:a,className:"rounded-[4px] border border-[var(--scout-chrome-border-soft)] px-2.5 py-1 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-soft)] transition-colors hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)] disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-[var(--scout-chrome-ink-soft)]",children:r})}function Me({agent:e,catalog:s,navigate:a,returnTo:r}){const i=ge(),m=E(e),x=s?.activeSessionId??(m?e.harnessSessionId??m.sessionName:null),p=h.useMemo(()=>Pe(e,s,x),[e,s,x]).filter(c=>c.id===x||!c.endedAt),f=p.slice(0,5);if(f.length===0)return null;const n=c=>F(a,{view:"terminal",agentId:e.id,mode:c},{returnTo:r}),l=()=>{if(m){n("takeover");return}s?.resumeCommand&&re({command:s.resumeCommand,cwd:s.resumeCwd,agentId:e.id}).then(()=>n("takeover"))},u=c=>F(a,{view:"sessions",sessionId:c},{returnTo:r}),o=(c,j,y)=>{const d=[];return j&&d.push({kind:"action",label:"Observe in terminal",onSelect:()=>n("observe")}),y&&d.push({kind:"action",label:"Takeover terminal",onSelect:l}),d.length>0&&d.push({kind:"separator"}),d.push({kind:"action",label:"Open session detail",onSelect:()=>u(c.id)}),d.push({kind:"action",label:"Open agent profile",onSelect:()=>ee(a,e,{returnTo:r})}),d};return t.jsx(g,{label:`Running sessions · ${p.length}`,children:t.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.map(c=>{const j=c.id===x,y=j&&!!m,d=j&&(!!m||!!s?.resumeCommand),C=O(c.startedAt)||"recent",N=Y(c.transport)??c.harness??Y(e.transport)??e.harness??"session",S=j?C:c.endedAt?`${O(c.endedAt)||C} ended`:N,$=o(c,y,d);return t.jsxs("div",{onContextMenu:I=>i(I,$),className:`rounded border px-2 py-1.5 transition-colors ${j?"border-[color-mix(in_srgb,var(--accent)_40%,transparent)] bg-[color-mix(in_srgb,var(--accent)_8%,transparent)]":"border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)]"}`,children:[t.jsxs("button",{type:"button",title:y?`Observe terminal ${c.id}`:`Open session ${c.id}`,onClick:()=>y?n("observe"):u(c.id),className:"flex w-full items-center justify-between gap-2 bg-transparent p-0 text-left",children:[t.jsxs("span",{className:"flex min-w-0 flex-col",children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[j&&t.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--accent)]"}),t.jsx("span",{className:"truncate font-mono text-xs text-[var(--scout-chrome-ink)]",children:de(c.id)}),t.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-hover)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:N})]}),t.jsx("span",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:c.cwd?ae(c.cwd):"workspace"})]}),t.jsxs("span",{className:"flex shrink-0 flex-col items-end",children:[t.jsx("span",{className:"font-mono text-2xs uppercase tracking-[0.12em] text-[var(--accent)]",children:j?"active":"running"}),t.jsx("span",{className:"mt-0.5 max-w-[78px] truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:S})]})]}),t.jsx("button",{type:"button",title:"Session actions",onClick:I=>i(I,$),className:"mt-1.5 h-5 rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)]",children:"..."})]},c.id)}),p.length>f.length&&t.jsxs("div",{className:"px-1 pt-0.5 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[p.length-f.length," more running"]})]})})}function Pe(e,s,a){const r=[...s?.sessions??[]],i=E(e);return i&&a&&!r.some(m=>m.id===a)&&r.unshift({id:a,startedAt:e.createdAt??e.updatedAt??Date.now(),cwd:e.cwd??e.projectRoot??".",...e.harness?{harness:e.harness}:{},transport:i.backend,model:e.model}),r.sort((m,x)=>{const v=m.endedAt??m.startedAt,p=x.endedAt??x.startedAt;return ne(v,p)})}function de(e){const s=e.replace(/^session[_:-]?/i,"");return s.length>10?s.slice(0,8):s}function J({agentId:e}){const[s,a]=h.useState(null),r=h.useCallback(async()=>{const i=await R(`/api/agents/${encodeURIComponent(e)}/observe`).catch(()=>null);a(i)},[e]);return h.useEffect(()=>{r()},[r]),L(()=>{r()}),s?.data?t.jsx(Oe,{agentId:e,data:s.data,sessionId:s.sessionId}):t.jsx(g,{label:"Trace",children:t.jsx("div",{className:"text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:"Resolving session trace."})})}function Oe({agentId:e,data:s,sessionId:a}){const r=s.metadata?.session,i=s.events,m=s.files,x=i.filter(o=>o.kind==="tool").length,v=i.filter(o=>o.kind==="think").length,p=i.filter(o=>o.kind==="ask").length,f=i.filter(o=>o.kind==="tool"&&o.tool==="read").length,n=i.filter(o=>o.kind==="tool"&&(o.tool==="edit"||o.tool==="write")).length,l=i.length>0?i[i.length-1].t:0,u=r?.threadPath;return t.jsxs(t.Fragment,{children:[t.jsxs(g,{label:"Session",children:[a&&t.jsx(w,{label:"Active",value:a}),u&&t.jsx(Q,{label:"Source",path:u,basePath:r?.cwd??null,value:ae(u),agentId:e,sessionId:a}),r?.cwd&&t.jsx(Q,{label:"Workspace",path:r.cwd,value:r.cwd,agentId:e,sessionId:a})]}),t.jsx(g,{label:"Trace stats",children:t.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[t.jsx(A,{label:"Turns",value:M(r?.turnCount)}),t.jsx(A,{label:"Tools",value:M(x)}),t.jsx(A,{label:"Thinks",value:M(v)}),t.jsx(A,{label:"Requests",value:M(p)}),t.jsx(A,{label:"Reads",value:M(f)}),t.jsx(A,{label:"Edits",value:M(n)}),t.jsx(A,{label:"Files",value:M(m.length)}),t.jsx(A,{label:"Window",value:Se(l)})]})}),m.length>0&&t.jsx(g,{label:`Files touched · ${m.length}`,children:t.jsx("div",{className:"flex flex-col gap-1",children:m.slice(0,8).map(o=>t.jsxs("button",{type:"button",title:o.path,onClick:()=>ce({path:o.path,basePath:r?.cwd??null,agentId:e,sessionId:a}),className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1 text-left hover:border-[var(--accent)]",children:[t.jsx("span",{className:"min-w-0 truncate font-mono text-xs text-[var(--scout-chrome-ink-soft)]",children:o.path}),t.jsxs("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:["x",o.touches]})]},o.path))})})]})}function K(e,s){return e?.view==="agents-v2"?{...e,view:"agents-v2",agentId:s,tab:"observe"}:{view:"agents-v2",agentId:s,tab:"observe"}}function Ee({agentId:e,navigate:s,cwd:a,route:r}){const[i,m]=h.useState(null),x=h.useCallback(async()=>{const d=await R(`/api/agents/${encodeURIComponent(e)}/observe`).catch(()=>null);m(d)},[e]);h.useEffect(()=>{x()},[x]),L(()=>{x()});const v=i?.data;if(!v||v.files.length===0)return null;const p=v.files,n=[...p].sort((d,C)=>{const N=d.state==="read"?0:1,S=C.state==="read"?0:1;return N!==S?S-N:C.touches-d.touches}).slice(0,6),l=p.length-n.length,u=p.filter(d=>d.state!=="read").length,o=v.metadata?.session?.cwd??a??null,c=i.sessionId??v.metadata?.session?.externalSessionId??void 0,j=()=>s(o?{view:"repo-diff",path:o,agentId:e,include:"changed",...c?{sessionId:c}:{}}:K(r,e)),y=()=>s(o?{view:"repo-diff",path:o}:K(r,e));return t.jsxs(g,{label:"Files changed",children:[t.jsxs("div",{className:"mb-1.5 flex items-baseline justify-between font-mono text-3xs uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:[t.jsx("span",{children:u>0?`${u} changed`:"touched"}),t.jsx("span",{className:"tabular-nums",children:p.length})]}),t.jsxs("div",{className:"flex flex-col gap-1",children:[n.map(d=>{const C=d.path.replace(/\/+$/,"").split("/"),N=C.pop()??d.path,S=C.pop(),$=S?`${S}/`:"",I=d.state!=="read",P=d.state==="created"?"+":d.state==="modified"?"~":"·";return t.jsxs("div",{className:"flex items-baseline justify-between gap-2 font-mono text-xs leading-tight",title:`${d.path} · ${d.state}`,children:[t.jsxs("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[t.jsx("span",{className:"flex-none tabular-nums",style:{color:I?"var(--accent)":"var(--scout-chrome-ink-ghost)"},children:P}),t.jsxs("span",{className:"flex min-w-0 items-baseline",children:[t.jsx("span",{className:"truncate text-[var(--scout-chrome-ink-ghost)]",children:$}),t.jsx("span",{className:"flex-none",style:{color:I?"var(--scout-chrome-ink-soft)":"var(--scout-chrome-ink-faint)"},children:N})]})]}),t.jsxs("span",{className:"shrink-0 tabular-nums text-2xs text-[var(--scout-chrome-ink-faint)]",children:["×",d.touches]})]},d.path)}),t.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1",children:[t.jsxs("button",{type:"button",onClick:j,className:"w-fit cursor-pointer font-mono text-2xs uppercase tracking-[0.1em] text-[var(--accent)] hover:underline",children:["Session diff",l>0?` · +${l}`:""," →"]}),t.jsx("button",{type:"button",onClick:y,className:"w-fit cursor-pointer font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--accent)] hover:underline",children:"Worktree diff →"})]})]})]})}function Q({label:e,path:s,basePath:a,value:r,agentId:i,sessionId:m}){return t.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[t.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("button",{type:"button",title:`Reveal ${s}`,onClick:()=>ce({path:s,basePath:a,agentId:i,sessionId:m}),className:"min-w-0 truncate bg-transparent p-0 text-right font-mono text-sm text-[var(--accent)] hover:text-[var(--scout-chrome-ink)] hover:underline",children:r})]})}function A({label:e,value:s}){return t.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5",children:[t.jsx("div",{className:"font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("div",{className:"mt-0.5 font-mono text-md text-[var(--scout-chrome-ink)]",children:s})]})}function _e({focusAgent:e,agents:s,onOpenAgent:a}){const p=h.useMemo(()=>{const n=s.filter(u=>u.id!==e.id),l=u=>{const o=D(u);return o==="in_turn"?0:o==="in_flight"?1:2};return n.slice().sort((u,o)=>{const c=l(u.state??""),j=l(o.state??"");return c!==j?c-j:ne(u.updatedAt,o.updatedAt)}).slice(0,8)},[s,e.id]),f=h.useMemo(()=>{const n=[{agent:e,x:120,y:90,focused:!0}];return p.forEach((l,u)=>{const o=2*Math.PI*u/Math.max(p.length,1)-Math.PI/2;n.push({agent:l,x:120+68*Math.cos(o),y:90+68*Math.sin(o),focused:!1})}),n},[e,p,120,90,68]);return t.jsxs("div",{className:"@container flex flex-wrap items-start gap-3",children:[t.jsxs("svg",{viewBox:"0 0 240 180",className:"block mx-auto shrink-0 w-full",style:{maxWidth:240},xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("defs",{children:t.jsxs("radialGradient",{id:"inspMeshGlow",cx:"50%",cy:"50%",r:"50%",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.06"}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),t.jsx("circle",{cx:120,cy:90,r:82,fill:"url(#inspMeshGlow)"}),t.jsx("circle",{cx:120,cy:90,r:68,fill:"none",stroke:"var(--border)",strokeDasharray:"2 4"}),f.slice(1).map((n,l)=>t.jsxs("g",{children:[t.jsx("line",{x1:120,y1:90,x2:n.x,y2:n.y,stroke:"var(--accent)",strokeWidth:1,opacity:.6}),t.jsx("circle",{r:2,fill:"var(--accent)",children:t.jsx("animateMotion",{dur:`${2+l*.3}s`,repeatCount:"indefinite",path:`M 120,90 L ${n.x},${n.y}`})})]},`e-${n.agent.id}`)),f.map(n=>{const l=D(n.agent.state),u=l==="in_turn"||l==="in_flight"||l==="callable",o=n.focused?14:9;return t.jsxs("g",{style:{cursor:"pointer"},onClick:()=>a(n.agent),children:[u&&t.jsxs("circle",{cx:n.x,cy:n.y,r:o+5,fill:"none",stroke:X(n.agent.name),strokeWidth:.8,opacity:.3,children:[t.jsx("animate",{attributeName:"r",values:`${o};${o+8};${o}`,dur:"2.5s",repeatCount:"indefinite"}),t.jsx("animate",{attributeName:"opacity",values:"0.3;0;0.3",dur:"2.5s",repeatCount:"indefinite"})]}),t.jsx("circle",{cx:n.x,cy:n.y,r:o,fill:X(n.agent.name),stroke:n.focused?"var(--accent)":"var(--surface)",strokeWidth:n.focused?1.5:1}),t.jsx("text",{x:n.x,y:n.y,dy:"0.35em",textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:n.focused?10:8,fontWeight:600,fill:"var(--scout-chrome-avatar-ink)",children:n.agent.name[0].toUpperCase()}),t.jsx("text",{x:n.x,y:n.y+o+10,textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:8,fill:"var(--dim)",letterSpacing:"0.04em",children:n.agent.name.length>9?n.agent.name.slice(0,8)+"...":n.agent.name})]},n.agent.id)})]}),p.length>0&&t.jsx("ul",{className:"@max-[380px]:hidden flex-1 min-w-[120px] flex flex-col gap-1 m-0 p-0 list-none",children:p.map(n=>{const l=D(n.state);return t.jsx("li",{children:t.jsxs("button",{type:"button",onClick:()=>a(n),className:"w-full flex items-center gap-2 py-1 px-1.5 rounded hover:bg-[var(--surface-hover)] text-left",children:[t.jsx("span",{"aria-hidden":!0,className:"shrink-0 w-2 h-2 rounded-full",style:{background:X(n.name)}}),t.jsx("span",{className:"flex-1 truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:n.name}),t.jsx("span",{"aria-hidden":!0,title:se(n.state),className:"shrink-0 w-1.5 h-1.5 rounded-full",style:{background:te(l)}})]})},n.id)})})]})}function V({asks:e,agentId:s,navigate:a}){const r=e.filter(i=>i.agentId===s&&(i.status==="needs_attention"||i.status==="queued"));return r.length===0?null:t.jsx(g,{label:`Incoming requests · ${r.length}`,children:t.jsx("div",{className:"flex flex-col gap-2",children:r.map(i=>t.jsxs("div",{className:"p-2.5 rounded-md border border-amber-500/30 bg-amber-500/[0.04] cursor-pointer hover:bg-amber-500/[0.08] transition-colors",onClick:()=>{i.conversationId&&a({view:"agents-v2",agentId:s,conversationId:i.conversationId})},children:[t.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.12em] text-amber-500/80 mb-1",children:"awaiting"}),t.jsx("div",{className:"line-clamp-2 text-sm leading-relaxed text-[var(--scout-chrome-ink)]",children:i.summary??i.task}),t.jsxs("div",{className:"mt-1.5 text-2xs font-mono text-[var(--scout-chrome-ink-ghost)]",children:[i.harness??"operator"," → ",i.agentName??"agent"]})]},i.invocationId))})})}function g({label:e,children:s}){return t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),s]})}function w({label:e,value:s}){return t.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[t.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",title:s,children:s})]})}export{Ot as AgentsInspector};
@@ -0,0 +1 @@
1
+ import{r as p,j as s}from"./index-DMiGbrBt.js";import{u as R,s as v,a as b}from"./mesh-view-store-CWidRbTE.js";import{u as E}from"./local-agents--00gLMqr.js";import{n as _,b as B,a as P}from"./colors-BtO5_zlx.js";import{a as g}from"./api-h5zurxmi.js";import{t as U}from"./time-DltNTpLl.js";/* empty css *//* empty css */import"./Provider-C7UKGHQy.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";function D(e){return e.issues.some(t=>t.code==="mesh_loopback")?"loopback":e.identity.discoverable?"discoverable":e.tailscale.available?e.tailscale.running?"local-only":"tailnet-stopped":"unavailable"}function F(e){const t=new Map;for(const i of e){const r=(i.harness??i.agentClass??"agent").toLowerCase(),c=t.get(r)??{total:0,working:0};c.total+=1,P(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 S(e){return e?e.replace(/^https?:\/\//,"").split("/")[0]??e:"Unavailable"}function z(e){return e.split("/")[0]}function H(e){return new Promise(t=>window.setTimeout(t,e))}async function T(e,t){let i=null,r=null;for(let c=0;c<=t.attempts;c+=1){try{if(i=await g("/api/mesh"),v(i),e(i))return i}catch(u){r=u}c<t.attempts&&await H(t.intervalMs)}if(i)return i;throw r instanceof Error?r:new Error("Mesh status is temporarily unavailable.")}function W(e){return e.issues.find(t=>t.code==="local_only"||t.code==="mesh_loopback"||t.code==="tailscale_stopped")?.summary??null}function Rs(){const{meshSnapshot:e,selectedId:t,selectedType:i,probeCache:r}=R(),{agents:c}=E(),[u,f]=p.useState(!1),[C,k]=p.useState(!1),[x,h]=p.useState(null),A=p.useCallback(async()=>{f(!0),h({tone:"info",text:"Restarting broker with mesh discovery enabled..."});try{const l=await g("/api/mesh/announce",{method:"POST",body:"{}"});v(l);const a=l.identity.discoverable?l:await T(n=>n.identity.discoverable,{attempts:6,intervalMs:750});a.identity.discoverable?h({tone:"success",text:`Discoverable at ${S(a.identity.announceUrl??a.brokerUrl)}.`}):h({tone:"warning",text:W(a)??"Scout restarted the broker, but it is not discoverable yet."})}catch(l){h({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{f(!1)}},[]),M=p.useCallback(async()=>{k(!0),h({tone:"info",text:"Opening Tailscale and waiting for the backend..."});try{const l=await g("/api/mesh/tailscale",{method:"POST",body:JSON.stringify({action:"open_app"})});v(l);const a=l.tailscale.running?l:await T(n=>n.tailscale.running,{attempts:12,intervalMs:1e3});a.tailscale.running?h({tone:"success",text:`Tailscale is running with ${a.tailscale.onlineCount} online peer${a.tailscale.onlineCount===1?"":"s"}.`}):h({tone:"warning",text:`Tailscale opened, but the backend is still ${a.tailscale.backendState??"not running"}. Finish startup or sign-in in Tailscale.app.`})}catch(l){h({tone:"error",text:l instanceof Error?l.message:String(l)})}finally{k(!1)}},[]),y=p.useMemo(()=>{const l={total:c.length,working:0,ready:0,notReady:0};for(const a of c){const n=_(a.state);n==="in_turn"||n==="in_flight"?l.working+=1:n==="callable"?l.ready+=1:l.notReady+=1}return l},[c]),w=p.useMemo(()=>F(c),[c]);if(!e)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),a=e.tailscale.peers.find(m=>m.id===l),n=r[t]??null,d=a?.addresses?.[0]?z(a.addresses[0]):null,N=a?.hostName?.split(".")[0]??a?.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:N}),s.jsx("span",{className:`sys-chip sys-chip-${a?.online?"success":"failed"}`,children:a?.online?"Online":"Offline"})]}),s.jsxs("div",{className:"sys-detail-grid",children:[d&&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:d})]}),a?.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:a.os})]}),n?.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:[n.result.node.meshId.slice(0,14),"…"]})]}),n?.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:n.result.node.name})]})]}),(!n||n.status==="loading")&&s.jsx("div",{className:"sys-banner sys-banner-muted",style:{marginTop:8},children:s.jsx("span",{children:"Connecting to Scout broker…"})}),n?.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:n.result?.error??"Could not reach the remote broker."})]}),n?.status==="done"&&n.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:n.result.node.capabilities.map(m=>s.jsx("span",{className:"sys-chip sys-chip-neutral",children:m},m))})]}),n?.status==="done"&&n.result?.home&&s.jsxs("div",{style:{marginTop:14},children:[s.jsxs("div",{className:"sys-inspector-section-label",children:["Agents — ",n.result.home.agents.length," registered"]}),n.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:n.result.home.agents.map(m=>{const j=B(m.state);return s.jsxs("div",{className:"mesh-detail-agent",style:{padding:"4px 0"},children:[s.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${j}`}),s.jsxs("div",{className:"mesh-detail-agent-body",children:[s.jsx("span",{className:"mesh-detail-agent-name",style:{fontSize:12},children:m.title}),m.activeTask&&s.jsx("span",{className:"mesh-detail-agent-task",children:m.activeTask})]}),s.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${j}`,children:m.statusLabel||j})]},m.id)})})]}),s.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>b(null,null),children:"Clear selection"})]})}if(t&&i==="node"){const a=Object.values(e.nodes).find(d=>d.id===t)??(e.localNode?.id===t?e.localNode:null),n=e.localNode?.id===t;return a?s.jsxs("div",{className:"sys-inspector-content",children:[s.jsxs("div",{className:"sys-inspector-head",children:[s.jsx("h3",{className:"sys-inspector-title",children:a.hostName?.split(".")[0]??a.name??"Node"}),n&&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:[a.id.slice(0,16),"…"]})]}),a.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:S(a.brokerUrl)})]}),a.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:a.hostName})]}),!n&&"lastSeenAt"in a&&typeof a.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:U(a.lastSeenAt)})]}),!n&&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:a.advertiseScope==="mesh"?"Announced to mesh":"Local only"})]})]}),n&&e.issues.length>0&&s.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:e.issues.map((d,N)=>s.jsxs("article",{className:`sys-issue-card sys-issue-card-${d.severity==="error"?"error":"warning"}`,children:[s.jsx("div",{className:"sys-issue-head",children:s.jsx("h3",{className:"sys-issue-title",children:d.title})}),s.jsx("p",{className:"sys-issue-body",children:d.summary}),d.actionCommand&&s.jsx("div",{className:"sys-issue-action",children:s.jsx("code",{className:"sys-code-inline",children:d.actionCommand})})]},N))}),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=e,L=D(o),$=Object.values(o.nodes).filter(l=>l.id!==o.localNode?.id).length,I=o.tailscale.onlineCount??0,O=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:O}),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:y.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:y.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:y.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:y.notReady}),s.jsx("span",{className:"mesh-summary-count-label",children:"not ready"})]})]})}),w.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:w.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:$})]}),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?`${I} online`:"stopped"})]})]})]}),s.jsxs("section",{className:"mesh-summary-section mesh-summary-reach",children:[s.jsx("div",{className:"sys-inspector-section-label",children:"Reach"}),s.jsx(J,{state:L,tailscaleAvailable:o.tailscale.available,announcing:u,tailscaleBusy:C,onAnnounce:()=>{A()},onStartTailscale:()=>{M()}}),x&&s.jsx("div",{className:`sys-banner mesh-action-message sys-banner-${x.tone}`,children:s.jsx("span",{children:x.text})})]})]})}function J({state:e,tailscaleAvailable:t,announcing:i,tailscaleBusy:r,onAnnounce:c,onStartTailscale:u}){return e==="discoverable"?s.jsxs("div",{className:"mesh-reach mesh-reach--on",children:[s.jsx("span",{className:"mesh-reach-dot"}),s.jsx("span",{className:"mesh-reach-label",children:"Discoverable on mesh"})]}):e==="tailnet-stopped"?s.jsxs("div",{className:"mesh-reach",children:[s.jsxs("div",{className:"mesh-reach-row",children:[s.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),s.jsx("span",{className:"mesh-reach-label",children:"Tailscale stopped"})]}),s.jsx("button",{type:"button",className:"s-btn mesh-reach-action",disabled:r,onClick:u,children:r?"Opening…":"Start Tailscale"})]}):e==="loopback"?s.jsxs("div",{className:"mesh-reach",children:[s.jsxs("div",{className:"mesh-reach-row",children:[s.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),s.jsx("span",{className:"mesh-reach-label",children:"Announcement broken"})]}),s.jsx("button",{type:"button",className:"s-btn mesh-reach-action",disabled:i,onClick:c,children:i?"Fixing…":"Fix announcement"})]}):e==="unavailable"?s.jsxs("div",{className:"mesh-reach mesh-reach--neutral",children:[s.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),s.jsx("span",{className:"mesh-reach-label",children:"Local only — no tailnet on this host"})]}):s.jsxs("div",{className:"mesh-reach",children:[s.jsxs("div",{className:"mesh-reach-row",children:[s.jsx("span",{className:"mesh-reach-dot mesh-reach-dot--off"}),s.jsx("span",{className:"mesh-reach-label",children:"Local only"})]}),s.jsx("button",{type:"button",className:"s-btn s-btn-primary mesh-reach-action",disabled:i||!t,onClick:c,children:i?"Announcing…":"Make discoverable"})]})}export{Rs as MeshInspectorPanel};
@@ -0,0 +1 @@
1
+ import{r as u,j as e}from"./index-DMiGbrBt.js";import{u as j}from"./Provider-C7UKGHQy.js";import{o as b}from"./openContent-C6XO6kr5.js";import{a as N}from"./api-h5zurxmi.js";import{u as w}from"./sse-CjIkKo46.js";import{t as g,a as p}from"./time-DltNTpLl.js";import{C as y}from"./chevron-down-BGk5qoEw.js";import{C as I}from"./chevron-right-XiIHsk4m.js";import{M as C}from"./message-square-DSaGpjFU.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./search-CWfZtOt2.js";import"./index-BWHgHrtv.js";const M=5;function ke(){const{route:t,navigate:s}=j(),a=t.view==="work"?t.workId:null,[r,o]=u.useState(null),i=u.useCallback(async()=>{if(!a){o(null);return}try{o(await N(`/api/work/${encodeURIComponent(a)}`))}catch{o(null)}},[a]);if(u.useEffect(()=>{i()},[i]),w(()=>{a&&i()}),t.view!=="work")return null;if(!r)return e.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-sm font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-ghost)]",children:"Loading work item…"});const d=O(r.state),m=T(r.attention),f=r.ownerName??r.ownerId??"Unassigned",l=r.nextMoveOwnerName??r.nextMoveOwnerId??null,h=l!==null&&(r.ownerId??null)!==(r.nextMoveOwnerId??null)&&l!==f,k=1+(h?1:0)+(r.priority?1:0)+2+(r.parentId?1:0)+(r.conversationId?1:0);return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar text-sm",children:[e.jsx("div",{className:"sticky top-0 z-10 border-b border-[var(--scout-chrome-border-soft)] bg-black/55 px-4 py-2 backdrop-blur",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${d.dot}`}),e.jsx("span",{className:`font-mono text-xs uppercase tracking-[0.15em] ${d.text}`,children:L(r.state)}),e.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:[e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:f}),h&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"px-1 text-[var(--scout-chrome-ink-ghost)]",children:"→"}),e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:l})]})]}),m&&e.jsx("span",{className:"shrink-0 rounded border border-amber-400/30 bg-amber-400/10 px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-amber-300/90",children:m})]})}),e.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[e.jsxs(c,{label:"Case facts",children:[e.jsx(n,{label:"Phase",value:r.currentPhase}),e.jsx(n,{label:"Acceptance",value:r.acceptanceState.replace(/_/g," ")}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority})]}),e.jsx(c,{label:"Timeline",children:r.timeline.length===0?e.jsx("div",{className:"text-xs text-[var(--scout-chrome-ink-faint)]",children:"No activity yet."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:r.timeline.slice(0,M).map(x=>e.jsx(W,{item:x,onOpen:x.conversationId?()=>b(s,{view:"conversation",conversationId:x.conversationId},{returnTo:t}):void 0},x.id))})}),e.jsxs(c,{label:"Routing",collapsible:!0,defaultOpen:!1,count:k,children:[e.jsx(n,{label:"Owner",value:f}),h&&l&&e.jsx(n,{label:"Next move",value:l}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority}),e.jsx(n,{label:"Children",value:`${r.activeChildWorkCount}`}),e.jsx(n,{label:"Flights",value:`${r.activeFlightCount}`}),r.lastMeaningfulAt&&e.jsx(n,{label:"Last update",value:g(r.lastMeaningfulAt)}),(r.conversationId||r.parentId)&&e.jsxs("div",{className:"mt-2 flex flex-col gap-1.5",children:[r.conversationId&&e.jsx(v,{label:"Open thread",onClick:()=>b(s,{view:"conversation",conversationId:r.conversationId},{returnTo:t})}),r.parentId&&r.parentTitle&&e.jsx(v,{label:r.parentTitle,eyebrow:"Parent",onClick:()=>b(s,{view:"work",workId:r.parentId},{returnTo:t})})]})]}),e.jsxs(c,{label:"Record",collapsible:!0,defaultOpen:!1,children:[e.jsx(n,{label:"Case ID",value:r.id}),e.jsx(n,{label:"Created",value:p(r.createdAt)}),e.jsx(n,{label:"Updated",value:p(r.updatedAt)}),e.jsx(n,{label:"Last activity",value:p(r.lastMeaningfulAt)})]}),r.lastMeaningfulSummary&&e.jsxs(c,{label:"Hudson context",collapsible:!0,defaultOpen:!1,children:[e.jsx("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:r.lastMeaningfulSummary}),e.jsxs("div",{className:"mt-2 flex gap-1.5",children:[e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Plan"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Docs"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Code"})]})]})]})]})}function L(t){switch(t){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return t.replace(/_/g," ")}}function T(t){switch(t){case"badge":return"Noteworthy";case"interrupt":return"Blocked";default:return null}}function O(t){return/complete|done|finished/i.test(t)?{dot:"bg-emerald-400",text:"text-emerald-300/90"}:/fail|error/i.test(t)?{dot:"bg-red-400",text:"text-red-300/90"}:/block|wait|pause/i.test(t)?{dot:"bg-amber-400",text:"text-amber-300/90"}:/active|working|in[_-]?progress/i.test(t)?{dot:"bg-cyan-400",text:"text-cyan-300/90"}:{dot:"bg-[var(--scout-chrome-ink-faint)]",text:"text-[var(--scout-chrome-ink)]"}}function c({label:t,children:s,collapsible:a=!1,defaultOpen:r=!0,count:o}){const[i,d]=u.useState(r);return a?e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("button",{type:"button",onClick:()=>d(m=>!m),className:"flex items-center gap-1.5 text-left text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--scout-chrome-ink)]",children:[i?e.jsx(y,{"aria-hidden":"true",size:10,strokeWidth:2}):e.jsx(I,{"aria-hidden":"true",size:10,strokeWidth:2}),e.jsx("span",{children:t}),typeof o=="number"&&o>0&&e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0 font-mono text-3xs tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:o})]}),i&&e.jsx("div",{className:"mt-1.5",children:s})]}):e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),s]})}function v({label:t,eyebrow:s,onClick:a}){return e.jsxs("button",{type:"button",onClick:a,className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-white/[0.025] px-2 py-1.5 text-left hover:border-cyan-400/25 hover:bg-cyan-400/10",children:[e.jsxs("span",{className:"min-w-0",children:[s&&e.jsx("span",{className:"block font-mono text-2xs uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:s}),e.jsx("span",{className:"block truncate font-mono text-xs text-[var(--scout-chrome-ink)]",children:t})]}),e.jsx(C,{"aria-hidden":"true",size:11,strokeWidth:1.8,className:"shrink-0 text-cyan-300/75"})]})}function W({item:t,onOpen:s}){const a=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:`mt-1 h-1.5 w-1.5 shrink-0 rounded-full ${A(t)}`}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsxs("span",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(t.at)}),e.jsx("span",{className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:_(t)})]}),e.jsx("span",{className:"mt-0.5 block truncate text-xs font-semibold text-[var(--scout-chrome-ink-strong)]",children:t.actorName??"system"}),t.title&&e.jsx("span",{className:"mt-0.5 block truncate text-xs leading-snug text-[var(--scout-chrome-ink)]",children:t.title}),t.summary&&e.jsx("span",{className:"mt-0.5 block text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden"},children:t.summary})]})]}),r="flex gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-1.5 first:border-t-0 first:pt-0",o=p(t.at);return s?e.jsx("button",{type:"button",onClick:s,title:o,className:`${r} text-left hover:text-cyan-300/90`,children:a}):e.jsx("div",{className:r,title:o,children:a})}function _(t){switch(t.kind){case"flight_started":return"flight started";case"flight_completed":return t.detailKind?`flight ${t.detailKind}`:"flight ended";case"message":return"message";default:return t.title??t.detailKind??"event"}}function A(t){return t.kind==="message"?"bg-cyan-400":t.kind==="flight_started"?"bg-lime-400":t.kind==="flight_completed"?t.detailKind?.includes("fail")?"bg-red-400":"bg-emerald-400":t.detailKind?.includes("interrupt")||t.detailKind?.includes("block")?"bg-amber-400":"bg-[var(--scout-chrome-ink-faint)]"}function n({label:t,value:s}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:s})]})}export{ke as WorkInspector};
@@ -0,0 +1 @@
1
+ import{j as e,r as i}from"./index-DMiGbrBt.js";import{u as w}from"./Provider-C7UKGHQy.js";import{a as C}from"./api-h5zurxmi.js";import{u as B}from"./sse-CjIkKo46.js";import{t as g}from"./time-DltNTpLl.js";import{B as E,b as M}from"./BrokerScreen-7ekklu88.js";import{b as S}from"./broker-display-pp33bLsu.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./index-BWHgHrtv.js";import"./EmptyState-4F9XDFQm.js";import"./clipboard-e3fSpeo7.js";import"./status-tone-BM_zuRy1.js";import"./openContent-C6XO6kr5.js";import"./BrokerMetadataPanel-7UjcuNjd.js";import"./DispatchAftermath-Dpe88DFX.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-ClxBnsi7.js";import"./ShikiPane-Ap1iPxYb.js";import"./types-B0PlfpKc.js";/* empty css */import"./external-link-CXBytO9o.js";import"./arrow-down-BPLe0am9.js";import"./bot-eu8pBNvI.js";import"./refresh-cw-BBmAnCB7.js";import"./check-DjgFiBxb.js";import"./copy-CQGYbxdu.js";import"./message-square-DSaGpjFU.js";import"./sparkles-ClfRJQ6w.js";import"./plus--b1raV_O.js";import"./send-horizontal-Bg5-QggH.js";import"./radio-Bz8ZePxj.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 ze({selectedAttempt:r,navigate:t,onClose:o}){return r?e.jsx(E,{attempt:r,navigate:t,onClose:o}):e.jsx(L,{})}export{ze as BrokerRight};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./index-DMiGbrBt.js";import{u as P}from"./Provider-C7UKGHQy.js";import{a as g}from"./api-h5zurxmi.js";import{u as A}from"./sse-CjIkKo46.js";import{t as b}from"./time-DltNTpLl.js";import{o as k}from"./openContent-C6XO6kr5.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./index-BWHgHrtv.js";function f(t){const r=t.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return r[r.length-1]??t}function N(t){const n=t?.trim();if(!n)return null;const r=f(n);return r.endsWith(".jsonl")?r.slice(0,-6):r}function L(t){return t.workspaceRoot?f(t.workspaceRoot):t.agentName??"unassigned"}function $(t){return t.harness?.trim()||t.kind?.trim()||"scout"}function w(t){return t.project?.trim()||(t.cwd?f(t.cwd):null)||"unknown"}function y(t,n=4){const r=new Map;for(const c of t){const a=c.trim()||"unknown";r.set(a,(r.get(a)??0)+1)}return[...r.entries()].map(([c,a])=>({label:c,count:a})).sort((c,a)=>a.count-c.count||c.label.localeCompare(a.label)).slice(0,n)}function be(){const{route:t,navigate:n}=P(),[r,c]=l.useState([]),[a,h]=l.useState(null),p=l.useCallback(async()=>{const[u,d]=await Promise.allSettled([g("/api/sessions"),g("/api/tail/discover")]);u.status==="fulfilled"&&c(u.value),d.status==="fulfilled"&&h(d.value)},[]);if(l.useEffect(()=>{p()},[p]),A(()=>{p()}),t.view!=="sessions")return null;const s=t.sessionId?r.find(u=>u.id===t.sessionId)??null:null;return s?e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[e.jsx("div",{className:"text-lg leading-snug text-[var(--scout-chrome-ink-strong)]",children:s.title}),e.jsx("div",{className:"text-xs font-mono uppercase tracking-wider text-cyan-400/70 mt-1",children:s.kind})]}),s.agentName&&e.jsxs(m,{label:"Agent",children:[e.jsx(x,{label:"Name",value:s.agentName}),s.harness&&e.jsx(x,{label:"Harness",value:s.harness})]}),(s.currentBranch||s.workspaceRoot)&&e.jsxs(m,{label:"Workspace",children:[s.currentBranch&&e.jsx(x,{label:"Branch",value:s.currentBranch}),s.workspaceRoot&&e.jsx(x,{label:"Root",value:s.workspaceRoot})]}),e.jsxs(m,{label:"Activity",children:[e.jsx(x,{label:"Messages",value:`${s.messageCount}`}),s.lastMessageAt&&e.jsx(x,{label:"Last",value:b(s.lastMessageAt)}),s.participantIds.length>0&&e.jsx(x,{label:"Participants",value:`${s.participantIds.length}`})]}),s.preview&&e.jsx(m,{label:"Preview",children:e.jsxs("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:['"',s.preview,'"']})})]}):e.jsx(I,{sessions:r,discovery:a,navigate:n,route:t})}function I({sessions:t,discovery:n,navigate:r,route:c}){const a=n?.transcripts??[],h=l.useMemo(()=>y([...t.map($),...a.map(o=>o.source||"unknown")],5),[t,a]),p=l.useMemo(()=>y([...t.map(L),...a.map(w)],5),[t,a]),s=l.useMemo(()=>a.slice().sort((o,i)=>i.mtimeMs-o.mtimeMs).slice(0,5),[a]),u=l.useMemo(()=>t.filter(o=>o.lastMessageAt).slice().sort((o,i)=>(i.lastMessageAt??0)-(o.lastMessageAt??0)).slice(0,5),[t]),d=n?.processes?.length??0,S=n?.totals.transcripts??a.length,R=d>0?"Live harness activity":"Quiet session surface";return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5",children:[e.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:"Sessions context"}),e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(v,{label:"Scout",value:`${t.length}`}),e.jsx(v,{label:"Raw",value:`${S}`}),e.jsx(v,{label:"Live",value:`${d}`})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-2 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{children:R}),e.jsxs("span",{children:[h.length," sources"]})]})]}),e.jsx(m,{label:"Sources",children:e.jsx(M,{items:h,empty:"No sources visible"})}),e.jsx(m,{label:"Project mix",children:e.jsx(M,{items:p,empty:"No projects visible"})}),e.jsx(m,{label:"Recent raw",children:s.length===0?e.jsx(j,{children:"No raw transcripts discovered."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:s.map(o=>{const i=N(o.sessionId)??N(o.transcriptPath);return e.jsxs("button",{type:"button",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5 text-left transition-colors hover:border-[var(--scout-chrome-border)]",onClick:()=>{i&&k(r,{view:"sessions",sessionId:i},{returnTo:c})},disabled:!i,children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-bg)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:o.source||"raw"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:w(o)}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:b(o.mtimeMs)})]}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:i??f(o.transcriptPath)})]},`${o.source}:${o.transcriptPath}`)})})}),e.jsx(m,{label:"Recent Scout sessions",children:u.length===0?e.jsx(j,{children:"No recent Scout session messages."}):e.jsx("div",{className:"flex flex-col gap-1",children:u.map(o=>e.jsxs("button",{type:"button",className:"flex items-center gap-2 bg-transparent px-0 py-0.5 text-left",onClick:()=>k(r,{view:"sessions",sessionId:o.id},{returnTo:c}),children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink-soft)]",children:o.title}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:o.lastMessageAt?b(o.lastMessageAt):"-"})]},o.id))})})]})}function v({label:t,value:n}){return e.jsxs("div",{className:"min-w-0 rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-bg)] px-1.5 py-1",children:[e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:n})]})}function M({items:t,empty:n}){return t.length===0?e.jsx(j,{children:n}):e.jsx("div",{className:"flex flex-wrap gap-1",children:t.map(r=>e.jsxs("span",{className:"rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 font-mono text-xs text-[var(--scout-chrome-ink-soft)]",title:`${r.count} ${r.label}`,children:[r.label," ",r.count]},r.label))})}function j({children:t}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:t})}function m({label:t,children:n}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),n]})}function x({label:t,value:n}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:n})]})}export{be as SessionsInspector};
@@ -0,0 +1,2 @@
1
+ import{r as d,j as s}from"./index-DMiGbrBt.js";/* empty css */import{a as P}from"./api-h5zurxmi.js";import{u as U,a as $,b as M,c as H,r as X,w as V,f as o,d as Y,e as _,t as z,g as Q,h as Z,i as ss,s as es}from"./ui-LM8pS8qE.js";import{B as as,u as ns}from"./selection-bridge-16pk1qyG.js";function ts(n){return n.error!=null?{label:"SCAN ERR",cls:"err"}:n.status.conflicts>0?{label:"CONFLICT",cls:"conflict"}:n.status.clean?{label:"CLEAN",cls:"clean"}:{label:"DIRTY",cls:"dirty"}}function cs(n){const t=(n.state??"").toLowerCase();return t==="active"?"ACTIVE":t==="idle"?"IDLE":t==="waiting"?"WAITING":"—"}function ls(n){const t=n.lastIndexOf("/");return t<0?{dir:"",file:n}:{dir:n.slice(0,t+1),file:n.slice(t+1)}}function is(n){return n.status.clean?"clean":`staged ${n.status.staged}, unstaged ${n.status.unstaged}, untracked ${n.status.untracked}, conflicts ${n.status.conflicts}, changed files ${n.status.changedFiles}`}function rs(n,t,u){const l=["Operator request:",n,"","Repo Watch context:",`- Project: ${u.name}`,`- Project root: ${u.root}`,`- Project attention: ${u.attention}`,`- Worktree: ${t.path}`,`- Branch: ${t.branch.name??t.branch.head??"detached"}`];t.branch.upstream&&l.push(`- Upstream: ${t.branch.upstream}`),l.push(`- Drift: ahead ${t.branch.ahead}, behind ${t.branch.behind}`,`- Status: ${is(t)}`);const p=M(t),i=H(t);if(p.has&&l.push(`- Branch churn: +${p.add} -${p.del}`),i.has&&l.push(`- Working-tree churn: +${i.add} -${i.del}`),t.attentionReasons.length>0&&l.push(`- Attention reasons: ${t.attentionReasons.join("; ")}`),t.status.files.length>0){const T=t.status.files.slice(0,8).map(h=>`${h.status}: ${h.path}`).join(", ");l.push(`- Changed files: ${T}`)}return l.join(`
2
+ `)}function ds({worktree:n,project:t,generatedAt:u}){const[l,p]=d.useState(""),[i,T]=d.useState("scout"),[h,k]=d.useState(!1),[R,g]=d.useState(null),[O,A]=d.useState(null),[B,K]=d.useState(!1),x=d.useMemo(()=>n?U(n):[],[n]),E=d.useMemo(()=>x.slice(0,8),[x]),I=d.useMemo(()=>{if(i==="scout")return"Scout";const e=i.replace(/^agent:/,""),c=E.find(m=>m.id===e);return c?$(c):"Agent"},[E,i]);async function w(){const e=l.trim();if(!(!e||h||!n||!t)){k(!0),g(null),A(null);try{const c=rs(e,n,t);if(i==="scout")await P("/api/send",{method:"POST",body:JSON.stringify({body:c})}),g("Sent to Scout");else{const m=i.replace(/^agent:/,"");await P("/api/ask",{method:"POST",body:JSON.stringify({body:c,targetAgentId:m,targetLabel:m,metadata:{source:"repo-watch",originSurface:"repo-watch",handoffKind:"repo-watch-agent-ask",targetAgentId:m}})}),g(`Sent to ${I}`)}p("")}catch(c){A(c instanceof Error?c.message:String(c))}finally{k(!1)}}}if(!n||!t)return s.jsx("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:s.jsxs("div",{className:"rw-ctx-empty",children:[s.jsx("span",{className:"eb",children:"CONTEXT · WORKTREE"}),s.jsx("span",{className:"msg",children:"Select a worktree to inspect"})]})});const a=n,r=a.branch,N=5,f=x.length+a.sessions.length,b=!B&&f>N,y=b?x.slice(0,N):x,D=b?a.sessions.slice(0,Math.max(0,N-y.length)):a.sessions,q=f-y.length-D.length,L=ts(a),j=M(a),v=H(a),{add:S,del:C,has:G}=X(a),W=S+C||1,F=[{label:"staged",n:a.status.staged},{label:"unstaged",n:a.status.unstaged},{label:"untracked",n:a.status.untracked},{label:"conflicts",n:a.status.conflicts,cls:"conf"}].filter(e=>e.n>0);return s.jsxs("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:[s.jsxs("div",{className:"ctx-h",children:[s.jsx("div",{className:"ctx-eyebrow",children:s.jsx("span",{children:"CONTEXT · WORKTREE"})}),s.jsxs("div",{className:"ctx-repo",children:[s.jsx("span",{className:"dot "+V(a)}),s.jsx("span",{className:"rn",children:t.name}),s.jsx("span",{className:"ctx-state "+L.cls,children:L.label})]}),s.jsx("div",{className:"ctx-branch",children:s.jsx(as,{branch:r,fallback:a.name})}),s.jsxs("div",{className:"ctx-path",children:[a.path,r.upstream?s.jsxs("span",{className:"ref",children:[" · ",r.upstream]}):null]})]}),s.jsxs("div",{className:"ctx-stats",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.ahead>0?" mint":" dim"),children:["↑",r.ahead]}),s.jsx("div",{className:"k",children:"AHEAD"})]}),s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.behind>0?" amber":" dim"),children:["↓",r.behind]}),s.jsx("div",{className:"k",children:"BEHIND"})]}),s.jsxs("div",{children:[s.jsx("div",{className:"v"+(a.status.changedFiles>0?"":" dim"),children:a.status.changedFiles}),s.jsx("div",{className:"k",children:"FILES"})]})]}),F.length>0?s.jsx("div",{className:"ctx-breakdown",children:F.map(e=>s.jsxs("span",{className:"ctx-chip"+(e.cls?" "+e.cls:""),children:[s.jsx("span",{className:"n",children:e.n}),e.label]},e.label))}):null,s.jsxs("div",{className:"ctx-body",children:[a.attentionReasons.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTENTION"}),s.jsx("span",{className:"n",children:a.attentionReasons.length})]}),s.jsx("div",{className:"ctx-why",children:a.attentionReasons.map((e,c)=>s.jsx("span",{className:"pill",children:e},c))})]}):null,a.error?s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"SCAN ERROR"})}),s.jsx("div",{className:"ctx-err",children:a.error})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"CHURN"}),s.jsx("span",{className:"n",children:j.has?"reviewable":"working tree"})]}),G?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"ctx-churn",children:[s.jsxs("span",{className:"nums",children:[s.jsxs("span",{className:"add",children:["+",o(S)]}),s.jsx("span",{className:"sl",children:"/"}),s.jsxs("span",{className:"del",children:["−",o(C)]})]}),s.jsxs("span",{className:"cbar",title:`+${o(S)} −${o(C)}`,children:[s.jsx("span",{className:"g",style:{width:S/W*100+"%"}}),s.jsx("span",{className:"r",style:{width:C/W*100+"%"}})]})]}),s.jsxs("span",{className:"ctx-churn-clean",children:[j.has?`branch +${o(j.add)} −${o(j.del)}`:null,j.has&&v.has?" · ":null,v.has?`working tree +${o(v.add)} −${o(v.del)}`:null]})]}):s.jsx("div",{className:"ctx-churn-clean",children:a.status.clean?"working tree clean":"no line changes"})]}),a.status.files.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"FILES CHANGED"}),s.jsx("span",{className:"n",children:a.status.files.length})]}),a.status.files.map(e=>{const c=Y(e.status),{dir:m,file:J}=ls(e.path);return s.jsxs("div",{className:"ctx-fchg",children:[s.jsx("span",{className:"badge",style:{color:Q(c),background:z(c)},title:e.status,children:_(e.status)}),s.jsxs("span",{className:"fp",title:e.path,children:[s.jsx("span",{className:"dir",children:m}),J]})]},e.path)})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"LAST COMMIT"})}),s.jsx("div",{className:"ctx-commit",children:a.lastCommitAt!=null||r.head?s.jsxs(s.Fragment,{children:[r.head?s.jsx("span",{className:"hash",children:r.head.slice(0,7)}):null,s.jsxs("span",{className:"t",children:[Z(a.lastCommitAt,u)," ago"]})]}):s.jsx("span",{className:"none",children:"no commit data"})})]}),s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTACHED SESSIONS"}),s.jsxs("span",{className:"n",children:[x.length," handle",x.length===1?"":"s",a.sessions.length>0?` · ${a.sessions.length} session${a.sessions.length===1?"":"s"}`:""]})]}),f>0?s.jsxs(s.Fragment,{children:[y.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d "+(ss(e)?"on":"off")}),s.jsx("span",{className:"h",children:$(e)}),s.jsx("span",{className:"role",children:cs(e)})]},$(e))),D.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d off"}),s.jsx("span",{className:"h",children:es(e)}),s.jsx("span",{className:"role",children:"SESSION"})]},e.id)),f>N?s.jsx("button",{type:"button",className:"ctx-more",onClick:()=>K(e=>!e),"aria-expanded":!b,children:b?`+${q} more`:"Show less"}):null]}):s.jsx("div",{className:"ctx-none",children:"no attached sessions"})]})]}),s.jsxs("div",{className:"ctx-ask",children:[s.jsx("textarea",{value:l,onChange:e=>{p(e.currentTarget.value),g(null),A(null)},onKeyDown:e=>{e.stopPropagation(),(e.metaKey||e.ctrlKey)&&e.key==="Enter"&&(e.preventDefault(),w())},disabled:h,rows:3,placeholder:i==="scout"?"Message Scout about this worktree":"Message this agent about the worktree"}),s.jsxs("div",{className:"ctx-ask-bar",children:[s.jsxs("select",{value:i,onChange:e=>T(e.currentTarget.value),onKeyDown:e=>e.stopPropagation(),disabled:h,"aria-label":"Message target",children:[s.jsx("option",{value:"scout",children:"Scout"}),E.map(e=>s.jsx("option",{value:`agent:${e.id}`,children:$(e)},e.id))]}),s.jsx("button",{className:"ctx-btn primary",type:"button",disabled:h||l.trim().length===0,onClick:()=>{w()},children:h?"Sending":"Send"})]}),s.jsxs("div",{className:"ctx-ask-foot",children:[O?s.jsx("span",{className:"err",children:O}):R?s.jsx("span",{className:"ok",children:R}):s.jsxs("span",{children:["Repo Watch context included · ",I]}),s.jsx("button",{type:"button",title:"Copy worktree path",onClick:()=>{navigator.clipboard?.writeText(a.path)},children:"Copy path"})]})]})]})}function ps(){const{worktree:n,project:t,generatedAt:u,tone:l}=ns();return s.jsx("div",{className:"rw-scope rw-ctx-rail-scope tone-"+l,children:s.jsx(ds,{worktree:n,project:t,generatedAt:u})})}export{ps as ReposInspector,ps as default};
@@ -0,0 +1 @@
1
+ import{r as d,j as e}from"./index-DMiGbrBt.js";import{u as k}from"./Provider-C7UKGHQy.js";import{c as y}from"./colors-BtO5_zlx.js";import{A as S}from"./AgentAvatar-D90c1Rzk.js";import{t as N}from"./time-DltNTpLl.js";import{f as w}from"./text-DsBWV_4k.js";import{c as I}from"./clipboard-e3fSpeo7.js";import{f as T,r as C,t as R}from"./terminal-sessions-D5CIR2OL.js";import"./router-Bq5dwf78.js";import"./api-h5zurxmi.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./SpriteAvatar-DyaGuhik.js";function ke(){const{route:t,agents:o,navigate:s}=k();if(t.view!=="terminal")return null;const r=t.agentId?o.find(i=>i.id===t.agentId)??null:null,l=t.mode??"takeover",[f,p]=d.useState(null);d.useEffect(()=>{if(t.view!=="terminal"||t.agentId||!t.terminalSurfaceKey){p(null);return}let i=!1;return T().then(g=>{i||p(C(g,t.terminalSessionId,t.terminalSurfaceKey))}).catch(()=>{i||p(null)}),()=>{i=!0}},[t.agentId,t.terminalSessionId,t.terminalSurfaceKey,t.view]);const j=f?R(f.surface):null,n=(r?$(r):null)??j,c=d.useMemo(()=>n?A(n):null,[n]);return r?e.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-y-auto p-4 text-sm frame-scrollbar",children:[e.jsx(D,{agent:r}),e.jsxs(u,{label:"Terminal",children:[e.jsx(a,{label:"Mode",value:v(l)}),e.jsx(a,{label:"Backend",value:n?.backend??"pty"}),n&&e.jsx(a,{label:"Session",value:n.sessionName}),n?.paneId&&e.jsx(a,{label:"Pane",value:n.paneId}),e.jsx(a,{label:"State",value:y(r.state)})]}),c&&e.jsx(h,{label:"Open in your own terminal",command:c}),e.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[n&&e.jsx(m,{active:l==="observe",label:"Observe",onClick:()=>s(b(r.id,"observe"))}),e.jsx(m,{active:l==="takeover",label:"Takeover",onClick:()=>s(b(r.id,"takeover"))}),e.jsx(m,{label:"Profile",onClick:()=>s({view:"agents-v2",agentId:r.id,tab:"profile"})}),e.jsx(m,{label:"Trace",onClick:()=>s({view:"agents-v2",agentId:r.id,tab:"observe"})})]}),e.jsxs(u,{label:"Agent",children:[e.jsx(a,{label:"Harness",value:r.harness??"-"}),e.jsx(a,{label:"Transport",value:r.transport??"-"}),r.role&&e.jsx(a,{label:"Role",value:w(r.role)??r.role}),r.handle&&e.jsx(a,{label:"Handle",value:`@${r.handle}`}),r.updatedAt&&e.jsx(a,{label:"Updated",value:N(r.updatedAt)})]}),(r.project||r.branch||r.cwd||r.projectRoot)&&e.jsxs(u,{label:"Workspace",children:[r.project&&e.jsx(a,{label:"Name",value:r.project}),r.branch&&e.jsx(a,{label:"Branch",value:r.branch}),r.cwd&&e.jsx(a,{label:"Cwd",value:r.cwd}),!r.cwd&&r.projectRoot&&e.jsx(a,{label:"Root",value:r.projectRoot})]})]}):e.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-y-auto p-4 text-sm frame-scrollbar",children:[e.jsxs(u,{label:"Terminal",children:[e.jsx(a,{label:"Mode",value:v(l)}),t.agentId&&e.jsx(a,{label:"Agent",value:t.agentId}),n&&e.jsx(a,{label:"Backend",value:n.backend}),n&&e.jsx(a,{label:"Session",value:n.sessionName})]}),c&&e.jsx(h,{label:"Open in your own terminal",command:c})]})}function x(t){return/^[A-Za-z0-9_./:@%+=,-]+$/u.test(t)?t:`'${t.replace(/'/gu,"'\\''")}'`}function A(t){return t.backend==="tmux"?`tmux attach -t ${x(t.sessionName)}`:`${t.socketDir?`ZELLIJ_SOCKET_DIR=${x(t.socketDir)} `:""}zellij attach ${x(t.sessionName)}`}function b(t,o){return{view:"terminal",agentId:t,mode:o}}function $(t){return t.terminalSurface?t.terminalSurface:t.transport==="tmux"&&t.harnessSessionId?{backend:"tmux",sessionName:t.harnessSessionId,paneId:null,socketDir:null}:null}function v(t){return t==="observe"?"Read-only observe":"Interactive takeover"}function D({agent:t}){return e.jsx("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(S,{agent:t,placement:"row",size:32,presence:!1}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"truncate text-lg leading-snug text-[var(--scout-chrome-ink-strong)]",children:t.name}),t.handle&&e.jsxs("div",{className:"truncate font-mono text-xs text-cyan-400/70",children:["@",t.handle]})]})]})})}function m({active:t,label:o,onClick:s}){return e.jsx("button",{type:"button",onClick:s,className:`h-7 rounded border px-2 font-mono text-2xs uppercase tracking-[0.1em] transition-colors ${t?"border-cyan-400/35 bg-cyan-400/[0.12] text-cyan-200":"border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] text-[var(--scout-chrome-ink-soft)] hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)]"}`,children:o})}function h({label:t,command:o}){const[s,r]=d.useState(!1);return e.jsxs("details",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2",children:[e.jsx("summary",{className:"cursor-pointer select-none font-mono text-2xs uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("div",{className:"mb-1.5 mt-2 flex items-center justify-end gap-2",children:e.jsx("button",{type:"button",className:"rounded border border-cyan-400/20 bg-cyan-400/[0.08] px-2 py-1 font-mono text-2xs uppercase tracking-[0.1em] text-cyan-100/80 hover:bg-cyan-400/[0.14]",onClick:()=>{I(o).then(l=>{l&&(r(!0),window.setTimeout(()=>r(!1),1200))})},children:s?"Copied":"Copy"})}),e.jsx("code",{className:"block select-text break-all rounded bg-black/25 p-2 font-mono text-xs leading-relaxed text-[var(--scout-chrome-ink)]",children:o})]})}function u({label:t,children:o}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),o]})}function a({label:t,value:o}){return e.jsxs("div",{className:"flex items-baseline justify-between gap-2 py-0.5",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-right text-sm font-mono text-[var(--scout-chrome-ink)]",children:o})]})}export{ke as TerminalInspector};