@openscout/scout 0.2.102 → 0.2.106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/bin/scout.mjs +6 -0
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +4 -4
- package/dist/chat.mjs +307 -0
- package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +1 -0
- package/dist/client/assets/{AddProjectForm-DfbjlFfy.js → AddProjectForm-CusDRiVO.js} +1 -1
- package/dist/client/assets/{AdventureEvidence-Dzz9VbuE.js → AdventureEvidence-CyegKk1V.js} +1 -1
- package/dist/client/assets/{AdventureReader-ClMxT0e4.js → AdventureReader-X-hbTOi0.js} +1 -1
- package/dist/client/assets/{AdventureScenery-D548O0x4.js → AdventureScenery-LPXSVP67.js} +1 -1
- package/dist/client/assets/AgentAdventures-BAgxdOF8.js +1 -0
- package/dist/client/assets/AgentAvatar-CrP1eXxk.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +1 -0
- package/dist/client/assets/{AgentDetailCard-CFDE8TLi.js → AgentDetailCard-DtHT3sCo.js} +1 -1
- package/dist/client/assets/AgentFloorView-DH4jiDgw.js +1 -0
- package/dist/client/assets/{AgentFloorWorld-BDJmXl3C.js → AgentFloorWorld-CjoIa6jA.js} +1 -1
- package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +1 -0
- package/dist/client/assets/{AgentLaneCard-C6YmwPxQ.js → AgentLaneCard-BaZ2g-f8.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-D9uJ4QY7.js → AgentLaneChrome-TF1SlJSc.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-KYckCBCX.js → AgentLaneDetailSheet-EzEPsn3g.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-BBYBS3DO.js → AgentLaneSummaryResize-dpp7YvrX.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-pw2vMO3Q.js → AgentLanesPreflight-Ry-aqDTr.js} +1 -1
- package/dist/client/assets/AgentLanesView-BJi9xXz6.js +2 -0
- package/dist/client/assets/{AgentLiveActions-lYzicnNa.js → AgentLiveActions-CfTupTEl.js} +1 -1
- package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +1 -0
- package/dist/client/assets/AgentSessions-B1gOhDBf.js +6 -0
- package/dist/client/assets/AgentsConsole-RXGqRvcb.js +1 -0
- package/dist/client/assets/AgentsScreen-ChwMBs11.js +1 -0
- package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +1 -0
- package/dist/client/assets/{AstronautSuit-C-4I5YKi.js → AstronautSuit-Cchnc4Ug.js} +1 -1
- package/dist/client/assets/{AtopView-DKm-ERYC.js → AtopView-gkEp4y__.js} +1 -1
- package/dist/client/assets/{BackToPicker-Bys9ColC.js → BackToPicker-CUkjnoVk.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +1 -0
- package/dist/client/assets/{BriefingsScreen-D4Zf31Y6.js → BriefingsScreen-B1HlBMGZ.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-1GoSl2BV.js → BrokerMetadataPanel-Dk242Yh_.js} +1 -1
- package/dist/client/assets/BrokerScreen-DwOF6bMA.js +8 -0
- package/dist/client/assets/Canvas-X9pVSkw3.js +1 -0
- package/dist/client/assets/{CastPicker-BuwE_JQp.js → CastPicker-BXUtPAGC.js} +1 -1
- package/dist/client/assets/ChannelComposer-DoK7IDGa.js +1 -0
- package/dist/client/assets/ChannelSidebar-e9DOPulb.js +1 -0
- package/dist/client/assets/{CharacterFamilyPreview-CfO3j8Of.js → CharacterFamilyPreview-DMfw7UM_.js} +1 -1
- package/dist/client/assets/ChatAvatar-C3a_o5Hj.js +1 -0
- package/dist/client/assets/ChatBits-CsvxbToF.js +1 -0
- package/dist/client/assets/{ChatCollapsedStrip-TV0j1xTB.js → ChatCollapsedStrip-FEmQ_G9J.js} +1 -1
- package/dist/client/assets/ChatRichInput-DhtwFxQE.js +31 -0
- package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +1 -0
- package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +1 -0
- package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +1 -0
- package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +1 -0
- package/dist/client/assets/{CodeDiffPane-DB6-mqtX.js → CodeDiffPane-DuQRwpgK.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-B_LNLpIK.js → CodeProjectPicker-ZQ6gSBpg.js} +1 -1
- package/dist/client/assets/{CodeScreen-C9H160XS.js → CodeScreen-BXyKeL5T.js} +1 -1
- package/dist/client/assets/{CommsCanvas-DOKw3Q8i.js → CommsCanvas-THp0r_U8.js} +1 -1
- package/dist/client/assets/{CommsDeck-C18JA7rK.js → CommsDeck-BVmSMV2V.js} +1 -1
- package/dist/client/assets/{CommsFlowGraph-Czg-KTS0.js → CommsFlowGraph-DxoOaLF_.js} +1 -1
- package/dist/client/assets/{CommsFlowMap-CzBWvSa5.js → CommsFlowMap-Vi8ziCPg.js} +1 -1
- package/dist/client/assets/{CommsSelection-g1twA-Lb.js → CommsSelection-BUoRbu9o.js} +1 -1
- package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +1 -0
- package/dist/client/assets/ConversationComposer-CUQyArlk.js +1 -0
- package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +1 -0
- package/dist/client/assets/ConversationHeader-C-ZWscKj.js +1 -0
- package/dist/client/assets/{ConversationPanels-C9yCAoJy.js → ConversationPanels-D9oC0xG5.js} +2 -2
- package/dist/client/assets/ConversationScreen-9MlMnEo4.css +1 -0
- package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +2 -0
- package/dist/client/assets/ConversationStatus--IPm2nGh.js +1 -0
- package/dist/client/assets/{CrewAvatar-D0c9z5Qr.css → CrewAvatar-BnIPIn_Z.css} +1 -1
- package/dist/client/assets/CrewAvatar-kTznzqcO.js +1 -0
- package/dist/client/assets/{CrewSprite-hgpA3SWB.js → CrewSprite-Dhryjx2c.js} +1 -1
- package/dist/client/assets/CrewStage-vdO0qm3D.js +1 -0
- package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +1 -0
- package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
- package/dist/client/assets/{DataTable-BMOZ1-z8.js → DataTable-aH-jCyDq.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-DDlwqSCY.js → DispatchAftermath-66uQAorV.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-f12RRQpV.js → DocumentFocusViewer-DJr0v0D_.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-DGl9EMRV.js → EmbeddableSurfacesLab-BBa70EhJ.js} +1 -1
- package/dist/client/assets/{EmptyState-uyYN5piI.js → EmptyState-CZlrHXy-.js} +1 -1
- package/dist/client/assets/{FileViewerPane-HtiDbj9N.js → FileViewerPane-BAO6mtjD.js} +1 -1
- package/dist/client/assets/FleetRollCallHud-C5q2567n.js +1 -0
- package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +1 -0
- package/dist/client/assets/{FloorContextSheet-DV-SYA0K.js → FloorContextSheet-2_NVPQor.js} +1 -1
- package/dist/client/assets/{FloorExchangePanel-D59nvRCF.js → FloorExchangePanel-BU1pPu8K.js} +1 -1
- package/dist/client/assets/{FloorMessagePasses-BCwsz9VS.js → FloorMessagePasses-cLW2UGNP.js} +1 -1
- package/dist/client/assets/{FloorReplay-BHo79HCD.js → FloorReplay-VFzA6Kxc.js} +1 -1
- package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +1 -0
- package/dist/client/assets/{FloorSavedWork-2tjBoy06.js → FloorSavedWork-BeHDejWz.js} +1 -1
- package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +1 -0
- package/dist/client/assets/{FollowScreen-eHXOlK-u.js → FollowScreen-CFfkIbc6.js} +1 -1
- package/dist/client/assets/HarnessMark-C4naWc16.js +1 -0
- package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +1 -0
- package/dist/client/assets/{HerdrSession-CtJOUn7H.js → HerdrSession-_t7yM8vX.js} +2 -2
- package/dist/client/assets/{HomeHero-Cvwx2H0w.js → HomeHero-DouPyNmz.js} +1 -1
- package/dist/client/assets/{HostAdvisorView-CTJXIc1Q.js → HostAdvisorView-CnM1i8hW.js} +1 -1
- package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +1 -0
- package/dist/client/assets/InviteSheet-CwxZtWCl.js +1 -0
- package/dist/client/assets/JumpPalette-O1aJE9gR.js +1 -0
- package/dist/client/assets/{KnowledgeSearchInspector-DwGMVmFL.js → KnowledgeSearchInspector-32n9baT-.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-C6YehJqD.js → LaneToolHoverCard-CJa110yk.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-WLNZZVi_.js → LaneTraceEventFocus-TbrNHRj_.js} +1 -1
- package/dist/client/assets/{MeshCanvas-FDDGE69h.js → MeshCanvas-DWZHYh1A.js} +2 -2
- package/dist/client/assets/{MeshCanvasMinimap-CGRzQCac.js → MeshCanvasMinimap-iswYFpIb.js} +1 -1
- package/dist/client/assets/MeshScreen-8nAzQVbm.js +1 -0
- package/dist/client/assets/{MeshTopologyView-C2Cv_2gx.js → MeshTopologyView-BVvtqI8q.js} +2 -2
- package/dist/client/assets/MessageEmbeds-ksPazAKH.js +1 -0
- package/dist/client/assets/MessagesScreen-C3WB4T21.js +1 -0
- package/dist/client/assets/{MissionContextRail-CVSZJnvX.js → MissionContextRail-D62-Wis8.js} +1 -1
- package/dist/client/assets/MissionControlView-B9cNPXvl.js +1 -0
- package/dist/client/assets/{MissionFocusOverlay-B9SiuO-i.js → MissionFocusOverlay-C1zys3Jv.js} +1 -1
- package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +1 -0
- package/dist/client/assets/{MissionLogPane-CMBiI29U.js → MissionLogPane-B19lYSY9.js} +1 -1
- package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +1 -0
- package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +1 -0
- package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +1 -0
- package/dist/client/assets/{NewAgentModal-Cl4nsGhu.js → NewAgentModal-Bh-L-emz.js} +1 -1
- package/dist/client/assets/NewChatComposer-C97-iTMK.js +19 -0
- package/dist/client/assets/{NewChatOrigin-CyPPWTJP.js → NewChatOrigin-DFbF_XvR.js} +1 -1
- package/dist/client/assets/{NodeDetailPanel-BUG8rOb-.js → NodeDetailPanel-CElOEpCh.js} +1 -1
- package/dist/client/assets/{NodeMenu-Fw8ATWQA.js → NodeMenu-B-jjHf1c.js} +1 -1
- package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +2 -0
- package/dist/client/assets/{ObserveTextFlow-ET0dD1wO.js → ObserveTextFlow-PFnG_10h.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-DkEkQzo-.js → ObservedTopologyPanel-CUTIoLZJ.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +31 -0
- package/dist/client/assets/OpsAgentsView-DajlX8LO.js +1 -0
- package/dist/client/assets/OpsScreen-jVcaBKGi.js +1 -0
- package/dist/client/assets/OpsSubnav-BOOYShHE.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-C1fR65Eh.js → ProjectAgentProfileBar-DHuMKJj-.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +1 -0
- package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +1 -0
- package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +2 -0
- package/dist/client/assets/ProjectsRail-CDWocin_.js +1 -0
- package/dist/client/assets/ProjectsScreen-B_CJycqW.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +1 -0
- package/dist/client/assets/Provider-C35yu29I.js +5 -0
- package/dist/client/assets/{RailRow-BYguXNm4.js → RailRow-BjmWK420.js} +1 -1
- package/dist/client/assets/RawSessionsTable-DzT90hWu.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +16 -0
- package/dist/client/assets/{RenderedWorkerSprite-CvdWO32C.js → RenderedWorkerSprite-Dhlyg89J.js} +1 -1
- package/dist/client/assets/{ReplayClock-B7JLTp8A.js → ReplayClock-348f17bW.js} +1 -1
- package/dist/client/assets/{ReplayLog-DZTpf2CW.js → ReplayLog-CBnAM3ui.js} +1 -1
- package/dist/client/assets/{ReplayOutpost-CvWQa30T.js → ReplayOutpost-DyRPfNFx.js} +1 -1
- package/dist/client/assets/{RepoDiffEmbedScreen-Cbu0_PJW.js → RepoDiffEmbedScreen-BWxvRDrS.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-Chwm6GXL.js → RepoDiffPageScreen-DN94irmY.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-C2mb0Wj-.js → RepoDiffViewer-_4JVXBIW.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +2 -0
- package/dist/client/assets/{ReposScreen-C7JZQmyh.js → ReposScreen-uMCpt0e9.js} +2 -2
- package/dist/client/assets/{RiggedWorkerCharacter-DNe731GE.js → RiggedWorkerCharacter-q6QRc7_o.js} +1 -1
- package/dist/client/assets/{SageModelStudio-BR1J2D4R.js → SageModelStudio-CNDhZhgD.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-flRamdvE.js → ScoutDeckSurface-CUaU4R6T.js} +1 -1
- package/dist/client/assets/{ScoutSurface-BpklGmDL.js → ScoutSurface-3_25USO_.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-DeK7ySWZ.js → ScoutbotFxLab-CRqhYe0a.js} +1 -1
- package/dist/client/assets/{SecondaryNav-BkTn5tkq.js → SecondaryNav-D7dbV2qo.js} +1 -1
- package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +1 -0
- package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +1 -0
- package/dist/client/assets/{SessionEmbedScreen-CcQN6xlo.js → SessionEmbedScreen-D0zFmou-.js} +1 -1
- package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +1 -0
- package/dist/client/assets/{SessionObserve-BOBJSfs0.css → SessionObserve-CDdJ7fAE.css} +1 -1
- package/dist/client/assets/SessionObserve-DXxBvejJ.js +12 -0
- package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +1 -0
- package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +1 -0
- package/dist/client/assets/SessionsScreen-BLIRkohT.js +1 -0
- package/dist/client/assets/SettingsDrawer-juCpnbH6.js +3 -0
- package/dist/client/assets/SettingsScreen-BtGzE2-O.js +1 -0
- package/dist/client/assets/{SharedFloorCharacter-CSYG_t9t.js → SharedFloorCharacter-DNEiaOUh.js} +1 -1
- package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +1 -0
- package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +2 -0
- package/dist/client/assets/{ShikiPane-BudrOxNK.js → ShikiPane-CRtTYkMj.js} +1 -1
- package/dist/client/assets/{SlidePanel-Datu7XG4.js → SlidePanel-_CHAQdOa.js} +1 -1
- package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +1 -0
- package/dist/client/assets/{SpriteAvatar-BW1JzkDt.js → SpriteAvatar-CpZWf54-.js} +1 -1
- package/dist/client/assets/{SproutActionSprite-DveCzg6l.js → SproutActionSprite-BSiTS4en.js} +1 -1
- package/dist/client/assets/{StatusPill-MxYClPG5.js → StatusPill-2gCP6H7A.js} +1 -1
- package/dist/client/assets/{TailView-Dn7uWmPz.js → TailView-CYSijNTy.js} +2 -2
- package/dist/client/assets/Terminal-Bi97yb5s.js +4 -0
- package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +1 -0
- package/dist/client/assets/{TerminalHeaderMount-DCGstkZ4.js → TerminalHeaderMount-Cq4OD_xN.js} +1 -1
- package/dist/client/assets/TerminalRelay-DrikpUSJ.js +46 -0
- package/dist/client/assets/{TextDocumentSurface-BhYvAB0o.js → TextDocumentSurface-D52m7Vd8.js} +1 -1
- package/dist/client/assets/{TmuxPeek-BhK0V9Qt.js → TmuxPeek-CXFeweMg.js} +1 -1
- package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +1 -0
- package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +1 -0
- package/dist/client/assets/{VoicePermissionsPanel-CecFWzva.js → VoicePermissionsPanel-Ok2nfxHw.js} +1 -1
- package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +8 -0
- package/dist/client/assets/VoiceTurnStage-edoJalLV.js +1 -0
- package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +1 -0
- package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +5 -0
- package/dist/client/assets/{WorkFilesViewer-DJHftsH9.js → WorkFilesViewer-vNt01sDd.js} +1 -1
- package/dist/client/assets/{WorkRunView-x5PH1byG.js → WorkRunView-BDkR7Edq.js} +1 -1
- package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +1 -0
- package/dist/client/assets/{WorldCharacter-Dn4sIXNP.js → WorldCharacter-CIIlutQq.js} +1 -1
- package/dist/client/assets/WorldMinimap-B6HNgcDe.js +1 -0
- package/dist/client/assets/{WorldSky-DV9bpvXj.js → WorldSky-Jm2Z6dfW.js} +1 -1
- package/dist/client/assets/{activity-CSUhvjD0.js → activity-CIlFrfPJ.js} +1 -1
- package/dist/client/assets/{addon-fit-MR98IWES.js → addon-fit-dFpj9Kfq.js} +1 -1
- package/dist/client/assets/{addon-webgl-CIIKXrvK.js → addon-webgl-BFCGRtGh.js} +1 -1
- package/dist/client/assets/{agent-essentials-8t2il7PV.js → agent-essentials-BGGvT5G6.js} +1 -1
- package/dist/client/assets/{agent-floor-actor-3v9drnxh.js → agent-floor-actor-DW8zLht0.js} +1 -1
- package/dist/client/assets/{agent-lane-card-model-l0stnU9N.js → agent-lane-card-model-CeqQGp-8.js} +1 -1
- package/dist/client/assets/{agent-lane-detail-Db7KyAlf.js → agent-lane-detail-Ti3trpfH.js} +1 -1
- package/dist/client/assets/{agent-lane-preview-B8lsQJOQ.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-CX0wTcnF.js → agent-lanes-model-DMAdqCmK.js} +1 -1
- package/dist/client/assets/{agent-master-model-C-KdOFDK.js → agent-master-model-Bk_yuUXJ.js} +1 -1
- package/dist/client/assets/{agent-specialization-CiVxQsFT.js → agent-specialization-DDc7mLCW.js} +1 -1
- package/dist/client/assets/agents-screen-BYakbO50.css +1 -0
- package/dist/client/assets/{api-B9_IqFKY.js → api-BQYTwoz6.js} +1 -1
- package/dist/client/assets/{api-CaROe5_H.js → api-DSqpVKC7.js} +1 -1
- package/dist/client/assets/{arc.es-BzhWalCl.js → arc.es-C1SQHJ3k.js} +1 -1
- package/dist/client/assets/{arrow-left-PuKdO3NM.js → arrow-left-MVUKauwQ.js} +1 -1
- package/dist/client/assets/{arrow-right-ldbfp4SZ.js → arrow-right-Bp-FpE5V.js} +1 -1
- package/dist/client/assets/{arrow-up-right-Hn754ybA.js → arrow-up-right-BPedAgxO.js} +1 -1
- package/dist/client/assets/{book-open-BlJnpf2U.js → book-open-CV98WMSp.js} +1 -1
- package/dist/client/assets/{bot-CfN9PSBF.js → bot-B4zLQ4IN.js} +1 -1
- package/dist/client/assets/{cache-DEy9E34b.js → cache-DGBo3vIf.js} +1 -1
- package/dist/client/assets/chat-api-DSJMBYoT.js +2 -0
- package/dist/client/assets/chat-message-markup-91DIry6R.js +1 -0
- package/dist/client/assets/chat-space-model-aW3Fd8_U.js +4 -0
- package/dist/client/assets/chat-transport-DNS5CB2I.js +1 -0
- package/dist/client/assets/{check-B8dMv3Is.js → check-lrJ3a73a.js} +1 -1
- package/dist/client/assets/{chevron-down-B5eMsn5c.js → chevron-down-l1mrh5S9.js} +1 -1
- package/dist/client/assets/{chevron-right-C7UGFpkl.js → chevron-right-DrfqcerI.js} +1 -1
- package/dist/client/assets/{chevron-up-BHOEgHcn.js → chevron-up-CETZJzjV.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-C5X-kFhb.js → chunk-HRAB3GC3-DbVLgbWX.js} +1 -1
- package/dist/client/assets/{clock-DFcRbtrl.js → clock-BV1aqPkK.js} +1 -1
- package/dist/client/assets/{code-xml-BmyLM0I2.js → code-xml-BhcNbLWU.js} +1 -1
- package/dist/client/assets/{coffee-C_D9zooM.js → coffee-D7EAOdCk.js} +1 -1
- package/dist/client/assets/{compass-DTZdCpv9.js → compass-63TUaz5_.js} +1 -1
- package/dist/client/assets/content-B1lgE8qr.js +1 -0
- package/dist/client/assets/content-B5l11YyQ.js +1 -0
- package/dist/client/assets/content-BNZOZEpX.js +1 -0
- package/dist/client/assets/content-BRIxP155.js +1 -0
- package/dist/client/assets/content-BWd8gt8L.js +1 -0
- package/dist/client/assets/content-BfwS2jAK.js +1 -0
- package/dist/client/assets/content-C4p43_eT.js +1 -0
- package/dist/client/assets/content-CdYfaoDV.js +1 -0
- package/dist/client/assets/content-CzldLxw0.js +1 -0
- package/dist/client/assets/content-D-olnc4U.js +1 -0
- package/dist/client/assets/content-DTioimq4.js +1 -0
- package/dist/client/assets/content-LOebm3_d.js +1 -0
- package/dist/client/assets/content-nGlEZhUI.js +1 -0
- package/dist/client/assets/content-oyzDM-LK.js +1 -0
- package/dist/client/assets/content-x1PHxED7.js +1 -0
- package/dist/client/assets/content-zX3ZY3T9.js +1 -0
- package/dist/client/assets/{context-budget-DemtXu7E.js → context-budget-8qFKqM-j.js} +1 -1
- package/dist/client/assets/{conversation-icons-BQ4OeOmr.js → conversation-icons-Tqba2d56.js} +1 -1
- package/dist/client/assets/conversation-model-FxDeWlle.js +1 -0
- package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +1 -0
- package/dist/client/assets/conversations-DoAAO6kA.js +1 -0
- package/dist/client/assets/{copy-D9WUpQRf.js → copy-xKeM5ZtU.js} +1 -1
- package/dist/client/assets/{cpu-Ck_4tB_-.js → cpu-BOTa_WLr.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DkjnzvcJ.js → createLucideIcon-zZ8Hx7er.js} +1 -1
- package/dist/client/assets/{credentials-C4VXz2hr.js → credentials-OeoF-VKJ.js} +1 -1
- package/dist/client/assets/ctx-panel-BC8fpcWJ.css +1 -0
- package/dist/client/assets/direct-voice-BbLPuJ04.js +2 -0
- package/dist/client/assets/direct-voice-DbO7CSv_.css +1 -0
- package/dist/client/assets/discover-DJFxyV1k.js +2 -0
- package/dist/client/assets/embed-entry-Lyvu0Kfc.js +2 -0
- package/dist/client/assets/{external-link-RT4Ph-6-.js → external-link-CUObqmgX.js} +1 -1
- package/dist/client/assets/{eye-CtqSV8BS.js → eye-LrO-cXQt.js} +1 -1
- package/dist/client/assets/{file-code-corner-D_Aptal2.js → file-code-corner-CsU7jJpu.js} +1 -1
- package/dist/client/assets/{file-text-ChtICwub.js → file-text-CnISiiw6.js} +1 -1
- package/dist/client/assets/{flag-CqdOxVkI.js → flag-C4wl8z2-.js} +1 -1
- package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +1 -0
- package/dist/client/assets/{floor-context-model-DZBpo_oD.js → floor-context-model-rWKqaKmV.js} +1 -1
- package/dist/client/assets/{floor-message-passes-CJh9f8Jp.js → floor-message-passes-CO3Ix_wR.js} +1 -1
- package/dist/client/assets/{folder-0fWevPvQ.js → folder-D5prSkzz.js} +1 -1
- package/dist/client/assets/{gauge-Dgtfxf_o.js → gauge-D9_5iJEm.js} +1 -1
- package/dist/client/assets/{gestures-BDCZ1FRG.js → gestures-QZub3Ot9.js} +1 -1
- package/dist/client/assets/{git-branch-CA3cHKCI.js → git-branch-B0_fPLO7.js} +1 -1
- package/dist/client/assets/{go-shortcuts-DKtw4qYx.js → go-shortcuts-DicR7sUf.js} +1 -1
- package/dist/client/assets/home-moving-signal-rpMhsOJB.js +1 -0
- package/dist/client/assets/home-now-card-ByE6Umcx.js +1 -0
- package/dist/client/assets/{home-now-card-nano-D1ScGrgv.js → home-now-card-nano-B5Dv3-pb.js} +1 -1
- package/dist/client/assets/hooks-_eCZZPsR.js +2 -0
- package/dist/client/assets/index-724SdE6r.js +1 -0
- package/dist/client/assets/{index-CvsM3jm8.js → index-CHD0qcfL.js} +1 -1
- package/dist/client/assets/index-CN4rBB_s.css +1 -0
- package/dist/client/assets/index-D1d98iYf.js +1 -0
- package/dist/client/assets/index-EsrkGBcv.js +10 -0
- package/dist/client/assets/index-gGHPA-By.js +1 -0
- package/dist/client/assets/{inspector-panel-BLhDODb3.js → inspector-panel-BkgUDn6G.js} +2 -2
- package/dist/client/assets/{keyboard-nav-CXfav14z.js → keyboard-nav-DDHegDbx.js} +1 -1
- package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
- package/dist/client/assets/{lane-observe-BD21P8BB.js → lane-observe-CteDwdD-.js} +3 -3
- package/dist/client/assets/{lane-roster-store-DzNHP392.js → lane-roster-store-D-RSWjb-.js} +1 -1
- package/dist/client/assets/{layers-Bolb8ejU.js → layers-C8PDiMul.js} +1 -1
- package/dist/client/assets/{layout-grid-DI9tVJ2E.js → layout-grid-Cor2frzj.js} +1 -1
- package/dist/client/assets/left-Bn5X7x2o.js +2 -0
- package/dist/client/assets/left-BqS0fYX1.js +1 -0
- package/dist/client/assets/left-CTCeeeD3.js +1 -0
- package/dist/client/assets/left-DhtVPVux.js +1 -0
- package/dist/client/assets/left-K39b-Wvx.js +2 -0
- package/dist/client/assets/left-KGmueNPt.js +1 -0
- package/dist/client/assets/left-P_GOYB-s.js +1 -0
- package/dist/client/assets/left-advisor-B0N47De2.js +1 -0
- package/dist/client/assets/left-agents-CsSNc51Y.js +1 -0
- package/dist/client/assets/left-default-BlO5LP2T.js +1 -0
- package/dist/client/assets/left-lanes-C4PhaJE6.js +1 -0
- package/dist/client/assets/left-mission-BjTE5vPa.js +1 -0
- package/dist/client/assets/library-CkWNPHRp.js +1 -0
- package/dist/client/assets/{loader-circle-DurUYl7E.js → loader-circle-OvccU82H.js} +1 -1
- package/dist/client/assets/{local-agents-D9fYYRyj.js → local-agents-BqnoxJrq.js} +1 -1
- package/dist/client/assets/log-in-7SnYqW5w.js +1 -0
- package/dist/client/assets/{machine-children-RGS4Q0r6.js → machine-children-DxcqCLmd.js} +1 -1
- package/dist/client/assets/media-blobs-Bi8pxr1u.js +1 -0
- package/dist/client/assets/{mentions-Ctw1ECUC.js → mentions-ByUvhS-v.js} +1 -1
- package/dist/client/assets/{mesh-ops-CGpRk4ik.js → mesh-ops-CiZ8xSAx.js} +1 -1
- package/dist/client/assets/{mesh-view-store-CliSYsmt.js → mesh-view-store-DZvJC4KU.js} +1 -1
- package/dist/client/assets/{message-circle-CSiJj6yo.js → message-circle-CxRVKNE-.js} +1 -1
- package/dist/client/assets/message-markup-BQW5jdJw.js +15 -0
- package/dist/client/assets/message-markup-Zwo3t4cI.js +1 -0
- package/dist/client/assets/{message-square-NmXWtWLR.js → message-square-BxesYglW.js} +1 -1
- package/dist/client/assets/mission-control-model-BpJHDV5D.js +1 -0
- package/dist/client/assets/{mission-control-store-DZ29Mlj1.js → mission-control-store-elEEsIvb.js} +1 -1
- package/dist/client/assets/{mission-wall-DOuGOxQy.js → mission-wall-CAo4BKfa.js} +1 -1
- package/dist/client/assets/monitor-DTTYEb73.js +1 -0
- package/dist/client/assets/{nav-destinations-CyXnw9kh.js → nav-destinations-uorRqFxf.js} +1 -1
- package/dist/client/assets/{observe-CkfOxYx_.js → observe-BJqERJVj.js} +1 -1
- package/dist/client/assets/{operator-attention-DGR4kOog.js → operator-attention-DBaRg5ep.js} +1 -1
- package/dist/client/assets/{page-status-CkS3SZu-.js → page-status-BswZLqvA.js} +1 -1
- package/dist/client/assets/{panel-right-BNTJhy8M.js → panel-right-Bv7sP_fc.js} +1 -1
- package/dist/client/assets/paperclip-BjcuP_Hx.js +1 -0
- package/dist/client/assets/{pause-DWS7YGQ3.js → pause-C2XTlkjs.js} +1 -1
- package/dist/client/assets/{persistent-state-xsuk6Kc-.js → persistent-state-KRk_yb0q.js} +1 -1
- package/dist/client/assets/{pin-DWlD1BOF.js → pin-C2mFOV1l.js} +1 -1
- package/dist/client/assets/{play-D_Pggug4.js → play-FT6K3It1.js} +1 -1
- package/dist/client/assets/{plus-D_wLGJGT.js → plus-DFDDeGKu.js} +1 -1
- package/dist/client/assets/profile-DTmzN16I.js +1 -0
- package/dist/client/assets/{projects-inbox-DvbqJO3q.js → projects-inbox-C0FUCv_p.js} +1 -1
- package/dist/client/assets/projects-inbox-ColX6lpx.css +1 -0
- package/dist/client/assets/provider-Dojd8quC.js +1 -0
- package/dist/client/assets/{proxy-DOG46ja4.js → proxy-AJsmwA6h.js} +1 -1
- package/dist/client/assets/{radio-C_jtwbFP.js → radio-DRoOZsws.js} +1 -1
- package/dist/client/assets/{refresh-cw-Da9DDLk2.js → refresh-cw-BmVr7sCD.js} +1 -1
- package/dist/client/assets/resolve-panes-pbY1fCWi.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +1 -0
- package/dist/client/assets/right-49kO-6nD.js +1 -0
- package/dist/client/assets/right-APtItA8A.js +1 -0
- package/dist/client/assets/right-BJwhPqtn.js +1 -0
- package/dist/client/assets/right-BPqrf4ek.js +1 -0
- package/dist/client/assets/right-D7djOy6K.js +1 -0
- package/dist/client/assets/right-DKOUCRob.js +1 -0
- package/dist/client/assets/right-DMNrVzg7.js +1 -0
- package/dist/client/assets/{right-BLJsc2-p.js → right-DWPVB-nK.js} +1 -1
- package/dist/client/assets/right-DppeMCy4.js +1 -0
- package/dist/client/assets/right-GAL5Mw1v.js +1 -0
- package/dist/client/assets/{rocket-DyrYDo8V.js → rocket-CGl4RTV7.js} +1 -1
- package/dist/client/assets/router-DCtl8wqb.js +1 -0
- package/dist/client/assets/runtime-picker-DXu2bOTh.js +1 -0
- package/dist/client/assets/{scope-views-B7PZGlhY.js → scope-views-RUWwCVAr.js} +1 -1
- package/dist/client/assets/scout-voice-CZx60X6E.js +1 -0
- package/dist/client/assets/{scoutbot-markdown-Bz0Vbto2.js → scoutbot-markdown-BKEBSbG0.js} +1 -1
- package/dist/client/assets/{scroll-text-DwC8r2g6.js → scroll-text-DNjxhyO2.js} +1 -1
- package/dist/client/assets/{search-C4VlW_0l.js → search-DT42oyRW.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +1 -0
- package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +1 -0
- package/dist/client/assets/{selection-bridge-B5jqyMR9.js → selection-bridge-x3wFUjxj.js} +1 -1
- package/dist/client/assets/{send-horizontal-pOtGI7FM.js → send-horizontal-CH0-fbZE.js} +1 -1
- package/dist/client/assets/{send-to-agent-session-BZGq_ycy.js → send-to-agent-session-DoKCDBJ4.js} +1 -1
- package/dist/client/assets/{server-ms1yxUYJ.js → server-QfsgMLk1.js} +1 -1
- package/dist/client/assets/{session-catalog-s-T_w41t.js → session-catalog-CvSdPHPe.js} +1 -1
- package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +1 -0
- package/dist/client/assets/session-recap-queue-41l2XVkI.js +1 -0
- package/dist/client/assets/{session-table-CDx_16xf.js → session-table-L-pns6Zl.js} +1 -1
- package/dist/client/assets/{sessions-view-DzYGsKWS.js → sessions-view-Dc-QAa7O.js} +1 -1
- package/dist/client/assets/{settings-TJIkkZ0P.js → settings-BVh7kldq.js} +1 -1
- package/dist/client/assets/{shared-work-artifacts-4IIQXQfc.js → shared-work-artifacts-DfNl9KTo.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-CHf3ntw0.js → sliders-horizontal-782VC_yy.js} +1 -1
- package/dist/client/assets/{sparkles-BbOFw3d0.js → sparkles-BjHq_DNK.js} +1 -1
- package/dist/client/assets/{sse-v5QLsOHV.js → sse-BCPRocpq.js} +1 -1
- package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +1 -0
- package/dist/client/assets/{tail-events-DQ46QBW1.js → tail-events-d0yAYxR0.js} +1 -1
- package/dist/client/assets/{terminal-96JWDYDL.js → terminal-hQKQygcf.js} +1 -1
- package/dist/client/assets/{terminal-relay-Bfx8pg80.js → terminal-relay-Bxs1hp-j.js} +1 -1
- package/dist/client/assets/{terminal-sessions-Ch9aYlgi.js → terminal-sessions-3RfJpen8.js} +1 -1
- package/dist/client/assets/{terminal-takeover-BlpxpvSp.js → terminal-takeover-Ay5C2c-M.js} +1 -1
- package/dist/client/assets/theme-vars-DNK0nn3k.js +1 -0
- package/dist/client/assets/triangle-alert-CHoRGdVO.js +1 -0
- package/dist/client/assets/use-beside-DoRC1nt0.js +1 -0
- package/dist/client/assets/{use-conversation-list-A_YUf8lo.js → use-conversation-list-CY4JciOV.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-DFs_u-vM.js → use-fleet-active-asks-CymmXWH4.js} +1 -1
- package/dist/client/assets/{use-mesh-node-state-Ck9CYplv.js → use-mesh-node-state-BvaqtODo.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-Be1WmwCg.js → use-mesh-ops-items-BSYaqH_0.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-D7n3vK8t.js → use-reduced-motion-3gMYZNIp.js} +1 -1
- package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-Dr-OjNFF.js → useAgentHoverCard-BANmpjMh.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +1 -0
- package/dist/client/assets/{useEmbedHeadline-BL8wQawZ.js → useEmbedHeadline-D6pJRxUg.js} +1 -1
- package/dist/client/assets/usePersistentState-B8lP7TRb.js +1 -0
- package/dist/client/assets/{usePierreRuntime-DJkRHMoe.js → usePierreRuntime-BAQdiN0L.js} +1 -1
- package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +1 -0
- package/dist/client/assets/users-BUjx36gx.js +1 -0
- package/dist/client/assets/voice-paths-CJUuBPh3.css +1 -0
- package/dist/client/assets/voice-turn-DftA0iIb.css +1 -0
- package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +1 -0
- package/dist/client/assets/{wrench-BsMTSeji.js → wrench-DR0i5BU7.js} +1 -1
- package/dist/client/assets/{x-DI1ktCYb.js → x-DAehov0E.js} +1 -1
- package/dist/client/assets/{xterm-B1YBE4Gq.js → xterm-BXQiLVnI.js} +1 -1
- package/dist/client/assets/{zap-sKPkh4sQ.js → zap-CEjZNZbI.js} +1 -1
- package/dist/client/crew/sheets/eye-plate-v1/look-down-left.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-down-right.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-down.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-up-left.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-up-right.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
- package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
- package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-down-left.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-down-right.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-down.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-up-left.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-up-right.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
- package/dist/client/index.html +15 -3
- package/dist/drizzle/0019_session_actor_targets.sql +227 -0
- package/dist/drizzle/0020_message_reactions.sql +11 -0
- package/dist/drizzle/README.md +19 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/highlights-eq9cgrbb.scm +604 -0
- package/dist/highlights-ghv9g403.scm +205 -0
- package/dist/highlights-hk7bwhj4.scm +284 -0
- package/dist/highlights-r812a2qc.scm +150 -0
- package/dist/highlights-x6tmsnaa.scm +115 -0
- package/dist/injections-73j83es3.scm +27 -0
- package/dist/main.mjs +1721 -837
- package/dist/node/main.mjs +264 -39
- package/dist/pairing-runtime-controller.mjs +1090 -570
- package/dist/runtime/base-daemon.mjs +14272 -61
- package/dist/runtime/broker-daemon.mjs +16999 -1243
- package/dist/runtime/broker-process-manager.mjs +101 -6
- package/dist/runtime/mesh-discover.mjs +101 -6
- package/dist/scout-control-plane-web.mjs +27057 -6178
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- package/dist/update-helper.mjs +294 -56
- package/package.json +2 -2
- package/dist/client/assets/ActivityScreen-DCALiEXY.js +0 -1
- package/dist/client/assets/AgentAdventures-NwTKeF0F.js +0 -1
- package/dist/client/assets/AgentAvatar-BIwg54Tj.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +0 -1
- package/dist/client/assets/AgentFloorView-l2wNKFob.js +0 -1
- package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +0 -1
- package/dist/client/assets/AgentLanesView-aAyC7lHf.js +0 -2
- package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +0 -1
- package/dist/client/assets/AgentSessions-Cox2zS-e.js +0 -6
- package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +0 -1
- package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +0 -1
- package/dist/client/assets/AgentsSubnav-BOobgtGE.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +0 -1
- package/dist/client/assets/BrokerScreen-CejzhRsB.js +0 -8
- package/dist/client/assets/ConversationComposer-B7RU6LKd.js +0 -1
- package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +0 -1
- package/dist/client/assets/ConversationHeader-CCSU8uo_.js +0 -1
- package/dist/client/assets/ConversationScreen-Brfas2y0.css +0 -1
- package/dist/client/assets/ConversationScreen-tTP6B_F-.js +0 -2
- package/dist/client/assets/ConversationStatus-CK-YfLpi.js +0 -1
- package/dist/client/assets/CrewAvatar-CJhuqTsJ.js +0 -1
- package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +0 -1
- package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
- package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +0 -1
- package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +0 -1
- package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +0 -1
- package/dist/client/assets/HarnessMark-Bt47OeHy.js +0 -1
- package/dist/client/assets/HarnessesScreen-M84sFjWY.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +0 -1
- package/dist/client/assets/MeshScreen-DlfiMlaR.js +0 -1
- package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +0 -1
- package/dist/client/assets/MissionControlView-DpGhxG4a.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +0 -1
- package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +0 -1
- package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +0 -1
- package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +0 -1
- package/dist/client/assets/NewChatComposer-JjLbm3W2.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +0 -22
- package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +0 -1
- package/dist/client/assets/OpsScreen-DJq-aBmX.js +0 -1
- package/dist/client/assets/OpsSubnav-9sURjajO.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +0 -1
- package/dist/client/assets/ProjectsInbox-Bs8I__my.js +0 -2
- package/dist/client/assets/ProjectsRail-Deb38OJ1.js +0 -1
- package/dist/client/assets/ProjectsScreen-CgLiYiss.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +0 -1
- package/dist/client/assets/Provider-5Hotn7NQ.js +0 -5
- package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +0 -1
- package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +0 -2
- package/dist/client/assets/SessionObserve-DaqDhqDI.js +0 -12
- package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +0 -1
- package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +0 -1
- package/dist/client/assets/SessionsScreen-R8QKvoey.js +0 -1
- package/dist/client/assets/SettingsDrawer-BDapR4E9.js +0 -3
- package/dist/client/assets/SettingsScreen-DirtO7Z0.js +0 -1
- package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +0 -1
- package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +0 -2
- package/dist/client/assets/Terminal-D-DsQlmV.js +0 -4
- package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +0 -1
- package/dist/client/assets/WorkDetailScreen-CwtRCm_-.js +0 -5
- package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +0 -1
- package/dist/client/assets/WorldMinimap-Blqg0d5r.js +0 -1
- package/dist/client/assets/agent-autocomplete-C7xwIcwd.css +0 -1
- package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +0 -10
- package/dist/client/assets/agents-screen-BMu6PpRY.css +0 -1
- package/dist/client/assets/arrow-down-WoVlkUmg.js +0 -1
- package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +0 -46
- package/dist/client/assets/chunk-T65CQEWV-CSVUz2rY.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +0 -2
- package/dist/client/assets/content-B5Q4pb9R.js +0 -1
- package/dist/client/assets/content-BK1IfOZs.js +0 -1
- package/dist/client/assets/content-BeEsWLEm.js +0 -1
- package/dist/client/assets/content-BkOwEknW.js +0 -1
- package/dist/client/assets/content-C32W5kAG.js +0 -1
- package/dist/client/assets/content-CoqyLs9v.js +0 -1
- package/dist/client/assets/content-CwpdIS5b.js +0 -1
- package/dist/client/assets/content-DS2OkJ3Q.js +0 -1
- package/dist/client/assets/content-DXKaPDfn.js +0 -1
- package/dist/client/assets/content-DZt5-dkI.js +0 -1
- package/dist/client/assets/content-DbQJH8L1.js +0 -1
- package/dist/client/assets/content-DetoiaHq.js +0 -1
- package/dist/client/assets/content-Dhu3wL7J.js +0 -1
- package/dist/client/assets/content-Dpv34iZu.js +0 -1
- package/dist/client/assets/content-TtQJb61D.js +0 -1
- package/dist/client/assets/content-ymNb2R7g.js +0 -1
- package/dist/client/assets/conversation-model-BGFHoxQ0.js +0 -1
- package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +0 -1
- package/dist/client/assets/conversations-Cbg9h_Af.js +0 -1
- package/dist/client/assets/ctx-panel-F05jXK4Q.css +0 -1
- package/dist/client/assets/discover-C8IOY7_K.js +0 -2
- package/dist/client/assets/embed-entry-CG3CfCbm.js +0 -2
- package/dist/client/assets/home-moving-signal-B7m-ngb2.js +0 -1
- package/dist/client/assets/home-now-card-DduXkHRR.js +0 -1
- package/dist/client/assets/hooks-C6VyQTQe.js +0 -2
- package/dist/client/assets/index-C5cX8dkl.js +0 -1
- package/dist/client/assets/index-C8uS5szO.js +0 -10
- package/dist/client/assets/index-Ck1__1yL.css +0 -1
- package/dist/client/assets/index-ClOOrVG1.js +0 -1
- package/dist/client/assets/index-Crtgfc9I.js +0 -1
- package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
- package/dist/client/assets/left-B-_z_nqj.js +0 -2
- package/dist/client/assets/left-B1LY7rJc.js +0 -1
- package/dist/client/assets/left-C6bdjWcG.js +0 -2
- package/dist/client/assets/left-CF4iuqlz.js +0 -1
- package/dist/client/assets/left-DLtNyZl1.js +0 -1
- package/dist/client/assets/left-Fpxoq-VY.js +0 -1
- package/dist/client/assets/left-N2wXfTlp.js +0 -1
- package/dist/client/assets/left-advisor-CeIjCKbd.js +0 -1
- package/dist/client/assets/left-agents-upjHVlOj.js +0 -1
- package/dist/client/assets/left-default-08gmdCtb.js +0 -1
- package/dist/client/assets/left-lanes-Cvsp73Hw.js +0 -1
- package/dist/client/assets/left-mission-W1LLaz74.js +0 -1
- package/dist/client/assets/library-DLKBVUJ6.js +0 -1
- package/dist/client/assets/message-markup-DgFSyb3f.js +0 -15
- package/dist/client/assets/mission-control-model-C30vU1Fe.js +0 -1
- package/dist/client/assets/profile-C3KgiZvc.js +0 -1
- package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
- package/dist/client/assets/resolve-panes-DuowGRTk.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +0 -1
- package/dist/client/assets/right-B9OUA6Ho.js +0 -1
- package/dist/client/assets/right-BDQnjetX.js +0 -1
- package/dist/client/assets/right-BUbKHmRH.js +0 -1
- package/dist/client/assets/right-Ci2IcD4s.js +0 -1
- package/dist/client/assets/right-CmCce3e5.js +0 -1
- package/dist/client/assets/right-D7w0zM5a.js +0 -1
- package/dist/client/assets/right-DIoON_bv.js +0 -1
- package/dist/client/assets/right-E0Jr3VN5.js +0 -1
- package/dist/client/assets/right-lCdAk9dW.js +0 -1
- package/dist/client/assets/router-BKiMcYa7.js +0 -1
- package/dist/client/assets/runtime-picker-DdsttHHc.js +0 -1
- package/dist/client/assets/scout-voice-DOQ_B77g.js +0 -1
- package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +0 -1
- package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
- package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +0 -1
- package/dist/client/assets/use-beside-Df-F2Uvg.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +0 -1
- package/dist/drizzle/meta/0000_snapshot.json +0 -4575
- package/dist/drizzle/meta/0001_snapshot.json +0 -4624
- package/dist/drizzle/meta/0002_snapshot.json +0 -4631
- package/dist/drizzle/meta/0003_snapshot.json +0 -4952
- package/dist/drizzle/meta/0004_snapshot.json +0 -5235
- package/dist/drizzle/meta/0005_snapshot.json +0 -5599
- package/dist/drizzle/meta/0006_snapshot.json +0 -5606
- package/dist/drizzle/meta/0007_snapshot.json +0 -5767
- package/dist/drizzle/meta/0008_snapshot.json +0 -5774
- package/dist/drizzle/meta/0009_snapshot.json +0 -6262
- package/dist/drizzle/meta/0010_snapshot.json +0 -6286
- package/dist/drizzle/meta/0011_snapshot.json +0 -6337
- package/dist/drizzle/meta/0012_snapshot.json +0 -6458
- package/dist/drizzle/meta/0013_snapshot.json +0 -6465
- package/dist/drizzle/meta/0014_snapshot.json +0 -6503
- package/dist/drizzle/meta/0015_snapshot.json +0 -6596
- package/dist/drizzle/meta/0016_snapshot.json +0 -6611
- package/dist/drizzle/meta/0017_snapshot.json +0 -6785
- package/dist/drizzle/meta/0018_snapshot.json +0 -6804
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as b,j as g}from"./index-C8uS5szO.js";function j(n,r,o){return o==="iso"?{x:Math.sqrt(3)/2*(n-r),y:(n+r)/2}:{x:n,y:r}}function Z(n,r,o){return o==="iso"?{x:r+n/Math.sqrt(3),y:r-n/Math.sqrt(3)}:{x:n,y:r}}function v(n,r,o){const a=[[-n/2,-r/2],[n/2,-r/2],[n/2,r/2],[-n/2,r/2]].map(([u,p])=>j(u,p,o)),i=Math.max(...a.map(u=>Math.abs(u.x))),x=Math.max(...a.map(u=>Math.abs(u.y))),c=Math.min(156/Math.max(1,i*2),88/Math.max(1,x*2));return{ratio:c,corners:a,point:(u,p)=>({x:88+u*c,y:56+p*c})}}const C=2e-4,R=8,q=2;function L(n){const r=(o,a)=>Math.min(1,Math.max(0,(n-o)/(a-o)));return{world:r(.05,.18),beacons:1-r(.14,.34)}}function I(n,r){const o=n*r;return!Number.isFinite(o)||o<=0?n:Math.min(R,Math.max(C,o))}function W(n,r=0){const o=r===1?n*16:r===2?n*400:n;return Math.exp(-Math.max(-600,Math.min(600,o))*.003)}function w(n,r,o,a={x:0,y:0}){const i=I(n,o),x=i/n;return{zoom:i,pan:{x:a.x+(r.x-a.x)*x,y:a.y+(r.y-a.y)*x}}}function $(n,r,o,a=96){const i=(x,c,u)=>{if(!Number.isFinite(x))return 0;const p=Math.min(a,c,Math.max(0,u/2)),M=Math.max(0,u/2-p+c/2);return Math.min(M,Math.max(-M,x))};return{x:i(n.x,r.width,o.width),y:i(n.y,r.height,o.height)}}function E(n,r,o){return w(n,r,Math.exp(-o*.002))}function N({width:n,height:r,projection:o,size:a,scale:i,zoom:x,pan:c,workspaces:u,onPan:p,onZoom:M}){const _=b.useRef(null),h=b.useRef(null),y=b.useRef(!1),l=v(n,r,o),P=l.point(-c.x/i,-c.y/i),d={x:P.x-a.width/i*l.ratio/2,y:P.y-a.height/i*l.ratio/2,width:a.width/i*l.ratio,height:a.height/i*l.ratio};b.useEffect(()=>{const t=_.current;if(!t)return;const e=s=>{s.preventDefault(),s.stopPropagation();const m=s.deltaY*(s.deltaMode===1?16:s.deltaMode===2?112:1),f=E(x,c,m);p(f.pan),M(f.zoom)};return t.addEventListener("wheel",e,{passive:!1}),()=>t.removeEventListener("wheel",e)},[x,c,p,M]);const F=t=>p({x:-t.x*i,y:-t.y*i});return g.jsxs("aside",{ref:_,className:"shared-floor__minimap","aria-label":"World minimap",title:"Drag to move · Scroll to zoom",onPointerDown:t=>{if(t.button!==0||h.current)return;t.stopPropagation(),y.current=!1;const e=t.currentTarget.getBoundingClientRect(),s=(t.clientX-e.left)*176/e.width,m=(t.clientY-e.top)*112/e.height,O=s>=d.x&&s<=d.x+d.width&&m>=d.y&&m<=d.y+d.height||t.target.closest("button")?c:{x:-(s-88)/l.ratio*i,y:-(m-56)/l.ratio*i};p(O),h.current={x:t.clientX,y:t.clientY,pan:O,pointer:t.pointerId},(t.target.closest("button")??t.currentTarget).setPointerCapture(t.pointerId)},onPointerMove:t=>{const e=h.current;if(!e||e.pointer!==t.pointerId)return;const s=t.currentTarget.getBoundingClientRect(),m=(t.clientX-e.x)*176/s.width,f=(t.clientY-e.y)*112/s.height;Math.hypot(m,f)>3&&(y.current=!0),y.current&&p({x:e.pan.x-m/l.ratio*i,y:e.pan.y-f/l.ratio*i})},onPointerUp:t=>{if(h.current?.pointer!==t.pointerId)return;h.current=null;const e=t.target.closest("button")??t.currentTarget;e.hasPointerCapture(t.pointerId)&&e.releasePointerCapture(t.pointerId)},onPointerCancel:()=>{h.current=null,y.current=!0},onLostPointerCapture:()=>{h.current=null},children:[g.jsxs("svg",{viewBox:"0 0 176 112","aria-hidden":"true",children:[g.jsx("polygon",{points:l.corners.map(t=>{const e=l.point(t.x,t.y);return`${e.x},${e.y}`}).join(" "),className:"shared-floor__mini-ground"}),g.jsx("rect",{...d,className:"shared-floor__mini-camera"})]}),u.map(t=>{const e=j(t.x-n/2,t.y-r/2,o),s=l.point(e.x,e.y);return g.jsx("button",{type:"button","aria-label":t.label,style:{left:`${s.x/176*100}%`,top:`${s.y/112*100}%`},onClick:m=>{m.stopPropagation(),(m.detail===0||!y.current)&&F(e)}},t.id)})]})}const D=Object.freeze(Object.defineProperty({__proto__:null,WorldMinimap:N},Symbol.toStringTag,{value:"Module"}));export{N as W,q as Z,L as a,D as b,$ as c,j as p,Z as u,W as w,w as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.s-scoutbot-chip{display:inline-flex;align-items:center;gap:var(--space-xs);max-width:38vw;height:18px;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;line-height:var(--leading-none);cursor:pointer;transition:color .12s ease,border-color .12s ease,background-color .12s ease,opacity .12s ease}.s-scoutbot-chip-dot{position:relative;top:-1.5px}.s-scoutbot-chip--idle{padding:1px var(--space-2xs)}.s-scoutbot-chip--idle .s-scoutbot-chip-icon{color:var(--muted)}.s-scoutbot-chip--idle:hover .s-scoutbot-chip-icon{color:var(--ink)}.s-scoutbot-chip--active{padding:1px var(--space-sm);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-scoutbot-chip--active:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.s-scoutbot-chip--active .s-scoutbot-chip-icon{color:color-mix(in srgb,var(--accent) 80%,var(--ink))}.s-scoutbot-chip--activity{padding:1px var(--space-sm);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-scoutbot-chip--activity:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--border))}.s-scoutbot-chip--activity .s-scoutbot-chip-icon{color:color-mix(in srgb,var(--accent) 90%,var(--ink))}.s-scoutbot-chip-spinner{flex-shrink:0;animation:s-scoutbot-chip-spin 1s linear infinite}@keyframes s-scoutbot-chip-spin{to{transform:rotate(360deg)}}.s-scoutbot-chip-dot--pulse{background:color-mix(in srgb,var(--accent) 80%,var(--ink));animation:s-scoutbot-chip-pulse 1.4s ease-in-out infinite}@keyframes s-scoutbot-chip-pulse{0%,to{opacity:.4}50%{opacity:1}}.s-scoutbot-chip--fresh{padding:1px var(--space-xs);color:var(--muted);border-color:color-mix(in srgb,var(--accent) 20%,var(--border));background:transparent}.s-scoutbot-chip--fresh:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.s-scoutbot-chip--fresh .s-scoutbot-chip-icon{color:color-mix(in srgb,var(--accent) 60%,var(--muted))}.s-scoutbot-chip-icon{flex-shrink:0}.s-scoutbot-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--muted)}.s-scoutbot-chip-dot--info{background:var(--muted)}.s-scoutbot-chip-dot--warn{background:color-mix(in srgb,var(--amber) 70%,var(--muted))}.s-scoutbot-chip-dot--error{background:color-mix(in srgb,var(--red) 70%,var(--muted))}.s-scoutbot-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-autocomplete{display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.agent-autocomplete-empty{padding:var(--space-md) var(--space-sm);font-size:var(--text-sm);color:var(--muted);text-align:center}.agent-autocomplete-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--ink);font-family:inherit;width:100%}.agent-autocomplete-item:hover,.agent-autocomplete-item.is-active{background:color-mix(in srgb,var(--ink) 10%,transparent)}.agent-autocomplete-item:disabled{opacity:.5;cursor:default}.agent-autocomplete-avatar{width:22px;height:22px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:700;color:var(--scout-chrome-avatar-ink);flex-shrink:0}.agent-autocomplete-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.agent-autocomplete-name{font-size:var(--text-md);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-autocomplete-handle{font-size:var(--text-xs);color:var(--dim);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-picker{position:absolute;top:calc(100% + 6px);width:240px;background:var(--bg);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000059;padding:var(--space-xs);z-index:30;display:flex;flex-direction:column;gap:var(--space-2xs)}.agent-picker--below-right{right:0}.agent-picker--below-left{left:0}.agent-picker-search{width:100%;background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);color:var(--ink);font-size:var(--text-md);padding:var(--space-xs) var(--space-sm);outline:none;font-family:inherit}.agent-picker-search:focus{border-color:color-mix(in srgb,var(--ink) 25%,transparent)}.agent-mention-wrap{position:relative;display:flex;flex-direction:column;flex:1}.agent-mention-popover{position:absolute;width:240px;background:var(--bg);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000059;padding:var(--space-xs);z-index:30}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{r as g,j as h}from"./index-C8uS5szO.js";import{m as D,p as mt,a as rs,n as Z,i as as,b as Ce,d as De,r as Rt,t as Re,f as M,e as nt,S as ls,g as B,h as Le,j as yt,k as Ae,o as R,q as X,s as xt,v as Ft,M as cs,w as Me,P as Ne,x as us,y as Ve,z as Wt,A as hs,B as tt,C as ds,c as fs}from"./use-reduced-motion-D7n3vK8t.js";import{i as H,b as ms,r as ps,s as Ht,p as Lt,d as gs,e as Be,f as ys,h as Y,t as q,j as vt,k as _t,l as xs,m as vs,n as bs,o as Ps,q as Vt,u as bt,v as ws,w as Ts,x as Ie,y as ks,z as Ss,A as Es,B as js,C as Gt,D as Cs,F as Oe,g as Ds,a as Rs,c as Ls}from"./gestures-BDCZ1FRG.js";import{E as As,J as Ms,a as Ns}from"./Provider-5Hotn7NQ.js";import{L as et}from"./loader-circle-DurUYl7E.js";import{R as ze}from"./radio-C_jtwbFP.js";import{a as Vs,M as Bs}from"./DocumentFocusViewer-f12RRQpV.js";import{C as Is}from"./chevron-down-B5eMsn5c.js";import{c as Bt}from"./createLucideIcon-DkjnzvcJ.js";import{P as Os}from"./plus-D_wLGJGT.js";import{S as zs,i as $s}from"./runtime-picker-DdsttHHc.js";import{P as Us}from"./play-D_Pggug4.js";import"./api-CaROe5_H.js";import{B as Fs}from"./bot-CfN9PSBF.js";import{a as Ws}from"./colors-CFlbwC25.js";const Hs=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],_s=Bt("history",Hs);const Gs=[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]],Ys=Bt("list-tree",Gs);const qs=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Yt=Bt("settings-2",qs);function Xs(t){return t==="x"||t==="y"?H[t]?null:(H[t]=!0,()=>{H[t]=!1}):H.x||H.y?null:(H.x=H.y=!0,()=>{H.x=H.y=!1})}function It(t){return ms(t)&&"ownerSVGElement"in t}const ut=new WeakMap;let ht;const $e=(t,e,i)=>(s,r)=>r&&r[0]?r[0][t+"Size"]:It(s)&&"getBBox"in s?s.getBBox()[e]:s[i],Ks=$e("inline","width","offsetWidth"),Zs=$e("block","height","offsetHeight");function Qs({target:t,borderBoxSize:e}){ut.get(t)?.forEach(i=>{i(t,{get width(){return Ks(t,e)},get height(){return Zs(t,e)}})})}function Js(t){t.forEach(Qs)}function ti(){typeof ResizeObserver>"u"||(ht=new ResizeObserver(Js))}function ei(t,e){ht||ti();const i=ps(t);return i.forEach(s=>{let r=ut.get(s);r||(r=new Set,ut.set(s,r)),r.add(e),ht?.observe(s)}),()=>{i.forEach(s=>{const r=ut.get(s);r?.delete(e),r?.size||ht?.unobserve(s)})}}const dt=new Set;let K;function si(){K=()=>{const t={get width(){return window.innerWidth},get height(){return window.innerHeight}};dt.forEach(e=>e(t))},window.addEventListener("resize",K)}function ii(t){return dt.add(t),K||si(),()=>{dt.delete(t),!dt.size&&typeof K=="function"&&(window.removeEventListener("resize",K),K=void 0)}}function qt(t,e){return typeof t=="function"?ii(t):ei(t,e)}function ni(t){return It(t)&&t.tagName==="svg"}function At(t,e){t.min=e.min,t.max=e.max}function I(t,e){At(t.x,e.x),At(t.y,e.y)}function Xt(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}const Ue=1e-4,oi=1-Ue,ri=1+Ue,Fe=.01,ai=0-Fe,li=0+Fe;function N(t){return t.max-t.min}function ci(t,e,i){return Math.abs(t-e)<=i}function Kt(t,e,i,s=.5){t.origin=s,t.originPoint=D(e.min,e.max,t.origin),t.scale=N(i)/N(e),t.translate=D(i.min,i.max,t.origin)-t.originPoint,(t.scale>=oi&&t.scale<=ri||isNaN(t.scale))&&(t.scale=1),(t.translate>=ai&&t.translate<=li||isNaN(t.translate))&&(t.translate=0)}function st(t,e,i,s){Kt(t.x,e.x,i.x,s?s.originX:void 0),Kt(t.y,e.y,i.y,s?s.originY:void 0)}function Zt(t,e,i,s=0){const r=s?D(i.min,i.max,s):i.min;t.min=r+e.min,t.max=t.min+N(e)}function ui(t,e,i,s){Zt(t.x,e.x,i.x,s?.x),Zt(t.y,e.y,i.y,s?.y)}function Qt(t,e,i,s=0){const r=s?D(i.min,i.max,s):i.min;t.min=e.min-r,t.max=t.min+N(e)}function pt(t,e,i,s){Qt(t.x,e.x,i.x,s?.x),Qt(t.y,e.y,i.y,s?.y)}function Jt(t,e,i,s,r){return t-=e,t=Ht(t,1/i,s),r!==void 0&&(t=Ht(t,1/r,s)),t}function hi(t,e=0,i=1,s=.5,r,a=t,n=t){if(mt.test(e)&&(e=parseFloat(e),e=D(n.min,n.max,e/100)-n.min),typeof e!="number")return;let o=D(a.min,a.max,s);t===a&&(o-=e),t.min=Jt(t.min,e,i,o,r),t.max=Jt(t.max,e,i,o,r)}function te(t,e,[i,s,r],a,n){hi(t,e[i],e[s],e[r],e.scale,a,n)}const di=["x","scaleX","originX"],fi=["y","scaleY","originY"];function ee(t,e,i,s){te(t.x,e,di,i?i.x:void 0,s?s.x:void 0),te(t.y,e,fi,i?i.y:void 0,s?s.y:void 0)}function se(t){return t.translate===0&&t.scale===1}function We(t){return se(t.x)&&se(t.y)}function ie(t,e){return t.min===e.min&&t.max===e.max}function mi(t,e){return ie(t.x,e.x)&&ie(t.y,e.y)}function ne(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function He(t,e){return ne(t.x,e.x)&&ne(t.y,e.y)}function oe(t){return N(t.x)/N(t.y)}function re(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}function U(t){return[t("x"),t("y")]}function pi(t,e,i){let s="";const r=t.x.translate/e.x,a=t.y.translate/e.y,n=i?.z||0;if((r||a||n)&&(s=`translate3d(${r}px, ${a}px, ${n}px) `),(e.x!==1||e.y!==1)&&(s+=`scale(${1/e.x}, ${1/e.y}) `),i){const{transformPerspective:c,rotate:u,pathRotation:d,rotateX:f,rotateY:m,skewX:y,skewY:x}=i;c&&(s=`perspective(${c}px) ${s}`),u&&(s+=`rotate(${u}deg) `),d&&(s+=`rotate(${d}deg) `),f&&(s+=`rotateX(${f}deg) `),m&&(s+=`rotateY(${m}deg) `),y&&(s+=`skewX(${y}deg) `),x&&(s+=`skewY(${x}deg) `)}const o=t.x.scale*e.x,l=t.y.scale*e.y;return(o!==1||l!==1)&&(s+=`scale(${o}, ${l})`),s||"none"}const _e=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],gi=_e.length,ae=t=>typeof t=="string"?parseFloat(t):t,le=t=>typeof t=="number"||rs.test(t);function yi(t,e,i,s,r,a){r?(t.opacity=D(0,i.opacity??1,xi(s)),t.opacityExit=D(e.opacity??1,0,vi(s))):a&&(t.opacity=D(e.opacity??1,i.opacity??1,s));for(let n=0;n<gi;n++){const o=_e[n];let l=ce(e,o),c=ce(i,o);if(l===void 0&&c===void 0)continue;l||(l=0),c||(c=0),l===0||c===0||le(l)===le(c)?(t[o]=Math.max(D(ae(l),ae(c),s),0),(mt.test(c)||mt.test(l))&&(t[o]+="%")):t[o]=c}(e.rotate||i.rotate)&&(t.rotate=D(e.rotate||0,i.rotate||0,s))}function ce(t,e){return t[e]!==void 0?t[e]:t.borderRadius}const xi=Ge(0,.5,gs),vi=Ge(.5,.95,Z);function Ge(t,e,i){return s=>s<t?0:s>e?1:i(Lt(t,e,s))}function bi(t,e,i){const s=as(t)?t:Ce(t);return s.start(Be("",s,e,i)),s.animation}const Pi=(t,e)=>t.depth-e.depth;class wi{constructor(){this.children=[],this.isDirty=!1}add(e){De(this.children,e),this.isDirty=!0}remove(e){Rt(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Pi),this.isDirty=!1,this.children.forEach(e)}}function Ti(t,e){const i=Re.now(),s=({timestamp:r})=>{const a=r-i;a>=e&&(nt(s),t(a-e))};return M.setup(s,!0),()=>nt(s)}class ki{constructor(){this.members=[]}add(e){De(this.members,e);for(let i=this.members.length-1;i>=0;i--){const s=this.members[i];if(s===e||s===this.lead||s===this.prevLead)continue;const r=s.instance;(!r||r.isConnected===!1)&&!s.snapshot&&(Rt(this.members,s),s.unmount())}e.scheduleRender()}remove(e){if(Rt(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const i=this.members[this.members.length-1];i&&this.promote(i)}}relegate(e){for(let i=this.members.indexOf(e)-1;i>=0;i--){const s=this.members[i];if(s.isPresent!==!1&&s.instance?.isConnected!==!1)return this.promote(s),!0}return!1}promote(e,i){const s=this.lead;if(e!==s&&(this.prevLead=s,this.lead=e,e.show(),s)){s.updateSnapshot(),e.scheduleRender();const{layoutDependency:r}=s.options,{layoutDependency:a}=e.options;(r===void 0||r!==a)&&(e.resumeFrom=s,i&&(s.preserveOpacity=!0),s.snapshot&&(e.snapshot=s.snapshot,e.snapshot.latestValues=s.animationValues||s.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}const ft={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Pt=["","X","Y","Z"],Si=1e3;let Ei=0;function wt(t,e,i,s){const{latestValues:r}=e;r[t]&&(i[t]=r[t],e.setStaticValue(t,0),s&&(s[t]=0))}function Ye(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:e}=t.options;if(!e)return;const i=Ps(e);if(window.MotionHasOptimisedAnimation(i,"transform")){const{layout:r,layoutId:a}=t.options;window.MotionCancelOptimisedAnimation(i,"transform",M,!(r||a))}const{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&Ye(s)}function qe({attachResizeListener:t,defaultParent:e,measureScroll:i,checkIsScrollRoot:s,resetTransform:r}){return class{constructor(n={},o=e?.()){this.id=Ei++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Di),this.nodes.forEach(Vi),this.nodes.forEach(Bi),this.nodes.forEach(Ri)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=n,this.root=o?o.root||o:this,this.path=o?[...o.path,o]:[],this.parent=o,this.depth=o?o.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new wi)}addEventListener(n,o){return this.eventHandlers.has(n)||this.eventHandlers.set(n,new ls),this.eventHandlers.get(n).add(o)}notifyListeners(n,...o){const l=this.eventHandlers.get(n);l&&l.notify(...o)}hasListeners(n){return this.eventHandlers.has(n)}mount(n){if(this.instance)return;this.isSVG=It(n)&&!ni(n),this.instance=n;const{layoutId:o,layout:l,visualElement:c}=this.options;if(c&&!c.current&&c.mount(n),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||o)&&(this.isLayoutDirty=!0),t){let u,d=0;const f=()=>this.root.updateBlockedByResize=!1;M.read(()=>{d=window.innerWidth}),t(n,()=>{const m=window.innerWidth;m!==d&&(d=m,this.root.updateBlockedByResize=!0,u&&u(),u=Ti(f,250),ft.hasAnimatedSinceResize&&(ft.hasAnimatedSinceResize=!1,this.nodes.forEach(de)))})}o&&this.root.registerSharedNode(o,this),this.options.animate!==!1&&c&&(o||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:d,hasRelativeLayoutChanged:f,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const y=this.options.transition||c.getDefaultTransition()||Ui,{onLayoutAnimationStart:x,onLayoutAnimationComplete:P}=c.getProps(),b=!this.targetLayout||!He(this.targetLayout,m),w=!d&&f;if(this.options.layoutRoot||this.resumeFrom||w||d&&(b||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const k={...ys(y,"layout"),onPlay:x,onComplete:P};(c.shouldReduceMotion||this.options.layoutRoot)&&(k.delay=0,k.type=!1),this.startAnimation(k),this.setAnimationOrigin(u,w,k.path)}else d||de(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const n=this.getStack();n&&n.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),nt(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Ii),this.animationId++)}getTransformTemplate(){const{visualElement:n}=this.options;return n&&n.getProps().transformTemplate}willUpdate(n=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ye(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const d=this.path[u];d.shouldResetTransform=!0,(typeof d.latestValues.x=="string"||typeof d.latestValues.y=="string")&&(d.isLayoutDirty=!0),d.updateScroll("snapshot"),d.options.layoutRoot&&d.willUpdate(!1)}const{layoutId:o,layout:l}=this.options;if(o===void 0&&!l)return;const c=this.getTransformTemplate();this.prevTransformTemplateValue=c?c(this.latestValues,""):void 0,this.updateSnapshot(),n&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const l=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),l&&this.nodes.forEach(Ai),this.nodes.forEach(ue);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(he);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Mi),this.nodes.forEach(Ni),this.nodes.forEach(ji),this.nodes.forEach(Ci)):this.nodes.forEach(he),this.clearAllSnapshots();const o=Re.now();B.delta=Le(0,1e3/60,o-B.timestamp),B.timestamp=o,B.isProcessing=!0,yt.update.process(B),yt.preRender.process(B),yt.render.process(B),B.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Ae.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Li),this.sharedNodes.forEach(Oi)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,M.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){M.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!N(this.snapshot.measuredBox.x)&&!N(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const n=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=R()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:o}=this.options;o&&o.notify("LayoutMeasure",this.layout.layoutBox,n?n.layoutBox:void 0)}updateScroll(n="measure"){let o=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===n&&(o=!1),o&&this.instance){const l=s(this.instance);this.scroll={animationId:this.root.animationId,phase:n,isRoot:l,offset:i(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!r)return;const n=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,o=this.projectionDelta&&!We(this.projectionDelta),l=this.getTransformTemplate(),c=l?l(this.latestValues,""):void 0,u=c!==this.prevTransformTemplateValue;n&&this.instance&&(o||Y(this.latestValues)||u)&&(r(this.instance,c),this.shouldResetTransform=!1,this.scheduleRender())}measure(n=!0){const o=this.measurePageBox();let l=this.removeElementScroll(o);return n&&(l=this.removeTransform(l)),Fi(l),{animationId:this.root.animationId,measuredBox:o,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:n}=this.options;if(!n)return R();const o=n.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Wi))){const{scroll:c}=this.root;c&&(q(o.x,c.offset.x),q(o.y,c.offset.y))}return o}removeElementScroll(n){const o=R();if(I(o,n),this.scroll?.wasRoot)return o;for(let l=0;l<this.path.length;l++){const c=this.path[l],{scroll:u,options:d}=c;c!==this.root&&u&&d.layoutScroll&&(u.wasRoot&&I(o,n),q(o.x,u.offset.x),q(o.y,u.offset.y))}return o}applyTransform(n,o=!1,l){const c=l||R();I(c,n);for(let u=0;u<this.path.length;u++){const d=this.path[u];!o&&d.options.layoutScroll&&d.scroll&&d!==d.root&&(q(c.x,-d.scroll.offset.x),q(c.y,-d.scroll.offset.y)),Y(d.latestValues)&&vt(c,d.latestValues,d.layout?.layoutBox)}return Y(this.latestValues)&&vt(c,this.latestValues,this.layout?.layoutBox),c}removeTransform(n){const o=R();I(o,n);for(let l=0;l<this.path.length;l++){const c=this.path[l];if(!Y(c.latestValues))continue;let u;c.instance&&(_t(c.latestValues)&&c.updateSnapshot(),u=R(),I(u,c.measurePageBox())),ee(o,c.latestValues,c.snapshot?.layoutBox,u)}return Y(this.latestValues)&&ee(o,this.latestValues),o}setTargetDelta(n){this.targetDelta=n,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(n){this.options={...this.options,...n,crossfade:n.crossfade!==void 0?n.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==B.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(n=!1){const o=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=o.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=o.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=o.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==o;if(!(n||l&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:d}=this.options;if(!this.layout||!(u||d))return;this.resolvedRelativeTargetAt=B.timestamp;const f=this.getClosestProjectingParent();f&&this.linkedParentVersion!==f.layoutVersion&&!f.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&f&&f.layout?this.createRelativeTarget(f,this.layout.layoutBox,f.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=R(),this.targetWithTransforms=R()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),ui(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):I(this.target,this.layout.layoutBox),xs(this.target,this.targetDelta)):I(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&f&&!!f.resumingFrom==!!this.resumingFrom&&!f.options.layoutScroll&&f.target&&this.animationProgress!==1?this.createRelativeTarget(f,this.target,f.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||_t(this.parent.latestValues)||vs(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(n,o,l){this.relativeParent=n,this.linkedParentVersion=n.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=R(),this.relativeTargetOrigin=R(),pt(this.relativeTargetOrigin,o,l,this.options.layoutAnchor||void 0),I(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){const n=this.getLead(),o=!!this.resumingFrom||this!==n;let l=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(l=!1),o&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===B.timestamp&&(l=!1),l)return;const{layout:c,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(c||u))return;I(this.layoutCorrected,this.layout.layoutBox);const d=this.treeScale.x,f=this.treeScale.y;bs(this.layoutCorrected,this.treeScale,this.path,o),n.layout&&!n.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(n.target=n.layout.layoutBox,n.targetWithTransforms=R());const{target:m}=n;if(!m){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Xt(this.prevProjectionDelta.x,this.projectionDelta.x),Xt(this.prevProjectionDelta.y,this.projectionDelta.y)),st(this.projectionDelta,this.layoutCorrected,m,this.latestValues),(this.treeScale.x!==d||this.treeScale.y!==f||!re(this.projectionDelta.x,this.prevProjectionDelta.x)||!re(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",m))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(n=!0){if(this.options.visualElement?.scheduleRender(),n){const o=this.getStack();o&&o.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=X(),this.projectionDelta=X(),this.projectionDeltaWithTransform=X()}setAnimationOrigin(n,o=!1,l){const c=this.snapshot,u=c?c.latestValues:{},d={...this.latestValues},f=X();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!o;const m=R(),y=c?c.source:void 0,x=this.layout?this.layout.source:void 0,P=y!==x,b=this.getStack(),w=!b||b.members.length<=1,k=!!(P&&!w&&this.options.crossfade===!0&&!this.path.some($i));this.animationProgress=0;let T;const V=l?.interpolateProjection(n);this.mixTargetDelta=S=>{const j=S/1e3,E=V?.(j);E?(f.x.translate=E.x,f.x.scale=D(n.x.scale,1,j),f.x.origin=n.x.origin,f.x.originPoint=n.x.originPoint,f.y.translate=E.y,f.y.scale=D(n.y.scale,1,j),f.y.origin=n.y.origin,f.y.originPoint=n.y.originPoint):(fe(f.x,n.x,j),fe(f.y,n.y,j)),this.setTargetDelta(f),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(pt(m,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),zi(this.relativeTarget,this.relativeTargetOrigin,m,j),T&&mi(this.relativeTarget,T)&&(this.isProjectionDirty=!1),T||(T=R()),I(T,this.relativeTarget)),P&&(this.animationValues=d,yi(d,u,this.latestValues,j,k,w)),E&&E.rotate!==void 0&&(this.animationValues||(this.animationValues=d),this.animationValues.pathRotation=E.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=j},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(n){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&(nt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=M.update(()=>{ft.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Ce(0)),this.motionValue.jump(0,!1),this.currentAnimation=bi(this.motionValue,[0,1e3],{...n,velocity:0,isSync:!0,onUpdate:o=>{this.mixTargetDelta(o),n.onUpdate&&n.onUpdate(o)},onStop:()=>{},onComplete:()=>{n.onComplete&&n.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const n=this.getStack();n&&n.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Si),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const n=this.getLead();let{targetWithTransforms:o,target:l,layout:c,latestValues:u}=n;if(!(!o||!l||!c)){if(this!==n&&this.layout&&c&&Xe(this.options.animationType,this.layout.layoutBox,c.layoutBox)){l=this.target||R();const d=N(this.layout.layoutBox.x);l.x.min=n.target.x.min,l.x.max=l.x.min+d;const f=N(this.layout.layoutBox.y);l.y.min=n.target.y.min,l.y.max=l.y.min+f}I(o,l),vt(o,u),st(this.projectionDeltaWithTransform,this.layoutCorrected,o,u)}}registerSharedNode(n,o){this.sharedNodes.has(n)||this.sharedNodes.set(n,new ki),this.sharedNodes.get(n).add(o);const c=o.options.initialPromotionConfig;o.promote({transition:c?c.transition:void 0,preserveFollowOpacity:c&&c.shouldPreserveFollowOpacity?c.shouldPreserveFollowOpacity(o):void 0})}isLead(){const n=this.getStack();return n?n.lead===this:!0}getLead(){const{layoutId:n}=this.options;return n?this.getStack()?.lead||this:this}getPrevLead(){const{layoutId:n}=this.options;return n?this.getStack()?.prevLead:void 0}getStack(){const{layoutId:n}=this.options;if(n)return this.root.sharedNodes.get(n)}promote({needsReset:n,transition:o,preserveFollowOpacity:l}={}){const c=this.getStack();c&&c.promote(this,l),n&&(this.projectionDelta=void 0,this.needsReset=!0),o&&this.setOptions({transition:o})}relegate(){const n=this.getStack();return n?n.relegate(this):!1}resetSkewAndRotation(){const{visualElement:n}=this.options;if(!n)return;let o=!1;const{latestValues:l}=n;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(o=!0),!o)return;const c={};l.z&&wt("z",n,c,this.animationValues);for(let u=0;u<Pt.length;u++)wt(`rotate${Pt[u]}`,n,c,this.animationValues),wt(`skew${Pt[u]}`,n,c,this.animationValues);n.render();for(const u in c)n.setStaticValue(u,c[u]),this.animationValues&&(this.animationValues[u]=c[u]);n.scheduleRender()}applyProjectionStyles(n,o){if(!this.instance||this.isSVG)return;if(!this.isVisible){n.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,n.visibility="",n.opacity="",n.pointerEvents=xt(o?.pointerEvents)||"",n.transform=l?l(this.latestValues,""):"none";return}const c=this.getLead();if(!this.projectionDelta||!this.layout||!c.target){this.options.layoutId&&(n.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,n.pointerEvents=xt(o?.pointerEvents)||""),this.hasProjected&&!Y(this.latestValues)&&(n.transform=l?l({},""):"none",this.hasProjected=!1);return}n.visibility="";const u=c.animationValues||c.latestValues;this.applyTransformsToTarget();let d=pi(this.projectionDeltaWithTransform,this.treeScale,u);l&&(d=l(u,d)),n.transform=d;const{x:f,y:m}=this.projectionDelta;n.transformOrigin=`${f.origin*100}% ${m.origin*100}% 0`,c.animationValues?n.opacity=c===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:n.opacity=c===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const y in Ft){if(u[y]===void 0)continue;const{correct:x,applyTo:P,isCSSVariable:b}=Ft[y],w=d==="none"?u[y]:x(u[y],c);if(P){const k=P.length;for(let T=0;T<k;T++)n[P[T]]=w}else b?this.options.visualElement.renderState.vars[y]=w:n[y]=w}this.options.layoutId&&(n.pointerEvents=c===this?xt(o?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(n=>n.currentAnimation?.stop()),this.root.nodes.forEach(ue),this.root.sharedNodes.clear()}}}function ji(t){t.updateLayout()}function Ci(t){const e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:s}=t.layout,{animationType:r}=t.options,a=e.source!==t.layout.source;if(r==="size")U(u=>{const d=a?e.measuredBox[u]:e.layoutBox[u],f=N(d);d.min=i[u].min,d.max=d.min+f});else if(r==="x"||r==="y"){const u=r==="x"?"y":"x";At(a?e.measuredBox[u]:e.layoutBox[u],i[u])}else Xe(r,e.layoutBox,i)&&U(u=>{const d=a?e.measuredBox[u]:e.layoutBox[u],f=N(i[u]);d.max=d.min+f,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[u].max=t.relativeTarget[u].min+f)});const n=X();st(n,i,e.layoutBox);const o=X();a?st(o,t.applyTransform(s,!0),e.measuredBox):st(o,i,e.layoutBox);const l=!We(n);let c=!1;if(!t.resumeFrom){const u=t.getClosestProjectingParent();if(u&&!u.resumeFrom){const{snapshot:d,layout:f}=u;if(d&&f){const m=t.options.layoutAnchor||void 0,y=R();pt(y,e.layoutBox,d.layoutBox,m);const x=R();pt(x,i,f.layoutBox,m),He(y,x)||(c=!0),u.options.layoutRoot&&(t.relativeTarget=x,t.relativeTargetOrigin=y,t.relativeParent=u)}}}t.notifyListeners("didUpdate",{layout:i,snapshot:e,delta:o,layoutDelta:n,hasLayoutChanged:l,hasRelativeLayoutChanged:c})}else if(t.isLead()){const{onExitComplete:i}=t.options;i&&i()}t.options.transition=void 0}function Di(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function Ri(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function Li(t){t.clearSnapshot()}function ue(t){t.clearMeasurements()}function Ai(t){t.isLayoutDirty=!0,t.updateLayout()}function he(t){t.isLayoutDirty=!1}function Mi(t){t.isAnimationBlocked&&t.layout&&!t.isLayoutDirty&&(t.snapshot=t.layout,t.isLayoutDirty=!0)}function Ni(t){const{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function de(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function Vi(t){t.resolveTargetDelta()}function Bi(t){t.calcProjection()}function Ii(t){t.resetSkewAndRotation()}function Oi(t){t.removeLeadSnapshot()}function fe(t,e,i){t.translate=D(e.translate,0,i),t.scale=D(e.scale,1,i),t.origin=e.origin,t.originPoint=e.originPoint}function me(t,e,i,s){t.min=D(e.min,i.min,s),t.max=D(e.max,i.max,s)}function zi(t,e,i,s){me(t.x,e.x,i.x,s),me(t.y,e.y,i.y,s)}function $i(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const Ui={duration:.45,ease:[.4,0,.1,1]},pe=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),ge=pe("applewebkit/")&&!pe("chrome/")?Math.round:Z;function ye(t){t.min=ge(t.min),t.max=ge(t.max)}function Fi(t){ye(t.x),ye(t.y)}function Xe(t,e,i){return t==="position"||t==="preserve-aspect"&&!ci(oe(e),oe(i),.2)}function Wi(t){return t!==t.root&&t.scroll?.wasRoot}const Hi=qe({attachResizeListener:(t,e)=>Vt(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Tt={current:void 0},Ke=qe({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!Tt.current){const t=new Hi({});t.mount(window),t.setOptions({layoutScroll:!0}),Tt.current=t}return Tt.current},resetTransform:(t,e)=>{t.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"});function xe(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function _i(...t){return e=>{let i=!1;const s=t.map(r=>{const a=xe(r,e);return!i&&typeof a=="function"&&(i=!0),a});if(i)return()=>{for(let r=0;r<s.length;r++){const a=s[r];typeof a=="function"?a():xe(t[r],null)}}}}function Gi(...t){return g.useCallback(_i(...t),t)}class Yi extends g.Component{getSnapshotBeforeUpdate(e){const i=this.props.childRef.current;if(bt(i)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const s=i.offsetParent,r=bt(s)&&s.offsetWidth||0,a=bt(s)&&s.offsetHeight||0,n=getComputedStyle(i),o=this.props.sizeRef.current;o.height=parseFloat(n.height),o.width=parseFloat(n.width),o.top=i.offsetTop,o.left=i.offsetLeft,o.right=r-o.width-o.left,o.bottom=a-o.height-o.top,o.direction=n.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function qi({children:t,isPresent:e,anchorX:i,anchorY:s,root:r,pop:a}){const n=g.useId(),o=g.useRef(null),l=g.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:c}=g.useContext(cs),u=t.props?.ref??t?.ref,d=Gi(o,u);return g.useInsertionEffect(()=>{const{width:f,height:m,top:y,left:x,right:P,bottom:b,direction:w}=l.current;if(e||a===!1||!o.current||!f||!m)return;const k=w==="rtl",T=i==="left"?k?`right: ${P}`:`left: ${x}`:k?`left: ${x}`:`right: ${P}`,V=s==="bottom"?`bottom: ${b}`:`top: ${y}`;o.current.dataset.motionPopId=n;const S=document.createElement("style");c&&(S.nonce=c);const j=r??document.head;return j.appendChild(S),S.sheet&&S.sheet.insertRule(`
|
|
2
|
-
[data-motion-pop-id="${n}"] {
|
|
3
|
-
position: absolute !important;
|
|
4
|
-
width: ${f}px !important;
|
|
5
|
-
height: ${m}px !important;
|
|
6
|
-
${T}px !important;
|
|
7
|
-
${V}px !important;
|
|
8
|
-
}
|
|
9
|
-
`),()=>{o.current?.removeAttribute("data-motion-pop-id"),j.contains(S)&&j.removeChild(S)}},[e]),h.jsx(Yi,{isPresent:e,childRef:o,sizeRef:l,pop:a,children:a===!1?t:g.cloneElement(t,{ref:d})})}const Xi=({children:t,initial:e,isPresent:i,onExitComplete:s,custom:r,presenceAffectsLayout:a,mode:n,anchorX:o,anchorY:l,root:c})=>{const u=Me(Ki),d=g.useId();let f=!0,m=g.useMemo(()=>(f=!1,{id:d,initial:e,isPresent:i,custom:r,onExitComplete:y=>{u.set(y,!0);for(const x of u.values())if(!x)return;s&&s()},register:y=>(u.set(y,!1),()=>u.delete(y))}),[i,u,s]);return a&&f&&(m={...m}),g.useMemo(()=>{u.forEach((y,x)=>u.set(x,!1))},[i]),g.useEffect(()=>{!i&&!u.size&&s&&s()},[i]),t=h.jsx(qi,{pop:n==="popLayout",isPresent:i,anchorX:o,anchorY:l,root:c,children:t}),h.jsx(Ne.Provider,{value:m,children:t})};function Ki(){return new Map}function Ze(t=!0){const e=g.useContext(Ne);if(e===null)return[!0,null];const{isPresent:i,onExitComplete:s,register:r}=e,a=g.useId();g.useEffect(()=>{if(t)return r(a)},[t]);const n=g.useCallback(()=>t&&s&&s(a),[a,s,t]);return!i&&s?[!1,n]:[!0]}const ot=t=>t.key||"";function ve(t){const e=[];return g.Children.forEach(t,i=>{g.isValidElement(i)&&e.push(i)}),e}const Zn=({children:t,custom:e,initial:i=!0,onExitComplete:s,presenceAffectsLayout:r=!0,mode:a="sync",propagate:n=!1,anchorX:o="left",anchorY:l="top",root:c})=>{const[u,d]=Ze(n),f=g.useMemo(()=>ve(t),[t]),m=n&&!u?[]:f.map(ot),y=g.useRef(!0),x=g.useRef(f),P=Me(()=>new Map),b=g.useRef(new Set),[w,k]=g.useState(f),[T,V]=g.useState(f);us(()=>{y.current=!1,x.current=f;for(let E=0;E<T.length;E++){const C=ot(T[E]);m.includes(C)?(P.delete(C),b.current.delete(C)):P.get(C)!==!0&&P.set(C,!1)}},[T,m.length,m.join("-")]);const S=[];if(f!==w){let E=[...f];for(let C=0;C<T.length;C++){const L=T[C],O=ot(L);m.includes(O)||(E.splice(C,0,L),S.push(L))}return a==="wait"&&S.length&&(E=S),V(ve(E)),k(f),null}const{forceRender:j}=g.useContext(Ve);return h.jsx(h.Fragment,{children:T.map(E=>{const C=ot(E),L=n&&!u?!1:f===T||m.includes(C),O=()=>{if(b.current.has(C))return;if(P.has(C))b.current.add(C),P.set(C,!0);else return;let _=!0;P.forEach(z=>{z||(_=!1)}),_&&(j?.(),V(x.current),n&&d?.(),s&&s())};return h.jsx(Xi,{isPresent:L,initial:!y.current||i?void 0:!1,custom:e,presenceAffectsLayout:r,mode:a,root:c,onExitComplete:L?void 0:O,anchorX:o,anchorY:l,children:E},C)})})};function it(t,e,i,s){return Vt(t,e,ws(i),s)}const Qe=({current:t})=>t?t.ownerDocument.defaultView:null,be=(t,e)=>Math.abs(t-e);function Zi(t,e){const i=be(t.x,e.x),s=be(t.y,e.y);return Math.sqrt(i**2+s**2)}const Pe=new Set(["auto","scroll"]);class Je{constructor(e,i,{transformPagePoint:s,contextWindow:r=window,dragSnapToOrigin:a=!1,distanceThreshold:n=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=m=>{this.handleScroll(m.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=rt(this.lastRawMoveEventInfo,this.transformPagePoint));const m=kt(this.lastMoveEventInfo,this.history),y=this.startEvent!==null,x=Zi(m.offset,{x:0,y:0})>=this.distanceThreshold;if(!y&&!x)return;const{point:P}=m,{timestamp:b}=B;this.history.push({...P,timestamp:b});const{onStart:w,onMove:k}=this.handlers;y||(w&&w(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),k&&k(this.lastMoveEvent,m)},this.handlePointerMove=(m,y)=>{this.lastMoveEvent=m,this.lastRawMoveEventInfo=y,this.lastMoveEventInfo=rt(y,this.transformPagePoint),M.update(this.updatePoint,!0)},this.handlePointerUp=(m,y)=>{this.end();const{onEnd:x,onSessionEnd:P,resumeAnimation:b}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&b&&b(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const w=kt(m.type==="pointercancel"?this.lastMoveEventInfo:rt(y,this.transformPagePoint),this.history);this.startEvent&&x&&x(m,w),P&&P(m,w)},!Ts(e))return;this.dragSnapToOrigin=a,this.handlers=i,this.transformPagePoint=s,this.distanceThreshold=n,this.contextWindow=r||window;const l=Ie(e),c=rt(l,this.transformPagePoint),{point:u}=c,{timestamp:d}=B;this.history=[{...u,timestamp:d}];const{onSessionStart:f}=i;f&&f(e,kt(c,this.history)),this.removeListeners=ks(it(this.contextWindow,"pointermove",this.handlePointerMove),it(this.contextWindow,"pointerup",this.handlePointerUp),it(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let i=e.parentElement;for(;i;){const s=getComputedStyle(i);(Pe.has(s.overflowX)||Pe.has(s.overflowY))&&this.scrollPositions.set(i,{x:i.scrollLeft,y:i.scrollTop}),i=i.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){const i=this.scrollPositions.get(e);if(!i)return;const s=e===window,r=s?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},a={x:r.x-i.x,y:r.y-i.y};a.x===0&&a.y===0||(s?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=a.x,this.lastMoveEventInfo.point.y+=a.y):this.history.length>0&&(this.history[0].x-=a.x,this.history[0].y-=a.y),this.scrollPositions.set(e,r),M.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),nt(this.updatePoint)}}function rt(t,e){return e?{point:e(t.point)}:t}function we(t,e){return{x:t.x-e.x,y:t.y-e.y}}function kt({point:t},e){return{point:t,delta:we(t,ts(e)),offset:we(t,Qi(e)),velocity:Ji(e,.1)}}function Qi(t){return t[0]}function ts(t){return t[t.length-1]}function Ji(t,e){if(t.length<2)return{x:0,y:0};let i=t.length-1,s=null;const r=ts(t);for(;i>=0&&(s=t[i],!(r.timestamp-s.timestamp>Wt(e)));)i--;if(!s)return{x:0,y:0};s===t[0]&&t.length>2&&r.timestamp-s.timestamp>Wt(e)*2&&(s=t[1]);const a=hs(r.timestamp-s.timestamp);if(a===0)return{x:0,y:0};const n={x:(r.x-s.x)/a,y:(r.y-s.y)/a};return n.x===1/0&&(n.x=0),n.y===1/0&&(n.y=0),n}function tn(t,{min:e,max:i},s){return e!==void 0&&t<e?t=s?D(e,t,s.min):Math.max(t,e):i!==void 0&&t>i&&(t=s?D(i,t,s.max):Math.min(t,i)),t}function Te(t,e,i){return{min:e!==void 0?t.min+e:void 0,max:i!==void 0?t.max+i-(t.max-t.min):void 0}}function en(t,{top:e,left:i,bottom:s,right:r}){return{x:Te(t.x,i,r),y:Te(t.y,e,s)}}function ke(t,e){let i=e.min-t.min,s=e.max-t.max;return e.max-e.min<t.max-t.min&&([i,s]=[s,i]),{min:i,max:s}}function sn(t,e){return{x:ke(t.x,e.x),y:ke(t.y,e.y)}}function nn(t,e){let i=.5;const s=N(t),r=N(e);return r>s?i=Lt(e.min,e.max-s,t.min):s>r&&(i=Lt(t.min,t.max-r,e.min)),Le(0,1,i)}function on(t,e){const i={};return e.min!==void 0&&(i.min=e.min-t.min),e.max!==void 0&&(i.max=e.max-t.min),i}const Mt=.35;function rn(t=Mt){return t===!1?t=0:t===!0&&(t=Mt),{x:Se(t,"left","right"),y:Se(t,"top","bottom")}}function Se(t,e,i){return{min:Ee(t,e),max:Ee(t,i)}}function Ee(t,e){return typeof t=="number"?t:t[e]||0}const an=new WeakMap;class ln{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=R(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:i=!1,distanceThreshold:s}={}){const{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;const a=d=>{i&&this.snapToCursor(Ie(d).point),this.stopAnimation()},n=(d,f)=>{const{drag:m,dragPropagation:y,onDragStart:x}=this.getProps();if(m&&!y&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Xs(m),!this.openDragLock))return;this.latestPointerEvent=d,this.latestPanInfo=f,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),U(b=>{let w=this.getAxisMotionValue(b).get()||0;if(mt.test(w)){const{projection:k}=this.visualElement;if(k&&k.layout){const T=k.layout.layoutBox[b];T&&(w=N(T)*(parseFloat(w)/100))}}this.originPoint[b]=w}),x&&M.update(()=>x(d,f),!1,!0),Gt(this.visualElement,"transform");const{animationState:P}=this.visualElement;P&&P.setActive("whileDrag",!0)},o=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f;const{dragPropagation:m,dragDirectionLock:y,onDirectionLock:x,onDrag:P}=this.getProps();if(!m&&!this.openDragLock)return;const{offset:b}=f;if(y&&this.currentDirection===null){this.currentDirection=un(b),this.currentDirection!==null&&x&&x(this.currentDirection);return}this.updateAxis("x",f.point,b),this.updateAxis("y",f.point,b),this.visualElement.render(),P&&M.update(()=>P(d,f),!1,!0)},l=(d,f)=>{this.latestPointerEvent=d,this.latestPanInfo=f,this.stop(d,f),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{const{dragSnapToOrigin:d}=this.getProps();(d||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new Je(e,{onSessionStart:a,onStart:n,onMove:o,onSessionEnd:l,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:s,contextWindow:Qe(this.visualElement),element:this.visualElement.current})}stop(e,i){const s=e||this.latestPointerEvent,r=i||this.latestPanInfo,a=this.isDragging;if(this.cancel(),!a||!r||!s)return;const{velocity:n}=r;this.startAnimation(n);const{onDragEnd:o}=this.getProps();o&&M.postRender(()=>o(s,r))}cancel(){this.isDragging=!1;const{projection:e,animationState:i}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),i&&i.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,i,s){const{drag:r}=this.getProps();if(!s||!at(e,r,this.currentDirection))return;const a=this.getAxisMotionValue(e);let n=this.originPoint[e]+s[e];this.constraints&&this.constraints[e]&&(n=tn(n,this.constraints[e],this.elastic[e])),a.set(n)}resolveConstraints(){const{dragConstraints:e,dragElastic:i}=this.getProps(),s=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&tt(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&s?this.constraints=en(s.layoutBox,e):this.constraints=!1,this.elastic=rn(i),r!==this.constraints&&!tt(e)&&s&&this.constraints&&!this.hasMutatedConstraints&&U(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=on(s.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:i}=this.getProps();if(!e||!tt(e))return!1;const s=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;r.root&&(r.root.scroll=void 0,r.root.updateScroll());const a=Ss(s,r.root,this.visualElement.getTransformPagePoint());let n=sn(r.layout.layoutBox,a);if(i){const o=i(Es(n));this.hasMutatedConstraints=!!o,o&&(n=js(o))}return n}startAnimation(e){const{drag:i,dragMomentum:s,dragElastic:r,dragTransition:a,dragSnapToOrigin:n,onDragTransitionEnd:o}=this.getProps(),l=this.constraints||{},c=U(u=>{if(!at(u,i,this.currentDirection))return;let d=l&&l[u]||{};(n===!0||n===u)&&(d={min:0,max:0});const f=r?200:1e6,m=r?40:1e7,y={type:"inertia",velocity:s?e[u]:0,bounceStiffness:f,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...a,...d};return this.startAxisValueAnimation(u,y)});return Promise.all(c).then(o)}startAxisValueAnimation(e,i){const s=this.getAxisMotionValue(e);return Gt(this.visualElement,e),s.start(Be(e,s,0,i,this.visualElement,!1))}stopAnimation(){U(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const i=`_drag${e.toUpperCase()}`,r=this.visualElement.getProps()[i];return r||this.visualElement.getValue(e,this.visualElement.latestValues[e]??0)}snapToCursor(e){U(i=>{const{drag:s}=this.getProps();if(!at(i,s,this.currentDirection))return;const{projection:r}=this.visualElement,a=this.getAxisMotionValue(i);if(r&&r.layout){const{min:n,max:o}=r.layout.layoutBox[i],l=a.get()||0;a.set(e[i]-D(n,o,.5)+l)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:i}=this.getProps(),{projection:s}=this.visualElement;if(!tt(i)||!s||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};U(n=>{const o=this.getAxisMotionValue(n);if(o&&this.constraints!==!1){const l=o.get();r[n]=nn({min:l,max:l},this.constraints[n])}});const{transformTemplate:a}=this.visualElement.getProps();this.visualElement.current.style.transform=a?a({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.constraints=!1,this.resolveConstraints(),U(n=>{if(!at(n,e,null))return;const o=this.getAxisMotionValue(n),{min:l,max:c}=this.constraints[n];o.set(D(l,c,r[n]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;an.set(this.visualElement,this);const e=this.visualElement.current,i=it(e,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps(),f=c.target,m=f!==e&&Cs(f);u&&d&&!m&&this.start(c)});let s;const r=()=>{const{dragConstraints:c}=this.getProps();tt(c)&&c.current&&(this.constraints=this.resolveRefConstraints(),s||(s=cn(e,c.current,()=>this.scalePositionWithinConstraints())))},{projection:a}=this.visualElement,n=a.addEventListener("measure",r);a&&!a.layout&&(a.root&&a.root.updateScroll(),a.updateLayout()),M.read(r);const o=Vt(window,"resize",()=>this.scalePositionWithinConstraints()),l=a.addEventListener("didUpdate",(({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(U(d=>{const f=this.getAxisMotionValue(d);f&&(this.originPoint[d]+=c[d].translate,f.set(f.get()+c[d].translate))}),this.visualElement.render())}));return()=>{o(),i(),n(),l&&l(),s&&s()}}getProps(){const e=this.visualElement.getProps(),{drag:i=!1,dragDirectionLock:s=!1,dragPropagation:r=!1,dragConstraints:a=!1,dragElastic:n=Mt,dragMomentum:o=!0}=e;return{...e,drag:i,dragDirectionLock:s,dragPropagation:r,dragConstraints:a,dragElastic:n,dragMomentum:o}}}function je(t){let e=!0;return()=>{if(e){e=!1;return}t()}}function cn(t,e,i){const s=qt(t,je(i)),r=qt(e,je(i));return()=>{s(),r()}}function at(t,e,i){return(e===!0||e===t)&&(i===null||i===t)}function un(t,e=10){let i=null;return Math.abs(t.y)>e?i="y":Math.abs(t.x)>e&&(i="x"),i}class hn extends Oe{constructor(e){super(e),this.removeGroupControls=Z,this.removeListeners=Z,this.controls=new ln(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Z}update(){const{dragControls:e}=this.node.getProps(),{dragControls:i}=this.node.prevProps||{};e!==i&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const St=t=>(e,i)=>{t&&M.update(()=>t(e,i),!1,!0)};class dn extends Oe{constructor(){super(...arguments),this.removePointerDownListener=Z}onPointerDown(e){this.session=new Je(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Qe(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:i,onPan:s,onPanEnd:r}=this.node.getProps();return{onSessionStart:St(e),onStart:St(i),onMove:St(s),onEnd:(a,n)=>{delete this.session,r&&M.postRender(()=>r(a,n))}}}mount(){this.removePointerDownListener=it(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Et=!1;class fn extends g.Component{componentDidMount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:s,layoutId:r}=this.props,{projection:a}=e;a&&(i.group&&i.group.add(a),s&&s.register&&r&&s.register(a),Et&&a.root.didUpdate(),a.addEventListener("animationComplete",()=>{this.safeToRemove()}),a.setOptions({...a.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),ft.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:i,visualElement:s,drag:r,isPresent:a}=this.props,{projection:n}=s;return n&&(n.isPresent=a,e.layoutDependency!==i&&n.setOptions({...n.options,layoutDependency:i}),Et=!0,r||e.layoutDependency!==i||i===void 0||e.isPresent!==a?n.willUpdate():this.safeToRemove(),e.isPresent!==a&&(a?n.promote():n.relegate()||M.postRender(()=>{const o=n.getStack();(!o||!o.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:e,layoutAnchor:i}=this.props,{projection:s}=e;s&&(s.options.layoutAnchor=i,s.root.didUpdate(),Ae.postRender(()=>{!s.currentAnimation&&s.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:i,switchLayoutGroup:s}=this.props,{projection:r}=e;Et=!0,r&&(r.scheduleCheckAfterUnmount(),i&&i.group&&i.group.remove(r),s&&s.deregister&&s.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function es(t){const[e,i]=Ze(),s=g.useContext(Ve);return h.jsx(fn,{...t,layoutGroup:s,switchLayoutGroup:g.useContext(ds),isPresent:e,safeToRemove:i})}const mn={pan:{Feature:dn},drag:{Feature:hn,ProjectionNode:Ke,MeasureLayout:es}},pn={layout:{ProjectionNode:Ke,MeasureLayout:es}},gn={...Rs,...Ds,...mn,...pn},Qn=fs(gn,Ls),lt="rounded-lg bg-[color-mix(in_srgb,var(--hud-ink)_4.5%,transparent)]",jt="rounded-md border border-[color-mix(in_srgb,var(--hud-ink)_10%,transparent)] bg-[color-mix(in_srgb,var(--hud-bg)_70%,transparent)] text-[var(--scout-chrome-ink-strong)] outline-none transition-colors focus:border-lime-300/45",Ct="rounded-md border border-[color-mix(in_srgb,var(--hud-ink)_8%,transparent)] text-[var(--scout-chrome-ink)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink-strong)] disabled:cursor-not-allowed disabled:opacity-40",Dt="font-mono text-xs uppercase tracking-[0.11em] text-[var(--scout-chrome-ink-ghost)]";function yn(t){return t==="live"?{label:"Live",detail:"Listening — speak naturally",chip:"border-lime-300/35 bg-lime-300/[0.10] text-lime-100",iconWrap:"border-lime-300/40 bg-lime-300/[0.10] text-lime-200"}:t==="connecting"?{label:"Connecting",detail:"Opening secure audio…",chip:"border-amber-300/30 bg-amber-300/[0.09] text-amber-100/90",iconWrap:"border-amber-300/35 bg-amber-300/[0.09] text-amber-100"}:t==="error"?{label:"Error",detail:"Could not hold the call",chip:"border-red-400/35 bg-red-400/[0.10] text-red-100",iconWrap:"border-red-400/35 bg-red-400/[0.10] text-red-100"}:t==="ended"?{label:"Ended",detail:"Call closed — start again anytime",chip:"border-[color-mix(in_srgb,var(--hud-ink)_12%,transparent)] text-[var(--scout-chrome-ink-faint)]",iconWrap:"border-[color-mix(in_srgb,var(--hud-ink)_10%,transparent)] bg-[color-mix(in_srgb,var(--hud-ink)_4%,transparent)] text-[var(--scout-chrome-ink-faint)]"}:{label:"Ready",detail:"Talk continuously with Scoutbot",chip:"border-transparent bg-[color-mix(in_srgb,var(--hud-ink)_6%,transparent)] text-[var(--scout-chrome-ink-faint)]",iconWrap:"border-transparent bg-[color-mix(in_srgb,var(--hud-ink)_5%,transparent)] text-[var(--scout-chrome-ink-faint)]"}}function Jn({state:t,onMinimize:e,onExpand:i,layout:s="compact"}){const r=yn(t),a=s==="page";return h.jsxs("header",{className:`flex items-start ${a?"gap-3.5 px-5 py-4":"gap-2.5 px-3.5 py-3"}`,children:[h.jsx("div",{className:`${a?"size-9":"size-7"} mt-px flex shrink-0 items-center justify-center rounded-md border ${r.iconWrap}`,children:t==="connecting"?h.jsx(et,{size:a?14:12,className:"animate-spin"}):t==="live"?h.jsxs("span",{className:"relative flex size-2",children:[h.jsx("span",{className:"absolute inline-flex size-full animate-ping rounded-full bg-lime-300/35"}),h.jsx("span",{className:"relative inline-flex size-2 rounded-full bg-lime-300/90"})]}):h.jsx(ze,{size:a?14:12})}),h.jsxs("div",{className:"min-w-0 flex-1",children:[h.jsxs("div",{className:"flex items-center justify-between gap-2",children:[h.jsx("h2",{className:`truncate font-medium text-[var(--scout-chrome-ink-strong)] ${a?"text-2xl":"text-base"}`,children:"Live voice"}),h.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[h.jsx("span",{className:`rounded border px-1.5 py-px font-mono text-xs uppercase tracking-[0.1em] ${r.chip}`,children:r.label}),i&&h.jsx("button",{type:"button",onClick:i,title:a?"Return to compact live voice view":"Open full live voice view","aria-label":a?"Return to compact live voice view":"Open full live voice view",className:"flex size-6 items-center justify-center rounded-md text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink-strong)]",children:a?h.jsx(Vs,{size:12}):h.jsx(Bs,{size:12})}),e&&h.jsx("button",{type:"button",onClick:e,title:"Collapse live voice into the status bar","aria-label":"Collapse live voice into the status bar",className:"flex size-6 items-center justify-center rounded-md text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink-strong)]",children:h.jsx(Is,{size:12})})]})]}),h.jsx("p",{className:`mt-0.5 leading-snug text-[var(--scout-chrome-ink-faint)] ${a?"text-base":"text-sm"}`,children:r.detail})]})]})}function to({dictationActive:t,layout:e="compact"}){const{enabled:i,state:s,error:r,trace:a,chatState:n,chatStatus:o,chatError:l,sessionAction:c,startCall:u,endCall:d,startNewChat:f,switchChat:m,updatePreferredModel:y,clearTrace:x,openVoiceSettings:P}=As(),b=s==="connecting"||s==="live",[w,k]=g.useState("controls"),T=vn(r),V=e==="page",[S,j]=g.useState(""),[E,C]=g.useState(!1),[L,O]=g.useState(!1),[_,z]=g.useState(null);g.useEffect(()=>{!L&&n?.config.model&&j(n.config.model)},[n?.config.model,L]);const v=async()=>{if(!(!S.trim()||L)){O(!0),z(null);try{const p=await y(S);j(p),z("Saved")}catch(p){z(p instanceof Error?p.message:"Could not save model.")}finally{O(!1)}}},A=!i&&!b?{label:"Open voice settings",icon:h.jsx(Yt,{size:11}),tone:"border-[color-mix(in_srgb,var(--hud-ink)_10%,transparent)] bg-[color-mix(in_srgb,var(--hud-ink)_5%,transparent)] text-[var(--scout-chrome-ink)] hover:bg-[var(--scout-chrome-hover)]"}:s==="connecting"?{label:"Cancel connection",icon:h.jsx(et,{size:11,className:"animate-spin"}),tone:"border-amber-300/35 bg-amber-300/[0.10] text-amber-100 hover:bg-amber-300/[0.16]"}:s==="live"?{label:"End live voice",icon:h.jsx(zs,{size:9,className:"fill-current"}),tone:"border-red-400/35 bg-red-400/[0.10] text-red-100 hover:bg-red-400/[0.16]"}:{label:"Start live voice",icon:h.jsx(Us,{size:10,className:"fill-current"}),tone:"border-lime-300/40 bg-lime-300/[0.12] text-lime-100 hover:bg-lime-300/[0.18]"};return h.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[h.jsx("nav",{className:`grid shrink-0 grid-cols-2 border-b border-[var(--scout-chrome-border-soft)] ${V?"px-5":"px-3.5"}`,"aria-label":"Live voice views",children:[{id:"controls",label:"Controls",icon:h.jsx(ze,{size:11})},{id:"activity",label:"Activity",icon:h.jsx(Ys,{size:11})}].map(p=>h.jsxs("button",{type:"button",onClick:()=>k(p.id),"aria-current":w===p.id,className:`-mb-px flex items-center justify-center gap-1.5 border-b-2 font-mono uppercase tracking-[0.1em] transition-colors ${V?"h-11 text-sm":"h-9 text-xs"} ${w===p.id?"border-lime-300/80 text-[var(--scout-chrome-ink-strong)]":"border-transparent text-[var(--scout-chrome-ink-faint)] hover:text-[var(--scout-chrome-ink-strong)]"}`,children:[p.icon,p.label,p.id==="activity"&&a.length>0&&h.jsx("span",{className:"rounded-full bg-[color-mix(in_srgb,var(--hud-ink)_10%,transparent)] px-1.5 py-px font-mono text-xs text-[var(--scout-chrome-ink-faint)]",children:a.length})]},p.id))}),w==="activity"?h.jsxs("div",{className:`flex min-h-0 flex-1 flex-col ${V?"p-5":"p-3.5"}`,children:[h.jsxs("div",{className:"mb-2 flex shrink-0 items-center justify-between",children:[h.jsx("p",{className:Dt,children:"Session activity"}),a.length>0&&h.jsx("button",{type:"button",onClick:x,className:"font-mono text-xs uppercase tracking-[0.09em] text-[var(--scout-chrome-ink-ghost)] transition-colors hover:text-[var(--scout-chrome-ink-strong)]",children:"Clear"})]}),a.length===0?h.jsx("div",{className:"flex flex-1 items-center justify-center rounded-lg border border-dashed border-[color-mix(in_srgb,var(--hud-ink)_10%,transparent)] px-6 text-center text-sm leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:"Start a call to record requests, replies, navigation attempts, and delivery results."}):h.jsx("ol",{className:`min-h-0 flex-1 overflow-y-auto ${lt}`,children:a.map((p,$)=>h.jsxs("li",{className:`px-2.5 py-2 ${$>0?"border-t border-[var(--scout-chrome-border-soft)]":""}`,children:[h.jsxs("div",{className:"flex items-start justify-between gap-2",children:[h.jsxs("div",{className:"flex min-w-0 items-start gap-1.5",children:[h.jsx("span",{className:`mt-px shrink-0 rounded border px-1 py-px font-mono text-xs uppercase tracking-[0.08em] ${Pn(p.kind)}`,children:bn(p.kind)}),h.jsx("span",{className:"min-w-0 text-sm leading-snug text-[var(--scout-chrome-ink-strong)]",children:p.label})]}),h.jsx("time",{className:"shrink-0 font-mono text-xs text-[var(--scout-chrome-ink-ghost)]",children:xn(p.at)})]}),p.detail&&h.jsx("span",{className:"mt-1 block whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:p.detail})]},p.id))})]}):h.jsxs("div",{className:`flex min-h-0 w-full flex-1 flex-col overflow-y-auto ${V?"mx-auto max-w-2xl gap-4 p-5":"gap-2.5 p-3.5"}`,children:[h.jsxs("section",{className:`${lt} shrink-0 p-3`,children:[h.jsx("p",{className:"text-base font-medium text-[var(--scout-chrome-ink-strong)]",children:"Live conversation"}),h.jsx("p",{className:"mt-0.5 text-sm leading-snug text-[var(--scout-chrome-ink-faint)]",children:s==="live"?"Microphone and spoken replies are active.":s==="connecting"?"Opening the audio connection…":i?"Start when you are ready to speak.":"Turn on live voice before starting a call."}),h.jsxs("button",{type:"button",disabled:t&&!b,onClick:()=>{b?d():i?u():P()},className:`mt-3 flex h-9 w-full items-center justify-center gap-2 rounded-md border font-mono text-sm uppercase tracking-[0.1em] transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${A.tone}`,children:[A.icon,A.label]}),t&&!b&&h.jsx("p",{className:"mt-2 text-xs leading-relaxed text-amber-200/80",children:"Finish dictation before starting a live call."}),T&&h.jsx("p",{className:"mt-2 rounded-md border border-red-400/30 bg-red-400/[0.08] px-2 py-1.5 text-sm leading-relaxed text-red-100",children:T})]}),h.jsxs("section",{className:`${lt} shrink-0 p-3`,children:[h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx(_s,{size:11,className:"shrink-0 text-[var(--scout-chrome-ink-ghost)]"}),h.jsx("p",{className:Dt,children:"Live chat"})]}),h.jsx("p",{className:"mt-1.5 truncate text-base text-[var(--scout-chrome-ink-strong)]",title:n?.session.id,children:n?.session.title||(o==="failed"?"Chat unavailable":o==="ready"?"Untitled chat":"Loading chat…")}),h.jsx("p",{className:"mt-0.5 text-sm leading-snug text-[var(--scout-chrome-ink-faint)]",children:"Context stays with this chat when voice stops or the panel closes."}),o==="failed"&&l&&h.jsx("p",{className:"mt-1.5 rounded-md border border-red-400/30 bg-red-400/[0.08] px-2 py-1.5 text-sm leading-relaxed text-red-100",children:l}),h.jsxs("div",{className:"mt-2.5 flex min-w-0 items-center gap-1.5",children:[n&&n.sessions.length>1&&h.jsxs("label",{className:"min-w-0 flex-1",children:[h.jsx("span",{className:"sr-only",children:"Switch live chat"}),h.jsx("select",{value:n.session.id,disabled:!!c,onChange:p=>{m(p.target.value)},className:`h-8 w-full min-w-0 px-2 font-mono text-sm disabled:cursor-wait disabled:opacity-50 ${jt}`,title:"Switch live chat; an active voice connection will end",children:n.sessions.map(p=>h.jsxs("option",{value:p.id,children:[p.title||`Chat ${p.id.slice(0,8)}`," · ",p.messageCount," msg"]},p.id))})]}),h.jsxs("button",{type:"button",onClick:()=>{f()},disabled:!n||!!c,title:"Start a new chat; an active voice connection will end",className:`flex h-8 shrink-0 items-center justify-center gap-1.5 px-2.5 font-mono text-xs uppercase tracking-[0.09em] disabled:cursor-wait ${Ct}`,children:[c==="new"?h.jsx(et,{size:10,className:"animate-spin"}):h.jsx(Os,{size:10}),"New chat"]})]})]}),h.jsxs("section",{className:`${lt} shrink-0 p-3`,children:[h.jsxs("div",{className:"flex items-center justify-between gap-2",children:[h.jsxs("div",{className:"min-w-0",children:[h.jsx("p",{className:Dt,children:"Scoutbot reply model"}),h.jsx("p",{className:"mt-1 truncate font-mono text-base text-[var(--scout-chrome-ink-strong)]",children:n?.config.model||"—"})]}),h.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[n?.config.provider&&h.jsx("span",{className:"font-mono text-xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-ghost)]",children:n.config.provider}),h.jsx("button",{type:"button",onClick:()=>{z(null),C(p=>!p)},"aria-expanded":E,className:`flex h-7 items-center px-2 font-mono text-xs uppercase tracking-[0.09em] ${Ct}`,children:E?"Close":"Change"})]})]}),E&&h.jsxs("div",{className:"mt-2.5 border-t border-[var(--scout-chrome-border-soft)] pt-2.5",children:[h.jsx("p",{className:"text-sm leading-snug text-[var(--scout-chrome-ink-faint)]",children:"Used for typed and live Scoutbot replies."}),h.jsxs("div",{className:"mt-2 flex gap-1.5",children:[(n?.config.modelOptions?.length??0)>0?h.jsx("select",{value:S,onChange:p=>{j(p.target.value),z(null)},"aria-label":"Preferred Scoutbot model",className:`h-8 min-w-0 flex-1 px-2 font-mono text-sm ${jt}`,children:n?.config.modelOptions?.map(p=>h.jsx("option",{value:p.id,children:p.label},p.id))}):h.jsx("input",{value:S,onChange:p=>{j(p.target.value),z(null)},onKeyDown:p=>{p.key==="Enter"&&v()},placeholder:"gpt-5.6-luna","aria-label":"Preferred Scoutbot model",className:`h-8 min-w-0 flex-1 px-2 font-mono text-sm ${jt}`}),h.jsx("button",{type:"button",onClick:()=>{v()},disabled:L||!S.trim()||S.trim()===n?.config.model,className:`flex h-8 min-w-14 items-center justify-center px-2 font-mono text-xs uppercase tracking-[0.09em] ${Ct}`,children:L?h.jsx(et,{size:10,className:"animate-spin"}):"Apply"})]}),_&&h.jsx("p",{className:"mt-1.5 font-mono text-xs text-[var(--scout-chrome-ink-faint)]",children:_})]})]}),h.jsxs("button",{type:"button",onClick:P,className:"mt-auto flex h-8 w-full shrink-0 items-center justify-center gap-1.5 rounded-md font-mono text-xs uppercase tracking-[0.09em] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink-strong)]",children:[h.jsx(Yt,{size:11}),"Voice settings"]})]})]})}function xn(t){return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function vn(t){if(!t)return null;const e=t.toLowerCase();return e.includes("active response in progress")||e.includes("conversation already has an active response")?null:e.includes("realtime voice call is already active")?"Live voice is still running on this Scout host. Stop it from the footer, or wait a moment for it to finish closing.":t}function bn(t){switch(t){case"navigation":return"Navigate";case"scoutbot":return"Scoutbot";case"agent":return"Agent ask";case"error":return"Error";default:return"Voice"}}function Pn(t){switch(t){case"navigation":return"border-sky-300/25 bg-sky-300/[0.06] text-sky-100/80";case"scoutbot":return"border-violet-300/25 bg-violet-300/[0.06] text-violet-100/80";case"agent":return"border-amber-300/25 bg-amber-300/[0.06] text-amber-100/80";case"error":return"border-red-300/25 bg-red-300/[0.06] text-red-100/80";default:return"border-lime-300/20 bg-lime-300/[0.05] text-lime-100/70"}}const Nt="openscout:toggle-scoutbot";function wn(t){if(typeof window>"u")return;const e={};window.dispatchEvent(new CustomEvent(Nt,{detail:e}))}function eo(t){if(typeof window>"u")return()=>{};const e=i=>{const s=i.detail??{};t(s)};return window.addEventListener(Nt,e),()=>window.removeEventListener(Nt,e)}function Tn(t){switch(t){case"listening":return"listening";case"thinking":return"thinking";case"speaking":return"speaking";case"briefing":return"thinking";default:return""}}function kn(t){return t==="thinking"||t==="briefing"}function Sn(t){return t!=="idle"?{kind:"activity",activity:t,label:Tn(t)}:{kind:"idle"}}function En(t,e,i){const s=[];return t.kind==="activity"?s.push(`Scout · ${t.label}`):s.push("Toggle Scout"),e&&s.push(e),i&&s.push(i),s.join(`
|
|
10
|
-
`)}function so(){const{state:t,actions:e}=Ms(),i=Ns(),s=Sn(t.activity),r=En(s,t.session.title,t.error),a=s.kind==="activity"?"s-scoutbot-chip--activity":"s-scoutbot-chip--idle",n=()=>{wn()},o=l=>{const c=[{kind:"action",label:"New chat",onSelect:()=>e.startNewChat()},{kind:"action",label:t.voice.replies?"Turn voice replies off":"Turn voice replies on",onSelect:()=>e.toggleVoiceReplies()},{kind:"separator"},{kind:"action",label:"Open chat",onSelect:()=>e.focusScoutbot()}];i(l,c)};return h.jsxs("button",{type:"button",className:`s-scoutbot-chip ${a}`,onClick:n,onContextMenu:o,title:r,children:[h.jsx(Fs,{size:14,className:"s-scoutbot-chip-icon","aria-hidden":"true"}),s.kind==="activity"&&h.jsxs(h.Fragment,{children:[kn(s.activity)?h.jsx(et,{size:10,className:"s-scoutbot-chip-spinner","aria-hidden":"true"}):h.jsx("span",{className:"s-scoutbot-chip-dot s-scoutbot-chip-dot--pulse","aria-hidden":"true"}),h.jsx("span",{className:"s-scoutbot-chip-text",children:s.label})]})]})}function Ot(t){return t.handle??t.id}function jn(t,e){if(!e)return!0;const i=e.toLowerCase();return t.name.toLowerCase().includes(i)||Ot(t).toLowerCase().includes(i)||t.id.toLowerCase().includes(i)}function Cn({agents:t,query:e,excludeIds:i,maxResults:s=50}){const r=g.useMemo(()=>new Set(i??[]),[i]),a=g.useMemo(()=>t.filter(d=>!r.has(d.id)&&jn(d,e.trim())).slice(0,s),[t,r,e,s]),[n,o]=g.useState(0);g.useEffect(()=>{o(u=>a.length===0?0:Math.min(u,a.length-1))},[a]);const l=g.useCallback(u=>{o(d=>a.length===0?0:(d+u+a.length)%a.length)},[a.length]),c=g.useCallback(()=>o(0),[]);return{filtered:a,highlightedIndex:n,setHighlightedIndex:o,moveHighlight:l,resetHighlight:c}}function Dn({agents:t,highlightedIndex:e,onSelect:i,onHover:s,emptyHint:r,pendingId:a,className:n,id:o}){return t.length===0?h.jsx("div",{className:`agent-autocomplete ${n??""}`,id:o,children:h.jsx("div",{className:"agent-autocomplete-empty",children:r??"No matches."})}):h.jsx("div",{className:`agent-autocomplete ${n??""}`,role:"listbox",id:o,children:t.map((l,c)=>{const u=Ot(l),d=c===e;return h.jsxs("button",{type:"button",role:"option","aria-selected":d,className:`agent-autocomplete-item${d?" is-active":""}`,onMouseDown:f=>{f.preventDefault(),i(l)},onMouseEnter:()=>s?.(c),disabled:a===l.id,children:[h.jsx("div",{className:"agent-autocomplete-avatar",style:{background:Ws(l.name)},children:l.name[0]?.toUpperCase()??"?"}),h.jsxs("div",{className:"agent-autocomplete-info",children:[h.jsx("span",{className:"agent-autocomplete-name",children:l.name}),h.jsxs("span",{className:"agent-autocomplete-handle",children:["@",u]})]})]},l.id)})})}const Rn=/(^|\s)@([a-zA-Z0-9_.-]*)$/,ct=4,Ln=254;function An(t,e){if(e<=0)return null;const i=t.slice(0,e),s=Rn.exec(i);if(!s)return null;s[1];const r=s[2]??"",a=i.length-r.length-1;return a<0?null:(t.slice(e,e+1),{start:a,end:e,query:r})}const Mn=["boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","whiteSpace","wordWrap","wordBreak"];function Nn(t,e){const i=document.createElement("div");document.body.appendChild(i);const s=i.style,r=window.getComputedStyle(t);s.position="absolute",s.visibility="hidden",s.whiteSpace="pre-wrap",s.wordWrap="break-word",s.top="0",s.left="-9999px";for(const c of Mn)s[c]=r[c];i.textContent=t.value.slice(0,e);const a=document.createElement("span");a.textContent=t.value.slice(e)||".",i.appendChild(a);const n=a.offsetTop,o=a.offsetLeft,l=parseInt(r.lineHeight,10)||a.offsetHeight;return document.body.removeChild(i),{top:n,left:o,height:l}}const io=g.forwardRef(function({agents:e,excludeIds:i,value:s,onChange:r,onSubmit:a,placeholder:n,rows:o=1,disabled:l,submitOnEnter:c=!1,className:u,textareaClassName:d,emptyHint:f,onMention:m},y){const x=g.useRef(null),P=g.useRef(null),[b,w]=g.useState(null),[k,T]=g.useState(null);g.useImperativeHandle(y,()=>({focus:()=>x.current?.focus(),blur:()=>x.current?.blur(),get textarea(){return x.current}}),[]);const V=b?.query??"",{filtered:S,highlightedIndex:j,setHighlightedIndex:E,moveHighlight:C}=Cn({agents:e,query:V,excludeIds:i}),L=g.useCallback(()=>{const v=x.current;if(!v)return;const A=window.getComputedStyle(v),p=parseFloat(A.minHeight)||0,$=parseFloat(A.maxHeight);v.style.height="0px";const F=Math.max(v.scrollHeight,p),W=Number.isFinite($)&&$>0?Math.min(F,$):F;v.style.height=`${W}px`,v.style.overflowY=F>W?"auto":"hidden"},[]);g.useLayoutEffect(()=>{L()},[L,s]);const O=g.useCallback(()=>{const v=x.current;if(!v)return;const A=An(v.value,v.selectionStart??0);w(A)},[]);g.useLayoutEffect(()=>{const v=x.current;if(!v||!b){T(null);return}const{top:A,left:p,height:$}=Nn(v,b.start),F=v.getBoundingClientRect(),W=v.parentElement?.getBoundingClientRect(),Q=W?F.top-W.top:0,gt=W?F.left-W.left:0,J=P.current?.offsetHeight||Ln,G=window.visualViewport,zt=G?.offsetTop??0,ss=zt+(G?.height??window.innerHeight),$t=F.top+A-v.scrollTop,is=$t+$,Ut=ss-is-ct,ns=$t-zt-ct,os=Ut<J&&ns>Ut;T({top:os?Q+A-v.scrollTop-J-ct:Q+A+$-v.scrollTop+ct,left:gt+p-v.scrollLeft})},[b,s,S.length]);const _=g.useCallback(v=>{const A=x.current,p=b;if(!A||!p)return;const $=Ot(v),F=s.slice(0,p.start),W=s.slice(p.end),Q=`@${$} `,gt=`${F}${Q}${W}`;r(gt),m?.(v),w(null);const J=p.start+Q.length;queueMicrotask(()=>{const G=x.current;G&&(G.focus(),G.setSelectionRange(J,J))})},[b,s,r,m]),z=v=>{if($s(v)||c&&v.key==="Enter"&&!v.shiftKey&&!v.nativeEvent?.isComposing&&!(b&&S.length>0)){v.preventDefault(),a?.();return}if(b&&S.length>0){if(v.key==="ArrowDown"){v.preventDefault(),C(1);return}if(v.key==="ArrowUp"){v.preventDefault(),C(-1);return}if(v.key==="Enter"||v.key==="Tab"){if(v.key==="Enter"&&v.shiftKey)return;const p=S[j];if(p){v.preventDefault(),_(p);return}}if(v.key==="Escape"){v.preventDefault(),w(null);return}}};return h.jsxs("div",{className:`agent-mention-wrap ${u??""}`,children:[h.jsx("textarea",{ref:x,className:d,value:s,rows:o,placeholder:n,disabled:l,onChange:v=>{r(v.target.value),L(),queueMicrotask(O)},onKeyUp:O,onClick:O,onBlur:()=>w(null),onKeyDown:z,"aria-autocomplete":"list"}),b&&h.jsx("div",{ref:P,className:"agent-mention-popover",style:{top:`${k?.top??0}px`,left:`${k?.left??0}px`,visibility:k?void 0:"hidden"},children:h.jsx(Dn,{agents:S,highlightedIndex:j,onSelect:_,onHover:E,emptyHint:f??"No matches."})})]})});export{io as A,_s as H,Yt as S,Zn as a,so as b,Jn as c,to as d,Qn as m,eo as o};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.s-profile-layout{display:flex;height:100%;background:var(--bg);overflow:hidden}.s-profile-layout--no-detail{display:block}.s-profile-roster{width:var(--agents-roster-w, 240px);flex-shrink:0;height:100%;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.s-profile-roster-scroll{flex:1;overflow-y:auto;overflow-y:overlay;padding:var(--space-2xl) var(--space-lg) var(--space-4xl);scrollbar-width:thin;scrollbar-color:transparent transparent}.s-profile-roster-scroll:hover{scrollbar-color:color-mix(in srgb,var(--ink) 15%,transparent) transparent}.s-profile-roster-scroll::-webkit-scrollbar{width:6px}.s-profile-roster-scroll::-webkit-scrollbar-track{background:transparent}.s-profile-roster-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-sm)}.s-profile-roster-scroll:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 15%,transparent)}.s-profile-roster-header{position:sticky;top:-16px;z-index:2;margin:-16px -12px var(--space-lg);padding:var(--space-2xl) var(--space-lg) var(--space-lg);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.s-profile-roster-title{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.s-profile-roster-summary{margin-top:3px;font-size:var(--text-sm);color:var(--muted)}.s-profile-roster-group{display:flex;flex-direction:column;gap:var(--space-3xs);margin-top:var(--space-md)}.s-profile-roster-group-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm) var(--space-3xs)}.s-profile-roster-group-title{font-size:var(--text-xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-profile-roster-group-count{font-size:var(--text-xs);color:var(--dim)}.s-profile-roster-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:background .12s ease}.s-profile-roster-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-profile-roster-row--active{background:color-mix(in srgb,var(--accent) 7%,transparent)}.s-profile-roster-row--active .s-profile-roster-row-name{color:var(--accent)}.s-profile-roster-avatar-wrap{position:relative;flex-shrink:0}.s-profile-roster-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm);color:var(--scout-chrome-avatar-ink)}.s-profile-roster-status-dot{position:absolute;right:-1px;bottom:0;width:8px;height:8px;border-radius:var(--radius-pill);border:2px solid var(--surface)}.s-profile-roster-row-body{flex:1;min-width:0}.s-profile-roster-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.s-profile-roster-row-name{font-size:var(--text-lg);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-profile-roster-row-qualifier{font-size:var(--text-xs);color:var(--dim);margin-left:var(--space-2xs)}.s-profile-roster-row-time{font-size:var(--text-xs);color:var(--dim);flex-shrink:0}.s-profile-roster-row-sub{font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.s-profile-roster-empty{padding:var(--space-3xl) var(--space-sm);font-size:var(--text-md);color:var(--muted);line-height:var(--leading-normal)}.s-profile-resize{width:5px;cursor:col-resize;flex-shrink:0;background:transparent;transition:background .15s ease;margin:0 -2px;z-index:5;position:relative}.s-profile-resize:hover,.s-profile-resize:active{background:color-mix(in srgb,var(--accent) 30%,transparent)}.s-profile-center{flex:1;min-width:0;height:100%;overflow-y:auto;padding:var(--space-5xl) var(--space-6xl) var(--space-6xl);background:var(--bg)}.s-profile-center:has(.s-conversation){padding:0;overflow:hidden}.s-profile-center--modular{display:flex;flex-direction:column;padding:var(--space-3xl) var(--space-4xl);overflow-y:auto}.s-sess-root{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.s-sess-head{position:relative;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);flex:none;padding:var(--space-xl) var(--space-xl) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 4%,transparent) 0%,transparent 70%)}.s-sess-id{display:flex;align-items:center;gap:var(--space-lg);min-width:0}.s-sess-avatar{position:relative;display:inline-flex;flex:none;border-radius:12px;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent),0 5px 14px color-mix(in srgb,#000 32%,transparent);transition:box-shadow .16s ease}.s-sess-avatar:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 22%,transparent),0 0 16px color-mix(in srgb,var(--ink) 10%,transparent),0 8px 20px color-mix(in srgb,#000 38%,transparent)}.s-sess-id-copy{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.s-sess-id-copy,.s-sess-name,.s-sess-handle,.s-sess-glyph-v,.s-sess-fact-value{user-select:text;-webkit-user-select:text}.s-sess-name{font-family:var(--font-accent-title);font-size:var(--text-4xl);font-weight:400;line-height:var(--leading-none);letter-spacing:-.01em;color:var(--ink)}.s-sess-glyph{display:grid;grid-template-columns:auto auto;column-gap:var(--space-5xl);row-gap:var(--space-2xs);width:fit-content;max-width:100%;margin-top:var(--space-xs)}.s-sess-glyph-cell{display:inline-flex;align-items:center;gap:6px;min-width:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}.s-sess-glyph-ico{flex:none;display:inline-flex;color:var(--dim)}.s-sess-glyph-ico svg{width:11px;height:11px}.s-sess-glyph-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.s-sess-facts{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);max-width:min(100%,430px)}.s-sess-fact{display:inline-flex;align-items:baseline;gap:var(--space-xs);min-width:0;max-width:100%;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 3%,transparent);padding:var(--space-2xs) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-snug)}.s-sess-fact-label{flex:none;color:var(--dim);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-sess-fact-value{min-width:0;color:var(--ink);overflow-wrap:anywhere;cursor:text}.s-sess-action{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:background .12s ease,color .12s ease}.s-sess-head-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);max-width:none;margin-left:auto}.s-sess-action:hover{background:var(--surface-hover);color:var(--ink)}.s-sess-action:disabled{cursor:wait;opacity:.62}.s-sess-action:disabled:hover{background:transparent;color:var(--muted)}.s-sess-action--accent{color:var(--canvas, var(--bg));background:var(--accent);border-color:transparent}.s-sess-action--accent:hover{color:var(--canvas, var(--bg));background:color-mix(in srgb,var(--accent) 88%,white)}.s-sess-action--accent:disabled{opacity:.55}.s-sess-action--accent:disabled:hover{background:var(--accent);color:var(--canvas, var(--bg))}.s-sess-action-error{color:var(--red);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);line-height:var(--leading-snug);text-align:right}.s-sess-name-row{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.s-sess-handle{flex:none;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--dim)}@media(max-width:720px){.s-sess-head{flex-wrap:wrap}.s-sess-id{align-items:flex-start;flex:1 1 100%}.s-sess-head-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin-left:calc(46px + var(--space-lg));width:100%}}.s-sess-band{display:flex;flex-direction:column;flex:1;min-height:0}.s-sess-band-head{display:flex;align-items:baseline;justify-content:space-between;flex:none;padding:var(--space-lg) var(--space-xl) var(--space-sm)}.s-sess-band-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-lg);color:var(--dim)}.s-sess-band-meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-sess-list{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-sess-empty{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);padding:var(--space-lg) var(--space-xl)}.s-sess-row{position:relative;display:flex;align-items:flex-start;gap:var(--space-md);width:100%;text-align:left;padding:var(--space-md) var(--space-xl);background:transparent;border:none;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent);cursor:pointer;transition:background .12s ease}.s-sess-row:hover{background:var(--surface-hover)}.s-sess-row--selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.s-sess-row--active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-sess-row--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.s-sess-row-dot{margin-top:5px}.s-sess-row-main{display:flex;flex-direction:column;gap:var(--space-2xs);min-width:0;flex:1}.s-sess-row-top{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.s-sess-row-id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);min-width:0;white-space:normal;overflow-wrap:anywhere}.s-sess-row-tag{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-sm);color:var(--dim);background:var(--surface);border-radius:var(--radius-sm);padding:1px var(--space-xs)}.s-sess-row-sub{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-sess-row-when{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-sm);color:var(--dim);white-space:nowrap;padding-top:2px}.s-sess-row-when--active{color:var(--accent)}.s-sess-item{display:flex;flex-direction:column}.s-sess-item--selected{position:relative;background:color-mix(in srgb,var(--accent) 6%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-sess-item--selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);z-index:1}.s-sess-item--selected .s-sess-row,.s-sess-item--selected .s-sess-row--active,.s-sess-item--selected .s-sess-row:hover{background:transparent;border-bottom-color:transparent}.s-sess-item--selected .s-sess-row:before{display:none}.s-sess-explore{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:0 var(--space-xl) var(--space-md);padding-left:calc(var(--space-xl) + 7px + var(--space-md))}.s-sess-explore-meta{min-width:0;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-sess-explore-primary{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);cursor:pointer;transition:filter .12s ease}.s-sess-explore-primary:hover{filter:brightness(1.06)}.s-sum{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-2xs) var(--space-xl) var(--space-lg);padding-left:calc(var(--space-xl) + 7px + var(--space-md))}.s-sum-session-state{min-width:0;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 34%,transparent)}.s-sum-session-dot{width:6px;height:6px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--dim);opacity:.55}.s-sum-session-dot--active{background:var(--accent);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.s-sum-session-copy{min-width:0;flex:1;display:grid;gap:1px}.s-sum-session-copy strong{min-width:0;overflow:hidden;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;letter-spacing:var(--tracking-sm);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}.s-sum-session-copy small{min-width:0;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-overflow:ellipsis;white-space:nowrap}.s-sum-session-ref,.s-sum-session-profile{min-width:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);overflow-wrap:anywhere}.s-sum-session-ref{display:inline-flex;align-items:baseline;gap:var(--space-xs)}.s-sum-session-ref span,.s-sum-session-profile{color:var(--dim);text-transform:uppercase}.s-sum-session-ref code{min-width:0;color:var(--ink);font-family:inherit;line-height:1.35;overflow-wrap:anywhere}.s-sum-trace-pill{min-height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;white-space:nowrap}.s-sum-trace-pill--waiting,.s-sum-trace-pill--loading{border-color:color-mix(in srgb,var(--amber) 28%,transparent);background:color-mix(in srgb,var(--amber) 6%,transparent);color:var(--amber)}.s-sum-cols{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-md) var(--space-2xl)}.s-sum-col{min-width:0}.s-sum-col--activity{flex:1 1 240px;min-width:220px}.s-sum-col--context{flex:0 1 200px;min-width:170px}.s-sum-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-lg);color:var(--dim);margin-bottom:var(--space-xs)}.s-sum-spark{display:flex;flex-direction:column;gap:var(--space-2xs)}.s-sum-spark-svg{display:block;width:100%;height:20px}.s-sum-spark-axis{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-sum-observed-empty{min-height:40px;display:grid;align-content:center;gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 30%,transparent)}.s-sum-observed-empty span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-sum-observed-empty strong{color:var(--muted);font-size:var(--text-sm);font-weight:550;line-height:var(--leading-snug)}.s-sum-ctx-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-sum-ctx-size{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.s-sum-ctx-pct{flex:0 0 auto;color:var(--dim);white-space:nowrap}.s-sum-gauge{margin-top:var(--space-2xs);height:3px;width:100%;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--ink) 12%,transparent)}.s-sum-gauge-fill{height:100%;border-radius:999px;background:var(--muted)}.s-sum-ctx-unavailable{margin-top:var(--space-2xs);min-height:18px;display:flex;align-items:center;padding:0 var(--space-xs);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm)}.s-sum-ctx-runway{margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-sum-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);padding-top:var(--space-md)}.s-sum-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2xs) var(--space-xs);min-width:0;font-family:var(--font-mono)}.s-sum-status-note{min-width:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);line-height:var(--leading-snug)}.s-sum-stat{display:inline-flex;align-items:baseline;gap:3px}.s-sum-stat-sep{margin-right:3px;color:var(--dim)}.s-sum-stat-v{font-size:var(--text-sm);color:var(--ink);font-variant-numeric:tabular-nums}.s-sum-stat-k{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.s-profile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-6xl) var(--space-4xl)}.s-profile-empty-title{font-family:var(--font-accent-title);font-size:var(--text-5xl);font-weight:400;letter-spacing:-.02em;color:var(--dim);margin:0 0 var(--space-xs)}.s-profile-empty-copy{font-size:var(--text-md);color:var(--muted);max-width:260px;line-height:var(--leading-normal);margin:0}.s-profile-identity{margin-bottom:var(--space-5xl)}.s-profile-identity-top{display:flex;align-items:flex-start;gap:var(--space-4xl);position:relative}.s-profile-identity-top>.s-profile-tabs{position:absolute;top:0;right:0;border-bottom:none;margin-bottom:0;gap:0}.s-profile-identity-avatar-wrap{position:relative;flex-shrink:0}.s-profile-identity-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-7xl);color:var(--scout-chrome-avatar-ink);flex-shrink:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent),inset 0 -10px 20px color-mix(in srgb,var(--ink) 12%,transparent)}.s-profile-identity-pulse{position:absolute;bottom:1px;right:1px;width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 2.5px var(--bg)}.s-profile-identity-pulse--working{opacity:.85}.s-profile-identity-pulse--available{opacity:.6}.s-profile-identity-pulse--offline{opacity:.35}.s-profile-identity-copy{flex:1;min-width:0;padding-top:var(--space-2xs)}.s-profile-identity-eyebrow{font-size:var(--text-sm);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);margin-bottom:var(--space-xs)}.s-profile-identity-name{margin:0;font-family:var(--font-accent-title);font-size:var(--text-8xl);font-weight:400;line-height:var(--leading-none);letter-spacing:-.02em;color:var(--ink)}.s-profile-identity-name-qualifier{font-size:var(--text-xl);font-weight:500;color:var(--muted);margin-left:var(--space-sm);vertical-align:baseline}.s-profile-identity-name-handle{font-size:var(--text-5xl);font-weight:400;color:var(--dim);margin-left:var(--space-lg)}.s-profile-identity-state-row{margin-top:var(--space-2xl)}.s-profile-identity-state{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--muted)}.s-profile-identity-state-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.s-profile-identity-state-dot--pulse{animation:s-profile-state-pulse 1.6s ease-in-out infinite}.s-profile-identity-state-label{color:var(--ink)}.s-profile-identity-state-detail{text-transform:none;letter-spacing:0;font-size:var(--text-md);color:var(--dim)}.s-profile-identity-qualified{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-lg);max-width:min(780px,100%)}.s-profile-identity-qualified span{min-width:0;max-width:100%;padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-tight);overflow-wrap:anywhere;word-break:break-word}.s-profile-facets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:1px;margin-bottom:var(--space-5xl);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--border)}.s-profile-facet{min-width:0;padding:var(--space-2xl) var(--space-3xl);background:var(--bg)}.s-profile-facet--identity{grid-column:span 2}.s-profile-facet-label{font-size:var(--text-xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);margin-bottom:var(--space-sm)}.s-profile-facet-value{font-size:var(--text-lg);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-profile-facet-detail{font-size:var(--text-sm);color:var(--dim);margin-top:var(--space-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-profile-facet-accent{color:var(--accent)}.s-profile-facet-value--mono{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:0;display:flex;align-items:center;gap:var(--space-sm);white-space:normal;overflow-wrap:anywhere;word-break:break-word}.s-agent-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);width:100%}.s-profile-tabs.s-agent-bar-tabs{margin:0;border-bottom:none}.s-mod-root{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg)}.s-mod-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%}.s-mod-identity{display:flex;align-items:center;gap:var(--space-lg);flex:none;padding:var(--space-2xl) var(--space-xl) var(--space-xl)}.s-mod-identity-name{font-family:var(--font-accent-title);font-size:var(--text-6xl);font-weight:400;line-height:var(--leading-none);letter-spacing:-.01em;color:var(--ink)}.s-mod-root>.agent-live-actions{flex:none;padding:0 var(--space-xl) var(--space-md)}.s-mod-bands{display:flex;flex-direction:column;flex:1;min-height:0}.s-mod-band{display:flex;flex-direction:column;flex:none;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-mod-band:first-child{border-top:none}.s-mod-band--grow{flex:1;min-height:0}.s-mod-band-head{display:flex;align-items:center;justify-content:space-between;flex:none;padding:var(--space-md) var(--space-xl) var(--space-xs)}.s-mod-band-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-xl);color:var(--dim)}.s-mod-band-meta{font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--dim)}.s-mod-band-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 var(--space-xl) var(--space-lg)}.s-mod-band-body--scroll{overflow-y:auto}.s-mod-empty{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim)}.s-mod-now{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-md);background:var(--surface)}.s-mod-now-dot{margin-top:6px}.s-mod-now-copy{min-width:0;flex:1}.s-mod-now-title{font-size:var(--text-md);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-mod-now-sub{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.s-mod-now-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-mod-now-sep{color:var(--border)}.s-mod-rows{display:flex;flex-direction:column}.s-mod-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) 0;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer}.s-mod-row--divided{border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-mod-row:hover{background:var(--surface-hover)}.s-mod-row-dot{width:5px;height:5px}.s-mod-row-title{min-width:0;flex:1;font-size:var(--text-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-mod-row-time{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--dim)}.s-mod-signal-list{display:flex;flex-direction:column}.s-mod-signal{display:flex;gap:var(--space-md);width:100%;padding:var(--space-sm) 0;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer}.s-mod-signal:hover{background:var(--surface-hover)}.s-mod-signal-avatar{flex:none;width:22px;height:22px;border-radius:50%}.s-mod-signal-body{min-width:0;flex:1}.s-mod-signal-header{display:flex;align-items:baseline;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-mod-signal-kind{font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--muted)}.s-mod-signal-sep{color:var(--border)}.s-mod-signal-actor{color:var(--muted)}.s-mod-signal-time{margin-left:auto;color:var(--dim)}.s-mod-signal-text{margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--ink);line-height:var(--leading-snug);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.s-profile-facet-action{font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--green);background:color-mix(in srgb,var(--green) 8%,transparent);border:1px solid color-mix(in srgb,var(--green) 20%,transparent);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.s-profile-facet-action:hover{background:color-mix(in srgb,var(--green) 16%,transparent);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.s-profile-facet-action:disabled{cursor:not-allowed;opacity:.45}.s-profile-context-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.s-profile-context-metric,.s-profile-context-state{font-size:var(--text-lg);color:var(--ink)}.s-profile-context--fresh .s-profile-context-state{color:var(--green)}.s-profile-context--aging .s-profile-context-state{color:var(--accent)}.s-profile-context--stale .s-profile-context-state{color:var(--red)}.s-profile-context-gauge{height:4px;margin-top:var(--space-md);overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 10%,transparent)}.s-profile-context-gauge-fill{height:100%;border-radius:inherit;background:var(--green);transition:width .18s ease}.s-profile-context--aging .s-profile-context-gauge-fill{background:var(--accent)}.s-profile-context--stale .s-profile-context-gauge-fill{background:var(--red)}.s-profile-facet-action--pair{color:var(--ink);background:transparent;border-color:color-mix(in srgb,var(--border) 70%,transparent)}.s-profile-facet-action--pair:hover{color:var(--green);background:color-mix(in srgb,var(--green) 6%,transparent);border-color:color-mix(in srgb,var(--green) 25%,transparent)}.s-profile-tabs{display:flex;gap:var(--space-3xs);border-bottom:1px solid var(--border);margin-bottom:var(--space-5xl)}.s-profile-compact-tabs{flex-shrink:0;display:flex;justify-content:flex-end;margin:0 -40px;padding:var(--space-md) 40px 0;border-bottom:1px solid var(--border);background:var(--bg)}.s-profile-center:has(.s-conversation) .s-profile-compact-tabs{margin:0}.s-profile-tabs--compact{margin-bottom:0;border-bottom:none}.s-profile-tab{padding:var(--space-sm) var(--space-2xl);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.s-profile-tab:hover:not(:disabled){color:var(--ink)}.s-profile-tab--active{color:var(--ink);border-bottom-color:var(--accent)}.s-profile-tab:disabled{opacity:.35;cursor:default}.s-profile-tab-conversation{flex:1;min-height:0;display:flex;flex-direction:column}.s-profile-tab-conversation:has(.s-observe),.s-profile-tab-conversation:has(.s-thread-layout){margin:0 -40px}.s-profile-tab-conversation .s-conversation{flex:1;min-height:0}.s-profile-center--tabbed{display:flex;flex-direction:column;overflow:hidden;padding-top:0;padding-bottom:0}.s-profile-center--tabbed .s-profile-identity{margin-bottom:0;padding-bottom:var(--space-2xl);border-bottom:1px solid var(--border);flex-shrink:0}.s-profile-section-rule{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-2xs) 0;margin-bottom:var(--space-2xl)}.s-profile-section-rule-label{font-size:var(--text-sm);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);white-space:nowrap}.s-profile-section-rule-line{flex:1;height:1px;background:var(--border)}.s-profile-section-rule-right{font-size:var(--text-sm);color:var(--dim);white-space:nowrap}.s-profile-task{margin-bottom:var(--space-5xl);padding:var(--space-3xl) var(--space-4xl);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.s-profile-task-title{font-family:var(--font-accent-title);font-size:var(--text-5xl);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--ink);margin-bottom:var(--space-2xl)}.s-profile-task-progress{height:3px;border-radius:2px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;margin-bottom:var(--space-md)}.s-profile-task-progress-bar{height:100%;border-radius:2px;background:var(--accent);transition:width .4s ease}.s-profile-task-action{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--muted)}.s-profile-task-action-chevron{color:var(--accent);font-weight:700}.s-profile-task-cursor{display:inline-block;width:6px;height:13px;background:var(--accent);margin-left:2px;animation:s-profile-blink 1s steps(1) infinite}.s-profile-task-meta{display:flex;align-items:center;gap:var(--space-lg);margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--dim)}.s-profile-task-controls{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-2xl)}.s-profile-task-btn{min-height:28px;padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-none);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.s-profile-task-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.s-profile-task-btn--primary{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--ink)}.s-profile-activity-feed{display:flex;flex-direction:column;gap:var(--space-3xs)}.s-profile-activity-row{display:flex;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);cursor:pointer;transition:background .12s ease}.s-profile-activity-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-profile-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--dim);flex-shrink:0;margin-top:var(--space-2xs)}.s-profile-activity-dot--done{background:var(--green)}.s-profile-activity-body{flex:1;min-width:0}.s-profile-activity-title{font-size:var(--text-lg);font-weight:500;color:var(--ink);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.s-profile-activity-meta{font-size:var(--text-sm);color:var(--dim);margin-top:var(--space-3xs)}.s-profile-activity-empty{padding:var(--space-4xl) var(--space-3xl);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.s-profile-activity-empty-title{font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:400;color:var(--muted);margin-bottom:var(--space-2xs)}.s-profile-activity-empty-detail{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--dim)}.s-profile-work{margin-bottom:var(--space-5xl)}.s-profile-section-title{margin:0 0 var(--space-md);font-size:var(--text-lg);font-weight:600;letter-spacing:-.005em;color:var(--ink)}.s-profile-signals{margin-bottom:var(--space-5xl)}.s-profile-signal-list{display:flex;flex-direction:column;gap:var(--space-md)}.s-profile-signal{display:flex;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:border-color .14s ease}.s-profile-signal:hover{border-color:color-mix(in srgb,var(--accent) 20%,var(--border))}.s-profile-signal-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-2xs);color:var(--scout-chrome-avatar-ink);flex-shrink:0;margin-top:var(--space-3xs)}.s-profile-signal-body{flex:1;min-width:0}.s-profile-signal-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-2xs)}.s-profile-signal-kind{font-size:var(--text-sm);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-profile-signal-sep{color:var(--dim);font-size:var(--text-xs)}.s-profile-signal-routing{font-size:var(--text-md);color:var(--muted)}.s-profile-signal-routing-arrow{color:var(--dim);margin:0 var(--space-3xs)}.s-profile-signal-time{font-size:var(--text-sm);color:var(--dim);flex-shrink:0;margin-left:auto}.s-profile-signal-text{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.s-profile-back-position{margin-bottom:0}.s-profile-return-row{display:flex;align-items:stretch;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-2xl)}.s-profile-mobile-back{display:none}@keyframes s-profile-state-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes s-profile-state-breathe{0%,to{box-shadow:0 0 color-mix(in srgb,var(--amber) 60%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--amber) 0%,transparent)}}@keyframes s-profile-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes s-profile-scan{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(max-width:1280px){.s-profile-right{width:300px;padding:var(--space-3xl) var(--space-2xl)}}@media(max-width:1080px){.s-profile-right{display:none}.s-profile-identity-name{font-size:var(--text-7xl)}.s-profile-facet--identity{grid-column:auto}}@media(max-width:959px){.s-profile-layout{display:block;height:auto}.s-profile-roster,.s-profile-center{height:auto;width:100%}.s-profile-layout:not(.s-profile-layout--selected) .s-profile-center{display:none}.s-profile-layout--selected .s-profile-roster,.s-profile-resize{display:none}.s-profile-center{padding:var(--space-3xl)}.s-profile-center--tabbed{padding-top:0}.s-profile-compact-tabs{margin:0 -20px;padding:var(--space-sm) 20px 0}.s-profile-tab-conversation:has(.s-observe){margin:0 -20px}.s-profile-mobile-back{display:inline-flex;margin-bottom:var(--space-lg)}}.s-agents-library{flex:1;min-width:0;height:100%;overflow-y:auto;padding:var(--space-3xl) var(--space-4xl) var(--space-5xl);background:var(--bg)}.s-agents-library--inventory{overflow:hidden;padding:0}.s-agents-inventory{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;background:var(--bg)}.s-agents-inventory .s-atop-summary-cell--breakdown{flex:2 1 0;min-width:0}.s-agents-inventory .s-atop-summary-row{flex-wrap:nowrap;min-width:0;overflow:hidden}.s-agents-inventory .s-atop-summary-row .s-atop-chip{flex:0 0 auto}.s-agents-inventory-table.dt-wrap{min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}.s-agents-inventory-row--offline td{opacity:.58}.s-agents-inventory-col-status,.s-agents-inventory-col-session{color:var(--dim)}.s-agents-inventory-col-agent,.s-agents-inventory-col-task,.s-agents-inventory-col-branch{color:var(--ink)}.s-agents-inventory-agent-cell{display:flex;min-width:0;align-items:baseline;gap:var(--space-sm)}.s-agents-inventory-agent-name{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600}.s-agents-inventory-agent-id{overflow:hidden;text-overflow:ellipsis;color:var(--dim);font-size:var(--text-sm);font-weight:400}.s-agents-inventory-status{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500}.s-agents-inventory-status-dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--dim)}.s-agents-inventory-status--working{color:var(--green)}.s-agents-inventory-status--working .s-agents-inventory-status-dot{background:var(--green);box-shadow:0 0 6px color-mix(in srgb,var(--green) 55%,transparent)}.s-agents-inventory-status--available{color:var(--accent)}.s-agents-inventory-status--available .s-agents-inventory-status-dot{background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 45%,transparent)}.s-agents-inventory-status--offline{color:var(--dim)}.s-agents-inventory-status--offline .s-agents-inventory-status-dot{background:color-mix(in srgb,var(--dim) 72%,transparent)}.s-agents-inventory-task{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.s-agents-inventory-task--dim{color:var(--dim)}.s-agents-inventory-pill--status-working.s-atop-pill--on{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}.s-agents-inventory-pill--status-working.s-atop-pill--on .s-atop-pill-ct{color:var(--green)}.s-agents-inventory-pill--status-available.s-atop-pill--on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.s-agents-inventory-pill--status-offline.s-atop-pill--on{border-color:var(--dim);background:color-mix(in srgb,var(--dim) 14%,transparent)}.s-agents-inventory-pill--status-offline.s-atop-pill--on .s-atop-pill-ct{color:var(--muted)}.s-atop-pill--project{flex:0 0 auto;max-width:min(260px,42vw);overflow:hidden}.s-atop-pill--project .s-atop-pill-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-agent-projects{min-height:0;overflow:auto;background:var(--bg);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 80%,transparent) transparent}.s-agent-projects::-webkit-scrollbar{width:8px;height:8px}.s-agent-projects::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-sm)}.s-agent-projects--empty{display:flex;align-items:center;justify-content:center}.s-agent-project-empty{text-align:center;color:var(--dim);font-size:var(--text-md);padding:var(--space-7xl) var(--space-3xl)}.s-agent-project-empty-title{margin-bottom:var(--space-sm);color:var(--muted);font:600 var(--text-sm)/var(--leading-tight) var(--font-mono);letter-spacing:var(--tracking-xl);text-transform:uppercase}.s-agent-project-empty-body{max-width:380px;line-height:var(--leading-normal)}.s-agent-project{border-bottom:1px solid var(--border);background:var(--bg)}.s-agent-project--working{background:var(--bg)}.s-agent-project--selected{box-shadow:inset 3px 0 0 var(--accent)}.s-agent-project-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);padding:var(--space-md) var(--space-xl)}.s-agent-project-select{appearance:none;display:inline-flex;min-width:0;flex:1 1 auto;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.s-agent-project-select:hover .s-agent-project-title,.s-agent-project-select:focus-visible .s-agent-project-title{color:var(--accent)}.s-agent-project-select:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:4px}.s-agent-project-title-block{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-sm);min-width:0}.s-agent-project-eyebrow,.s-agent-project-section-head{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-agent-project-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm)}.s-agent-project-selected-label{color:var(--accent)}.s-agent-project-title{display:inline;min-width:0;margin:0;font:650 var(--text-xl)/var(--leading-tight) var(--font-sans);letter-spacing:0;color:var(--ink);transition:color .12s ease}.s-agent-project-root{display:inline;max-width:min(420px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim)}.s-agent-project-summary{display:block;min-width:0;max-width:52%;overflow:hidden;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.s-agent-project-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:var(--space-2xl);padding:0 var(--space-3xl) var(--space-3xl)}.s-agent-project-column{min-width:0}.s-agent-project-tree{margin:0 var(--space-3xl) var(--space-2xl);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 44%,transparent);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 80%,transparent) transparent}.s-agent-project-tree-grid{min-width:980px}.s-agent-project-tree--compact{margin:0 var(--space-xl) var(--space-xl);border-radius:var(--radius-md)}.s-agent-project-tree--compact .s-agent-project-tree-grid{min-width:760px}.s-agent-project-tree-head,.s-agent-project-tree-row{display:grid;grid-template-columns:minmax(300px,1.7fr) minmax(92px,.46fr) minmax(112px,.48fr) minmax(120px,.64fr) 78px 76px minmax(112px,.48fr);align-items:center;gap:var(--space-md)}.s-agent-project-tree-head{position:sticky;top:0;z-index:1;min-height:34px;padding:0 var(--space-lg);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,var(--bg));color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-agent-project-tree-sort{appearance:none;display:inline-flex;min-width:0;align-items:center;gap:var(--space-2xs);justify-content:flex-start;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.s-agent-project-tree-sort:hover,.s-agent-project-tree-sort:focus-visible,.s-agent-project-tree-sort[data-active=true]{outline:none;color:var(--ink)}.s-agent-project-tree-sort span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-agent-project-tree-sort-mark{flex:0 0 auto;color:var(--accent);font-size:var(--text-xs)}.s-agent-project-tree-sort:not([data-active=true]) .s-agent-project-tree-sort-mark{color:var(--dim);opacity:.62}.s-agent-project-tree-row{min-height:42px;padding:var(--space-xs) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);color:var(--muted);font-size:var(--text-sm)}.s-agent-project-tree--compact .s-agent-project-tree-row{grid-template-columns:minmax(300px,1.9fr) minmax(82px,.38fr) minmax(128px,.55fr) minmax(58px,.24fr) minmax(72px,.32fr);gap:var(--space-sm);min-height:34px;padding:var(--space-2xs) var(--space-md);font-size:var(--text-sm)}.s-agent-project-tree-row:last-child{border-bottom:0}.s-agent-project-tree-row--root{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 24rem),color-mix(in srgb,var(--surface) 56%,transparent)}.s-agent-project-tree-row--agent{background:color-mix(in srgb,var(--bg) 55%,transparent)}.s-agent-project-tree-row--agent:hover,.s-agent-project-tree-row--session:hover{background:color-mix(in srgb,var(--surface) 76%,transparent)}.s-agent-project-tree-row--working{background:color-mix(in srgb,var(--bg) 55%,transparent)}.s-agent-project-tree-row--session{min-height:36px;background:color-mix(in srgb,var(--surface) 28%,transparent)}.s-agent-project-tree--compact .s-agent-project-tree-row--session{min-height:32px}.s-agent-project-tree-row--native{box-shadow:inset 2px 0 color-mix(in srgb,var(--green) 50%,transparent)}.s-agent-project-tree-row--scout{box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 48%,transparent)}.s-agent-project-tree-row--group{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-agent-project-tree-row--group .s-agent-project-tree-primary{flex:0 0 auto;max-width:none;overflow:visible}.s-agent-project-tree-target,.s-agent-project-tree-copy,.s-agent-project-tree-link,.s-agent-project-tree-primary,.s-agent-project-tree-secondary{min-width:0}.s-agent-project-tree-target{display:flex;align-items:center;gap:var(--space-sm)}.s-agent-project-tree-gutter,.s-agent-project-tree-toggle,.s-agent-project-tree-branch{width:18px;flex:0 0 18px}.s-agent-project-tree-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;height:24px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--dim);font-family:var(--font-mono);cursor:pointer}.s-agent-project-tree-toggle:hover:not(:disabled),.s-agent-project-tree-toggle:focus-visible:not(:disabled){outline:none;border-color:color-mix(in srgb,var(--accent) 34%,var(--border));color:var(--ink)}.s-agent-project-tree-toggle:disabled{cursor:default;opacity:.45}.s-agent-project-tree-branch{height:22px;border-right:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);transform:translateY(-8px)}.s-agent-project-tree-copy,.s-agent-project-tree-link{display:flex;flex-direction:column;gap:var(--space-3xs)}.s-agent-project-tree--compact .s-agent-project-tree-copy,.s-agent-project-tree--compact .s-agent-project-tree-link{flex-direction:row;align-items:baseline;gap:var(--space-sm)}.s-agent-project-tree-link{appearance:none;flex:1 1 auto;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.s-agent-project-tree-link:hover .s-agent-project-tree-primary,.s-agent-project-tree-link:focus-visible .s-agent-project-tree-primary{color:var(--accent)}.s-agent-project-tree-link:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px}.s-agent-project-tree-link:disabled{cursor:default}.s-agent-project-tree-link:disabled .s-agent-project-tree-primary{color:var(--muted)}.s-agent-project-tree-primary{display:flex;align-items:center;gap:var(--space-sm);overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:650}.s-agent-project-tree--compact .s-agent-project-tree-primary{flex:0 0 auto;max-width:min(260px,38%)}.s-agent-project-tree-secondary{display:block;overflow:hidden;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs)}.s-agent-project-tree--compact .s-agent-project-tree-secondary{flex:1 1 auto}.s-agent-project-tree-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%}.s-agent-project-tree-state,.s-agent-project-tree-muted,.s-agent-project-tree-mono{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-sm)}.s-agent-project-tree-state{color:var(--muted);text-transform:uppercase}.s-agent-project-tree-state--working,.s-agent-project-tree-state--active,.s-agent-project-tree-state--available{color:var(--accent)}.s-agent-project-tree-state--offline,.s-agent-project-tree-state--idle,.s-agent-project-tree-muted{color:var(--dim)}.s-agent-project-tree-mono{color:var(--muted);font-variant-numeric:tabular-nums}.s-agent-project-tree-actions{display:inline-flex;min-width:0;justify-content:flex-end;gap:var(--space-2xs)}.s-agent-project-tree-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:var(--space-2xs) var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 88%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 58%,transparent);color:var(--muted);font:var(--text-xs)/var(--leading-none) var(--font-mono);cursor:pointer}.s-agent-project-tree-action:hover:not(:disabled),.s-agent-project-tree-action:focus-visible:not(:disabled){outline:none;border-color:color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--ink)}.s-agent-project-tree-action:disabled{cursor:default;opacity:.5}.s-agent-project-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.s-agent-project-section-head strong{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.s-agent-project-section-head--secondary{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px dashed color-mix(in srgb,var(--border) 90%,transparent)}.s-agent-project-card-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-sm)}.s-agent-project-card{appearance:none;display:flex;min-width:0;min-height:96px;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.s-agent-project-card:hover,.s-agent-project-card:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--surface) 88%,transparent);transform:translateY(-1px)}.s-agent-project-card[data-state=offline]{opacity:.64}.s-agent-project-card-top{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.s-agent-project-card-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.s-agent-project-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:650}.s-agent-project-card-time{margin-left:auto;flex:0 0 auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim)}.s-agent-project-card-signal{display:-webkit-box;min-height:2.55em;overflow:hidden;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical}.s-agent-project-card-signal--quiet{color:var(--dim)}.s-agent-project-card-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:auto}.s-agent-project-chip{display:inline-flex;min-width:0;max-width:100%;align-items:center;padding:1px var(--space-xs);border:1px solid color-mix(in srgb,var(--border) 90%,transparent);border-radius:var(--radius-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.s-agent-project-chip--active{color:var(--green);border-color:color-mix(in srgb,var(--green) 42%,transparent);background:color-mix(in srgb,var(--green) 8%,transparent)}.s-agent-project-session-list{display:flex;flex-direction:column;gap:var(--space-2xs);overflow-x:hidden;overflow-y:visible;padding-right:var(--space-3xs);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 80%,transparent) transparent}.s-agent-project-session{appearance:none;box-sizing:border-box;display:grid;grid-template-columns:minmax(54px,max-content) minmax(62px,max-content) minmax(0,1fr) minmax(72px,max-content);align-items:center;gap:var(--space-sm);min-height:36px;padding:var(--space-xs) var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 54%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;cursor:pointer}.s-agent-project-session:hover:not(:disabled),.s-agent-project-session:focus-visible:not(:disabled){outline:none;border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--ink)}.s-agent-project-session:disabled{cursor:default;opacity:.62}.s-agent-project-session-status{overflow:hidden;color:var(--dim);text-overflow:ellipsis;text-transform:uppercase}.s-agent-project-session--active .s-agent-project-session-status{color:var(--green)}.s-agent-project-session--scout .s-agent-project-session-status{color:var(--accent)}.s-agent-project-session--workflow{border-style:dashed}.s-agent-project-session--workflow:disabled{opacity:1}.s-agent-project-session--workflow .s-agent-project-session-status{color:var(--accent)}.s-agent-project-session-main{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.s-agent-project-session-sub{min-width:0;overflow:hidden;color:var(--dim);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.s-agent-project-empty-inline{display:flex;align-items:center;min-height:44px;padding:var(--space-sm) var(--space-md);border:1px dashed color-mix(in srgb,var(--border) 90%,transparent);border-radius:var(--radius-md);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm)}@media(max-width:980px){.s-agent-project-body{grid-template-columns:1fr}.s-agent-project-head{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}.s-agent-project-summary{max-width:100%;text-align:left}}.s-agents-library-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2xl);padding-bottom:var(--space-sm);margin-bottom:var(--space-xl);border-bottom:1px solid var(--border)}.s-agents-library-title-row{display:flex;align-items:baseline;gap:var(--space-md)}.s-agents-library-title{margin:0;font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:500;letter-spacing:-.015em;color:var(--ink)}.s-agents-library-count{font-size:var(--text-sm);color:var(--ink);opacity:.6}.s-agents-library-view{display:inline-flex;gap:var(--space-3xs);padding:var(--space-3xs);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.s-agents-library-view-btn{appearance:none;border:0;background:transparent;font-size:var(--text-xs);letter-spacing:var(--tracking-xs);text-transform:lowercase;padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-sm);color:var(--ink);opacity:.6;cursor:pointer;transition:opacity .12s ease,background .12s ease}.s-agents-library-view-btn:hover{opacity:1}.s-agents-library-view-btn[data-active=true]{opacity:1;background:color-mix(in srgb,var(--ink) 8%,transparent)}.s-agents-library-repos{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;gap:var(--space-lg)}.s-agents-library-topology,.s-agents-library-empty{grid-column:1 / -1}.s-agents-library-empty{height:auto;min-height:180px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.s-repo-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.s-repo-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xl);padding:var(--space-sm) var(--space-xl);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--ink) 2%,var(--surface))}.s-repo-card-identity{display:inline-flex;align-items:baseline;gap:var(--space-md);min-width:0;flex:1}.s-repo-card-name{margin:0;font-family:var(--font-accent-title);font-size:var(--text-xl);font-weight:500;letter-spacing:-.01em;color:var(--ink);flex-shrink:0}.s-repo-card-path{font-size:var(--text-xs);color:var(--ink);opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.s-repo-card-meta{display:inline-flex;flex-wrap:nowrap;align-items:baseline;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--ink);opacity:.7;flex-shrink:0}.s-repo-card-meta-dot{opacity:.4}.s-repo-card-tabs{display:flex;flex-wrap:wrap;gap:0;padding:0 var(--space-md);border-bottom:1px solid var(--border);background:var(--surface)}.s-repo-card-tab{appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md) var(--space-sm);margin-right:2px;border-bottom:2px solid transparent;font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:border-color .12s ease,background .12s ease}.s-repo-card-tab:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-repo-card-tab[data-active=true]{border-bottom-color:var(--ink)}.s-repo-card-tab[data-kind=active] .s-repo-card-tab-name{font-weight:600}.s-repo-card-tab[data-kind=idle] .s-repo-card-tab-name{font-weight:400}.s-repo-card-tab[data-kind=unmonitored]{border-bottom-style:dashed;border-bottom-color:color-mix(in srgb,var(--ink) 25%,transparent)}.s-repo-card-tab[data-kind=unmonitored] .s-repo-card-tab-name{font-weight:400;font-style:italic}.s-repo-card-tab-name{letter-spacing:.01em}.s-repo-card-tab-count{font-size:var(--text-2xs);padding:1px var(--space-xs);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 7%,transparent)}.s-repo-card-tab[data-kind=active] .s-repo-card-tab-count{background:color-mix(in srgb,var(--ink) 12%,transparent)}.s-repo-card-tab-glyph{font-size:var(--text-md);line-height:var(--leading-none);opacity:.55}.s-repo-card-body{padding:var(--space-3xs) 0;background:var(--surface)}.s-repo-card-empty{font-size:var(--text-sm);color:var(--ink);opacity:.6;padding:var(--space-lg) var(--space-xl)}.s-repo-card-empty strong{font-weight:600;color:var(--ink);opacity:1}.s-agent-log{display:flex;flex-direction:column;padding:var(--space-2xs) 0}.s-agent-log-row{appearance:none;text-align:left;border:0;background:transparent;display:grid;grid-template-columns:4ch minmax(8ch,18ch) 1fr;align-items:baseline;gap:var(--space-lg);width:100%;padding:var(--space-2xs) var(--space-xl);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:pointer;transition:background .1s ease}.s-agent-log-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-agent-log-row[data-state=offline]{opacity:.55}.s-agent-log-time{color:var(--ink);opacity:.55;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.s-agent-log-name{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-agent-log-msg{color:var(--ink);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-agent-log-msg-quiet{opacity:.55;letter-spacing:var(--tracking-xs)}.s-agent-rows{display:flex;flex-direction:column}.s-agent-row{appearance:none;text-align:left;border:0;background:transparent;display:grid;grid-template-columns:auto minmax(0,max-content) minmax(0,1fr) auto auto;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-xs) var(--space-xl);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);cursor:pointer;transition:background .1s ease}.s-agent-row:last-child{border-bottom:0}.s-agent-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-agent-row[data-state=offline]{opacity:.65}.s-agent-row-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}.s-agent-row-preview{font-size:var(--text-sm);line-height:var(--leading-tight);color:var(--ink);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-agent-row-preview-quiet{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);text-transform:lowercase;color:var(--ink);opacity:.5}.s-agent-row-harness{font-size:var(--text-2xs);letter-spacing:var(--tracking-xs);padding:1px var(--space-xs);border-radius:var(--radius-sm);color:var(--ink);opacity:.75;background:color-mix(in srgb,var(--ink) 5%,transparent);white-space:nowrap}.s-agent-row-time{font-size:var(--text-xs);color:var(--ink);opacity:.5;white-space:nowrap;min-width:3.5ch;text-align:right}.s-agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,260px));justify-content:start;gap:var(--space-sm);padding:var(--space-md) var(--space-xl) var(--space-lg)}.s-agent-card{appearance:none;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 3%,var(--surface));padding:var(--space-md) var(--space-lg) var(--space-sm);height:96px;display:flex;flex-direction:column;gap:var(--space-2xs);cursor:pointer;overflow:hidden;transition:border-color .12s ease,background .12s ease}.s-agent-card:hover{border-color:color-mix(in srgb,var(--ink) 12%,var(--border));background:color-mix(in srgb,var(--ink) 6%,var(--surface))}.s-agent-card[data-state=offline]{opacity:.7}.s-agent-card-row{display:flex;align-items:baseline;gap:var(--space-sm)}.s-agent-card-name{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-agent-card-time{font-size:var(--text-xs);color:var(--ink);opacity:.5;flex-shrink:0}.s-agent-card-preview{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.s-agent-card-preview-quiet{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);text-transform:lowercase;color:var(--ink);opacity:.5}.s-agent-card-topo{display:flex;flex-wrap:wrap;gap:var(--space-2xs);padding-top:var(--space-xs);border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent)}.s-agent-card-topo-chip{font-size:var(--text-2xs);letter-spacing:var(--tracking-xs);padding:1px var(--space-2xs);border-radius:var(--radius-sm);color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-agents-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md)}.s-agents-library-card{appearance:none;text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-lg) var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);cursor:pointer;transition:border-color .12s ease,transform .12s ease,background .12s ease}.s-agents-library-card:hover{border-color:color-mix(in srgb,var(--ink) 12%,var(--border));transform:translateY(-1px)}.s-agents-library-card[data-state=offline]{opacity:.72}.s-agents-library-card-row{display:flex;align-items:center;gap:var(--space-sm)}.s-agents-library-card-pulse{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 0%,var(--surface) 100%)}.s-agents-library-card[data-state=working] .s-agents-library-card-pulse{animation:s-agents-pulse 1.6s ease-in-out infinite}@keyframes s-agents-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.s-agents-library-card-name{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-agents-library-card-time{font-size:var(--text-xs);color:var(--ink);opacity:.5;flex-shrink:0}.s-agents-library-card-preview{font-size:var(--text-md);line-height:var(--leading-snug);color:var(--ink);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.s-agents-library-card-preview-quiet{font-size:var(--text-sm);letter-spacing:var(--tracking-xs);text-transform:lowercase;color:var(--ink);opacity:.5}.s-agents-library-card-topo{display:flex;flex-wrap:wrap;gap:var(--space-2xs);padding-top:var(--space-sm);border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent)}.s-agents-library-card-topo-chip{font-size:var(--text-xs);letter-spacing:var(--tracking-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-agent-project-labeled-list{display:flex;flex-direction:column}.s-agent-project-labeled{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid color-mix(in srgb,var(--border) 76%,transparent)}.s-agent-project-labeled:first-child{border-top:0}.s-agent-project-labeled--working{background:transparent}.s-agent-project-labeled-body{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(380px,.9fr);gap:var(--space-xl);align-items:start}.s-agent-project-labeled-pane{min-width:0}.s-agent-project-card-grid--compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2xs)}.s-agent-project-card-grid--compact .s-agent-project-card{min-height:48px;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md)}.s-agent-project-card-grid--compact .s-agent-project-card-top{gap:var(--space-xs)}.s-agent-project-card-grid--compact .s-agent-project-card-dot{width:6px;height:6px}.s-agent-project-card-grid--compact .s-agent-project-card-name{font-size:var(--text-sm)}.s-agent-project-card-grid--compact .s-agent-project-card-time{font-size:var(--text-2xs)}.s-agent-project-card-grid--compact .s-agent-project-card-signal{display:block;min-height:0;overflow:hidden;color:var(--dim);font-size:var(--text-xs);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.s-agent-project-card-grid--compact .s-agent-project-card-signal--quiet,.s-agent-project-card-grid--compact .s-agent-project-card-harness,.s-agent-project-card-grid--compact .s-agent-project-chip--session{display:none}.s-agent-project-card-grid--compact .s-agent-project-card-chips{flex-wrap:nowrap;gap:var(--space-3xs);margin-top:0;overflow:hidden}.s-agent-project-card-grid--compact .s-agent-project-chip{overflow:hidden;padding:0 var(--space-2xs);border-color:color-mix(in srgb,var(--border) 56%,transparent);background:color-mix(in srgb,var(--surface) 42%,transparent);font-size:var(--text-2xs);text-overflow:ellipsis}.s-agent-project-more{width:100%;min-height:28px;margin-top:var(--space-xs);border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 32%,transparent);color:var(--dim);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.s-agent-project-more:hover,.s-agent-project-more:focus-visible{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));color:var(--ink);outline:none}@media(max-width:1180px){.s-agent-project-labeled-body{grid-template-columns:1fr}}.s-pf-lenses{display:inline-flex;gap:var(--space-3xs)}.s-pf-lens{display:inline-flex;align-items:center;gap:var(--space-2xs)}.s-pf-lens-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.s-pf-projects{display:flex;flex-direction:column;border-top:1px solid var(--border)}.s-pf-projects--empty{border-top:none;padding:var(--space-3xl) 0}.s-pf-proj{border-bottom:1px solid var(--border);background:var(--bg)}.s-pf-proj[data-attn]{box-shadow:inset 2px 0 0 var(--accent)}.s-pf-proj-head{display:flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);cursor:pointer}.s-pf-proj-head:hover{background:var(--surface-hover)}.s-pf-proj-head:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.s-pf-chevron{flex:none;font-size:var(--text-2xs);line-height:1;color:var(--dim);transform:rotate(0);transition:transform .12s ease;transform-origin:45% 55%}.s-pf-chevron[data-open=true]{transform:rotate(90deg)}.s-pf-proj-ident{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.s-pf-proj-name{font-family:var(--font-sans);font-size:var(--text-md);font-weight:650;color:var(--ink)}.s-pf-proj-name--idle{font-weight:600;color:var(--muted)}.s-pf-proj-path{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-pf-tag{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--accent)}.s-pf-proj-digest{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);white-space:nowrap}.s-pf-sessions{display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--space-2xs)}.s-pf-session{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-2xs) var(--space-md) var(--space-2xs) var(--space-2xl);cursor:pointer}.s-pf-session:hover,.s-pf-session--selected{background:var(--surface-hover)}.s-pf-session:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.s-pf-session-line{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0}.s-pf-session-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--muted)}.s-pf-session-title--working{color:var(--ink)}.s-pf-session-title--attn{color:var(--accent)}.s-pf-session-time{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-pf-session-time--lead{width:3.4em;text-align:right}.s-pf-session-project{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-pf-session-spacer{flex:1 1 auto}.s-pf-session-tag{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--accent)}.s-pf-session-meta{display:flex;align-items:center;gap:var(--space-sm);padding-left:0}.s-pf-col{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);white-space:nowrap}.s-pf-col--card{color:var(--muted)}.s-pf-session-meta-spacer{flex:1 1 auto}.s-pf-open{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent);background:none;border:none;padding:0;cursor:pointer}.s-pf-open:hover{text-decoration:underline}.s-pf-more{align-self:flex-start;margin:var(--space-2xs) 0 var(--space-2xs) var(--space-2xl);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);background:none;border:none;padding:0;cursor:pointer}.s-pf-more:hover{color:var(--accent)}.s-pf-empty-inline{padding:var(--space-2xs) var(--space-md) var(--space-2xs) var(--space-2xl);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-pf-recent{display:flex;flex-direction:column;padding:var(--space-md) 0}.s-pf-recent .s-pf-session{padding-left:var(--space-md);border-bottom:1px solid var(--border)}.s-pf-recent .s-pf-session:last-child{border-bottom:none}.s-pf-deep{padding:var(--space-md) 0}.s-pf-deep-head{display:flex;align-items:baseline;gap:var(--space-sm);padding:0 var(--space-md) var(--space-sm)}.s-pf-deep-back{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent);background:none;border:none;padding:0;cursor:pointer}.s-pf-deep-back:hover{text-decoration:underline}.s-pf-deep-title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:650;color:var(--ink)}.s-pf-deep-path{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-pf-empty{padding:var(--space-3xl) var(--space-md);text-align:center}.s-pf-empty-title{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--muted)}.s-pf-empty-body{margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--dim)}.s-pf-toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0}.s-pf-search{flex:0 1 22rem}.s-pf-viewswitch{margin-left:auto;display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.s-pf-viewswitch-btn{padding:var(--space-3xs) var(--space-md);border:none;border-radius:var(--radius-sm);background:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.s-pf-viewswitch-btn:hover{color:var(--ink)}.s-pf-viewswitch-btn[data-active=true]{background:var(--surface-hover);color:var(--ink)}.s-pf-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);padding:var(--space-2xs) 0 var(--space-sm)}.s-pf-filters-spacer{flex:1 1 auto}.s-pf-clear{margin-left:var(--space-2xs)}.s-pf-colhead{display:grid;gap:var(--space-sm);padding:var(--space-2xs) var(--space-md);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-md);color:var(--dim)}.s-pf-colhead--proj{grid-template-columns:minmax(0,1fr) 4.5rem 5rem 4rem}.s-pf-colhead--proj span:not(:first-child){text-align:right}.s-pf-colhead--recent{grid-template-columns:3.6rem minmax(0,1fr) 9rem 5rem 9rem}.s-pf-row{display:grid;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-md)}.s-pf-row--proj{grid-template-columns:minmax(0,1fr) 4.5rem 5rem 4rem}.s-pf-row--recent{grid-template-columns:3.6rem minmax(0,1fr) 9rem 5rem 9rem;padding-left:var(--space-md)}.s-pf-row--sub{padding-left:var(--space-2xl)}.s-pf-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.s-pf-cell--name{display:flex;align-items:baseline;gap:var(--space-sm)}.s-pf-cell--span{grid-column:1 / 4}.s-pf-cell--num{text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--dim)}.s-pf-cell--lead{text-align:left}.s-pf-extra{margin-left:2px;color:var(--muted);opacity:.7}.s-pf-dash{color:var(--dim);opacity:.5}.s-pf-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent);align-self:center}.s-pf-sub-meta{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-DkjnzvcJ.js";const e=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],c=o("arrow-down",e);export{c as A};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-B1YBE4Gq.js","assets/index-C8uS5szO.js","assets/index-Ck1__1yL.css","assets/addon-fit-MR98IWES.js","assets/addon-webgl-CIIKXrvK.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as t,j as n,_ as te}from"./index-C8uS5szO.js";import{u as Ue}from"./chunk-HRAB3GC3-C5X-kFhb.js";var $e={titleBarInset:0,dragRegionProps:{},onInteractiveMouseDown:void 0,isSSR:!0,apiBaseUrl:"",serviceApiUrl:""},Xe=t.createContext($e);function Ge(){return t.useContext(Xe)}var Ce="hudson:terminal:voice-transcript",Ne="hudson:terminal:voice-submit",st='[data-hudson-terminal-drawer-content="true"]',Je=t.createContext(void 0),Ye={background:"#091112",foreground:"#d7e5e2",cursor:"#35d7d0",cursorAccent:"#091112",selectionBackground:"#173739",selectionForeground:"#f3fbf9",black:"#091112",red:"#ff6b6b",green:"#35d07f",yellow:"#f5c451",blue:"#62b4ff",magenta:"#ff7ab6",cyan:"#32d5ca",white:"#d7e5e2",brightBlack:"#667777",brightRed:"#ff8f8f",brightGreen:"#5ee79f",brightYellow:"#ffd36e",brightBlue:"#8dccff",brightMagenta:"#ff9fca",brightCyan:"#67eee3",brightWhite:"#ffffff"},qe={background:"#f7faf9",foreground:"#111a19",cursor:"#006f6a",cursorAccent:"#f7faf9",selectionBackground:"#c0e7e2",selectionForeground:"#0d1716",black:"#111a19",red:"#9f1f18",green:"#006c46",yellow:"#704600",blue:"#075985",magenta:"#9d174d",cyan:"#006f6a",white:"#dbe5e2",brightBlack:"#52635f",brightRed:"#c2271f",brightGreen:"#007f55",brightYellow:"#865b00",brightBlue:"#0369a1",brightMagenta:"#be185d",brightCyan:"#007f89",brightWhite:"#ffffff"},Qe=`
|
|
3
|
-
.xterm { cursor: text; position: relative; user-select: none; -ms-user-select: none; -webkit-user-select: none; }
|
|
4
|
-
.xterm.focus, .xterm:focus { outline: none; }
|
|
5
|
-
.xterm .xterm-helpers { position: absolute; top: 0; z-index: 5; }
|
|
6
|
-
.xterm .xterm-helper-textarea { padding: 0; border: 0; margin: 0; position: absolute; opacity: 0; left: -9999em; top: 0; width: 0; height: 0; z-index: -5; white-space: nowrap; overflow: hidden; resize: none; }
|
|
7
|
-
.xterm .composition-view { background: var(--hud-terminal-bg, #091112); color: var(--hud-terminal-fg, #d7e5e2); display: none; position: absolute; white-space: nowrap; z-index: 1; }
|
|
8
|
-
.xterm .composition-view.active { display: block; }
|
|
9
|
-
.xterm .xterm-viewport { background-color: var(--hud-terminal-bg, transparent); overflow-y: scroll; cursor: default; position: absolute; right: 0; left: 0; top: 0; bottom: 0; }
|
|
10
|
-
.xterm .xterm-screen { position: relative; }
|
|
11
|
-
.xterm .xterm-screen canvas { position: absolute; left: 0; top: 0; }
|
|
12
|
-
.xterm-char-measure-element { display: inline-block; visibility: hidden; position: absolute; top: 0; left: -9999em; line-height: normal; }
|
|
13
|
-
.xterm.enable-mouse-events { cursor: default; }
|
|
14
|
-
.xterm.xterm-cursor-pointer, .xterm .xterm-cursor-pointer { cursor: pointer; }
|
|
15
|
-
.xterm.column-select.focus { cursor: crosshair; }
|
|
16
|
-
.xterm .xterm-accessibility:not(.debug), .xterm .xterm-message { position: absolute; left: 0; top: 0; bottom: 0; right: 0; z-index: 10; color: transparent; pointer-events: none; }
|
|
17
|
-
.xterm .xterm-accessibility-tree:not(.debug) *::selection { color: transparent; }
|
|
18
|
-
.xterm .xterm-accessibility-tree { font-family: monospace; user-select: text; white-space: pre; }
|
|
19
|
-
.xterm .xterm-accessibility-tree > div { transform-origin: left; width: fit-content; }
|
|
20
|
-
.xterm .live-region { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
|
|
21
|
-
.xterm-dim { opacity: 1 !important; }
|
|
22
|
-
.xterm-underline-1 { text-decoration: underline; }
|
|
23
|
-
.xterm-underline-2 { text-decoration: double underline; }
|
|
24
|
-
.xterm-underline-3 { text-decoration: wavy underline; }
|
|
25
|
-
.xterm-underline-4 { text-decoration: dotted underline; }
|
|
26
|
-
.xterm-underline-5 { text-decoration: dashed underline; }
|
|
27
|
-
.xterm-overline { text-decoration: overline; }
|
|
28
|
-
.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
|
|
29
|
-
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
|
|
30
|
-
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
|
|
31
|
-
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
|
|
32
|
-
.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
|
|
33
|
-
.xterm-strikethrough { text-decoration: line-through; }
|
|
34
|
-
.xterm-screen .xterm-decoration-container .xterm-decoration { z-index: 6; position: absolute; }
|
|
35
|
-
.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer { z-index: 7; }
|
|
36
|
-
.xterm-decoration-overview-ruler { z-index: 8; position: absolute; top: 0; right: 0; pointer-events: none; }
|
|
37
|
-
.xterm-decoration-top { z-index: 2; position: relative; }
|
|
38
|
-
.xterm .xterm-scrollable-element > .scrollbar { cursor: default; }
|
|
39
|
-
.xterm .xterm-scrollable-element > .scrollbar > .scra { cursor: pointer; font-size: 11px !important; }
|
|
40
|
-
.xterm .xterm-scrollable-element > .visible { opacity: 1; background: rgba(0,0,0,0); transition: opacity 100ms linear; z-index: 11; }
|
|
41
|
-
.xterm .xterm-scrollable-element > .invisible { opacity: 0; pointer-events: none; }
|
|
42
|
-
.xterm .xterm-scrollable-element > .invisible.fade { transition: opacity 800ms linear; }
|
|
43
|
-
.xterm .xterm-scrollable-element > .shadow { position: absolute; display: none; }
|
|
44
|
-
.xterm .xterm-scrollable-element > .shadow.top { display: block; top: 0; left: 3px; height: 3px; width: 100%; }
|
|
45
|
-
.xterm .xterm-scrollable-element > .shadow.left { display: block; top: 3px; left: 0; height: 100%; width: 3px; }
|
|
46
|
-
`;function Ze(){if(typeof document>"u"||document.querySelector("[data-xterm-css]"))return;const l=document.createElement("style");l.setAttribute("data-xterm-css",""),l.textContent=Qe,document.head.appendChild(l)}function re(l,d){if(typeof l!="object"||l===null)return;const f=l,u=f[d];if(u)return u;const v=f.default;if(!(typeof v!="object"||v===null))return v[d]}function ke(l,d){if(!l||d&&!l.closest(d))return!1;const f=l.getBoundingClientRect();if(f.width<=0||f.height<=0)return!1;const u=window.getComputedStyle(l);return u.display!=="none"&&u.visibility!=="hidden"}var et="\x1B[13;2u",Te="\r";function tt(l){return new Promise((d,f)=>{const u=new FileReader;u.onload=()=>{const v=u.result;d(v.split(",")[1])},u.onerror=f,u.readAsDataURL(l)})}function rt({relay:l,fontSize:d=12,fontFamily:f="'JetBrains Mono', 'Hack Nerd Font', monospace",scrollback:u=5e3,renderer:v="auto",readOnly:je=!1,ariaLabel:ne="Terminal",className:oe,style:_e,colorScheme:ie="auto",configItems:V,onOpenSettings:L,onStartService:j,quiet:se=!1,voiceVisibilityScope:le,imageUploadUrl:ae,onReady:H,onDispose:W,onResize:K,onRendererChange:U},De){const{status:s,error:$,exitCode:X,cwd:Ae,setCwd:Se,sendInput:ce,resize:ue,onData:G,onDimensions:O,connect:p,disconnect:Le,controlMode:J="owner"}=l,C=je||J==="observe",Oe=t.useContext(Je),I=le===!1?void 0:le??Oe,[de,fe]=t.useState(!1),{apiBaseUrl:Ie}=Ge(),Me=Ue(),me=ie==="auto"?Me?.resolvedTheme==="light"?"light":"dark":ie,N=me==="light"?qe:Ye,Y=me==="light"?4.5:3,_=t.useRef(null),M=t.useRef(null),a=t.useRef(null),q=t.useRef(null),D=t.useRef(null),P=t.useRef(!1),[k,Q]=t.useState(!1),[Pe,T]=t.useState(!1),w=t.useRef(0),b=t.useRef(C),xe=t.useRef(null),Z=t.useRef(null),h=t.useRef(null),E=t.useRef(null),pe=t.useRef(H),be=t.useRef(W),he=t.useRef(K),ee=t.useRef(U);t.useEffect(()=>{b.current=C,C&&(D.current=null,P.current=!1,w.current=0,T(!1))},[C]),t.useEffect(()=>{pe.current=H},[H]),t.useEffect(()=>{be.current=W},[W]),t.useEffect(()=>{he.current=K},[K]),t.useEffect(()=>{ee.current=U},[U]),t.useEffect(()=>{const e=_.current;if(!e)return;const r=o=>{o.key===" "&&!o.metaKey&&!o.ctrlKey&&!o.altKey&&o.stopPropagation()};return e.addEventListener("keydown",r),()=>e.removeEventListener("keydown",r)},[]);const m=ae===void 0?`${Ie}/api/relay/upload`:ae,x=t.useCallback(e=>{b.current||ce(e)},[ce]),ge=t.useCallback((e,r)=>{if(!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0)return;const o=xe.current;o&&o.cols===e&&o.rows===r||(xe.current={cols:e,rows:r},ue(e,r),he.current?.(e,r))},[ue]),y=t.useCallback(()=>{const e=q.current,r=a.current;if(!e||!r)return null;try{const o=e.proposeDimensions();return o?((J!=="observe"||!Z.current)&&e.fit(),ge(o.cols,o.rows),Z.current??{cols:r.cols,rows:r.rows}):null}catch{return null}},[J,ge]),ve=t.useCallback(()=>{h.current===null&&(h.current=window.requestAnimationFrame(()=>{h.current=null,y()}))},[y]);t.useImperativeHandle(De,()=>({focus:()=>{a.current?.focus()},fit:y,clear:()=>{a.current?.clear()},getDimensions:()=>{const e=a.current;return e?{cols:e.cols,rows:e.rows}:null},getTerminal:()=>a.current}),[y]);const B=t.useCallback(e=>{const r=e.transcript.replace(/\s+/g," ").trim();r&&x(e.submit?`${r}${Te}`:r)},[x]),F=t.useCallback(()=>{x(Te)},[x]);t.useEffect(()=>{const e=r=>{if(b.current||!ke(_.current,I))return;const o=r.detail;if(!(!o||typeof o.transcript!="string")){if(s==="connected"){B(o);return}D.current=o,s!=="connecting"&&p()}};return window.addEventListener(Ce,e),()=>window.removeEventListener(Ce,e)},[p,B,s,I]),t.useEffect(()=>{if(s!=="connected"||!D.current)return;const e=D.current;D.current=null,B(e)},[B,s]),t.useEffect(()=>{const e=()=>{if(!b.current&&ke(_.current,I)){if(s==="connected"){F();return}P.current=!0,s!=="connecting"&&p()}};return window.addEventListener(Ne,e),()=>window.removeEventListener(Ne,e)},[p,F,s,I]),t.useEffect(()=>{s!=="connected"||!P.current||(P.current=!1,F())},[F,s]);const z=t.useCallback(async e=>{if(!m)return null;try{const r=await tt(e),o=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,data:r})}),{path:c}=await o.json();return c||null}catch(r){return console.error("File upload failed:",r),null}},[m]);t.useEffect(()=>{const e=_.current;if(!e)return;const r=async o=>{if(!o.clipboardData||!m)return;const c=Array.from(o.clipboardData.items).filter(g=>g.type.startsWith("image/"));if(c.length!==0&&(o.preventDefault(),o.stopPropagation(),!b.current))for(const g of c){const A=g.getAsFile();if(!A)continue;const S=await z(A);S&&x(S)}};return e.addEventListener("paste",r),()=>e.removeEventListener("paste",r)},[x,z,m]);const Be=t.useCallback(e=>{if(e.preventDefault(),b.current||!m){e.dataTransfer.dropEffect="none";return}e.dataTransfer.dropEffect="copy"},[m]),Fe=t.useCallback(e=>{if(e.preventDefault(),b.current||!m){w.current=0,T(!1);return}w.current++,e.dataTransfer.types.includes("Files")&&T(!0)},[m]),ze=t.useCallback(e=>{if(e.preventDefault(),b.current){w.current=0,T(!1);return}w.current--,w.current===0&&T(!1)},[]),Ve=t.useCallback(async e=>{if(e.preventDefault(),w.current=0,T(!1),b.current||!m)return;const r=Array.from(e.dataTransfer.files).filter(o=>o.type.startsWith("image/"));if(r.length!==0)for(const o of r){const c=await z(o);c&&x(c)}},[x,z,m]);t.useEffect(()=>{let e=!1,r=null;Q(!1);async function o(){const[c,g,A]=await Promise.all([te(()=>import("./xterm-B1YBE4Gq.js").then(i=>i.x),__vite__mapDeps([0,1,2])),te(()=>import("./addon-fit-MR98IWES.js").then(i=>i.a),__vite__mapDeps([3,1,2])),te(()=>import("./addon-webgl-CIIKXrvK.js").then(i=>i.a),__vite__mapDeps([4,1,2])).catch(()=>null)]),S=re(c,"Terminal"),ye=re(g,"FitAddon"),we=A?re(A,"WebglAddon"):void 0;if(!S||!ye){console.error("[TerminalRelay] @xterm/xterm or @xterm/addon-fit missing constructors",{xtermMod:c,fitMod:g});return}if(Ze(),e||!M.current)return;r=new S({fontSize:d,fontFamily:f,theme:N,minimumContrastRatio:Y,cursorBlink:!0,cursorStyle:"bar",allowTransparency:!0,scrollback:u,convertEol:!1,allowProposedApi:!0});const Ee=new ye;r.loadAddon(Ee),r.open(M.current),a.current=r,q.current=Ee;let Re="dom";if(v!=="dom"&&we)try{const i=new we;i.onContextLoss(()=>{i.dispose(),ee.current?.("dom")}),r.loadAddon(i),Re="webgl"}catch{}ee.current?.(Re),y(),r.attachCustomKeyEventHandler(i=>i.type==="keydown"&&i.key==="Enter"&&i.shiftKey&&!i.ctrlKey&&!i.altKey&&!i.metaKey?(i.preventDefault(),i.stopPropagation(),x(et),!1):!0),r.onData(i=>{x(i)}),Q(!0),pe.current?.(r)}return o(),()=>{e=!0,Q(!1),h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null),r&&(r.dispose(),a.current=null,q.current=null),be.current?.()}},[y,v,u,x]),t.useEffect(()=>{const e=a.current;e&&(e.options.fontSize=d,e.options.fontFamily=f,y())},[y,d,f]),t.useEffect(()=>{const e=a.current;e&&(e.options.theme=N,e.options.minimumContrastRatio=Y)},[Y,N]),t.useEffect(()=>{if(!(!k||!O))return O((e,r)=>{Z.current={cols:e,rows:r};const o=a.current;o&&(o.cols!==e||o.rows!==r)&&o.resize(e,r)}),()=>O(null)},[k,O]),t.useEffect(()=>{if(k)return G((e,r)=>{let o=!1;const c=()=>{o||(o=!0,r())},g=a.current;if(!g){c();return}try{g.write(e,c)}catch{c()}}),()=>{G(null)}},[k,G]),t.useEffect(()=>{const e=M.current;if(!e||!k)return;const r=new ResizeObserver(()=>{ve()});return r.observe(e),()=>{r.disconnect(),h.current!==null&&(window.cancelAnimationFrame(h.current),h.current=null)}},[k,ve]),t.useEffect(()=>{s==="connected"&&a.current&&a.current.focus()},[s]);const He=t.useCallback(()=>{s==="connected"&&a.current&&a.current.focus()},[s]),We=s==="error"&&$==="Relay service is not running",Ke=t.useCallback(async()=>{if(j){fe(!0);try{await j()&&(E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{E.current=null,p()},500))}finally{fe(!1)}}},[j,p]);t.useEffect(()=>()=>{E.current&&(clearTimeout(E.current),E.current=null)},[]);let R=null;return We?R=n.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-amber-500/10 border border-amber-500/20 flex items-center justify-center",children:n.jsx("span",{className:"text-amber-400 text-[14px]",children:"!"})}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[12px] text-foreground font-medium mb-1",children:"Relay service not running"}),n.jsx("div",{className:"text-[11px] text-muted-foreground/80 leading-relaxed",children:j?"Start the relay service to open a terminal session.":"Start the relay service from the Workspace Manager."})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[j&&n.jsx("button",{type:"button",onClick:Ke,disabled:de,className:"text-[11px] px-4 py-1.5 rounded-full border border-accent/30 text-accent hover:bg-accent/10 transition-colors font-medium disabled:opacity-50",children:de?"Starting":"Start Service"}),n.jsx("button",{type:"button",onClick:()=>p(),className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Retry"}),L&&n.jsx("button",{type:"button",onClick:L,className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Settings"})]})]}):s==="error"&&$?R=n.jsxs("div",{className:"flex flex-col items-center gap-3 max-w-md text-center px-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-red-500/10 flex items-center justify-center",children:n.jsx("span",{className:"text-red-400 text-sm",children:"!"})}),n.jsx("span",{className:"text-red-400 text-[12px] font-medium",children:"Session failed"}),n.jsx("code",{className:"text-[11px] text-muted-foreground bg-muted/80 px-3 py-2 rounded-md whitespace-pre-wrap leading-relaxed max-h-32 overflow-y-auto w-full text-left",children:$}),X!==null&&X!==0&&n.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Exit code ",X]}),n.jsx("button",{type:"button",onClick:()=>p(),className:"text-[11px] px-3 py-1 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors",children:"Retry"})]}):s==="disconnected"&&!se?R=n.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[n.jsx("div",{className:"w-8 h-8 rounded-full bg-muted border border-border flex items-center justify-center",children:n.jsx("span",{className:"text-muted-foreground/80 text-[14px]",children:"▷"})}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[12px] text-foreground font-medium mb-1",children:"Terminal relay disconnected"}),n.jsx("div",{className:"text-[11px] text-muted-foreground/80 leading-relaxed",children:"Set working directory and connect."})]}),n.jsxs("form",{className:"w-full",onSubmit:e=>{e.preventDefault(),p()},children:[n.jsx("label",{className:"text-[10px] font-mono text-muted-foreground/80 uppercase tracking-wider mb-1 block text-left",children:"Working Directory"}),n.jsx("input",{type:"text",value:Ae,onChange:e=>Se(e.target.value),placeholder:"~/dev/my-project",className:"w-full bg-muted/80 border border-border/50 rounded px-3 py-1.5 text-[11px] font-mono text-foreground placeholder:text-muted-foreground/60 outline-none focus:border-accent/40 transition-colors",spellCheck:!1,autoComplete:"off"})]}),V&&V.length>0&&n.jsx("div",{className:"w-full grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[10px] font-mono bg-muted/60 border border-border/40 rounded-md px-3 py-2",children:V.map(e=>n.jsxs("div",{className:"contents",children:[n.jsx("span",{className:"text-muted-foreground/80",children:e.label}),n.jsx("span",{className:"text-muted-foreground truncate text-left",children:e.value})]},e.label))}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("button",{type:"button",onClick:()=>p(),className:"text-[11px] px-4 py-1.5 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors font-medium",children:"Connect"}),L&&n.jsx("button",{type:"button",onClick:L,className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Settings"})]})]}):s==="connecting"&&!se&&(R=n.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[n.jsx("div",{className:"w-6 h-6 border-2 border-muted-foreground/30 border-t-cyan-500 rounded-full animate-spin"}),n.jsx("span",{className:"text-[12px] text-muted-foreground",children:"Connecting to relay"}),n.jsx("button",{type:"button",onClick:()=>{Le()},className:"text-[10px] px-3 py-1 rounded-full border border-border text-muted-foreground/80 hover:text-foreground hover:bg-muted transition-colors",children:"Cancel"})]})),n.jsxs("div",{ref:_,className:oe?`relative flex flex-col h-full overflow-hidden ${oe}`:"relative flex flex-col h-full overflow-hidden",style:_e,role:"application","aria-label":C?`${ne} (read only)`:ne,"data-readonly":C?"true":void 0,onClick:He,onDragOver:Be,onDragEnter:Fe,onDragLeave:ze,onDrop:Ve,children:[R&&n.jsx("div",{className:"flex items-center justify-center h-full font-mono text-[12px] absolute inset-0 z-10 bg-background/95",children:R}),Pe&&n.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-cyan-500/10 border-2 border-dashed border-cyan-500/50 rounded pointer-events-none",children:n.jsx("span",{className:"text-cyan-400 font-mono text-sm",children:"Drop image to get path"})}),n.jsx("div",{ref:M,className:"flex-1 min-h-0 min-w-0 overflow-hidden",style:{visibility:R?"hidden":"visible",backgroundColor:N.background,"--hud-terminal-bg":N.background,"--hud-terminal-fg":N.foreground}})]})}var nt=t.forwardRef(rt);nt.displayName="TerminalRelay";export{st as H,nt as T,Je as a,Ge as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,j as s}from"./index-C8uS5szO.js";import{P as Q}from"./plus-D_wLGJGT.js";import{c as O}from"./createLucideIcon-DkjnzvcJ.js";const ee=[["path",{d:"M5 12h14",key:"1ays0h"}]],te=O("minus",ee);var ne=({panOffset:u,scale:o,onPan:p,onPanStart:h,onPanEnd:a,isPanLocked:l=!1,onClick:m,showGuides:f=!1,onGuidesChange:y,gridOpacity:v=1})=>{const[d,k]=e.useState(f),[j,N]=e.useState(!1),c=e.useRef(!1),x=e.useRef({x:0,y:0}),n=e.useRef({active:!1,startX:0,startY:0}),z=e.useRef(null),M=e.useRef(null),S=e.useRef(null),A=4,H=e.useRef({x:0,y:0}),$=e.useRef(0),C=e.useRef(!1);e.useEffect(()=>{k(f)},[f]);const X=e.useCallback(t=>{const i=t;return i?i.tagName==="INPUT"||i.tagName==="TEXTAREA"||i.isContentEditable:!1},[]),Y=e.useCallback(t=>{const i=t;return i?!!i.closest('button, [role="button"], a, input, textarea, select, [data-interactive="true"]'):!1},[]),b=e.useCallback(t=>{c.current=t,N(t)},[]);e.useEffect(()=>{const t=r=>{if($.current=r.buttons,n.current.active&&(r.buttons&1)!==1&&(n.current.active=!1),c.current&&(r.buttons&1)!==1){b(!1),n.current.active=!1,a?.(),document.body.style.cursor="";return}if(l&&c.current){b(!1),n.current.active=!1,a?.(),document.body.style.cursor="";return}const g=z.current?.getBoundingClientRect(),w=g?r.clientX-g.left:r.clientX,_=g?r.clientY-g.top:r.clientY;if(H.current={x:w,y:_},M.current&&(M.current.style.left=`${w}px`),S.current&&(S.current.style.top=`${_}px`),n.current.active&&!c.current){const q=r.clientX-n.current.startX,J=r.clientY-n.current.startY;Math.hypot(q,J)>=A&&(n.current.active=!1,b(!0),C.current=!0,h?.(),x.current={x:r.clientX,y:r.clientY},document.body.style.cursor="grabbing")}c.current&&(p({x:(r.clientX-x.current.x)/o,y:(r.clientY-x.current.y)/o}),x.current={x:r.clientX,y:r.clientY})},i=r=>{$.current=r.buttons,n.current.active=!1,c.current&&(b(!1),a?.(),document.body.style.cursor="")},K=r=>{(r.metaKey||r.ctrlKey)&&r.key==="\\"&&(r.preventDefault(),k(g=>{const w=!g;return y?.(w),w}))},R=()=>{n.current.active=!1,i(new MouseEvent("mouseup"))};return window.addEventListener("mousemove",t),window.addEventListener("mouseup",i),window.addEventListener("keydown",K),window.addEventListener("blur",R),document.addEventListener("visibilitychange",R),()=>{window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",i),window.removeEventListener("keydown",K),window.removeEventListener("blur",R),document.removeEventListener("visibilitychange",R)}},[p,a,h,o,X,Y,l,b,y]),e.useEffect(()=>{!l||!c.current||(b(!1),a?.(),document.body.style.cursor="")},[l,a,b]);const P=t=>{C.current=!1,!(l||t.button!==0)&&(X(t.target)||Y(t.target)||($.current=t.buttons,n.current={active:!0,startX:t.clientX,startY:t.clientY},t.preventDefault()))},U=t=>{!C.current&&m&&m(t),C.current=!1},[I,Z]=e.useState({w:0,h:0});e.useEffect(()=>{const t=()=>Z({w:window.innerWidth,h:window.innerHeight});return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]);const L=Math.max(.4,Math.min(2,o)),E=100*L,D=20*L,F="var(--hud-canvas-dot-minor)",W="var(--hud-canvas-dot-major)",T="color-mix(in srgb, oklch(var(--accent)) 18%, transparent)",V=(I.w/2+u.x*o)%E,B=(I.h/2+u.y*o)%E;return s.jsxs("div",{ref:z,className:`absolute inset-0 z-0 overflow-hidden bg-background ${j?"cursor-grabbing":"cursor-grab"}`,onMouseDown:P,onClick:U,children:[s.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.8*v,transition:"opacity 1s ease",backgroundImage:`radial-gradient(circle, ${F} 1px, transparent 1px)`,backgroundSize:`${D}px ${D}px`,backgroundPosition:`${V+100}px ${B+100}px`}}),s.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.45*v,transition:"opacity 1s ease",backgroundImage:`radial-gradient(circle, ${W} 1.5px, transparent 1.5px)`,backgroundSize:`${E}px ${E}px`,backgroundPosition:`${V+100}px ${B+100}px`}}),d&&s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:M,className:"absolute top-0 bottom-0 w-px pointer-events-none",style:{left:0,backgroundColor:T}}),s.jsx("div",{ref:S,className:"absolute left-0 right-0 h-px pointer-events-none",style:{top:0,backgroundColor:T}})]})]})},ce=ne,G={borderColor:"var(--hud-chrome-border, oklch(var(--border)))"},re=({scale:u,onZoom:o,min:p=.2,max:h=3,step:a=.1})=>{const[l,m]=e.useState(!1),[f,y]=e.useState(""),v=e.useRef(null),d=e.useCallback(n=>Math.min(h,Math.max(p,n)),[p,h]),k=e.useCallback(()=>{o(d(u+a))},[u,a,o,d]),j=e.useCallback(()=>{o(d(u-a))},[u,a,o,d]),N=e.useCallback(()=>{y(Math.round(u*100).toString()),m(!0)},[u]),c=e.useCallback(()=>{m(!1);const n=parseInt(f,10);!isNaN(n)&&n>0&&o(d(n/100))},[f,o,d]),x=e.useCallback(n=>{n.key==="Enter"?c():n.key==="Escape"&&m(!1)},[c]);return e.useEffect(()=>{l&&v.current&&(v.current.focus(),v.current.select())},[l]),s.jsxs("div",{className:"pointer-events-auto flex flex-col items-center bg-card/95 border rounded-none shadow-[var(--hud-shadow-panel)] overflow-hidden",style:G,children:[s.jsx("button",{onClick:k,className:"w-9 h-8 flex items-center justify-center hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:"Zoom in",children:s.jsx(Q,{size:14})}),s.jsx("div",{className:"w-full border-t border-b",style:G,children:l?s.jsx("input",{ref:v,type:"text",value:f,onChange:n=>y(n.target.value.replace(/[^0-9]/g,"")),onBlur:c,onKeyDown:x,className:"w-9 py-1.5 text-center text-[11px] font-mono text-foreground bg-background/60 outline-none tabular-nums"}):s.jsxs("button",{onClick:N,className:"w-9 py-1.5 text-center text-[11px] font-mono text-foreground hover:bg-accent/10 transition-colors cursor-text tabular-nums",title:"Click to set zoom",children:[Math.round(u*100),"%"]})}),s.jsx("button",{onClick:j,className:"w-9 h-8 flex items-center justify-center hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:"Zoom out",children:s.jsx(te,{size:14})})]})},ie=re;export{ce as C,ie as Z};
|