@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
+ [data-scout-theme-mode]{--sys-hairline: color-mix(in srgb, var(--ink) 7%, transparent);--sys-hairline-soft: color-mix(in srgb, var(--ink) 5%, transparent);--sys-head-tint: color-mix(in srgb, var(--ink) 3%, transparent);--sys-well: color-mix(in srgb, var(--bg) 84%, transparent);--sys-row-hover: color-mix(in srgb, var(--accent) 5%, transparent);--sys-row-selected: color-mix(in srgb, var(--accent) 9%, transparent)}[data-scout-theme-mode=light]{--sys-hairline: var(--border);--sys-hairline-soft: color-mix(in srgb, var(--border) 62%, transparent);--sys-head-tint: color-mix(in srgb, var(--ink) 3.5%, transparent);--sys-well: color-mix(in srgb, var(--ink) 4%, transparent);--sys-row-hover: color-mix(in srgb, var(--accent) 7%, transparent);--sys-row-selected: color-mix(in srgb, var(--accent) 12%, transparent)}.sys-surface-page{display:flex;flex-direction:column;gap:var(--space-5xl);padding:var(--space-4xl) var(--space-5xl) var(--space-5xl);max-width:820px!important}.sys-surface-page-wide{max-width:1080px!important}.sys-surface-page-fluid{width:100%;max-width:none!important}.sys-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2xl)}.sys-page-title-group{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.sys-page-kicker{display:none}.sys-page-title{font-family:var(--font-accent-title);font-size:var(--text-6xl);font-weight:500;line-height:var(--leading-none);letter-spacing:-.025em;color:var(--ink)}.sys-page-subtitle{max-width:520px;font-size:var(--text-md);color:var(--dim);line-height:var(--leading-snug)}.sys-page-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.sys-sync-note{font-size:var(--text-sm);color:var(--muted)}.sys-panel{border:1px solid var(--sys-hairline);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:none;padding:var(--space-2xl)}.sys-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2xl);margin-bottom:var(--space-lg)}.sys-section-title{font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:500;color:var(--ink);letter-spacing:-.01em}.sys-section-subtitle{margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--dim)}.sys-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm)}.sys-stat-card{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border:1px solid var(--sys-hairline-soft);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);padding:var(--space-lg) var(--space-xl)}.sys-stat-label{font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);opacity:.6}.sys-stat-value{font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--ink);overflow-wrap:anywhere}.sys-stat-detail{font-size:var(--text-sm);color:var(--muted)}.sys-chip-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:center}.sys-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-md);padding:var(--space-2xs) var(--space-sm);border:1px solid transparent;font-size:var(--text-xs);font-weight:600;line-height:var(--leading-none)}.sys-chip-neutral{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent);border-color:color-mix(in srgb,var(--muted) 18%,transparent)}.sys-chip-notice,.sys-chip-warning{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);border-color:color-mix(in srgb,var(--amber) 22%,transparent)}.sys-chip-working{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.sys-chip-success,.sys-chip-completed{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border-color:color-mix(in srgb,var(--green) 20%,transparent)}.sys-chip-danger,.sys-chip-failed{color:var(--red);background:color-mix(in srgb,var(--red) 11%,transparent);border-color:color-mix(in srgb,var(--red) 18%,transparent)}.sys-banner{display:flex;align-items:flex-start;gap:var(--space-sm);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-2xl);font-size:var(--text-lg)}.sys-banner strong{white-space:nowrap}.sys-banner-warning{background:color-mix(in srgb,var(--amber) 10%,transparent);border-color:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber)}.sys-banner-info{background:color-mix(in srgb,var(--accent) 7%,transparent);border-color:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.sys-banner-success{background:color-mix(in srgb,var(--green) 8%,transparent);border-color:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}.sys-banner-error{background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red)}.sys-banner-muted{background:color-mix(in srgb,var(--accent) 5%,transparent);border-color:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.sys-tab-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;border-bottom:1px solid var(--sys-hairline)}.sys-tab{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-none);padding:0 var(--space-md) var(--space-lg);cursor:pointer}.sys-tab:hover{color:var(--ink)}.sys-tab-active{color:var(--ink);border-bottom-color:var(--accent)}.sys-kicker{color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-page{gap:var(--space-lg);height:100%;min-height:0;padding:var(--space-lg) var(--space-3xl) var(--space-3xl);overflow:auto}.sys-broker-page .sys-ledger-toolbar{align-items:center;flex:0 0 auto;min-height:0;border-bottom:0}.sys-ledger-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg);min-height:38px;border-bottom:1px solid var(--sys-hairline)}.sys-ledger-toolbar .sys-tab-row{min-width:0;flex:1 1 420px;flex-wrap:nowrap;overflow-x:auto;border-bottom:0}.sys-broker-page .sys-tab-row--toolbar{flex:0 1 auto;width:fit-content;padding:3px;overflow:visible;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg);background:var(--sys-well)}.sys-tab-row--toolbar .sys-tab{padding-bottom:var(--space-md)}.sys-broker-page .sys-tab-row--toolbar .sys-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:0;border-radius:calc(var(--radius-lg) - 2px);color:var(--dim);font-weight:550;transition:color .12s ease,background .12s ease,box-shadow .12s ease}.sys-broker-page .sys-tab-row--toolbar .sys-tab:hover{color:var(--ink)}.sys-broker-page .sys-tab-row--toolbar .sys-tab-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb,var(--bg) 32%,transparent)}.sys-tab-count{min-width:17px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.35;text-align:center}.sys-tab-active .sys-tab-count{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.sys-ledger-actions{margin-left:auto;padding-bottom:0}.sys-ledger-kicker{padding-bottom:var(--space-md);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-ledger-footer{display:flex;justify-content:center;padding:var(--space-lg) 0 var(--space-sm)}.sys-broker-source-note{display:flex;align-items:center;gap:var(--space-sm);min-width:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.sys-broker-source-note strong{color:var(--muted);font-weight:600}.sys-broker-source-note--warning strong{color:color-mix(in srgb,var(--amber) 84%,var(--ink))}.sys-broker-source-spinner{flex:0 0 auto;color:var(--muted);animation:sys-broker-source-spin .8s linear infinite}@keyframes sys-broker-source-spin{to{transform:rotate(360deg)}}.sys-broker-source-dot{flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 10%,transparent)}.sys-broker-wire{display:flex;flex-direction:column;gap:var(--space-md);background:transparent}.sys-broker-wire-head,.sys-broker-wire-row{display:grid;grid-template-columns:108px minmax(128px,176px) minmax(140px,232px) minmax(0,1fr) 72px;column-gap:var(--space-lg);align-items:center}.sys-broker-wire-head{padding:0 var(--space-md) var(--space-xs);border-left:2px solid transparent;border-bottom:1px solid var(--sys-hairline)}.sys-broker-wire-head .sys-broker-col{overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-lg);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sys-broker-wire-head .sys-broker-col--time{text-align:right}.sys-broker-wire-body{display:flex;flex-direction:column}.sys-broker-day{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.sys-broker-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-xs)}.sys-broker-day-head h2{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-day-head span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.sys-broker-wire-row{position:relative;box-sizing:border-box;width:100%;padding:var(--space-sm) var(--space-md);border-left:2px solid transparent;cursor:pointer;outline:none;transition:background .12s ease,border-color .12s ease}.sys-broker-wire-row:hover,.sys-broker-wire-row:focus-visible{z-index:3;background:var(--sys-row-hover)}.sys-broker-wire-row--selected{background:var(--sys-row-selected)}.sys-broker-wire-row--selected:before{position:absolute;inset:0 auto 0 0;width:2px;border-radius:0;background:var(--accent);content:""}.sys-broker-wire-row--failure:not(.sys-broker-wire-row--selected){background:color-mix(in srgb,var(--red) 3.2%,transparent)}.sys-broker-wire-row--failure:hover{background:color-mix(in srgb,var(--red) 6%,transparent)}.sys-broker-cell{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.sys-broker-dot{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--dim)}.sys-broker-dot--success{background:var(--green)}.sys-broker-dot--danger{background:var(--red)}.sys-broker-dot--working,.sys-broker-dot--warning{background:var(--amber)}.sys-broker-state{overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sys-broker-state--success{color:var(--dim)}.sys-broker-state--danger{color:var(--red);font-weight:560}.sys-broker-state--working,.sys-broker-state--warning{color:color-mix(in srgb,var(--amber) 86%,var(--ink))}.sys-broker-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:var(--sys-well);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.sys-broker-from-name,.sys-broker-endpoint-name{overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:560;text-overflow:ellipsis;white-space:nowrap}.sys-broker-endpoint{position:relative;display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);outline:none}.sys-broker-endpoint:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.sys-broker-endpoint-avatar{width:22px;height:22px}.sys-broker-endpoint-avatar svg{width:12px;height:12px}.sys-broker-endpoint-card{position:absolute;z-index:40;top:calc(100% + 8px);left:-8px;display:none;width:min(320px,70vw);overflow:hidden;flex-direction:column;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 96%,black 4%);box-shadow:0 22px 56px -18px #000000e0;color:var(--ink);pointer-events:none}.sys-broker-endpoint--to .sys-broker-endpoint-card{left:-34px}.sys-broker-endpoint:hover .sys-broker-endpoint-card,.sys-broker-endpoint:focus .sys-broker-endpoint-card,.sys-broker-endpoint:focus-within .sys-broker-endpoint-card{display:flex}.sys-broker-endpoint-card-head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--ink) 2.5%,transparent)}.sys-broker-endpoint-card-head>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.sys-broker-endpoint-card-head strong{overflow:hidden;font-size:var(--text-sm);font-weight:620;text-overflow:ellipsis;white-space:nowrap}.sys-broker-endpoint-card-head small{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-endpoint-card-body{display:grid;grid-template-columns:78px minmax(0,1fr);gap:var(--space-xs) var(--space-md);padding:var(--space-md)}.sys-broker-endpoint-card-field{display:contents}.sys-broker-endpoint-card-field small{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-endpoint-card-field code{overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-route-arrow{flex:0 0 auto;color:var(--dim);opacity:.6}.sys-broker-to-glyph{display:inline-flex;flex:0 0 auto;color:var(--dim)}.sys-broker-to-id{overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-col--msg{gap:var(--space-sm)}.sys-broker-msg{overflow:hidden;color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.sys-broker-msg-error{flex:0 0 auto;max-width:45%;overflow:hidden;color:color-mix(in srgb,var(--red) 78%,var(--muted));font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-col--time{flex-direction:column;align-items:flex-end;justify-content:center;gap:1px}.sys-broker-time-rel{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.sys-broker-time-abs{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}@media(max-width:760px){.sys-broker-wire-head{display:none}.sys-broker-wire-row{grid-template-columns:16px minmax(0,1fr) auto;grid-template-areas:"status from time" "status message message" "status to to";align-items:start;column-gap:var(--space-sm);row-gap:var(--space-3xs)}.sys-broker-col--status{grid-area:status;align-self:center}.sys-broker-col--status .sys-broker-state{display:none}.sys-broker-col--from{grid-area:from}.sys-broker-col--to{grid-area:to}.sys-broker-col--msg{grid-area:message}.sys-broker-col--time{grid-area:time;flex-direction:row;align-items:baseline;gap:var(--space-xs)}.sys-broker-time-abs,.sys-broker-route-arrow{display:none}.sys-broker-source-note>span:last-child{display:none}}@media(max-width:520px){.sys-broker-page .sys-ledger-actions .sys-sync-note{display:none}}.sys-broker-inspector{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.sys-broker-inspector-head{flex:0 0 auto;min-width:0;border-bottom:1px solid var(--sys-hairline)}.sys-broker-inspector-status{display:flex;align-items:center;gap:var(--space-sm);min-width:0;min-height:48px;padding:var(--space-sm) var(--space-lg)}.sys-broker-inspector-status .sys-broker-state{flex:0 0 auto;font-weight:560}.sys-broker-inspector-status>code{min-width:0;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-inspector-copy{margin-left:auto}.sys-broker-inspector-close{flex:0 0 auto}.sys-broker-inspector-body{display:flex;min-height:0;flex:1;flex-direction:column;gap:var(--space-xl);overflow:auto;padding:var(--space-xl) var(--space-lg)}.sys-broker-inspector-body>*{flex:0 0 auto}.sys-broker-route-stack{display:flex;flex-direction:column;gap:var(--space-2xs)}.sys-broker-route-party{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-width:0}.sys-broker-route-avatar,.sys-broker-route-target-icon{width:30px;height:30px;border-radius:var(--radius-md)}.sys-broker-route-target-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sys-hairline);background:var(--sys-well);color:var(--muted)}.sys-broker-route-target-icon svg{width:14px;height:14px}.sys-broker-route-party-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.sys-broker-route-party-copy strong,.sys-broker-route-party-copy code{overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:540;line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.sys-broker-route-party-copy code{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400}.sys-broker-route-down{margin-left:7px;color:var(--dim)}.sys-broker-route-button{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:3px 7px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer}.sys-broker-route-button:hover,.sys-broker-route-button:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,var(--sys-hairline));color:var(--ink);outline:none}.sys-broker-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;margin:0;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg)}.sys-broker-delivery-grid>div{min-width:0;padding:var(--space-sm) var(--space-md)}.sys-broker-delivery-grid>div:nth-child(odd){border-right:1px solid var(--sys-hairline)}.sys-broker-delivery-grid>div:nth-child(-n+2){border-bottom:1px solid var(--sys-hairline)}.sys-broker-delivery-grid dt{margin-bottom:3px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-delivery-grid dd{margin:0;overflow:hidden;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sys-broker-delivery-grid .sys-broker-delivery-accent{color:var(--green)}.sys-broker-payload{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-broker-route-failure{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:start;gap:var(--space-md);padding:var(--space-lg);border:1px solid color-mix(in srgb,var(--red) 28%,var(--sys-hairline));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--red) 6%,var(--sys-well))}.sys-broker-route-failure-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.sys-broker-route-failure>div{display:flex;min-width:0;flex-direction:column;gap:3px}.sys-broker-route-failure strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.sys-broker-route-failure p{margin:2px 0 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere}.sys-broker-payload-head,.sys-broker-payload-dialog-head,.sys-broker-payload-dialog-head>div{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.sys-broker-payload-head>.sys-detail-label,.sys-broker-payload-dialog-head>div{flex:1}.sys-broker-payload-meta{overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.sys-broker-payload-resizer{box-sizing:border-box;width:100%;height:clamp(220px,34vh,420px);min-height:160px;max-height:min(72vh,760px);resize:vertical;overflow:hidden;border:1px solid var(--sys-hairline);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 92%,black)}.sys-broker-payload-code,.sys-broker-payload-code .s-code-shiki{width:100%;height:100%;min-width:0;min-height:0}.sys-broker-payload-code{overflow:hidden;color:var(--ink);outline:none}.sys-broker-payload-code:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 52%,transparent)}.sys-broker-payload-code .s-code-shiki{overflow:auto}.sys-broker-payload-code .s-code-shiki pre{min-width:max-content;margin:0;padding:var(--space-lg) var(--space-xl) var(--space-3xl);background:transparent!important;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.65;tab-size:2}.sys-broker-payload-code .s-code-shiki code{display:block}.sys-broker-payload-code .s-code-shiki .line{display:inline-block;min-width:100%}.sys-broker-payload-code[data-language=markdown] .s-code-shiki pre{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.sys-broker-payload-code[data-language=markdown] .s-code-shiki .line{display:inline;min-width:0}.sys-broker-payload-code .s-code-shiki .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style, normal);font-weight:var(--shiki-dark-font-weight, inherit)}[data-scout-theme-mode=light] .sys-broker-payload-code .s-code-shiki .shiki span{color:var(--shiki-light);font-style:var(--shiki-light-font-style, normal);font-weight:var(--shiki-light-font-weight, inherit)}.sys-broker-payload-code .s-code-shiki .shiki ::selection{background:color-mix(in srgb,var(--accent) 20%,transparent)}.sys-broker-payload-expand{flex:0 0 auto}.sys-broker-payload-dialog{box-sizing:border-box;inset:0;width:min(1360px,calc(100vw - 48px));height:calc(100vh - 48px);max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--sys-hairline));border-radius:var(--radius-xl);background:var(--bg);color:var(--ink);box-shadow:0 28px 90px #00000094}.sys-broker-payload-dialog::backdrop{background:color-mix(in srgb,black 70%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sys-broker-payload-dialog-head{min-height:48px;padding:0 var(--space-lg);border-bottom:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 92%,transparent)}.sys-broker-payload-dialog-body{height:calc(100% - 49px);min-height:0;background:color-mix(in srgb,var(--bg) 94%,black)}.sys-broker-payload-dialog-body .sys-broker-payload-code .s-code-shiki pre{padding:var(--space-3xl) var(--space-4xl);font-size:var(--text-sm);line-height:1.7}.sys-broker-inspector-error{display:flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--red) 10%,transparent)}.sys-broker-inspector-error-label{color:var(--red);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.sys-broker-inspector-error p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.sys-broker-report,.sys-broker-redispatch{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--sys-hairline);border-radius:var(--radius-xl);background:linear-gradient(145deg,color-mix(in srgb,var(--ink) 2.5%,transparent),transparent 55%),color-mix(in srgb,var(--sys-well) 72%,transparent)}.sys-broker-report{border-color:color-mix(in srgb,var(--accent) 28%,var(--sys-hairline));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 58%),color-mix(in srgb,var(--sys-well) 76%,transparent)}.sys-broker-action-head{display:flex;align-items:flex-start;gap:var(--space-sm);color:var(--muted);font-size:var(--text-xs);font-weight:650;letter-spacing:.04em;text-transform:uppercase}.sys-broker-action-head>div{display:flex;min-width:0;flex-direction:column;gap:3px}.sys-broker-action-head small{color:var(--dim);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:400;letter-spacing:0;line-height:var(--leading-snug);text-transform:none}.sys-broker-action-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:var(--sys-well);color:var(--ink)}.sys-broker-redispatch-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-sm)}.sys-broker-redispatch-controls label,.sys-broker-forward-target{display:flex;min-width:0;flex-direction:column;gap:4px}.sys-broker-redispatch-controls label>span,.sys-broker-forward-target>span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-redispatch-controls select,.sys-broker-forward-target select{box-sizing:border-box;width:100%;min-width:0;height:34px;padding:0 30px 0 var(--space-sm);border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-xs);outline:none}.sys-broker-redispatch-controls select:focus-visible,.sys-broker-forward-target select:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--sys-hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.sys-broker-redispatch-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:104px;height:34px;padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--sys-hairline));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font-size:var(--text-xs);font-weight:600;cursor:pointer}.sys-broker-redispatch-send:hover:not(:disabled),.sys-broker-redispatch-send:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--sys-hairline));background:color-mix(in srgb,var(--accent) 16%,transparent);outline:none}.sys-broker-redispatch-send:disabled{cursor:default;opacity:.45}.sys-broker-report-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);width:fit-content;min-height:34px;padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--accent) 75%,white 8%);border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font-size:var(--text-xs);font-weight:650;cursor:pointer;transition:filter .12s ease,transform .12s ease}.sys-broker-report-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.sys-broker-report-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:2px}.sys-broker-report-button:disabled{cursor:default;opacity:.55}.sys-broker-report .sys-broker-review-status{padding:0;border:0;background:transparent}.sys-broker-action-target-meta{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.sys-broker-action-target-meta span,.sys-broker-action-target-meta code{overflow:hidden;padding:3px 6px;border-radius:var(--radius-sm);background:var(--sys-well);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.sys-broker-action-target-meta code{max-width:100%}.sys-broker-action-status{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-snug)}.sys-broker-action-status--sent{color:var(--green)}.sys-broker-action-status--failed{color:var(--red)}.sys-broker-action-spinner{animation:sys-broker-source-spin .8s linear infinite}.sys-broker-forward-intro{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-sm)}.sys-broker-forward{display:flex;flex:0 0 auto;flex-direction:column;padding:0;border-top:1px solid var(--sys-hairline);background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 1.5%,transparent),transparent 50%),color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 -20px 48px -42px #000000e6;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.sys-broker-forward-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.sys-broker-forward-toggle:hover,.sys-broker-forward-toggle:focus-visible{background:var(--sys-row-hover);outline:none}.sys-broker-forward-toggle .sys-broker-action-head{flex:1}.sys-broker-forward-chevron{flex:0 0 auto;color:var(--dim);transition:transform .14s ease}.sys-broker-forward--expanded .sys-broker-forward-chevron{transform:rotate(180deg)}.sys-broker-forward--expanded .sys-broker-forward-toggle{border-bottom:1px solid var(--sys-hairline)}.sys-broker-forward #dispatch-forward-content{min-width:0}.sys-broker-forward .sys-broker-message-composer{border:0;border-top:1px solid var(--sys-hairline);border-radius:0;background:transparent;box-shadow:none}.sys-broker-forward .sys-broker-message-composer:focus-within{border-color:transparent;box-shadow:0 -1px color-mix(in srgb,var(--accent) 26%,transparent)}.sys-broker-forward .sys-broker-message-composer textarea{min-height:76px;max-height:180px;padding:var(--space-xs) var(--space-lg) var(--space-sm)}.sys-broker-forward>.sys-broker-action-status{padding:0 var(--space-lg) var(--space-sm)}.sys-broker-ask-prompts{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.sys-broker-ask-prompts button,.sys-broker-copy-context{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:5px 9px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 45%,transparent);color:var(--muted);font-size:var(--text-xs);cursor:pointer}.sys-broker-ask-prompts button:hover,.sys-broker-ask-prompts button:focus-visible,.sys-broker-copy-context:hover,.sys-broker-copy-context:focus-visible{border-color:color-mix(in srgb,var(--accent) 34%,var(--sys-hairline));background:var(--sys-row-hover);color:var(--ink);outline:none}.sys-broker-ask-prompts button:disabled{cursor:wait;opacity:.55}.sys-broker-message-composer{display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px color-mix(in srgb,white 4%,transparent) inset,0 12px 32px -26px #000000e6;transition:border-color .14s ease,box-shadow .14s ease}.sys-broker-message-composer:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,var(--sys-hairline));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent),0 16px 34px -26px #000000f2}.sys-broker-message-composer>label{padding:var(--space-sm) var(--space-lg) 0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-message-composer textarea{box-sizing:border-box;width:100%;min-height:76px;max-height:180px;resize:vertical;padding:var(--space-md) var(--space-md) var(--space-sm);border:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.5;outline:none}.sys-broker-message-composer textarea::placeholder{color:var(--dim)}.sys-broker-message-composer footer{display:flex;align-items:center;gap:var(--space-xs);min-height:40px;padding:0 var(--space-md) var(--space-md)}.sys-broker-composer-left,.sys-broker-composer-targets{display:flex;min-width:0;align-items:center;gap:var(--space-xs)}.sys-broker-composer-left{flex:0 1 auto}.sys-broker-composer-targets{margin-left:auto;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-route-label{flex:0 0 auto;color:var(--dim);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-composer-targets>label{display:inline-flex;min-width:0}.sys-broker-composer-targets>label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sys-broker-composer-targets select{max-width:74px;height:28px;padding:0 14px 0 2px;overflow:hidden;border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);text-overflow:ellipsis;outline:none}.sys-broker-composer-targets label:nth-of-type(1) select{max-width:70px}.sys-broker-composer-targets label:nth-of-type(2) select{max-width:68px;color:var(--ink)}.sys-broker-composer-targets label:nth-of-type(3) select{max-width:82px}.sys-broker-composer-targets label:nth-of-type(4) select{max-width:66px}.sys-broker-composer-targets select:hover,.sys-broker-composer-targets select:focus-visible{color:var(--ink)}.sys-broker-composer-attach{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer}.sys-broker-composer-attach:hover:not(:disabled),.sys-broker-composer-attach:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,var(--sys-hairline));color:var(--ink);outline:none}.sys-broker-message-attachment{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2xs);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.sys-broker-message-hint{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-mic.s-dictation-mic{align-self:center;width:32px;height:32px;border-radius:var(--radius-md)}.sys-broker-composer-send{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--accent);color:var(--bg);cursor:pointer;transition:filter .12s ease,opacity .12s ease,transform .12s ease}.sys-broker-composer-send:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.sys-broker-composer-send:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:2px}.sys-broker-composer-send:disabled,.sys-broker-composer-attach:disabled{cursor:default;opacity:.28}.sys-broker-composer-attachments{display:flex;min-width:0;flex-wrap:wrap;gap:var(--space-xs);padding:0 var(--space-lg) var(--space-sm)}.sys-broker-composer-attachments>span{display:inline-flex;min-width:0;max-width:180px;align-items:center;gap:4px;padding:4px 5px 4px 7px;border:1px solid var(--sys-hairline);border-radius:var(--radius-md);background:var(--sys-well);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-composer-attachments>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-broker-composer-attachments button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--dim);cursor:pointer}.sys-broker-composer-attachments button:hover{background:var(--sys-row-hover);color:var(--ink)}@media(max-width:620px){.sys-broker-message-attachment{display:none}.sys-broker-composer-targets{gap:2px}.sys-broker-composer-targets>span{display:none}}.sys-broker-technical{border-top:1px solid var(--sys-hairline)}.sys-broker-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer;list-style:none}.sys-broker-technical>summary::-webkit-details-marker{display:none}.sys-broker-technical>summary svg{transition:transform .14s ease}.sys-broker-technical[open]>summary svg{transform:rotate(180deg)}.sys-broker-inspector-rows{display:flex;min-width:0;flex-direction:column;padding:var(--space-xs) 0;border-radius:var(--radius-lg);background:var(--sys-well)}.sys-broker-inspector-row{display:grid;grid-template-columns:minmax(88px,110px) minmax(0,1fr) 20px;gap:var(--space-sm);align-items:start;padding:var(--space-2xs) var(--space-sm) var(--space-2xs) var(--space-md)}.sys-broker-inspector-row .sys-detail-value{font-family:var(--font-mono);font-size:var(--text-xs)}.sys-broker-inspector-row .sys-copy-btn{width:20px;height:20px;opacity:0}.sys-broker-inspector-row:hover .sys-copy-btn,.sys-broker-inspector-row .sys-copy-btn:focus-visible,.sys-broker-inspector-row .sys-copy-btn--copied,.sys-broker-inspector-row .sys-copy-btn--failed{opacity:1}.sys-broker-technical .sys-broker-metadata{margin-top:var(--space-lg)}.sys-broker-copy-context{align-self:flex-start;border-radius:var(--radius-md)}.sys-broker-review-status{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--muted);background:color-mix(in srgb,var(--surface) 88%,transparent);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere}.sys-broker-review-status--sent{border-color:color-mix(in srgb,var(--green) 36%,var(--border));color:color-mix(in srgb,var(--green) 78%,var(--ink));background:color-mix(in srgb,var(--green) 9%,transparent)}.sys-broker-review-status--failed{border-color:color-mix(in srgb,var(--red) 36%,var(--border));color:color-mix(in srgb,var(--red) 78%,var(--ink));background:color-mix(in srgb,var(--red) 9%,transparent)}.sys-broker-metadata{display:flex;min-width:0;flex-direction:column;gap:var(--space-sm)}.sys-broker-metadata-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sys-broker-metadata-copy{border:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 92%,transparent)}.sys-broker-metadata-panel{display:flex;flex-direction:column;gap:var(--space-lg);min-width:0}.sys-broker-metadata-section{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.sys-broker-metadata-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.sys-broker-metadata-tree,.sys-broker-metadata-children{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.sys-broker-metadata-group-toggle,.sys-broker-metadata-raw-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);border:0;background:transparent;color:var(--muted);padding:0;font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.sys-broker-metadata-group-label,.sys-broker-metadata-raw-toggle{color:var(--ink)}.sys-broker-metadata-count{color:var(--dim)}.sys-broker-metadata-row{display:grid;grid-template-columns:minmax(88px,.35fr) minmax(0,1fr);gap:var(--space-sm);align-items:start;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:var(--sys-well)}.sys-broker-metadata-key{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.sys-broker-metadata-value{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);overflow-wrap:anywhere;white-space:pre-wrap}.sys-broker-metadata-empty{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.sys-broker-metadata-raw,.sys-broker-metadata pre{margin:0;max-height:360px;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--sys-hairline);background:var(--sys-well);color:var(--ink);padding:var(--space-lg);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-snug);white-space:pre}.sys-broker-right-empty{display:flex;height:100%;min-height:180px;flex-direction:column;justify-content:center;gap:var(--space-sm);padding:var(--space-3xl);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.sys-state-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.sys-state-card-error{background:color-mix(in srgb,var(--red) 4%,var(--surface));border-color:color-mix(in srgb,var(--red) 16%,transparent)}.sys-state-title{font-size:var(--text-2xl);font-weight:600;color:var(--ink)}.sys-state-body{max-width:520px;font-size:var(--text-md);color:var(--muted)}.sys-inline-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.sys-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl)}.sys-detail-card{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border-radius:var(--radius-lg);border:none;background:var(--sys-well);padding:var(--space-md) var(--space-lg)}.sys-detail-label{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.sys-detail-value{min-width:0;font-size:var(--text-md);line-height:var(--leading-snug);color:var(--ink);overflow-wrap:anywhere}.sys-code-inline{display:inline-flex;align-items:center;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:-.01em}.sys-list-empty{border:1px dashed color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 70%,transparent);padding:var(--space-3xl);font-family:var(--font-accent-title);font-style:italic;opacity:.5;font-size:var(--text-xl)}.sys-list-empty h3{font-size:var(--text-xl);font-weight:600;color:var(--ink)}.sys-list-empty p{margin-top:var(--space-xs);font-size:var(--text-lg);color:var(--muted)}.sys-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.sys-list-card{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;border-radius:var(--radius-lg);border:none;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:var(--space-xl)}.sys-list-card-head{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:flex-start}.sys-list-card-title{min-width:0;font-size:var(--text-lg);font-weight:700;color:var(--ink);overflow-wrap:anywhere}.sys-list-card-detail{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.agent-config-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.agent-config-list{display:flex;flex-direction:column;gap:var(--space-xs)}.agent-config-list-scroll{max-height:520px;overflow-y:auto;padding-right:var(--space-3xs)}.agent-config-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-lg) var(--space-lg);color:var(--ink);text-align:left}.agent-config-row-button{cursor:pointer}.agent-config-row-button:hover,.agent-config-row-selected{border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.agent-config-row-main{display:flex;align-items:flex-start;gap:var(--space-md);min-width:0}.agent-config-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.agent-config-row-copy{min-width:0}.agent-config-row-title{color:var(--ink);font-size:var(--text-lg);font-weight:700;overflow-wrap:anywhere}.agent-config-row-detail,.agent-config-row-meta,.agent-config-copy{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere}.agent-config-code{display:inline-flex;max-width:100%;margin:var(--space-2xs) 0;border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-sm);line-height:var(--leading-tight);overflow-wrap:anywhere;white-space:normal}.agent-config-link{color:var(--accent);font-size:var(--text-sm);font-weight:700;text-decoration:none}.agent-config-link:hover{text-decoration:underline}.agent-config-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);max-width:42%;min-width:0}.agent-config-detail-panel{display:flex;flex-direction:column;gap:var(--space-xl)}.agent-config-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}.agent-config-detail-grid>div{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-md);font-size:var(--text-md);color:var(--ink);overflow-wrap:anywhere}.agent-config-detail-grid strong,.agent-config-detail-grid code,.agent-config-selectable,.agent-config-inline-code{user-select:text;-webkit-user-select:text;cursor:text}.agent-config-detail-wide{grid-column:span 2}.agent-config-label{color:var(--dim);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.agent-config-chip-row,.agent-config-gap-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-lg)}.agent-config-edit{display:flex;flex-direction:column;gap:var(--space-lg);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 78%,transparent);padding:var(--space-lg)}.agent-config-edit-empty{color:var(--muted);font-size:var(--text-sm)}.agent-config-edit-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(120px,.6fr);gap:var(--space-md)}.agent-config-field{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.agent-config-field-wide{grid-column:1 / -1}.agent-config-field span,.agent-config-check span{color:var(--dim);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.agent-config-field input,.agent-config-field select{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-snug)}.agent-config-field input:focus,.agent-config-field select:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.agent-config-field input:disabled,.agent-config-field select:disabled{opacity:.58;cursor:not-allowed}.agent-config-check{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0}.agent-config-check input{width:14px;height:14px;accent-color:var(--accent)}.agent-config-save-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.agent-config-save-note,.agent-config-save-error{font-size:var(--text-sm);line-height:var(--leading-snug)}.agent-config-save-note{color:var(--muted)}.agent-config-save-error{color:var(--red)}.agent-config-gap-list span{border-radius:var(--radius-lg);background:color-mix(in srgb,var(--amber) 10%,transparent);color:var(--ink);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.sys-audit-list{display:flex;flex-direction:column;gap:var(--space-3xs)}.sys-audit-entry{position:relative;border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:none}.sys-audit-entry-expanded{border-color:color-mix(in srgb,var(--accent) 14%,transparent);background:color-mix(in srgb,var(--accent) 1.5%,var(--surface));box-shadow:none}.sys-audit-toggle{display:grid;grid-template-columns:76px 16px minmax(0,1fr) auto;align-items:flex-start;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-xl);border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.sys-audit-toggle:hover{background:color-mix(in srgb,var(--accent) 2%,transparent)}.sys-audit-stamp{display:flex;flex-direction:column;gap:var(--space-3xs);padding-top:var(--space-3xs)}.sys-audit-time{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.sys-audit-date{font-size:var(--text-2xs);color:color-mix(in srgb,var(--dim) 70%,transparent);letter-spacing:.01em}.sys-audit-marker{position:relative;display:flex;justify-content:center;min-height:100%}.sys-audit-marker:before{content:"";position:absolute;top:12px;bottom:-14px;width:1px;background:color-mix(in srgb,var(--ink) 6%,transparent)}.sys-audit-entry:last-child .sys-audit-marker:before{display:none}.sys-audit-marker span{position:relative;z-index:1;width:7px;height:7px;border-radius:var(--radius-pill);margin-top:var(--space-xs);border:2px solid var(--surface);box-shadow:none}.sys-audit-marker-notice span{background:var(--amber)}.sys-audit-marker-working span{background:var(--accent)}.sys-audit-marker-completed span{background:var(--green)}.sys-audit-marker-failed span{background:var(--red)}.sys-audit-body{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0}.sys-audit-topline{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.sys-audit-category{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 5%,transparent);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);line-height:var(--leading-none)}.sys-audit-kind{font-size:var(--text-sm);color:var(--muted)}.sys-audit-title{font-size:var(--text-lg);font-weight:500;line-height:var(--leading-snug);color:var(--ink)}.sys-audit-summary{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sys-audit-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-lg);margin-top:var(--space-3xs)}.sys-audit-meta-item{display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0;font-size:var(--text-sm);color:var(--muted)}.sys-audit-meta-item+.sys-audit-meta-item:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--dim) 50%,transparent);margin-right:var(--space-2xs);flex-shrink:0}.sys-audit-avatar{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-pill);color:var(--bg);font-size:var(--text-2xs);font-weight:700}.sys-audit-expand{font-size:var(--text-xs);font-weight:600;color:var(--muted);padding-top:var(--space-2xs);white-space:nowrap;opacity:1;transition:color .12s ease}.sys-audit-toggle:hover .sys-audit-expand{opacity:1;color:var(--accent)}.sys-audit-jumps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-2xs)}.sys-audit-jumps-label{font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:color-mix(in srgb,var(--dim) 80%,transparent);margin-right:var(--space-3xs)}.sys-audit-jump{display:inline-flex;align-items:center;padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--ink) 9%,transparent);background:color-mix(in srgb,var(--surface) 94%,transparent);font-family:inherit;font-size:var(--text-sm);font-weight:600;color:var(--muted);cursor:pointer;line-height:var(--leading-normal);transition:color .12s ease,border-color .12s ease,background .12s ease}.sys-audit-jump:hover,.sys-audit-jump:focus-visible{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--accent);outline:none}.sys-audit-details{display:flex;flex-direction:column;gap:var(--space-lg);padding:0 var(--space-xl) var(--space-xl) 116px}.sys-issue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-sm)}.sys-issue-card{display:flex;flex-direction:column;gap:var(--space-sm);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--ink) 5%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);padding:var(--space-xl)}.sys-issue-card-notice{border-color:color-mix(in srgb,var(--amber) 16%,transparent);background:color-mix(in srgb,var(--amber) 4%,var(--surface))}.sys-issue-card-warning{border-color:color-mix(in srgb,var(--amber) 16%,transparent);background:color-mix(in srgb,var(--amber) 5%,var(--surface))}.sys-issue-card-error{border-color:color-mix(in srgb,var(--red) 12%,transparent);background:color-mix(in srgb,var(--red) 3%,var(--surface))}.sys-issue-head{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.sys-issue-title{font-size:var(--text-lg);font-weight:600;color:var(--ink)}.sys-issue-body{font-size:var(--text-md);color:var(--muted)}.sys-issue-action{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-size:var(--text-sm);color:var(--ink)}.sys-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);align-items:start}.sys-settings-page{max-width:960px!important}.sys-settings-hero{display:flex;gap:var(--space-3xl);align-items:flex-start}.sys-settings-qr-col{flex-shrink:0}.sys-settings-qr-frame{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:var(--space-2xl)}.sys-settings-qr-frame .s-qr{width:180px;height:180px;border:none;padding:0;background:transparent;border-radius:var(--radius-lg);overflow:hidden}.sys-settings-qr-frame .s-qr svg{width:100%;height:100%}.sys-settings-qr-expires{font-size:var(--text-sm);font-weight:600;color:var(--muted)}.sys-settings-qr-empty{display:flex;align-items:center;justify-content:center;width:212px;height:212px;border:1px dashed color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg) 70%,transparent)}.sys-settings-qr-empty-label{font-size:var(--text-md);color:var(--dim);text-align:center;padding:var(--space-2xl)}.sys-settings-info-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xl)}.sys-settings-kv-list{display:flex;flex-direction:column;gap:var(--space-xs)}.sys-settings-kv{display:flex;align-items:center;gap:var(--space-md);min-height:28px;border-bottom:1px solid color-mix(in srgb,var(--ink) 4%,transparent)}.sys-settings-kv:last-child{border-bottom:none}.sys-settings-kv-label{flex-shrink:0;width:96px;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.sys-settings-kv-value{display:flex;align-items:center;gap:var(--space-xs);min-width:0;font-size:var(--text-md);color:var(--ink)}.sys-settings-kv-value code{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-settings-link{min-width:0;color:inherit;text-decoration:none}.sys-settings-link:hover code{color:var(--accent)}.sys-settings-link-list{flex-wrap:wrap;gap:var(--space-sm)}.sys-settings-route-link{display:inline-flex;align-items:center;gap:2px;min-width:0}.sys-settings-kv-nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-settings-kv .sys-chip{margin:0}.sys-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:color .12s ease,background .12s ease}.sys-copy-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.sys-copy-btn--copied{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.sys-copy-btn--failed{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.sys-settings-controls{margin-top:var(--space-3xs)}.sys-settings-controls .s-btn:last-child{color:var(--red);border-color:color-mix(in srgb,var(--red) 25%,transparent)}.sys-settings-peers{border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:var(--space-2xl)}.sys-peers-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.sys-peers-table th{text-align:left;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);padding:var(--space-xs) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent)}.sys-peers-table th:last-child{text-align:right;width:72px}.sys-peers-table td{padding:var(--space-md);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--ink) 3%,transparent);vertical-align:middle}.sys-peers-table tr:last-child td{border-bottom:none}.sys-peers-row-connected td{background:color-mix(in srgb,var(--green) 3%,transparent)}.sys-peers-name{display:flex;align-items:center;gap:var(--space-sm);font-weight:600}.sys-peers-badge{font-size:var(--text-2xs);padding:var(--space-3xs) var(--space-xs)}.sys-peers-fp{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}.sys-peers-remove{border:none;background:transparent;font-size:var(--text-sm);font-weight:500;color:var(--dim);cursor:pointer;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);transition:color .12s ease,background .12s ease;float:right}.sys-peers-remove:hover{color:var(--red, #dc2626);background:color-mix(in srgb,var(--red, #dc2626) 6%,transparent)}.sys-peers-remove:disabled{opacity:.5;cursor:default}.sys-input-row{display:flex;align-items:center;gap:var(--space-md)}.sys-input{width:100%;min-width:0;height:38px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:var(--surface);padding:0 var(--space-lg);font-family:var(--font-sans);font-size:var(--text-lg);color:var(--ink)}.sys-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.sys-input-row .s-btn{border-radius:var(--radius-lg)}.sys-qr-stage{margin-bottom:var(--space-lg)}.sys-qr-block{display:flex;flex-direction:column;gap:var(--space-xl);align-items:center;min-width:0;border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);background:var(--bg);padding:var(--space-2xl);text-align:center}.sys-qr-meta{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);min-width:0}.sys-qr-meta h4{font-size:var(--text-xl);font-weight:600;color:var(--ink)}.sys-qr-meta p{font-size:var(--text-md);color:var(--muted)}.sys-trust-list{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-trust-row{display:flex;flex-direction:column;gap:var(--space-sm);border-radius:var(--radius-lg);border:none;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:var(--space-xl)}.sys-trust-main{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-trust-meta{display:flex;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;font-size:var(--text-sm);color:var(--muted)}@media(max-width:1024px){.sys-settings-grid,.sys-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.sys-settings-hero{flex-direction:column;align-items:stretch}.sys-settings-qr-col{align-self:center}.sys-settings-qr-empty{width:100%;height:120px}.sys-peers-table th:nth-child(3),.sys-peers-table td:nth-child(3){display:none}.sys-surface-page{padding:var(--space-3xl) var(--space-2xl) var(--space-5xl)}.sys-page-head,.sys-page-actions{flex-direction:column;align-items:flex-start}.sys-page-actions{justify-content:flex-start}.sys-settings-grid,.sys-list-grid,.agent-config-layout,.agent-config-detail-grid,.agent-config-edit-grid{grid-template-columns:minmax(0,1fr)}.agent-config-detail-wide{grid-column:auto}.sys-audit-toggle{grid-template-columns:60px 16px minmax(0,1fr) auto}.sys-audit-details{padding:0 var(--space-xl) var(--space-xl) 96px}.sys-qr-block{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.sys-trust-meta{flex-direction:column}}@media(max-width:560px){.sys-stat-grid,.sys-detail-grid,.sys-issue-grid{grid-template-columns:minmax(0,1fr)}.sys-section-head{flex-direction:column;align-items:flex-start}.agent-config-row{flex-direction:column}.agent-config-row-side{align-items:flex-start;max-width:none}.sys-audit-toggle{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.sys-audit-stamp{flex-direction:row;align-items:center;gap:var(--space-sm);padding-top:0}.sys-audit-expand{padding-top:0}.sys-audit-marker{display:none}.sys-audit-details{padding:0 var(--space-xl) var(--space-xl)}.sys-peers-table th:nth-child(4),.sys-peers-table td:nth-child(4){display:none}.sys-settings-kv-label{width:64px;font-size:var(--text-2xs)}}.s-ops--embedded{display:flex;height:100vh;min-height:0;flex-direction:column}.s-ops--embedded>.s-ops-body{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.s-ops--embedded.s-ops--split>.s-ops-body{flex-direction:row}.s-ops--embedded.s-ops--split>.s-ops-body>.sys-broker-page{flex:1 1 auto;min-width:0}.s-broker-embed-detail{display:flex;flex:0 0 clamp(340px,34vw,520px);min-width:0;min-height:0;border-left:1px solid var(--sys-hairline);background:color-mix(in srgb,var(--surface) 42%,transparent)}@media(max-width:900px){.s-broker-embed-detail{position:absolute;inset:0;flex:1 1 auto;border-left:0;background:var(--bg)}}.sys-broker-aftermath{display:flex;flex-direction:column;gap:var(--space-sm)}.sys-broker-aftermath-head{display:flex;align-items:center;gap:var(--space-sm)}.sys-broker-aftermath-outcome{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 55%,transparent)}.sys-broker-aftermath-outcome strong{font-size:var(--text-sm);font-weight:560}.sys-broker-aftermath-outcome--danger strong{color:var(--red)}.sys-broker-aftermath-outcome--success strong{color:var(--green)}.sys-broker-aftermath-duration{justify-self:start;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-outcome p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-replies{display:flex;flex-direction:column;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.sys-broker-aftermath-reply{display:flex;width:100%;flex-direction:column;gap:2px;padding:var(--space-sm) var(--space-md);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:transparent;text-align:left;transition:border-color .12s,background .12s}.sys-broker-aftermath-reply:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--sys-hairline));background:color-mix(in srgb,var(--surface) 55%,transparent)}.sys-broker-aftermath-reply:disabled{cursor:default}.sys-broker-aftermath-reply-head{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.sys-broker-aftermath-reply-head strong{overflow:hidden;color:var(--ink);font-size:var(--text-xs);font-weight:560;text-overflow:ellipsis;white-space:nowrap}.sys-broker-aftermath-answer{flex:0 0 auto;padding:0 4px;border-radius:var(--radius-2xs, 3px);background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:var(--tracking-lg);text-transform:uppercase}.sys-broker-aftermath-gap{margin-left:auto;flex:0 0 auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-reply-body{overflow:hidden;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-more{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.sys-broker-aftermath-empty{margin:0;color:var(--dim);font-size:var(--text-xs);line-height:1.5}.sys-broker-aftermath-links{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.sys-broker-aftermath-link{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-sm);border:1px solid var(--sys-hairline);border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:var(--text-xs);transition:border-color .12s,color .12s}.sys-broker-aftermath-link:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--sys-hairline));color:var(--ink)}.sys-broker-aftermath-foot{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}
@@ -0,0 +1,2 @@
1
+ import{i as A,b as w}from"./lane-edit-display-C_Aujldz.js";const E=/^permission ([a-z_]+) · ([A-Za-z][\w-]*)$/i,S=/^phase · ([a-z0-9_]+)$/i,b=/^turn (\d+)(?: · (.+))?$/i,O=new Set(["waiting_for_model","streaming_reasoning","streaming_text","tool_execution","permission_prompt"]);function C(t){const r=t.trim();if(!r)return null;const e=r.match(E);if(e?.[1]&&e[2])return{kind:"permission",decision:e[1].toLowerCase(),tool:e[2]};const s=r.match(S);if(s?.[1])return{kind:"phase",phase:s[1]};const c=r.match(b);return c?.[1]?{kind:"turn",turn:Number(c[1]),model:c[2]?.trim()||void 0}:null}function J(t){return t.trim().replace(/_/g," ")}function R(t){const r=t.trim().replace(/\/+$/u,""),e=r.lastIndexOf("/");return e>=0?r.slice(e+1):r}function V(t){if(t.kind==="tool"){if(t.tool==="res")return"result";if(A(t.tool)){const e=t.arg?.trim();return e?R(e):"edit"}return t.tool?.trim()||"tool"}const r=C(t.text??"");return r?r.kind==="permission"&&r.tool?r.tool:r.kind==="phase"?"phase":r.kind==="turn"?"turn":null:null}const $=O;function I(t){const r=t.raw;if(!r||typeof r!="object"||Array.isArray(r))return null;const e=r.payload;if(!e||typeof e!="object"||Array.isArray(e))return null;const s=e.type;return typeof s=="string"?s:null}function N(t){const r=t.trim();return r.startsWith("-> Chunk ID:")||/^->\s+Wall time:/u.test(r)}function x(t){if(t.source!=="cursor"||t.kind!=="system")return!1;const r=t.summary.trim().toLowerCase();return r==="process sample"||r.startsWith("process sample ·")}function z(t){if(x(t))return!0;if(t.source==="grok"){const e=t.summary.trim().toLowerCase();if(e==="first token"||e.startsWith("loop "))return!0;if(!e.startsWith("phase ·"))return!1;const s=e.slice(7).trim();return $.has(s)}if(t.source!=="codex")return!1;if(t.kind==="tool-result"){const e=t.summary.trim();if(N(e)||/_end ·/u.test(e)||e.startsWith("->"))return!0}if(t.kind!=="system")return!1;const r=t.summary.trim().toLowerCase();return!!(r==="user_message"||r==="agent_message"||r==="[reasoning]"||r.startsWith("turn context")||r.startsWith("tokens ·")||r.startsWith("session "))}function q(t,r){return t.filter(e=>!z(e))}const D={"scout-managed":"scout","hudson-managed":"hudson",unattributed:"native"};function Z(t){return D[t]??t}function Q(t,r){if(t.kind==="tool"||t.kind==="tool-result")return;const e=r?.project?.trim()||r?.cwd?.trim()||t.project?.trim()||t.cwd?.trim(),s=Z(t.harness);return e?`${e} · ${s}`:`${t.source} · ${s}`}const W=/^([A-Za-z][\w-]*) started$/,G=/^([A-Za-z][\w-]*) completed(?: · (.+))?$/,U=/^([A-Za-z][\w-]*) · (.+?)(?: · (success|error|failed))?$/,p=/^([A-Za-z_][\w.-]*)\((.*)\)$/s;function g(t){return(t??"").trim().toLowerCase()}function v(t){const r=g(t);return r==="read"||r==="read_file"}function tt(t){const r=g(t);return r==="edit"||r==="write"||r==="patch"||r==="apply_patch"}const P={exec_command:"Shell",apply_patch:"Edit",patch_apply:"Edit",read_file:"Read",write_stdin:"Shell",web_search:"Search"};function K(t){if(!t?.trim())return null;try{const r=JSON.parse(t);return r&&typeof r=="object"&&!Array.isArray(r)?r:null}catch{return null}}function j(t){if(t){if(typeof t.cmd=="string"&&t.cmd.trim())return t.cmd.trim();if(typeof t.command=="string"&&t.command.trim())return t.command.trim();if(Array.isArray(t.command))return t.command.filter(r=>typeof r=="string").join(" ").trim()||void 0}}function F(t){const r=j(K(t));if(r)return r;if(!t?.trim())return;const e=t.match(/"cmd"\s*:\s*"((?:\\.|[^"\\])*)"/u);if(e?.[1])return e[1].replace(/\\n/gu,`
2
+ `).replace(/\\t/gu," ").replace(/\\"/gu,'"').replace(/\\\\/gu,"\\").trim()}function _(t){return P[t]??t}const M=new Set(["read","write","edit","multiedit","notebookedit","glob","grep","ls","task","agent","webfetch","websearch","todowrite","todoread","bashoutput","killshell","killbash","slashcommand","exitplanmode","bash"]);function h(t){const r=t.toLowerCase();return M.has(r)||t.startsWith("mcp__")?!0:/^[A-Z][A-Za-z0-9]*$/.test(t)}const B=/^res:\s*([\s\S]*)$/,k=/^([A-Za-z][\w-]*)(?:\s+([\s\S]+))?$/,T=/^([\s\S]+?)\s+->\s+res:\s*([\s\S]+)$/,H=/\b(?:failed|failure|exception|fatal|denied|traceback)\b|error:/i;function X(t){const r=t.trim().match(T);return!r?.[1]||!r[2]?null:{command:r[1].trim(),preview:r[2].trim()}}function y(t){return H.test(t)?"error":"success"}function d(t,r){const e={tool:"bash",arg:t};return r&&(e.result={outcome:y(r)},e.stream=[r]),e}function L(t){const r=t.trim();if(!r||!/\s/u.test(r)||T.test(r)||/^res:\s/i.test(r)||p.test(r)||/^[A-Za-z_][\w.-]*\(/u.test(r))return!1;const e=r.split(/\s+/)[0]??"";return!(/^[A-Z][A-Za-z0-9]*$/.test(e)&&h(e))}function rt(t){if(t.source==="codex"&&t.kind==="system"){const r=t.summary.trim().toLowerCase();if(r==="task started"||r==="task complete"||r.startsWith("turn aborted"))return"note";if(I(t)==="reasoning"&&r!=="[reasoning]")return"think"}if(t.source==="grok"&&t.kind==="system"&&/^turn \d+/u.test(t.summary.trim()))return"note";if(t.source==="kimi"&&t.kind==="system"&&t.summary.trim().startsWith("[thinking] "))return"think";switch(t.kind){case"assistant":return"message";case"tool":case"tool-result":return"tool";case"user":return"ask";case"system":return"system";default:return"note"}}function et(t,r){if(t.kind==="tool"||t.kind==="tool-result"){if(r.tool&&r.arg)return`${r.tool} · ${r.arg}`;if(r.tool)return r.tool}if(t.source==="codex"&&t.kind==="system"){const e=t.summary.trim().toLowerCase();if(e==="task started")return"Turn started";if(e==="task complete")return"Turn complete";if(e.startsWith("turn aborted"))return t.summary.trim()}if(t.source==="grok"&&t.kind==="system"){const e=t.summary.trim().match(/^turn (\d+)(?: · (.+))?$/i);if(e?.[1])return e[2]?.trim()?`turn ${e[1]} · ${e[2].trim()}`:`turn ${e[1]}`}if(t.source==="kimi"&&t.kind==="system"){const e=t.summary.trim().match(/^\[thinking\]\s+([\s\S]+)$/u);if(e?.[1])return e[1]}return t.summary}function st(t){if(t.kind!=="tool"&&t.kind!=="tool-result")return{};const r=t.summary.trim();if(!r)return{};const e=t.source==="claude"||t.source==="kimi",s=X(r);if(s){if(e){const i=s.command.match(k);if(i&&h(i[1])){const o={tool:i[1],result:{outcome:y(s.preview)},stream:[s.preview]},n=i[2]?.trim();return n&&(o.arg=n),o}}return d(s.command,s.preview)}if(t.source==="grok"){const i=w(r);if(i){const u={tool:"StrReplace",arg:i.path};return i.outcome&&(u.result={outcome:i.outcome}),u}const o=r.match(U);if(o?.[1]&&o[2]){const u={tool:o[1],arg:o[2]};return o[3]&&(u.result={outcome:o[3]}),u}const n=r.match(W);if(n?.[1])return{tool:n[1],arg:"started"};const a=r.match(G);if(a?.[1]){const u={tool:a[1],arg:"completed"};return a[2]&&(u.result={outcome:a[2]}),u}}if(e){const i=r.match(B);if(i){const n=i[1].trim(),a={tool:"res",result:{outcome:y(n)}};return n&&(a.arg=n,a.stream=[n]),a}const o=r.match(k);if(o&&h(o[1])){const n=o[2]?.trim();return n?{tool:o[1],arg:n}:{tool:o[1]}}return{tool:"bash",arg:r}}if(t.source==="codex"){const i=r.match(/^([A-Za-z_][\w.-]*)_(?:start|end) · (.+)$/);if(i?.[1]&&i[2]){const n=_(i[1]),a=i[2].trim(),u={tool:n,arg:t.kind==="tool-result"?"completed":a};return t.kind==="tool-result"&&(u.result={outcome:/error|failed/u.test(a)?"error":"success"}),u}const o=r.match(p)??r.match(/^([A-Za-z_][\w.-]*)\((.*)$/s);if(o?.[1]){const n=o[1],a=o[2]?.trim(),u=F(a),f=_(n);return u?{tool:f,arg:u}:n==="apply_patch"||n==="patch_apply"?{tool:f,arg:"patch"}:{tool:f,arg:a||void 0}}if(L(r))return d(r)}const c=r.match(p)??r.match(/^([A-Za-z_][\w.-]*)\((.*)$/s);if(c?.[1])return{tool:c[1],arg:c[2]?.trim()||void 0};const m=r.match(/^([A-Za-z_][\w.-]*) · (.+)$/);if(m?.[1])return{tool:m[1],arg:m[2]};if(L(r))return d(r);const l=r.split(/\s+/)[0];return l&&l.toLowerCase()!==t.source.toLowerCase()?{tool:l}:{}}function ot(t){const r=[];for(const e of t){const s=r[r.length-1];if(s&&s.event.sessionId===e.event.sessionId&&s.event.source===e.event.source&&s.event.kind===e.event.kind&&s.event.summary===e.event.summary){s.repeatCount+=1,s.event=e.event,s.meta=e.meta;continue}r.push({event:e.event,repeatCount:1,meta:e.meta})}return r}const nt={user:">",assistant:"<",tool:"*","tool-result":"=",system:"~",other:"·"},it={user:"USR",assistant:"AST",tool:"TOL","tool-result":"OUT",system:"SYS",other:"EVT"};export{nt as T,tt as a,it as b,ot as c,st as d,et as e,q as f,rt as g,Z as h,z as i,V as j,J as k,v as o,C as p,Q as t};
@@ -0,0 +1 @@
1
+ import{r as c,f as o}from"./index-DMiGbrBt.js";import{c as f,a as b,w as d}from"./index-BWHgHrtv.js";const r=new Set;let n=null,l=null,s=null;function p(t){for(const e of[...r])e(t)}function S(){s||(n||(n=f({url:o()}),l=b({links:[d({client:n})]})),s=l.tail.events.subscribe(void 0,{onData:t=>{const e=t.data;e&&p(e)}}))}function m(){s?.unsubscribe(),s=null}function C(t,e=!0){const i=c.useRef(t);i.current=t,c.useEffect(()=>{if(!e)return;const u=a=>i.current(a);return r.add(u),S(),()=>{r.delete(u),r.size===0&&m()}},[e])}export{C as u};
@@ -0,0 +1 @@
1
+ import{c as e}from"./createLucideIcon-OpA4Amw5.js";const o=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],a=e("terminal",o);export{a as T};
@@ -0,0 +1 @@
1
+ import{a as i}from"./api-h5zurxmi.js";import{a as c}from"./router-Bq5dwf78.js";import{s as l}from"./terminal-sessions-D5CIR2OL.js";const v=132,b=44;function u(e){return e==="codex"?"codex":e==="pi"?"pi":void 0}function a(e){return e==="observe"?"observe":"takeover"}function f(e,n,t="takeover"){return`scout-tmux-${e}-${n}-${t}`}function m(e){return e?e.terminalSurface?e.terminalSurface:e.transport==="tmux"&&e.harnessSessionId?{backend:"tmux",sessionName:e.harnessSessionId,paneId:null,socketDir:null}:null:null}function g(e,n){if(!n)return e;try{const t=new URL(e);return t.searchParams.set("agentId",n),t.toString()}catch{const t=e.includes("?")?"&":"?";return`${e}${t}agentId=${encodeURIComponent(n)}`}}function $(e,n){return n==="takeover"&&!!e&&!m(e)}function y(e){return e?{backend:e.backend,terminalSession:e.sessionName,...e.backend==="tmux"?{tmuxSession:e.sessionName}:{},...e.backend==="zellij"?{zellijSession:e.sessionName,...e.socketDir?{zellijSocketDir:e.socketDir}:{}}:{},...e.backend==="herdr"?{herdrSession:e.sessionName,tmuxSession:e.sessionName}:{}}:null}function T(e){const{agentId:n,agent:t,terminalSurface:o,registeredTarget:s}=e,r=a(e.mode),d=o&&t?`scout-terminal-${o.backend}-${t.id}-${o.sessionName}-${r}`:s&&o?`scout-terminal-registry-${s.session.id}-${o.backend}-${o.sessionName}-${r}`:n?`scout-takeover-${n}-${r}`:`scout-takeover-${r}`;return o?.backend==="tmux"&&t?f(t.id,o.sessionName,r):d}function N(e){const n=T({agentId:e.agentId,agent:e.agent,terminalSurface:e.terminalSurface,registeredTarget:e.registeredTarget,mode:e.mode}),t=a(e.mode);return{relayStorageSessionKey:n,scopedRelayUrl:g(e.relayUrl,e.agentId),cwd:e.cwd??void 0,relayAgent:u(e.harness),surfaceOptions:y(e.terminalSurface),orphanTTL:e.terminalSurface?1e3:void 0,controlMode:t}}function h(e){return e.registeredTarget?{view:"terminal",terminalSessionId:e.registeredTarget.session.id,terminalSurfaceKey:l(e.registeredTarget.surface)}:e.agentId?{view:"terminal",agentId:e.agentId}:{view:"terminal"}}function R(e,n){return n?{...e,mode:n}:e}function w(e){const n=c(e);return typeof window>"u"?n:new URL(n,window.location.href).toString()}function x(e,n){return i("/api/terminal-sessions/control",{method:"POST",body:JSON.stringify({backend:e.backend,sessionName:e.sessionName,action:n})})}function O(e){return i("/api/terminal-relay/session/destroy",{method:"POST",body:JSON.stringify({sessionId:e})})}function U(e){try{window.localStorage.removeItem(`hudson.relay.${e}`)}catch{}}export{v as S,b as a,N as b,x as c,h as d,w as e,U as f,O as g,m as r,$ as s,R as w};
@@ -0,0 +1 @@
1
+ .s-term{height:100%;display:flex;flex-direction:column;background:#0d0d0d;overflow:hidden;container-type:inline-size}.s-terminal-embed{width:100vw;height:100vh;min-height:0;overflow:hidden;background:#0d0d0d}.s-term-bar{display:flex;align-items:center;gap:var(--space-md);padding:0 var(--space-3xl);height:48px;flex:none;border-bottom:1px solid rgba(255,255,255,.06);background:#111}.s-term-bar>*{min-width:0}.s-term-bar--takeover{display:grid;grid-template-columns:minmax(220px,auto) minmax(140px,1fr) auto;column-gap:var(--space-2xl)}.s-term-bar-left,.s-term-bar-meta,.s-term-bar-actions{display:flex;align-items:center;min-width:0}.s-term-bar-left,.s-term-bar-meta{gap:var(--space-lg)}.s-term-bar-actions{gap:var(--space-md);justify-content:flex-end}.s-term-action-cluster{display:inline-flex;align-items:center;gap:var(--space-2xs);flex:none;min-width:0}.s-term-action-cluster--signals{padding-left:var(--space-sm);margin-left:var(--space-2xs);border-left:1px solid rgba(251,191,36,.18)}.s-term-back{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);color:#fff6;background:none;border:none;cursor:pointer;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);flex:none;white-space:nowrap;transition:color .12s,background .12s}.s-term-back:hover{color:#ffffffbf;background:var(--scout-chrome-hover)}.s-term-agent{display:flex;align-items:center;gap:var(--space-sm);flex:0 1 min(300px,24vw);max-width:min(300px,24vw);min-width:0}.s-term-agent-name{font-size:var(--text-md);font-weight:500;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-agent-handle{font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffff59;letter-spacing:var(--tracking-sm);flex:0 1 auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);color:#ffffff40;text-transform:uppercase;flex:none;white-space:nowrap}.s-term-session{min-width:0;flex:1 1 180px;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffff6b}.s-term-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);border:1px solid rgba(94,234,212,.22);border-radius:var(--radius-sm);background:#5eead414;color:#dbfff8d1;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);min-width:auto;height:30px;padding:0 var(--space-md);text-transform:uppercase;white-space:nowrap;flex:none}.s-term-action:hover:not(:disabled){background:#5eead424;color:#f0fffcf2}.s-term-action:disabled{cursor:not-allowed;opacity:.58}.s-term-action--warn{border-color:#fbbf243d;background:#fbbf2414;color:#ffedb4db}.s-term-action--warn:hover:not(:disabled){background:#fbbf2424;color:#fff7d6f5}.s-term-action--danger{border-color:#f8717147;background:#f8717114;color:#ffdcdce0}.s-term-action--danger:hover:not(:disabled){background:#f8717126;color:#fff0f0fa}.s-term-session-menu{border-color:#ffffff29;background:#ffffff0e;color:#ffffffb8}.s-term-session-menu:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.s-term-registered-chip{display:inline-flex;align-items:center;gap:var(--space-sm);min-width:0;max-width:min(520px,42vw);color:#ffffffb3;font-family:var(--font-mono);font-size:var(--text-xs)}.s-term-registered-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-registered-chip span:last-child{color:#ffffff61}.s-term-status{margin-left:var(--space-3xs);display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:#ffffff4d;flex:none;white-space:nowrap}.s-term-icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0e;color:#ffffffa3;cursor:pointer}.s-term-icon-button:hover:not(:disabled){background:#ffffff1a;color:#ffffffeb}.s-term-icon-button:disabled{cursor:progress;opacity:.52}.s-term-icon-button--danger{border-color:#f8717133;color:#ffd2d2b8}.s-term-icon-button--danger:hover:not(:disabled){background:#f871711f;color:#ffe8e8f0}@container (max-width: 980px){.s-term-bar--takeover{grid-template-columns:minmax(0,1fr);height:auto;min-height:86px;align-content:center;row-gap:var(--space-sm);padding:var(--space-md) var(--space-xl)}.s-term-bar-left,.s-term-bar-meta,.s-term-bar-actions{width:100%}.s-term-bar-left{gap:var(--space-md)}.s-term-bar-actions{justify-content:flex-start;flex-wrap:wrap}.s-term-action-cluster{flex-wrap:wrap}.s-term-bar--takeover .s-term-agent{flex:1 1 auto;max-width:none}.s-term-bar--takeover .s-term-session{flex-basis:160px}}@container (max-width: 520px){.s-term-bar--takeover .s-term-agent-handle{display:none}.s-term-action{height:28px;padding:0 var(--space-md)}}.s-term-body{flex:1;min-height:0;overflow:hidden}.s-term--empty-main{display:grid;place-items:center}.s-term--summary{justify-content:flex-start;padding:clamp(24px,5vh,52px) clamp(24px,5vw,72px);overflow:auto}.s-term--home{justify-content:flex-start;padding:clamp(22px,4vh,42px) clamp(20px,4vw,58px);overflow:auto}.s-term--workspace{justify-content:flex-start;padding:clamp(16px,3vh,32px) clamp(16px,3vw,44px);overflow:auto}.s-term-workspace{width:min(1480px,100%);min-height:100%;display:grid;grid-template-rows:auto;gap:var(--space-xl);align-self:center}.s-term-workspace-head{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2xl)}.s-term-workspace-title{min-width:0;display:grid;gap:var(--space-sm)}.s-term-workspace-title h1{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:clamp(22px,3vw,34px);font-weight:520;line-height:var(--leading-tight);letter-spacing:0;color:#ffffffe6}.s-term-workspace-title p{max-width:680px;margin:0;font-size:var(--text-sm);color:#fff6}.s-term--workspace-library,.s-term--workspace-builder{justify-content:flex-start;padding:clamp(22px,4vh,44px) clamp(20px,4vw,58px);overflow:auto}.s-term-workspace-library,.s-term-workspace-builder{width:min(1380px,100%);display:grid;gap:var(--space-3xl);align-self:center}.s-term-workspace-library-head,.s-term-workspace-builder-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2xl)}.s-term-workspace-library-head>div:first-child,.s-term-workspace-builder-head>div:first-child{min-width:0;display:grid;gap:var(--space-sm)}.s-term-workspace-library-head h1,.s-term-workspace-builder-head h1{margin:0;font-family:var(--font-mono);font-size:clamp(28px,4vw,46px);font-weight:520;line-height:var(--leading-tight);color:#ffffffeb}.s-term-workspace-library-head p,.s-term-workspace-builder-head p{max-width:720px;margin:0;color:#ffffff6b;font-size:var(--text-sm)}.s-term-workspace-library-empty{min-height:420px;display:grid;place-items:center;align-content:center;gap:var(--space-lg);border:1px dashed rgba(94,234,212,.2);border-radius:var(--radius-md);background:#5eead406;text-align:center;color:#dbfff899}.s-term-workspace-library-empty h2,.s-term-workspace-library-empty p{margin:0}.s-term-workspace-library-empty h2{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:520;color:#fffc}.s-term-workspace-library-empty p{max-width:520px;color:#ffffff61}.s-term-workspace-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--space-lg)}.s-term-workspace-card{min-width:0;display:grid;gap:var(--space-lg);padding:var(--space-lg);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:#ffffff06}.s-term-workspace-card-preview{height:108px;display:grid;grid-template-columns:repeat(var(--terminal-grid-columns, 2),minmax(0,1fr));gap:var(--space-xs);padding:var(--space-sm);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm);background:#090909}.s-term-workspace-card-preview span{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:3px;background:#ffffff09}.s-term-workspace-card-preview span.is-session{border-color:#5eead433;background:#5eead411}.s-term-workspace-card-copy{min-width:0;display:grid;gap:var(--space-xs)}.s-term-workspace-card-copy>span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#5eead475}.s-term-workspace-card-copy h2,.s-term-workspace-card-copy p{margin:0}.s-term-workspace-card-copy h2{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:520;color:#ffffffd6}.s-term-workspace-card-copy p{min-height:38px;color:#ffffff61;font-size:var(--text-sm)}.s-term-workspace-card-actions,.s-term-workspace-builder-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap}.s-term-workspace-builder-identity{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);gap:var(--space-lg);padding:var(--space-lg);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:#ffffff05}.s-term-workspace-builder-identity label{min-width:0;display:grid;gap:var(--space-sm)}.s-term-workspace-builder-identity label>span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#ffffff61}.s-term-workspace-builder-identity input{min-width:0;height:40px;padding:0 var(--space-md);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:#0a0a0a;color:#ffffffd6;font-family:var(--font-mono);font-size:var(--text-sm);outline:none}.s-term-workspace-builder-identity input:focus{border-color:#5eead46b;box-shadow:0 0 0 2px #5eead412}.s-term-workspace-builder-layout,.s-term-workspace-builder-placement{min-width:0;display:grid;gap:var(--space-lg)}.s-term-workspace-builder-section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg)}.s-term-workspace-builder-section-head>div{display:grid;gap:var(--space-xs)}.s-term-workspace-builder-section-head span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:#5eead485}.s-term-workspace-builder-section-head h2,.s-term-workspace-builder-section-head p{margin:0}.s-term-workspace-builder-section-head h2{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:520;color:#fffc}.s-term-workspace-builder-section-head p{font-size:var(--text-sm);color:#ffffff57}.s-term-workspace-builder-canvas{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:var(--space-lg);align-items:stretch}.s-term-workspace-builder-grid{min-width:0;display:grid;grid-template-columns:repeat(var(--terminal-grid-columns, 2),minmax(0,1fr));gap:var(--space-sm);padding:var(--space-md);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:#090909}.s-term-workspace-builder-cell{position:relative;min-width:0;min-height:154px;display:grid;place-items:center;align-content:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);background:#ffffff05;color:#ffffff61;cursor:pointer;font-family:var(--font-mono)}.s-term-workspace-builder-cell.is-selected{border-color:#5eead494;background:#5eead412;box-shadow:inset 0 0 0 1px #5eead41f}.s-term-workspace-builder-cell-select{min-width:0;width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:var(--space-sm);border:0;background:transparent;color:inherit;cursor:pointer;font-family:inherit}.s-term-workspace-builder-cell-remove{position:absolute;top:var(--space-xs);right:var(--space-xs);display:grid;place-items:center;width:22px;height:22px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;color:#ffffff52;cursor:pointer}.s-term-workspace-builder-cell-remove:hover{border-color:#f8717152;color:#f87171db}.s-term-workspace-builder-cell--add{color:#ffffff6b;border-style:dashed}.s-term-workspace-builder-cell--add:hover{border-color:#5eead45c;color:#ffffffc7}.s-term-workspace-builder-columns{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:#ffffff5c;text-transform:uppercase}.s-term-workspace-builder-columns button{min-width:26px;padding:3px 6px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-xs);background:#ffffff06;color:#fff9;font-family:inherit;font-size:var(--text-2xs);cursor:pointer}.s-term-workspace-builder-columns button.is-selected{border-color:#5eead46b;background:#5eead417;color:#ffffffeb}.s-term-workspace-builder-cell-select>span{justify-self:start;align-self:start;font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:#ffffff47}.s-term-workspace-builder-cell strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:520;color:#ffffffbd}.s-term-workspace-builder-cell small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);color:#ffffff4d}.s-term-workspace-builder-source{min-width:0;display:grid;align-content:start;gap:var(--space-md);padding:var(--space-lg);border:1px solid rgba(94,234,212,.14);border-radius:var(--radius-md);background:#5eead406}.s-term-workspace-builder-source>span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:#5eead494}.s-term-workspace-builder-source h3{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:520;text-transform:uppercase;letter-spacing:var(--tracking-md);color:#fff9}.s-term-workspace-builder-source-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap}.s-term-workspace-builder-source-actions button,.s-term-workspace-builder-sessions button{border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);background:#ffffff06;color:#ffffff94;cursor:pointer;font-family:var(--font-mono)}.s-term-workspace-builder-source-actions button{height:30px;padding:0 var(--space-md);font-size:var(--text-2xs);text-transform:uppercase}.s-term-workspace-builder-source-actions button:hover,.s-term-workspace-builder-sessions button:hover{border-color:#5eead452;background:#5eead40f;color:#ffffffd1}.s-term-workspace-builder-sessions{max-height:320px;display:grid;overflow:auto;border-top:1px solid rgba(255,255,255,.07)}.s-term-workspace-builder-sessions button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-width:0 0 1px;text-align:left}.s-term-workspace-builder-sessions button>span{min-width:0;display:grid;gap:var(--space-3xs)}.s-term-workspace-builder-sessions strong,.s-term-workspace-builder-sessions small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-workspace-builder-sessions strong{font-size:var(--text-xs);font-weight:520}.s-term-workspace-builder-sessions small,.s-term-workspace-builder-sessions em,.s-term-workspace-builder-no-sessions{font-size:var(--text-2xs);font-style:normal;color:#ffffff4d}.s-term-workspace-builder-no-sessions{padding:var(--space-xl) 0;text-align:center;text-transform:uppercase}.s-term-workspace-actions,.s-term-workspace-empty-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap}.s-term-workspace-action{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);flex:none;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0e;color:#ffffffb8;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);padding:0 var(--space-lg);text-transform:uppercase;white-space:nowrap}.s-term-workspace-action:hover:not(:disabled){background:#ffffff1a;color:#ffffffeb}.s-term-workspace-action:disabled{cursor:not-allowed;opacity:.5}.s-term-workspace-action--primary{border-color:#5eead447;background:#5eead41a;color:#dbfff8e6}.s-term-workspace-action--primary:hover:not(:disabled){background:#5eead429}.s-term-workspace-empty{min-height:clamp(300px,42vh,460px);display:grid;place-items:center;align-content:center;gap:var(--space-lg);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(94,234,212,.035),transparent 42%),#ffffff05;color:#ffffff73;font-family:var(--font-mono)}.s-term-workspace-empty strong{font-size:var(--text-sm);font-weight:520;letter-spacing:var(--tracking-md);text-transform:uppercase;color:#ffffff9e}.s-term-workspace-grid{min-width:0;display:grid;grid-template-columns:repeat(var(--terminal-grid-columns, 2),minmax(0,1fr));gap:var(--space-lg);align-content:start;align-items:stretch}.s-term-grid-setup{min-width:0;display:grid;gap:var(--space-xl);padding:clamp(18px,3vw,30px);border:1px solid rgba(94,234,212,.16);border-radius:var(--radius-md);background:radial-gradient(circle at 100% 0%,rgba(94,234,212,.08),transparent 34%),#ffffff06}.s-term-grid-setup-copy{display:grid;gap:var(--space-xs)}.s-term-grid-setup-kicker{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:#5eead49e}.s-term-grid-setup-copy h2,.s-term-grid-setup-copy p{margin:0}.s-term-grid-setup-copy h2{max-width:720px;font-family:var(--font-mono);font-size:clamp(17px,2vw,23px);font-weight:520;color:#ffffffe0}.s-term-grid-setup-copy p{font-size:var(--text-sm);color:#ffffff6b}.s-term-grid-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.s-term-grid-preset{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--space-md);align-items:center;padding:var(--space-md);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);background:#ffffff06;color:#ffffff94;text-align:left;cursor:pointer}.s-term-grid-preset:hover,.s-term-grid-preset--selected{border-color:#5eead447;background:#5eead412;color:#ffffffe6}.s-term-grid-preset:focus-visible,.s-term-grid-slot-options button:focus-visible{outline:1px solid rgba(94,234,212,.72);outline-offset:2px}.s-term-grid-preset-map{grid-row:1 / -1;width:52px;height:34px;display:grid;grid-template-columns:repeat(var(--terminal-preset-columns),minmax(0,1fr));gap:3px}.s-term-grid-preset-map i{min-width:0;border:1px solid currentColor;border-radius:2px;background:currentColor;opacity:.36}.s-term-grid-preset-label,.s-term-grid-preset-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.s-term-grid-preset-label{font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-term-grid-preset-detail{font-size:var(--text-2xs);color:#ffffff52}.s-term-grid-slots{min-width:0;display:grid;grid-template-columns:repeat(var(--terminal-preset-columns),minmax(0,1fr));gap:var(--space-sm)}.s-term-grid-slot{min-width:0;min-height:112px;display:grid;align-content:space-between;gap:var(--space-lg);padding:var(--space-md);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:#0a0a0a}.s-term-grid-slot-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:#ffffff4d}.s-term-grid-slot-options{display:flex;gap:var(--space-2xs);flex-wrap:wrap}.s-term-grid-slot-options button{min-height:25px;padding:0 var(--space-sm);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#ffffff5c;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.s-term-grid-slot-options button:hover{color:#ffffffb8;background:#ffffff0d}.s-term-grid-slot-options button.is-selected{border-color:#5eead438;background:#5eead417;color:#dbfff8db}.s-term-grid-setup-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.07);font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffff57}.s-term-grid-setup-actions{display:flex;align-items:center;gap:var(--space-sm);flex:none}.s-term-workspace-tile{min-width:0;height:clamp(360px,44vh,620px);min-height:360px;overflow:hidden;border:1px solid rgba(255,255,255,.095);border-radius:var(--radius-sm);background:#090909;box-shadow:0 18px 52px #0000003d}.s-term-workspace-cell{min-width:0;border-radius:var(--radius-sm);transition:opacity .12s ease,box-shadow .12s ease,transform .12s ease}.s-term-workspace-cell .s-term-bar{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.s-term-workspace-cell .s-term-bar:active{cursor:grabbing}.s-term-workspace-cell .s-term-bar button,.s-term-workspace-cell .s-term-bar a{cursor:pointer}.s-term-workspace-cell--dragging{opacity:.42;transform:scale(.985)}.s-term-workspace-cell--drop-target{box-shadow:0 0 0 2px #5eead4b8,0 18px 52px #00000047}.s-term-workspace-add-cell{min-width:0;height:150px;min-height:150px;display:grid;place-items:center;align-content:center;gap:var(--space-sm);border:1px dashed rgba(94,234,212,.32);border-radius:var(--radius-sm);background:#5eead409;color:#dbfff885;cursor:pointer;font-family:var(--font-mono);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.s-term-workspace-add-cell strong{font-size:var(--text-xs);font-weight:520;letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-term-workspace-add-cell span{font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:#ffffff4d}.s-term-workspace-add-cell--target{border-color:#5eead4e0;background:#5eead41a;box-shadow:inset 0 0 0 1px #5eead43d}.s-term-workspace-tile>.s-term{height:100%}.s-term-workspace-tile--unavailable{display:grid;grid-template-rows:auto 1fr;border-style:dashed;background:#ffffff05}.s-term-workspace-unavailable-body{display:grid;place-content:center;justify-items:center;gap:var(--space-sm);padding:var(--space-2xl);text-align:center;color:#ffffff47}.s-term-workspace-unavailable-body strong{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:520;color:#ffffff9e}.s-term-workspace-unavailable-body span{max-width:36ch;font-size:var(--text-xs);line-height:1.55}.s-term-workspace-tile-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid rgba(94,234,212,.18);border-radius:var(--radius-sm);color:#dbfff8c2;background:#5eead40f}.s-term-attach{min-width:0;display:grid;gap:var(--space-md)}.s-term-attach-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--space-sm)}.s-term-attach-card{min-width:0;min-height:58px;display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px solid rgba(255,255,255,.095);border-radius:var(--radius-sm);background:#ffffff08;color:inherit;cursor:grab}.s-term-attach-card:hover,.s-term-attach-card:focus-visible{border-color:#5eead447;background:#5eead40e;outline:none}.s-term-attach-card:active{cursor:grabbing}.s-term-attach-card--active{cursor:default;opacity:.66}.s-term-attach-card-icon{display:inline-flex;align-items:center;justify-content:center;color:#dbfff8bd}.s-term-attach-card-copy{min-width:0;display:grid;gap:2px}.s-term-attach-card-title,.s-term-attach-card-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.s-term-attach-card-title{font-size:var(--text-xs);color:#ffffffc7}.s-term-attach-card-detail{font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff57}.s-term-attach-card-badges{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-3xs)}.s-term-attach-card-badges span{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px var(--space-2xs);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff6b;text-transform:uppercase}.s-term-attach-empty{min-height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:#ffffff57;text-transform:uppercase}.s-term-workspace-tile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffffc2}.s-term-workspace-dock{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xl);align-items:start}.s-term-picker{min-width:0;display:grid;gap:var(--space-md);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);background:#ffffff05}.s-term-picker--collapsed{gap:0}.s-term-picker-head{min-width:0;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);border-bottom:1px solid rgba(255,255,255,.07)}.s-term-picker--collapsed .s-term-picker-head{border-bottom:0}.s-term-picker-title,.s-term-picker-actions{min-width:0;display:flex;align-items:center;gap:var(--space-sm)}.s-term-picker-title{color:#dbfff8ad}.s-term-picker-title h2{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:520;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#ffffffb8}.s-term-picker-title>span{padding:1px var(--space-xs);border-radius:var(--radius-sm);background:#ffffff0f;font-family:var(--font-mono);font-size:var(--text-2xs);color:#ffffff61}.s-term-picker-toggle{display:inline-flex;align-items:center;gap:var(--space-sm);border:0;background:transparent;color:#fff6;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-term-picker-toggle:hover{color:#ffffffc2}.s-term-picker-hint{margin:0;padding:0 var(--space-md);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff52}.s-term-picker-list{min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));max-height:210px;overflow:auto;border-top:1px solid rgba(255,255,255,.06)}.s-term-picker-item{min-width:0;min-height:62px;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-right:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055);background:#ffffff03;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:background .12s ease,opacity .12s ease}.s-term-picker-item:hover{background:#ffffff09}.s-term-picker-item--attached{background:#5eead409}.s-term-picker-item--dragging{opacity:.42;cursor:grabbing}.s-term-picker-grip{color:#ffffff38;font-size:var(--text-md)}.s-term-picker-item-main{min-width:0;display:grid;gap:var(--space-3xs)}.s-term-picker-item-main strong,.s-term-picker-item-main span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.s-term-picker-item-main strong{font-size:var(--text-xs);font-weight:520;color:#ffffffc2}.s-term-picker-item-main span{font-size:var(--text-2xs);color:#ffffff4d}.s-term-picker-item-meta{display:grid;justify-items:end;gap:var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase;color:#ffffff57}.s-term-picker-add{min-width:48px;height:26px;border:1px solid rgba(94,234,212,.18);border-radius:var(--radius-sm);background:#5eead40e;color:#dbfff8ad;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.s-term-picker-add:disabled{border-color:transparent;background:transparent;color:#5eead461;cursor:default}.s-term-picker-empty{min-height:72px;display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:#ffffff4d}.s-term--embedded .s-term-bar{min-height:42px;height:42px;padding:0 var(--space-md);gap:var(--space-sm)}.s-term--embedded .s-term-bar--fresh{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,auto) auto;column-gap:var(--space-md)}.s-term--embedded .s-term-bar--takeover{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-md)}.s-term--embedded .s-term-bar--takeover .s-term-bar-meta{display:none}.s-term--embedded .s-term-bar-left,.s-term--embedded .s-term-bar-meta,.s-term--embedded .s-term-bar-actions{min-width:0}.s-term--embedded .s-term-bar-left{gap:var(--space-sm)}.s-term--embedded .s-term-bar-actions{gap:var(--space-2xs)}.s-term--embedded .s-term-registered-chip{max-width:none}.s-term--embedded .s-term-action{width:30px;height:30px;padding:0}.s-term--embedded .s-term-action-cluster--view,.s-term--embedded .s-term-action-cluster--signals,.s-term--embedded .s-term-action span,.s-term--embedded .s-term-session-menu span,.s-term--embedded .s-term-status{display:none}.s-term--embedded .s-term-body{background:#080808}.s-term-home{width:min(1280px,100%);display:grid;gap:var(--space-2xl);align-self:center}.s-term-home-head{display:grid;gap:var(--space-lg)}.s-term-home-titleline{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.s-term-home-titleline h1{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:clamp(24px,4vw,44px);font-weight:520;line-height:var(--leading-tight);color:#ffffffe6;letter-spacing:0}.s-term-home-refresh{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0b;color:#ffffff94;cursor:pointer}.s-term-home-refresh:hover:not(:disabled){background:#ffffff16;color:#ffffffdb}.s-term-home-refresh:disabled{cursor:progress;opacity:.56}.s-term-home-error{display:grid;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border:1px solid rgba(248,113,113,.22);border-radius:var(--radius-sm);background:#f8717112;font-family:var(--font-mono);color:#ffdcdce0}.s-term-home-error span{font-size:var(--text-xs);letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-term-home-error code{min-width:0;overflow-wrap:anywhere;font-size:var(--text-xs);color:#ffdcdca8}.s-term-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);align-items:start}.s-term-home-section{min-width:0;display:grid;gap:var(--space-md)}.s-term-home-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.08)}.s-term-home-section-head h2{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:#ffffff6b}.s-term-home-section-head span{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:#ffffff47}.s-term-home-list{min-width:0;display:grid;gap:var(--space-2xs)}.s-term-data-table{min-width:0;overflow-x:auto;display:grid;gap:0}.s-term-data-header,.s-term-data-row{min-width:1080px;display:grid;align-items:center;column-gap:var(--space-md);border-bottom:1px solid rgba(255,255,255,.055)}.s-term-data-table--inventory .s-term-data-header,.s-term-data-table--inventory .s-term-data-row{grid-template-columns:minmax(230px,1.25fr) minmax(150px,.7fr) minmax(160px,.75fr) minmax(190px,.95fr) minmax(190px,.95fr) minmax(86px,.38fr) minmax(108px,108px)}.s-term-data-header{min-height:28px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#ffffff47}.s-term-data-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-data-header span:last-child{justify-self:end;text-align:right}.s-term-data-row{min-height:58px}.s-term-data-row:hover{background:#ffffff06}.s-term-data-cell{min-width:0;display:grid;gap:2px;align-content:center}.s-term-data-primary{height:100%;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:var(--space-sm);border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:var(--space-sm) 0}.s-term-data-main,.s-term-data-sub,.s-term-data-kicker{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.s-term-data-main{font-size:var(--text-xs);color:#ffffffad}.s-term-data-sub{font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff57}.s-term-data-kicker{font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#5eead480}.s-term-home-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:54px;border-bottom:1px solid rgba(255,255,255,.055)}.s-term-home-row:hover{background:#ffffff06}.s-term-home-row-main{min-width:0;height:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:var(--space-sm) var(--space-sm) var(--space-sm) 0}.s-term-home-row-icon{display:inline-flex;color:#ffffff6b}.s-term-agent-dot{width:10px;height:10px;justify-self:center;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1f;box-shadow:0 0 0 3px #ffffff09}.s-term-agent-dot--bound{border-color:#5eead475;background:#5eead49e;box-shadow:0 0 0 3px #5eead414}.s-term-home-row-copy{min-width:0;display:grid;gap:2px}.s-term-home-row-title,.s-term-home-row-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-term-home-row-title{font-family:var(--font-mono);font-size:var(--text-sm);color:#ffffffd1}.s-term-home-row-detail{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff57}.s-term-home-row-badges{min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-3xs)}.s-term-home-row-badges span{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px var(--space-2xs);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:#ffffff6b;text-transform:uppercase}.s-term-home-row-actions{display:inline-flex;align-items:center;justify-self:end;justify-content:flex-end;gap:var(--space-2xs);padding-right:var(--space-xs)}.s-term-home-row-actions .s-term-summary-action{height:28px;padding:0 var(--space-md)}.s-term-home-row-actions .s-term-row-more{width:28px;padding:0}.s-term-home-empty{min-height:80px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.055);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);color:#ffffff57;text-transform:uppercase}@container (max-width: 980px){.s-term-workspace-library-head,.s-term-workspace-builder-head{align-items:stretch;flex-direction:column}.s-term-workspace-builder-actions,.s-term-workspace-card-actions{justify-content:flex-start}.s-term-workspace-builder-identity,.s-term-workspace-builder-canvas{grid-template-columns:minmax(0,1fr)}.s-term-workspace-head{align-items:stretch;flex-direction:column}.s-term-workspace-actions{justify-content:flex-start}.s-term-home-grid{grid-template-columns:1fr}.s-term-grid-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.s-term-grid-slots{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}}@container (max-width: 640px){.s-term--workspace-library,.s-term--workspace-builder{padding:var(--space-lg)}.s-term-workspace-builder-grid{grid-template-columns:minmax(0,1fr)}.s-term--workspace{padding:var(--space-md)}.s-term-workspace-tile{height:420px}.s-term-workspace-grid,.s-term-grid-slots,.s-term-grid-presets{grid-template-columns:minmax(0,1fr)}.s-term-grid-setup-foot{align-items:stretch;flex-direction:column}.s-term-grid-setup-actions{justify-content:flex-end}.s-term--embedded .s-term-bar--takeover,.s-term--embedded .s-term-bar--fresh{grid-template-columns:minmax(0,1fr) auto}.s-term--embedded .s-term-bar-meta{display:none}.s-term-home-row{grid-template-columns:1fr;gap:var(--space-2xs);padding-bottom:var(--space-sm)}.s-term-home-row-actions{justify-content:flex-start;padding:0 0 0 32px}.s-term-home-row-main{grid-template-columns:22px minmax(0,1fr)}.s-term-attach-card{grid-template-columns:24px minmax(0,1fr) auto}.s-term-attach-card-badges{grid-column:2 / 3;justify-content:flex-start}.s-term-home-row-badges{grid-column:2;justify-content:flex-start}.s-term-data-header,.s-term-data-row{min-width:820px}}.s-term-summary{width:min(1120px,100%);display:grid;gap:var(--space-2xl);align-self:center}.s-term-summary-main{display:grid;gap:var(--space-2xl)}.s-term-summary-mark{display:inline-flex;align-items:center;gap:var(--space-sm);width:fit-content;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:#ffffff6b}.s-term-summary-heading{display:grid;gap:var(--space-xs)}.s-term-summary-heading h1{margin:0;min-width:0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:clamp(22px,4vw,42px);font-weight:520;line-height:var(--leading-tight);color:#ffffffe6;letter-spacing:0}.s-term-summary-heading p{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#ffffff5c}.s-term-summary-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.s-term-summary-action{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0d;color:#ffffffb8;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);padding:0 var(--space-lg);text-transform:uppercase}.s-term-summary-action:hover{background:#ffffff17;color:#ffffffeb}.s-term-summary-action--primary{border-color:#5eead447;background:#5eead41a;color:#dbfff8e6}.s-term-summary-action--primary:hover{background:#5eead429}.s-term-summary-preview{min-width:0}.s-term-preview-peek{--tmux-peek-font-size: var(--text-3xs);border-color:#5eead429;background:linear-gradient(180deg,rgba(94,234,212,.05),transparent 46%),#ffffff06}.s-term-preview-peek .ctx-panel-tmux-peek-head{min-height:28px}.s-term-preview-peek .ctx-panel-tmux-peek-screen,.s-term-preview-peek .ctx-panel-tmux-peek-empty{border-color:#ffffff14;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 44%),#070b0b}.s-term-summary-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border-top:1px solid rgba(255,255,255,.08)}.s-term-summary-detail{min-width:0;display:grid;gap:var(--space-2xs);padding:var(--space-md) var(--space-lg) var(--space-md) 0;border-bottom:1px solid rgba(255,255,255,.08)}.s-term-summary-detail dt{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:#ffffff47}.s-term-summary-detail dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffffb3}@container (max-width: 520px){.s-term-summary-details{grid-template-columns:1fr}}.s-term-empty-main-mark,.s-term-empty{display:grid;place-items:center;color:#fff6;font-family:var(--font-mono);font-size:var(--text-sm)}.s-term-empty-main-mark{gap:var(--space-sm)}.s-term-empty-action{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);background:#ffffff0f;color:#ffffffb8;cursor:pointer;font:inherit;padding:var(--space-xs) var(--space-md)}.s-term-empty-action:hover{background:#ffffff1a}.s-term-empty--sidebar{min-height:120px;font-size:var(--text-xs)}.s-term-body--placeholder{display:grid;place-items:center}.s-term-placeholder{display:flex;align-items:center;gap:var(--space-lg);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);color:#ffffff6b;text-transform:uppercase}.s-term-placeholder button{border:1px solid rgba(94,234,212,.25);border-radius:var(--radius-sm);background:#5eead414;color:#dbfff8cc;cursor:pointer;font:inherit;padding:var(--space-xs) var(--space-md)}.s-term-placeholder button:hover{background:#5eead424}.s-term-picker-views{display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-xs);background:#ffffff05}.s-term-picker-views button{padding:3px 9px;border:0;border-radius:3px;background:transparent;color:#ffffff80;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer}.s-term-picker-views button.is-selected{background:#5eead41f;color:#ffffffeb}.s-term-picker-table-wrap{min-width:0;max-height:320px;overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-sm)}.s-term-picker-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-2xs)}.s-term-picker-table thead th{position:sticky;top:0;z-index:1;padding:0;background:#0c0c0c;border-bottom:1px solid rgba(255,255,255,.09);text-align:left;font-weight:500}.s-term-picker-table thead th button{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding:7px var(--space-sm);border:0;background:transparent;color:#ffffff6b;font:inherit;letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer}.s-term-picker-table thead th button:hover{color:#ffffffd1}.s-term-picker-table thead th[aria-sort=ascending] button,.s-term-picker-table thead th[aria-sort=descending] button{color:#5eead4eb}.s-term-picker-table thead th em{font-style:normal;font-size:8px;opacity:.7}.s-term-picker-table tbody td{max-width:240px;padding:6px var(--space-sm);border-bottom:1px solid rgba(255,255,255,.045);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffff9e}.s-term-picker-table tbody td:first-child{color:#ffffffe0}.s-term-picker-table tbody tr:hover td{background:#ffffff07}.s-term-picker-table tbody tr.is-attached td{color:#ffffff57}.s-term-picker-table tbody td:last-child{width:1%;padding-right:var(--space-sm)}.s-term-workspace-builder-source-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.s-term-workspace-builder-source-head h3{margin:0}.s-term-workspace-builder-columns em{font-style:normal;color:#ffffff4d;text-transform:none;letter-spacing:0}.s-term-workspace-tile--hosted .s-term-workspace-unavailable-body code{max-width:100%;overflow-wrap:anywhere;color:#f87171d1}.s-term-workspace-builder-sessions{display:block;min-width:0}.s-term-workspace-builder-sessions .s-term-picker-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xs);max-height:320px;overflow:auto}
@@ -0,0 +1 @@
1
+ import{a as v}from"./api-h5zurxmi.js";function b(e){return!!e?.startsWith("native:")}function y(e){if(!b(e))return null;const t=e.slice(7).split(":");if(t.length<2)return null;const r=t[1];return r==="path"?null:r==="terminal"?t.slice(2).join(":")||null:r||null}function U(e){return e.harnessSessionId?.trim()||y(e.id)}function x(e){if(e.view!=="agents-v2"||!e.agentId||!b(e.agentId))return e;const n=y(e.agentId);return n?{view:"sessions",sessionId:n,...e.machineId?{machineId:e.machineId}:{}}:e}function _(e){return x(e)}const m="srf1.",w=/^(?<backend>[A-Za-z][A-Za-z0-9_-]*):(?<hostSession>.+)$/u,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function z(e){return typeof e=="string"&&e.startsWith(m)}function p(e){const n=e.backend.trim(),t=e.hostSession.trim();if(!n||!t)throw new Error("a terminal surface id needs a backend and a host session");const r=e.paneId?.trim()||null,o=e.nodeId?.trim()||null;return`${m}${A(JSON.stringify([o,n,t,r]))}`}function l(e){const n=e?.trim();if(!n)return null;if(n.startsWith(m)){const o=T(n.slice(m.length));if(o===null)return null;let a;try{a=JSON.parse(o)}catch{return null}if(!Array.isArray(a)||a.length<3)return null;const[i,s,d,u]=a;return typeof s!="string"||!s.trim()||typeof d!="string"||!d.trim()?null:{backend:s.trim(),hostSession:d.trim(),paneId:typeof u=="string"&&u.trim()?u.trim():null,nodeId:typeof i=="string"&&i.trim()?i.trim():null}}const t=w.exec(n);if(!t?.groups)return null;const r=t.groups.hostSession.trim();return r?{backend:t.groups.backend,hostSession:r,paneId:null,nodeId:null}:null}function H(e,n){const t=l(e),r=l(n);return!t||!r?!1:t.backend===r.backend&&t.hostSession===r.hostSession&&(t.paneId??null)===(r.paneId??null)&&(t.nodeId??null)===(r.nodeId??null)}function M(e){return`${e.backend}:${e.hostSession}`}function A(e){const n=new TextEncoder().encode(e);let t="";for(let r=0;r<n.length;r+=3){const o=n[r],a=n[r+1],i=n[r+2];if(t+=f[o>>2],t+=f[(o&3)<<4|(a??0)>>4],a===void 0||(t+=f[(a&15)<<2|(i??0)>>6],i===void 0))break;t+=f[i&63]}return t}function T(e){if(!e)return null;const n=[];let t=0,r=0;for(const o of e){const a=f.indexOf(o);if(a<0)return null;t=t<<6|a,r+=6,r>=8&&(r-=8,n.push(t>>r&255))}try{return new TextDecoder("utf-8",{fatal:!0}).decode(new Uint8Array(n))}catch{return null}}function R(e,n={}){return e.surfaceId?e.surfaceId:p({backend:e.backend,hostSession:e.sessionName,paneId:e.paneId,nodeId:n.nodeId??null})}function $(e){if(e.handleNodeId===null)return!0;if(e.surfaceNodeId!==null)return e.handleNodeId===e.surfaceNodeId;const n=e.localNodeId?.trim()||null;return n!==null&&e.handleNodeId===n}function B(e){return l(e.surfaceId)?.nodeId??null}function I(e,n,t={}){const r=l(n);return!r||r.backend!==e.backend||r.hostSession!==e.sessionName||r.paneId!==null&&r.paneId!==(e.paneId??null)?!1:$({handleNodeId:r.nodeId??null,surfaceNodeId:B(e),localNodeId:t.localNodeId})}async function O(e={}){const n=e.includeDiscovered??!0;return(await v(`/api/terminal-sessions${n?"?includeDiscovered=1":""}`)).sessions}function h(e){return e.origin==="discovered"||e.metadata?.registryState==="discovered"}function C(e){return R(e)}function W(e,n){const t=e?.trim(),r=n?.trim();return!t||!r?null:p({backend:t,hostSession:r})}function K(e){const n=l(e);return n?p(n):null}function q(e){const n=l(e);return!n||n.paneId||n.nodeId?null:{backend:n.backend,sessionName:n.hostSession}}function D(e){return e==="tmux"||e==="zellij"}function J(e){return D(e.backend)?{backend:e.backend,sessionName:e.sessionName,paneId:e.paneId,socketDir:e.socketDir??null}:null}function V(e,n,t){const r=n?e.find(s=>s.id===n):null;if(!t){const s=r?.surfaces[0];return r&&s?{session:r,surface:s}:null}const a=r?.surfaces.some(s=>I(s,t))?r:e.find(s=>s.surfaces.some(d=>I(d,t))),i=a?.surfaces.find(s=>I(s,t));return!a||!i?null:{session:a,surface:i}}function E(e){if(e.cwd)return e.cwd;const n=e.surfaces[0],t=typeof e.metadata?.backendState=="string"?e.metadata.backendState:n?.state;return t||"terminal"}function g(e,n){const t=typeof e.metadata?.attachedClients=="number"?e.metadata.attachedClients:null;return t!==null?`${t} attached`:(typeof e.metadata?.backendState=="string"?e.metadata.backendState:n.state)??"ready"}function c(e,n){const t=e?.[n];return typeof t=="string"&&t.trim()?t.trim():null}function S(...e){for(const n of e){const t=n?.trim();if(t)return t}return null}function N(e){const n=e?.trim().replace(/\/+$/u,"");if(!n)return"";const t=n.split("/").filter(Boolean);return t.length<=2?n:`${t.at(-2)}/${t.at(-1)}`}function L(e,n){const t=e.metadata,r=S(c(t,"project"),c(t,"projectName"),c(t,"workspace"),c(t,"workspaceQualifier"));if(r)return r;const o=S(c(t,"projectRoot"),c(t,"workspaceRoot"),e.cwd),a=N(o).split("/").pop();if(a)return a;const i=n?.sessionName??e.sourceSessionId,s=/^relay-(.+?)-(?:arts-mac-mini-local-)?(?:claude|codex)$/iu.exec(i);return s?.[1]?s[1]:h(e)?"backend-only":"unscoped"}function j(e){const n=e.metadata,t=c(n,"threadId");if(t)return{kind:"thread",value:t};const r=c(n,"externalSessionId");if(r)return{kind:"external",value:r};const o=c(n,"conversationId");if(o)return{kind:"conversation",value:o};const a=S(c(n,"runtimeSessionId"),c(n,"sessionId"));return a?{kind:"runtime",value:a}:{kind:"source",value:e.sourceSessionId}}function Y(e){return e.flatMap(n=>n.surfaces.map(t=>{const r=C(t),o=F(t.sessionName),a=E(n),i=L(n,t),s=j(n),d=N(n.cwd),u=h(n)?"backend":"scout",k=g(n,t);return{id:`${n.id}:${r}`,session:n,surface:t,key:r,title:o,detail:a,project:i,contextKind:s.kind,contextValue:s.value,cwdLabel:d,origin:u,condition:k,searchable:[n.harness,n.sourceSessionId,n.cwd,i,s.kind,s.value,d,c(n.metadata,"currentCommand"),c(n.metadata,"currentPath"),t.backend,t.sessionName,o,a,u,k].filter(Boolean).join(" ").toLowerCase()}}))}function F(e){return e.replace(/^relay-/u,"").replace(/-arts-mac-mini-local-(claude|codex)$/u,"").replace(/^(claude|codex|tmux)-/u,"$1 · ")}function Z(e){const n=h(e.session)?"Backend":"Scout",t=typeof e.session.metadata?.backendState=="string"?e.session.metadata.backendState:e.surface.state,r=g(e.session,e.surface);return[["Backend",e.surface.backend],["Session",e.surface.sessionName],["Origin",n],["Condition",r],["State",t],["Harness",e.session.harness],["Working Dir",e.session.cwd],["Source Id",e.session.sourceSessionId]].filter(o=>!!o[1])}export{U as a,Y as b,H as c,D as d,K as e,O as f,z as g,W as h,b as i,q as j,I as k,M as l,F as m,_ as n,g as o,l as p,Z as q,V as r,C as s,J as t};
@@ -0,0 +1 @@
1
+ import{d as o}from"./index-DMiGbrBt.js";async function n(e){if(t(e.agentId),!(await fetch(o("terminalRunPath"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e.command,...e.cwd?{cwd:e.cwd}:{},...e.agentId?{agentId:e.agentId}:{}})})).ok)throw new Error("Failed to queue takeover")}function t(e){if(!(typeof window>"u"))try{window.localStorage.removeItem("hudson.relay.scout-takeover"),e&&window.localStorage.removeItem(`hudson.relay.scout-takeover-${e}`)}catch{}}export{n as q};
@@ -0,0 +1 @@
1
+ function n(e){if(!e)return null;const r=e.replace(/_/g," ");return r.toLowerCase()==="relay agent"?"agent":r}export{n as f};
@@ -0,0 +1 @@
1
+ function l(t){return Number.isFinite(t)&&t>0}function f(t){const n=typeof t=="number"?t:typeof t=="string"?Number(t):null;return n===null||!l(n)?null:Math.trunc(n<1e12?n*1e3:n)}function i(t){return f(t)}function a(t,n){const e=i(t);if(e===null)return null;const s=Math.floor((n-e)/1e3),o=s<-4,r=Math.abs(s);return r<5?{label:"now",future:!1}:r<60?{label:`${r}s`,future:o}:r<3600?{label:`${Math.floor(r/60)}m`,future:o}:r<86400?{label:`${Math.floor(r/3600)}h`,future:o}:{label:`${Math.floor(r/86400)}d`,future:o}}function c(t,n){return(i(t)??0)-(i(n)??0)}function m(t,n){return c(n,t)}function d(t,n=Date.now()){const e=a(t,n);return e?e.future?`in ${e.label}`:e.label:""}function h(t,n=Date.now()){const e=a(t,n);return e?e.label==="now"?"just now":e.future?`in ${e.label}`:`${e.label} ago`:""}function p(t){const n=i(t);return n===null?"":new Date(n).toLocaleString(void 0,{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"})}function b(t){const n=i(t);return n===null?"":new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(n)}function S(t,n={}){const e=i(t);return e===null?"":new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:n.milliseconds?3:void 0,hour12:!1}).format(e)}function g(t){if(typeof t!="number"||!Number.isFinite(t)||t<0)return"";const n=Math.floor(t/1e3),e=Math.floor(n/3600),s=Math.floor(n%3600/60),o=n%60,r=String(s).padStart(2,"0"),u=String(o).padStart(2,"0");return e>0?`${e}:${r}:${u}`:`${s}:${u}`}export{p as a,S as b,m as c,h as d,c as e,b as f,g,i as n,d as t};
@@ -0,0 +1 @@
1
+ function a(e){return e}function r(e){return`/embed/${e}`}function o(e){return{showSecondaryNav:e?.chrome?.showSecondaryNav??!1,showPageStatusBar:e?.chrome?.showPageStatusBar??!1}}export{r as a,a as d,o as r};
@@ -0,0 +1 @@
1
+ const m=t=>t.toLocaleString("en-US"),u={critical:{label:"CRITICAL",tone:"error",fg:"var(--status-error-fg)",bg:"var(--status-error-bg)",rank:0,glyph:"●",gloss:"Merge conflicts or unmerged status — work is stuck."},attention:{label:"ATTENTION",tone:"warn",fg:"var(--studio-ink)",bg:"var(--status-neutral-bg)",rank:1,glyph:"▲",gloss:"Dirty main, diverged branch, or status couldn't be read."},active:{label:"ACTIVE",tone:"accent",fg:"var(--scout-accent)",bg:"var(--scout-accent-soft)",rank:2,glyph:"◆",gloss:"Live work — dirty, ahead/behind, or an agent is attached."},quiet:{label:"QUIET",tone:"neutral",fg:"var(--studio-ink-faint)",bg:"var(--status-neutral-bg)",rank:3,glyph:"·",gloss:"Clean and idle — nothing pulling for attention."},unknown:{label:"UNKNOWN",tone:"neutral",fg:"var(--studio-ink-faint)",bg:"var(--status-neutral-bg)",rank:4,glyph:"?",gloss:"Discovered but couldn't be scanned enough to classify."}};function p(t){return u[t].rank}const l=new Set(["active","working","running","in_turn","in_flight","queued","waking","dispatching"]);function o(t){return l.has((t.state??"").trim().toLowerCase())}function d(t){return t.name&&t.name.trim()?"@"+t.name.trim().toLowerCase().replace(/\s+/g,"-"):t.id}function b(t){const n=(t.harness??t.source??"session").trim()||"session",e=t.id.length>12?`${t.id.slice(0,12)}…`:t.id;return`${n}:${e}`}function k(t){const n=new Set,e=[];for(const r of[...t.agents].sort((a,s)=>Number(o(s))-Number(o(a)))){const a=d(r);n.has(a)||(n.add(a),e.push(r))}return e}function f(t){const n=t.replace(/\/+$/,"").split("/");return n[n.length-1]||t}function c(t,n){const e=f(t.path);return e===n.name?e:e.startsWith(n.name+"-")?e.slice(n.name.length+1):e}function v(t,n,e){const r=t.project.id===n.project.id?c(t.wt,t.project):t.project.name,a=n.project.id===n.project.id?c(n.wt,n.project):n.project.name;return r.localeCompare(a)*e}function w(t,n=3){const e=t.replace(/\/+$/,"").split("/").filter(Boolean);return e.length<=n?t:"…/"+e.slice(-n).join("/")}function S(t,n){if(t==null)return"—";const e=Math.max(0,Math.round((n-t)/1e3));if(e<60)return`${e}s`;const r=Math.round(e/60);if(r<60)return`${r}m`;const a=Math.round(r/60);return a<24?`${a}h`:`${Math.round(a/24)}d`}function N(t){const n=t.toLowerCase();return n.includes("conflict")?"error":n==="untracked"?"info":n==="staged"?"ok":(n.includes("unstaged")||n==="changed"||n==="modified","warn")}function T(t){const n=t.toLowerCase();return n.includes("conflict")?"U":n==="untracked"?"?":n==="staged+unstaged"?"±":n==="staged"?"S":n==="unstaged"?"M":n==="changed"||n==="modified"?"~":"•"}function C(t){return t==="accent"?"var(--scout-accent)":`var(--status-${t}-fg)`}function L(t){return t==="accent"?"var(--scout-accent-soft)":`var(--status-${t}-bg)`}function $(t){return t.error!=null?"error":t.agents.some(o)?"live":!t.status.clean||t.branch.ahead>0||t.branch.behind>0?"dirty":"clean"}function i(t){if(!t)return null;const n=/(\d+)\s+files?\s+changed/.exec(t),e=/(\d+)\s+insertions?\(\+\)/.exec(t),r=/(\d+)\s+deletions?\(-\)/.exec(t);return!n&&!e&&!r?null:{files:n?Number(n[1]):0,ins:e?Number(e[1]):0,del:r?Number(r[1]):0}}function g(t){const n=i(t.diff.stagedShortstat),e=i(t.diff.unstagedShortstat),r=(n?.ins??0)+(e?.ins??0),a=(n?.del??0)+(e?.del??0),s=(n?.files??0)+(e?.files??0);return{add:r,del:a,files:s,total:r+a,has:r>0||a>0}}function h(t){const n=i(t.diff.branchShortstat),e=n?.ins??0,r=n?.del??0,a=n?.files??0;return{add:e,del:r,files:a,total:e+r,has:e>0||r>0}}function y(t){const n=h(t),e=g(t),r=n.add+e.add,a=n.del+e.del,s=n.files+e.files;return{add:r,del:a,files:s,total:r+a,has:r>0||a>0}}function I(t,n){if(t.detached)return{detached:!0,sha:t.head?t.head.slice(0,7):null,prefix:"",leaf:""};const e=t.name??n,r=e.lastIndexOf("/");return r>=0?{detached:!1,sha:null,prefix:e.slice(0,r+1),leaf:e.slice(r+1)}:{detached:!1,sha:null,prefix:"",leaf:e}}export{d as a,h as b,g as c,N as d,T as e,m as f,C as g,S as h,o as i,I as j,w as k,v as l,p as m,f as p,y as r,b as s,L as t,k as u,$ as w};
@@ -0,0 +1 @@
1
+ import{r}from"./index-DMiGbrBt.js";import{f as p}from"./Provider-C7UKGHQy.js";import{a as C}from"./api-h5zurxmi.js";import{u as v}from"./sse-CjIkKo46.js";let e=null,a=null,l=null;const u=new Set,g=[];function f(){return e}function d(){return e??g}function S(){return l}function y(n){return u.add(n),()=>{u.delete(n)}}function h(){for(const n of u)n()}async function L(n={}){if(e&&!n.force)return e;if(a&&!n.force)return a;const o=C("/api/conversations").then(t=>(e=t,l=null,h(),t)).catch(t=>{throw l=t instanceof Error?t.message:String(t),h(),t}).finally(()=>{a=null});return a=o,o}function N(){const n=r.useSyncExternalStore(y,d,d),[o,t]=r.useState(()=>f()==null),[E,c]=r.useState(()=>S()),s=r.useCallback(async(i=!1)=>{f()!=null||t(!0);try{await L({force:i}),c(null)}catch(m){c(p(m))}finally{t(!1)}},[]);return r.useEffect(()=>{s(!1)},[s]),v(i=>{(i.kind==="message.posted"||i.kind==="conversation.upserted")&&s(!0)}),{sessions:n,loading:o,loadError:E,reload:s}}export{N as u};
@@ -0,0 +1 @@
1
+ import{r as s}from"./index-DMiGbrBt.js";import{a as d}from"./api-h5zurxmi.js";import{u}from"./sse-CjIkKo46.js";const r=new Set(["working","queued","needs_attention"]);function l(){const[n,i]=s.useState(null),a=s.useCallback(async()=>{const t=await d("/api/fleet").catch(()=>null);i(t)},[]);return s.useEffect(()=>{a()},[a]),u(t=>{(t.kind==="message.posted"||t.kind==="flight.updated"||t.kind==="collaboration.event.appended")&&a()}),s.useMemo(()=>{const t=new Map;for(const e of n?.activeAsks??[]){if(!r.has(e.status))continue;const o=t.get(e.agentId);(!o||e.updatedAt>o.updatedAt)&&t.set(e.agentId,e)}return t},[n])}export{l as u};
@@ -0,0 +1 @@
1
+ import{r as h,j as et}from"./index-DMiGbrBt.js";const Ce=h.createContext({});function Pe(t){const e=h.useRef(null);return e.current===null&&(e.current=t()),e.current}const Ae=typeof window<"u",Fe=Ae?h.useLayoutEffect:h.useEffect,$t=h.createContext(null);function Re(t,e){t.indexOf(e)===-1&&t.push(e)}function Ee(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const Kt=(t,e,n)=>n>e?e:n<t?t:n;let Be=()=>{};const zt={},Ne=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),Ie=t=>/^0[^.\s]+$/u.test(t);function Oe(t){let e;return()=>(e===void 0&&(e=t()),e)}const Yt=t=>t;class Ut{constructor(){this.subscriptions=[]}add(e){return Re(this.subscriptions,e),()=>Ee(this.subscriptions,e)}notify(e,n,s){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](e,n,s);else for(let r=0;r<i;r++){const a=this.subscriptions[r];a&&a(e,n,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Xt=t=>t*1e3,q=t=>t/1e3,ke=(t,e)=>e?t*(1e3/e):0,Le=t=>Array.isArray(t)&&typeof t[0]=="number",W=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function De(t,e){let n=new Set,s=new Set,i=!1,r=!1;const a=new WeakSet;let u={delta:0,timestamp:0,isProcessing:!1};function c(l){a.has(l)&&(d.schedule(l),t()),l(u)}const d={schedule:(l,f=!1,p=!1)=>{const m=p&&i?n:s;return f&&a.add(l),m.add(l),l},cancel:l=>{s.delete(l),a.delete(l)},process:l=>{if(u=l,i){r=!0;return}i=!0;const f=n;n=s,s=f,n.forEach(c),n.clear(),i=!1,r&&(r=!1,d.process(l))}};return d}const je=40;function _t(t,e){let n=!1,s=!0;const i={delta:0,timestamp:0,isProcessing:!1},r=()=>n=!0,a=W.reduce((b,V)=>(b[V]=De(r),b),{}),{setup:u,read:c,resolveKeyframes:d,preUpdate:l,update:f,preRender:p,render:g,postRender:m}=a,v=()=>{const b=zt.useManualTiming,V=b?i.timestamp:performance.now();n=!1,b||(i.delta=s?1e3/60:Math.max(Math.min(V-i.timestamp,je),1)),i.timestamp=V,i.isProcessing=!0,u.process(i),c.process(i),d.process(i),l.process(i),f.process(i),p.process(i),g.process(i),m.process(i),i.isProcessing=!1,n&&e&&(s=!1,t(v))},x=()=>{n=!0,s=!0,i.isProcessing||t(v)};return{schedule:W.reduce((b,V)=>{const we=a[V];return b[V]=(Te,Me=!1,xe=!1)=>(n||x(),we.schedule(Te,Me,xe)),b},{}),cancel:b=>{for(let V=0;V<W.length;V++)a[W[V]].cancel(b)},state:i,steps:a}}const{schedule:k,cancel:vt,state:wt,steps:js}=_t(typeof requestAnimationFrame<"u"?requestAnimationFrame:Yt,!0);let z;function We(){z=void 0}const I={now:()=>(z===void 0&&I.set(wt.isProcessing||zt.useManualTiming?wt.timestamp:performance.now()),z),set:t=>{z=t,queueMicrotask(We)}},Ht=t=>e=>typeof e=="string"&&e.startsWith(t),$e=Ht("--"),Ke=Ht("var(--"),Ws=t=>Ke(t)?ze.test(t.split("/*")[0].trim()):!1,ze=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function $s(t){return typeof t!="string"?!1:t.split("/*")[0].includes("var(--")}const R={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},L={...R,transform:t=>Kt(0,1,t)},$={...R,default:1},O=t=>Math.round(t*1e5)/1e5,pt=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Ye(t){return t==null}const Ue=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,mt=(t,e)=>n=>!!(typeof n=="string"&&Ue.test(n)&&n.startsWith(t)||e&&!Ye(n)&&Object.prototype.hasOwnProperty.call(n,e)),Zt=(t,e,n)=>s=>{if(typeof s!="string")return s;const[i,r,a,u]=s.match(pt);return{[t]:parseFloat(i),[e]:parseFloat(r),[n]:parseFloat(a),alpha:u!==void 0?parseFloat(u):1}},Xe=t=>Kt(0,255,t),Q={...R,transform:t=>Math.round(Xe(t))},B={test:mt("rgb","red"),parse:Zt("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:s=1})=>"rgba("+Q.transform(t)+", "+Q.transform(e)+", "+Q.transform(n)+", "+O(L.transform(s))+")"};function _e(t){let e="",n="",s="",i="";return t.length>5?(e=t.substring(1,3),n=t.substring(3,5),s=t.substring(5,7),i=t.substring(7,9)):(e=t.substring(1,2),n=t.substring(2,3),s=t.substring(3,4),i=t.substring(4,5),e+=e,n+=n,s+=s,i+=i),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(s,16),alpha:i?parseInt(i,16)/255:1}}const Tt={test:mt("#"),parse:_e,transform:B.transform},D=t=>({test:e=>typeof e=="string"&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),T=D("deg"),F=D("%"),o=D("px"),He=D("vh"),Ze=D("vw"),Mt={...F,parse:t=>F.parse(t)/100,transform:t=>F.transform(t*100)},K={test:mt("hsl","hue"),parse:Zt("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:s=1})=>"hsla("+Math.round(t)+", "+F.transform(O(e))+", "+F.transform(O(n))+", "+O(L.transform(s))+")"},y={test:t=>B.test(t)||Tt.test(t)||K.test(t),parse:t=>B.test(t)?B.parse(t):K.test(t)?K.parse(t):Tt.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?B.transform(t):K.transform(t),getAnimatableNone:t=>{const e=y.parse(t);return e.alpha=0,y.transform(e)}},Ge=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function qe(t){return isNaN(t)&&typeof t=="string"&&(t.match(pt)?.length||0)+(t.match(Ge)?.length||0)>0}const Gt="number",qt="color",Qe="var",Je="var(",xt="${}",tn=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function gt(t){const e=t.toString(),n=[],s={color:[],number:[],var:[]},i=[];let r=0;const u=e.replace(tn,c=>(y.test(c)?(s.color.push(r),i.push(qt),n.push(y.parse(c))):c.startsWith(Je)?(s.var.push(r),i.push(Qe),n.push(c)):(s.number.push(r),i.push(Gt),n.push(parseFloat(c))),++r,xt)).split(xt);return{values:n,split:u,indexes:s,types:i}}function en(t){return gt(t).values}function Qt({split:t,types:e}){const n=t.length;return s=>{let i="";for(let r=0;r<n;r++)if(i+=t[r],s[r]!==void 0){const a=e[r];a===Gt?i+=O(s[r]):a===qt?i+=y.transform(s[r]):i+=s[r]}return i}}function nn(t){return Qt(gt(t))}const sn=t=>typeof t=="number"?0:y.test(t)?y.getAnimatableNone(t):t,rn=(t,e)=>typeof t=="number"?e?.trim().endsWith("/")?t:0:sn(t);function an(t){const e=gt(t);return Qt(e)(e.values.map((s,i)=>rn(s,e.split[i])))}const M={test:qe,parse:en,createTransformer:nn,getAnimatableNone:an},on=(t,e,n)=>t+(e-t)*n,un=(t,e,n=10)=>{let s="";const i=Math.max(Math.round(e/n),2);for(let r=0;r<i;r++)s+=Math.round(t(r/(i-1))*1e4)/1e4+", ";return`linear(${s.substring(0,s.length-2)})`},cn=t=>t!==null;function ln(t,{repeat:e,repeatType:n="loop"},s,i=1){const r=t.filter(cn),u=i<0||e&&n!=="loop"&&e%2===1?0:r.length-1;return!u||s===void 0?r[u]:s}class fn{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,n){return this.finished.then(e,n)}}function dn(t){for(let e=1;e<t.length;e++)t[e]??(t[e]=t[e-1])}const P=t=>t*180/Math.PI,nt=t=>{const e=P(Math.atan2(t[1],t[0]));return st(e)},hn={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:nt,rotateZ:nt,skewX:t=>P(Math.atan(t[1])),skewY:t=>P(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},st=t=>(t=t%360,t<0&&(t+=360),t),Ct=nt,Pt=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),At=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),pn={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Pt,scaleY:At,scale:t=>(Pt(t)+At(t))/2,rotateX:t=>st(P(Math.atan2(t[6],t[5]))),rotateY:t=>st(P(Math.atan2(-t[2],t[0]))),rotateZ:Ct,rotate:Ct,skewX:t=>P(Math.atan(t[4])),skewY:t=>P(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function Ft(t){return t.includes("scale")?1:0}function it(t,e){if(!t||t==="none")return Ft(e);const n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let s,i;if(n)s=pn,i=n;else{const u=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);s=hn,i=u}if(!i)return Ft(e);const r=s[e],a=i[1].split(",").map(mn);return typeof r=="function"?r(a):a[r]}const Ks=(t,e)=>{const{transform:n="none"}=getComputedStyle(t);return it(n,e)};function mn(t){return parseFloat(t.trim())}const j=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],yt=new Set([...j,"pathRotation"]),zs=t=>t===R||t===o,gn=new Set(["x","y","z"]),yn=j.filter(t=>!gn.has(t));function bn(t){const e=[];return yn.forEach(n=>{const s=t.getValue(n);s!==void 0&&(e.push([n,s.get()]),s.set(n.startsWith("scale")?1:0))}),e}const Y={width:({x:t},{paddingLeft:e="0",paddingRight:n="0",boxSizing:s})=>{const i=t.max-t.min;return s==="border-box"?i:i-parseFloat(e)-parseFloat(n)},height:({y:t},{paddingTop:e="0",paddingBottom:n="0",boxSizing:s})=>{const i=t.max-t.min;return s==="border-box"?i:i-parseFloat(e)-parseFloat(n)},top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>it(e,"x"),y:(t,{transform:e})=>it(e,"y")};Y.translateX=Y.x;Y.translateY=Y.y;const A=new Set;let rt=!1,at=!1,ot=!1;function Jt(){if(at){const t=Array.from(A).filter(s=>s.needsMeasurement),e=new Set(t.map(s=>s.element)),n=new Map;e.forEach(s=>{const i=bn(s);i.length&&(n.set(s,i),s.render())}),t.forEach(s=>s.measureInitialState()),e.forEach(s=>{s.render();const i=n.get(s);i&&i.forEach(([r,a])=>{s.getValue(r)?.set(a)})}),t.forEach(s=>s.measureEndState()),t.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}at=!1,rt=!1,A.forEach(t=>t.complete(ot)),A.clear()}function te(){A.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(at=!0)})}function Ys(){ot=!0,te(),Jt(),ot=!1}class Sn{constructor(e,n,s,i,r,a=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=n,this.name=s,this.motionValue=i,this.element=r,this.isAsync=a}scheduleResolve(){this.state="scheduled",this.isAsync?(A.add(this),rt||(rt=!0,k.read(te),k.resolveKeyframes(Jt))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:e,name:n,element:s,motionValue:i}=this;if(e[0]===null){const r=i?.get(),a=e[e.length-1];if(r!==void 0)e[0]=r;else if(s&&n){const u=s.readValue(n,a);u!=null&&(e[0]=u)}e[0]===void 0&&(e[0]=a),i&&r===void 0&&i.set(e[0])}dn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),A.delete(this)}cancel(){this.state==="scheduled"&&(A.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const Vn=t=>t.startsWith("--");function vn(t,e,n){Vn(e)?t.style.setProperty(e,n):t.style[e]=n}const wn={};function ee(t,e){const n=Oe(t);return()=>wn[e]??n()}const Tn=ee(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),ne=ee(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),N=([t,e,n,s])=>`cubic-bezier(${t}, ${e}, ${n}, ${s})`,Rt={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:N([0,.65,.55,1]),circOut:N([.55,0,1,.45]),backIn:N([.31,.01,.66,-.59]),backOut:N([.33,1.53,.69,.99])};function se(t,e){if(t)return typeof t=="function"?ne()?un(t,e):"ease-out":Le(t)?N(t):Array.isArray(t)?t.map(n=>se(n,e)||Rt.easeOut):Rt[t]}function Mn(t,e,n,{delay:s=0,duration:i=300,repeat:r=0,repeatType:a="loop",ease:u="easeOut",times:c}={},d=void 0){const l={[e]:n};c&&(l.offset=c);const f=se(u,i);Array.isArray(f)&&(l.easing=f);const p={delay:s,duration:i,easing:Array.isArray(f)?"linear":f,fill:"both",iterations:r+1,direction:a==="reverse"?"alternate":"normal"};return d&&(p.pseudoElement=d),t.animate(l,p)}function xn(t){return typeof t=="function"&&"applyToOptions"in t}function Cn({type:t,...e}){return xn(t)&&ne()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}class Pn extends fn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:n,name:s,keyframes:i,pseudoElement:r,allowFlatten:a=!1,finalKeyframe:u,onComplete:c}=e;this.isPseudoElement=!!r,this.allowFlatten=a,this.options=e,Be(typeof e.type!="string");const d=Cn(e);this.animation=Mn(n,s,i,d,r),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!r){const l=ln(i,this.options,u,this.speed);this.updateMotionValue&&this.updateMotionValue(l),vn(n,s,l),this.animation.cancel()}c?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:e}=this;e==="idle"||e==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){const e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){const e=this.animation.effect?.getComputedTiming?.().duration||0;return q(Number(e))}get iterationDuration(){const{delay:e=0}=this.options||{};return this.duration+q(e)}get time(){return q(Number(this.animation.currentTime)||0)}set time(e){const n=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Xt(e),n&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:n,rangeEnd:s,observe:i}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&Tn()?(this.animation.timeline=e,n&&(this.animation.rangeStart=n),s&&(this.animation.rangeEnd=s),Yt):i(this)}}const An=new Set(["opacity","clipPath","filter","transform"]),Et=30,Fn=t=>!isNaN(parseFloat(t));class Rn{constructor(e,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=s=>{const i=I.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(const r of this.dependents)r.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=n.owner}setCurrent(e){this.current=e,this.updatedAt=I.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Fn(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,n){this.events[e]||(this.events[e]=new Ut);const s=this.events[e].add(n);return e==="change"?()=>{s(),k.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,n){this.passiveEffect=e,this.stopPassiveEffect=n}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,n,s){this.set(n),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-s}jump(e,n=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,n&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=I.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Et)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,Et);return ke(parseFloat(this.current)-parseFloat(this.prevFrameValue),n)}start(e){return this.stop(),new Promise(n=>{this.hasAnimated=!0,this.animation=e(n),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ut(t,e){return new Rn(t,e)}function Bt(t){const e=[{},{}];return t?.values.forEach((n,s)=>{e[0][s]=n.get(),e[1][s]=n.getVelocity()}),e}function ie(t,e,n,s){if(typeof e=="function"){const[i,r]=Bt(s);e=e(n!==void 0?n:t.custom,i,r)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[i,r]=Bt(s);e=e(n!==void 0?n:t.custom,i,r)}return e}const S=t=>!!(t&&t.getVelocity);function En(t){return t.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}const Bn="framerAppearId",Nn="data-"+En(Bn),In={test:t=>t==="auto",parse:t=>t},re=t=>e=>e.test(t),ae=[R,o,F,T,Ze,He,In],Us=t=>ae.find(re(t)),On=new Set(["brightness","contrast","saturate","opacity"]);function kn(t){const[e,n]=t.slice(0,-1).split("(");if(e==="drop-shadow")return t;const[s]=n.match(pt)||[];if(!s)return t;const i=n.replace(s,"");let r=On.has(e)?1:0;return s!==n&&(r*=100),e+"("+r+i+")"}const Ln=/\b([a-z-]*)\(.*?\)/gu,ct={...M,getAnimatableNone:t=>{const e=t.match(Ln);return e?e.map(kn).join(" "):t}},lt={...M,getAnimatableNone:t=>{const e=M.parse(t);return M.createTransformer(t)(e.map(s=>typeof s=="number"?0:typeof s=="object"?{...s,alpha:1}:s))}},Nt={...R,transform:Math.round},Dn={rotate:T,pathRotation:T,rotateX:T,rotateY:T,rotateZ:T,scale:$,scaleX:$,scaleY:$,scaleZ:$,skew:T,skewX:T,skewY:T,distance:o,translateX:o,translateY:o,translateZ:o,x:o,y:o,z:o,perspective:o,transformPerspective:o,opacity:L,originX:Mt,originY:Mt,originZ:o},U={borderWidth:o,borderTopWidth:o,borderRightWidth:o,borderBottomWidth:o,borderLeftWidth:o,borderRadius:o,borderTopLeftRadius:o,borderTopRightRadius:o,borderBottomRightRadius:o,borderBottomLeftRadius:o,width:o,maxWidth:o,height:o,maxHeight:o,top:o,right:o,bottom:o,left:o,inset:o,insetBlock:o,insetBlockStart:o,insetBlockEnd:o,insetInline:o,insetInlineStart:o,insetInlineEnd:o,padding:o,paddingTop:o,paddingRight:o,paddingBottom:o,paddingLeft:o,paddingBlock:o,paddingBlockStart:o,paddingBlockEnd:o,paddingInline:o,paddingInlineStart:o,paddingInlineEnd:o,margin:o,marginTop:o,marginRight:o,marginBottom:o,marginLeft:o,marginBlock:o,marginBlockStart:o,marginBlockEnd:o,marginInline:o,marginInlineStart:o,marginInlineEnd:o,fontSize:o,backgroundPositionX:o,backgroundPositionY:o,...Dn,zIndex:Nt,fillOpacity:L,strokeOpacity:L,numOctaves:Nt},jn={...U,color:y,backgroundColor:y,outlineColor:y,fill:y,stroke:y,borderColor:y,borderTopColor:y,borderRightColor:y,borderBottomColor:y,borderLeftColor:y,filter:ct,WebkitFilter:ct,mask:lt,WebkitMask:lt},Wn=t=>jn[t],$n=new Set([ct,lt]);function Kn(t,e){let n=Wn(t);return $n.has(n)||(n=M),n.getAnimatableNone?n.getAnimatableNone(e):void 0}const ft=(t,e)=>e&&typeof t=="number"?e.transform(t):t,{schedule:zn}=_t(queueMicrotask,!1),Yn=[...ae,y,M],Un=t=>Yn.find(re(t)),It=()=>({translate:0,scale:1,origin:0,originPoint:0}),Xs=()=>({x:It(),y:It()}),Ot=()=>({min:0,max:0}),Xn=()=>({x:Ot(),y:Ot()}),_n=new WeakMap;function oe(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function dt(t){return typeof t=="string"||Array.isArray(t)}const Hn=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Zn=["initial",...Hn];function Z(t){return oe(t.animate)||Zn.some(e=>dt(t[e]))}function ue(t){return!!(Z(t)||t.variants)}function Gn(t,e,n){for(const s in e){const i=e[s],r=n[s];if(S(i))t.addValue(s,i);else if(S(r))t.addValue(s,ut(i,{owner:t}));else if(r!==i)if(t.hasValue(s)){const a=t.getValue(s);a.liveStyle===!0?a.jump(i):a.hasAnimated||a.set(i)}else{const a=t.getStaticValue(s);t.addValue(s,ut(a!==void 0?a:i,{owner:t}))}}for(const s in n)e[s]===void 0&&t.removeValue(s);return e}const X={current:null},bt={current:!1},qn=typeof window<"u";function ce(){if(bt.current=!0,!!qn)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),e=()=>X.current=t.matches;t.addEventListener("change",e),e()}else X.current=!1}const kt=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let _={};function le(t){_=t}function Qn(){return _}class _s{scrapeMotionValuesFromProps(e,n,s){return{}}constructor({parent:e,props:n,presenceContext:s,reducedMotionConfig:i,skipAnimations:r,blockInitialAnimation:a,visualState:u},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=Sn,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const g=I.now();this.renderScheduledAt<g&&(this.renderScheduledAt=g,k.render(this.render,!1,!0))};const{latestValues:d,renderState:l}=u;this.latestValues=d,this.baseTarget={...d},this.initialValues=n.initial?{...d}:{},this.renderState=l,this.parent=e,this.props=n,this.presenceContext=s,this.depth=e?e.depth+1:0,this.reducedMotionConfig=i,this.skipAnimationsConfig=r,this.options=c,this.blockInitialAnimation=!!a,this.isControllingVariants=Z(n),this.isVariantNode=ue(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:f,...p}=this.scrapeMotionValuesFromProps(n,{},this);for(const g in p){const m=p[g];d[g]!==void 0&&S(m)&&m.set(d[g])}}mount(e){if(this.hasBeenMounted)for(const n in this.initialValues)this.values.get(n)?.jump(this.initialValues[n]),this.latestValues[n]=this.initialValues[n];this.current=e,_n.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((n,s)=>this.bindToMotionValue(s,n)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(bt.current||ce(),this.shouldReduceMotion=X.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),vt(this.notifyUpdate),vt(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(const e in this.events)this.events[e].clear();for(const e in this.features){const n=this.features[e];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,n){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),n.accelerate&&An.has(e)&&this.current instanceof HTMLElement){const{factory:a,keyframes:u,times:c,ease:d,duration:l}=n.accelerate,f=new Pn({element:this.current,name:e,keyframes:u,times:c,ease:d,duration:Xt(l)}),p=a(f);this.valueSubscriptions.set(e,()=>{p(),f.cancel()});return}const s=yt.has(e);s&&this.onBindTransform&&this.onBindTransform();const i=n.on("change",a=>{this.latestValues[e]=a,this.props.onUpdate&&k.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let r;typeof window<"u"&&window.MotionCheckAppearSync&&(r=window.MotionCheckAppearSync(this,e,n)),this.valueSubscriptions.set(e,()=>{i(),r&&r()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e="animation";for(e in _){const n=_[e];if(!n)continue;const{isEnabled:s,Feature:i}=n;if(!this.features[e]&&i&&s(this.props)&&(this.features[e]=new i(this)),this.features[e]){const r=this.features[e];r.isMounted?r.update():(r.mount(),r.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Xn()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,n){this.latestValues[e]=n}update(e,n){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=n;for(let s=0;s<kt.length;s++){const i=kt[s];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const r="on"+i,a=e[r];a&&(this.propEventSubscriptions[i]=this.on(i,a))}this.prevMotionValues=Gn(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){const n=this.getClosestVariantNode();if(n)return n.variantChildren&&n.variantChildren.add(e),()=>n.variantChildren.delete(e)}addValue(e,n){const s=this.values.get(e);n!==s&&(s&&this.removeValue(e),this.bindToMotionValue(e,n),this.values.set(e,n),this.latestValues[e]=n.get())}removeValue(e){this.values.delete(e);const n=this.valueSubscriptions.get(e);n&&(n(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,n){if(this.props.values&&this.props.values[e])return this.props.values[e];let s=this.values.get(e);return s===void 0&&n!==void 0&&(s=ut(n===null?void 0:n,{owner:this}),this.addValue(e,s)),s}readValue(e,n){let s=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return s!=null&&(typeof s=="string"&&(Ne(s)||Ie(s))?s=parseFloat(s):!Un(s)&&M.test(n)&&(s=Kn(e,n)),this.setBaseTarget(e,S(s)?s.get():s)),S(s)?s.get():s}setBaseTarget(e,n){this.baseTarget[e]=n}getBaseTarget(e){const{initial:n}=this.props;let s;if(typeof n=="string"||typeof n=="object"){const r=ie(this.props,n,this.presenceContext?.custom);r&&(s=r[e])}if(n&&s!==void 0)return s;const i=this.getBaseTargetFromProps(this.props,e);return i!==void 0&&!S(i)?i:this.initialValues[e]!==void 0&&s===void 0?void 0:this.baseTarget[e]}on(e,n){return this.events[e]||(this.events[e]=new Ut),this.events[e].add(n)}notify(e,...n){this.events[e]&&this.events[e].notify(...n)}scheduleRenderMicrotask(){zn.render(this.render)}}const Jn={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ts=j.length;function es(t,e,n){let s="",i=!0;for(let a=0;a<ts;a++){const u=j[a],c=t[u];if(c===void 0)continue;let d=!0;if(typeof c=="number")d=c===(u.startsWith("scale")?1:0);else{const l=parseFloat(c);d=u.startsWith("scale")?l===1:l===0}if(!d||n){const l=ft(c,U[u]);if(!d){i=!1;const f=Jn[u]||u;s+=`${f}(${l}) `}n&&(e[u]=l)}}const r=t.pathRotation;return r&&(i=!1,s+=`rotate(${ft(r,U.pathRotation)}) `),s=s.trim(),n?s=n(e,i?"":s):i&&(s="none"),s}function fe(t,e,n){const{style:s,vars:i,transformOrigin:r}=t;let a=!1,u=!1;for(const c in e){const d=e[c];if(yt.has(c)){a=!0;continue}else if($e(c)){i[c]=d;continue}else{const l=ft(d,U[c]);c.startsWith("origin")?(u=!0,r[c]=l):s[c]=l}}if(e.transform||(a||n?s.transform=es(e,t.transform,n):s.transform&&(s.transform="none")),u){const{originX:c="50%",originY:d="50%",originZ:l=0}=r;s.transformOrigin=`${c} ${d} ${l}`}}function Lt(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}const E={correct:(t,e)=>{if(!e.target)return t;if(typeof t=="string")if(o.test(t))t=parseFloat(t);else return t;const n=Lt(t,e.target.x),s=Lt(t,e.target.y);return`${n}% ${s}%`}},ns={correct:(t,{treeScale:e,projectionDelta:n})=>{const s=t,i=M.parse(t);if(i.length>5)return s;const r=M.createTransformer(t),a=typeof i[0]!="number"?1:0,u=n.x.scale*e.x,c=n.y.scale*e.y;i[0+a]/=u,i[1+a]/=c;const d=on(u,c,.5);return typeof i[2+a]=="number"&&(i[2+a]/=d),typeof i[3+a]=="number"&&(i[3+a]/=d),r(i)}},ss={borderRadius:{...E,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:E,borderTopRightRadius:E,borderBottomLeftRadius:E,borderBottomRightRadius:E,boxShadow:ns};function de(t,{layout:e,layoutId:n}){return yt.has(t)||t.startsWith("origin")||(e||n!==void 0)&&(!!ss[t]||t==="opacity")}function he(t,e,n){const s=t.style,i=e?.style,r={};if(!s)return r;for(const a in s)(S(s[a])||i&&S(i[a])||de(a,t)||n?.getValue(a)?.liveStyle!==void 0)&&(r[a]=s[a]);return r}const is={offset:"stroke-dashoffset",array:"stroke-dasharray"},rs={offset:"strokeDashoffset",array:"strokeDasharray"};function as(t,e,n=1,s=0,i=!0){t.pathLength=1;const r=i?is:rs;t[r.offset]=`${-s}`,t[r.array]=`${e} ${n}`}const os=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function us(t,{attrX:e,attrY:n,attrScale:s,pathLength:i,pathSpacing:r=1,pathOffset:a=0,...u},c,d,l){if(fe(t,u,d),c){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:f,style:p}=t;f.transform&&(p.transform=f.transform,delete f.transform),(p.transform||f.transformOrigin)&&(p.transformOrigin=f.transformOrigin??"50% 50%",delete f.transformOrigin),p.transform&&(p.transformBox=l?.transformBox??"fill-box",delete f.transformBox);for(const g of os)f[g]!==void 0&&(p[g]=f[g],delete f[g]);e!==void 0&&(f.x=e),n!==void 0&&(f.y=n),s!==void 0&&(f.scale=s),i!==void 0&&as(f,i,r,a,!1)}const cs=t=>typeof t=="string"&&t.toLowerCase()==="svg";function ls(t,e,n){const s=he(t,e,n);for(const i in t)if(S(t[i])||S(e[i])){const r=j.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;s[r]=t[i]}return s}function fs(t){return S(t)?t.get():t}const pe=h.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),St=h.createContext({strict:!1}),Dt={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let jt=!1;function ds(){if(jt)return;const t={};for(const e in Dt)t[e]={isEnabled:n=>Dt[e].some(s=>!!n[s])};le(t),jt=!0}function me(){return ds(),Qn()}function ht(t){const e=me();for(const n in t)e[n]={...e[n],...t[n]};le(e)}function Hs({children:t,features:e,strict:n=!1}){const[,s]=h.useState(!J(e)),i=h.useRef(void 0);if(!J(e)){const{renderer:r,...a}=e;i.current=r,ht(a)}return h.useEffect(()=>{J(e)&&e().then(({renderer:r,...a})=>{ht(a),i.current=r,s(!0)})},[]),et.jsx(St.Provider,{value:{renderer:i.current,strict:n},children:t})}function J(t){return typeof t=="function"}const hs=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function H(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||hs.has(t)}let ge=t=>!H(t);function ps(t){typeof t=="function"&&(ge=e=>e.startsWith("on")?!H(e):t(e))}try{ps(require("@emotion/is-prop-valid").default)}catch{}function ms(t,e,n){const s={};for(const i in t)i==="values"&&typeof t.values=="object"||S(t[i])||(ge(i)||n===!0&&H(i)||!e&&!H(i)||t.draggable&&i.startsWith("onDrag"))&&(s[i]=t[i]);return s}const G=h.createContext({});function gs(t,e){if(Z(t)){const{initial:n,animate:s}=t;return{initial:n===!1||dt(n)?n:void 0,animate:dt(s)?s:void 0}}return t.inherit!==!1?e:{}}function ys(t){const{initial:e,animate:n}=gs(t,h.useContext(G));return h.useMemo(()=>({initial:e,animate:n}),[Wt(e),Wt(n)])}function Wt(t){return Array.isArray(t)?t.join(" "):t}const Vt=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function ye(t,e,n){for(const s in e)!S(e[s])&&!de(s,n)&&(t[s]=e[s])}function bs({transformTemplate:t},e){return h.useMemo(()=>{const n=Vt();return fe(n,e,t),Object.assign({},n.vars,n.style)},[e])}function Ss(t,e){const n=t.style||{},s={};return ye(s,n,t),Object.assign(s,bs(t,e)),s}function Vs(t,e){const n={},s=Ss(t,e);return t.drag&&t.dragListener!==!1&&(n.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=s,n}const be=()=>({...Vt(),attrs:{}});function vs(t,e,n,s){const i=h.useMemo(()=>{const r=be();return us(r,e,cs(s),t.transformTemplate,t.style),{...r.attrs,style:{...r.style}}},[e]);if(t.style){const r={};ye(r,t.style,t),i.style={...r,...i.style}}return i}const ws=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Se(t){return typeof t!="string"||t.includes("-")?!1:!!(ws.indexOf(t)>-1||/[A-Z]/u.test(t))}function Ts(t,e,n,{latestValues:s},i,r=!1,a){const c=(a??Se(t)?vs:Vs)(e,s,i,t),d=ms(e,typeof t=="string",r),l=t!==h.Fragment?{...d,...c,ref:n}:{},{children:f}=e,p=h.useMemo(()=>S(f)?f.get():f,[f]);return h.createElement(t,{...l,children:p})}function Ms({scrapeMotionValuesFromProps:t,createRenderState:e},n,s,i){return{latestValues:xs(n,s,i,t),renderState:e()}}function xs(t,e,n,s){const i={},r=s(t,{});for(const p in r)i[p]=fs(r[p]);let{initial:a,animate:u}=t;const c=Z(t),d=ue(t);e&&d&&!c&&t.inherit!==!1&&(a===void 0&&(a=e.initial),u===void 0&&(u=e.animate));let l=n?n.initial===!1:!1;l=l||a===!1;const f=l?u:a;if(f&&typeof f!="boolean"&&!oe(f)){const p=Array.isArray(f)?f:[f];for(let g=0;g<p.length;g++){const m=ie(t,p[g]);if(m){const{transitionEnd:v,transition:x,...C}=m;for(const w in C){let b=C[w];if(Array.isArray(b)){const V=l?b.length-1:0;b=b[V]}b!==null&&(i[w]=b)}for(const w in v)i[w]=v[w]}}}return i}const Ve=t=>(e,n)=>{const s=h.useContext(G),i=h.useContext($t),r=()=>Ms(t,e,s,i);return n?r():Pe(r)},Cs=Ve({scrapeMotionValuesFromProps:he,createRenderState:Vt}),Ps=Ve({scrapeMotionValuesFromProps:ls,createRenderState:be}),As=Symbol.for("motionComponentSymbol");function Fs(t,e,n){const s=h.useRef(n);h.useInsertionEffect(()=>{s.current=n});const i=h.useRef(null);return h.useCallback(r=>{r&&t.onMount?.(r),e&&(r?e.mount(r):e.unmount());const a=s.current;if(typeof a=="function")if(r){const u=a(r);typeof u=="function"&&(i.current=u)}else i.current?(i.current(),i.current=null):a(r);else a&&(a.current=r)},[e])}const Rs=h.createContext({});function Es(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Bs(t,e,n,s,i,r){const{visualElement:a}=h.useContext(G),u=h.useContext(St),c=h.useContext($t),d=h.useContext(pe),l=d.reducedMotion,f=d.skipAnimations,p=h.useRef(null),g=h.useRef(!1);s=s||u.renderer,!p.current&&s&&(p.current=s(t,{visualState:e,parent:a,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:l,skipAnimations:f,isSVG:r}),g.current&&p.current&&(p.current.manuallyAnimateOnMount=!0));const m=p.current,v=h.useContext(Rs);m&&!m.projection&&i&&(m.type==="html"||m.type==="svg")&&Ns(p.current,n,i,v);const x=h.useRef(!1);h.useInsertionEffect(()=>{m&&x.current&&m.update(n,c)});const C=n[Nn],w=h.useRef(!!C&&typeof window<"u"&&!window.MotionHandoffIsComplete?.(C)&&window.MotionHasOptimisedAnimation?.(C));return Fe(()=>{g.current=!0,m&&(x.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),w.current&&m.animationState&&m.animationState.animateChanges())}),h.useEffect(()=>{m&&(!w.current&&m.animationState&&m.animationState.animateChanges(),w.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(C)}),w.current=!1),m.enteringChildren=void 0)}),m}function Ns(t,e,n,s){const{layoutId:i,layout:r,drag:a,dragConstraints:u,layoutScroll:c,layoutRoot:d,layoutAnchor:l,layoutCrossfade:f}=e;t.projection=new n(t.latestValues,e["data-framer-portal-id"]?void 0:ve(t.parent)),t.projection.setOptions({layoutId:i,layout:r,alwaysMeasureLayout:!!a||u&&Es(u),visualElement:t,animationType:typeof r=="string"?r:"both",initialPromotionConfig:s,crossfade:f,layoutScroll:c,layoutRoot:d,layoutAnchor:l})}function ve(t){if(t)return t.options.allowProjection!==!1?t.projection:ve(t.parent)}function tt(t,{forwardMotionProps:e=!1,type:n}={},s,i){s&&ht(s);const r=n?n==="svg":Se(t),a=r?Ps:Cs;function u(d,l){let f;const p={...h.useContext(pe),...d,layoutId:Is(d)},{isStatic:g}=p,m=ys(d),v=a(d,g);if(!g&&typeof window<"u"){Os();const x=ks(p);f=x.MeasureLayout,m.visualElement=Bs(t,v,p,i,x.ProjectionNode,r)}return et.jsxs(G.Provider,{value:m,children:[f&&m.visualElement?et.jsx(f,{visualElement:m.visualElement,...p}):null,Ts(t,d,Fs(v,m.visualElement,l),v,g,e,r)]})}u.displayName=`motion.${typeof t=="string"?t:`create(${t.displayName??t.name??""})`}`;const c=h.forwardRef(u);return c[As]=t,c}function Is({layoutId:t}){const e=h.useContext(Ce).id;return e&&t!==void 0?e+"-"+t:t}function Os(t,e){h.useContext(St).strict}function ks(t){const e=me(),{drag:n,layout:s}=e;if(!n&&!s)return{};const i={...n,...s};return{MeasureLayout:n?.isEnabled(t)||s?.isEnabled(t)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function Ls(t,e){if(typeof Proxy>"u")return tt;const n=new Map,s=(r,a)=>tt(r,a,t,e),i=(r,a)=>s(r,a);return new Proxy(i,{get:(r,a)=>a==="create"?s:(n.has(a)||n.set(a,tt(a,void 0,t,e)),n.get(a))})}const Zs=Ls();function Gs(){!bt.current&&ce();const[t]=h.useState(X.current);return t}export{Xn as $,Oe as A,Ys as B,yt as C,Ne as D,ie as E,j as F,ut as G,S as H,Nn as I,Ie as J,Sn as K,Hs as L,zt as M,Pn as N,Kn as O,Us as P,$s as Q,Y as R,zs as S,Ft as T,Ks as U,_s as V,fn as W,$e as X,fe as Y,he as Z,En as _,Be as a,ls as a0,us as a1,cs as a2,Wn as a3,dt as a4,Zn as a5,oe as a6,Hn as a7,Se as a8,F as a9,o as aa,Re as ab,Ee as ac,Ut as ad,js as ae,zn as af,Xs as ag,fs as ah,ss as ai,pe as aj,Pe as ak,$t as al,Fe as am,Ce as an,Es as ao,Rs as ap,Ls as aq,on as b,Tt as c,Ws as d,y as e,M as f,gt as g,K as h,Le as i,wt as j,vt as k,k as l,Zs as m,Yt as n,q as o,Kt as p,un as q,B as r,Xt as s,I as t,Gs as u,ke as v,ln as w,vn as x,xn as y,An as z};
@@ -0,0 +1 @@
1
+ import{r as t,j as B}from"./index-DMiGbrBt.js";import{r as N}from"./index-CJXzfjo9.js";import{A as Y}from"./AgentDetailCard-BcRBRp88.js";const A=340,S=16,$=180,q=100,I=A+S;function F(s,m){const i=window.innerWidth,y=window.innerHeight,c=12,u=i-s.right,o=s.left;if(u<I&&o<I)return{top:Math.max(c,Math.min(y/2-m/2,y-m-c)),left:Math.max(c,i/2-A/2),side:"center"};const p=u>=o?"right":"left",v=p==="right"?Math.min(s.right+S,i-A-c):Math.max(s.left-S-A,c),h=s.top+s.height/2-m/2;return{top:Math.max(c,Math.min(h,y-m-c)),left:v,side:p}}function Q({agents:s,orderedIds:m,navigate:i,selectMode:y="preview"}){const[c,u]=t.useState(null),[o,p]=t.useState(null),[v,D]=t.useState(null),h=t.useRef(new Map),l=t.useRef(null),C=t.useRef(null),b=t.useRef(null),T=t.useRef(null),a=o??c,d=t.useMemo(()=>a?s.find(e=>e.id===a)??null:null,[a,s]),O=t.useMemo(()=>o?s.find(e=>e.id===o)??null:null,[o,s]),f=t.useCallback(()=>{l.current&&(window.clearTimeout(l.current),l.current=null),C.current&&(window.clearTimeout(C.current),C.current=null)},[]);t.useEffect(()=>()=>f(),[f]),t.useEffect(()=>{if(!a){D(null);return}const e=h.current.get(a);if(!e)return;const n=()=>{const E=e.getBoundingClientRect(),w=b.current?.offsetHeight??260;D(F(E,w))};n(),window.addEventListener("scroll",n,!0),window.addEventListener("resize",n);const r=new ResizeObserver(n);return b.current&&r.observe(b.current),()=>{window.removeEventListener("scroll",n,!0),window.removeEventListener("resize",n),r.disconnect()}},[a]),t.useEffect(()=>{if(!o)return;const e=r=>{r.key==="Escape"&&(p(null),u(null))},n=r=>{const E=r.target;if(!b.current?.contains(E)){for(const w of h.current.values())if(w.contains(E))return;p(null)}};return window.addEventListener("keydown",e),window.addEventListener("mousedown",n),()=>{window.removeEventListener("keydown",e),window.removeEventListener("mousedown",n)}},[o]);const g=t.useCallback(e=>{if(!e)return;const n=h.current.get(e);n&&(typeof n.focus=="function"&&n.focus({preventScroll:!1}),n.scrollIntoView({block:"nearest",behavior:"smooth"}))},[]);t.useEffect(()=>{const e=T.current;if(!e)return;const n=r=>{const E=document.activeElement,w=E?.dataset?.agentId??null,k=m;if(!(k.length===0||!e.contains(E)&&r.key!=="Escape")){if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault();const x=w?k.indexOf(w):-1,W=r.key==="ArrowDown"?x<0?0:Math.min(x+1,k.length-1):x<=0?0:x-1;g(k[W]);return}if(r.key==="Home"){r.preventDefault(),g(k[0]);return}if(r.key==="End"){r.preventDefault(),g(k[k.length-1]);return}r.key.toLowerCase()==="o"&&w&&!r.metaKey&&!r.ctrlKey&&!r.altKey&&(r.preventDefault(),i({view:"agents-v2",agentId:w}))}};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)},[m,g,i]);const R=t.useCallback(e=>{if(f(),!(o&&o!==e)){if(c||o===e){u(e);return}l.current=window.setTimeout(()=>{u(e),l.current=null},$)}},[f,c,o]),L=t.useCallback(()=>{o||(l.current&&(window.clearTimeout(l.current),l.current=null),C.current=window.setTimeout(()=>{u(null),C.current=null},q))},[o]),H=t.useCallback(e=>{if(y==="navigate"){i({view:"agents-v2",agentId:e});return}f(),p(n=>n===e?null:e),u(e)},[y,i,f]),P=t.useCallback(()=>{d&&i({view:"agents-v2",agentId:d.id})},[d,i]),M=t.useCallback(()=>{f(),p(null),u(null)},[f]),_=t.useCallback(e=>({ref:n=>{n?h.current.set(e,n):h.current.delete(e)},onMouseEnter:()=>R(e),onMouseLeave:()=>L(),onFocus:()=>R(e),onBlur:()=>L(),onClick:()=>H(e),"data-agent-id":e,tabIndex:0}),[R,L,H]),K=t.useCallback(e=>({isActive:a===e,isPinned:o===e}),[a,o]),j=v?{position:"fixed",top:v.top,left:v.left,width:A}:void 0,z=d&&v&&typeof document<"u"?N.createPortal(B.jsx(Y,{ref:b,agent:d,pinned:o===d.id,onOpen:P,onClose:M,onAction:M,style:j,className:`agent-card--side-${v.side}${o===d.id?"":" agent-card--preview"}`}),document.querySelector("[data-scout-theme]")??document.body):null;return{bind:_,getState:K,activeAgent:d,pinnedAgent:O,clear:M,card:z,containerRef:T}}export{Q as u};
@@ -0,0 +1 @@
1
+ import{u as e}from"./router-Bq5dwf78.js";function n(){return!e("nav.sidebar",!1)}export{n as u};
@@ -0,0 +1,50 @@
1
+ import{j as r,r as f}from"./index-DMiGbrBt.js";function pe({className:e,children:t}){return r.jsx("div",{className:e?`rd-viewer ${e}`:"rd-viewer","data-scout-theme":!0,children:t})}function k({children:e}){return r.jsx("div",{className:"rd-center",children:r.jsx("div",{className:"rd-center-card",children:e})})}const xe=["branch","unstaged","staged"],z={unstaged:"Unstaged",staged:"Staged",branch:"Branch"},we={added:"A",modified:"M",deleted:"D",renamed:"R",copied:"C",typechange:"T",conflict:"!",unknown:"?"};function J(e){return e.newPath??e.oldPath??"(unknown)"}function be(e){const t=e.split("/"),n=t[t.length-1]||e,i=t.slice(0,-1).join("/");return{name:n,dir:i}}function K(e,t){return`${e.oldPath??""}→${e.newPath??""}#${t}`}function ve(e){return e.files.reduce((t,n)=>({add:t.add+(n.additions??0),del:t.del+(n.deletions??0)}),{add:0,del:0})}function je(e,t,n=null){return{fetchedAt:e.fetchedAt,cacheHit:!0,refreshing:t,refreshError:n}}function Pe(e,t){return{fetchedAt:e.fetchedAt,cacheHit:e.cacheHit,refreshing:t,refreshError:null}}function B(e){const t=e.trim();return!t||t==="/dev/null"?null:t.startsWith("a/")||t.startsWith("b/")?t.slice(2):t}function Q(e,t){return[t.newPath,t.oldPath].filter(i=>!!i).includes(e)}function X(e,t){if(!e?.rawPatch)return[];const n=[];let i=null,s=null,c=null,o=null;for(const d of e.rawPatch.split(`
2
+ `)){if(d.startsWith("diff --git ")){i=null,s=null,c=null,o=null;continue}if(d.startsWith("--- ")){i=B(d.slice(4));continue}if(d.startsWith("+++ ")){s=B(d.slice(4));continue}const a=/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/.exec(d);if(a){c=Number(a[1]),o=Number(a[2]);continue}if(c==null||o==null)continue;const l=s??i;l&&(t&&!Q(l,t)||(d.startsWith("+")?(n.push({layer:e.kind,filePath:l,side:"add",oldLine:null,newLine:o,text:d.slice(1)}),o+=1):d.startsWith("-")?(n.push({layer:e.kind,filePath:l,side:"del",oldLine:c,newLine:null,text:d.slice(1)}),c+=1):d.startsWith(" ")&&(n.push({layer:e.kind,filePath:l,side:"context",oldLine:c,newLine:o,text:d.slice(1)}),c+=1,o+=1)))}return n}function Z(e){return e.newLine!=null?`L${e.newLine}`:e.oldLine!=null?`old L${e.oldLine}`:"line"}function ee(e,t=160){const n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}…`:n}function ke(e){const{line:t}=e,n=t.side==="add"?"+":t.side==="del"?"-":" ";return`[Diff line: ${t.layer} · ${t.filePath}:${Z(t)} · ${n} ${ee(t.text)}]`}function ye(e){const{selection:t}=e;return[`[Diff selection: ${[t.layer??"diff",t.filePath].filter(Boolean).join(" · ")||"diff"}]`,t.text.trim(),"[/Diff selection]"].join(`
3
+ `)}function U(e){const t=window.getSelection(),n=t?.toString().trim()??"";if(!t||!n||!e.root)return null;const i=t.anchorNode,s=t.focusNode;return i&&!e.root.contains(i)||s&&!e.root.contains(s)?null:{layer:e.activeLayer,filePath:e.selectedFile?J(e.selectedFile):null,text:n}}const te="1.2.7",E=`https://esm.sh/@pierre/diffs@${te}`,M={base:`${E}?external=react,react-dom`,react:`${E}/react?external=react,react-dom`,worker:`${E}/worker/worker.js`},V=["typescript","tsx","javascript","jsx","json","markdown","rust","swift","shellscript","yaml","css","html"];function ne(){return import(M.react)}function re(){return import(M.base)}let y=null;function H(){return y||(y=(async()=>{const e="react",t="react-dom/client",[n,i,s,c]=await Promise.all([ne(),re(),import(e),import(t)]),o=a=>typeof a=="function"||typeof a=="object"&&a!==null;if(!o(n?.CodeView)||!o(n?.WorkerPoolContextProvider)||typeof i?.parsePatchFiles!="function"||typeof s?.createElement!="function"||typeof c?.createRoot!="function")throw new Error(`Pierre loaded from ${E} but the expected exports are missing.`);const d=()=>{const a=`import ${JSON.stringify(M.worker)};`,l=URL.createObjectURL(new Blob([a],{type:"text/javascript"})),h=new Worker(l,{type:"module"});return URL.revokeObjectURL(l),h};return{CodeView:n.CodeView,PatchDiff:n.PatchDiff,WorkerPoolContextProvider:n.WorkerPoolContextProvider,parsePatchFiles:i.parsePatchFiles,preloadHighlighter:i.preloadHighlighter,workerFactory:d,createElement:s.createElement,createRoot:c.createRoot}})(),y.catch(()=>{y=null}),y)}let R=null;function ie(e,t){return R||(R=e.preloadHighlighter({themes:[t],langs:[...V]}).catch(()=>{R=null}),R)}function ae(e,t,n){return e.parsePatchFiles(t,n,!0)}const se=`
4
+ [data-line-type="change-addition"]:is(
5
+ :where([data-background]) [data-line],
6
+ :where([data-background]) [data-no-newline]
7
+ ),
8
+ [data-line-type="change-deletion"]:is(
9
+ :where([data-background]) [data-line],
10
+ :where([data-background]) [data-no-newline]
11
+ ) {
12
+ --mix-light: var(--rd-diff-line-mix-light, 94%);
13
+ --mix-dark: var(--rd-diff-line-mix-dark, 92%);
14
+ }
15
+
16
+ [data-line-type="change-addition"]:is(
17
+ :where([data-background]) [data-gutter-buffer],
18
+ :where([data-background]) [data-column-number]
19
+ ) {
20
+ --mix-light: var(--rd-diff-gutter-mix-light, 76%);
21
+ --mix-dark: var(--rd-diff-gutter-mix-dark, 72%);
22
+ --diffs-diff-line-mix-target: var(--diffs-bg-addition-number-override, var(--diffs-addition-base));
23
+ }
24
+
25
+ [data-line-type="change-deletion"]:is(
26
+ :where([data-background]) [data-gutter-buffer],
27
+ :where([data-background]) [data-column-number]
28
+ ) {
29
+ --mix-light: var(--rd-diff-gutter-mix-light, 76%);
30
+ --mix-dark: var(--rd-diff-gutter-mix-dark, 72%);
31
+ --diffs-diff-line-mix-target: var(--diffs-bg-deletion-number-override, var(--diffs-deletion-base));
32
+ }
33
+
34
+ [data-column-number]:is(
35
+ [data-indicators="bars"] [data-line-type="change-addition"],
36
+ [data-indicators="bars"] [data-line-type="change-deletion"]
37
+ )::before {
38
+ width: var(--rd-diff-spine-width, 6px);
39
+ }
40
+
41
+ [data-column-number]:is([data-indicators="bars"] [data-line-type="change-addition"])::before {
42
+ background-color: var(--diffs-addition-base);
43
+ }
44
+
45
+ [data-column-number]:is([data-indicators="bars"] [data-line-type="change-deletion"])::before {
46
+ background-color: var(--diffs-deletion-base);
47
+ background-image: none;
48
+ }
49
+ `;function A(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function oe(e){const t=e,n=t?.type==="diff"?t.fileDiff:null;return[n?.name,n?.prevName].filter(i=>typeof i=="string"&&i.length>0)}function I(e,t,n){return n==="additions"?e.newLine===t:n==="deletions"?e.oldLine===t:e.newLine===t||e.oldLine===t}function le(e,t,n){return e.findIndex(i=>I(i,t,n))}function ce(e,t,n){for(let i=e.length-1;i>=0;i-=1)if(I(e[i],t,n))return i;return-1}function de(e){return e.map(t=>{const n=t.side==="add"?"+":t.side==="del"?"-":" ",i=t.newLine??t.oldLine,s=i!=null?`${i}: `:"";return`${n} ${s}${t.text}`}).join(`
50
+ `)}function ue({range:e,item:t,lineContexts:n}){if(!e)return null;const i=A(e.start),s=A(e.end);if(i==null||s==null)return null;const c=oe(t),o=n.filter(N=>c.length===0||c.includes(N.filePath)),d=le(o,i,e.side),a=ce(o,s,e.endSide??e.side);if(d<0||a<0)return null;const l=Math.min(d,a),h=Math.max(d,a),P=o.slice(l,h+1);return P.length>0?P:null}function fe(e){return{layer:e[0]?.layer??null,filePath:e[0]?.filePath??null,text:de(e)}}function he(e,t){const n=e.createRoot(t);let i=null;const s=c=>{i=c};return{render({items:c,theme:o,layout:d,lineContexts:a=[],onIncludeLineContext:l,onIncludeSelectionContext:h}){n.render(e.createElement(e.WorkerPoolContextProvider,{poolOptions:{workerFactory:e.workerFactory},highlighterOptions:{theme:o,langs:[...V]}},e.createElement(e.CodeView,{className:"rd-codeview",items:c,options:{theme:o,diffStyle:d,diffIndicators:"bars",stickyHeaders:!0,unsafeCSS:se,enableGutterUtility:!!l,enableLineSelection:!!h,lineHoverHighlight:"number",onGutterUtilityClick:(P,N)=>{const w=ue({range:P,item:N,lineContexts:a});if(w){if(w.length===1&&l){l(w[0]);return}h&&h(fe(w))}}},ref:s})))},scrollToItem(c,o="smooth"){i?.scrollTo({type:"item",id:c,align:"start",behavior:o})},unmount(){n.unmount()}}}function Ne({layer:e,patchLayer:t,patchPhase:n,patchError:i,selectedFileKey:s,renderKey:c,theme:o,layout:d,pierre:a,pierrePhase:l,pierreError:h,onRetryPierre:P,onIncludeLineContext:N,onIncludeSelectionContext:w,contextActions:x=!0}){const $=f.useRef(null),[F,L]=f.useState(null),g=f.useMemo(()=>e?e.files.find((u,p)=>K(u,p)===s)??null:null,[e,s]),m=t??e,b=f.useMemo(()=>{if(!a||!m||!m.rawPatch)return null;try{const u=`${c}:${m.kind}:${m.patchOid}`,p=ae(a,m.rawPatch,u),v=[];return p.forEach((W,j)=>{W.files.forEach((S,T)=>{v.push({id:`${u}:${j}:${T}:${S.name}`,type:"diff",fileDiff:S})})}),{ok:!0,items:v,patches:p}}catch(u){return{ok:!1,error:u instanceof Error?u.message:String(u)}}},[a,m,c]),O=f.useMemo(()=>{if(!b||!b.ok||!g)return null;const u=[g.newPath,g.oldPath].filter(p=>!!p);for(const p of b.items){const v=p.fileDiff?.name;if(v&&u.includes(v))return p.id}return null},[b,g]),G=f.useMemo(()=>x?X(m,g):[],[x,m,g]),q=f.useCallback(()=>{if(!x)return;const u=U({activeLayer:e?.kind??null,selectedFile:g,root:$.current});u&&(w(u),window.getSelection()?.removeAllRanges(),L(null))},[x,e?.kind,w,g]),C=f.useCallback(()=>{if(!x){L(null);return}const u=$.current,p=U({activeLayer:e?.kind??null,selectedFile:g,root:u});if(!u||!p){L(null);return}const v=window.getSelection(),j=(v?.rangeCount?v.getRangeAt(0):null)?.getBoundingClientRect();if(!j||j.width===0&&j.height===0){L(null);return}const S=u.getBoundingClientRect(),T=Math.max(8,u.clientWidth-132),Y=Math.max(8,u.clientHeight-36);L({left:Math.min(Math.max(j.right-S.left+8,8),T),top:Math.min(Math.max(j.top-S.top-2,8),Y)})},[x,e?.kind,g]);if(f.useEffect(()=>{if(!x)return;const u=()=>{requestAnimationFrame(C)};return document.addEventListener("selectionchange",u),()=>{document.removeEventListener("selectionchange",u)}},[x,C]),!e)return r.jsx("div",{className:"rd-surface",children:r.jsx(k,{children:r.jsx("div",{className:"rd-center-title",children:"No layer selected"})})});if(e.files.length===0)return r.jsx("div",{className:"rd-surface",children:r.jsxs(k,{children:[r.jsx("div",{className:"rd-center-title",children:"Nothing to diff"}),r.jsxs("div",{className:"rd-center-body",children:["The ",z[e.kind]??e.kind.toLowerCase()," layer is clean."]})]})});if(n==="loading"||n==="idle"&&g)return r.jsx("div",{className:"rd-surface",children:r.jsxs(k,{children:[r.jsx("div",{className:"rd-spinner","aria-hidden":!0}),r.jsx("div",{className:"rd-center-title",children:"Loading selected file…"}),r.jsx("div",{className:"rd-center-body",children:"Fetching a path-filtered patch chunk for this file."})]})});if(n==="error"&&!t)return r.jsx("div",{className:"rd-surface",children:r.jsxs(k,{children:[r.jsx("div",{className:"rd-center-title",children:"Couldn’t load this file"}),r.jsx("div",{className:"rd-center-body",children:i??"The path-filtered patch request failed."})]})});if(l==="loading")return r.jsx("div",{className:"rd-surface",children:r.jsxs(k,{children:[r.jsx("div",{className:"rd-spinner","aria-hidden":!0}),r.jsx("div",{className:"rd-center-title",children:"Loading the diff renderer…"}),r.jsx("div",{className:"rd-center-body",children:"Fetching Pierre Diffs + Shiki (first open only)."})]})});if(l==="error"||!a)return r.jsxs("div",{className:"rd-surface",children:[r.jsxs("div",{className:"rd-banner warning",children:[r.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),r.jsxs("span",{children:["The diff renderer failed to load",h?`: ${h}`:"."," Showing raw patch text."]})]}),r.jsx("div",{className:"rd-surface-scroll",children:r.jsx(_,{layer:m??e,onRetry:P})})]});if(!m?.rawPatch||!b)return r.jsx("div",{className:"rd-surface",children:r.jsxs(k,{children:[r.jsx("div",{className:"rd-center-title",children:"No patch text available"}),r.jsx("div",{className:"rd-center-body",children:e.truncated?"This layer was truncated by the native diff budget; file summaries are shown in the rail.":"The summary is loaded. Select a file to fetch its patch text."})]})});if(!b.ok)return r.jsxs("div",{className:"rd-surface",children:[r.jsxs("div",{className:"rd-banner warning",children:[r.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),r.jsxs("span",{children:["Couldn’t parse the patch (",b.error,"). Showing raw text."]})]}),r.jsx("div",{className:"rd-surface-scroll",children:r.jsx(_,{layer:m})})]});const D=m.files.filter(u=>u.truncated).length;return r.jsxs("div",{className:"rd-surface",ref:$,children:[n==="error"&&t?r.jsxs("div",{className:"rd-banner warning",children:[r.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),r.jsx("span",{children:i??"Couldn’t refresh this file; showing the cached chunk."})]}):null,m.truncated||D>0?r.jsxs("div",{className:"rd-banner warning",children:[r.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),r.jsx("span",{children:m.truncated?"This layer was truncated; some files or hunks are omitted.":`${D} file${D===1?"":"s"} truncated.`})]}):null,x&&F?r.jsx("button",{type:"button",className:"rd-selection-context-chip",style:{left:F.left,top:F.top},onMouseDown:u=>u.preventDefault(),onClick:q,children:"+ selection"}):null,r.jsx("div",{className:"rd-surface-scroll",onMouseUp:C,onKeyUp:C,children:r.jsx(me,{pierre:a,items:b.items,theme:o,layout:d,scrollToItemId:O,lineContexts:G,onIncludeLineContext:N,onIncludeSelectionContext:w})})]})}function me({pierre:e,items:t,theme:n,layout:i,scrollToItemId:s,lineContexts:c,onIncludeLineContext:o,onIncludeSelectionContext:d}){const a=f.useRef(null),l=f.useRef(null);return f.useEffect(()=>{if(!a.current)return;const h=he(e,a.current);return l.current=h,()=>{l.current=null,setTimeout(()=>h.unmount(),0)}},[e]),f.useEffect(()=>{l.current?.render({items:t,theme:n,layout:i,lineContexts:c,onIncludeLineContext:o,onIncludeSelectionContext:d})},[t,n,i,c,o,d]),f.useEffect(()=>{if(!s)return;const h=requestAnimationFrame(()=>{l.current?.scrollToItem(s)});return()=>cancelAnimationFrame(h)},[s]),r.jsx("div",{ref:a,className:"rd-codeview-host"})}function _({layer:e,onRetry:t}){return r.jsxs("div",{style:{padding:"var(--space-lg)"},children:[t?r.jsx("div",{className:"rd-center-action",style:{marginTop:0,marginBottom:"var(--space-md)"},children:r.jsx("button",{type:"button",className:"rd-btn",onClick:t,children:"Retry renderer"})}):null,r.jsx("pre",{style:{margin:0,whiteSpace:"pre",fontFamily:"var(--rd-mono)",fontSize:"var(--text-xs)",lineHeight:1.5,color:"var(--ink)"},children:e.rawPatch??"(no patch text)"})]})}function Le(e){const[t,n]=f.useState(null),[i,s]=f.useState("loading"),[c,o]=f.useState(null),d=f.useCallback(()=>{s("loading"),o(null),H().then(a=>{n(a),s("ready")},a=>{o(a instanceof Error?a.message:String(a)),s("error")})},[]);return f.useEffect(()=>{let a=!0;return H().then(l=>{a&&(n(l),s("ready"))},l=>{a&&(o(l instanceof Error?l.message:String(l)),s("error"))}),()=>{a=!1}},[]),f.useEffect(()=>{t&&e&&ie(t,e.render.preferredTheme)},[t,e]),{pierre:t,pierrePhase:i,pierreError:c,retryPierre:d}}export{k as C,Ne as D,z as L,we as S,pe as V,J as a,ye as b,je as c,Pe as d,xe as e,K as f,ve as l,ke as r,be as s,Le as u};
@@ -0,0 +1 @@
1
+ const v=48;function w(s=48,r=.04){const e=Array.from({length:s},()=>r);return{push(t){const n=M(t);e.shift(),e.push(Math.max(r,n))},snapshot(){return e.slice()},decay(t=.88){for(let n=0;n<e.length;n+=1)e[n]=Math.max(r,e[n]*t)},clear(){for(let t=0;t<e.length;t+=1)e[t]=r}}}function p(s,r){const e=window.AudioContext||window.webkitAudioContext;if(!e)return{stop:()=>{}};const t=new e,n=t.createMediaStreamSource(s),i=t.createAnalyser();i.fftSize=1024,i.smoothingTimeConstant=.65,n.connect(i);const o=new Uint8Array(i.fftSize);let c=0,u=!1,a=0;const m=()=>{if(u)return;i.getByteTimeDomainData(o);let h=0;for(let l=0;l<o.length;l+=1){const d=(o[l]-128)/128;h+=d*d}const f=Math.sqrt(h/o.length),g=Math.min(1,f*3.6);a=a*.55+g*.45,r(a),c=window.requestAnimationFrame(m)};return t.resume().then(()=>{u||(c=window.requestAnimationFrame(m))}),{stop(){u=!0,c&&window.cancelAnimationFrame(c);try{n.disconnect(),i.disconnect()}catch{}t.close().catch(()=>{})}}}async function y(s){if(!navigator.mediaDevices?.getUserMedia)return null;try{const r=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0},video:!1}),e=p(r,s);return{stop(){e.stop();for(const t of r.getTracks())t.stop()}}}catch{return null}}function A(s,r,e){const t=s.trimEnd(),n=r.trimEnd();if(!n)return e>280?.05:.12;if(n.length<t.length)return .2;const i=n.slice(t.length);if(!i){const a=Math.min(1,e/900);return Math.max(.04,.18*(1-a))}let o=0;for(const a of i)/[aeiouyæøåáéíóúäöü]/i.test(a)?o+=1.15:/[a-z]/i.test(a)?o+=.7:/\d/.test(a)?o+=.55:/\s/.test(a)?o+=.15:o+=.35;const c=o/Math.max(1,i.length);return Math.min(1,.25+c*.55+Math.min(i.length,8)*.05)}function M(s){return Number.isNaN(s)?0:Math.max(0,Math.min(1,s))}export{v as VOICE_WAVE_BARS,w as createLevelHistory,A as energyFromPartialDelta,p as startStreamLevelMeter,y as tryStartMicLevelMeter};
@@ -0,0 +1 @@
1
+ import{c}from"./createLucideIcon-OpA4Amw5.js";const a=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],o=c("wrench",a);export{o as W};
@@ -0,0 +1 @@
1
+ import{c as o}from"./createLucideIcon-OpA4Amw5.js";const c=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],t=o("x",c);export{t as X};