@readmagic/workmate 0.0.4 → 0.0.6
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/dist/chunks/{AddWorkspaceDirectory-BTC7FPqM.js → AddWorkspaceDirectory-ClHi-Dr6.js} +1 -1
- package/dist/chunks/{App-DOm71vtY.js → App-BP06lHmf.js} +1 -1
- package/dist/chunks/{ApproveApiKey-9YQzwrrC.js → ApproveApiKey-Bsy8kr2a.js} +1 -1
- package/dist/chunks/ApproveApiKey-a2ZonQ3n.js +1 -0
- package/dist/chunks/{AssistantSessionChooser-CnYfFWrx.js → AssistantSessionChooser-CcocKoTJ.js} +1 -1
- package/dist/chunks/BackgroundTasksDialog-DNeBhGCf.js +2 -0
- package/dist/chunks/{BypassPermissionsModeDialog-DAq-qbqC.js → BypassPermissionsModeDialog-BKj_3Idm.js} +1 -1
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-CyvidoR3.js → ClaudeMdExternalIncludesDialog-BD-7yAZh.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DFivNFuo.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-CS3zjEPF.js +1 -0
- package/dist/chunks/{DesktopHandoff-gRvy-WlW.js → DesktopHandoff-BmPmCfT3.js} +1 -1
- package/dist/chunks/{DiffDialog-CdfVTgOx.js → DiffDialog-C4XSSjvV.js} +2 -2
- package/dist/chunks/Doctor-BhD-ZzZm.js +1 -0
- package/dist/chunks/Doctor-DEQe2q16.js +3 -0
- package/dist/chunks/ExitFlow-BttnAv-O.js +2 -0
- package/dist/chunks/{Feedback-gGpjUC_F.js → Feedback-BaYA8-SU.js} +2 -2
- package/dist/chunks/Grove-BJziCbZH.js +11 -0
- package/dist/chunks/Grove-sWm-oLBf.js +1 -0
- package/dist/chunks/{HybridTransport-kN1jmg26.js → HybridTransport-B8V6O6rM.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-BpJub73a.js → InvalidConfigDialog-CHzBSJDf.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-DzOp3Ihx.js → InvalidSettingsDialog-BKenH3bD.js} +1 -1
- package/dist/chunks/MCPConnectionManager-CNh9dNlk.js +1 -0
- package/dist/chunks/{McpParsingWarnings-Cc6FWyU4.js → McpParsingWarnings-Bj2-YL8o.js} +1 -1
- package/dist/chunks/MessageSelector-DdR6wJhh.js +3 -0
- package/dist/chunks/Messages-Ch6cboMV.js +11 -0
- package/dist/chunks/{Onboarding-D00lTweB.js → Onboarding-BrAJp0aL.js} +1 -1
- package/dist/chunks/{OverageCreditUpsell-B-Bf_-UX.js → OverageCreditUpsell-Ds1cB7RC.js} +1 -1
- package/dist/chunks/PluginSettings-CGqEzejq.js +17 -0
- package/dist/chunks/{PromptInputFooterSuggestions-MwS_cExV.js → PromptInputFooterSuggestions-egs9VvUs.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-V2dEpzhC.js → PromptInputHelpMenu-SieM5NoY.js} +1 -1
- package/dist/chunks/QueryEngine-CZZMl3PB.js +1 -0
- package/dist/chunks/REPL-CG2N7E4Q.js +142 -0
- package/dist/chunks/REPL-DvA910N_.js +1 -0
- package/dist/chunks/{RemoteCallout-ChCjmgw1.js → RemoteCallout-Cs-ro8_i.js} +1 -1
- package/dist/chunks/RemoteSessionManager-B740Dp6m.js +2 -0
- package/dist/chunks/ResumeConversation-DzV2zmuX.js +1 -0
- package/dist/chunks/{SSETransport-h43pQVlJ.js → SSETransport-DtpMDekF.js} +3 -3
- package/dist/chunks/SearchExtraToolsTool-C4uO-Zx3.js +1 -0
- package/dist/chunks/Settings-XKw6FI_m.js +2 -0
- package/dist/chunks/{TeleportProgress-QtJrXSCX.js → TeleportProgress-rYaHIEfe.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-D-HVj-A6.js → TeleportRepoMismatchDialog-DY97YZMB.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-C6sbzJsJ.js → TeleportResumeWrapper-jaQzyTCh.js} +1 -1
- package/dist/chunks/{ThemePicker-CqPCp5Hs.js → ThemePicker-BViWzLp3.js} +1 -1
- package/dist/chunks/{TrustDialog-CeVwxDlZ.js → TrustDialog-DGJ_BisZ.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-Bl68E-2-.js → ValidationErrorsList-B8pRiGuy.js} +1 -1
- package/dist/chunks/{WelcomeV2-DNiXQ5ES.js → WelcomeV2-DqnbSdIu.js} +1 -1
- package/dist/chunks/{add-dir-V3xjklnJ.js → add-dir-C2Hu3oE4.js} +1 -1
- package/dist/chunks/{agentDisplay-BuiwcrQi.js → agentDisplay-XoDJhr03.js} +1 -1
- package/dist/chunks/agents-BIHTGDYh.js +103 -0
- package/dist/chunks/{agents-ZY6IaVE7.js → agents-C4QXeHIJ.js} +1 -1
- package/dist/chunks/allErrors-1896uQA1.js +1 -0
- package/dist/chunks/{ant-D66LZCap.js → ant-B6k6cBts.js} +1 -1
- package/dist/chunks/api-BsFW57_Q.js +1 -0
- package/dist/chunks/api-gqTA-D7n.js +1 -0
- package/dist/chunks/{assistant-CYF7ch7C.js → assistant-DJ9hd4uC.js} +1 -1
- package/dist/chunks/auth-8Vd3_U8t.js +1 -0
- package/dist/chunks/auth-BnSrKyJe.js +15 -0
- package/dist/chunks/auth-DRTjfnGy.js +1 -0
- package/dist/chunks/{autoMode-TysBQkU_.js → autoMode-BNukrVAB.js} +1 -1
- package/dist/chunks/{autonomy-k3QPea5z.js → autonomy-BEmI7WVW.js} +1 -1
- package/dist/chunks/{autonomy-CNEbT-t_.js → autonomy-DGcy5Rml.js} +7 -7
- package/dist/chunks/{autonomyPanel-DiztRblF.js → autonomyPanel-fhge09AG.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-3i_d_WW5.js +1 -0
- package/dist/chunks/backgroundHousekeeping-BVMf_Tjn.js +17 -0
- package/dist/chunks/{branch-_NBgDfrK.js → branch-Bpe-gocq.js} +1 -1
- package/dist/chunks/{break-cache-BQfgkNAo.js → break-cache-C_p7Kmx2.js} +3 -3
- package/dist/chunks/{bridge-DpmFl8p8.js → bridge-D12Shbkj.js} +2 -2
- package/dist/chunks/{bridgeConfig-DMBOO3gW.js → bridgeConfig-BhxRF2vm.js} +1 -1
- package/dist/chunks/bridgeConfig-CqIQ_rvD.js +1 -0
- package/dist/chunks/bridgeEnabled-D0XC5kNh.js +1 -0
- package/dist/chunks/bridgeEnabled-SbB-6zdY.js +1 -0
- package/dist/chunks/bridgeMain-DHUpZFgL.js +68 -0
- package/dist/chunks/bridgeMain-DUbQjgCp.js +1 -0
- package/dist/chunks/{bridgeMessaging-N5zlzCCr.js → bridgeMessaging-DHc5dOhB.js} +1 -1
- package/dist/chunks/{btw-BFRje_Zi.js → btw-D9hMM5d2.js} +1 -1
- package/dist/chunks/caches-CWzT7e6Y.js +1 -0
- package/dist/chunks/{caches-CcfPJ4_A.js → caches-UeVVM3T0.js} +2 -2
- package/dist/chunks/{ccrClient-q2JCVCU2.js → ccrClient-Iza0L8Zw.js} +1 -1
- package/dist/chunks/{clear-CxY7W5Wt.js → clear-B4d38ssF.js} +1 -1
- package/dist/chunks/client-BzKQTXzF.js +1 -0
- package/dist/chunks/{color-DOWhfjnA.js → color-D8VOyoYl.js} +1 -1
- package/dist/chunks/commands-DDamMmo4.js +1 -0
- package/dist/chunks/commitAttribution-CgohL8vD.js +1 -0
- package/dist/chunks/{commitAttribution-CLbEIaRJ.js → commitAttribution-ChAgixdj.js} +2 -2
- package/dist/chunks/compact-IFHwxjZ9.js +2 -0
- package/dist/chunks/config-DY5-_kk_.js +1 -0
- package/dist/chunks/{config-DiT2Z8dY.js → config-DmomySWC.js} +1 -1
- package/dist/chunks/config-WxgxrQoP.js +1 -0
- package/dist/chunks/{context-B2OvKo2t.js → context-Cl6BJ2vm.js} +1 -1
- package/dist/chunks/{context-noninteractive-BuGxX3YL.js → context-noninteractive-9hELVC29.js} +2 -2
- package/dist/chunks/context-noninteractive-Beij5MfU.js +1 -0
- package/dist/chunks/conversation-BBB91hEw.js +1 -0
- package/dist/chunks/conversation-BWVTM40Y.js +1 -0
- package/dist/chunks/{createSSHSession-C-c7I5iJ.js → createSSHSession-BM-5pbv6.js} +1 -1
- package/dist/chunks/createSession-CoQtL5Rj.js +1 -0
- package/dist/chunks/{createSession-D_fIDqgc.js → createSession-Cvl1Q50F.js} +1 -1
- package/dist/chunks/crossProjectResume-BasMLl2n.js +40 -0
- package/dist/chunks/{datadog-Ed8emSFA.js → datadog-CpqEQbHa.js} +1 -1
- package/dist/chunks/{desktop-D_ofPlyi.js → desktop-B_L6T6jI.js} +1 -1
- package/dist/chunks/{diff-CUAgBDu1.js → diff-CVzOodeg.js} +1 -1
- package/dist/chunks/doctor-1L0TFuGw.js +1 -0
- package/dist/chunks/{entry-Bh0gPOAo.js → entry-DHVYCR26.js} +3 -3
- package/dist/chunks/envLessBridgeConfig-CN0_44-p.js +1 -0
- package/dist/chunks/{envLessBridgeConfig-DJHZAlU-.js → envLessBridgeConfig-Ck2-KMq0.js} +1 -1
- package/dist/chunks/{esm-B62dCLgf.js → esm-D5q6s4l8.js} +1 -1
- package/dist/chunks/exit-Bm1S_f3i.js +1 -0
- package/dist/chunks/extra-usage-UHAWtypK.js +1 -0
- package/dist/chunks/{extra-usage-core-B6ga8Rni.js → extra-usage-core-BFOolqoi.js} +1 -1
- package/dist/chunks/{extra-usage-noninteractive-Dc9AndId.js → extra-usage-noninteractive-cUGZy0en.js} +1 -1
- package/dist/chunks/{extra-usage-CjaHpu8y.js → extra-usage-zDHVtWKZ.js} +1 -1
- package/dist/chunks/extraUsage-Dq66zzqR.js +1 -0
- package/dist/chunks/extractMemories-BcaklA33.js +1 -0
- package/dist/chunks/fast-DALAHO3d.js +1 -0
- package/dist/chunks/{fast-CW_NsL0x.js → fast-MS7WZpD8.js} +1 -1
- package/dist/chunks/{feedback-BpRorTAC.js → feedback-Fw4m28ZC.js} +1 -1
- package/dist/chunks/firstPartyEventLogger-CS9jVz6D.js +1 -0
- package/dist/chunks/{firstPartyEventLogger-CuUiNdj8.js → firstPartyEventLogger-CoSUd0a1.js} +2 -2
- package/dist/chunks/{flushGate-BltVae97.js → flushGate-De-yppeo.js} +1 -1
- package/dist/chunks/{gemini-YyIxfveQ.js → gemini-BPziscyN.js} +1 -1
- package/dist/chunks/{generateRecap-tx4wLIkI.js → generateRecap-jGDLI_wU.js} +1 -1
- package/dist/chunks/{generateSessionName-BkDigIN8.js → generateSessionName-hDJ6HBJ1.js} +1 -1
- package/dist/chunks/{githubRepoPathMapping-C4umZ1oC.js → githubRepoPathMapping-qAoiyj6P.js} +1 -1
- package/dist/chunks/{goal-DZrD4puM.js → goal-CFx4eRkf.js} +3 -3
- package/dist/chunks/{grok-BZf7W_hL.js → grok-Byblph7F.js} +1 -1
- package/dist/chunks/{grove-CFBPplP6.js → grove-CpqjcGCb.js} +2 -2
- package/dist/chunks/{heapdump-DWc3Z2NO.js → heapdump-C4kPlqGt.js} +1 -1
- package/dist/chunks/{help-pap9jNUJ.js → help-B1h-faJ3.js} +1 -1
- package/dist/chunks/hooks-DPLIIpAD.js +1 -0
- package/dist/chunks/{hooks-Bmat0L6A.js → hooks-X6J03MnA.js} +2 -2
- package/dist/chunks/hostGuard-BHI6Q8Mt.js +1 -0
- package/dist/chunks/inboundAttachments-BekVc0W-.js +1 -0
- package/dist/chunks/{inboundAttachments-DkfNHtF9.js → inboundAttachments-CUJE3KaU.js} +1 -1
- package/dist/chunks/initReplBridge-JQ-afRx9.js +1 -0
- package/dist/chunks/{install-D4jmHjmk.js → install-D5YORIJL.js} +1 -1
- package/dist/chunks/{instrumentation-Nqgm1SMw.js → instrumentation-Bw3CxPQf.js} +4 -4
- package/dist/chunks/{job-CT9bcgPb.js → job-DOWtcltx.js} +1 -1
- package/dist/chunks/keybindings-BLw5J-Zj.js +2 -0
- package/dist/chunks/{language-BA5WprZv.js → language-C6Fq-XOZ.js} +1 -1
- package/dist/chunks/language-Cqw5gYJR.js +1 -0
- package/dist/chunks/launchAgentsPlatform-jWWf-Lk9.js +1 -0
- package/dist/chunks/{launchLocalMemory-CRMqifzn.js → launchLocalMemory-kHeD0I0y.js} +2 -2
- package/dist/chunks/{launchLocalVault-DlKX_oDE.js → launchLocalVault-DLqkOjmb.js} +3 -3
- package/dist/chunks/launchMemoryStores-Ct7AVXrO.js +1 -0
- package/dist/chunks/{launchOnboarding-DTdUA_wE.js → launchOnboarding-Cc6WwPX9.js} +1 -1
- package/dist/chunks/launchSchedule-ZyvuvjgU.js +1 -0
- package/dist/chunks/launchSkillStore-BejQnLog.js +1 -0
- package/dist/chunks/{launchTeleport-CXFRPVMR.js → launchTeleport-8CuYUfIR.js} +3 -3
- package/dist/chunks/launchVault-DIvIOuPh.js +1 -0
- package/dist/chunks/{loadAgentsDir-BURvZNN6.js → loadAgentsDir-D206qwP3.js} +632 -632
- package/dist/chunks/loadAgentsDir-TZjwTqdr.js +1 -0
- package/dist/chunks/loadPluginHooks-Ddhsyn0_.js +1 -0
- package/dist/chunks/{localSearch-D2Rs8wQP.js → localSearch-CzrbOklu.js} +1 -1
- package/dist/chunks/localSearch-DrOAL6f4.js +1 -0
- package/dist/chunks/{logoV2Utils-DN9nzdX-.js → logoV2Utils-8M56V7oN.js} +1 -1
- package/dist/chunks/{magicDocs-DIeTcwAA.js → magicDocs-DWjL2k7P.js} +3 -3
- package/dist/chunks/{main-CI54PZrG.js → main-BohPzJFF.js} +86 -86
- package/dist/chunks/{mappers-Q_Z3Kjo-.js → mappers-BDMZFgKx.js} +1 -1
- package/dist/chunks/mcp-Bt1ITh-Z.js +1 -0
- package/dist/chunks/{mcp-RvwPC7FB.js → mcp-CwJ-AIpt.js} +4 -4
- package/dist/chunks/mcp-W0LFoyFR.js +2 -0
- package/dist/chunks/memory-3wV7m7UU.js +1 -0
- package/dist/chunks/{mode-Jl_Boaym.js → mode-CUkHFkju.js} +2 -2
- package/dist/chunks/model-BY3auM2c.js +1 -0
- package/dist/chunks/model-CKkOnnnx.js +1 -0
- package/dist/chunks/model-DRXcJyU9.js +1 -0
- package/dist/chunks/{nativeInstaller-8arnRiUO.js → nativeInstaller-CA5d6_G7.js} +1 -1
- package/dist/chunks/{onChangeAppState-DBantDJ6.js → onChangeAppState-DBmy2Ow_.js} +1 -1
- package/dist/chunks/openai-Cbomn0Ws.js +10 -0
- package/dist/chunks/{overageCreditGrant-CN_sVURL.js → overageCreditGrant-DsUrmeBh.js} +1 -1
- package/dist/chunks/{panel-CrTPqXCv.js → panel-BSZGX6jN.js} +1 -1
- package/dist/chunks/{panelCall-CPKC6VR5.js → panelCall-BsVoL1uF.js} +1 -1
- package/dist/chunks/{partition-CW0BJ881.js → partition-BAakXjvj.js} +1 -1
- package/dist/chunks/{passes-DOm9ukdK.js → passes-CLRt7Cvm.js} +1 -1
- package/dist/chunks/permissions-BVSFuwNP.js +3 -0
- package/dist/chunks/{pidLock-C69HNTTb.js → pidLock-D5rUnDB-.js} +2 -2
- package/dist/chunks/{plan-B0rEs32a.js → plan-SYZ4DXR8.js} +1 -1
- package/dist/chunks/{plugin-BSEMgcGu.js → plugin-Bfjzhmrk.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-CTByPD8J.js → pluginAutoupdate-reO2PgtQ.js} +1 -1
- package/dist/chunks/{pluginBlocklist-mogKaK0p.js → pluginBlocklist-C3H2afWG.js} +1 -1
- package/dist/chunks/pluginCliCommands-lqdxdkQp.js +1 -0
- package/dist/chunks/{pluginFlagging-mHNff1t9.js → pluginFlagging-D9HKAGBC.js} +1 -1
- package/dist/chunks/{pluginOperations-JEedVzfS.js → pluginOperations-EN3EKLux.js} +2 -2
- package/dist/chunks/{pluginStartupCheck-RscVZDi4.js → pluginStartupCheck-BY73BMT2.js} +1 -1
- package/dist/chunks/pluginStartupCheck-CwWOlveD.js +1 -0
- package/dist/chunks/plugins-Dn6ceWrT.js +4 -0
- package/dist/chunks/policyLimits-CkTI5KEt.js +1 -0
- package/dist/chunks/{poor-DekfGNT7.js → poor-j-y-bv8o.js} +1 -1
- package/dist/chunks/{poorMode-CtcqaiwD.js → poorMode-DhzFKpPl.js} +1 -1
- package/dist/chunks/poorMode-V11s-3cf.js +1 -0
- package/dist/chunks/print-Db_VXmfO.js +23 -0
- package/dist/chunks/{privacy-settings-CwJ1H8Ua.js → privacy-settings-DHMJREbb.js} +1 -1
- package/dist/chunks/processBashCommand-BcM_fhV9.js +1 -0
- package/dist/chunks/processSlashCommand-DEVo3GPX.js +5 -0
- package/dist/chunks/{prompt-DNDgGM9q.js → prompt-BNHtszmZ.js} +1 -1
- package/dist/chunks/prompt-CrX31AGm.js +1 -0
- package/dist/chunks/prompt-IAvMxKDl.js +1 -0
- package/dist/chunks/{promptEditor-DMJyosKj.js → promptEditor-DeMrXUir.js} +2 -2
- package/dist/chunks/{protocolHandler-z2zxAtB1.js → protocolHandler-BHxBy84Z.js} +1 -1
- package/dist/chunks/rate-limit-options-DIudL9fb.js +1 -0
- package/dist/chunks/{rcDebugLog-DoL1FpGJ.js → rcDebugLog-CUy1_F23.js} +1 -1
- package/dist/chunks/reconciler-BXpPyfSY.js +4 -0
- package/dist/chunks/{referral-UKJv23_5.js → referral-CUaIo_vT.js} +1 -1
- package/dist/chunks/{refresh-ul_i5R1a.js → refresh-CuaVBIQ0.js} +1 -1
- package/dist/chunks/{registerProtocol-CukLQuxJ.js → registerProtocol-B7Fzdofu.js} +1 -1
- package/dist/chunks/{release-notes-CGv_6MMt.js → release-notes-fbfv2DC0.js} +1 -1
- package/dist/chunks/{releaseNotes-BKZNuDLD.js → releaseNotes-CxAHFLPl.js} +2 -2
- package/dist/chunks/{reload-plugins-2W11dpLQ.js → reload-plugins-B9IT9CFA.js} +1 -1
- package/dist/chunks/{remote-env-D9xsoBfx.js → remote-env-BOklGlll.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-asY9JAXU.js → remoteBridgeCore-j0bG1zjv.js} +1 -1
- package/dist/chunks/{remoteManagedSettings-Bxo3bv1U.js → remoteManagedSettings-Cq994lyc.js} +1 -1
- package/dist/chunks/{rename-CHsHMWpO.js → rename-Iev7wQsI.js} +1 -1
- package/dist/chunks/{resume-NduOaghx.js → resume-y7MCTZHJ.js} +2 -2
- package/dist/chunks/{runtimeObserver-Bo80nWQf.js → runtimeObserver-BZcJ1FbH.js} +1 -1
- package/dist/chunks/{runtimeObserver-BXbjibFk.js → runtimeObserver-CyzLASla.js} +3 -3
- package/dist/chunks/sandbox-adapter-Cu1FYrkh.js +1 -0
- package/dist/chunks/{sandbox-toggle-C-WCDRN4.js → sandbox-toggle-CWpBO228.js} +1 -1
- package/dist/chunks/searchExtraTools-BUOUds7p.js +1 -0
- package/dist/chunks/{session-pDd13-wE.js → session-DL4cA_8l.js} +2 -2
- package/dist/chunks/{sessionDiscovery-CSUnpsCy.js → sessionDiscovery-DAfNKqp1.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-2cgIIxPk.js +1 -0
- package/dist/chunks/sessionMemory-BS8_TbKj.js +1 -0
- package/dist/chunks/sessionMemory-D5fSHXvZ.js +1 -0
- package/dist/chunks/sessionMemoryUtils-BWUztNh6.js +1 -0
- package/dist/chunks/sessionObserver-ChfQtK2m.js +1 -0
- package/dist/chunks/{sessionObserver-Ur7PqKl_.js → sessionObserver-ShbCwJ8x.js} +1 -1
- package/dist/chunks/sessionStorage-Cf5wmnyB.js +1 -0
- package/dist/chunks/{sessionTitle-pWMaI79N.js → sessionTitle-coed9IuJ.js} +1 -1
- package/dist/chunks/{sessionTracing-CCPRzOvy.js → sessionTracing-D9rUyiq0.js} +1 -1
- package/dist/chunks/{settings-DfWP5y6X.js → settings-BovzmwMP.js} +2 -2
- package/dist/chunks/settingsSync-PqU9XGJq.js +1 -0
- package/dist/chunks/setup-B_FOvNpp.js +3 -0
- package/dist/chunks/{shadowedRuleDetection-Chi3afMR.js → shadowedRuleDetection-D1wsAdpp.js} +1 -1
- package/dist/chunks/{sideQuestion-D03MXdE2.js → sideQuestion-wSi38p81.js} +1 -1
- package/dist/chunks/sinks-BpcRrN_T.js +1 -0
- package/dist/chunks/{sinks-B4_pw0Gb.js → sinks-C_Dl1p4K.js} +2 -2
- package/dist/chunks/{skill-learning-7ZQF5JvA.js → skill-learning-B5tmc7EX.js} +1 -1
- package/dist/chunks/skillChangeDetector-DNqohXxz.js +1 -0
- package/dist/chunks/{skillGapStore-BND2Lq0Z.js → skillGapStore-D-kQKVDZ.js} +1 -1
- package/dist/chunks/{skillGapStore-z3LP64O-.js → skillGapStore-Df5BWAk5.js} +2 -2
- package/dist/chunks/{skillGenerator-DaNb-yKH.js → skillGenerator-DbcdpAkw.js} +2 -2
- package/dist/chunks/skillLearning-C5cXZE6_.js +1 -0
- package/dist/chunks/{skillLearning-rMX1bSBa.js → skillLearning-ClRiDcJH.js} +1 -1
- package/dist/chunks/{skillPanel-q7GPSQ6_.js → skillPanel-LBd4E-MM.js} +3 -3
- package/dist/chunks/{skillSearchPanel-oj8gy1ZL.js → skillSearchPanel-CErRnUwo.js} +3 -3
- package/dist/chunks/{skills-QqbeFP0s.js → skills-CBKhfg_a.js} +1 -1
- package/dist/chunks/{stats-DmFubHpI.js → stats-BY4dskVg.js} +1 -1
- package/dist/chunks/{status-DW3Z_7xa.js → status-BnJIXtKl.js} +2 -2
- package/dist/chunks/{status-BEIsLmfj.js → status-DU-B4SMW.js} +1 -1
- package/dist/chunks/{statusNoticeHelpers-CaHS8xig.js → statusNoticeHelpers-CzTuGNuC.js} +1 -1
- package/dist/chunks/{tag-CRg93Die.js → tag-B-wVW9Aj.js} +2 -2
- package/dist/chunks/{tasks-BEohK1ij.js → tasks-CBVL005y.js} +1 -1
- package/dist/chunks/teleport-dtqQXM4x.js +1 -0
- package/dist/chunks/{templateJobs-DYP1fjYU.js → templateJobs-D6998LcG.js} +1 -1
- package/dist/chunks/{terminalSetup-RDKg8dVa.js → terminalSetup-0SBdyKF5.js} +1 -1
- package/dist/chunks/{terminalSetup-BNs9nLbT.js → terminalSetup-CuV-qU6v.js} +1 -1
- package/dist/chunks/{theme-kNL4kl_3.js → theme-p0AooruD.js} +1 -1
- package/dist/chunks/thinkback-Catprqs_.js +1 -0
- package/dist/chunks/thinkback-DI2NpvG-.js +1 -0
- package/dist/chunks/{thinkback-play-BpWMqbgJ.js → thinkback-play-CqrIRx2o.js} +1 -1
- package/dist/chunks/{toolEventObserver-C98uraqD.js → toolEventObserver-DTccwC3c.js} +1 -1
- package/dist/chunks/{toolEventObserver-ar5NDa0M.js → toolEventObserver-DlH73w-S.js} +1 -1
- package/dist/chunks/toolPool-B64V-jmK.js +1 -0
- package/dist/chunks/{trustedDevice-BBKUhCCL.js → trustedDevice-BTYoQCkC.js} +1 -1
- package/dist/chunks/trustedDevice-CiwjT_Y6.js +1 -0
- package/dist/chunks/types-Bh9S_JG5.js +3 -0
- package/dist/chunks/types-DHkZVzJe.js +1 -0
- package/dist/chunks/{ultrareviewCommand-yXlFsMnv.js → ultrareviewCommand-BDFUS3hf.js} +2 -2
- package/dist/chunks/undercover-XYapZ_SS.js +1 -0
- package/dist/chunks/{undercover-BTIRVF1t.js → undercover-vuTpCnQJ.js} +2 -2
- package/dist/chunks/{updateCCB-B2xAJ4Nr.js → updateCCB-DFL5Wt_I.js} +1 -1
- package/dist/chunks/upgrade-D5qwcaWQ.js +1 -0
- package/dist/chunks/upgrade-DIg3j929.js +1 -0
- package/dist/chunks/{upload-BWVIHmMB.js → upload-B_yADHX9.js} +1 -1
- package/dist/chunks/usage-C0SnnC-i.js +1 -0
- package/dist/chunks/usage-CYJKE8N6.js +1 -0
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-CV4GZ-sq.js → useExitOnCtrlCDWithKeybindings-DKIqRraH.js} +1 -1
- package/dist/chunks/useMainLoopModel-XetDUXd-.js +1 -0
- package/dist/chunks/useManagePlugins-B2KhKiu5.js +1 -0
- package/dist/chunks/{useMergedTools-CRLWSGDl.js → useMergedTools-CKvwz_Zt.js} +1 -1
- package/dist/chunks/{useSearchInput-BzGq4t7t.js → useSearchInput-D1Vr2Js1.js} +1 -1
- package/dist/chunks/useSettingsErrors-B7BXHchG.js +1 -0
- package/dist/chunks/{util-BnReK81E.js → util-BaDs-wL5.js} +1 -1
- package/dist/chunks/validatePlugin-DtiYlXby.js +1 -0
- package/dist/chunks/{vim-C0KTnJJs.js → vim-C-icQDz1.js} +1 -1
- package/dist/chunks/{workerRegistry-CUXbNyL9.js → workerRegistry-ChqPPIaO.js} +1 -1
- package/dist/chunks/worktree-DAn8ooa1.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/ApproveApiKey-LPrZMlgU.js +0 -1
- package/dist/chunks/BackgroundTasksDialog-D_UHm7xo.js +0 -2
- package/dist/chunks/ClaudeMdExternalIncludesDialog--w2zWWEn.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-BXdC6j3_.js +0 -1
- package/dist/chunks/Doctor-BuiYwjAS.js +0 -1
- package/dist/chunks/Doctor-DKlHJBXq.js +0 -3
- package/dist/chunks/ExitFlow-rExuBL3w.js +0 -2
- package/dist/chunks/Grove-CD769Wvw.js +0 -11
- package/dist/chunks/Grove-ENfM8hC6.js +0 -1
- package/dist/chunks/MCPConnectionManager-CaBvO7NB.js +0 -1
- package/dist/chunks/MessageSelector-DOB1S2-O.js +0 -3
- package/dist/chunks/Messages-Clihwd2F.js +0 -11
- package/dist/chunks/PluginSettings-DUxj_oAg.js +0 -17
- package/dist/chunks/QueryEngine-BLcPQYq_.js +0 -1
- package/dist/chunks/REPL-B_E07dnf.js +0 -142
- package/dist/chunks/REPL-BhURgntS.js +0 -1
- package/dist/chunks/RemoteSessionManager-B43isWQs.js +0 -2
- package/dist/chunks/ResumeConversation-DaQ9n8_C.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-DSq7beKs.js +0 -1
- package/dist/chunks/Settings-CNsaWv8g.js +0 -2
- package/dist/chunks/agents-D7um1IXM.js +0 -103
- package/dist/chunks/allErrors-CHVdQ3fT.js +0 -1
- package/dist/chunks/api-C-rOQY-l.js +0 -1
- package/dist/chunks/api-Dmn7DUgU.js +0 -1
- package/dist/chunks/auth-C4Rvit2q.js +0 -1
- package/dist/chunks/auth-Cj7EX1eG.js +0 -1
- package/dist/chunks/auth-DAxGNCIR.js +0 -15
- package/dist/chunks/backgroundHousekeeping-C9m4tiFi.js +0 -17
- package/dist/chunks/backgroundHousekeeping-DQjzXBe0.js +0 -1
- package/dist/chunks/bridgeConfig-DsI5d0s7.js +0 -1
- package/dist/chunks/bridgeEnabled-DZzlF2d8.js +0 -1
- package/dist/chunks/bridgeEnabled-FjPuA7zx.js +0 -1
- package/dist/chunks/bridgeMain-BppY0KW3.js +0 -68
- package/dist/chunks/bridgeMain-BrY4tkF6.js +0 -1
- package/dist/chunks/caches-BBLH8G1I.js +0 -1
- package/dist/chunks/client-CtVu3BLD.js +0 -1
- package/dist/chunks/commands-BWw1sQeH.js +0 -1
- package/dist/chunks/commitAttribution-DIT_s0vY.js +0 -1
- package/dist/chunks/compact-CaOnQVkH.js +0 -2
- package/dist/chunks/config-DmPGzNmi.js +0 -1
- package/dist/chunks/config-HHTwEsWp.js +0 -1
- package/dist/chunks/context-noninteractive-BilCSCV1.js +0 -1
- package/dist/chunks/conversation-BWXf3un9.js +0 -1
- package/dist/chunks/conversation-awh8AwwL.js +0 -1
- package/dist/chunks/createSession-Hvpx3Le7.js +0 -1
- package/dist/chunks/crossProjectResume-_XjvSXA3.js +0 -40
- package/dist/chunks/doctor-CkdQ7Fv7.js +0 -1
- package/dist/chunks/effort-DCgooYMY.js +0 -9
- package/dist/chunks/envLessBridgeConfig-sxodu0xO.js +0 -1
- package/dist/chunks/exit-CFJR3NfE.js +0 -1
- package/dist/chunks/extra-usage-D1Y-3OWQ.js +0 -1
- package/dist/chunks/extraUsage-2DwLEr26.js +0 -1
- package/dist/chunks/extractMemories-C3qrwpu2.js +0 -1
- package/dist/chunks/fast-D3CPmUX4.js +0 -1
- package/dist/chunks/firstPartyEventLogger-DPUQnc6J.js +0 -1
- package/dist/chunks/hooks-cCAzfabs.js +0 -1
- package/dist/chunks/hostGuard-C5xydXZI.js +0 -1
- package/dist/chunks/inboundAttachments-DZgSqDwY.js +0 -1
- package/dist/chunks/initReplBridge-myzllvlk.js +0 -1
- package/dist/chunks/keybindings-DETOn3qJ.js +0 -2
- package/dist/chunks/language-BbaOTWm3.js +0 -1
- package/dist/chunks/launchAgentsPlatform-CuRQgd2Q.js +0 -1
- package/dist/chunks/launchMemoryStores-CN0ecWpP.js +0 -1
- package/dist/chunks/launchSchedule-psiSLmTA.js +0 -1
- package/dist/chunks/launchSkillStore-CQQ00Ads.js +0 -1
- package/dist/chunks/launchVault-Dn6jq0Rc.js +0 -1
- package/dist/chunks/loadAgentsDir-Db9UTm45.js +0 -1
- package/dist/chunks/loadPluginHooks-C9A9oS-w.js +0 -1
- package/dist/chunks/localSearch-hBh1ATr2.js +0 -1
- package/dist/chunks/mcp-CtbhGaLC.js +0 -2
- package/dist/chunks/mcp-DMacvhqZ.js +0 -1
- package/dist/chunks/memory-BPN8gW7n.js +0 -1
- package/dist/chunks/model-BIVmcl_N.js +0 -1
- package/dist/chunks/model-CWBwPvTH.js +0 -1
- package/dist/chunks/model-DlVpqR0P.js +0 -1
- package/dist/chunks/openai-yin1iDG8.js +0 -10
- package/dist/chunks/permissions-CxDJ__l6.js +0 -3
- package/dist/chunks/pluginCliCommands-DQQ7C7kk.js +0 -1
- package/dist/chunks/pluginStartupCheck-D7ts2V3p.js +0 -1
- package/dist/chunks/plugins-Cr03lISA.js +0 -4
- package/dist/chunks/policyLimits-DWtLyJ4n.js +0 -1
- package/dist/chunks/poorMode-AE4WNYZo.js +0 -1
- package/dist/chunks/print-CZUmAzmt.js +0 -23
- package/dist/chunks/processBashCommand-aKNneP2u.js +0 -1
- package/dist/chunks/processSlashCommand-BcPnWNxZ.js +0 -5
- package/dist/chunks/prompt-CIyhCdkE.js +0 -1
- package/dist/chunks/prompt-DRhjinu2.js +0 -1
- package/dist/chunks/rate-limit-options--Y3oF1g0.js +0 -1
- package/dist/chunks/reconciler-CJcSh6xo.js +0 -4
- package/dist/chunks/sandbox-adapter-DDfVl_2V.js +0 -1
- package/dist/chunks/searchExtraTools-BHWzsbNO.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-BZvxeufx.js +0 -1
- package/dist/chunks/sessionMemory-CAmpw2yb.js +0 -1
- package/dist/chunks/sessionMemory-DT0IkiA1.js +0 -1
- package/dist/chunks/sessionMemoryUtils-B4kGNH4j.js +0 -1
- package/dist/chunks/sessionObserver-oIkwTidC.js +0 -1
- package/dist/chunks/sessionStorage-DqARUj0K.js +0 -1
- package/dist/chunks/settingsSync-D_4P3Esd.js +0 -1
- package/dist/chunks/setup-JHvhWKh9.js +0 -3
- package/dist/chunks/sinks-Cro1Y8C2.js +0 -1
- package/dist/chunks/skillChangeDetector-uCaYrerZ.js +0 -1
- package/dist/chunks/skillLearning-GZxYPlyl.js +0 -1
- package/dist/chunks/teleport-4Srg5vcP.js +0 -1
- package/dist/chunks/thinkback-gV-sKkMM.js +0 -1
- package/dist/chunks/thinkback-hc5eJ9ul.js +0 -1
- package/dist/chunks/toolPool-CNYKDRq5.js +0 -1
- package/dist/chunks/trustedDevice-0dehm9qz.js +0 -1
- package/dist/chunks/types-BUyOCzUt.js +0 -1
- package/dist/chunks/types-Czs-_G1S.js +0 -3
- package/dist/chunks/undercover-CG_269xD.js +0 -1
- package/dist/chunks/upgrade-J7lKLkD2.js +0 -1
- package/dist/chunks/upgrade-yNl7EO4e.js +0 -1
- package/dist/chunks/usage-B2PbCUMi.js +0 -1
- package/dist/chunks/usage-Ck8Cu45g.js +0 -1
- package/dist/chunks/useMainLoopModel-CO4yBjRM.js +0 -1
- package/dist/chunks/useManagePlugins-BzFKIDrD.js +0 -1
- package/dist/chunks/useSettingsErrors-CSemUjj1.js +0 -1
- package/dist/chunks/validatePlugin-D6sPqea1.js +0 -1
- package/dist/chunks/worktree-89ttIVxH.js +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as e,n as t,o as n}from"./rolldown-runtime-DaDcL9Zw.js";import{l as r,o as i}from"./envUtils-DSxRz_kt.js";import{n as a,t as o}from"./figures-5ThXQEtq.js";import{C as s,Gr as c,I as l,N as u,P as d,Pn as f,Rn as p,di as m,fi as h,j as g,mt as _,ot as v,t as y,ui as b,xt as x}from"./src-CDCSSo0U2.js";import{t as S}from"./jsx-runtime-Bb4Xn-E0.js";import{B as C,en as w}from"./state-ix0xIunV.js";import{$a as T,$o as E,Am as D,Ao as O,Bu as k,Co as ee,Cx as A,Eu as te,FE as ne,Fu as re,Gy as j,Hb as M,Ho as ie,Hx as N,Iu as ae,Jw as oe,Lm as se,Lu as ce,Mm as P,Mo as F,Nm as I,No as le,Po as ue,RE as L,Ro as de,Ru as fe,SD as pe,US as me,Ub as he,Ux as ge,VE as _e,WS as ve,Wb as ye,Wy as be,Xo as xe,Zo as Se,_v as Ce,aC as we,bh as Te,bv as R,ch as Ee,co as De,eo as Oe,gv as ke,jm as Ae,jo as je,km as Me,lh as Ne,mv as Pe,nh as Fe,po as Ie,qo as Le,qw as Re,so as ze,th as Be,to as Ve,vv as He,wo as Ue,wx as We,yD as Ge,yh as Ke,yv as qe,zE as Je,zo as Ye,zu as Xe}from"./loadAgentsDir-D206qwP3.js";import{n as Ze,t as Qe}from"./cwd-CYmmnQVS.js";import{a as $e,l as et,o as tt,r as nt,s as rt}from"./debug-BrXObCdR.js";import{G as it,K as at,Kt as ot,Ut as st,g as ct,n as lt}from"./settings-BovzmwMP.js";import{b as ut,c as z,g as dt}from"./config-DmomySWC.js";import{B as ft,L as pt,R as mt,Y as ht}from"./log-BMCygSzM.js";import{f as gt,l as _t}from"./file-DcZWPH2V.js";import{n as vt,r as yt}from"./analytics-BotDBGh0.js";import{S as bt,b as xt,h as St,n as Ct,p as wt,r as Tt,t as Et}from"./startupProfiler-xa3NmN7Z.js";import{l as Dt,o as Ot}from"./stringUtils-DGLPkqJ4.js";import{Bt as kt,Dt as At,E as jt,Gt as Mt,St as Nt,Tt as Pt,_ as Ft,_n as It,b as Lt,vn as Rt}from"./model-CKkOnnnx.js";import{Cn as zt,Tn as Bt}from"./prompt-BNHtszmZ.js";import{C as Vt,y as Ht}from"./rcDebugLog-CUy1_F23.js";import{a as Ut,o as Wt,r as Gt,s as Kt,t as qt}from"./referral-CUaIo_vT.js";import{d as Jt,f as Yt,h as Xt,p as Zt}from"./terminalSetup-CuV-qU6v.js";import{n as Qt,r as $t,t as en}from"./browser-BmZuQom6.js";import{c as tn,r as nn}from"./releaseNotes-CxAHFLPl.js";import{a as rn,c as an,d as on,i as sn,l as cn,n as ln,o as un,r as dn,t as fn,u as pn}from"./logoV2Utils-8M56V7oN.js";import{n as mn,t as hn}from"./systemTheme-Ceakddth.js";import{n as gn,r as _n}from"./PromptInputFooterSuggestions-egs9VvUs.js";import{n as vn,t as yn}from"./useMainLoopModel-XetDUXd-.js";import{n as bn,t as xn}from"./modalContext-DFjKLCB6.js";import{i as Sn,n as Cn,r as wn,s as Tn,t as En}from"./OverageCreditUpsell-Ds1cB7RC.js";import{n as Dn,r as On,t as kn}from"./statusNoticeHelpers-CzTuGNuC.js";import{homedir as An}from"os";import{relative as jn}from"path";import{fileURLToPath as Mn}from"url";function Nn(e){return Array.isArray?Array.isArray(e):Vn(e)===`[object Array]`}function Pn(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function Fn(e){return e==null?``:Pn(e)}function B(e){return typeof e==`string`}function In(e){return typeof e==`number`}function Ln(e){return e===!0||e===!1||zn(e)&&Vn(e)==`[object Boolean]`}function Rn(e){return typeof e==`object`}function zn(e){return Rn(e)&&e!==null}function V(e){return e!=null}function Bn(e){return!e.trim().length}function Vn(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}function Hn(e){let t=null,n=null,r=null,i=1,a=null;if(B(e)||Nn(e))r=e,t=Un(e),n=Wn(e);else{if(!Er.call(e,`name`))throw Error(Cr(`name`));let o=e.name;if(r=o,Er.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(wr(Wn(o)));t=Un(o),n=Wn(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Un(e){return Nn(e)?e:e.split(`.`)}function Wn(e){return Nn(e)?e.join(`.`):e}function Gn(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(V(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!V(s))return;if(a===t.length-1&&(B(s)||In(s)||Ln(s)||typeof s==`bigint`))n.push(o===void 0?Fn(s):{v:Fn(s),i:o});else if(Nn(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,B(t)?t.split(`.`):t,0),r?n:n[0]}function Kn(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||(i++,a=!0):a=!1;if(n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}function qn(e,t,{getFn:n=H.getFn,fieldNormWeight:r=H.fieldNormWeight}={}){let i=new Mr({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Hn)),i.setSources(t),i.create(),i}function Jn(e,{getFn:t=H.getFn,fieldNormWeight:n=H.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Mr({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Yn(e=[],t=H.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function Xn(e,t,n,{location:r=H.location,distance:i=H.distance,threshold:a=H.threshold,findAllMatches:o=H.findAllMatches,minMatchCharLength:s=H.minMatchCharLength,includeMatches:c=H.includeMatches,ignoreLocation:l=H.ignoreLocation}={}){if(t.length>32)throw Error(Sr(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=Yn(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function Zn(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function Qn(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}function $n(e){return e.startsWith(`inverse`)}function er(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function tr(e,t){let n=e.match(t);return n?n[1]:null}function nr(e,t={}){return e.replace(/\\\|/g,Br).split(Vr).map(e=>{let n=er(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<zr;){let e=Rr[o],n=tr(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<zr;){let e=Rr[o],n=tr(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}function rr(...e){Ur.push(...e)}function ir(e,t){for(let n=0,r=Ur.length;n<r;n+=1){let r=Ur[n];if(r.condition(e,t))return new r(e,t)}return new Ir(e,t)}function ar(e,t,{auto:n=!0}={}){let r=e=>{if(B(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=ir(e,t)),r}let i=Object.keys(e),a=qr(e);if(!a&&i.length>1&&!Kr(e))return r(Yr(e));if(Jr(e)){let r=a?e[Gr.PATH]:i[0],o=a?e[Gr.PATTERN]:e[r];if(!B(o))throw Error(xr(r));let s={keyId:Wn(r),pattern:o};return n&&(s.searcher=ir(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];Nn(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Kr(e)||(e=Yr(e)),r(e)}function or(e,{ignoreFieldNorm:t=H.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function sr(e,{ignoreFieldNorm:t=H.ignoreFieldNorm}){e.forEach(e=>{e.score=or(e.matches,{ignoreFieldNorm:t})})}function cr(e){let t=[];return e.matches.forEach(e=>{if(!V(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function lr(e,t,{includeMatches:n=H.includeMatches,includeScore:r=H.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=cr(e)),r&&(a.score=e.score),a})}function ur(e){Qr.has(e)||(Qr.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function dr(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||ur(e),t=>t.match(e)||[]):e=>e.match(Zr)||[]}function fr({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=dr(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=Fr(n)),r(n)}}}function pr(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function mr(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){pr(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)pr(e,t.v,i,r);else pr(e,n.v,i,r)}}function hr(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)mr(r,i,t,n);return r}function gr(e,t,n,r){mr(e,t,n,r)}function _r(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function vr(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)_r(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,H,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni=t((()=>{yr=`Incorrect 'index' type`,br=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,xr=e=>`Invalid value for key ${e}`,Sr=e=>`Pattern length exceeds max of ${e}.`,Cr=e=>`Missing ${e} property in key`,wr=e=>`Property 'weight' in key '${e}' must be a positive integer`,Tr=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,Er=Object.prototype.hasOwnProperty,Dr=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Hn(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}},Or={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},kr={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Ar={location:0,threshold:.6,distance:100},jr={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:Gn,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},H=Object.freeze({...kr,...Or,...Ar,...jr}),Mr=class{constructor({getFn:e=H.getFn,fieldNormWeight:t=H.fieldNormWeight}={}){this.norm=Kn(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(B(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(br);if(B(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(br);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!V(e)||Bn(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(V(i)){if(Nn(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(V(n)){if(B(n)){if(!Bn(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(V(n.v)){let t=B(n.v)?n.v:Fn(n.v);if(!Bn(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(B(i)&&!Bn(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}},Nr={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Pr=RegExp(`[`+Object.keys(Nr).join(``)+`]`,`g`),Fr=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Pr,e=>Nr[e]):e=>e,Ir=class{constructor(e,{location:t=H.location,threshold:n=H.threshold,distance:r=H.distance,includeMatches:i=H.includeMatches,findAllMatches:a=H.findAllMatches,minMatchCharLength:o=H.minMatchCharLength,isCaseSensitive:s=H.isCaseSensitive,ignoreDiacritics:c=H.ignoreDiacritics,ignoreLocation:l=H.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?Fr(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Zn(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?Fr(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=Xn(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=Qn(u)),p}},Lr=new Set([`fuzzy`,`include`]),Rr=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new Ir(e,{location:t.location??H.location,threshold:t.threshold??H.threshold,distance:t.distance??H.distance,includeMatches:t.includeMatches??H.includeMatches,findAllMatches:t.findAllMatches??H.findAllMatches,minMatchCharLength:t.minMatchCharLength??H.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??H.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??H.ignoreDiacritics,ignoreLocation:t.ignoreLocation??H.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],zr=Rr.length,Br=`\0`,Vr=`|`,Hr=class{constructor(e,{isCaseSensitive:t=H.isCaseSensitive,ignoreDiacritics:n=H.ignoreDiacritics,includeMatches:r=H.includeMatches,minMatchCharLength:i=H.minMatchCharLength,ignoreLocation:a=H.ignoreLocation,findAllMatches:o=H.findAllMatches,location:s=H.location,threshold:c=H.threshold,distance:l=H.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?Fr(e):e,this.pattern=e,this.query=nr(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?Fr(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,$n(r.type)&&(c=!0),n&&(Lr.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=Qn(o)),e}}return{isMatch:!1,score:1}}},Ur=[],Wr={AND:`$and`,OR:`$or`},Gr={PATH:`$path`,PATTERN:`$val`},Kr=e=>!!(e[Wr.AND]||e[Wr.OR]),qr=e=>!!e[Gr.PATH],Jr=e=>!Nn(e)&&Rn(e)&&!Kr(e),Yr=e=>({[Wr.AND]:Object.keys(e).map(t=>({[t]:e[t]}))}),Xr=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}},Zr=/[\p{L}\p{M}\p{N}_]+/gu,Qr=new WeakSet,$r=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=fr({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new Ir(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=Qn(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}},ei=class{constructor(e,t,n){this.options={...H,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Dr(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=ir(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Mr))throw Error(yr);if(this._myIndex=t||qn(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=fr({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=hr(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!V(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=fr({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});gr(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&vr(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(br);this._invertedIndex&&vr(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(B(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return In(n)&&n>-1&&(e=e.slice(0,n)),e}let c=In(n)&&n>0&&B(e),l;if(c){let t=new Xr(n);B(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=B(e)?B(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),sr(l,{ignoreFieldNorm:s}),a&&l.sort(o),In(n)&&n>-1&&(l=l.slice(0,n));return lr(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!V(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=or(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=ar(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Wr.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(V(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{keys:a,records:o}=this._myIndex,s=t?null:[];return o.forEach(({$:e,i:o})=>{if(!V(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=or(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!V(t))return[];let r=[];if(Nn(t))t.forEach(({v:t,i,n:a})=>{if(!V(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}},ei.version=`7.4.2`,ei.createIndex=qn,ei.parseIndex=Jn,ei.config=H,ei.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(Tr);return ir(e,{...H,...n}).searchIn(t)},ei.parseQuery=ar,rr(Hr),rr($r),ei.use=function(...e){e.forEach(e=>rr(e))},ti=ei}));function ri(e,t){for(let n of e)if(!t.has(n))return!1;return!0}var ii=t((()=>{}));function ai(e){if(e.type!==`user`)return!1;let t=Array.isArray(e.message.content)?e.message.content[0]:void 0;return!t||typeof t==`string`||t?.type!==`text`||!t.text.includes(`<task-notification`)||Ue(t.text,`status`)!==`completed`?!1:Ue(t.text,`summary`)?.startsWith(`Background command `)??!1}function oi(e,t){if(!ge()||t)return e;let n=[],r=0;for(;r<e.length;){let t=e[r];if(ai(t)){let i=0;for(;r<e.length&&ai(e[r]);)i++,r++;i===1?n.push(t):n.push({...t,message:{role:`user`,content:[{type:`text`,text:`<${ft}><${pt}>completed</${pt}><${mt}>${i} background commands completed</${mt}></${ft}>`}]}})}else n.push(t),r++}return n}var si=t((()=>{ht(),te(),N(),Ye()}));function ci(e){return e.type===`system`&&e.subtype===`stop_hook_summary`&&e.hookLabel!==void 0}function li(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(ci(r)){let i=r.hookLabel,a=[];for(;n<e.length;){let t=e[n];if(!ci(t)||t.hookLabel!==i)break;a.push(t),n++}a.length===1?t.push(r):t.push({...r,hookCount:a.reduce((e,t)=>e+t.hookCount,0),hookInfos:a.flatMap(e=>e.hookInfos),hookErrors:a.flatMap(e=>e.hookErrors),preventedContinuation:a.some(e=>e.preventedContinuation),hasOutput:a.some(e=>e.hasOutput),totalDurationMs:Math.max(...a.map(e=>e.totalDurationMs??0))})}else t.push(r),n++}return t}var ui=t((()=>{}));function di(e){let t=mi.get(e);return t||(t=new Set(e.filter(e=>e.renderGroupedToolUse).map(e=>e.name)),mi.set(e,t)),t}function fi(e){if(e.type===`assistant`&&e.message?.content&&Array.isArray(e.message.content)&&e.message.content[0]?.type===`tool_use`){let t=e.message.content[0];return{messageId:e.message.id,toolUseId:t.id,toolName:t.name}}return null}function pi(e,t,n=!1){if(n)return{messages:e};let r=di(t),i=new Map;for(let t of e){let e=fi(t);if(e&&r.has(e.toolName)){let n=`${e.messageId}:${e.toolName}`,r=i.get(n)??[];r.push(t),i.set(n,r)}}let a=new Map,o=new Set;for(let[e,t]of i)if(t.length>=2){a.set(e,t);for(let e of t){let t=fi(e);t&&o.add(t.toolUseId)}}let s=new Map;for(let t of e)if(t.type===`user`&&t.message?.content&&Array.isArray(t.message.content))for(let e of t.message.content)e.type===`tool_result`&&o.has(e.tool_use_id)&&s.set(e.tool_use_id,t);let c=[],l=new Set;for(let t of e){let e=fi(t);if(e){let t=`${e.messageId}:${e.toolName}`,n=a.get(t);if(n){if(!l.has(t)){l.add(t);let r=n[0],i=[];for(let e of n){let t=e.message.content[0].id,n=s.get(t);n&&i.push(n)}let a={type:`grouped_tool_use`,toolName:e.toolName,messages:n,results:i,displayMessage:r,uuid:`grouped-${r.uuid}`,timestamp:r.timestamp,messageId:e.messageId};c.push(a)}continue}}if(t.type===`user`&&t.message?.content&&Array.isArray(t.message.content)){let e=t.message.content.filter(e=>e.type===`tool_result`);if(e.length>0&&e.every(e=>o.has(e.tool_use_id)))continue}c.push(t)}return{messages:c}}var mi,hi=t((()=>{mi=new WeakMap}));function gi(e){let t=Si.get(e);if(t!==void 0)return t;let n=_i(e).toLowerCase();return Si.set(e,n),n}function _i(e){let t=``;switch(e.type){case`user`:{let n=e.message.content;if(typeof n==`string`)t=xi.has(n)?``:n;else{let r=[];for(let t of n??[])t.type===`text`?xi.has(t.text)||r.push(t.text):t.type===`tool_result`&&r.push(yi(e.toolUseResult));t=r.join(`
|
|
2
|
+
`)}break}case`assistant`:{let n=e.message.content;Array.isArray(n)&&(t=n.flatMap(e=>e.type===`text`?[e.text]:e.type===`tool_use`?[vi(e.input)]:[]).join(`
|
|
3
|
+
`));break}case`attachment`:if(e.attachment.type===`relevant_memories`)t=(e.attachment.memories??[]).map(e=>e.content).join(`
|
|
4
|
+
`);else if(e.attachment.type===`queued_command`&&e.attachment.commandMode!==`task-notification`&&!e.attachment.isMeta){let n=e.attachment.prompt;t=typeof n==`string`?n:n.flatMap(e=>e.type===`text`?[e.text]:[]).join(`
|
|
5
|
+
`)}break;case`collapsed_read_search`:e.relevantMemories&&(t=e.relevantMemories.map(e=>e.content).join(`
|
|
6
|
+
`));break;default:break}let n=t,r=n.indexOf(`<system-reminder>`);for(;r>=0;){let e=n.indexOf(bi,r);if(e<0)break;n=n.slice(0,r)+n.slice(e+18),r=n.indexOf(`<system-reminder>`)}return n}function vi(e){if(!e||typeof e!=`object`)return``;let t=e,n=[];for(let e of[`command`,`pattern`,`file_path`,`path`,`prompt`,`description`,`query`,`url`,`skill`]){let r=t[e];typeof r==`string`&&n.push(r)}for(let e of[`args`,`files`]){let r=t[e];Array.isArray(r)&&r.every(e=>typeof e==`string`)&&n.push(r.join(` `))}return n.join(`
|
|
7
|
+
`)}function yi(e){if(!e||typeof e!=`object`)return typeof e==`string`?e:``;let t=e;if(typeof t.stdout==`string`){let e=typeof t.stderr==`string`?t.stderr:``;return t.stdout+(e?`
|
|
8
|
+
`+e:``)}if(t.file&&typeof t.file==`object`&&typeof t.file.content==`string`)return t.file.content;let n=[];for(let e of[`content`,`output`,`result`,`text`,`message`]){let r=t[e];typeof r==`string`&&n.push(r)}for(let e of[`filenames`,`lines`,`results`]){let r=t[e];Array.isArray(r)&&r.every(e=>typeof e==`string`)&&n.push(r.join(`
|
|
9
|
+
`))}return n.join(`
|
|
10
|
+
`)}var bi,xi,Si,Ci=t((()=>{Ye(),bi=`</system-reminder>`,xi=new Set([Oe,Ve]),Si=new WeakMap}));function wi({pose:e=`default`}={}){return(0,Ti.jsxs)(l,{flexDirection:`column`,alignItems:`center`,children:[(0,Ti.jsx)(d,{color:`clawd_body`,children:` █████ `}),(0,Ti.jsx)(d,{color:`clawd_body`,children:`██ ● ● ██`}),(0,Ti.jsx)(d,{color:`clawd_body`,children:`██ ▄▄▄ ██`}),(0,Ti.jsx)(d,{color:`clawd_body`,children:` █ █ █ █ `})]})}var Ti,Ei=t((()=>{h(),y(),Ti=S()}));function Di(e){let{title:t,lines:n,footer:r,emptyMessage:i,customContent:a}=e,o=c(t);if(a!==void 0)o=Math.max(o,a.width);else if(n.length===0&&i)o=Math.max(o,c(i));else{let e=Math.max(0,...n.map(e=>e.timestamp?c(e.timestamp):0));for(let t of n){let n=e>0?e:0,r=c(t.text)+(n>0?n+2:0);o=Math.max(o,r)}}return r&&(o=Math.max(o,c(r))),o}function Oi({config:e,actualWidth:t}){let{title:n,lines:r,footer:i,emptyMessage:a,customContent:o}=e,s=Math.max(0,...r.map(e=>e.timestamp?c(e.timestamp):0));return(0,U.jsxs)(l,{flexDirection:`column`,width:t,children:[(0,U.jsx)(d,{bold:!0,color:`claude`,children:n}),o?(0,U.jsxs)(U.Fragment,{children:[o.content,i&&(0,U.jsx)(d,{dimColor:!0,italic:!0,children:bt(i,t)})]}):r.length===0&&a?(0,U.jsx)(d,{dimColor:!0,children:bt(a,t)}):(0,U.jsxs)(U.Fragment,{children:[r.map((e,n)=>{let r=Math.max(10,t-(s>0?s+2:0));return(0,U.jsxs)(d,{children:[s>0&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(d,{dimColor:!0,children:(e.timestamp||``).padEnd(s)}),` `]}),(0,U.jsx)(d,{children:bt(e.text,r)})]},n)}),i&&(0,U.jsx)(d,{dimColor:!0,italic:!0,children:bt(i,t)})]})]})}var U,ki=t((()=>{h(),y(),xt(),U=S()}));function Ai({feeds:e,maxWidth:t}){let n=e.map(e=>Di(e)),r=Math.max(...n),i=Math.min(r,t);return(0,Mi.jsx)(l,{flexDirection:`column`,children:e.map((t,n)=>(0,Mi.jsxs)(ji.Fragment,{children:[(0,Mi.jsx)(Oi,{config:t,actualWidth:i}),n<e.length-1&&(0,Mi.jsx)(s,{color:`claude`,width:i})]},n))})}var ji,Mi,Ni=t((()=>{ji=n(h(),1),y(),ki(),Mi=S()}));function Pi(e){let t=e.map(e=>{let t=St(e.modified);return{text:(e.summary&&e.summary!==`No prompt`?e.summary:e.firstPrompt)||``,timestamp:t}});return{title:`Recent activity`,lines:t,footer:t.length>0?`/resume for more`:void 0,emptyMessage:`No recent activity`}}function Fi(e){let t=e.map(e=>{if(process.env.USER_TYPE===`ant`){let t=e.match(/^(\d+\s+\w+\s+ago)\s+(.+)$/);if(t)return{timestamp:t[1],text:t[2]||``}}return{text:e}}),n=process.env.USER_TYPE===`ant`?`Unable to fetch latest claude-cli-internal commits`:`Check the Claude Code changelog for updates`;return{title:process.env.USER_TYPE===`ant`?`What's new [ANT-ONLY: Latest CC commits]`:`What's new`,lines:t,footer:t.length>0?`/release-notes for more`:void 0,emptyMessage:n}}function Ii(e){let t=e.filter(({isEnabled:e})=>e).sort((e,t)=>Number(e.isComplete)-Number(t.isComplete)).map(({text:e,isComplete:t})=>({text:`${t?`${o.tick} `:``}${e}`})),n=Qe()===An()?`Note: You have launched claude in your home directory. For the best experience, launch it in a project directory instead.`:void 0;return n&&t.push({text:n}),{title:`Tips for getting started`,lines:t}}function Li(){let e=Ut(),t=e?`Share Claude Code and earn ${Gt(e)} of extra usage`:`Share Claude Code with friends`;return{title:`3 guest passes`,lines:[],customContent:{content:(0,Ri.jsxs)(Ri.Fragment,{children:[(0,Ri.jsx)(l,{marginY:1,children:(0,Ri.jsx)(d,{color:`claude`,children:`[✻] [✻] [✻]`})}),(0,Ri.jsx)(d,{dimColor:!0,children:t})]}),width:48},footer:`/passes`}}var Ri,zi=t((()=>{a(),y(),Kt(),Ze(),xt(),Ri=S()}));function Bi(e,t,n){return Array.from({length:n},()=>({pose:e,offset:t}))}function Vi(){let{pose:e,bounceOffset:t,onClick:n}=Hi();return(0,Wi.jsx)(l,{height:Xi,flexDirection:`column`,onClick:n,children:(0,Wi.jsx)(l,{marginTop:t,flexShrink:0,children:(0,Wi.jsx)(wi,{pose:e})})})}function Hi(){let[e]=(0,Ui.useState)(()=>lt().prefersReducedMotion??!1),[t,n]=(0,Ui.useState)(-1),r=(0,Ui.useRef)(Gi),i=()=>{e||t!==-1||(r.current=Ki[Math.floor(Math.random()*Ki.length)],n(0))};(0,Ui.useEffect)(()=>{if(t===-1)return;if(t>=r.current.length){n(-1);return}let e=setTimeout(n,Ji,Yi);return()=>clearTimeout(e)},[t]);let a=r.current,o=t>=0&&t<a.length?a[t]:qi;return{pose:o.pose,bounceOffset:o.offset,onClick:i}}var Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi=t((()=>{h(),Ui=n(h(),1),y(),ct(),Ei(),Wi=S(),Gi=[...Bi(`default`,1,2),...Bi(`arms-up`,0,3),...Bi(`default`,0,1),...Bi(`default`,1,2),...Bi(`arms-up`,0,3),...Bi(`default`,0,1)],Ki=[Gi,[...Bi(`look-right`,0,5),...Bi(`look-left`,0,5),...Bi(`default`,0,1)]],qi={pose:`default`,offset:0},Ji=60,Yi=e=>e+1,Xi=3}));function Qi(){let e=Wt();e==null||e<=0||e>(z().passesLastSeenRemaining??0)&&ut(t=>({...t,passesUpsellSeenCount:0,hasVisitedPasses:!1,passesLastSeenRemaining:e}))}function $i(){let{eligible:e,hasCache:t}=qt();if(!e||!t)return!1;Qi();let n=z();return!((n.passesUpsellSeenCount??0)>=3||n.hasVisitedPasses)}function ea(){let[e]=(0,ra.useState)(()=>$i());return e}function ta(){let e=0;ut(t=>(e=(t.passesUpsellSeenCount??0)+1,{...t,passesUpsellSeenCount:e})),yt(`tengu_guest_passes_upsell_shown`,{seen_count:e})}function na(){let e=Ut();return(0,ia.jsxs)(d,{dimColor:!0,children:[(0,ia.jsx)(d,{color:`claude`,children:`[✻]`}),` `,(0,ia.jsx)(d,{color:`claude`,children:`[✻]`}),` `,(0,ia.jsx)(d,{color:`claude`,children:`[✻]`}),` ·`,` `,e?`Share Claude Code and earn ${Gt(e)} of extra usage · /passes`:`3 guest passes at /passes`]})}var ra,ia,aa=t((()=>{h(),ra=n(h(),1),y(),vt(),Kt(),dt(),ia=S()}));function oa(){let{columns:e}=v(),t=ve(e=>e.agent),n=jt(vn()),{version:r,cwd:i,billingType:a,agentName:o}=un(),s=t??o,u=ea(),f=Tn();(0,sa.useEffect)(()=>{u&&ta()},[u]),(0,sa.useEffect)(()=>{f&&!u&&wn()},[f,u]);let p=Math.max(e-15,20),m=bt(r,Math.max(p-11,6)),{shouldSplit:h,truncatedModel:g,truncatedBilling:_}=dn(n,a,p),y=s?p-1-c(s)-3:p,b=on(i,Math.max(y,10));return(0,W.jsx)(P,{children:(0,W.jsxs)(l,{flexDirection:`row`,gap:2,alignItems:`center`,children:[ge()?(0,W.jsx)(Vi,{}):(0,W.jsx)(wi,{}),(0,W.jsxs)(l,{flexDirection:`column`,children:[(0,W.jsxs)(d,{children:[(0,W.jsx)(d,{bold:!0,children:`Work Mate`}),` `,(0,W.jsxs)(d,{dimColor:!0,children:[`v`,m]})]}),h?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(d,{dimColor:!0,children:g}),(0,W.jsx)(d,{dimColor:!0,children:_})]}):(0,W.jsxs)(d,{dimColor:!0,children:[g,` · `,_]}),(0,W.jsx)(d,{dimColor:!0,children:s?`@${s} · ${b}`:b}),u&&(0,W.jsx)(na,{}),!u&&f&&(0,W.jsx)(En,{maxWidth:p,twoLine:!0})]})]})})}var sa,W,ca=t((()=>{sa=n(h(),1),yn(),we(),y(),me(),xt(),N(),pn(),Ft(),I(),Zi(),Ei(),aa(),Sn(),W=S()}));function la(){let e=(0,da.useMemo)(ua,[]),t=(0,da.useMemo)(()=>z().lastShownEmergencyTip,[]),n=e.tip&&e.tip!==t;return(0,da.useEffect)(()=>{n&&ut(t=>t.lastShownEmergencyTip===e.tip?t:{...t,lastShownEmergencyTip:e.tip})},[n,e.tip]),n?(0,fa.jsx)(l,{paddingLeft:2,flexDirection:`column`,children:(0,fa.jsx)(d,{...e.color===`warning`?{color:`warning`}:e.color===`error`?{color:`error`}:{dimColor:!0},children:e.tip})}):null}function ua(){return pa}var da,fa,pa,ma=t((()=>{h(),da=n(h(),1),y(),dt(),fa=S(),pa={tip:``,color:`dim`}}));function ha({char:e=`✻`}){let[t]=(0,ga.useState)(()=>lt().prefersReducedMotion??!1),[n,r]=(0,ga.useState)(t),i=(0,ga.useRef)(null),[a,o]=_(n?null:50);return(0,ga.useEffect)(()=>{if(n)return;let e=setTimeout(r,ya,!0);return()=>clearTimeout(e)},[n]),n?(0,_a.jsx)(l,{ref:a,children:(0,_a.jsx)(d,{color:ba,children:e})}):(i.current===null&&(i.current=o),(0,_a.jsx)(l,{ref:a,children:(0,_a.jsx)(d,{color:ye(M((o-i.current)/va*360%360)),children:e})}))}var ga,_a,va,ya,ba,xa=t((()=>{h(),ga=n(h(),1),ot(),y(),ct(),he(),_a=S(),va=1500,ya=va*2,ba=ye({r:153,g:153,b:153})}));function Sa(){return Lt()&&(z().opus1mMergeNoticeSeenCount??0)<Ea}function Ca(){let[e]=(0,wa.useState)(Sa);return(0,wa.useEffect)(()=>{if(!e)return;let t=(z().opus1mMergeNoticeSeenCount??0)+1;ut(e=>(e.opus1mMergeNoticeSeenCount??0)>=t?e:{...e,opus1mMergeNoticeSeenCount:t})},[e]),e?(0,Ta.jsxs)(l,{paddingLeft:2,children:[(0,Ta.jsx)(ha,{char:`↑`}),(0,Ta.jsx)(d,{dimColor:!0,children:` Opus now defaults to 1M context · 5x more room, same pricing`})]}):null}var wa,Ta,Ea,Da=t((()=>{h(),wa=n(h(),1),ot(),y(),dt(),Ft(),xa(),Ta=S(),Ea=6}));function Oa(){return null}var ka=t((()=>{}));function Aa(){return null}var ja=t((()=>{}));function Ma(){let e=an(),t=z().oauthAccount?.displayName??``,{columns:n}=v(),i=Xt(),a=Ge.isSandboxingEnabled(),o=ea(),s=Tn(),u=ve(e=>e.agent),f=z(),p;try{p=cn(3)}catch{p=[]}let[m]=(0,Na.useState)(()=>{let e=lt().companyAnnouncements;if(!(!e||e.length===0))return f.numStartups===1?e[0]:e[Math.floor(Math.random()*e.length)]}),{hasReleaseNotes:h}=nn(f.lastReleaseNotesSeen);(0,Na.useEffect)(()=>{z().lastReleaseNotesSeen!==`0.0.6`&&(ut(e=>e.lastReleaseNotesSeen===`0.0.6`?e:{...e,lastReleaseNotesSeen:`0.0.6`}),i&&Yt())},[f,i]);let _=!h&&!i&&!r(process.env.CLAUDE_CODE_FORCE_FULL_LOGO);(0,Na.useEffect)(()=>{o&&!i&&!_&&ta()},[o,i,_]),(0,Na.useEffect)(()=>{s&&!i&&!o&&!_&&wn()},[s,i,o,_]);let y=jt(vn()),{version:b,cwd:x,billingType:S,agentName:C}=un(),w=u??C,T=bt(y,Pa-20);if(!h&&!i&&!r(process.env.CLAUDE_CODE_FORCE_FULL_LOGO))return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(oa,{}),(0,G.jsx)(Ca,{}),tt()&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(d,{color:`warning`,children:`Debug mode enabled`}),(0,G.jsxs)(d,{dimColor:!0,children:[`Logging to: `,rt()?`stderr`:nt()]})]}),(0,G.jsx)(la,{}),process.env.CLAUDE_CODE_TMUX_SESSION&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsxs)(d,{dimColor:!0,children:[`tmux session: `,process.env.CLAUDE_CODE_TMUX_SESSION]}),(0,G.jsx)(d,{dimColor:!0,children:process.env.CLAUDE_CODE_TMUX_PREFIX_CONFLICTS?`Detach: ${process.env.CLAUDE_CODE_TMUX_PREFIX} ${process.env.CLAUDE_CODE_TMUX_PREFIX} d (press prefix twice - Claude uses ${process.env.CLAUDE_CODE_TMUX_PREFIX})`:`Detach: ${process.env.CLAUDE_CODE_TMUX_PREFIX} d`})]}),m&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[!process.env.IS_DEMO&&f.oauthAccount?.organizationName&&(0,G.jsxs)(d,{dimColor:!0,children:[`Message from `,f.oauthAccount.organizationName,`:`]}),(0,G.jsx)(d,{children:m})]}),process.env.USER_TYPE===`ant`&&!process.env.DEMO_VERSION&&(0,G.jsx)(l,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(d,{dimColor:!0,children:`Use /issue to report model behavior issues`})}),process.env.USER_TYPE===`ant`&&!process.env.DEMO_VERSION&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(d,{color:`warning`,children:`[ANT-ONLY] Logs:`}),(0,G.jsxs)(d,{dimColor:!0,children:[`API calls: `,_t(Re())]}),(0,G.jsxs)(d,{dimColor:!0,children:[`Debug logs: `,_t(nt())]}),Tt()&&(0,G.jsxs)(d,{dimColor:!0,children:[`Startup Perf: `,_t(Et())]})]}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Oa,{}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Aa,{})]});let E=rn(n),D=mn(z().theme),O=` ${g(`claude`,D)(`Work Mate`)} ${g(`inactive`,D)(`v${b}`)} `,k=g(`claude`,D)(` Work Mate `);if(E===`compact`){let e=sn(t);c(e)>n-4&&(e=sn(null));let r=w?n-4-1-c(w)-3:n-4,i=on(x,Math.max(r,10));return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(P,{children:(0,G.jsxs)(l,{flexDirection:`column`,borderStyle:`round`,borderColor:`claude`,borderText:{content:k,position:`top`,align:`start`,offset:1},paddingX:1,paddingY:1,alignItems:`center`,width:n,children:[(0,G.jsx)(d,{bold:!0,children:e}),(0,G.jsx)(l,{marginY:1,children:(0,G.jsx)(wi,{})}),(0,G.jsx)(d,{dimColor:!0,children:T}),(0,G.jsx)(d,{dimColor:!0,children:S}),(0,G.jsx)(d,{dimColor:!0,children:w?`@${w} · ${i}`:i})]})}),(0,G.jsx)(Ca,{}),a&&(0,G.jsx)(l,{marginTop:1,flexDirection:`column`,children:(0,G.jsx)(d,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Oa,{}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Aa,{})]})}let ee=sn(t),A=!process.env.IS_DEMO&&f.oauthAccount?.organizationName?`${T} · ${S} · ${f.oauthAccount.organizationName}`:`${T} · ${S}`,te=w?Pa-1-c(w)-3:Pa,ne=on(x,Math.max(te,10)),re=w?`@${w} · ${ne}`:ne,{leftWidth:j,rightWidth:M}=fn(n,E,ln(ee,re,A));return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(P,{children:(0,G.jsx)(l,{flexDirection:`column`,borderStyle:`round`,borderColor:`claude`,borderText:{content:O,position:`top`,align:`start`,offset:3},children:(0,G.jsxs)(l,{flexDirection:E===`horizontal`?`row`:`column`,paddingX:1,gap:1,children:[(0,G.jsxs)(l,{flexDirection:`column`,width:j,justifyContent:`space-between`,alignItems:`center`,minHeight:9,children:[(0,G.jsx)(l,{marginTop:1,children:(0,G.jsx)(d,{bold:!0,children:ee})}),(0,G.jsx)(wi,{}),(0,G.jsxs)(l,{flexDirection:`column`,alignItems:`center`,children:[(0,G.jsx)(d,{dimColor:!0,children:A}),(0,G.jsx)(d,{dimColor:!0,children:re})]})]}),E===`horizontal`&&(0,G.jsx)(l,{height:`100%`,borderStyle:`single`,borderColor:`claude`,borderDimColor:!0,borderTop:!1,borderBottom:!1,borderLeft:!1}),E===`horizontal`&&(0,G.jsx)(Ai,{feeds:i?[Ii(Jt()),Pi(e)]:o?[Pi(e),Li()]:s?[Pi(e),Cn()]:[Pi(e),Fi(p)],maxWidth:M})]})})}),(0,G.jsx)(Ca,{}),tt()&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(d,{color:`warning`,children:`Debug mode enabled`}),(0,G.jsxs)(d,{dimColor:!0,children:[`Logging to: `,rt()?`stderr`:nt()]})]}),(0,G.jsx)(la,{}),process.env.CLAUDE_CODE_TMUX_SESSION&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsxs)(d,{dimColor:!0,children:[`tmux session: `,process.env.CLAUDE_CODE_TMUX_SESSION]}),(0,G.jsx)(d,{dimColor:!0,children:process.env.CLAUDE_CODE_TMUX_PREFIX_CONFLICTS?`Detach: ${process.env.CLAUDE_CODE_TMUX_PREFIX} ${process.env.CLAUDE_CODE_TMUX_PREFIX} d (press prefix twice - Claude uses ${process.env.CLAUDE_CODE_TMUX_PREFIX})`:`Detach: ${process.env.CLAUDE_CODE_TMUX_PREFIX} d`})]}),m&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[!process.env.IS_DEMO&&f.oauthAccount?.organizationName&&(0,G.jsxs)(d,{dimColor:!0,children:[`Message from `,f.oauthAccount.organizationName,`:`]}),(0,G.jsx)(d,{children:m})]}),a&&(0,G.jsx)(l,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(d,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})}),process.env.USER_TYPE===`ant`&&!process.env.DEMO_VERSION&&(0,G.jsx)(l,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(d,{dimColor:!0,children:`Use /issue to report model behavior issues`})}),process.env.USER_TYPE===`ant`&&!process.env.DEMO_VERSION&&(0,G.jsxs)(l,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(d,{color:`warning`,children:`[ANT-ONLY] Logs:`}),(0,G.jsxs)(d,{dimColor:!0,children:[`API calls: `,_t(Re())]}),(0,G.jsxs)(d,{dimColor:!0,children:[`Debug logs: `,_t(nt())]}),Tt()&&(0,G.jsxs)(d,{dimColor:!0,children:[`Startup Perf: `,_t(Et())]})]}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Oa,{}),process.env.USER_TYPE===`ant`&&(0,G.jsx)(Aa,{})]})}var Na,G,Pa,Fa=t((()=>{h(),y(),we(),pn(),xt(),gt(),Ei(),Ni(),zi(),dt(),hn(),ct(),$e(),Na=n(h(),1),Zt(),ca(),I(),tn(),oe(),i(),Ct(),ma(),Da(),ka(),ja(),pe(),aa(),Sn(),me(),yn(),Ft(),G=S(),Pa=50}));function Ia({message:e,isTranscriptMode:t}){let n=e.message?.content,r=Array.isArray(n)?n:[];if(!(t&&e.type===`assistant`&&e.message?.model&&r.some(e=>e?.type===`text`)))return null;let i=e.message.model;return(0,La.jsx)(l,{minWidth:c(i)+8,children:(0,La.jsx)(d,{dimColor:!0,children:i})})}var La,Ra=t((()=>{h(),y(),La=S()}));function za({message:e,isTranscriptMode:t}){if(!(t&&e.timestamp&&e.type===`assistant`&&Array.isArray(e.message.content)&&e.message.content.some(e=>e.type===`text`)))return null;let n=new Date(e.timestamp).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!0});return(0,Ba.jsx)(l,{minWidth:c(n),children:(0,Ba.jsx)(d,{dimColor:!0,children:n})})}var Ba,Va=t((()=>{h(),y(),Ba=S()}));function Ha(e,t,n,r){for(let i=t+1;i<e.length;i++){let t=e[i];if(t?.type===`assistant`){let e=Ya(t.message.content);if(e?.type===`thinking`||e?.type===`redacted_thinking`||e?.type===`tool_use`&&(ce(e.name,e.input,n).isCollapsible||r.has(e.id)))continue;return!0}if(!(t?.type===`system`||t?.type===`attachment`)&&!(t?.type===`user`&&Ya(t.message.content)?.type===`tool_result`)){if(t?.type===`grouped_tool_use`){let e=Ya(t.messages[0]?.message.content)?.input;if(ce(t.toolName,e,n).isCollapsible)continue}return!0}}return!1}function Ua({message:e,isUserContinuation:t,hasContentAfter:n,tools:r,commands:i,verbose:a,inProgressToolUseIDs:o,streamingToolUseIDs:s,screen:c,canAnimate:u,onOpenRateLimitOptions:d,lastThinkingBlockId:f,latestBashOutputUUID:p,columns:m,isLoading:h,lookups:g,shouldCollapseDiffs:_}){let v=c===`transcript`,y=e.type===`grouped_tool_use`,b=e.type===`collapsed_read_search`,x=b&&(Xe(e,o)||h&&!n),S=y?e.displayMessage:b?ae(e):e,C=y||b?[]:je(e,g),w=fs(e,s,o,y||b?T:F(e,g),c,g),E=!1;if(u)if(y)E=e.messages.some(e=>{let t=Ya(e.message.content);return t?.type===`tool_use`&&o.has(t.id)});else if(b)E=Xe(e,o);else{let t=le(e);E=!t||o.has(t)}let D=v&&S.type===`assistant`&&Array.isArray(S.message.content)&&S.message.content.some(e=>e.type===`text`)&&(S.timestamp||S.message.model),O=(0,Ja.jsx)(Me,{message:e,lookups:g,addMargin:!D,containerWidth:D?void 0:m,tools:r,commands:i,verbose:a,inProgressToolUseIDs:o,progressMessagesForMessage:C,shouldAnimate:E,shouldShowDot:!0,isTranscriptMode:v,isStatic:w,onOpenRateLimitOptions:d,isActiveCollapsedGroup:x,isUserContinuation:t,lastThinkingBlockId:f,latestBashOutputUUID:p,shouldCollapseDiffs:_});return D?(0,Ja.jsx)(P,{children:(0,Ja.jsxs)(l,{width:m,flexDirection:`column`,children:[(0,Ja.jsxs)(l,{flexDirection:`row`,justifyContent:`flex-end`,gap:1,marginTop:1,children:[(0,Ja.jsx)(za,{message:S,isTranscriptMode:v}),(0,Ja.jsx)(Ia,{message:S,isTranscriptMode:v})]}),O]})}):(0,Ja.jsx)(P,{children:O})}function Wa(e,t){if(e.type===`grouped_tool_use`)return e.messages.some(e=>{let n=Ya(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return fe(e).some(e=>t.has(e));let n=le(e);return!!n&&t.has(n)}function Ga(e,t){if(e.type===`grouped_tool_use`)return e.messages.every(e=>{let n=Ya(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return fe(e).every(e=>t.has(e));if(e.type===`assistant`){let n=Ya(e.message.content);if(n?.type===`server_tool_use`)return t.has(n.id)}let n=le(e);return!n||t.has(n)}function Ka(e,t){if(e.message!==t.message||e.screen!==t.screen||e.verbose!==t.verbose||e.message.type===`collapsed_read_search`&&t.screen!==`transcript`||e.columns!==t.columns||e.latestBashOutputUUID===e.message.uuid!=(t.latestBashOutputUUID===t.message.uuid)||e.lastThinkingBlockId!==t.lastThinkingBlockId&&D(t.message))return!1;let n=Wa(e.message,e.streamingToolUseIDs),r=Ga(e.message,e.lookups.resolvedToolUseIDs);return!(n||!r)}var qa,Ja,Ya,Xa,Za=t((()=>{qa=n(h(),1),y(),k(),Ye(),Ae(),Ja=S(),Ra(),Cs(),Va(),I(),Ya=e=>{if(!Array.isArray(e))return;let t=e[0];if(!(t==null||typeof t==`string`))return t},Xa=qa.memo(Ua,Ka)}));function Qa(e){return e.type===`attachment`&&$a.has(e.attachment.type)}var $a,eo=t((()=>{$a=new Set(`hook_success.hook_additional_context.hook_cancelled.command_permissions.agent_mention.budget_usd.critical_system_reminder.edited_image_file.edited_text_file.opened_file_in_ide.output_style.plan_mode.plan_mode_exit.plan_mode_reentry.structured_output.todo_reminder.context_efficiency.deferred_tools_delta.mcp_instructions_delta.token_usage.max_turns_reached.task_reminder.auto_mode.auto_mode_exit.output_token_usage.verify_plan_reminder.current_session_memory.compaction_reminder.date_change`.split(`.`))}));function to(e){return so.filter(t=>t.isActive(e))}var K,no,ro,io,ao,oo,so,co=t((()=>{y(),h(),_e(),a(),Ze(),xt(),kt(),On(),K=S(),no={id:`large-memory-files`,type:`warning`,isActive:e=>L(e.memoryFiles).length>0,render:e=>(0,K.jsx)(K.Fragment,{children:L(e.memoryFiles).map(e=>{let t=e.path.startsWith(Qe())?jn(Qe(),e.path):e.path;return(0,K.jsxs)(l,{flexDirection:`row`,children:[(0,K.jsx)(d,{color:`warning`,children:o.warning}),(0,K.jsxs)(d,{color:`warning`,children:[`Large `,(0,K.jsx)(d,{bold:!0,children:t}),` will impact performance (`,wt(e.content.length),` chars > `,wt(ne),`)`,(0,K.jsx)(d,{dimColor:!0,children:` · /memory to edit`})]})]},e.path)})})},ro={id:`claude-ai-external-token`,type:`warning`,isActive:()=>{let e=At();return Mt()&&(e.source===`ANTHROPIC_AUTH_TOKEN`||e.source===`apiKeyHelper`)},render:()=>{let e=At();return(0,K.jsxs)(l,{flexDirection:`row`,marginTop:1,children:[(0,K.jsx)(d,{color:`warning`,children:o.warning}),(0,K.jsxs)(d,{color:`warning`,children:[`Auth conflict: Using `,e.source,` instead of Claude account subscription token. Either unset`,` `,e.source,", or run `claude /logout`."]})]})}},io={id:`api-key-conflict`,type:`warning`,isActive:()=>{let{source:e}=Nt({skipRetrievingKeyFromApiKeyHelper:!0});return!!Pt()&&(e===`ANTHROPIC_API_KEY`||e===`apiKeyHelper`)},render:()=>{let{source:e}=Nt({skipRetrievingKeyFromApiKeyHelper:!0});return(0,K.jsxs)(l,{flexDirection:`row`,marginTop:1,children:[(0,K.jsx)(d,{color:`warning`,children:o.warning}),(0,K.jsxs)(d,{color:`warning`,children:[`Auth conflict: Using `,e,` instead of Console key. Either unset `,e,", or run `claude /logout`."]})]})}},ao={id:`both-auth-methods`,type:`warning`,isActive:()=>{let{source:e}=Nt({skipRetrievingKeyFromApiKeyHelper:!0}),t=At();return e!==`none`&&t.source!==`none`&&!(e===`apiKeyHelper`&&t.source===`apiKeyHelper`)},render:()=>{let{source:e}=Nt({skipRetrievingKeyFromApiKeyHelper:!0}),t=At();return(0,K.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,K.jsxs)(l,{flexDirection:`row`,children:[(0,K.jsx)(d,{color:`warning`,children:o.warning}),(0,K.jsxs)(d,{color:`warning`,children:[`Auth conflict: Both a token (`,t.source,`) and an API key (`,e,`) are set. This may lead to unexpected behavior.`]})]}),(0,K.jsxs)(l,{flexDirection:`column`,marginLeft:3,children:[(0,K.jsxs)(d,{color:`warning`,children:[`· Trying to use `,t.source===`claude.ai`?`claude.ai`:t.source,`?`,` `,e===`ANTHROPIC_API_KEY`?`Unset the ANTHROPIC_API_KEY environment variable, or claude /logout then say "No" to the API key approval before login.`:e===`apiKeyHelper`?`Unset the apiKeyHelper setting.`:`claude /logout`]}),(0,K.jsxs)(d,{color:`warning`,children:[`· Trying to use `,e,`?`,` `,t.source===`claude.ai`?`claude /logout to sign out of claude.ai.`:`Unset the ${t.source} environment variable.`]})]})]})}},oo={id:`large-agent-descriptions`,type:`warning`,isActive:e=>Dn(e.agentDefinitions)>kn,render:e=>{let t=Dn(e.agentDefinitions);return(0,K.jsxs)(l,{flexDirection:`row`,children:[(0,K.jsx)(d,{color:`warning`,children:o.warning}),(0,K.jsxs)(d,{color:`warning`,children:[`Large cumulative agent descriptions will impact performance (~`,wt(t),` tokens > `,wt(kn),`)`,(0,K.jsx)(d,{dimColor:!0,children:` · /agents to manage`})]})]})}},so=[no,oo,ro,io,ao]}));function lo({agentDefinitions:e}={}){let t={config:z(),agentDefinitions:e,memoryFiles:(0,fo.use)(Je())},n=to(t);return n.length===0?null:(0,po.jsx)(l,{flexDirection:`column`,paddingLeft:1,children:n.map(e=>(0,po.jsx)(uo.Fragment,{children:e.render(t)},e.id))})}var uo,fo,po,mo=t((()=>{uo=n(h(),1),fo=n(h(),1),y(),_e(),dt(),co(),po=S()}));function ho(e,t,n){let r=(0,q.useRef)(new Map),i=(0,q.useRef)(0),a=(0,q.useRef)(0),o=(0,q.useRef)({arr:new Float64Array,version:-1,n:-1}),s=(0,q.useRef)(new Map),c=(0,q.useRef)(new Map),l=(0,q.useRef)(n),u=(0,q.useRef)(!1),d=(0,q.useRef)(null),f=(0,q.useRef)(0);if(l.current!==n){let e=l.current/n;l.current=n;for(let[t,n]of r.current)r.current.set(t,Math.max(1,Math.round(n*e)));i.current++,u.current=!0,f.current=2}let p=f.current>0?d.current:null,m=(0,q.useRef)(0),h=(0,q.useRef)(null);(0,q.useSyncExternalStore)((0,q.useCallback)(t=>e.current?.subscribe(t)??Co,[e]),()=>{let t=e.current;if(!t)return NaN;let n=t.getScrollTop()+t.getPendingDelta(),r=Math.floor(n/yo);return t.isSticky()?~r:r});let g=e.current?.getScrollTop()??-1,_=e.current?.getPendingDelta()??0,v=e.current?.getViewportHeight()??0,y=e.current?.isSticky()??!0;(0,q.useMemo)(()=>{let e=new Set(t),n=!1;for(let t of r.current.keys())e.has(t)||(r.current.delete(t),n=!0);for(let t of c.current.keys())e.has(t)||c.current.delete(t);n&&i.current++},[t]);let b=t.length;if(o.current.version!==i.current||o.current.n!==b){let e=o.current.arr.length>=b+1?o.current.arr:new Float64Array(b+1);e[0]=0;for(let n=0;n<b;n++)e[n+1]=e[n]+(r.current.get(t[n])??go);o.current={arr:e,version:i.current,n:b}}let x=o.current.arr,S=x[b],C,w;if(p)[C,w]=p,C=Math.min(C,b),w=Math.min(w,b);else if(v===0||g<0)C=Math.max(0,b-vo),w=b;else{if(y){let e=v+_o;for(C=b;C>0&&S-x[C-1]<e;)C--;w=b}else{let e=m.current,n=v*3,i=Math.min(g,g+_),a=Math.max(g,g+_),o=a-i,c=o>n&&_<0?a-n:i,l=c+Math.min(o,n),u=Math.max(0,c-e),f=l-e,p=u-_o;{let e=0,t=b;for(;e<t;){let n=e+t>>1;x[n+1]<=p?e=n+1:t=n}C=e}{let e=d.current;if(e&&e[0]<C)for(let n=e[0];n<Math.min(C,e[1]);n++){let e=t[n];if(s.current.has(e)&&!r.current.has(e)){C=n;break}}}let h=v+2*_o,y=Math.min(b,C+xo),S=0;for(w=C;w<y&&(S<h||x[w]<f+v+_o);)S+=r.current.get(t[w])??bo,w++}let e=v+2*_o,n=Math.max(0,w-xo),i=0;for(let e=C;e<w;e++)i+=r.current.get(t[e])??bo;for(;C>n&&i<e;)C--,i+=r.current.get(t[C])??bo;let o=d.current,c=Math.abs(g-a.current)+Math.abs(_);if(o&&c>v*2){let[e,t]=o;C<e-So&&(C=e-So),w>t+So&&(w=t+So),C>w&&(w=Math.min(C+So,b))}a.current=g}f.current>0?f.current--:d.current=[C,w];let T=(0,q.useDeferredValue)(C),E=(0,q.useDeferredValue)(w),D=C<T?T:C,O=w>E?E:w;if((D>O||y)&&(D=C,O=w),_>0&&(O=w),O-D>xo){let e=(x[D]+x[O])/2;g-m.current<e?O=D+xo:D=O-xo}let k=m.current,ee=x[D],A=D===0?0:ee+k,te=O===b?1/0:Math.max(ee,x[O]-v)+k;(0,q.useLayoutEffect)(()=>{y?e.current?.setClampBounds(void 0,void 0):e.current?.setClampBounds(A,te)}),(0,q.useLayoutEffect)(()=>{let e=h.current?.yogaNode;if(e&&e.getComputedWidth()>0&&(m.current=e.getComputedTop()),u.current){u.current=!1;return}let t=!1;for(let[e,n]of s.current){let i=n.yogaNode;if(!i)continue;let a=i.getComputedHeight(),o=r.current.get(e);a>0?o!==a&&(r.current.set(e,a),t=!0):i.getComputedWidth()>0&&o!==0&&(r.current.set(e,0),t=!0)}t&&i.current++});let ne=(0,q.useCallback)(e=>{let t=c.current.get(e);return t||(t=t=>{if(t)s.current.set(e,t);else{let t=s.current.get(e)?.yogaNode;if(t&&!u.current){let n=t.getComputedHeight();(n>0||t.getComputedWidth()>0)&&r.current.get(e)!==n&&(r.current.set(e,n),i.current++)}s.current.delete(e)}},c.current.set(e,t)),t},[]),re=(0,q.useCallback)(e=>{let n=s.current.get(t[e])?.yogaNode;return!n||n.getComputedWidth()===0?-1:n.getComputedTop()},[t]),j=(0,q.useCallback)(e=>s.current.get(t[e])??null,[t]),M=(0,q.useCallback)(e=>r.current.get(t[e]),[t]),ie=(0,q.useCallback)(t=>{let n=o.current;t<0||t>=n.n||e.current?.scrollTo(n.arr[t]+m.current)},[e]),N=S-x[O];return{range:[D,O],topSpacer:ee,bottomSpacer:N,measureRef:ne,spacerRef:h,offsets:x,getItemTop:re,getItemElement:j,getItemHeight:M,scrollToIndex:ie}}var q,go,_o,vo,yo,bo,xo,So,Co,wo=t((()=>{q=n(h(),1),go=3,_o=40,vo=30,yo=20,bo=1,xo=200,So=25,Co=()=>{}}));function To({children:e}){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(null);return(0,Ao.jsx)(Mo.Provider,{value:n,children:(0,Ao.jsx)(Po.Provider,{value:i,children:(0,Ao.jsx)(jo.Provider,{value:t,children:(0,Ao.jsx)(No.Provider,{value:r,children:e})})})})}function Eo(){return(0,J.useContext)(jo)}function Do(){return(0,J.useContext)(No)}function Oo(e){let t=(0,J.useContext)(Mo);(0,J.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}function ko(e){let t=(0,J.useContext)(Po);(0,J.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}var J,Ao,jo,Mo,No,Po,Fo=t((()=>{J=n(h(),1),Ao=S(),jo=(0,J.createContext)(null),Mo=(0,J.createContext)(null),No=(0,J.createContext)(null),Po=(0,J.createContext)(null)}));function Io(e){let[t,n]=(0,Y.useState)(null),r=(0,Y.useRef)(e);r.current=e;let i=(0,Y.useRef)(null),a=(0,Y.useCallback)(()=>{n(null)},[]),o=(0,Y.useCallback)(e=>{let t=Math.max(0,e.getScrollHeight()-e.getViewportHeight());e.getScrollTop()+e.getPendingDelta()>=t||i.current===null&&(i.current=e.getScrollHeight(),n(r.current))},[]),s=(0,Y.useCallback)(e=>{e&&e.scrollToBottom()},[]);return(0,Y.useEffect)(()=>{t===null?i.current=null:e<t&&(i.current=null,n(null))},[e,t]),{dividerIndex:t,dividerYRef:i,onScrollAway:o,onRepin:a,jumpToNew:s,shiftDivider:(0,Y.useCallback)((e,t)=>{n(t=>t===null?null:t+e),i.current!==null&&(i.current+=t)},[])}}function Lo(e,t){let n=0,r=!1;for(let i=t;i<e.length;i++){let t=e[i];if(t.type===`progress`||t.type===`assistant`&&!Ro(t))continue;let a=t.type===`assistant`;a&&!r&&n++,r=a}return n}function Ro(e){if(e.type!==`assistant`||!Array.isArray(e.message.content))return!1;for(let t of e.message.content)if(typeof t!=`string`&&t.type===`text`&&t.text.trim()!==``)return!0;return!1}function zo(e,t){if(t===null)return;let n=t;for(;n<e.length&&(e[n]?.type===`progress`||Qa(e[n]));)n++;let r=e[n]?.uuid;if(!r)return;let i=Lo(e,t);return{firstUnseenUuid:r,count:Math.max(1,i)}}function Bo({scrollable:e,bottom:t,overlay:n,bottomFloat:r,modal:i,modalScrollRef:a,scrollRef:o,dividerYRef:s,hidePill:c=!1,hideSticky:u=!1,newMessageCount:f=0,onPillClick:m}){let{rows:h,columns:g}=v(),[_,y]=(0,Y.useState)(null),b=(0,Y.useMemo)(()=>({setStickyPrompt:y}),[]),S=(0,Y.useSyncExternalStore)((0,Y.useCallback)(e=>o?.current?.subscribe(e)??(()=>{}),[o]),()=>{let e=o?.current,t=s?.current;return!e||t==null?!1:e.getScrollTop()+e.getPendingDelta()+e.getViewportHeight()<t});if((0,Y.useLayoutEffect)(()=>{if(!ge())return;let e=p.get(process.stdout);if(e)return e.onHyperlinkClick=e=>{if(e.startsWith(`file:`))try{$t(Mn(e))}catch{}else Qt(e)},()=>{e.onHyperlinkClick=void 0}},[]),ge()){let s=u?null:_,p=s!=null&&s!==`clicked`&&n==null?s:null,v=s!=null&&n==null;return(0,X.jsxs)(To,{children:[(0,X.jsx)(l,{flexDirection:`row`,flexGrow:1,overflow:`hidden`,width:`100%`,children:(0,X.jsxs)(l,{flexDirection:`column`,flexGrow:1,width:g,overflow:`hidden`,children:[(0,X.jsxs)(l,{flexGrow:1,flexDirection:`column`,overflow:`hidden`,children:[p&&(0,X.jsx)(Ho,{text:p.text,onClick:p.scrollTo}),(0,X.jsxs)(x,{ref:o,flexGrow:1,flexDirection:`column`,paddingTop:+!v,stickyScroll:!0,children:[(0,X.jsx)(Ko,{value:b,children:e}),n]}),!c&&S&&n==null&&(0,X.jsx)(Vo,{count:f,onClick:m}),r!=null&&(0,X.jsx)(l,{position:`absolute`,bottom:0,right:0,opaque:!0,children:r})]}),(0,X.jsxs)(l,{flexDirection:`column`,flexShrink:0,width:`100%`,maxHeight:`50%`,children:[(0,X.jsx)(Uo,{}),(0,X.jsx)(Wo,{}),(0,X.jsx)(l,{flexDirection:`column`,width:`100%`,flexGrow:1,overflowY:`hidden`,children:t})]})]})}),i!=null&&(0,X.jsx)(xn,{value:{rows:h-Go-1,columns:g-4,scrollRef:a??null},children:(0,X.jsxs)(l,{position:`absolute`,bottom:0,left:0,right:0,maxHeight:h-Go,flexDirection:`column`,overflow:`hidden`,opaque:!0,children:[(0,X.jsx)(l,{flexShrink:0,children:(0,X.jsx)(d,{color:`permission`,children:`▔`.repeat(g)})}),(0,X.jsx)(l,{flexDirection:`column`,paddingX:2,flexShrink:0,overflow:`hidden`,children:i})]})})]})}return(0,X.jsxs)(X.Fragment,{children:[e,t,n,i]})}function Vo({count:e,onClick:t}){let[n,r]=(0,Y.useState)(!1);return(0,X.jsx)(l,{position:`absolute`,bottom:0,left:0,right:0,justifyContent:`center`,children:(0,X.jsx)(l,{onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,X.jsxs)(d,{backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,dimColor:!0,children:[` `,e>0?`${e} new ${Dt(e,`message`)}`:`Jump to bottom`,` `,o.arrowDown,` `]})})})}function Ho({text:e,onClick:t}){let[n,r]=(0,Y.useState)(!1);return(0,X.jsx)(l,{flexShrink:0,width:`100%`,height:1,paddingRight:1,backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,X.jsxs)(d,{color:`subtle`,wrap:`truncate-end`,children:[o.pointer,` `,e]})})}function Uo(){let e=Eo();return!e||e.suggestions.length===0?null:(0,X.jsx)(l,{position:`absolute`,bottom:`100%`,left:0,right:0,paddingX:2,paddingTop:1,flexDirection:`column`,opaque:!0,children:(0,X.jsx)(gn,{suggestions:e.suggestions,selectedSuggestion:e.selectedSuggestion,maxColumnWidth:e.maxColumnWidth,overlay:!0})})}function Wo(){let e=Do();return e?(0,X.jsx)(l,{position:`absolute`,bottom:`100%`,left:0,right:0,opaque:!0,children:e}):null}var Y,X,Go,Ko,qo=t((()=>{a(),Y=n(h(),1),bn(),Fo(),we(),y(),en(),N(),Ot(),eo(),_n(),X=S(),Go=2,Ko=(0,Y.createContext)({setStickyPrompt:()=>{}})}));function Jo(e){let t=ns.get(e);if(t!==void 0)return t;let n=gi(e);return ns.set(e,n),n}function Yo(e){let t=is.get(e);if(t!==void 0)return t;let n=Xo(e);return is.set(e,n),n}function Xo(e){let t=null;if(e.type===`user`){if(e.isMeta||e.isVisibleInTranscriptOnly)return null;let n=e.message.content[0];if(n?.type!==`text`)return null;t=n.text??null}else if(e.type===`attachment`&&e.attachment.type===`queued_command`&&e.attachment.commandMode!==`task-notification`&&!e.attachment.isMeta){let n=e.attachment.prompt;t=typeof n==`string`?n:n.flatMap(e=>e.type===`text`?[e.text??``]:[]).join(`
|
|
11
|
+
`)}if(t===null)return null;let n=qe(t);return n.startsWith(`<`)||n===``?null:n}function Zo({itemKey:e,msg:t,idx:n,measureRef:r,expanded:i,hovered:a,clickable:o,onClickK:s,onEnterK:c,onLeaveK:d,renderItem:f}){return(0,es.jsx)(l,{ref:r(e),flexDirection:`column`,backgroundColor:i?`userMessageBackgroundHover`:void 0,paddingBottom:i?1:void 0,onClick:o?e=>s(t,e.cellIsBlank):void 0,onMouseEnter:o?()=>c(e):void 0,onMouseLeave:o?()=>d(e):void 0,children:(0,es.jsx)(u.Provider,{value:a&&!i?`text`:void 0,children:f(t,n)})})}function Qo({messages:e,scrollRef:t,columns:n,itemKey:r,renderItem:i,onItemClick:a,isItemClickable:o,isItemExpanded:s,extractSearchText:c=Jo,trackStickyPrompt:u,selectedIndex:d,cursorNavRef:f,setCursor:p,jumpRef:m,onSearchMatchesChange:h,scanElement:g,setPositions:_}){let v=(0,Z.useRef)([]),y=(0,Z.useRef)(e),b=(0,Z.useRef)(r);if(b.current!==r||e.length<v.current.length||e[0]!==y.current[0])v.current=e.map(e=>r(e));else for(let t=v.current.length;t<e.length;t++)v.current.push(r(e[t]));y.current=e,b.current=r;let x=v.current,{range:S,topSpacer:C,bottomSpacer:w,measureRef:T,spacerRef:E,offsets:D,getItemTop:O,getItemElement:k,getItemHeight:ee,scrollToIndex:A}=ho(t,x,n),[te,ne]=S,re=(0,Z.useCallback)(t=>ee(t)!==0&&He(e[t]),[ee,e]);(0,Z.useImperativeHandle)(f,()=>{let n=e=>p?.({uuid:e.uuid,msgType:e.type,expanded:!1,toolName:R(e)?.name}),r=d??-1,i=(t,r,i=re)=>{for(let a=t;a>=0&&a<e.length;a+=r)if(i(a))return n(e[a]),!0;return!1},a=t=>re(t)&&e[t].type===`user`;return{enterCursor:()=>i(e.length-1,-1,a),navigatePrev:()=>i(r-1,-1),navigateNext:()=>{i(r+1,1)||(t.current?.scrollToBottom(),p?.(null))},navigatePrevUser:()=>i(r-1,-1,a),navigateNextUser:()=>i(r+1,1,a),navigateTop:()=>i(0,1),navigateBottom:()=>i(e.length-1,-1),getSelected:()=>r>=0?e[r]??null:null}},[e,d,p,re]);let j=(0,Z.useRef)({offsets:D,start:te,getItemElement:k,getItemTop:O,messages:e,scrollToIndex:A});j.current={offsets:D,start:te,getItemElement:k,getItemTop:O,messages:e,scrollToIndex:A},(0,Z.useEffect)(()=>{if(d===void 0)return;let e=j.current,n=e.getItemElement(d);n?t.current?.scrollToElement(n,1):e.scrollToIndex(d)},[d,t]);let M=(0,Z.useRef)(null),ie=(0,Z.useRef)({msgIdx:-1,positions:[]}),N=(0,Z.useRef)(-1),ae=(0,Z.useRef)(0),oe=(0,Z.useRef)(0),se=(0,Z.useRef)(()=>{}),ce=(0,Z.useRef)(()=>{}),P=(0,Z.useRef)({matches:[],ptr:0,screenOrd:0,prefixSum:[]}),F=(0,Z.useRef)(-1),I=(0,Z.useRef)(!1);function le(e){let t=j.current.getItemTop(e);return Math.max(0,t-ts)}function ue(e){let n=t.current,{msgIdx:r,positions:i}=ie.current;if(!n||i.length===0||r<0){_?.(null);return}let a=Math.max(0,Math.min(e,i.length-1)),o=i[a],s=j.current.getItemTop(r),c=n.getViewportTop(),l=s-n.getScrollTop(),u=n.getViewportHeight(),d=c+l+o.row;(d<c||d>=c+u)&&(n.scrollTo(Math.max(0,s+o.row-ts)),l=s-n.getScrollTop(),d=c+l+o.row),_?.({positions:i,rowOffset:c+l,currentIdx:a});let f=P.current,p=f.prefixSum.at(-1)??0,m=(f.prefixSum[f.ptr]??0)+a+1;h?.(p,m),et(`highlight(i=${r}, ord=${a}/${i.length}): pos={row:${o.row},col:${o.col}} lo=${l} screenRow=${d} badge=${m}/${p}`)}ce.current=ue;let[L,de]=(0,Z.useState)(0),fe=(0,Z.useCallback)(()=>de(e=>e+1),[]);(0,Z.useEffect)(()=>{let e=M.current;if(!e)return;let{idx:n,wantLast:r,tries:i}=e,a=t.current;if(!a)return;let{getItemElement:o,getItemTop:s,scrollToIndex:c}=j.current,l=o(n),u=l?.yogaNode?.getComputedHeight()??0;if(!l||u===0){if(i>1){M.current=null,et(`seek(i=${n}): no mount after scrollToIndex, skip`),se.current(r?-1:1);return}M.current={idx:n,wantLast:r,tries:i+1},c(n),fe();return}M.current=null,a.scrollTo(Math.max(0,s(n)-ts));let d=g?.(l)??[];if(ie.current={msgIdx:n,positions:d},et(`seek(i=${n} t=${i}): ${d.length} positions`),d.length===0){if(++ae.current>20){ae.current=0;return}se.current(r?-1:1);return}ae.current=0;let f=r?d.length-1:0;P.current.screenOrd=f,N.current=-1,ce.current(f);let p=oe.current;p&&(oe.current=0,se.current(p))},[L]);function pe(e,n){let r=t.current;if(!r)return;let i=j.current,{getItemElement:a,scrollToIndex:o}=i;if(e<0||e>=i.messages.length)return;_?.(null),ie.current={msgIdx:-1,positions:[]},M.current={idx:e,wantLast:n,tries:0};let s=a(e),c=s?.yogaNode?.getComputedHeight()??0;s&&c>0?r.scrollTo(le(e)):o(e),fe()}function me(e){let t=P.current,{matches:n,prefixSum:r}=t,i=r.at(-1)??0;if(n.length===0)return;if(M.current){oe.current=e;return}N.current<0&&(N.current=t.ptr);let{positions:a}=ie.current,o=t.screenOrd+e;if(o>=0&&o<a.length){t.screenOrd=o,ue(o),N.current=-1;return}let s=(t.ptr+e+n.length)%n.length;if(s===N.current){_?.(null),N.current=-1,et(`step: wraparound at ptr=${s}, all ${n.length} msgs phantoms`);return}t.ptr=s,t.screenOrd=0,pe(n[s],e<0);let c=e<0?r[s+1]??i:r[s]+1;h?.(i,c)}se.current=me,(0,Z.useImperativeHandle)(m,()=>({jumpToIndex:e=>{let n=t.current;n&&n.scrollTo(le(e))},setSearchQuery:e=>{M.current=null,ie.current={msgIdx:-1,positions:[]},N.current=-1,_?.(null);let n=e.toLowerCase(),r=[],i=[0];if(n){let e=j.current.messages;for(let t=0;t<e.length;t++){let a=c(e[t]),o=a.indexOf(n),s=0;for(;o>=0;)s++,o=a.indexOf(n,o+n.length);s>0&&(r.push(t),i.push(i.at(-1)+s))}}let a=i.at(-1),o=0,s=t.current,{offsets:l,start:u,getItemTop:d}=j.current,f=d(u),p=f>=0?f-l[u]:0;if(r.length>0&&s){let t=F.current>=0?F.current:s.getScrollTop(),n=1/0;for(let e=0;e<r.length;e++){let i=Math.abs(p+l[r[e]]-t);i<=n&&(n=i,o=e)}et(`setSearchQuery('${e}'): ${r.length} msgs · ptr=${o} msgIdx=${r[o]} curTop=${t} origin=${p}`)}P.current={matches:r,ptr:o,screenOrd:0,prefixSum:i},r.length>0?pe(r[o],!0):F.current>=0&&s&&s.scrollTo(F.current),h?.(a,r.length>0?i[o+1]??a:0)},nextMatch:()=>me(1),prevMatch:()=>me(-1),setAnchor:()=>{let e=t.current;e&&(F.current=e.getScrollTop())},disarmSearch:()=>{_?.(null),M.current=null,ie.current={msgIdx:-1,positions:[]},N.current=-1},warmSearchIndex:async()=>{if(I.current)return 0;let e=j.current.messages,t=0,n=performance.now();for(let n=0;n<e.length;n+=500){await Rt(0);let r=performance.now(),i=Math.min(n+500,e.length);for(let t=n;t<i;t++)c(e[t]);t+=performance.now()-r}let r=Math.round(performance.now()-n);return et(`warmSearchIndex: ${e.length} msgs · work=${Math.round(t)}ms wall=${r}ms chunks=${Math.ceil(e.length/500)}`),I.current=!0,Math.round(t)}}),[t]);let[he,ge]=(0,Z.useState)(null),_e=(0,Z.useRef)({onItemClick:a,setHoveredKey:ge});_e.current={onItemClick:a,setHoveredKey:ge};let ve=(0,Z.useCallback)((e,t)=>{let n=_e.current;!t&&n.onItemClick&&n.onItemClick(e)},[]),ye=(0,Z.useCallback)(e=>{_e.current.setHoveredKey(e)},[]),be=(0,Z.useCallback)(e=>{_e.current.setHoveredKey(t=>t===e?null:t)},[]);return(0,es.jsxs)(es.Fragment,{children:[(0,es.jsx)(l,{ref:E,height:C,flexShrink:0}),e.slice(te,ne).map((e,t)=>{let n=te+t,r=x[n],c=!!a&&(o?.(e)??!0),l=c&&he===r,u=s?.(e);return(0,es.jsx)(Zo,{itemKey:r,msg:e,idx:n,measureRef:T,expanded:u,hovered:l,clickable:c,onClickK:ve,onEnterK:ye,onLeaveK:be,renderItem:i},r)}),w>0&&(0,es.jsx)(l,{height:w,flexShrink:0}),u&&(0,es.jsx)($o,{messages:e,start:te,end:ne,offsets:D,getItemTop:O,getItemElement:k,scrollRef:t})]})}function $o({messages:e,start:t,end:n,offsets:r,getItemTop:i,getItemElement:a,scrollRef:o}){let{setStickyPrompt:s}=(0,Z.useContext)(Ko);(0,Z.useSyncExternalStore)((0,Z.useCallback)(e=>o.current?.subscribe(e)??as,[o]),()=>{let e=o.current;if(!e)return NaN;let t=e.getScrollTop()+e.getPendingDelta();return e.isSticky()?-1-t:t});let c=o.current?.isSticky()??!0,l=Math.max(0,(o.current?.getScrollTop()??0)+(o.current?.getPendingDelta()??0)),u=t,d=-1;for(let e=n-1;e>=t;e--){let t=i(e);if(t>=0){if(t<l)break;d=t}u=e}let f=-1,p=null;if(u>0&&!c)for(let t=u-1;t>=0;t--){let n=Yo(e[t]);if(n===null)continue;let r=i(t);if(!(r>=0&&r+1>=l)){f=t,p=n;break}}let m=d>=0?d-r[u]:0,h=f>=0?Math.max(0,m+r[f]):-1,g=(0,Z.useRef)({idx:-1,tries:0}),_=(0,Z.useRef)(`none`),v=(0,Z.useRef)(-1);return(0,Z.useEffect)(()=>{if(g.current.idx>=0)return;if(_.current===`armed`){_.current=`force`;return}let e=_.current===`force`;if(_.current=`none`,!e&&v.current===f)return;if(v.current=f,p===null){s(null);return}let t=p.trimStart(),n=t.search(/\n\s*\n/),r=(n>=0?t.slice(0,n):t).slice(0,rs).replace(/\s+/g,` `).trim();if(r===``){s(null);return}let i=f,c=h;s({text:r,scrollTo:()=>{s(`clicked`),_.current=`armed`;let e=a(i);e?o.current?.scrollToElement(e,1):(o.current?.scrollTo(c),g.current={idx:i,tries:0})}})}),(0,Z.useEffect)(()=>{if(g.current.idx<0)return;let e=a(g.current.idx);e?(o.current?.scrollToElement(e,1),g.current={idx:-1,tries:0}):++g.current.tries>5&&(g.current={idx:-1,tries:0})}),null}var Z,es,ts,ns,rs,is,as,os=t((()=>{h(),Z=n(h(),1),wo(),y(),se(),qo(),es=S(),$e(),It(),Ci(),Ce(),ts=3,ns=new WeakMap,rs=500,is=new WeakMap,as=()=>{}}));function ss(e,t){let n=new Set(t),r=new Set;return e.filter(e=>{if(e.type===`system`)return e.subtype!==`api_metrics`;let t=e.message?.content[0];if(e.type===`assistant`)return e.isApiErrorMessage?!0:t?.type===`tool_use`&&t.name&&n.has(t.name)?(`id`in t&&r.add(t.id),!0):!1;if(e.type===`user`)return t?.type===`tool_result`?t.tool_use_id!==void 0&&r.has(t.tool_use_id):!e.isMeta;if(e.type===`attachment`){let t=e.attachment;return t?.type===`queued_command`&&t.commandMode===`prompt`&&!t.isMeta&&t.origin===void 0}return!1})}function cs(e,t){let n=new Set(t),r=new Set,i=[],a=0;for(let t=0;t<e.length;t++){let o=e[t],s=o.message?.content[0];if(o.type===`user`&&s?.type!==`tool_result`&&!o.isMeta){a++;continue}o.type===`assistant`&&(s?.type===`text`?i[t]=a:s?.type===`tool_use`&&s.name&&n.has(s.name)&&r.add(a))}return r.size===0?e:e.filter((e,t)=>{let n=i[t];return n===void 0||!r.has(n)})}function ls(e,t,n=ys,r=bs){let i=t.current,a=i?e.findIndex(e=>e.uuid===i.uuid):-1,o=a>=0?a:i?Math.min(i.idx,Math.max(0,e.length-n)):0;e.length-o>n+r&&(o=e.length-n);let s=e[o];return s&&(i?.uuid!==s.uuid||i.idx!==o)?t.current={uuid:s.uuid,idx:o}:!s&&i&&(t.current=null),o}function us(e){return(e.type===`assistant`||e.type===`user`?le(e):null)??e.uuid}function ds(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function fs(e,t,n,r,i,a){if(i===`transcript`)return!0;switch(e.type){case`attachment`:case`user`:case`assistant`:{if(e.type===`assistant`){let t=e.message.content[0];if(t?.type===`server_tool_use`)return a.resolvedToolUseIDs.has(t.id)}let i=le(e);return i?t.has(i)||n.has(i)||de(i,`PostToolUse`,a)?!1:ri(r,a.resolvedToolUseIDs):!0}case`system`:return e.subtype!==`api_error`;case`grouped_tool_use`:return e.messages.every(e=>{let t=e.message.content[0];return t?.type===`tool_use`&&a.resolvedToolUseIDs.has(t.id)});case`collapsed_read_search`:return!1;default:return!0}}var ps,Q,$,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs=t((()=>{m(),ps=n(h(),1),Q=n(h(),1),ii(),w(),ot(),we(),y(),A(),Bt(),Ke(),si(),ui(),k(),dt(),i(),N(),hi(),Ye(),Ot(),Ci(),Fa(),Ne(),Za(),Ce(),Fe(),eo(),I(),mo(),$=S(),os(),ms=ps.memo(function({agentDefinitions:e}){return(0,$.jsx)(P,{children:(0,$.jsxs)(l,{flexDirection:`column`,gap:1,children:[(0,$.jsx)(Ma,{}),(0,$.jsx)(ps.Suspense,{fallback:null,children:(0,$.jsx)(lo,{agentDefinitions:e})})]})})}),hs=(Ht(),e(Vt)),gs=(it(),e(at)).BRIEF_TOOL_NAME,_s=(be(),e(j)).SEND_USER_FILE_TOOL_NAME,vs=30,ys=200,bs=50,xs=({messages:e,tools:t,commands:n,verbose:i,toolJSX:a,toolUseConfirmQueue:o,inProgressToolUseIDs:c,isMessageSelectorVisible:u,conversationId:p,screen:m,streamingToolUses:h,showAllInTranscript:g=!1,agentDefinitions:_,onOpenRateLimitOptions:y,hideLogo:x=!1,isLoading:S,hidePastThinking:w=!1,streamingThinking:T,streamingText:D,isBriefOnly:k=!1,unseenDivider:A,scrollRef:te,trackStickyPrompt:ne,jumpRef:j,onSearchMatchesChange:M,scanElement:N,setPositions:ae,disableRenderCap:oe=!1,cursor:se=null,setCursor:ce,cursorNavRef:P,renderRange:F})=>{let{columns:I}=v(),le=We(`transcript:toggleShowAll`,`Transcript`,`Ctrl+E`),L=(0,Q.useMemo)(()=>Le(e).filter(ie),[e]),de=(0,Q.useMemo)(()=>T?T.isStreaming?!0:T.streamingEndedAt?Date.now()-T.streamingEndedAt<3e4:!1:!1,[T]),{lastThinkingBlockId:fe,latestBashOutputUUID:pe}=(0,Q.useMemo)(()=>{let e=null,t=null,n=w&&!de;w&&de&&(e=`streaming`);for(let r=L.length-1;r>=0;r--){let i=L[r];if(i?.type===`user`){let r=i.message.content;if(!t){for(let e of r)if(e.type===`text`){let n=e.text??``;if(n.startsWith(`<bash-stdout`)||n.startsWith(`<bash-stderr`)){t=i.uuid;break}}}n&&!e&&(r.some(e=>e.type===`tool_result`)||(e=`no-thinking`))}else if(i?.type===`assistant`&&n&&!e){let t=i.message.content;for(let n=t.length-1;n>=0;n--)if(t[n]?.type===`thinking`){e=`${i.uuid}:${n}`;break}}if(e!==null&&t)break}return w||(e=null),{lastThinkingBlockId:e,latestBashOutputUUID:t}},[L,w,de]),me=(0,Q.useMemo)(()=>ue(L),[L]),he=(0,Q.useMemo)(()=>h.filter(e=>!c.has(e.contentBlock.id)&&!me.has(e.contentBlock.id)),[h,c,me]),_e=(0,Q.useMemo)(()=>he.flatMap(e=>{let t=Ie({content:[e.contentBlock]});return t.uuid=ee(e.contentBlock.id,0),Le([t])}),[he]),ve=m===`transcript`,ye=(0,Q.useMemo)(()=>r(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]),be=te!=null&&!ye,Ce=ve&&!g&&!be,we=(0,Q.useRef)(null),R=(0,Q.useRef)(null),{collapsed:Oe,lookups:Ae,hasTruncatedMessages:je,hiddenMessageCount:Me}=(0,Q.useMemo)(()=>{let e=xe((i||ge()?L:O(L,{includeSnipped:!0})).filter(e=>e.type!==`progress`&&!Qa(e)&&Se(e,ve)),_e),n=[gs,_s].filter(e=>e!==null),r=[gs].filter(e=>e!==null),a=n.length>0&&!ve?k?ss(e,n):r.length>0?cs(e,r):e:e,o=Ce?a.slice(-30):a,s=Ce&&a.length>vs,{messages:c}=pi(o,t,i),l=oi(li(re(c,t)),i),u=De(L,o),d=(()=>{let e=o.at(-1);return e?.type===`assistant`?e.message?.id:void 0})(),f;if(R.current&&R.current.key===u)f=R.current.lookups;else if(R.current&&L.length>=R.current.normalizedCount&&o.length>=R.current.messageCount&&R.current.lastAssistantMsgId===d){let e=E(R.current.lookups,R.current.normalizedCount,R.current.messageCount,L,o);e?(f=e,R.current={key:u,lookups:f,normalizedCount:L.length,messageCount:o.length,lastAssistantMsgId:d}):(f=ze(L,o),R.current={key:u,lookups:f,normalizedCount:L.length,messageCount:o.length,lastAssistantMsgId:d})}else f=ze(L,o),R.current={key:u,lookups:f,normalizedCount:L.length,messageCount:o.length,lastAssistantMsgId:d};let p=e.length-vs;return{collapsed:l,lookups:f,hasTruncatedMessages:s,hiddenMessageCount:p}},[i,L,ve,_e,Ce,t,k]),Ne=(0,Q.useMemo)(()=>{let e=!be&&!oe?ls(Oe,we):0;return F?Oe.slice(F[0],F[1]):e>0?Oe.slice(e):Oe},[Oe,F,be,oe]),Fe=(0,Q.useMemo)(()=>new Set(h.map(e=>e.contentBlock.id)),[h]),{dividerBeforeIndex:Re,selectedIdx:Ve}=(0,Q.useMemo)(()=>{if(!A&&!se)return{dividerBeforeIndex:-1,selectedIdx:-1};let e=-1,t=-1,n=A?.firstUnseenUuid.slice(0,24);for(let r=0;r<Ne.length;r++){let i=Ne[r];if(e===-1&&n&&i.uuid.slice(0,24)===n&&(e=r),t===-1&&se&&i.uuid===se.uuid&&(t=r),e!==-1&&t!==-1)break}return{dividerBeforeIndex:e,selectedIdx:t}},[A,se,Ne]),[He,Ue]=(0,Q.useState)(()=>new Set),Ge=(0,Q.useCallback)(e=>{let t=us(e);Ue(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},[]),Ke=(0,Q.useCallback)(e=>He.size>0&&He.has(us(e)),[He]),qe=(0,Q.useRef)(Ae);qe.current=Ae;let Je=(0,Q.useCallback)(e=>{if(e.type===`collapsed_read_search`)return!0;if(e.type===`assistant`){let t=e.message.content,n=Array.isArray(t)?t[0]:void 0;return n!=null&&Te(n)&&n.type===`advisor_tool_result`&&n.content.type===`advisor_result`}if(e.type!==`user`)return!1;let n=e.message.content[0];if(n?.type!==`tool_result`||n.is_error||!e.toolUseResult)return!1;let r=qe.current.toolUseByToolUseID.get(n.tool_use_id??``)?.name;return(r?zt(t,r):void 0)?.isResultTruncated?.(e.toolUseResult)??!1},[t]),Ye=(!a||!!a.shouldContinueAnimation)&&!o.length&&!u,Xe=c.size>0,{progress:Ze}=f(),Qe=(0,Q.useRef)(null),$e=z().terminalProgressBarEnabled&&!C()&&!(hs?.isProactiveActive()??!1);(0,Q.useEffect)(()=>{let e=$e?Xe?`indeterminate`:`completed`:null;Qe.current!==e&&(Qe.current=e,Ze(e))},[Ze,$e,Xe]),(0,Q.useEffect)(()=>()=>Ze(null),[Ze]);let et=(0,Q.useCallback)(e=>`${e.uuid}-${p}`,[p]),tt=(e,r)=>{let a=r>0?Ne[r-1]?.type:void 0,o=e.type===`user`&&a===`user`,u=e.type===`collapsed_read_search`&&(!!D||Ha(Ne,r,t,Fe)),d=Ne.length-1-r>0,f=et(e),p=(0,$.jsx)(Xa,{message:e,isUserContinuation:o,hasContentAfter:u,tools:t,commands:n,verbose:i||Ke(e)||se?.expanded===!0&&r===Ve,inProgressToolUseIDs:c,streamingToolUseIDs:Fe,screen:m,canAnimate:Ye,onOpenRateLimitOptions:y,lastThinkingBlockId:fe,latestBashOutputUUID:pe,columns:I,isLoading:S,lookups:Ae,shouldCollapseDiffs:d},f),h=(0,$.jsx)(ke.Provider,{value:r===Ve,children:p},f);return A&&r===Re?[(0,$.jsx)(l,{marginTop:1,children:(0,$.jsx)(s,{title:`${A.count} new ${Dt(A.count,`message`)}`,width:I,color:`inactive`})},`unseen-divider`),h]:h},nt=(0,Q.useRef)(new WeakMap),rt=(0,Q.useCallback)(e=>{let n=nt.current.get(e);if(n!==void 0)return n;let r=gi(e);if(e.type===`user`&&e.toolUseResult&&Array.isArray(e.message.content)){let n=e.message.content.find(e=>e.type===`tool_result`);if(n&&`tool_use_id`in n){let i=Ae.toolUseByToolUseID.get(n.tool_use_id),a=(i&&zt(t,i.name))?.extractSearchText?.(e.toolUseResult);a!==void 0&&(r=a)}}let i=r.toLowerCase();return nt.current.set(e,i),i},[t,Ae]);return(0,$.jsxs)($.Fragment,{children:[!x&&!(F&&F[0]>0)&&(0,$.jsx)(ms,{agentDefinitions:_}),je&&(0,$.jsx)(s,{title:`${le} to show ${b.bold(Me)} previous messages`,width:I}),ve&&g&&Me>0&&!oe&&(0,$.jsx)(s,{title:`${le} to hide ${b.bold(Me)} previous messages`,width:I}),be?(0,$.jsx)(Pe.Provider,{value:!0,children:(0,$.jsx)(Qo,{messages:Ne,scrollRef:te,columns:I,itemKey:et,renderItem:tt,onItemClick:Ge,isItemClickable:Je,isItemExpanded:Ke,trackStickyPrompt:ne,selectedIndex:Ve>=0?Ve:void 0,cursorNavRef:P,setCursor:ce,jumpRef:j,onSearchMatchesChange:M,scanElement:N,setPositions:ae,extractSearchText:rt})}):Ne.flatMap(tt),D&&!k&&(0,$.jsx)(l,{alignItems:`flex-start`,flexDirection:`row`,marginTop:1,width:`100%`,children:(0,$.jsxs)(l,{flexDirection:`row`,children:[(0,$.jsx)(l,{minWidth:2,children:(0,$.jsx)(d,{color:`text`,children:st})}),(0,$.jsx)(l,{flexDirection:`column`,children:(0,$.jsx)(Ee,{children:D})})]})}),de&&T&&!k&&(0,$.jsx)(l,{marginTop:1,children:(0,$.jsx)(Be,{param:{type:`thinking`,thinking:T.thinking},addMargin:!1,isTranscriptMode:!0,verbose:i,hideInTranscript:!1})})]})},Ss=ps.memo(xs,(e,t)=>{let n=Object.keys(e);for(let r of n)if(!(r===`onOpenRateLimitOptions`||r===`scrollRef`||r===`trackStickyPrompt`||r===`setCursor`||r===`cursorNavRef`||r===`jumpRef`||r===`onSearchMatchesChange`||r===`scanElement`||r===`setPositions`)&&e[r]!==t[r]){if(r===`streamingToolUses`){let n=e.streamingToolUses,r=t.streamingToolUses;if(n.length===r.length&&n.every((e,t)=>e.contentBlock===r[t]?.contentBlock))continue}if(r===`inProgressToolUseIDs`&&ds(e.inProgressToolUseIDs,t.inProgressToolUseIDs))continue;if(r===`unseenDivider`){let n=e.unseenDivider,r=t.unseenDivider;if(n?.firstUnseenUuid===r?.firstUnseenUuid&&n?.count===r?.count)continue}if(r===`tools`){let n=e.tools,r=t.tools;if(n.length===r.length&&n.every((e,t)=>e.name===r[t]?.name))continue}return!1}return!0})}));export{qo as a,Oo as c,ni as d,zo as i,ko as l,Cs as n,Io as o,Bo as r,Fo as s,Ss as t,ti as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{d as t,o as n}from"./envUtils-DSxRz_kt.js";import{Gt as r,H as i,I as a,Lt as o,P as s,fi as c,kt as l,t as u}from"./src-CDCSSo0U2.js";import{t as d}from"./jsx-runtime-Bb4Xn-E0.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{d as t,o as n}from"./envUtils-DSxRz_kt.js";import{Gt as r,H as i,I as a,Lt as o,P as s,fi as c,kt as l,t as u}from"./src-CDCSSo0U2.js";import{t as d}from"./jsx-runtime-Bb4Xn-E0.js";import{Fb as f,Mx as p,Nx as m,mx as h,px as g}from"./loadAgentsDir-D206qwP3.js";import{Jt as _,Zt as v}from"./settings-BovzmwMP.js";import{g as y,s as b}from"./config-DmomySWC.js";import{n as x,r as S}from"./analytics-BotDBGh0.js";import{Bt as C,Ht as w,Tr as T,wr as E}from"./model-CKkOnnnx.js";import{u as D}from"./referral-CUaIo_vT.js";import{c as O,i as k,s as A}from"./terminalSetup-CuV-qU6v.js";import{t as j}from"./WelcomeV2-DqnbSdIu.js";import{n as M,t as N}from"./useExitOnCtrlCDWithKeybindings-DKIqRraH.js";import{n as P,t as F}from"./ThemePicker-BViWzLp3.js";import{n as I,t as L}from"./PressEnterToContinue-Dl9Hg9Mf.js";import{t as R}from"./ApproveApiKey-Bsy8kr2a.js";n();var z=e(c(),1),B=d();x(),v(),y(),E(),C(),D(),k(),N(),u(),u(),f(),m(),h(),P(),I(),u();var V=(0,z.createContext)({marker:``});function H({children:e}){let{marker:t}=(0,z.useContext)(V);return(0,B.jsxs)(a,{gap:1,children:[(0,B.jsx)(s,{dimColor:!0,children:t}),(0,B.jsx)(a,{flexDirection:`column`,children:e})]})}u();var U=(0,z.createContext)({marker:``});function W({children:e}){let{marker:t}=(0,z.useContext)(U),n=0;for(let t of z.Children.toArray(e))!(0,z.isValidElement)(t)||t.type!==H||n++;let r=String(n).length;return(0,B.jsx)(a,{flexDirection:`column`,children:z.Children.map(e,(e,n)=>{if(!(0,z.isValidElement)(e)||e.type!==H)return e;let i=`${String(n+1).padStart(r)}.`,a=`${t}${i}`;return(0,B.jsx)(U.Provider,{value:{marker:a},children:(0,B.jsx)(V.Provider,{value:{marker:a},children:e})})})})}W.Item=H;var G=W;u();function K({onDone:e}){let[n,c]=(0,z.useState)(0),[u,d]=(0,z.useState)(!1),[f]=(0,z.useState)(()=>w()),[m,h]=i();(0,z.useEffect)(()=>{S(`tengu_began_setup`,{oauthEnabled:f})},[f]);function v(){if(n<N.length-1){let e=n+1;c(e),S(`tengu_onboarding_step`,{oauthEnabled:f,stepId:N[e]?.id})}else e()}function y(e){h(e),v()}let x=M(),C=(0,B.jsx)(a,{marginX:1,children:(0,B.jsx)(F,{onThemeSelect:y,showIntroText:!0,helpText:`To change this later, run /theme`,hideEscToCancel:!0,skipExitHandling:!0})}),E=(0,B.jsxs)(a,{flexDirection:`column`,gap:1,paddingLeft:1,children:[(0,B.jsx)(s,{bold:!0,children:`Before you start, keep in mind:`}),(0,B.jsx)(a,{flexDirection:`column`,width:70,children:(0,B.jsxs)(G,{children:[(0,B.jsxs)(G.Item,{children:[(0,B.jsx)(s,{children:`Always review changes before accepting`}),(0,B.jsxs)(s,{dimColor:!0,wrap:`wrap`,children:[`Claude can make mistakes — especially when running commands`,(0,B.jsx)(l,{}),`or editing files. You stay in control of every action.`,(0,B.jsx)(l,{})]})]}),(0,B.jsxs)(G.Item,{children:[(0,B.jsx)(s,{children:`Only use Claude Code on projects you trust`}),(0,B.jsxs)(s,{dimColor:!0,wrap:`wrap`,children:[`Untrusted code could contain prompt injection attacks.`,(0,B.jsx)(l,{}),(0,B.jsx)(o,{url:`https://code.claude.com/docs/en/security`})]})]})]})}),(0,B.jsx)(L,{})]}),D=(0,z.useMemo)(()=>{if(!process.env.ANTHROPIC_API_KEY||t())return``;let e=T(process.env.ANTHROPIC_API_KEY);if(b(e)===`new`)return e},[]);function k(e){e&&d(!0),v()}let N=[];N.push({id:`theme`,component:C}),D&&N.push({id:`api-key`,component:(0,B.jsx)(R,{customApiKeyTruncated:D,onDone:k})}),f&&N.push({id:`oauth`,component:(0,B.jsx)(q,{skip:u,onSkip:v,children:(0,B.jsx)(p,{onDone:v})})}),N.push({id:`security`,component:E}),O()&&N.push({id:`terminal-setup`,component:(0,B.jsxs)(a,{flexDirection:`column`,gap:1,paddingLeft:1,children:[(0,B.jsx)(s,{bold:!0,children:`Use Claude Code's terminal setup?`}),(0,B.jsxs)(a,{flexDirection:`column`,width:70,gap:1,children:[(0,B.jsxs)(s,{children:[`For the optimal coding experience, enable the recommended settings`,(0,B.jsx)(l,{}),`for your terminal:`,` `,_.terminal===`Apple_Terminal`?`Option+Enter for newlines and visual bell`:`Shift+Enter for newlines`]}),(0,B.jsx)(g,{options:[{label:`Yes, use recommended settings`,value:`install`},{label:`No, maybe later with /terminal-setup`,value:`no`}],onChange:e=>{e===`install`?A(m).catch(()=>{}).finally(v):v()},onCancel:()=>v()}),(0,B.jsx)(s,{dimColor:!0,children:x.pending?(0,B.jsxs)(B.Fragment,{children:[`Press `,x.keyName,` again to exit`]}):(0,B.jsx)(B.Fragment,{children:`Enter to confirm · Esc to skip`})})]})]})});let P=N[n],I=(0,z.useCallback)(()=>{n===N.length-1?e():v()},[n,N.length,f,e]),V=(0,z.useCallback)(()=>{v()},[n,N.length,f,e]);return r({"confirm:yes":I},{context:`Confirmation`,isActive:P?.id===`security`}),r({"confirm:no":V},{context:`Confirmation`,isActive:P?.id===`terminal-setup`}),(0,B.jsxs)(a,{flexDirection:`column`,children:[(0,B.jsx)(j,{}),(0,B.jsxs)(a,{flexDirection:`column`,marginTop:1,children:[P?.component,x.pending&&(0,B.jsx)(a,{padding:1,children:(0,B.jsxs)(s,{dimColor:!0,children:[`Press `,x.keyName,` again to exit`]})})]})]})}function q({skip:e,onSkip:t,children:n}){return(0,z.useEffect)(()=>{e&&t()},[e,t]),e?null:n}export{K as Onboarding};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{P as n,fi as r,t as i}from"./src-CDCSSo0U2.js";import{t as a}from"./jsx-runtime-Bb4Xn-E0.js";import{b as o,c as s,g as c}from"./config-
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{P as n,fi as r,t as i}from"./src-CDCSSo0U2.js";import{t as a}from"./jsx-runtime-Bb4Xn-E0.js";import{b as o,c as s,g as c}from"./config-DmomySWC.js";import{n as l,r as u}from"./analytics-BotDBGh0.js";import{S as d,b as f}from"./startupProfiler-xa3NmN7Z.js";import{a as p,n as m,r as h,t as g}from"./overageCreditGrant-DsUrmeBh.js";function _(){let e=m();return!e||!e.available||e.granted?!1:g(e)!==null}function v(){if(!_())return!1;let e=s();return!(e.hasVisitedExtraUsage||(e.overageCreditUpsellSeenCount??0)>=O)}function y(){m()===null&&p()}function b(){let[e]=(0,E.useState)(()=>(y(),v()));return e}function x(){let e=0;o(t=>(e=(t.overageCreditUpsellSeenCount??0)+1,{...t,overageCreditUpsellSeenCount:e})),u(`tengu_overage_credit_upsell_shown`,{seen_count:e})}function S(e){return`${e} in extra usage for third-party apps · /extra-usage`}function C(e){return`${e} in extra usage`}function w({maxWidth:e,twoLine:t}){let r=m();if(!r)return null;let i=g(r);if(!i)return null;if(t){let t=C(i);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(n,{color:`claude`,children:e?d(t,e):t}),(0,D.jsx)(n,{dimColor:!0,children:e?d(k,e):k})]})}let a=S(i),o=e?d(a,e):a,s=Math.min(C(i).length,o.length);return(0,D.jsxs)(n,{dimColor:!0,children:[(0,D.jsx)(n,{color:`claude`,children:o.slice(0,s)}),o.slice(s)]})}function T(){let e=m(),t=e?g(e):null,r=t?C(t):`extra usage credit`;return{title:r,lines:[],customContent:{content:(0,D.jsx)(n,{dimColor:!0,children:k}),width:Math.max(r.length,47)}}}var E,D,O,k,A=e((()=>{r(),E=t(r(),1),i(),l(),h(),c(),f(),D=a(),O=3,k=`On us. Works on third-party apps · /extra-usage`}));export{_ as a,A as i,T as n,v as o,x as r,b as s,w as t};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{l as n,o as r}from"./envUtils-DSxRz_kt.js";import{n as i,t as a}from"./figures-5ThXQEtq.js";import{D as o,Gr as s,Gt as c,H as l,I as u,Lt as d,P as f,T as p,Wt as ee,Xn as m,dr as h,fi as g,hn as _,j as v,k as y,n as b,ot as x,r as S,t as C,x as te,y as w}from"./src-CDCSSo0U2.js";import{t as T}from"./jsx-runtime-Bb4Xn-E0.js";import{$g as E,$s as ne,As as D,Es as O,Fb as k,Fs as A,Fx as re,Gs as ie,Hs as ae,Jg as oe,KS as j,Ms as M,Nb as se,O_ as N,Px as ce,Q_ as le,R_ as ue,Rs as P,S_ as F,Sx as I,T_ as de,US as L,V_ as fe,Vs as pe,WS as me,Xs as he,Ys as ge,Z_ as _e,_D as ve,aC as R,aO as ye,ac as z,am as be,av as xe,b_ as Se,cv as Ce,dO as we,dg as Te,e_ as Ee,ec as De,fO as Oe,fs as ke,fx as Ae,g_ as je,hO as Me,ic as Ne,ig as Pe,iv as Fe,ks as Ie,lc as Le,lv as Re,mD as ze,mO as Be,n_ as Ve,nc as He,nv as Ue,om as We,ov as Ge,ps as Ke,px as qe,qs as Je,rc as Ye,rv as Xe,sO as Ze,sc as Qe,sv as $e,tO as et,tc as tt,tv as nt,uc as rt,vD as it,vs as at,w_ as ot,xx as B,y_ as st,ys as ct}from"./loadAgentsDir-D206qwP3.js";import{C as lt,F as ut,S as dt,W as ft,a as pt,l as mt,z as ht}from"./debug-BrXObCdR.js";import{St as gt,Tt as _t,_n as vt,at as yt,c as bt,ct as xt,f as St,g as Ct,gn as wt,it as Tt,y as Et}from"./settings-BovzmwMP.js";import{g as Dt,x as Ot}from"./config-DmomySWC.js";import{c as kt,o as At,s as jt}from"./log-BMCygSzM.js";import{n as Mt,r as Nt}from"./analytics-BotDBGh0.js";import{T as Pt,x as Ft}from"./startupProfiler-xa3NmN7Z.js";import{l as It,u as Lt}from"./oauth-BqJqV-2M.js";import{l as Rt,n as zt,o as Bt}from"./stringUtils-DGLPkqJ4.js";import{Bt as Vt,jt as Ht}from"./model-CKkOnnnx.js";import{a as Ut,n as Wt,o as Gt,r as Kt}from"./pluginFlagging-D9HKAGBC.js";import{u as qt}from"./referral-CUaIo_vT.js";import{n as Jt,t as Yt}from"./browser-BmZuQom6.js";import{n as Xt,t as Zt}from"./pluginStartupCheck-BY73BMT2.js";import{a as Qt,d as $t,f as en,i as tn,l as nn,o as rn,s as an,u as on}from"./pluginOperations-EN3EKLux.js";import{a as sn,c as cn,i as ln,n as un,o as dn,s as fn,t as pn}from"./validatePlugin-DtiYlXby.js";import{i as mn,n as hn,r as gn}from"./MCPConnectionManager-CNh9dNlk.js";import{n as _n,t as vn}from"./useExitOnCtrlCDWithKeybindings-DKIqRraH.js";import{t as yn}from"./SearchBox-vfLXEPed.js";import{n as bn,t as xn}from"./useSearchInput-D1Vr2Js1.js";import{i as Sn,n as Cn}from"./pluginAutoupdate-reO2PgtQ.js";import*as wn from"path";import*as Tn from"fs/promises";function En({serverToolsCount:e,serverPromptsCount:t,serverResourcesCount:n}){let r=[];return e>0&&r.push(`tools`),n>0&&r.push(`resources`),t>0&&r.push(`prompts`),(0,Dn.jsxs)(u,{children:[(0,Dn.jsx)(f,{bold:!0,children:`Capabilities: `}),(0,Dn.jsx)(f,{color:`text`,children:r.length>0?(0,Dn.jsx)(p,{children:r}):`none`})]})}var Dn,On=e((()=>{g(),C(),Dn=T()}));function kn(e,t){switch(e.client.type){case`connected`:return{message:`Reconnected to ${t}.`,success:!0};case`needs-auth`:return{message:`${t} requires authentication. Use the 'Authenticate' option.`,success:!1};case`failed`:return{message:`Failed to reconnect to ${t}.`,success:!1};default:return{message:`Unknown result when reconnecting to ${t}.`,success:!1}}}function An(e,t){return`Error reconnecting to ${t}: ${e instanceof Error?e.message:String(e)}`}var jn=e((()=>{}));function Mn({server:e,serverToolsCount:t,onViewTools:n,onCancel:r,onComplete:i,borderless:s=!1}){let[c]=l(),m=_n(),{columns:g}=x(),[y,b]=V.useState(!1),[S,C]=V.useState(null),te=me(e=>e.mcp),w=j(),[T,E]=V.useState(null),[ne,D]=(0,V.useState)(!1),O=(0,V.useRef)(null),[k,A]=(0,V.useState)(!1),[re,ie]=(0,V.useState)(null),[ae,M]=(0,V.useState)(!1),[N,le]=(0,V.useState)(null),[ue,P]=(0,V.useState)(!1),[I,de]=(0,V.useState)(!1),L=(0,V.useRef)(void 0),fe=(0,V.useRef)(!1),[pe,he]=(0,V.useState)(``),[ge,_e]=(0,V.useState)(0),[ve,R]=(0,V.useState)(null);(0,V.useEffect)(()=>()=>{fe.current=!0,O.current?.abort(),L.current!==void 0&&clearTimeout(L.current)},[]);let ye=e.isAuthenticated||e.client.type===`connected`&&t>0,z=gn(),be=V.useCallback(async()=>{A(!1),ie(null),D(!0);try{let t=await z(e.name),n=t.client.type===`connected`;Nt(`tengu_claudeai_mcp_auth_completed`,{success:n}),n?i?.(`Authentication successful. Connected to ${e.name}.`):t.client.type===`needs-auth`?i?.(`Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.`):i?.(`Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.`)}catch(t){Nt(`tengu_claudeai_mcp_auth_completed`,{success:!1}),i?.(An(t,e.name))}finally{D(!1)}},[z,e.name,i]),xe=V.useCallback(async()=>{await Pe(e.name,{...e.config,scope:e.scope}),w(t=>{let n=t.mcp.clients.map(t=>t.name===e.name?{...t,type:`needs-auth`}:t),r=F(t.mcp.tools,e.name),i=st(t.mcp.commands,e.name),a=Se(t.mcp.resources,e.name);return{...t,mcp:{...t.mcp,clients:n,tools:r,commands:i,resources:a}}}),Nt(`tengu_claudeai_mcp_clear_auth_completed`,{}),i?.(`Disconnected from ${e.name}.`),M(!1),le(null),P(!1)},[e.name,e.config,e.scope,w,i]);ee(`confirm:no`,()=>{O.current?.abort(),O.current=null,b(!1),E(null)},{context:`Confirmation`,isActive:y}),ee(`confirm:no`,()=>{A(!1),ie(null)},{context:`Confirmation`,isActive:k}),ee(`confirm:no`,()=>{M(!1),le(null),P(!1)},{context:`Confirmation`,isActive:ae}),_((e,t)=>{if(t.return&&k&&be(),t.return&&ae)if(ue)xe();else{let e=`${It().CLAUDE_AI_ORIGIN}/settings/connectors`;le(e),P(!0),Jt(e)}if(e===`c`&&!I){let e=T||re||N;e&&h(e).then(e=>{fe.current||(e&&process.stdout.write(e),de(!0),L.current!==void 0&&clearTimeout(L.current),L.current=setTimeout(de,2e3,!1))})}});let Ce=zt(String(e.name)),we=ot(te.commands,e.name).length,Te=mn(),De=V.useCallback(async()=>{let t=It().CLAUDE_AI_ORIGIN,n=Ht()?.organizationUuid,r;r=n&&e.config.type===`claudeai-proxy`&&e.config.id?`${t}/api/organizations/${n}/mcp/start-auth/${e.config.id.startsWith(`mcprs`)?`mcpsrv`+e.config.id.slice(5):e.config.id}?product_surface=${encodeURIComponent(process.env.CLAUDE_CODE_ENTRYPOINT||`cli`)}`:`${t}/settings/connectors`,ie(r),A(!0),Nt(`tengu_claudeai_mcp_auth_started`,{}),await Jt(r)},[e.config]),Oe=V.useCallback(()=>{M(!0),Nt(`tengu_claudeai_mcp_clear_auth_started`,{})},[]),ke=V.useCallback(async()=>{let t=e.client.type!==`disabled`;try{await Te(e.name),e.config.type===`claudeai-proxy`&&Nt(`tengu_claudeai_mcp_toggle`,{new_state:t?`disabled`:`enabled`}),r()}catch(n){i?.(`Failed to ${t?`disable`:`enable`} MCP server '${e.name}': ${ut(n)}`)}},[e.client.type,e.config.type,e.name,Te,r,i]),Ae=V.useCallback(async()=>{if(e.config.type===`claudeai-proxy`)return;b(!0),C(null);let t=new AbortController;O.current=t;try{if(e.isAuthenticated&&e.config&&await Ve(e.name,e.config,{preserveStepUpState:!0}),e.config){await Ee(e.name,e.config,E,t.signal,{onWaitingForCallback:e=>{R(()=>e)}}),Nt(`tengu_mcp_auth_config_authenticate`,{wasAuthenticated:e.isAuthenticated});let n=await z(e.name);if(n.client.type===`connected`){let t=ye?`Authentication successful. Reconnected to ${e.name}.`:`Authentication successful. Connected to ${e.name}.`;i?.(t)}else n.client.type===`needs-auth`?i?.(`Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.`):(kt(e.name,`Reconnection failed after authentication`),i?.(`Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.`))}}catch(e){e instanceof Error&&!(e instanceof oe)&&C(e.message)}finally{b(!1),O.current=null,R(null),he(``)}},[e.isAuthenticated,e.config,e.name,i,z,ye]),Me=async()=>{e.config.type!==`claudeai-proxy`&&e.config&&(await Ve(e.name,e.config),Nt(`tengu_mcp_auth_config_clear`,{}),await Pe(e.name,{...e.config,scope:e.scope}),w(t=>{let n=t.mcp.clients.map(t=>t.name===e.name?{...t,type:`failed`}:t),r=F(t.mcp.tools,e.name),i=st(t.mcp.commands,e.name),a=Se(t.mcp.resources,e.name);return{...t,mcp:{...t.mcp,clients:n,tools:r,commands:i,resources:a}}}),i?.(`Authentication cleared for ${e.name}.`))};if(y){let t=e.config.type!==`claudeai-proxy`&&e.config.oauth?.xaa?` Authenticating via your identity provider`:` A browser window will open for authentication`;return(0,H.jsxs)(u,{flexDirection:`column`,gap:1,padding:1,children:[(0,H.jsxs)(f,{color:`claude`,children:[`Authenticating with `,e.name,`…`]}),(0,H.jsxs)(u,{children:[(0,H.jsx)(se,{}),(0,H.jsx)(f,{children:t})]}),T&&(0,H.jsxs)(u,{flexDirection:`column`,children:[(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{dimColor:!0,children:`If your browser doesn't open automatically, copy this URL manually `}),I?(0,H.jsx)(f,{color:`success`,children:`(Copied!)`}):(0,H.jsx)(f,{dimColor:!0,children:(0,H.jsx)(o,{shortcut:`c`,action:`copy`,parens:!0})})]}),(0,H.jsx)(d,{url:T})]}),y&&T&&ve&&(0,H.jsxs)(u,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(f,{dimColor:!0,children:`If the redirect page shows a connection error, paste the URL from your browser's address bar:`}),(0,H.jsxs)(u,{children:[(0,H.jsxs)(f,{dimColor:!0,children:[`URL `,`>`,` `]}),(0,H.jsx)(ce,{value:pe,onChange:he,onSubmit:e=>{ve(e.trim()),he(``)},cursorOffset:ge,onChangeCursorOffset:_e,columns:g-8})]})]}),(0,H.jsx)(u,{marginLeft:3,children:(0,H.jsx)(f,{dimColor:!0,children:`Return here after authenticating in your browser. Press Esc to go back.`})})]})}if(k)return(0,H.jsxs)(u,{flexDirection:`column`,gap:1,padding:1,children:[(0,H.jsxs)(f,{color:`claude`,children:[`Authenticating with `,e.name,`…`]}),(0,H.jsxs)(u,{children:[(0,H.jsx)(se,{}),(0,H.jsx)(f,{children:` A browser window will open for authentication`})]}),re&&(0,H.jsxs)(u,{flexDirection:`column`,children:[(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{dimColor:!0,children:`If your browser doesn't open automatically, copy this URL manually `}),I?(0,H.jsx)(f,{color:`success`,children:`(Copied!)`}):(0,H.jsx)(f,{dimColor:!0,children:(0,H.jsx)(o,{shortcut:`c`,action:`copy`,parens:!0})})]}),(0,H.jsx)(d,{url:re})]}),(0,H.jsxs)(u,{marginLeft:3,flexDirection:`column`,children:[(0,H.jsxs)(f,{color:`permission`,children:[`Press `,(0,H.jsx)(f,{bold:!0,children:`Enter`}),` after authenticating in your browser.`]}),(0,H.jsx)(f,{dimColor:!0,italic:!0,children:(0,H.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})})]})]});if(ae)return(0,H.jsxs)(u,{flexDirection:`column`,gap:1,padding:1,children:[(0,H.jsxs)(f,{color:`claude`,children:[`Clear authentication for `,e.name]}),ue?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(f,{children:`Find the MCP server in the browser and click "Disconnect".`}),N&&(0,H.jsxs)(u,{flexDirection:`column`,children:[(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{dimColor:!0,children:`If your browser didn't open automatically, copy this URL manually `}),I?(0,H.jsx)(f,{color:`success`,children:`(Copied!)`}):(0,H.jsx)(f,{dimColor:!0,children:(0,H.jsx)(o,{shortcut:`c`,action:`copy`,parens:!0})})]}),(0,H.jsx)(d,{url:N})]}),(0,H.jsxs)(u,{marginLeft:3,flexDirection:`column`,children:[(0,H.jsxs)(f,{color:`permission`,children:[`Press `,(0,H.jsx)(f,{bold:!0,children:`Enter`}),` when done.`]}),(0,H.jsx)(f,{dimColor:!0,italic:!0,children:(0,H.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})})]})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(f,{children:`This will open claude.ai in the browser. Find the MCP server in the list and click "Disconnect".`}),(0,H.jsxs)(u,{marginLeft:3,flexDirection:`column`,children:[(0,H.jsxs)(f,{color:`permission`,children:[`Press `,(0,H.jsx)(f,{bold:!0,children:`Enter`}),` to open the browser.`]}),(0,H.jsx)(f,{dimColor:!0,italic:!0,children:(0,H.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})})]})]})]});if(ne)return(0,H.jsxs)(u,{flexDirection:`column`,gap:1,padding:1,children:[(0,H.jsxs)(f,{color:`text`,children:[`Connecting to `,(0,H.jsx)(f,{bold:!0,children:e.name}),`…`]}),(0,H.jsxs)(u,{children:[(0,H.jsx)(se,{}),(0,H.jsx)(f,{children:` Establishing connection to MCP server`})]}),(0,H.jsx)(f,{dimColor:!0,children:`This may take a few moments.`})]});let Ne=[];return e.client.type===`disabled`&&Ne.push({label:`Enable`,value:`toggle-enabled`}),e.client.type===`connected`&&t>0&&Ne.push({label:`View tools`,value:`tools`}),e.config.type===`claudeai-proxy`?e.client.type===`connected`?Ne.push({label:`Clear authentication`,value:`claudeai-clear-auth`}):e.client.type!==`disabled`&&Ne.push({label:`Authenticate`,value:`claudeai-auth`}):(ye&&(Ne.push({label:`Re-authenticate`,value:`reauth`}),Ne.push({label:`Clear authentication`,value:`clear-auth`})),ye||Ne.push({label:`Authenticate`,value:`auth`})),e.client.type!==`disabled`&&(e.client.type!==`needs-auth`&&Ne.push({label:`Reconnect`,value:`reconnectMcpServer`}),Ne.push({label:`Disable`,value:`toggle-enabled`})),Ne.length===0&&Ne.push({label:`Back`,value:`back`}),(0,H.jsxs)(u,{flexDirection:`column`,children:[(0,H.jsxs)(u,{flexDirection:`column`,paddingX:1,borderStyle:s?void 0:`round`,children:[(0,H.jsx)(u,{marginBottom:1,children:(0,H.jsxs)(f,{bold:!0,children:[Ce,` MCP Server`]})}),(0,H.jsxs)(u,{flexDirection:`column`,gap:0,children:[(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{bold:!0,children:`Status: `}),e.client.type===`disabled`?(0,H.jsxs)(f,{children:[v(`inactive`,c)(a.radioOff),` disabled`]}):e.client.type===`connected`?(0,H.jsxs)(f,{children:[v(`success`,c)(a.tick),` connected`]}):e.client.type===`pending`?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(f,{dimColor:!0,children:a.radioOff}),(0,H.jsx)(f,{children:` connecting…`})]}):e.client.type===`needs-auth`?(0,H.jsxs)(f,{children:[v(`warning`,c)(a.triangleUpOutline),` needs authentication`]}):(0,H.jsxs)(f,{children:[v(`error`,c)(a.cross),` failed`]})]}),e.transport!==`claudeai-proxy`&&(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{bold:!0,children:`Auth: `}),ye?(0,H.jsxs)(f,{children:[v(`success`,c)(a.tick),` authenticated`]}):(0,H.jsxs)(f,{children:[v(`error`,c)(a.cross),` not authenticated`]})]}),(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{bold:!0,children:`URL: `}),(0,H.jsx)(f,{dimColor:!0,children:e.config.url})]}),(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{bold:!0,children:`Config location: `}),(0,H.jsx)(f,{dimColor:!0,children:je(e.scope)})]}),e.client.type===`connected`&&(0,H.jsx)(En,{serverToolsCount:t,serverPromptsCount:we,serverResourcesCount:te.resources[e.name]?.length||0}),e.client.type===`connected`&&t>0&&(0,H.jsxs)(u,{children:[(0,H.jsx)(f,{bold:!0,children:`Tools: `}),(0,H.jsxs)(f,{dimColor:!0,children:[t,` tools`]})]})]}),S&&(0,H.jsx)(u,{marginTop:1,children:(0,H.jsxs)(f,{color:`error`,children:[`Error: `,S]})}),Ne.length>0&&(0,H.jsx)(u,{marginTop:1,children:(0,H.jsx)(qe,{options:Ne,onChange:async t=>{switch(t){case`tools`:n();break;case`auth`:case`reauth`:await Ae();break;case`clear-auth`:await Me();break;case`claudeai-auth`:await De();break;case`claudeai-clear-auth`:Oe();break;case`reconnectMcpServer`:D(!0);try{let t=await z(e.name);e.config.type===`claudeai-proxy`&&Nt(`tengu_claudeai_mcp_reconnect`,{success:t.client.type===`connected`});let{message:n}=kn(t,e.name);i?.(n)}catch(t){e.config.type===`claudeai-proxy`&&Nt(`tengu_claudeai_mcp_reconnect`,{success:!1}),i?.(An(t,e.name))}finally{D(!1)}break;case`toggle-enabled`:await ke();break;case`back`:r();break}},onCancel:r})})]}),(0,H.jsx)(u,{marginTop:1,children:(0,H.jsx)(f,{dimColor:!0,italic:!0,children:m.pending?(0,H.jsxs)(H.Fragment,{children:[`Press `,m.keyName,` again to exit`]}):(0,H.jsxs)(p,{children:[(0,H.jsx)(o,{shortcut:`↑↓`,action:`navigate`}),(0,H.jsx)(o,{shortcut:`Enter`,action:`select`}),(0,H.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var V,H,Nn=e((()=>{i(),V=t(g(),1),Mt(),Lt(),vn(),R(),C(),qt(),E(),Te(),hn(),N(),L(),Vt(),Yt(),ht(),At(),Bt(),I(),Ae(),k(),re(),On(),jn(),H=T()}));function Pn({server:e,serverToolsCount:t,onViewTools:n,onCancel:r,onComplete:i,borderless:s=!1}){let[c]=l(),d=_n(),ee=me(e=>e.mcp),m=gn(),h=mn(),[g,_]=(0,Fn.useState)(!1),y=Fn.useCallback(async()=>{let t=e.client.type!==`disabled`;try{await h(e.name),r()}catch(n){i(`Failed to ${t?`disable`:`enable`} MCP server '${e.name}': ${ut(n)}`)}},[e.client.type,e.name,h,r,i]),b=zt(String(e.name)),x=ot(ee.commands,e.name).length,S=[];return e.client.type!==`disabled`&&t>0&&S.push({label:`View tools`,value:`tools`}),e.client.type!==`disabled`&&S.push({label:`Reconnect`,value:`reconnectMcpServer`}),S.push({label:e.client.type===`disabled`?`Enable`:`Disable`,value:`toggle-enabled`}),S.length===0&&S.push({label:`Back`,value:`back`}),g?(0,U.jsxs)(u,{flexDirection:`column`,gap:1,padding:1,children:[(0,U.jsxs)(f,{color:`text`,children:[`Reconnecting to `,(0,U.jsx)(f,{bold:!0,children:e.name})]}),(0,U.jsxs)(u,{children:[(0,U.jsx)(se,{}),(0,U.jsx)(f,{children:` Restarting MCP server process`})]}),(0,U.jsx)(f,{dimColor:!0,children:`This may take a few moments.`})]}):(0,U.jsxs)(u,{flexDirection:`column`,children:[(0,U.jsxs)(u,{flexDirection:`column`,paddingX:1,borderStyle:s?void 0:`round`,children:[(0,U.jsx)(u,{marginBottom:1,children:(0,U.jsxs)(f,{bold:!0,children:[b,` MCP Server`]})}),(0,U.jsxs)(u,{flexDirection:`column`,gap:0,children:[(0,U.jsxs)(u,{children:[(0,U.jsx)(f,{bold:!0,children:`Status: `}),e.client.type===`disabled`?(0,U.jsxs)(f,{children:[v(`inactive`,c)(a.radioOff),` disabled`]}):e.client.type===`connected`?(0,U.jsxs)(f,{children:[v(`success`,c)(a.tick),` connected`]}):e.client.type===`pending`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(f,{dimColor:!0,children:a.radioOff}),(0,U.jsx)(f,{children:` connecting…`})]}):(0,U.jsxs)(f,{children:[v(`error`,c)(a.cross),` failed`]})]}),(0,U.jsxs)(u,{children:[(0,U.jsx)(f,{bold:!0,children:`Command: `}),(0,U.jsx)(f,{dimColor:!0,children:e.config.command})]}),e.config.args&&e.config.args.length>0&&(0,U.jsxs)(u,{children:[(0,U.jsx)(f,{bold:!0,children:`Args: `}),(0,U.jsx)(f,{dimColor:!0,children:e.config.args.join(` `)})]}),(0,U.jsxs)(u,{children:[(0,U.jsx)(f,{bold:!0,children:`Config location: `}),(0,U.jsx)(f,{dimColor:!0,children:je(ue(e.name)?.scope??`dynamic`)})]}),e.client.type===`connected`&&(0,U.jsx)(En,{serverToolsCount:t,serverPromptsCount:x,serverResourcesCount:ee.resources[e.name]?.length||0}),e.client.type===`connected`&&t>0&&(0,U.jsxs)(u,{children:[(0,U.jsx)(f,{bold:!0,children:`Tools: `}),(0,U.jsxs)(f,{dimColor:!0,children:[t,` tools`]})]})]}),S.length>0&&(0,U.jsx)(u,{marginTop:1,children:(0,U.jsx)(qe,{options:S,onChange:async t=>{if(t===`tools`)n();else if(t===`reconnectMcpServer`){_(!0);try{let{message:t}=kn(await m(e.name),e.name);i?.(t)}catch(t){i?.(An(t,e.name))}finally{_(!1)}}else t===`toggle-enabled`?await y():t===`back`&&r()},onCancel:r})})]}),(0,U.jsx)(u,{marginTop:1,children:(0,U.jsx)(f,{dimColor:!0,italic:!0,children:d.pending?(0,U.jsxs)(U.Fragment,{children:[`Press `,d.keyName,` again to exit`]}):(0,U.jsxs)(p,{children:[(0,U.jsx)(o,{shortcut:`↑↓`,action:`navigate`}),(0,U.jsx)(o,{shortcut:`Enter`,action:`select`}),(0,U.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var Fn,U,In=e((()=>{i(),Fn=t(g(),1),vn(),C(),fe(),hn(),N(),L(),ht(),Bt(),I(),Ae(),k(),On(),jn(),U=T()}));function Ln({tool:e,server:t,onBack:n}){let[r,i]=Rn.useState(``),a=yt(e.name,t.name),o=Tt(e.userFacingName?e.userFacingName({}):a),s=e.isReadOnly?.({})??!1,c=e.isDestructive?.({})??!1,l=e.isOpenWorld?.({})??!1;return Rn.useEffect(()=>{async function t(){try{let t=await e.description({},{isNonInteractiveSession:!1,toolPermissionContext:{mode:`default`,additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1},tools:[]});i(t)}catch{i(`Failed to load description`)}}t()},[e]),(0,W.jsx)(w,{title:(0,W.jsxs)(W.Fragment,{children:[o,s&&(0,W.jsx)(f,{color:`success`,children:` [read-only]`}),c&&(0,W.jsx)(f,{color:`error`,children:` [destructive]`}),l&&(0,W.jsx)(f,{dimColor:!0,children:` [open-world]`})]}),subtitle:t.name,onCancel:n,inputGuide:e=>e.pending?(0,W.jsxs)(f,{children:[`Press `,e.keyName,` again to exit`]}):(0,W.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`}),children:(0,W.jsxs)(u,{flexDirection:`column`,children:[(0,W.jsxs)(u,{children:[(0,W.jsx)(f,{bold:!0,children:`Tool name: `}),(0,W.jsx)(f,{dimColor:!0,children:a})]}),(0,W.jsxs)(u,{children:[(0,W.jsx)(f,{bold:!0,children:`Full name: `}),(0,W.jsx)(f,{dimColor:!0,children:e.name})]}),r&&(0,W.jsxs)(u,{flexDirection:`column`,marginTop:1,children:[(0,W.jsx)(f,{bold:!0,children:`Description:`}),(0,W.jsx)(f,{wrap:`wrap`,children:r})]}),e.inputJSONSchema&&e.inputJSONSchema.properties&&Object.keys(e.inputJSONSchema.properties).length>0&&(0,W.jsxs)(u,{flexDirection:`column`,marginTop:1,children:[(0,W.jsx)(f,{bold:!0,children:`Parameters:`}),(0,W.jsx)(u,{marginLeft:2,flexDirection:`column`,children:Object.entries(e.inputJSONSchema.properties).map(([t,n])=>{let r=(e.inputJSONSchema?.required)?.includes(t);return(0,W.jsxs)(f,{children:[`• `,t,r&&(0,W.jsx)(f,{dimColor:!0,children:` (required)`}),`:`,` `,(0,W.jsx)(f,{dimColor:!0,children:typeof n==`object`&&n&&`type`in n?String(n.type):`unknown`}),typeof n==`object`&&n&&`description`in n&&(0,W.jsxs)(f,{dimColor:!0,children:[` - `,String(n.description)]})]},t)})})]})]})})}var Rn,W,zn=e((()=>{Rn=t(g(),1),C(),xt(),I(),W=T()}));function Bn({server:e,onSelectTool:t,onBack:n}){let r=me(e=>e.mcp.tools),i=Vn.useMemo(()=>e.client.type===`connected`?de(r,e.name):[],[e,r]),a=i.map((t,n)=>{let r=yt(t.name,e.name),i=Tt(t.userFacingName?t.userFacingName({}):r),a=t.isReadOnly?.({})??!1,o=t.isDestructive?.({})??!1,s=t.isOpenWorld?.({})??!1,c=[];return a&&c.push(`read-only`),o&&c.push(`destructive`),s&&c.push(`open-world`),{label:i,value:n.toString(),description:c.length>0?c.join(`, `):void 0,descriptionColor:o?`error`:a?`success`:void 0}});return(0,Hn.jsx)(w,{title:`Tools for ${e.name}`,subtitle:`${i.length} ${Rt(i.length,`tool`)}`,onCancel:n,inputGuide:e=>e.pending?(0,Hn.jsxs)(f,{children:[`Press `,e.keyName,` again to exit`]}):(0,Hn.jsxs)(p,{children:[(0,Hn.jsx)(o,{shortcut:`↑↓`,action:`navigate`}),(0,Hn.jsx)(o,{shortcut:`Enter`,action:`select`}),(0,Hn.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]}),children:i.length===0?(0,Hn.jsx)(f,{dimColor:!0,children:`No tools available`}):(0,Hn.jsx)(qe,{options:a,onChange:e=>{let n=parseInt(e,10),r=i[n];r&&t(r,n)},onCancel:n})})}var Vn,Hn,Un=e((()=>{Vn=t(g(),1),C(),xt(),N(),L(),Bt(),I(),Ae(),Hn=T()}));function Wn({inputValue:e,setInputValue:t,cursorOffset:n,setCursorOffset:r,error:i,setError:a,result:s,setResult:c,setViewState:l,onAddComplete:d,cliMode:ee=!1}){let m=(0,Gn.useRef)(!1),[h,g]=(0,Gn.useState)(!1),[_,v]=(0,Gn.useState)(``),y=async()=>{let t=e.trim();if(!t){a(`Please enter a marketplace source`);return}let n=await sn(t);if(!n){a(`Invalid marketplace source format. Try: owner/repo, https://..., or ./path`);return}if(`error`in n){a(n.error);return}a(null);try{g(!0),v(``);let{name:e,resolvedSource:t}=await A(n,e=>{v(e)});ge(e,{source:t}),Le();let r=n.source;n.source===`github`&&(r=n.repo),Nt(`tengu_marketplace_added`,{source_type:r}),d&&await d(),v(``),g(!1),ee?c(`Successfully added marketplace: ${e}`):l({type:`browse-marketplace`,targetMarketplace:e})}catch(e){let t=ft(e);jt(t),a(t.message),v(``),g(!1),c(ee?`Error: ${t.message}`:null)}};return(0,Gn.useEffect)(()=>{e&&!m.current&&!i&&!s&&(m.current=!0,y())},[]),(0,G.jsxs)(u,{flexDirection:`column`,children:[(0,G.jsxs)(u,{flexDirection:`column`,paddingX:1,borderStyle:`round`,children:[(0,G.jsx)(u,{marginBottom:1,children:(0,G.jsx)(f,{bold:!0,children:`Add Marketplace`})}),(0,G.jsxs)(u,{flexDirection:`column`,children:[(0,G.jsx)(f,{children:`Enter marketplace source:`}),(0,G.jsx)(f,{dimColor:!0,children:`Examples:`}),(0,G.jsx)(f,{dimColor:!0,children:` · owner/repo (GitHub)`}),(0,G.jsx)(f,{dimColor:!0,children:` · git@github.com:owner/repo.git (SSH)`}),(0,G.jsx)(f,{dimColor:!0,children:` · https://example.com/marketplace.json`}),(0,G.jsx)(f,{dimColor:!0,children:` · ./path/to/marketplace`}),(0,G.jsx)(u,{marginTop:1,children:(0,G.jsx)(ce,{value:e,onChange:t,onSubmit:y,columns:80,cursorOffset:n,onChangeCursorOffset:r,focus:!0,showCursor:!0})})]}),h&&(0,G.jsxs)(u,{marginTop:1,children:[(0,G.jsx)(se,{}),(0,G.jsx)(f,{children:_||`Adding marketplace to configuration…`})]}),i&&(0,G.jsx)(u,{marginTop:1,children:(0,G.jsx)(f,{color:`error`,children:i})}),s&&(0,G.jsx)(u,{marginTop:1,children:(0,G.jsx)(f,{children:s})})]}),(0,G.jsx)(u,{marginLeft:3,children:(0,G.jsx)(f,{dimColor:!0,italic:!0,children:(0,G.jsxs)(p,{children:[(0,G.jsx)(o,{shortcut:`Enter`,action:`add`}),(0,G.jsx)(B,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`cancel`})]})})})]})}var Gn,G,Kn=e((()=>{g(),Gn=t(g(),1),Mt(),I(),C(),k(),re(),ht(),At(),rt(),pe(),ln(),G=T()}));function qn(e,t,r,i){let a={};for(let o of e){let e=r[o],s=t[o]??``;if(!(e?.sensitive===!0&&s===``&&i?.[o]!==void 0))if(e?.type===`number`){if(s.trim()===``)continue;let e=Number(s);a[o]=Number.isNaN(e)?s:e}else e?.type===`boolean`?a[o]=n(s):a[o]=s}return a}function Jn({title:e,subtitle:t,configSchema:n,initialValues:r,onSave:i,onCancel:o}){let l=Object.keys(n),d=(0,Yn.useCallback)(e=>{if(n[e]?.sensitive===!0)return``;let t=r?.[e];return t===void 0?``:String(t)},[n,r]),[p,m]=(0,Yn.useState)(0),[h,g]=(0,Yn.useState)({}),[v,y]=(0,Yn.useState)(()=>l[0]?d(l[0]):``),b=l[p],x=b?n[b]:null;if(ee(`confirm:no`,o,{context:`Settings`}),c({"confirm:nextField":(0,Yn.useCallback)(()=>{if(p<l.length-1&&b){g(e=>({...e,[b]:v})),m(e=>e+1);let e=l[p+1];y(e?d(e):``)}},[p,l,b,v,d]),"confirm:yes":(0,Yn.useCallback)(()=>{if(!b)return;let e={...h,[b]:v};if(p===l.length-1)i(qn(l,e,n,r));else{g(e),m(e=>e+1);let t=l[p+1];y(t?d(t):``)}},[b,h,v,p,l,n,i,d,r])},{context:`Confirmation`}),_((e,t)=>{if(t.backspace||t.delete){y(e=>e.slice(0,-1));return}e&&!t.ctrl&&!t.meta&&!t.tab&&!t.return&&y(t=>t+e)}),!x||!b)return null;let S=x.sensitive===!0,C=x.required===!0,te=S?`*`.repeat(s(v)):v;return(0,Xn.jsxs)(w,{title:e,subtitle:t,onCancel:o,isCancelActive:!1,children:[(0,Xn.jsxs)(u,{flexDirection:`column`,children:[(0,Xn.jsxs)(f,{bold:!0,children:[x.title||b,C&&(0,Xn.jsx)(f,{color:`error`,children:` *`})]}),x.description&&(0,Xn.jsx)(f,{dimColor:!0,children:x.description}),(0,Xn.jsxs)(u,{marginTop:1,children:[(0,Xn.jsxs)(f,{children:[a.pointerSmall,` `]}),(0,Xn.jsx)(f,{children:te}),(0,Xn.jsx)(f,{children:`█`})]})]}),(0,Xn.jsxs)(u,{flexDirection:`column`,children:[(0,Xn.jsxs)(f,{dimColor:!0,children:[`Field `,p+1,` of `,l.length]}),p<l.length-1&&(0,Xn.jsx)(f,{dimColor:!0,children:`Tab: Next field · Enter: Save and continue`}),p===l.length-1&&(0,Xn.jsx)(f,{dimColor:!0,children:`Enter: Save configuration`})]})]})}var Yn,Xn,Zn=e((()=>{i(),Yn=t(g(),1),C(),qt(),r(),Xn=T()}));async function Qn(e){let{enabled:t,disabled:n}=await Ke();return[...t,...n].find(t=>t.repository===e||t.source===e)}function $n({plugin:e,pluginId:t,onDone:n}){let[r]=er.useState(()=>{let n=[],r=nt(e);Object.keys(r).length>0&&n.push({key:`top-level`,title:`Configure ${e.name}`,subtitle:`Plugin options`,schema:r,load:()=>Xe(t),save:n=>Fe(t,n,e.manifest.userConfig)});let i=_e(e);for(let r of i)n.push({key:`channel:${r.server}`,title:`Configure ${r.displayName}`,subtitle:`Plugin: ${e.name}`,schema:r.configSchema,load:()=>$e(t,r.server)??void 0,save:e=>Re(t,r.server,e,r.configSchema)});return n}),[i,a]=er.useState(0),o=er.useRef(n);if(o.current=n,er.useEffect(()=>{r.length===0&&o.current(`skipped`)},[r.length]),r.length===0)return null;let s=r[i];function c(e){try{s.save(e)}catch(e){n(`error`,ut(e));return}let t=i+1;t<r.length?a(t):n(`configured`)}return(0,tr.jsx)(Jn,{title:s.title,subtitle:s.subtitle,configSchema:s.schema,initialValues:s.load(),onSave:c,onCancel:()=>n(`skipped`)},s.key)}var er,tr,nr=e((()=>{er=t(g(),1),ht(),xe(),le(),ke(),Ue(),Zn(),tr=T()}));function rr(){let e=Ne();return(0,ir.jsxs)(u,{marginBottom:1,children:[(0,ir.jsxs)(f,{color:`claude`,children:[a.warning,` `]}),(0,ir.jsxs)(f,{dimColor:!0,italic:!0,children:[`Make sure you trust a plugin before installing, updating, or using it. We do not control what MCP servers, files, or other software are included in plugins and cannot verify that they will work as intended or that they won't change. See each plugin's homepage for more information.`,e?` ${e}`:``]})]})}var ir,ar=e((()=>{i(),g(),C(),z(),ir=T()}));function or(e){return e.entry.source&&typeof e.entry.source==`object`&&`source`in e.entry.source&&e.entry.source.source===`github`&&typeof e.entry.source==`object`&&`repo`in e.entry.source?e.entry.source.repo:null}function sr(e,t){let n=[{label:`Install for you (user scope)`,action:`install-user`},{label:`Install for all collaborators on this repository (project scope)`,action:`install-project`},{label:`Install for you, in this repo only (local scope)`,action:`install-local`}];return e&&n.push({label:`Open homepage`,action:`homepage`}),t&&n.push({label:`View on GitHub`,action:`github`}),n.push({label:`Back to plugin list`,action:`back`}),n}function cr({hasSelection:e}){return(0,lr.jsx)(u,{marginTop:1,children:(0,lr.jsx)(f,{dimColor:!0,italic:!0,children:(0,lr.jsxs)(p,{children:[e&&(0,lr.jsx)(B,{action:`plugin:install`,context:`Plugin`,fallback:`i`,description:`install`,bold:!0}),(0,lr.jsx)(B,{action:`plugin:toggle`,context:`Plugin`,fallback:`Space`,description:`toggle`}),(0,lr.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`details`}),(0,lr.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})}var lr,ur=e((()=>{g(),I(),C(),lr=T()}));function dr({totalItems:e,maxVisible:t=pr,selectedIndex:n=0}){let r=e>t,i=(0,fr.useRef)(0),a=(0,fr.useMemo)(()=>{if(!r)return 0;let a=i.current;if(n<a)return i.current=n,n;if(n>=a+t){let e=n-t+1;return i.current=e,e}let o=Math.max(0,e-t),s=Math.min(a,o);return i.current=s,s},[n,t,r,e]),o=a,s=Math.min(a+t,e),c=(0,fr.useCallback)(e=>r?e.slice(o,s):e,[r,o,s]),l=(0,fr.useCallback)(e=>o+e,[o]),u=(0,fr.useCallback)(e=>e>=o&&e<s,[o,s]),d=(0,fr.useCallback)(e=>{},[]),f=(0,fr.useCallback)(()=>{},[]),p=(0,fr.useCallback)(()=>{},[]),ee=(0,fr.useCallback)((t,n)=>{n(Math.max(0,Math.min(t,e-1)))},[e]),m=(0,fr.useCallback)((e,t)=>!1,[]),h=Math.max(1,Math.ceil(e/t));return{currentPage:Math.floor(a/t),totalPages:h,startIndex:o,endIndex:s,needsPagination:r,pageSize:t,getVisibleItems:c,toActualIndex:l,isOnCurrentPage:u,goToPage:d,nextPage:f,prevPage:p,handleSelectionChange:ee,handlePageNavigation:m,scrollPosition:{current:n+1,total:e,canScrollUp:a>0,canScrollDown:a+t<e}}}var fr,pr,mr=e((()=>{fr=t(g(),1),pr=5}));function hr({error:e,setError:t,result:n,setResult:r,setViewState:i,onInstallComplete:o,targetMarketplace:s,targetPlugin:l}){let[d,m]=(0,_r.useState)(`marketplace-list`),[h,g]=(0,_r.useState)(null),[_,v]=(0,_r.useState)(null),[y,b]=(0,_r.useState)([]),[x,S]=(0,_r.useState)([]),[C,te]=(0,_r.useState)(!0),[w,T]=(0,_r.useState)(null),[E,O]=(0,_r.useState)(0),[k,A]=(0,_r.useState)(new Set),[re,ie]=(0,_r.useState)(new Set),oe=dr({totalItems:x.length,selectedIndex:E}),[j,M]=(0,_r.useState)(0),[se,N]=(0,_r.useState)(!1),[ce,le]=(0,_r.useState)(null),[ue,F]=(0,_r.useState)(null);ee(`confirm:no`,gr.useCallback(()=>{d===`plugin-list`?s?i({type:`manage-marketplaces`,targetMarketplace:s}):y.length===1?i({type:`menu`}):(m(`marketplace-list`),g(null),A(new Set)):d===`plugin-details`?(m(`plugin-list`),v(null)):i({type:`menu`})},[d,s,i,y.length]),{context:`Confirmation`}),(0,_r.useEffect)(()=>{async function e(){try{let e=await ae(),{marketplaces:n,failures:r}=await Qe(e),i=[];for(let{name:e,config:t,data:r}of n)if(r){let n=wt(r.plugins,t=>D(ne(t.name,e)));i.push({name:e,totalPlugins:r.plugins.length,installedCount:n,source:Ye(t.source)})}i.sort((e,t)=>e.name===`claude-plugin-directory`?-1:+(t.name===`claude-plugin-directory`)),b(i);let a=He(r,wt(n,e=>e.data!==null));if(a)if(a.type===`warning`)F(a.message+`. Showing available marketplaces.`);else throw Error(a.message);if(i.length===1&&!s&&!l){let e=i[0];e&&(g(e.name),m(`plugin-list`))}if(l){let n=null,r=null;for(let[t]of Object.entries(e)){let e=await P(t);if(e){let i=e.plugins.find(e=>e.name===l);if(i){let e=ne(i.name,t);n={entry:i,marketplaceName:t,pluginId:e,isInstalled:Ie(e)},r=t;break}}}if(n&&r){let e=n.pluginId;Ie(e)?t(`Plugin '${e}' is already installed globally. Use '/plugin' to manage existing plugins.`):(g(r),v(n),m(`plugin-details`))}else t(`Plugin "${l}" not found in any marketplace`)}else s&&(i.some(e=>e.name===s)?(g(s),m(`plugin-list`)):t(`Marketplace "${s}" not found`))}catch(e){t(e instanceof Error?e.message:`Failed to load marketplaces`)}finally{te(!1)}}e()},[t,s,l]),(0,_r.useEffect)(()=>{if(!h)return;let e=!1;async function n(n){te(!0);try{let t=await P(n);if(e)return;if(!t)throw Error(`Failed to load marketplace: ${n}`);let r=[];for(let e of t.plugins){let t=ne(e.name,n);We(t)||r.push({entry:e,marketplaceName:n,pluginId:t,isInstalled:Ie(t)})}try{let t=await fn();if(e)return;T(t),t?r.sort((e,n)=>{let r=t.get(e.pluginId)??0,i=t.get(n.pluginId)??0;return r===i?e.entry.name.localeCompare(n.entry.name):i-r}):r.sort((e,t)=>e.entry.name.localeCompare(t.entry.name))}catch(t){if(e)return;mt(`Failed to fetch install counts: ${ut(t)}`),r.sort((e,t)=>e.entry.name.localeCompare(t.entry.name))}S(r),O(0),A(new Set)}catch(n){if(e)return;t(n instanceof Error?n.message:`Failed to load plugins`)}finally{te(!1)}}return n(h),()=>{e=!0}},[h,t]);let I=async()=>{if(k.size===0)return;let e=x.filter(e=>k.has(e.pluginId));ie(new Set(e.map(e=>e.pluginId)));let n=0,a=0,s=[];for(let t of e){let e=await ct({pluginId:t.pluginId,entry:t.entry,marketplaceName:t.marketplaceName,scope:`user`});e.success?n++:(a++,s.push({name:t.entry.name,reason:e.error}))}ie(new Set),A(new Set),Le(),a===0?r(`✓ Installed ${n} ${Rt(n,`plugin`)}. Run /reload-plugins to activate.`):n===0?t(`Failed to install: ${tt(s,!0)}`):r(`✓ Installed ${n} of ${n+a} plugins. Failed: ${tt(s,!1)}. Run /reload-plugins to activate successfully installed plugins.`),n>0&&o&&await o(),i({type:`menu`})},de=async(e,t=`user`)=>{N(!0),le(null);let n=await ct({pluginId:e.pluginId,entry:e.entry,marketplaceName:e.marketplaceName,scope:t});if(n.success){let t=await Qn(e.pluginId);if(t){N(!1),m({type:`plugin-options`,plugin:t,pluginId:e.pluginId});return}r(n.message),o&&await o(),i({type:`menu`})}else N(!1),le(n.error)};(0,_r.useEffect)(()=>{e&&r(e)},[e,r]),c({"select:previous":()=>{E>0&&O(E-1)},"select:next":()=>{E<y.length-1&&O(E+1)},"select:accept":()=>{let e=y[E];e&&(g(e.name),m(`plugin-list`))}},{context:`Select`,isActive:d===`marketplace-list`}),c({"select:previous":()=>{E>0&&oe.handleSelectionChange(E-1,O)},"select:next":()=>{E<x.length-1&&oe.handleSelectionChange(E+1,O)},"select:accept":()=>{if(E===x.length&&k.size>0)I();else if(E<x.length){let e=x[E];e&&(e.isInstalled?i({type:`manage-plugins`,targetPlugin:e.entry.name,targetMarketplace:e.marketplaceName}):(v(e),m(`plugin-details`),M(0),le(null)))}}},{context:`Select`,isActive:d===`plugin-list`}),c({"plugin:toggle":()=>{if(E<x.length){let e=x[E];if(e&&!e.isInstalled){let t=new Set(k);t.has(e.pluginId)?t.delete(e.pluginId):t.add(e.pluginId),A(t)}}},"plugin:install":()=>{k.size>0&&I()}},{context:`Plugin`,isActive:d===`plugin-list`});let L=gr.useMemo(()=>{if(!_)return[];let e=_.entry.homepage;return sr(e,or(_))},[_]);if(c({"select:previous":()=>{j>0&&M(j-1)},"select:next":()=>{j<L.length-1&&M(j+1)},"select:accept":()=>{if(!_)return;let e=L[j]?.action,t=_.entry.homepage,n=or(_);e===`install-user`?de(_,`user`):e===`install-project`?de(_,`project`):e===`install-local`?de(_,`local`):e===`homepage`&&t?Jt(t):e===`github`&&n?Jt(`https://github.com/${n}`):e===`back`&&(m(`plugin-list`),v(null))}},{context:`Select`,isActive:d===`plugin-details`&&!!_}),typeof d==`object`&&d.type===`plugin-options`){let{plugin:e,pluginId:t}=d;function n(e){r(e),o&&o(),i({type:`menu`})}return(0,K.jsx)($n,{plugin:e,pluginId:t,onDone:(t,r)=>{switch(t){case`configured`:n(`✓ Installed and configured ${e.name}. Run /reload-plugins to apply.`);break;case`skipped`:n(`✓ Installed ${e.name}. Run /reload-plugins to apply.`);break;case`error`:n(`Installed but failed to save config: ${r}`);break}}})}if(C)return(0,K.jsx)(f,{children:`Loading…`});if(e)return(0,K.jsx)(f,{color:`error`,children:e});if(d===`marketplace-list`)return y.length===0?(0,K.jsxs)(u,{flexDirection:`column`,children:[(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsx)(f,{bold:!0,children:`Select marketplace`})}),(0,K.jsx)(f,{children:`No marketplaces configured.`}),(0,K.jsxs)(f,{dimColor:!0,children:[`Add a marketplace first using `,`'Add marketplace'`,`.`]}),(0,K.jsx)(u,{marginTop:1,paddingLeft:1,children:(0,K.jsx)(f,{dimColor:!0,children:(0,K.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})})})]}):(0,K.jsxs)(u,{flexDirection:`column`,children:[(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsx)(f,{bold:!0,children:`Select marketplace`})}),ue&&(0,K.jsx)(u,{marginBottom:1,flexDirection:`column`,children:(0,K.jsxs)(f,{color:`warning`,children:[a.warning,` `,ue]})}),y.map((e,t)=>(0,K.jsxs)(u,{flexDirection:`column`,marginBottom:+(t<y.length-1),children:[(0,K.jsx)(u,{children:(0,K.jsxs)(f,{color:E===t?`suggestion`:void 0,children:[E===t?a.pointer:` `,` `,e.name]})}),(0,K.jsx)(u,{marginLeft:2,children:(0,K.jsxs)(f,{dimColor:!0,children:[e.totalPlugins,` `,Rt(e.totalPlugins,`plugin`),` available`,e.installedCount>0&&` · ${e.installedCount} already installed`,e.source&&` · ${e.source}`]})})]},e.name)),(0,K.jsx)(u,{marginTop:1,children:(0,K.jsx)(f,{dimColor:!0,italic:!0,children:(0,K.jsxs)(p,{children:[(0,K.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,K.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})]})})})]});if(d===`plugin-details`&&_){let e=_.entry.homepage,t=sr(e,or(_));return(0,K.jsxs)(u,{flexDirection:`column`,children:[(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsx)(f,{bold:!0,children:`Plugin Details`})}),(0,K.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,K.jsx)(f,{bold:!0,children:_.entry.name}),_.entry.version&&(0,K.jsxs)(f,{dimColor:!0,children:[`Version: `,_.entry.version]}),_.entry.description&&(0,K.jsx)(u,{marginTop:1,children:(0,K.jsx)(f,{children:_.entry.description})}),_.entry.author&&(0,K.jsx)(u,{marginTop:1,children:(0,K.jsxs)(f,{dimColor:!0,children:[`By:`,` `,typeof _.entry.author==`string`?_.entry.author:_.entry.author.name]})})]}),(0,K.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,K.jsx)(f,{bold:!0,children:`Will install:`}),_.entry.commands&&(0,K.jsxs)(f,{dimColor:!0,children:[`· Commands:`,` `,Array.isArray(_.entry.commands)?_.entry.commands.join(`, `):Object.keys(_.entry.commands).join(`, `)]}),_.entry.agents&&(0,K.jsxs)(f,{dimColor:!0,children:[`· Agents:`,` `,Array.isArray(_.entry.agents)?_.entry.agents.join(`, `):Object.keys(_.entry.agents).join(`, `)]}),_.entry.hooks&&(0,K.jsxs)(f,{dimColor:!0,children:[`· Hooks: `,Object.keys(_.entry.hooks).join(`, `)]}),_.entry.mcpServers&&(0,K.jsxs)(f,{dimColor:!0,children:[`· MCP Servers:`,` `,Array.isArray(_.entry.mcpServers)?_.entry.mcpServers.join(`, `):typeof _.entry.mcpServers==`object`?Object.keys(_.entry.mcpServers).join(`, `):`configured`]}),!_.entry.commands&&!_.entry.agents&&!_.entry.hooks&&!_.entry.mcpServers&&(0,K.jsx)(K.Fragment,{children:typeof _.entry.source==`object`&&`source`in _.entry.source&&(_.entry.source.source===`github`||_.entry.source.source===`url`||_.entry.source.source===`npm`||_.entry.source.source===`pip`)?(0,K.jsx)(f,{dimColor:!0,children:`· Component summary not available for remote plugin`}):(0,K.jsx)(f,{dimColor:!0,children:`· Components will be discovered at installation`})})]}),(0,K.jsx)(rr,{}),ce&&(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsxs)(f,{color:`error`,children:[`Error: `,ce]})}),(0,K.jsx)(u,{flexDirection:`column`,children:t.map((e,t)=>(0,K.jsxs)(u,{children:[j===t&&(0,K.jsx)(f,{children:`> `}),j!==t&&(0,K.jsx)(f,{children:` `}),(0,K.jsx)(f,{bold:j===t,children:se&&e.action===`install`?`Installing…`:e.label})]},e.action))}),(0,K.jsx)(u,{marginTop:1,paddingLeft:1,children:(0,K.jsx)(f,{dimColor:!0,children:(0,K.jsxs)(p,{children:[(0,K.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,K.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}if(x.length===0)return(0,K.jsxs)(u,{flexDirection:`column`,children:[(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsx)(f,{bold:!0,children:`Install plugins`})}),(0,K.jsx)(f,{dimColor:!0,children:`No new plugins available to install.`}),(0,K.jsx)(f,{dimColor:!0,children:`All plugins from this marketplace are already installed.`}),(0,K.jsx)(u,{marginLeft:3,children:(0,K.jsx)(f,{dimColor:!0,italic:!0,children:(0,K.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})})})]});let fe=oe.getVisibleItems(x);return(0,K.jsxs)(u,{flexDirection:`column`,children:[(0,K.jsx)(u,{marginBottom:1,children:(0,K.jsx)(f,{bold:!0,children:`Install Plugins`})}),oe.scrollPosition.canScrollUp&&(0,K.jsx)(u,{children:(0,K.jsxs)(f,{dimColor:!0,children:[` `,a.arrowUp,` more above`]})}),fe.map((t,n)=>{let r=oe.toActualIndex(n),i=E===r,o=k.has(t.pluginId),s=re.has(t.pluginId);return(0,K.jsxs)(u,{flexDirection:`column`,marginBottom:n===fe.length-1&&!e?0:1,children:[(0,K.jsxs)(u,{children:[(0,K.jsxs)(f,{color:i?`suggestion`:void 0,children:[i?a.pointer:` `,` `]}),(0,K.jsxs)(f,{color:t.isInstalled?`success`:void 0,children:[t.isInstalled?a.tick:s?a.ellipsis:o?a.radioOn:a.radioOff,` `,t.entry.name,t.entry.category&&(0,K.jsxs)(f,{dimColor:!0,children:[` [`,t.entry.category,`]`]}),t.entry.tags?.includes(`community-managed`)&&(0,K.jsx)(f,{dimColor:!0,children:` [Community Managed]`}),t.isInstalled&&(0,K.jsx)(f,{dimColor:!0,children:` (installed)`}),w&&h===`claude-plugins-official`&&(0,K.jsxs)(f,{dimColor:!0,children:[` · `,dn(w.get(t.pluginId)??0),` installs`]})]})]}),t.entry.description&&(0,K.jsxs)(u,{marginLeft:4,children:[(0,K.jsx)(f,{dimColor:!0,children:Pt(t.entry.description,60)}),t.entry.version&&(0,K.jsxs)(f,{dimColor:!0,children:[` · v`,t.entry.version]})]})]},t.pluginId)}),oe.scrollPosition.canScrollDown&&(0,K.jsx)(u,{children:(0,K.jsxs)(f,{dimColor:!0,children:[` `,a.arrowDown,` more below`]})}),e&&(0,K.jsx)(u,{marginTop:1,children:(0,K.jsxs)(f,{color:`error`,children:[a.cross,` `,e]})}),(0,K.jsx)(cr,{hasSelection:k.size>0})]})}var gr,_r,K,vr=e((()=>{i(),gr=t(g(),1),_r=t(g(),1),I(),C(),qt(),vt(),Yt(),pt(),ht(),rt(),cn(),O(),z(),pe(),et(),at(),be(),Bt(),Ft(),nr(),ar(),ur(),mr(),K=T()}));function yr({error:e,setError:t,result:n,setResult:r,setViewState:i,onInstallComplete:o,onSearchModeChange:s,targetPlugin:l}){let[d,h]=(0,q.useState)(`plugin-list`),[g,v]=(0,q.useState)(null),[b,S]=(0,q.useState)([]),[C,te]=(0,q.useState)(!0),[w,T]=(0,q.useState)(null),[E,D]=(0,q.useState)(!1),O=(0,q.useCallback)(e=>{D(e),s?.(e)},[s]),{query:k,setQuery:A,cursorOffset:re}=bn({isActive:d===`plugin-list`&&E&&!C,onExit:()=>{O(!1)}}),ie=m(),{columns:oe}=x(),j=(0,q.useMemo)(()=>{if(!k)return b;let e=k.toLowerCase();return b.filter(t=>t.entry.name.toLowerCase().includes(e)||t.entry.description?.toLowerCase().includes(e)||t.marketplaceName.toLowerCase().includes(e))},[b,k]),[M,se]=(0,q.useState)(0),[N,ce]=(0,q.useState)(new Set),[le,ue]=(0,q.useState)(new Set),P=dr({totalItems:j.length,selectedIndex:M});(0,q.useEffect)(()=>{se(0)},[k]);let[F,I]=(0,q.useState)(0),[de,L]=(0,q.useState)(!1),[fe,pe]=(0,q.useState)(null),[me,he]=(0,q.useState)(null),[ge,_e]=(0,q.useState)(null);(0,q.useEffect)(()=>{async function e(){try{let e=await ae(),{marketplaces:n,failures:r}=await Qe(e),i=[];for(let{name:e,data:t}of n)if(t)for(let n of t.plugins){let t=ne(n.name,e);i.push({entry:n,marketplaceName:e,pluginId:t,isInstalled:Ie(t)})}let a=i.filter(e=>!e.isInstalled&&!We(e.pluginId));try{let e=await fn();T(e),e?a.sort((t,n)=>{let r=e.get(t.pluginId)??0,i=e.get(n.pluginId)??0;return r===i?t.entry.name.localeCompare(n.entry.name):i-r}):a.sort((e,t)=>e.entry.name.localeCompare(t.entry.name))}catch(e){mt(`Failed to fetch install counts: ${ut(e)}`),a.sort((e,t)=>e.entry.name.localeCompare(t.entry.name))}S(a);let o=Object.keys(e).length;if(a.length===0){let e=await De({configuredMarketplaceCount:o,failedMarketplaceCount:r.length});_e(e)}let s=He(r,wt(n,e=>e.data!==null));if(s)if(s.type===`warning`)he(s.message+`. Showing available plugins.`);else throw Error(s.message);if(l){let e=i.find(e=>e.entry.name===l);e?e.isInstalled?t(`Plugin '${e.pluginId}' is already installed. Use '/plugin' to manage existing plugins.`):(v(e),h(`plugin-details`)):t(`Plugin "${l}" not found in any marketplace`)}}catch(e){t(e instanceof Error?e.message:`Failed to load plugins`)}finally{te(!1)}}e()},[t,l]);let ve=async()=>{if(N.size===0)return;let e=b.filter(e=>N.has(e.pluginId));ue(new Set(e.map(e=>e.pluginId)));let n=0,a=0,s=[];for(let t of e){let e=await ct({pluginId:t.pluginId,entry:t.entry,marketplaceName:t.marketplaceName,scope:`user`});e.success?n++:(a++,s.push({name:t.entry.name,reason:e.error}))}ue(new Set),ce(new Set),Le(),a===0?r(`✓ Installed ${n} ${Rt(n,`plugin`)}. Run /reload-plugins to activate.`):n===0?t(`Failed to install: ${tt(s,!0)}`):r(`✓ Installed ${n} of ${n+a} plugins. Failed: ${tt(s,!1)}. Run /reload-plugins to activate successfully installed plugins.`),n>0&&o&&await o(),i({type:`menu`})},R=async(e,t=`user`)=>{L(!0),pe(null);let n=await ct({pluginId:e.pluginId,entry:e.entry,marketplaceName:e.marketplaceName,scope:t});if(n.success){let t=await Qn(e.pluginId);if(t){L(!1),h({type:`plugin-options`,plugin:t,pluginId:e.pluginId});return}r(n.message),o&&await o(),i({type:`menu`})}else L(!1),pe(n.error)};(0,q.useEffect)(()=>{e&&r(e)},[e,r]),ee(`confirm:no`,()=>{h(`plugin-list`),v(null)},{context:`Confirmation`,isActive:d===`plugin-details`}),ee(`confirm:no`,()=>{i({type:`menu`})},{context:`Confirmation`,isActive:d===`plugin-list`&&!E}),_((e,t)=>{let n=!t.ctrl&&!t.meta;E||(e===`/`&&n?(O(!0),A(``)):n&&e.length>0&&!/^\s+$/.test(e)&&e!==`j`&&e!==`k`&&e!==`i`&&(O(!0),A(e)))},{isActive:d===`plugin-list`&&!C}),c({"select:previous":()=>{M===0?O(!0):P.handleSelectionChange(M-1,se)},"select:next":()=>{M<j.length-1&&P.handleSelectionChange(M+1,se)},"select:accept":()=>{if(M===j.length&&N.size>0)ve();else if(M<j.length){let e=j[M];e&&(e.isInstalled?i({type:`manage-plugins`,targetPlugin:e.entry.name,targetMarketplace:e.marketplaceName}):(v(e),h(`plugin-details`),I(0),pe(null)))}}},{context:`Select`,isActive:d===`plugin-list`&&!E}),c({"plugin:toggle":()=>{if(M<j.length){let e=j[M];if(e&&!e.isInstalled){let t=new Set(N);t.has(e.pluginId)?t.delete(e.pluginId):t.add(e.pluginId),ce(t)}}},"plugin:install":()=>{N.size>0&&ve()}},{context:`Plugin`,isActive:d===`plugin-list`&&!E});let ye=Sr.useMemo(()=>{if(!g)return[];let e=g.entry.homepage;return sr(e,or(g))},[g]);if(c({"select:previous":()=>{F>0&&I(F-1)},"select:next":()=>{F<ye.length-1&&I(F+1)},"select:accept":()=>{if(!g)return;let e=ye[F]?.action,t=g.entry.homepage,n=or(g);e===`install-user`?R(g,`user`):e===`install-project`?R(g,`project`):e===`install-local`?R(g,`local`):e===`homepage`&&t?Jt(t):e===`github`&&n?Jt(`https://github.com/${n}`):e===`back`&&(h(`plugin-list`),v(null))}},{context:`Select`,isActive:d===`plugin-details`&&!!g}),typeof d==`object`&&d.type===`plugin-options`){let{plugin:e,pluginId:t}=d;function n(e){r(e),o&&o(),i({type:`menu`})}return(0,J.jsx)($n,{plugin:e,pluginId:t,onDone:(t,r)=>{switch(t){case`configured`:n(`✓ Installed and configured ${e.name}. Run /reload-plugins to apply.`);break;case`skipped`:n(`✓ Installed ${e.name}. Run /reload-plugins to apply.`);break;case`error`:n(`Installed but failed to save config: ${r}`);break}}})}if(C)return(0,J.jsx)(f,{children:`Loading…`});if(e)return(0,J.jsx)(f,{color:`error`,children:e});if(d===`plugin-details`&&g){let e=g.entry.homepage,t=sr(e,or(g));return(0,J.jsxs)(u,{flexDirection:`column`,children:[(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsx)(f,{bold:!0,children:`Plugin details`})}),(0,J.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,J.jsx)(f,{bold:!0,children:g.entry.name}),(0,J.jsxs)(f,{dimColor:!0,children:[`from `,g.marketplaceName]}),g.entry.version&&(0,J.jsxs)(f,{dimColor:!0,children:[`Version: `,g.entry.version]}),g.entry.description&&(0,J.jsx)(u,{marginTop:1,children:(0,J.jsx)(f,{children:g.entry.description})}),g.entry.author&&(0,J.jsx)(u,{marginTop:1,children:(0,J.jsxs)(f,{dimColor:!0,children:[`By:`,` `,typeof g.entry.author==`string`?g.entry.author:g.entry.author.name]})})]}),(0,J.jsx)(rr,{}),fe&&(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsxs)(f,{color:`error`,children:[`Error: `,fe]})}),(0,J.jsx)(u,{flexDirection:`column`,children:t.map((e,t)=>(0,J.jsxs)(u,{children:[F===t&&(0,J.jsx)(f,{children:`> `}),F!==t&&(0,J.jsx)(f,{children:` `}),(0,J.jsx)(f,{bold:F===t,children:de&&e.action.startsWith(`install-`)?`Installing…`:e.label})]},e.action))}),(0,J.jsx)(u,{marginTop:1,children:(0,J.jsx)(f,{dimColor:!0,children:(0,J.jsxs)(p,{children:[(0,J.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,J.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}if(b.length===0)return(0,J.jsxs)(u,{flexDirection:`column`,children:[(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsx)(f,{bold:!0,children:`Discover plugins`})}),(0,J.jsx)(xr,{reason:ge}),(0,J.jsx)(u,{marginTop:1,children:(0,J.jsx)(f,{dimColor:!0,italic:!0,children:`Esc to go back`})})]});let z=P.getVisibleItems(j);return(0,J.jsxs)(u,{flexDirection:`column`,children:[(0,J.jsxs)(u,{children:[(0,J.jsx)(f,{bold:!0,children:`Discover plugins`}),P.needsPagination&&(0,J.jsxs)(f,{dimColor:!0,children:[` `,`(`,P.scrollPosition.current,`/`,P.scrollPosition.total,`)`]})]}),(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsx)(y,{query:k,isFocused:E,isTerminalFocused:ie,width:oe-4,cursorOffset:re})}),me&&(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsxs)(f,{color:`warning`,children:[a.warning,` `,me]})}),j.length===0&&k&&(0,J.jsx)(u,{marginBottom:1,children:(0,J.jsxs)(f,{dimColor:!0,children:[`No plugins match "`,k,`"`]})}),P.scrollPosition.canScrollUp&&(0,J.jsx)(u,{children:(0,J.jsxs)(f,{dimColor:!0,children:[` `,a.arrowUp,` more above`]})}),z.map((t,n)=>{let r=P.toActualIndex(n),i=M===r,o=N.has(t.pluginId),s=le.has(t.pluginId);return(0,J.jsxs)(u,{flexDirection:`column`,marginBottom:n===z.length-1&&!e?0:1,children:[(0,J.jsxs)(u,{children:[(0,J.jsxs)(f,{color:i&&!E?`suggestion`:void 0,children:[i&&!E?a.pointer:` `,` `]}),(0,J.jsxs)(f,{children:[s?a.ellipsis:o?a.radioOn:a.radioOff,` `,t.entry.name,(0,J.jsxs)(f,{dimColor:!0,children:[` · `,t.marketplaceName]}),t.entry.tags?.includes(`community-managed`)&&(0,J.jsx)(f,{dimColor:!0,children:` [Community Managed]`}),w&&t.marketplaceName===`claude-plugins-official`&&(0,J.jsxs)(f,{dimColor:!0,children:[` · `,dn(w.get(t.pluginId)??0),` installs`]})]})]}),t.entry.description&&(0,J.jsx)(u,{marginLeft:4,children:(0,J.jsx)(f,{dimColor:!0,children:Pt(t.entry.description,60)})})]},`${P.startIndex}-${t.pluginId}`)}),P.scrollPosition.canScrollDown&&(0,J.jsx)(u,{children:(0,J.jsxs)(f,{dimColor:!0,children:[` `,a.arrowDown,` more below`]})}),e&&(0,J.jsx)(u,{marginTop:1,children:(0,J.jsxs)(f,{color:`error`,children:[a.cross,` `,e]})}),(0,J.jsx)(br,{hasSelection:N.size>0,canToggle:M<j.length&&!j[M]?.isInstalled})]})}function br({hasSelection:e,canToggle:t}){return(0,J.jsx)(u,{marginTop:1,children:(0,J.jsx)(f,{dimColor:!0,italic:!0,children:(0,J.jsxs)(p,{children:[e&&(0,J.jsx)(B,{action:`plugin:install`,context:`Plugin`,fallback:`i`,description:`install`,bold:!0}),(0,J.jsx)(f,{children:`type to search`}),t&&(0,J.jsx)(B,{action:`plugin:toggle`,context:`Plugin`,fallback:`Space`,description:`toggle`}),(0,J.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`details`}),(0,J.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})}function xr({reason:e}){switch(e){case`git-not-installed`:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`Git is required to install marketplaces.`}),(0,J.jsx)(f,{dimColor:!0,children:`Please install git and restart Work Mate.`})]});case`all-blocked-by-policy`:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`Your organization policy does not allow any external marketplaces.`}),(0,J.jsx)(f,{dimColor:!0,children:`Contact your administrator.`})]});case`policy-restricts-sources`:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`Your organization restricts which marketplaces can be added.`}),(0,J.jsx)(f,{dimColor:!0,children:`Switch to the Marketplaces tab to view allowed sources.`})]});case`all-marketplaces-failed`:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`Failed to load marketplace data.`}),(0,J.jsx)(f,{dimColor:!0,children:`Check your network connection.`})]});case`all-plugins-installed`:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`All available plugins are already installed.`}),(0,J.jsx)(f,{dimColor:!0,children:`Check for new plugins later or add more marketplaces.`})]});default:return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{dimColor:!0,children:`No plugins available.`}),(0,J.jsx)(f,{dimColor:!0,children:`Add a marketplace first using the Marketplaces tab.`})]})}}var Sr,q,J,Cr=e((()=>{i(),Sr=t(g(),1),q=t(g(),1),I(),yn(),C(),xn(),R(),qt(),vt(),Yt(),pt(),ht(),rt(),cn(),O(),z(),pe(),et(),at(),be(),Bt(),Ft(),nr(),ar(),ur(),mr(),J=T()}));function wr({setViewState:e,error:t,setError:n,setResult:r,exitState:i,onManageComplete:o,targetMarketplace:s,action:l}){let[d,m]=(0,Er.useState)([]),[h,g]=(0,Er.useState)(!0),[v,y]=(0,Er.useState)(0),[b,x]=(0,Er.useState)(!1),[S,C]=(0,Er.useState)(null),[te,w]=(0,Er.useState)(null),[T,E]=(0,Er.useState)(null),[D,O]=(0,Er.useState)(`list`),[k,A]=(0,Er.useState)(null),[re,oe]=(0,Er.useState)(0),j=(0,Er.useRef)(!1);(0,Er.useEffect)(()=>{async function e(){try{let e=await ae(),{enabled:r,disabled:i}=await Ke(),a=[...r,...i],{marketplaces:o,failures:c}=await Qe(e),u=[];for(let{name:e,config:t,data:n}of o){let r=a.filter(t=>t.source.endsWith(`@${e}`));u.push({name:e,source:Ye(t.source),lastUpdated:t.lastUpdated,pluginCount:n?.plugins.length,installedPlugins:r,pendingUpdate:!1,pendingRemove:!1,autoUpdate:_t(e,t)})}u.sort((e,t)=>e.name===`claude-plugin-directory`?-1:t.name===`claude-plugin-directory`?1:e.name.localeCompare(t.name)),m(u);let d=He(c,wt(o,e=>e.data!==null));if(d)if(d.type===`warning`)C(d.message);else throw Error(d.message);if(s&&!j.current&&!t){j.current=!0;let e=u.findIndex(e=>e.name===s);if(e>=0){let t=u[e];if(l){y(e+1);let t=[...u];l===`update`?t[e].pendingUpdate=!0:l===`remove`&&(t[e].pendingRemove=!0),m(t),setTimeout(N,100,t)}else t&&(y(e+1),A(t),O(`details`))}else n&&n(`Marketplace not found: ${s}`)}}catch(e){n&&n(e instanceof Error?e.message:`Failed to load marketplaces`),C(e instanceof Error?e.message:`Failed to load marketplaces`)}finally{g(!1)}}e()},[s,l,t]);let M=()=>d.some(e=>e.pendingUpdate||e.pendingRemove),se=()=>({updateCount:wt(d,e=>e.pendingUpdate),removeCount:wt(d,e=>e.pendingRemove)}),N=async t=>{let i=t||d,s=D===`details`;x(!0),C(null),w(null),E(null);try{let t=bt(`userSettings`),n=0,c=0,l=new Set;for(let e of i){if(e.pendingRemove){if(e.installedPlugins&&e.installedPlugins.length>0){let n={...t?.enabledPlugins};for(let t of e.installedPlugins){let r=ne(t.name,e.name);n[r]=!1}Et(`userSettings`,{enabledPlugins:n})}await Je(e.name),c++,Nt(`tengu_marketplace_removed`,{marketplace_name:e.name,plugins_uninstalled:e.installedPlugins?.length||0});continue}e.pendingUpdate&&(await ie(e.name,e=>{E(e)}),n++,l.add(e.name.toLowerCase()),Nt(`tengu_marketplace_updated`,{marketplace_name:e.name}))}let u=0;l.size>0&&(u=(await Sn(l)).length),Le(),o&&await o();let d=await ae(),{enabled:f,disabled:p}=await Ke(),ee=[...f,...p],{marketplaces:h}=await Qe(d),g=[];for(let{name:e,config:t,data:n}of h){let r=ee.filter(t=>t.source.endsWith(`@${e}`));g.push({name:e,source:Ye(t.source),lastUpdated:t.lastUpdated,pluginCount:n?.plugins.length,installedPlugins:r,pendingUpdate:!1,pendingRemove:!1,autoUpdate:_t(e,t)})}if(g.sort((e,t)=>e.name===`claude-plugin-directory`?-1:t.name===`claude-plugin-directory`?1:e.name.localeCompare(t.name)),m(g),s&&k){let e=g.find(e=>e.name===k.name);e&&A(e)}let _=[];if(n>0){let e=u>0?` (${u} ${Rt(u,`plugin`)} bumped)`:``;_.push(`Updated ${n} ${Rt(n,`marketplace`)}${e}`)}if(c>0&&_.push(`Removed ${c} ${Rt(c,`marketplace`)}`),_.length>0){let t=`${a.tick} ${_.join(`, `)}`;s?w(t):(r(t),setTimeout(e,2e3,{type:`menu`}))}else s||e({type:`menu`})}catch(e){let t=ut(e);C(t),n&&n(t)}finally{x(!1),E(null)}},ce=async()=>{if(!k)return;let e=d.map(e=>e.name===k.name?{...e,pendingRemove:!0}:e);m(e),await N(e)},le=e=>{if(!e)return[];let t=[{label:`Browse plugins (${e.pluginCount??0})`,value:`browse`},{label:`Update marketplace`,secondaryLabel:e.lastUpdated?`(last updated ${new Date(e.lastUpdated).toLocaleDateString()})`:void 0,value:`update`}];return Ot()||t.push({label:e.autoUpdate?`Disable auto-update`:`Enable auto-update`,value:`toggle-auto-update`}),t.push({label:`Remove marketplace`,value:`remove`}),t},ue=async e=>{let t=!e.autoUpdate;try{await he(e.name,t),m(n=>n.map(n=>n.name===e.name?{...n,autoUpdate:t}:n)),A(e=>e&&{...e,autoUpdate:t})}catch(e){C(e instanceof Error?e.message:`Failed to update setting`)}};if(ee(`confirm:no`,()=>{O(`list`),oe(0)},{context:`Confirmation`,isActive:!b&&(D===`details`||D===`confirm-remove`)}),ee(`confirm:no`,()=>{m(e=>e.map(e=>({...e,pendingUpdate:!1,pendingRemove:!1}))),y(0)},{context:`Confirmation`,isActive:!b&&D===`list`&&M()}),ee(`confirm:no`,()=>{e({type:`menu`})},{context:`Confirmation`,isActive:!b&&D===`list`&&!M()}),c({"select:previous":()=>y(e=>Math.max(0,e-1)),"select:next":()=>{let e=d.length+1;y(t=>Math.min(e-1,t+1))},"select:accept":()=>{let t=v-1;if(v===0)e({type:`add-marketplace`});else if(M())N();else{let e=d[t];e&&(A(e),O(`details`),oe(0))}}},{context:`Select`,isActive:!b&&D===`list`}),_(e=>{let t=v-1;if((e===`u`||e===`U`)&&t>=0)m(e=>e.map((e,n)=>n===t?{...e,pendingUpdate:!e.pendingUpdate,pendingRemove:e.pendingUpdate?e.pendingRemove:!1}:e));else if((e===`r`||e===`R`)&&t>=0){let e=d[t];e&&(A(e),O(`confirm-remove`))}},{isActive:!b&&D===`list`}),c({"select:previous":()=>oe(e=>Math.max(0,e-1)),"select:next":()=>{let e=le(k);oe(t=>Math.min(e.length-1,t+1))},"select:accept":()=>{if(!k)return;let t=le(k)[re];if(t?.value===`browse`)e({type:`browse-marketplace`,targetMarketplace:k.name});else if(t?.value===`update`){let e=d.map(e=>e.name===k.name?{...e,pendingUpdate:!0}:e);m(e),N(e)}else t?.value===`toggle-auto-update`?ue(k):t?.value===`remove`&&O(`confirm-remove`)}},{context:`Select`,isActive:!b&&D===`details`}),_(e=>{e===`y`||e===`Y`?ce():(e===`n`||e===`N`)&&(O(`list`),A(null))},{isActive:!b&&D===`confirm-remove`}),h)return(0,Y.jsx)(f,{children:`Loading marketplaces…`});if(d.length===0)return(0,Y.jsxs)(u,{flexDirection:`column`,children:[(0,Y.jsx)(u,{marginBottom:1,children:(0,Y.jsx)(f,{bold:!0,children:`Manage marketplaces`})}),(0,Y.jsxs)(u,{flexDirection:`row`,gap:1,children:[(0,Y.jsxs)(f,{color:`suggestion`,children:[a.pointer,` +`]}),(0,Y.jsx)(f,{bold:!0,color:`suggestion`,children:`Add Marketplace`})]}),(0,Y.jsx)(u,{marginLeft:3,children:(0,Y.jsx)(f,{dimColor:!0,italic:!0,children:i.pending?(0,Y.jsxs)(Y.Fragment,{children:[`Press `,i.keyName,` again to go back`]}):(0,Y.jsxs)(p,{children:[(0,Y.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,Y.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})]})})})]});if(D===`confirm-remove`&&k){let e=k.installedPlugins?.length||0;return(0,Y.jsxs)(u,{flexDirection:`column`,children:[(0,Y.jsxs)(f,{bold:!0,color:`warning`,children:[`Remove marketplace `,(0,Y.jsx)(f,{italic:!0,children:k.name}),`?`]}),(0,Y.jsxs)(u,{flexDirection:`column`,children:[e>0&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsxs)(f,{color:`warning`,children:[`This will also uninstall `,e,` `,Rt(e,`plugin`),` from this marketplace:`]})}),k.installedPlugins&&k.installedPlugins.length>0&&(0,Y.jsx)(u,{flexDirection:`column`,marginTop:1,marginLeft:2,children:k.installedPlugins.map(e=>(0,Y.jsxs)(f,{dimColor:!0,children:[`• `,e.name]},e.name))}),(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsxs)(f,{children:[`Press `,(0,Y.jsx)(f,{bold:!0,children:`y`}),` to confirm or `,(0,Y.jsx)(f,{bold:!0,children:`n`}),` to cancel`]})})]})]})}if(D===`details`&&k){let e=k.pendingUpdate||b,t=le(k);return(0,Y.jsxs)(u,{flexDirection:`column`,children:[(0,Y.jsx)(f,{bold:!0,children:k.name}),(0,Y.jsx)(f,{dimColor:!0,children:k.source}),(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsxs)(f,{children:[k.pluginCount||0,` available `,Rt(k.pluginCount||0,`plugin`)]})}),k.installedPlugins&&k.installedPlugins.length>0&&(0,Y.jsxs)(u,{flexDirection:`column`,marginTop:1,children:[(0,Y.jsxs)(f,{bold:!0,children:[`Installed plugins (`,k.installedPlugins.length,`):`]}),(0,Y.jsx)(u,{flexDirection:`column`,marginLeft:1,children:k.installedPlugins.map(e=>(0,Y.jsxs)(u,{flexDirection:`row`,gap:1,children:[(0,Y.jsx)(f,{children:a.bullet}),(0,Y.jsxs)(u,{flexDirection:`column`,children:[(0,Y.jsx)(f,{children:e.name}),(0,Y.jsx)(f,{dimColor:!0,children:e.manifest.description})]})]},e.name))})]}),e&&(0,Y.jsxs)(u,{marginTop:1,flexDirection:`column`,children:[(0,Y.jsx)(f,{color:`claude`,children:`Updating marketplace…`}),T&&(0,Y.jsx)(f,{dimColor:!0,children:T})]}),!e&&te&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{color:`claude`,children:te})}),!e&&S&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{color:`error`,children:S})}),!e&&(0,Y.jsx)(u,{flexDirection:`column`,marginTop:1,children:t.map((e,t)=>{if(!e)return null;let n=t===re;return(0,Y.jsxs)(u,{children:[(0,Y.jsxs)(f,{color:n?`suggestion`:void 0,children:[n?a.pointer:` `,` `,e.label]}),e.secondaryLabel&&(0,Y.jsxs)(f,{dimColor:!0,children:[` `,e.secondaryLabel]})]},e.value)})}),!e&&!Ot()&&k.autoUpdate&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{dimColor:!0,children:`Auto-update enabled. Work Mate will automatically update this marketplace and its installed plugins.`})}),(0,Y.jsx)(u,{marginLeft:3,children:(0,Y.jsx)(f,{dimColor:!0,italic:!0,children:e?(0,Y.jsx)(Y.Fragment,{children:`Please wait…`}):(0,Y.jsxs)(p,{children:[(0,Y.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,Y.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})]})})})]})}let{updateCount:P,removeCount:F}=se();return(0,Y.jsxs)(u,{flexDirection:`column`,children:[(0,Y.jsx)(u,{marginBottom:1,children:(0,Y.jsx)(f,{bold:!0,children:`Manage marketplaces`})}),(0,Y.jsxs)(u,{flexDirection:`row`,gap:1,marginBottom:1,children:[(0,Y.jsxs)(f,{color:v===0?`suggestion`:void 0,children:[v===0?a.pointer:` `,` +`]}),(0,Y.jsx)(f,{bold:!0,color:v===0?`suggestion`:void 0,children:`Add Marketplace`})]}),(0,Y.jsx)(u,{flexDirection:`column`,children:d.map((e,t)=>{let n=t+1===v,r=[];return e.pendingUpdate&&r.push(`UPDATE`),e.pendingRemove&&r.push(`REMOVE`),(0,Y.jsxs)(u,{flexDirection:`row`,gap:1,marginBottom:1,children:[(0,Y.jsxs)(f,{color:n?`suggestion`:void 0,children:[n?a.pointer:` `,` `,e.pendingRemove?a.cross:a.bullet]}),(0,Y.jsxs)(u,{flexDirection:`column`,flexGrow:1,children:[(0,Y.jsxs)(u,{flexDirection:`row`,gap:1,children:[(0,Y.jsxs)(f,{bold:!0,strikethrough:e.pendingRemove,dimColor:e.pendingRemove,children:[e.name===`claude-plugins-official`&&(0,Y.jsx)(f,{color:`claude`,children:`✻ `}),e.name,e.name===`claude-plugins-official`&&(0,Y.jsx)(f,{color:`claude`,children:` ✻`})]}),r.length>0&&(0,Y.jsxs)(f,{color:`warning`,children:[`[`,r.join(`, `),`]`]})]}),(0,Y.jsx)(f,{dimColor:!0,children:e.source}),(0,Y.jsxs)(f,{dimColor:!0,children:[e.pluginCount!==void 0&&(0,Y.jsxs)(Y.Fragment,{children:[e.pluginCount,` available`]}),e.installedPlugins&&e.installedPlugins.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[` • `,e.installedPlugins.length,` installed`]}),e.lastUpdated&&(0,Y.jsxs)(Y.Fragment,{children:[` • Updated `,new Date(e.lastUpdated).toLocaleDateString()]})]})]})]},e.name)})}),M()&&(0,Y.jsxs)(u,{marginTop:1,flexDirection:`column`,children:[(0,Y.jsxs)(f,{children:[(0,Y.jsx)(f,{bold:!0,children:`Pending changes:`}),` `,(0,Y.jsx)(f,{dimColor:!0,children:`Enter to apply`})]}),P>0&&(0,Y.jsxs)(f,{children:[`• Update `,P,` `,Rt(P,`marketplace`)]}),F>0&&(0,Y.jsxs)(f,{color:`warning`,children:[`• Remove `,F,` `,Rt(F,`marketplace`)]})]}),b&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{color:`claude`,children:`Processing changes…`})}),S&&(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{color:`error`,children:S})}),(0,Y.jsx)(Tr,{exitState:i,hasPendingActions:M()})]})}function Tr({exitState:e,hasPendingActions:t}){return e.pending?(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsxs)(f,{dimColor:!0,italic:!0,children:[`Press `,e.keyName,` again to go back`]})}):(0,Y.jsx)(u,{marginTop:1,children:(0,Y.jsx)(f,{dimColor:!0,italic:!0,children:(0,Y.jsxs)(p,{children:[t&&(0,Y.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`apply changes`}),!t&&(0,Y.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),!t&&(0,Y.jsx)(o,{shortcut:`u`,action:`update`}),!t&&(0,Y.jsx)(o,{shortcut:`r`,action:`remove`}),(0,Y.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:t?`cancel`:`go back`})]})})})}var Er,Y,Dr=e((()=>{i(),g(),Er=t(g(),1),Mt(),I(),C(),qt(),vt(),Dt(),ht(),rt(),z(),pe(),Cn(),ke(),gt(),Ct(),Bt(),Y=T()}));function Or(e){switch(e.type){case`path-not-found`:return`${e.component} path not found: ${e.path}`;case`git-auth-failed`:return`Git ${e.authType.toUpperCase()} authentication failed for ${e.gitUrl}`;case`git-timeout`:return`Git ${e.operation} timed out for ${e.gitUrl}`;case`network-error`:return`Network error accessing ${e.url}${e.details?`: ${e.details}`:``}`;case`manifest-parse-error`:return`Failed to parse manifest at ${e.manifestPath}: ${e.parseError}`;case`manifest-validation-error`:return`Invalid manifest at ${e.manifestPath}: ${e.validationErrors.join(`, `)}`;case`plugin-not-found`:return`Plugin "${e.pluginId}" not found in marketplace "${e.marketplace}"`;case`marketplace-not-found`:return`Marketplace "${e.marketplace}" not found`;case`marketplace-load-failed`:return`Failed to load marketplace "${e.marketplace}": ${e.reason}`;case`mcp-config-invalid`:return`Invalid MCP server config for "${e.serverName}": ${e.validationError}`;case`mcp-server-suppressed-duplicate`:{let t=e.duplicateOf.startsWith(`plugin:`)?`server provided by plugin "${e.duplicateOf.split(`:`)[1]??`?`}"`:`already-configured "${e.duplicateOf}"`;return`MCP server "${e.serverName}" skipped — same command/URL as ${t}`}case`hook-load-failed`:return`Failed to load hooks from ${e.hookPath}: ${e.reason}`;case`component-load-failed`:return`Failed to load ${e.component} from ${e.path}: ${e.reason}`;case`mcpb-download-failed`:return`Failed to download MCPB from ${e.url}: ${e.reason}`;case`mcpb-extract-failed`:return`Failed to extract MCPB ${e.mcpbPath}: ${e.reason}`;case`mcpb-invalid-manifest`:return`MCPB manifest invalid at ${e.mcpbPath}: ${e.validationError}`;case`marketplace-blocked-by-policy`:return e.blockedByBlocklist?`Marketplace "${e.marketplace}" is blocked by enterprise policy`:`Marketplace "${e.marketplace}" is not in the allowed marketplace list`;case`dependency-unsatisfied`:return e.reason===`not-enabled`?`Dependency "${e.dependency}" is disabled`:`Dependency "${e.dependency}" is not installed`;case`lsp-config-invalid`:return`Invalid LSP server config for "${e.serverName}": ${e.validationError}`;case`lsp-server-start-failed`:return`LSP server "${e.serverName}" failed to start: ${e.reason}`;case`lsp-server-crashed`:return e.signal?`LSP server "${e.serverName}" crashed with signal ${e.signal}`:`LSP server "${e.serverName}" crashed with exit code ${e.exitCode??`unknown`}`;case`lsp-request-timeout`:return`LSP server "${e.serverName}" timed out on ${e.method} after ${e.timeoutMs}ms`;case`lsp-request-failed`:return`LSP server "${e.serverName}" ${e.method} failed: ${e.error}`;case`plugin-cache-miss`:return`Plugin "${e.plugin}" not cached at ${e.installPath}`;case`generic-error`:return e.error}return Be(e)}function kr(e){switch(e.type){case`path-not-found`:return`Check that the path in your manifest or marketplace config is correct`;case`git-auth-failed`:return e.authType===`ssh`?`Configure SSH keys or use HTTPS URL instead`:`Configure credentials or use SSH URL instead`;case`git-timeout`:case`network-error`:return`Check your internet connection and try again`;case`manifest-parse-error`:return`Check manifest file syntax in the plugin directory`;case`manifest-validation-error`:return`Check manifest file follows the required schema`;case`plugin-not-found`:return`Plugin may not exist in marketplace "${e.marketplace}"`;case`marketplace-not-found`:return e.availableMarketplaces.length>0?`Available marketplaces: ${e.availableMarketplaces.join(`, `)}`:`Add the marketplace first using /plugin marketplace add`;case`mcp-config-invalid`:return`Check MCP server configuration in .mcp.json or manifest`;case`mcp-server-suppressed-duplicate`:return e.duplicateOf.startsWith(`plugin:`)?`Disable plugin "${e.duplicateOf.split(`:`)[1]??`the other plugin`}" if you want this plugin's version instead`:`Remove "${e.duplicateOf}" from your MCP config if you want the plugin's version instead`;case`hook-load-failed`:return`Check hooks.json file syntax and structure`;case`component-load-failed`:return`Check ${e.component} directory structure and file permissions`;case`mcpb-download-failed`:return`Check your internet connection and URL accessibility`;case`mcpb-extract-failed`:return`Verify the MCPB file is valid and not corrupted`;case`mcpb-invalid-manifest`:return`Contact the plugin author about the invalid manifest`;case`marketplace-blocked-by-policy`:return e.blockedByBlocklist?`This marketplace source is explicitly blocked by your administrator`:e.allowedSources.length>0?`Allowed sources: ${e.allowedSources.join(`, `)}`:`Contact your administrator to configure allowed marketplace sources`;case`dependency-unsatisfied`:return e.reason===`not-enabled`?`Enable "${e.dependency}" or uninstall "${e.plugin}"`:`Install "${e.dependency}" or uninstall "${e.plugin}"`;case`lsp-config-invalid`:return`Check LSP server configuration in the plugin manifest`;case`lsp-server-start-failed`:case`lsp-server-crashed`:case`lsp-request-timeout`:case`lsp-request-failed`:return`Check LSP server logs with --debug for details`;case`plugin-cache-miss`:return`Run /plugins to refresh the plugin cache`;case`marketplace-load-failed`:case`generic-error`:return null}return null}var Ar=e((()=>{Me()}));function jr({item:e,isSelected:t}){let[n]=l();if(e.type===`plugin`){let r,i;return e.pendingToggle?(r=v(`suggestion`,n)(a.arrowRight),i=e.pendingToggle===`will-enable`?`will enable`:`will disable`):e.errorCount>0?(r=v(`error`,n)(a.cross),i=`${e.errorCount} ${Rt(e.errorCount,`error`)}`):e.isEnabled?(r=v(`success`,n)(a.tick),i=`enabled`):(r=v(`inactive`,n)(a.radioOff),i=`disabled`),(0,X.jsxs)(u,{children:[(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:t?`${a.pointer} `:` `}),(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:e.name}),(0,X.jsxs)(f,{dimColor:!t,children:[` `,(0,X.jsx)(f,{backgroundColor:`userMessageBackground`,children:`Plugin`})]}),(0,X.jsxs)(f,{dimColor:!0,children:[` · `,e.marketplace]}),(0,X.jsxs)(f,{dimColor:!t,children:[` · `,r,` `]}),(0,X.jsx)(f,{dimColor:!t,children:i})]})}if(e.type===`flagged-plugin`){let r=v(`warning`,n)(a.warning);return(0,X.jsxs)(u,{children:[(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:t?`${a.pointer} `:` `}),(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:e.name}),(0,X.jsxs)(f,{dimColor:!t,children:[` `,(0,X.jsx)(f,{backgroundColor:`userMessageBackground`,children:`Plugin`})]}),(0,X.jsxs)(f,{dimColor:!0,children:[` · `,e.marketplace]}),(0,X.jsxs)(f,{dimColor:!t,children:[` · `,r,` `]}),(0,X.jsx)(f,{dimColor:!t,children:`removed`})]})}if(e.type===`failed-plugin`){let r=v(`error`,n)(a.cross),i=`failed to load · ${e.errorCount} ${Rt(e.errorCount,`error`)}`;return(0,X.jsxs)(u,{children:[(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:t?`${a.pointer} `:` `}),(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:e.name}),(0,X.jsxs)(f,{dimColor:!t,children:[` `,(0,X.jsx)(f,{backgroundColor:`userMessageBackground`,children:`Plugin`})]}),(0,X.jsxs)(f,{dimColor:!0,children:[` · `,e.marketplace]}),(0,X.jsxs)(f,{dimColor:!t,children:[` · `,r,` `]}),(0,X.jsx)(f,{dimColor:!t,children:i})]})}let r,i;return e.status===`connected`?(r=v(`success`,n)(a.tick),i=`connected`):e.status===`disabled`?(r=v(`inactive`,n)(a.radioOff),i=`disabled`):e.status===`pending`?(r=v(`inactive`,n)(a.radioOff),i=`connecting…`):e.status===`needs-auth`?(r=v(`warning`,n)(a.triangleUpOutline),i=`Enter to auth`):(r=v(`error`,n)(a.cross),i=`failed`),e.indented?(0,X.jsxs)(u,{children:[(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:t?`${a.pointer} `:` `}),(0,X.jsx)(f,{dimColor:!t,children:`└ `}),(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:e.name}),(0,X.jsxs)(f,{dimColor:!t,children:[` `,(0,X.jsx)(f,{backgroundColor:`userMessageBackground`,children:`MCP`})]}),(0,X.jsxs)(f,{dimColor:!t,children:[` · `,r,` `]}),(0,X.jsx)(f,{dimColor:!t,children:i})]}):(0,X.jsxs)(u,{children:[(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:t?`${a.pointer} `:` `}),(0,X.jsx)(f,{color:t?`suggestion`:void 0,children:e.name}),(0,X.jsxs)(f,{dimColor:!t,children:[` `,(0,X.jsx)(f,{backgroundColor:`userMessageBackground`,children:`MCP`})]}),(0,X.jsxs)(f,{dimColor:!t,children:[` · `,r,` `]}),(0,X.jsx)(f,{dimColor:!t,children:i})]})}var X,Mr=e((()=>{i(),g(),C(),Bt(),X=T()}));async function Nr(e){try{return(await Tn.readdir(e,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(`.md`)).map(e=>wn.basename(e.name,`.md`))}catch(t){return mt(`Failed to read plugin components from ${e}: ${ut(t)}`,{level:`error`}),jt(ft(t)),[]}}async function Pr(e){try{let t=await Tn.readdir(e,{withFileTypes:!0}),n=[];for(let r of t)if(r.isDirectory()||r.isSymbolicLink()){let t=wn.join(e,r.name,`SKILL.md`);try{(await Tn.stat(t)).isFile()&&n.push(r.name)}catch{}}return n}catch(t){return mt(`Failed to read skill directories from ${e}: ${ut(t)}`,{level:`error`}),jt(ft(t)),[]}}function Fr({plugin:e,marketplace:t}){let[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!0),[o,s]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{async function n(){try{if(t===`builtin`){let t=we(e.name);if(t){let e=t.skills?.map(e=>e.name)??[],n=t.hooks?Object.keys(t.hooks):[],i=t.mcpServers?Object.keys(t.mcpServers):[];r({commands:null,agents:null,skills:e.length>0?e:null,hooks:n.length>0?n:null,mcpServers:i.length>0?i:null})}else s(`Built-in plugin ${e.name} not found`);a(!1);return}let n=(await P(t)).plugins.find(t=>t.name===e.name);if(n){let t=[];e.commandsPath&&t.push(e.commandsPath),e.commandsPaths&&t.push(...e.commandsPaths);let i=[];for(let e of t)if(typeof e==`string`){let t=await Nr(e);i.push(...t)}let a=[];e.agentsPath&&a.push(e.agentsPath),e.agentsPaths&&a.push(...e.agentsPaths);let o=[];for(let e of a)if(typeof e==`string`){let t=await Nr(e);o.push(...t)}let s=[];e.skillsPath&&s.push(e.skillsPath),e.skillsPaths&&s.push(...e.skillsPaths);let c=[];for(let e of s)if(typeof e==`string`){let t=await Pr(e);c.push(...t)}let l=[];e.hooksConfig&&l.push(Object.keys(e.hooksConfig)),n.hooks&&l.push(n.hooks);let u=[];e.mcpServers&&u.push(Object.keys(e.mcpServers)),n.mcpServers&&u.push(n.mcpServers),r({commands:i.length>0?i:null,agents:o.length>0?o:null,skills:c.length>0?c:null,hooks:l.length>0?l:null,mcpServers:u.length>0?u:null})}else s(`Plugin ${e.name} not found in marketplace`)}catch(e){s(e instanceof Error?e.message:`Failed to load components`)}finally{a(!1)}}n()},[e.name,e.commandsPath,e.commandsPaths,e.agentsPath,e.agentsPaths,e.skillsPath,e.skillsPaths,e.hooksConfig,e.mcpServers,t]),i?null:o?(0,Q.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,Q.jsx)(f,{bold:!0,children:`Components:`}),(0,Q.jsxs)(f,{dimColor:!0,children:[`Error: `,o]})]}):!n||!(n.commands||n.agents||n.skills||n.hooks||n.mcpServers)?null:(0,Q.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,Q.jsx)(f,{bold:!0,children:`Installed components:`}),n.commands?(0,Q.jsxs)(f,{dimColor:!0,children:[`• Commands:`,` `,typeof n.commands==`string`?n.commands:Array.isArray(n.commands)?n.commands.join(`, `):Object.keys(n.commands).join(`, `)]}):null,n.agents?(0,Q.jsxs)(f,{dimColor:!0,children:[`• Agents:`,` `,typeof n.agents==`string`?n.agents:Array.isArray(n.agents)?n.agents.join(`, `):Object.keys(n.agents).join(`, `)]}):null,n.skills?(0,Q.jsxs)(f,{dimColor:!0,children:[`• Skills:`,` `,typeof n.skills==`string`?n.skills:Array.isArray(n.skills)?n.skills.join(`, `):Object.keys(n.skills).join(`, `)]}):null,n.hooks?(0,Q.jsxs)(f,{dimColor:!0,children:[`• Hooks:`,` `,typeof n.hooks==`string`?n.hooks:Array.isArray(n.hooks)?n.hooks.map(String).join(`, `):typeof n.hooks==`object`&&n.hooks!==null?Object.keys(n.hooks).join(`, `):String(n.hooks)]}):null,n.mcpServers?(0,Q.jsxs)(f,{dimColor:!0,children:[`• MCP Servers:`,` `,typeof n.mcpServers==`string`?n.mcpServers:Array.isArray(n.mcpServers)?n.mcpServers.map(String).join(`, `):typeof n.mcpServers==`object`&&n.mcpServers!==null?Object.keys(n.mcpServers).join(`, `):String(n.mcpServers)]}):null]})}async function Ir(e,t){let n=(await P(t))?.plugins.find(t=>t.name===e);return n&&typeof n.source==`string`?`Local plugins cannot be updated remotely. To update, modify the source at: ${n.source}`:null}function Lr(e){return e.filter(e=>{let t=e.source.split(`@`)[1]||`local`;return!We(`${e.name}@${t}`)})}function Rr({setViewState:e,setResult:t,onManageComplete:n,onSearchModeChange:r,targetPlugin:i,targetMarketplace:o,action:s}){let l=me(e=>e.mcp.clients),d=me(e=>e.mcp.tools),h=me(e=>e.plugins.errors),g=Wt(),[v,b]=(0,Z.useState)(!1),S=(0,Z.useCallback)(e=>{b(e),r?.(e)},[r]),C=m(),{columns:te}=x(),[w,T]=(0,Z.useState)(`plugin-list`),{query:E,setQuery:ne,cursorOffset:D}=bn({isActive:w===`plugin-list`&&v,onExit:()=>{S(!1)}}),[O,k]=(0,Z.useState)(null),[A,re]=(0,Z.useState)([]),[ie,ae]=(0,Z.useState)([]),[oe,j]=(0,Z.useState)(!0),[se,N]=(0,Z.useState)(new Map),ce=(0,Z.useRef)(!1),le=(0,Z.useRef)(void 0),ue=mn();ee(`confirm:no`,zr.useCallback(()=>{if(w===`plugin-details`)T(`plugin-list`),k(null),z(null);else if(typeof w==`object`&&w.type===`failed-plugin-details`)T(`plugin-list`),z(null);else if(w===`configuring`)T(`plugin-details`),xe(null);else if(typeof w==`object`&&(w.type===`plugin-options`||w.type===`configuring-options`))T(`plugin-list`),k(null),t(`Plugin enabled. Configuration skipped — run /reload-plugins to apply.`),n&&n();else if(typeof w==`object`&&w.type===`flagged-detail`)T(`plugin-list`),z(null);else if(typeof w==`object`&&w.type===`mcp-detail`)T(`plugin-list`),z(null);else if(typeof w==`object`&&w.type===`mcp-tools`)T({type:`mcp-detail`,client:w.client});else if(typeof w==`object`&&w.type===`mcp-tool-detail`)T({type:`mcp-tools`,client:w.client});else{if(se.size>0){t(`Run /reload-plugins to apply plugin changes.`);return}e({type:`menu`})}},[w,e,se,t]),{context:`Confirmation`,isActive:(w!==`plugin-list`||!v)&&w!==`confirm-project-uninstall`&&!(typeof w==`object`&&w.type===`confirm-data-cleanup`)});let P=e=>e.type===`connected`?`connected`:e.type===`disabled`?`disabled`:e.type===`pending`?`pending`:e.type===`needs-auth`?`needs-auth`:`failed`,F=(0,Z.useMemo)(()=>{let e=St(),t=new Map;for(let e of l)if(e.name.startsWith(`plugin:`)){let n=e.name.split(`:`);if(n.length>=3){let r=n[1],i=n.slice(2).join(`:`),a=t.get(r)||[];a.push({displayName:i,client:e}),t.set(r,a)}}let n=[];for(let r of ie){let i=`${r.plugin.name}@${r.marketplace}`,a=e?.enabledPlugins?.[i]!==!1,o=h.filter(e=>`plugin`in e&&e.plugin===r.plugin.name||e.source===i||e.source.startsWith(`${r.plugin.name}@`)),s=r.plugin.isBuiltin?`builtin`:r.scope||`user`;n.push({item:{type:`plugin`,id:i,name:r.plugin.name,description:r.plugin.manifest.description,marketplace:r.marketplace,scope:s,isEnabled:a,errorCount:o.length,errors:o,plugin:r.plugin,pendingEnable:r.pendingEnable,pendingUpdate:r.pendingUpdate,pendingToggle:se.get(i)},originalScope:s,childMcps:t.get(r.plugin.name)||[]})}let r=new Set(n.map(({item:e})=>e.id)),i=new Set(n.map(({item:e})=>e.name)),a=new Map;for(let e of h){if(r.has(e.source)||`plugin`in e&&typeof e.plugin==`string`&&i.has(e.plugin))continue;let t=a.get(e.source)||[];t.push(e),a.set(e.source,t)}let o=Zt(),s=[];for(let[e,t]of a){if(e in g)continue;let n=Ze(e),r=n.name||e,i=n.marketplace||`unknown`,a=o.get(e),c=a===`flag`||a===void 0?`user`:a;s.push({type:`failed-plugin`,id:e,name:r,marketplace:i,scope:c,errorCount:t.length,errors:t})}let c=[];for(let e of l)e.name!==`ide`&&(e.name.startsWith(`plugin:`)||c.push({type:`mcp`,id:`mcp:${e.name}`,name:e.name,description:void 0,scope:e.config.scope,status:P(e),client:e}));let u={flagged:-1,project:0,local:1,user:2,enterprise:3,managed:4,dynamic:5,builtin:6},d=[],f=new Map;for(let{item:e,originalScope:t,childMcps:r}of n){let n=e.scope;f.has(n)||f.set(n,[]),f.get(n).push(e);for(let{displayName:e,client:n}of r){let r=t===`builtin`?`user`:t;f.has(r)||f.set(r,[]),f.get(r).push({type:`mcp`,id:`mcp:${n.name}`,name:e,description:void 0,scope:r,status:P(n),client:n,indented:!0})}}for(let e of c){let t=e.scope;f.has(t)||f.set(t,[]),f.get(t).push(e)}for(let e of s){let t=e.scope;f.has(t)||f.set(t,[]),f.get(t).push(e)}for(let[e,t]of Object.entries(g)){let n=Ze(e),r=n.name||e,i=n.marketplace||`unknown`;f.has(`flagged`)||f.set(`flagged`,[]),f.get(`flagged`).push({type:`flagged-plugin`,id:e,name:r,marketplace:i,scope:`flagged`,reason:`delisted`,text:`Removed from marketplace`,flaggedAt:t.flaggedAt})}let p=[...f.keys()].sort((e,t)=>(u[e]??99)-(u[t]??99));for(let e of p){let t=f.get(e),n=[],r=[],i=0;for(;i<t.length;){let e=t[i];if(e.type===`plugin`||e.type===`failed-plugin`||e.type===`flagged-plugin`){let r=[e];i++;let a=t[i];for(;a?.type===`mcp`&&a.indented;)r.push(a),i++,a=t[i];n.push(r)}else e.type===`mcp`&&!e.indented&&r.push(e),i++}n.sort((e,t)=>e[0].name.localeCompare(t[0].name)),r.sort((e,t)=>e.name.localeCompare(t.name));for(let e of n)d.push(...e);d.push(...r)}return d},[ie,l,h,se,g]),I=(0,Z.useMemo)(()=>F.filter(e=>e.type===`flagged-plugin`).map(e=>e.id),[F]);(0,Z.useEffect)(()=>{I.length>0&&Ut(I)},[I]);let L=(0,Z.useMemo)(()=>{if(!E)return F;let e=E.toLowerCase();return F.filter(t=>t.name.toLowerCase().includes(e)||`description`in t&&t.description?.toLowerCase().includes(e))},[F,E]),[fe,pe]=(0,Z.useState)(0),he=dr({totalItems:L.length,selectedIndex:fe,maxVisible:8}),[ge,_e]=(0,Z.useState)(0),[ve,R]=(0,Z.useState)(!1),[ye,z]=(0,Z.useState)(null),[be,xe]=(0,Z.useState)(null),[Se,we]=(0,Z.useState)(!1),[Te,Ee]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{if(!O){Ee(!1);return}async function e(){let e=O.plugin.manifest.mcpServers,t=!1;if(e&&(t=typeof e==`string`&&Ge(e)||Array.isArray(e)&&e.some(e=>typeof e==`string`&&Ge(e))),!t)try{let e=wn.join(O.plugin.path,`..`),n=wn.join(e,`.claude-plugin`,`marketplace.json`),r=lt(await Tn.readFile(n,`utf-8`)).plugins?.find(e=>e.name===O.plugin.name);if(r?.mcpServers){let e=r.mcpServers;t=typeof e==`string`&&Ge(e)||Array.isArray(e)&&e.some(e=>typeof e==`string`&&Ge(e))}}catch(e){mt(`Failed to read raw marketplace.json: ${e}`)}Ee(t)}e()},[O]),(0,Z.useEffect)(()=>{async function e(){j(!0);try{let{enabled:e,disabled:t}=await Ke(),n=St(),r=Lr([...e,...t]),i={};for(let e of r){let t=e.source.split(`@`)[1]||`local`;i[t]||(i[t]=[]),i[t].push(e)}let a=[];for(let[e,t]of Object.entries(i)){let r=wt(t,t=>{let r=`${t.name}@${e}`;return n?.enabledPlugins?.[r]!==!1}),i=t.length-r;a.push({name:e,installedPlugins:t,enabledCount:r,disabledCount:i})}a.sort((e,t)=>e.name===`claude-plugin-directory`?-1:t.name===`claude-plugin-directory`?1:e.name.localeCompare(t.name)),re(a);let o=[];for(let e of a)for(let t of e.installedPlugins){let n=`${t.name}@${e.name}`,r=t.isBuiltin?`builtin`:rn(n).scope;o.push({plugin:t,marketplace:e.name,scope:r,pendingEnable:void 0,pendingUpdate:!1})}ae(o),pe(0)}finally{j(!1)}}e()},[]),(0,Z.useEffect)(()=>{if(!ce.current&&i&&A.length>0&&!oe){let{name:e,marketplace:n}=Ze(i),r=o??n,a=r?A.filter(e=>e.name===r):A;for(let t of a){let n=t.installedPlugins.find(t=>t.name===e);if(n){let{scope:e}=rn(`${n.name}@${t.name}`),r={plugin:n,marketplace:t.name,scope:e,pendingEnable:void 0,pendingUpdate:!1};k(r),T(`plugin-details`),le.current=s,ce.current=!0;return}}let c=F.find(t=>t.type===`failed-plugin`&&t.name===e);c&&c.type===`failed-plugin`&&(T({type:`failed-plugin-details`,plugin:{id:c.id,name:c.name,marketplace:c.marketplace,errors:c.errors,scope:c.scope}}),ce.current=!0),!ce.current&&s&&(ce.current=!0,t(`Plugin "${i}" is not installed in this project`))}},[i,o,A,oe,F,s,t]);let De=async r=>{if(!O)return;let i=O.scope||`user`,a=i===`builtin`;if(a&&(r===`update`||r===`uninstall`)){z(`Built-in plugins cannot be updated or uninstalled.`);return}if(!a&&!nn(i)&&r!==`update`){z(`This plugin is managed by your organization. Contact your admin to disable it.`);return}R(!0),z(null);try{let o=`${O.plugin.name}@${O.marketplace}`,s;switch(r){case`enable`:{let e=await Qt(o);if(!e.success)throw Error(e.message);break}case`disable`:{let e=await tn(o);if(!e.success)throw Error(e.message);s=e.reverseDependents;break}case`uninstall`:{if(a||!nn(i))break;if(on(o)){R(!1),T(`confirm-project-uninstall`);return}let e=M().plugins[o],t=!e||e.length<=1?await ze(o):null;if(t){R(!1),T({type:`confirm-data-cleanup`,size:t});return}let n=await $t(o,i);if(!n.success)throw Error(n.message);s=n.reverseDependents;break}case`update`:{if(a)break;let r=await en(o,i);if(!r.success)throw Error(r.message);if(r.alreadyUpToDate){t(`${O.plugin.name} is already at the latest version (${r.newVersion}).`),n&&await n(),e({type:`menu`});return}break}}Le();let c=`${O.plugin.name}@${O.marketplace}`;if(St()?.enabledPlugins?.[c]!==!1){R(!1),T({type:`plugin-options`});return}let l=r===`enable`?`Enabled`:r===`disable`?`Disabled`:r===`update`?`Updated`:`Uninstalled`,u=s&&s.length>0?` · required by ${s.join(`, `)}`:``;t(`✓ ${l} ${O.plugin.name}${u}. Run /reload-plugins to apply.`),n&&await n(),e({type:`menu`})}catch(e){R(!1);let t=e instanceof Error?e.message:String(e);z(`Failed to ${r}: ${t}`),jt(ft(e))}},Oe=(0,Z.useRef)(De);Oe.current=De,(0,Z.useEffect)(()=>{if(w===`plugin-details`&&O&&le.current){let e=le.current;le.current=void 0,Oe.current(e)}},[w,O]);let ke=zr.useCallback(()=>{if(fe>=L.length)return;let e=L[fe];if(e?.type!==`flagged-plugin`)if(e?.type===`plugin`){let t=`${e.plugin.name}@${e.marketplace}`,n=St(),r=se.get(t),i=n?.enabledPlugins?.[t]!==!1,a=e.scope;if(a===`builtin`||nn(a)){let e=new Map(se);r?(e.delete(t),(async()=>{try{r===`will-disable`?await Qt(t):await tn(t),Le()}catch(e){jt(e)}})()):(e.set(t,i?`will-disable`:`will-enable`),(async()=>{try{i?await tn(t):await Qt(t),Le()}catch(e){jt(e)}})()),N(e)}}else e?.type===`mcp`&&ue(e.client.name)},[fe,L,se,ie,ue]);c({"select:previous":()=>{fe===0?S(!0):he.handleSelectionChange(fe-1,pe)},"select:next":()=>{fe<L.length-1&&he.handleSelectionChange(fe+1,pe)},"select:accept":zr.useCallback(()=>{if(fe>=L.length)return;let e=L[fe];if(e?.type===`plugin`){let t=ie.find(t=>t.plugin.name===e.plugin.name&&t.marketplace===e.marketplace);t&&(k(t),T(`plugin-details`),_e(0),z(null))}else e?.type===`flagged-plugin`?(T({type:`flagged-detail`,plugin:{id:e.id,name:e.name,marketplace:e.marketplace,reason:e.reason,text:e.text,flaggedAt:e.flaggedAt}}),z(null)):e?.type===`failed-plugin`?(T({type:`failed-plugin-details`,plugin:{id:e.id,name:e.name,marketplace:e.marketplace,errors:e.errors,scope:e.scope}}),_e(0),z(null)):e?.type===`mcp`&&(T({type:`mcp-detail`,client:e.client}),z(null))},[fe,L,ie])},{context:`Select`,isActive:w===`plugin-list`&&!v}),c({"plugin:toggle":ke},{context:`Plugin`,isActive:w===`plugin-list`&&!v}),c({"select:accept":zr.useCallback(()=>{typeof w!=`object`||w.type!==`flagged-detail`||(Gt(w.plugin.id),T(`plugin-list`))},[w])},{context:`Select`,isActive:typeof w==`object`&&w.type===`flagged-detail`});let Ae=zr.useMemo(()=>{if(w!==`plugin-details`||!O)return[];let e=St(),t=`${O.plugin.name}@${O.marketplace}`,n=e?.enabledPlugins?.[t]!==!1,r=O.marketplace===`builtin`,i=[];return i.push({label:n?`Disable plugin`:`Enable plugin`,action:()=>void De(n?`disable`:`enable`)}),r||(i.push({label:O.pendingUpdate?`Unmark for update`:`Mark for update`,action:async()=>{try{let e=await Ir(O.plugin.name,O.marketplace);if(e){z(e);return}let t=[...ie],n=t.findIndex(e=>e.plugin.name===O.plugin.name&&e.marketplace===O.marketplace);n!==-1&&(t[n].pendingUpdate=!O.pendingUpdate,ae(t),k({...O,pendingUpdate:!O.pendingUpdate}))}catch(e){z(e instanceof Error?e.message:`Failed to check plugin update availability`)}}}),Te&&i.push({label:`Configure`,action:async()=>{we(!0);try{let e=O.plugin.manifest.mcpServers,t=null;if(typeof e==`string`&&Ge(e))t=e;else if(Array.isArray(e)){for(let n of e)if(typeof n==`string`&&Ge(n)){t=n;break}}if(!t){z(`No MCPB file found in plugin`),we(!1);return}let n=`${O.plugin.name}@${O.marketplace}`,r=await Ce(t,O.plugin.path,n,void 0,void 0,!0);`status`in r&&r.status===`needs-config`?(xe(r),T(`configuring`)):z(`Failed to load MCPB for configuration`)}catch(e){let t=ut(e);z(`Failed to load configuration: ${t}`)}finally{we(!1)}}}),O.plugin.manifest.userConfig&&Object.keys(O.plugin.manifest.userConfig).length>0&&i.push({label:`Configure options`,action:()=>{T({type:`configuring-options`,schema:O.plugin.manifest.userConfig})}}),i.push({label:`Update now`,action:()=>void De(`update`)}),i.push({label:`Uninstall`,action:()=>void De(`uninstall`)})),O.plugin.manifest.homepage&&i.push({label:`Open homepage`,action:()=>void Jt(O.plugin.manifest.homepage)}),O.plugin.manifest.repository&&i.push({label:`View repository`,action:()=>void Jt(O.plugin.manifest.repository)}),i.push({label:`Back to plugin list`,action:()=>{T(`plugin-list`),k(null),z(null)}}),i},[w,O,Te,ie]);if(c({"select:previous":()=>{ge>0&&_e(ge-1)},"select:next":()=>{ge<Ae.length-1&&_e(ge+1)},"select:accept":()=>{Ae[ge]&&Ae[ge].action()}},{context:`Select`,isActive:w===`plugin-details`&&!!O}),c({"select:accept":()=>{typeof w==`object`&&w.type===`failed-plugin-details`&&(async()=>{R(!0),z(null);let e=w.plugin.id,t=w.plugin.scope,r=nn(t)?await $t(e,t,!1):await $t(e,`user`,!1),i=r.success;if(!i){for(let t of[`userSettings`,`projectSettings`,`localSettings`]){let n=bt(t);n?.enabledPlugins?.[e]!==void 0&&(Et(t,{enabledPlugins:{...n.enabledPlugins,[e]:void 0}}),i=!0)}Le()}i?(n&&await n(),R(!1),T(`plugin-list`)):(R(!1),z(r.message))})()}},{context:`Select`,isActive:typeof w==`object`&&w.type===`failed-plugin-details`&&w.plugin.scope!==`managed`}),c({"confirm:yes":()=>{if(!O)return;R(!0),z(null);let r=`${O.plugin.name}@${O.marketplace}`,{error:i}=Et(`localSettings`,{enabledPlugins:{...bt(`localSettings`)?.enabledPlugins,[r]:!1}});if(i){R(!1),z(`Failed to write settings: ${i.message}`);return}Le(),t(`✓ Disabled ${O.plugin.name} in .claude/settings.local.json. Run /reload-plugins to apply.`),n&&n(),e({type:`menu`})},"confirm:no":()=>{T(`plugin-details`),z(null)}},{context:`Confirmation`,isActive:w===`confirm-project-uninstall`&&!!O&&!ve}),_((r,i)=>{if(!O)return;let o=`${O.plugin.name}@${O.marketplace}`,s=O.scope;if(!s||s===`builtin`||!nn(s))return;let c=async r=>{R(!0),z(null);try{let i=await $t(o,s,r);if(!i.success)throw Error(i.message);Le();let c=r?``:` · data preserved`;t(`${a.tick} ${i.message}${c}`),n&&n(),e({type:`menu`})}catch(e){R(!1),z(e instanceof Error?e.message:String(e))}};r===`y`||r===`Y`?c(!0):r===`n`||r===`N`?c(!1):i.escape&&(T(`plugin-details`),z(null))},{isActive:typeof w==`object`&&w.type===`confirm-data-cleanup`&&!!O&&!ve}),zr.useEffect(()=>{pe(0)},[E]),_((e,t)=>{let n=!t.ctrl&&!t.meta;v||(e===`/`&&n?(S(!0),ne(``),pe(0)):n&&e.length>0&&!/^\s+$/.test(e)&&e!==`j`&&e!==`k`&&e!==` `&&(S(!0),ne(e),pe(0)))},{isActive:w===`plugin-list`}),oe)return(0,Q.jsx)(f,{children:`Loading installed plugins…`});if(F.length===0)return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsx)(u,{marginBottom:1,children:(0,Q.jsx)(f,{bold:!0,children:`Manage plugins`})}),(0,Q.jsx)(f,{children:`No plugins or MCP servers installed.`}),(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{dimColor:!0,children:`Esc to go back`})})]});if(typeof w==`object`&&w.type===`plugin-options`&&O){let r=`${O.plugin.name}@${O.marketplace}`;function i(r){t(r),n&&n(),e({type:`menu`})}return(0,Q.jsx)($n,{plugin:O.plugin,pluginId:r,onDone:(e,t)=>{switch(e){case`configured`:i(`✓ Enabled and configured ${O.plugin.name}. Run /reload-plugins to apply.`);break;case`skipped`:i(`✓ Enabled ${O.plugin.name}. Run /reload-plugins to apply.`);break;case`error`:i(`Failed to save configuration: ${t}`);break}}})}if(typeof w==`object`&&w.type===`configuring-options`&&O){let e=`${O.plugin.name}@${O.marketplace}`;return(0,Q.jsx)(Jn,{title:`Configure ${O.plugin.name}`,subtitle:`Plugin options`,configSchema:w.schema,initialValues:Xe(e),onSave:n=>{try{Fe(e,n,w.schema),Le(),t(`Configuration saved. Run /reload-plugins for changes to take effect.`)}catch(e){z(`Failed to save configuration: ${ut(e)}`)}T(`plugin-details`)},onCancel:()=>T(`plugin-details`)})}if(w===`configuring`&&be&&O){let e=`${O.plugin.name}@${O.marketplace}`;async function n(n){if(!(!be||!O))try{let r=O.plugin.manifest.mcpServers,i=null;if(typeof r==`string`&&Ge(r))i=r;else if(Array.isArray(r)){for(let e of r)if(typeof e==`string`&&Ge(e)){i=e;break}}if(!i){z(`No MCPB file found`),T(`plugin-details`);return}await Ce(i,O.plugin.path,e,void 0,n),z(null),xe(null),T(`plugin-details`),t(`Configuration saved. Run /reload-plugins for changes to take effect.`)}catch(e){let t=ut(e);z(`Failed to save configuration: ${t}`),T(`plugin-details`)}}function r(){xe(null),T(`plugin-details`)}return(0,Q.jsx)(Jn,{title:`Configure ${be.manifest.name}`,subtitle:`Plugin: ${O.plugin.name}`,configSchema:be.configSchema,initialValues:be.existingConfig,onSave:n,onCancel:r})}if(typeof w==`object`&&w.type===`flagged-detail`){let e=w.plugin;return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsx)(u,{children:(0,Q.jsxs)(f,{bold:!0,children:[e.name,` @ `,e.marketplace]})}),(0,Q.jsxs)(u,{marginBottom:1,children:[(0,Q.jsx)(f,{dimColor:!0,children:`Status: `}),(0,Q.jsx)(f,{color:`error`,children:`Removed`})]}),(0,Q.jsxs)(u,{marginBottom:1,flexDirection:`column`,children:[(0,Q.jsxs)(f,{color:`error`,children:[`Removed from marketplace · reason: `,e.reason]}),(0,Q.jsx)(f,{children:e.text}),(0,Q.jsxs)(f,{dimColor:!0,children:[`Flagged on `,new Date(e.flaggedAt).toLocaleDateString()]})]}),(0,Q.jsx)(u,{marginTop:1,flexDirection:`column`,children:(0,Q.jsxs)(u,{children:[(0,Q.jsxs)(f,{children:[a.pointer,` `]}),(0,Q.jsx)(f,{color:`suggestion`,children:`Dismiss`})]})}),(0,Q.jsxs)(p,{children:[(0,Q.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`dismiss`}),(0,Q.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})]})}if(w===`confirm-project-uninstall`&&O)return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsxs)(f,{bold:!0,color:`warning`,children:[O.plugin.name,` is enabled in .claude/settings.json (shared with your team)`]}),(0,Q.jsxs)(u,{marginTop:1,flexDirection:`column`,children:[(0,Q.jsx)(f,{children:`Disable it just for you in .claude/settings.local.json?`}),(0,Q.jsx)(f,{dimColor:!0,children:`This has the same effect as uninstalling, without affecting other contributors.`})]}),ye&&(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{color:`error`,children:ye})}),(0,Q.jsx)(u,{marginTop:1,children:ve?(0,Q.jsx)(f,{dimColor:!0,children:`Disabling…`}):(0,Q.jsxs)(p,{children:[(0,Q.jsx)(B,{action:`confirm:yes`,context:`Confirmation`,fallback:`y`,description:`disable`}),(0,Q.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]});if(typeof w==`object`&&w.type===`confirm-data-cleanup`&&O)return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsxs)(f,{bold:!0,children:[O.plugin.name,` has `,w.size.human,` of persistent data`]}),(0,Q.jsxs)(u,{marginTop:1,flexDirection:`column`,children:[(0,Q.jsx)(f,{children:`Delete it along with the plugin?`}),(0,Q.jsx)(f,{dimColor:!0,children:it(`${O.plugin.name}@${O.marketplace}`)})]}),ye&&(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{color:`error`,children:ye})}),(0,Q.jsx)(u,{marginTop:1,children:ve?(0,Q.jsx)(f,{dimColor:!0,children:`Uninstalling…`}):(0,Q.jsxs)(f,{children:[(0,Q.jsx)(f,{bold:!0,children:`y`}),` to delete · `,(0,Q.jsx)(f,{bold:!0,children:`n`}),` to keep · `,(0,Q.jsx)(f,{bold:!0,children:`esc`}),` to cancel`]})})]});if(w===`plugin-details`&&O){let e=St(),t=`${O.plugin.name}@${O.marketplace}`,n=e?.enabledPlugins?.[t]!==!1,r=h.filter(e=>`plugin`in e&&e.plugin===O.plugin.name||e.source===t||e.source.startsWith(`${O.plugin.name}@`)),i=r.length===0?null:(0,Q.jsxs)(u,{flexDirection:`column`,marginBottom:1,children:[(0,Q.jsxs)(f,{bold:!0,color:`error`,children:[r.length,` `,Rt(r.length,`error`),`:`]}),r.map((e,t)=>{let n=kr(e);return(0,Q.jsxs)(u,{flexDirection:`column`,marginLeft:2,children:[(0,Q.jsx)(f,{color:`error`,children:Or(e)}),n&&(0,Q.jsxs)(f,{dimColor:!0,italic:!0,children:[a.arrowRight,` `,n]})]},t)})]});return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsx)(u,{children:(0,Q.jsxs)(f,{bold:!0,children:[O.plugin.name,` @ `,O.marketplace]})}),(0,Q.jsxs)(u,{children:[(0,Q.jsx)(f,{dimColor:!0,children:`Scope: `}),(0,Q.jsx)(f,{children:O.scope||`user`})]}),O.plugin.manifest.version&&(0,Q.jsxs)(u,{children:[(0,Q.jsx)(f,{dimColor:!0,children:`Version: `}),(0,Q.jsx)(f,{children:O.plugin.manifest.version})]}),O.plugin.manifest.description&&(0,Q.jsx)(u,{marginBottom:1,children:(0,Q.jsx)(f,{children:O.plugin.manifest.description})}),O.plugin.manifest.author&&(0,Q.jsxs)(u,{children:[(0,Q.jsx)(f,{dimColor:!0,children:`Author: `}),(0,Q.jsx)(f,{children:O.plugin.manifest.author.name})]}),(0,Q.jsxs)(u,{marginBottom:1,children:[(0,Q.jsx)(f,{dimColor:!0,children:`Status: `}),(0,Q.jsx)(f,{color:n?`success`:`warning`,children:n?`Enabled`:`Disabled`}),O.pendingUpdate&&(0,Q.jsx)(f,{color:`suggestion`,children:` · Marked for update`})]}),(0,Q.jsx)(Fr,{plugin:O.plugin,marketplace:O.marketplace}),i,(0,Q.jsx)(u,{marginTop:1,flexDirection:`column`,children:Ae.map((e,t)=>{let n=t===ge;return(0,Q.jsxs)(u,{children:[n&&(0,Q.jsxs)(f,{children:[a.pointer,` `]}),!n&&(0,Q.jsx)(f,{children:` `}),(0,Q.jsx)(f,{bold:n,color:e.label.includes(`Uninstall`)?`error`:e.label.includes(`Update`)?`suggestion`:void 0,children:e.label})]},t)})}),ve&&(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{children:`Processing…`})}),ye&&(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{color:`error`,children:ye})}),(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{dimColor:!0,italic:!0,children:(0,Q.jsxs)(p,{children:[(0,Q.jsx)(B,{action:`select:previous`,context:`Select`,fallback:`↑`,description:`navigate`}),(0,Q.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`select`}),(0,Q.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}if(typeof w==`object`&&w.type===`failed-plugin-details`){let e=w.plugin,t=e.errors[0],n=t?Or(t):`Failed to load`;return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsxs)(f,{children:[(0,Q.jsx)(f,{bold:!0,children:e.name}),(0,Q.jsxs)(f,{dimColor:!0,children:[` @ `,e.marketplace]}),(0,Q.jsxs)(f,{dimColor:!0,children:[` (`,e.scope,`)`]})]}),(0,Q.jsx)(f,{color:`error`,children:n}),e.scope===`managed`?(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{dimColor:!0,children:`Managed by your organization — contact your admin`})}):(0,Q.jsxs)(u,{marginTop:1,children:[(0,Q.jsxs)(f,{color:`suggestion`,children:[a.pointer,` `]}),(0,Q.jsx)(f,{bold:!0,children:`Remove`})]}),ve&&(0,Q.jsx)(f,{children:`Processing…`}),ye&&(0,Q.jsx)(f,{color:`error`,children:ye}),(0,Q.jsx)(u,{marginTop:1,children:(0,Q.jsx)(f,{dimColor:!0,italic:!0,children:(0,Q.jsxs)(p,{children:[e.scope!==`managed`&&(0,Q.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`remove`}),(0,Q.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}if(typeof w==`object`&&w.type===`mcp-detail`){let e=w.client,n=de(d,e.name).length,r=()=>{T({type:`mcp-tools`,client:e})},i=()=>{T(`plugin-list`)},a=e=>{e&&t(e),T(`plugin-list`)},o=e.config.scope,s=e.config.type;return s===`stdio`?(0,Q.jsx)(Pn,{server:{name:e.name,client:e,scope:o,transport:`stdio`,config:e.config},serverToolsCount:n,onViewTools:r,onCancel:i,onComplete:a,borderless:!0}):s===`sse`?(0,Q.jsx)(Mn,{server:{name:e.name,client:e,scope:o,transport:`sse`,isAuthenticated:void 0,config:e.config},serverToolsCount:n,onViewTools:r,onCancel:i,onComplete:a,borderless:!0}):s===`http`?(0,Q.jsx)(Mn,{server:{name:e.name,client:e,scope:o,transport:`http`,isAuthenticated:void 0,config:e.config},serverToolsCount:n,onViewTools:r,onCancel:i,onComplete:a,borderless:!0}):s===`claudeai-proxy`?(0,Q.jsx)(Mn,{server:{name:e.name,client:e,scope:o,transport:`claudeai-proxy`,isAuthenticated:void 0,config:e.config},serverToolsCount:n,onViewTools:r,onCancel:i,onComplete:a,borderless:!0}):(T(`plugin-list`),null)}if(typeof w==`object`&&w.type===`mcp-tools`){let e=w.client,t=e.config.scope,n=e.config.type,r;return r=n===`stdio`?{name:e.name,client:e,scope:t,transport:`stdio`,config:e.config}:n===`sse`?{name:e.name,client:e,scope:t,transport:`sse`,isAuthenticated:void 0,config:e.config}:n===`http`?{name:e.name,client:e,scope:t,transport:`http`,isAuthenticated:void 0,config:e.config}:{name:e.name,client:e,scope:t,transport:`claudeai-proxy`,isAuthenticated:void 0,config:e.config},(0,Q.jsx)(Bn,{server:r,onSelectTool:t=>{T({type:`mcp-tool-detail`,client:e,tool:t})},onBack:()=>T({type:`mcp-detail`,client:e})})}if(typeof w==`object`&&w.type===`mcp-tool-detail`){let{client:e,tool:t}=w,n=e.config.scope,r=e.config.type,i;return i=r===`stdio`?{name:e.name,client:e,scope:n,transport:`stdio`,config:e.config}:r===`sse`?{name:e.name,client:e,scope:n,transport:`sse`,isAuthenticated:void 0,config:e.config}:r===`http`?{name:e.name,client:e,scope:n,transport:`http`,isAuthenticated:void 0,config:e.config}:{name:e.name,client:e,scope:n,transport:`claudeai-proxy`,isAuthenticated:void 0,config:e.config},(0,Q.jsx)(Ln,{tool:t,server:i,onBack:()=>T({type:`mcp-tools`,client:e})})}let je=he.getVisibleItems(L);return(0,Q.jsxs)(u,{flexDirection:`column`,children:[(0,Q.jsx)(u,{marginBottom:1,children:(0,Q.jsx)(y,{query:E,isFocused:v,isTerminalFocused:C,width:te-4,cursorOffset:D})}),L.length===0&&E&&(0,Q.jsx)(u,{marginBottom:1,children:(0,Q.jsxs)(f,{dimColor:!0,children:[`No items match "`,E,`"`]})}),he.scrollPosition.canScrollUp&&(0,Q.jsx)(u,{children:(0,Q.jsxs)(f,{dimColor:!0,children:[` `,a.arrowUp,` more above`]})}),je.map((e,t)=>{let n=he.toActualIndex(t)===fe&&!v,r=t>0?je[t-1]:null,i=!r||r.scope!==e.scope;return(0,Q.jsxs)(zr.Fragment,{children:[i&&(0,Q.jsx)(u,{marginTop:+(t>0),paddingLeft:2,children:(0,Q.jsx)(f,{dimColor:e.scope!==`flagged`,color:e.scope===`flagged`?`warning`:void 0,bold:e.scope===`flagged`,children:(e=>{switch(e){case`flagged`:return`Flagged`;case`project`:return`Project`;case`local`:return`Local`;case`user`:return`User`;case`enterprise`:return`Enterprise`;case`managed`:return`Managed`;case`builtin`:return`Built-in`;case`dynamic`:return`Built-in`;default:return e}})(e.scope)})}),(0,Q.jsx)(jr,{item:e,isSelected:n})]},e.id)}),he.scrollPosition.canScrollDown&&(0,Q.jsx)(u,{children:(0,Q.jsxs)(f,{dimColor:!0,children:[` `,a.arrowDown,` more below`]})}),(0,Q.jsx)(u,{marginTop:1,marginLeft:1,children:(0,Q.jsx)(f,{dimColor:!0,italic:!0,children:(0,Q.jsxs)(p,{children:[(0,Q.jsx)(f,{children:`type to search`}),(0,Q.jsx)(B,{action:`plugin:toggle`,context:`Plugin`,fallback:`Space`,description:`toggle`}),(0,Q.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`details`}),(0,Q.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})}),se.size>0&&(0,Q.jsx)(u,{marginLeft:1,children:(0,Q.jsx)(f,{dimColor:!0,italic:!0,children:`Run /reload-plugins to apply changes`})})]})}var zr,Z,Q,Br=e((()=>{i(),zr=t(g(),1),Z=t(g(),1),I(),C(),Nn(),In(),zn(),Un(),yn(),xn(),R(),qt(),Oe(),hn(),N(),an(),L(),vt(),Yt(),pt(),ht(),At(),rt(),O(),pe(),xe(),ve(),Kt(),ye(),ke(),Ue(),be(),Xt(),Ct(),dt(),Bt(),Ar(),Zn(),nr(),Mr(),mr(),Q=T()}));function Vr(e){if(!e)return{type:`menu`};let t=e.trim().split(/\s+/);switch(t[0]?.toLowerCase()){case`help`:case`--help`:case`-h`:return{type:`help`};case`install`:case`i`:{let e=t[1];if(!e)return{type:`install`};if(e.includes(`@`)){let[t,n]=e.split(`@`);return{type:`install`,plugin:t,marketplace:n}}return e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`file://`)||e.includes(`/`)||e.includes(`\\`)?{type:`install`,marketplace:e}:{type:`install`,plugin:e}}case`manage`:return{type:`manage`};case`uninstall`:return{type:`uninstall`,plugin:t[1]};case`enable`:return{type:`enable`,plugin:t[1]};case`disable`:return{type:`disable`,plugin:t[1]};case`validate`:return{type:`validate`,path:t.slice(1).join(` `).trim()||void 0};case`marketplace`:case`market`:{let e=t[1]?.toLowerCase(),n=t.slice(2).join(` `);switch(e){case`add`:return{type:`marketplace`,action:`add`,target:n};case`remove`:case`rm`:return{type:`marketplace`,action:`remove`,target:n};case`update`:return{type:`marketplace`,action:`update`,target:n};case`list`:return{type:`marketplace`,action:`list`};default:return{type:`marketplace`}}}default:return{type:`menu`}}}var Hr=e((()=>{}));function Ur({onComplete:e,path:t}){return(0,Wr.useEffect)(()=>{async function n(){if(!t){e(`Usage: /plugin validate <path>
|
|
2
|
+
|
|
3
|
+
Validate a plugin or marketplace manifest file or directory.
|
|
4
|
+
|
|
5
|
+
Examples:
|
|
6
|
+
/plugin validate .claude-plugin/plugin.json
|
|
7
|
+
/plugin validate /path/to/plugin-directory
|
|
8
|
+
/plugin validate .
|
|
9
|
+
|
|
10
|
+
When given a directory, automatically validates .claude-plugin/marketplace.json
|
|
11
|
+
or .claude-plugin/plugin.json (prefers marketplace if both exist).
|
|
12
|
+
|
|
13
|
+
Or from the command line:
|
|
14
|
+
claude plugin validate <path>`);return}try{let n=await un(t),r=``;r+=`Validating ${n.fileType} manifest: ${n.filePath}\n\n`,n.errors.length>0&&(r+=`${a.cross} Found ${n.errors.length} ${Rt(n.errors.length,`error`)}:\n\n`,n.errors.forEach(e=>{r+=` ${a.pointer} ${e.path}: ${e.message}\n`}),r+=`
|
|
15
|
+
`),n.warnings.length>0&&(r+=`${a.warning} Found ${n.warnings.length} ${Rt(n.warnings.length,`warning`)}:\n\n`,n.warnings.forEach(e=>{r+=` ${a.pointer} ${e.path}: ${e.message}\n`}),r+=`
|
|
16
|
+
`),n.success?(n.warnings.length>0?r+=`${a.tick} Validation passed with warnings\n`:r+=`${a.tick} Validation passed\n`,process.exitCode=0):(r+=`${a.cross} Validation failed\n`,process.exitCode=1),e(r)}catch(t){process.exitCode=2,jt(t),e(`${a.cross} Unexpected error during validation: ${ut(t)}`)}}n()},[e,t]),(0,Gr.jsx)(u,{flexDirection:`column`,children:(0,Gr.jsx)(f,{children:`Running validation...`})})}var Wr,Gr,Kr=e((()=>{i(),g(),Wr=t(g(),1),C(),ht(),At(),pn(),Bt(),Gr=T()}));function qr({onComplete:e}){return(0,oi.useEffect)(()=>{async function t(){try{let t=await ae(),n=Object.keys(t);n.length===0?e(`No marketplaces configured`):e(`Configured marketplaces:\n${n.map(e=>` • ${e}`).join(`
|
|
17
|
+
`)}`)}catch(t){e(`Error loading marketplaces: ${ut(t)}`)}}t()},[e]),(0,$.jsx)(f,{children:`Loading marketplaces...`})}function Jr(){return process.env.USER_TYPE===`ant`?(0,$.jsxs)(u,{flexDirection:`row`,alignItems:`flex-start`,paddingLeft:1,marginTop:1,borderLeft:!0,borderRight:!1,borderTop:!1,borderBottom:!1,borderColor:`permission`,borderStyle:`single`,children:[(0,$.jsx)(u,{flexShrink:0,children:(0,$.jsxs)(f,{bold:!0,italic:!0,color:`permission`,children:[`i`,` `]})}),(0,$.jsx)(f,{children:`[ANT-ONLY] MCP servers are now managed in /plugins. Use /mcp no-redirect to test old UI`})]}):null}function Yr(e){let t=[];for(let{source:n,scope:r}of[{source:`userSettings`,scope:`user`},{source:`projectSettings`,scope:`project`},{source:`localSettings`,scope:`local`}])bt(n)?.extraKnownMarketplaces?.[e]&&t.push({source:n,scope:r});return{editableSources:t,isInPolicy:!!bt(`policySettings`)?.extraKnownMarketplaces?.[e]}}function Xr(e){let{editableSources:t,isInPolicy:n}=Yr(e);return t.length>0?{kind:`remove-extra-marketplace`,name:e,sources:t}:n?{kind:`managed-only`,name:e}:{kind:`navigate`,tab:`marketplaces`,viewState:{type:`manage-marketplaces`,targetMarketplace:e,action:`remove`}}}function Zr(e){return{kind:`navigate`,tab:`installed`,viewState:{type:`manage-plugins`,targetPlugin:e,action:`uninstall`}}}function Qr(e){return si.has(e.type)}function $r(e){if(`pluginId`in e&&e.pluginId)return e.pluginId;if(`plugin`in e&&e.plugin)return e.plugin;if(e.source.includes(`@`))return e.source.split(`@`)[0]}function ei(e,t,n,r,i,a,o){let s=[];for(let e of a){let t=`pluginId`in e?e.pluginId:`plugin`in e?e.plugin:void 0;s.push({label:t??e.source,message:Or(e),guidance:`Restart to retry loading plugins`,action:{kind:`none`}})}let c=new Set;for(let t of e){c.add(t.name);let e=Xr(t.name),n=Yr(t.name),r=n.isInPolicy?`managed`:n.editableSources[0]?.scope;s.push({label:t.name,message:t.error??`Installation failed`,guidance:e.kind===`managed-only`?`Managed by your organization — contact your admin`:void 0,action:e,scope:r})}for(let e of t){let t=`marketplace`in e?e.marketplace:e.source;if(c.has(t))continue;c.add(t);let n=Xr(t),r=Yr(t),i=r.isInPolicy?`managed`:r.editableSources[0]?.scope;s.push({label:t,message:Or(e),guidance:n.kind===`managed-only`?`Managed by your organization — contact your admin`:kr(e),action:n,scope:i})}for(let e of i)c.has(e.name)||(c.add(e.name),s.push({label:e.name,message:e.error,action:{kind:`remove-installed-marketplace`,name:e.name}}));let l=new Set;for(let e of n){let t=$r(e);if(t&&l.has(t))continue;t&&l.add(t);let n=`marketplace`in e?e.marketplace:void 0,r=t?o.get(e.source)??o.get(t):void 0;s.push({label:t?n?`${t} @ ${n}`:t:e.source,message:Or(e),guidance:kr(e),action:t?Zr(t):{kind:`none`},scope:r})}for(let e of r)s.push({label:e.source,message:Or(e),guidance:kr(e),action:{kind:`none`}});return s}function ti(e,t){for(let{source:n}of t){let t=bt(n);if(!t)continue;let r={};if(t.extraKnownMarketplaces?.[e]&&(r.extraKnownMarketplaces={...t.extraKnownMarketplaces,[e]:void 0}),t.enabledPlugins){let n=`@${e}`,i=!1,a={...t.enabledPlugins};for(let e in a)e.endsWith(n)&&(a[e]=void 0,i=!0);i&&(r.enabledPlugins=a)}Object.keys(r).length>0&&Et(n,r)}}function ni({setViewState:e,setActiveTab:t,markPluginsChanged:n}){let r=me(e=>e.plugins.errors),i=me(e=>e.plugins.installationStatus),o=j(),[s,l]=(0,oi.useState)(0),[d,m]=(0,oi.useState)(null),[h,g]=(0,oi.useState)([]);(0,oi.useEffect)(()=>{(async()=>{try{let{failures:e}=await Qe(await ae());g(e)}catch{}})()},[]);let _=i.marketplaces.filter(e=>e.status===`failed`),v=new Set(_.map(e=>e.name)),y=r.filter(Qr),b=ei(_,r.filter(e=>(e.type===`marketplace-not-found`||e.type===`marketplace-load-failed`||e.type===`marketplace-blocked-by-policy`)&&!v.has(e.marketplace)),r.filter(e=>Qr(e)||e.type===`marketplace-not-found`||e.type===`marketplace-load-failed`||e.type===`marketplace-blocked-by-policy`?!1:$r(e)!==void 0),r.filter(e=>Qr(e)||e.type===`marketplace-not-found`||e.type===`marketplace-load-failed`||e.type===`marketplace-blocked-by-policy`?!1:$r(e)===void 0),h,y,Zt());ee(`confirm:no`,()=>{e({type:`menu`})},{context:`Confirmation`}),c({"select:previous":()=>l(e=>Math.max(0,e-1)),"select:next":()=>l(e=>Math.min(b.length-1,e+1)),"select:accept":()=>{let r=b[s];if(!r)return;let{action:i}=r;switch(i.kind){case`navigate`:t(i.tab),e(i.viewState);break;case`remove-extra-marketplace`:{let e=i.sources.map(e=>e.scope).join(`, `);ti(i.name,i.sources),Le(),o(e=>({...e,plugins:{...e.plugins,errors:e.plugins.errors.filter(e=>!(`marketplace`in e&&e.marketplace===i.name)),installationStatus:{...e.plugins.installationStatus,marketplaces:e.plugins.installationStatus.marketplaces.filter(e=>e.name!==i.name)}}})),m(`${a.tick} Removed "${i.name}" from ${e} settings`),n();break}case`remove-installed-marketplace`:(async()=>{try{await Je(i.name),Le(),g(e=>e.filter(e=>e.name!==i.name)),m(`${a.tick} Removed marketplace "${i.name}"`),n()}catch(e){m(`Failed to remove "${i.name}": ${e instanceof Error?e.message:String(e)}`)}})();break;case`managed-only`:break;case`none`:break}}},{context:`Select`,isActive:b.length>0});let x=Math.min(s,Math.max(0,b.length-1));x!==s&&l(x);let S=b[x]?.action,C=S&&S.kind!==`none`&&S.kind!==`managed-only`;return b.length===0?(0,$.jsxs)(u,{flexDirection:`column`,children:[(0,$.jsx)(u,{marginLeft:1,children:(0,$.jsx)(f,{dimColor:!0,children:`No plugin errors`})}),(0,$.jsx)(u,{marginTop:1,children:(0,$.jsx)(f,{dimColor:!0,italic:!0,children:(0,$.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})})})]}):(0,$.jsxs)(u,{flexDirection:`column`,children:[b.map((e,t)=>{let n=t===x;return(0,$.jsxs)(u,{marginLeft:1,flexDirection:`column`,marginBottom:1,children:[(0,$.jsxs)(f,{children:[(0,$.jsxs)(f,{color:n?`suggestion`:`error`,children:[n?a.pointer:a.cross,` `]}),(0,$.jsx)(f,{bold:n,children:e.label}),e.scope&&(0,$.jsxs)(f,{dimColor:!0,children:[` (`,e.scope,`)`]})]}),(0,$.jsx)(u,{marginLeft:3,children:(0,$.jsx)(f,{color:`error`,children:e.message})}),e.guidance&&(0,$.jsx)(u,{marginLeft:3,children:(0,$.jsx)(f,{dimColor:!0,italic:!0,children:e.guidance})})]},t)}),d&&(0,$.jsx)(u,{marginTop:1,marginLeft:1,children:(0,$.jsx)(f,{color:`claude`,children:d})}),(0,$.jsx)(u,{marginTop:1,children:(0,$.jsx)(f,{dimColor:!0,italic:!0,children:(0,$.jsxs)(p,{children:[(0,$.jsx)(B,{action:`select:previous`,context:`Select`,fallback:`↑`,description:`navigate`}),C&&(0,$.jsx)(B,{action:`select:accept`,context:`Select`,fallback:`Enter`,description:`resolve`}),(0,$.jsx)(B,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}function ri(e){switch(e.type){case`help`:return{type:`help`};case`validate`:return{type:`validate`,path:e.path};case`install`:return e.marketplace?{type:`browse-marketplace`,targetMarketplace:e.marketplace,targetPlugin:e.plugin}:e.plugin?{type:`discover-plugins`,targetPlugin:e.plugin}:{type:`discover-plugins`};case`manage`:return{type:`manage-plugins`};case`uninstall`:return{type:`manage-plugins`,targetPlugin:e.plugin,action:`uninstall`};case`enable`:return{type:`manage-plugins`,targetPlugin:e.plugin,action:`enable`};case`disable`:return{type:`manage-plugins`,targetPlugin:e.plugin,action:`disable`};case`marketplace`:return e.action===`list`?{type:`marketplace-list`}:e.action===`add`?{type:`add-marketplace`,initialValue:e.target}:e.action===`remove`?{type:`manage-marketplaces`,targetMarketplace:e.target,action:`remove`}:e.action===`update`?{type:`manage-marketplaces`,targetMarketplace:e.target,action:`update`}:{type:`marketplace-menu`};default:return{type:`discover-plugins`}}}function ii(e){return e.type===`manage-plugins`?`installed`:e.type===`manage-marketplaces`?`marketplaces`:`discover`}function ai({onComplete:e,args:t,showMcpRedirectMessage:n}){let r=Vr(t),i=ri(r),[a,o]=(0,oi.useState)(i),[s,c]=(0,oi.useState)(ii(i)),[l,d]=(0,oi.useState)(a.type===`add-marketplace`&&a.initialValue||``),[p,m]=(0,oi.useState)(0),[h,g]=(0,oi.useState)(null),[_,v]=(0,oi.useState)(null),[y,x]=(0,oi.useState)(!1),C=j(),w=me(e=>{let t=e.plugins.errors.length;for(let n of e.plugins.installationStatus.marketplaces)n.status===`failed`&&t++;return t}),T=w>0?`Errors (${w})`:`Errors`,E=_n(),ne=r.type===`marketplace`&&r.action===`add`&&r.target!==void 0,D=(0,oi.useCallback)(()=>{C(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})},[C]),O=(0,oi.useCallback)(e=>{let t=e;switch(c(t),g(null),t){case`discover`:o({type:`discover-plugins`});break;case`installed`:o({type:`manage-plugins`});break;case`marketplaces`:o({type:`manage-marketplaces`});break;case`errors`:break}},[]);return(0,oi.useEffect)(()=>{a.type===`menu`&&!_&&e()},[a.type,_,e]),(0,oi.useEffect)(()=>{a.type===`browse-marketplace`&&s!==`discover`&&c(`discover`)},[a.type,s]),ee(`confirm:no`,(0,oi.useCallback)(()=>{c(`marketplaces`),o({type:`manage-marketplaces`}),d(``),g(null)},[]),{context:`Settings`,isActive:a.type===`add-marketplace`}),(0,oi.useEffect)(()=>{_&&e(_)},[_,e]),(0,oi.useEffect)(()=>{a.type===`help`&&e()},[a.type,e]),a.type===`help`?(0,$.jsxs)(u,{flexDirection:`column`,children:[(0,$.jsx)(f,{bold:!0,children:`Plugin Command Usage:`}),(0,$.jsx)(f,{children:` `}),(0,$.jsx)(f,{dimColor:!0,children:`Installation:`}),(0,$.jsx)(f,{children:` /plugin install - Browse and install plugins`}),(0,$.jsx)(f,{children:` /plugin install <marketplace> - Install from specific marketplace`}),(0,$.jsx)(f,{children:` /plugin install <plugin> - Install specific plugin`}),(0,$.jsx)(f,{children:` /plugin install <plugin>@<market> - Install plugin from marketplace`}),(0,$.jsx)(f,{children:` `}),(0,$.jsx)(f,{dimColor:!0,children:`Management:`}),(0,$.jsx)(f,{children:` /plugin manage - Manage installed plugins`}),(0,$.jsx)(f,{children:` /plugin enable <plugin> - Enable a plugin`}),(0,$.jsx)(f,{children:` /plugin disable <plugin> - Disable a plugin`}),(0,$.jsx)(f,{children:` /plugin uninstall <plugin> - Uninstall a plugin`}),(0,$.jsx)(f,{children:` `}),(0,$.jsx)(f,{dimColor:!0,children:`Marketplaces:`}),(0,$.jsx)(f,{children:` /plugin marketplace - Marketplace management menu`}),(0,$.jsx)(f,{children:` /plugin marketplace add - Add a marketplace`}),(0,$.jsx)(f,{children:` /plugin marketplace add <path/url> - Add marketplace directly`}),(0,$.jsx)(f,{children:` /plugin marketplace update - Update marketplaces`}),(0,$.jsx)(f,{children:` /plugin marketplace update <name> - Update specific marketplace`}),(0,$.jsx)(f,{children:` /plugin marketplace remove - Remove a marketplace`}),(0,$.jsx)(f,{children:` /plugin marketplace remove <name> - Remove specific marketplace`}),(0,$.jsx)(f,{children:` /plugin marketplace list - List all marketplaces`}),(0,$.jsx)(f,{children:` `}),(0,$.jsx)(f,{dimColor:!0,children:`Validation:`}),(0,$.jsx)(f,{children:` /plugin validate <path> - Validate a manifest file or directory`}),(0,$.jsx)(f,{children:` `}),(0,$.jsx)(f,{dimColor:!0,children:`Other:`}),(0,$.jsx)(f,{children:` /plugin - Main plugin menu`}),(0,$.jsx)(f,{children:` /plugin help - Show this help`}),(0,$.jsx)(f,{children:` /plugins - Alias for /plugin`})]}):a.type===`validate`?(0,$.jsx)(Ur,{onComplete:e,path:a.path}):a.type===`marketplace-menu`?(o({type:`menu`}),null):a.type===`marketplace-list`?(0,$.jsx)(qr,{onComplete:e}):a.type===`add-marketplace`?(0,$.jsx)(Wn,{inputValue:l,setInputValue:d,cursorOffset:p,setCursorOffset:m,error:h,setError:g,result:_,setResult:v,setViewState:o,onAddComplete:D,cliMode:ne}):(0,$.jsx)(te,{color:`suggestion`,children:(0,$.jsxs)(S,{title:`Plugins`,selectedTab:s,onTabChange:O,color:`suggestion`,disableNavigation:y,banner:n&&s===`installed`?(0,$.jsx)(Jr,{}):void 0,children:[(0,$.jsx)(b,{id:`discover`,title:`Discover`,children:a.type===`browse-marketplace`?(0,$.jsx)(hr,{error:h,setError:g,result:_,setResult:v,setViewState:o,onInstallComplete:D,targetMarketplace:a.targetMarketplace,targetPlugin:a.targetPlugin}):(0,$.jsx)(yr,{error:h,setError:g,result:_,setResult:v,setViewState:o,onInstallComplete:D,onSearchModeChange:x,targetPlugin:a.type===`discover-plugins`?a.targetPlugin:void 0})}),(0,$.jsx)(b,{id:`installed`,title:`Installed`,children:(0,$.jsx)(Rr,{setViewState:o,setResult:v,onManageComplete:D,onSearchModeChange:x,targetPlugin:a.type===`manage-plugins`?a.targetPlugin:void 0,targetMarketplace:a.type===`manage-plugins`?a.targetMarketplace:void 0,action:a.type===`manage-plugins`?a.action:void 0})}),(0,$.jsx)(b,{id:`marketplaces`,title:`Marketplaces`,children:(0,$.jsx)(wr,{setViewState:o,error:h,setError:g,setResult:v,exitState:E,onManageComplete:D,targetMarketplace:a.type===`manage-marketplaces`?a.targetMarketplace:void 0,action:a.type===`manage-marketplaces`?a.action:void 0})}),(0,$.jsx)(b,{id:`errors`,title:T,children:(0,$.jsx)(ni,{setViewState:o,setActiveTab:c,markPluginsChanged:D})})]})})}var oi,$,si,ci=e((()=>{i(),g(),oi=t(g(),1),I(),C(),vn(),qt(),L(),ht(),rt(),z(),pe(),Xt(),Ct(),Kn(),vr(),Cr(),Dr(),Br(),Ar(),Hr(),Kr(),$=T(),si=new Set([`git-auth-failed`,`git-timeout`,`network-error`])}));export{Ln as a,In as c,Un as i,Mn as l,ci as n,zn as o,Bn as r,Pn as s,ai as t,Nn as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gr as n,I as r,P as i,fi as a,ot as o,t as s}from"./src-CDCSSo0U2.js";import{t as c}from"./jsx-runtime-Bb4Xn-E0.js";import{
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gr as n,I as r,P as i,fi as a,ot as o,t as s}from"./src-CDCSSo0U2.js";import{t as c}from"./jsx-runtime-Bb4Xn-E0.js";import{aC as l}from"./loadAgentsDir-D206qwP3.js";import{C as u,T as d,b as f}from"./startupProfiler-xa3NmN7Z.js";function p(e){return e.startsWith(`file-`)?`+`:e.startsWith(`mcp-resource-`)?`◇`:e.startsWith(`agent-`)?`*`:`+`}function m(e){return e.startsWith(`file-`)||e.startsWith(`mcp-resource-`)||e.startsWith(`agent-`)}function h({suggestions:e,selectedSuggestion:t,maxColumnWidth:i,overlay:a}){let{rows:s}=o(),c=a?5:Math.min(6,Math.max(1,s-3));if(e.length===0)return null;let l=i??Math.max(...e.map(e=>n(e.displayText)))+5,u=Math.max(0,Math.min(t-Math.floor(c/2),e.length-c)),d=Math.min(u+c,e.length),f=e.slice(u,d);return(0,_.jsx)(r,{flexDirection:`column`,justifyContent:a?void 0:`flex-end`,children:f.map(n=>(0,_.jsx)(v,{item:n,maxColumnWidth:l,isSelected:n.id===e[t]?.id},n.id))})}var g,_,v,y,b=e((()=>{g=t(a(),1),l(),s(),f(),_=c(),v=(0,g.memo)(function({item:e,maxColumnWidth:t,isSelected:r}){let a=o().columns;if(m(e.id)){let t=p(e.id),o=r?`suggestion`:void 0,s=!r,c=e.id.startsWith(`file-`),l=e.id.startsWith(`mcp-resource-`),f=e.description?3:0,m;if(c){let t=e.description?Math.min(20,n(e.description)):0,r=a-2-4-f-t;m=u(e.displayText,r)}else m=l?d(e.displayText,30):e.displayText;let h=a-2-n(m)-f-4,g;if(e.description){let n=Math.max(0,h),r=d(e.description.replace(/\s+/g,` `),n);g=`${t} ${m} – ${r}`}else g=`${t} ${m}`;return(0,_.jsx)(i,{color:o,dimColor:s,wrap:`truncate`,children:g})}let s=Math.floor(a*.4),c=Math.min(t??n(e.displayText)+5,s),l=e.color||(r?`suggestion`:void 0),f=!r,h=e.displayText;n(h)>c-2&&(h=d(h,c-2));let g=h+` `.repeat(Math.max(0,c-n(h))),v=e.tag?`[${e.tag}] `:``,y=n(v),b=Math.max(0,a-c-y-4),x=e.description?d(e.description.replace(/\s+/g,` `),b):``;return(0,_.jsxs)(i,{wrap:`truncate`,children:[(0,_.jsx)(i,{color:l,dimColor:f,children:g}),v?(0,_.jsx)(i,{color:e.tag===`local`?`ansi:yellow`:void 0,dimColor:e.tag!==`local`,children:v}):null,(0,_.jsx)(i,{color:r?`suggestion`:void 0,dimColor:!r,children:x})]})}),y=(0,g.memo)(h)}));export{y as n,b as r,h as t};
|