@openscout/scout 0.2.105 → 0.2.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/bin/scoutd +0 -0
  2. package/dist/build-manifest.json +3 -3
  3. package/dist/chat.mjs +23 -1
  4. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-CHNJ4NnS.js → AddProjectForm-CusDRiVO.js} +1 -1
  6. package/dist/client/assets/{AdventureEvidence-B4mEvXeD.js → AdventureEvidence-CyegKk1V.js} +1 -1
  7. package/dist/client/assets/{AdventureReader-ZsBDQITY.js → AdventureReader-X-hbTOi0.js} +1 -1
  8. package/dist/client/assets/{AdventureScenery-DSxDlqG1.js → AdventureScenery-LPXSVP67.js} +1 -1
  9. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +1 -0
  10. package/dist/client/assets/AgentAvatar-CrP1eXxk.js +1 -0
  11. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +1 -0
  12. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +1 -0
  13. package/dist/client/assets/{AgentDetailCard-MIEBKw_S.js → AgentDetailCard-DtHT3sCo.js} +1 -1
  14. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +1 -0
  15. package/dist/client/assets/{AgentFloorWorld-BTqwmK5G.js → AgentFloorWorld-CjoIa6jA.js} +1 -1
  16. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +1 -0
  17. package/dist/client/assets/{AgentLaneCard-C4rKLLdT.js → AgentLaneCard-BaZ2g-f8.js} +1 -1
  18. package/dist/client/assets/{AgentLaneChrome-fGC-ZrJS.js → AgentLaneChrome-TF1SlJSc.js} +1 -1
  19. package/dist/client/assets/{AgentLaneDetailSheet-BTF4_th9.js → AgentLaneDetailSheet-EzEPsn3g.js} +1 -1
  20. package/dist/client/assets/{AgentLaneSummaryResize-DgSeA_vS.js → AgentLaneSummaryResize-dpp7YvrX.js} +1 -1
  21. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +1 -0
  22. package/dist/client/assets/{AgentLanesPreflight-CcS23wij.js → AgentLanesPreflight-Ry-aqDTr.js} +1 -1
  23. package/dist/client/assets/AgentLanesView-BJi9xXz6.js +2 -0
  24. package/dist/client/assets/{AgentLiveActions-6Kfr1uOT.js → AgentLiveActions-CfTupTEl.js} +1 -1
  25. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +1 -0
  26. package/dist/client/assets/AgentSessions-B1gOhDBf.js +6 -0
  27. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +1 -0
  28. package/dist/client/assets/AgentsScreen-ChwMBs11.js +1 -0
  29. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +1 -0
  30. package/dist/client/assets/{AstronautSuit-D67fIBdR.js → AstronautSuit-Cchnc4Ug.js} +1 -1
  31. package/dist/client/assets/{AtopView-Ck30FbzG.js → AtopView-gkEp4y__.js} +1 -1
  32. package/dist/client/assets/{BackToPicker-CkBhGRlD.js → BackToPicker-CUkjnoVk.js} +1 -1
  33. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +1 -0
  34. package/dist/client/assets/{BriefingsScreen-DTxYMr3a.js → BriefingsScreen-B1HlBMGZ.js} +1 -1
  35. package/dist/client/assets/{BrokerMetadataPanel-crirZCdo.js → BrokerMetadataPanel-Dk242Yh_.js} +1 -1
  36. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +8 -0
  37. package/dist/client/assets/{Canvas-CRP0KjKb.js → Canvas-X9pVSkw3.js} +1 -1
  38. package/dist/client/assets/{CastPicker-ZPomvOf-.js → CastPicker-BXUtPAGC.js} +1 -1
  39. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +1 -0
  40. package/dist/client/assets/ChannelSidebar-e9DOPulb.js +1 -0
  41. package/dist/client/assets/{CharacterFamilyPreview-ckVkecDO.js → CharacterFamilyPreview-DMfw7UM_.js} +1 -1
  42. package/dist/client/assets/{ChatAvatar-DKBsbOqk.js → ChatAvatar-C3a_o5Hj.js} +1 -1
  43. package/dist/client/assets/ChatBits-CsvxbToF.js +1 -0
  44. package/dist/client/assets/{ChatCollapsedStrip-Co0NmqOO.js → ChatCollapsedStrip-FEmQ_G9J.js} +1 -1
  45. package/dist/client/assets/ChatRichInput-DhtwFxQE.js +31 -0
  46. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +1 -0
  47. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +1 -0
  48. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +1 -0
  49. package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +1 -0
  50. package/dist/client/assets/{CodeDiffPane-D-iv28LJ.js → CodeDiffPane-DuQRwpgK.js} +1 -1
  51. package/dist/client/assets/{CodeProjectPicker-CZ3gDdiT.js → CodeProjectPicker-ZQ6gSBpg.js} +1 -1
  52. package/dist/client/assets/{CodeScreen-CSC-zbP9.js → CodeScreen-BXyKeL5T.js} +1 -1
  53. package/dist/client/assets/{CommsCanvas-DdNAwjGW.js → CommsCanvas-THp0r_U8.js} +1 -1
  54. package/dist/client/assets/{CommsDeck-mGWY7Ivi.js → CommsDeck-BVmSMV2V.js} +1 -1
  55. package/dist/client/assets/{CommsFlowGraph-voDD9M5R.js → CommsFlowGraph-DxoOaLF_.js} +1 -1
  56. package/dist/client/assets/{CommsFlowMap-C33sgD48.js → CommsFlowMap-Vi8ziCPg.js} +1 -1
  57. package/dist/client/assets/{CommsSelection-BL8aYD7z.js → CommsSelection-BUoRbu9o.js} +1 -1
  58. package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +1 -0
  59. package/dist/client/assets/ConversationComposer-CUQyArlk.js +1 -0
  60. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +1 -0
  61. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +1 -0
  62. package/dist/client/assets/{ConversationPanels-6pprBpmq.js → ConversationPanels-D9oC0xG5.js} +2 -2
  63. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +1 -0
  64. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +2 -0
  65. package/dist/client/assets/ConversationStatus--IPm2nGh.js +1 -0
  66. package/dist/client/assets/{CrewAvatar-D0c9z5Qr.css → CrewAvatar-BnIPIn_Z.css} +1 -1
  67. package/dist/client/assets/CrewAvatar-kTznzqcO.js +1 -0
  68. package/dist/client/assets/{CrewSprite-Dp9KBBGY.js → CrewSprite-Dhryjx2c.js} +1 -1
  69. package/dist/client/assets/CrewStage-vdO0qm3D.js +1 -0
  70. package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +1 -0
  71. package/dist/client/assets/{DataTable-av71ehJV.js → DataTable-aH-jCyDq.js} +1 -1
  72. package/dist/client/assets/{DispatchAftermath-CcYGUB10.js → DispatchAftermath-66uQAorV.js} +1 -1
  73. package/dist/client/assets/{DocumentFocusViewer-DlMiEALb.js → DocumentFocusViewer-DJr0v0D_.js} +1 -1
  74. package/dist/client/assets/{EmbeddableSurfacesLab-CTkO_tQR.js → EmbeddableSurfacesLab-BBa70EhJ.js} +1 -1
  75. package/dist/client/assets/{EmptyState-CYUwYyAW.js → EmptyState-CZlrHXy-.js} +1 -1
  76. package/dist/client/assets/{FileViewerPane-Cxhixtks.js → FileViewerPane-BAO6mtjD.js} +1 -1
  77. package/dist/client/assets/FleetRollCallHud-C5q2567n.js +1 -0
  78. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +1 -0
  79. package/dist/client/assets/{FloorContextSheet-Vj_wVZq1.js → FloorContextSheet-2_NVPQor.js} +1 -1
  80. package/dist/client/assets/{FloorExchangePanel-CjHSDXad.js → FloorExchangePanel-BU1pPu8K.js} +1 -1
  81. package/dist/client/assets/{FloorMessagePasses-BG4ebnX5.js → FloorMessagePasses-cLW2UGNP.js} +1 -1
  82. package/dist/client/assets/{FloorReplay-BoYaGY9t.js → FloorReplay-VFzA6Kxc.js} +1 -1
  83. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +1 -0
  84. package/dist/client/assets/{FloorSavedWork-jbtRs-YE.js → FloorSavedWork-BeHDejWz.js} +1 -1
  85. package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +1 -0
  86. package/dist/client/assets/{FollowScreen-CupyOgt4.js → FollowScreen-CFfkIbc6.js} +1 -1
  87. package/dist/client/assets/HarnessMark-C4naWc16.js +1 -0
  88. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +1 -0
  89. package/dist/client/assets/{HerdrSession-Dcm3vf9U.js → HerdrSession-_t7yM8vX.js} +2 -2
  90. package/dist/client/assets/{HomeHero-pIZtE1cC.js → HomeHero-DouPyNmz.js} +1 -1
  91. package/dist/client/assets/{HostAdvisorView-Dv5meXo2.js → HostAdvisorView-CnM1i8hW.js} +1 -1
  92. package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +1 -0
  93. package/dist/client/assets/InviteSheet-CwxZtWCl.js +1 -0
  94. package/dist/client/assets/{JumpPalette-BmiSOEmp.js → JumpPalette-O1aJE9gR.js} +1 -1
  95. package/dist/client/assets/{KnowledgeSearchInspector-B8yiM524.js → KnowledgeSearchInspector-32n9baT-.js} +1 -1
  96. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +1 -0
  97. package/dist/client/assets/{LaneToolHoverCard-D2cnTeUd.js → LaneToolHoverCard-CJa110yk.js} +1 -1
  98. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +1 -0
  99. package/dist/client/assets/{LaneTraceEventFocus-BLhVHwff.js → LaneTraceEventFocus-TbrNHRj_.js} +1 -1
  100. package/dist/client/assets/{MeshCanvas-BR25OBTJ.js → MeshCanvas-DWZHYh1A.js} +2 -2
  101. package/dist/client/assets/{MeshCanvasMinimap-ClVolr4-.js → MeshCanvasMinimap-iswYFpIb.js} +1 -1
  102. package/dist/client/assets/MeshScreen-8nAzQVbm.js +1 -0
  103. package/dist/client/assets/{MeshTopologyView-BT3ke2D1.js → MeshTopologyView-BVvtqI8q.js} +2 -2
  104. package/dist/client/assets/MessageEmbeds-ksPazAKH.js +1 -0
  105. package/dist/client/assets/MessagesScreen-C3WB4T21.js +1 -0
  106. package/dist/client/assets/{MissionContextRail-CafjuseK.js → MissionContextRail-D62-Wis8.js} +1 -1
  107. package/dist/client/assets/MissionControlView-B9cNPXvl.js +1 -0
  108. package/dist/client/assets/{MissionFocusOverlay-nhy3hkxQ.js → MissionFocusOverlay-C1zys3Jv.js} +1 -1
  109. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +1 -0
  110. package/dist/client/assets/{MissionLogPane-DiUf3vWW.js → MissionLogPane-B19lYSY9.js} +1 -1
  111. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +1 -0
  112. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +1 -0
  113. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +1 -0
  114. package/dist/client/assets/{NewAgentModal-BQ2wQ5gp.js → NewAgentModal-Bh-L-emz.js} +1 -1
  115. package/dist/client/assets/NewChatComposer-C97-iTMK.js +19 -0
  116. package/dist/client/assets/{NewChatOrigin-C8ROO4ps.js → NewChatOrigin-DFbF_XvR.js} +1 -1
  117. package/dist/client/assets/{NodeDetailPanel-BNTqYC7m.js → NodeDetailPanel-CElOEpCh.js} +1 -1
  118. package/dist/client/assets/{NodeMenu-CcOeFRCB.js → NodeMenu-B-jjHf1c.js} +1 -1
  119. package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +2 -0
  120. package/dist/client/assets/{ObserveTextFlow-CC5mnngm.js → ObserveTextFlow-PFnG_10h.js} +2 -2
  121. package/dist/client/assets/{ObservedTopologyPanel-DF6tRZL_.js → ObservedTopologyPanel-CUTIoLZJ.js} +1 -1
  122. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +31 -0
  123. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +1 -0
  124. package/dist/client/assets/OpsScreen-jVcaBKGi.js +1 -0
  125. package/dist/client/assets/OpsSubnav-BOOYShHE.js +1 -0
  126. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +1 -0
  127. package/dist/client/assets/{ProjectAgentProfileBar-C8z22pJ2.js → ProjectAgentProfileBar-DHuMKJj-.js} +1 -1
  128. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +1 -0
  129. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +1 -0
  130. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +2 -0
  131. package/dist/client/assets/ProjectsRail-CDWocin_.js +1 -0
  132. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +1 -0
  133. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +1 -0
  134. package/dist/client/assets/Provider-C35yu29I.js +5 -0
  135. package/dist/client/assets/{RailRow-DUPqXMZh.js → RailRow-BjmWK420.js} +1 -1
  136. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +1 -0
  137. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +16 -0
  138. package/dist/client/assets/{RenderedWorkerSprite-C8fxndAh.js → RenderedWorkerSprite-Dhlyg89J.js} +1 -1
  139. package/dist/client/assets/{ReplayClock-DUVJjrIu.js → ReplayClock-348f17bW.js} +1 -1
  140. package/dist/client/assets/{ReplayLog-Bek1Vc4W.js → ReplayLog-CBnAM3ui.js} +1 -1
  141. package/dist/client/assets/{ReplayOutpost-DlRg3172.js → ReplayOutpost-DyRPfNFx.js} +1 -1
  142. package/dist/client/assets/{RepoDiffEmbedScreen-CVUMnt6A.js → RepoDiffEmbedScreen-BWxvRDrS.js} +1 -1
  143. package/dist/client/assets/{RepoDiffPageScreen-D9-s5PyB.js → RepoDiffPageScreen-DN94irmY.js} +1 -1
  144. package/dist/client/assets/{RepoDiffViewer-D7FN-oyY.js → RepoDiffViewer-_4JVXBIW.js} +1 -1
  145. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +2 -0
  146. package/dist/client/assets/{ReposScreen-BQ7HO1om.js → ReposScreen-uMCpt0e9.js} +2 -2
  147. package/dist/client/assets/{RiggedWorkerCharacter-CJMWlvV-.js → RiggedWorkerCharacter-q6QRc7_o.js} +1 -1
  148. package/dist/client/assets/{SageModelStudio-B526NSnw.js → SageModelStudio-CNDhZhgD.js} +1 -1
  149. package/dist/client/assets/{ScoutDeckSurface-ChkvGyEW.js → ScoutDeckSurface-CUaU4R6T.js} +1 -1
  150. package/dist/client/assets/{ScoutSurface-6g1f5chk.js → ScoutSurface-3_25USO_.js} +1 -1
  151. package/dist/client/assets/{ScoutbotFxLab-BuwBdnPf.js → ScoutbotFxLab-CRqhYe0a.js} +1 -1
  152. package/dist/client/assets/{SecondaryNav-Bs-_VwTC.js → SecondaryNav-D7dbV2qo.js} +1 -1
  153. package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +1 -0
  154. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +1 -0
  155. package/dist/client/assets/{SessionEmbedScreen-C2wf35-P.js → SessionEmbedScreen-D0zFmou-.js} +1 -1
  156. package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +1 -0
  157. package/dist/client/assets/{SessionObserve-B64YsYhy.js → SessionObserve-DXxBvejJ.js} +9 -9
  158. package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +1 -0
  159. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +1 -0
  160. package/dist/client/assets/SessionsScreen-BLIRkohT.js +1 -0
  161. package/dist/client/assets/SettingsDrawer-juCpnbH6.js +3 -0
  162. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +1 -0
  163. package/dist/client/assets/{SharedFloorCharacter-V04kD5T9.js → SharedFloorCharacter-DNEiaOUh.js} +1 -1
  164. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +1 -0
  165. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +2 -0
  166. package/dist/client/assets/{ShikiPane-XwFI-pCp.js → ShikiPane-CRtTYkMj.js} +1 -1
  167. package/dist/client/assets/{SlidePanel-BMpkXai_.js → SlidePanel-_CHAQdOa.js} +1 -1
  168. package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +1 -0
  169. package/dist/client/assets/{SpriteAvatar-aHeF4ZQZ.js → SpriteAvatar-CpZWf54-.js} +1 -1
  170. package/dist/client/assets/{SproutActionSprite-DI5N3gOj.js → SproutActionSprite-BSiTS4en.js} +1 -1
  171. package/dist/client/assets/{StatusPill-Dw4LP7wu.js → StatusPill-2gCP6H7A.js} +1 -1
  172. package/dist/client/assets/{TailView-BofjmUMJ.js → TailView-CYSijNTy.js} +2 -2
  173. package/dist/client/assets/Terminal-Bi97yb5s.js +4 -0
  174. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +1 -0
  175. package/dist/client/assets/{TerminalHeaderMount-CwbQhXcI.js → TerminalHeaderMount-Cq4OD_xN.js} +1 -1
  176. package/dist/client/assets/{TerminalRelay--qOBwnbR.js → TerminalRelay-DrikpUSJ.js} +3 -3
  177. package/dist/client/assets/{TextDocumentSurface-BK6Qy41F.js → TextDocumentSurface-D52m7Vd8.js} +1 -1
  178. package/dist/client/assets/{TmuxPeek-DpUT9Tpc.js → TmuxPeek-CXFeweMg.js} +1 -1
  179. package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +1 -0
  180. package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +1 -0
  181. package/dist/client/assets/{VoicePermissionsPanel-D35fOnQj.js → VoicePermissionsPanel-Ok2nfxHw.js} +1 -1
  182. package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +8 -0
  183. package/dist/client/assets/VoiceTurnStage-edoJalLV.js +1 -0
  184. package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +1 -0
  185. package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +5 -0
  186. package/dist/client/assets/{WorkFilesViewer-t8AEyx3Q.js → WorkFilesViewer-vNt01sDd.js} +1 -1
  187. package/dist/client/assets/{WorkRunView-_mhG_FR2.js → WorkRunView-BDkR7Edq.js} +1 -1
  188. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +1 -0
  189. package/dist/client/assets/{WorldCharacter-BRrj3MQN.js → WorldCharacter-CIIlutQq.js} +1 -1
  190. package/dist/client/assets/WorldMinimap-B6HNgcDe.js +1 -0
  191. package/dist/client/assets/{WorldSky-D-RJzSa6.js → WorldSky-Jm2Z6dfW.js} +1 -1
  192. package/dist/client/assets/{activity-BJqFrZyB.js → activity-CIlFrfPJ.js} +1 -1
  193. package/dist/client/assets/{addon-fit-CHohcvS3.js → addon-fit-dFpj9Kfq.js} +1 -1
  194. package/dist/client/assets/{addon-webgl-CaRy2x2b.js → addon-webgl-BFCGRtGh.js} +1 -1
  195. package/dist/client/assets/{agent-essentials-bKWYOZaH.js → agent-essentials-BGGvT5G6.js} +1 -1
  196. package/dist/client/assets/{agent-master-model-C-KdOFDK.js → agent-master-model-Bk_yuUXJ.js} +1 -1
  197. package/dist/client/assets/{agent-specialization-BplZUa_0.js → agent-specialization-DDc7mLCW.js} +1 -1
  198. package/dist/client/assets/agents-screen-BYakbO50.css +1 -0
  199. package/dist/client/assets/{arc.es-CubLvQ4W.js → arc.es-C1SQHJ3k.js} +1 -1
  200. package/dist/client/assets/{arrow-left-DFfKAq0d.js → arrow-left-MVUKauwQ.js} +1 -1
  201. package/dist/client/assets/{arrow-right-DmAWnyAH.js → arrow-right-Bp-FpE5V.js} +1 -1
  202. package/dist/client/assets/{arrow-up-right-B0aLKiyF.js → arrow-up-right-BPedAgxO.js} +1 -1
  203. package/dist/client/assets/{book-open-BL9qvhEI.js → book-open-CV98WMSp.js} +1 -1
  204. package/dist/client/assets/{bot-BhAVbcCA.js → bot-B4zLQ4IN.js} +1 -1
  205. package/dist/client/assets/chat-api-DSJMBYoT.js +2 -0
  206. package/dist/client/assets/chat-message-markup-91DIry6R.js +1 -0
  207. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +4 -0
  208. package/dist/client/assets/chat-transport-DNS5CB2I.js +1 -0
  209. package/dist/client/assets/{check-g7D7-c1J.js → check-lrJ3a73a.js} +1 -1
  210. package/dist/client/assets/{chevron-down-CDzRQQGl.js → chevron-down-l1mrh5S9.js} +1 -1
  211. package/dist/client/assets/{chevron-right-DKGTLiqc.js → chevron-right-DrfqcerI.js} +1 -1
  212. package/dist/client/assets/{chevron-up-DX7R6KY2.js → chevron-up-CETZJzjV.js} +1 -1
  213. package/dist/client/assets/{chunk-HRAB3GC3-Dvk_QpRq.js → chunk-HRAB3GC3-DbVLgbWX.js} +1 -1
  214. package/dist/client/assets/{clock-CQb4FeMf.js → clock-BV1aqPkK.js} +1 -1
  215. package/dist/client/assets/{code-xml-Cmadr3pQ.js → code-xml-BhcNbLWU.js} +1 -1
  216. package/dist/client/assets/{coffee-ljG1_krY.js → coffee-D7EAOdCk.js} +1 -1
  217. package/dist/client/assets/{compass-CvzkzkIh.js → compass-63TUaz5_.js} +1 -1
  218. package/dist/client/assets/content-B1lgE8qr.js +1 -0
  219. package/dist/client/assets/content-B5l11YyQ.js +1 -0
  220. package/dist/client/assets/content-BNZOZEpX.js +1 -0
  221. package/dist/client/assets/content-BRIxP155.js +1 -0
  222. package/dist/client/assets/content-BWd8gt8L.js +1 -0
  223. package/dist/client/assets/content-BfwS2jAK.js +1 -0
  224. package/dist/client/assets/content-C4p43_eT.js +1 -0
  225. package/dist/client/assets/content-CdYfaoDV.js +1 -0
  226. package/dist/client/assets/content-CzldLxw0.js +1 -0
  227. package/dist/client/assets/content-D-olnc4U.js +1 -0
  228. package/dist/client/assets/content-DTioimq4.js +1 -0
  229. package/dist/client/assets/content-LOebm3_d.js +1 -0
  230. package/dist/client/assets/{content-CKJ9zb7Z.js → content-nGlEZhUI.js} +1 -1
  231. package/dist/client/assets/{content-D1Ze_FG9.js → content-oyzDM-LK.js} +1 -1
  232. package/dist/client/assets/content-x1PHxED7.js +1 -0
  233. package/dist/client/assets/content-zX3ZY3T9.js +1 -0
  234. package/dist/client/assets/{conversation-icons-CIRaxmid.js → conversation-icons-Tqba2d56.js} +1 -1
  235. package/dist/client/assets/conversation-model-FxDeWlle.js +1 -0
  236. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +1 -0
  237. package/dist/client/assets/conversations-DoAAO6kA.js +1 -0
  238. package/dist/client/assets/{copy-BGOC1tJB.js → copy-xKeM5ZtU.js} +1 -1
  239. package/dist/client/assets/{cpu-Q6nrHFTN.js → cpu-BOTa_WLr.js} +1 -1
  240. package/dist/client/assets/{createLucideIcon-ChvMq-zl.js → createLucideIcon-zZ8Hx7er.js} +1 -1
  241. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +1 -0
  242. package/dist/client/assets/direct-voice-BbLPuJ04.js +2 -0
  243. package/dist/client/assets/direct-voice-DbO7CSv_.css +1 -0
  244. package/dist/client/assets/discover-DJFxyV1k.js +2 -0
  245. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +2 -0
  246. package/dist/client/assets/{external-link-BVccgH0n.js → external-link-CUObqmgX.js} +1 -1
  247. package/dist/client/assets/{eye-CsGfEVR6.js → eye-LrO-cXQt.js} +1 -1
  248. package/dist/client/assets/{file-code-corner-Be6da5l3.js → file-code-corner-CsU7jJpu.js} +1 -1
  249. package/dist/client/assets/{file-text-DP6txVW-.js → file-text-CnISiiw6.js} +1 -1
  250. package/dist/client/assets/{flag-DAFE2wZ5.js → flag-C4wl8z2-.js} +1 -1
  251. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +1 -0
  252. package/dist/client/assets/{folder-B_S7gBVr.js → folder-D5prSkzz.js} +1 -1
  253. package/dist/client/assets/{gauge-DQCGlE3o.js → gauge-D9_5iJEm.js} +1 -1
  254. package/dist/client/assets/{gestures-CofqY4Km.js → gestures-QZub3Ot9.js} +1 -1
  255. package/dist/client/assets/{git-branch-DcUCsWdJ.js → git-branch-B0_fPLO7.js} +1 -1
  256. package/dist/client/assets/{go-shortcuts-KQy-ZOpV.js → go-shortcuts-DicR7sUf.js} +1 -1
  257. package/dist/client/assets/home-moving-signal-rpMhsOJB.js +1 -0
  258. package/dist/client/assets/home-now-card-ByE6Umcx.js +1 -0
  259. package/dist/client/assets/{home-now-card-nano-CvU8B61b.js → home-now-card-nano-B5Dv3-pb.js} +1 -1
  260. package/dist/client/assets/hooks-_eCZZPsR.js +2 -0
  261. package/dist/client/assets/index-724SdE6r.js +1 -0
  262. package/dist/client/assets/{index-kkXUq-zf.js → index-CHD0qcfL.js} +1 -1
  263. package/dist/client/assets/index-CN4rBB_s.css +1 -0
  264. package/dist/client/assets/index-D1d98iYf.js +1 -0
  265. package/dist/client/assets/{index-DReVb7jZ.js → index-EsrkGBcv.js} +8 -8
  266. package/dist/client/assets/index-gGHPA-By.js +1 -0
  267. package/dist/client/assets/{inspector-panel-CLU7wjnT.js → inspector-panel-BkgUDn6G.js} +2 -2
  268. package/dist/client/assets/{keyboard-nav-CJXPaHXj.js → keyboard-nav-DDHegDbx.js} +1 -1
  269. package/dist/client/assets/{lane-roster-store-Ch9t6lb0.js → lane-roster-store-D-RSWjb-.js} +1 -1
  270. package/dist/client/assets/{layers-BOwyWodP.js → layers-C8PDiMul.js} +1 -1
  271. package/dist/client/assets/{layout-grid-B36Qsh0y.js → layout-grid-Cor2frzj.js} +1 -1
  272. package/dist/client/assets/left-Bn5X7x2o.js +2 -0
  273. package/dist/client/assets/left-BqS0fYX1.js +1 -0
  274. package/dist/client/assets/left-CTCeeeD3.js +1 -0
  275. package/dist/client/assets/left-DhtVPVux.js +1 -0
  276. package/dist/client/assets/left-K39b-Wvx.js +2 -0
  277. package/dist/client/assets/left-KGmueNPt.js +1 -0
  278. package/dist/client/assets/left-P_GOYB-s.js +1 -0
  279. package/dist/client/assets/left-advisor-B0N47De2.js +1 -0
  280. package/dist/client/assets/left-agents-CsSNc51Y.js +1 -0
  281. package/dist/client/assets/left-default-BlO5LP2T.js +1 -0
  282. package/dist/client/assets/left-lanes-C4PhaJE6.js +1 -0
  283. package/dist/client/assets/left-mission-BjTE5vPa.js +1 -0
  284. package/dist/client/assets/library-CkWNPHRp.js +1 -0
  285. package/dist/client/assets/{loader-circle-DNUsuPWz.js → loader-circle-OvccU82H.js} +1 -1
  286. package/dist/client/assets/{local-agents-I40PawYA.js → local-agents-BqnoxJrq.js} +1 -1
  287. package/dist/client/assets/log-in-7SnYqW5w.js +1 -0
  288. package/dist/client/assets/{machine-children-CdhNzDF0.js → machine-children-DxcqCLmd.js} +1 -1
  289. package/dist/client/assets/media-blobs-Bi8pxr1u.js +1 -0
  290. package/dist/client/assets/{mentions-Ck_Vjnyp.js → mentions-ByUvhS-v.js} +1 -1
  291. package/dist/client/assets/{mesh-ops-DSlvHp-D.js → mesh-ops-CiZ8xSAx.js} +1 -1
  292. package/dist/client/assets/{mesh-view-store-C1-mdP3P.js → mesh-view-store-DZvJC4KU.js} +1 -1
  293. package/dist/client/assets/{message-circle-cI5_A5mj.js → message-circle-CxRVKNE-.js} +1 -1
  294. package/dist/client/assets/message-markup-BQW5jdJw.js +15 -0
  295. package/dist/client/assets/message-markup-Zwo3t4cI.js +1 -0
  296. package/dist/client/assets/{message-square-CJW4WRlo.js → message-square-BxesYglW.js} +1 -1
  297. package/dist/client/assets/mission-control-model-BpJHDV5D.js +1 -0
  298. package/dist/client/assets/{mission-control-store-p_cboAm4.js → mission-control-store-elEEsIvb.js} +1 -1
  299. package/dist/client/assets/{mission-wall-DOuGOxQy.js → mission-wall-CAo4BKfa.js} +1 -1
  300. package/dist/client/assets/{monitor-C7_cHlkC.js → monitor-DTTYEb73.js} +1 -1
  301. package/dist/client/assets/{nav-destinations-CU_euC-Q.js → nav-destinations-uorRqFxf.js} +1 -1
  302. package/dist/client/assets/{observe-CtS0l3zu.js → observe-BJqERJVj.js} +1 -1
  303. package/dist/client/assets/{page-status-DwFR4wSw.js → page-status-BswZLqvA.js} +1 -1
  304. package/dist/client/assets/{panel-right-qP17MwMl.js → panel-right-Bv7sP_fc.js} +1 -1
  305. package/dist/client/assets/paperclip-BjcuP_Hx.js +1 -0
  306. package/dist/client/assets/{pause-B_hliKuR.js → pause-C2XTlkjs.js} +1 -1
  307. package/dist/client/assets/{persistent-state-BUsTTZFE.js → persistent-state-KRk_yb0q.js} +1 -1
  308. package/dist/client/assets/{pin-Oi4qHR6M.js → pin-C2mFOV1l.js} +1 -1
  309. package/dist/client/assets/{play-CVeRmqLH.js → play-FT6K3It1.js} +1 -1
  310. package/dist/client/assets/{plus-D5NLH_fM.js → plus-DFDDeGKu.js} +1 -1
  311. package/dist/client/assets/profile-DTmzN16I.js +1 -0
  312. package/dist/client/assets/{projects-inbox-CfwxCTdN.js → projects-inbox-C0FUCv_p.js} +1 -1
  313. package/dist/client/assets/projects-inbox-ColX6lpx.css +1 -0
  314. package/dist/client/assets/{provider-DwmCoSlc.js → provider-Dojd8quC.js} +1 -1
  315. package/dist/client/assets/{proxy-DgzP27W8.js → proxy-AJsmwA6h.js} +1 -1
  316. package/dist/client/assets/{radio-Cas2qg1D.js → radio-DRoOZsws.js} +1 -1
  317. package/dist/client/assets/{refresh-cw-IcD2lPoT.js → refresh-cw-BmVr7sCD.js} +1 -1
  318. package/dist/client/assets/resolve-panes-pbY1fCWi.js +1 -0
  319. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +1 -0
  320. package/dist/client/assets/right-49kO-6nD.js +1 -0
  321. package/dist/client/assets/right-APtItA8A.js +1 -0
  322. package/dist/client/assets/right-BJwhPqtn.js +1 -0
  323. package/dist/client/assets/right-BPqrf4ek.js +1 -0
  324. package/dist/client/assets/right-D7djOy6K.js +1 -0
  325. package/dist/client/assets/right-DKOUCRob.js +1 -0
  326. package/dist/client/assets/right-DMNrVzg7.js +1 -0
  327. package/dist/client/assets/{right-cjPTwPXS.js → right-DWPVB-nK.js} +1 -1
  328. package/dist/client/assets/right-DppeMCy4.js +1 -0
  329. package/dist/client/assets/right-GAL5Mw1v.js +1 -0
  330. package/dist/client/assets/{rocket-DAqYvu8I.js → rocket-CGl4RTV7.js} +1 -1
  331. package/dist/client/assets/router-DCtl8wqb.js +1 -0
  332. package/dist/client/assets/runtime-picker-DXu2bOTh.js +1 -0
  333. package/dist/client/assets/{scope-views-Dl3ml9OZ.js → scope-views-RUWwCVAr.js} +1 -1
  334. package/dist/client/assets/scout-voice-CZx60X6E.js +1 -0
  335. package/dist/client/assets/{scoutbot-markdown-DwvGQOWo.js → scoutbot-markdown-BKEBSbG0.js} +1 -1
  336. package/dist/client/assets/{scroll-text-B0tKI9Sg.js → scroll-text-DNjxhyO2.js} +1 -1
  337. package/dist/client/assets/{search-UsM-9-_W.js → search-DT42oyRW.js} +1 -1
  338. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +1 -0
  339. package/dist/client/assets/{selection-bridge-OTS2iFkt.js → selection-bridge-x3wFUjxj.js} +1 -1
  340. package/dist/client/assets/{send-horizontal-BlQsRK6C.js → send-horizontal-CH0-fbZE.js} +1 -1
  341. package/dist/client/assets/{send-to-agent-session-C1mgqdow.js → send-to-agent-session-DoKCDBJ4.js} +1 -1
  342. package/dist/client/assets/{server-DBlPW0Mp.js → server-QfsgMLk1.js} +1 -1
  343. package/dist/client/assets/{session-catalog-CnpZMB7C.js → session-catalog-CvSdPHPe.js} +1 -1
  344. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +1 -0
  345. package/dist/client/assets/session-recap-queue-41l2XVkI.js +1 -0
  346. package/dist/client/assets/{session-table-CGkfG5Yd.js → session-table-L-pns6Zl.js} +1 -1
  347. package/dist/client/assets/{sessions-view-Bge4XZ4I.js → sessions-view-Dc-QAa7O.js} +1 -1
  348. package/dist/client/assets/{settings-C69Zjrpq.js → settings-BVh7kldq.js} +1 -1
  349. package/dist/client/assets/{sliders-horizontal-6bzeod7c.js → sliders-horizontal-782VC_yy.js} +1 -1
  350. package/dist/client/assets/{sparkles-Cc5lPZRv.js → sparkles-BjHq_DNK.js} +1 -1
  351. package/dist/client/assets/{sse-A8AyLH0g.js → sse-BCPRocpq.js} +1 -1
  352. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +1 -0
  353. package/dist/client/assets/{tail-events-C4WdhVeK.js → tail-events-d0yAYxR0.js} +1 -1
  354. package/dist/client/assets/{terminal-DMZjX1es.js → terminal-hQKQygcf.js} +1 -1
  355. package/dist/client/assets/{terminal-relay-mO89dX-Y.js → terminal-relay-Bxs1hp-j.js} +1 -1
  356. package/dist/client/assets/{terminal-takeover-CZZsnPzj.js → terminal-takeover-Ay5C2c-M.js} +1 -1
  357. package/dist/client/assets/theme-vars-DNK0nn3k.js +1 -0
  358. package/dist/client/assets/triangle-alert-CHoRGdVO.js +1 -0
  359. package/dist/client/assets/{use-beside-D3cJpA5p.js → use-beside-DoRC1nt0.js} +1 -1
  360. package/dist/client/assets/{use-conversation-list-D5EnpVba.js → use-conversation-list-CY4JciOV.js} +1 -1
  361. package/dist/client/assets/{use-fleet-active-asks-D_QOmjg5.js → use-fleet-active-asks-CymmXWH4.js} +1 -1
  362. package/dist/client/assets/{use-mesh-node-state-3V3ADQ-G.js → use-mesh-node-state-BvaqtODo.js} +1 -1
  363. package/dist/client/assets/{use-mesh-ops-items-DI9GKWlF.js → use-mesh-ops-items-BSYaqH_0.js} +1 -1
  364. package/dist/client/assets/{use-reduced-motion-CiaZHMnk.js → use-reduced-motion-3gMYZNIp.js} +1 -1
  365. package/dist/client/assets/{use-scout-dev-flags-CkdAHlDR.js → use-scout-dev-flags-DS_pYYQd.js} +1 -1
  366. package/dist/client/assets/{useAgentHoverCard-A3QGXqIy.js → useAgentHoverCard-BANmpjMh.js} +1 -1
  367. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +1 -0
  368. package/dist/client/assets/{useEmbedHeadline-atkQVfGw.js → useEmbedHeadline-D6pJRxUg.js} +1 -1
  369. package/dist/client/assets/usePersistentState-B8lP7TRb.js +1 -0
  370. package/dist/client/assets/{usePierreRuntime-DTvcwISe.js → usePierreRuntime-BAQdiN0L.js} +1 -1
  371. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +1 -0
  372. package/dist/client/assets/{users-RLK3P5U4.js → users-BUjx36gx.js} +1 -1
  373. package/dist/client/assets/voice-paths-CJUuBPh3.css +1 -0
  374. package/dist/client/assets/voice-turn-DftA0iIb.css +1 -0
  375. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +1 -0
  376. package/dist/client/assets/{wrench-B4maQJai.js → wrench-DR0i5BU7.js} +1 -1
  377. package/dist/client/assets/{x-rlMdRqJF.js → x-DAehov0E.js} +1 -1
  378. package/dist/client/assets/{xterm-B1zHHOLQ.js → xterm-BXQiLVnI.js} +1 -1
  379. package/dist/client/assets/{zap-B4X0OrEw.js → zap-CEjZNZbI.js} +1 -1
  380. package/dist/client/crew/sheets/eye-plate-v1/look-down-left.webp +0 -0
  381. package/dist/client/crew/sheets/eye-plate-v1/look-down-right.webp +0 -0
  382. package/dist/client/crew/sheets/eye-plate-v1/look-down.webp +0 -0
  383. package/dist/client/crew/sheets/eye-plate-v1/look-up-left.webp +0 -0
  384. package/dist/client/crew/sheets/eye-plate-v1/look-up-right.webp +0 -0
  385. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  386. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  387. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  388. package/dist/client/crew/sheets/sprout/look-down-left.webp +0 -0
  389. package/dist/client/crew/sheets/sprout/look-down-right.webp +0 -0
  390. package/dist/client/crew/sheets/sprout/look-down.webp +0 -0
  391. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  392. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  393. package/dist/client/crew/sheets/sprout/look-up-left.webp +0 -0
  394. package/dist/client/crew/sheets/sprout/look-up-right.webp +0 -0
  395. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  396. package/dist/client/index.html +2 -2
  397. package/dist/drizzle/0020_message_reactions.sql +11 -0
  398. package/dist/drizzle/meta/_journal.json +7 -0
  399. package/dist/main.mjs +542 -150
  400. package/dist/node/main.mjs +131 -17
  401. package/dist/pairing-runtime-controller.mjs +375 -78
  402. package/dist/runtime/base-daemon.mjs +98 -5
  403. package/dist/runtime/broker-daemon.mjs +1879 -1198
  404. package/dist/runtime/broker-process-manager.mjs +96 -3
  405. package/dist/runtime/mesh-discover.mjs +96 -3
  406. package/dist/scout-control-plane-web.mjs +4817 -1616
  407. package/dist/update-helper.mjs +211 -39
  408. package/package.json +2 -2
  409. package/dist/client/assets/ActivityScreen-CcDdQTBK.js +0 -1
  410. package/dist/client/assets/AgentAdventures-BxrYq_2v.js +0 -1
  411. package/dist/client/assets/AgentAvatar-NZOqcsB2.js +0 -1
  412. package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +0 -1
  413. package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +0 -1
  414. package/dist/client/assets/AgentFloorView-A0dDRlRV.js +0 -1
  415. package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +0 -1
  416. package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +0 -1
  417. package/dist/client/assets/AgentLanesView-WZhEDBFE.js +0 -2
  418. package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +0 -1
  419. package/dist/client/assets/AgentSessions-CO1WGa8Z.js +0 -6
  420. package/dist/client/assets/AgentsConsole-BQOWkj35.js +0 -1
  421. package/dist/client/assets/AgentsScreen-BMNAj1PH.js +0 -1
  422. package/dist/client/assets/AgentsSubnav-CeHhuzyM.js +0 -1
  423. package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +0 -1
  424. package/dist/client/assets/BrokerScreen-CT37VQiL.js +0 -8
  425. package/dist/client/assets/ChannelComposer-BVItWlEz.js +0 -1
  426. package/dist/client/assets/ChannelSidebar-B-2spawY.js +0 -1
  427. package/dist/client/assets/ChatBits-CLJ71hTY.js +0 -1
  428. package/dist/client/assets/ChatRightPanel-pKQtkAgl.js +0 -1
  429. package/dist/client/assets/ChatSpaceSurface-NrLwdPkE.js +0 -1
  430. package/dist/client/assets/ChatSpaceTheme-BPMgPdVK.css +0 -1
  431. package/dist/client/assets/ChatSpaceTheme-D37Jk7bl.js +0 -1
  432. package/dist/client/assets/ConversationComposer-DNcn5U6D.js +0 -1
  433. package/dist/client/assets/ConversationFeedRows-RnYSa7Io.js +0 -1
  434. package/dist/client/assets/ConversationHeader-Y9TEJxP_.js +0 -1
  435. package/dist/client/assets/ConversationScreen-Brfas2y0.css +0 -1
  436. package/dist/client/assets/ConversationScreen-tpj4cqWs.js +0 -2
  437. package/dist/client/assets/ConversationStatus-Cv-7hErW.js +0 -1
  438. package/dist/client/assets/CrewAvatar-zgzC3cbU.js +0 -1
  439. package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +0 -1
  440. package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +0 -1
  441. package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +0 -1
  442. package/dist/client/assets/FloorTacticalHUD-BhyOqlL5.js +0 -1
  443. package/dist/client/assets/HarnessMark-DSvM_H7H.js +0 -1
  444. package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +0 -1
  445. package/dist/client/assets/InviteLandingScreen-xZQ2na1z.js +0 -1
  446. package/dist/client/assets/InviteSheet--5Zjct25.js +0 -1
  447. package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +0 -1
  448. package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +0 -1
  449. package/dist/client/assets/MeshScreen-BW1dMFWF.js +0 -1
  450. package/dist/client/assets/MessagesScreen-CtNMfIvC.js +0 -1
  451. package/dist/client/assets/MissionControlView-BjPOViGY.js +0 -1
  452. package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +0 -1
  453. package/dist/client/assets/NativeAreaScreen-BQSTo8As.js +0 -1
  454. package/dist/client/assets/NativeAreaScreen-Brix6xDB.js +0 -1
  455. package/dist/client/assets/NativeAreaScreen-D7HyQNlM.js +0 -1
  456. package/dist/client/assets/NewChatComposer-BEXS8vV6.js +0 -19
  457. package/dist/client/assets/ObserveEmbedScreen-Dh30EjAQ.js +0 -2
  458. package/dist/client/assets/OpenScoutAppShell-D9pgw36i.js +0 -31
  459. package/dist/client/assets/OpsAgentsView-D3rM0udq.js +0 -1
  460. package/dist/client/assets/OpsScreen-DySeNQ1V.js +0 -1
  461. package/dist/client/assets/OpsSubnav-C9E0r3GZ.js +0 -1
  462. package/dist/client/assets/ProjectAgentProfile-FUav75j2.js +0 -1
  463. package/dist/client/assets/ProjectAgentProfileHero-BLK0EwMg.js +0 -1
  464. package/dist/client/assets/ProjectsInbox-DfCXReZK.js +0 -2
  465. package/dist/client/assets/ProjectsRail-CELVubfJ.js +0 -1
  466. package/dist/client/assets/ProjectsScreen-DMw4TLKy.js +0 -1
  467. package/dist/client/assets/ProjectsThreadAside-D1Sh4fnX.js +0 -1
  468. package/dist/client/assets/Provider-CNZluAZb.js +0 -5
  469. package/dist/client/assets/RailToggle-BwmY70B8.js +0 -1
  470. package/dist/client/assets/RawSessionsTable-6OVJq0JZ.js +0 -1
  471. package/dist/client/assets/RealtimeVoiceScreen-D41TYY0x.js +0 -9
  472. package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +0 -2
  473. package/dist/client/assets/SessionObserveEvidence-CS1aQBpQ.js +0 -1
  474. package/dist/client/assets/SessionRefScreen-DURV0MpF.js +0 -1
  475. package/dist/client/assets/SessionsScreen-D71ZR-8t.js +0 -1
  476. package/dist/client/assets/SettingsDrawer-Nz98oBVl.js +0 -3
  477. package/dist/client/assets/SettingsScreen-CYBHal6y.js +0 -1
  478. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +0 -1
  479. package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +0 -2
  480. package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +0 -1
  481. package/dist/client/assets/Terminal-jIqnIZZ6.js +0 -4
  482. package/dist/client/assets/TerminalEmbedScreen-3XsjuySR.js +0 -1
  483. package/dist/client/assets/WorkDetailScreen-Bcf_yHhU.js +0 -5
  484. package/dist/client/assets/WorldActorTalk-CKerDikx.js +0 -1
  485. package/dist/client/assets/WorldMinimap-DOptgrc4.js +0 -1
  486. package/dist/client/assets/agent-autocomplete-C7xwIcwd.css +0 -1
  487. package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +0 -2
  488. package/dist/client/assets/agents-screen-BMu6PpRY.css +0 -1
  489. package/dist/client/assets/at-sign-DM7xeppo.js +0 -1
  490. package/dist/client/assets/chat-api-BPVC0asu.js +0 -1
  491. package/dist/client/assets/chat-space-model-B6Jg2CY4.js +0 -4
  492. package/dist/client/assets/content-0AXa0klu.js +0 -1
  493. package/dist/client/assets/content-BEyJ19Lx.js +0 -1
  494. package/dist/client/assets/content-BN5weWKW.js +0 -1
  495. package/dist/client/assets/content-BNokkm7C.js +0 -1
  496. package/dist/client/assets/content-BV4PUM9q.js +0 -1
  497. package/dist/client/assets/content-BxUPlcx5.js +0 -1
  498. package/dist/client/assets/content-CIC5sku8.js +0 -1
  499. package/dist/client/assets/content-CdkTyxqk.js +0 -1
  500. package/dist/client/assets/content-CnhhSCZq.js +0 -1
  501. package/dist/client/assets/content-DY3F9Vfr.js +0 -1
  502. package/dist/client/assets/content-DrKBYpcb.js +0 -1
  503. package/dist/client/assets/content-LSStQYj5.js +0 -1
  504. package/dist/client/assets/content-YvU-D0hF.js +0 -1
  505. package/dist/client/assets/content-oKQMyVnH.js +0 -1
  506. package/dist/client/assets/conversation-model-m8HhzroS.js +0 -1
  507. package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +0 -1
  508. package/dist/client/assets/conversations-Cbg9h_Af.js +0 -1
  509. package/dist/client/assets/ctx-panel-F05jXK4Q.css +0 -1
  510. package/dist/client/assets/discover-DlwbftpC.js +0 -2
  511. package/dist/client/assets/embed-entry-c0lwtjBG.js +0 -2
  512. package/dist/client/assets/home-moving-signal-BIHUGNfI.js +0 -1
  513. package/dist/client/assets/home-now-card-CaLgZze2.js +0 -1
  514. package/dist/client/assets/hooks-DaUOREpP.js +0 -2
  515. package/dist/client/assets/index-CGbs0SBm.css +0 -1
  516. package/dist/client/assets/index-CbqBwfIW.js +0 -1
  517. package/dist/client/assets/index-CyPMl7Up.js +0 -1
  518. package/dist/client/assets/index-PQpJveGO.js +0 -1
  519. package/dist/client/assets/left-0vBrvrBG.js +0 -2
  520. package/dist/client/assets/left-C6SyaqlJ.js +0 -1
  521. package/dist/client/assets/left-CTuXysZR.js +0 -2
  522. package/dist/client/assets/left-Cc6s4DT2.js +0 -1
  523. package/dist/client/assets/left-DF5caiyh.js +0 -1
  524. package/dist/client/assets/left-DgT4tWCx.js +0 -1
  525. package/dist/client/assets/left-R0wppTTr.js +0 -1
  526. package/dist/client/assets/left-advisor-C-kt8V28.js +0 -1
  527. package/dist/client/assets/left-agents-thnBO156.js +0 -1
  528. package/dist/client/assets/left-default-CT42fnpF.js +0 -1
  529. package/dist/client/assets/left-lanes-CSmZgciK.js +0 -1
  530. package/dist/client/assets/left-mission-C86x6i9h.js +0 -1
  531. package/dist/client/assets/library-DdhYL_9v.js +0 -1
  532. package/dist/client/assets/message-markup-6Tgo4qFJ.js +0 -15
  533. package/dist/client/assets/mission-control-model-C30vU1Fe.js +0 -1
  534. package/dist/client/assets/profile-BegEUmB7.js +0 -1
  535. package/dist/client/assets/projects-inbox-CKPLZN8s.css +0 -1
  536. package/dist/client/assets/resolve-panes-pfZTezKo.js +0 -1
  537. package/dist/client/assets/resolve-sidebar-context-D5ksvrb_.js +0 -1
  538. package/dist/client/assets/right-BDaCJ0CF.js +0 -1
  539. package/dist/client/assets/right-BP6lXRFS.js +0 -1
  540. package/dist/client/assets/right-Cb1VCrdj.js +0 -1
  541. package/dist/client/assets/right-CeFaxfBo.js +0 -1
  542. package/dist/client/assets/right-Ck2SrYCj.js +0 -1
  543. package/dist/client/assets/right-D-uv5YfF.js +0 -1
  544. package/dist/client/assets/right-DJMSICky.js +0 -1
  545. package/dist/client/assets/right-Dnljs8ah.js +0 -1
  546. package/dist/client/assets/right-SdCSF8PP.js +0 -1
  547. package/dist/client/assets/router-C-MF5-mb.js +0 -1
  548. package/dist/client/assets/runtime-picker-C_AVYF63.js +0 -1
  549. package/dist/client/assets/scout-voice-CqAyfblr.js +0 -1
  550. package/dist/client/assets/secondaryNavConfig-DzNHk6IH.js +0 -1
  551. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +0 -1
  552. package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +0 -1
  553. package/dist/client/assets/usePersistentState-Y8XwSTg-.js +0 -1
  554. package/dist/drizzle/meta/0000_snapshot.json +0 -4575
  555. package/dist/drizzle/meta/0001_snapshot.json +0 -4624
  556. package/dist/drizzle/meta/0002_snapshot.json +0 -4631
  557. package/dist/drizzle/meta/0003_snapshot.json +0 -4952
  558. package/dist/drizzle/meta/0004_snapshot.json +0 -5235
  559. package/dist/drizzle/meta/0005_snapshot.json +0 -5599
  560. package/dist/drizzle/meta/0006_snapshot.json +0 -5606
  561. package/dist/drizzle/meta/0007_snapshot.json +0 -5767
  562. package/dist/drizzle/meta/0008_snapshot.json +0 -5774
  563. package/dist/drizzle/meta/0009_snapshot.json +0 -6262
  564. package/dist/drizzle/meta/0010_snapshot.json +0 -6286
  565. package/dist/drizzle/meta/0011_snapshot.json +0 -6337
  566. package/dist/drizzle/meta/0012_snapshot.json +0 -6458
  567. package/dist/drizzle/meta/0013_snapshot.json +0 -6465
  568. package/dist/drizzle/meta/0014_snapshot.json +0 -6503
  569. package/dist/drizzle/meta/0015_snapshot.json +0 -6596
  570. package/dist/drizzle/meta/0016_snapshot.json +0 -6611
  571. package/dist/drizzle/meta/0017_snapshot.json +0 -6785
  572. package/dist/drizzle/meta/0018_snapshot.json +0 -6804
  573. package/dist/drizzle/meta/0019_snapshot.json +0 -6804
@@ -1 +1 @@
1
- .xc-avatar-root{position:relative;display:inline-grid;place-items:center;flex:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.xc-avatar-root>svg{display:none!important}.xc-avatar-shell{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:50%;box-sizing:border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hud-ink, #fff) 16%,transparent),inset 0 1px color-mix(in srgb,#000 26%,transparent)}.xc-avatar-shell:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 100% at 50% 118%,color-mix(in srgb,#fff 10%,transparent) 0%,transparent 48%),linear-gradient(180deg,color-mix(in srgb,#000 20%,transparent) 0%,color-mix(in srgb,#000 5%,transparent) 34%,transparent 62%)}.xc-avatar-img{position:absolute;display:block;max-width:none;pointer-events:none}.xc-avatar-img--pixel{image-rendering:pixelated;image-rendering:crisp-edges}.xc-avatar-patch{position:absolute;display:block;max-width:none;pointer-events:none}.xc-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none}.xc-ring:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--xc-c, var(--hud-status-ok, #7fb069));box-sizing:border-box}.xc-ring[data-ring=idle]:before,.xc-ring[data-ring=ready]:before{border-width:1px;opacity:.45}.xc-ring[data-ring=offline]:before{border-style:dashed;opacity:.5}.xc-ring[data-ring=thinking]:before{animation:xc-pulse 2.4s ease-in-out infinite}.xc-ring[data-ring=needs]:before,.xc-ring[data-ring=waiting]:before,.xc-ring[data-ring=blocked]:before{border-width:1.5px}.xc-ring[data-ring=error]:before,.xc-ring[data-ring=failed]:before{animation:xc-blink 1.1s steps(1,end) infinite}.xc-ring[data-ring=working]:before{opacity:.25}.xc-ring[data-ring=working]:after{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--xc-c, var(--hud-status-ok, #7fb069)) 72deg,transparent 132deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));animation:xc-sweep 2.6s linear infinite}@keyframes xc-pulse{0%,to{opacity:.28}50%{opacity:1}}@keyframes xc-blink{0%,49%{opacity:1}50%,to{opacity:.16}}@keyframes xc-sweep{to{transform:rotate(360deg)}}.xc-badge-mark{position:absolute;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--hud-surface, #1e2029) 88%,var(--hud-bg, #000));color:color-mix(in srgb,var(--hud-ink, #fff) 76%,transparent);box-shadow:0 0 0 1.5px var(--hud-bg, #161820);pointer-events:none}.xc-stage-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}.xc-stage{position:relative;overflow:hidden;display:inline-block;flex:none;box-sizing:border-box;box-shadow:0 4px 20px color-mix(in srgb,black 35%,transparent);transition:width .56s cubic-bezier(.2,.8,.2,1),height .56s cubic-bezier(.2,.8,.2,1),border-radius .56s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,transform .2s ease;-webkit-user-select:none;user-select:none}.xc-stage[role=button]{cursor:pointer}.xc-stage[role=button]:hover{transform:scale(1.02);box-shadow:0 8px 30px color-mix(in srgb,black 45%,transparent)}.xc-stage[role=button]:focus-visible{outline:2px solid color-mix(in srgb,var(--hud-border) 40%,white 60%);outline-offset:3px}.xc-stage-ground{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transition:opacity .4s ease,background .4s ease}.xc-stage-img,.xc-stage-patch{position:absolute;max-width:none;pointer-events:none;display:block;transition:width .56s cubic-bezier(.2,.8,.2,1),height .56s cubic-bezier(.2,.8,.2,1),left .56s cubic-bezier(.2,.8,.2,1),top .56s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.xc-ring[data-ring]:before,.xc-ring[data-ring]:after{animation:none}.xc-ring[data-ring=working]:before{opacity:1}.xc-stage,.xc-stage-img,.xc-stage-patch,.xc-stage-ground{transition:none!important}}
1
+ .xc-avatar-root{position:relative;display:inline-grid;place-items:center;flex:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.xc-avatar-root>svg{display:none!important}.xc-avatar-shell{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:50%;box-sizing:border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hud-ink, #fff) 16%,transparent),inset 0 1px color-mix(in srgb,#000 26%,transparent)}.xc-avatar-shell:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 100% at 50% 118%,color-mix(in srgb,#fff 10%,transparent) 0%,transparent 48%),linear-gradient(180deg,color-mix(in srgb,#000 20%,transparent) 0%,color-mix(in srgb,#000 5%,transparent) 34%,transparent 62%)}.xc-avatar-img{position:absolute;display:block;max-width:none;pointer-events:none}.xc-avatar-img--pixel{image-rendering:pixelated;image-rendering:crisp-edges}.xc-avatar-patch{position:absolute;display:block;max-width:none;pointer-events:none}.xc-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none}.xc-ring:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--xc-c, var(--hud-status-ok, #7fb069));box-sizing:border-box}.xc-ring[data-ring=idle]:before,.xc-ring[data-ring=ready]:before{border-width:1px;opacity:.45}.xc-ring[data-ring=offline]:before{border-style:dashed;opacity:.5}.xc-ring[data-ring=thinking]:before{animation:xc-pulse 2.4s ease-in-out infinite}.xc-ring[data-ring=needs]:before,.xc-ring[data-ring=waiting]:before,.xc-ring[data-ring=blocked]:before{border-width:1.5px}.xc-ring[data-ring=error]:before,.xc-ring[data-ring=failed]:before{animation:xc-blink 1.1s steps(1,end) infinite}.xc-ring[data-ring=working]:before{opacity:.25}.xc-ring[data-ring=working]:after{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--xc-c, var(--hud-status-ok, #7fb069)) 72deg,transparent 132deg);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));animation:xc-sweep 2.6s linear infinite}@keyframes xc-pulse{0%,to{opacity:.28}50%{opacity:1}}@keyframes xc-blink{0%,49%{opacity:1}50%,to{opacity:.16}}@keyframes xc-sweep{to{transform:rotate(360deg)}}.xc-badge-mark{position:absolute;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--hud-surface, #1e2029) 88%,var(--hud-bg, #000));color:color-mix(in srgb,var(--hud-ink, #fff) 76%,transparent);box-shadow:0 0 0 1.5px var(--hud-bg, #161820);pointer-events:none}.xc-stage-wrapper{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}.xc-stage{position:relative;overflow:hidden;display:inline-block;flex:none;box-sizing:border-box;background:var(--hud-surface);transition:width .56s cubic-bezier(.2,.8,.2,1),height .56s cubic-bezier(.2,.8,.2,1),border-radius .56s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.xc-stage[role=button]{cursor:pointer}.xc-stage:after{content:"";position:absolute;inset:0;border:1px solid var(--hud-border);border-radius:inherit;pointer-events:none;transition:border-color var(--motion-duration-hover) ease}.xc-stage[role=button]:hover:after{border-color:var(--scout-chrome-ink-faint)}.xc-stage[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.xc-stage-ground{position:absolute;inset:0;border-radius:inherit;pointer-events:none;transition:opacity .4s ease,background .4s ease}.xc-stage-img,.xc-stage-patch{position:absolute;max-width:none;pointer-events:none;display:block;transition:width .56s cubic-bezier(.2,.8,.2,1),height .56s cubic-bezier(.2,.8,.2,1),left .56s cubic-bezier(.2,.8,.2,1),top .56s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.xc-ring[data-ring]:before,.xc-ring[data-ring]:after{animation:none}.xc-ring[data-ring=working]:before{opacity:1}.xc-stage,.xc-stage-img,.xc-stage-patch,.xc-stage-ground{transition:none!important}}.xc-figure{position:relative;display:inline-block;flex:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.xc-figure-img{position:relative;display:block;width:100%;height:100%;max-width:none;pointer-events:none;z-index:1}.xc-figure-patch{position:absolute;display:block;max-width:none;pointer-events:none;z-index:2}.xc-figure-halo{position:absolute;left:50%;top:2%;width:calc(var(--xc-fig-h, 200px) * .79);height:calc(var(--xc-fig-h, 200px) * .79);transform:translate(-50%);border-radius:50%;opacity:.9;pointer-events:none;z-index:0}.xc-figure-floor{position:absolute;left:50%;bottom:0;width:calc(var(--xc-fig-h, 200px) * .75);height:calc(var(--xc-fig-h, 200px) * .07);transform:translate(-50%);border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(closest-side,color-mix(in srgb,#000 42%,transparent),transparent)}.xc-breathe{animation:xc-breathe 3.4s ease-in-out infinite;animation-delay:var(--xc-breathe-delay, 0ms)}@keyframes xc-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@media(prefers-reduced-motion:reduce){.xc-breathe{animation:none}}
@@ -0,0 +1 @@
1
+ import{r as c,l as X,n as Y,p as J,B as G,C as K,q as Q,o as V,j as a,t as M,D as ee}from"./index-EsrkGBcv.js";import{H as te}from"./HarnessMark-C4naWc16.js";import{g as re,s as ne,a as se,G as ie,b as oe,c as ce,d as ae}from"./runtime-picker-DXu2bOTh.js";const le={idle:{label:"Idle",colour:"var(--hud-dim, #71717a)"},thinking:{label:"Thinking",colour:"var(--info, #6fb7c7)"},working:{label:"Working",colour:"var(--hud-status-ok, #7fb069)"},needs:{label:"Needs attention",colour:"var(--hud-status-warn, #d9a441)"},error:{label:"Error",colour:"var(--hud-status-error, #c74a4a)"},offline:{label:"Offline",colour:"var(--hud-dim, #6e6e72)"}};function ue(r){if(!r)return"idle";const e=r.toLowerCase();return e.includes("think")?"thinking":e.includes("work")||e.includes("turn")||e.includes("stream")||e.includes("run")||e.includes("busy")?"working":e.includes("need")||e.includes("wait")||e.includes("block")||e.includes("ask")||e.includes("prompt")?"needs":e.includes("err")||e.includes("fail")||e.includes("crash")?"error":e.includes("off")||e.includes("stop")||e.includes("down")||e.includes("dead")?"offline":"idle"}function de(r,e=0){const[l,t]=c.useState(0),o=c.useRef([]);return c.useEffect(()=>{if(r<3||typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;const i=()=>{o.current.push(window.setTimeout(()=>{t(1),o.current.push(window.setTimeout(()=>t(2),40)),o.current.push(window.setTimeout(()=>t(1),90)),o.current.push(window.setTimeout(()=>{t(0),i()},130))},2800+Math.random()*4500))};i();const u=o.current;return()=>{u.forEach(T=>window.clearTimeout(T)),u.length=0}},[r]),c.useEffect(()=>{if(e===0||r<3||typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;const i=[window.setTimeout(()=>t(1),0),window.setTimeout(()=>t(2),40),window.setTimeout(()=>t(1),90),window.setTimeout(()=>t(0),130)];return()=>i.forEach(u=>window.clearTimeout(u))},[e,r]),r<3?0:l}function fe(r,e,l){const[t,o]=c.useState("rest"),[i,u]=c.useState(0);return c.useEffect(()=>{if(!e){o("rest");return}if(typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;const T=ae(l),x=()=>r.current?.getBoundingClientRect()??null;let w="rest",d="rest",b="rest",p=0,k=0;const g=()=>{const n=w!=="rest"?w:d;n!==b&&(b=n,o(n))},$=ne(n=>{w=T.sample(n,x),g(),window.clearTimeout(p),w!=="rest"&&(p=window.setTimeout(()=>{w="rest",g()},ie))}),f=se(n=>{window.clearTimeout(k),d=n?oe(n,x()):"rest",g(),d!=="rest"&&(k=window.setTimeout(()=>{d="rest",g(),u(s=>s+1)},ce))});return()=>{$(),f(),window.clearTimeout(p),window.clearTimeout(k)}},[e,l,r]),{dir:e?t:"rest",blinkNonce:i}}function ge({slug:r,name:e,project:l,harness:t,state:o,size:i,badge:u=!0,ring:T=!0,chip:x=!1,glow:w=!1,gaze:d,pose:b="rest",bustSrc:p,className:k,style:g,title:$}){const f=r.toLowerCase(),n=K[f],s=p?void 0:X[f],E=ue(o),y=le[E],N=c.useRef(null),A=b==="rest",{dir:B,blinkNonce:D}=fe(N,d==="pointer"&&A&&!!s,i??40),R=de(s&&A?s.roles.length+1:1,D),F=s&&R>0?Y[R]?.role:void 0,S=A?F??re(d==="pointer"?B:d??"rest",s?.roles):void 0,C=c.useMemo(()=>J(l),[l]),j=(x?G[f]?.ink:void 0)??n?.ink??1,I=c.useMemo(()=>Q(C,j),[C,j]);if(!n)return null;const h=x?G[f]:void 0,v=i??40,[H,_,m]=V(n,v),L=`${n.w/m*100}%`,W=`${n.h/m*100}%`,P=`${-H/m*100}%`,O=`${-_/m*100}%`,U=e||r.toUpperCase(),Z=$??`${U} · ${l||"openscout"} · ${t||"scout"} · ${y.label}`,q=u&&v>=28&&!!(t&&t!=="unknown"),z=i!=null?{width:i,height:i}:{width:"100%",height:"100%"};return a.jsxs("span",{className:`xc-avatar-root ${k||""}`,style:{...z,boxShadow:w?`0 0 ${Math.round(v*.3)}px ${y.colour}`:void 0,...g},title:Z,children:[a.jsx("span",{ref:N,className:"xc-avatar-shell",style:{background:I,opacity:E==="offline"?.55:1},children:h?a.jsx("img",{src:M(`${f}-chip-id.webp`),alt:"",className:"xc-avatar-img xc-avatar-img--pixel",style:{width:`${h.fill*100}%`,height:`${h.fill*100}%`,left:`${(.5-h.fill/2+(h.nudge?.[0]??0))*100}%`,top:`${(.5-h.fill/2+(h.nudge?.[1]??0))*100}%`}}):a.jsxs(a.Fragment,{children:[a.jsx("img",{src:p??M(ee(f,b)),alt:"",className:"xc-avatar-img",style:{width:L,height:W,left:P,top:O}}),s&&S&&a.jsx("img",{src:M(`${s.dir}/${S}.webp`),alt:"",className:"xc-avatar-patch",style:{width:`${s.patch[2]/m*100}%`,height:`${s.patch[3]/m*100}%`,left:`${(-H+s.patch[0])/m*100}%`,top:`${(-_+s.patch[1])/m*100}%`}})]})}),T&&a.jsx("span",{className:"xc-ring","data-ring":E,style:{"--xc-c":y.colour}}),q&&a.jsx(te,{harness:t,size:Math.max(8,Math.round(v*.22)),className:"xc-badge-mark",style:{right:"0%",bottom:"0%",width:"32%",height:"32%",minWidth:12,minHeight:12},title:null})]})}export{ge as C,de as u};
@@ -1 +1 @@
1
- import{r,t as j,B as x,j as l,A as b,C as B,x as R}from"./index-DReVb7jZ.js";function A({slug:p,size:h,pixel:a=!1,paused:g=!1,expression:v="rest"}){const i=p.toLowerCase(),s=B[i],e=a?void 0:j[i],d=r.useRef(null),[k,E]=r.useState(!0),[$,y]=r.useState(()=>typeof document>"u"||!document.hidden),[_,T]=r.useState(()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches),[w,c]=r.useState(null),m=!!s&&(!a||!!R[i]);r.useEffect(()=>{if(!d.current)return;const n=new IntersectionObserver(([S])=>E(S.isIntersecting));n.observe(d.current);const t=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>T(t.matches),f=()=>y(!document.hidden);return t.addEventListener("change",o),document.addEventListener("visibilitychange",f),()=>{n.disconnect(),t.removeEventListener("change",o),document.removeEventListener("visibilitychange",f)}},[m]);const u=!!(e?.roles.includes("blink-half")&&e.roles.includes("blink-shut"))&&!g&&k&&$&&!_;if(r.useEffect(()=>{if(!u)return;const n=x(`crew-blink:${i}`);let t;const o=()=>{t=window.setTimeout(()=>{c("blink-half"),t=window.setTimeout(()=>{c("blink-shut"),t=window.setTimeout(()=>{c("blink-half"),t=window.setTimeout(()=>{c(null),o()},40)},50)},40)},n.float(2800,6800))};return c(null),o(),()=>window.clearTimeout(t)},[i,u]),!m||!s)return null;const C=u&&w?w:v;return l.jsxs("span",{ref:d,className:`crew-sprite${a?" is-pixel":""}`,style:{width:h*s.w/s.h,height:h},"aria-hidden":"true",children:[i==="milo"&&!a?l.jsx("span",{className:"crew-sprite__visor-backing"}):null,l.jsx("img",{className:"crew-sprite__art",src:b(`${i}-${a?"chip-id":"bust"}.webp`),alt:"",draggable:!1}),e?e.roles.map(n=>l.jsx("img",{className:"crew-sprite__patch",src:b(`${e.dir}/${n}.webp`),alt:"",draggable:!1,style:{left:`${e.patch[0]/s.w*100}%`,top:`${e.patch[1]/s.h*100}%`,width:`${e.patch[2]/s.w*100}%`,height:`${e.patch[3]/s.h*100}%`,visibility:C===n?"visible":"hidden"}},n)):null]})}export{A as C};
1
+ import{r,l as j,E as B,j as l,t as b,C as R,B as x}from"./index-EsrkGBcv.js";function N({slug:p,size:h,pixel:a=!1,paused:g=!1,expression:v="rest"}){const i=p.toLowerCase(),s=R[i],e=a?void 0:j[i],d=r.useRef(null),[E,k]=r.useState(!0),[$,y]=r.useState(()=>typeof document>"u"||!document.hidden),[_,T]=r.useState(()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches),[w,c]=r.useState(null),m=!!s&&(!a||!!x[i]);r.useEffect(()=>{if(!d.current)return;const n=new IntersectionObserver(([S])=>k(S.isIntersecting));n.observe(d.current);const t=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>T(t.matches),f=()=>y(!document.hidden);return t.addEventListener("change",o),document.addEventListener("visibilitychange",f),()=>{n.disconnect(),t.removeEventListener("change",o),document.removeEventListener("visibilitychange",f)}},[m]);const u=!!(e?.roles.includes("blink-half")&&e.roles.includes("blink-shut"))&&!g&&E&&$&&!_;if(r.useEffect(()=>{if(!u)return;const n=B(`crew-blink:${i}`);let t;const o=()=>{t=window.setTimeout(()=>{c("blink-half"),t=window.setTimeout(()=>{c("blink-shut"),t=window.setTimeout(()=>{c("blink-half"),t=window.setTimeout(()=>{c(null),o()},40)},50)},40)},n.float(2800,6800))};return c(null),o(),()=>window.clearTimeout(t)},[i,u]),!m||!s)return null;const C=u&&w?w:v;return l.jsxs("span",{ref:d,className:`crew-sprite${a?" is-pixel":""}`,style:{width:h*s.w/s.h,height:h},"aria-hidden":"true",children:[i==="milo"&&!a?l.jsx("span",{className:"crew-sprite__visor-backing"}):null,l.jsx("img",{className:"crew-sprite__art",src:b(`${i}-${a?"chip-id":"bust"}.webp`),alt:"",draggable:!1}),e?e.roles.map(n=>l.jsx("img",{className:"crew-sprite__patch",src:b(`${e.dir}/${n}.webp`),alt:"",draggable:!1,style:{left:`${e.patch[0]/s.w*100}%`,top:`${e.patch[1]/s.h*100}%`,width:`${e.patch[2]/s.w*100}%`,height:`${e.patch[3]/s.h*100}%`,visibility:C===n?"visible":"hidden"}},n)):null]})}export{N as C};
@@ -0,0 +1 @@
1
+ import{k as R,l as K,n as U,o as Y,C as S,r as g,q as J,j as n,t as T}from"./index-EsrkGBcv.js";import"./CrewAvatar-kTznzqcO.js";function O(c){const[t,a]=g.useState(0),e=g.useRef([]);return g.useEffect(()=>{if(c<3||typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return;const r=()=>{e.current.push(window.setTimeout(()=>{a(1),e.current.push(window.setTimeout(()=>a(2),40)),e.current.push(window.setTimeout(()=>a(1),90)),e.current.push(window.setTimeout(()=>{a(0),r()},130))},2600+Math.random()*4200))};r();const d=e.current;return()=>{d.forEach(f=>window.clearTimeout(f)),d.length=0}},[c]),c<3?0:t}function V({slug:c,open:t=!1,onToggle:a,coin:e=56,figure:r=240,hue:d,state:f="idle",interactive:l=!0,radius:M=16,floor:j=!1,className:v,style:C,children:$}){const u=c.toLowerCase(),o=S[u]??S.milo,s=K[u],p=R.find(h=>h.slug===u)??R[0],x=O(s?s.roles.length+1:1),b=s&&x>0?U[x]?.role:void 0,[N,W,A]=Y(o,e),i=e/A,w=r*o.w/o.h,m=r/o.h,F=t?w:e,H=t?r:e,_=t?w:o.w*i,L=t?r:o.h*i,E=t?0:-N*i,y=t?0:-W*i,B=g.useMemo(()=>J(d??null,o.ink),[d,o.ink]),k=`${M}px`,D=Math.round(w*.68),I=Math.max(8,Math.round(r*.072)),X=s?s.patch[2]*(t?m:i):0,q=s?s.patch[3]*(t?m:i):0,z=s?(t?0:E)+s.patch[0]*(t?m:i):0,G=s?(t?0:y)+s.patch[1]*(t?m:i):0;return n.jsxs("div",{className:`xc-stage-wrapper ${v||""}`,style:C,"data-open":t?"true":"false",children:[n.jsxs("div",{className:"xc-stage",role:l?"button":void 0,tabIndex:l?0:void 0,"aria-expanded":l?t:void 0,"aria-label":`${p.name} (${t?"Full figure":"Avatar"})`,onClick:l?a:void 0,onKeyDown:l&&a?h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),a())}:void 0,style:{width:F,height:H,borderRadius:t?k:"50%"},children:[n.jsx("span",{className:"xc-stage-ground",style:{background:B,opacity:t?.92:1,borderRadius:t?k:"50%"}}),j&&n.jsx("span",{className:"xc-stage-floor","aria-hidden":!0,style:{position:"absolute",left:"50%",bottom:0,width:D,height:I,transform:"translateX(-50%)",borderRadius:"50%",background:"radial-gradient(closest-side at 50% 50%, color-mix(in srgb, black 45%, transparent) 0%, color-mix(in srgb, black 22%, transparent) 46%, transparent 100%)",opacity:t?1:0,transition:"opacity 400ms ease",pointerEvents:"none"}}),n.jsx("img",{src:T(`${u}-bust.webp`),alt:p.name,className:"xc-stage-img",style:{width:_,height:L,left:E,top:y}}),s&&b&&n.jsx("img",{src:T(`${s.dir}/${b}.webp`),alt:"",className:"xc-stage-patch",style:{width:X,height:q,left:z,top:G}})]}),$]})}export{V as C};
@@ -0,0 +1 @@
1
+ import{j as t,r as m}from"./index-EsrkGBcv.js";import{A as _}from"./AgentAvatar-CrP1eXxk.js";import{H}from"./HarnessMark-C4naWc16.js";import{t as T}from"./time-Dhsh_2EG.js";import{A as Q}from"./AddProjectForm-CusDRiVO.js";import{m as D,n as O}from"./Provider-C35yu29I.js";import{b as q}from"./machine-scope-DJt9RZ2w.js";import{a as U}from"./agent-specialization-DDc7mLCW.js";import{o as J}from"./model-CBkMvT1w.js";import{s as z}from"./project-overview-helpers-BQTc_Ous.js";/* empty css */import{S as K}from"./search-DT42oyRW.js";import{P as G}from"./plus-DFDDeGKu.js";import{F as C}from"./folder-D5prSkzz.js";import{F as V}from"./DocumentFocusViewer-DJr0v0D_.js";import{M as X}from"./message-square-BxesYglW.js";import{c as Y}from"./createLucideIcon-zZ8Hx7er.js";const Z=[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]],ee=Y("telescope",Z);function M(e){return e.needs?3:e.working?2:1}function $(e){return[...e].sort((n,s)=>M(s)-M(n)||s.lastActivityAt-n.lastActivityAt)}function S(e){return[...new Set(e.map(n=>n?.trim().toLowerCase()).filter(n=>!!n))].sort()}function W(e){const n=[...new Set(e.map(s=>s?.trim()).filter(s=>!!s))];return n.length===0?null:n.length===1?n[0]:`${n.length} branches`}function B(e){return e.needs>0?"needs":e.working>0||e.liveSessionCount>0?"working":"idle"}function te(e){if(e.needs>0)return`${e.needs} ${e.needs===1?"item needs":"items need"} attention`;const n=Math.max(e.working,e.liveSessionCount);return n>0?`${n} active work ${n===1?"stream":"streams"}`:"No active work"}function se(e,n){const s=$(n.filter(i=>i.projectSlug===e.slug)),r=S(s.map(i=>i.harness)),o={threadId:`project:${e.slug}`,projectSlug:e.slug,projectTitle:e.title,projectRoot:e.root,branch:W(e.branches.length>0?e.branches:s.map(i=>i.branch)),working:e.working>0||e.liveSessionCount>0,needs:e.needs>0,lastActivityAt:e.lastActivityAt,sessionCount:e.sessionCount,work:te(e),conversationId:null};return{kind:"project",key:`project:${e.slug}`,agentId:null,name:e.title,headline:"Project agent",harnesses:r,model:null,effort:null,status:B(e),needs:o.needs,working:o.working,substrates:[o],primary:o,work:o.work,conversationId:null,lastActivityAt:e.lastActivityAt,sessionCount:e.sessionCount}}function ne(e){const n=$(e),s=n[0];return{threadId:s.id,projectSlug:s.projectSlug,projectTitle:s.projectTitle,projectRoot:s.projectRoot,branch:W(n.map(r=>r.branch)),working:n.some(r=>r.working),needs:n.some(r=>r.needs),lastActivityAt:Math.max(...n.map(r=>r.lastActivityAt)),sessionCount:n.reduce((r,o)=>r+o.sessionCount,0),work:s.work,conversationId:s.conversationId}}function re(e){const n=new Map;for(const s of e){const r=n.get(s.projectSlug)??[];r.push(s),n.set(s.projectSlug,r)}return[...n.values()].map(ne).sort((s,r)=>Number(r.needs)-Number(s.needs)||Number(r.working)-Number(s.working)||r.lastActivityAt-s.lastActivityAt)}function ie(e,n){return n.some(s=>s.needs)?"needs":e.some(s=>(s.state??"").toLowerCase().includes("think"))?"thinking":n.some(s=>s.working)||e.some(s=>/work|running|in_turn/iu.test(s.state??""))?"working":"idle"}function b(e){const n=e?.trim().replace(/\/+$/u,"");return n?n.replace(/^\/(?:Users|home)\/[^/]+(?=\/)/u,"~"):null}function oe(e,n){return[n.root,...n.worktrees.map(r=>r.root)].map(b).filter(r=>!!r).some(r=>e===r||e.startsWith(`${r}/`))}function ae(e,n,s){const r=new Set;for(const i of s)i.agentId===e.id&&r.add(i.projectSlug);const o=[e.projectRoot,e.cwd].map(b).filter(i=>!!i);for(const i of n){const a=[i.slug,i.title].map(c=>c.trim().toLowerCase());e.project&&a.includes(e.project.trim().toLowerCase())&&r.add(i.slug),e.workspaceQualifier&&a.includes(e.workspaceQualifier.trim().toLowerCase())&&r.add(i.slug),o.some(c=>oe(c,i))&&r.add(i.slug)}if(r.size===0){const i=b(e.projectRoot??e.cwd);i?r.add(`root:${i}`):e.project?.trim()?r.add(`project:${e.project.trim().toLowerCase()}`):e.workspaceQualifier?.trim()&&r.add(`workspace:${e.workspaceQualifier.trim().toLowerCase()}`)}return r}function ce(e,n,s){const r=new Set;for(const o of e)for(const i of ae(o,n,s))r.add(i);return r.size>1?!0:e.some(o=>!O(o)&&!o.workspaceQualifier?.trim()&&!o.cwd?.trim())}function le(e,n,s){const r=e.filter(D),o=new Map;for(const i of r){const a=i.definitionId.trim()||i.id,c=o.get(a)??[];c.push(i),o.set(a,c)}return[...o.entries()].flatMap(([i,a])=>{if(!ce(a,n,s))return[];const u=[...a].sort((d,x)=>(x.updatedAt??0)-(d.updatedAt??0))[0],h=new Set(a.map(d=>d.id)),v=s.filter(d=>d.agentId&&h.has(d.agentId)),w=re(v),f=w[0]??null,p=S([...a.map(d=>d.harness),...v.map(d=>d.harness)]),y=S(a.map(d=>d.model)),A=S(a.map(d=>d.reasoningEffort)),j=ie(a,w),g=Math.max(0,...a.map(d=>d.updatedAt??0),...w.map(d=>d.lastActivityAt)),k=U(u);return[{kind:"role",key:`role:${i}`,agentId:u.id,name:u.name,headline:k.headline,harnesses:p,model:y.length===1?y[0]:null,effort:A.length===1?A[0]:null,status:j,needs:j==="needs",working:j==="working"||j==="thinking",substrates:w,primary:f,work:f?.work??k.headline,conversationId:f?.conversationId??u.conversationId,lastActivityAt:g,sessionCount:w.reduce((d,x)=>d+x.sessionCount,0)}]})}function L(e){switch(e.status){case"needs":return 3;case"working":return 2;case"thinking":return 1;case"idle":return 0}}function E(e,n,s,r=null){const o=q(s,r);return[...e.map(a=>se(a,n)),...le(o,e,n)].sort((a,c)=>L(c)-L(a)||c.lastActivityAt-a.lastActivityAt||a.name.localeCompare(c.name))}function de(e,n){switch(n){case"all":return!0;case"active":return e.status==="working"||e.status==="thinking";case"needs":return e.status==="needs";case"idle":return e.status==="idle"}}function ue(e,n){const s=B(e);switch(n){case"all":return!0;case"active":return s==="working";case"needs":return s==="needs";case"idle":return s==="idle"}}function he(e,n){const s=n.trim().toLowerCase();return!s||e.name.toLowerCase().includes(s)||e.headline.toLowerCase().includes(s)||e.work.toLowerCase().includes(s)?!0:e.substrates.some(r=>r.projectTitle.toLowerCase().includes(s)||r.projectSlug.toLowerCase().includes(s)||(r.projectRoot?.toLowerCase().includes(s)??!1))}function pe(e,n){const s=n.trim().toLowerCase();return s?e.title.toLowerCase().includes(s)||e.slug.toLowerCase().includes(s)||(e.root?.toLowerCase().includes(s)??!1):!0}function me(e){switch(e){case"needs":return"Needs attention";case"working":return"Working";case"thinking":return"Thinking";case"idle":return"Idle"}}const we=[{id:"all",label:"All"},{id:"active",label:"Live"},{id:"idle",label:"Idle"}];function je(e,n){if(n){e({view:"conversation",conversationId:n});return}e({view:"messages"})}function R(e,n){e({view:"code",project:n})}function fe(e,n,s){e(J(n,s))}function P(e,n,s){e({view:"agents-v2",projectSlug:s,...n.machineId?{machineId:n.machineId}:{},...n.showEphemeral?{showEphemeral:!0}:{}})}function ge({model:e,agents:n,route:s,navigate:r,nowMs:o}){const[i,a]=m.useState("projects"),[c,u]=m.useState("all"),[h,v]=m.useState(""),[w,f]=m.useState(!1),p=m.useMemo(()=>E(e.projects,e.threads,n,s.machineId??null),[n,e.projects,e.threads,s.machineId]),y=m.useMemo(()=>p.filter(l=>de(l,c)&&he(l,h)),[p,h,c]),A=m.useMemo(()=>e.projects.filter(l=>ue(l,c)&&pe(l,h)),[e.projects,h,c]),j=e.projects.filter(l=>l.working>0||l.liveSessionCount>0).length,g=e.projects.filter(l=>l.needs>0).length,k=p.filter(l=>l.status==="working"||l.status==="thinking").length,d=p.filter(l=>l.status==="needs").length,x=p.filter(l=>l.kind==="project").length,N=p.filter(l=>l.kind==="role").length;return t.jsxs("main",{className:"cw-root","aria-label":"Projects and agents",children:[t.jsxs("div",{className:"cw-toolbar",children:[t.jsxs("div",{className:"cw-modeToggle",role:"group","aria-label":"Directory view",children:[t.jsx("button",{type:"button","data-active":i==="projects"||void 0,"aria-pressed":i==="projects",onClick:()=>a("projects"),title:"Browse tracked projects",children:"Projects"}),t.jsx("button",{type:"button","data-active":i==="agents"||void 0,"aria-pressed":i==="agents",onClick:()=>a("agents"),title:"Browse durable agent identities",children:"Agents"})]}),t.jsxs("label",{className:"cw-search",role:"search",children:[t.jsx(K,{size:12,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("input",{type:"search",value:h,placeholder:i==="projects"?"Find project":"Find agent or project","aria-label":i==="projects"?"Find project":"Find agent or project",onChange:l=>v(l.currentTarget.value)})]}),t.jsx("div",{className:"cw-filters","aria-label":"Status filter",children:we.map(l=>t.jsx("button",{type:"button","data-active":c===l.id||void 0,"aria-pressed":c===l.id,onClick:()=>u(l.id),children:l.label},l.id))}),t.jsxs("button",{type:"button",className:"cw-addProject","aria-expanded":w,onClick:()=>f(l=>!l),children:[t.jsx(G,{size:11,strokeWidth:1.9,"aria-hidden":!0}),"Add project"]})]}),w?t.jsx(Q,{onClose:()=>f(!1)}):null,t.jsx("div",{className:"cw-digest",children:i==="projects"?t.jsxs(t.Fragment,{children:[t.jsxs("span",{children:[e.projects.length," projects"]}),t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":j>0?"live":void 0,children:[j," live"]}),g>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":"needs",children:[g," ",g===1?"ask":"asks"]})]}):null]}):t.jsxs(t.Fragment,{children:[t.jsxs("span",{children:[x," project agents"]}),N>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{children:[N," role ",N===1?"agent":"agents"]})]}):null,t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":k>0?"live":void 0,children:[k," live"]}),d>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":"needs",children:[d," ",d===1?"ask":"asks"]})]}):null]})}),i==="projects"?t.jsx(xe,{projects:A,route:s,navigate:r,nowMs:o,allEmpty:e.projects.length===0}):t.jsx(ye,{members:y,route:s,navigate:r,nowMs:o,allEmpty:p.length===0})]})}function ke({project:e,threads:n,route:s,navigate:r,nowMs:o}){const i=E([e],n,[])[0];return t.jsx("main",{className:"cw-root cw-root--scoped","aria-label":`${e.title} agent`,children:t.jsx(I,{title:"Project agent",members:[i],route:s,navigate:r,nowMs:o})})}const F=5;function xe({projects:e,route:n,navigate:s,nowMs:r,allEmpty:o}){const[i,a]=m.useState(!1);if(e.length===0)return t.jsx("div",{className:"cw-empty",children:o?"No projects are tracked yet.":"No projects match these filters."});const c=i?e:e.slice(0,F),u=Math.max(0,e.length-F);return t.jsxs("div",{className:"cw-workspaceList",children:[c.map(h=>t.jsx(ve,{project:h,route:n,navigate:s,nowMs:r},h.slug)),u>0?t.jsx("button",{type:"button",className:"cw-showMore",onClick:()=>a(h=>!h),children:i?"Show fewer":`Show ${u} more`}):null]})}function ve({project:e,route:n,navigate:s,nowMs:r}){const o=e.working>0||e.liveSessionCount>0;return t.jsx("article",{className:"cw-workspace","data-state":e.needs>0?"needs":o?"live":void 0,children:t.jsxs("button",{type:"button",className:"cw-workspaceHead",onClick:()=>P(s,n,e.slug),children:[t.jsxs("span",{className:"cw-workspaceTitle",children:["/",e.title]}),t.jsx("span",{className:"cw-workspaceRoot",title:e.root??void 0,children:e.root?z(e.root):"Discovered project"}),t.jsxs("span",{className:"cw-workspaceMeta",children:[t.jsxs("span",{children:[e.worktreeCount," ",e.worktreeCount===1?"worktree":"worktrees"," · ",e.sessionCount," ",e.sessionCount===1?"session":"sessions"]}),e.needs>0?t.jsxs("span",{className:"cw-workspaceAsks",children:[e.needs," ",e.needs===1?"ask":"asks"]}):t.jsx("time",{"data-tone":o?"live":void 0,children:o?"now":e.lastActivityAt?T(e.lastActivityAt,r):"no activity"})]})]})})}function ye({members:e,route:n,navigate:s,nowMs:r,allEmpty:o}){if(e.length===0)return t.jsx("div",{className:"cw-empty",children:o?"No durable agents are registered yet.":"No agents match these filters."});const i=e.filter(c=>c.kind==="role"),a=e.filter(c=>c.kind==="project");return t.jsxs("div",{className:"cw-agentDirectory",children:[i.length>0?t.jsx(I,{title:"Role agents",members:i,route:n,navigate:s,nowMs:r}):null,a.length>0?t.jsx(I,{title:"Project agents",members:a,route:n,navigate:s,nowMs:r}):null]})}function I({title:e,members:n,route:s,navigate:r,nowMs:o}){return t.jsxs("section",{className:"cw-agentSection","aria-label":e,children:[t.jsxs("div",{className:"cw-agentSectionHead",children:[t.jsx("h2",{children:e}),t.jsx("span",{children:n.length})]}),t.jsx("div",{className:"cw-grid",children:n.map((i,a)=>t.jsx(Ae,{member:i,index:a,route:s,navigate:r,nowMs:o},i.key))})]})}function Ae({member:e,index:n,route:s,navigate:r,nowMs:o}){const i=e.primary,[a,c]=m.useState(!1);return t.jsxs("article",{className:"cw-card sys-panel","data-status":e.status,"data-kind":e.kind,onPointerEnter:()=>c(!0),onPointerLeave:()=>c(!1),onFocus:()=>c(!0),onBlur:()=>c(!1),children:[t.jsxs("header",{className:"cw-cardHead",children:[t.jsx(_,{agent:{name:e.name,state:Ce(e.status)},placement:"hero",size:44,presence:!0,gaze:"pointer",pose:a?"rest":"turn-left",className:"xc-breathe",style:{"--xc-breathe-delay":`${-(n*1.1%3.4)}s`}}),t.jsxs("div",{className:"cw-cardIdentity",children:[t.jsxs("div",{className:"cw-cardNameRow",children:[e.harnesses.length>0?t.jsx("span",{className:"cw-cardHarness","data-idle":e.status==="idle"||void 0,"aria-hidden":!0,children:e.harnesses.map(u=>t.jsx(H,{harness:u,size:13},u))}):null,t.jsx("b",{title:e.name,children:e.name}),t.jsx("span",{className:"cw-statusPill","data-status":e.status,children:me(e.status)})]}),t.jsx("div",{className:"cw-cardSubline",children:t.jsx("span",{className:"cw-headline",children:e.headline})})]})]}),e.kind==="project"&&i?t.jsxs("div",{className:"cw-projectContext",title:i.projectRoot??void 0,children:[t.jsx(C,{size:11,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("span",{children:i.projectRoot?z(i.projectRoot):`/${i.projectTitle}`}),t.jsxs("em",{children:[e.sessionCount," ",e.sessionCount===1?"session":"sessions"]})]}):e.substrates.length>0?t.jsx("div",{className:"cw-substrates",children:e.substrates.map((u,h)=>t.jsx(Se,{substrate:u,route:s,navigate:r,primary:h===0},u.threadId))}):null,t.jsxs("div",{className:"cw-work",children:[t.jsx("p",{title:e.work,children:e.work}),t.jsx("time",{children:e.lastActivityAt?T(e.lastActivityAt,o):"—"})]}),t.jsx("footer",{className:"cw-cardActions",children:e.kind==="project"&&i?t.jsxs(t.Fragment,{children:[t.jsxs("button",{type:"button",onClick:()=>P(r,s,i.projectSlug),children:[t.jsx(V,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Open project"]}),t.jsxs("button",{type:"button",onClick:()=>R(r,i.projectSlug),children:[t.jsx(C,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Browse code"]})]}):t.jsxs(t.Fragment,{children:[e.conversationId?t.jsxs("button",{type:"button",onClick:()=>je(r,e.conversationId),children:[t.jsx(X,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Chat"]}):null,i?t.jsxs("button",{type:"button",onClick:()=>R(r,i.projectSlug),children:[t.jsx(C,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Browse code"]}):null,e.agentId?t.jsxs("button",{type:"button",onClick:()=>fe(r,s,e.agentId),children:[t.jsx(ee,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Inspect"]}):null]})})]})}function Ce(e){switch(e){case"needs":return"needs_attention";case"working":return"in_turn";case"thinking":return"thinking";case"idle":return"idle"}}function Se({substrate:e,route:n,navigate:s,primary:r=!1}){return t.jsxs("button",{type:"button",className:"cw-substrateChip","data-primary":r||void 0,"data-live":e.working||void 0,title:e.projectRoot??void 0,onClick:()=>P(s,n,e.projectSlug),children:[t.jsx(C,{size:11,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("span",{children:e.projectTitle}),e.branch?t.jsxs("em",{children:["git: ",e.branch]}):null]})}const De=Object.freeze(Object.defineProperty({__proto__:null,CrewWorkspaces:ge,ProjectAgentDirectory:ke},Symbol.toStringTag,{value:"Module"}));export{ge as C,ke as P,De as a,E as b};
@@ -1 +1 @@
1
- import{r as m,j as o}from"./index-DReVb7jZ.js";/* empty css */const $=48,I=720;function _(e){if(!e||typeof window>"u")return null;try{const n=window.localStorage.getItem(e);if(!n)return null;const a=JSON.parse(n);if(!a||typeof a!="object")return null;const f={};for(const[c,d]of Object.entries(a))typeof d=="number"&&Number.isFinite(d)&&d>0&&(f[c]=d);return f}catch{return null}}function z(e,n){if(e&&!(typeof window>"u"))try{window.localStorage.setItem(e,JSON.stringify(n))}catch{}}function H({storageKey:e,columns:n}){const a=m.useMemo(()=>{const r=_(e)??{},s={};for(const p of n)s[p.key]=r[p.key]??p.defaultWidth;return s},[e,n]),[f,c]=m.useState(a);m.useEffect(()=>{c(r=>{let s=!1;const p={...r};for(const b of n)p[b.key]==null&&(p[b.key]=b.defaultWidth,s=!0);return s?p:r})},[n]);const d=m.useMemo(()=>{const r=new Map;for(const s of n)r.set(s.key,s);return r},[n]),N=m.useRef(null),x=m.useCallback(r=>{const s=N.current;if(!s)return;const p=r.clientX-s.startX,b=Math.min(s.max,Math.max(s.min,s.startWidth+p));c(u=>u[s.key]===b?u:{...u,[s.key]:b})},[]),y=m.useCallback(()=>{N.current&&(N.current=null,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y),c(r=>(z(e,r),r)))},[x,e]);m.useEffect(()=>()=>{window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y)},[x,y]);const D=m.useCallback(r=>{const s=f[r],p=d.get(r),b=p?.minWidth??$,u=p?.maxWidth??I;return{style:{width:s,minWidth:b,maxWidth:u},"data-resize-key":r}},[f,d]),E=m.useCallback(r=>({onPointerDown:u=>{if(u.button!==0)return;u.preventDefault(),u.stopPropagation();const h=d.get(r),j=h?.minWidth??$,v=h?.maxWidth??I,S=f[r]??h?.defaultWidth??j;N.current={key:r,startX:u.clientX,startWidth:S,min:j,max:v},document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("pointermove",x),window.addEventListener("pointerup",y),window.addEventListener("pointercancel",y)},onClick:u=>{u.stopPropagation()},onDoubleClick:u=>{u.preventDefault(),u.stopPropagation();const h=d.get(r);h&&c(j=>{const v={...j,[r]:h.defaultWidth};return z(e,v),v})},role:"separator","aria-orientation":"vertical","aria-label":"Resize column",className:"s-resize-handle"}),[f,d,x,y,e]),C=m.useCallback(()=>{c(()=>{const r={};for(const s of n)r[s.key]=s.defaultWidth;return z(e,r),r})},[n,e]);return{widths:f,getColumnProps:D,getResizeHandleProps:E,resetAll:C}}function J(e){return e==="number"||e==="time"?"right":"left"}function B(e){return e==="number"||e==="time"?-1:1}function T(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"||typeof e=="bigint"?String(e):Array.isArray(e)?e.map(n=>T(n)).join(""):""}function F(e,n){if(e.sortValue)return e.sortValue(n);const a=e.render(n),f=T(a).trim();return f||null}function R(e){if(typeof e=="number")return e;const n=Date.parse(e);return Number.isFinite(n)?n:Number.NaN}function q(e,n,a,f){const c=F(a,e),d=F(a,n);return c==null&&d==null?0:c==null?1:d==null?-1:a.kind==="number"?((Number(c)||0)-(Number(d)||0))*f:a.kind==="time"?(R(c)-R(d))*f:String(c).localeCompare(String(d),void 0,{numeric:!0,sensitivity:"base"})*f}function G(e,n){return a=>{typeof e=="function"&&e(a),a.defaultPrevented||n?.(a)}}function K(e,n){return a=>{typeof e=="function"&&e(a),a.defaultPrevented||n?.(a)}}function Z({rows:e,columns:n,rowId:a,storageKey:f,initialSort:c,sort:d,onSortChange:N,secondarySort:x,onRowClick:y,rowBindings:D,rowState:E,empty:C={title:"No rows"},loading:r=!1,rowClassName:s,density:p="comfortable",className:b,ariaLabel:u="Data table"}){const h=m.useMemo(()=>n.map(t=>{const l=t.kind??"text";return{...t,kind:l,align:t.align??J(l),sortable:t.sortable??l!=="custom",resizable:t.resizable??!0}}),[n]),j=m.useMemo(()=>new Map(h.map(t=>[t.key,t])),[h]),[v,S]=m.useState(()=>{if(!c)return null;const l=n.find(i=>i.key===c.key)?.kind??"text";return{key:c.key,dir:c.dir??B(l)}}),k=d??v,{getColumnProps:X,getResizeHandleProps:O}=H({storageKey:f,columns:h.map(t=>({key:t.key,defaultWidth:t.defaultWidth,minWidth:t.minWidth,maxWidth:t.maxWidth}))}),M=m.useMemo(()=>{const t=e.map((i,w)=>({row:i,index:w}));if(!k)return t.map(i=>i.row);const l=j.get(k.key);return l?.sortable?t.slice().sort((i,w)=>{const W=q(i.row,w.row,l,k.dir);if(W!==0)return W;const P=x?.(i.row,w.row)??0;return P!==0?P:i.index-w.index}).map(i=>i.row):t.map(i=>i.row)},[e,k,j,x]),A=t=>{d==null&&S(t),N?.(t)};return o.jsx("div",{className:`dt-wrap dt-wrap--${p}${b?` ${b}`:""}`,children:o.jsxs("table",{className:"dt-table","aria-label":u,"aria-busy":r||void 0,children:[o.jsx("thead",{children:o.jsx("tr",{children:h.map(t=>{const l=k?.key===t.key,i=l?k.dir===1?"ascending":"descending":"none",w=["dt-th",`dt-align-${t.align}`,t.cls,l?"dt-th--sorted":""].filter(Boolean).join(" ");return o.jsxs("th",{className:w,title:t.tip,"aria-sort":i,...X(t.key),children:[t.sortable?o.jsxs("button",{type:"button",className:"dt-th-sort",onClick:()=>{if(k?.key===t.key){A({key:t.key,dir:k.dir===1?-1:1});return}A({key:t.key,dir:B(t.kind)})},children:[o.jsx("span",{className:"dt-th-label",children:t.label}),o.jsx("span",{className:`dt-th-arrow${l?" dt-th-arrow--active":""}`,"aria-hidden":"true",children:l?k?.dir===1?"↑":"↓":"↕"})]}):o.jsx("div",{className:"dt-th-static",children:o.jsx("span",{className:"dt-th-label",children:t.label})}),t.resizable?o.jsx("span",{...O(t.key)}):null]},t.key)})})}),o.jsx("tbody",{children:r&&M.length===0?o.jsx("tr",{className:"dt-loading-row",children:o.jsx("td",{colSpan:h.length,children:o.jsx("div",{className:"dt-loading",role:"status","aria-label":`Loading ${u.toLowerCase()}`,children:Array.from({length:7},(t,l)=>o.jsx("div",{className:"dt-loading-line","aria-hidden":"true",children:h.map(i=>o.jsx("span",{style:{width:`${Math.min(i.defaultWidth,220)}px`}},i.key))},l))})})}):M.length===0?o.jsx("tr",{className:"dt-empty-row",children:o.jsx("td",{colSpan:h.length,children:o.jsxs("div",{className:"dt-empty",children:[o.jsx("div",{className:"dt-empty-title",children:C.title}),C.body?o.jsx("div",{children:C.body}):null]})})}):M.map(t=>{const l=a(t),i=D?.(l)??{},w=E?.(l)??{isActive:!1,isPinned:!1},W=!!(y||D),P=["dt-row",W?"dt-row--interactive":"",w.isActive?"dt-row--active":"",w.isPinned?"dt-row--pinned":"",s?.(t),typeof i.className=="string"?i.className:""].filter(Boolean).join(" "),U=y?()=>y(t):void 0,V=W?K(i.onKeyDown,g=>{y&&(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),y(t))}):typeof i.onKeyDown=="function"?i.onKeyDown:void 0,L={...i,className:P,onClick:G(i.onClick,U),onKeyDown:V};return W&&L.tabIndex==null&&(L.tabIndex=0),o.jsx("tr",{...L,children:h.map(g=>o.jsx("td",{className:["dt-td",`dt-align-${g.align}`,g.cls].filter(Boolean).join(" "),children:g.render(t)},g.key))},l)})})]})})}export{Z as D};
1
+ import{r as m,j as o}from"./index-EsrkGBcv.js";/* empty css */const $=48,I=720;function _(e){if(!e||typeof window>"u")return null;try{const n=window.localStorage.getItem(e);if(!n)return null;const a=JSON.parse(n);if(!a||typeof a!="object")return null;const f={};for(const[c,d]of Object.entries(a))typeof d=="number"&&Number.isFinite(d)&&d>0&&(f[c]=d);return f}catch{return null}}function z(e,n){if(e&&!(typeof window>"u"))try{window.localStorage.setItem(e,JSON.stringify(n))}catch{}}function H({storageKey:e,columns:n}){const a=m.useMemo(()=>{const r=_(e)??{},s={};for(const p of n)s[p.key]=r[p.key]??p.defaultWidth;return s},[e,n]),[f,c]=m.useState(a);m.useEffect(()=>{c(r=>{let s=!1;const p={...r};for(const b of n)p[b.key]==null&&(p[b.key]=b.defaultWidth,s=!0);return s?p:r})},[n]);const d=m.useMemo(()=>{const r=new Map;for(const s of n)r.set(s.key,s);return r},[n]),N=m.useRef(null),x=m.useCallback(r=>{const s=N.current;if(!s)return;const p=r.clientX-s.startX,b=Math.min(s.max,Math.max(s.min,s.startWidth+p));c(u=>u[s.key]===b?u:{...u,[s.key]:b})},[]),y=m.useCallback(()=>{N.current&&(N.current=null,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y),c(r=>(z(e,r),r)))},[x,e]);m.useEffect(()=>()=>{window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",y),window.removeEventListener("pointercancel",y)},[x,y]);const D=m.useCallback(r=>{const s=f[r],p=d.get(r),b=p?.minWidth??$,u=p?.maxWidth??I;return{style:{width:s,minWidth:b,maxWidth:u},"data-resize-key":r}},[f,d]),E=m.useCallback(r=>({onPointerDown:u=>{if(u.button!==0)return;u.preventDefault(),u.stopPropagation();const h=d.get(r),j=h?.minWidth??$,v=h?.maxWidth??I,S=f[r]??h?.defaultWidth??j;N.current={key:r,startX:u.clientX,startWidth:S,min:j,max:v},document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("pointermove",x),window.addEventListener("pointerup",y),window.addEventListener("pointercancel",y)},onClick:u=>{u.stopPropagation()},onDoubleClick:u=>{u.preventDefault(),u.stopPropagation();const h=d.get(r);h&&c(j=>{const v={...j,[r]:h.defaultWidth};return z(e,v),v})},role:"separator","aria-orientation":"vertical","aria-label":"Resize column",className:"s-resize-handle"}),[f,d,x,y,e]),C=m.useCallback(()=>{c(()=>{const r={};for(const s of n)r[s.key]=s.defaultWidth;return z(e,r),r})},[n,e]);return{widths:f,getColumnProps:D,getResizeHandleProps:E,resetAll:C}}function J(e){return e==="number"||e==="time"?"right":"left"}function B(e){return e==="number"||e==="time"?-1:1}function T(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"||typeof e=="bigint"?String(e):Array.isArray(e)?e.map(n=>T(n)).join(""):""}function F(e,n){if(e.sortValue)return e.sortValue(n);const a=e.render(n),f=T(a).trim();return f||null}function R(e){if(typeof e=="number")return e;const n=Date.parse(e);return Number.isFinite(n)?n:Number.NaN}function q(e,n,a,f){const c=F(a,e),d=F(a,n);return c==null&&d==null?0:c==null?1:d==null?-1:a.kind==="number"?((Number(c)||0)-(Number(d)||0))*f:a.kind==="time"?(R(c)-R(d))*f:String(c).localeCompare(String(d),void 0,{numeric:!0,sensitivity:"base"})*f}function G(e,n){return a=>{typeof e=="function"&&e(a),a.defaultPrevented||n?.(a)}}function K(e,n){return a=>{typeof e=="function"&&e(a),a.defaultPrevented||n?.(a)}}function Z({rows:e,columns:n,rowId:a,storageKey:f,initialSort:c,sort:d,onSortChange:N,secondarySort:x,onRowClick:y,rowBindings:D,rowState:E,empty:C={title:"No rows"},loading:r=!1,rowClassName:s,density:p="comfortable",className:b,ariaLabel:u="Data table"}){const h=m.useMemo(()=>n.map(t=>{const l=t.kind??"text";return{...t,kind:l,align:t.align??J(l),sortable:t.sortable??l!=="custom",resizable:t.resizable??!0}}),[n]),j=m.useMemo(()=>new Map(h.map(t=>[t.key,t])),[h]),[v,S]=m.useState(()=>{if(!c)return null;const l=n.find(i=>i.key===c.key)?.kind??"text";return{key:c.key,dir:c.dir??B(l)}}),k=d??v,{getColumnProps:X,getResizeHandleProps:O}=H({storageKey:f,columns:h.map(t=>({key:t.key,defaultWidth:t.defaultWidth,minWidth:t.minWidth,maxWidth:t.maxWidth}))}),M=m.useMemo(()=>{const t=e.map((i,w)=>({row:i,index:w}));if(!k)return t.map(i=>i.row);const l=j.get(k.key);return l?.sortable?t.slice().sort((i,w)=>{const W=q(i.row,w.row,l,k.dir);if(W!==0)return W;const P=x?.(i.row,w.row)??0;return P!==0?P:i.index-w.index}).map(i=>i.row):t.map(i=>i.row)},[e,k,j,x]),A=t=>{d==null&&S(t),N?.(t)};return o.jsx("div",{className:`dt-wrap dt-wrap--${p}${b?` ${b}`:""}`,children:o.jsxs("table",{className:"dt-table","aria-label":u,"aria-busy":r||void 0,children:[o.jsx("thead",{children:o.jsx("tr",{children:h.map(t=>{const l=k?.key===t.key,i=l?k.dir===1?"ascending":"descending":"none",w=["dt-th",`dt-align-${t.align}`,t.cls,l?"dt-th--sorted":""].filter(Boolean).join(" ");return o.jsxs("th",{className:w,title:t.tip,"aria-sort":i,...X(t.key),children:[t.sortable?o.jsxs("button",{type:"button",className:"dt-th-sort",onClick:()=>{if(k?.key===t.key){A({key:t.key,dir:k.dir===1?-1:1});return}A({key:t.key,dir:B(t.kind)})},children:[o.jsx("span",{className:"dt-th-label",children:t.label}),o.jsx("span",{className:`dt-th-arrow${l?" dt-th-arrow--active":""}`,"aria-hidden":"true",children:l?k?.dir===1?"↑":"↓":"↕"})]}):o.jsx("div",{className:"dt-th-static",children:o.jsx("span",{className:"dt-th-label",children:t.label})}),t.resizable?o.jsx("span",{...O(t.key)}):null]},t.key)})})}),o.jsx("tbody",{children:r&&M.length===0?o.jsx("tr",{className:"dt-loading-row",children:o.jsx("td",{colSpan:h.length,children:o.jsx("div",{className:"dt-loading",role:"status","aria-label":`Loading ${u.toLowerCase()}`,children:Array.from({length:7},(t,l)=>o.jsx("div",{className:"dt-loading-line","aria-hidden":"true",children:h.map(i=>o.jsx("span",{style:{width:`${Math.min(i.defaultWidth,220)}px`}},i.key))},l))})})}):M.length===0?o.jsx("tr",{className:"dt-empty-row",children:o.jsx("td",{colSpan:h.length,children:o.jsxs("div",{className:"dt-empty",children:[o.jsx("div",{className:"dt-empty-title",children:C.title}),C.body?o.jsx("div",{children:C.body}):null]})})}):M.map(t=>{const l=a(t),i=D?.(l)??{},w=E?.(l)??{isActive:!1,isPinned:!1},W=!!(y||D),P=["dt-row",W?"dt-row--interactive":"",w.isActive?"dt-row--active":"",w.isPinned?"dt-row--pinned":"",s?.(t),typeof i.className=="string"?i.className:""].filter(Boolean).join(" "),U=y?()=>y(t):void 0,V=W?K(i.onKeyDown,g=>{y&&(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),y(t))}):typeof i.onKeyDown=="function"?i.onKeyDown:void 0,L={...i,className:P,onClick:G(i.onClick,U),onKeyDown:V};return W&&L.tabIndex==null&&(L.tabIndex=0),o.jsx("tr",{...L,children:h.map(g=>o.jsx("td",{className:["dt-td",`dt-align-${g.align}`,g.cls].filter(Boolean).join(" "),children:g.render(t)},g.key))},l)})})]})})}export{Z as D};
@@ -1 +1 @@
1
- import{r as f,j as r}from"./index-DReVb7jZ.js";import{a as y}from"./api-DSqpVKC7.js";import{i as j}from"./scoutbot-Bk3nyrkj.js";import{u as S}from"./sse-A8AyLH0g.js";import{t as E}from"./time-Dhsh_2EG.js";import{o as M}from"./openContent-C6XO6kr5.js";import{e as k}from"./broker-display-BkBzyvbR.js";import{r as R}from"./follow-route-BvcGtBIL.js";import{L as C}from"./loader-circle-DNUsuPWz.js";import{A as L}from"./arrow-up-right-B0aLKiyF.js";import"./index-BWHgHrtv.js";import"./status-tone-BM_zuRy1.js";import"./createLucideIcon-ChvMq-zl.js";const _=3,$=80;function h(e){return Number(e.createdAt)||0}function F(e,s){if(!e.conversationId)return{status:"no-conversation"};const t=s.slice().sort((o,i)=>h(o)-h(i)),n=e.messageId?t.find(o=>o.id===e.messageId)??null:null;let l;if(n){const o=h(n);l=t.filter(i=>i.id!==n.id&&h(i)>=o)}else{const o=t[0];if(o&&h(o)>e.ts)return{status:"beyond-page"};l=t.filter(i=>h(i)>e.ts)}if(l.length===0)return{status:"no-reply"};const u=n?h(n):e.ts,d=l.slice(0,_).map(o=>({id:o.id,actorName:o.actorName||"Unknown",body:o.body??"",createdAt:h(o),afterMs:Math.max(0,h(o)-u),answersDispatch:!!(e.messageId&&o.replyToMessageId===e.messageId)}));return{status:"replies",replies:d,more:Math.max(0,l.length-d.length)}}function b(e,...s){const t=e.metadata??{},n=t.raw&&typeof t.raw=="object"&&!Array.isArray(t.raw)?t.raw:null;for(const l of s)for(const u of[t,n]){const d=u?.[l];if(typeof d=="string"&&d.trim())return d.trim()}return null}function D(e,s){const t=new URLSearchParams,n=e.invocationId??b(e,"invocationId"),l=b(e,"flightId"),u=b(e,"collaborationRecordId","workId","recordId");return l&&t.set("flightId",l),n&&t.set("invocationId",n),e.conversationId&&t.set("conversationId",e.conversationId),u&&t.set("workId",u),s&&t.set("targetAgentId",s),[...t.keys()].length>0?t:null}function H(e,s={}){const t=[];return e.conversationId&&t.push({key:"conversation",label:"Conversation",hint:"The thread this dispatch landed in",route:{view:"conversation",conversationId:e.conversationId}}),(e.flightId||e.sessionId)&&t.push({key:"trace",label:"Live trace",hint:"The session that ran the work",route:{view:"sessions",...e.flightId?{flightId:e.flightId}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.targetAgentId?{agentId:e.targetAgentId}:{}}}),e.workId&&!s.nativeHost&&t.push({key:"work",label:"Work item",hint:"The collaboration record it belongs to",route:{view:"work",workId:e.workId}}),e.targetAgentId&&t.push({key:"agent",label:"Recipient",hint:"The agent that received it",route:{view:"agents-v2",agentId:e.targetAgentId,tab:"observe"}}),t.length>0&&t.push({key:"tail",label:"Tail",hint:"Raw events for these ids",route:R(e,"tail")}),t}const P={queued:"Queued",dispatched:"Dispatched",running:"Running",succeeded:"Completed",completed:"Completed",failed:"Failed",errored:"Failed",cancelled:"Cancelled",canceled:"Cancelled",timed_out:"Timed out",expired:"Expired"},U=new Set(["failed","errored","timed_out","expired"]),v=new Set(["queued","dispatched","running"]),G=new Set(["succeeded","completed"]);function q(e){if(!e)return null;const s=e.state?.trim().toLowerCase()||"unknown",t=U.has(s)?"danger":v.has(s)?"working":G.has(s)?"success":"neutral",n=e.startedAt&&e.completedAt?Math.max(0,e.completedAt-e.startedAt):null;return{state:s,label:P[s]??s.replace(/_/g," "),tone:t,summary:e.summary?.trim()||null,durationMs:n,settled:!v.has(s)}}function O(e){if(e<1e3)return"instant";const s=Math.round(e/1e3);if(s<60)return`${s}s later`;const t=Math.round(s/60);if(t<60)return`${t}m later`;const n=Math.round(t/60);return n<48?`${n}h later`:`${Math.round(n/24)}d later`}function B(e){if(e<1e3)return`${e}ms`;const s=e/1e3;if(s<60)return`${s.toFixed(s<10?1:0)}s`;const t=Math.floor(s/60),n=Math.round(s%60);return t<60?n>0?`${t}m ${n}s`:`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}const w=180,Q=250,W={loading:!0,target:null,targetUnknown:!1,flight:null,aftermath:{status:"no-conversation"}};function z(e,s){const[t,n]=f.useState(W),[l,u]=f.useState(0),d=f.useRef(0),o=e.conversationId,i=f.useMemo(()=>D(e,s)?.toString()??null,[e,s]);f.useEffect(()=>{const a=++d.current;n(p=>({...p,loading:!0}));const x=i?y(`/api/follow?${i}`).catch(()=>null):Promise.resolve(null),A=o?y(`/api/messages?conversationId=${encodeURIComponent(o)}&limit=${$}`).catch(()=>null):Promise.resolve(null);return(async()=>{const[p,g]=await Promise.all([x,A]);if(a!==d.current)return;const T=p?.flightId?await y(`/api/flights?active=false&flightId=${encodeURIComponent(p.flightId)}`).then(N=>N[0]??null).catch(()=>null):null;a===d.current&&n({loading:!1,target:p,targetUnknown:!!i&&!p,flight:T,aftermath:o?g?F(e,g):{status:"unavailable"}:{status:"no-conversation"}})})(),()=>{d.current+=1}},[e,o,i,l]);const c=f.useRef(null),m=f.useCallback(()=>{c.current||(c.current=setTimeout(()=>{c.current=null,u(a=>a+1)},Q))},[]);f.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const I=t.flight?.id??t.target?.flightId??null;return S(a=>{switch(a.kind){case"message.posted":o&&a.payload.message.conversationId===o&&m();return;case"delivery.state.changed":e.messageId&&a.payload.delivery.messageId===e.messageId&&m();return;case"flight.updated":I&&a.payload.flight.id===I&&m();return}}),{...t,reload:m}}function ie({attempt:e,targetAgentId:s,navigate:t,returnTo:n}){const{loading:l,target:u,targetUnknown:d,flight:o,aftermath:i}=z(e,s),c=q(o),m=u?H(u,{nativeHost:j()}):[],I=f.useCallback(a=>M(t,a,{returnTo:n}),[t,n]);return r.jsxs("section",{className:"sys-broker-aftermath","aria-labelledby":"dispatch-aftermath-title",children:[r.jsxs("div",{className:"sys-broker-aftermath-head",children:[r.jsx("span",{id:"dispatch-aftermath-title",className:"sys-detail-label",children:"What happened next"}),l&&r.jsx(C,{className:"sys-broker-action-spinner",size:12,"aria-hidden":"true"})]}),c&&r.jsxs("div",{className:`sys-broker-aftermath-outcome sys-broker-aftermath-outcome--${c.tone}`,children:[r.jsx("span",{className:`sys-broker-dot sys-broker-dot--${c.tone}`,"aria-hidden":"true"}),r.jsx("strong",{children:c.label}),c.durationMs!==null&&r.jsxs("span",{className:"sys-broker-aftermath-duration",children:["ran ",B(c.durationMs)]}),c.summary&&r.jsx("p",{children:k(c.summary,w)})]}),i.status==="replies"?r.jsxs("ol",{className:"sys-broker-aftermath-replies",children:[i.replies.map(a=>r.jsx("li",{children:r.jsxs("button",{type:"button",className:"sys-broker-aftermath-reply",disabled:!e.conversationId,onClick:()=>e.conversationId&&I({view:"conversation",conversationId:e.conversationId}),children:[r.jsxs("span",{className:"sys-broker-aftermath-reply-head",children:[r.jsx("strong",{children:a.actorName}),a.answersDispatch&&r.jsx("span",{className:"sys-broker-aftermath-answer",children:"reply"}),r.jsx("span",{className:"sys-broker-aftermath-gap",children:O(a.afterMs)})]}),r.jsx("span",{className:"sys-broker-aftermath-reply-body",children:k(a.body,w)})]})},a.id)),i.more>0&&r.jsxs("li",{className:"sys-broker-aftermath-more",children:["+",i.more," more in the thread"]})]}):!l&&r.jsx("p",{className:"sys-broker-aftermath-empty",children:i.status==="no-conversation"?"No conversation followed this dispatch, so there is nothing to open.":i.status==="unavailable"?"The conversation could not be read, so what followed is unknown.":i.status==="beyond-page"?"This dispatch is older than the loaded transcript. Open the conversation to read it in place.":c&&!c.settled?"Still running. Nothing has come back yet.":"Nothing followed this dispatch in its conversation."}),m.length>0?r.jsx("div",{className:"sys-broker-aftermath-links",children:m.map(a=>r.jsxs("button",{type:"button",className:"sys-broker-aftermath-link",title:a.hint,onClick:()=>I(a.route),children:[a.label,r.jsx(L,{size:11,"aria-hidden":"true"})]},a.key))}):!l&&i.status!=="no-conversation"&&r.jsx("p",{className:"sys-broker-aftermath-empty",children:d?"Where this went could not be looked up, so there is nothing to link to yet.":"No session, work item, or recipient could be resolved from this row."}),o?.completedAt&&r.jsxs("div",{className:"sys-broker-aftermath-foot",children:["Settled ",E(o.completedAt)]})]})}export{ie as DispatchAftermath};
1
+ import{r as f,j as r}from"./index-EsrkGBcv.js";import{a as y}from"./api-DSqpVKC7.js";import{i as j}from"./scoutbot-Bk3nyrkj.js";import{u as S}from"./sse-BCPRocpq.js";import{t as E}from"./time-Dhsh_2EG.js";import{o as M}from"./openContent-C6XO6kr5.js";import{e as k}from"./broker-display-BkBzyvbR.js";import{r as R}from"./follow-route-BvcGtBIL.js";import{L as C}from"./loader-circle-OvccU82H.js";import{A as L}from"./arrow-up-right-BPedAgxO.js";import"./index-BWHgHrtv.js";import"./status-tone-BM_zuRy1.js";import"./createLucideIcon-zZ8Hx7er.js";const _=3,$=80;function h(e){return Number(e.createdAt)||0}function F(e,s){if(!e.conversationId)return{status:"no-conversation"};const t=s.slice().sort((o,i)=>h(o)-h(i)),n=e.messageId?t.find(o=>o.id===e.messageId)??null:null;let l;if(n){const o=h(n);l=t.filter(i=>i.id!==n.id&&h(i)>=o)}else{const o=t[0];if(o&&h(o)>e.ts)return{status:"beyond-page"};l=t.filter(i=>h(i)>e.ts)}if(l.length===0)return{status:"no-reply"};const u=n?h(n):e.ts,d=l.slice(0,_).map(o=>({id:o.id,actorName:o.actorName||"Unknown",body:o.body??"",createdAt:h(o),afterMs:Math.max(0,h(o)-u),answersDispatch:!!(e.messageId&&o.replyToMessageId===e.messageId)}));return{status:"replies",replies:d,more:Math.max(0,l.length-d.length)}}function b(e,...s){const t=e.metadata??{},n=t.raw&&typeof t.raw=="object"&&!Array.isArray(t.raw)?t.raw:null;for(const l of s)for(const u of[t,n]){const d=u?.[l];if(typeof d=="string"&&d.trim())return d.trim()}return null}function D(e,s){const t=new URLSearchParams,n=e.invocationId??b(e,"invocationId"),l=b(e,"flightId"),u=b(e,"collaborationRecordId","workId","recordId");return l&&t.set("flightId",l),n&&t.set("invocationId",n),e.conversationId&&t.set("conversationId",e.conversationId),u&&t.set("workId",u),s&&t.set("targetAgentId",s),[...t.keys()].length>0?t:null}function H(e,s={}){const t=[];return e.conversationId&&t.push({key:"conversation",label:"Conversation",hint:"The thread this dispatch landed in",route:{view:"conversation",conversationId:e.conversationId}}),(e.flightId||e.sessionId)&&t.push({key:"trace",label:"Live trace",hint:"The session that ran the work",route:{view:"sessions",...e.flightId?{flightId:e.flightId}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.targetAgentId?{agentId:e.targetAgentId}:{}}}),e.workId&&!s.nativeHost&&t.push({key:"work",label:"Work item",hint:"The collaboration record it belongs to",route:{view:"work",workId:e.workId}}),e.targetAgentId&&t.push({key:"agent",label:"Recipient",hint:"The agent that received it",route:{view:"agents-v2",agentId:e.targetAgentId,tab:"observe"}}),t.length>0&&t.push({key:"tail",label:"Tail",hint:"Raw events for these ids",route:R(e,"tail")}),t}const P={queued:"Queued",dispatched:"Dispatched",running:"Running",succeeded:"Completed",completed:"Completed",failed:"Failed",errored:"Failed",cancelled:"Cancelled",canceled:"Cancelled",timed_out:"Timed out",expired:"Expired"},U=new Set(["failed","errored","timed_out","expired"]),v=new Set(["queued","dispatched","running"]),G=new Set(["succeeded","completed"]);function q(e){if(!e)return null;const s=e.state?.trim().toLowerCase()||"unknown",t=U.has(s)?"danger":v.has(s)?"working":G.has(s)?"success":"neutral",n=e.startedAt&&e.completedAt?Math.max(0,e.completedAt-e.startedAt):null;return{state:s,label:P[s]??s.replace(/_/g," "),tone:t,summary:e.summary?.trim()||null,durationMs:n,settled:!v.has(s)}}function O(e){if(e<1e3)return"instant";const s=Math.round(e/1e3);if(s<60)return`${s}s later`;const t=Math.round(s/60);if(t<60)return`${t}m later`;const n=Math.round(t/60);return n<48?`${n}h later`:`${Math.round(n/24)}d later`}function B(e){if(e<1e3)return`${e}ms`;const s=e/1e3;if(s<60)return`${s.toFixed(s<10?1:0)}s`;const t=Math.floor(s/60),n=Math.round(s%60);return t<60?n>0?`${t}m ${n}s`:`${t}m`:`${Math.floor(t/60)}h ${t%60}m`}const w=180,Q=250,W={loading:!0,target:null,targetUnknown:!1,flight:null,aftermath:{status:"no-conversation"}};function z(e,s){const[t,n]=f.useState(W),[l,u]=f.useState(0),d=f.useRef(0),o=e.conversationId,i=f.useMemo(()=>D(e,s)?.toString()??null,[e,s]);f.useEffect(()=>{const a=++d.current;n(p=>({...p,loading:!0}));const x=i?y(`/api/follow?${i}`).catch(()=>null):Promise.resolve(null),A=o?y(`/api/messages?conversationId=${encodeURIComponent(o)}&limit=${$}`).catch(()=>null):Promise.resolve(null);return(async()=>{const[p,g]=await Promise.all([x,A]);if(a!==d.current)return;const T=p?.flightId?await y(`/api/flights?active=false&flightId=${encodeURIComponent(p.flightId)}`).then(N=>N[0]??null).catch(()=>null):null;a===d.current&&n({loading:!1,target:p,targetUnknown:!!i&&!p,flight:T,aftermath:o?g?F(e,g):{status:"unavailable"}:{status:"no-conversation"}})})(),()=>{d.current+=1}},[e,o,i,l]);const c=f.useRef(null),m=f.useCallback(()=>{c.current||(c.current=setTimeout(()=>{c.current=null,u(a=>a+1)},Q))},[]);f.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const I=t.flight?.id??t.target?.flightId??null;return S(a=>{switch(a.kind){case"message.posted":o&&a.payload.message.conversationId===o&&m();return;case"delivery.state.changed":e.messageId&&a.payload.delivery.messageId===e.messageId&&m();return;case"flight.updated":I&&a.payload.flight.id===I&&m();return}}),{...t,reload:m}}function ie({attempt:e,targetAgentId:s,navigate:t,returnTo:n}){const{loading:l,target:u,targetUnknown:d,flight:o,aftermath:i}=z(e,s),c=q(o),m=u?H(u,{nativeHost:j()}):[],I=f.useCallback(a=>M(t,a,{returnTo:n}),[t,n]);return r.jsxs("section",{className:"sys-broker-aftermath","aria-labelledby":"dispatch-aftermath-title",children:[r.jsxs("div",{className:"sys-broker-aftermath-head",children:[r.jsx("span",{id:"dispatch-aftermath-title",className:"sys-detail-label",children:"What happened next"}),l&&r.jsx(C,{className:"sys-broker-action-spinner",size:12,"aria-hidden":"true"})]}),c&&r.jsxs("div",{className:`sys-broker-aftermath-outcome sys-broker-aftermath-outcome--${c.tone}`,children:[r.jsx("span",{className:`sys-broker-dot sys-broker-dot--${c.tone}`,"aria-hidden":"true"}),r.jsx("strong",{children:c.label}),c.durationMs!==null&&r.jsxs("span",{className:"sys-broker-aftermath-duration",children:["ran ",B(c.durationMs)]}),c.summary&&r.jsx("p",{children:k(c.summary,w)})]}),i.status==="replies"?r.jsxs("ol",{className:"sys-broker-aftermath-replies",children:[i.replies.map(a=>r.jsx("li",{children:r.jsxs("button",{type:"button",className:"sys-broker-aftermath-reply",disabled:!e.conversationId,onClick:()=>e.conversationId&&I({view:"conversation",conversationId:e.conversationId}),children:[r.jsxs("span",{className:"sys-broker-aftermath-reply-head",children:[r.jsx("strong",{children:a.actorName}),a.answersDispatch&&r.jsx("span",{className:"sys-broker-aftermath-answer",children:"reply"}),r.jsx("span",{className:"sys-broker-aftermath-gap",children:O(a.afterMs)})]}),r.jsx("span",{className:"sys-broker-aftermath-reply-body",children:k(a.body,w)})]})},a.id)),i.more>0&&r.jsxs("li",{className:"sys-broker-aftermath-more",children:["+",i.more," more in the thread"]})]}):!l&&r.jsx("p",{className:"sys-broker-aftermath-empty",children:i.status==="no-conversation"?"No conversation followed this dispatch, so there is nothing to open.":i.status==="unavailable"?"The conversation could not be read, so what followed is unknown.":i.status==="beyond-page"?"This dispatch is older than the loaded transcript. Open the conversation to read it in place.":c&&!c.settled?"Still running. Nothing has come back yet.":"Nothing followed this dispatch in its conversation."}),m.length>0?r.jsx("div",{className:"sys-broker-aftermath-links",children:m.map(a=>r.jsxs("button",{type:"button",className:"sys-broker-aftermath-link",title:a.hint,onClick:()=>I(a.route),children:[a.label,r.jsx(L,{size:11,"aria-hidden":"true"})]},a.key))}):!l&&i.status!=="no-conversation"&&r.jsx("p",{className:"sys-broker-aftermath-empty",children:d?"Where this went could not be looked up, so there is nothing to link to yet.":"No session, work item, or recipient could be resolved from this row."}),o?.completedAt&&r.jsxs("div",{className:"sys-broker-aftermath-foot",children:["Settled ",E(o.completedAt)]})]})}export{ie as DispatchAftermath};
@@ -1 +1 @@
1
- import{c as h}from"./createLucideIcon-ChvMq-zl.js";import{r,j as e}from"./index-DReVb7jZ.js";import{T as _}from"./TextDocumentSurface-BK6Qy41F.js";import{F as R}from"./file-text-DP6txVW-.js";import{X as S}from"./x-rlMdRqJF.js";const W=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],X=h("folder-open",W);const A=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],B=h("maximize-2",A);const T=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],C=h("minimize-2",T);function G({open:i=!0,focusable:M=!0,kind:z,document:c,title:F,eyebrow:v,subtitle:w,meta:x=[],mode:$,actions:L=[],state:j,error:t,notice:p,body:l,onClose:o}){const[a,u]=r.useState(!1),[g,y]=r.useState({}),b=r.useRef(null);if(r.useEffect(()=>{i||u(!1)},[i]),r.useEffect(()=>{if(!i)return;let s=null;const d=b.current?.closest(".frame-scrollbar, .s-content")??null,N=()=>{if(!d){y({});return}const n=d.getBoundingClientRect();y({"--doc-focus-layer-top":`${Math.max(0,n.top)}px`,"--doc-focus-layer-right":`${Math.max(0,window.innerWidth-n.right)}px`,"--doc-focus-layer-bottom":`${Math.max(0,window.innerHeight-n.bottom)}px`,"--doc-focus-layer-left":`${Math.max(0,n.left)}px`})},f=()=>{s!==null&&cancelAnimationFrame(s),s=requestAnimationFrame(N)};N();const E=d?new ResizeObserver(f):null;return d&&E?.observe(d),window.addEventListener("resize",f),()=>{s!==null&&cancelAnimationFrame(s),E?.disconnect(),window.removeEventListener("resize",f)}},[i]),r.useEffect(()=>{if(!i)return;const s=m=>{m.key==="Escape"&&(m.preventDefault(),a?u(!1):o?.())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[a,o,i]),!i)return null;const k=F??c?.title??"Document",D=$??(c?.kind==="markdown"?"preview":"read"),H=M&&!!(c||l);return e.jsxs("div",{ref:b,className:`s-doc-focus-layer${a?" s-doc-focus-layer-focused":""}`,style:g,children:[o&&e.jsx("button",{type:"button",className:"s-doc-focus-scrim","aria-label":"Dismiss document viewer",tabIndex:-1,onClick:o}),e.jsxs("section",{className:`s-doc-focus-viewer s-doc-focus-viewer-${z}${a?" s-doc-focus-viewer-focused":""}`,"aria-label":k,role:"dialog","aria-modal":"true",children:[e.jsxs("div",{className:"s-doc-focus-viewer-head",children:[e.jsxs("div",{className:"s-doc-focus-viewer-title-wrap",children:[e.jsx("div",{className:"s-doc-focus-viewer-icon","aria-hidden":"true",children:e.jsx(R,{size:15,strokeWidth:1.8})}),e.jsxs("div",{className:"s-doc-focus-viewer-title-main",children:[v&&e.jsx("div",{className:"s-doc-focus-viewer-eyebrow",children:v}),e.jsx("h3",{className:"s-doc-focus-viewer-title",children:k}),w&&e.jsx("div",{className:"s-doc-focus-viewer-subtitle",children:w})]})]}),e.jsxs("div",{className:"s-doc-focus-viewer-actions",children:[x.length>0&&e.jsx("div",{className:"s-doc-focus-viewer-meta","aria-label":"Document metadata",children:x.map(s=>e.jsx("span",{children:s},s))}),L.map(s=>e.jsxs("button",{type:"button",className:`s-doc-focus-viewer-action${s.hideLabel?" s-doc-focus-viewer-action-icon":""}`,onClick:s.onClick,title:s.title??s.label,disabled:s.disabled,"aria-label":s.hideLabel?s.label:void 0,children:[s.icon,!s.hideLabel&&e.jsx("span",{children:s.label})]},s.label)),H&&e.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:()=>u(s=>!s),"aria-label":a?"Exit focus mode":"Enter focus mode",title:a?"Exit focus mode":"Focus",children:a?e.jsx(C,{"aria-hidden":"true",size:14,strokeWidth:1.8}):e.jsx(B,{"aria-hidden":"true",size:14,strokeWidth:1.8})}),o&&e.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:o,"aria-label":"Close document viewer",title:"Close",children:e.jsx(S,{"aria-hidden":"true",size:14,strokeWidth:1.8})})]})]}),j&&!t&&!c&&!l&&e.jsx("div",{className:"s-doc-focus-viewer-state",children:j}),t&&e.jsx("div",{className:"s-doc-focus-viewer-state s-doc-focus-viewer-error",children:t}),!t&&l&&e.jsx("div",{className:"s-doc-focus-viewer-body",children:l}),!t&&!l&&c&&e.jsx(_,{document:c,mode:D,showHeader:!1,className:"s-doc-focus-document"}),!t&&p&&e.jsx("div",{className:"s-doc-focus-viewer-notice",children:p})]})]})}export{G as D,X as F,B as M,C as a};
1
+ import{c as h}from"./createLucideIcon-zZ8Hx7er.js";import{r,j as e}from"./index-EsrkGBcv.js";import{T as _}from"./TextDocumentSurface-D52m7Vd8.js";import{F as R}from"./file-text-CnISiiw6.js";import{X as S}from"./x-DAehov0E.js";const W=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],X=h("folder-open",W);const A=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],B=h("maximize-2",A);const T=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],C=h("minimize-2",T);function G({open:i=!0,focusable:M=!0,kind:z,document:c,title:F,eyebrow:v,subtitle:w,meta:x=[],mode:$,actions:L=[],state:j,error:t,notice:p,body:l,onClose:o}){const[a,u]=r.useState(!1),[g,y]=r.useState({}),b=r.useRef(null);if(r.useEffect(()=>{i||u(!1)},[i]),r.useEffect(()=>{if(!i)return;let s=null;const d=b.current?.closest(".frame-scrollbar, .s-content")??null,N=()=>{if(!d){y({});return}const n=d.getBoundingClientRect();y({"--doc-focus-layer-top":`${Math.max(0,n.top)}px`,"--doc-focus-layer-right":`${Math.max(0,window.innerWidth-n.right)}px`,"--doc-focus-layer-bottom":`${Math.max(0,window.innerHeight-n.bottom)}px`,"--doc-focus-layer-left":`${Math.max(0,n.left)}px`})},f=()=>{s!==null&&cancelAnimationFrame(s),s=requestAnimationFrame(N)};N();const E=d?new ResizeObserver(f):null;return d&&E?.observe(d),window.addEventListener("resize",f),()=>{s!==null&&cancelAnimationFrame(s),E?.disconnect(),window.removeEventListener("resize",f)}},[i]),r.useEffect(()=>{if(!i)return;const s=m=>{m.key==="Escape"&&(m.preventDefault(),a?u(!1):o?.())};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[a,o,i]),!i)return null;const k=F??c?.title??"Document",D=$??(c?.kind==="markdown"?"preview":"read"),H=M&&!!(c||l);return e.jsxs("div",{ref:b,className:`s-doc-focus-layer${a?" s-doc-focus-layer-focused":""}`,style:g,children:[o&&e.jsx("button",{type:"button",className:"s-doc-focus-scrim","aria-label":"Dismiss document viewer",tabIndex:-1,onClick:o}),e.jsxs("section",{className:`s-doc-focus-viewer s-doc-focus-viewer-${z}${a?" s-doc-focus-viewer-focused":""}`,"aria-label":k,role:"dialog","aria-modal":"true",children:[e.jsxs("div",{className:"s-doc-focus-viewer-head",children:[e.jsxs("div",{className:"s-doc-focus-viewer-title-wrap",children:[e.jsx("div",{className:"s-doc-focus-viewer-icon","aria-hidden":"true",children:e.jsx(R,{size:15,strokeWidth:1.8})}),e.jsxs("div",{className:"s-doc-focus-viewer-title-main",children:[v&&e.jsx("div",{className:"s-doc-focus-viewer-eyebrow",children:v}),e.jsx("h3",{className:"s-doc-focus-viewer-title",children:k}),w&&e.jsx("div",{className:"s-doc-focus-viewer-subtitle",children:w})]})]}),e.jsxs("div",{className:"s-doc-focus-viewer-actions",children:[x.length>0&&e.jsx("div",{className:"s-doc-focus-viewer-meta","aria-label":"Document metadata",children:x.map(s=>e.jsx("span",{children:s},s))}),L.map(s=>e.jsxs("button",{type:"button",className:`s-doc-focus-viewer-action${s.hideLabel?" s-doc-focus-viewer-action-icon":""}`,onClick:s.onClick,title:s.title??s.label,disabled:s.disabled,"aria-label":s.hideLabel?s.label:void 0,children:[s.icon,!s.hideLabel&&e.jsx("span",{children:s.label})]},s.label)),H&&e.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:()=>u(s=>!s),"aria-label":a?"Exit focus mode":"Enter focus mode",title:a?"Exit focus mode":"Focus",children:a?e.jsx(C,{"aria-hidden":"true",size:14,strokeWidth:1.8}):e.jsx(B,{"aria-hidden":"true",size:14,strokeWidth:1.8})}),o&&e.jsx("button",{type:"button",className:"s-doc-focus-viewer-close",onClick:o,"aria-label":"Close document viewer",title:"Close",children:e.jsx(S,{"aria-hidden":"true",size:14,strokeWidth:1.8})})]})]}),j&&!t&&!c&&!l&&e.jsx("div",{className:"s-doc-focus-viewer-state",children:j}),t&&e.jsx("div",{className:"s-doc-focus-viewer-state s-doc-focus-viewer-error",children:t}),!t&&l&&e.jsx("div",{className:"s-doc-focus-viewer-body",children:l}),!t&&!l&&c&&e.jsx(_,{document:c,mode:D,showHeader:!1,className:"s-doc-focus-document"}),!t&&p&&e.jsx("div",{className:"s-doc-focus-viewer-notice",children:p})]})]})}export{G as D,X as F,B as M,C as a};
@@ -1 +1 @@
1
- import{r as l,j as e}from"./index-DReVb7jZ.js";import{l as c}from"./discover-DlwbftpC.js";import"./types-B0PlfpKc.js";function n(){const[r,a]=l.useState([]);return l.useEffect(()=>{let s=!1;return c().then(d=>{s||a(d)}),()=>{s=!0}},[]),e.jsxs("div",{className:"s-embeddable-surfaces-lab","data-scout-theme":!0,children:[e.jsxs("header",{className:"s-embeddable-surfaces-lab__header",children:[e.jsx("h1",{children:"Embeddable surfaces"}),e.jsxs("p",{children:["Screens that exported ",e.jsx("code",{children:"scoutSurface.embed"})," and were discovered from"," ",e.jsx("code",{children:"client/screens/**"}),". No separate embed registry file — parity comes from the screen declaration."]})]}),e.jsxs("table",{className:"s-embeddable-surfaces-lab__table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"ID"}),e.jsx("th",{children:"Label"}),e.jsx("th",{children:"Web"}),e.jsx("th",{children:"Embed"}),e.jsx("th",{children:"Profile"}),e.jsx("th",{children:"Module"})]})}),e.jsx("tbody",{children:r.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("code",{children:s.id})}),e.jsx("td",{children:s.label}),e.jsx("td",{children:e.jsx("a",{href:s.webPath,children:s.webPath})}),e.jsxs("td",{children:[e.jsx("div",{children:e.jsx("a",{href:s.embedPath,children:s.embedPath})}),s.embedAliases.length>0&&e.jsx("div",{className:"s-embeddable-surfaces-lab__aliases",children:s.embedAliases.map(d=>e.jsx("a",{href:d,children:d},d))})]}),e.jsx("td",{children:e.jsx("code",{children:s.profile})}),e.jsx("td",{children:e.jsx("code",{children:s.modulePath.replace("../","")})})]},s.id))})]}),r.length===0&&e.jsx("p",{className:"s-embeddable-surfaces-lab__empty",children:"No embeddable screens discovered yet."})]})}export{n as EmbeddableSurfacesLab};
1
+ import{r as l,j as e}from"./index-EsrkGBcv.js";import{l as c}from"./discover-DJFxyV1k.js";import"./types-B0PlfpKc.js";function n(){const[r,a]=l.useState([]);return l.useEffect(()=>{let s=!1;return c().then(d=>{s||a(d)}),()=>{s=!0}},[]),e.jsxs("div",{className:"s-embeddable-surfaces-lab","data-scout-theme":!0,children:[e.jsxs("header",{className:"s-embeddable-surfaces-lab__header",children:[e.jsx("h1",{children:"Embeddable surfaces"}),e.jsxs("p",{children:["Screens that exported ",e.jsx("code",{children:"scoutSurface.embed"})," and were discovered from"," ",e.jsx("code",{children:"client/screens/**"}),". No separate embed registry file — parity comes from the screen declaration."]})]}),e.jsxs("table",{className:"s-embeddable-surfaces-lab__table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"ID"}),e.jsx("th",{children:"Label"}),e.jsx("th",{children:"Web"}),e.jsx("th",{children:"Embed"}),e.jsx("th",{children:"Profile"}),e.jsx("th",{children:"Module"})]})}),e.jsx("tbody",{children:r.map(s=>e.jsxs("tr",{children:[e.jsx("td",{children:e.jsx("code",{children:s.id})}),e.jsx("td",{children:s.label}),e.jsx("td",{children:e.jsx("a",{href:s.webPath,children:s.webPath})}),e.jsxs("td",{children:[e.jsx("div",{children:e.jsx("a",{href:s.embedPath,children:s.embedPath})}),s.embedAliases.length>0&&e.jsx("div",{className:"s-embeddable-surfaces-lab__aliases",children:s.embedAliases.map(d=>e.jsx("a",{href:d,children:d},d))})]}),e.jsx("td",{children:e.jsx("code",{children:s.profile})}),e.jsx("td",{children:e.jsx("code",{children:s.modulePath.replace("../","")})})]},s.id))})]}),r.length===0&&e.jsx("p",{className:"s-embeddable-surfaces-lab__empty",children:"No embeddable screens discovered yet."})]})}export{n as EmbeddableSurfacesLab};
@@ -1 +1 @@
1
- import{j as e}from"./index-DReVb7jZ.js";function c({title:n,body:s,icon:i,action:t,className:a}){const l=a?`sys-panel sys-state-card ${a}`:"sys-panel sys-state-card";return e.jsxs("div",{className:l,children:[i,e.jsx("h3",{className:"sys-state-title",children:n}),s!=null&&(typeof s=="string"?e.jsx("p",{className:"sys-state-body",children:s}):s),t&&e.jsx("div",{className:"sys-inline-actions",children:t})]})}export{c as E};
1
+ import{j as e}from"./index-EsrkGBcv.js";function c({title:n,body:s,icon:i,action:t,className:a}){const l=a?`sys-panel sys-state-card ${a}`:"sys-panel sys-state-card";return e.jsxs("div",{className:l,children:[i,e.jsx("h3",{className:"sys-state-title",children:n}),s!=null&&(typeof s=="string"?e.jsx("p",{className:"sys-state-body",children:s}):s),t&&e.jsx("div",{className:"sys-inline-actions",children:t})]})}export{c as E};
@@ -1,3 +1,3 @@
1
- import{r as n,j as t}from"./index-DReVb7jZ.js";import{T as b,c as j}from"./TextDocumentSurface-BK6Qy41F.js";import{a as N}from"./api-DSqpVKC7.js";function V(e,a,u){const o=e.relativePath.endsWith(".md")||e.relativePath.endsWith(".mdx"),s=e.relativePath.endsWith(".json");return j({id:e.absolutePath,title:e.relativePath,uri:e.absolutePath,filename:e.relativePath.split("/").pop(),kind:o?"markdown":"code",language:s?"json":o?"markdown":"plain",value:u?`${a}
1
+ import{r as n,j as t}from"./index-EsrkGBcv.js";import{T as b,c as j}from"./TextDocumentSurface-D52m7Vd8.js";import{a as N}from"./api-DSqpVKC7.js";function V(e,a,u){const o=e.relativePath.endsWith(".md")||e.relativePath.endsWith(".mdx"),s=e.relativePath.endsWith(".json");return j({id:e.absolutePath,title:e.relativePath,uri:e.absolutePath,filename:e.relativePath.split("/").pop(),kind:o?"markdown":"code",language:s?"json":o?"markdown":"plain",value:u?`${a}
2
2
 
3
3
  — excerpt —`:a,readOnly:!0})}function y({artifact:e,onOpen:a,onReveal:u,onBrowse:o}){const[s,l]=n.useState(e.excerpt),[c,i]=n.useState(!0),[w,h]=n.useState(!1),[m,p]=n.useState(null);n.useEffect(()=>{l(e.excerpt),i(!0),p(null);let d=!1;return h(!0),N(`/api/file/preview?path=${encodeURIComponent(e.absolutePath)}`).then(r=>{if(!d)if(r.kind==="file"&&r.previewable){const x=r;l(x.content),i(x.truncated)}else e.excerpt?(l(e.excerpt),i(!0)):(l(null),p("Preview not available for this file type."))}).catch(r=>{d||(e.excerpt?(l(e.excerpt),i(!0)):p(r instanceof Error?r.message:"Could not load file."))}).finally(()=>{d||h(!1)}),()=>{d=!0}},[e.absolutePath,e.excerpt]);const v=n.useMemo(()=>s?V(e,s,c):null,[e,s,c]),P=e.relativePath.endsWith(".md")||e.relativePath.endsWith(".mdx");return t.jsxs(t.Fragment,{children:[t.jsxs("header",{className:"av2-repoViewerHead",children:[t.jsxs("div",{className:"av2-repoViewerPath",children:[t.jsx("span",{className:"av2-repoViewerPathFile",children:e.relativePath}),t.jsx("span",{className:"av2-repoViewerPathAbs",title:e.absolutePath,children:e.absolutePath})]}),t.jsxs("div",{className:"av2-repoViewerActs",children:[t.jsx("button",{type:"button",className:"av2-repoViewerAct","data-primary":!0,onClick:()=>a(e.absolutePath),children:"open"}),o?t.jsx("button",{type:"button",className:"av2-repoViewerAct",onClick:()=>o(e.absolutePath),children:"browse"}):null,t.jsx("button",{type:"button",className:"av2-repoViewerAct",onClick:()=>{u(e.absolutePath)},children:"reveal"})]})]}),t.jsxs("div",{className:"av2-repoViewerBody",children:[w&&!s?t.jsx("div",{className:"av2-repoViewerState",children:"Loading file…"}):m&&!s?t.jsx("div",{className:"av2-repoViewerState av2-repoViewerState--error",children:m}):v?t.jsx(b,{document:v,mode:P?"preview":"read",className:"av2-repoViewerDoc"}):t.jsx("div",{className:"av2-repoViewerState",children:"No content."}),c?t.jsx("div",{className:"av2-repoViewerNotice",children:"Showing excerpt — use open for the full file."}):null]})]})}export{y as FileViewerPane};
@@ -0,0 +1 @@
1
+ import{r as n,j as r}from"./index-EsrkGBcv.js";import{s as l,g as s,a as o}from"./session-recap-queue-41l2XVkI.js";/* empty css */import"./api-DSqpVKC7.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./session-recap-lanes-D-eVJnpY.js";function h(){const t=n.useSyncExternalStore(l,s,s);return!t.running&&t.items.length===0&&!t.notice?null:r.jsxs("aside",{className:"fleet-roll-call",role:"status","aria-live":"polite",children:[r.jsx("h2",{children:"Fleet roll call"}),t.speaker?r.jsxs("p",{children:["Speaking ",r.jsx("strong",{children:t.speaker})]}):null,t.notice?r.jsx("p",{children:t.notice}):null,t.items.length>0?r.jsx("ol",{children:t.items.map(e=>r.jsxs("li",{children:[r.jsx("strong",{children:e.target.displayLabel})," · ",e.target.sourceExact,e.summary?` — ${e.summary}`:e.reason?` — ${e.reason}`:` — ${e.status}`,e.target.observedAt?r.jsx("time",{dateTime:new Date(e.target.observedAt).toISOString(),children:new Date(e.target.observedAt).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}):null]},e.target.voiceKey))}):null,t.running?r.jsx("button",{type:"button",onClick:()=>o(),children:"Stop spoken summaries"}):null]})}export{h as FleetRollCallHud};
@@ -0,0 +1 @@
1
+ import{r as m,j as s}from"./index-EsrkGBcv.js";import{a as k}from"./api-DSqpVKC7.js";import{u as R}from"./sse-BCPRocpq.js";import{d as $,t as F}from"./time-Dhsh_2EG.js";import{SessionRefScreen as I}from"./SessionRefScreen-DqLSUlCE.js";/* empty css */import{c as E}from"./createLucideIcon-zZ8Hx7er.js";import{X as A}from"./x-DAehov0E.js";import"./index-BWHgHrtv.js";import"./tail-events-d0yAYxR0.js";import"./BackToPicker-CUkjnoVk.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./ConversationScreen-CUfsQ4MR.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./agent-state-DDhnFEEP.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./ComposerAttachments-DW0AIb8k.js";import"./machine-scope-DJt9RZ2w.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./mentions-ByUvhS-v.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./MessageEmbeds-ksPazAKH.js";import"./AgentAvatar-CrP1eXxk.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-C-ZWscKj.js";import"./AstronautSuit-Cchnc4Ug.js";import"./panel-right-Bv7sP_fc.js";import"./CommsFlowGraph-DxoOaLF_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-THp0r_U8.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Vi8ziCPg.js";import"./CommsSelection-BUoRbu9o.js";/* empty css */import"./use-conversation-list-CY4JciOV.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DoRC1nt0.js";import"./ConversationComposer-CUQyArlk.js";import"./zap-CEjZNZbI.js";import"./ConversationFeedRows-DWiOfT-y.js";import"./ConversationPanels-D9oC0xG5.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./activity-CIlFrfPJ.js";import"./message-circle-CxRVKNE-.js";import"./ConversationStatus--IPm2nGh.js";import"./check-lrJ3a73a.js";import"./sparkles-BjHq_DNK.js";import"./triangle-alert-CHoRGdVO.js";import"./SessionContextStrip-CXfs9hUD.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./SessionHopMenu-E6VJZrE0.js";import"./external-link-CUObqmgX.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./wrench-DR0i5BU7.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */const T=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],L=E("columns-2",T);function S(i){const o=new Map;for(const r of i)o.delete(r.sessionId),o.set(r.sessionId,r);return[...o.values()]}function M(i,o){const r=S(i),d=o?.trim()||null;return r.find(n=>n.sessionId===d)?.sessionId??r.at(-1)?.sessionId??d}function O(i){return i.length<=34?i:`${i.slice(0,15)}…${i.slice(-14)}`}function q(i,o){return o===0?i.strategy||"dispatch":i.strategy?`switched via ${i.strategy}`:"session changed"}function y({label:i,sessions:o,value:r,onChange:d}){return s.jsxs("label",{className:"s-flight-observe-select-wrap",children:[s.jsx("span",{children:i}),s.jsx("select",{className:"s-flight-observe-select",value:r,onChange:n=>d(n.currentTarget.value),children:o.map(n=>s.jsxs("option",{value:n.sessionId,children:[n.harness?`${n.harness} · `:"",n.sessionId]},n.sessionId))})]})}function Ue({route:i,navigate:o}){const[r,d]=m.useState(null),[n,j]=m.useState(!0),[h,N]=m.useState(null),u=m.useCallback(async()=>{try{const e=await k(`/api/flights?active=false&flightId=${encodeURIComponent(i.flightId)}`);d(e[0]??null),N(e.length===0?"This flight is not available on the connected broker.":null)}catch(e){N(e instanceof Error?e.message:String(e))}finally{j(!1)}},[i.flightId]);m.useEffect(()=>{j(!0),u()},[u]),R(()=>{u()});const v=r?.sessions??[],a=m.useMemo(()=>S(v),[v]),g=M(v,i.sessionId),t=a.find(e=>e.sessionId===g)??null,l=a.find(e=>e.sessionId===i.compareSessionId)??null,f=!!(t&&l&&t.sessionId!==l.sessionId),c=m.useCallback((e,p)=>{o({...i,sessionId:e,...p?{compareSessionId:p}:{compareSessionId:void 0}})},[o,i]),w=m.useCallback(()=>{if(!t||a.length<2)return;const e=[...a].reverse().find(p=>p.sessionId!==t.sessionId);e&&c(t.sessionId,e.sessionId)},[t,a,c]),C=m.useCallback(e=>{if(!f||!t||!l){c(e);return}c(e,e===l.sessionId?t.sessionId:l.sessionId)},[l,t,f,c]);return s.jsxs("div",{className:"s-flight-observe",children:[s.jsxs("header",{className:"s-flight-observe-header",children:[s.jsxs("div",{className:"s-flight-observe-heading",children:[s.jsx("div",{className:"s-flight-observe-eyebrow",children:"Flight observe"}),s.jsxs("div",{className:"s-flight-observe-title-row",children:[s.jsx("h2",{children:r?.agentName||r?.agentId||"Flight"}),s.jsx("span",{className:`s-flight-observe-state s-flight-observe-state--${r?.state??"loading"}`,children:r?.state??(n?"loading":"unknown")})]}),s.jsx("div",{className:"s-flight-observe-id",title:i.flightId,children:i.flightId}),r?.summary&&s.jsx("p",{children:r.summary})]}),s.jsxs("div",{className:"s-flight-observe-actions",children:[a.length>1&&!f&&s.jsxs("button",{type:"button",onClick:w,children:[s.jsx(L,{size:13})," Split view"]}),f&&t&&s.jsxs("button",{type:"button",onClick:()=>c(t.sessionId),children:[s.jsx(A,{size:13})," Close split"]})]})]}),v.length>0&&s.jsx("nav",{className:"s-flight-observe-trace","aria-label":"Flight session history",children:v.map((e,p)=>{const b=t?.sessionId===e.sessionId,x=l?.sessionId===e.sessionId;return s.jsxs("div",{className:"s-flight-observe-trace-step",children:[p>0&&s.jsx("span",{className:"s-flight-observe-trace-arrow","aria-hidden":"true",children:"→"}),s.jsxs("button",{type:"button",className:"s-flight-observe-session-chip","data-selected":b||x,"data-observe-role":b?"primary":x?"compare":"idle","aria-pressed":b||x,title:e.sessionId,onClick:()=>C(e.sessionId),children:[s.jsxs("span",{className:"s-flight-observe-session-chip-top",children:[s.jsx("span",{children:e.harness||e.transport||"session"}),s.jsx("time",{title:new Date(e.startedAt).toLocaleString(),children:$(e.startedAt)||F(e.startedAt)})]}),s.jsx("strong",{children:O(e.sessionId)}),s.jsx("small",{children:q(e,p)})]})]},`${e.sessionId}:${e.startedAt}:${p}`)})}),h&&!g&&s.jsx("div",{className:"s-flight-observe-message s-flight-observe-message--error",children:h}),h&&g&&s.jsxs("div",{className:"s-flight-observe-message",children:[s.jsx("strong",{children:"Flight record unavailable"}),s.jsx("span",{children:"Showing the concrete session captured by this link."})]}),!h&&n&&s.jsx("div",{className:"s-flight-observe-message",children:"Resolving the flight’s session trace…"}),!h&&!n&&a.length===0&&!g&&s.jsxs("div",{className:"s-flight-observe-message",children:[s.jsx("strong",{children:"Waiting for a session"}),s.jsx("span",{children:"The flight is stable here; its trace will appear as soon as a harness acknowledges dispatch."})]}),g&&!f&&s.jsx("main",{className:"s-flight-observe-single",children:s.jsx(I,{sessionRef:g,navigate:o,machineId:i.machineId})}),!h&&t&&l&&f&&s.jsxs("main",{className:"s-flight-observe-split",children:[s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(y,{label:"Primary session",sessions:a,value:t.sessionId,onChange:e=>c(e,e===l.sessionId?t.sessionId:l.sessionId)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(I,{sessionRef:t.sessionId,navigate:o,machineId:i.machineId,showObserveRail:!1})})]}),s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(y,{label:"Compare session",sessions:a.filter(e=>e.sessionId!==t.sessionId),value:l.sessionId,onChange:e=>c(t.sessionId,e)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(I,{sessionRef:l.sessionId,navigate:o,machineId:i.machineId,showObserveRail:!1})})]})]})]})}export{Ue as FlightObserveScreen};
@@ -1 +1 @@
1
- import{j as s}from"./index-DReVb7jZ.js";import{f as u}from"./floor-preview-text-HrORUJ7D.js";import{f as F}from"./floor-memory-YMM8AlLY.js";import{a as O,S as P}from"./SpriteAvatar-aHeF4ZQZ.js";import{f as q}from"./floor-context-model-rWKqaKmV.js";import{t as E}from"./time-Dhsh_2EG.js";import{f as b}from"./agent-floor-actor-DW8zLht0.js";import{l as d}from"./agent-lanes-model-DMAdqCmK.js";import{b as M,a as I,l as B}from"./agent-lane-detail-Ti3trpfH.js";/* empty css */import{R as U}from"./radio-Cas2qg1D.js";import{F as g}from"./file-code-corner-Be6da5l3.js";import{T as y}from"./terminal-DMZjX1es.js";import{C as W}from"./coffee-ljG1_krY.js";import{X}from"./x-rlMdRqJF.js";import{A as _}from"./arrow-up-right-B0aLKiyF.js";import"./agent-state-DDhnFEEP.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";import"./createLucideIcon-ChvMq-zl.js";const w={home:{title:"Crew quarters",subtitle:"Readiness & attention",icon:W},tools:{title:"Execution lab",subtitle:"Recent commands & tool activity",icon:y},edit:{title:"Build workshop",subtitle:"Observed files & changes",icon:g},message:{title:"Communications",subtitle:"Observed messages & requests",icon:U}};function C({lane:t,now:o,onSelect:c}){const h=O(t.agent),r=b(t,o);return s.jsxs("button",{className:"floor-context__actor-row",type:"button",onClick:()=>c(t),children:[s.jsx(P,{name:t.agent.name,size:28,hue:h.hue,tone:h.tone}),s.jsxs("span",{children:[s.jsx("strong",{children:d(t.agent,t.source)}),s.jsxs("small",{children:[t.agent.harness," · ",t.id.slice(-5)]})]}),s.jsx("span",{className:`floor-context__posture is-${r.posture}`,children:r.label}),s.jsx(_,{size:13})]})}function l({children:t}){return s.jsx("p",{className:"floor-context__empty",children:t})}function js({lane:t,room:o,lanes:c,allLanes:h,now:r,onClose:R,onSelectRoom:T,onSelectLane:a,onOpenTrace:S}){const $=F(h),m=t?$.filter(e=>e.parent.id===t.id||e.child.id===t.id):[],p=o?w[o]:null,z=p?.icon??y,N=t?d(t.agent,t.source):p?.title??"Floor",j=o?c.filter(e=>b(e,r).station===o):[],v=q(c,r,o==="message"?["message","ask"]:["tool"]),f=t?M(t):null,n=(t?[t]:c).flatMap(e=>I({events:e.observe?.events??[],files:e.facts?.touchedFiles??e.observe?.files??[]},50).map(i=>({lane:e,file:i}))).filter(e=>o!=="edit"||e.file.state!=="read"),k=t?B(t.observe,4):[],A=t?b(t,r):null;return s.jsxs("aside",{className:"agent-floor__trace-panel floor-context","aria-label":`${N} context sheet`,children:[s.jsxs("header",{className:"floor-context__header",children:[s.jsx(z,{size:20}),s.jsxs("div",{children:[s.jsx("h2",{children:N}),s.jsx("p",{children:t?`${t.agent.harness??"Agent"} · ${t.id.slice(-8)} · ${A?.label}`:p?.subtitle})]}),s.jsx("button",{type:"button",onClick:R,"aria-label":"Close context sheet",children:s.jsx(X,{size:17})})]}),t?null:s.jsx("nav",{className:"floor-context__tabs","aria-label":"Room sheets",children:[["home","Crew"],["tools","Execution"],["edit","Build"],["message","Comms"]].map(([e,i])=>s.jsx("button",{type:"button","aria-pressed":o===e,onClick:()=>T(e),children:i},e))}),s.jsx("div",{className:"floor-context__body",children:t?s.jsxs(s.Fragment,{children:[s.jsxs("section",{children:[s.jsx("h3",{children:"Current task"}),s.jsx("p",{className:"floor-context__task",children:u(t.facts?.currentTask)||"No task summary reported for this session."})]}),s.jsx("dl",{className:"floor-context__facts",children:[["Model",t.facts?.model||f?.model],["Branch",t.facts?.branch||f?.branch],["Workspace",t.facts?.cwd||f?.cwd],["Parent",t.facts?.parentAgentName]].filter(([,e])=>e).map(([e,i])=>s.jsxs("div",{children:[s.jsx("dt",{children:e}),s.jsx("dd",{title:i??void 0,children:i})]},e))}),s.jsxs("section",{children:[s.jsx("h3",{children:"Capabilities & tools"}),t.agent.capabilities?.length||t.agent.skills?.length?s.jsx("div",{className:"floor-context__abilities",children:[...new Set([...t.agent.capabilities??[],...t.agent.skills??[]])].map(e=>s.jsx("span",{children:e},e))}):s.jsx(l,{children:"No capabilities reported by this actor."}),s.jsx("p",{className:"floor-context__scope",children:"Tools observed in loaded session history"}),s.jsx("div",{className:"floor-context__abilities",children:[...new Set((t.observe?.events??[]).filter(e=>e.kind==="tool"&&e.tool).map(e=>e.tool))].slice(0,20).map(e=>s.jsx("span",{children:e},e))})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["Session relationships ",s.jsx("span",{children:m.length})]}),m.length?m.map(e=>{const i=e.child.id===t.id,x=i?e.parent:e.child;return s.jsxs("div",{children:[s.jsx("p",{className:"floor-context__scope",children:i?"Parent session":"Child session"}),s.jsx(C,{lane:x,now:r,onSelect:a})]},x.id)}):s.jsx(l,{children:t.facts?.parentSessionId?"Parent session is outside the loaded fleet.":"No parent or child sessions reported in the loaded fleet."})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["Touched files ",s.jsx("span",{children:n.length})]}),n.length?n.slice(0,10).map(({file:e})=>s.jsxs("div",{className:"floor-context__file",children:[s.jsx(g,{size:14}),s.jsx("code",{title:e.path,children:e.path}),s.jsx("small",{children:e.state})]},e.path)):s.jsx(l,{children:"No files observed yet."})]}),s.jsxs("section",{children:[s.jsx("h3",{children:"Recent commands"}),k.length?k.map(e=>s.jsxs("div",{className:"floor-context__command",children:[s.jsx("pre",{children:e.command}),e.outcome?s.jsx("small",{children:e.outcome}):null]},e.id)):s.jsx(l,{children:"No shell commands observed yet."})]})]}):s.jsxs(s.Fragment,{children:[s.jsxs("section",{children:[s.jsxs("h3",{children:["In this room ",s.jsx("span",{children:j.length})]}),j.length?j.map(e=>s.jsx(C,{lane:e,now:r,onSelect:a},e.id)):s.jsx(l,{children:"No actors in this room right now."})]}),o==="home"?s.jsxs("section",{children:[s.jsx("h3",{children:"Tasks in this sector"}),c.map(e=>s.jsxs("button",{type:"button",className:"floor-context__task-row",onClick:()=>a(e),children:[s.jsxs("strong",{children:[d(e.agent,e.source)," ",s.jsx("small",{children:e.id.slice(-5)})]}),s.jsx("p",{children:u(e.facts?.currentTask)||"No task summary reported."})]},e.id))]}):null,o==="edit"?s.jsxs("section",{children:[s.jsxs("h3",{children:["Changed files ",s.jsx("span",{children:n.length})]}),s.jsx("p",{className:"floor-context__scope",children:"Observed in this sector’s loaded session history."}),n.length?n.map(({lane:e,file:i})=>s.jsxs("button",{type:"button",className:"floor-context__file is-action",title:`Inspect the actor that touched ${i.path}`,onClick:()=>a(e),children:[s.jsx(g,{size:14}),s.jsxs("span",{children:[s.jsx("code",{title:i.path,children:i.path}),s.jsxs("small",{children:[d(e.agent,e.source)," · ",e.id.slice(-5)]})]}),s.jsx("small",{children:i.state})]},`${e.id}:${i.path}`)):s.jsx(l,{children:"No changed files observed in this sector."})]}):null,o==="tools"||o==="message"?s.jsxs("section",{children:[s.jsx("h3",{children:o==="tools"?"Tool activity":"Messages & requests"}),s.jsx("p",{className:"floor-context__scope",children:"This sector · last 15 minutes · observed harness activity"}),v.length?v.map(({lane:e,event:i,at:x})=>s.jsxs("article",{className:"floor-context__event",children:[s.jsxs("header",{children:[s.jsx("strong",{children:o==="tools"?i.tool||"Tool":i.kind==="ask"?"Request":"Message"}),s.jsx("time",{children:E(x,r)})]}),s.jsx("p",{children:u(i.arg||i.text,800)}),i.diff?s.jsxs("small",{className:"floor-context__diff",children:["+",i.diff.add," −",i.diff.del]}):null,s.jsxs("button",{type:"button",onClick:()=>a(e),children:[d(e.agent,e.source)," · ",e.id.slice(-5)," ",s.jsx(_,{size:12})]})]},`${e.id}:${i.id}`)):s.jsx(l,{children:o==="tools"?"No recent tool activity in this sector.":"No recent messages or requests in this sector."})]}):null]})}),t?s.jsxs("footer",{className:"floor-context__footer",children:[s.jsx("span",{children:"Observed session context"}),s.jsxs("button",{type:"button",onClick:()=>S(t),children:["Open full trace ",s.jsx(_,{size:14})]})]}):null]})}export{js as FloorContextSheet};
1
+ import{j as s}from"./index-EsrkGBcv.js";import{f as u}from"./floor-preview-text-HrORUJ7D.js";import{f as F}from"./floor-memory-YMM8AlLY.js";import{a as O,S as P}from"./SpriteAvatar-CpZWf54-.js";import{f as q}from"./floor-context-model-rWKqaKmV.js";import{t as E}from"./time-Dhsh_2EG.js";import{f as b}from"./agent-floor-actor-DW8zLht0.js";import{l as d}from"./agent-lanes-model-DMAdqCmK.js";import{b as M,a as I,l as B}from"./agent-lane-detail-Ti3trpfH.js";/* empty css */import{R as U}from"./radio-DRoOZsws.js";import{F as g}from"./file-code-corner-CsU7jJpu.js";import{T as y}from"./terminal-hQKQygcf.js";import{C as W}from"./coffee-D7EAOdCk.js";import{X}from"./x-DAehov0E.js";import{A as _}from"./arrow-up-right-BPedAgxO.js";import"./agent-state-DDhnFEEP.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";import"./createLucideIcon-zZ8Hx7er.js";const w={home:{title:"Crew quarters",subtitle:"Readiness & attention",icon:W},tools:{title:"Execution lab",subtitle:"Recent commands & tool activity",icon:y},edit:{title:"Build workshop",subtitle:"Observed files & changes",icon:g},message:{title:"Communications",subtitle:"Observed messages & requests",icon:U}};function C({lane:t,now:o,onSelect:c}){const h=O(t.agent),r=b(t,o);return s.jsxs("button",{className:"floor-context__actor-row",type:"button",onClick:()=>c(t),children:[s.jsx(P,{name:t.agent.name,size:28,hue:h.hue,tone:h.tone}),s.jsxs("span",{children:[s.jsx("strong",{children:d(t.agent,t.source)}),s.jsxs("small",{children:[t.agent.harness," · ",t.id.slice(-5)]})]}),s.jsx("span",{className:`floor-context__posture is-${r.posture}`,children:r.label}),s.jsx(_,{size:13})]})}function l({children:t}){return s.jsx("p",{className:"floor-context__empty",children:t})}function js({lane:t,room:o,lanes:c,allLanes:h,now:r,onClose:R,onSelectRoom:T,onSelectLane:a,onOpenTrace:S}){const $=F(h),m=t?$.filter(e=>e.parent.id===t.id||e.child.id===t.id):[],p=o?w[o]:null,z=p?.icon??y,N=t?d(t.agent,t.source):p?.title??"Floor",j=o?c.filter(e=>b(e,r).station===o):[],v=q(c,r,o==="message"?["message","ask"]:["tool"]),f=t?M(t):null,n=(t?[t]:c).flatMap(e=>I({events:e.observe?.events??[],files:e.facts?.touchedFiles??e.observe?.files??[]},50).map(i=>({lane:e,file:i}))).filter(e=>o!=="edit"||e.file.state!=="read"),k=t?B(t.observe,4):[],A=t?b(t,r):null;return s.jsxs("aside",{className:"agent-floor__trace-panel floor-context","aria-label":`${N} context sheet`,children:[s.jsxs("header",{className:"floor-context__header",children:[s.jsx(z,{size:20}),s.jsxs("div",{children:[s.jsx("h2",{children:N}),s.jsx("p",{children:t?`${t.agent.harness??"Agent"} · ${t.id.slice(-8)} · ${A?.label}`:p?.subtitle})]}),s.jsx("button",{type:"button",onClick:R,"aria-label":"Close context sheet",children:s.jsx(X,{size:17})})]}),t?null:s.jsx("nav",{className:"floor-context__tabs","aria-label":"Room sheets",children:[["home","Crew"],["tools","Execution"],["edit","Build"],["message","Comms"]].map(([e,i])=>s.jsx("button",{type:"button","aria-pressed":o===e,onClick:()=>T(e),children:i},e))}),s.jsx("div",{className:"floor-context__body",children:t?s.jsxs(s.Fragment,{children:[s.jsxs("section",{children:[s.jsx("h3",{children:"Current task"}),s.jsx("p",{className:"floor-context__task",children:u(t.facts?.currentTask)||"No task summary reported for this session."})]}),s.jsx("dl",{className:"floor-context__facts",children:[["Model",t.facts?.model||f?.model],["Branch",t.facts?.branch||f?.branch],["Workspace",t.facts?.cwd||f?.cwd],["Parent",t.facts?.parentAgentName]].filter(([,e])=>e).map(([e,i])=>s.jsxs("div",{children:[s.jsx("dt",{children:e}),s.jsx("dd",{title:i??void 0,children:i})]},e))}),s.jsxs("section",{children:[s.jsx("h3",{children:"Capabilities & tools"}),t.agent.capabilities?.length||t.agent.skills?.length?s.jsx("div",{className:"floor-context__abilities",children:[...new Set([...t.agent.capabilities??[],...t.agent.skills??[]])].map(e=>s.jsx("span",{children:e},e))}):s.jsx(l,{children:"No capabilities reported by this actor."}),s.jsx("p",{className:"floor-context__scope",children:"Tools observed in loaded session history"}),s.jsx("div",{className:"floor-context__abilities",children:[...new Set((t.observe?.events??[]).filter(e=>e.kind==="tool"&&e.tool).map(e=>e.tool))].slice(0,20).map(e=>s.jsx("span",{children:e},e))})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["Session relationships ",s.jsx("span",{children:m.length})]}),m.length?m.map(e=>{const i=e.child.id===t.id,x=i?e.parent:e.child;return s.jsxs("div",{children:[s.jsx("p",{className:"floor-context__scope",children:i?"Parent session":"Child session"}),s.jsx(C,{lane:x,now:r,onSelect:a})]},x.id)}):s.jsx(l,{children:t.facts?.parentSessionId?"Parent session is outside the loaded fleet.":"No parent or child sessions reported in the loaded fleet."})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["Touched files ",s.jsx("span",{children:n.length})]}),n.length?n.slice(0,10).map(({file:e})=>s.jsxs("div",{className:"floor-context__file",children:[s.jsx(g,{size:14}),s.jsx("code",{title:e.path,children:e.path}),s.jsx("small",{children:e.state})]},e.path)):s.jsx(l,{children:"No files observed yet."})]}),s.jsxs("section",{children:[s.jsx("h3",{children:"Recent commands"}),k.length?k.map(e=>s.jsxs("div",{className:"floor-context__command",children:[s.jsx("pre",{children:e.command}),e.outcome?s.jsx("small",{children:e.outcome}):null]},e.id)):s.jsx(l,{children:"No shell commands observed yet."})]})]}):s.jsxs(s.Fragment,{children:[s.jsxs("section",{children:[s.jsxs("h3",{children:["In this room ",s.jsx("span",{children:j.length})]}),j.length?j.map(e=>s.jsx(C,{lane:e,now:r,onSelect:a},e.id)):s.jsx(l,{children:"No actors in this room right now."})]}),o==="home"?s.jsxs("section",{children:[s.jsx("h3",{children:"Tasks in this sector"}),c.map(e=>s.jsxs("button",{type:"button",className:"floor-context__task-row",onClick:()=>a(e),children:[s.jsxs("strong",{children:[d(e.agent,e.source)," ",s.jsx("small",{children:e.id.slice(-5)})]}),s.jsx("p",{children:u(e.facts?.currentTask)||"No task summary reported."})]},e.id))]}):null,o==="edit"?s.jsxs("section",{children:[s.jsxs("h3",{children:["Changed files ",s.jsx("span",{children:n.length})]}),s.jsx("p",{className:"floor-context__scope",children:"Observed in this sector’s loaded session history."}),n.length?n.map(({lane:e,file:i})=>s.jsxs("button",{type:"button",className:"floor-context__file is-action",title:`Inspect the actor that touched ${i.path}`,onClick:()=>a(e),children:[s.jsx(g,{size:14}),s.jsxs("span",{children:[s.jsx("code",{title:i.path,children:i.path}),s.jsxs("small",{children:[d(e.agent,e.source)," · ",e.id.slice(-5)]})]}),s.jsx("small",{children:i.state})]},`${e.id}:${i.path}`)):s.jsx(l,{children:"No changed files observed in this sector."})]}):null,o==="tools"||o==="message"?s.jsxs("section",{children:[s.jsx("h3",{children:o==="tools"?"Tool activity":"Messages & requests"}),s.jsx("p",{className:"floor-context__scope",children:"This sector · last 15 minutes · observed harness activity"}),v.length?v.map(({lane:e,event:i,at:x})=>s.jsxs("article",{className:"floor-context__event",children:[s.jsxs("header",{children:[s.jsx("strong",{children:o==="tools"?i.tool||"Tool":i.kind==="ask"?"Request":"Message"}),s.jsx("time",{children:E(x,r)})]}),s.jsx("p",{children:u(i.arg||i.text,800)}),i.diff?s.jsxs("small",{className:"floor-context__diff",children:["+",i.diff.add," −",i.diff.del]}):null,s.jsxs("button",{type:"button",onClick:()=>a(e),children:[d(e.agent,e.source)," · ",e.id.slice(-5)," ",s.jsx(_,{size:12})]})]},`${e.id}:${i.id}`)):s.jsx(l,{children:o==="tools"?"No recent tool activity in this sector.":"No recent messages or requests in this sector."})]}):null]})}),t?s.jsxs("footer",{className:"floor-context__footer",children:[s.jsx("span",{children:"Observed session context"}),s.jsxs("button",{type:"button",onClick:()=>S(t),children:["Open full trace ",s.jsx(_,{size:14})]})]}):null]})}export{js as FloorContextSheet};
@@ -1 +1 @@
1
- import{r as a,j as t}from"./index-DReVb7jZ.js";import{f as T}from"./floor-character-name-CqJPOlXb.js";import{a as D}from"./floor-message-passes-CO3Ix_wR.js";import{f as I}from"./floor-preview-text-HrORUJ7D.js";import{b as F}from"./shared-work-artifacts-DfNl9KTo.js";import{f as O}from"./floor-memory-YMM8AlLY.js";function V(l,v,S=[]){const k=new Map;for(const n of D(l,v,15*6e4,S)){const[i,f]=[n.from,n.to].sort(),u=JSON.stringify([i,f]);let r=k.get(u);r||(r={id:u,from:i,to:f,messages:[],lastAt:n.at},k.set(u,r)),!(r.messages.length>=50)&&r.messages.push({id:n.id,from:n.from,to:n.to,at:n.at,bodyAvailable:n.bodyAvailable,text:I(n.label,2e3)||"Message sent"})}return[...k.values()].map(n=>({...n,messages:n.messages.sort((i,f)=>i.at-f.at||i.id.localeCompare(f.id))})).sort((n,i)=>i.lastAt-n.lastAt||n.id.localeCompare(i.id))}let R=null;function B(l){return I(l.replace(/```[\s\S]*?```/g," ")).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"").replace(/<[^>]*>/g," ").replace(/[`*_#>|]/g,"").replace(/\s+/g," ").trim().slice(0,400)}function L(){const[l]=a.useState(()=>typeof window<"u"&&"speechSynthesis"in window&&"SpeechSynthesisUtterance"in window),[v,S]=a.useState(0),[k,n]=a.useState(!1),[i,f]=a.useState(null),[u,r]=a.useState(null),b=a.useRef(Symbol("exchange-speech")),m=a.useRef(0),y=a.useRef(!0),s=a.useRef(null),d=a.useRef(new Map),g=a.useCallback(()=>{m.current++,s.current&&(s.current.onend=null,s.current.onerror=null,s.current=null),l&&R===b.current&&(window.speechSynthesis.cancel(),R=null),y.current&&(n(!1),f(null))},[l]);a.useEffect(()=>{if(y.current=!0,!l)return()=>{y.current=!1};const w=window.speechSynthesis,h=()=>S(w.getVoices().filter(e=>e.localService).length);return h(),w.addEventListener("voiceschanged",h),()=>{y.current=!1,g(),w.removeEventListener("voiceschanged",h)}},[l,g]);const E=a.useCallback(w=>{if(r(null),!l){r("Speech playback is unavailable in this browser.");return}const h=window.speechSynthesis;if(R!==b.current&&(R!==null||h.speaking||h.pending)){r("Another playback is active. Stop it before listening here.");return}g();const e=h.getVoices().filter(c=>c.localService).sort((c,p)=>c.voiceURI.localeCompare(p.voiceURI));if(S(e.length),!e.length){r("No local browser voices are available yet.");return}const o=w.slice(-12).map(c=>({...c,text:B(c.text)})).filter(c=>c.text);if(!o.length){r("No readable message text to play.");return}const j=new Set;for(const c of new Set(o.map(p=>p.from))){const p=d.current.get(c);if(p&&!j.has(p)&&e.some(C=>C.voiceURI===p)){j.add(p);continue}const x=[...c].reduce((C,_)=>C*31+_.charCodeAt(0)>>>0,0),P=e.filter(C=>!j.has(C.voiceURI)),N=P.length?P:e,U=N[x%N.length];d.current.set(c,U.voiceURI),j.add(U.voiceURI)}R=b.current;const A=m.current;n(!0);const M=c=>{if(!y.current||m.current!==A||R!==b.current)return;if(c>=o.length){R=null,s.current=null,n(!1),f(null);return}const p=o[c],x=new SpeechSynthesisUtterance(p.text);x.voice=e.find(P=>P.voiceURI===d.current.get(p.from))??e[0],x.lang=x.voice.lang,x.rate=1,x.onend=()=>M(c+1),x.onerror=()=>{m.current!==A||!y.current||(g(),r("Browser speech stopped before the exchange finished."))},s.current=x,f(p.id);try{h.speak(x)}catch{g(),r("Browser speech could not start.")}};M(0)},[l,g]);return{supported:l,voiceCount:v,playing:k,speakingId:i,error:u,play:E,stop:g}}function W({pair:l,lanes:v,now:S,onClose:k,onFile:n,onSpeaker:i}){const u=V(v,S).find(e=>l.includes(e.from)&&l.includes(e.to))?.messages??[],r=u.filter(e=>e.bodyAvailable!==!1),b=O(v).find(e=>l.includes(e.parent.id)&&l.includes(e.child.id)),m=e=>{const o=v.find(j=>j.id===e);return o?T(o).label:"Departed actor"},y=F(v).filter(e=>l.every(o=>e.owners.some(j=>j.id===o))),s=L(),[d,g]=a.useState(null),[E,w]=a.useState([]),h=d!==null||s.playing?E:u;return a.useEffect(()=>{const e=h.find(o=>o.id===s.speakingId);return i(e?.from??(d===null?null:h[d]?.from??null)),()=>i(null)},[s.speakingId,d]),a.useEffect(()=>{if(d===null)return;const e=window.setTimeout(()=>g(o=>o===null||o+1>=E.length?null:o+1),1800);return()=>window.clearTimeout(e)},[d]),t.jsxs("aside",{className:"floor-exchange-panel","aria-label":u.length?"Recent exchange":"Agent relationship",onPointerDown:e=>e.stopPropagation(),children:[t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsxs("strong",{children:[m(l[0])," ↔ ",m(l[1])]}),t.jsx("small",{children:u.length?"Recent exchanges · last 15 minutes":"Parent → subagent"})]}),t.jsx("button",{type:"button",onClick:k,"aria-label":"Close exchange",children:"×"})]}),b?t.jsxs("section",{className:"floor-exchange-panel__relationship",children:[t.jsx("small",{children:"Delegation relationship"}),t.jsxs("p",{children:[m(b.parent.id)," → ",m(b.child.id)]}),t.jsx("strong",{children:"Subagent’s current task"}),t.jsx("p",{children:I(b.child.facts?.currentTask)||"Task details have not been reported yet."})]}):null,r.length>0?t.jsxs("div",{className:"floor-exchange-panel__actions",children:[t.jsx("button",{type:"button",disabled:!u.length,onClick:()=>{s.stop(),w(r),g(d===null?0:null)},children:d===null?"Replay":"Stop replay"}),t.jsx("button",{type:"button",disabled:!s.supported||!u.length,onClick:()=>{g(null),w(r),s.playing?s.stop():s.play(r)},children:s.playing?"Stop voice":"Listen"})]}):null,r.length>0&&(s.supported?s.voiceCount<2?t.jsx("small",{children:"Distinct character voices depend on available browser voices."}):null:t.jsx("small",{children:"Voice playback isn’t available in this browser."})),s.error?t.jsx("p",{role:"status",children:s.error}):null,t.jsx("ol",{children:h.map((e,o)=>t.jsxs("li",{className:s.speakingId===e.id||d===o?"is-speaking":"",children:[t.jsxs("div",{children:[t.jsx("strong",{children:m(e.from)}),t.jsxs("small",{children:[Math.max(0,Math.floor((S-e.at)/6e4)),"m ago"]})]}),t.jsx("p",{children:e.text}),e.bodyAvailable===!1?t.jsxs("details",{children:[t.jsx("summary",{children:"Why unavailable?"}),t.jsx("small",{children:"The harness recorded the exchange without readable message contents. Playback skips this entry."})]}):null]},e.id))}),u.length?null:t.jsx("p",{children:"This dotted link shows who the subagent belongs to. Recorded exchanges appear here when available."}),y.length?t.jsxs("section",{children:[t.jsx("strong",{children:"Files both touched"}),y.slice(0,6).map(e=>t.jsx("button",{type:"button",disabled:!e.resolvedPath,onClick:()=>e.resolvedPath&&n(e.resolvedPath),children:e.path.split("/").at(-1)},e.id))]}):null]})}const K=Object.freeze(Object.defineProperty({__proto__:null,FloorExchangePanel:W},Symbol.toStringTag,{value:"Module"}));export{W as F,K as a,V as f};
1
+ import{r as a,j as t}from"./index-EsrkGBcv.js";import{f as T}from"./floor-character-name-CqJPOlXb.js";import{a as D}from"./floor-message-passes-CO3Ix_wR.js";import{f as I}from"./floor-preview-text-HrORUJ7D.js";import{b as F}from"./shared-work-artifacts-DfNl9KTo.js";import{f as O}from"./floor-memory-YMM8AlLY.js";function V(l,v,S=[]){const k=new Map;for(const n of D(l,v,15*6e4,S)){const[i,f]=[n.from,n.to].sort(),u=JSON.stringify([i,f]);let r=k.get(u);r||(r={id:u,from:i,to:f,messages:[],lastAt:n.at},k.set(u,r)),!(r.messages.length>=50)&&r.messages.push({id:n.id,from:n.from,to:n.to,at:n.at,bodyAvailable:n.bodyAvailable,text:I(n.label,2e3)||"Message sent"})}return[...k.values()].map(n=>({...n,messages:n.messages.sort((i,f)=>i.at-f.at||i.id.localeCompare(f.id))})).sort((n,i)=>i.lastAt-n.lastAt||n.id.localeCompare(i.id))}let R=null;function B(l){return I(l.replace(/```[\s\S]*?```/g," ")).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/https?:\/\/\S+/g,"").replace(/<[^>]*>/g," ").replace(/[`*_#>|]/g,"").replace(/\s+/g," ").trim().slice(0,400)}function L(){const[l]=a.useState(()=>typeof window<"u"&&"speechSynthesis"in window&&"SpeechSynthesisUtterance"in window),[v,S]=a.useState(0),[k,n]=a.useState(!1),[i,f]=a.useState(null),[u,r]=a.useState(null),b=a.useRef(Symbol("exchange-speech")),m=a.useRef(0),y=a.useRef(!0),s=a.useRef(null),d=a.useRef(new Map),g=a.useCallback(()=>{m.current++,s.current&&(s.current.onend=null,s.current.onerror=null,s.current=null),l&&R===b.current&&(window.speechSynthesis.cancel(),R=null),y.current&&(n(!1),f(null))},[l]);a.useEffect(()=>{if(y.current=!0,!l)return()=>{y.current=!1};const w=window.speechSynthesis,h=()=>S(w.getVoices().filter(e=>e.localService).length);return h(),w.addEventListener("voiceschanged",h),()=>{y.current=!1,g(),w.removeEventListener("voiceschanged",h)}},[l,g]);const E=a.useCallback(w=>{if(r(null),!l){r("Speech playback is unavailable in this browser.");return}const h=window.speechSynthesis;if(R!==b.current&&(R!==null||h.speaking||h.pending)){r("Another playback is active. Stop it before listening here.");return}g();const e=h.getVoices().filter(c=>c.localService).sort((c,p)=>c.voiceURI.localeCompare(p.voiceURI));if(S(e.length),!e.length){r("No local browser voices are available yet.");return}const o=w.slice(-12).map(c=>({...c,text:B(c.text)})).filter(c=>c.text);if(!o.length){r("No readable message text to play.");return}const j=new Set;for(const c of new Set(o.map(p=>p.from))){const p=d.current.get(c);if(p&&!j.has(p)&&e.some(C=>C.voiceURI===p)){j.add(p);continue}const x=[...c].reduce((C,_)=>C*31+_.charCodeAt(0)>>>0,0),P=e.filter(C=>!j.has(C.voiceURI)),N=P.length?P:e,U=N[x%N.length];d.current.set(c,U.voiceURI),j.add(U.voiceURI)}R=b.current;const A=m.current;n(!0);const M=c=>{if(!y.current||m.current!==A||R!==b.current)return;if(c>=o.length){R=null,s.current=null,n(!1),f(null);return}const p=o[c],x=new SpeechSynthesisUtterance(p.text);x.voice=e.find(P=>P.voiceURI===d.current.get(p.from))??e[0],x.lang=x.voice.lang,x.rate=1,x.onend=()=>M(c+1),x.onerror=()=>{m.current!==A||!y.current||(g(),r("Browser speech stopped before the exchange finished."))},s.current=x,f(p.id);try{h.speak(x)}catch{g(),r("Browser speech could not start.")}};M(0)},[l,g]);return{supported:l,voiceCount:v,playing:k,speakingId:i,error:u,play:E,stop:g}}function W({pair:l,lanes:v,now:S,onClose:k,onFile:n,onSpeaker:i}){const u=V(v,S).find(e=>l.includes(e.from)&&l.includes(e.to))?.messages??[],r=u.filter(e=>e.bodyAvailable!==!1),b=O(v).find(e=>l.includes(e.parent.id)&&l.includes(e.child.id)),m=e=>{const o=v.find(j=>j.id===e);return o?T(o).label:"Departed actor"},y=F(v).filter(e=>l.every(o=>e.owners.some(j=>j.id===o))),s=L(),[d,g]=a.useState(null),[E,w]=a.useState([]),h=d!==null||s.playing?E:u;return a.useEffect(()=>{const e=h.find(o=>o.id===s.speakingId);return i(e?.from??(d===null?null:h[d]?.from??null)),()=>i(null)},[s.speakingId,d]),a.useEffect(()=>{if(d===null)return;const e=window.setTimeout(()=>g(o=>o===null||o+1>=E.length?null:o+1),1800);return()=>window.clearTimeout(e)},[d]),t.jsxs("aside",{className:"floor-exchange-panel","aria-label":u.length?"Recent exchange":"Agent relationship",onPointerDown:e=>e.stopPropagation(),children:[t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsxs("strong",{children:[m(l[0])," ↔ ",m(l[1])]}),t.jsx("small",{children:u.length?"Recent exchanges · last 15 minutes":"Parent → subagent"})]}),t.jsx("button",{type:"button",onClick:k,"aria-label":"Close exchange",children:"×"})]}),b?t.jsxs("section",{className:"floor-exchange-panel__relationship",children:[t.jsx("small",{children:"Delegation relationship"}),t.jsxs("p",{children:[m(b.parent.id)," → ",m(b.child.id)]}),t.jsx("strong",{children:"Subagent’s current task"}),t.jsx("p",{children:I(b.child.facts?.currentTask)||"Task details have not been reported yet."})]}):null,r.length>0?t.jsxs("div",{className:"floor-exchange-panel__actions",children:[t.jsx("button",{type:"button",disabled:!u.length,onClick:()=>{s.stop(),w(r),g(d===null?0:null)},children:d===null?"Replay":"Stop replay"}),t.jsx("button",{type:"button",disabled:!s.supported||!u.length,onClick:()=>{g(null),w(r),s.playing?s.stop():s.play(r)},children:s.playing?"Stop voice":"Listen"})]}):null,r.length>0&&(s.supported?s.voiceCount<2?t.jsx("small",{children:"Distinct character voices depend on available browser voices."}):null:t.jsx("small",{children:"Voice playback isn’t available in this browser."})),s.error?t.jsx("p",{role:"status",children:s.error}):null,t.jsx("ol",{children:h.map((e,o)=>t.jsxs("li",{className:s.speakingId===e.id||d===o?"is-speaking":"",children:[t.jsxs("div",{children:[t.jsx("strong",{children:m(e.from)}),t.jsxs("small",{children:[Math.max(0,Math.floor((S-e.at)/6e4)),"m ago"]})]}),t.jsx("p",{children:e.text}),e.bodyAvailable===!1?t.jsxs("details",{children:[t.jsx("summary",{children:"Why unavailable?"}),t.jsx("small",{children:"The harness recorded the exchange without readable message contents. Playback skips this entry."})]}):null]},e.id))}),u.length?null:t.jsx("p",{children:"This dotted link shows who the subagent belongs to. Recorded exchanges appear here when available."}),y.length?t.jsxs("section",{children:[t.jsx("strong",{children:"Files both touched"}),y.slice(0,6).map(e=>t.jsx("button",{type:"button",disabled:!e.resolvedPath,onClick:()=>e.resolvedPath&&n(e.resolvedPath),children:e.path.split("/").at(-1)},e.id))]}):null]})}const K=Object.freeze(Object.defineProperty({__proto__:null,FloorExchangePanel:W},Symbol.toStringTag,{value:"Module"}));export{W as F,K as a,V as f};
@@ -1 +1 @@
1
- import{r as m,j as a}from"./index-DReVb7jZ.js";import{f as j,F as $}from"./floor-message-passes-CO3Ix_wR.js";import"./lane-observe-CteDwdD-.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";function k({lanes:h,now:c,positions:x,paused:r,broker:_}){const n=m.useRef(null),o=m.useRef(new Map),p=r?n.current??c:c;m.useEffect(()=>{n.current=r?n.current??c:null},[r,c]);const i=j(h,p,_);return m.useEffect(()=>{const t=new Set(i.map(s=>`${s.id}:${r}`));for(const s of o.current.keys())t.has(s)||o.current.delete(s)},[i,r]),a.jsx("svg",{className:`floor-message-passes${r?" is-paused":""}`,"aria-label":"Recent messages between agents",children:i.map(t=>{const s=x.get(t.from),e=x.get(t.to);if(!s||!e)return null;const y=(s.x+e.x)/2,u=(s.y+e.y)/2-Math.min(110,30+Math.hypot(e.x-s.x,e.y-s.y)*.3),f=`M ${s.x} ${s.y} Q ${y} ${u} ${e.x} ${e.y}`,g=Math.max(0,p-t.at),l=`${t.id}:${r}`;return o.current.has(l)||o.current.set(l,g),a.jsxs("g",{className:"floor-message-passes__pass",style:{opacity:Math.min(1,($-g)/3e3),"--pass-age":`${-o.current.get(l)}ms`},children:[a.jsx("title",{children:t.label}),a.jsx("path",{className:"floor-message-passes__trail",d:f}),a.jsx("path",{className:"floor-message-passes__hit",d:f}),a.jsxs("g",{className:"floor-message-passes__marker",style:{offsetPath:`path('${f}')`},children:[a.jsx("circle",{className:"floor-message-passes__aura",r:"12"}),a.jsx("ellipse",{className:"floor-message-passes__ball",rx:"6",ry:"4.5"}),a.jsx("path",{className:"floor-message-passes__seam",d:"M -2.5 0 H 2.5 M -1.3 -1.2 V 1.2 M 1.3 -1.2 V 1.2"})]}),a.jsx("circle",{className:"floor-message-passes__arrival",cx:e.x,cy:e.y,r:"7"}),a.jsx("circle",{className:"floor-message-passes__still",cx:e.x,cy:e.y,r:"4"})]},l)})})}export{k as FloorMessagePasses};
1
+ import{r as m,j as a}from"./index-EsrkGBcv.js";import{f as j,F as $}from"./floor-message-passes-CO3Ix_wR.js";import"./lane-observe-CteDwdD-.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";function k({lanes:h,now:c,positions:x,paused:r,broker:_}){const n=m.useRef(null),o=m.useRef(new Map),p=r?n.current??c:c;m.useEffect(()=>{n.current=r?n.current??c:null},[r,c]);const i=j(h,p,_);return m.useEffect(()=>{const t=new Set(i.map(s=>`${s.id}:${r}`));for(const s of o.current.keys())t.has(s)||o.current.delete(s)},[i,r]),a.jsx("svg",{className:`floor-message-passes${r?" is-paused":""}`,"aria-label":"Recent messages between agents",children:i.map(t=>{const s=x.get(t.from),e=x.get(t.to);if(!s||!e)return null;const y=(s.x+e.x)/2,u=(s.y+e.y)/2-Math.min(110,30+Math.hypot(e.x-s.x,e.y-s.y)*.3),f=`M ${s.x} ${s.y} Q ${y} ${u} ${e.x} ${e.y}`,g=Math.max(0,p-t.at),l=`${t.id}:${r}`;return o.current.has(l)||o.current.set(l,g),a.jsxs("g",{className:"floor-message-passes__pass",style:{opacity:Math.min(1,($-g)/3e3),"--pass-age":`${-o.current.get(l)}ms`},children:[a.jsx("title",{children:t.label}),a.jsx("path",{className:"floor-message-passes__trail",d:f}),a.jsx("path",{className:"floor-message-passes__hit",d:f}),a.jsxs("g",{className:"floor-message-passes__marker",style:{offsetPath:`path('${f}')`},children:[a.jsx("circle",{className:"floor-message-passes__aura",r:"12"}),a.jsx("ellipse",{className:"floor-message-passes__ball",rx:"6",ry:"4.5"}),a.jsx("path",{className:"floor-message-passes__seam",d:"M -2.5 0 H 2.5 M -1.3 -1.2 V 1.2 M 1.3 -1.2 V 1.2"})]}),a.jsx("circle",{className:"floor-message-passes__arrival",cx:e.x,cy:e.y,r:"7"}),a.jsx("circle",{className:"floor-message-passes__still",cx:e.x,cy:e.y,r:"4"})]},l)})})}export{k as FloorMessagePasses};
@@ -1 +1 @@
1
- import{r,j as e}from"./index-DReVb7jZ.js";import{f as z}from"./agent-floor-actor-DW8zLht0.js";import{AgentFloorWorld as D}from"./AgentFloorWorld-BTqwmK5G.js";import{o as O}from"./lane-observe-CteDwdD-.js";import{f as A}from"./floor-context-model-rWKqaKmV.js";import{l as C}from"./agent-lanes-model-DMAdqCmK.js";/* empty css */import"./agent-state-DDhnFEEP.js";import"./SpriteAvatar-aHeF4ZQZ.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-ljG1_krY.js";import"./createLucideIcon-ChvMq-zl.js";import"./terminal-DMZjX1es.js";import"./radio-Cas2qg1D.js";import"./file-code-corner-Be6da5l3.js";import"./git-branch-DcUCsWdJ.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";function B(n,g){if(!n.observe)return null;const d=n.observe.events.filter(u=>{const m=O(u,n.observe?.metadata?.session?.sessionStart);return m!==null&&m<=g});return d.length?{...n,facts:void 0,agent:{...n.agent,state:"idle",staleLocalRegistration:!1},observe:{...n.observe,events:d}}:null}const p=15*6e4;function me({lanes:n,now:g,onActor:d}){const[u,m]=r.useState("both"),[h,$]=r.useState("flat"),[a,R]=r.useState(0),[L,M]=r.useState(null),[_,S]=r.useState(null),N=r.useRef(null),[E,I]=r.useState({width:800,height:300});r.useEffect(()=>{if(!N.current)return;const t=new ResizeObserver(([s])=>I({width:s.contentRect.width,height:s.contentRect.height}));return t.observe(N.current),()=>t.disconnect()},[]);const[o]=r.useState(g),[l,f]=r.useState(o),[x,j]=r.useState(!1),[k,P]=r.useState(10),[b]=r.useState(n),[v]=r.useState(()=>A(n,o,["tool","message","ask"],2e3).reverse());r.useEffect(()=>{if(!x)return;const t=window.setInterval(()=>f(s=>Math.min(o,s+250*k)),250);return()=>window.clearInterval(t)},[x,k,o]),r.useEffect(()=>{l>=o&&j(!1)},[l,o]);const F=b.slice(a*8,a*8+8),w=F.flatMap(t=>{const s=B(t,l);return s?[s]:[]}),T=Object.fromEntries(F.map((t,s)=>[t.id,s])),W=Math.max(.1,Math.min((E.width-20)/(h==="iso"?1395:960),(E.height-20)/(h==="iso"?805:650))),c=_?v.filter(t=>t.lane.id===_&&t.at<=l).slice(-1)[0]:null,i=v.filter(t=>t.at<=l).slice(-1)[0];return e.jsxs("section",{className:`floor-replay is-${u}`,"aria-label":"History replay",children:[e.jsxs("header",{children:[e.jsx("div",{role:"group","aria-label":"Replay layout",children:["both","timeline","map"].map(t=>e.jsx("button",{type:"button","aria-pressed":u===t,onClick:()=>m(t),children:t==="both"?"Both":t==="timeline"?"Timeline":"Map"},t))}),e.jsxs("div",{className:"floor-replay__projection",role:"group","aria-label":"Replay map projection",children:[["flat","iso"].map(t=>e.jsx("button",{type:"button","aria-pressed":h===t,onClick:()=>$(t),children:t==="iso"?"Iso":"Flat"},t)),b.length>8?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button","aria-label":"Previous replay sector",disabled:a===0,onClick:()=>R(a-1),children:"←"}),e.jsxs("span",{children:["Sector ",a+1]}),e.jsx("button",{type:"button","aria-label":"Next replay sector",disabled:(a+1)*8>=b.length,onClick:()=>R(a+1),children:"→"})]}):null]})]}),e.jsxs("div",{className:"floor-replay__map",ref:N,children:[e.jsx("div",{className:"floor-replay__world",style:{transform:`scale(${W})${h==="iso"?" matrix(0.8660254, 0.5, -0.8660254, 0.5, 0, 0)":""}`},children:e.jsx(D,{lanes:w,now:l,berths:T,instant:!0,motionPaused:!1,selectedId:_??L,onFocus:M,onSelect:t=>S(t.id),onFocusRoom:t=>S(w.find(s=>z(s,l).station===t)?.id??null)})}),w.length?null:e.jsx("p",{className:"floor-replay__map-empty",children:"No actors observed yet at this point"})]}),e.jsxs("div",{className:"floor-replay__controls",children:[e.jsx("button",{type:"button",onClick:()=>{l>=o&&f(o-p),j(!x)},children:x?"Pause replay":"Play replay"}),e.jsxs("select",{"aria-label":"Replay speed",value:k,onChange:t=>P(Number(t.target.value)),children:[e.jsx("option",{value:1,children:"1×"}),e.jsx("option",{value:10,children:"10×"}),e.jsx("option",{value:30,children:"30×"})]}),e.jsx("input",{type:"range","aria-label":"Replay time",min:o-p,max:o,step:1e3,value:l,onChange:t=>{j(!1),f(Number(t.target.value))}}),e.jsx("time",{children:new Date(l).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})})]}),e.jsxs("div",{className:"floor-replay__details",children:[e.jsxs("div",{className:"floor-replay__track-label",children:[e.jsxs("span",{children:["Actor timelines · ",v.length," observations"]}),e.jsxs("div",{className:"floor-replay__legend","aria-label":"Timeline event colors",children:[e.jsx("span",{children:"Tools"}),e.jsx("span",{children:"Messages / asks"})]})]}),e.jsxs("div",{className:"floor-replay__axis",children:[e.jsx("span",{children:"15 minutes before opening"}),e.jsx("span",{children:"Snapshot end"})]}),e.jsx("div",{className:"floor-replay__tracks",children:b.map(t=>e.jsxs("div",{className:"floor-replay__row",children:[e.jsxs("button",{type:"button",onClick:()=>d(t),children:[C(t.agent,t.source),e.jsx("small",{children:t.id.slice(-5)})]}),e.jsxs("div",{className:"floor-replay__track",children:[e.jsx("i",{style:{left:`${(l-o+p)/p*100}%`}}),v.filter(s=>s.lane.id===t.id).map(({event:s,at:y})=>e.jsx("button",{type:"button",className:`is-${s.kind}${y>l?" is-future":""}`,style:{left:`${(y-o+p)/p*100}%`},"aria-label":`${s.tool||s.kind} at ${new Date(y).toLocaleTimeString()}`,title:s.tool||s.kind,onClick:()=>{j(!1),f(y)}},s.id))]})]},t.id))})]}),c?e.jsxs("div",{className:"floor-replay__selection",children:[e.jsx("strong",{children:C(c.lane.agent,c.lane.source)})," · ",c.event.tool||c.event.kind,e.jsx("button",{type:"button",onClick:()=>S(null),children:"Clear selection"}),e.jsx("p",{children:(c.event.arg||c.event.text).slice(0,500)})]}):null,e.jsx("article",{className:"floor-replay__event",children:i?e.jsxs(e.Fragment,{children:[e.jsxs("header",{children:[e.jsx("strong",{children:i.event.tool||i.event.kind}),e.jsxs("button",{type:"button",onClick:()=>d(i.lane),children:["Inspect ",C(i.lane.agent,i.lane.source)]})]}),e.jsx("pre",{children:(i.event.arg||i.event.text).slice(0,1600)})]}):e.jsx("p",{children:"No loaded event before this point."})})]})}export{me as FloorReplay};
1
+ import{r,j as e}from"./index-EsrkGBcv.js";import{f as z}from"./agent-floor-actor-DW8zLht0.js";import{AgentFloorWorld as D}from"./AgentFloorWorld-CjoIa6jA.js";import{o as O}from"./lane-observe-CteDwdD-.js";import{f as A}from"./floor-context-model-rWKqaKmV.js";import{l as C}from"./agent-lanes-model-DMAdqCmK.js";/* empty css */import"./agent-state-DDhnFEEP.js";import"./SpriteAvatar-CpZWf54-.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D7EAOdCk.js";import"./createLucideIcon-zZ8Hx7er.js";import"./terminal-hQKQygcf.js";import"./radio-DRoOZsws.js";import"./file-code-corner-CsU7jJpu.js";import"./git-branch-B0_fPLO7.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";function B(n,g){if(!n.observe)return null;const d=n.observe.events.filter(u=>{const m=O(u,n.observe?.metadata?.session?.sessionStart);return m!==null&&m<=g});return d.length?{...n,facts:void 0,agent:{...n.agent,state:"idle",staleLocalRegistration:!1},observe:{...n.observe,events:d}}:null}const p=15*6e4;function me({lanes:n,now:g,onActor:d}){const[u,m]=r.useState("both"),[h,$]=r.useState("flat"),[a,R]=r.useState(0),[L,M]=r.useState(null),[_,S]=r.useState(null),N=r.useRef(null),[E,I]=r.useState({width:800,height:300});r.useEffect(()=>{if(!N.current)return;const t=new ResizeObserver(([s])=>I({width:s.contentRect.width,height:s.contentRect.height}));return t.observe(N.current),()=>t.disconnect()},[]);const[o]=r.useState(g),[l,f]=r.useState(o),[x,j]=r.useState(!1),[k,P]=r.useState(10),[b]=r.useState(n),[v]=r.useState(()=>A(n,o,["tool","message","ask"],2e3).reverse());r.useEffect(()=>{if(!x)return;const t=window.setInterval(()=>f(s=>Math.min(o,s+250*k)),250);return()=>window.clearInterval(t)},[x,k,o]),r.useEffect(()=>{l>=o&&j(!1)},[l,o]);const F=b.slice(a*8,a*8+8),w=F.flatMap(t=>{const s=B(t,l);return s?[s]:[]}),T=Object.fromEntries(F.map((t,s)=>[t.id,s])),W=Math.max(.1,Math.min((E.width-20)/(h==="iso"?1395:960),(E.height-20)/(h==="iso"?805:650))),c=_?v.filter(t=>t.lane.id===_&&t.at<=l).slice(-1)[0]:null,i=v.filter(t=>t.at<=l).slice(-1)[0];return e.jsxs("section",{className:`floor-replay is-${u}`,"aria-label":"History replay",children:[e.jsxs("header",{children:[e.jsx("div",{role:"group","aria-label":"Replay layout",children:["both","timeline","map"].map(t=>e.jsx("button",{type:"button","aria-pressed":u===t,onClick:()=>m(t),children:t==="both"?"Both":t==="timeline"?"Timeline":"Map"},t))}),e.jsxs("div",{className:"floor-replay__projection",role:"group","aria-label":"Replay map projection",children:[["flat","iso"].map(t=>e.jsx("button",{type:"button","aria-pressed":h===t,onClick:()=>$(t),children:t==="iso"?"Iso":"Flat"},t)),b.length>8?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button","aria-label":"Previous replay sector",disabled:a===0,onClick:()=>R(a-1),children:"←"}),e.jsxs("span",{children:["Sector ",a+1]}),e.jsx("button",{type:"button","aria-label":"Next replay sector",disabled:(a+1)*8>=b.length,onClick:()=>R(a+1),children:"→"})]}):null]})]}),e.jsxs("div",{className:"floor-replay__map",ref:N,children:[e.jsx("div",{className:"floor-replay__world",style:{transform:`scale(${W})${h==="iso"?" matrix(0.8660254, 0.5, -0.8660254, 0.5, 0, 0)":""}`},children:e.jsx(D,{lanes:w,now:l,berths:T,instant:!0,motionPaused:!1,selectedId:_??L,onFocus:M,onSelect:t=>S(t.id),onFocusRoom:t=>S(w.find(s=>z(s,l).station===t)?.id??null)})}),w.length?null:e.jsx("p",{className:"floor-replay__map-empty",children:"No actors observed yet at this point"})]}),e.jsxs("div",{className:"floor-replay__controls",children:[e.jsx("button",{type:"button",onClick:()=>{l>=o&&f(o-p),j(!x)},children:x?"Pause replay":"Play replay"}),e.jsxs("select",{"aria-label":"Replay speed",value:k,onChange:t=>P(Number(t.target.value)),children:[e.jsx("option",{value:1,children:"1×"}),e.jsx("option",{value:10,children:"10×"}),e.jsx("option",{value:30,children:"30×"})]}),e.jsx("input",{type:"range","aria-label":"Replay time",min:o-p,max:o,step:1e3,value:l,onChange:t=>{j(!1),f(Number(t.target.value))}}),e.jsx("time",{children:new Date(l).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})})]}),e.jsxs("div",{className:"floor-replay__details",children:[e.jsxs("div",{className:"floor-replay__track-label",children:[e.jsxs("span",{children:["Actor timelines · ",v.length," observations"]}),e.jsxs("div",{className:"floor-replay__legend","aria-label":"Timeline event colors",children:[e.jsx("span",{children:"Tools"}),e.jsx("span",{children:"Messages / asks"})]})]}),e.jsxs("div",{className:"floor-replay__axis",children:[e.jsx("span",{children:"15 minutes before opening"}),e.jsx("span",{children:"Snapshot end"})]}),e.jsx("div",{className:"floor-replay__tracks",children:b.map(t=>e.jsxs("div",{className:"floor-replay__row",children:[e.jsxs("button",{type:"button",onClick:()=>d(t),children:[C(t.agent,t.source),e.jsx("small",{children:t.id.slice(-5)})]}),e.jsxs("div",{className:"floor-replay__track",children:[e.jsx("i",{style:{left:`${(l-o+p)/p*100}%`}}),v.filter(s=>s.lane.id===t.id).map(({event:s,at:y})=>e.jsx("button",{type:"button",className:`is-${s.kind}${y>l?" is-future":""}`,style:{left:`${(y-o+p)/p*100}%`},"aria-label":`${s.tool||s.kind} at ${new Date(y).toLocaleTimeString()}`,title:s.tool||s.kind,onClick:()=>{j(!1),f(y)}},s.id))]})]},t.id))})]}),c?e.jsxs("div",{className:"floor-replay__selection",children:[e.jsx("strong",{children:C(c.lane.agent,c.lane.source)})," · ",c.event.tool||c.event.kind,e.jsx("button",{type:"button",onClick:()=>S(null),children:"Clear selection"}),e.jsx("p",{children:(c.event.arg||c.event.text).slice(0,500)})]}):null,e.jsx("article",{className:"floor-replay__event",children:i?e.jsxs(e.Fragment,{children:[e.jsxs("header",{children:[e.jsx("strong",{children:i.event.tool||i.event.kind}),e.jsxs("button",{type:"button",onClick:()=>d(i.lane),children:["Inspect ",C(i.lane.agent,i.lane.source)]})]}),e.jsx("pre",{children:(i.event.arg||i.event.text).slice(0,1600)})]}):e.jsx("p",{children:"No loaded event before this point."})})]})}export{me as FloorReplay};
@@ -0,0 +1 @@
1
+ import{r as n,j as s}from"./index-EsrkGBcv.js";import{b as O}from"./shared-work-artifacts-DfNl9KTo.js";import{u as E}from"./Provider-C35yu29I.js";import{a as R}from"./router-DCtl8wqb.js";import{f as P,a as B}from"./terminal-sessions-3RfJpen8.js";import{b as H}from"./agent-lane-detail-Ti3trpfH.js";import{l as k}from"./agent-lanes-model-DMAdqCmK.js";/* empty css */import{F as S}from"./file-code-corner-CsU7jJpu.js";import{G as C}from"./git-branch-B0_fPLO7.js";import{T as z}from"./terminal-hQKQygcf.js";import{X as G}from"./x-DAehov0E.js";import{A as m}from"./arrow-up-right-BPedAgxO.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./api-DSqpVKC7.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";const p={artifacts:"Artifact shelf",branches:"Branch board",terminals:"Terminal bay"};function Qe({view:o,lanes:h,onView:F,onClose:L,onActor:x}){const{openFilePreview:T}=E(),[f,$]=n.useState([]),[u,j]=n.useState(null),[b,w]=n.useState(!0),[l,_]=n.useState(!1),[y,v]=n.useState("");n.useEffect(()=>{if(o!=="terminals")return;let e=!0;const r=()=>P().then(c=>{e&&($(B(c)),j(null))}).catch(()=>{e&&j("Terminal discovery is unavailable. Retry or open the terminal workspace.")}).finally(()=>{e&&w(!1)});r();const t=window.setInterval(()=>{document.hidden||r()},15e3);return()=>{e=!1,window.clearInterval(t)}},[o]);const A=h.map(e=>({lane:e,stats:H(e)})),i=new Map,d=new Map(O(h).map(e=>[e.id,{path:e.path,resolved:e.resolvedPath,owners:e.owners,state:e.state}]));for(const{lane:e,stats:r}of A){const t=e.facts?.cwd||r.cwd||"",c=e.facts?.branch||r.branch;if(c){const N=`${t}\0${c}`,g=i.get(N)??{branch:c,cwd:t,owners:[]};g.owners.push(e),i.set(N,g)}}const a=e=>e.toLowerCase().includes(y.toLowerCase()),I=o==="artifacts"?S:o==="branches"?C:z;return s.jsxs("aside",{className:"agent-floor__trace-panel floor-context","aria-label":`${p[o]} context sheet`,children:[s.jsxs("header",{className:"floor-context__header",children:[s.jsx(I,{size:20}),s.jsxs("div",{children:[s.jsx("h2",{children:p[o]}),s.jsx("p",{children:o==="terminals"?"Discovered sessions · refreshes every 15s":"Across the loaded fleet"})]}),s.jsx("button",{type:"button",onClick:L,"aria-label":"Close resource sheet",children:s.jsx(G,{size:17})})]}),s.jsx("nav",{className:"floor-context__tabs","aria-label":"Resource sheets",children:["artifacts","branches","terminals"].map(e=>s.jsx("button",{type:"button","aria-pressed":o===e,onClick:()=>{v(""),F(e)},children:p[e]},e))}),s.jsxs("div",{className:"floor-context__body",children:[s.jsx("input",{className:"floor-context__search","aria-label":"Filter floor resources",placeholder:o==="terminals"?"Find a session or workspace…":"Filter by path or branch…",value:y,onChange:e=>v(e.target.value)}),o==="artifacts"?s.jsxs("section",{children:[s.jsxs("h3",{children:["Observed changed files ",s.jsx("span",{children:d.size})]}),s.jsx("p",{className:"floor-context__scope",children:"Files changed in loaded session history. Select a file to preview."}),[...d].filter(([,e])=>a(e.path)).map(([e,r])=>s.jsxs("article",{className:"floor-context__resource",children:[s.jsxs("button",{className:"floor-context__resource-title",type:"button",disabled:!r.resolved,onClick:()=>r.resolved&&T(r.resolved),children:[s.jsx(S,{size:15}),s.jsx("strong",{children:r.path.split("/").at(-1)}),s.jsx(m,{size:13})]}),s.jsx("code",{title:r.resolved??r.path,children:r.resolved??r.path}),s.jsxs("small",{children:[r.state,r.owners.length>1?` · ${r.owners.length} {row.owners.length === 1 ? "actor" : "actors"} touched this file`:""]}),s.jsx("div",{className:"floor-context__owners",children:r.owners.map(t=>s.jsxs("button",{type:"button",onClick:()=>x(t),children:[k(t.agent,t.source)," · ",t.id.slice(-5)]},t.id))})]},e)),[...d.values()].some(e=>a(e.path))?null:s.jsx("p",{className:"floor-context__empty",children:"No observed changed files match this view."})]}):null,o==="branches"?s.jsxs("section",{children:[s.jsxs("h3",{children:["Observed branches ",s.jsx("span",{children:i.size})]}),s.jsx("p",{className:"floor-context__scope",children:"Branches and workspaces reported by these sessions."}),[...i].filter(([,e])=>a(`${e.branch} ${e.cwd}`)).map(([e,r])=>s.jsxs("article",{className:"floor-context__resource",children:[s.jsxs("h3",{children:[s.jsx(C,{size:15}),r.branch,s.jsxs("span",{children:[r.owners.length," ",r.owners.length===1?"actor":"actors"]})]}),s.jsx("code",{children:r.cwd||"Workspace not reported"}),s.jsx("div",{className:"floor-context__owners",children:r.owners.map(t=>s.jsxs("button",{type:"button",onClick:()=>x(t),children:[k(t.agent,t.source)," · ",t.id.slice(-5)]},t.id))})]},e)),[...i.values()].some(e=>a(`${e.branch} ${e.cwd}`))?null:s.jsx("p",{className:"floor-context__empty",children:"No reported branches match this view."})]}):null,o==="terminals"?s.jsxs("section",{children:[s.jsxs("nav",{className:"floor-context__tabs",children:[s.jsx("button",{type:"button","aria-pressed":!l,onClick:()=>_(!1),children:"All terminals"}),s.jsx("button",{type:"button","aria-pressed":l,onClick:()=>_(!0),children:"Herdr"})]}),s.jsx("p",{className:"floor-context__scope",children:"All discovered terminal surfaces. Opening a session uses observe mode."}),u?s.jsx("p",{role:"alert",className:"floor-context__empty",children:u}):null,b?s.jsx("p",{className:"floor-context__empty",children:"Loading terminals…"}):f.filter(e=>(!l||e.surface.backend==="herdr")&&a(e.searchable)).map(e=>s.jsxs("article",{className:"floor-context__resource",children:[s.jsxs("a",{className:"floor-context__resource-title",href:R({view:"terminal",terminalSessionId:e.session.id,terminalSurfaceKey:e.key,mode:"observe"}),children:[s.jsx(z,{size:15}),s.jsx("strong",{children:e.title}),s.jsx(m,{size:13})]}),s.jsxs("small",{children:[e.surface.backend," · ",e.condition]}),s.jsx("code",{children:e.session.cwd||e.project})]},e.id)),!b&&!f.some(e=>(!l||e.surface.backend==="herdr")&&a(e.searchable))?s.jsxs("p",{className:"floor-context__empty",children:["No ",l?"Herdr ":"","terminals match this view."]}):null,s.jsxs("a",{className:"floor-context__resource-title",href:"/terminal",children:["Open terminal workspace ",s.jsx(m,{size:13})]})]}):null]})]})}export{Qe as FloorResourcesSheet};
@@ -1 +1 @@
1
- import{r as p,j as e}from"./index-DReVb7jZ.js";import{l as h}from"./agent-lanes-model-DMAdqCmK.js";import{P as x}from"./pin-Oi4qHR6M.js";import{X as v}from"./x-rlMdRqJF.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";import"./lane-observe-CteDwdD-.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./createLucideIcon-ChvMq-zl.js";const m="openscout:floor-saved-work";function j(){try{const r=JSON.parse(localStorage.getItem(m)??"[]");return Array.isArray(r)?r.filter(a=>!!a&&typeof a.id=="string"&&typeof a.name=="string"&&typeof a.task=="string"&&typeof a.savedAt=="number").slice(0,24):[]}catch{return[]}}function O({lanes:r,selected:a,onActor:f}){const[s,u]=p.useState(j),[n,c]=p.useState(!1),l=t=>{u(t);try{localStorage.setItem(m,JSON.stringify(t))}catch{}},i=a&&s.some(t=>t.id===a.id);return e.jsxs("div",{className:"floor-saved",children:[e.jsxs("button",{type:"button",className:"floor-tactical__motion","aria-expanded":n,onClick:()=>c(!n),children:[e.jsx(x,{size:13}),"Saved work · ",s.length]}),a?e.jsx("button",{type:"button",className:"floor-tactical__motion","aria-pressed":!!i,disabled:!i&&s.length>=24,onClick:()=>{i?l(s.filter(t=>t.id!==a.id)):(l([...s,{id:a.id,name:h(a.agent,a.source),task:a.facts?.currentTask||"No task summary reported.",savedAt:Date.now()}]),c(!0))},children:i?"Unpin selected actor":"Pin selected work"}):null,n?e.jsx("div",{className:"floor-saved__list",children:s.length?s.map(t=>{const o=r.find(d=>d.id===t.id);return e.jsxs("article",{children:[e.jsxs("button",{type:"button",disabled:!o,onClick:()=>o&&f(o),children:[e.jsxs("strong",{children:[t.name," · ",t.id.slice(-5)]}),e.jsx("small",{children:o?"Inspect actor":"Outside loaded fleet"})]}),e.jsx("p",{children:t.task}),e.jsxs("footer",{children:[e.jsxs("small",{children:["Saved ",new Date(t.savedAt).toLocaleDateString()]}),e.jsx("button",{type:"button","aria-label":`Remove saved work for ${t.name} ${t.id.slice(-5)}`,onClick:()=>l(s.filter(d=>d.id!==t.id)),children:e.jsx(v,{size:12})})]})]},t.id)}):e.jsx("p",{children:"Select an actor, then pin its work here. Saved task excerpts stay available after the actor leaves the floor."})}):null]})}export{O as FloorSavedWork};
1
+ import{r as p,j as e}from"./index-EsrkGBcv.js";import{l as h}from"./agent-lanes-model-DMAdqCmK.js";import{P as x}from"./pin-C2mFOV1l.js";import{X as v}from"./x-DAehov0E.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";import"./lane-observe-CteDwdD-.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./createLucideIcon-zZ8Hx7er.js";const m="openscout:floor-saved-work";function j(){try{const r=JSON.parse(localStorage.getItem(m)??"[]");return Array.isArray(r)?r.filter(a=>!!a&&typeof a.id=="string"&&typeof a.name=="string"&&typeof a.task=="string"&&typeof a.savedAt=="number").slice(0,24):[]}catch{return[]}}function O({lanes:r,selected:a,onActor:f}){const[s,u]=p.useState(j),[n,c]=p.useState(!1),l=t=>{u(t);try{localStorage.setItem(m,JSON.stringify(t))}catch{}},i=a&&s.some(t=>t.id===a.id);return e.jsxs("div",{className:"floor-saved",children:[e.jsxs("button",{type:"button",className:"floor-tactical__motion","aria-expanded":n,onClick:()=>c(!n),children:[e.jsx(x,{size:13}),"Saved work · ",s.length]}),a?e.jsx("button",{type:"button",className:"floor-tactical__motion","aria-pressed":!!i,disabled:!i&&s.length>=24,onClick:()=>{i?l(s.filter(t=>t.id!==a.id)):(l([...s,{id:a.id,name:h(a.agent,a.source),task:a.facts?.currentTask||"No task summary reported.",savedAt:Date.now()}]),c(!0))},children:i?"Unpin selected actor":"Pin selected work"}):null,n?e.jsx("div",{className:"floor-saved__list",children:s.length?s.map(t=>{const o=r.find(d=>d.id===t.id);return e.jsxs("article",{children:[e.jsxs("button",{type:"button",disabled:!o,onClick:()=>o&&f(o),children:[e.jsxs("strong",{children:[t.name," · ",t.id.slice(-5)]}),e.jsx("small",{children:o?"Inspect actor":"Outside loaded fleet"})]}),e.jsx("p",{children:t.task}),e.jsxs("footer",{children:[e.jsxs("small",{children:["Saved ",new Date(t.savedAt).toLocaleDateString()]}),e.jsx("button",{type:"button","aria-label":`Remove saved work for ${t.name} ${t.id.slice(-5)}`,onClick:()=>l(s.filter(d=>d.id!==t.id)),children:e.jsx(v,{size:12})})]})]},t.id)}):e.jsx("p",{children:"Select an actor, then pin its work here. Saved task excerpts stay available after the actor leaves the floor."})}):null]})}export{O as FloorSavedWork};
@@ -0,0 +1 @@
1
+ import{r as j,j as t}from"./index-EsrkGBcv.js";import{FloorSavedWork as z}from"./FloorSavedWork-BeHDejWz.js";import{f as d}from"./agent-floor-actor-DW8zLht0.js";import{b as y,F as _,a as b,f as M}from"./agent-floor-world-layout-hfMjuoui.js";import{f as F}from"./floor-context-model-rWKqaKmV.js";import{l as h}from"./agent-lanes-model-DMAdqCmK.js";import{t as A}from"./time-Dhsh_2EG.js";/* empty css */import{c as S}from"./createLucideIcon-zZ8Hx7er.js";import{C as g}from"./chevron-down-l1mrh5S9.js";import{C as T}from"./chevron-up-CETZJzjV.js";import{P as E}from"./play-FT6K3It1.js";import{P as D}from"./pause-C2XTlkjs.js";import{T as W}from"./triangle-alert-CHoRGdVO.js";import{A as H}from"./arrow-up-right-BPedAgxO.js";import"./pin-C2mFOV1l.js";import"./x-DAehov0E.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./terminal-sessions-3RfJpen8.js";import"./api-DSqpVKC7.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./agent-state-DDhnFEEP.js";const L=[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]],P=S("radar",L),k={home:"Crew",tools:"Execution",edit:"Build",message:"Comms"};function pt({berths:O,allLanes:r,lanes:m,now:i,selectedId:x,sheetOpen:N,motionPaused:c,onPause:C,onRoom:$,onActor:l}){const[n,R]=j.useState(!0),[p,f]=j.useState(!1),a=r.filter(e=>["attention","blocked"].includes(d(e,i).posture)),u=F(r,i,["tool","message","ask"]).slice(0,4);return t.jsxs(t.Fragment,{children:[t.jsxs("aside",{className:"floor-tactical floor-tactical__radar","aria-label":"Tactical overview",children:[t.jsx("header",{children:t.jsxs("button",{type:"button",className:"floor-tactical__radar-toggle","aria-expanded":n,onClick:()=>R(!n),children:[t.jsx(P,{size:14}),"Sector radar ",n?t.jsx(g,{size:13}):t.jsx(T,{size:13})]})}),n?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"floor-tactical__map","aria-label":"Current sector rooms",children:[Object.keys(y).map(e=>{const s=y[e],o=m.filter(v=>d(v,i).station===e).length;return t.jsx("button",{type:"button",className:`floor-tactical__room${o?" is-occupied":""}`,style:{left:`${s.x/b*100}%`,top:`${s.y/_*100}%`},"aria-label":`Open ${k[e]} sheet from radar, ${o} actors`,onClick:()=>$(e),children:t.jsx("span",{children:k[e]})},e)}),m.map(e=>{const s=d(e,i),o=M(s.station,O[e.id]??0);return t.jsx("button",{type:"button",className:`floor-tactical__dot is-${s.posture}${x===e.id?" is-selected":""}`,style:{left:`${o.x/b*100}%`,top:`${o.y/_*100}%`},"aria-label":`Locate ${h(e.agent,e.source)} ${e.id.slice(-5)}`,onClick:()=>l(e)},e.id)})]}),t.jsxs("p",{children:[m.length," in sector · ",r.length," in fleet"]})]}):null,t.jsxs("button",{type:"button",className:"floor-tactical__motion","aria-pressed":c,onClick:C,children:[c?t.jsx(E,{size:13}):t.jsx(D,{size:13}),c?"Resume scene motion":"Pause scene motion"]}),t.jsx(z,{lanes:r,selected:r.find(e=>e.id===x)??null,onActor:l}),c?t.jsx("small",{className:"floor-tactical__paused",children:"Motion paused · data stays live"}):null]}),N?null:t.jsxs("aside",{className:"floor-tactical floor-tactical__activity","aria-label":"Fleet activity and attention",children:[t.jsxs("button",{type:"button",className:`floor-tactical__attention${a.length?" has-attention":""}`,"aria-expanded":p,onClick:()=>f(!p),children:[t.jsx(W,{size:14}),t.jsx("span",{children:a.length?`${a.length} need attention`:"No attention signals"}),t.jsx(g,{size:13})]}),p?t.jsx("div",{className:"floor-tactical__attention-list",children:a.length?a.map(e=>t.jsxs("button",{type:"button",onClick:()=>{f(!1),l(e)},children:[t.jsx("strong",{children:h(e.agent,e.source)}),t.jsxs("small",{children:[e.id.slice(-5)," · ",d(e,i).label]})]},e.id)):t.jsx("p",{children:"No blocked or needs-attention actors reported in this fleet."})}):null,t.jsxs("h3",{children:["Recent activity ",t.jsx("span",{children:"15m"})]}),u.length?u.map(({lane:e,event:s,at:o})=>t.jsxs("button",{className:"floor-tactical__activity-item",type:"button",onClick:()=>l(e),children:[t.jsxs("span",{children:[t.jsx("strong",{children:s.kind==="tool"?s.tool||"Tool":s.kind==="ask"?"Request":"Message"}),t.jsx("time",{children:A(o,i)})]}),t.jsxs("span",{children:[t.jsxs("small",{children:[h(e.agent,e.source)," · ",e.id.slice(-5)]}),t.jsx(H,{size:11})]})]},`${e.id}:${s.id}`)):t.jsx("p",{className:"floor-tactical__empty",children:"No recent events."})]})]})}export{pt as FloorTacticalHUD};
@@ -1 +1 @@
1
- import{r as o,j as r}from"./index-DReVb7jZ.js";import{a as h}from"./api-DSqpVKC7.js";import{t as p,r as c,m as g}from"./follow-route-BvcGtBIL.js";import{s as l}from"./router-C-MF5-mb.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";function N({route:e,navigate:t}){const[d,m]=o.useState(null),i=o.useMemo(()=>p(e),[e]);return o.useEffect(()=>{let n=!1;const s=new URLSearchParams;return e.flightId&&s.set("flightId",e.flightId),e.invocationId&&s.set("invocationId",e.invocationId),e.conversationId&&s.set("conversationId",e.conversationId),e.workId&&s.set("workId",e.workId),e.sessionId&&s.set("sessionId",e.sessionId),e.targetAgentId&&s.set("targetAgentId",e.targetAgentId),(async()=>{try{const a=s.toString(),f=a?await h(`/api/follow?${a}`):i;if(n)return;t(l(c(g(f,i),e.preferredView),e.machineId??null))}catch(a){if(n)return;m(a instanceof Error?a.message:String(a)),t(l(c(i,e.preferredView),e.machineId??null))}})(),()=>{n=!0}},[i,t,e]),r.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:r.jsx("section",{className:"s-thread-overview",children:r.jsxs("div",{className:"s-thread-overview-copy",children:[r.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[r.jsx("h2",{className:"s-page-title",children:"Follow"}),r.jsx("span",{className:"s-meta s-tabular",children:e.preferredView??"auto"})]}),r.jsx("p",{className:"s-thread-overview-summary",children:d?"Opening the closest available Scout view.":"Resolving Scout context..."})]})})})}export{N as FollowScreen};
1
+ import{r as o,j as r}from"./index-EsrkGBcv.js";import{a as h}from"./api-DSqpVKC7.js";import{t as p,r as c,m as g}from"./follow-route-BvcGtBIL.js";import{s as l}from"./router-DCtl8wqb.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";function N({route:e,navigate:t}){const[d,m]=o.useState(null),i=o.useMemo(()=>p(e),[e]);return o.useEffect(()=>{let n=!1;const s=new URLSearchParams;return e.flightId&&s.set("flightId",e.flightId),e.invocationId&&s.set("invocationId",e.invocationId),e.conversationId&&s.set("conversationId",e.conversationId),e.workId&&s.set("workId",e.workId),e.sessionId&&s.set("sessionId",e.sessionId),e.targetAgentId&&s.set("targetAgentId",e.targetAgentId),(async()=>{try{const a=s.toString(),f=a?await h(`/api/follow?${a}`):i;if(n)return;t(l(c(g(f,i),e.preferredView),e.machineId??null))}catch(a){if(n)return;m(a instanceof Error?a.message:String(a)),t(l(c(i,e.preferredView),e.machineId??null))}})(),()=>{n=!0}},[i,t,e]),r.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:r.jsx("section",{className:"s-thread-overview",children:r.jsxs("div",{className:"s-thread-overview-copy",children:[r.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[r.jsx("h2",{className:"s-page-title",children:"Follow"}),r.jsx("span",{className:"s-meta s-tabular",children:e.preferredView??"auto"})]}),r.jsx("p",{className:"s-thread-overview-summary",children:d?"Opening the closest available Scout view.":"Resolving Scout context..."})]})})})}export{N as FollowScreen};
@@ -0,0 +1 @@
1
+ import{j as e}from"./index-EsrkGBcv.js";function p(i){const o=i?.trim().toLowerCase();if(!o)return"unknown";const r=o.replace(/[\s(].*$/,"").replace(/[_-].*$/,""),t={anthropic:"claude",claude:"claude",claudecode:"claude",sonnet:"claude",opus:"claude",openai:"codex",codex:"codex",gpt:"codex",chatgpt:"codex",oai:"codex",xai:"grok",grok:"grok",kimi:"kimi",moonshot:"kimi",devin:"devin",cognition:"devin",swe:"devin",google:"gemini",gemini:"gemini",vertex:"gemini",cursor:"cursor",github:"github",opencode:"opencode",oc:"opencode",amp:"amp",sourcegraph:"amp",pi:"pi",inflection:"pi",omp:"pi","oh-my-pi":"pi",claw:"claw",native:"native",worker:"worker",quad:"quad"};return t[r]??t[o.replace(/[\s(].*$/,"")]??o}const g={claude:"Claude",codex:"Codex",grok:"Grok",kimi:"Kimi",devin:"Devin",gemini:"Gemini",cursor:"Cursor",github:"GitHub",opencode:"OpenCode",amp:"Amp",pi:"Pi",claw:"Claw",native:"Native",worker:"Worker",quad:"Quad"};function m(i){const o=p(i);return g[o]??(i?.trim()||"Unknown")}const n={fill:{fill:"currentColor"},line:{fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}},c={claude:"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z",gemini:"M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81",cursor:"M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23",github:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",opencode:"M22 24H2V0h20zM17 4.8H7v14.4h10z"},l=i=>e.jsx("path",{d:i,fill:"currentColor"}),v={devin:{viewBox:"0 0 1400 1600",paths:["M6.0724,539.4025V210.1092c.0001-14.4719,7.7208-27.8445,20.2538-35.0804L311.4249,10.427c12.533-7.236,27.9744-7.236,40.5074,0l285.0989,164.6019c12.533,7.2359,20.2537,20.6085,20.2537,35.0804v168.1715c1.2505,55.8821,30.7856,109.7814,82.7306,139.7719,51.945,29.9905,113.3907,28.6189,162.4117,1.7606l145.6404-84.0855c12.533-7.2359,27.9744-7.2359,40.5074,0l285.0989,164.6019c12.533,7.2359,20.2537,20.6085,20.2537,35.0804v329.2037c0,14.4719-7.7206,27.8445-20.2536,35.0804l-285.0989,164.6019c-12.533,7.2359-27.9744,7.236-40.5074,0l-144.4618-83.4051c-49.2104-27.4815-111.2175-29.1254-163.5765,1.104-51.9443,29.9901-81.4793,83.8883-82.7305,139.7699v168.1257c0,14.4719-7.7207,27.8445-20.2537,35.0804l-285.0989,164.6019c-12.533,7.2359-27.9744,7.2359-40.5074,0L26.3399,1424.9711c-12.533-7.236-20.2537-20.6085-20.2537-35.0804v-329.2038c.0001-14.4719,7.7208-27.8445,20.2538-35.0804l285.0988-164.6019c12.533-7.236,27.9744-7.236,40.5074,0l145.9702,84.276c48.9621,26.6706,110.2347,27.967,162.0542-1.951,52.359-30.2296,81.9388-84.7522,82.7443-141.1106-1.2502-55.8826-30.7855-115.5579-82.7306-145.5484-51.945-29.9905-113.3905-28.6192-162.4113-1.7608l-146.31,84.9496c-12.5874,7.3084-28.1283,7.3017-40.7093-.0178L26.2098,574.4156c-12.4675-7.2533-20.1375-20.5892-20.1374-35.0131Z"]},amp:{viewBox:"0.6 1.4 8.8 8.8",paths:["M2.37694 9.23487L4.34679 7.23716L5.06365 9.95891L6.10505 9.67408L5.06749 5.72214L1.17831 4.6688L0.901367 5.73289L3.5775 6.45984L1.61584 8.45465L2.37694 9.23487Z","M8.05742 6.91898L9.09885 6.63416L8.0613 2.68224L4.17209 1.62891L3.89515 2.693L7.17936 3.58514L8.05742 6.91898Z","M6.56226 8.43797L7.60365 8.15314L6.5661 4.20121L2.67692 3.14787L2.39998 4.21196L5.68416 5.10411L6.56226 8.43797Z"]},grok:{viewBox:"0 0 34 33",paths:["M13.2371 21.0407L24.3186 12.8506C24.8619 12.4491 25.6384 12.6057 25.8973 13.2294C27.2597 16.5185 26.651 20.4712 23.9403 23.1851C21.2297 25.8989 17.4581 26.4941 14.0108 25.1386L10.2449 26.8843C15.6463 30.5806 22.2053 29.6665 26.304 25.5601C29.5551 22.3051 30.562 17.8683 29.6205 13.8673L29.629 13.8758C28.2637 7.99809 29.9647 5.64871 33.449 0.844576C33.5314 0.730667 33.6139 0.616757 33.6964 0.5L29.1113 5.09055V5.07631L13.2343 21.0436","M10.9503 23.0313C7.07343 19.3235 7.74185 13.5853 11.0498 10.2763C13.4959 7.82722 17.5036 6.82767 21.0021 8.2971L24.7595 6.55998C24.0826 6.07017 23.215 5.54334 22.2195 5.17313C17.7198 3.31926 12.3326 4.24192 8.67479 7.90126C5.15635 11.4239 4.0499 16.8403 5.94992 21.4622C7.36924 24.9165 5.04257 27.3598 2.69884 29.826C1.86829 30.7002 1.0349 31.5745 0.36364 32.5L10.9474 23.0341"]}},k=e.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"}),C=e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M4.5 3h3.4v7.4L14.7 3h4.5l-7.9 8.5L19.8 21h-4.6l-7.3-8.2V21H4.5Z"}),e.jsx("circle",{cx:"20.2",cy:"3.8",r:"1.8"})]}),j=e.jsxs("g",{...n.line,strokeWidth:2,children:[e.jsx("path",{d:"M6.5 8.5h11"}),e.jsx("path",{d:"M10 8.5 9 17M14.2 8.5 15.2 17"})]}),w=e.jsxs("g",{...n.line,children:[e.jsx("path",{d:"M6.5 8 11 12l-4.5 4"}),e.jsx("path",{d:"M12.5 16.5H18",strokeWidth:1.8})]}),M=e.jsxs("g",{...n.line,strokeWidth:1.8,children:[e.jsx("path",{d:"M12 4.5 18.5 8.2v7.6L12 19.5 5.5 15.8V8.2L12 4.5Z"}),e.jsx("circle",{cx:12,cy:12,r:2.7})]}),y=e.jsxs("g",{...n.fill,children:[e.jsx("rect",{x:5.5,y:5.5,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:13.1,y:5.5,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:5.5,y:13.1,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:13.1,y:13.1,width:5.4,height:5.4,rx:1.3})]}),f=e.jsxs("g",{...n.line,strokeWidth:2,children:[e.jsx("path",{d:"M7.5 6Q9.5 12 8.5 18"}),e.jsx("path",{d:"M12 5.5Q14 12 13 18.5"}),e.jsx("path",{d:"M16.5 6Q18.5 12 17.5 18"})]}),b={claude:l(c.claude),codex:k,kimi:C,gemini:l(c.gemini),cursor:l(c.cursor),github:l(c.github),opencode:l(c.opencode),pi:j,native:w,worker:M,quad:y,claw:f};function G({harness:i,size:o=14,className:r,style:t,title:h}){const a=p(i),s=v[a],x=b[a],d=h===null?void 0:h??m(i);return e.jsx("span",{className:r,style:t,title:d,"aria-hidden":d?void 0:!0,children:e.jsx("svg",{viewBox:s?.viewBox??"0 0 24 24",width:o,height:o,style:{display:"block"},role:"img","aria-label":d,children:s?s.paths.map((u,L)=>e.jsx("path",{d:u,fill:"currentColor"},L)):x??e.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",fontSize:"13",fontWeight:"600",fontFamily:"var(--font-mono)",fill:"currentColor",children:(a[0]??"?").toUpperCase()})})})}export{G as H,m as h};