@openscout/scout 0.2.76 → 0.2.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -2
- package/bin/openscout-runtime.mjs +48 -30
- package/bin/scout.mjs +2 -2
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-Cu_1V4bq.js +1 -0
- package/dist/client/assets/AddProjectForm-DMnobKch.js +1 -0
- package/dist/client/assets/AgentAvatar-D90c1Rzk.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-BqfOz90D.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-CUpUrY57.js +1 -0
- package/dist/client/assets/AgentDetailCard-BcRBRp88.js +1 -0
- package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +1 -0
- package/dist/client/assets/AgentFloorView-8LoAEBwS.js +1 -0
- package/dist/client/assets/AgentInfoScreen-DZs2_ibL.js +1 -0
- package/dist/client/assets/AgentLaneCard-RrNnDZu8.js +1 -0
- package/dist/client/assets/AgentLaneChrome-D9ZwUKrl.js +1 -0
- package/dist/client/assets/AgentLaneDetailSheet-BXbPls9N.js +5 -0
- package/dist/client/assets/AgentLaneSummaryResize-BhFmGNzT.js +1 -0
- package/dist/client/assets/AgentLanesEmbedScreen-W3qs022h.js +1 -0
- package/dist/client/assets/AgentLanesPreflight-eSAoDsPi.js +1 -0
- package/dist/client/assets/AgentLanesView-B9vuEEmZ.js +2 -0
- package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +1 -0
- package/dist/client/assets/AgentLiveActions-DBtnD0qE.js +1 -0
- package/dist/client/assets/AgentSessions-DyqOf4nG.js +6 -0
- package/dist/client/assets/AgentsConsole-BgiYP2wR.js +1 -0
- package/dist/client/assets/AgentsConsole-BjSTs-TV.css +1 -0
- package/dist/client/assets/AgentsScreen-DBi8x4MB.js +1 -0
- package/dist/client/assets/AgentsSubnav-DIEO4NPx.js +1 -0
- package/dist/client/assets/AtopView-BCkae3e1.js +1 -0
- package/dist/client/assets/BackToPicker-BRvfostO.js +1 -0
- package/dist/client/assets/BackToPicker-CdgVu-to.css +1 -0
- package/dist/client/assets/BriefingDetailScreen-BwFyysT8.js +6 -0
- package/dist/client/assets/BriefingsScreen-BQEevztH.js +1 -0
- package/dist/client/assets/BrokerMetadataPanel-7UjcuNjd.js +1 -0
- package/dist/client/assets/BrokerScreen-7ekklu88.js +5 -0
- package/dist/client/assets/ChatCollapsedStrip-CQSYSd8s.js +1 -0
- package/dist/client/assets/CodeDiffPane-DDPt6KPh.js +1 -0
- package/dist/client/assets/CodeProjectPicker-DqKFCpLU.js +2 -0
- package/dist/client/assets/CodeScreen-BxCrpRHd.js +1 -0
- package/dist/client/assets/ContextMenu-bARZqTzD.js +1 -0
- package/dist/client/assets/ConversationComposer-Bla3DDvM.js +1 -0
- package/dist/client/assets/ConversationFeedRows-B_gPxcqA.js +1 -0
- package/dist/client/assets/ConversationHeader-DE3FC0m-.js +1 -0
- package/dist/client/assets/ConversationPanels-DLek4H6A.js +2 -0
- package/dist/client/assets/ConversationScreen-BDRhx-RU.js +1 -0
- package/dist/client/assets/ConversationScreen-C9yMAMYF.css +1 -0
- package/dist/client/assets/ConversationStatus-BwVLiiO4.js +1 -0
- package/dist/client/assets/DataTable-E8s_MmoA.js +1 -0
- package/dist/client/assets/DispatchAftermath-Dpe88DFX.js +1 -0
- package/dist/client/assets/DocumentFocusViewer-BeVwwl26.js +1 -0
- package/dist/client/assets/EmbeddableSurfacesLab-BQqFQVnI.js +1 -0
- package/dist/client/assets/EmptyState-4F9XDFQm.js +1 -0
- package/dist/client/assets/FileViewerPane-CLgUhSm4.js +3 -0
- package/dist/client/assets/FleetSearch-Dz5euQJe.js +1 -0
- package/dist/client/assets/FleetSearch-EXOe8ulE.css +1 -0
- package/dist/client/assets/FlightObserveScreen-6RpZYwVz.js +1 -0
- package/dist/client/assets/FollowScreen-DZ4qfYOY.js +1 -0
- package/dist/client/assets/HarnessMark-Cbv3Ib0c.js +1 -0
- package/dist/client/assets/HarnessesScreen-CznAImej.js +1 -0
- package/dist/client/assets/HomeHero-B3uYd-pP.js +1 -0
- package/dist/client/assets/HomeHero-DEl-WBsT.css +1 -0
- package/dist/client/assets/KnowledgeSearchInspector-Dgdkfvvz.js +1 -0
- package/dist/client/assets/KnowledgeSearchScreen-DJDGGaqC.js +1 -0
- package/dist/client/assets/LaneToolHoverCard-Bla0gBdm.js +1 -0
- package/dist/client/assets/LaneTraceDetailSheet-D1CspRbl.js +1 -0
- package/dist/client/assets/LaneTraceEventFocus-BF9ERP5O.js +1 -0
- package/dist/client/assets/MeshCanvas-DFEPkpqY.js +3 -0
- package/dist/client/assets/MeshCanvasMinimap-CyVFYixr.js +1 -0
- package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +1 -0
- package/dist/client/assets/MeshScreen-DFgevn8N.js +1 -0
- package/dist/client/assets/MeshTopologyView-CalkZghg.js +2 -0
- package/dist/client/assets/MessageComposerSuggestions-DpxN9WiB.js +1 -0
- package/dist/client/assets/MessagesScreen-C8YKW10Y.js +1 -0
- package/dist/client/assets/MissionControlView-lUeAiSVg.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-wlCmWDCT.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-BpZWntfl.js +1 -0
- package/dist/client/assets/MissionLogPane-__MVtEl9.js +1 -0
- package/dist/client/assets/NewAgentModal-Bg-eWHpY.js +1 -0
- package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +1 -0
- package/dist/client/assets/NewChatComposer-Cs6OsxK6.js +19 -0
- package/dist/client/assets/NewChatComposer-W-t-L4oV.css +1 -0
- package/dist/client/assets/NewChatOrigin-Bk2OyVjI.js +1 -0
- package/dist/client/assets/ObserveEmbedScreen-y2EpuqRZ.js +2 -0
- package/dist/client/assets/ObserveTextFlow-rsFj_rVo.js +2 -0
- package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +1 -0
- package/dist/client/assets/ObservedTopologyPanel-DyUeV98H.js +2 -0
- package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +1 -0
- package/dist/client/assets/OpenScoutAppShell-C_URc8sV.js +87 -0
- package/dist/client/assets/OpsAgentsView-UN7iOscs.js +1 -0
- package/dist/client/assets/OpsScreen-Buf3LKjb.js +1 -0
- package/dist/client/assets/OpsSubnav-DsuXzHah.js +1 -0
- package/dist/client/assets/PlanView-C1CjH3PG.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-DJusrAV-.js +1 -0
- package/dist/client/assets/ProjectAgentProfileBar-CtTpj6fU.js +1 -0
- package/dist/client/assets/ProjectAgentProfileHero-BFwNJo_N.js +1 -0
- package/dist/client/assets/ProjectsInbox-GhVMxOhw.js +2 -0
- package/dist/client/assets/ProjectsRail-BgiuV4LR.js +1 -0
- package/dist/client/assets/ProjectsScreen-eNUBy4YU.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-CoBgnHmr.js +1 -0
- package/dist/client/assets/Provider-C7UKGHQy.js +1 -0
- package/dist/client/assets/Provider-CCzjtkda.css +1 -0
- package/dist/client/assets/RailRow-BoGxAHNF.js +1 -0
- package/dist/client/assets/RailRow-Cf9LOiEj.css +1 -0
- package/dist/client/assets/RawSessionsTable-DL8y_eEy.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-ffS-39zy.js +1 -0
- package/dist/client/assets/RepoDiffEmbedScreen-C0rumUME.js +1 -0
- package/dist/client/assets/RepoDiffPageScreen-DMv6DioL.js +1 -0
- package/dist/client/assets/RepoDiffViewer-D_exm6xK.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-BPgF92Bg.js +2 -0
- package/dist/client/assets/ReposScreen-CB_YBWYf.js +6 -0
- package/dist/client/assets/ScoutDeckSurface-CxIYFyWx.js +1 -0
- package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +1 -0
- package/dist/client/assets/ScoutSurface-CYz_TcWC.js +1 -0
- package/dist/client/assets/ScoutbotBroadcastChip-CxtYZWPZ.css +1 -0
- package/dist/client/assets/ScoutbotBroadcastChip-L_R9atj0.js +2 -0
- package/dist/client/assets/ScoutbotFxLab-CgiZMDMW.js +4 -0
- package/dist/client/assets/ScoutbotRealtimeVoiceCall-FMQOr1Np.js +1 -0
- package/dist/client/assets/SecondaryNav-B3-nh5dM.js +1 -0
- package/dist/client/assets/SessionEmbedScreen-BVC7yvWF.js +1 -0
- package/dist/client/assets/SessionObserve-BpggNO_M.css +1 -0
- package/dist/client/assets/SessionObserve-yfXFafp8.js +12 -0
- package/dist/client/assets/SessionRefScreen-DRgJu7Jo.js +1 -0
- package/dist/client/assets/SessionsScreen-D6XUsZfA.js +1 -0
- package/dist/client/assets/SettingsDrawer-CmJt72ww.css +1 -0
- package/dist/client/assets/SettingsDrawer-XfdAa_nD.js +3 -0
- package/dist/client/assets/SettingsScreen-Cy8z-EuR.js +1 -0
- package/dist/client/assets/ShikiPane-Ap1iPxYb.js +15 -0
- package/dist/client/assets/SlidePanel-Bg5dVaIa.css +1 -0
- package/dist/client/assets/SlidePanel-COwtoJqR.js +1 -0
- package/dist/client/assets/SpriteAvatar-DyaGuhik.js +1 -0
- package/dist/client/assets/StatusPill-DhBL__p8.js +1 -0
- package/dist/client/assets/TailView-DGj_5HA9.js +2 -0
- package/dist/client/assets/TailView-Mj3AU2u0.css +1 -0
- package/dist/client/assets/Terminal-CqvGbjXU.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-DuZZFFzW.js +1 -0
- package/dist/client/assets/TextDocumentSurface-BpAw4eQS.js +4 -0
- package/dist/client/assets/TmuxPeek-m1osv33Q.js +1 -0
- package/dist/client/assets/VoicePermissionsPanel-DsK53ar4.js +1 -0
- package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +1 -0
- package/dist/client/assets/WorkDetailScreen-Bx0JimPC.js +5 -0
- package/dist/client/assets/WorkFilesViewer-Btl6C2Q1.js +1 -0
- package/dist/client/assets/activity-CA8qS6PI.js +1 -0
- package/dist/client/assets/{addon-fit-BOSszMLK.js → addon-fit-BZ-kXjeN.js} +1 -1
- package/dist/client/assets/{addon-webgl-WE840gr0.js → addon-webgl-D9-EQVEK.js} +1 -1
- package/dist/client/assets/agent-chat-Bfjd9y6c.js +1 -0
- package/dist/client/assets/agent-definitions-CymTYqvo.css +1 -0
- package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +1 -0
- package/dist/client/assets/agent-essentials-BSY1o46q.js +1 -0
- package/dist/client/assets/agent-floor-CuJr1iK1.css +1 -0
- package/dist/client/assets/agent-lane-card-Dm7YWoew.css +1 -0
- package/dist/client/assets/agent-lane-card-model-r2frk57c.js +1 -0
- package/dist/client/assets/agent-lane-detail-Djm3YJEa.js +1 -0
- package/dist/client/assets/agent-lane-preview-CmHVe3dU.js +4 -0
- package/dist/client/assets/agent-lanes-BDNktFBZ.css +1 -0
- package/dist/client/assets/agent-lanes-model-B4YTt4OF.js +2 -0
- package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +1 -0
- package/dist/client/assets/agents-project-COzHxZAF.css +1 -0
- package/dist/client/assets/agents-project-model-UYiamtrU.js +1 -0
- package/dist/client/assets/agents-screen-BMu6PpRY.css +1 -0
- package/dist/client/assets/api-BkjHJfgJ.js +1 -0
- package/dist/client/assets/api-h5zurxmi.js +1 -0
- package/dist/client/assets/{arc.es-KGqGKGIy.js → arc.es-CQBb-dVu.js} +1 -1
- package/dist/client/assets/arrow-down-BPLe0am9.js +1 -0
- package/dist/client/assets/arrow-left-DEZzHiPS.js +1 -0
- package/dist/client/assets/arrow-up-right-ClxBnsi7.js +1 -0
- package/dist/client/assets/bash-format-BRV5C6Gv.js +1 -0
- package/dist/client/assets/bot-eu8pBNvI.js +1 -0
- package/dist/client/assets/briefings-BwuAFQK6.css +1 -0
- package/dist/client/assets/broker-display-pp33bLsu.js +2 -0
- package/dist/client/assets/cache-Dr0why2k.js +2 -0
- package/dist/client/assets/check-DjgFiBxb.js +1 -0
- package/dist/client/assets/chevron-down-BGk5qoEw.js +1 -0
- package/dist/client/assets/chevron-right-XiIHsk4m.js +1 -0
- package/dist/client/assets/chunk-T65CQEWV-CrzwSeEt.js +1 -0
- package/dist/client/assets/chunk-YOZR3KYS-Bet8khjg.js +47 -0
- package/dist/client/assets/clipboard-e3fSpeo7.js +1 -0
- package/dist/client/assets/code-screen-DrKinCyh.css +1 -0
- package/dist/client/assets/code-xml-B6jOCM4V.js +1 -0
- package/dist/client/assets/collapsed-strip-Dz-of2SM.css +1 -0
- package/dist/client/assets/colors-BtO5_zlx.js +1 -0
- package/dist/client/assets/console-B1IBqLI_.css +1 -0
- package/dist/client/assets/content-BDt9VBPk.js +1 -0
- package/dist/client/assets/content-BIXf4cKR.js +1 -0
- package/dist/client/assets/content-BLm0NBJM.js +1 -0
- package/dist/client/assets/content-C2EwTb2y.js +1 -0
- package/dist/client/assets/content-C5UbLsDF.js +1 -0
- package/dist/client/assets/content-CHU0wwA3.css +1 -0
- package/dist/client/assets/content-CR3vdrYY.js +1 -0
- package/dist/client/assets/content-CSPVmo2s.js +1 -0
- package/dist/client/assets/content-C_FGqx1X.js +1 -0
- package/dist/client/assets/content-CvlVUOG8.js +1 -0
- package/dist/client/assets/content-D5kJmfgl.js +1 -0
- package/dist/client/assets/content-DTpQsomG.js +1 -0
- package/dist/client/assets/content-DikVsqLf.js +1 -0
- package/dist/client/assets/content-DlUe5Ono.js +1 -0
- package/dist/client/assets/content-GIBv_55n.js +1 -0
- package/dist/client/assets/content-Q2oclDzi.js +1 -0
- package/dist/client/assets/context-budget-CbB4BDcO.js +1 -0
- package/dist/client/assets/conversation-icons-IIG5ha6D.js +1 -0
- package/dist/client/assets/conversation-model-B47vYmWN.js +1 -0
- package/dist/client/assets/conversation-motion-features-BdAONVls.js +1 -0
- package/dist/client/assets/conversation-prefs-DNre-Lcx.js +1 -0
- package/dist/client/assets/copy-CQGYbxdu.js +1 -0
- package/dist/client/assets/createLucideIcon-OpA4Amw5.js +1 -0
- package/dist/client/assets/ctx-panel-B4s49N9e.css +1 -0
- package/dist/client/assets/discover-C1YwpBDE.js +2 -0
- package/dist/client/assets/document-focus-viewer-BSC_JwVE.css +1 -0
- package/dist/client/assets/embed-entry-BAcGL3g9.js +2 -0
- package/dist/client/assets/external-link-CXBytO9o.js +1 -0
- package/dist/client/assets/eye-0PvebX_a.js +1 -0
- package/dist/client/assets/file-text-BODxCjcz.js +1 -0
- package/dist/client/assets/flight-observe-GFg9L8ft.css +1 -0
- package/dist/client/assets/follow-route-BvcGtBIL.js +1 -0
- package/dist/client/assets/fx-z37u1o2z.js +1 -0
- package/dist/client/assets/gestures-CcwOTu8C.js +1 -0
- package/dist/client/assets/harnesses-screen-DBZoTZz8.css +1 -0
- package/dist/client/assets/home-live-action-B22u89j7.js +1 -0
- package/dist/client/assets/home-moving-signal-CAa0V91u.css +1 -0
- package/dist/client/assets/home-moving-signal-CK147hxn.js +1 -0
- package/dist/client/assets/home-now-card-BgvNWuea.js +1 -0
- package/dist/client/assets/home-now-card-nano-BcjnOU9H.js +1 -0
- package/dist/client/assets/hooks-B6y_O2FB.js +2 -0
- package/dist/client/assets/hooks-D6NI15f6.css +1 -0
- package/dist/client/assets/inbox-thread-redesign-Bz4FjWzr.css +1 -0
- package/dist/client/assets/index-BWHgHrtv.js +1 -0
- package/dist/client/assets/index-BcuhqXLe.js +1 -0
- package/dist/client/assets/index-CJXzfjo9.js +1 -0
- package/dist/client/assets/index-CvF09yvf.css +1 -0
- package/dist/client/assets/index-DMiGbrBt.js +10 -0
- package/dist/client/assets/index-DQPvraRS.js +1 -0
- package/dist/client/assets/index-DxGoC5l5.css +1 -0
- package/dist/client/assets/inspector-panel-DPoCWxKs.js +2 -0
- package/dist/client/assets/keyboard-nav-2kv_tGUS.js +1 -0
- package/dist/client/assets/knowledge-search-CVxQwxPn.js +1 -0
- package/dist/client/assets/knowledge-search-DjrQdiiW.css +1 -0
- package/dist/client/assets/lane-ask-display-B6iCAVcd.js +18 -0
- package/dist/client/assets/lane-edit-display-C_Aujldz.js +9 -0
- package/dist/client/assets/lane-observe-D0rfKDnU.js +7 -0
- package/dist/client/assets/lane-roster-store-D8x1jac2.js +1 -0
- package/dist/client/assets/lane-tool-detail-0WhMf4Vj.js +9 -0
- package/dist/client/assets/left-Bk3XnxPD.css +1 -0
- package/dist/client/assets/left-C--GiIh8.js +2 -0
- package/dist/client/assets/left-CAaRBK9S.css +1 -0
- package/dist/client/assets/left-CCoobxPS.css +1 -0
- package/dist/client/assets/left-Cj7Rt89X.js +1 -0
- package/dist/client/assets/left-CpNEtFEg.js +1 -0
- package/dist/client/assets/left-CzXAuK_t.js +2 -0
- package/dist/client/assets/left-agents-Bo9sO1by.js +1 -0
- package/dist/client/assets/left-bN4PCAXa.js +1 -0
- package/dist/client/assets/left-default-DV9GdvYi.js +1 -0
- package/dist/client/assets/left-jYYGAOYD.js +1 -0
- package/dist/client/assets/left-lanes-D0l_Co7V.js +1 -0
- package/dist/client/assets/left-mission-Ci7zREkQ.js +1 -0
- package/dist/client/assets/left-mission-DSenPIyb.css +1 -0
- package/dist/client/assets/left-plan-D4U1uflW.js +2 -0
- package/dist/client/assets/library-D-RxGiCw.js +1 -0
- package/dist/client/assets/loader-circle-CbHjZsz1.js +1 -0
- package/dist/client/assets/local-agents--00gLMqr.js +1 -0
- package/dist/client/assets/mentions-jSuTGeet.js +1 -0
- package/dist/client/assets/mesh-buckets-CfAukILK.js +1 -0
- package/dist/client/assets/mesh-screen-BSDUjrnV.css +1 -0
- package/dist/client/assets/mesh-view-store-CWidRbTE.js +1 -0
- package/dist/client/assets/message-circle-CG-96zts.js +1 -0
- package/dist/client/assets/message-markup-3J9pi3nx.js +15 -0
- package/dist/client/assets/message-square-DSaGpjFU.js +1 -0
- package/dist/client/assets/message-visibility-kJM8XcSG.js +1 -0
- package/dist/client/assets/mission-control-D3ikEPND.css +1 -0
- package/dist/client/assets/mission-control-model-C0fByIjm.js +1 -0
- package/dist/client/assets/mission-control-store-BlnEhiCq.js +1 -0
- package/dist/client/assets/model-Co0zkMIc.js +1 -0
- package/dist/client/assets/model-CpAxGuis.js +1 -0
- package/dist/client/assets/observe-CuLGD9Zp.js +1 -0
- package/dist/client/assets/openAgent-Bjt57GdM.js +1 -0
- package/dist/client/assets/openContent-C6XO6kr5.js +1 -0
- package/dist/client/assets/operator-attention-BwSPeheT.js +1 -0
- package/dist/client/assets/ops-agents-BOYxzPTm.css +1 -0
- package/dist/client/assets/ops-atop-BB4B4JdE.css +1 -0
- package/dist/client/assets/ops-screen-giu3If_N.css +1 -0
- package/dist/client/assets/page-status-DpkedE1F.js +1 -0
- package/dist/client/assets/page-status-bar-ByUD7VPM.css +1 -0
- package/dist/client/assets/plan-view-D56fneVF.css +1 -0
- package/dist/client/assets/plus--b1raV_O.js +1 -0
- package/dist/client/assets/profile-CVRziEDA.js +1 -0
- package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +1 -0
- package/dist/client/assets/projects-inbox-CHyUFQ6w.js +1 -0
- package/dist/client/assets/projects-inbox-COZ23dLR.css +1 -0
- package/dist/client/assets/radio-Bz8ZePxj.js +1 -0
- package/dist/client/assets/refresh-cw-BBmAnCB7.js +1 -0
- package/dist/client/assets/repo-diff-C9Qs-bEn.css +1 -0
- package/dist/client/assets/resizable-columns-C7ygvLt8.css +1 -0
- package/dist/client/assets/resolve-panes-r9B3mpW7.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-DcG8xGaB.js +1 -0
- package/dist/client/assets/right-BHeiIaty.js +1 -0
- package/dist/client/assets/right-BkgKo9VT.js +1 -0
- package/dist/client/assets/right-BpEU5jWE.js +1 -0
- package/dist/client/assets/right-CRZXoy-X.js +1 -0
- package/dist/client/assets/right-ChF_pbPy.js +1 -0
- package/dist/client/assets/right-DMoUT3KN.js +1 -0
- package/dist/client/assets/right-DjRXbnRP.js +2 -0
- package/dist/client/assets/right-T4Ue6EqM.js +1 -0
- package/dist/client/assets/right-wzrLXKur.js +1 -0
- package/dist/client/assets/rocket-BSNS_rLs.js +1 -0
- package/dist/client/assets/router-Bq5dwf78.js +1 -0
- package/dist/client/assets/runtime-picker-Bcl5iIX5.js +1 -0
- package/dist/client/assets/runtime-picker-vhm0gtLs.css +1 -0
- package/dist/client/assets/scope-views-4khCg2_z.css +1 -0
- package/dist/client/assets/scope-views-U-ucT9m0.js +1 -0
- package/dist/client/assets/scout-voice-CU5c0LGi.js +1 -0
- package/dist/client/assets/scoutbot-BTIErYHo.js +3 -0
- package/dist/client/assets/scroll-text-D6Pdnar7.js +1 -0
- package/dist/client/assets/search-CWfZtOt2.js +1 -0
- package/dist/client/assets/secondaryNavConfig-DqUIp0Es.js +1 -0
- package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +1 -0
- package/dist/client/assets/selection-bridge-16pk1qyG.js +1 -0
- package/dist/client/assets/send-horizontal-Bg5-QggH.js +1 -0
- package/dist/client/assets/server-CPp4ZJhZ.js +1 -0
- package/dist/client/assets/session-catalog-BmoyVTJ_.js +1 -0
- package/dist/client/assets/session-table-DZcrKoIH.js +1 -0
- package/dist/client/assets/sessionRead-CvFz2RHv.js +1 -0
- package/dist/client/assets/sliders-horizontal-1oW76Xc9.js +1 -0
- package/dist/client/assets/sparkles-ClfRJQ6w.js +1 -0
- package/dist/client/assets/sse-CjIkKo46.js +1 -0
- package/dist/client/assets/status-tone-BM_zuRy1.js +1 -0
- package/dist/client/assets/surface-activity-B1rgWB1i.js +1 -0
- package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +1 -0
- package/dist/client/assets/tail-display-BdyoLvzY.js +2 -0
- package/dist/client/assets/tail-events-D19uAGe3.js +1 -0
- package/dist/client/assets/terminal-B9AOZQKR.js +1 -0
- package/dist/client/assets/terminal-relay-CWbJ1RCW.js +1 -0
- package/dist/client/assets/terminal-screen-19jAI0Cw.css +1 -0
- package/dist/client/assets/terminal-sessions-D5CIR2OL.js +1 -0
- package/dist/client/assets/terminal-takeover-B8UeD9OX.js +1 -0
- package/dist/client/assets/text-DsBWV_4k.js +1 -0
- package/dist/client/assets/time-DltNTpLl.js +1 -0
- package/dist/client/assets/types-B0PlfpKc.js +1 -0
- package/dist/client/assets/ui-LM8pS8qE.js +1 -0
- package/dist/client/assets/use-conversation-list-Byab41G6.js +1 -0
- package/dist/client/assets/use-fleet-active-asks-BIbQx5AS.js +1 -0
- package/dist/client/assets/use-reduced-motion-RRBkmVkk.js +1 -0
- package/dist/client/assets/useAgentHoverCard-DMrbBif0.js +1 -0
- package/dist/client/assets/useContentSecondaryNav-DMl1WNm7.js +1 -0
- package/dist/client/assets/usePierreRuntime-wC-yMtBb.js +50 -0
- package/dist/client/assets/voice-levels-Dcr3jglk.js +1 -0
- package/dist/client/assets/wrench-Bkc_0lKF.js +1 -0
- package/dist/client/assets/x-D3GElQbe.js +1 -0
- package/dist/client/assets/{xterm-6eL7V7pF.js → xterm-BKR8oAkR.js} +1 -1
- package/dist/client/index.html +6 -3
- package/dist/drizzle/0003_harsh_meltdown.sql +45 -0
- package/dist/drizzle/0004_medical_aaron_stack.sql +40 -0
- package/dist/drizzle/0005_wet_shriek.sql +57 -0
- package/dist/drizzle/0006_woozy_dark_beast.sql +1 -0
- package/dist/drizzle/README.md +7 -0
- package/dist/drizzle/meta/0003_snapshot.json +4952 -0
- package/dist/drizzle/meta/0004_snapshot.json +5235 -0
- package/dist/drizzle/meta/0005_snapshot.json +5599 -0
- package/dist/drizzle/meta/0006_snapshot.json +5606 -0
- package/dist/drizzle/meta/_journal.json +28 -0
- package/dist/main.mjs +24907 -12910
- package/dist/node/main.mjs +10212 -195
- package/dist/openscout-terminal-relay.mjs +507 -64
- package/dist/pairing-runtime-controller.mjs +10793 -5165
- package/dist/runtime/base-daemon.mjs +627 -159
- package/dist/runtime/broker-daemon.mjs +65039 -30990
- package/dist/runtime/broker-process-manager.mjs +247 -54
- package/dist/runtime/mesh-discover.mjs +246 -54
- package/dist/scout-control-plane-web.mjs +56699 -47427
- package/dist/scout-web-server.mjs +56699 -47427
- package/package.json +1 -1
- package/dist/client/assets/RepoDiffViewer-DLVleMPW.js +0 -56
- package/dist/client/assets/embed-entry-BdmREZuc.js +0 -1
- package/dist/client/assets/index-DPFmfHm5.js +0 -271
- package/dist/client/assets/index-jpYnsyHM.css +0 -1
package/package.json
CHANGED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import{e as ue,r as o,j as n,C as fe,f as he,L as me,S as pe,g as xe,X as ge,M as be,h as je,i as V,P as ye,k as te,l as q,m as ne,n as re,p as we}from"./index-DPFmfHm5.js";const ke=[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],ve=ue("file-code-corner",ke),Ne=["branch","unstaged","staged"],se={unstaged:"Unstaged",staged:"Staged",branch:"Branch"},$e={added:"A",modified:"M",deleted:"D",renamed:"R",copied:"C",typechange:"T",conflict:"!",unknown:"?"};function W(e){return e.newPath??e.oldPath??"(unknown)"}function ie(e){const t=e.split("/"),r=t[t.length-1]||e,s=t.slice(0,-1).join("/");return{name:r,dir:s}}function K(e,t){return`${e.oldPath??""}→${e.newPath??""}#${t}`}function Ce(e){return e.files.reduce((t,r)=>({add:t.add+(r.additions??0),del:t.del+(r.deletions??0)}),{add:0,del:0})}function G(e,t,r=null){return{fetchedAt:e.fetchedAt,cacheHit:!0,refreshing:t,refreshError:r}}function Se(e,t){return{fetchedAt:e.fetchedAt,cacheHit:e.cacheHit,refreshing:t,refreshError:null}}function Pe({snapshot:e,selectedFile:t,targets:r,targetId:s,onTargetId:i,draft:c,onDraft:u,contextItems:l,onRemoveContextItem:d,pending:a,status:f,error:b,textareaRef:k,onSubmit:v}){const[m,N]=o.useState(!1),j=o.useRef(null),w=r.find(x=>x.id===s)??null,h=w?.label??"Scout",y=r[0]?.id??null,P=t?W(t):null,I=(c.trim().length>0||l.length>0)&&!a,D=o.useMemo(()=>[...r.map(x=>({id:x.id,label:x.label,suffix:x.id===y?"best context":null})),{id:"scout",label:"Scout",suffix:null}],[y,r]);return o.useEffect(()=>{if(!m)return;const x=$=>{const g=j.current;g&&$.target instanceof Node&&g.contains($.target)||N(!1)};return document.addEventListener("pointerdown",x),()=>document.removeEventListener("pointerdown",x)},[m]),n.jsxs("div",{className:"rd-comment",children:[l.length>0?n.jsx("div",{className:"rd-comment-context","aria-label":"Included diff context",children:l.map(x=>n.jsx(Le,{item:x,disabled:a,onRemove:d},x.id))}):null,n.jsxs("div",{className:"rd-comment-main",children:[n.jsxs("div",{className:"rd-target-picker",ref:j,children:[n.jsxs("button",{type:"button",className:"rd-target-button",onClick:()=>N(x=>!x),onKeyDown:x=>{x.stopPropagation(),x.key==="Escape"&&N(!1)},disabled:a,"aria-label":"Diff comment target","aria-haspopup":"listbox","aria-expanded":m,title:"Diff comment target",children:[n.jsx("span",{children:h}),n.jsx(fe,{size:13,strokeWidth:2,"aria-hidden":!0})]}),m?n.jsx("div",{className:"rd-target-menu",role:"listbox","aria-label":"Diff comment target",children:D.map(x=>{const $=x.id===(w?.id??"scout");return n.jsxs("button",{type:"button",className:"rd-target-option",role:"option","aria-selected":$,onClick:()=>{i(x.id),N(!1)},children:[n.jsx("span",{className:"rd-target-option-label",children:x.label}),x.suffix?n.jsx("span",{className:"rd-target-option-suffix",children:x.suffix}):null,n.jsx("span",{className:"rd-target-option-check","aria-hidden":!0,children:$?n.jsx(he,{size:12,strokeWidth:2.2}):null})]},x.id)})}):null]}),n.jsx("textarea",{ref:k,value:c,onChange:x=>u(x.currentTarget.value),onKeyDown:x=>{x.stopPropagation(),(x.metaKey||x.ctrlKey)&&x.key==="Enter"&&(x.preventDefault(),v())},rows:1,disabled:a,placeholder:l.length>0?`Send to ${h} with included context`:"Leave a note on this diff…","aria-label":"Diff comment"}),n.jsxs("button",{type:"button",className:"rd-comment-send",disabled:!I,onClick:v,title:"Send diff comment","aria-label":"Send diff comment",children:[a?n.jsx(me,{size:13,className:"rd-comment-spin","aria-hidden":!0}):n.jsx(pe,{size:13,"aria-hidden":!0}),n.jsx("span",{children:a?"Sending":"Send"})]})]}),n.jsx("div",{className:"rd-comment-meta",children:b?n.jsx("span",{className:"err",children:b}):f?n.jsx("span",{className:"ok",children:f}):n.jsxs("span",{children:[e.scope?.kind==="session"?"Session diff":"Worktree diff",P?` · ${P}`:""]})})]})}function Le({item:e,disabled:t,onRemove:r}){const s=e.kind==="file"?ve:xe;return n.jsxs("div",{className:`rd-context-item ${e.kind}`,children:[n.jsxs("div",{className:"rd-context-head",children:[n.jsx("span",{className:"rd-context-icon","aria-hidden":!0,children:n.jsx(s,{size:12,strokeWidth:2})}),n.jsx("span",{className:"rd-context-label",title:e.label,children:e.label}),n.jsx("span",{className:"rd-context-detail",children:e.detail}),n.jsx("button",{type:"button",className:"rd-context-remove",onClick:()=>r(e.id),disabled:t,title:"Remove included context","aria-label":"Remove included context",children:n.jsx(ge,{size:11,strokeWidth:2.2,"aria-hidden":!0})})]}),e.preview?n.jsx("pre",{className:"rd-context-preview",children:e.preview}):null]})}function Re({heading:e,worktreePath:t,snapshot:r,freshness:s,activeLayer:i,onLayer:c,layout:u,onLayout:l,refreshing:d,onRefresh:a,onFocusComment:f,onClose:b,onOpenAsPage:k}){const{dir:v}=ie(t);return n.jsxs("div",{className:"rd-header",children:[n.jsxs("div",{className:"rd-header-id",children:[n.jsxs("div",{className:"rd-header-title",children:[n.jsx("span",{className:"rd-header-name",title:t,children:e}),r.scope?n.jsx(Ee,{snapshot:r}):null,v?n.jsx("span",{className:"rd-header-dir",children:v}):null]}),n.jsx("div",{className:"rd-header-sub",children:n.jsx(Fe,{layers:r.layers,activeLayer:i,onLayer:c})}),n.jsx(De,{freshness:s,generatedAt:r.generatedAt})]}),n.jsxs("div",{className:"rd-header-actions",children:[n.jsx("button",{type:"button",className:"rd-close","aria-label":"Comment on diff",title:"Comment on diff",onClick:f,children:n.jsx(be,{size:14,strokeWidth:2,"aria-hidden":!0})}),n.jsxs("div",{className:"rd-segmented",role:"group","aria-label":"Diff layout",children:[n.jsx("button",{type:"button",className:u==="unified"?"on":"","aria-pressed":u==="unified",onClick:()=>l("unified"),children:"Unified"}),n.jsx("button",{type:"button",className:u==="split"?"on":"","aria-pressed":u==="split",onClick:()=>l("split"),children:"Split"})]}),n.jsx("button",{type:"button",className:`rd-close${d?" spinning":""}`,"aria-label":"Refresh diff",title:"Fetch fresh diff",onClick:a,disabled:d,children:n.jsx(je,{size:14,strokeWidth:2,"aria-hidden":!0})}),k?n.jsx("button",{type:"button",className:"rd-close","aria-label":"Open diff as page",title:"Open as full page",onClick:k,children:"↗"}):null,b?n.jsx("button",{type:"button",className:"rd-close","aria-label":"Close",onClick:b,children:"✕"}):null]})]})}function Ie({snapshot:e}){const t=[];e.coverage.truncatedLayers>0&&t.push({level:"warning",text:`${e.coverage.truncatedLayers} layer${e.coverage.truncatedLayers===1?"":"s"} truncated — the native diff hit a size budget; some files or hunks are omitted.`}),e.coverage.scanBudgetReached&&t.push({level:"warning",text:"Scan budget reached — this diff is partial."});for(const r of e.diagnostics)t.push({level:r.level,text:r.path?`${r.message} (${r.path})`:r.message});return t.length===0?null:n.jsx(n.Fragment,{children:t.map((r,s)=>n.jsxs("div",{className:`rd-banner ${r.level}`,children:[n.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),n.jsx("span",{children:r.text})]},s))})}function Ee({snapshot:e}){const t=e.scope;if(!t)return null;const r=t.kind==="session"?`Session · ${t.filteredPaths.length} files`:t.filteredPaths.length>0?`Filtered · ${t.filteredPaths.length} files`:"Worktree",s=t.kind==="session"?`${t.label}: path-filtered diff from ${t.changedFiles} changed / ${t.touchedFiles} touched session files`:t.label;return n.jsx("span",{className:`rd-scope-pill ${t.kind}`,title:s,children:r})}function De({freshness:e,generatedAt:t}){const r=e?.fetchedAt??t,s=Math.max(0,Date.now()-r),i=e?.cacheHit?`Prefetched ${V(s)}`:`Updated ${V(s)}`;return n.jsxs("div",{className:"rd-freshness",title:new Date(r).toLocaleString(),children:[n.jsx("span",{children:i}),e?.refreshing?n.jsx("span",{children:"Refreshing…"}):null,e?.refreshError?n.jsx("span",{children:"Refresh failed"}):null]})}function Fe({layers:e,activeLayer:t,onLayer:r}){return n.jsx("div",{className:"rd-layers",role:"tablist","aria-label":"Diff layers",children:e.map(s=>{const i=Ce(s);return n.jsxs("button",{type:"button",role:"tab","aria-selected":s.kind===t,className:"rd-layer-tab"+(s.kind===t?" on":""),onClick:()=>r(s.kind),title:s.shortstat??void 0,children:[n.jsx("span",{children:se[s.kind]??s.kind}),n.jsx("span",{className:"rd-layer-stat",children:s.files.length===0?"clean":n.jsxs(n.Fragment,{children:[s.files.length,"f"," ",n.jsxs("span",{style:{color:"var(--rd-add)"},children:["+",i.add]})," ",n.jsxs("span",{style:{color:"var(--rd-del)"},children:["−",i.del]}),s.truncated?" ⚠":""]})})]},s.kind)})})}function H({className:e,children:t}){return n.jsx("div",{className:e?`rd-viewer ${e}`:"rd-viewer","data-scout-theme":!0,children:t})}function M({children:e}){return n.jsx("div",{className:"rd-center",children:n.jsx("div",{className:"rd-center-card",children:e})})}function X(e){const t=e.trim();return!t||t==="/dev/null"?null:t.startsWith("a/")||t.startsWith("b/")?t.slice(2):t}function Me(e,t){return[t.newPath,t.oldPath].filter(s=>!!s).includes(e)}function Te(e,t){if(!e?.rawPatch)return[];const r=[];let s=null,i=null,c=null,u=null;for(const l of e.rawPatch.split(`
|
|
2
|
-
`)){if(l.startsWith("diff --git ")){s=null,i=null,c=null,u=null;continue}if(l.startsWith("--- ")){s=X(l.slice(4));continue}if(l.startsWith("+++ ")){i=X(l.slice(4));continue}const d=/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/.exec(l);if(d){c=Number(d[1]),u=Number(d[2]);continue}if(c==null||u==null)continue;const a=i??s;a&&(t&&!Me(a,t)||(l.startsWith("+")?(r.push({layer:e.kind,filePath:a,side:"add",oldLine:null,newLine:u,text:l.slice(1)}),u+=1):l.startsWith("-")?(r.push({layer:e.kind,filePath:a,side:"del",oldLine:c,newLine:null,text:l.slice(1)}),c+=1):l.startsWith(" ")&&(r.push({layer:e.kind,filePath:a,side:"context",oldLine:c,newLine:u,text:l.slice(1)}),c+=1,u+=1)))}return r}function Ae(e){return e.newLine!=null?`L${e.newLine}`:e.oldLine!=null?`old L${e.oldLine}`:"line"}function We(e,t=160){const r=e.replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t-1)}…`:r}function _e(e){const{line:t}=e,r=t.side==="add"?"+":t.side==="del"?"-":" ";return`[Diff line: ${t.layer} · ${t.filePath}:${Ae(t)} · ${r} ${We(t.text)}]`}function He(e){const{selection:t}=e;return[`[Diff selection: ${[t.layer??"diff",t.filePath].filter(Boolean).join(" · ")||"diff"}]`,t.text.trim(),"[/Diff selection]"].join(`
|
|
3
|
-
`)}function Y(e){const t=window.getSelection(),r=t?.toString().trim()??"";if(!t||!r||!e.root)return null;const s=t.anchorNode,i=t.focusNode;return s&&!e.root.contains(s)||i&&!e.root.contains(i)?null:{layer:e.activeLayer,filePath:e.selectedFile?W(e.selectedFile):null,text:r}}const Be="1.2.7",B=`https://esm.sh/@pierre/diffs@${Be}`,U={base:`${B}?external=react,react-dom`,react:`${B}/react?external=react,react-dom`,worker:`${B}/worker/worker.js`},ae=["typescript","tsx","javascript","jsx","json","markdown","rust","swift","shellscript","yaml","css","html"];function Ke(){return import(U.react)}function ze(){return import(U.base)}let A=null;function J(){return A||(A=(async()=>{const e="react",t="react-dom/client",[r,s,i,c]=await Promise.all([Ke(),ze(),import(e),import(t)]),u=d=>typeof d=="function"||typeof d=="object"&&d!==null;if(!u(r?.CodeView)||!u(r?.WorkerPoolContextProvider)||typeof s?.parsePatchFiles!="function"||typeof i?.createElement!="function"||typeof c?.createRoot!="function")throw new Error(`Pierre loaded from ${B} but the expected exports are missing.`);const l=()=>{const d=`import ${JSON.stringify(U.worker)};`,a=URL.createObjectURL(new Blob([d],{type:"text/javascript"})),f=new Worker(a,{type:"module"});return URL.revokeObjectURL(a),f};return{CodeView:r.CodeView,PatchDiff:r.PatchDiff,WorkerPoolContextProvider:r.WorkerPoolContextProvider,parsePatchFiles:s.parsePatchFiles,preloadHighlighter:s.preloadHighlighter,workerFactory:l,createElement:i.createElement,createRoot:c.createRoot}})(),A.catch(()=>{A=null}),A)}let _=null;function Oe(e,t){return _||(_=e.preloadHighlighter({themes:[t],langs:[...ae]}).catch(()=>{_=null}),_)}function Ue(e,t,r){return e.parsePatchFiles(t,r,!0)}const Ve=`
|
|
4
|
-
[data-line-type="change-addition"]:is(
|
|
5
|
-
:where([data-background]) [data-line],
|
|
6
|
-
:where([data-background]) [data-no-newline]
|
|
7
|
-
),
|
|
8
|
-
[data-line-type="change-deletion"]:is(
|
|
9
|
-
:where([data-background]) [data-line],
|
|
10
|
-
:where([data-background]) [data-no-newline]
|
|
11
|
-
) {
|
|
12
|
-
--mix-light: var(--rd-diff-line-mix-light, 94%);
|
|
13
|
-
--mix-dark: var(--rd-diff-line-mix-dark, 92%);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
[data-line-type="change-addition"]:is(
|
|
17
|
-
:where([data-background]) [data-gutter-buffer],
|
|
18
|
-
:where([data-background]) [data-column-number]
|
|
19
|
-
) {
|
|
20
|
-
--mix-light: var(--rd-diff-gutter-mix-light, 76%);
|
|
21
|
-
--mix-dark: var(--rd-diff-gutter-mix-dark, 72%);
|
|
22
|
-
--diffs-diff-line-mix-target: var(--diffs-bg-addition-number-override, var(--diffs-addition-base));
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
[data-line-type="change-deletion"]:is(
|
|
26
|
-
:where([data-background]) [data-gutter-buffer],
|
|
27
|
-
:where([data-background]) [data-column-number]
|
|
28
|
-
) {
|
|
29
|
-
--mix-light: var(--rd-diff-gutter-mix-light, 76%);
|
|
30
|
-
--mix-dark: var(--rd-diff-gutter-mix-dark, 72%);
|
|
31
|
-
--diffs-diff-line-mix-target: var(--diffs-bg-deletion-number-override, var(--diffs-deletion-base));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
[data-column-number]:is(
|
|
35
|
-
[data-indicators="bars"] [data-line-type="change-addition"],
|
|
36
|
-
[data-indicators="bars"] [data-line-type="change-deletion"]
|
|
37
|
-
)::before {
|
|
38
|
-
width: var(--rd-diff-spine-width, 6px);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
[data-column-number]:is([data-indicators="bars"] [data-line-type="change-addition"])::before {
|
|
42
|
-
background-color: var(--diffs-addition-base);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
[data-column-number]:is([data-indicators="bars"] [data-line-type="change-deletion"])::before {
|
|
46
|
-
background-color: var(--diffs-deletion-base);
|
|
47
|
-
background-image: none;
|
|
48
|
-
}
|
|
49
|
-
`;function Q(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function qe(e){const t=e,r=t?.type==="diff"?t.fileDiff:null;return[r?.name,r?.prevName].filter(s=>typeof s=="string"&&s.length>0)}function le(e,t,r){return r==="additions"?e.newLine===t:r==="deletions"?e.oldLine===t:e.newLine===t||e.oldLine===t}function Ge(e,t,r){return e.findIndex(s=>le(s,t,r))}function Xe(e,t,r){for(let s=e.length-1;s>=0;s-=1)if(le(e[s],t,r))return s;return-1}function Ye(e){return e.map(t=>{const r=t.side==="add"?"+":t.side==="del"?"-":" ",s=t.newLine??t.oldLine,i=s!=null?`${s}: `:"";return`${r} ${i}${t.text}`}).join(`
|
|
50
|
-
`)}function Je({range:e,item:t,lineContexts:r}){if(!e)return null;const s=Q(e.start),i=Q(e.end);if(s==null||i==null)return null;const c=qe(t),u=r.filter(k=>c.length===0||c.includes(k.filePath)),l=Ge(u,s,e.side),d=Xe(u,i,e.endSide??e.side);if(l<0||d<0)return null;const a=Math.min(l,d),f=Math.max(l,d),b=u.slice(a,f+1);return b.length>0?b:null}function Qe(e){return{layer:e[0]?.layer??null,filePath:e[0]?.filePath??null,text:Ye(e)}}function Ze(e,t){const r=e.createRoot(t);let s=null;const i=c=>{s=c};return{render({items:c,theme:u,layout:l,lineContexts:d=[],onIncludeLineContext:a,onIncludeSelectionContext:f}){r.render(e.createElement(e.WorkerPoolContextProvider,{poolOptions:{workerFactory:e.workerFactory},highlighterOptions:{theme:u,langs:[...ae]}},e.createElement(e.CodeView,{className:"rd-codeview",items:c,options:{theme:u,diffStyle:l,diffIndicators:"bars",stickyHeaders:!0,unsafeCSS:Ve,enableGutterUtility:!!a,enableLineSelection:!!f,lineHoverHighlight:"number",onGutterUtilityClick:(b,k)=>{const v=Je({range:b,item:k,lineContexts:d});if(v){if(v.length===1&&a){a(v[0]);return}f&&f(Qe(v))}}},ref:i})))},scrollToItem(c,u="smooth"){s?.scrollTo({type:"item",id:c,align:"start",behavior:u})},unmount(){r.unmount()}}}function et({layer:e,patchLayer:t,patchPhase:r,patchError:s,selectedFileKey:i,renderKey:c,theme:u,layout:l,pierre:d,pierrePhase:a,pierreError:f,onRetryPierre:b,onIncludeLineContext:k,onIncludeSelectionContext:v}){const m=o.useRef(null),[N,j]=o.useState(null),w=o.useMemo(()=>e?e.files.find((g,L)=>K(g,L)===i)??null:null,[e,i]),h=t??e,y=o.useMemo(()=>{if(!d||!h||!h.rawPatch)return null;try{const g=`${c}:${h.kind}:${h.patchOid}`,L=Ue(d,h.rawPatch,g),C=[];return L.forEach((E,R)=>{E.files.forEach((p,S)=>{C.push({id:`${g}:${R}:${S}:${p.name}`,type:"diff",fileDiff:p})})}),{ok:!0,items:C,patches:L}}catch(g){return{ok:!1,error:g instanceof Error?g.message:String(g)}}},[d,h,c]),P=o.useMemo(()=>{if(!y||!y.ok||!w)return null;const g=[w.newPath,w.oldPath].filter(L=>!!L);for(const L of y.items){const C=L.fileDiff?.name;if(C&&g.includes(C))return L.id}return null},[y,w]),I=o.useMemo(()=>Te(h,w),[h,w]),D=o.useCallback(()=>{const g=Y({activeLayer:e?.kind??null,selectedFile:w,root:m.current});g&&(v(g),window.getSelection()?.removeAllRanges(),j(null))},[e?.kind,v,w]),x=o.useCallback(()=>{const g=m.current,L=Y({activeLayer:e?.kind??null,selectedFile:w,root:g});if(!g||!L){j(null);return}const C=window.getSelection(),R=(C?.rangeCount?C.getRangeAt(0):null)?.getBoundingClientRect();if(!R||R.width===0&&R.height===0){j(null);return}const p=g.getBoundingClientRect(),S=Math.max(8,g.clientWidth-132),F=Math.max(8,g.clientHeight-36);j({left:Math.min(Math.max(R.right-p.left+8,8),S),top:Math.min(Math.max(R.top-p.top-2,8),F)})},[e?.kind,w]);if(o.useEffect(()=>{const g=()=>{requestAnimationFrame(x)};return document.addEventListener("selectionchange",g),()=>{document.removeEventListener("selectionchange",g)}},[x]),!e)return n.jsx("div",{className:"rd-surface",children:n.jsx(M,{children:n.jsx("div",{className:"rd-center-title",children:"No layer selected"})})});if(e.files.length===0)return n.jsx("div",{className:"rd-surface",children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-center-title",children:"Nothing to diff"}),n.jsxs("div",{className:"rd-center-body",children:["The ",se[e.kind]??e.kind.toLowerCase()," layer is clean."]})]})});if(r==="loading"||r==="idle"&&w)return n.jsx("div",{className:"rd-surface",children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-spinner","aria-hidden":!0}),n.jsx("div",{className:"rd-center-title",children:"Loading selected file…"}),n.jsx("div",{className:"rd-center-body",children:"Fetching a path-filtered patch chunk for this file."})]})});if(r==="error"&&!t)return n.jsx("div",{className:"rd-surface",children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-center-title",children:"Couldn’t load this file"}),n.jsx("div",{className:"rd-center-body",children:s??"The path-filtered patch request failed."})]})});if(a==="loading")return n.jsx("div",{className:"rd-surface",children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-spinner","aria-hidden":!0}),n.jsx("div",{className:"rd-center-title",children:"Loading the diff renderer…"}),n.jsx("div",{className:"rd-center-body",children:"Fetching Pierre Diffs + Shiki (first open only)."})]})});if(a==="error"||!d)return n.jsxs("div",{className:"rd-surface",children:[n.jsxs("div",{className:"rd-banner warning",children:[n.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),n.jsxs("span",{children:["The diff renderer failed to load",f?`: ${f}`:"."," Showing raw patch text."]})]}),n.jsx("div",{className:"rd-surface-scroll",children:n.jsx(Z,{layer:h??e,onRetry:b})})]});if(!h?.rawPatch||!y)return n.jsx("div",{className:"rd-surface",children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-center-title",children:"No patch text available"}),n.jsx("div",{className:"rd-center-body",children:e.truncated?"This layer was truncated by the native diff budget; file summaries are shown in the rail.":"The summary is loaded. Select a file to fetch its patch text."})]})});if(!y.ok)return n.jsxs("div",{className:"rd-surface",children:[n.jsxs("div",{className:"rd-banner warning",children:[n.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),n.jsxs("span",{children:["Couldn’t parse the patch (",y.error,"). Showing raw text."]})]}),n.jsx("div",{className:"rd-surface-scroll",children:n.jsx(Z,{layer:h})})]});const $=h.files.filter(g=>g.truncated).length;return n.jsxs("div",{className:"rd-surface",ref:m,children:[r==="error"&&t?n.jsxs("div",{className:"rd-banner warning",children:[n.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),n.jsx("span",{children:s??"Couldn’t refresh this file; showing the cached chunk."})]}):null,h.truncated||$>0?n.jsxs("div",{className:"rd-banner warning",children:[n.jsx("span",{className:"rd-banner-dot","aria-hidden":!0}),n.jsx("span",{children:h.truncated?"This layer was truncated; some files or hunks are omitted.":`${$} file${$===1?"":"s"} truncated.`})]}):null,N?n.jsx("button",{type:"button",className:"rd-selection-context-chip",style:{left:N.left,top:N.top},onMouseDown:g=>g.preventDefault(),onClick:D,children:"+ selection"}):null,n.jsx("div",{className:"rd-surface-scroll",onMouseUp:x,onKeyUp:x,children:n.jsx(tt,{pierre:d,items:y.items,theme:u,layout:l,scrollToItemId:P,lineContexts:I,onIncludeLineContext:k,onIncludeSelectionContext:v})})]})}function tt({pierre:e,items:t,theme:r,layout:s,scrollToItemId:i,lineContexts:c,onIncludeLineContext:u,onIncludeSelectionContext:l}){const d=o.useRef(null),a=o.useRef(null);return o.useEffect(()=>{if(!d.current)return;const f=Ze(e,d.current);return a.current=f,()=>{a.current=null,setTimeout(()=>f.unmount(),0)}},[e]),o.useEffect(()=>{a.current?.render({items:t,theme:r,layout:s,lineContexts:c,onIncludeLineContext:u,onIncludeSelectionContext:l})},[t,r,s,c,u,l]),o.useEffect(()=>{if(!i)return;const f=requestAnimationFrame(()=>{a.current?.scrollToItem(i)});return()=>cancelAnimationFrame(f)},[i]),n.jsx("div",{ref:d,className:"rd-codeview-host"})}function Z({layer:e,onRetry:t}){return n.jsxs("div",{style:{padding:"var(--space-lg)"},children:[t?n.jsx("div",{className:"rd-center-action",style:{marginTop:0,marginBottom:"var(--space-md)"},children:n.jsx("button",{type:"button",className:"rd-btn",onClick:t,children:"Retry renderer"})}):null,n.jsx("pre",{style:{margin:0,whiteSpace:"pre",fontFamily:"var(--rd-mono)",fontSize:"var(--text-xs)",lineHeight:1.5,color:"var(--ink)"},children:e.rawPatch??"(no patch text)"})]})}const oe="openscout.repo-diff.files-rail-width",ee=268,nt=196,rt=520;function st(e,t){if(e.length<=t)return e;const r=e.lastIndexOf(".");if(r<=0){const d=Math.max(1,Math.floor((t-1)/2)),a=t-d-1;return e.slice(0,d)+"…"+e.slice(-Math.max(1,a))}const s=e.slice(0,r),i=e.slice(r),c=t-i.length-1;if(c<2){const d=Math.max(1,t-i.length-1);return s.slice(0,d)+"…"+i}const u=Math.max(1,Math.floor(c/2)),l=Math.max(1,c-u);return s.slice(0,u)+"…"+s.slice(-l)+i}function it(e,t){return Math.max(8,Math.floor((e-178-t*14)/6.7))}function z(e){return Math.max(nt,Math.min(rt,Math.round(e)))}function at(){if(typeof window>"u")return ee;const e=Number(window.localStorage.getItem(oe));return Number.isFinite(e)?z(e):ee}function lt(e){const t={name:"",path:"",firstIndex:Number.MAX_SAFE_INTEGER,children:new Map,files:[]};for(const r of e){t.firstIndex=Math.min(t.firstIndex,r.index);const s=r.dir?r.dir.split("/").filter(Boolean):[];let i=t;for(const c of s){const u=i.path?`${i.path}/${c}`:c;let l=i.children.get(c);l||(l={name:c,path:u,firstIndex:r.index,children:new Map,files:[]},i.children.set(c,l)),l.firstIndex=Math.min(l.firstIndex,r.index),i=l}i.files.push(r)}return t}function ce(e){let t=e.files.length;for(const r of e.children.values())t+=ce(r);return t}function ot({layer:e,selectedFileKey:t,onSelect:r,onIncludeFile:s}){const[i,c]=o.useState(at),[u,l]=o.useState(()=>new Set),d=o.useMemo(()=>(e?.files??[]).map((m,N)=>{const j=K(m,N),w=W(m),{name:h,dir:y}=ie(w),P=(m.status==="renamed"||m.status==="copied")&&m.oldPath&&m.newPath&&m.oldPath!==m.newPath;return{file:m,index:N,key:j,display:w,name:h,dir:y,renamed:!!P}}),[e]),a=o.useMemo(()=>lt(d),[d]),f=o.useCallback(m=>{l(N=>{const j=new Set(N);return j.has(m)?j.delete(m):j.add(m),j})},[]),b=o.useCallback(m=>{m.preventDefault();const N=m.clientX,j=i,w=y=>{c(z(j+y.clientX-N))},h=()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",h),c(y=>{const P=z(y);return window.localStorage.setItem(oe,String(P)),P})};window.addEventListener("pointermove",w),window.addEventListener("pointerup",h,{once:!0})},[i]),k=(m,N)=>n.jsx(ct,{entry:m,depth:N,railWidth:i,selected:m.key===t,onSelect:r,onIncludeFile:s},m.key),v=(m,N)=>{const j=[],w=[...m.children.values()].sort((h,y)=>h.firstIndex!==y.firstIndex?h.firstIndex-y.firstIndex:h.name.localeCompare(y.name));for(const h of w){const y=u.has(h.path);j.push(n.jsxs("button",{type:"button",className:"rd-dir-row",style:{paddingLeft:12+N*14},onClick:()=>f(h.path),title:h.path,children:[n.jsx("span",{className:"rd-dir-caret",children:y?"›":"⌄"}),n.jsx("span",{className:"rd-dir-name",children:h.name}),n.jsx("span",{className:"rd-dir-count",children:ce(h)})]},`dir:${h.path}`)),y||j.push(...v(h,N+1))}for(const h of m.files)j.push(k(h,N));return j};return n.jsxs("div",{className:"rd-rail",style:{width:i},children:[n.jsx("div",{className:"rd-rail-head",children:e?`Changed files · ${e.files.length}`:"Changed files"}),n.jsx("div",{className:"rd-rail-list",children:v(a,0)}),n.jsx("div",{className:"rd-rail-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file navigation",onPointerDown:b})]})}function ct({entry:e,depth:t,railWidth:r,selected:s,onSelect:i,onIncludeFile:c}){const{file:u,key:l,display:d,name:a,dir:f,renamed:b}=e,k=it(r,t),v=st(a,k);return n.jsxs("div",{className:"rd-file-row"+(s?" on":""),title:b?`${u.oldPath} → ${u.newPath}`:d,children:[n.jsxs("button",{type:"button",className:"rd-file-pick",style:{paddingLeft:18+t*14},onClick:()=>i(l),children:[n.jsx("span",{className:`rd-file-glyph ${u.status}`,children:$e[u.status]}),n.jsxs("span",{className:"rd-file-id",children:[n.jsx("span",{className:"rd-file-name",children:v}),n.jsx("span",{className:"rd-file-dir",children:b?`${u.oldPath} → ${f||a}`:f}),n.jsx(dt,{file:u})]})]}),n.jsx("span",{className:"rd-file-churn",children:u.binary?n.jsx("span",{className:"add",style:{color:"var(--muted)"},children:"bin"}):n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"add",children:["+",u.additions??0]}),n.jsxs("span",{className:"del",children:["−",u.deletions??0]})]})}),n.jsx("button",{type:"button",className:"rd-file-include",onClick:m=>{m.stopPropagation(),c(u,l)},"aria-label":`Include ${d} in comment`,title:"Include in comment",children:n.jsx(ye,{size:12,strokeWidth:2,"aria-hidden":!0})})]})}function dt({file:e}){const t=[];return e.binary&&t.push("BINARY"),e.truncated&&t.push("TRUNCATED"),e.status==="conflict"&&t.push("CONFLICT"),t.length===0?null:n.jsx("span",{className:"rd-file-tags",children:t.map(r=>n.jsx("span",{className:"rd-file-tag",children:r},r))})}function ut(e){switch(e?.trim().toLowerCase()){case"active":case"working":case"running":case"in_turn":return 80;case"queued":case"waiting":case"waking":case"in_flight":return 50;case"idle":case"available":return 25;case"offline":case"retired":case"stale":return-40;default:return 0}}function ft(e){return e.newPath??e.oldPath??"(unknown)"}function de(e){const t=e.scope?.kind==="session"?e.scope.agentId:null,r=new Map;for(const s of e.scout.hints)s.agentId&&r.set(s.agentId,(r.get(s.agentId)??0)+1);return e.scout.agents.map(s=>({id:s.id,label:te(s),score:ut(s.state)+(s.id===t?1e3:0)+(r.get(s.id)??0)*10})).sort((s,i)=>{const c=i.score-s.score;return c!==0?c:s.label.localeCompare(i.label)})}function ht(e){return de(e)[0]??null}function mt(e){const t=e.files.reduce((r,s)=>({add:r.add+(s.additions??0),del:r.del+(s.deletions??0)}),{add:0,del:0});return`${e.kind}: ${e.files.length} file${e.files.length===1?"":"s"}, +${t.add} -${t.del}${e.truncated?", truncated":""}`}function O(e){const t=e.binary?"binary":`+${e.additions??0} -${e.deletions??0}`;return`${e.status}: ${ft(e)} (${t}${e.truncated?", truncated":""})`}function pt(e){const t=e.scope;return t?t.kind==="session"?`session ${t.sessionId??t.refId??"(unknown)"} (${t.changedFiles} changed / ${t.touchedFiles} touched files, ${t.include})`:t.filteredPaths.length>0?`filtered worktree (${t.filteredPaths.length} paths)`:"worktree":"worktree"}function xt(e){const{comment:t,includedContext:r=[],snapshot:s,activeLayer:i,selectedFile:c}=e,l=((i?s.layers.find(f=>f.kind===i)??null:null)?.files??s.layers.flatMap(f=>f.files)).slice(0,12).map(O),d=s.scout.agents.map(f=>te(f)).slice(0,8),a=["Operator comment on repo diff:",t,"","Repo Diff context:",`- Worktree: ${s.worktreePath}`,`- Scope: ${pt(s)}`,`- Active layer: ${i??"none"}`];return r.length>0&&a.splice(3,0,"Included diff context:",...r.map(f=>f.trim()).filter(Boolean),""),c&&a.push(`- Selected file: ${O(c)}`),a.push(`- Layers: ${s.layers.map(mt).join("; ")}`),d.length>0&&a.push(`- Attached agents: ${d.join(", ")}`),s.scout.sessions.length>0&&a.push(`- Sessions: ${s.scout.sessions.map(f=>f.id).slice(0,8).join(", ")}`),l.length>0&&a.push(`- Changed files: ${l.join(", ")}`),s.diagnostics.length>0&&a.push(`- Diagnostics: ${s.diagnostics.map(f=>f.message).join("; ")}`),a.join(`
|
|
51
|
-
`)}function gt(e){const{snapshot:t,activeLayer:r,file:s}=e,i=[r??"diff",O(s)];return t.scope?.kind==="session"&&i.push(`session ${t.scope.sessionId??t.scope.refId??"scope"}`),`[Diff context: ${i.join(" · ")}]`}function bt(e,t,r){return!e||!t?null:e.files.find((s,i)=>r(s,i)===t)??null}function jt(e,t=120){const r=e.replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t-3)}...`:r}function yt(e,t=7){const r=e.trimEnd().split(`
|
|
52
|
-
`),s=r.slice(0,t),i=r.length-s.length;return i>0?`${s.join(`
|
|
53
|
-
`)}
|
|
54
|
-
... ${i} more line${i===1?"":"s"}`:s.join(`
|
|
55
|
-
`)}function wt(e){return e.newLine!=null?`L${e.newLine}`:e.oldLine!=null?`old L${e.oldLine}`:"line"}function kt(e){return e.side==="add"?"+":e.side==="del"?"-":" "}function vt(e){const{snapshot:t,activeLayer:r,file:s}=e,i=W(s),c=s.binary?"binary":`+${s.additions??0} -${s.deletions??0}`;return{id:`file:${r??"diff"}:${i}`,kind:"file",label:i,detail:`${r??"diff"} · ${s.status} · ${c}`,preview:null,snippet:gt({snapshot:t,activeLayer:r,file:s})}}function Nt(e){const{line:t}=e,r=kt(t);return{id:`line:${t.layer}:${t.filePath}:${t.side}:${t.oldLine??""}:${t.newLine??""}`,kind:"line",label:`${t.filePath}:${wt(t)}`,detail:`${t.layer} · ${r}`,preview:`${r} ${jt(t.text,180)}`,snippet:_e({line:t})}}function $t(e){const{selection:t}=e,r=t.filePath??"diff selection",s=t.text.trim().split(`
|
|
56
|
-
`).filter(Boolean).length;return{id:`selection:${t.layer??"diff"}:${r}:${t.text}`,kind:"selection",label:r,detail:`${t.layer??"diff"} · ${s} line${s===1?"":"s"}`,preview:yt(t.text),snippet:He({selection:t})}}function Ct({snapshot:e,activeLayer:t,selectedFile:r,setSelectedFileKey:s,resetKey:i}){const[c,u]=o.useState(""),[l,d]=o.useState([]),[a,f]=o.useState("scout"),[b,k]=o.useState(!1),[v,m]=o.useState(!1),[N,j]=o.useState(null),[w,h]=o.useState(null),y=o.useRef(null),P=o.useMemo(()=>e?de(e):[],[e]),I=o.useMemo(()=>e?ht(e):null,[e]);o.useEffect(()=>{u(""),d([]),k(!1),j(null),h(null)},[i]),o.useEffect(()=>{f(p=>b&&p==="scout"||P.some(S=>S.id===p)?p:I?.id??"scout")},[b,P,I?.id]);const D=o.useCallback(p=>{u(p),j(null),h(null)},[]),x=o.useCallback(p=>{k(!0),f(p)},[]),$=o.useCallback(p=>{d(S=>S.some(F=>F.id===p.id)?S:[...S,p]),j(null),h(null),queueMicrotask(()=>y.current?.focus())},[]),g=o.useCallback(p=>{d(S=>S.filter(F=>F.id!==p)),j(null),h(null)},[]),L=o.useCallback(async()=>{const p=c.trim();if(!p&&l.length===0||v||!e)return;const S=P.find(T=>T.id===a)??null,F=xt({comment:p||"Please review the included diff context.",includedContext:l.map(T=>T.snippet),snapshot:e,activeLayer:t,selectedFile:r});m(!0),j(null),h(null);try{S?(await q("/api/ask",{method:"POST",body:JSON.stringify({body:F,targetAgentId:S.id,targetLabel:S.label,metadata:{source:"repo-diff",originSurface:"repo-diff",handoffKind:"repo-diff-comment",targetAgentId:S.id,worktreePath:e.worktreePath,activeLayer:t,selectedFile:r?W(r):null,scopeKind:e.scope?.kind??"worktree"}})}),j(`Sent to ${S.label}`)):(await q("/api/send",{method:"POST",body:JSON.stringify({body:F})}),j("Sent to Scout")),u(""),d([])}catch(T){h(T instanceof Error?T.message:String(T))}finally{m(!1)}},[t,l,c,v,a,P,r,e]),C=o.useCallback((p,S)=>{e&&(s(S),$(vt({snapshot:e,activeLayer:t,file:p})))},[t,$,s,e]),E=o.useCallback(p=>{e&&$(Nt({line:p}))},[$,e]),R=o.useCallback(p=>{e&&$($t({selection:p}))},[$,e]);return{targets:P,targetId:a,setTargetId:x,draft:c,setDraft:D,contextItems:l,removeContextItem:g,pending:v,status:N,error:w,textareaRef:y,submit:L,includeFileInComment:C,includeLineInComment:E,includeSelectionInComment:R}}function St(e){const[t,r]=o.useState(null),[s,i]=o.useState("loading"),[c,u]=o.useState(null),l=o.useCallback(()=>{i("loading"),u(null),J().then(d=>{r(d),i("ready")},d=>{u(d instanceof Error?d.message:String(d)),i("error")})},[]);return o.useEffect(()=>{let d=!0;return J().then(a=>{d&&(r(a),i("ready"))},a=>{d&&(u(a instanceof Error?a.message:String(a)),i("error"))}),()=>{d=!1}},[]),o.useEffect(()=>{t&&e&&Oe(t,e.render.preferredTheme)},[t,e]),{pierre:t,pierrePhase:s,pierreError:c,retryPierre:l}}function Pt({path:e,activeLayer:t,selectedFile:r,snapshotKey:s}){const i=r?W(r):null,c=`${e}\0${t??""}\0${i??""}\0${s}`,[u,l]=o.useState({layer:null,phase:"idle",error:null}),d=o.useRef(c),a=o.useMemo(()=>!t||!i?null:ne(e,[t],{files:[i],tier:"patch",cacheScope:s}),[t,i,e,s]);return o.useEffect(()=>{if(d.current=c,!t||!i){l({layer:null,phase:"idle",error:null});return}if(a?.fresh){l({layer:a.snapshot.layers[0]??null,phase:"ready",error:null});return}l({layer:null,phase:"loading",error:null}),re(e,[t],{files:[i],tier:"patch",cacheScope:s}).then(f=>{d.current===c&&l({layer:f.snapshot.layers[0]??null,phase:"ready",error:null})},f=>{d.current===c&&l(b=>({layer:b.layer,phase:"error",error:f instanceof Error?f.message:String(f)}))})},[t,a,i,e,c]),u}function Lt(e){const[t,r]=o.useState(null),[s,i]=o.useState(null),[c,u]=o.useState("split");o.useEffect(()=>{e&&u(e.render.preferredLayout==="stacked"?"unified":"split")},[e]),o.useEffect(()=>{if(!e)return;const f=e.layers.filter(b=>b.files.length>0)[0]??e.layers[0]??null;r(b=>b&&e.layers.some(k=>k.kind===b)?b:f?f.kind:null)},[e]);const l=o.useMemo(()=>!e||!t?null:e.layers.find(a=>a.kind===t)??null,[e,t]),d=o.useMemo(()=>bt(l,s,K),[l,s]);return o.useEffect(()=>{if(!l){i(null);return}i(a=>{const f=l.files.map((b,k)=>K(b,k));return a&&f.includes(a)?a:f[0]??null})},[l]),{activeLayer:t,setActiveLayer:r,layer:l,selectedFileKey:s,setSelectedFileKey:i,selectedFile:d,layout:c,setLayout:u}}function Rt({path:e,layers:t,files:r,session:s,tier:i="summary",forceInitialLoad:c}){const u=t.join(","),l=o.useMemo(()=>u.split(","),[u]),d=(r??[]).join("\0"),a=s?`${s.sessionId??""}\0${s.agentId??""}\0${s.include??"changed"}`:"",f=o.useMemo(()=>({files:d?d.split("\0").filter(Boolean):void 0,tier:i,session:a?{sessionId:s?.sessionId??null,agentId:s?.agentId??null,include:s?.include??"changed"}:null}),[d,s?.agentId,s?.include,s?.sessionId,a,i]),[b,k]=o.useState(null),[v,m]=o.useState("loading"),[N,j]=o.useState(null),[w,h]=o.useState(null),y=o.useRef(null),P=o.useRef(!1);o.useEffect(()=>{y.current=b},[b]);const I=o.useCallback(async(x={})=>{const $=ne(e,l,f),g=x.force===!0||c&&!P.current,L=x.preserveCurrent===!0&&y.current!=null;j(null),$&&!g?(k($.snapshot),h(G($,!0)),m("ready")):L?(h(C=>({fetchedAt:C?.fetchedAt??Date.now(),cacheHit:C?.cacheHit??!1,refreshing:!0,refreshError:null})),m("ready")):(m("loading"),h(null));try{const C=await re(e,l,{force:g||$!=null,...f});g&&(P.current=!0),k(C.snapshot),h(Se(C,!1)),m("ready")}catch(C){const E=C instanceof Error?C.message:String(C);$?(h(G($,!1,E)),m("ready")):L?(h(R=>R&&{...R,refreshing:!1,refreshError:E}),m("ready")):(j(E),m("error"))}},[c,e,l,f]);o.useEffect(()=>{I()},[I]);const D=o.useCallback(()=>{I({force:!0,preserveCurrent:!0})},[I]);return{snapshot:b,fetchPhase:v,fetchError:N,freshness:w,filesKey:d,sessionKey:a,requestedLayers:l,loadSnapshot:I,refreshSnapshot:D}}function Et({path:e,layers:t=Ne,files:r,session:s,forceInitialLoad:i=!1,onClose:c,onOpenAsPage:u,className:l,title:d}){const{snapshot:a,fetchPhase:f,fetchError:b,freshness:k,filesKey:v,sessionKey:m,loadSnapshot:N,refreshSnapshot:j}=Rt({path:e,layers:t,files:r,session:s,tier:"summary",forceInitialLoad:i}),{pierre:w,pierrePhase:h,pierreError:y,retryPierre:P}=St(a),{activeLayer:I,setActiveLayer:D,layer:x,selectedFileKey:$,setSelectedFileKey:g,selectedFile:L,layout:C,setLayout:E}=Lt(a),R=Pt({path:e,activeLayer:I,selectedFile:L,snapshotKey:a?.render.renderKey??""}),p=Ct({snapshot:a,activeLayer:I,selectedFile:L,setSelectedFileKey:g,resetKey:`${e}\0${v}\0${m}`});if(f==="loading"&&!a)return n.jsx(H,{className:l,children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-spinner","aria-hidden":!0}),n.jsxs("div",{className:"rd-center-title",children:["Reading ",s?"session":"worktree"," diff…"]}),n.jsx("div",{className:"rd-center-body",children:e})]})});if(f==="error"&&!a)return n.jsx(H,{className:l,children:n.jsxs(M,{children:[n.jsx("div",{className:"rd-center-title",children:"Couldn’t load the diff"}),n.jsx("div",{className:"rd-center-body",children:b??"The broker did not return a diff snapshot."}),n.jsx("div",{className:"rd-center-action",children:n.jsx("button",{type:"button",className:"rd-btn",onClick:()=>{N()},children:"Retry"})})]})});if(!a)return n.jsx(H,{className:l});const S=d??we(a.worktreePath);return n.jsxs(H,{className:l,children:[n.jsx(Re,{heading:S,worktreePath:a.worktreePath,snapshot:a,freshness:k,activeLayer:I,onLayer:D,layout:C,onLayout:E,refreshing:k?.refreshing===!0,onRefresh:j,onFocusComment:()=>{p.textareaRef.current?.scrollIntoView({block:"nearest"}),p.textareaRef.current?.focus()},onClose:c,onOpenAsPage:u}),n.jsx(Ie,{snapshot:a}),n.jsxs("div",{className:"rd-body",children:[n.jsx(ot,{layer:x,selectedFileKey:$,onSelect:g,onIncludeFile:p.includeFileInComment}),n.jsx(Pe,{snapshot:a,selectedFile:L,targets:p.targets,targetId:p.targetId,onTargetId:p.setTargetId,draft:p.draft,onDraft:p.setDraft,contextItems:p.contextItems,onRemoveContextItem:p.removeContextItem,pending:p.pending,status:p.status,error:p.error,textareaRef:p.textareaRef,onSubmit:p.submit}),n.jsx(et,{layer:x,patchLayer:R.layer,patchPhase:R.phase,patchError:R.error,selectedFileKey:$,renderKey:a.render.renderKey,theme:a.render.preferredTheme,layout:C,pierre:w,pierrePhase:h,pierreError:y,onRetryPierre:P,onIncludeLineContext:p.includeLineInComment,onIncludeSelectionContext:p.includeSelectionInComment})]})]})}export{Et as RepoDiffViewer,Et as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as l,r as c,a as b,j as r,b as h,c as v,d as f,R as p,s as x}from"./index-DPFmfHm5.js";function j(e,o){if(!e||typeof e!="object"||!o||typeof o!="object")return!1;const t=e;return Object.entries(o).every(([n,a])=>t[n]===a)}function w({surface:e}){const{route:o,navigate:t,agents:n}=l(),a=e.Screen,s=e.embed,d=typeof window>"u"||e.embedPaths.includes(window.location.pathname)||j(o,e.route),i=c.useMemo(()=>s.resolveEmbedProps?s.resolveEmbedProps(new URLSearchParams(window.location.search)):{},[s]),u=b(s),m=[s.rootClassName,"s-discovered-embed",u.showSecondaryNav?"":"s-discovered-embed--lean"].filter(Boolean).join(" ");return r.jsx("div",{className:m,"data-scout-theme":!0,"data-scout-surface":e.id,children:d?r.jsx(a,{navigate:t,embedded:!0,...i}):h(o,t,n)})}function S(e,o){const t=v(window.location.pathname);return t?(f.createRoot(e).render(r.jsx(c.StrictMode,{children:r.jsx(p,{router:x,children:r.jsx(o.Provider,{children:r.jsx(w,{surface:t})})})})),!0):!1}export{S as mountDiscoveredEmbed};
|