@openscout/scout 0.2.108 → 0.2.109
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/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/conversation-motion-features-PYM3Yx_M.js +1 -0
- package/dist/client/assets/index-DGR8nSEY.js +88 -0
- package/dist/client/assets/index-rA7f7Rt0.css +1 -0
- package/dist/client/index.html +3 -3
- package/dist/main.mjs +1 -1
- package/package.json +2 -2
- package/dist/client/assets/ActivityScreen-C1H-vL0L.js +0 -1
- package/dist/client/assets/AddProjectForm-4sVXmjfN.js +0 -1
- package/dist/client/assets/AdventureEvidence-D5wq1vu8.js +0 -5
- package/dist/client/assets/AdventureReader-BICypcDY.js +0 -4
- package/dist/client/assets/AdventureScenery-CGEcG0zV.js +0 -1
- package/dist/client/assets/AgentAdventures-5yBt-Zl3.js +0 -1
- package/dist/client/assets/AgentAvatar-Dn8TUv5W.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-C0D9WNyL.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-BzcBdC_s.js +0 -1
- package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +0 -1
- package/dist/client/assets/AgentDetailCard-CI-ufaEP.js +0 -1
- package/dist/client/assets/AgentFloorView-D8tlGlgy.js +0 -1
- package/dist/client/assets/AgentFloorWorld-DqmnQexg.js +0 -1
- package/dist/client/assets/AgentInfoScreen-BnRhfcFy.js +0 -1
- package/dist/client/assets/AgentLaneCard-pppHFROz.js +0 -1
- package/dist/client/assets/AgentLaneChrome-RptImDFc.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-BqbwGskh.js +0 -4
- package/dist/client/assets/AgentLaneSummaryResize-DaIgwyVh.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-De6C4ZOw.js +0 -1
- package/dist/client/assets/AgentLanesPreflight-BQfj2twF.js +0 -1
- package/dist/client/assets/AgentLanesView-CiISx7pu.js +0 -2
- package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +0 -1
- package/dist/client/assets/AgentLiveActions-CkRGkv13.js +0 -1
- package/dist/client/assets/AgentMasterScreen-CijN_4tN.js +0 -1
- package/dist/client/assets/AgentSessions-ghjQcSrh.js +0 -6
- package/dist/client/assets/AgentsConsole-BjSTs-TV.css +0 -1
- package/dist/client/assets/AgentsConsole-D8upjDpn.js +0 -1
- package/dist/client/assets/AgentsScreen-C17BFqjf.js +0 -1
- package/dist/client/assets/AgentsSubnav-_1GVC4hj.js +0 -1
- package/dist/client/assets/AstronautSuit-Dzu4GOMR.js +0 -1
- package/dist/client/assets/AtopView-DJK5b3lZ.js +0 -1
- package/dist/client/assets/BackToPicker-BPU7kbXq.js +0 -1
- package/dist/client/assets/BackToPicker-CdgVu-to.css +0 -1
- package/dist/client/assets/BriefingDetailScreen-CTvFw523.js +0 -1
- package/dist/client/assets/BriefingsScreen-DpVC3OUk.js +0 -1
- package/dist/client/assets/BrokerMetadataPanel-glRVdwkU.js +0 -1
- package/dist/client/assets/BrokerScreen-CqKsBwEx.js +0 -8
- package/dist/client/assets/CastPicker-Y29K5kKk.js +0 -1
- package/dist/client/assets/CastPicker-zXsnkTIy.css +0 -1
- package/dist/client/assets/ChannelComposer-D4EY9jVW.js +0 -1
- package/dist/client/assets/ChannelSidebar-CVmykV4d.js +0 -1
- package/dist/client/assets/CharacterFamilyPreview-Bj8oMD-5.js +0 -1
- package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +0 -1
- package/dist/client/assets/ChatAvatar-BsAOShUr.js +0 -1
- package/dist/client/assets/ChatBits-Cq54CmyB.js +0 -1
- package/dist/client/assets/ChatCollapsedStrip-B0DdrOo2.js +0 -1
- package/dist/client/assets/ChatRichInput-DYJRhGTP.js +0 -31
- package/dist/client/assets/ChatRightPanel-D94Lw7ud.js +0 -1
- package/dist/client/assets/ChatSpaceSurface-Cp532VmZ.js +0 -1
- package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +0 -1
- package/dist/client/assets/ChatSpaceTheme-DPzYpw-v.js +0 -1
- package/dist/client/assets/CodeDiffPane-DCgMUi39.js +0 -1
- package/dist/client/assets/CodeProjectPicker-Dq787L77.js +0 -2
- package/dist/client/assets/CodeScreen-BN4TkiR0.js +0 -1
- package/dist/client/assets/CommsCanvas-BR2YS76H.css +0 -1
- package/dist/client/assets/CommsCanvas-Dh056d91.js +0 -1
- package/dist/client/assets/CommsDeck-CRXKIerH.js +0 -1
- package/dist/client/assets/CommsFlowGraph-Cc48o9u_.js +0 -1
- package/dist/client/assets/CommsFlowGraph-vQucylxF.css +0 -1
- package/dist/client/assets/CommsFlowMap-Ckasql5e.js +0 -1
- package/dist/client/assets/CommsSelection-CuphnUny.js +0 -1
- package/dist/client/assets/ComposerAttachments-9uYp_Lh5.js +0 -1
- package/dist/client/assets/ConversationComposer-hYtLurqy.js +0 -1
- package/dist/client/assets/ConversationFeedRows-Bu0ZJcy8.js +0 -1
- package/dist/client/assets/ConversationHeader-L9738YVP.js +0 -1
- package/dist/client/assets/ConversationPanels-D6KuqvGu.js +0 -6
- package/dist/client/assets/ConversationScreen-9MlMnEo4.css +0 -1
- package/dist/client/assets/ConversationScreen-Pzxy9x4m.js +0 -2
- package/dist/client/assets/ConversationStatus-BEefIbXq.js +0 -1
- package/dist/client/assets/CrewAvatar-BnIPIn_Z.css +0 -1
- package/dist/client/assets/CrewAvatar-a_C_F9r_.js +0 -1
- package/dist/client/assets/CrewSprite-CguHb2Ny.js +0 -1
- package/dist/client/assets/CrewSprite-DsQJdu3Z.css +0 -1
- package/dist/client/assets/CrewStage-IPpS3Oja.js +0 -1
- package/dist/client/assets/CrewWorkspaces-BTPtcEcx.js +0 -1
- package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +0 -1
- package/dist/client/assets/DataTable-DnL_8SAu.js +0 -1
- package/dist/client/assets/DispatchAftermath-CoAYaL3B.js +0 -1
- package/dist/client/assets/DocumentFocusViewer-BSC_JwVE.css +0 -1
- package/dist/client/assets/DocumentFocusViewer-mxzPxQQW.js +0 -1
- package/dist/client/assets/EmbeddableSurfacesLab-BAZ_eRMc.js +0 -1
- package/dist/client/assets/EmptyState-DLiLgtPK.js +0 -1
- package/dist/client/assets/FileViewerPane-Dc7AoVod.js +0 -3
- package/dist/client/assets/FleetRollCallHud-VhpxVcGO.js +0 -1
- package/dist/client/assets/FlightObserveScreen-C1kASP3J.js +0 -1
- package/dist/client/assets/FloorContextSheet-BfrXNoBn.js +0 -1
- package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +0 -1
- package/dist/client/assets/FloorExchangePanel-DsG1cRzu.js +0 -1
- package/dist/client/assets/FloorMessagePasses-Cm3LbkHd.js +0 -1
- package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +0 -1
- package/dist/client/assets/FloorReplay-Bg7kA-tR.js +0 -1
- package/dist/client/assets/FloorResourcesSheet-Ba9HubO2.js +0 -1
- package/dist/client/assets/FloorSavedWork-BDOvV3mA.js +0 -1
- package/dist/client/assets/FloorTacticalHUD-4d-Hr-YL.js +0 -1
- package/dist/client/assets/FollowScreen-DFVSlsQV.js +0 -1
- package/dist/client/assets/HarnessMark-CP-PWk2W.js +0 -1
- package/dist/client/assets/HarnessesScreen-j-91IoOo.js +0 -1
- package/dist/client/assets/HerdrSession-H2mmxeTK.js +0 -4
- package/dist/client/assets/HomeHero-7JwycwFY.css +0 -1
- package/dist/client/assets/HomeHero-g4H3Ctxg.js +0 -1
- package/dist/client/assets/HostAdvisorView-Cyt3b5Fq.js +0 -1
- package/dist/client/assets/InviteLandingScreen-C3DtAGD4.js +0 -1
- package/dist/client/assets/InviteSheet-BiGMNpsE.js +0 -1
- package/dist/client/assets/JumpPalette-goXAVByA.js +0 -1
- package/dist/client/assets/KnowledgeSearchInspector-BbOQIqdF.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-DC8yX-kA.js +0 -1
- package/dist/client/assets/LaneToolHoverCard-B8Am_1DC.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-CngYIxdI.js +0 -1
- package/dist/client/assets/LaneTraceEventFocus-BRR_jcl9.js +0 -1
- package/dist/client/assets/MeshCanvas-DzkuY_XI.js +0 -3
- package/dist/client/assets/MeshCanvasMinimap-BrscEPAH.js +0 -1
- package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +0 -1
- package/dist/client/assets/MeshScreen-CAtRB8K6.js +0 -1
- package/dist/client/assets/MeshTopologyView-B1I2dAhu.js +0 -2
- package/dist/client/assets/MessageEmbeds-B-FbWI7a.js +0 -1
- package/dist/client/assets/MessagesScreen-hq7D3Lfi.js +0 -1
- package/dist/client/assets/MissionContextRail-ClR8amG1.js +0 -1
- package/dist/client/assets/MissionControlView-D6gbMrgx.js +0 -1
- package/dist/client/assets/MissionFocusOverlay-CzeNgI9Q.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-CB3cgeYr.js +0 -1
- package/dist/client/assets/MissionLogPane-2PMEoG44.js +0 -1
- package/dist/client/assets/NativeAreaScreen-BnlrAWT8.js +0 -1
- package/dist/client/assets/NativeAreaScreen-DSR5Tf6F.js +0 -1
- package/dist/client/assets/NativeAreaScreen-fGsxyeC3.js +0 -1
- package/dist/client/assets/NewAgentModal-4b_3aoZE.js +0 -1
- package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +0 -1
- package/dist/client/assets/NewChatComposer-C5LT7MF7.css +0 -1
- package/dist/client/assets/NewChatComposer-D-VB5vdt.js +0 -19
- package/dist/client/assets/NewChatOrigin-BYsEu9dZ.js +0 -1
- package/dist/client/assets/NodeDetailPanel-9NaEnZAQ.js +0 -1
- package/dist/client/assets/NodeMenu-BgJMmffZ.js +0 -1
- package/dist/client/assets/ObserveEmbedScreen-W7Q5HbXP.js +0 -2
- package/dist/client/assets/ObserveTextFlow-C0oQEerY.js +0 -2
- package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +0 -1
- package/dist/client/assets/ObservedTopologyPanel-Ci7emnnj.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +0 -1
- package/dist/client/assets/OpenScoutAppShell-Di9qdmI0.js +0 -22
- package/dist/client/assets/OpsAgentsView-DVotOMg2.js +0 -1
- package/dist/client/assets/OpsScreen-C955zgr3.js +0 -1
- package/dist/client/assets/OpsSubnav-CjMVj7Sk.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-B1VqGSmu.js +0 -1
- package/dist/client/assets/ProjectAgentProfileBar-DhVU7zew.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-CJk-Dx4t.js +0 -1
- package/dist/client/assets/ProjectsInbox-B7kap8nR.js +0 -2
- package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +0 -1
- package/dist/client/assets/ProjectsRail-BhSaqbv0.js +0 -1
- package/dist/client/assets/ProjectsScreen-CSb7nwjb.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-pEJutIO8.js +0 -1
- package/dist/client/assets/Provider-BEXAZWd9.js +0 -5
- package/dist/client/assets/Provider-CCzjtkda.css +0 -1
- package/dist/client/assets/RailRow-B25zKEub.css +0 -1
- package/dist/client/assets/RailRow-Ddz90weI.js +0 -1
- package/dist/client/assets/RawSessionsTable-TdKlJIPl.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-BU5KmlNo.js +0 -8
- package/dist/client/assets/RenderedWorkerSprite-BNhFXMIo.js +0 -1
- package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +0 -1
- package/dist/client/assets/ReplayClock-wLpb4VqN.js +0 -1
- package/dist/client/assets/ReplayLog-IUyQdklN.js +0 -1
- package/dist/client/assets/ReplayOutpost-C4djhjZJ.js +0 -1
- package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +0 -1
- package/dist/client/assets/RepoDiffEmbedScreen-BmQX_8E-.js +0 -1
- package/dist/client/assets/RepoDiffPageScreen-B9oAjrC6.js +0 -1
- package/dist/client/assets/RepoDiffViewer-Ch_lIMt-.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-DL6A2o_z.js +0 -2
- package/dist/client/assets/ReposScreen-D-E7fSAB.js +0 -6
- package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +0 -1
- package/dist/client/assets/RiggedWorkerCharacter-CF6fhzGd.js +0 -1
- package/dist/client/assets/SageModelStudio-768dRQr4.css +0 -1
- package/dist/client/assets/SageModelStudio-CSet_ITs.js +0 -4108
- package/dist/client/assets/ScoutDeckSurface-BJ-fl8AX.js +0 -1
- package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +0 -1
- package/dist/client/assets/ScoutSurface-BvFRdce6.js +0 -1
- package/dist/client/assets/ScoutbotFxLab-CfPzycZ7.js +0 -4
- package/dist/client/assets/SecondaryNav-1FjBDWuY.js +0 -1
- package/dist/client/assets/SessionContextStrip-BoiIxXvS.js +0 -1
- package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +0 -1
- package/dist/client/assets/SessionEmbedScreen-BizGNGOz.js +0 -1
- package/dist/client/assets/SessionHopMenu-DX6PJPNk.js +0 -1
- package/dist/client/assets/SessionObserve-CDdJ7fAE.css +0 -1
- package/dist/client/assets/SessionObserve-Dw3bVQYF.js +0 -12
- package/dist/client/assets/SessionObserveEvidence-uD1OX-R5.js +0 -1
- package/dist/client/assets/SessionRefScreen-Ch9H-qVk.js +0 -1
- package/dist/client/assets/SessionsScreen-DUeP23Xy.js +0 -1
- package/dist/client/assets/SettingsDrawer-BVrP6J52.js +0 -3
- package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +0 -1
- package/dist/client/assets/SettingsScreen-BcJ05LE5.js +0 -1
- package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +0 -1
- package/dist/client/assets/SharedFloorCharacter-dnamlt1p.js +0 -1
- package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +0 -1
- package/dist/client/assets/SharedWorkFloor-H-e2TVj9.js +0 -2
- package/dist/client/assets/ShikiPane-CDiIT_qn.js +0 -15
- package/dist/client/assets/SlidePanel-Bg5dVaIa.css +0 -1
- package/dist/client/assets/SlidePanel-D5oPQocF.js +0 -1
- package/dist/client/assets/SpaceSwitcher-WccPJ0fS.js +0 -1
- package/dist/client/assets/SpriteAvatar-D53GaaK3.js +0 -1
- package/dist/client/assets/SproutActionSprite-BrFCmgWS.js +0 -1
- package/dist/client/assets/StatusPill-jT--OXbn.js +0 -1
- package/dist/client/assets/TailView-B44cSuyl.js +0 -2
- package/dist/client/assets/TailView-Mj3AU2u0.css +0 -1
- package/dist/client/assets/Terminal-D0PanmIk.js +0 -4
- package/dist/client/assets/TerminalEmbedScreen-Eddi4sts.js +0 -1
- package/dist/client/assets/TerminalHeaderMount-CYYcKxQ-.js +0 -1
- package/dist/client/assets/TextDocumentSurface-DBslUq9k.js +0 -4
- package/dist/client/assets/TmuxPeek-Ctw5yYO5.js +0 -1
- package/dist/client/assets/VoiceControlWell-BkjuWjYu.js +0 -1
- package/dist/client/assets/VoicePathDiagram-u0i6ntbx.js +0 -1
- package/dist/client/assets/VoicePermissionsPanel-9Nuw-xCr.js +0 -1
- package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +0 -1
- package/dist/client/assets/VoiceTurnDetails-kS7lfbmt.js +0 -8
- package/dist/client/assets/VoiceTurnStage-DLY6aYDg.js +0 -1
- package/dist/client/assets/VoiceTurnView-CF4tIldB.js +0 -1
- package/dist/client/assets/WorkDetailScreen-BrrkENYq.js +0 -5
- package/dist/client/assets/WorkFilesViewer-B63sKRYZ.js +0 -1
- package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +0 -1
- package/dist/client/assets/WorkRunView-DLIzAsc3.js +0 -1
- package/dist/client/assets/WorldActorTalk-CHhFTiQV.js +0 -1
- package/dist/client/assets/WorldCharacter-CJGx2DVy.js +0 -1
- package/dist/client/assets/WorldMinimap-DL12pBw3.js +0 -1
- package/dist/client/assets/WorldSky-BlPNvGLo.js +0 -1
- package/dist/client/assets/activity-CXkZ620t.js +0 -1
- package/dist/client/assets/addon-fit-G3qi01sy.js +0 -1
- package/dist/client/assets/addon-webgl-Bo7kSgOB.js +0 -82
- package/dist/client/assets/adventure-evidence-DgQbBmfa.css +0 -1
- package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
- package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +0 -1
- package/dist/client/assets/adventure-playback-DTfkhIc0.js +0 -3
- package/dist/client/assets/adventure-reader-DM5UDDm9.css +0 -1
- package/dist/client/assets/agent-adventures-DZtWpj6k.css +0 -1
- package/dist/client/assets/agent-definitions-CymTYqvo.css +0 -1
- package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +0 -1
- package/dist/client/assets/agent-essentials-DnfdGmIX.js +0 -1
- package/dist/client/assets/agent-floor-Dmr9hZHL.css +0 -1
- package/dist/client/assets/agent-floor-actor-DW8zLht0.js +0 -1
- package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +0 -1
- package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +0 -1
- package/dist/client/assets/agent-lane-card-BkWVDYM8.css +0 -1
- package/dist/client/assets/agent-lane-card-model-CeqQGp-8.js +0 -1
- package/dist/client/assets/agent-lane-detail-Ti3trpfH.js +0 -2
- package/dist/client/assets/agent-lane-preview-Dpa3DuOn.js +0 -4
- package/dist/client/assets/agent-lanes-DmgipV9D.css +0 -1
- package/dist/client/assets/agent-lanes-model-DMAdqCmK.js +0 -4
- package/dist/client/assets/agent-master-THmq-1k8.css +0 -1
- package/dist/client/assets/agent-master-model-Bk_yuUXJ.js +0 -1
- package/dist/client/assets/agent-specialization-DYX_DSlY.js +0 -1
- package/dist/client/assets/agent-state-DDhnFEEP.js +0 -1
- package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +0 -1
- package/dist/client/assets/agents-project-DgbqDc65.css +0 -1
- package/dist/client/assets/agents-screen-BYakbO50.css +0 -1
- package/dist/client/assets/api-BQYTwoz6.js +0 -1
- package/dist/client/assets/api-DSqpVKC7.js +0 -1
- package/dist/client/assets/arc.es-CLA3XI14.js +0 -188
- package/dist/client/assets/arrow-down--OUDFWIq.js +0 -1
- package/dist/client/assets/arrow-left-DNjQHf4C.js +0 -1
- package/dist/client/assets/arrow-right-A_yyXwoH.js +0 -1
- package/dist/client/assets/arrow-up-DFy-9ghF.js +0 -1
- package/dist/client/assets/arrow-up-right-DUW1A1Hb.js +0 -1
- package/dist/client/assets/bash-format-BRV5C6Gv.js +0 -1
- package/dist/client/assets/book-open-B_idZgTF.js +0 -1
- package/dist/client/assets/bot-BNv_ZJzi.js +0 -1
- package/dist/client/assets/briefings-BwuAFQK6.css +0 -1
- package/dist/client/assets/broker-display-BkBzyvbR.js +0 -2
- package/dist/client/assets/cache-DGBo3vIf.js +0 -2
- package/dist/client/assets/chat-api-BHGHALv2.js +0 -2
- package/dist/client/assets/chat-message-markup-esR-YLtN.js +0 -1
- package/dist/client/assets/chat-space-model-aW3Fd8_U.js +0 -4
- package/dist/client/assets/chat-transport-CtxnPLMU.js +0 -1
- package/dist/client/assets/check-BM6QtbB7.js +0 -1
- package/dist/client/assets/chevron-down-DEDSNJNY.js +0 -1
- package/dist/client/assets/chevron-right-B02kAw12.js +0 -1
- package/dist/client/assets/chevron-up-CzveykKG.js +0 -1
- package/dist/client/assets/chunk-HRAB3GC3-DVhUsgOw.js +0 -1
- package/dist/client/assets/chunk-JTPDIGGW-hdpdYwXb.js +0 -46
- package/dist/client/assets/chunk-T65CQEWV-G_Z0lqtn.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-apgUnfXh.js +0 -2
- package/dist/client/assets/clipboard-e3fSpeo7.js +0 -1
- package/dist/client/assets/clock-8tb9t2t9.js +0 -1
- package/dist/client/assets/code-screen-DrKinCyh.css +0 -1
- package/dist/client/assets/code-xml-E9gBuiVs.js +0 -1
- package/dist/client/assets/coffee-D0YEK6-l.js +0 -1
- package/dist/client/assets/collapsed-strip-raJWthAH.css +0 -1
- package/dist/client/assets/colors-CFlbwC25.js +0 -1
- package/dist/client/assets/comms-deck-C8nVeMBh.css +0 -1
- package/dist/client/assets/comms-deck-CBhsXnY-.js +0 -2
- package/dist/client/assets/comms-gesture-_aGFo6g3.js +0 -2
- package/dist/client/assets/compass-EmGkpxIe.js +0 -1
- package/dist/client/assets/console-B1IBqLI_.css +0 -1
- package/dist/client/assets/content-B-rn1rka.js +0 -1
- package/dist/client/assets/content-BHV-ZU8_.js +0 -1
- package/dist/client/assets/content-BI9yWpWC.js +0 -1
- package/dist/client/assets/content-BLVuukzF.js +0 -1
- package/dist/client/assets/content-BP3cQkAj.js +0 -1
- package/dist/client/assets/content-BRY-UTkP.js +0 -1
- package/dist/client/assets/content-BXTmYOPB.js +0 -1
- package/dist/client/assets/content-C3DZ77HZ.js +0 -1
- package/dist/client/assets/content-CINHz-rZ.css +0 -1
- package/dist/client/assets/content-CPchclaV.js +0 -1
- package/dist/client/assets/content-CVqPTQnr.js +0 -1
- package/dist/client/assets/content-CjAERU44.js +0 -1
- package/dist/client/assets/content-CoYG0nWL.js +0 -1
- package/dist/client/assets/content-DK1KeRPw.js +0 -1
- package/dist/client/assets/content-iWBSSXa6.js +0 -1
- package/dist/client/assets/content-ryJeaQk8.js +0 -1
- package/dist/client/assets/content-srNyLgDt.js +0 -1
- package/dist/client/assets/context-budget-8qFKqM-j.js +0 -1
- package/dist/client/assets/conversation-icons-Dxn9N1Kx.js +0 -1
- package/dist/client/assets/conversation-model-FxDeWlle.js +0 -1
- package/dist/client/assets/conversation-motion-features-BfmPlONx.js +0 -1
- package/dist/client/assets/conversation-prefs-DNre-Lcx.js +0 -1
- package/dist/client/assets/conversations-DoAAO6kA.js +0 -1
- package/dist/client/assets/copy-C1XrY27_.js +0 -1
- package/dist/client/assets/cpu-DVZ_LhPn.js +0 -1
- package/dist/client/assets/createLucideIcon-CKbjXlwv.js +0 -1
- package/dist/client/assets/credentials-OeoF-VKJ.js +0 -1
- package/dist/client/assets/ctx-panel-BC8fpcWJ.css +0 -1
- package/dist/client/assets/direct-voice-DAOUU-kc.js +0 -10
- package/dist/client/assets/direct-voice-DbO7CSv_.css +0 -1
- package/dist/client/assets/discover-BNa3BPr_.js +0 -2
- package/dist/client/assets/embed-entry-gK3z8Yxi.js +0 -2
- package/dist/client/assets/embed-navigation-DayfkQau.js +0 -1
- package/dist/client/assets/external-link-Df1R34rX.js +0 -1
- package/dist/client/assets/eye-CD-_aphP.js +0 -1
- package/dist/client/assets/file-code-corner-DtMWHBN3.js +0 -1
- package/dist/client/assets/file-text-BOJQiS8p.js +0 -1
- package/dist/client/assets/flag-CeKO8NoD.js +0 -1
- package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +0 -1
- package/dist/client/assets/flight-observe-GFg9L8ft.css +0 -1
- package/dist/client/assets/floor-character-name-CqJPOlXb.js +0 -1
- package/dist/client/assets/floor-context-model-rWKqaKmV.js +0 -1
- package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +0 -1
- package/dist/client/assets/floor-memory-YMM8AlLY.js +0 -1
- package/dist/client/assets/floor-message-passes-CO3Ix_wR.js +0 -1
- package/dist/client/assets/floor-preview-text-HrORUJ7D.js +0 -1
- package/dist/client/assets/floor-replay-CccYqE-f.css +0 -1
- package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +0 -1
- package/dist/client/assets/folder-C2emmTHq.js +0 -1
- package/dist/client/assets/follow-route-BvcGtBIL.js +0 -1
- package/dist/client/assets/fx-z37u1o2z.js +0 -1
- package/dist/client/assets/gauge-BR5CrhRM.js +0 -1
- package/dist/client/assets/gestures-Dh8szhcU.js +0 -1
- package/dist/client/assets/git-branch-C45vy8qT.js +0 -1
- package/dist/client/assets/go-shortcuts--25Qg0lD.js +0 -1
- package/dist/client/assets/harnesses-screen-2z36fJKE.css +0 -1
- package/dist/client/assets/home-live-action-BkqGLVRY.js +0 -1
- package/dist/client/assets/home-moving-signal-BiiyEKEb.js +0 -1
- package/dist/client/assets/home-moving-signal-DMguaRWR.css +0 -1
- package/dist/client/assets/home-now-card-DaCpqUZe.js +0 -1
- package/dist/client/assets/home-now-card-nano-wbxgyY4q.js +0 -1
- package/dist/client/assets/hooks-D787lBmm.css +0 -1
- package/dist/client/assets/hooks-JNwYSH18.js +0 -2
- package/dist/client/assets/host-advisor-B2Fqs5Dd.css +0 -1
- package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +0 -1
- package/dist/client/assets/index-BFbLvCJn.js +0 -10
- package/dist/client/assets/index-BRNHY2fp.css +0 -1
- package/dist/client/assets/index-BWHgHrtv.js +0 -1
- package/dist/client/assets/index-BrXaMEdK.js +0 -1
- package/dist/client/assets/index-CXzJ_hGx.js +0 -1
- package/dist/client/assets/index-V8FYEUpD.js +0 -1
- package/dist/client/assets/index-mYtyYeAe.js +0 -1
- package/dist/client/assets/index-wLwc74Pu.css +0 -1
- package/dist/client/assets/inspector-panel-BgU5xUln.js +0 -2
- package/dist/client/assets/keyboard-nav-CEe-ApvZ.js +0 -1
- package/dist/client/assets/knowledge-search-BNdQweGz.css +0 -1
- package/dist/client/assets/lane-ask-display-BTVSakyo.js +0 -18
- package/dist/client/assets/lane-edit-display-BjdT9oZl.js +0 -9
- package/dist/client/assets/lane-observe-CteDwdD-.js +0 -7
- package/dist/client/assets/lane-roster-store-MraynTHP.js +0 -1
- package/dist/client/assets/lane-tool-detail-Czggx8oM.js +0 -9
- package/dist/client/assets/layers-ClmyjwpB.js +0 -1
- package/dist/client/assets/layout-grid-DG2-JaPn.js +0 -1
- package/dist/client/assets/left-B66YR0c5.js +0 -1
- package/dist/client/assets/left-BP5P8lzw.js +0 -2
- package/dist/client/assets/left-BV9yMiTL.css +0 -1
- package/dist/client/assets/left-BbCKRDbW.js +0 -1
- package/dist/client/assets/left-CAaRBK9S.css +0 -1
- package/dist/client/assets/left-CaY5FK2k.js +0 -1
- package/dist/client/assets/left-CemrfeSs.js +0 -1
- package/dist/client/assets/left-DcYA26sH.js +0 -1
- package/dist/client/assets/left-DdMMaqFT.js +0 -2
- package/dist/client/assets/left-R2OOE7VG.css +0 -1
- package/dist/client/assets/left-advisor-DBml48M5.js +0 -1
- package/dist/client/assets/left-agents-DowYF2ag.js +0 -1
- package/dist/client/assets/left-default-Bifaeg_V.js +0 -1
- package/dist/client/assets/left-lanes-BGhjdqpD.js +0 -1
- package/dist/client/assets/left-mission-CvXPUovR.js +0 -1
- package/dist/client/assets/left-mission-DENnfshd.css +0 -1
- package/dist/client/assets/library-CnC8uzJt.js +0 -1
- package/dist/client/assets/loader-circle-CCG7hG7z.js +0 -1
- package/dist/client/assets/local-agents-BMcFlY_x.js +0 -1
- package/dist/client/assets/log-in-VL9mdgeE.js +0 -1
- package/dist/client/assets/machine-children-DvCiQxwA.js +0 -1
- package/dist/client/assets/machine-scope-DJt9RZ2w.js +0 -1
- package/dist/client/assets/media-blobs-Bi8pxr1u.js +0 -1
- package/dist/client/assets/mentions-s5oW4aQU.js +0 -1
- package/dist/client/assets/mesh-ops-9SzD3sPw.js +0 -1
- package/dist/client/assets/mesh-ops-B1kDjizF.css +0 -1
- package/dist/client/assets/mesh-screen-DjA4mOaN.css +0 -1
- package/dist/client/assets/mesh-view-store-CVqzYz4K.js +0 -1
- package/dist/client/assets/message-circle-BB3rFCVD.js +0 -1
- package/dist/client/assets/message-markup-BQW5jdJw.js +0 -15
- package/dist/client/assets/message-markup-D1C7GzHo.js +0 -1
- package/dist/client/assets/message-square-BwqBIfv5.js +0 -1
- package/dist/client/assets/message-visibility-DwxgcgYK.js +0 -1
- package/dist/client/assets/mission-control-CsX3Yc58.css +0 -1
- package/dist/client/assets/mission-control-model-BpJHDV5D.js +0 -1
- package/dist/client/assets/mission-control-store-e8F85JhP.js +0 -1
- package/dist/client/assets/mission-wall-CAo4BKfa.js +0 -1
- package/dist/client/assets/model-CBkMvT1w.js +0 -1
- package/dist/client/assets/monitor-M0VSmHQ-.js +0 -1
- package/dist/client/assets/nav-destinations-B3R5zxFX.js +0 -1
- package/dist/client/assets/observe-M3rLosT5.js +0 -1
- package/dist/client/assets/openAgent-Dbv5wfuL.js +0 -1
- package/dist/client/assets/openContent-C6XO6kr5.js +0 -1
- package/dist/client/assets/operator-attention-DBaRg5ep.js +0 -1
- package/dist/client/assets/ops-agents-BOYxzPTm.css +0 -1
- package/dist/client/assets/ops-atop-BB4B4JdE.css +0 -1
- package/dist/client/assets/ops-screen-CxYM0VOW.css +0 -1
- package/dist/client/assets/page-status-BIuh3C5p.js +0 -1
- package/dist/client/assets/page-status-bar-ByUD7VPM.css +0 -1
- package/dist/client/assets/panel-right-WKLdPm0F.js +0 -1
- package/dist/client/assets/paperclip-DLf_ABSv.js +0 -1
- package/dist/client/assets/pause-7mmEEvVx.js +0 -1
- package/dist/client/assets/persistent-state-3mbBFRDO.js +0 -1
- package/dist/client/assets/pin-q_0gAA6i.js +0 -1
- package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
- package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
- package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
- package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
- package/dist/client/assets/play-N5-hnPCV.js +0 -1
- package/dist/client/assets/plus-B0hdY0fF.js +0 -1
- package/dist/client/assets/profile-B7ZGToTo.js +0 -1
- package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +0 -1
- package/dist/client/assets/projects-inbox-CMFBjQt0.js +0 -1
- package/dist/client/assets/projects-inbox-ColX6lpx.css +0 -1
- package/dist/client/assets/proxy-k0ILOVkK.js +0 -1
- package/dist/client/assets/radio-Bjqmv997.js +0 -1
- package/dist/client/assets/refresh-cw-BcqctLqo.js +0 -1
- package/dist/client/assets/repo-diff-DyYmQMSA.css +0 -1
- package/dist/client/assets/resizable-columns-C7ygvLt8.css +0 -1
- package/dist/client/assets/resolve-panes-wzGu9d8o.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-C8SOo5oZ.js +0 -1
- package/dist/client/assets/right-9rMRZN_r.js +0 -1
- package/dist/client/assets/right-BHZq648O.js +0 -1
- package/dist/client/assets/right-BNJzCaH9.js +0 -2
- package/dist/client/assets/right-CAd7lTvY.js +0 -1
- package/dist/client/assets/right-Cc57bCTW.js +0 -1
- package/dist/client/assets/right-DY49Prjj.js +0 -1
- package/dist/client/assets/right-DfU47xKY.js +0 -1
- package/dist/client/assets/right-Dr7vxdZl.js +0 -1
- package/dist/client/assets/right-DsE4aR3A.js +0 -1
- package/dist/client/assets/right-zlkRjnkv.js +0 -1
- package/dist/client/assets/rocket-BahsdUe6.js +0 -1
- package/dist/client/assets/router-CJIx83Ia.js +0 -1
- package/dist/client/assets/runtime-picker-C3JwrDKP.css +0 -1
- package/dist/client/assets/runtime-picker-IRcTkMZ5.js +0 -1
- package/dist/client/assets/scope-views-4khCg2_z.css +0 -1
- package/dist/client/assets/scope-views-KDtZoLUC.js +0 -1
- package/dist/client/assets/scout-voice-Cdh6pCsb.js +0 -1
- package/dist/client/assets/scoutbot-Bk3nyrkj.js +0 -3
- package/dist/client/assets/scoutbot-markdown-7PRQHaAc.js +0 -6
- package/dist/client/assets/scroll-text-CA0QxBHu.js +0 -1
- package/dist/client/assets/search-Bv2IONmc.js +0 -1
- package/dist/client/assets/secondaryNavConfig-Bmb-oRvD.js +0 -1
- package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +0 -1
- package/dist/client/assets/selection-bridge-CthAuPRw.js +0 -1
- package/dist/client/assets/send-horizontal-_Tf_It04.js +0 -1
- package/dist/client/assets/send-to-agent-session-CWDHHgFB.js +0 -1
- package/dist/client/assets/server-U_l8A83n.js +0 -1
- package/dist/client/assets/session-catalog-Dx4tl3sx.js +0 -1
- package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +0 -1
- package/dist/client/assets/session-recap-queue-GeicPLsQ.js +0 -1
- package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +0 -1
- package/dist/client/assets/session-table-BI62J4NP.js +0 -1
- package/dist/client/assets/sessionRead-CvFz2RHv.js +0 -1
- package/dist/client/assets/sessions-view-lGMwwZY7.js +0 -1
- package/dist/client/assets/settings-bo9X410k.js +0 -1
- package/dist/client/assets/shared-work-artifacts-DfNl9KTo.js +0 -1
- package/dist/client/assets/sliders-horizontal-CPSx6wd2.js +0 -1
- package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
- package/dist/client/assets/sparkles-Br-bA2aZ.js +0 -1
- package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +0 -1
- package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
- package/dist/client/assets/sse-BVxO0zNp.js +0 -1
- package/dist/client/assets/status-tone-BM_zuRy1.js +0 -1
- package/dist/client/assets/surface-activity-B1rgWB1i.js +0 -1
- package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +0 -1
- package/dist/client/assets/tail-display-DHSNmvor.js +0 -2
- package/dist/client/assets/tail-events-C6NWFB1N.js +0 -1
- package/dist/client/assets/terminal-DMBAZjPP.js +0 -1
- package/dist/client/assets/terminal-relay-CpGHpDa8.js +0 -1
- package/dist/client/assets/terminal-screen-Bpb2SZrn.css +0 -1
- package/dist/client/assets/terminal-sessions-3RfJpen8.js +0 -1
- package/dist/client/assets/terminal-takeover-CXwdoZ5j.js +0 -1
- package/dist/client/assets/theme-vars-DNK0nn3k.js +0 -1
- package/dist/client/assets/time-Dhsh_2EG.js +0 -1
- package/dist/client/assets/triangle-alert-BZikHKuT.js +0 -1
- package/dist/client/assets/types-B0PlfpKc.js +0 -1
- package/dist/client/assets/ui-LM8pS8qE.js +0 -1
- package/dist/client/assets/use-beside-DopIbJwf.js +0 -1
- package/dist/client/assets/use-conversation-list-CGtcpdPd.js +0 -1
- package/dist/client/assets/use-fleet-active-asks-DAHOPYPV.js +0 -1
- package/dist/client/assets/use-mesh-node-state-BlWIPTc4.js +0 -1
- package/dist/client/assets/use-mesh-ops-items-pKWBro7o.js +0 -1
- package/dist/client/assets/use-reduced-motion-DkdIQBwh.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-CduUFb7l.js +0 -1
- package/dist/client/assets/useAgentHoverCard-DNlXPYQf.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-LJGNYG3U.js +0 -1
- package/dist/client/assets/useEmbedHeadline-BeeBDb7E.js +0 -1
- package/dist/client/assets/usePierreRuntime-DUXZ-DTK.js +0 -50
- package/dist/client/assets/useSidebarCollapse-DoMvU_2R.js +0 -1
- package/dist/client/assets/users-BQPEIUfd.js +0 -1
- package/dist/client/assets/voice-levels-Dcr3jglk.js +0 -1
- package/dist/client/assets/voice-paths-CJUuBPh3.css +0 -1
- package/dist/client/assets/voice-turn-DftA0iIb.css +0 -1
- package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +0 -1
- package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
- package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
- package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
- package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
- package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
- package/dist/client/assets/wrench-C-wjicn5.js +0 -1
- package/dist/client/assets/x-BcfhXYiF.js +0 -1
- package/dist/client/assets/xterm-qXD45dc0.js +0 -34
- package/dist/client/assets/zap-BqL8ttGz.js +0 -1
- package/dist/client/characters/sage/sage.glb +0 -0
- package/dist/highlights-eq9cgrbb.scm +0 -604
- package/dist/highlights-ghv9g403.scm +0 -205
- package/dist/highlights-hk7bwhj4.scm +0 -284
- package/dist/highlights-r812a2qc.scm +0 -150
- package/dist/highlights-x6tmsnaa.scm +0 -115
- package/dist/injections-73j83es3.scm +0 -27
- 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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.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 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const r=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],c=o("arrow-right",r);export{c as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const r=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],c=o("arrow-up",r);export{c as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const t=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],a=o("arrow-up-right",t);export{a as A};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function c(e){return f(e).replace(/\/+$/u,"")}function u(e,s){return!e||!s?!1:c(e)===c(s)}const p=new Set(["&&","||","|","|&",";","&"]),d=new Set(["export","set","source",".","unset","alias"]),h=new Set(["sudo","doas","time","env","xargs","nice","nohup","command","builtin","exec","watch","stdbuf","setsid","timeout","caffeinate"]),m=new Set(["rg","grep","ag","ack","fd","find","awk","sed","cut","tr","sort","uniq","wc","head","tail","cat","bat","less","more","tee","nl","rev","column","ls","eza","tree","fzf","jq","yq","xsv","diff","patch","comm","paste","git","gh","hub","glab","node","deno","bun","npm","pnpm","yarn","npx","tsc","tsx","vite","esbuild","eslint","prettier","biome","vitest","jest","mocha","playwright","python","python3","pip","pip3","uv","ruff","ruby","gem","bundle","rake","go","gofmt","cargo","rustc","java","javac","gradle","mvn","dotnet","swift","swiftc","xcodebuild","xcrun","simctl","pod","fastlane","make","cmake","ninja","docker","kubectl","helm","terraform","ansible","curl","wget","ssh","scp","rsync","nc","dig","ping","cp","mv","rm","mkdir","touch","ln","chmod","chown","tar","zip","unzip","gzip","ps","kill","pkill","lsof","df","du","top","htop","which","echo","printf","date","sleep","open","pbcopy","pbpaste","say","afplay","defaults"]),g=e=>/^\d*[<>]{1,2}&?\d*$/u.test(e)||e==="&>"||e==="&>>",w=e=>/^[A-Za-z_][A-Za-z0-9_]*=/u.test(e),k=e=>/^-{1,2}[A-Za-z0-9]/u.test(e),x=e=>e.replace(/^.*\//u,"");function f(e){return e.replace(/\/Users\/[^/\s]+/gu,"~")}function o(e){const s=f(e).trim().split(/\s+/u).filter(Boolean),n=[];let a=!0,i=!1,r=!1,l=!1;for(const t of s){if(p.has(t)||g(t)){n.push({text:t,tier:"dim",known:!1,flag:!1}),a=!0,r=!1,l=!1;continue}if(l){n.push({text:t,tier:"dir",known:!1,flag:!1}),l=!1;continue}if(a){if(w(t)||h.has(t)){n.push({text:t,tier:"dim",known:!1,flag:!1});continue}if(t==="cd"){n.push({text:t,tier:"dim",known:!1,flag:!1}),a=!1,r=!1,l=!0;continue}if(d.has(t)){n.push({text:t,tier:"dim",known:!1,flag:!1}),a=!1,r=!1;continue}n.push({text:t,tier:i?"dim":"prog",known:m.has(x(t)),flag:!1}),r=!i,i=!0,a=!1;continue}n.push({text:t,tier:r?"arg":"dim",known:!1,flag:r&&k(t)})}return n}function b(e){const s=e.match(/^\s*cd\s+(\S+)\s*(?:&&\s*(.*))?$/u);return s?{dir:f(s[1]),rest:(s[2]??"").trim()}:{dir:null,rest:e}}function S(e,s={}){const n=s.powerline??"off",{dir:a,rest:i}=b(e);return a===null||n==="off"?{dir:null,spans:o(e)}:n==="smart"&&u(a,s.cwd)?{dir:null,spans:i?o(i):[]}:{dir:a,spans:i?o(i):[]}}export{o as b,S as f,b as s,f as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const a=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],t=o("book-open",a);export{t as B};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as t}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],a=t("bot",e);export{a as B};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.briefings-placeholder{padding:var(--space-4xl) 0;color:var(--hud-text-muted, #888);font-size:var(--text-lg)}.briefings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.briefing-row{width:100%;text-align:left;background:var(--hud-surface, rgba(255, 255, 255, .02));border:1px solid var(--hud-border, rgba(255, 255, 255, .08));border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;gap:var(--space-xs);transition:background .12s ease,border-color .12s ease}.briefing-row:hover{background:var(--hud-surface-hover, rgba(255, 255, 255, .04));border-color:var(--hud-border-strong, rgba(255, 255, 255, .16))}.briefing-row-head{display:flex;align-items:baseline;gap:var(--space-md)}.briefing-kind{text-transform:uppercase;font-size:var(--text-xs);letter-spacing:var(--tracking-md);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);background:var(--scout-chrome-hover);color:var(--hud-text, inherit)}.briefing-kind-fleet-home{background:#4890e229;color:#6fb0f0}.briefing-kind-tour{background:#c4905629;color:var(--cat-gold)}.briefing-row-title{font-weight:500;flex:1 1 auto;font-size:var(--text-xl)}.briefing-row-time{font-size:var(--text-sm);color:var(--hud-text-muted, #888);flex:0 0 auto}.briefing-row-summary{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--hud-text, inherit)}.briefing-row-meta{font-size:var(--text-sm);color:var(--hud-text-muted, #888);display:flex;gap:var(--space-2xs)}.briefing-detail{max-width:920px;display:flex;flex-direction:column;gap:var(--space-4xl)}.briefing-detail-back{background:transparent;border:none;color:var(--hud-text-muted, #888);font-size:var(--text-md);padding:0;cursor:pointer;align-self:flex-start}.briefing-detail-back:hover{color:var(--hud-text, inherit)}.briefing-detail-header h2{margin:0 0 var(--space-sm);font-size:var(--text-4xl)}.briefing-detail-header-meta{display:flex;gap:var(--space-md);font-size:var(--text-md);color:var(--hud-text-muted, #888);margin-top:var(--space-xs)}.briefing-detail-summary{font-size:var(--text-xl);line-height:var(--leading-normal);margin:var(--space-lg) 0 0}.briefing-detail-recommendation{font-size:var(--text-lg);line-height:var(--leading-normal);background:#c4905614;border-left:2px solid var(--cat-gold);padding:var(--space-md) var(--space-lg);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:var(--space-lg)}.briefing-layer{border:1px solid var(--hud-border, rgba(255, 255, 255, .08));border-radius:var(--radius-lg);padding:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-lg)}.briefing-layer-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--hud-border, rgba(255, 255, 255, .08));padding-bottom:var(--space-sm)}.briefing-layer-eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--hud-text-muted, #888)}.briefing-layer-title{font-size:var(--text-xl);font-weight:500}.briefing-layer-markdown{background:color-mix(in srgb,var(--hud-surface, #1a1a1a) 60%,transparent)}.briefing-markdown{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--hud-text, #ddd);max-width:72ch}.briefing-layer-presented{background:color-mix(in srgb,var(--hud-accent, #f4b860) 4%,transparent);border-color:color-mix(in srgb,var(--hud-accent, #f4b860) 24%,var(--hud-border, rgba(255, 255, 255, .08)))}.briefing-presented-sentences{list-style:decimal;padding-left:var(--space-3xl);margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.briefing-presented-sentence{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--hud-text, #ddd);max-width:72ch}.briefing-presented-meta{margin-top:var(--space-2xs);font-size:var(--text-xs);letter-spacing:var(--tracking-md);color:var(--hud-text-muted, #888);font-family:var(--font-mono)}.briefing-layer-telemetry{border-style:dashed}.briefing-telemetry{display:flex;flex-direction:column;gap:var(--space-md);margin:0}.briefing-telemetry-row{display:flex;flex-direction:column;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--hud-text, #ddd)}.briefing-telemetry-row-head{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap}.briefing-telemetry-label{font-size:var(--text-xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--hud-text-muted, #888)}.briefing-telemetry-model{color:var(--hud-text, #ddd)}.briefing-telemetry-note{font-size:var(--text-xs);color:color-mix(in srgb,var(--hud-accent, #f4b860) 80%,var(--hud-text-muted, #888))}.briefing-telemetry-stats{display:flex;flex-wrap:wrap;gap:var(--space-xl);color:var(--hud-text-muted, #888);font-size:var(--text-sm)}.briefing-telemetry-response{color:var(--hud-text-muted, #888);font-size:var(--text-xs);opacity:.7}.briefing-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-lg)}.briefing-step{display:flex;flex-direction:column;gap:var(--space-2xs)}.briefing-step-label{font-size:var(--text-md);font-weight:500;color:var(--hud-text-muted, #888)}.briefing-step-narration{font-size:var(--text-lg);line-height:var(--leading-normal);margin:0}.briefing-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.briefing-observations{display:flex;flex-direction:column;gap:var(--space-sm)}.briefing-observation{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:#ffffff05;border-radius:var(--radius-md);border-left:2px solid transparent}.briefing-observation-warn{border-left-color:var(--cat-gold)}.briefing-observation-err{border-left-color:#e07878}.briefing-observation-text{font-size:var(--text-lg);line-height:var(--leading-snug)}.briefing-observation-refs{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.briefing-ref-chip{font-size:var(--text-sm);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);background:var(--scout-chrome-hover);color:inherit;border:none;cursor:pointer;font-family:inherit}.briefing-ref-chip:hover{background:#ffffff1f}.briefing-ref-chip-static{cursor:default}.briefing-ref-chip-static:hover{background:var(--scout-chrome-hover)}.briefing-snapshot-counts{display:flex;flex-wrap:wrap;gap:var(--space-xl);font-size:var(--text-md);color:var(--hud-text-muted, #888)}.briefing-snapshot-count strong{color:var(--hud-text, inherit);font-weight:500}.briefing-snapshot-section{border-top:1px solid var(--hud-border, rgba(255, 255, 255, .08));padding-top:var(--space-md)}.briefing-snapshot-section-head{cursor:pointer;font-size:var(--text-md);font-weight:500;margin-bottom:var(--space-sm)}.briefing-snapshot-section-head::marker{color:var(--hud-text-muted, #888)}.briefing-snapshot-raw{font-family:var(--hud-mono, ui-monospace, SFMono-Regular, "SF Mono", monospace);font-size:var(--text-sm);background:#0003;padding:var(--space-md);border-radius:var(--radius-md);max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word}.briefing-call-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-xs) var(--space-lg);font-size:var(--text-md)}.briefing-call-grid dt{color:var(--hud-text-muted, #888)}.briefing-call-grid dd{margin:0;font-family:var(--hud-mono, ui-monospace, monospace);word-break:break-word}.briefing-call-prompt{font-family:var(--hud-mono, ui-monospace, monospace);font-size:var(--text-sm);background:#0003;padding:var(--space-md);border-radius:var(--radius-md);max-height:240px;overflow:auto;white-space:pre-wrap;margin-top:var(--space-sm)}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b}from"./status-tone-BM_zuRy1.js";function c(e){return e===null||["string","number","boolean"].includes(typeof e)}function a(e){if(typeof e!="string")return null;const r=e.trim();return r.length>0?r:null}function u(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function l(e){return e.trim().replace(/^@/,"").toLowerCase()}function p(e,r){const o=l(r);return[e.id,e.name,e.handle,e.selector,e.defaultSelector,e.conversationId,e.harnessSessionId].some(t=>t&&l(t)===o)}function d(e,r){if(typeof r=="string"&&r.trim()){e.push(r);return}if(Array.isArray(r))for(const o of r)d(e,o)}function _(e,r){const o=e.metadata??{},t=u(o.raw),n=[];d(n,e.target);for(const i of["targetAgentId","targetId","targetSessionId","relayTarget","relayTargetIds"])d(n,o[i]);if(t)for(const i of["targetAgentId","targetSessionId","relayTarget","relayTargetIds","targetId"])d(n,t[i]);for(const i of["targetDisplayName","targetLabel"])d(n,o[i]),t&&d(n,t[i]);for(const i of new Set(n.map(l))){const f=r.find(k=>p(k,i));if(f)return f}return null}function I(e){return e.replace(/\s+/g," ").trim().slice(0,220)}function s(e,...r){for(const o of r){const t=a(e?.[o]);if(t)return t}return null}function m(e){const r=e.metadata??{},o=u(r.raw),t=u(o?.delivery);return u(t?.metadata)}function M(e,r){return e.length<=r?e:`${e.slice(0,Math.max(0,r-3)).trimEnd()}...`}function y(e){return b(e.kind,e.status)==="danger"||e.status==="error"}function h(e){if(e.kind==="failed_query")switch(s(e.metadata,"dispatchKind")){case"unknown":return"Target not found";case"ambiguous":return"Target is ambiguous";case"unparseable":return"Invalid target";default:return"Route not resolved"}const r=s(e.metadata,"failureReason","reconciledReason","reason");return r==="agent_offline"||r==="agent_unreachable"?"Agent unavailable":r==="peer_unreachable"||r==="local_socket_unreachable"?"Route unavailable":r==="peer_rejected"?"Delivery rejected":"Delivery failed"}function $(e){const r=new Map,o=new Map;for(const n of e)if(n.messageId){if(n.kind==="success")r.has(n.messageId)||r.set(n.messageId,n);else if(n.kind==="failed_delivery"){const i=o.get(n.messageId);(!i||n.ts>i.ts)&&o.set(n.messageId,n)}}const t=[];for(const n of e)if(n.kind!=="delivery_attempt"&&!(n.kind==="failed_delivery"&&n.messageId&&r.has(n.messageId))){if(n.kind==="success"&&n.messageId){const i=o.get(n.messageId);if(i){t.push({...i,id:n.id,ts:n.ts,actorName:n.actorName,target:n.target??i.target,route:n.route??i.route,detail:n.detail,conversationId:n.conversationId??i.conversationId,messageId:n.messageId,invocationId:n.invocationId??i.invocationId,metadata:{...i.metadata??{},message:n.metadata??null}});continue}}t.push(n)}return t.sort((n,i)=>i.ts-n.ts||n.id.localeCompare(i.id))}function j(e){if(!y(e))return null;if(e.kind==="failed_query")return h(e);const r=e.metadata??{},o=a(r.reason),t=a(r.failureDetail)??a(r.failureReason)??(e.kind==="failed_delivery"&&["direct_message","mention"].includes(o??"")?null:o)??a(r.error),n=a(r.requestedLabel),i=[];return e.status&&e.status!=="failed"&&e.status!=="error"&&i.push(e.status),t&&t!==e.detail.trim()&&i.push(t),n&&!e.detail.includes(n)&&i.push(`asked ${n}`),i.length>0?[...new Set(i)].join(" · "):null}function g(e){return e==null?"—":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e)}const A=["source","deliveryId","messageId","conversationId","invocationId","dispatchKind","reason","error","requestedLabel","requesterId","targetId","transport","failureReason","failureDetail","reconciledReason","attempt","class","actorId","dispatchId","attemptId"];function F(e){if(!e)return[];const r=[],o=new Set;for(const t of A)!(t in e)||!c(e[t])||(r.push({key:t,value:g(e[t])}),o.add(t));for(const[t,n]of Object.entries(e))t==="raw"||o.has(t)||!c(n)||r.push({key:t,value:g(n)});return r}function S(e){const r=e.metadata??{},o=e.messageId??s(r,"messageId"),t=e.target??s(r,"targetId"),n=e.route??s(r,"transport");return e.kind==="failed_delivery"&&o&&t&&n?["failed_delivery",o,t,n].join("|"):[e.kind,o??e.deliveryId??e.invocationId??e.id,t,n,s(r,"failureReason","reconciledReason","reason","error")??e.detail].filter(i=>!!(i&&i.trim())).map(I).join("|")}function w(e){const r=e.metadata??{},o=m(e);return[e.kind,e.target??s(r,"targetId"),e.route??s(r,"transport"),s(r,"failureReason","reconciledReason","error")??s(o,"failureReason","reconciledReason","error")??e.status,s(r,"failureDetail")??s(o,"failureDetail")??s(r,"reason")??e.detail].filter(t=>!!(t&&t.trim())).map(t=>I(t).toLowerCase()).join("|")}function v(e){return{copiedAt:new Date().toISOString(),dedupeFingerprint:S(e),rootCauseFingerprint:w(e),sourceEndpoint:"/api/broker?limit=160",reviewEndpoint:"/api/broker/dispatch-review",attempt:e}}function O(e){const r=v(e);return[y(e)?"OpenScout dispatch failure context":"OpenScout dispatch context","",`id: ${e.id}`,`kind: ${e.kind}`,`status: ${e.status}`,`time: ${new Date(e.ts).toISOString()}`,`target: ${e.target??"none"}`,`transport/route: ${e.route??"none"}`,`messageId: ${e.messageId??"none"}`,`deliveryId: ${e.deliveryId??"none"}`,`invocationId: ${e.invocationId??"none"}`,`conversationId: ${e.conversationId??"none"}`,`detail: ${e.detail}`,`dedupeFingerprint: ${r.dedupeFingerprint}`,`rootCauseFingerprint: ${r.rootCauseFingerprint}`,"","Full JSON:",JSON.stringify(r,null,2)].join(`
|
|
2
|
-
`)}function T(e){if(!e)return null;if(e.raw!==void 0&&e.raw!==null)return e.raw;const r=Object.fromEntries(Object.entries(e).filter(([o,t])=>o!=="raw"&&!c(t)));return Object.keys(r).length>0?r:null}function D(e){return!e||Object.keys(e).length===0?"{}":JSON.stringify(e,null,2)}export{F as a,y as b,T as c,D as d,M as e,g as f,$ as g,j as h,O as i,_ as j,h as k};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as $}from"./api-DSqpVKC7.js";const o=["branch","unstaged","staged"],g=3e4,y=24,w=12,i=new Map,f=new Map,h=new Set;let m=Promise.resolve();function A(s,r=o,e={}){const t=new URLSearchParams;if(e.session){const n=e.session.sessionId?.trim(),c=e.session.agentId?.trim();n&&t.set("sessionId",n),c&&t.set("agentId",c),e.session.include&&t.set("include",e.session.include)}else{t.set("path",s);for(const n of e.files??[]){const c=n.trim();c&&t.append("file",c)}}for(const n of r)t.append("layer",n);return e.cache&&t.set("cache",e.cache),e.rehydrate&&t.set("rehydrate","1"),e.tier&&t.set("tier",e.tier),`/api/repo-diff/${e.session?"session":"worktree"}?${t.toString()}`}function d(s,r,e={}){const t=e.session?`session:${e.session.sessionId??""}:${e.session.agentId??""}:${e.session.include??"changed"}`:`worktree:${(e.files??[]).join(`
|
|
2
|
-
`)}`;return`${s}\0${r.join(",")}\0${e.tier??"summary"}\0${e.cacheScope??""}\0${t}`}function D(){for(;i.size>y;){const s=i.keys().next().value;if(!s)break;i.delete(s)}}function M(s,r=o,e={},t=g){const n=i.get(d(s,r,e));if(!n)return null;const c=Math.max(0,Date.now()-n.fetchedAt);return{...n,ageMs:c,fresh:c<=t}}async function I(s,r=o,e={}){const t=d(s,r,e),n=f.get(t);if(n&&(!e.force||n.force))return n.request;if(!e.force){const a=i.get(t);if(a&&Date.now()-a.fetchedAt<=g)return{...a,cacheHit:!0}}const c=A(s,r,{...e.force?{cache:"reload"}:{cache:"prefer",rehydrate:!0},files:e.files,session:e.session,tier:e.tier??"summary"}),u=$(c).then(a=>{const l={snapshot:a,fetchedAt:Date.now()};return i.delete(t),i.set(t,l),D(),{...l,cacheHit:!1}});f.set(t,{force:e.force===!0,request:u});try{return await u}finally{f.get(t)?.request===u&&f.delete(t)}}function E(s,r=o){const e=d(s,r,{tier:"summary"});M(s,r,{tier:"summary"})?.fresh||f.has(e)||h.has(e)||(h.add(e),m=m.catch(()=>{}).then(()=>I(s,r).then(()=>{},()=>{})).finally(()=>{h.delete(e)}))}function R(s,r=o,e={}){const t=Math.max(0,Math.min(e.limit??w,y));for(const n of s.slice(0,t))E(n,r)}function _(s){if(s<5e3)return"just now";const r=Math.round(s/1e3);if(r<60)return`${r}s ago`;const e=Math.round(r/60);return e<60?`${e}m ago`:`${Math.round(e/60)}h ago`}export{M as a,I as f,R as p,_ as r};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/media-blobs-Bi8pxr1u.js","assets/api-DSqpVKC7.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as m}from"./index-BFbLvCJn.js";import{r as u}from"./api-DSqpVKC7.js";class d extends Error{status;reason;constructor(e,s,o=null){super(e),this.name="ChatApiError",this.status=s,this.reason=o}get isUnauthenticated(){return this.status===401||this.status===403}get isOffline(){return this.status===0}}async function r(t,e){let s;try{s=await fetch(t,{credentials:"include",cache:"no-store",...e,headers:{...e?.body?{"content-type":"application/json"}:{},accept:"application/json",...e?.headers??{}}})}catch(i){throw new d(i instanceof Error?i.message:"Network request failed",0)}const o=await s.text();let c=null;if(o)try{c=JSON.parse(o)}catch{c=null}if(!s.ok){const i=c??{},l=typeof i.error=="string"&&i.error.trim()?i.error:`${e?.method??"GET"} ${t} failed (${s.status})`,h=typeof i.reason=="string"?i.reason:null;throw new d(l,s.status,h)}return c??{}}function a(t){return encodeURIComponent(t)}const p="home";function n(t,e){if(!e||e===p)return t;const s=t.includes("?")?"&":"?";return`${t}${s}space=${encodeURIComponent(e)}`}const g="/api/link-preview",f={asks:!0,inviteList:!0,inviteKinds:["teammate","agent","api"],inviteRevoke:!0,liveStream:!0,signOut:!0,spaceCreate:!0,channelCreate:!0,spaceDelete:!1,namedFirstChannel:!0,memberDetail:!0,reactions:!0,attachments:!0,signIn:{startPath:"/login",returnToParam:"next",label:"Sign in as the host",prompt:"Open the invitation you were sent to join a channel, or sign in as the host of this Scout.",note:"Your invitation link signs you into the channel shared with you."}},v={async bootstrap(t={}){const e=n("/api/chat/bootstrap",t.space);try{return await r(e)}catch(s){if(s instanceof d&&s.status===401&&t.recoverSession!==!1&&await u())return r(e);throw s}},spaces(){return r("/api/chat/spaces")},createSpace(t){return r("/api/chat/spaces",{method:"POST",body:JSON.stringify({title:t.title,...t.channel?.trim()?{channel:t.channel.trim()}:{}})})},signOut(){return r("/api/logout",{method:"POST"})},createChannel(t){return r("/api/chat/channels",{method:"POST",body:JSON.stringify({title:t.title,...t.topic?.trim()?{topic:t.topic.trim()}:{},...t.space?{space:t.space}:{}})})},async uploadAttachments(t,e){const{uploadMediaFiles:s}=await m(async()=>{const{uploadMediaFiles:o}=await import("./media-blobs-Bi8pxr1u.js");return{uploadMediaFiles:o}},__vite__mapDeps([0,1]));return s(e)},feed(t,e){return r(n(`/api/channels/${a(t)}/feed`,e))},members(t,e){return r(n(`/api/channels/${a(t)}/members`,e))},postMessage(t,e){return r(n(`/api/channels/${a(t)}/messages`,e.space),{method:"POST",body:JSON.stringify({requestId:e.requestId,body:e.body,...e.replyToMessageId?{replyToMessageId:e.replyToMessageId}:{},...e.attachments&&e.attachments.length>0?{attachments:e.attachments.map(s=>({id:s.id,mediaType:s.mediaType,fileName:s.fileName,...s.url?{url:s.url}:{},..."localPath"in s&&s.localPath?{localPath:s.localPath}:{}}))}:{}})})},postAsk(t,e){return r(n(`/api/channels/${a(t)}/asks`,e.space),{method:"POST",body:JSON.stringify({requestId:e.requestId,body:e.body,targetActorId:e.targetActorId,...e.replyToMessageId?{replyToMessageId:e.replyToMessageId}:{}})})},cancelAsk(t,e,s){return r(n(`/api/channels/${a(t)}/asks/${a(e)}/cancel`,s),{method:"POST",body:JSON.stringify({})})},addReaction(t,e){return r(n(`/api/channels/${a(t)}/reactions`,e.space),{method:"POST",body:JSON.stringify({messageId:e.messageId,emoji:e.emoji,requestId:e.requestId})})},removeReaction(t,e){return r(n(`/api/channels/${a(t)}/reactions/remove`,e.space),{method:"POST",body:JSON.stringify({messageId:e.messageId,emoji:e.emoji,requestId:e.requestId})})},invites(t,e){return r(n(`/api/channels/${a(t)}/invites`,e))},createInvite(t,e){return r(n(`/api/channels/${a(t)}/invites`,e.space),{method:"POST",body:JSON.stringify({createdByActorId:e.createdByActorId,maxRedemptions:e.kind==="teammate"?null:1,...e.inviteeDisplayName?{invitee:{displayName:e.inviteeDisplayName,...e.inviteeActorId?{actorId:e.inviteeActorId}:{}}}:{},...e.expiresInMs===void 0?{}:{expiresInMs:e.expiresInMs}})})},revokeInvite(t,e,s,o){return r(n(`/api/channels/${a(t)}/invites/${a(e)}/revoke`,o),{method:"POST",body:JSON.stringify({revokedByActorId:s})})},invitePreview(t){return r(`/api/invites/${a(t)}`)},joinInvite(t,e){return r(`/api/invites/${a(t)}/join`,{method:"POST",body:JSON.stringify({displayName:e})})},me(){return r("/api/member/me")}};export{d as C,p as D,f as L,g as a,v as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./index-BFbLvCJn.js";import{p as d}from"./message-markup-BQW5jdJw.js";import{o as m}from"./chat-space-model-aW3Fd8_U.js";const o=/`([^`\n]+)`|\*\*(.+?)\*\*|\*([^*\s][^*]*?)\*|\[([^\]\n]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>"')\]]+)/gu;function l(a){return/^(?:https?:\/\/|mailto:|#)/iu.test(a)}function p({text:a}){const t=[];let i=0,r=0;for(const s of a.matchAll(o)){const n=s.index??0;if(n>i&&t.push(e.jsx("span",{children:a.slice(i,n)},`t${r}`)),s[1]!==void 0)t.push(e.jsx("code",{className:"chat-md-code",children:s[1]},`c${r}`));else if(s[2]!==void 0)t.push(e.jsx("strong",{children:s[2]},`b${r}`));else if(s[3]!==void 0)t.push(e.jsx("em",{children:s[3]},`e${r}`));else if(s[4]!==void 0&&s[5]!==void 0&&l(s[5]))t.push(e.jsx("a",{className:"chat-url",href:s[5],target:"_blank",rel:"noreferrer",children:s[4]},`l${r}`));else if(s[6]!==void 0&&l(s[6])){const c=s[6].replace(/[.,;:!?)]+$/u,""),h=s[6].slice(c.length);t.push(e.jsx("a",{className:"chat-url",href:c,target:"_blank",rel:"noreferrer",children:c},`u${r}`)),h&&t.push(e.jsx("span",{children:h},`p${r}`))}else t.push(e.jsx("span",{children:s[0]},`r${r}`));i=n+s[0].length,r+=1}return i<a.length&&t.push(e.jsx("span",{children:a.slice(i)},"tail")),e.jsx(e.Fragment,{children:t.length>0?t:a})}function x({text:a,message:t,fallbackLabels:i}){const r=m({...t,body:a},i);return e.jsx(e.Fragment,{children:r.map((s,n)=>s.kind==="mention"?e.jsx("span",{className:"chat-mention",children:s.text},n):e.jsx("span",{children:e.jsx(p,{text:s.text})},n))})}function u({block:a,message:t,fallbackLabels:i}){const r=s=>e.jsx(x,{text:s,message:t,fallbackLabels:i});switch(a.type){case"paragraph":return e.jsx("p",{className:"chat-md-p",children:r(a.text)});case"heading":return e.jsx("div",{className:`chat-md-h chat-md-h${Math.min(3,a.depth)}`,role:"heading","aria-level":Math.min(4,Math.max(2,a.depth+1)),children:r(a.text)});case"hr":return e.jsx("hr",{className:"chat-md-hr"});case"list":return a.ordered?e.jsx("ol",{className:"chat-md-list",children:a.items.map((s,n)=>e.jsx("li",{children:r(s)},n))}):e.jsx("ul",{className:"chat-md-list",children:a.items.map((s,n)=>e.jsx("li",{children:r(s)},n))});case"blockquote":return e.jsx("blockquote",{className:"chat-md-quote",children:r(a.text)});case"code":return e.jsx("pre",{className:"chat-md-pre","data-lang":a.language??void 0,children:e.jsx("code",{children:a.text})});case"table":return e.jsx("div",{className:"chat-md-table-wrap",children:e.jsxs("table",{className:"chat-md-table",children:[e.jsx("thead",{children:e.jsx("tr",{children:a.headers.map((s,n)=>e.jsx("th",{children:r(s)},n))})}),e.jsx("tbody",{children:a.rows.map((s,n)=>e.jsx("tr",{children:a.headers.map((c,h)=>e.jsx("td",{children:r(s[h]??"")},h))},n))})]})})}}function N({message:a,fallbackLabels:t=[]}){const i=d(a.body);return i.length===0?a.body:e.jsx("div",{className:"chat-md",children:i.map((r,s)=>e.jsx(u,{block:r,message:a,fallbackLabels:t},s))})}export{N as ChatMessageMarkup};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const V=4e3,W=15e3,K=6e4;function k(e,t){const n=Math.max(0,t-e);return n<45e3?"just now":n<36e5?`${Math.max(1,Math.round(n/6e4))}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}function z(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function g(e){const t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function S(e,t){const n=g(t),o=g(e);return o===n?"Today":o===n-864e5?"Yesterday":new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function J(e,t){if(e===null)return"no expiry";const n=e-t;if(n<=0)return"expired";if(n<36e5)return`expires in ${Math.max(1,Math.round(n/6e4))} minutes`;if(n<864e5){const r=Math.round(n/36e5);return`expires in ${r} ${r===1?"hour":"hours"}`}const o=Math.round(n/864e5);return`expires in ${o} ${o===1?"day":"days"}`}function w(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}function A(e){const t=e.trim();return t.startsWith("#")?t:`#${t}`}function G(e){const t=e.trim().split(/\s+/u).filter(Boolean);return t.length===0?"?":t.length===1?t[0].slice(0,2).toUpperCase():`${t[0][0]}${t[1][0]}`.toUpperCase()}function h(e){return e.kind==="agent"||!!e.owner}function x(e){return!h(e)}function p(e){return e.participation==="api"}function Q(e){return h(e)&&!p(e)}function X(e){const t=e.displayName.trim()||e.actorId;if(!e.owner)return t;const n=e.owner.displayName.trim();return!n||t.toLowerCase().startsWith(`${n.toLowerCase()}'s `)?t:`${n}'s ${t}`}function M(e,t){return e.actorId===t}function Z(e,t){if(t.length===0&&e.length>0)return e;const n=new Map;for(const r of e)n.set(r.actorId,r);for(const r of t){const i=n.get(r.actorId);if(!i){n.set(r.actorId,r);continue}const l=r.kind==="unknown"?i.kind:r.kind;n.set(r.actorId,{...i,...r,kind:l,displayName:r.displayName.trim()||i.displayName,owner:r.owner??i.owner})}const o=[...t.map(r=>r.actorId)];for(const r of e)o.includes(r.actorId)||o.push(r.actorId);return o.map(r=>n.get(r)).filter(Boolean)}function ee(e){const t=e.filter(x).length,n=e.filter(h).length,o=(r,i,l)=>`${r} ${r===1?i:l}`;return`${o(t,"person","people")} · ${o(n,"agent","agents")}`}const $="ready_to_receive",L=new Set(["active","executing","in progress","in_progress","running","working"]),R=new Set(["blocked","dispatching","needs attention","needs_attention","pending","queued","waiting","waking"]);function U(e){const t=e.activity?.status?.trim().toLowerCase();return t?L.has(t)?"working":R.has(t)?"waiting":null:null}function te(e,t){if(M(e,t))return"you";if(p(e))return"via API";if(!h(e))return null;const n=U(e);if(n)return n;const o=e.reception;return!o||o.state===$?null:o.summary.trim().toLowerCase()}const _="Nothing is listening between messages — a delivery starts or resumes this agent's session.";function D(e,t){if(!e)return null;const n=e.evidenceAt?`confirmed ${k(e.evidenceAt,t)}`:null,o=e.routeKind==="wake_on_delivery"?_:null;return{summary:e.summary,detail:e.detail,showDot:e.listening===!0&&e.state===$,evidence:n,routeNote:o,ariaLabel:[e.summary,n].filter(Boolean).join(", ")}}const T="Reads by polling",O="This member joined over the plain HTTP API. It sees the room when it polls and answers by posting; nothing is delivered to it between polls, and it cannot be sent a tracked ask.";function ne(e,t){return p(e)?{summary:T,detail:O,showDot:!1,evidence:null,routeNote:null,ariaLabel:T}:D(e.reception,t)}const E=new Set(["accepted","queued","waking","running","waiting","delivered"]),N=new Set(["completed","cancelled","canceled"]),C=new Set(["failed","error","expired"]);function y(e){const t=e.trim().toLowerCase();return t==="accepted"||t==="delivered"?"queued":t==="canceled"?"cancelled":t||"queued"}function I(e){const t=y(e);return C.has(t)?"failed":N.has(t)?"settled":(E.has(t),"owed")}function q(e,t){if(t)return"blocked";const n=y(e);return n==="running"||n==="waking"||n==="queued"?"working":n==="waiting"?"waiting":n}function re(e,t){const n=y(e.state),o=I(n),r=t?.label??e.targetActorId,i=t?.reception??null,l=o==="owed"&&i!==null&&(i.routeKind==="none"||i.state==="unavailable"||i.state==="disconnected"),s=q(n,l),d=o==="owed";if(l){const f=`${s} — ${r} isn't listening right now`;return{state:n,tone:o,text:f,textWithTarget:f,ariaLabel:`Tracked request for ${r}, ${s}, not listening right now`,canStop:d}}return{state:n,tone:o,text:`▸ ${s}`,textWithTarget:`▸ ${r} · ${s}`,ariaLabel:`Tracked request for ${r}, ${s}`,canStop:d}}const P=new Set(["status","system","log"]),m=2;function j(e,t){return e.createdAt!==t.createdAt?e.createdAt-t.createdAt:e.id<t.id?-1:e.id>t.id?1:0}function H(e){return P.has(e.class)}function oe(e){const t=[...e.messages].sort(j),n=new Map,o=[];for(const a of t){const u=a.replyToMessageId;if(u){const c=n.get(u);c?c.push(a):n.set(u,[a]);continue}o.push(a)}const r=new Map;for(const a of e.requests)r.set(a.messageId,a);const i=[];let l=null,s=[];const d=()=>{if(s.length===0)return;if(s.length<=m+1){for(const c of s)i.push({kind:"status",id:c.id,message:c});s=[];return}const a=s.slice(0,s.length-m),u=s.slice(s.length-m);i.push({kind:"status-fold",id:`fold:${a[0].id}`,label:`${a.length} earlier ${a.length===1?"notice":"notices"}`,count:a.length,messages:a});for(const c of u)i.push({kind:"status",id:c.id,message:c});s=[]};for(const a of o){const u=g(a.createdAt);if((l===null||u!==l)&&(d(),l=u,i.push({kind:"day",id:`day:${u}`,label:S(a.createdAt,e.nowMs),at:u})),H(a)){s.push(a);continue}d();const c=n.get(a.id)??[],v=c.length>0?c[c.length-1]:null;i.push({kind:"turn",id:a.id,message:a,request:r.get(a.id)??null,replyCount:c.length,lastReplyAt:v?.createdAt??null})}d();const f=t.length>0?t[t.length-1]:null;return{entries:i,repliesByRoot:n,requestsByMessage:r,lastMessageAt:f?.createdAt??null}}function ie(e,t,n){const o=`${e} ${e===1?"reply":"replies"}`;return t?`${o} · last ${k(t,n)}`:o}function se(e){const t=new Set(e.members.filter(n=>n.owner?.actorId===e.viewerActorId).map(n=>n.actorId));for(const n of e.projection.requestsByMessage.values())if(I(n.state)==="owed"&&t.has(n.targetActorId))return!0;for(const n of e.projection.entries){if(n.kind!=="turn")continue;if((n.message.mentions??[]).some(r=>r.actorId===e.viewerActorId))return!0}return!1}function B(e){return e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}function ae(e,t=[]){const n=[...(e.mentions??[]).map(l=>l.label??l.actorId),...t].map(l=>l.trim()).filter(Boolean).sort((l,s)=>s.length-l.length);if(n.length===0)return[{kind:"text",text:e.body}];const o=new RegExp(`@(?:${n.map(B).join("|")})`,"gu"),r=[];let i=0;for(const l of e.body.matchAll(o)){const s=l.index??0;s>i&&r.push({kind:"text",text:e.body.slice(i,s)}),r.push({kind:"mention",text:l[0]}),i=s+l[0].length}return i<e.body.length&&r.push({kind:"text",text:e.body.slice(i)}),r.length>0?r:[{kind:"text",text:e.body}]}function le(e){return e?`Creates a tracked request for ${e} · reply lands in this thread`:null}function ce(e){return e.maxRedemptions!==1?"teammate":e.invitee?"agent":"api"}function ue(e){return e==="api"?"no-install agent":e}function Y(e){return`${e.replace(/\/$/,"")}/api.md`}function de(e){const t=e.trim();return t?t.includes("-")?`${t.split("-")[0]}-····`:`${t}-····`:"····"}function fe(e){const t=A(e.channelTitle);if(e.kind==="agent")return["Join my Scout Chat channel as my agent.",`Run scout chat join "${e.agentInstructionsUrl}" to join ${t}, then scout chat say "Hello!". Use this running agent to read and reply over HTTP; no local Scout service is required.`,'Run the supplied commands directly; no invitation fetch, broad Scout skill, source inspection, or identity discovery is needed. To receive replies, run scout chat watch --once --compact --for 30s --json, then scout chat reply <message-id> "Your reply". Wait for watch to finish; repeat only for the requested participation period.',"If the CLI is missing, install @openscout/scout. Do not run setup or start background services."].join(`
|
|
2
|
-
`);if(e.kind==="api")return[`Join my Scout Chat channel ${t} over plain HTTP — nothing to install.`,`Fetch ${Y(e.inviteUrl)} and follow it exactly: join, poll for new messages, and post your replies.`].join(`
|
|
3
|
-
`);const n=e.channelTopic?.trim();return[`You're invited to ${t} on Scout Chat.`,`From ${e.inviterName}${n?` · ${n}`:""}.`,`Open: ${e.inviteUrl}`].join(`
|
|
4
|
-
`)}const b={mesh:{state:"Reachable off this network",line:"This link uses a mesh route that works away from this network.",remoteUsable:!0},lan:{state:"Local network only",line:"This link uses a local-network route — teammates must be on this network.",remoteUsable:!1},local_only:{state:"This machine only",line:"This machine has no LAN or tailnet route others can reach — this link only works on this machine.",remoteUsable:!1},unknown:{state:"Reachability unconfirmed",line:"Route registered but unverified — treat this link as untested off this machine.",remoteUsable:!1}};function he(e,t){const n=e.caveat?.trim()||null;if(t)return{state:t.label,line:t.detail,caveat:n&&n!==t.detail.trim()?n:null,showDot:t.remoteUsable,remoteUsable:t.remoteUsable};const o=b[e.reachability]??b.unknown;return{state:o.state,line:o.line,caveat:n&&n!==o.line?n:null,showDot:o.remoteUsable,remoteUsable:o.remoteUsable}}function me(e,t){return e.state!=="active"?!1:t.isOperator?!0:e.createdByActorId===t.actorId}function ge(e){const t=A(e.channelTitle),n=e.inviterName?.trim()?`Ask ${e.inviterName.trim()} for a new one.`:"Ask the person who invited you for a new one.";switch(e.invite.state){case"expired":return{mode:"closed",channelTitle:t,message:`This invitation expired on ${e.invite.expiresAt?w(e.invite.expiresAt):"an earlier date"}. ${n}`};case"revoked":return{mode:"closed",channelTitle:t,message:"This invitation was revoked."};case"exhausted":return{mode:"closed",channelTitle:t,message:`This invitation has already been used. ${n}`}}const r=`This invitation admits you to this channel only. ${e.invite.expiresAt?`It expires ${w(e.invite.expiresAt)}.`:"It does not expire."}`;return e.alreadyMember?{mode:"open",channelTitle:t,cta:`Open ${t}`,note:r}:{mode:"join",channelTitle:t,cta:`Join ${t}`,note:r}}function pe(e){return[...e].sort((t,n)=>t.title.localeCompare(n.title,void 0,{sensitivity:"base"}))}function F(e){return{actorId:e,kind:"unknown",displayName:e,reception:{state:"waiting_for_agent",routeKind:"none",listening:!1,summary:"",detail:"",evidenceAt:null,attachedSessionId:null,redeemedAt:null}}}function ye(e,t){return e.get(t)??F(t)}function we(){const e=globalThis.crypto;return e?.randomUUID?`req-${e.randomUUID()}`:`req-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Te(e,t,n){const o=e??[];if(n)return o.flatMap(i=>i.emoji!==t?[i]:i.me?i.count<=1?[]:[{...i,count:i.count-1,me:!1}]:[i]);const r=o.find(i=>i.emoji===t);return r?r.me?o:o.map(i=>i.emoji===t?{...i,count:i.count+1,me:!0}:i):[...o,{emoji:t,count:1,me:!0}]}export{re as A,K as B,ne as C,fe as D,le as E,V as F,W as R,h as a,X as b,A as c,p as d,k as e,me as f,te as g,ce as h,ge as i,J as j,de as k,ue as l,ye as m,G as n,ae as o,Z as p,oe as q,he as r,pe as s,se as t,we as u,Te as v,Q as w,ee as x,z as y,ie as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r,j as d}from"./index-BFbLvCJn.js";import{L as h,c as m,D as p}from"./chat-api-BHGHALv2.js";const o="channel",l="space",i="message";function f(t){return{read(){if(typeof window>"u")return{space:null,channelId:null,messageId:null};const e=new URLSearchParams(window.location.search);return{space:e.get(l)?.trim()||null,channelId:e.get(o)?.trim()||null,messageId:e.get(i)?.trim()||null}},write(e,s){if(typeof window>"u")return;const a=new URL(window.location.href);e.channelId?a.searchParams.set(o,e.channelId):a.searchParams.delete(o),e.space&&e.space!==t?a.searchParams.set(l,e.space):a.searchParams.delete(l),e.messageId?a.searchParams.set(i,e.messageId):a.searchParams.delete(i);const c=`${a.pathname}${a.search}`;s?window.history.replaceState(null,"",c):window.history.pushState(null,"",c)}}}function I(t,e){const s=new URL(t);return s.searchParams.set(o,e.channelId),s.searchParams.set(i,e.messageId),e.space&&e.space!==(e.defaultSpace??"home")&&s.searchParams.set(l,e.space),s.toString()}const u={api:m,capabilities:h,address:f(p)},n=r.createContext(u);function C({api:t,capabilities:e,address:s,children:a}){const c=r.useMemo(()=>({api:t,capabilities:e,address:s}),[t,e,s]);return d.jsx(n.Provider,{value:c,children:a})}function A(){return r.useContext(n)}function P(){return r.useContext(n).api}function w(){return r.useContext(n).capabilities}function _(){return r.useContext(n).address}const S=Object.freeze(Object.defineProperty({__proto__:null,ChatTransportProvider:C,LOCAL_CHAT_TRANSPORT:u,useChatAddress:_,useChatApi:P,useChatCapabilities:w,useChatTransport:A},Symbol.toStringTag,{value:"Module"}));export{P as a,_ as b,I as c,S as d,w as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],e=o("chevron-down",n);export{e as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const t=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e=o("chevron-right",t);export{e as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-CKbjXlwv.js";const c=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],n=o("chevron-up",c);export{n as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s,j as S}from"./index-BFbLvCJn.js";var O="hudson.theme",M="system",R="hudson",p=s.createContext(null);function T(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function L(){if(typeof window>"u")return{};try{const e=new URLSearchParams(window.location.search),t=e.get("theme"),n=e.get("template");return{theme:t==="light"||t==="dark"||t==="system"?t:void 0,template:n&&/^[a-z][a-z0-9-]{1,64}$/.test(n)?n:void 0}}catch{return{}}}function j(){const e=L();return!!(e.theme||e.template)}function l(e,t,n){if(typeof window>"u")return{theme:t,template:n};const r=L();try{const c=JSON.parse(window.localStorage.getItem(e)||"{}");return{theme:r.theme??c.theme??t,template:r.template??c.template??n}}catch{return{theme:r.theme??t,template:r.template??n}}}var H=()=>()=>{},U=()=>!0,b=()=>!1;function C(){return s.useSyncExternalStore(H,U,b)}function P(e){return e==="system"?typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":e}function _(e){return e==="system"?"dark":e}function F(e,t,n){const r=n??document.documentElement;r.dataset.hudsonTheme=e,r.dataset.hudsonTemplate=t}function I(e,t,n){if(!j())try{const r=JSON.parse(window.localStorage.getItem(e)||"{}"),c=T(r)?{...r,theme:t,template:n}:{theme:t,template:n};window.localStorage.setItem(e,JSON.stringify(c))}catch{}}function D({children:e,defaultTheme:t=M,defaultTemplate:n=R,storageKey:r=O,rootElement:c}){const o=s.useContext(p),[d,m]=s.useState(t),[u,h]=s.useState(n),[v,g]=s.useState(()=>_(t)),[w,k]=s.useState(!1),x=C();s.useEffect(()=>{if(o)return;let a=!1;return queueMicrotask(()=>{if(a)return;const i=l(r,t,n);m(i.theme??t),h(i.template??n),k(!0)}),()=>{a=!0}},[n,t,o,r]),s.useEffect(()=>{if(o)return;const a=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>{g(P(d))};return i(),a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[o,d]),s.useEffect(()=>{o||!w||F(v,u,c)},[w,o,v,c,u]),s.useEffect(()=>{o||!w||I(r,d,u)},[w,o,r,u,d]),s.useEffect(()=>{if(o)return;const a=f=>{if(f.key!==r)return;const E=l(r,t,n);m(E.theme??t),h(E.template??n)},i=f=>{if(f.detail?.key!==r)return;const y=l(r,t,n);m(y.theme??t),h(y.template??n)};return window.addEventListener("storage",a),window.addEventListener("hudson:saved",i),()=>{window.removeEventListener("storage",a),window.removeEventListener("hudson:saved",i)}},[n,t,o,r]);const A=s.useMemo(()=>({theme:d,resolvedTheme:x?v:void 0,template:u,setTheme:m,setTemplate:h}),[x,v,u,d]);return o?S.jsx(S.Fragment,{children:e}):S.jsx(p.Provider,{value:A,children:e})}function J(){return s.useContext(p)}export{D as T,J as u};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-qXD45dc0.js","assets/index-BFbLvCJn.js","assets/index-BRNHY2fp.css","assets/addon-fit-G3qi01sy.js","assets/addon-webgl-Bo7kSgOB.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as t,j as n,_ as te}from"./index-BFbLvCJn.js";import{u as Ue}from"./chunk-HRAB3GC3-DVhUsgOw.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-qXD45dc0.js").then(i=>i.x),__vite__mapDeps([0,1,2])),te(()=>import("./addon-fit-G3qi01sy.js").then(i=>i.a),__vite__mapDeps([3,1,2])),te(()=>import("./addon-webgl-Bo7kSgOB.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-BFbLvCJn.js";import{P as Q}from"./plus-B0hdY0fF.js";import{c as O}from"./createLucideIcon-CKbjXlwv.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};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as l,j as s}from"./index-BFbLvCJn.js";import{c as st}from"./createLucideIcon-CKbjXlwv.js";import{A as ot}from"./arrow-up-DFy-9ghF.js";import{A as at}from"./arrow-down--OUDFWIq.js";function W(e){if(typeof window>"u")return null;try{return e==="local"?window.localStorage:window.sessionStorage}catch{return null}}function it(e,t){const r=W(e);if(!r)return null;try{return r.getItem(t)}catch{return null}}function ct(e,t,r){const n=W(e);if(!n)return!1;try{return n.setItem(t,r),!0}catch{return!1}}function lt(e,t){const r=W(e);if(!r)return!1;try{return r.removeItem(t),!0}catch{return!1}}function dt(e){const t=W(e);if(!t)return[];try{const r=[],n=t.length;for(let o=0;o<n;o++){const a=t.key(o);typeof a=="string"&&r.push(a)}return r}catch{return[]}}var ze={getItem(e){return it("local",e)},setItem(e,t){return ct("local",e,t)},removeItem(e){return lt("local",e)},keys(){return dt("local")},isAvailable(){return W("local")!==null}};const ut=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],mt=st("arrow-up-down",ut);function ft(e="h",t=12){const r=globalThis.crypto;if(r&&typeof r.randomUUID=="function"){const o=r.randomUUID().replace(/-/g,"").slice(0,t);return e?`${e}_${o}`:o}if(r&&typeof r.getRandomValues=="function"){const o=new Uint8Array(Math.ceil(t/2));r.getRandomValues(o);const a=Array.from(o,c=>c.toString(16).padStart(2,"0")).join("").slice(0,t);return e?`${e}_${a}`:a}const n=Math.random().toString(36).slice(2,2+t);return e?`${e}_${n}`:n}var pt=200,gt=()=>Date.now(),ht=()=>ft("h",12),xt=e=>e instanceof Error?{name:e.name,message:e.message}:{message:String(e)},bt=()=>{const e=globalThis;return e.H_OBSERVABILITY===!0||e.H_DEBUG===!0},wt=class{constructor(){this.sinks=new Map}get size(){return this.sinks.size}add(e,t={}){const r=t.kinds?new Set(t.kinds):null;return this.sinks.set(e,{kinds:r}),()=>{this.sinks.delete(e)}}emit(e){for(const[t,r]of this.sinks)if(!(r.kinds&&!r.kinds.has(e.kind)))try{t(e)}catch{}}},yt=class{constructor(e){this.owner=e}log(e,t,r={}){const n={id:this.owner.createId(),kind:"log",timestamp:this.owner.now(),level:e,message:t,category:r.category,data:r.data};return this.owner.emit(n),n}debug(e,t){return this.log("debug",e,t)}info(e,t){return this.log("info",e,t)}warn(e,t){return this.log("warn",e,t)}error(e,t){return this.log("error",e,t)}},vt=class{constructor(e){this.owner=e}counter(e,t=1,r={}){return this.record("counter",e,t,r)}gauge(e,t,r={}){return this.record("gauge",e,t,r)}timing(e,t,r={}){return this.record("timing",e,t,{...r,unit:r.unit??"ms"})}record(e,t,r,n){const o={id:this.owner.createId(),kind:"metric",timestamp:this.owner.now(),metricType:e,name:t,value:r,category:n.category,unit:n.unit,tags:n.tags,data:n.data};return this.owner.emit(o),o}},kt=class{constructor(e,t){this.owner=e,this.event=t,this.ended=!1,this.owner.emit({...t})}end(e){if(this.ended)return this.event;const t=this.owner.now();return this.ended=!0,this.event.endTime=t,this.event.durationMs=Math.max(0,t-this.event.startTime),this.event.status="ok",e&&(this.event.data={...this.event.data,...e}),this.owner.emit({...this.event}),this.event}error(e,t){if(this.ended)return this.event;const r=this.owner.now();return this.ended=!0,this.event.endTime=r,this.event.durationMs=Math.max(0,r-this.event.startTime),this.event.status="error",this.event.error=xt(e),t&&(this.event.data={...this.event.data,...t}),this.owner.emit({...this.event}),this.event}},jt=class{constructor(e){this.owner=e}start(e,t={}){const r=this.owner.createId(),n=this.owner.now(),o={id:r,kind:"span",timestamp:n,name:e,traceId:t.traceId??r,parentId:t.parentId,startTime:n,status:"active",category:t.category,data:t.data};return new kt(this.owner,o)}},Nt=class Fe{constructor(t={}){this.logger=new yt(this),this.metrics=new vt(this),this.trace=new jt(this),this.sinks=new wt,this.buffer=[],this.enabled=t.enabled??!0,this.maxBufferSize=Math.max(0,t.maxBufferSize??pt),this.nowFn=t.now??gt,this.createIdFn=t.createId??ht}static global(t={}){return new Fe({...t,enabled:t.enabled??bt()})}get isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}subscribe(t,r={}){const n=this.sinks.add(t,r);if(r.replay)for(const o of this.buffer)r.kinds&&!r.kinds.includes(o.kind)||t(o);return n}flush(){const t=this.buffer.slice();return this.buffer.length=0,t}snapshot(){return this.buffer.slice()}emit(t){return this.enabled&&(this.remember(t),this.sinks.size>0&&this.sinks.emit(t)),t}now(){return this.nowFn()}createId(){return this.createIdFn()}remember(t){this.maxBufferSize!==0&&(this.buffer.push(t),this.buffer.length>this.maxBufferSize&&this.buffer.splice(0,this.buffer.length-this.maxBufferSize))}},X=Nt.global(),St=100,It=class{constructor(e={}){this.entries=[],this.listeners=new Set,this.maxEntries=Math.max(0,e.maxEntries??St)}snapshot(){return this.entries}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}add(e){return this.maxEntries===0||(this.entries=[e,...this.entries].slice(0,this.maxEntries),this.notify()),e}update(e,t){let r=!1;this.entries=this.entries.map(n=>n.id!==e?n:(r=!0,t(n))),r&&this.notify()}clear(){this.entries.length!==0&&(this.entries=[],this.notify())}notify(){for(const e of this.listeners)try{e()}catch{}}};new It;var Pe="hudsonTrace",Et=new Set(["cat","find","fd","grep","head","ls","pwd","rg","sed","tail","wc","which"]),Tt=new Set(["branch","diff","ls-files","log","rev-parse","show","status"]),We=new Set(["","agent.task"]);function At(e,t){const r=e.filter(A),n=_t(r);if(t==="raw")return{events:r,hiddenDetailEvents:0,collapsedEvents:0,relatedEventsByTrace:n};const o=$t(r),a=[];let c=0;for(const f of o.values())(t==="details"||Rt(f))&&(c+=f.length,a.push(Mt(f)));return{events:a,hiddenDetailEvents:Math.max(0,r.length-c),collapsedEvents:Math.max(0,c-a.length),relatedEventsByTrace:n}}function A(e){const t=g(e);return e.category==="agent-action"||t.triggeredBy==="agent"||t.source==="workspace-ai"}function g(e){return e.data&&typeof e.data=="object"&&!Array.isArray(e.data)?e.data:{}}function d(e,t){const r=e[t];return typeof r=="string"&&r.trim()?r:null}function C(e){return e.kind==="span"?e.traceId:d(g(e),"traceId")}function he(e){return d(g(e),"parentTraceId")}function Y(e){const t=g(e).metadata;if(!be(t))return null;const r=t.command;return Array.isArray(r)&&r.every(n=>typeof n=="string")?r:typeof r=="string"&&r.trim()?r.trim().split(/\s+/):null}function me(e){if(!e||e.length===0)return!1;const t=Ve(e[0]);if(Et.has(t))return!0;if(t==="git"){const r=e.find((n,o)=>o>0&&!n.startsWith("-"));return r?Tt.has(r):!1}return!1}function xe(e){const t=g(e),r=d(t,"appId")??d(t,"targetAppId");if(r)return r;const n=d(t,"action")??d(t,"playbook")??d(t,"commandId"),o=n&&!We.has(n)?Lt(n):null;if(o)return o;const a=Y(e);for(const c of a??[]){const f=Ue(c);if(f)return f}return null}function Ct(e){const t=g(e)[Pe];if(!be(t))return null;const r=d(t,"traceId"),n=z(t,"eventCount"),o=z(t,"startedAt"),a=z(t,"endedAt"),c=z(t,"durationMs"),f=z(t,"hiddenDetailEvents")??0;return!r||n===void 0||o===void 0||a===void 0||c===void 0?null:{traceId:r,eventCount:n,startedAt:o,endedAt:a,durationMs:c,hiddenDetailEvents:f}}function Ke(e){if(!e||e.length===0)return null;const t=Ve(e[0]),r=e.map(Ht).find(Boolean);return me(e)?r?`Read ${r} with ${t}`:`Read with ${t}`:t==="bun"&&e[1]==="run"&&e[2]?`Run bun ${e[2]}`:e.slice(0,4).join(" ")}function De(e){return!e||e==="agent.task"?"Agent task":e.replace(/^hudson\./,"").replace(/[._:-]+/g," ").replace(/\s+/g," ").trim().split(" ").map((r,n)=>n===0?Ot(r):r).join(" ")}function $t(e){const t=new Map;for(const r of e){const n=C(r)??r.id,o=t.get(n);o?o.push(r):t.set(n,[r])}return t}function _t(e){const t=new Map,r=(n,o)=>{if(!n)return;const a=t.get(n);a?a.some(c=>c.id===o.id)||a.push(o):t.set(n,[o])};for(const n of e)r(C(n)??n.id,n),r(he(n),n),r(n.kind==="span"?n.parentId??null:null,n);for(const n of t.values())n.sort((o,a)=>o.timestamp-a.timestamp);return t}function Mt(e){const t=[...e].sort((c,f)=>c.timestamp-f.timestamp),r=ce(t,c=>ie(c)===3)??ce(t,c=>ie(c)===2)??ce(t,c=>ie(c)===1)??t[t.length-1],n=C(r)??r.id,o=t[0]?.timestamp??r.timestamp,a=t[t.length-1]?.timestamp??r.timestamp;return{...r,data:{...g(r),[Pe]:{traceId:n,eventCount:t.length,startedAt:o,endedAt:a,durationMs:Math.max(0,a-o),hiddenDetailEvents:Math.max(0,t.length-1)}}}}function Rt(e){return e.every(t=>he(t))?!1:e.some(t=>{if(t.kind==="span")return!0;const r=g(t),n=d(r,"action")??d(r,"playbook")??"",o=!We.has(n),a=Y(t);return o||d(r,"commandId")||xe(t)&&!a||Dt(r)&&!me(a)?!0:!!(a&&!me(a))})}function Dt(e){const t=e.args;return be(t)&&typeof t.prompt=="string"&&t.prompt.trim().length>0}function ie(e){if(e.kind==="span")return e.status==="error"?3:e.status==="ok"?2:e.status==="active"?1:0;const t=d(g(e),"status")??(e.kind==="log"?e.level:void 0);return t==="failed"||t==="error"?3:t==="completed"||t==="ok"?2:t==="started"||t==="active"?1:0}function ce(e,t){for(let r=e.length-1;r>=0;r--)if(t(e[r]))return e[r]}function Lt(e){if(!e)return null;const[t]=e.split(/[.:_-]/);return t||null}function Ue(e){const t=e.match(/(?:^|\/)app\/apps\/([^/\s]+)/);return t?t[1]:null}function Ht(e){const t=Ue(e);return t||null}function Ve(e){return e.split("/").pop()??e}function be(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function z(e,t){const r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function Ot(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}var Bt=l.createContext(null);function zt(){return l.useContext(Bt)}function Ft(e){const t=zt();return!t||e.startsWith("inst:")||e.startsWith("hudson.ws.")?e:`inst:${t.instanceId}:${e}`}function Pt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&typeof e.__v=="number"&&"value"in e}function Wt(e,t){const r=ze.getItem(e);if(!r)return;let n;try{n=JSON.parse(r)}catch{return}const o=t?.version;if(o===void 0)return n;const[a,c]=Pt(n)?[n.value,n.__v]:[n,0];if(c===o)return a;if(t?.migrate)try{return t.migrate(a,c)}catch{return}}function Kt(e,t,r){let n;try{n=JSON.stringify(r===void 0?t:{__v:r,value:t})}catch{return}if(typeof n=="string"&&ze.setItem(e,n))try{window.dispatchEvent(new CustomEvent("hudson:saved",{detail:{key:e}}))}catch{}}var Ut=()=>()=>{},Vt=()=>!0,Gt=()=>!1;function Jt(){return l.useSyncExternalStore(Ut,Vt,Gt)}function Xt(e,t,r={}){const n=Jt(),o=Ft(e),a=r.enabled??!0,{version:c}=r,[f,$]=l.useState(t),K=l.useRef(!1);if(n&&a&&!K.current){K.current=!0;const _=Wt(o,r);_!==void 0&&$(_)}return l.useEffect(()=>{!n||!a||Kt(o,f,c)},[o,f,n,a,c]),[f,$]}var Yt=["debug","info","warn","error"],qt=["log","metric","span"],Qt="hudson:open-app",le=340,J=440,Le=900,Zt=420,er="hudson.hud-logger.inspector-width",tr=1,He={key:"time",direction:"desc"},Oe="grid-cols-[62px_64px_76px_58px_72px_112px_128px_minmax(260px,1fr)_92px]";function rr(e){return typeof e!="number"||e===380?J:e}function Ge(e=X,t={}){const r=t.maxEvents??200,[n,o]=l.useState(()=>e.snapshot().slice(-r).reverse());return l.useEffect(()=>{const a=()=>{o(e.snapshot().slice(-r).reverse())},c=e.subscribe(a);return a(),c},[r,e]),n}function Je(e){const t=new Map;for(const r of e){if(r.kind!=="span")continue;(!t.get(r.id)||r.status!=="active")&&t.set(r.id,r.status)}return{total:e.length,errors:e.filter(r=>r.kind==="log"&&r.level==="error").length,warnings:e.filter(r=>r.kind==="log"&&r.level==="warn").length,agentActions:e.filter(A).length,activeSpans:Array.from(t.values()).filter(r=>r==="active").length,lastEvent:e[0]??null}}function nr(e=X,t={}){const r=Ge(e,t);return l.useMemo(()=>Je(r),[r])}function $r({observability:e=X,maxEvents:t=200,label:r="Logs",className:n="",showCounts:o=!1}){const a=nr(e,{maxEvents:t}),c=a.errors>0?"red":a.warnings>0||a.activeSpans>0?"amber":"emerald";return s.jsxs("span",{className:`inline-flex min-w-0 items-center gap-2 font-mono text-[9px] font-light uppercase tracking-[0.18em] ${Nr(c)} ${n}`,title:`${a.total} events, ${a.errors} errors, ${a.activeSpans} active spans`,children:[s.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${Sr(c)}`}),s.jsx("span",{children:r}),o&&a.errors>0?s.jsxs("span",{className:"tabular-nums font-semibold",children:[a.errors," err"]}):o&&a.warnings>0?s.jsxs("span",{className:"tabular-nums",children:[a.warnings," warn"]}):null]})}function _r({observability:e=X,events:t,replayEvents:r,maxEvents:n=200,title:o="HudLogger",className:a="",emptyMessage:c="No events match the current filters.",showHeader:f=!0,showInspector:$=!0,initialTail:K=!0,initialScope:_="all"}){const q=Ge(e,{maxEvents:n}),M=l.useMemo(()=>t?t.slice(0,n):!r||r.length===0?q:jr(r,q,n),[t,r,q,n]),[Xe,Ye]=l.useState(null),[R,ve]=l.useState("all"),[D,ke]=l.useState("all"),[v,je]=l.useState(_),[E,Q]=l.useState(_==="agent-actions"?"actions":"raw"),[U,qe]=l.useState(""),[L,Z]=l.useState(K),[h,Ne]=l.useState(He),[ee,Se]=l.useState(null),[te,T]=Xt(er,J,{version:tr,migrate:rr}),re=l.useRef(null),Ie=l.useRef(null),[Ee,Te]=l.useState(!1),k=l.useMemo(()=>At(M,v==="agent-actions"?E:"raw"),[E,M,v]),Ae=v==="agent-actions"?k.events:M,Ce=l.useMemo(()=>Ae.filter(i=>{if(D!=="all"&&i.kind!==D||R!=="all"&&(i.kind!=="log"||i.level!==R))return!1;if(!U.trim())return!0;const u=C(i)??i.id,p=k.relatedEventsByTrace.get(u)??[];return gr(i,p).includes(U.trim().toLowerCase())}),[k.relatedEventsByTrace,D,R,U,Ae]),w=l.useMemo(()=>yr(Ce,h),[Ce,h]),Qe=L&&h.key==="time"&&h.direction==="desc"?w[0]?j(w[0]):null:Xe,x=w.find(i=>j(i)===Qe)??w[0]??null,$e=x?C(x)??x.id:null,Ze=$e?k.relatedEventsByTrace.get($e)??[]:[],H=l.useMemo(()=>Je(M),[M]),ne=l.useCallback(async(i,u)=>{await kr(i)&&(Se(u),window.setTimeout(()=>{Se(m=>m===u?null:m)},1200))},[]),_e=l.useCallback(i=>{Z(!1),Ye(j(i))},[]),S=l.useCallback(i=>{Z(!1),Ne(u=>u.key!==i?{key:i,direction:wr(i)}:{key:i,direction:u.direction==="asc"?"desc":"asc"})},[]),et=l.useCallback(()=>{L||Ne(He),Z(i=>!i)},[L]),Me=l.useCallback(i=>{const u=fe(i);!u||typeof window>"u"||window.dispatchEvent(new CustomEvent(Qt,{detail:{appId:u,workspaceId:dr(i),source:"hud-logger"}}))},[]),O=l.useCallback((i,u)=>{const p=Math.min(Le,Math.max(le,u-Zt));return Math.max(le,Math.min(p,i))},[]),tt=l.useCallback(i=>{if(i.button!==0)return;const u=re.current,p=Ie.current;if(!u||!p)return;i.preventDefault();const m=i.clientX,B=p.getBoundingClientRect().width;Te(!0),document.body.style.cursor="col-resize",document.body.style.userSelect="none";const Re=se=>{const oe=u.getBoundingClientRect().width,ae=O(B+(m-se.clientX),oe);p.style.setProperty("--inspector-width",`${ae}px`)},V=se=>{const oe=u.getBoundingClientRect().width,ae=O(B+(m-se.clientX),oe);T(ae),Te(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",Re),window.removeEventListener("pointerup",V),window.removeEventListener("pointercancel",V)};window.addEventListener("pointermove",Re),window.addEventListener("pointerup",V),window.addEventListener("pointercancel",V)},[O,T]),rt=l.useCallback(()=>{T(J)},[T]);l.useEffect(()=>{if(typeof window>"u")return;const i=re.current;if(!i)return;const u=new ResizeObserver(()=>{const p=i.getBoundingClientRect().width;T(m=>{const B=O(m,p);return B===m?m:B})});return u.observe(i),()=>u.disconnect()},[O,T]);const nt=l.useMemo(()=>({"--inspector-width":`${te}px`}),[te]);return s.jsxs("section",{ref:re,className:`flex min-h-[520px] flex-col overflow-hidden rounded-md border border-border bg-background text-foreground lg:flex-row ${a}`,children:[s.jsxs("main",{className:"flex min-h-0 min-w-0 flex-col border-b border-border/70 lg:flex-1 lg:border-b-0",children:[f&&s.jsxs("div",{className:"shrink-0 border-b border-border/70 bg-card/80 px-3 py-2.5",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(or,{ariaLabel:"copy filtered table",copied:ee==="table",disabled:w.length===0,label:"copy all",onClick:()=>{ne(xr(w),"table")}}),s.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] font-normal uppercase tracking-[0.14em] text-muted-foreground",children:[s.jsx("span",{children:o}),s.jsxs("span",{className:"text-accent",children:[w.length," shown"]}),s.jsxs("span",{children:[H.total," buffered"]}),s.jsxs("span",{children:[H.agentActions," agent"]}),s.jsxs("span",{children:[H.errors," errors"]}),H.activeSpans>0&&s.jsxs("span",{className:"text-warning",children:[H.activeSpans," active"]}),v==="agent-actions"&&E!=="raw"&&k.hiddenDetailEvents>0&&s.jsxs("span",{children:[k.hiddenDetailEvents," detail hidden"]}),v==="agent-actions"&&k.collapsedEvents>0&&s.jsxs("span",{children:[k.collapsedEvents," collapsed"]})]})]}),s.jsxs("label",{className:"mt-2 flex min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-2.5 py-2 font-mono text-[13px] font-normal text-accent transition-colors focus-within:border-accent/40 focus-within:bg-muted/30",children:[s.jsx("span",{className:"shrink-0 text-success",children:"$"}),s.jsx("input",{value:U,onChange:i=>qe(i.target.value),placeholder:"grep message, category, payload",className:"min-w-0 flex-1 bg-transparent text-foreground outline-none placeholder:text-muted-foreground"})]}),s.jsxs("details",{className:"mt-2 text-left",children:[s.jsx("summary",{className:"cursor-pointer font-mono text-[11px] font-normal uppercase tracking-[0.14em] text-muted-foreground hover:text-foreground",children:"filters / controls"}),s.jsxs("div",{className:"mt-3 grid gap-3 border-t border-border/60 pt-3 md:grid-cols-[1fr_1fr_1fr_1fr_auto]",children:[s.jsxs(G,{label:"Scope",children:[s.jsx(y,{active:v==="all",onClick:()=>je("all"),children:"all"}),s.jsx(y,{active:v==="agent-actions",onClick:()=>je("agent-actions"),children:"agent actions"})]}),v==="agent-actions"?s.jsxs(G,{label:"Rows",children:[s.jsx(y,{active:E==="actions",onClick:()=>Q("actions"),children:"actions"}),s.jsx(y,{active:E==="details",onClick:()=>Q("details"),children:"details"}),s.jsx(y,{active:E==="raw",onClick:()=>Q("raw"),children:"raw"})]}):s.jsx("div",{}),s.jsxs(G,{label:"Kind",children:[s.jsx(y,{active:D==="all",onClick:()=>ke("all"),children:"all"}),qt.map(i=>s.jsx(y,{active:D===i,onClick:()=>ke(i),children:i},i))]}),s.jsxs(G,{label:"Level",children:[s.jsx(y,{active:R==="all",onClick:()=>ve("all"),children:"all"}),Yt.map(i=>s.jsx(y,{active:R===i,onClick:()=>ve(i),children:i},i))]}),s.jsx("div",{className:"flex flex-wrap items-end gap-2",children:s.jsxs("button",{type:"button",onClick:et,className:`rounded-md border px-2.5 py-1.5 font-mono text-[11px] font-normal uppercase tracking-[0.12em] transition-colors ${L?"border-accent/30 bg-accent/10 text-accent":"border-border/70 bg-muted/20 text-muted-foreground hover:border-border hover:text-foreground"}`,children:["tail ",L?"on":"off"]})})]})]})]}),s.jsx("div",{className:"max-h-[650px] overflow-auto lg:max-h-none lg:flex-1 lg:min-h-0",children:s.jsxs("div",{className:"min-w-[980px] font-mono text-[11px] font-normal",children:[s.jsxs("div",{className:`sticky top-0 z-10 grid min-h-8 ${Oe} items-center border-b border-border/70 bg-card px-3 py-1.5 font-medium uppercase tracking-[0.12em] text-muted-foreground`,children:[s.jsx("span",{className:"sticky left-0 bg-card pr-2",children:"Copy"}),s.jsx("span",{children:"Open"}),s.jsx(I,{column:"time",label:"Time",sort:h,onSort:S}),s.jsx(I,{column:"kind",label:"Kind",sort:h,onSort:S}),s.jsx(I,{column:"level",label:"Level",sort:h,onSort:S}),s.jsx(I,{column:"category",label:"Category",sort:h,onSort:S}),s.jsx(I,{column:"target",label:"Target",sort:h,onSort:S}),s.jsx(I,{column:"message",label:"Message",sort:h,onSort:S}),s.jsx(I,{column:"id",label:"Id",sort:h,onSort:S})]}),w.map(i=>{const u=fe(i),p=j(i);return s.jsxs("div",{role:"button",tabIndex:0,onClick:()=>_e(i),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),_e(i))},className:`grid min-h-[34px] w-full ${Oe} items-center border-b border-l-2 px-3 py-2 text-left transition-colors ${x&&j(x)===p?"border-b-border/40 border-l-accent bg-accent/[0.08]":"border-b-border/40 border-l-transparent hover:bg-muted/30"}`,children:[s.jsx("button",{type:"button","aria-label":`copy row ${pe(i.id)}`,onClick:m=>{m.stopPropagation(),ne(ge(i).join(" "),`row:${p}`)},className:`sticky left-0 z-[1] justify-self-start rounded border border-border/70 px-1.5 py-0.5 font-mono text-[10px] font-normal uppercase tracking-[0.1em] text-muted-foreground transition-colors hover:border-accent/30 hover:text-accent ${x&&j(x)===p?"bg-accent/[0.08]":"bg-background"}`,children:ee===`row:${p}`?"copied":"copy"}),u?s.jsx("button",{type:"button","aria-label":`open ${P(i)}`,onClick:m=>{m.stopPropagation(),Me(i)},className:"justify-self-start rounded border border-border/70 bg-muted/20 px-1.5 py-0.5 font-mono text-[10px] font-normal uppercase tracking-[0.1em] text-muted-foreground transition-colors hover:border-accent/30 hover:text-accent",children:"open"}):s.jsx("span",{className:"text-muted-foreground/45",children:"-"}),s.jsx("span",{className:"tabular-nums text-muted-foreground",children:ye(i)}),s.jsx("span",{className:"uppercase tracking-[0.13em] text-muted-foreground",children:i.kind}),s.jsx("span",{className:`uppercase tracking-[0.13em] ${we(i)}`,children:b(i)}),s.jsx("span",{className:"truncate uppercase tracking-[0.13em] text-muted-foreground",children:i.category??"-"}),s.jsx("span",{className:"truncate font-sans text-[12px] font-normal normal-case tracking-normal text-muted-foreground",children:P(i)}),s.jsx("span",{className:"truncate font-sans text-[13px] font-normal normal-case tracking-normal text-foreground",children:N(i)}),s.jsx("span",{className:"truncate text-muted-foreground",children:pe(i.id)})]},p)}),w.length===0&&s.jsx("div",{className:"border-b border-border/40 px-3 py-5 font-sans text-[13px] text-muted-foreground",children:c})]})})]}),$&&s.jsxs(s.Fragment,{children:[s.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize payload inspector","aria-valuenow":te,"aria-valuemin":le,"aria-valuemax":Le,title:"Drag to resize · Double-click to reset",onPointerDown:tt,onDoubleClick:rt,className:`group hidden shrink-0 cursor-col-resize items-stretch justify-center transition-colors lg:flex lg:w-[5px] ${Ee?"bg-accent/15":"hover:bg-accent/10"}`,children:s.jsx("div",{className:`w-px transition-colors ${Ee?"bg-accent/80":"bg-border group-hover:bg-accent/60"}`})}),s.jsx("aside",{ref:Ie,style:nt,className:"flex w-full shrink-0 flex-col bg-background lg:w-[var(--inspector-width)]",children:s.jsx(sr,{copied:x?ee===`inspector:${j(x)}`:!1,event:x,relatedEvents:Ze,onCopyRow:i=>{ne(ge(i).join(" "),`inspector:${j(i)}`)},onOpenTarget:Me})})]})]})}function sr({copied:e,event:t,relatedEvents:r,onCopyRow:n,onOpenTarget:o}){const a=t?fe(t):null;return s.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[s.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-border/70 bg-card/40 px-3 py-2.5 lg:px-4",children:[s.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.15em] text-foreground/80",children:"Payload inspector"}),t?s.jsxs("div",{className:"flex items-center gap-2",children:[a?s.jsx("button",{type:"button",onClick:()=>o(t),className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent",children:"open app"}):null,s.jsx("button",{type:"button",onClick:()=>n(t),className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent",children:e?"copied":"copy row"}),s.jsx("div",{className:`font-mono text-[11px] uppercase tracking-[0.12em] ${we(t)}`,children:b(t)})]}):null]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3 lg:px-4 lg:py-4",children:t?s.jsxs("div",{className:"grid gap-3",children:[s.jsxs("div",{className:"overflow-hidden rounded-md border border-accent/25 bg-accent/[0.07]",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-accent/15 px-3 py-2",children:[s.jsx(ar,{event:t}),s.jsx("span",{className:"font-mono text-[11px] uppercase tracking-[0.12em] text-muted-foreground",children:t.kind})]}),s.jsxs("div",{className:"px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.13em] text-accent",children:"selected event"}),s.jsx("div",{className:"mt-1 break-words text-[14px] font-normal leading-5 text-foreground",children:N(t)})]})]}),ur(t).map(c=>s.jsx(ir,{section:c},c.title)),s.jsx(cr,{events:r,selectedId:t.id}),s.jsx(de,{label:"payload.data",value:t.data??{}}),t.kind==="metric"&&t.tags?s.jsx(de,{label:"metric.tags",value:t.tags}):null,t.kind==="span"&&t.error?s.jsx(de,{label:"span.error",value:t.error}):null]}):s.jsx("div",{className:"rounded-md border border-border/60 bg-muted/20 p-4 text-[13px] leading-6 text-muted-foreground",children:"No event selected."})})]})}function G({label:e,children:t}){return s.jsxs("div",{children:[s.jsx("div",{className:"font-mono text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e}),s.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:t})]})}function y({active:e,onClick:t,children:r}){return s.jsx("button",{type:"button",onClick:t,className:`rounded-md border px-2 py-1 font-mono text-[11px] uppercase tracking-[0.1em] transition-colors ${e?"border-accent/30 bg-accent/10 text-accent":"border-border/70 bg-muted/20 text-muted-foreground hover:border-border hover:text-foreground"}`,children:r})}function I({column:e,label:t,sort:r,onSort:n}){const o=r.key===e,a=o?r.direction==="asc"?ot:at:mt,c=r.direction==="asc"?"ascending":"descending";return s.jsxs("button",{type:"button","aria-label":`Sort by ${t}${o?`, currently ${c}`:""}`,"aria-pressed":o,onClick:()=>n(e),className:`flex min-w-0 items-center gap-1.5 text-left uppercase tracking-[0.14em] transition ${o?"text-accent":"text-muted-foreground hover:text-foreground"}`,children:[s.jsx("span",{className:"min-w-0 truncate",children:t}),s.jsx(a,{size:10,strokeWidth:1.75,"aria-hidden":"true",className:"shrink-0"})]})}function or({ariaLabel:e,copied:t,disabled:r=!1,label:n,onClick:o}){return s.jsx("button",{type:"button","aria-label":e,disabled:r,onClick:o,className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent disabled:cursor-not-allowed disabled:opacity-40",children:t?"copied":n})}function ar({event:e}){const t=b(e),r=F(e),n=r==="red"?"border-destructive/30 bg-destructive/10 text-destructive":r==="amber"?"border-warning/30 bg-warning/10 text-warning":r==="emerald"?"border-success/30 bg-success/10 text-success":"border-accent/30 bg-accent/10 text-accent";return s.jsx("span",{className:`rounded-full border px-2 py-0.5 font-mono text-[10px] uppercase tracking-[0.11em] ${n}`,children:t})}function ir({section:e}){return s.jsxs("section",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsx("div",{className:"border-b border-border/50 bg-muted/30 px-3 py-2 font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:e.title}),s.jsx("div",{className:"divide-y divide-border/40",children:e.rows.map(t=>s.jsx(lr,{row:t},`${e.title}-${t.label}`))})]})}function cr({events:e,selectedId:t}){return e.length<=1?null:s.jsxs("section",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/50 bg-muted/30 px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:"Trace lines"}),s.jsx("div",{className:"font-mono text-[10px] font-light uppercase tracking-[0.12em] text-muted-foreground",children:e.length})]}),s.jsx("div",{className:"divide-y divide-border/40",children:e.map(r=>{const n=Ke(Y(r));return s.jsxs("div",{className:`grid grid-cols-[74px_82px_minmax(0,1fr)] gap-2 px-3 py-1.5 ${r.id===t?"bg-accent/10":""}`,children:[s.jsx("span",{className:"font-mono text-[10px] tabular-nums text-muted-foreground",children:ye(r)}),s.jsx("span",{className:`font-mono text-[10px] uppercase tracking-[0.11em] ${we(r)}`,children:b(r)}),s.jsx("span",{className:"min-w-0 truncate text-[12px] text-foreground/80",children:n??N(r)})]},`${r.id}-${r.timestamp}`)})})]})}function lr({row:e}){return s.jsxs("div",{className:"grid grid-cols-[96px_minmax(0,1fr)] items-start gap-3 px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[10px] font-light uppercase tracking-[0.12em] text-muted-foreground",children:e.label}),s.jsx("div",{className:`min-w-0 break-words text-[12px] leading-5 ${e.mono?"font-mono tabular-nums":"font-sans"} ${mr(e.tone)}`,children:e.value})]})}function de({label:e,value:t}){return s.jsxs("div",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsx("div",{className:"border-b border-border/50 bg-muted/30 px-3 py-2 font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:e}),s.jsx("pre",{className:"max-h-[360px] overflow-auto whitespace-pre-wrap break-words p-3 font-mono text-[12px] font-light leading-5 text-foreground/80 lg:max-h-none lg:overflow-x-auto",children:JSON.stringify(t,null,2)})]})}function fe(e){return xe(e)}function dr(e){const t=g(e);return d(t,"workspaceId")??d(t,"targetWorkspaceId")}function P(e){const t=g(e),r=xe(e);return d(t,"appName")??d(t,"appId")??r??d(t,"workspaceName")??d(t,"workspaceId")??d(t,"serviceId")??d(t,"target")??"-"}function ur(e){const t=[{title:"Identity",rows:[{label:"id",value:e.id,mono:!0},{label:"kind",value:e.kind,tone:"cyan",mono:!0},{label:"category",value:e.category??"none",mono:!0}]},{title:"Signal",rows:[{label:fr(e),value:b(e),tone:F(e),mono:!0},{label:"timestamp",value:ue(e.timestamp),mono:!0}]}];if(A(e)){const r=g(e),n=C(e),o=he(e);t.push({title:"Agent Action",rows:[{label:"source",value:d(r,"source")??"agent",mono:!0},{label:"status",value:d(r,"status")??b(e),tone:F(e),mono:!0},{label:"action",value:d(r,"action")??N(e),mono:!0},{label:"target",value:P(e),mono:!0},{label:"workspace",value:d(r,"workspaceName")??d(r,"workspaceId")??"unknown",mono:!0},...n?[{label:"trace",value:n,mono:!0}]:[],...o?[{label:"parent",value:o,mono:!0}]:[]]});const a=hr(e),c=Ct(e);(a||c)&&t.push({title:"Request",rows:[...a?[{label:"prompt",value:a}]:[],...c?[{label:"lines",value:String(c.eventCount),mono:!0},{label:"duration",value:`${c.durationMs}ms`,mono:!0}]:[]]})}return e.kind==="log"&&t.push({title:"Log",rows:[{label:"message",value:e.message},{label:"level",value:e.level,tone:F(e),mono:!0}]}),e.kind==="metric"&&t.push({title:"Metric",rows:[{label:"name",value:e.name},{label:"type",value:e.metricType,tone:"emerald",mono:!0},{label:"value",value:pr(e),tone:"emerald",mono:!0},{label:"unit",value:e.unit??"none",mono:!0}]}),e.kind==="span"&&t.push({title:"Trace",rows:[{label:"name",value:e.name},{label:"trace id",value:e.traceId,mono:!0},{label:"parent id",value:e.parentId??"none",mono:!0},{label:"status",value:e.status,tone:F(e),mono:!0},{label:"duration",value:e.durationMs===void 0?"active":`${e.durationMs}ms`,mono:!0},{label:"started",value:ue(e.startTime),mono:!0},{label:"ended",value:e.endTime===void 0?"pending":ue(e.endTime),mono:!0}]}),t}function N(e){if(e.kind==="log"){if(A(e)){const t=g(e),r=Ke(Y(e));if(r){const c=d(t,"status");return c?`${r} ${c}`:r}const n=d(t,"action")??d(t,"commandId")??e.message,o=d(t,"status"),a=De(n);return o?`${a} ${o}`:a}return e.message}return A(e)?De(e.name):e.name}function b(e){return e.kind==="log"?A(e)?d(g(e),"status")??e.level:e.level:e.kind==="metric"?e.metricType:e.status}function we(e){const t=b(e);return t==="error"||t==="failed"?"text-destructive":t==="warn"||t==="active"||t==="started"?"text-warning":e.kind==="metric"||t==="ok"||t==="completed"?"text-success":"text-accent"}function F(e){const t=b(e);return t==="error"||t==="failed"?"red":t==="warn"||t==="active"||t==="started"?"amber":e.kind==="metric"||t==="ok"||t==="completed"?"emerald":"cyan"}function mr(e="neutral"){return e==="red"?"text-destructive":e==="amber"?"text-warning":e==="emerald"?"text-success":e==="cyan"?"text-accent":"text-foreground"}function fr(e){return e.kind==="log"?"level":e.kind==="metric"?"type":"status"}function pr(e){return`${e.value}${e.unit?` ${e.unit}`:""}`}function ue(e){const t=new Date(e);return`${t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}.${String(t.getMilliseconds()).padStart(3,"0")}`}function pe(e){return e.length>10?e.slice(-10):e}function j(e){return e.kind==="span"?`${e.kind}:${e.id}:${e.status}:${e.endTime??"active"}`:`${e.kind}:${e.id}:${e.timestamp}`}function ye(e){return new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function ge(e){return[ye(e),e.kind,b(e),e.category??"",P(e),N(e),e.id,JSON.stringify(e.data??{})].map(br)}function gr(e,t){return[N(e),e.category??"",JSON.stringify(e.data??{}),...t.map(n=>`${N(n)} ${JSON.stringify(n.data??{})}`)].join(" ").toLowerCase()}function hr(e){const r=g(e).args,n=r&&typeof r=="object"&&!Array.isArray(r)?r.prompt:void 0;return typeof n!="string"||!n.trim()?null:n.replace(/\s+/g," ").trim().slice(0,360)}function xr(e){return[["time","kind","signal","category","target","message","id","payload"].join(" "),...e.map(t=>ge(t).join(" "))].join(`
|
|
2
|
-
`)}function br(e){return e.replace(/\s+/g," ").trim()}function wr(e){return e==="time"?"desc":"asc"}function yr(e,t){const r=t.direction==="asc"?1:-1;return e.map((n,o)=>({event:n,index:o})).sort((n,o)=>{const a=vr(Be(n.event,t.key),Be(o.event,t.key));return a===0?n.index-o.index:a*r}).map(({event:n})=>n)}function Be(e,t){switch(t){case"time":return e.timestamp;case"kind":return e.kind;case"level":return b(e);case"category":return e.category??"";case"target":return P(e);case"message":return N(e);case"id":return pe(e.id)}}function vr(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:"base"})}async function kr(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.left="-9999px",t.style.top="0",document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand("copy")}finally{document.body.removeChild(t)}}function jr(e,t,r){const n=new Set,o=[];for(const a of t)n.has(a.id)||(n.add(a.id),o.push(a));for(let a=e.length-1;a>=0;a--){const c=e[a];n.has(c.id)||(n.add(c.id),o.push(c))}return o.sort((a,c)=>c.timestamp-a.timestamp),o.slice(0,r)}function Nr(e){return e==="red"?"text-destructive":e==="amber"?"text-warning":"text-success"}function Sr(e){return e==="red"?"bg-destructive":e==="amber"?"bg-warning":"bg-success"}export{X as H,_r as a,$r as b,Xt as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function a(t){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(t),!0}catch{}const e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="fixed",e.style.left="-9999px",document.body.appendChild(e),e.select();try{return document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(e)}}export{a as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c}from"./createLucideIcon-CKbjXlwv.js";const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],r=c("clock",o);export{r as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.s-code-screen{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.s-code-head{display:flex;align-items:center;gap:12px;flex:none;padding:8px 14px;border-bottom:1px solid var(--border)}.s-code-returnThread{flex:none;min-height:28px;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:color-mix(in srgb,var(--accent) 62%,var(--ink));font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer}.s-code-returnThread:hover,.s-code-returnThread:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 52%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--ink)}@media(max-width:720px){.s-code-returnThread{width:28px;padding:0;justify-content:center}.s-code-returnThread span{display:none}}.s-code-picker{position:relative;flex:none;min-width:0;max-width:min(420px,100%)}.s-code-pickerTrigger{display:flex;align-items:center;gap:8px;max-width:100%;min-height:28px;padding:3px 8px 3px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-size:var(--text-md);cursor:pointer}.s-code-pickerTrigger:hover,.s-code-pickerTrigger:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--ink) 3%,var(--surface))}.s-code-pickerTrigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.s-code-pickerTriggerName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.s-code-pickerTriggerDetail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--text-sm)}.s-code-pickerChevron{flex:none;color:var(--dim);transition:transform .12s ease}.s-code-pickerChevron[data-open]{transform:rotate(180deg)}.s-code-pickerPanel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;gap:6px;width:min(420px,calc(100vw - 32px));padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 14%,transparent),0 1px color-mix(in srgb,var(--ink) 4%,transparent)}.s-code-pickerRecents{display:flex;flex-wrap:nowrap;gap:6px;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.s-code-pickerChip{flex:none;max-width:160px;height:24px;padding:0 10px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.s-code-pickerChip:hover,.s-code-pickerChip:focus-visible{outline:none;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 22%,var(--border));background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-code-pickerChip[data-active]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-code-pickerSearch{position:relative;display:flex;align-items:center;gap:6px;min-height:32px;padding:0 8px 0 28px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}.s-code-pickerSearch:focus-within{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.s-code-pickerSearchIcon{position:absolute;left:8px;color:var(--dim);pointer-events:none}.s-code-pickerInputStack{position:relative;flex:1;min-width:0}.s-code-pickerGhost{position:absolute;inset:0;overflow:hidden;color:color-mix(in srgb,var(--ink) 28%,transparent);font-size:var(--text-md);line-height:30px;white-space:nowrap;pointer-events:none}.s-code-pickerGhost span{color:transparent}.s-code-pickerInput{position:relative;width:100%;height:30px;padding:0;border:0;background:transparent;color:var(--ink);font-size:var(--text-md);outline:none}.s-code-pickerInput::-webkit-search-cancel-button{opacity:.55}.s-code-pickerHint{flex:none;padding:1px 5px;border:1px solid var(--border);border-radius:4px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-code-pickerHeading{display:flex;justify-content:space-between;gap:8px;padding:2px 4px 0;color:var(--dim);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase}.s-code-pickerResults{display:flex;flex-direction:column;gap:1px;max-height:280px;overflow:auto}.s-code-pickerOption{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:1px;width:100%;padding:7px 8px;border:0;border-radius:6px;background:none;color:var(--ink);text-align:left;cursor:pointer}.s-code-pickerOption:hover,.s-code-pickerOption[data-active]{background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-code-pickerOption[data-selected]{background:color-mix(in srgb,var(--accent) 9%,transparent)}.s-code-pickerOptionMain{display:flex;align-items:center;gap:6px;min-width:0;grid-column:1;grid-row:1}.s-code-pickerOptionMain strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);font-weight:600}.s-code-pickerWorktree{flex:none;padding:0 5px;border:1px solid var(--border);border-radius:999px;color:var(--dim);font-size:var(--text-2xs);line-height:16px}.s-code-pickerOptionPath{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-code-pickerOptionMeta{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.s-code-pickerEmpty{padding:10px 8px;color:var(--muted);font-size:var(--text-sm)}.s-code-pickerGuide{display:flex;flex-wrap:wrap;gap:10px;padding:2px 4px 0;color:var(--dim);font-size:var(--text-2xs)}.s-code-pickerGuide kbd{margin-right:3px;padding:0 4px;border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:var(--text-2xs)}.s-code-pickerOption--deep .s-code-pickerOptionMain strong{color:var(--accent)}.s-code-headStat{color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.s-code-headPath{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm)}.s-code-copyLink{flex:none;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);cursor:pointer;white-space:nowrap}.s-code-copyLink:hover,.s-code-copyLink:focus-visible{outline:none;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 22%,var(--border));background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-code-body{display:flex;flex:1;min-height:0}.s-code-tree{flex:none;width:280px;min-width:200px;overflow:auto;padding:6px 4px;border-right:1px solid var(--border)}.s-code-node{display:flex;align-items:center;gap:5px;width:100%;height:24px;padding-right:8px;border:0;border-radius:5px;background:none;color:var(--muted);font-size:var(--text-md);line-height:1;text-align:left;cursor:pointer;white-space:nowrap}.s-code-node:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-code-node[data-selected]{color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-code-node--loading{color:var(--dim);cursor:default}.s-code-nodeChevron{flex:none;color:var(--dim);transition:transform .12s ease}.s-code-nodeChevron[data-open]{transform:rotate(90deg)}.s-code-nodeSpacer{flex:none;width:11px}.s-code-nodeName{overflow:hidden;text-overflow:ellipsis}.s-code-node[data-diff] .s-code-nodeName{color:#d3ab6e}.s-code-node[data-diff=untracked] .s-code-nodeName{color:#9ece6a}.s-code-node[data-diff=conflicted] .s-code-nodeName{color:#e08a8a}[data-scout-theme-mode=light] .s-code-node[data-diff] .s-code-nodeName{color:#8c6220}[data-scout-theme-mode=light] .s-code-node[data-diff=untracked] .s-code-nodeName{color:#15803d}[data-scout-theme-mode=light] .s-code-node[data-diff=conflicted] .s-code-nodeName{color:#b04a4a}.s-code-nodeBadge{flex:none;margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;color:#d3ab6e}.s-code-nodeBadge[data-diff=untracked]{color:#9ece6a}.s-code-nodeBadge[data-diff=conflicted]{color:#e08a8a}[data-scout-theme-mode=light] .s-code-nodeBadge{color:#8c6220}[data-scout-theme-mode=light] .s-code-nodeBadge[data-diff=untracked]{color:#15803d}[data-scout-theme-mode=light] .s-code-nodeBadge[data-diff=conflicted]{color:#b04a4a}.s-code-nodeDot{flex:none;width:5px;height:5px;margin-left:auto;border-radius:50%;background:#d3ab6e;opacity:.9}[data-scout-theme-mode=light] .s-code-nodeDot{background:#8c6220}.s-code-treeNote{padding:8px;color:var(--muted);font-size:var(--text-md);overflow-wrap:anywhere}.s-code-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:color-mix(in srgb,#000 26%,var(--bg))}[data-scout-theme-mode=light] .s-code-main{background:color-mix(in srgb,var(--ink) 3.5%,var(--bg))}.s-code-fileHead{display:flex;align-items:center;gap:10px;flex:none;padding:7px 14px;border-bottom:1px solid var(--border)}.s-code-filePath{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm)}.s-code-fileMeta{flex:none;color:var(--dim);font-size:var(--text-sm);white-space:nowrap}.s-code-fileMode{display:inline-flex;flex:none;gap:2px;padding:2px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-code-fileMode button{height:20px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.s-code-fileMode button:hover{color:var(--ink)}.s-code-fileMode button[data-selected]{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--ink)}.s-code-fileAction{display:inline-flex;align-items:center;gap:4px;flex:none;border:0;background:none;padding:2px 4px;color:var(--muted);font-size:var(--text-sm);text-decoration:none;cursor:pointer}.s-code-fileAction:hover{color:var(--ink)}.s-code-fileNote{flex:none;padding:6px 14px 0;color:var(--muted);font-size:var(--text-sm)}.s-code-fileNote a,.s-code-empty a{color:var(--accent)}.s-code-shiki{flex:1;min-height:0;overflow:auto}.s-code-diff{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.s-code-diffLayers{display:flex;flex:none;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border)}.s-code-diffLayer{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.s-code-diffLayer span{color:var(--dim);font-variant-numeric:tabular-nums}.s-code-diffLayer:hover,.s-code-diffLayer[data-selected]{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-code-diffLayer[data-selected]{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.s-code-diff>.rd-surface{flex:1}.s-code-shiki pre{margin:0;padding:10px 0 16px;min-width:max-content;background:transparent!important;font-family:var(--font-mono);font-size:var(--text-md);line-height:1.55;color:var(--ink)}.s-code-shiki code{display:block;counter-reset:codeline}.s-code-shiki .line{display:inline-block;min-width:100%}.s-code-shiki .line[data-focus-line]{background:color-mix(in srgb,var(--accent) 11%,transparent)}.s-code-shiki .line[data-focus-start]{box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 78%,transparent)}.s-code-shiki .line:before{counter-increment:codeline;content:counter(codeline);display:inline-block;width:36px;margin-right:16px;text-align:right;color:var(--dim)}.s-code-shiki .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style, normal);font-weight:var(--shiki-dark-font-weight, inherit)}[data-scout-theme-mode=light] .s-code-shiki .shiki span{color:var(--shiki-light);font-style:var(--shiki-light-font-style, normal);font-weight:var(--shiki-light-font-weight, inherit)}.s-code-shiki .shiki ::selection{background:color-mix(in srgb,var(--accent) 20%,transparent)}.s-code-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--text-md)}.s-code-embed{height:100vh}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e}from"./createLucideIcon-CKbjXlwv.js";const o=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],m=e("code-xml",o);export{m as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as a}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M14 2v2",key:"6buw04"}],["path",{d:"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1",key:"pwadti"}],["path",{d:"M6 2v2",key:"colzsn"}]],c=a("coffee",e);export{c as C};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.collapsed-strip{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:4px 0 10px;box-sizing:border-box}.collapsed-strip-label{--csl-ink: color-mix(in srgb, var(--hud-ink, var(--ink)) 62%, transparent);--csl-dim: color-mix(in srgb, var(--hud-ink, var(--ink)) 42%, transparent);--csl-mark: color-mix(in srgb, var(--hud-ink, var(--ink)) 30%, transparent);flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;padding:0;border:0;background:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.collapsed-strip-label-mark{flex:none;width:10px;height:2px;border-radius:999px;background:var(--csl-mark)}button.collapsed-strip-label{appearance:none;font:inherit;cursor:pointer}.collapsed-strip-label-expand{display:none;flex:none;height:11px;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-xs);font-weight:700;line-height:1;color:var(--csl-ink)}button.collapsed-strip-label .collapsed-strip-label-mark{position:relative;height:11px;background:none}button.collapsed-strip-label .collapsed-strip-label-mark:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:999px;background:var(--csl-mark)}button.collapsed-strip-label:hover,button.collapsed-strip-label:focus-visible{--csl-ink: var(--hud-ink, var(--ink));--csl-dim: color-mix(in srgb, var(--hud-ink, var(--ink)) 60%, transparent)}button.collapsed-strip-label:hover .collapsed-strip-label-mark,button.collapsed-strip-label:focus-visible .collapsed-strip-label-mark{display:none}button.collapsed-strip-label:hover .collapsed-strip-label-expand,button.collapsed-strip-label:focus-visible .collapsed-strip-label-expand{display:block}.collapsed-strip-label-text{display:block;max-width:100%;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--csl-ink);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsed-strip-label-count{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--csl-dim);line-height:1}.collapsed-strip-label--accent{--csl-ink: color-mix(in srgb, var(--hud-accent, var(--accent)) 88%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--hud-accent, var(--accent)) 55%, var(--hud-ink, var(--ink)));--csl-mark: var(--hud-accent, var(--accent))}.collapsed-strip-label--attention{--csl-ink: color-mix(in srgb, var(--amber, #e6b84d) 80%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--amber, #e6b84d) 52%, var(--hud-ink, var(--ink)));--csl-mark: var(--amber, #e6b84d)}.collapsed-strip-label--live{--csl-ink: color-mix(in srgb, var(--green, #4ade80) 78%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--green, #4ade80) 50%, var(--hud-ink, var(--ink)));--csl-mark: var(--green, #4ade80)}.collapsed-strip--empty{opacity:.9;padding-top:8px}.collapsed-strip-empty-mark{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:600;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 50%,transparent);-webkit-user-select:none;user-select:none}.collapsed-strip-rule{width:18px;height:1px;margin:2px 0;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 12%,transparent);flex:none}.collapsed-strip-section{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%}.collapsed-strip-section-mark{flex:none;display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:3px;min-width:28px;padding:0 2px;-webkit-user-select:none;user-select:none}.collapsed-strip-section-mark-text{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 50%,transparent);line-height:1.1}.collapsed-strip-section-mark-count{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 40%,transparent);line-height:1}html[data-scout-sidebar-chrome] .collapsed-strip{padding-top:0;gap:var(--scout-rail-gap)}html[data-scout-sidebar-chrome] .collapsed-chip{width:var(--scout-rail-slot);height:var(--scout-rail-slot)}html[data-scout-sidebar-chrome] .collapsed-strip-label{display:none}html[data-scout-sidebar-chrome] .collapsed-strip-section{gap:var(--scout-rail-gap);display:flex;flex-direction:column;align-items:center;width:100%}html[data-scout-sidebar-chrome] .collapsed-strip-section-mark{height:var(--scout-rail-slot);display:flex;align-items:center;justify-content:center;box-sizing:border-box}html[data-scout-sidebar-chrome] .collapsed-strip-rule{height:var(--scout-rail-slot);margin:0;background:none;display:flex;align-items:center;justify-content:center;width:100%}html[data-scout-sidebar-chrome] .collapsed-strip-rule:before{content:"";display:block;position:relative;width:24px;height:1px;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 14%,transparent)}.collapsed-chip{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:none;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 60%,transparent);cursor:pointer;flex:none;transition:color .12s,transform .12s}.collapsed-chip:hover{color:var(--hud-ink, var(--ink))}.collapsed-chip:hover .collapsed-chip-ava{background:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 20%,transparent);border-color:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 30%,transparent);transform:scale(1.04)}.collapsed-chip--active{color:var(--hud-accent, var(--accent))}.collapsed-chip--active .collapsed-chip-ava{box-shadow:0 0 0 1px var(--hud-accent, var(--accent));border-color:var(--hud-accent, var(--accent))}.collapsed-chip--unread .collapsed-chip-ava{box-shadow:0 0 0 1px color-mix(in srgb,var(--hud-accent, var(--accent)) 50%,transparent)}.collapsed-chip--attention .collapsed-chip-ava{box-shadow:0 0 0 1px var(--amber, #e6b84d);border-color:var(--amber, #e6b84d)}.collapsed-chip-avatar-wrap{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;transition:transform .12s,box-shadow .12s}.collapsed-chip:hover .collapsed-chip-avatar-wrap{transform:scale(1.04)}.collapsed-chip--active .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--hud-accent, var(--accent)),0 0 4px color-mix(in srgb,var(--hud-accent, var(--accent)) 25%,transparent)}.collapsed-chip--unread .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--hud-accent, var(--accent))}.collapsed-chip--attention .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--amber, #e6b84d)}.collapsed-chip-channel-badge{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 6%,transparent);border:1px solid color-mix(in srgb,var(--hud-ink, var(--ink)) 12%,transparent);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 75%,transparent);transition:transform .12s,background-color .12s,border-color .12s,box-shadow .12s,color .12s;-webkit-user-select:none;user-select:none}.collapsed-chip-channel-hash{font-size:10px;font-weight:500;opacity:.45;margin-right:1px}.collapsed-chip-channel-text{text-transform:lowercase}.collapsed-chip:hover .collapsed-chip-channel-badge{transform:scale(1.04);background:color-mix(in srgb,var(--hud-ink, var(--ink)) 10%,transparent);border-color:color-mix(in srgb,var(--hud-ink, var(--ink)) 22%,transparent);color:var(--hud-ink, var(--ink))}.collapsed-chip--active .collapsed-chip-channel-badge{background:color-mix(in srgb,var(--hud-accent, var(--accent)) 12%,transparent);border-color:color-mix(in srgb,var(--hud-accent, var(--accent)) 65%,transparent);color:var(--hud-accent, var(--accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--hud-accent, var(--accent)) 35%,transparent)}.collapsed-chip--channel,.collapsed-chip--neutral{color:color-mix(in srgb,var(--hud-ink, var(--ink)) 62%,transparent)}.collapsed-chip-ava{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700;color:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 85%,var(--hud-ink, var(--ink)));background:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 12%,transparent);border:1px solid color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 18%,transparent);text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:transform .12s,background-color .12s,box-shadow .12s}.collapsed-chip-glyph{display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:650;-webkit-user-select:none;user-select:none;line-height:1}.collapsed-chip-dot{position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;background:var(--hud-accent, var(--accent));box-shadow:0 0 0 1.5px var(--hud-surface, var(--surface, #000));z-index:2}.collapsed-chip-dot--attention{background:var(--amber, #e6b84d)}.collapsed-chip-dot--live{background:var(--green, #4ade80)}.collapsed-chip-pin{position:absolute;bottom:1px;right:1px;width:5px;height:5px;border-radius:1px;background:var(--hud-accent, var(--accent));opacity:.85;transform:rotate(45deg);z-index:2}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n}from"./agent-state-DDhnFEEP.js";const a=["#6366f1","#8b5cf6","#0ea5e9","#14b8a6","#f59e0b","#ef4444","#ec4899","#10b981"];function o(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t)|0;return a[Math.abs(r)%a.length]}function s(e){switch(n(e)){case"in_turn":return"var(--green)";case"in_flight":return"var(--accent)";case"needs_attention":return"var(--amber)";case"callable":return"color-mix(in srgb, var(--accent) 65%, var(--dim))";case"blocked":return"var(--dim)"}}export{o as a,s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.cdk{flex:none;display:flex;min-height:0;border-left:1px solid var(--border)}.cdk-col{flex:none;position:relative;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.cdk-col+.cdk-col,.cdk-col+.cdk-spine,.cdk-spine+.cdk-col,.cdk-spine+.cdk-spine{border-left:1px solid var(--border)}.cdk-grip{position:absolute;left:-3px;top:0;bottom:0;width:7px;z-index:3;cursor:col-resize}.cdk-grip:after{content:"";position:absolute;inset:0 3px;background:transparent;transition:background .12s ease}.cdk-grip:hover:after,.cdk-grip:focus-visible:after,.cdk-grip--on:after{background:var(--accent)}.cdk-grip:focus-visible{outline:none}.cdk-head{flex:none;display:flex;align-items:center;gap:2px;padding:7px 6px 7px 10px;border-bottom:1px solid var(--border)}.cdk-ident{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cdk-kicker{font-family:var(--font-mono);font-size:9px;font-weight:600;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.cdk-title{font-size:var(--text-md);font-weight:550;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-btn{flex:none;display:grid;place-items:center;padding:4px;border:0;border-radius:var(--radius-sm);background:none;color:var(--dim);cursor:pointer}.cdk-btn:hover{color:var(--ink);background:color-mix(in oklab,var(--ink) 8%,transparent)}.cdk-btn--on{color:var(--ink)}.cdk-spine{flex:none;width:30px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0;border:0;background:var(--bg);font:inherit;cursor:pointer}.cdk-spine:hover{background:color-mix(in oklab,var(--ink) 4%,transparent)}.cdk-spine-kicker,.cdk-spine-title{writing-mode:vertical-rl;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:100%}.cdk-spine-kicker{flex:none;font-family:var(--font-mono);font-size:8.5px;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.cdk-spine-title{font-size:var(--text-sm);font-weight:550;line-height:1;color:var(--ink)}.cdk-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-lg) var(--space-2xl)}.cdk-live{flex:1;min-height:0;display:flex;flex-direction:column}.cdk-live>*{flex:1;min-height:0}.cdk-msg{display:flex;flex-direction:column;gap:2px}.cdk-msg-head{display:flex;align-items:baseline;gap:var(--space-xs);font-size:var(--text-sm)}.cdk-msg-from{color:var(--ink);font-weight:550}.cdk-msg-to{color:var(--dim)}.cdk-msg-tag{padding:0 var(--space-2xs);border:1px solid var(--border);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-xs);line-height:14px;color:var(--dim)}.cdk-msg-at{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim)}.cdk-msg-body{margin:0;padding-left:var(--space-sm);border-left:1px solid var(--border);font-size:var(--text-md);line-height:1.45;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.cdk-msg--in .cdk-msg-body{border-left-color:var(--accent);color:var(--ink)}.cdk-msg--status .cdk-msg-body{border-left-style:dotted;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim)}.cdk-empty{flex:1;display:grid;place-items:center;margin:0;padding:var(--space-4xl) var(--space-lg);text-align:center;font-size:var(--text-md);line-height:1.5;color:var(--dim)}.csl{position:absolute;top:0;right:0;bottom:0;z-index:2;width:340px;max-width:100%;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--surface);box-shadow:-12px 0 28px -16px #00000073}.csl .cdk-body{padding-top:var(--space-sm)}.csl-in{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:8px 10px;border-bottom:1px solid var(--border)}.csl-in-label{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-right:2px}.csl-conv{display:inline-flex;align-items:center;gap:1px;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.csl-conv-open{min-width:0;max-width:220px;padding:3px 8px;border:0;background:none;font:500 var(--text-sm) / 1.3 var(--font-sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.csl-conv-open:hover{text-decoration:underline;text-underline-offset:2px}.csl-conv .cdk-btn{padding:3px}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function a(e){switch(e.kind){case"conversation":return`c:${e.conversationId}`;case"task":return`t:${e.askId}`;case"pair":return`p:${e.from}~${e.to}`;case"actor":return`a:${e.actorId}`;case"message":return`m:${e.passId}`}}function c(e){const n=e.slice(2);if(!n)return null;switch(e.slice(0,2)){case"c:":return{kind:"conversation",conversationId:n};case"t:":return{kind:"task",askId:n};case"p:":{const t=n.indexOf("~");return t<=0||t===n.length-1?null:{kind:"pair",from:n.slice(0,t),to:n.slice(t+1)}}case"a:":return{kind:"actor",actorId:n};case"m:":return{kind:"message",passId:n};default:return null}}const l="open";function m(e){if(!e)return[];const n=[];for(const t of e.split(",")){const s=c(t.trim().replace(/^~/,""));!s||s.kind!=="conversation"||n.includes(s.conversationId)||n.push(s.conversationId)}return n}function p(e){return e.map(n=>a({kind:"conversation",conversationId:n})).join(",")}function u(e,n){return e.includes(n)?e:[...e,n]}function d(e,n){return e.includes(n)?e.filter(t=>t!==n):e}function I(e,n){return e.includes(n)?d(e,n):u(e,n)}function f(e,n,t){switch(e.kind){case"task":{const s=t.find(o=>o.id===e.askId);return s?[...s.passes]:[]}case"pair":return n.filter(s=>s.from.id===e.from&&s.audience.some(o=>o.id===e.to));case"actor":return n.filter(s=>s.from.id===e.actorId||s.audience.some(o=>o.id===e.actorId));case"message":{const s=n.find(o=>o.id===e.passId);return s?[s]:[]}case"conversation":return[]}}function k(e,n){switch(e.kind){case"task":{const t=n.find(s=>s.id===e.askId);return t?[t.waiter.id,t.worker.id]:[]}case"pair":return[e.from,e.to];case"actor":return[e.actorId];case"message":case"conversation":return[]}}function g(e,n){if(!e)return null;const t=new Set(k(e,n));return t.size>0?t:null}function h(e,n,t){const s=new Map;for(const o of f(e,n,t)){const i=o.message.conversationId;i&&s.set(i,Math.max(s.get(i)??0,o.at))}return[...s.entries()].sort((o,i)=>i[1]-o[1]).map(([o])=>o)}const v={conversation:"Conversation",task:"Task",pair:"Exchange",actor:"Participant",message:"Message"};function w(e,n,t,s){switch(e.kind){case"task":return n.find(o=>o.id===e.askId)?.title??"This task is not in this window";case"pair":return`${s(e.from)} → ${s(e.to)}`;case"actor":return s(e.actorId);case"message":{const o=t.find(r=>r.id===e.passId);if(!o)return"This message is not in this window";const i=o.message.body.split(`
|
|
2
|
-
`).map(r=>r.trim()).find(Boolean)??"";return i.length>64?`${i.slice(0,63).trimEnd()}…`:i||`${o.from.short}'s message`}case"conversation":return e.conversationId}}function $(e){const n=new Map,t=s=>{n.has(s.id)||n.set(s.id,s.short)};for(const s of e){t(s.from);for(const o of s.audience)t(o)}return n}export{l as B,v as D,p as a,m as b,u as c,d,I as e,a as f,$ as g,w as h,f as i,h as j,g as k};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const X=/^\s*\[ask:([^\]\s]+)\]/,w=o=>typeof o=="string"&&o.trim()?o.trim():null;function b(o){if(Array.isArray(o))return o.map(w).filter(t=>t!==null);const r=w(o);return r?[r]:[]}function C(o,r,t){const e=o[r];return!e||typeof e!="object"?null:w(e[t])}function N(o){const r=new Map;for(const t of o){const e=t.metadata??{},a=C(e,"returnAddress","actorId")??w(e.generatedBy),d=C(e,"returnAddress","sessionId")??w(e.responderSessionId);!a||!d||a===d||r.set(d,a)}return r}function j(o,r){const t=o.split(".")[0]?.trim()||o,e=r?.get(t)??r?.get(o);return e?e.split(".")[0]?.trim()||e:t}const z=o=>o.length>=4&&/\d/.test(o),G=o=>/^(openscout|scout|blink|session|agent)$/i.test(o);function H(o,r,t=!1){const e=w(r),a=j(o),d=e!==null&&e.toLowerCase()!==a.toLowerCase();let c=(d?e:a).split(/[-_\s]+/).filter(Boolean);if(!t&&c.length>1&&G(c[0])&&(c=c.slice(1)),!d)if(/^session/i.test(a))c.length=Math.min(c.length,1);else for(;c.length>1&&z(c[c.length-1]);)c.pop();return c.map(n=>/^\d+$/.test(n)?n:n.charAt(0).toUpperCase()+n.slice(1)).join(" ")||e||o}function J(o,r=N(o)){const t=new Map,e=(n,s)=>{if(!n)return;const u=j(n,r),g=t.get(u),M=u==="system"?"broker":u==="operator"?"operator":"agent";g?(g.ids.includes(n)||g.ids.push(n),g.name===g.id&&w(s)&&(g.name=w(s))):t.set(u,{id:u,ids:[n],name:w(s)??u,kind:M})};for(const n of o){e(n.actorId,n.actorName);for(const s of V(n))e(s)}const a=[...t.values()].find(n=>n.kind==="operator")?.name??null,d=[],c=new Map;for(const n of t.values()){const s=n.kind==="operator"||a!==null&&n.kind==="agent"&&n.id.toLowerCase()===a.toLowerCase(),u=s?"operator":n.id,g=c.get(u);if(g){for(const x of n.ids)g.ids.includes(x)||g.ids.push(x);g.name===g.id&&n.name!==n.id&&(g.name=n.name);continue}const M={id:u,ids:[...n.ids],name:s?a??n.name:n.name,short:s?a??n.name:n.id==="system"?"Broker":H(n.id,n.name),kind:s?"operator":n.kind};c.set(u,M),d.push(M)}const f=new Map;for(const n of d)f.set(n.short,(f.get(n.short)??0)+1);for(const n of d)n.kind!=="agent"||(f.get(n.short)??0)<2||(n.short=H(n.id,n.name,!0));return d}function V(o){const r=o.metadata??{};return[...b(r.relayTargetIds),...b(r.relayTarget),...C(r,"requestedReturnAddress","actorId")?[C(r,"requestedReturnAddress","actorId")]:[],...b(r.targetSessionId),...b(r.targetAgentId),...Array.isArray(r.scopedTargets)?r.scopedTargets.map(t=>t&&typeof t=="object"?w(t.actorId):null).filter(t=>t!==null):[]]}function Y(o,r){const t=o.metadata??{},e=[...b(t.relayTargetIds),...b(t.relayTarget)];if(e.length)return{ids:e,route:"relayTargetIds"};const a=C(t,"requestedReturnAddress","actorId")??w(t.requestedBy);if(a)return{ids:[a],route:"returnAddress"};const d=b(t.targetSessionId);if(d.length)return{ids:d,route:"targetSessionId"};if(o.class==="status"&&o.replyToMessageId){const n=r.get(o.replyToMessageId);if(n)return{ids:[n],route:"statusReplyAuthor"}}const c=b(t.targetAgentId);if(c.length)return{ids:c,route:"targetAgentId"};const f=Array.isArray(t.scopedTargets)?t.scopedTargets.map(n=>n&&typeof n=="object"?w(n.actorId):null).filter(n=>n!==null):[];return f.length?{ids:f,route:"scopedTargets"}:{ids:[],route:"conversation"}}function Z(o,r,t=N(o)){const e=new Map;for(const s of r){e.set(s.id,s);for(const u of s.ids)e.set(u,s)}const a=s=>e.get(s)??e.get(j(s,t)),d=[...o].sort((s,u)=>s.createdAt-u.createdAt||s.id.localeCompare(u.id)),c=new Map(d.map(s=>[s.id,s.actorId])),f=new Map;for(const s of d){const u=f.get(s.conversationId)??new Set;u.add(s.actorId),f.set(s.conversationId,u)}const n=[];for(const s of d){const u=a(s.actorId);if(!u)continue;const{ids:g,route:M}=Y(s,c),x=[...new Set(g)].map(p=>a(p)).filter(p=>p!==void 0&&p.id!==u.id),y=n[n.length-1];if(y&&y.from.id===u.id&&y.message.body===s.body&&y.to.map(p=>p.id).join()===x.map(p=>p.id).join()&&s.createdAt-y.at<3e5){y.count+=1;continue}const $=s.class==="status"?"status":x.length===0?"channel":"message",S=$==="channel"?[...f.get(s.conversationId)??[]].map(p=>a(p)).filter(p=>p!==void 0&&p.id!==u.id&&p.kind!=="broker"):x;n.push({id:s.id,message:s,from:u,to:x,audience:[...new Map(S.map(p=>[p.id,p])).values()],at:s.createdAt,count:1,kind:$,route:M,inbound:S.some(p=>p.kind==="operator"),gap:y?s.createdAt-y.at:0,index:n.length,askId:w((s.metadata??{}).flightId)??X.exec(s.body)?.[1]??null,opensId:w((s.metadata??{}).sourceMessageId),replyTo:s.replyToMessageId??null})}return n}function tt(o){const r=[],t=new Set;for(const e of o){const a=e.askId;if(!a||t.has(a))continue;const d=o.find(s=>s.message.id===e.opensId&&s.index<e.index)??o.find(s=>s.message.id===e.replyTo&&s.index<e.index)??[...o].reverse().find(s=>s.index<e.index&&s.kind==="message"&&s.to.some(u=>u.id===e.from.id));if(!d)continue;t.add(a);const c=o.find(s=>s.kind==="status"&&s.replyTo===d.message.id&&s.index<e.index),f=d.audience.some(s=>s.id===e.from.id),n=d.audience.find(s=>s.id!==d.from.id);r.push({askId:a,opener:d,answer:e,waiter:d.from,worker:f?e.from:n??e.from,timedOutAt:c?c.at:null})}return r}function ot(o){const r=N(o),t=J(o,r),e=Z(o,t,r);return{actors:t,passes:e,flights:tt(e)}}function st(o){const r=Math.round(o/1e3);if(r<60)return`${r}s`;const t=Math.floor(r/60),e=r%60;return t<60?e?`${t}m ${String(e).padStart(2,"0")}s`:`${t}m`:`${Math.floor(t/60)}h ${String(t%60).padStart(2,"0")}m`}const A="__others",et={width:760,height:520,rx:262,ry:172,nodeRx:62,nodeRy:21,bend:24,maxNodes:12};function U(o,r,t,e){const a=Math.hypot(o/t,r/e);return a===0?{x:0,y:0}:{x:o/a,y:r/a}}function rt(o,r=new Map,t=et){const e=new Map,a=new Map,d=new Map,c=new Map;let f=0;const n=[],s=i=>{e.has(i.id)||(e.set(i.id,i),n.push(i.id))};for(const i of o){if(s(i.from),i.kind==="channel"){f+=i.count;for(const l of i.audience)s(l);continue}a.set(i.from.id,(a.get(i.from.id)??0)+i.count);for(const l of i.audience){if(s(l),l.id===i.from.id)continue;d.set(l.id,(d.get(l.id)??0)+i.count);const h=`${i.from.id}->${l.id}`,k=c.get(h);k?k.count+=i.count:c.set(h,{from:i.from.id,to:l.id,count:i.count})}}const u=i=>(a.get(i)??0)+(d.get(i)??0),g=[...e.keys()].sort((i,l)=>u(l)-u(i)),M=g[0]??null,x=new Set(g.slice(0,t.maxNodes)),y=g.filter(i=>!x.has(i)),$=i=>x.has(i)?i:A;if(y.length>0){const i={id:A,ids:[],name:`${y.length} others`,short:`${y.length} others`,kind:"agent"};e.set(A,i);let l=0,h=0;for(const m of y)l+=a.get(m)??0,h+=d.get(m)??0,e.delete(m),a.delete(m),d.delete(m);a.set(A,l),d.set(A,h);const k=new Map;for(const m of c.values()){const I=$(m.from),T=$(m.to);if(I===T)continue;const v=`${I}->${T}`,R=k.get(v);R?R.count+=m.count:k.set(v,{from:I,to:T,count:m.count})}c.clear();for(const[m,I]of k)c.set(m,I)}const S=[...n.filter(i=>i!==M&&x.has(i)),...y.length>0?[A]:[]],p=t.width/2,L=t.height/2,E=[],P=new Map;for(const[i,l]of[M,...S].filter(h=>h!==null).entries()){const h=l===M,k=S.length===0?0:(i-1)/S.length*Math.PI*2-Math.PI/2,m=h?{x:p,y:L}:{x:p+Math.cos(k)*t.rx,y:L+Math.sin(k)*t.ry};P.set(l,m);const I=r.get(l)??{};E.push({id:l,actor:e.get(l),x:m.x,y:m.y,hub:h,sent:a.get(l)??0,received:d.get(l)??0,model:I.model?.trim()||null,harness:I.harness?.trim()||null})}const Q=Math.max(1,...[...c.values()].map(i=>i.count)),O=[];for(const i of c.values()){const l=P.get(i.from),h=P.get(i.to);if(!l||!h)continue;const k=h.x-l.x,m=h.y-l.y,I=Math.hypot(k,m);if(I===0)continue;const T=-m/I,v=k/I,R=U(k,m,t.nodeRx,t.nodeRy),F=U(-k,-m,t.nodeRx,t.nodeRy),K=l.x+R.x,q=l.y+R.y,D=h.x+F.x,_=h.y+F.y,B=(K+D)/2+T*t.bend,W=(q+_)/2+v*t.bend;O.push({key:`${i.from}->${i.to}`,from:i.from,to:i.to,count:i.count,weight:1+Math.round(i.count/Q*3),d:`M ${K} ${q} Q ${B} ${W} ${D} ${_}`,tip:{x:D,y:_,angle:Math.atan2(_-W,D-B)*180/Math.PI},inbound:e.get(i.to)?.kind==="operator"})}return{nodes:E,edges:O,width:t.width,height:t.height,broadcasts:f,modelsKnown:E.filter(i=>i.model!==null&&i.id!==A).length}}function it(o){const r=new Map(o.nodes.map(t=>[t.id,t]));return o.edges.map(t=>({key:t.key,from:r.get(t.from),to:r.get(t.to),count:t.count})).filter(t=>t.from&&t.to).sort((t,e)=>e.count-t.count||t.from.actor.short.localeCompare(e.from.actor.short))}function nt(o){const r=o.replace(/^\s*\[ask:[^\]]*\]\s*/i,"").split(`
|
|
2
|
-
`).map(e=>e.trim()).find(e=>e.length>0);if(!r)return"Untitled ask";const t=r.replace(/[*_`#]/g,"").trim();return t.length>72?`${t.slice(0,71).trimEnd()}…`:t}function at(o,r){return r.map(t=>{const e=new Set([t.waiter.id,t.worker.id]),a=o.filter(f=>f.at>=t.opener.at&&f.at<=t.answer.at&&e.has(f.from.id)&&(f.kind==="channel"||f.audience.some(n=>e.has(n.id)))),d=new Set(a.map(f=>f.id)),c=[t.opener,t.answer].filter(f=>!d.has(f.id));return{id:t.askId,title:nt(t.opener.message.body),waiter:t.waiter,worker:t.worker,at:t.opener.at,ms:t.answer.at-t.opener.at,abandoned:t.timedOutAt!==null,passes:[...a,...c].sort((f,n)=>f.at-n.at)}}).sort((t,e)=>t.at-e.at)}function dt(o){return{role:"button",tabIndex:0,onClick:o,onKeyDown:r=>{r.key!=="Enter"&&r.key!==" "||(r.preventDefault(),o())}}}function ct(o,r){return{onClick:o,onDoubleClick:r,onKeyDown:t=>{!r||!t.shiftKey||t.key!=="Enter"||(t.preventDefault(),r())}}}export{at as a,it as b,rt as c,st as d,ot as e,j as f,dt as h,ct as p};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c}from"./createLucideIcon-CKbjXlwv.js";const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],e=c("compass",o);export{e as C};
|