@readmagic/workmate 0.0.9 → 0.0.10
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-qFZy3FOD.js → AddWorkspaceDirectory-Vmmm7p1c.js} +1 -1
- package/dist/chunks/App-C2yQjBgY.js +1 -0
- package/dist/chunks/ApproveApiKey-CKbv5C1x.js +1 -0
- package/dist/chunks/{ApproveApiKey-DHAbdwkC.js → ApproveApiKey-MscC-ssL.js} +1 -1
- package/dist/chunks/BackgroundTasksDialog-CL5NWsFL.js +2 -0
- package/dist/chunks/{BypassPermissionsModeDialog-BuRFF1fQ.js → BypassPermissionsModeDialog-CLSACUmo.js} +1 -1
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-CDrArsSX.js → ClaudeMdExternalIncludesDialog-BqNxQOXJ.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-C0-psohX.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-4mOvEer_.js +1 -0
- package/dist/chunks/{DiffDialog-BIcwpgSr.js → DiffDialog-9AYwtupw.js} +3 -3
- package/dist/chunks/Doctor-DmgAwce2.js +1 -0
- package/dist/chunks/Doctor-jEs9chPk.js +3 -0
- package/dist/chunks/ExitFlow-DVKxFdpX.js +2 -0
- package/dist/chunks/{Grove-BmirUB6V.js → Grove-B9-hhkZA.js} +1 -1
- package/dist/chunks/{HybridTransport-BVmSUHf0.js → HybridTransport-MxJ_W_np.js} +3 -3
- package/dist/chunks/{InvalidConfigDialog-WRywkKeS.js → InvalidConfigDialog-o9DF1REI.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-C4n3A72C.js → InvalidSettingsDialog-YyQcHocx.js} +1 -1
- package/dist/chunks/MCPConnectionManager-CUTuaa8T.js +1 -0
- package/dist/chunks/MCPToolListView-CvqB4nCw.js +1 -0
- package/dist/chunks/{McpParsingWarnings-CH4yyMAL.js → McpParsingWarnings-BCpfHaBK.js} +1 -1
- package/dist/chunks/MessageSelector-BLzw172f.js +3 -0
- package/dist/chunks/Messages-4K5sLmNh.js +11 -0
- package/dist/chunks/{Onboarding-BboWs1pp.js → Onboarding-ClwHS5rh.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-BpC9COmh.js → PromptInputFooterSuggestions-BSA9NrZc.js} +1 -1
- package/dist/chunks/PromptInputHelpMenu-Bb4KdIX_.js +1 -0
- package/dist/chunks/QueryEngine-DPHLSsax.js +1 -0
- package/dist/chunks/REPL-Bf46iQCN.js +1 -0
- package/dist/chunks/REPL-DIaAo9M9.js +133 -0
- package/dist/chunks/RemoteSessionManager-CS6mywIn.js +2 -0
- package/dist/chunks/ResumeConversation-Br2KsBoe.js +1 -0
- package/dist/chunks/{SSETransport-1KBBUikF.js → SSETransport-CoxQ8YpH.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-i_YO3QvV.js +1 -0
- package/dist/chunks/Settings-BMXysXIx.js +2 -0
- package/dist/chunks/{TeleportProgress-BmgPAZAi.js → TeleportProgress-Doucj-50.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-sgxNOeM_.js → TeleportRepoMismatchDialog-B5I73j7Y.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-GptvrUdv.js → TeleportResumeWrapper-D6kpr2c6.js} +1 -1
- package/dist/chunks/{ThemePicker-gAMqqD1P.js → ThemePicker-DrC8tlp0.js} +1 -1
- package/dist/chunks/{TrustDialog-CWt-4Evl.js → TrustDialog-Fk4m_Sy4.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-De3kzHtz.js → ValidationErrorsList-D_OUa4RT.js} +1 -1
- package/dist/chunks/WelcomeV2-DvfQHnZY.js +1 -0
- package/dist/chunks/add-dir-CZ6Clvq8.js +1 -0
- package/dist/chunks/{agentDisplay-5gnCQwUY.js → agentDisplay-B755vMZE.js} +1 -1
- package/dist/chunks/{agents-Bz1MLp4A.js → agents-CIvP8l0s.js} +1 -1
- package/dist/chunks/agents-DHnNg4h6.js +103 -0
- package/dist/chunks/allErrors-CU89tF-z.js +1 -0
- package/dist/chunks/api-BSeE6MwB.js +1 -0
- package/dist/chunks/{api-DzccRM_z.js → api-nSHc_GIQ.js} +1 -1
- package/dist/chunks/{auth-Cjnyy10u.js → auth-5QB6tsfB.js} +1 -1
- package/dist/chunks/auth-BIGJth5U.js +1 -0
- package/dist/chunks/auth-CDQMhIZP.js +1 -0
- package/dist/chunks/{autoMode-CQ5nqP9c.js → autoMode-BnUiK9Cu.js} +5 -5
- package/dist/chunks/{autonomy-CPUCe-YU.js → autonomy-C1aSgWPQ.js} +1 -1
- package/dist/chunks/autonomy-Src6sKCp.js +15 -0
- package/dist/chunks/{autonomyPanel-Ccr9ilei.js → autonomyPanel-DnHpuiy4.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-B-cw0UcS.js +17 -0
- package/dist/chunks/backgroundHousekeeping-BS_8z3_x.js +1 -0
- package/dist/chunks/{banner-BJZNMppT.js → banner-D0P7wXdw.js} +1 -1
- package/dist/chunks/bg-50rllUNh.js +1 -0
- package/dist/chunks/{bg-w3Vlsm3Y.js → bg-DAPORXF3.js} +2 -2
- package/dist/chunks/{branch-CG0AKS1J.js → branch-DFWa4Oxo.js} +2 -2
- package/dist/chunks/{break-cache-DXV0brco.js → break-cache-Chj9i9MP.js} +2 -2
- package/dist/chunks/{bridgeConfig-vORehbGG.js → bridgeConfig-Bb6URf4Q.js} +1 -1
- package/dist/chunks/bridgeConfig-BeqChxJC.js +1 -0
- package/dist/chunks/bridgeMessaging-C3huGcR3.js +1 -0
- package/dist/chunks/{bridgePointer-D4W9GpWw.js → bridgePointer-DLYyvRKb.js} +1 -1
- package/dist/chunks/bridgeStatusUtil-DFMftajD.js +1 -0
- package/dist/chunks/{btw-DDUC_t0w.js → btw-DSK9R2C8.js} +1 -1
- package/dist/chunks/caches-BTQAW9zc.js +1 -0
- package/dist/chunks/caches-BVtSCnV1.js +1 -0
- package/dist/chunks/{capacityWake-L7b1mMft.js → capacityWake-amzeeBz0.js} +1 -1
- package/dist/chunks/{ccrClient-CG6HTv_n.js → ccrClient-Bu7Tf1Z5.js} +1 -1
- package/dist/chunks/{claudeDesktop-CAmnheYx.js → claudeDesktop-CsJfF1b-.js} +1 -1
- package/dist/chunks/{clear-DdWexxbM.js → clear-ClFDpWVJ.js} +1 -1
- package/dist/chunks/{cliLaunch-BWWOgBFh.js → cliLaunch-BWcoyZDP.js} +1 -1
- package/dist/chunks/client-BWQ4-rN7.js +1 -0
- package/dist/chunks/{client-CoXtVRzi.js → client-DFlE4fYh.js} +1 -1
- package/dist/chunks/client-c-3-PW1F.js +1 -0
- package/dist/chunks/commands-Bi7k3Wg-.js +1 -0
- package/dist/chunks/compact-J-h0Yf4b.js +2 -0
- package/dist/chunks/{config-CVvUNkj2.js → config-CVHMRMwd.js} +1 -1
- package/dist/chunks/config-Do1870_d.js +3 -0
- package/dist/chunks/config-yyFe87vW.js +1 -0
- package/dist/chunks/context-Tb1Ca2Q-.js +1 -0
- package/dist/chunks/{context-noninteractive-c7jGVWHQ.js → context-noninteractive-D5iQhasu.js} +2 -2
- package/dist/chunks/context-noninteractive-soPYKAc9.js +1 -0
- package/dist/chunks/conversation-CSEtUxOY.js +1 -0
- package/dist/chunks/conversation-Dk1WDQuN.js +1 -0
- package/dist/chunks/{createSSHSession-DP7B8yvb.js → createSSHSession-CJtzNQdZ.js} +1 -1
- package/dist/chunks/{createSession-CPo6GBSb.js → createSession-DkT1GL8y.js} +1 -1
- package/dist/chunks/createSession-eE8mswkv.js +1 -0
- package/dist/chunks/crossProjectResume-04n3Ppy9.js +40 -0
- package/dist/chunks/cwd-Cfdf7z7s.js +1 -0
- package/dist/chunks/cwd-ClLru_7T.js +1 -0
- package/dist/chunks/datadog-DjeJThpV.js +1 -0
- package/dist/chunks/{debug-BdqxZ7rV.js → debug-RAynG_nM.js} +1 -1
- package/dist/chunks/{debugUtils-CezNYZ-4.js → debugUtils-DX0KAXNK.js} +1 -1
- package/dist/chunks/{detached-CkPpYMJj.js → detached-X_yjYR7x.js} +1 -1
- package/dist/chunks/{detectRepository-DvxoaPlk.js → detectRepository-DgpNd87p.js} +1 -1
- package/dist/chunks/detectRepository-ctF9KDbb.js +1 -0
- package/dist/chunks/{diff-DHzz9WAp.js → diff-jEJJe58I.js} +1 -1
- package/dist/chunks/{directoryCompletion-D5AvL7TF.js → directoryCompletion-BbXR2bfy.js} +1 -1
- package/dist/chunks/doctor-B-Wag4C1.js +1 -0
- package/dist/chunks/earlyInput-BEjRkAtH.js +1 -0
- package/dist/chunks/{earlyInput-BTC_Wucv.js → earlyInput-IghoCjG5.js} +1 -1
- package/dist/chunks/entry-oIqjxIjQ.js +14 -0
- package/dist/chunks/esm-Cf4nSRjF.js +1 -0
- package/dist/chunks/{execFileNoThrow-5SylUnAI.js → execFileNoThrow-Dwu6psHW.js} +1 -1
- package/dist/chunks/{execSyncWrapper-DKuxVTaf.js → execSyncWrapper-BTZJjCuv.js} +1 -1
- package/dist/chunks/exit-BtW7LfRX.js +1 -0
- package/dist/chunks/{extraUsage-Dt5mw35U.js → extraUsage-Mi66JwFZ.js} +1 -1
- package/dist/chunks/extractMemories-CUrdiNcr.js +1 -0
- package/dist/chunks/{fast-ClYQcEv5.js → fast-BU4iUZ8E.js} +1 -1
- package/dist/chunks/fast-C60p6AqJ.js +1 -0
- package/dist/chunks/featureCheck-D6FjD-nt.js +1 -0
- package/dist/chunks/featureCheck-JOur3pHb.js +1 -0
- package/dist/chunks/{fileSuggestions-fNxREjpe.js → fileSuggestions-BMfQIDdW.js} +1 -1
- package/dist/chunks/firstPartyEventLogger-B3cXgR67.js +5 -0
- package/dist/chunks/firstPartyEventLogger-BfCYN7lt.js +1 -0
- package/dist/chunks/flushGate-DgSDVGKZ.js +1 -0
- package/dist/chunks/gemini-BwvSxGgn.js +1 -0
- package/dist/chunks/{generateSessionName-nZj_VvKZ.js → generateSessionName-DlrdedOk.js} +1 -1
- package/dist/chunks/{genericProcessUtils-BmDSLcMf.js → genericProcessUtils-CmsUPyRz.js} +1 -1
- package/dist/chunks/{git-B9uvt96d.js → git-2c7WlGDL.js} +1 -1
- package/dist/chunks/git-XtKbtJMc.js +1 -0
- package/dist/chunks/{githubRepoPathMapping-Cqx3pSfc.js → githubRepoPathMapping-DbWG4hFQ.js} +1 -1
- package/dist/chunks/goal-ZmSRBx4q.js +3 -0
- package/dist/chunks/{grok-Dk3LyzMa.js → grok-BXMvezWb.js} +1 -1
- package/dist/chunks/{grove-BE4fQ6tG.js → grove-CeOjTaY6.js} +1 -1
- package/dist/chunks/help-5DNZO6_H.js +1 -0
- package/dist/chunks/{hooks-BrKy5XWQ.js → hooks-C637tFtd.js} +2 -2
- package/dist/chunks/hooks-DWg07LmS.js +1 -0
- package/dist/chunks/initReplBridge-D1h10vQ9.js +1 -0
- package/dist/chunks/{install-CVGZ55wV.js → install-C-6ItpH0.js} +1 -1
- package/dist/chunks/{instrumentation-BmWotlxR.js → instrumentation-DaiPDUst.js} +4 -4
- package/dist/chunks/intl-D2kgJmX7.js +1 -0
- package/dist/chunks/{job-DEXxW_Zo.js → job-BeYzQUiR.js} +1 -1
- package/dist/chunks/{jwtUtils-C9sdGhvT.js → jwtUtils-CUPXdX3W.js} +1 -1
- package/dist/chunks/keybindings-DgIPdBy9.js +2 -0
- package/dist/chunks/{launchLocalMemory-CLSSVFoj.js → launchLocalMemory-CE4J98xO.js} +2 -2
- package/dist/chunks/{launchOnboarding-BkJfKviO.js → launchOnboarding-BfTdC6vp.js} +1 -1
- package/dist/chunks/{loadAgentsDir-CKSb56Gp.js → loadAgentsDir-C7lOqvfh.js} +2194 -2329
- package/dist/chunks/loadAgentsDir-zikjxLvn.js +1 -0
- package/dist/chunks/loadPluginHooks-Cp8MSwAc.js +1 -0
- package/dist/chunks/{localSearch-CPOnyi8I.js → localSearch-BKrznW5x.js} +1 -1
- package/dist/chunks/localSearch-ZFyFy5FN.js +1 -0
- package/dist/chunks/log-CezCRpAN.js +1 -0
- package/dist/chunks/{logoV2Utils-we1sfJvf.js → logoV2Utils-BkQfyQ1-.js} +1 -1
- package/dist/chunks/{magicDocs-DmKlTQvK.js → magicDocs-BpVcON9o.js} +2 -2
- package/dist/chunks/{main-BIiwW4mM.js → main-9r5gLzUW.js} +55 -55
- package/dist/chunks/{main-ClXu1ilx.js → main-CvOv59-7.js} +4 -4
- package/dist/chunks/managedEnv-B61yLpwp.js +1 -0
- package/dist/chunks/{managedEnv-Cl7YbYzf.js → managedEnv-DhWRJ5DK.js} +1 -1
- package/dist/chunks/{mappers-xQC-Z4-h.js → mappers-bOab8ipV.js} +1 -1
- package/dist/chunks/mcp-BckPBjaM.js +6 -0
- package/dist/chunks/mcp-CS1DA3JL.js +1 -0
- package/dist/chunks/mcp-VcGPYCkW.js +2 -0
- package/dist/chunks/{memoize-FJv2HV1u.js → memoize-DsqYrbeR.js} +1 -1
- package/dist/chunks/memory-C5ohwh-T.js +1 -0
- package/dist/chunks/{mode-lYTs0XHs.js → mode-DlKnUM8l.js} +2 -2
- package/dist/chunks/model-BGu1AGq0.js +1 -0
- package/dist/chunks/model-BsZ4sP_H.js +1 -0
- package/dist/chunks/model-D19IIcll.js +1 -0
- package/dist/chunks/{modelOptions-efCGKnXT.js → modelOptions-CxP067Qv.js} +1 -1
- package/dist/chunks/nativeInstaller-QB8cEJ18.js +1 -0
- package/dist/chunks/omit-DDUIPHnl.js +1 -0
- package/dist/chunks/onChangeAppState-RBl6H7ho.js +1 -0
- package/dist/chunks/{openai-DJLYqiRl.js → openai-B9C2XN5Q.js} +3 -3
- package/dist/chunks/{panel-q0_iT9cg.js → panel-KW-wmEvU.js} +1 -1
- package/dist/chunks/{parser-BdCj2GrE.js → parser-BwPXQomy.js} +1 -1
- package/dist/chunks/parser-xSBaQRLH.js +1 -0
- package/dist/chunks/partition-D-UhsUCx.js +1 -0
- package/dist/chunks/permissions-BoLXYN1j.js +3 -0
- package/dist/chunks/{pidLock-BR5M6RQw.js → pidLock-nJHbufJN.js} +2 -2
- package/dist/chunks/plan-CyU2zrCK.js +1 -0
- package/dist/chunks/{platform-D6IMiyqT.js → platform-BMPbglug.js} +1 -1
- package/dist/chunks/plugin-C6-GQke5.js +17 -0
- package/dist/chunks/pluginAutoupdate-SlRFJlTT.js +1 -0
- package/dist/chunks/pluginBlocklist-n6Imlh3y.js +1 -0
- package/dist/chunks/pluginCliCommands-Bd96zSOQ.js +1 -0
- package/dist/chunks/{pluginFlagging-CxuRF2Vc.js → pluginFlagging-DZaYzecY.js} +1 -1
- package/dist/chunks/pluginOperations-D90IRawu.js +2 -0
- package/dist/chunks/pluginStartupCheck-Bxkxpm4k.js +1 -0
- package/dist/chunks/{pluginStartupCheck-B6leNWq9.js → pluginStartupCheck-CB2q2dLv.js} +1 -1
- package/dist/chunks/plugins-B9eSjLSA.js +4 -0
- package/dist/chunks/poorMode-BAnubpn1.js +1 -0
- package/dist/chunks/{poorMode-BxsyllUK.js → poorMode-DEwQOAJt.js} +1 -1
- package/dist/chunks/print-eCRv_Li-.js +26 -0
- package/dist/chunks/processBashCommand-B5F2Cl7K.js +1 -0
- package/dist/chunks/processSlashCommand-BC_D3cH5.js +5 -0
- package/dist/chunks/prompt-C1JPqinc.js +1 -0
- package/dist/chunks/prompt-DZhBz_Vu.js +1 -0
- package/dist/chunks/{prompt-CybUvG8G.js → prompt-M2lu8_Oa.js} +34 -34
- package/dist/chunks/{promptEditor-0Ug93P2I.js → promptEditor-DhcZY-iu.js} +2 -2
- package/dist/chunks/{protocolHandler-ClfbHTjI.js → protocolHandler-CkFaJKKo.js} +1 -1
- package/dist/chunks/{proxy-Blq4W6Ox.js → proxy-CuMaO_YV.js} +1 -1
- package/dist/chunks/reconciler-B4GDm_iC.js +1 -0
- package/dist/chunks/refresh-DBVizOzg.js +1 -0
- package/dist/chunks/{registerProtocol-3_ozAuDK.js → registerProtocol-CsNYRZKr.js} +1 -1
- package/dist/chunks/{reload-plugins-Dn1ibOiI.js → reload-plugins-B7JAE3b4.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-Dpg6Se9C.js → remoteBridgeCore-CFLJhsB6.js} +1 -1
- package/dist/chunks/{remoteManagedSettings-CCrq-qL-.js → remoteManagedSettings-xh_MViZH.js} +1 -1
- package/dist/chunks/rename-BCp2Vtqu.js +1 -0
- package/dist/chunks/{renderOptions-CLcco6fc.js → renderOptions-Q5oCLFIC.js} +1 -1
- package/dist/chunks/resume-DVCSzKvv.js +2 -0
- package/dist/chunks/{ripgrep-DkL2S7-I.js → ripgrep-DvOOsDMv.js} +1 -1
- package/dist/chunks/ripgrep-e-iewvTf.js +1 -0
- package/dist/chunks/{runtimeObserver-DonWCJOx.js → runtimeObserver-CS_3BDNo.js} +4 -4
- package/dist/chunks/{runtimeObserver-B0xfyLiA.js → runtimeObserver-DYUva6g-.js} +1 -1
- package/dist/chunks/sandbox-adapter-BFZFHplu.js +1 -0
- package/dist/chunks/{sandbox-toggle-CSdnHWp-.js → sandbox-toggle--zNSKce_.js} +1 -1
- package/dist/chunks/searchExtraTools-ui5y2VSE.js +1 -0
- package/dist/chunks/{session-BbQlh2S5.js → session-CO3gEqQP.js} +2 -2
- package/dist/chunks/sessionFileAccessHooks-CZvCqQJ6.js +1 -0
- package/dist/chunks/sessionObserver-Ba7um95p.js +1 -0
- package/dist/chunks/{sessionObserver-XV6N0XER.js → sessionObserver-YkRHC-Aa.js} +1 -1
- package/dist/chunks/sessionState-Bifmu95-.js +11 -0
- package/dist/chunks/sessionStorage-CedwLLQs.js +1 -0
- package/dist/chunks/{sessionTitle-E1FvsKM9.js → sessionTitle-COBSgSXS.js} +2 -2
- package/dist/chunks/{sessionTracing-ClGQ08jM.js → sessionTracing-BrNx1k2V.js} +2 -2
- package/dist/chunks/settings-DkDH7WQT.js +1 -0
- package/dist/chunks/{settings-Xbq6AaD-.js → settings-DnptdP79.js} +5 -5
- package/dist/chunks/settingsSync-PmU7SmkU.js +1 -0
- package/dist/chunks/setup-BEsBuzsk.js +3 -0
- package/dist/chunks/{shadowedRuleDetection-B9iSx6mB.js → shadowedRuleDetection-DEaw-X5j.js} +1 -1
- package/dist/chunks/{shellQuote-Bth6IZgX.js → shellQuote-BYeOv3Ip.js} +1 -1
- package/dist/chunks/{sideQuestion-D2dPToW8.js → sideQuestion-D0OKljee.js} +3 -3
- package/dist/chunks/sinks-BJHgxz6Y.js +1 -0
- package/dist/chunks/sinks-D5-yhcgU.js +2 -0
- package/dist/chunks/skillChangeDetector-Dd0WPdkO.js +1 -0
- package/dist/chunks/{skillGapStore-DylpOKJ6.js → skillGapStore-N_kmvXML.js} +2 -2
- package/dist/chunks/{skillLifecycle-GK-8eyyn.js → skillLifecycle-C4F5RXuh.js} +2 -2
- package/dist/chunks/{skillSearchPanel-mpaC62y4.js → skillSearchPanel-CftorvAM.js} +3 -3
- package/dist/chunks/{skills-t6krW8GZ.js → skills-C4CTRN9o.js} +1 -1
- package/dist/chunks/startupProfiler-D4FBdEQr.js +1 -0
- package/dist/chunks/{startupProfiler-jeId9f2i.js → startupProfiler-L_UWZ03w.js} +2 -2
- package/dist/chunks/state-BemZdQIl.js +1 -0
- package/dist/chunks/state-D_lk6z-C.js +1 -0
- package/dist/chunks/{stats-BJBhl-Lc.js → stats-IzV0_vEc.js} +1 -1
- package/dist/chunks/{status-BtsnKNVY.js → status-CeVP_uDT.js} +1 -1
- package/dist/chunks/status-Dzuw3hBv.js +2 -0
- package/dist/chunks/statusNoticeHelpers-Bb9gxdSt.js +1 -0
- package/dist/chunks/{stringUtils-CbS6OkmE.js → stringUtils-C84IJ91d.js} +1 -1
- package/dist/chunks/switcher-4KzBvuKH.js +1 -0
- package/dist/chunks/{switcher-77h2J5HC.js → switcher-CCs9xl1z.js} +1 -1
- package/dist/chunks/{syncCache-By_-buUC.js → syncCache-CBRiRU5x.js} +1 -1
- package/dist/chunks/{tasks-BNrdmF9p.js → tasks-DZDhgx0w.js} +1 -1
- package/dist/chunks/teleport-Bw0jSxe9.js +1 -0
- package/dist/chunks/{templateJobs-Dkv4I9c1.js → templateJobs-CrNPEKkh.js} +1 -1
- package/dist/chunks/{terminalSetup-DQopnSPR.js → terminalSetup-CBqcwQll.js} +1 -1
- package/dist/chunks/{terminalSetup-DTGm1Eo2.js → terminalSetup-D-N8YPiQ.js} +1 -1
- package/dist/chunks/{theme-BjpBVRf5.js → theme-Dazsirbw.js} +1 -1
- package/dist/chunks/{tmux-CMRiI6CD.js → tmux-DewYVEBm.js} +1 -1
- package/dist/chunks/{toolEventObserver-D-sNBvOe.js → toolEventObserver-lnHJ9fLQ.js} +1 -1
- package/dist/chunks/toolPool-CkXFlqsn.js +1 -0
- package/dist/chunks/{trustedDevice-j1u2TG5U.js → trustedDevice-CFf5yaG-.js} +1 -1
- package/dist/chunks/trustedDevice-CuwSv8dG.js +1 -0
- package/dist/chunks/{types-DWRxAH0E.js → types-3j8PS-Du.js} +1 -1
- package/dist/chunks/{udsClient-Cm3HqYUu.js → udsClient-e9dIkwVA.js} +1 -1
- package/dist/chunks/{updateCCB-BlUAU2Vp.js → updateCCB-BPe9_FW6.js} +1 -1
- package/dist/chunks/{upstreamproxy-DDVMwoRi.js → upstreamproxy-DF00RzGG.js} +1 -1
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-D2FvHieH.js → useExitOnCtrlCDWithKeybindings-ChqBs9Lr.js} +1 -1
- package/dist/chunks/useMainLoopModel-2-eujv0n.js +1 -0
- package/dist/chunks/useManagePlugins-CYBIkaB1.js +1 -0
- package/dist/chunks/{useMergedTools-B-Z9XQ6U.js → useMergedTools-Dk5cPqLc.js} +1 -1
- package/dist/chunks/{useSearchInput-C6d6nt9S.js → useSearchInput-C7Y1I9P9.js} +1 -1
- package/dist/chunks/useSettingsErrors-DAEO7AyB.js +1 -0
- package/dist/chunks/{userAgent-Ng_TTjWr.js → userAgent-CIq27vUR.js} +1 -1
- package/dist/chunks/util-VO98TdOz.js +1 -0
- package/dist/chunks/validatePlugin-Kk6pxnO2.js +1 -0
- package/dist/chunks/{vim-3mUqsEJm.js → vim-EYQn94Kx.js} +1 -1
- package/dist/chunks/{which-DznMOwny.js → which-DzFN5TNM.js} +1 -1
- package/dist/chunks/{windowsPaths-BVztIhXM.js → windowsPaths-BU3yQWTB.js} +1 -1
- package/dist/chunks/windowsPaths-DgZ3YY4a.js +1 -0
- package/dist/chunks/{workSecret-DtiFreRl.js → workSecret-DUqdPy44.js} +1 -1
- package/dist/chunks/workerRegistry-C07BcZIw.js +6 -0
- package/dist/chunks/worktree-dFUkhVE_.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/App-DW4elk6E.js +0 -1
- package/dist/chunks/ApproveApiKey-D05WywHU.js +0 -1
- package/dist/chunks/BackgroundTasksDialog-QgFwoaaC.js +0 -2
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DpecRCAt.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-D1MYL1dJ.js +0 -1
- package/dist/chunks/Doctor-D160J8Ad.js +0 -3
- package/dist/chunks/Doctor-VhJi2cmL.js +0 -1
- package/dist/chunks/ExitFlow-CoWHhKHJ.js +0 -2
- package/dist/chunks/MCPConnectionManager-DPFe4hPh.js +0 -1
- package/dist/chunks/MCPToolListView-BPmE0C2o.js +0 -1
- package/dist/chunks/MessageSelector-kOn2GaU-.js +0 -3
- package/dist/chunks/Messages-4EnHFeh1.js +0 -11
- package/dist/chunks/PromptInputHelpMenu-BvcAzbSi.js +0 -1
- package/dist/chunks/QueryEngine-J6ElcO16.js +0 -1
- package/dist/chunks/REPL-DBjbAJsm.js +0 -133
- package/dist/chunks/REPL-oBemMXvp.js +0 -1
- package/dist/chunks/RemoteSessionManager-CoIyFKKa.js +0 -2
- package/dist/chunks/ResumeConversation-wBG8OD9P.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-BugrzImr.js +0 -1
- package/dist/chunks/Settings-DptKuJE7.js +0 -2
- package/dist/chunks/WelcomeV2-BWF-cJOu.js +0 -1
- package/dist/chunks/add-dir-DBVT1cEK.js +0 -1
- package/dist/chunks/agents-CnwTOlqO.js +0 -103
- package/dist/chunks/allErrors-DYw_q14e.js +0 -1
- package/dist/chunks/api-DXDXTFGa.js +0 -1
- package/dist/chunks/attributionTrailer-oKKrF3z8.js +0 -1
- package/dist/chunks/auth-CnLb6RWc.js +0 -1
- package/dist/chunks/auth-D-SGHS0K.js +0 -1
- package/dist/chunks/autonomy-dSJl0hN1.js +0 -15
- package/dist/chunks/backgroundHousekeeping--cs5crp7.js +0 -17
- package/dist/chunks/backgroundHousekeeping-CcbHitKC.js +0 -1
- package/dist/chunks/bg-DWloqGwk.js +0 -1
- package/dist/chunks/bridgeConfig-Dmc1ZDev.js +0 -1
- package/dist/chunks/bridgeMessaging-DlczTV9X.js +0 -1
- package/dist/chunks/caches-1IFb6_M_.js +0 -1
- package/dist/chunks/caches-CB8MHqy2.js +0 -1
- package/dist/chunks/client-Crrwkw7g.js +0 -1
- package/dist/chunks/client-D8hKghba.js +0 -1
- package/dist/chunks/color-Cuq0c6xy.js +0 -1
- package/dist/chunks/commands-D3sESsTp.js +0 -1
- package/dist/chunks/compact-DIpwuBDq.js +0 -2
- package/dist/chunks/config-D4G8_MqJ.js +0 -3
- package/dist/chunks/config-q9D4hFiK.js +0 -1
- package/dist/chunks/context-BWcfhhDj.js +0 -1
- package/dist/chunks/context-noninteractive-Bwt9A3XD.js +0 -1
- package/dist/chunks/conversation-Bjo_8kia.js +0 -1
- package/dist/chunks/conversation-DrHZIQX2.js +0 -1
- package/dist/chunks/createSession-DnykRoia.js +0 -1
- package/dist/chunks/crossProjectResume-D2A-qjgP.js +0 -40
- package/dist/chunks/cwd--q1ONL7P.js +0 -1
- package/dist/chunks/cwd-L4wygFqJ.js +0 -1
- package/dist/chunks/daemon-D2vFIVOz.js +0 -2
- package/dist/chunks/datadog-DrmHyl3_.js +0 -1
- package/dist/chunks/detectRepository-DA1Q_Skc.js +0 -1
- package/dist/chunks/doctor-PWqB46xd.js +0 -1
- package/dist/chunks/earlyInput-xcoTbKQn.js +0 -1
- package/dist/chunks/entry-4JtoJONR.js +0 -14
- package/dist/chunks/esm-DcIr7tVd.js +0 -1
- package/dist/chunks/exit-OW9g7b9A.js +0 -1
- package/dist/chunks/extractMemories-1VlmCGwa.js +0 -1
- package/dist/chunks/fast-CrvLdpy3.js +0 -1
- package/dist/chunks/featureCheck-CrJeuheQ.js +0 -1
- package/dist/chunks/featureCheck-HslM03dr.js +0 -1
- package/dist/chunks/firstPartyEventLogger-BBXEQUf0.js +0 -1
- package/dist/chunks/firstPartyEventLogger-DhEPWcit.js +0 -5
- package/dist/chunks/flushGate-ch-Tvwjj.js +0 -1
- package/dist/chunks/gemini-fZ0VPU2A.js +0 -1
- package/dist/chunks/generateRecap-BIBVlB__.js +0 -1
- package/dist/chunks/git-BfS5Hk4S.js +0 -1
- package/dist/chunks/goal-IasZVqKh.js +0 -3
- package/dist/chunks/help-D2-v9Ug9.js +0 -1
- package/dist/chunks/hooks-DGd02IKF.js +0 -1
- package/dist/chunks/initReplBridge-RhCAlmHE.js +0 -1
- package/dist/chunks/intl-cKc-V6Mq.js +0 -1
- package/dist/chunks/keybindings-BRdSOSUD.js +0 -2
- package/dist/chunks/language-C0cIpKE2.js +0 -1
- package/dist/chunks/language-CxThoWRC.js +0 -1
- package/dist/chunks/loadAgentsDir-8UprzS4w.js +0 -1
- package/dist/chunks/loadPluginHooks-LbaURHVH.js +0 -1
- package/dist/chunks/localSearch-DNjbr4S9.js +0 -1
- package/dist/chunks/log-CTFl4qpD.js +0 -1
- package/dist/chunks/managedEnv-CpiiQx_v.js +0 -1
- package/dist/chunks/mcp-B_m1XBDt.js +0 -6
- package/dist/chunks/mcp-BiyfH9Sd.js +0 -1
- package/dist/chunks/mcp-BjlaPUWX.js +0 -2
- package/dist/chunks/memory-LN8f_p2b.js +0 -1
- package/dist/chunks/model-C2e73CJD.js +0 -1
- package/dist/chunks/model-CvmS-Esk.js +0 -1
- package/dist/chunks/model-DJ8mFfuR.js +0 -1
- package/dist/chunks/nativeInstaller-DQIFwdat.js +0 -1
- package/dist/chunks/omit-CLPZGevl.js +0 -1
- package/dist/chunks/onChangeAppState-DhBO34OK.js +0 -1
- package/dist/chunks/panelCall-sum-3zvi.js +0 -1
- package/dist/chunks/parser-BcdhBGx0.js +0 -1
- package/dist/chunks/partition-CpfoVrg1.js +0 -1
- package/dist/chunks/permissions-DTb9wkAP.js +0 -3
- package/dist/chunks/pipeTransport-B3TIkTAp.js +0 -1
- package/dist/chunks/plan-BeoIjNPv.js +0 -1
- package/dist/chunks/plugin-D_dHjTud.js +0 -17
- package/dist/chunks/pluginAutoupdate-BHKlOOXI.js +0 -1
- package/dist/chunks/pluginBlocklist-D93Hd1GF.js +0 -1
- package/dist/chunks/pluginCliCommands-vv0wNt4O.js +0 -1
- package/dist/chunks/pluginOperations-BTq4AjYB.js +0 -2
- package/dist/chunks/pluginStartupCheck-DBOCHUHQ.js +0 -1
- package/dist/chunks/plugins-pmipe7kE.js +0 -4
- package/dist/chunks/poorMode-iV1NwC5L.js +0 -1
- package/dist/chunks/print-CAUvczBM.js +0 -23
- package/dist/chunks/processBashCommand-CdeQg_c6.js +0 -1
- package/dist/chunks/processSlashCommand-CbkshIC6.js +0 -5
- package/dist/chunks/prompt-RBn4JdEg.js +0 -1
- package/dist/chunks/prompt-Rb8zXlDo.js +0 -1
- package/dist/chunks/reconciler-Drq3HSkj.js +0 -4
- package/dist/chunks/refresh-D8TLHO_T.js +0 -1
- package/dist/chunks/rename-CKsSc7Z3.js +0 -1
- package/dist/chunks/replBridgeHandle-DNC797_T.js +0 -1
- package/dist/chunks/resume-B1a5gLVR.js +0 -2
- package/dist/chunks/ripgrep-BisRODQ2.js +0 -1
- package/dist/chunks/sandbox-adapter-BnBOSkKJ.js +0 -1
- package/dist/chunks/searchExtraTools-DbgfnQkH.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-Xfr1NiXG.js +0 -1
- package/dist/chunks/sessionMemory-7UOFdp29.js +0 -1
- package/dist/chunks/sessionMemory-fAzgAS7Q.js +0 -1
- package/dist/chunks/sessionMemoryUtils-DVjFw5Bd.js +0 -1
- package/dist/chunks/sessionObserver-Cl26OdaW.js +0 -1
- package/dist/chunks/sessionState-BvECKycx.js +0 -11
- package/dist/chunks/sessionStorage-DSj9yZkl.js +0 -1
- package/dist/chunks/settings-B-R9ZJNY.js +0 -1
- package/dist/chunks/settingsSync-NCN0a4sc.js +0 -1
- package/dist/chunks/setup-uZ0dSekt.js +0 -3
- package/dist/chunks/sinks-C7q46rvE.js +0 -2
- package/dist/chunks/sinks-D3bXeHlQ.js +0 -1
- package/dist/chunks/skillChangeDetector-C1EJ7rUL.js +0 -1
- package/dist/chunks/startupProfiler-BaiXZ9tr.js +0 -1
- package/dist/chunks/state-B4HwLt8i.js +0 -1
- package/dist/chunks/state-Bs5xweDL.js +0 -1
- package/dist/chunks/status-nZQEar7T.js +0 -2
- package/dist/chunks/statusNoticeHelpers-DMqRGFOh.js +0 -1
- package/dist/chunks/switcher-B2CYzCC_.js +0 -1
- package/dist/chunks/teleport-mdnhIZBj.js +0 -1
- package/dist/chunks/toolPool-Di30gn_Y.js +0 -1
- package/dist/chunks/trustedDevice-CupLMpO8.js +0 -1
- package/dist/chunks/useMainLoopModel-ylPQNj7Z.js +0 -1
- package/dist/chunks/useManagePlugins-BbWJNLe8.js +0 -1
- package/dist/chunks/useSettingsErrors-DKh4rkGi.js +0 -1
- package/dist/chunks/util-D-X8i5Z2.js +0 -1
- package/dist/chunks/validatePlugin-DSw08u76.js +0 -1
- package/dist/chunks/windowsPaths-1mgenSWa.js +0 -1
- package/dist/chunks/workerRegistry-DdOYjLm3.js +0 -6
- package/dist/chunks/worktree-BX1ULzrw.js +0 -1
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{$o as n,Dn as r,E_ as i,En as a,S_ as o,Tn as s,U as c,W as l,Wt as u,Yo as d,cw as ee,es as te,lw as ne,mh as re,ol as ie,ph as ae,qo as oe,sl as se,vn as ce,w_ as f,wn as le}from"./loadAgentsDir-CKSb56Gp.js";import{A as p,C as m,M as h,O as g,b as _,f as ue,g as de,j as v,l as y,m as b,p as x,u as fe,w as S,y as C}from"./external-CEp-aPkt.js";import{i as w,n as T,r as E,t as D}from"./lazySchema-B4D4qJVE.js";import{Kt as pe,tt as O}from"./state-Bs5xweDL.js";import{C as me,D as he,F as ge,S as k,a as A,l as j,w as _e,z as ve}from"./debug-BdqxZ7rV.js";import{Cn as ye,On as be,vt as xe,yt as Se}from"./settings-Xbq6AaD-.js";import{n as Ce,o as we}from"./process-gEbdy6uY.js";import{O as Te,k as Ee,m as De,n as Oe}from"./git-B9uvt96d.js";import{o as ke,s as Ae}from"./log-CTFl4qpD.js";import{ar as je,ir as Me}from"./model-C2e73CJD.js";import{n as Ne,o as Pe}from"./sessionState-BvECKycx.js";import{t as Fe}from"./controlMessageCompat-IFu4Gc1y.js";import{isAbsolute as Ie,resolve as Le}from"path";import{randomUUID as M}from"crypto";E(),D();var N=T(()=>S({inputTokens:m(),outputTokens:m(),cacheReadInputTokens:m(),cacheCreationInputTokens:m(),webSearchRequests:m(),costUSD:m(),contextWindow:m(),maxOutputTokens:m()})),Re=T(()=>_(`json_schema`));T(()=>S({type:Re()}));var ze=T(()=>S({type:_(`json_schema`),schema:g(p(),h())}));T(()=>ze());var Be=T(()=>y([`user`,`project`,`org`,`temporary`,`oauth`]));T(()=>y([`local`,`user`,`project`]).describe(`Config scope for settings.`)),T(()=>_(`context-1m-2025-08-07`));var Ve=T(()=>S({type:_(`adaptive`)}).describe(`Claude decides when and how much to think (Opus 4.6+).`)),He=T(()=>S({type:_(`enabled`),budgetTokens:m().optional()}).describe(`Fixed thinking token budget (older models)`)),Ue=T(()=>S({type:_(`disabled`)}).describe(`No extended thinking`));T(()=>v([Ve(),He(),Ue()]).describe(`Controls Claude's thinking/reasoning behavior. When set, takes precedence over the deprecated maxThinkingTokens.`));var We=T(()=>S({type:_(`stdio`).optional(),command:p(),args:x(p()).optional(),env:g(p(),p()).optional()})),Ge=T(()=>S({type:_(`sse`),url:p(),headers:g(p(),p()).optional()})),Ke=T(()=>S({type:_(`http`),url:p(),headers:g(p(),p()).optional()})),qe=T(()=>S({type:_(`sdk`),name:p()})),P=T(()=>v([We(),Ge(),Ke(),qe()])),Je=T(()=>S({type:_(`claudeai-proxy`),url:p(),id:p()})),Ye=T(()=>v([P(),Je()])),F=T(()=>S({name:p().describe(`Server name as configured`),status:y([`connected`,`failed`,`needs-auth`,`pending`,`disabled`]).describe(`Current connection status`),serverInfo:S({name:p(),version:p()}).optional().describe(`Server information (available when connected)`),error:p().optional().describe(`Error message (available when status is 'failed')`),config:Ye().optional().describe(`Server configuration (includes URL for HTTP/SSE servers)`),scope:p().optional().describe(`Configuration scope (e.g., project, user, local, claudeai, managed)`),tools:x(S({name:p(),description:p().optional(),annotations:S({readOnly:b().optional(),destructive:b().optional(),openWorld:b().optional()}).optional()})).optional().describe(`Tools provided by this server (available when connected)`),capabilities:S({experimental:g(p(),h()).optional()}).optional().describe(`@internal Server capabilities (available when connected). experimental['claude/channel'] is only present if the server's plugin is on the approved channels allowlist — use its presence to decide whether to show an Enable-channel prompt.`)}).describe(`Status information for an MCP server connection.`));T(()=>S({added:x(p()).describe(`Names of servers that were added`),removed:x(p()).describe(`Names of servers that were removed`),errors:g(p(),p()).describe(`Map of server names to error messages for servers that failed to connect`)}).describe(`Result of a setMcpServers operation.`));var I=T(()=>y([`userSettings`,`projectSettings`,`localSettings`,`session`,`cliArg`])),L=T(()=>y([`allow`,`deny`,`ask`])),R=T(()=>S({toolName:p(),ruleContent:p().optional()})),z=T(()=>de(`type`,[S({type:_(`addRules`),rules:x(R()),behavior:L(),destination:I()}),S({type:_(`replaceRules`),rules:x(R()),behavior:L(),destination:I()}),S({type:_(`removeRules`),rules:x(R()),behavior:L(),destination:I()}),S({type:_(`setMode`),mode:C(()=>V()),destination:I()}),S({type:_(`addDirectories`),directories:x(p()),destination:I()}),S({type:_(`removeDirectories`),directories:x(p()),destination:I()})])),B=T(()=>y([`user_temporary`,`user_permanent`,`user_reject`]).describe(`Classification of this permission decision for telemetry. SDK hosts that prompt users (desktop apps, IDEs) should set this to reflect what actually happened: user_temporary for allow-once, user_permanent for always-allow (both the click and later cache hits), user_reject for deny. If unset, the CLI infers conservatively (temporary for allow, reject for deny). The vocabulary matches tool_decision OTel events (monitoring-usage docs).`));T(()=>v([S({behavior:_(`allow`),updatedInput:g(p(),h()).optional(),updatedPermissions:x(z()).optional(),toolUseID:p().optional(),decisionClassification:B().optional()}),S({behavior:_(`deny`),message:p(),interrupt:b().optional(),toolUseID:p().optional(),decisionClassification:B().optional()})]));var V=T(()=>y([`default`,`acceptEdits`,`bypassPermissions`,`plan`,`dontAsk`,`auto`]).describe(`Permission mode for controlling how tool executions are handled. 'default' - Standard behavior, prompts for dangerous operations. 'acceptEdits' - Auto-accept file edit operations. 'bypassPermissions' - Bypass all permission checks (requires allowDangerouslySkipPermissions). 'plan' - Planning mode, no actual tool execution. 'dontAsk' - Don't prompt for permissions, deny if not pre-approved. 'auto' - Automatic mode (transcript classifier).`)),Xe=`PreToolUse.PostToolUse.PostToolUseFailure.Notification.UserPromptSubmit.SessionStart.SessionEnd.Stop.StopFailure.SubagentStart.SubagentStop.PreCompact.PostCompact.PermissionRequest.PermissionDenied.Setup.TeammateIdle.TaskCreated.TaskCompleted.Elicitation.ElicitationResult.ConfigChange.WorktreeCreate.WorktreeRemove.InstructionsLoaded.CwdChanged.FileChanged`.split(`.`),Ze=T(()=>y(Xe)),H=T(()=>S({session_id:p(),transcript_path:p(),cwd:p(),permission_mode:p().optional(),agent_id:p().optional().describe(`Subagent identifier. Present only when the hook fires from within a subagent (e.g., a tool called by an AgentTool worker). Absent for the main thread, even in --agent sessions. Use this field (not agent_type) to distinguish subagent calls from main-thread calls.`),agent_type:p().optional().describe(`Agent type name (e.g., "general-purpose", "code-reviewer"). Present when the hook fires from within a subagent (alongside agent_id), or on the main thread of a session started with --agent (without agent_id).`)})),Qe=T(()=>H().and(S({hook_event_name:_(`PreToolUse`),tool_name:p(),tool_input:h(),tool_use_id:p()}))),$e=T(()=>H().and(S({hook_event_name:_(`PermissionRequest`),tool_name:p(),tool_input:h(),permission_suggestions:x(z()).optional()}))),et=T(()=>H().and(S({hook_event_name:_(`PostToolUse`),tool_name:p(),tool_input:h(),tool_response:h(),tool_use_id:p()}))),tt=T(()=>H().and(S({hook_event_name:_(`PostToolUseFailure`),tool_name:p(),tool_input:h(),tool_use_id:p(),error:p(),is_interrupt:b().optional()}))),nt=T(()=>H().and(S({hook_event_name:_(`PermissionDenied`),tool_name:p(),tool_input:h(),tool_use_id:p(),reason:p()}))),rt=T(()=>H().and(S({hook_event_name:_(`Notification`),message:p(),title:p().optional(),notification_type:p()}))),it=T(()=>H().and(S({hook_event_name:_(`UserPromptSubmit`),prompt:p()}))),at=T(()=>H().and(S({hook_event_name:_(`SessionStart`),source:y([`startup`,`resume`,`clear`,`compact`]),agent_type:p().optional(),model:p().optional()}))),ot=T(()=>H().and(S({hook_event_name:_(`Setup`),trigger:y([`init`,`maintenance`])}))),st=T(()=>H().and(S({hook_event_name:_(`Stop`),stop_hook_active:b(),last_assistant_message:p().optional().describe(`Text content of the last assistant message before stopping. Avoids the need to read and parse the transcript file.`)}))),ct=T(()=>H().and(S({hook_event_name:_(`StopFailure`),error:q(),error_details:p().optional(),last_assistant_message:p().optional()}))),lt=T(()=>H().and(S({hook_event_name:_(`SubagentStart`),agent_id:p(),agent_type:p()}))),ut=T(()=>H().and(S({hook_event_name:_(`SubagentStop`),stop_hook_active:b(),agent_id:p(),agent_transcript_path:p(),agent_type:p(),last_assistant_message:p().optional().describe(`Text content of the last assistant message before stopping. Avoids the need to read and parse the transcript file.`)}))),dt=T(()=>H().and(S({hook_event_name:_(`PreCompact`),trigger:y([`manual`,`auto`]),custom_instructions:p().nullable()}))),ft=T(()=>H().and(S({hook_event_name:_(`PostCompact`),trigger:y([`manual`,`auto`]),compact_summary:p().describe(`The conversation summary produced by compaction`)}))),pt=T(()=>H().and(S({hook_event_name:_(`TeammateIdle`),teammate_name:p(),team_name:p()}))),mt=T(()=>H().and(S({hook_event_name:_(`TaskCreated`),task_id:p(),task_subject:p(),task_description:p().optional(),teammate_name:p().optional(),team_name:p().optional()}))),ht=T(()=>H().and(S({hook_event_name:_(`TaskCompleted`),task_id:p(),task_subject:p(),task_description:p().optional(),teammate_name:p().optional(),team_name:p().optional()}))),gt=T(()=>H().and(S({hook_event_name:_(`Elicitation`),mcp_server_name:p(),message:p(),mode:y([`form`,`url`]).optional(),url:p().optional(),elicitation_id:p().optional(),requested_schema:g(p(),h()).optional()})).describe(`Hook input for the Elicitation event. Fired when an MCP server requests user input. Hooks can auto-respond (accept/decline) instead of showing the dialog.`)),_t=T(()=>H().and(S({hook_event_name:_(`ElicitationResult`),mcp_server_name:p(),elicitation_id:p().optional(),mode:y([`form`,`url`]).optional(),action:y([`accept`,`decline`,`cancel`]),content:g(p(),h()).optional()})).describe(`Hook input for the ElicitationResult event. Fired after the user responds to an MCP elicitation. Hooks can observe or override the response before it is sent to the server.`)),vt=[`user_settings`,`project_settings`,`local_settings`,`policy_settings`,`skills`],yt=T(()=>H().and(S({hook_event_name:_(`ConfigChange`),source:y(vt),file_path:p().optional()}))),bt=[`session_start`,`nested_traversal`,`path_glob_match`,`include`,`compact`],xt=[`User`,`Project`,`Local`,`Managed`],St=T(()=>H().and(S({hook_event_name:_(`InstructionsLoaded`),file_path:p(),memory_type:y(xt),load_reason:y(bt),globs:x(p()).optional(),trigger_file_path:p().optional(),parent_file_path:p().optional()}))),Ct=T(()=>H().and(S({hook_event_name:_(`WorktreeCreate`),name:p()}))),wt=T(()=>H().and(S({hook_event_name:_(`WorktreeRemove`),worktree_path:p()}))),Tt=T(()=>H().and(S({hook_event_name:_(`CwdChanged`),old_cwd:p(),new_cwd:p()}))),Et=T(()=>H().and(S({hook_event_name:_(`FileChanged`),file_path:p(),event:y([`change`,`add`,`unlink`])}))),Dt=[`clear`,`resume`,`logout`,`prompt_input_exit`,`other`,`bypass_permissions_disabled`],Ot=T(()=>y(Dt)),kt=T(()=>H().and(S({hook_event_name:_(`SessionEnd`),reason:Ot()}))),At=T(()=>v([Qe(),et(),tt(),nt(),rt(),it(),at(),kt(),st(),ct(),lt(),ut(),dt(),ft(),$e(),ot(),pt(),mt(),ht(),gt(),_t(),yt(),St(),Ct(),wt(),Tt(),Et()])),jt=T(()=>S({async:_(!0),asyncTimeout:m().optional()})),Mt=T(()=>S({hookEventName:_(`PreToolUse`),permissionDecision:L().optional(),permissionDecisionReason:p().optional(),updatedInput:g(p(),h()).optional(),additionalContext:p().optional()})),Nt=T(()=>S({hookEventName:_(`UserPromptSubmit`),additionalContext:p().optional()})),Pt=T(()=>S({hookEventName:_(`SessionStart`),additionalContext:p().optional(),initialUserMessage:p().optional(),watchPaths:x(p()).optional()})),Ft=T(()=>S({hookEventName:_(`Setup`),additionalContext:p().optional()})),It=T(()=>S({hookEventName:_(`SubagentStart`),additionalContext:p().optional()})),Lt=T(()=>S({hookEventName:_(`PostToolUse`),additionalContext:p().optional(),updatedMCPToolOutput:h().optional()})),Rt=T(()=>S({hookEventName:_(`PostToolUseFailure`),additionalContext:p().optional()})),zt=T(()=>S({hookEventName:_(`PermissionDenied`),retry:b().optional()})),Bt=T(()=>S({hookEventName:_(`Notification`),additionalContext:p().optional()})),Vt=T(()=>S({hookEventName:_(`PermissionRequest`),decision:v([S({behavior:_(`allow`),updatedInput:g(p(),h()).optional(),updatedPermissions:x(z()).optional()}),S({behavior:_(`deny`),message:p().optional(),interrupt:b().optional()})])})),Ht=T(()=>S({hookEventName:_(`CwdChanged`),watchPaths:x(p()).optional()})),Ut=T(()=>S({hookEventName:_(`FileChanged`),watchPaths:x(p()).optional()})),Wt=T(()=>S({continue:b().optional(),suppressOutput:b().optional(),stopReason:p().optional(),decision:y([`approve`,`block`]).optional(),systemMessage:p().optional(),reason:p().optional(),hookSpecificOutput:v([Mt(),Nt(),Pt(),Ft(),It(),Lt(),Rt(),zt(),Bt(),Vt(),Gt(),Kt(),Ht(),Ut(),qt()]).optional()})),Gt=T(()=>S({hookEventName:_(`Elicitation`),action:y([`accept`,`decline`,`cancel`]).optional(),content:g(p(),h()).optional()}).describe(`Hook-specific output for the Elicitation event. Return this to programmatically accept or decline an MCP elicitation request.`)),Kt=T(()=>S({hookEventName:_(`ElicitationResult`),action:y([`accept`,`decline`,`cancel`]).optional(),content:g(p(),h()).optional()}).describe(`Hook-specific output for the ElicitationResult event. Return this to override the action or content before the response is sent to the MCP server.`)),qt=T(()=>S({hookEventName:_(`WorktreeCreate`),worktreePath:p()}).describe(`Hook-specific output for the WorktreeCreate event. Provides the absolute path to the created worktree directory. Command hooks print the path on stdout instead.`));T(()=>v([jt(),Wt()]));var Jt=T(()=>S({key:p().describe(`Unique key for this option, returned in the response`),label:p().describe(`Display text for this option`),description:p().optional().describe(`Optional description shown below the label`)}));T(()=>S({prompt:p().describe(`Request ID. Presence of this key marks the line as a prompt request.`),message:p().describe(`The prompt message to display to the user`),options:x(Jt()).describe(`Available options for the user to choose from`)})),T(()=>S({prompt_response:p().describe(`The request ID from the corresponding prompt request`),selected:p().describe(`The key of the selected option`)}));var U=T(()=>S({name:p().describe(`Skill name (without the leading slash)`),description:p().describe(`Description of what the skill does`),argumentHint:p().describe(`Hint for skill arguments (e.g., "<file>")`)}).describe(`Information about an available skill (invoked via /command syntax).`)),W=T(()=>S({name:p().describe(`Agent type identifier (e.g., "Explore")`),description:p().describe(`Description of when to use this agent`),model:p().optional().describe(`Model alias this agent uses. If omitted, inherits the parent's model`)}).describe(`Information about an available subagent that can be invoked via the Task tool.`)),Yt=T(()=>S({value:p().describe(`Model identifier to use in API calls`),displayName:p().describe(`Human-readable display name`),description:p().describe(`Description of the model's capabilities`),supportsAdaptiveThinking:b().optional().describe(`Whether this model supports adaptive thinking (Claude decides when and how much to think)`),supportsFastMode:b().optional().describe(`Whether this model supports fast mode`),supportsAutoMode:b().optional().describe(`Whether this model supports auto mode`)}).describe(`Information about an available model.`)),Xt=T(()=>S({email:p().optional(),organization:p().optional(),subscriptionType:p().optional(),tokenSource:p().optional(),apiKeySource:p().optional(),apiProvider:y([`firstParty`,`bedrock`,`vertex`,`foundry`]).optional().describe(`Active API backend. Anthropic OAuth login only applies when "firstParty"; for 3P providers the other fields are absent and auth is external (AWS creds, gcloud ADC, etc.).`)}).describe(`Information about the logged in user's account.`)),Zt=T(()=>v([p(),g(p(),P())])),Qt=T(()=>S({description:p().describe(`Natural language description of when to use this agent`),tools:x(p()).optional().describe(`Array of allowed tool names. If omitted, inherits all tools from parent`),disallowedTools:x(p()).optional().describe(`Array of tool names to explicitly disallow for this agent`),prompt:p().describe(`The agent's system prompt`),model:p().optional().describe(`Model alias (e.g. 'sonnet', 'opus', 'haiku') or full model ID (e.g. 'claude-opus-4-5'). If omitted or 'inherit', uses the main model`),mcpServers:x(Zt()).optional(),criticalSystemReminder_EXPERIMENTAL:p().optional().describe(`Experimental: Critical reminder added to system prompt`),skills:x(p()).optional().describe(`Array of skill names to preload into the agent context`),initialPrompt:p().optional().describe(`Auto-submitted as the first user turn when this agent is the main thread agent. Slash commands are processed. Prepended to any user-provided prompt.`),maxTurns:m().int().positive().optional().describe(`Maximum number of agentic turns (API round-trips) before stopping`),background:b().optional().describe(`Run this agent as a background task (non-blocking, fire-and-forget) when invoked`),memory:y([`user`,`project`,`local`]).optional().describe(`Scope for auto-loading agent memory files. 'user' - ~/.claude/agent-memory/<agentType>/, 'project' - .claude/agent-memory/<agentType>/, 'local' - .claude/agent-memory-local/<agentType>/`),permissionMode:V().optional().describe(`Permission mode controlling how tool executions are handled`)}).describe(`Definition for a custom subagent that can be invoked via the Agent tool.`));T(()=>y([`user`,`project`,`local`]).describe(`Source for loading filesystem-based settings. 'user' - Global user settings (~/.claude/settings.json). 'project' - Project settings (.claude/settings.json). 'local' - Local settings (.claude/settings.local.json).`)),T(()=>S({type:_(`local`).describe(`Plugin type. Currently only 'local' is supported`),path:p().describe(`Absolute or relative path to the plugin directory`)}).describe(`Configuration for loading a plugin.`)),T(()=>S({canRewind:b(),error:p().optional(),filesChanged:x(p()).optional(),insertions:m().optional(),deletions:m().optional()}).describe(`Result of a rewindFiles operation.`));var $t=T(()=>h()),en=T(()=>h()),tn=T(()=>h()),G=T(()=>p()),K=T(()=>h()),q=T(()=>y([`authentication_failed`,`billing_error`,`rate_limit`,`invalid_request`,`server_error`,`unknown`,`max_output_tokens`])),nn=T(()=>v([_(`compacting`),fe()])),J=T(()=>S({type:_(`user`),message:$t(),parent_tool_use_id:p().nullable(),isSynthetic:b().optional(),tool_use_result:h().optional(),priority:y([`now`,`next`,`later`]).optional(),timestamp:p().optional().describe(`ISO timestamp when the message was created on the originating process. Older emitters omit it; consumers should fall back to receive time.`)})),Y=T(()=>J().extend({uuid:G().optional(),session_id:p().optional()})),rn=T(()=>J().extend({uuid:G(),session_id:p(),isReplay:_(!0)})),an=T(()=>S({status:y([`allowed`,`allowed_warning`,`rejected`]),resetsAt:m().optional(),rateLimitType:y([`five_hour`,`seven_day`,`seven_day_opus`,`seven_day_sonnet`,`overage`]).optional(),utilization:m().optional(),overageStatus:y([`allowed`,`allowed_warning`,`rejected`]).optional(),overageResetsAt:m().optional(),overageDisabledReason:y([`overage_not_provisioned`,`org_level_disabled`,`org_level_disabled_until`,`out_of_credits`,`seat_tier_level_disabled`,`member_level_disabled`,`seat_tier_zero_credit_limit`,`group_zero_credit_limit`,`member_zero_credit_limit`,`org_service_level_disabled`,`org_service_zero_credit_limit`,`no_limits_configured`,`unknown`]).optional(),isUsingOverage:b().optional(),surpassedThreshold:m().optional()}).describe(`Rate limit information for claude.ai subscription users.`)),on=T(()=>S({type:_(`assistant`),message:en(),parent_tool_use_id:p().nullable(),error:q().optional(),uuid:G(),session_id:p()})),sn=T(()=>S({type:_(`rate_limit_event`),rate_limit_info:an(),uuid:G(),session_id:p()}).describe(`Rate limit event emitted when rate limit info changes.`)),cn=T(()=>S({type:_(`streamlined_text`),text:p().describe(`Text content preserved from the assistant message`),session_id:p(),uuid:G()}).describe(`@internal Streamlined text message - replaces SDKAssistantMessage in streamlined output. Text content preserved, thinking and tool_use blocks removed.`)),ln=T(()=>S({type:_(`streamlined_tool_use_summary`),tool_summary:p().describe(`Summary of tool calls (e.g., "Read 2 files, wrote 1 file")`),session_id:p(),uuid:G()}).describe(`@internal Streamlined tool use summary - replaces tool_use blocks in streamlined output with a cumulative summary string.`)),un=T(()=>S({tool_name:p(),tool_use_id:p(),tool_input:g(p(),h())})),dn=T(()=>S({type:_(`result`),subtype:_(`success`),duration_ms:m(),duration_api_ms:m(),is_error:b(),num_turns:m(),result:p(),stop_reason:p().nullable(),total_cost_usd:m(),usage:K(),modelUsage:g(p(),N()),permission_denials:x(un()),structured_output:h().optional(),fast_mode_state:X().optional(),uuid:G(),session_id:p()})),fn=T(()=>S({type:_(`result`),subtype:y([`error_during_execution`,`error_max_turns`,`error_max_budget_usd`,`error_max_structured_output_retries`]),duration_ms:m(),duration_api_ms:m(),is_error:b(),num_turns:m(),stop_reason:p().nullable(),total_cost_usd:m(),usage:K(),modelUsage:g(p(),N()),permission_denials:x(un()),errors:x(p()),fast_mode_state:X().optional(),uuid:G(),session_id:p()})),pn=T(()=>v([dn(),fn()])),mn=T(()=>S({type:_(`system`),subtype:_(`init`),agents:x(p()).optional(),apiKeySource:Be(),betas:x(p()).optional(),claude_code_version:p(),cwd:p(),tools:x(p()),mcp_servers:x(S({name:p(),status:p()})),model:p(),permissionMode:V(),slash_commands:x(p()),output_style:p(),skills:x(p()),plugins:x(S({name:p(),path:p(),source:p().optional().describe(`@internal Plugin source identifier in "name\\@marketplace" format. Sentinels: "name\\@inline" for --plugin-dir, "name\\@builtin" for built-in plugins.`)})),fast_mode_state:X().optional(),uuid:G(),session_id:p()})),hn=T(()=>S({type:_(`stream_event`),event:tn(),parent_tool_use_id:p().nullable(),uuid:G(),session_id:p()})),gn=T(()=>S({type:_(`system`),subtype:_(`compact_boundary`),compact_metadata:S({trigger:y([`manual`,`auto`]),pre_tokens:m(),preserved_segment:S({head_uuid:G(),anchor_uuid:G(),tail_uuid:G()}).optional().describe(`Relink info for messagesToKeep. Loaders splice the preserved segment at anchor_uuid (summary for suffix-preserving, boundary for prefix-preserving partial compact) so resume includes preserved content. Unset when compaction summarizes everything (no messagesToKeep).`)}),uuid:G(),session_id:p()})),_n=T(()=>S({type:_(`system`),subtype:_(`status`),status:nn(),permissionMode:V().optional(),uuid:G(),session_id:p()})),vn=T(()=>S({type:_(`system`),subtype:_(`post_turn_summary`),summarizes_uuid:p(),status_category:y([`blocked`,`waiting`,`completed`,`review_ready`,`failed`]),status_detail:p(),is_noteworthy:b(),title:p(),description:p(),recent_action:p(),needs_action:p(),artifact_urls:x(p()),uuid:G(),session_id:p()}).describe(`@internal Background post-turn summary emitted after each assistant turn. summarizes_uuid points to the assistant message this summarizes.`)),yn=T(()=>S({type:_(`system`),subtype:_(`api_retry`),attempt:m(),max_retries:m(),retry_delay_ms:m(),error_status:m().nullable(),error:q(),uuid:G(),session_id:p()}).describe(`Emitted when an API request fails with a retryable error and will be retried after a delay. error_status is null for connection errors (e.g. timeouts) that had no HTTP response.`)),bn=T(()=>S({type:_(`system`),subtype:_(`local_command_output`),content:p(),uuid:G(),session_id:p()}).describe(`Output from a local slash command (e.g. /voice, /cost). Displayed as assistant-style text in the transcript.`)),xn=T(()=>S({type:_(`system`),subtype:_(`hook_started`),hook_id:p(),hook_name:p(),hook_event:p(),uuid:G(),session_id:p()})),Sn=T(()=>S({type:_(`system`),subtype:_(`hook_progress`),hook_id:p(),hook_name:p(),hook_event:p(),stdout:p(),stderr:p(),output:p(),uuid:G(),session_id:p()})),Cn=T(()=>S({type:_(`system`),subtype:_(`hook_response`),hook_id:p(),hook_name:p(),hook_event:p(),output:p(),stdout:p(),stderr:p(),exit_code:m().optional(),outcome:y([`success`,`error`,`cancelled`]),uuid:G(),session_id:p()})),wn=T(()=>S({type:_(`tool_progress`),tool_use_id:p(),tool_name:p(),parent_tool_use_id:p().nullable(),elapsed_time_seconds:m(),task_id:p().optional(),uuid:G(),session_id:p()})),Tn=T(()=>S({type:_(`auth_status`),isAuthenticating:b(),output:x(p()),error:p().optional(),uuid:G(),session_id:p()})),En=T(()=>S({type:_(`system`),subtype:_(`files_persisted`),files:x(S({filename:p(),file_id:p()})),failed:x(S({filename:p(),error:p()})),processed_at:p(),uuid:G(),session_id:p()})),Dn=T(()=>S({type:_(`system`),subtype:_(`task_notification`),task_id:p(),tool_use_id:p().optional(),status:y([`completed`,`failed`,`stopped`]),output_file:p(),summary:p(),usage:S({total_tokens:m(),tool_uses:m(),duration_ms:m()}).optional(),uuid:G(),session_id:p()})),On=T(()=>S({type:_(`system`),subtype:_(`task_started`),task_id:p(),tool_use_id:p().optional(),description:p(),task_type:p().optional(),workflow_name:p().optional().describe(`meta.name from the workflow script (e.g. 'spec'). Only set when task_type is 'local_workflow'.`),prompt:p().optional(),uuid:G(),session_id:p()})),kn=T(()=>S({type:_(`system`),subtype:_(`session_state_changed`),state:y([`idle`,`running`,`requires_action`]),uuid:G(),session_id:p()}).describe(`Mirrors notifySessionStateChanged. 'idle' fires after heldBackResult flushes and the bg-agent do-while exits — authoritative turn-over signal.`)),An=T(()=>S({type:_(`system`),subtype:_(`task_progress`),task_id:p(),tool_use_id:p().optional(),description:p(),usage:S({total_tokens:m(),tool_uses:m(),duration_ms:m()}),last_tool_name:p().optional(),summary:p().optional(),uuid:G(),session_id:p()})),jn=T(()=>S({type:_(`tool_use_summary`),summary:p(),preceding_tool_use_ids:x(p()),uuid:G(),session_id:p()})),Mn=T(()=>S({type:_(`system`),subtype:_(`elicitation_complete`),mcp_server_name:p(),elicitation_id:p(),uuid:G(),session_id:p()}).describe(`Emitted when an MCP server confirms that a URL-mode elicitation is complete.`)),Nn=T(()=>S({type:_(`prompt_suggestion`),suggestion:p(),uuid:G(),session_id:p()}).describe(`Predicted next user prompt, emitted after each turn when promptSuggestions is enabled.`));T(()=>S({sessionId:p().describe(`Unique session identifier (UUID).`),summary:p().describe(`Display title for the session: custom title, auto-generated summary, or first prompt.`),lastModified:m().describe(`Last modified time in milliseconds since epoch.`),fileSize:m().optional().describe(`File size in bytes. Only populated for local JSONL storage.`),customTitle:p().optional().describe(`User-set session title via /rename.`),firstPrompt:p().optional().describe(`First meaningful user prompt in the session.`),gitBranch:p().optional().describe(`Git branch at the end of the session.`),cwd:p().optional().describe(`Working directory for the session.`),tag:p().optional().describe(`User-set session tag.`),createdAt:m().optional().describe(`Creation time in milliseconds since epoch, extracted from the first entry's timestamp.`)}).describe(`Session metadata returned by listSessions and getSessionInfo.`));var Pn=T(()=>v([on(),Y(),rn(),pn(),mn(),hn(),gn(),_n(),yn(),bn(),xn(),Sn(),Cn(),wn(),Tn(),Dn(),On(),An(),kn(),En(),jn(),sn(),Mn(),Nn()])),X=T(()=>y([`off`,`cooldown`,`on`]).describe(`Fast mode state: off, in cooldown after rate limit, or actively enabled.`));E(),D();var Fn=T(()=>h()),In=T(()=>S({matcher:p().optional(),hookCallbackIds:x(p()),timeout:m().optional()}).describe(`Configuration for matching and routing hook callbacks.`)),Ln=T(()=>S({subtype:_(`initialize`),hooks:g(Ze(),x(In())).optional(),sdkMcpServers:x(p()).optional(),jsonSchema:g(p(),h()).optional(),systemPrompt:p().optional(),appendSystemPrompt:p().optional(),agents:g(p(),Qt()).optional(),promptSuggestions:b().optional(),agentProgressSummaries:b().optional()}).describe(`Initializes the SDK session with hooks, MCP servers, and agent configuration.`));T(()=>S({commands:x(U()),agents:x(W()),output_style:p(),available_output_styles:x(p()),models:x(Yt()),account:Xt(),pid:m().optional().describe(`@internal CLI process PID for tmux socket isolation`),fast_mode_state:X().optional()}).describe(`Response from session initialization with available commands, models, and account info.`));var Rn=T(()=>S({subtype:_(`interrupt`)}).describe(`Interrupts the currently running conversation turn.`)),zn=T(()=>S({subtype:_(`can_use_tool`),tool_name:p(),input:g(p(),h()),permission_suggestions:x(z()).optional(),blocked_path:p().optional(),decision_reason:p().optional(),title:p().optional(),display_name:p().optional(),tool_use_id:p(),agent_id:p().optional(),description:p().optional()}).describe(`Requests permission to use a tool with the given input.`)),Bn=T(()=>S({subtype:_(`set_permission_mode`),mode:V()}).describe(`Sets the permission mode for tool execution handling.`)),Vn=T(()=>S({subtype:_(`set_model`),model:p().optional()}).describe(`Sets the model to use for subsequent conversation turns.`)),Hn=T(()=>S({subtype:_(`set_max_thinking_tokens`),max_thinking_tokens:m().nullable()}).describe(`Sets the maximum number of thinking tokens for extended thinking.`)),Un=T(()=>S({subtype:_(`mcp_status`)}).describe(`Requests the current status of all MCP server connections.`));T(()=>S({mcpServers:x(F())}).describe(`Response containing the current status of all MCP server connections.`));var Wn=T(()=>S({subtype:_(`get_context_usage`)}).describe(`Requests a breakdown of current context window usage by category.`)),Gn=T(()=>S({name:p(),tokens:m(),color:p(),isDeferred:b().optional()})),Kn=T(()=>S({color:p(),isFilled:b(),categoryName:p(),tokens:m(),percentage:m(),squareFullness:m()}));T(()=>S({categories:x(Gn()),totalTokens:m(),maxTokens:m(),rawMaxTokens:m(),percentage:m(),gridRows:x(x(Kn())),model:p(),memoryFiles:x(S({path:p(),type:p(),tokens:m()})),mcpTools:x(S({name:p(),serverName:p(),tokens:m(),isLoaded:b().optional()})),deferredBuiltinTools:x(S({name:p(),tokens:m(),isLoaded:b()})).optional(),systemTools:x(S({name:p(),tokens:m()})).optional(),systemPromptSections:x(S({name:p(),tokens:m()})).optional(),agents:x(S({agentType:p(),source:p(),tokens:m()})),slashCommands:S({totalCommands:m(),includedCommands:m(),tokens:m()}).optional(),skills:S({totalSkills:m(),includedSkills:m(),tokens:m(),skillFrontmatter:x(S({name:p(),source:p(),tokens:m()}))}).optional(),autoCompactThreshold:m().optional(),isAutoCompactEnabled:b(),messageBreakdown:S({toolCallTokens:m(),toolResultTokens:m(),attachmentTokens:m(),assistantMessageTokens:m(),userMessageTokens:m(),toolCallsByType:x(S({name:p(),callTokens:m(),resultTokens:m()})),attachmentsByType:x(S({name:p(),tokens:m()}))}).optional(),apiUsage:S({input_tokens:m(),output_tokens:m(),cache_creation_input_tokens:m(),cache_read_input_tokens:m()}).nullable()}).describe(`Breakdown of current context window usage by category (system prompt, tools, messages, etc.).`));var qn=T(()=>S({subtype:_(`rewind_files`),user_message_id:p(),dry_run:b().optional()}).describe(`Rewinds file changes made since a specific user message.`));T(()=>S({canRewind:b(),error:p().optional(),filesChanged:x(p()).optional(),insertions:m().optional(),deletions:m().optional()}).describe(`Result of a rewindFiles operation.`));var Jn=T(()=>S({subtype:_(`cancel_async_message`),message_uuid:p()}).describe(`Drops a pending async user message from the command queue by uuid. No-op if already dequeued for execution.`));T(()=>S({cancelled:b()}).describe(`Result of a cancel_async_message operation. cancelled=false means the message was not in the queue (already dequeued or never enqueued).`));var Yn=T(()=>S({subtype:_(`seed_read_state`),path:p(),mtime:m()}).describe(`Seeds the readFileState cache with a path+mtime entry. Use when a prior Read was removed from context (e.g. by snip) so Edit validation would fail despite the client having observed the Read. The mtime lets the CLI detect if the file changed since the seeded Read — same staleness check as the normal path.`)),Xn=T(()=>S({subtype:_(`hook_callback`),callback_id:p(),input:At(),tool_use_id:p().optional()}).describe(`Delivers a hook callback with its input data.`)),Zn=T(()=>S({subtype:_(`mcp_message`),server_name:p(),message:Fn()}).describe(`Sends a JSON-RPC message to a specific MCP server.`)),Qn=T(()=>S({subtype:_(`mcp_set_servers`),servers:g(p(),P())}).describe(`Replaces the set of dynamically managed MCP servers.`));T(()=>S({added:x(p()),removed:x(p()),errors:g(p(),p())}).describe(`Result of replacing the set of dynamically managed MCP servers.`));var $n=T(()=>S({subtype:_(`reload_plugins`)}).describe(`Reloads plugins from disk and returns the refreshed session components.`));T(()=>S({commands:x(U()),agents:x(W()),plugins:x(S({name:p(),path:p(),source:p().optional()})),mcpServers:x(F()),error_count:m()}).describe(`Refreshed commands, agents, plugins, and MCP server status after reload.`));var er=T(()=>S({subtype:_(`mcp_reconnect`),serverName:p()}).describe(`Reconnects a disconnected or failed MCP server.`)),tr=T(()=>S({subtype:_(`mcp_toggle`),serverName:p(),enabled:b()}).describe(`Enables or disables an MCP server.`)),nr=T(()=>S({subtype:_(`stop_task`),task_id:p()}).describe(`Stops a running task.`)),rr=T(()=>S({subtype:_(`apply_flag_settings`),settings:g(p(),h())}).describe(`Merges the provided settings into the flag settings layer, updating the active configuration.`)),ir=T(()=>S({subtype:_(`get_settings`)}).describe(`Returns the effective merged settings and the raw per-source settings.`));T(()=>S({effective:g(p(),h()),sources:x(S({source:y([`userSettings`,`projectSettings`,`localSettings`,`flagSettings`,`policySettings`]),settings:g(p(),h())})).describe(`Ordered low-to-high priority — later entries override earlier ones.`),applied:S({model:p()}).optional().describe("Runtime-resolved values after env overrides, session state, and model-specific defaults are applied. Unlike `effective` (disk merge), these reflect what will actually be sent to the API.")}).describe(`Effective merged settings plus raw per-source settings in merge order.`));var ar=T(()=>S({subtype:_(`elicitation`),mcp_server_name:p(),message:p(),mode:y([`form`,`url`]).optional(),url:p().optional(),elicitation_id:p().optional(),requested_schema:g(p(),h()).optional()}).describe(`Requests the SDK consumer to handle an MCP elicitation (user input request).`)),or=T(()=>S({action:y([`accept`,`decline`,`cancel`]),content:g(p(),h()).optional()}).describe(`Response from the SDK consumer for an elicitation request.`)),sr=T(()=>v([Rn(),zn(),Ln(),Bn(),Vn(),Hn(),Un(),Wn(),Xn(),Zn(),qn(),Jn(),Yn(),Qn(),$n(),er(),tr(),nr(),rr(),ir(),ar()])),Z=T(()=>S({type:_(`control_request`),request_id:p(),request:sr()})),cr=T(()=>S({subtype:_(`success`),request_id:p(),response:g(p(),h()).optional()})),lr=T(()=>S({subtype:_(`error`),request_id:p(),error:p(),pending_permission_requests:x(C(()=>Z())).optional()})),ur=T(()=>S({type:_(`control_response`),response:v([cr(),lr()])})),dr=T(()=>S({type:_(`control_cancel_request`),request_id:p()}).describe(`Cancels a currently open control request.`)),fr=T(()=>S({type:_(`keep_alive`)}).describe(`Keep-alive message to maintain WebSocket connection.`)),pr=T(()=>S({type:_(`update_environment_variables`),variables:g(p(),p())}).describe(`Updates environment variables at runtime.`));T(()=>v([Pn(),cn(),ln(),vn(),ur(),Z(),dr(),fr()])),T(()=>v([Y(),Z(),ur(),fr(),pr()])),e(),pe(),ve(),k(),Ce(),Te(),s(),E(),A(),D(),f(),a(),T(()=>w.object({tool_name:w.string().describe(`The name of the tool requesting permission`),input:w.record(w.string(),w.unknown()).describe(`The input for the tool`),tool_use_id:w.string().optional().describe(`The unique tool use request ID`)}));var mr=T(()=>w.enum([`user_temporary`,`user_permanent`,`user_reject`]).optional().catch(void 0)),hr=T(()=>w.object({behavior:w.literal(`allow`),updatedInput:w.record(w.string(),w.unknown()),updatedPermissions:w.array(r()).optional().catch(e=>{j(`Malformed updatedPermissions from SDK host ignored: ${e.error.issues[0]?.message??`unknown`}`,{level:`warn`})}),toolUseID:w.string().optional(),decisionClassification:mr()})),gr=T(()=>w.object({behavior:w.literal(`deny`),message:w.string(),interrupt:w.boolean().optional(),toolUseID:w.string().optional(),decisionClassification:mr()})),Q=T(()=>w.union([hr(),gr()]));function $(e,t,n,r){let a={type:`permissionPromptTool`,permissionPromptToolName:t.name,toolResult:e};if(e.behavior===`allow`){let t=e.updatedPermissions;t&&(r.setAppState(e=>({...e,toolPermissionContext:o(e.toolPermissionContext,t)})),i(t));let s=Object.keys(e.updatedInput).length>0?e.updatedInput:n;return{...e,updatedInput:s,decisionReason:a}}else e.behavior===`deny`&&e.interrupt&&(j(`SDK permission prompt deny+interrupt: tool=${t.name} message=${e.message}`),r.abortController.abort());return{...e,decisionReason:a}}ke(),ye(),xe(),ae(),Ne(),se(),ce(),l();var _r=/\u2028|\u2029/g;function vr(e){return e.replace(_r,e=>e===`\u2028`?`\\u2028`:`\\u2029`)}function yr(e){return vr(_e(e))}A(),k(),E(),f();var br=`SandboxNetworkAccess`;function xr(e){if(e){if(e.type===`classifier`)return e.reason;switch(e.type){case`rule`:case`mode`:case`subcommandResults`:case`permissionPromptTool`:return;case`hook`:case`asyncAgent`:case`sandboxOverride`:case`workingDir`:case`safetyCheck`:case`other`:return e.reason}}}function Sr(e,t,n,r){let i;try{i=e.getActivityDescription?.(t)??e.getToolUseSummary?.(t)??e.userFacingName(t)}catch{i=e.name}return{tool_name:e.name,action_description:i,tool_use_id:n,request_id:r,input:t}}var Cr=1e3,wr=class{constructor(e,n){t(this,`input`,void 0),t(this,`replayUserMessages`,void 0),t(this,`structuredInput`,void 0),t(this,`pendingRequests`,new Map),t(this,`restoredWorkerState`,Promise.resolve(null)),t(this,`inputClosed`,!1),t(this,`unexpectedResponseCallback`,void 0),t(this,`resolvedToolUseIds`,new Set),t(this,`prependedLines`,[]),t(this,`onControlRequestSent`,void 0),t(this,`onControlRequestResolved`,void 0),t(this,`outbound`,new ie),this.input=e,this.replayUserMessages=n,this.input=e,this.structuredInput=this.read()}trackResolvedToolUseId(e){let t=e.request;if(t.subtype===`can_use_tool`&&(this.resolvedToolUseIds.add(t.tool_use_id),this.resolvedToolUseIds.size>Cr)){let e=this.resolvedToolUseIds.values().next().value;e!==void 0&&this.resolvedToolUseIds.delete(e)}}flushInternalEvents(){return Promise.resolve()}get internalEventsPending(){return 0}prependUserMessage(e){this.prependedLines.push(_e({type:`user`,content:e,uuid:``,session_id:``,message:{role:`user`,content:e},parent_tool_use_id:null})+`
|
|
2
|
-
`)}async*read(){let e=``,t=async function*(){for(;;){this.prependedLines.length>0&&(e=this.prependedLines.join(``)+e,this.prependedLines=[]);let t=e.indexOf(`
|
|
3
|
-
`);if(t===-1)break;let n=e.slice(0,t);e=e.slice(t+1);let r=await this.processLine(n);r&&(Ee(`info`,`cli_stdin_message_parsed`,{type:r.type}),yield r)}}.bind(this);yield*t();for await(let n of this.input)e+=n,yield*t();if(e){let t=await this.processLine(e);t&&(yield t)}this.inputClosed=!0;for(let e of this.pendingRequests.values())e.reject(Error(`Tool permission stream closed before response received`))}getPendingPermissionRequests(){return Array.from(this.pendingRequests.values()).map(e=>e.request).filter(e=>e.request.subtype===`can_use_tool`)}setUnexpectedResponseCallback(e){this.unexpectedResponseCallback=e}injectControlResponse(e){let t=e.response,n=t?.request_id;if(!n)return;let r=this.pendingRequests.get(n);if(r)if(this.trackResolvedToolUseId(r.request),this.pendingRequests.delete(n),this.write({type:`control_cancel_request`,request_id:n}),t.subtype===`error`)r.reject(Error(t.error));else{let e=t.response;if(r.schema)try{r.resolve(r.schema.parse(e))}catch(e){r.reject(e)}else r.resolve({})}}setOnControlRequestSent(e){this.onControlRequestSent=e}setOnControlRequestResolved(e){this.onControlRequestResolved=e}async processLine(e){if(e)try{let t=Fe(me(e));if(t.type===`keep_alive`)return;if(t.type===`update_environment_variables`){let e=t.variables??{},n=Object.keys(e);for(let[t,n]of Object.entries(e))process.env[t]=n;j(`[structuredIO] applied update_environment_variables: ${n.join(`, `)}`);return}if(t.type===`control_response`){let e=`uuid`in t&&typeof t.uuid==`string`?t.uuid:void 0;e&&re(e,`completed`);let n=t.response,r=this.pendingRequests.get(n.request_id);if(!r){let e=(n.subtype===`success`?n.response:void 0)?.toolUseID;if(typeof e==`string`&&this.resolvedToolUseIds.has(e)){j(`Ignoring duplicate control_response for already-resolved toolUseID=${e} request_id=${n.request_id}`);return}this.unexpectedResponseCallback&&await this.unexpectedResponseCallback(t);return}if(this.trackResolvedToolUseId(r.request),this.pendingRequests.delete(n.request_id),r.request.request.subtype===`can_use_tool`&&this.onControlRequestResolved&&this.onControlRequestResolved(n.request_id),n.subtype===`error`){r.reject(Error(n.error??`Unknown error`));return}let i=n.response;if(r.schema)try{r.resolve(r.schema.parse(i))}catch(e){r.reject(e)}else r.resolve({});return this.replayUserMessages?t:void 0}if(t.type!==`user`&&t.type!==`control_request`&&t.type!==`assistant`&&t.type!==`system`){j(`Ignoring unknown message type: ${t.type}`,{level:`warn`});return}return t.type===`control_request`?(t.request||Tr(`Error: Missing request on control_request`),t):(t.type===`assistant`||t.type===`system`||t.message?.role!==`user`&&Tr(`Error: Expected message role 'user', got '${t.message?.role}'`),t)}catch(t){console.error(`Error parsing streaming input line: ${e}: ${t}`),process.exit(1)}}async write(e){we(yr(e)+`
|
|
4
|
-
`)}async sendRequest(e,t,n,r=M()){let i={type:`control_request`,request_id:r,request:e};if(this.inputClosed)throw Error(`Stream closed`);if(n?.aborted)throw Error(`Request aborted`);this.outbound.enqueue(i),e.subtype===`can_use_tool`&&this.onControlRequestSent&&this.onControlRequestSent(i);let a=()=>{this.outbound.enqueue({type:`control_cancel_request`,request_id:r});let e=this.pendingRequests.get(r);e&&(this.trackResolvedToolUseId(e.request),e.reject(new he))};n&&n.addEventListener(`abort`,a,{once:!0});try{return await new Promise((n,i)=>{this.pendingRequests.set(r,{request:{type:`control_request`,request_id:r,request:e},resolve:e=>{n(e)},reject:i,schema:t})})}finally{n&&n.removeEventListener(`abort`,a),this.pendingRequests.delete(r)}}createCanUseTool(e){return async(t,n,r,i,a,o)=>{let s=o??await c(t,n,r,i,a);if(s.behavior===`allow`||s.behavior===`deny`)return s;let l=new AbortController,u=r.abortController.signal,d=()=>l.abort();u.addEventListener(`abort`,d,{once:!0});try{let i=Er(t.name,a,n,r,s.suggestions).then(e=>({source:`hook`,decision:e})),o=M();e?.(Sr(t,n,a,o));let c=this.sendRequest({subtype:`can_use_tool`,tool_name:t.name,input:n,permission_suggestions:s.suggestions,blocked_path:s.blockedPath,decision_reason:xr(s.decisionReason),tool_use_id:a,agent_id:r.agentId},Q(),l.signal,o).then(e=>({source:`sdk`,result:e})),u=await Promise.race([i,c]);return u.source===`hook`?u.decision?(c.catch(()=>{}),l.abort(),u.decision):$((await c).result,t,n,r):$(u.result,t,n,r)}catch(e){return $({behavior:`deny`,message:`Tool permission request failed: ${e}`,toolUseID:a},t,n,r)}finally{this.getPendingPermissionRequests().length===0&&Pe(`running`),u.removeEventListener(`abort`,d)}}}createHookCallback(e,t){return{type:`callback`,timeout:t,callback:async(t,n,r)=>{try{return await this.sendRequest({subtype:`hook_callback`,callback_id:e,input:t,tool_use_id:n||void 0},le(),r)}catch(t){return console.error(`Error in hook callback ${e}:`,t),{}}}}}async handleElicitation(e,t,n,r,i,a,o){try{return await this.sendRequest({subtype:`elicitation`,mcp_server_name:e,message:t,mode:i,url:a,elicitation_id:o,requested_schema:n},or(),r)}catch{return{action:`cancel`}}}createSandboxAskCallback(){return async e=>{try{return(await this.sendRequest({subtype:`can_use_tool`,tool_name:br,input:{host:e.host},tool_use_id:M(),description:`Allow network connection to ${e.host}?`},Q())).behavior===`allow`}catch{return!1}}}async sendMcpMessage(e,t){return(await this.sendRequest({subtype:`mcp_message`,server_name:e,message:t},S({mcp_response:ue()}))).mcp_response}};function Tr(e){console.error(e),process.exit(1)}async function Er(e,t,n,r,a){let s=r.getAppState().toolPermissionContext.mode,c=u(e,t,n,r,s,a,r.abortController.signal);for await(let e of c)if(e.permissionRequestResult&&(e.permissionRequestResult.behavior===`allow`||e.permissionRequestResult.behavior===`deny`)){let t=e.permissionRequestResult;if(t.behavior===`allow`){let e=t.updatedInput||n,a=t.updatedPermissions??[];if(a.length>0){i(a);let e=o(r.getAppState().toolPermissionContext,a);r.setAppState(t=>t.toolPermissionContext===e?t:{...t,toolPermissionContext:e})}return{behavior:`allow`,updatedInput:e,userModified:!1,decisionReason:{type:`hook`,hookName:`PermissionRequest`}}}else return{behavior:`deny`,message:t.message||`Permission denied by PermissionRequest hook`,decisionReason:{type:`hook`,hookName:`PermissionRequest`}}}}ne();function Dr(e){if(e.type!==`user`)return;let t=e.message?.content;if(!t||Array.isArray(t)&&t.length===0)return;let n=`uuid`in e&&typeof e.uuid==`string`?e.uuid:void 0;return{content:Array.isArray(t)?Or(t):t,uuid:n}}function Or(e){return e.some(kr)?e.map(e=>{if(!kr(e))return e;let t=e.source,n=typeof t.mediaType==`string`&&t.mediaType?t.mediaType:ee(e.source.data);return{...e,source:{type:`base64`,media_type:n,data:e.source.data}}}):e}function kr(e){return e.type!==`image`||e.source?.type!==`base64`?!1:!e.source.media_type}Me(),A(),ve(),De(),n();function Ar(e,t,n){let r=[],i=[],a=[];for(let[o,s]of Object.entries(e)){let e=t[o],c=Mr(s.source,n?.projectRoot);e?s.sourceIsFallback||je(c,e.source)?a.push(o):i.push({name:o,declaredSource:c,materializedSource:e.source}):r.push(o)}return{missing:r,sourceChanged:i,upToDate:a}}async function jr(e){let t=d();if(Object.keys(t).length===0)return{installed:[],updated:[],failed:[],upToDate:[],skipped:[]};let n;try{n=await te()}catch(e){Ae(e),n={}}let r=Ar(t,n,{projectRoot:O()}),i=[...r.missing.map(e=>({name:e,source:Mr(t[e].source),action:`install`})),...r.sourceChanged.map(({name:e,declaredSource:t})=>({name:e,source:t,action:`update`}))],a=[],o=[];for(let t of i){if(e?.skip?.(t.name,t.source)){a.push(t.name);continue}if(t.action===`update`&&Se(t.source)&&!await be(t.source.path)){j(`[reconcile] '${t.name}' declared path does not exist; keeping materialized entry`),a.push(t.name);continue}o.push(t)}if(o.length===0)return{installed:[],updated:[],failed:[],upToDate:r.upToDate,skipped:a};j(`[reconcile] ${o.length} marketplace(s): ${o.map(e=>`${e.name}(${e.action})`).join(`, `)}`);let s=[],c=[],l=[];for(let t=0;t<o.length;t++){let{name:n,source:r,action:i}=o[t];e?.onProgress?.({type:`installing`,name:n,action:i,index:t+1,total:o.length});try{let t=await oe(r);i===`install`?s.push(n):c.push(n),e?.onProgress?.({type:`installed`,name:n,alreadyMaterialized:t.alreadyMaterialized})}catch(t){let r=ge(t);l.push({name:n,error:r}),e?.onProgress?.({type:`failed`,name:n,error:r}),Ae(t)}}return{installed:s,updated:c,failed:l,upToDate:r.upToDate,skipped:a}}function Mr(e,t){if((e.source===`directory`||e.source===`file`)&&!Ie(e.path)){let n=t??O(),r=Oe(n);return{...e,path:Le(r??n,e.path)}}return e}export{yr as a,wr as i,jr as n,Q as o,Dr as r,$ as s,Ar as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Eo as t,Fp as n,Fs as r,Ip as i,KC as a,Np as o,Ps as s,Sp as c,Ss as l,To as u,i as d,jp as f,mg as p,o as m,pg as h,qC as g,wp as _,xs as v}from"./loadAgentsDir-CKSb56Gp.js";import{Kt as y,tt as b}from"./state-Bs5xweDL.js";import{F as x,a as S,l as C,z as w}from"./debug-BdqxZ7rV.js";import{o as T,s as E}from"./log-CTFl4qpD.js";async function D(e){C(`refreshActivePlugins: clearing all plugin caches`),v(),c();let n=await t(),[r,a]=await Promise.all([s(),d(b())]),{enabled:l,disabled:u,errors:f}=n,[m,h]=await Promise.all([Promise.all(l.map(async e=>{if(e.mcpServers)return Object.keys(e.mcpServers).length;let t=await g(e,f);return t&&(e.mcpServers=t),t?Object.keys(t).length:0})),Promise.all(l.map(async e=>{if(e.lspServers)return Object.keys(e.lspServers).length;let t=await i(e,f);return t&&(e.lspServers=t),t?Object.keys(t).length:0}))]),_=m.reduce((e,t)=>e+t,0),y=h.reduce((e,t)=>e+t,0);e(e=>({...e,plugins:{...e.plugins,enabled:l,disabled:u,commands:r,errors:O(e.plugins.errors,f),needsRefresh:!1},agentDefinitions:a,mcp:{...e.mcp,pluginReconnectKey:e.mcp.pluginReconnectKey+1}})),o();let S=!1;try{await p()}catch(e){S=!0,E(e),C(`refreshActivePlugins: loadPluginHooks failed: ${x(e)}`)}let w=l.reduce((e,t)=>t.hooksConfig?e+Object.values(t.hooksConfig).reduce((e,t)=>e+(t?.reduce((e,t)=>e+t.hooks.length,0)??0),0):e,0);return C(`refreshActivePlugins: ${l.length} enabled, ${r.length} commands, ${a.allAgents.length} agents, ${w} hooks, ${_} MCP, ${y} LSP`),{enabled_count:l.length,disabled_count:u.length,command_count:r.length,agent_count:a.allAgents.length,hook_count:w,mcp_count:_,lsp_count:y,error_count:f.length+ +!!S,agentDefinitions:a,pluginCommands:r}}function O(e,t){let n=e.filter(e=>e.source===`lsp-manager`||e.source.startsWith(`plugin:`)),r=new Set(t.map(k));return[...n.filter(e=>!r.has(k(e))),...t]}function k(e){return e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`}var A=e((()=>{y(),f(),m(),S(),w(),T(),l(),r(),h(),n(),a(),_(),u()}));export{D as n,A as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Ar as t,Qa as n,Tr as r,Wa as i,_i as a,mi as o}from"./loadAgentsDir-CKSb56Gp.js";import{Kt as s,mt as c}from"./state-Bs5xweDL.js";import{a as l,i as u,r as d}from"./bridgeConfig-vORehbGG.js";import{n as f,t as p}from"./generateSessionName-nZj_VvKZ.js";async function m(e,t,n){let s;if(!n||n.trim()===``){let n=await p(i(t.messages),t.abortController.signal);if(!n)return e(`Could not generate a name: no conversation context yet. Usage: /rename <name>`,{display:`system`}),null;s=n}else s=n.trim();let l=c(),f=r();await a(l,s,f);let m=t.getAppState().replBridgeSessionId;if(m){let e=u();import(`./createSession-DnykRoia.js`).then(({updateBridgeSessionTitle:t})=>t(m,s,{baseUrl:d(),getAccessToken:e?()=>e:void 0}).catch(()=>{}))}return await o(l,s,f),t.setAppState(e=>({...e,standaloneAgentContext:{...e.standaloneAgentContext,name:s}})),e(`Session renamed to: ${s}`,{display:`system`}),null}e((()=>{s(),l(),n(),t(),f()}))();export{m as call};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{kc as t}from"./loadAgentsDir-CKSb56Gp.js";function n(){return r}var r,i=e((()=>{t(),r=null}));export{i as n,n as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{Ar as i,Br as a,Ci as o,Gr as s,Mr as c,Ni as l,Pi as u,Pr as d,Sr as f,Ur as p,Vu as m,Xm as h,Ym as g,hr as _,hw as v,mw as y,pw as b,zu as x}from"./loadAgentsDir-CKSb56Gp.js";import{I as S,P as C,di as w,dr as T,fi as E,ot as D,t as O,ui as k}from"./src-P_wYS_NJ2.js";import{t as A}from"./jsx-runtime-Bb4Xn-E0.js";import{Kt as j,mt as M,tt as N}from"./state-Bs5xweDL.js";import{o as P,s as F}from"./log-CTFl4qpD.js";import{n as I,r as L}from"./modalContext-CUThy6Ph.js";import{a as R,i as z,n as B,o as V,r as H,t as U}from"./crossProjectResume-D2A-qjgP.js";function W(e){switch(e.resultType){case`sessionNotFound`:return`Session ${k.bold(e.arg)} was not found. Run ${k.bold(`/resume`)} without arguments to browse all sessions.`;case`multipleMatches`:return`Found ${e.count} sessions matching ${k.bold(e.arg)}. Run ${k.bold(`/resume`)} to pick one from the list.`}}function G({message:e,args:t,onDone:n}){return J.useEffect(()=>{let e=setTimeout(n,0);return()=>clearTimeout(e)},[n]),(0,Y.jsxs)(S,{flexDirection:`column`,children:[(0,Y.jsxs)(C,{dimColor:!0,children:[r.pointer,` /resume `,t]}),(0,Y.jsx)(y,{children:(0,Y.jsx)(C,{children:e})})]})}function K({onDone:e,onResume:t}){let[n,r]=J.useState([]),[i,o]=J.useState([]),[c,u]=J.useState(!0),[m,g]=J.useState(!1),[_,v]=J.useState(!1),{rows:y}=D(),b=L(),w=J.useCallback(async(t,n)=>{u(!0);try{let i=q(t?await a():await s(n),M());if(i.length===0){e(`No conversations found to resume`);return}r(i)}catch{e(`Failed to load conversations`)}finally{u(!1)}},[e]);J.useEffect(()=>{async function e(){let e=await l(N());o(e),w(!1,e)}e()},[w]);let E=J.useCallback(()=>{let e=!_;v(e),w(e,i)},[_,w,i]);async function O(n){let r=h(f(n));if(!r){e(`Failed to resume conversation`);return}let i=d(n)?await p(n):n,a=U(i,_);if(a.isCrossProject){if(a.isSameRepoWorktree){g(!0),t(r,i,`slash_command_picker`);return}let n=await T(a.command);n&&process.stdout.write(n),e([``,`This conversation is from a different directory.`,``,`To resume, run:`,` ${a.command}`,``,`(Command copied to clipboard)`,``].join(`
|
|
2
|
-
`),{display:`user`});return}g(!0),t(r,i,`slash_command_picker`)}function k(){e(`Resume cancelled`,{display:`system`})}return c?(0,Y.jsxs)(S,{children:[(0,Y.jsx)(x,{}),(0,Y.jsx)(C,{children:` Loading conversations…`})]}):m?(0,Y.jsxs)(S,{children:[(0,Y.jsx)(x,{}),(0,Y.jsx)(C,{children:` Resuming conversation…`})]}):(0,Y.jsx)(R,{logs:n,maxHeight:b?Math.floor(y/2):y-2,onCancel:k,onSelect:O,onLogsChanged:()=>w(_,i),showAllProjects:_,onToggleAllProjects:E,onAgenticSearch:H})}function q(e,t){return e.filter(e=>!e.isSidechain&&f(e)!==t)}var J,Y,X;e((()=>{w(),n(),J=t(E(),1),j(),V(),v(),m(),I(),b(),O(),z(),B(),u(),P(),i(),g(),Y=A(),X=async(e,t,n)=>{let r=async(n,r,i)=>{try{await t.resume?.(n,r,i),e(void 0,{display:`skip`})}catch(t){F(t),e(`Failed to resume: ${t.message}`)}},i=n?.trim();if(!i)return(0,Y.jsx)(K,{onDone:e,onResume:r},Date.now());let a=await s(await l(N()));if(a.length===0){let t=`No conversations found to resume.`;return(0,Y.jsx)(G,{message:t,args:i,onDone:()=>e(t)})}let u=h(i);if(u){let e=a.filter(e=>f(e)===u).sort((e,t)=>t.modified.getTime()-e.modified.getTime());if(e.length>0){let t=e[0];return r(u,d(t)?await p(t):t,`slash_command_session_id`),null}let t=await _(u);if(t)return r(u,t,`slash_command_session_id`),null}if(c()){let t=await o(i,{exact:!0});if(t.length===1){let e=t[0],n=f(e);if(n)return r(n,d(e)?await p(e):e,`slash_command_title`),null}if(t.length>1){let n=W({resultType:`multipleMatches`,arg:i,count:t.length});return(0,Y.jsx)(G,{message:n,args:i,onDone:()=>e(n)})}}let m=W({resultType:`sessionNotFound`,arg:i});return(0,Y.jsx)(G,{message:m,args:i,onDone:()=>e(m)})}}))();export{X as call,q as filterResumableSessions};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t}from"./ripgrep-DkL2S7-I.js";e();export{t as getRipgrepStatus};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aE as e,cE as t}from"./loadAgentsDir-CKSb56Gp.js";t();export{e as SandboxManager};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Eg as e,Og as t}from"./loadAgentsDir-CKSb56Gp.js";e();export{t as isSearchExtraToolsEnabled};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{la as e,sa as t}from"./loadAgentsDir-CKSb56Gp.js";t();export{e as registerSessionFileAccessHooks};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,r as t}from"./sessionMemory-fAzgAS7Q.js";t();export{e as manuallyExtractSessionMemory};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./memoize-BK3gG5ob.js";import{Cc as r,Cy as i,Fn as a,Gy as o,Hh as s,Hy as c,Ia as l,In as u,Jy as d,Ky as f,Lh as p,Ly as m,Pn as ee,Qa as te,Rh as ne,Tc as h,Ty as re,Uh as g,Uy as _,Vy as ie,Wh as ae,Wy as oe,Xa as v,Xy as se,Yy as y,Zy as ce,ab as le,bc as b,cb as x,ch as S,ct as C,da as w,lt as T,ob as E,qy as D,sh as O,ua as k,wy as A,yc as j,zg as M,zy as N}from"./loadAgentsDir-CKSb56Gp.js";import{B as P,Kt as F}from"./state-Bs5xweDL.js";import{F as I,I as L,d as R,p as z,z as B}from"./debug-BdqxZ7rV.js";import{In as V,Ln as ue}from"./settings-Xbq6AaD-.js";import{n as H,r as U}from"./analytics-DJobLaWP.js";import{ei as de,ti as fe}from"./model-C2e73CJD.js";import{sn as W,un as pe}from"./prompt-CybUvG8G.js";import{gt as me}from"./sessionState-BvECKycx.js";import{writeFile as G}from"fs/promises";function he(){return!1}function ge(){return{}}function _e(e,t){let n=0,r=t==null;for(let i of e){if(!r){i.uuid===t&&(r=!0);continue}if(i.type===`assistant`){let e=i.message.content;Array.isArray(e)&&(n+=V(e,e=>e.type===`tool_use`))}}return n}function K(e){let t=x(e);if(!o()){if(!c(t))return!1;d()}let n=_(t),r=_e(e,Z)>=ie(),i=v(e);if(n&&r||n&&!i){let t=e[e.length-1];return t?.uuid&&(Z=t.uuid),!0}return!1}async function q(e){let t=R(),n=ee();await t.mkdir(n,{mode:448});let r=a();try{await G(r,``,{encoding:`utf-8`,mode:384,flag:`wx`}),await G(r,await ae(),{encoding:`utf-8`,mode:384})}catch(e){if(L(e)!==`EEXIST`)throw e}e.readFileState.delete(r);let i=await k.call({file_path:r},e),o=``,s=i.data;return s.type===`text`&&(o=s.file.content),U(`tengu_session_memory_file_read`,{content_length:o.length}),{memoryPath:r,currentMemory:o}}function ve(){P()||ne()&&S($)}async function J(e,t){if(e.length===0)return{success:!1,error:`No messages to summarize`};D();try{let n=b(t),{memoryPath:r,currentMemory:a}=await q(n),o=await s(a,r),{tools:c,mainLoopModel:u}=t.options,[d,f,p]=await Promise.all([C(c,u),A(),i()]),m=me(d);return await h({promptMessages:[l({content:o})],cacheSafeParams:{systemPrompt:m,userContext:f,systemContext:p,toolUseContext:n,forkContextMessages:e},canUseTool:Y(r),querySource:`session_memory`,forkLabel:`session_memory_manual`,overrides:{readFileState:n.readFileState}}),U(`tengu_session_memory_manual_extraction`,{}),y(x(e)),X(e),{success:!0,memoryPath:r}}catch(e){return{success:!1,error:I(e)}}finally{f()}}function Y(e){return async(t,n)=>{if(t.name===`Edit`&&typeof n==`object`&&n&&`file_path`in n){let t=n.file_path;if(typeof t==`string`&&t===e)return{behavior:`allow`,updatedInput:n}}return{behavior:`deny`,message:`only ${W} on ${e} is allowed`,decisionReason:{type:`other`,reason:`only ${W} on ${e} is allowed`}}}}function X(e){if(!v(e)){let t=e[e.length-1];t?.uuid&&se(t.uuid)}}var Z,Q,$,ye=e((()=>{n(),F(),T(),re(),pe(),w(),ue(),r(),z(),O(),te(),u(),de(),M(),E(),H(),p(),g(),oe(),B(),Q=t(()=>{let e=ge();ce({minimumMessageTokensToInit:e.minimumMessageTokensToInit&&e.minimumMessageTokensToInit>0?e.minimumMessageTokensToInit:m.minimumMessageTokensToInit,minimumTokensBetweenUpdate:e.minimumTokensBetweenUpdate&&e.minimumTokensBetweenUpdate>0?e.minimumTokensBetweenUpdate:m.minimumTokensBetweenUpdate,toolCallsBetweenUpdates:e.toolCallsBetweenUpdates&&e.toolCallsBetweenUpdates>0?e.toolCallsBetweenUpdates:m.toolCallsBetweenUpdates})}),$=fe(async function(e){let{messages:t,toolUseContext:n,querySource:r}=e;if(r!==`repl_main_thread`)return;{let{isPoorModeActive:e}=await import(`./poorMode-iV1NwC5L.js`);if(e())return}if(!he()||(Q(),!K(t)))return;D();let i=b(n),{memoryPath:a,currentMemory:o}=await q(i);await h({promptMessages:[l({content:await s(o,a)})],cacheSafeParams:j(e),canUseTool:Y(a),querySource:`session_memory`,forkLabel:`session_memory`,overrides:{readFileState:i.readFileState}});let c=t[t.length-1],u=c?le(c):void 0,d=N();U(`tengu_session_memory_extraction`,{input_tokens:u?.input_tokens,output_tokens:u?.output_tokens,cache_read_input_tokens:u?.cache_read_input_tokens??void 0,cache_creation_input_tokens:u?.cache_creation_input_tokens??void 0,config_min_message_tokens_to_init:d.minimumMessageTokensToInit,config_min_tokens_between_update:d.minimumTokensBetweenUpdate,config_tool_calls_between_updates:d.toolCallsBetweenUpdates}),y(x(t)),X(t),f()})}));export{K as a,J as i,ve as n,ye as r,Y as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{By as e,Wy as t}from"./loadAgentsDir-CKSb56Gp.js";t();export{e as getSessionMemoryContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./sessionObserver-XV6N0XER.js";t();export{e as heuristicObserverBackend};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DaDcL9Zw.js";import{l as n,o as r}from"./envUtils-BDhHQY0-.js";import{t as i}from"./semver-DQo45qGo.js";import{Kt as a,Qn as o,ht as s,mt as c,z as l}from"./state-Bs5xweDL.js";import{F as u,a as d,d as f,l as p,nt as m,p as h,rt as g,z as _}from"./debug-BdqxZ7rV.js";import{O as ee,k as v}from"./git-B9uvt96d.js";import{Bt as te,Dr as ne,Er as re,Or as ie,Tr as y}from"./model-C2e73CJD.js";import{a as ae}from"./bridgeConfig-vORehbGG.js";import{randomUUID as b}from"crypto";var oe=e((()=>{})),se,ce=e((()=>{se={input_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,output_tokens:0,server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:`standard`,cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:``,iterations:[],speed:`standard`}})),le=e((()=>{}));function ue(e){return e}var de=e((()=>{})),fe=e((()=>{oe(),ce(),le(),de()}));function pe(e){return/haiku/i.test(e)?`haiku`:/opus/i.test(e)?`opus`:/sonnet/i.test(e)?`sonnet`:null}function me(e){if(process.env.OPENAI_MODEL)return process.env.OPENAI_MODEL;let t=e.replace(/\[1m\]$/,``),n=pe(t);if(n){let e=`OPENAI_DEFAULT_${n.toUpperCase()}_MODEL`,t=process.env[e];if(t)return t;let r=`ANTHROPIC_DEFAULT_${n.toUpperCase()}_MODEL`,i=process.env[r];if(i)return i}return he[t]??t}var he,ge=e((()=>{he={"claude-sonnet-4-20250514":`gpt-4o`,"claude-sonnet-4-5-20250929":`gpt-4o`,"claude-sonnet-4-6":`gpt-4o`,"claude-opus-4-20250514":`o3`,"claude-opus-4-1-20250805":`o3`,"claude-opus-4-5-20251101":`o3`,"claude-opus-4-6":`o3`,"claude-haiku-4-5-20251001":`gpt-4o-mini`,"claude-3-5-haiku-20241022":`gpt-4o-mini`,"claude-3-7-sonnet-20250219":`gpt-4o`,"claude-3-5-sonnet-20241022":`gpt-4o`}}));function _e(e){return/haiku/i.test(e)?`haiku`:/opus/i.test(e)?`opus`:/sonnet/i.test(e)?`sonnet`:null}function ve(){let e=process.env.GROK_MODEL_MAP;if(!e)return null;try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}return null}function ye(e){if(process.env.GROK_MODEL)return process.env.GROK_MODEL;let t=e.replace(/\[1m\]$/,``),n=_e(t),r=ve();if(r&&n&&r[n])return r[n];if(n){let e=`GROK_DEFAULT_${n.toUpperCase()}_MODEL`,t=process.env[e];if(t)return t;let r=`ANTHROPIC_DEFAULT_${n.toUpperCase()}_MODEL`,i=process.env[r];if(i)return i}return x[t]?x[t]:n&&be[n]?be[n]:t}var x,be,xe=e((()=>{x={"claude-sonnet-4-20250514":`grok-3-mini-fast`,"claude-sonnet-4-5-20250929":`grok-3-mini-fast`,"claude-sonnet-4-6":`grok-3-mini-fast`,"claude-opus-4-20250514":`grok-4.20-reasoning`,"claude-opus-4-1-20250805":`grok-4.20-reasoning`,"claude-opus-4-5-20251101":`grok-4.20-reasoning`,"claude-opus-4-6":`grok-4.20-reasoning`,"claude-haiku-4-5-20251001":`grok-3-mini-fast`,"claude-3-5-haiku-20241022":`grok-3-mini-fast`,"claude-3-7-sonnet-20250219":`grok-3-mini-fast`,"claude-3-5-sonnet-20241022":`grok-3-mini-fast`},be={opus:`grok-4.20-reasoning`,sonnet:`grok-3-mini-fast`,haiku:`grok-3-mini-fast`}}));function Se(e){return/haiku/i.test(e)?`haiku`:/opus/i.test(e)?`opus`:/sonnet/i.test(e)?`sonnet`:null}function Ce(e){if(process.env.GEMINI_MODEL)return process.env.GEMINI_MODEL;let t=e.replace(/\[1m\]$/i,``),n=Se(t);if(!n)return t;let r=`GEMINI_DEFAULT_${n.toUpperCase()}_MODEL`,i=process.env[r];if(i)return i;let a=`ANTHROPIC_DEFAULT_${n.toUpperCase()}_MODEL`,o=process.env[a];if(o)return o;throw Error(`Gemini provider requires GEMINI_MODEL or ${r} (or ${a} for backward compatibility) to be configured.`)}var we=e((()=>{})),Te,Ee=e((()=>{Te=`_geminiThoughtSignature`}));function De(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function Oe(e,t){let n=[],r=new Map;for(let t of e){if(t.type===`assistant`){let e=Me(t);e.parts.length>0&&n.push(e);let i=t.message.content;if(Array.isArray(i))for(let e of i)typeof e!=`string`&&e.type===`tool_use`&&r.set(e.id,e.name);continue}if(t.type===`user`){let e=Ae(t,r);e.parts.length>0&&n.push(e)}}let i=ke(t);return{contents:n,...i?{systemInstruction:{parts:[{text:i}]}}:{}}}function ke(e){return!e||e.length===0?``:e.filter(Boolean).join(`
|
|
2
|
-
|
|
3
|
-
`)}function Ae(e,t){let n=e.message.content;return typeof n==`string`?{role:`user`,parts:S(n)}:Array.isArray(n)?{role:`user`,parts:n.flatMap(e=>je(e,t))}:{role:`user`,parts:[]}}function je(e,t){if(typeof e==`string`)return S(e);if(e.type===`text`)return S(e.text);if(e.type===`tool_result`){let n=e;return[{functionResponse:{name:t.get(n.tool_use_id)??n.tool_use_id,response:Fe(n)}}]}if(e.type===`image`){let t=e.source;if(t?.type===`base64`&&typeof t.data==`string`)return[{inlineData:{mimeType:t.media_type||`image/png`,data:t.data}}];if(t?.type===`url`&&typeof t.url==`string`)return S(`[image: ${t.url}]`)}return[]}function Me(e){let t=e.message.content;if(typeof t==`string`)return{role:`model`,parts:S(t)};if(!Array.isArray(t))return{role:`model`,parts:[]};let n=[];for(let e of t){if(typeof e==`string`){n.push(...S(e));continue}if(e.type===`text`){n.push(...S(e.text,C(e)));continue}if(e.type===`thinking`){let t=Ne(e.thinking,e.signature);t&&n.push(t);continue}if(e.type===`tool_use`){let t=e;n.push({functionCall:{name:t.name,args:Pe(t.input)},...C(e)&&{thoughtSignature:C(e)}})}}return{role:`model`,parts:n}}function S(e,t){return typeof e!=`string`||e.length===0?[]:[{text:e,...t&&{thoughtSignature:t}}]}function Ne(e,t){if(!(typeof e!=`string`||e.length===0))return{text:e,thought:!0,...t&&{thoughtSignature:t}}}function Pe(e){if(typeof e==`string`){let t=De(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:t===null?{}:{value:t}}return e&&typeof e==`object`&&!Array.isArray(e)?e:e===void 0?{}:{value:e}}function Fe(e){let t=Ie(e.content);return t&&typeof t==`object`&&!Array.isArray(t)?e.is_error?{...t,is_error:!0}:t:{result:t,...e.is_error?{is_error:!0}:{}}}function Ie(e){if(typeof e==`string`)return De(e)??e;if(Array.isArray(e)){let t=e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
|
|
4
|
-
`);return De(t)??t}return e??``}function C(e){let t=e[Te];return typeof t==`string`&&t.length>0?t:void 0}var Le=e((()=>{Ee()}));function Re(e){if(typeof e==`string`)return T.has(e)?e:void 0;if(Array.isArray(e)){let t=e.filter(e=>typeof e==`string`&&T.has(e)),n=Array.from(new Set(t));return n.length===0?void 0:n.length===1?n[0]:n}}function ze(e){if(e===null)return`null`;if(Array.isArray(e))return`array`;if(typeof e==`string`)return`string`;if(typeof e==`boolean`)return`boolean`;if(typeof e==`number`)return Number.isInteger(e)?`integer`:`number`;if(typeof e==`object`)return`object`}function Be(e){let t=e.map(ze).filter(e=>e!==void 0),n=Array.from(new Set(t));if(n.length!==0)return n.length===1?n[0]:n}function Ve(e){return e===void 0?[`null`]:Array.isArray(e)?e.includes(`null`)?e:[...e,`null`]:e===`null`?e:[e,`null`]}function He(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let t=Object.entries(e).map(([e,t])=>[e,w(t)]).filter(([,e])=>Object.keys(e).length>0);if(t.length!==0)return Object.fromEntries(t)}function Ue(e){if(!Array.isArray(e))return;let t=e.map(e=>w(e)).filter(e=>Object.keys(e).length>0);return t.length>0?t:void 0}function w(e){if(!e||typeof e!=`object`||Array.isArray(e))return{};let t=e,n={},r=Re(t.type);t.const===void 0?Array.isArray(t.enum)&&t.enum.length>0&&(n.enum=t.enum,r=r??Be(t.enum)):(n.enum=[t.const],r=r??ze(t.const)),r||(t.properties&&typeof t.properties==`object`?r=`object`:(t.items!==void 0||t.prefixItems!==void 0)&&(r=`array`)),t.nullable===!0&&(r=Ve(r)),r&&(n.type=r),typeof t.title==`string`&&(n.title=t.title),typeof t.description==`string`&&(n.description=t.description),typeof t.format==`string`&&(n.format=t.format),typeof t.pattern==`string`&&(n.pattern=t.pattern),typeof t.minimum==`number`?n.minimum=t.minimum:typeof t.exclusiveMinimum==`number`&&(n.minimum=t.exclusiveMinimum),typeof t.maximum==`number`?n.maximum=t.maximum:typeof t.exclusiveMaximum==`number`&&(n.maximum=t.exclusiveMaximum),typeof t.minItems==`number`&&(n.minItems=t.minItems),typeof t.maxItems==`number`&&(n.maxItems=t.maxItems),typeof t.minLength==`number`&&(n.minLength=t.minLength),typeof t.maxLength==`number`&&(n.maxLength=t.maxLength),typeof t.minProperties==`number`&&(n.minProperties=t.minProperties),typeof t.maxProperties==`number`&&(n.maxProperties=t.maxProperties);let i=He(t.properties);if(i&&(n.properties=i,n.propertyOrdering=Object.keys(i)),Array.isArray(t.required)){let e=t.required.filter(e=>typeof e==`string`);e.length>0&&(n.required=e)}if(typeof t.additionalProperties==`boolean`)n.additionalProperties=t.additionalProperties;else{let e=w(t.additionalProperties);Object.keys(e).length>0&&(n.additionalProperties=e)}let a=w(t.items);Object.keys(a).length>0&&(n.items=a);let o=Ue(t.prefixItems);o&&(n.prefixItems=o);let s=Ue(t.anyOf??t.oneOf);return s&&(n.anyOf=s),n}function We(e){let t=w(e);return Object.keys(t).length>0?t:{type:`object`,properties:{}}}function Ge(e){let t=e.filter(e=>{let t=e.type;return e.type===`custom`||!(`type`in e)||t!==`server`}).map(e=>{let t=e;return{name:t.name||``,description:t.description||``,parametersJsonSchema:We(t.input_schema??{type:`object`,properties:{}})}});return t.length>0?[{functionDeclarations:t}]:[]}function Ke(e){if(!e||typeof e!=`object`)return;let t=e;switch(t.type){case`auto`:return{mode:`AUTO`};case`any`:return{mode:`ANY`};case`tool`:return{mode:`ANY`,allowedFunctionNames:typeof t.name==`string`?[t.name]:void 0};default:return}}var T,qe=e((()=>{T=new Set([`string`,`number`,`integer`,`boolean`,`object`,`array`,`null`])}));async function*Je(e,t){let n=`msg_${b().replace(/-/g,``).slice(0,24)}`,r=!1,i=!1,a=0,o=null,s=!1,c,l=0,u=0,d=0;for await(let i of e){let e=i.usageMetadata;e&&(l=e.promptTokenCount??l,u=(e.candidatesTokenCount??0)+(e.thoughtsTokenCount??0),d=e.cachedContentTokenCount??d),r||(r=!0,yield{type:`message_start`,message:{id:n,type:`message`,role:`assistant`,content:[],model:t,stop_reason:null,stop_sequence:null,usage:{input_tokens:l,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:d}}});let f=i.candidates?.[0],p=f?.content?.parts??[];for(let e of p){if(e.functionCall){o&&(yield{type:`content_block_stop`,index:o.index},o=null),s=!0;let t=a++;yield{type:`content_block_start`,index:t,content_block:{type:`tool_use`,id:`toolu_${b().replace(/-/g,``).slice(0,24)}`,name:e.functionCall.name||``,input:{}}},e.thoughtSignature&&(yield{type:`content_block_delta`,index:t,delta:{type:`signature_delta`,signature:e.thoughtSignature}}),e.functionCall.args&&Object.keys(e.functionCall.args).length>0&&(yield{type:`content_block_delta`,index:t,delta:{type:`input_json_delta`,partial_json:JSON.stringify(e.functionCall.args)}}),yield{type:`content_block_stop`,index:t};continue}let t=Ye(e);if(t){(!o||o.type!==t)&&(o&&(yield{type:`content_block_stop`,index:o.index}),o={index:a++,type:t},yield{type:`content_block_start`,index:o.index,content_block:t===`thinking`?{type:`thinking`,thinking:``,signature:``}:{type:`text`,text:``}}),e.text&&(yield{type:`content_block_delta`,index:o.index,delta:t===`thinking`?{type:`thinking_delta`,thinking:e.text}:{type:`text_delta`,text:e.text}}),e.thoughtSignature&&(yield{type:`content_block_delta`,index:o.index,delta:{type:`signature_delta`,signature:e.thoughtSignature}});continue}e.thoughtSignature&&o&&(yield{type:`content_block_delta`,index:o.index,delta:{type:`signature_delta`,signature:e.thoughtSignature}})}f?.finishReason&&(c=f.finishReason)}r&&(o&&(yield{type:`content_block_stop`,index:o.index}),i||(yield{type:`message_delta`,delta:{stop_reason:Xe(c,s),stop_sequence:null},usage:{input_tokens:l,output_tokens:u,cache_creation_input_tokens:0,cache_read_input_tokens:d}},yield{type:`message_stop`},i=!0))}function Ye(e){return typeof e.text==`string`?e.thought?`thinking`:`text`:null}function Xe(e,t){switch(e){case`MAX_TOKENS`:return`max_tokens`;default:return t?`tool_use`:`end_turn`}}var Ze=e((()=>{}));function E(e){if(!e||typeof e!=`object`)return null;let t=e,n=0;for(;t&&n<5;){if(t instanceof Error&&`code`in t&&typeof t.code==`string`){let e=t.code,n=rt.has(e);return{code:e,message:t.message,isSSLError:n}}if(t instanceof Error&&`cause`in t&&t.cause!==t)t=t.cause,n++;else break}return null}function Qe(e){let t=E(e);return t?.isSSLError?`SSL certificate error (${t.code}). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run /doctor for details.`:null}function D(e){if(e.includes(`<!DOCTYPE html`)||e.includes(`<html`)){let t=e.match(/<title>([^<]+)<\/title>/);return t&&t[1]?t[1].trim():``}return e}function $e(e){let t=e.message;return t?D(t):``}function et(e){return typeof e==`object`&&!!e&&`error`in e&&typeof e.error==`object`&&e.error!==null}function tt(e){if(!et(e))return null;let t=e.error,n=t?.error?.message;if(typeof n==`string`&&n.length>0){let e=D(n);if(e.length>0)return e}let r=t?.message;if(typeof r==`string`&&r.length>0){let e=D(r);if(e.length>0)return e}return null}function nt(e){let t=E(e);if(t){let{code:e,isSSLError:n}=t;if(e===`ETIMEDOUT`)return`Request timed out. Check your internet connection and proxy settings`;if(n)switch(e){case`UNABLE_TO_VERIFY_LEAF_SIGNATURE`:case`UNABLE_TO_GET_ISSUER_CERT`:case`UNABLE_TO_GET_ISSUER_CERT_LOCALLY`:return`Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates`;case`CERT_HAS_EXPIRED`:return`Unable to connect to API: SSL certificate has expired`;case`CERT_REVOKED`:return`Unable to connect to API: SSL certificate has been revoked`;case`DEPTH_ZERO_SELF_SIGNED_CERT`:case`SELF_SIGNED_CERT_IN_CHAIN`:return`Unable to connect to API: Self-signed certificate detected. Check your proxy or corporate SSL certificates`;case`ERR_TLS_CERT_ALTNAME_INVALID`:case`HOSTNAME_MISMATCH`:return`Unable to connect to API: SSL certificate hostname mismatch`;case`CERT_NOT_YET_VALID`:return`Unable to connect to API: SSL certificate is not yet valid`;default:return`Unable to connect to API: SSL error (${e})`}}if(e.message===`Connection error.`)return t?.code?`Unable to connect to API (${t.code})`:`Unable to connect to API. Check your internet connection`;if(!e.message)return tt(e)??`API error (status ${e.status??`unknown`})`;let n=$e(e);return n!==e.message&&n.length>0?n:e.message}var rt,it=e((()=>{rt=new Set([`UNABLE_TO_VERIFY_LEAF_SIGNATURE`,`UNABLE_TO_GET_ISSUER_CERT`,`UNABLE_TO_GET_ISSUER_CERT_LOCALLY`,`CERT_SIGNATURE_FAILURE`,`CERT_NOT_YET_VALID`,`CERT_HAS_EXPIRED`,`CERT_REVOKED`,`CERT_REJECTED`,`CERT_UNTRUSTED`,`DEPTH_ZERO_SELF_SIGNED_CERT`,`SELF_SIGNED_CERT_IN_CHAIN`,`CERT_CHAIN_TOO_LONG`,`PATH_LENGTH_EXCEEDED`,`ERR_TLS_CERT_ALTNAME_INVALID`,`HOSTNAME_MISMATCH`,`ERR_TLS_HANDSHAKE_TIMEOUT`,`ERR_SSL_WRONG_VERSION_NUMBER`,`ERR_SSL_DECRYPTION_FAILED_OR_BAD_RECORD_MAC`])}));function at(e,t,n){let r=[],i=ot(t);i&&r.push({role:`system`,content:i});for(let t of e)switch(t.type){case`user`:r.push(...st(t));break;case`assistant`:r.push(...lt(t));break;default:break}return r}function ot(e){return!e||e.length===0?``:e.filter(Boolean).join(`
|
|
5
|
-
|
|
6
|
-
`)}function st(e){let t=[],n=e.message.content;if(typeof n==`string`)t.push({role:`user`,content:n});else if(Array.isArray(n)){let e=[],r=[],i=[];for(let t of n)if(typeof t==`string`)e.push(t);else if(t.type===`text`)e.push(t.text);else if(t.type===`tool_result`)r.push(t);else if(t.type===`image`){let e=ut(t);e&&i.push(e)}for(let e of r)t.push(ct(e));if(i.length>0){let n=[];e.length>0&&n.push({type:`text`,text:e.join(`
|
|
7
|
-
`)}),n.push(...i),t.push({role:`user`,content:n})}else e.length>0&&t.push({role:`user`,content:e.join(`
|
|
8
|
-
`)})}return t}function ct(e){let t;return t=typeof e.content==`string`?e.content:Array.isArray(e.content)?e.content.map(e=>typeof e==`string`?e:`text`in e?e.text:``).filter(Boolean).join(`
|
|
9
|
-
`):``,{role:`tool`,tool_call_id:e.tool_use_id,content:t}}function lt(e){let t=e.message.content;if(typeof t==`string`)return[{role:`assistant`,content:t}];if(!Array.isArray(t))return[{role:`assistant`,content:``}];let n=[],r=[],i=[];for(let e of t)if(typeof e==`string`)n.push(e);else if(e.type===`text`)n.push(e.text);else if(e.type===`tool_use`){let t=e;r.push({id:t.id,type:`function`,function:{name:t.name,arguments:typeof t.input==`string`?t.input:JSON.stringify(t.input)}})}else if(e.type===`thinking`){let t=e.thinking;typeof t==`string`&&i.push(t)}return[{role:`assistant`,content:n.length>0?n.join(`
|
|
10
|
-
`):null,...r.length>0&&{tool_calls:r},...i.length>0&&{reasoning_content:i.join(`
|
|
11
|
-
`)}}]}function ut(e){let t=e.source;return t?t.type===`base64`&&typeof t.data==`string`?{type:`image_url`,image_url:{url:`data:${t.media_type||`image/png`};base64,${t.data}`}}:t.type===`url`&&typeof t.url==`string`?{type:`image_url`,image_url:{url:t.url}}:null:null}var dt=e((()=>{}));function ft(e){return e.filter(e=>{let t=e.type;return e.type===`custom`||!(`type`in e)||t!==`server`}).map(e=>{let t=e,n=t.name||``,r=t.description||``,i=t.input_schema;return{type:`function`,function:{name:n,description:r,parameters:O(i||{type:`object`,properties:{}})}}})}function O(e){if(!e||typeof e!=`object`)return e;let t={...e};`const`in t&&(t.enum=[t.const],delete t.const);for(let e of[`properties`,`definitions`,`$defs`,`patternProperties`]){let n=t[e];if(n&&typeof n==`object`){let r={};for(let[e,t]of Object.entries(n))r[e]=t&&typeof t==`object`?O(t):t;t[e]=r}}for(let e of[`items`,`additionalProperties`,`not`,`if`,`then`,`else`,`contains`,`propertyNames`]){let n=t[e];n&&typeof n==`object`&&!Array.isArray(n)&&(t[e]=O(n))}for(let e of[`anyOf`,`oneOf`,`allOf`]){let n=t[e];Array.isArray(n)&&(t[e]=n.map(e=>e&&typeof e==`object`?O(e):e))}return t}function pt(e){if(!e||typeof e!=`object`)return;let t=e;switch(t.type){case`auto`:return`auto`;case`any`:return`required`;case`tool`:return{type:`function`,function:{name:t.name}};default:return}}var mt=e((()=>{}));async function*ht(e,t){let n=`msg_${b().replace(/-/g,``).slice(0,24)}`,r=!1,i=-1,a=new Map,o=!1,s=!1,c=0,l=0,u=0,d=0,f=new Set,p=null,m=!1;for await(let h of e){let e=h.choices?.[0],g=e?.delta;if(h.usage){c=h.usage.prompt_tokens??c;let e=h.usage.prompt_tokens_details?.cached_tokens??d;l=Math.max(0,c-e),u=h.usage.completion_tokens??u,d=e}if(r||(r=!0,yield{type:`message_start`,message:{id:n,type:`message`,role:`assistant`,content:[],model:t,stop_reason:null,stop_sequence:null,usage:{input_tokens:l,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:d}}}),!g)continue;let _=g.reasoning_content;if(_!=null&&(o||(i++,o=!0,f.add(i),yield{type:`content_block_start`,index:i,content_block:{type:`thinking`,thinking:``,signature:``}}),_!==``&&(yield{type:`content_block_delta`,index:i,delta:{type:`thinking_delta`,thinking:_}})),g.content!=null&&g.content!==``&&(s||(o&&(yield{type:`content_block_stop`,index:i},f.delete(i),o=!1),i++,s=!0,f.add(i),yield{type:`content_block_start`,index:i,content_block:{type:`text`,text:``}}),yield{type:`content_block_delta`,index:i,delta:{type:`text_delta`,text:g.content}}),g.tool_calls)for(let e of g.tool_calls){let t=e.index;if(!a.has(t)){o&&(yield{type:`content_block_stop`,index:i},f.delete(i),o=!1),s&&(yield{type:`content_block_stop`,index:i},f.delete(i),s=!1),i++;let n=e.id||`toolu_${b().replace(/-/g,``).slice(0,24)}`,r=e.function?.name||``;a.set(t,{contentIndex:i,id:n,name:r,arguments:``}),f.add(i),yield{type:`content_block_start`,index:i,content_block:{type:`tool_use`,id:n,name:r,input:{}}}}let n=e.function?.arguments;n&&(a.get(t).arguments+=n,yield{type:`content_block_delta`,index:a.get(t).contentIndex,delta:{type:`input_json_delta`,partial_json:n}})}if(e?.finish_reason){o&&(yield{type:`content_block_stop`,index:i},f.delete(i),o=!1),s&&(yield{type:`content_block_stop`,index:i},f.delete(i),s=!1);for(let[,e]of a)f.has(e.contentIndex)&&(yield{type:`content_block_stop`,index:e.contentIndex},f.delete(e.contentIndex));p=e.finish_reason,m=a.size>0}}for(let e of f)yield{type:`content_block_stop`,index:e};p!==null&&(yield{type:`message_delta`,delta:{stop_reason:p===`length`?`max_tokens`:m?`tool_use`:gt(p),stop_sequence:null},usage:{input_tokens:l,output_tokens:u,cache_read_input_tokens:d,cache_creation_input_tokens:0}},yield{type:`message_stop`})}function gt(e){switch(e){case`stop`:return`end_turn`;case`tool_calls`:return`tool_use`;case`length`:return`max_tokens`;case`content_filter`:return`end_turn`;default:return`end_turn`}}var _t=e((()=>{})),vt=e((()=>{fe(),ge(),xe(),we(),Le(),qe(),Ze(),Ee(),it(),dt(),mt(),_t()}));function k(){return A||(A=i()),A}function yt(e,t){return typeof Bun<`u`?Bun.semver.order(e,t)===1:k().gt(e,t,{loose:!0})}function bt(e,t){return typeof Bun<`u`?Bun.semver.order(e,t)>=0:k().gte(e,t,{loose:!0})}function xt(e,t){return typeof Bun<`u`?Bun.semver.order(e,t)===-1:k().lt(e,t,{loose:!0})}function St(e,t){return typeof Bun<`u`?Bun.semver.satisfies(e,t):k().satisfies(e,t,{loose:!0})}var A,Ct=e((()=>{}));function wt(){let e=s();if(e!==void 0)return e;let t=process.env.CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR;if(!t){let e=ie(process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE??y,`session ingress token`);return o(e),e}let n=parseInt(t,10);if(Number.isNaN(n))return p(`CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR must be a valid file descriptor number, got: ${t}`,{level:`error`}),o(null),null;try{let e=f(),t=process.platform===`darwin`||process.platform===`freebsd`?`/dev/fd/${n}`:`/proc/self/fd/${n}`,r=e.readFileSync(t,{encoding:`utf8`}).trim();return r?(p(`Successfully read token from file descriptor ${n}`),o(r),ne(y,r,`session ingress token`),r):(p(`File descriptor contained empty token`,{level:`error`}),o(null),null)}catch(e){p(`Failed to read token from file descriptor ${n}: ${u(e)}`,{level:`error`});let t=ie(process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE??y,`session ingress token`);return o(t),t}}function Tt(){return process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN||wt()}function Et(){let e=Tt();if(!e)return{};if(e.startsWith(`sk-ant-sid`)){let t={Cookie:`sessionKey=${e}`},n=process.env.CLAUDE_CODE_ORGANIZATION_UUID;return n&&(t[`X-Organization-Uuid`]=n),t}return{Authorization:`Bearer ${e}`}}function Dt(e){process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN=e}var Ot=e((()=>{a(),re(),d(),_(),h()}));function j(e){l()&&(M.length>=jt&&M.shift(),M.push(e))}function kt(){return M.length===0?[]:M.splice(0).map(e=>({...e,uuid:b(),session_id:c()}))}function At(e,t,n){j({type:`system`,subtype:`task_notification`,task_id:e,tool_use_id:n?.toolUseId,status:t,output_file:n?.outputFile??``,summary:n?.summary??``,usage:n?.usage})}var jt,M,Mt=e((()=>{a(),jt=1e3,M=[]})),Nt=t({activateProactive:()=>Pt,deactivateProactive:()=>Ft,getActivationSource:()=>Ut,getNextTickAt:()=>Ht,isContextBlocked:()=>Bt,isProactiveActive:()=>P,isProactivePaused:()=>It,pauseProactive:()=>Lt,resumeProactive:()=>Rt,setContextBlocked:()=>zt,setNextTickAt:()=>Vt,shouldTick:()=>Gt,subscribeToProactiveChanges:()=>Wt});function N(){for(let e of B)try{e()}catch{}}function P(){return F}function Pt(e){F||(F=!0,I=!1,L=!1,z=e,N())}function Ft(){F&&(F=!1,I=!1,L=!1,R=null,z=void 0,N())}function It(){return I}function Lt(){!F||I||(I=!0,R=null,N())}function Rt(){!F||!I||(I=!1,N())}function zt(e){L!==e&&(L=e,e&&(R=null),N())}function Bt(){return L}function Vt(e){R=e,N()}function Ht(){return!F||I||L?null:R}function Ut(){return z}function Wt(e){return B.add(e),()=>{B.delete(e)}}function Gt(){return F&&!I&&!L}var F,I,L,R,z,B,Kt=e((()=>{F=!1,I=!1,L=!1,R=null,B=new Set}));function qt(){V(),q=setInterval(()=>{v(`debug`,`session_keepalive_heartbeat`,{refcount:W}),n(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES)&&U?.()},H)}function Jt(){V(),U!==null&&(J=setTimeout(()=>{v(`info`,`session_idle_30s`),J=null},H))}function V(){J!==null&&(clearTimeout(J),J=null)}function Yt(e){U=e,W>0&&q===null&&qt()}function Xt(){U=null,q!==null&&(clearInterval(q),q=null),V()}function Zt(){n(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES)&&U?.()}function Qt(){return U!==null}function $t(e){W++,G.set(e,(G.get(e)??0)+1),W===1&&(K=Date.now(),U!==null&&q===null&&qt()),tn||(tn=!0,g(async()=>{v(`info`,`session_activity_at_shutdown`,{refcount:W,active:Object.fromEntries(G),oldest_activity_ms:W>0&&K!==null?Date.now()-K:null})}))}function en(e){W>0&&W--;let t=(G.get(e)??0)-1;t>0?G.set(e,t):G.delete(e),W===0&&q!==null&&(clearInterval(q),q=null,Jt())}var H,U,W,G,K,q,J,tn,nn=e((()=>{m(),ee(),r(),H=3e4,U=null,W=0,G=new Map,K=null,q=null,J=null,tn=!1}));function rn(){return!1}async function an(){return!1}function on(){return!1}function sn(){return!0}function cn(){return null}var ln=e((()=>{ae(),te(),r(),Ct()}));function un(e){xn=e}function dn(e,t){if(X=e,!e||!t?.replayCurrent)return;let n=gn();Object.keys(n).length!==0&&e(n)}function fn(e){Sn=e}function pn(e){return!e||e.enabled!==!0?null:{enabled:!0,phase:e.phase===`standby`||e.phase===`sleeping`?e.phase:null,next_tick_at:typeof e.next_tick_at==`number`?e.next_tick_at:null,sleep_until:typeof e.sleep_until==`number`?e.sleep_until:null}}function mn(e){return JSON.stringify(e)}function hn(e){let t={...$};for(let n of Object.keys(e)){let r=e[n];if(r===void 0){delete t[n];continue}t[n]=r}$=t}function gn(){let e={...$};return Q?e.automation_state={...Q}:`automation_state`in $&&(e.automation_state=$.automation_state??null),e}function _n(){return Cn}function vn(e,t){Cn=e,xn?.(e,t),e===`requires_action`&&t?(Z=!0,Y({pending_action:t})):Z&&(Z=!1,Y({pending_action:null})),e===`idle`&&Y({task_summary:null}),e!==`idle`&&yn(P()?{enabled:!0,phase:null,next_tick_at:null,sleep_until:null}:null),n(process.env.CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS)&&j({type:`system`,subtype:`session_state_changed`,state:e})}function Y(e){hn(e),X?.(e)}function yn(e){let t=pn(e);mn(t)!==mn(Q)&&(Q=t,hn({automation_state:t}),X?.({automation_state:t}))}function bn(e){Sn?.(e)}var xn,X,Sn,Z,Cn,Q,$,wn=e((()=>{Kt(),r(),Mt(),xn=null,X=null,Sn=null,Z=!1,Cn=`idle`,Q=null,$={}}));export{Qe as $,kt as A,Ct as B,Kt as C,Nt as D,It as E,Tt as F,_t as G,St as H,Ot as I,mt as J,pt as K,Dt as L,j as M,Mt as N,Vt as O,Et as P,nt as Q,yt as R,Xt as S,P as T,vt as U,xt as V,ht as W,dt as X,at as Y,E as Z,Qt as _,de as _t,Y as a,qe as at,$t as b,dn as c,Te as ct,ln as d,Ce as dt,it as et,rn as f,xe as ft,nn as g,ue as gt,on as h,me as ht,bn as i,Ge as it,At as j,Gt as k,un as l,Ee as lt,sn as m,ge as mt,wn as n,Ze as nt,vn as o,Oe as ot,an as p,ye as pt,ft as q,yn as r,Ke as rt,fn as s,Le as st,_n as t,Je as tt,cn as u,we as ut,Yt as v,se as vt,Bt as w,en as x,Zt as y,ce as yt,bt as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ar as e,Lr as t,oi as n}from"./loadAgentsDir-CKSb56Gp.js";e();export{t as linkSessionToPR,n as recordTranscript};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,g as t,x as n}from"./settings-Xbq6AaD-.js";t();export{e as getSettingsForSource,n as updateSettingsForSource};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Ix as t,ub as n}from"./loadAgentsDir-CKSb56Gp.js";import{A as r,C as i,O as a,w as o}from"./external-CEp-aPkt.js";import{n as s,r as c,t as l}from"./lazySchema-B4D4qJVE.js";import{Kt as u}from"./state-Bs5xweDL.js";import{z as d}from"./debug-BdqxZ7rV.js";import{g as f}from"./settings-Xbq6AaD-.js";import{h as p}from"./config-D4G8_MqJ.js";import{O as m,m as h}from"./git-B9uvt96d.js";import{u as g}from"./oauth-C9VBDB0Y.js";import{Bt as _,si as v}from"./model-C2e73CJD.js";import"path";import"fs/promises";var y,b=e((()=>{c(),l(),y=s(()=>o({entries:a(r(),r())})),s(()=>o({userId:r(),version:i(),lastModified:r(),checksum:r(),content:y()}))})),x=e((()=>{u(),g(),_(),t(),p(),m(),d(),h(),v(),f(),n(),b()}));export{x as t};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{l as e,o as t,s as n}from"./envUtils-BDhHQY0-.js";import{Ar as r,Dv as i,FT as a,Ix as o,Ji as s,NT as c,Nt as l,Ov as u,Si as d,Tt as f,Tv as ee,Ui as te,_n as ne,bv as p,jx as m,kv as h,my as g,py as _,vn as v,vt as y,wv as b,xt as x,xv as S,yt as C}from"./loadAgentsDir-CKSb56Gp.js";import{di as w,ui as T}from"./src-P_wYS_NJ2.js";import{Hn as E,Kt as D,Wn as O,at as k,lr as A,mt as j,z as M}from"./state-Bs5xweDL.js";import{n as N,t as P}from"./cwd-L4wygFqJ.js";import{F,z as I}from"./debug-BdqxZ7rV.js";import{Gt as L,Jt as R}from"./settings-Xbq6AaD-.js";import{h as z,o as B}from"./config-D4G8_MqJ.js";import{O as V,k as H,l as U,m as W,n as G,r as K}from"./git-B9uvt96d.js";import{o as re,s as q}from"./log-CTFl4qpD.js";import{n as J,r as Y}from"./analytics-DJobLaWP.js";import{n as X,r as Z}from"./startupProfiler-jeId9f2i.js";import{Bt as ie,rn as ae}from"./model-C2e73CJD.js";import{ft as oe,ut as Q}from"./esm-DcIr7tVd.js";import{h as se,l as ce,p as le,u as ue}from"./terminalSetup-DTGm1Eo2.js";import{c as de,t as fe}from"./nativeInstaller-DQIFwdat.js";import{l as pe,s as $}from"./logoV2Utils-we1sfJvf.js";import{n as me,r as he}from"./sessionMemory-fAzgAS7Q.js";import{i as ge,r as _e}from"./runtimeObserver-DonWCJOx.js";import{t as ve}from"./sinks-C7q46rvE.js";w(),J(),N(),p(),D(),s(),he(),ge(),g(),ue(),ie(),o(),z(),V(),R(),oe(),t(),I(),W(),b(),u(),v(),re(),pe(),fe(),le(),a(),r(),X(),f();async function ye(t,r,a,o,s,u,f,p,g){H(`info`,`setup_started`);let v=process.version.match(/^v(\d+)\./)?.[1];if((!v||parseInt(v,10)<18)&&(console.error(T.bold.red(`Error: Work Mate requires Node.js version 18 or higher.`)),process.exit(1)),f&&A(_(f)),n(),!M())try{let e=await ce();e.status===`restored`?console.log(T.yellow(`Detected an interrupted Terminal.app setup. Your original settings have been restored. You may need to restart Terminal.app for the changes to take effect.`)):e.status===`failed`&&console.error(T.red(`Failed to restore Terminal.app settings. Please manually restore your original settings with: defaults import com.apple.Terminal ${e.backupPath}.`))}catch(e){q(e)}S(t);let b=Date.now();if(i(),H(`info`,`setup_hooks_captured`,{duration_ms:Date.now()-b}),ee(t),o){let e=ne(),n=await U();!e&&!n&&(process.stderr.write(T.red(`Error: Can only use --worktree in a git repository, but ${T.bold(t)} is not a git repository. Configure a WorktreeCreate hook in settings.json to use --worktree with other VCS systems.\n`)),process.exit(1));let r=p?`pr-${p}`:s??c(),i;if(n){let e=G(P());e||(process.stderr.write(T.red(`Error: Could not determine the main git repository root.
|
|
2
|
-
`)),process.exit(1)),e!==(K(P())??P())&&(H(`info`,`worktree_resolved_to_main_repo`),process.chdir(e),S(e)),i=u?x(e,l(r)):void 0}else i=u?x(P(),l(r)):void 0;let a;try{a=await C(j(),r,i,p?{prNumber:p}:void 0)}catch(e){process.stderr.write(T.red(`Error creating worktree: ${F(e)}\n`)),process.exit(1)}if(Y(`tengu_worktree_created`,{tmux_enabled:u}),u&&i){let e=await y(i,a.worktreePath);e.created?console.log(T.green(`Created tmux session: ${T.bold(i)}\nTo attach: ${T.bold(`tmux attach -t ${i}`)}`)):console.error(T.yellow(`Warning: Failed to create tmux session: ${e.error}`))}process.chdir(a.worktreePath),S(a.worktreePath),E(P()),O(P()),d(a),m(),h()}H(`info`,`setup_background_jobs_starting`),n()||(me(),_e()),de(),H(`info`,`setup_background_jobs_launched`),Z(`setup_before_prefetch`),H(`info`,`setup_prefetch_starting`);let w=M()&&e(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL)||n();if(w||te(k()),import(`./loadPluginHooks-LbaURHVH.js`).then(e=>{w||(e.loadPluginHooks(),e.setupPluginHookHotReload())}),n()||(setImmediate(()=>{import(`./attributionHooks-CUAoGkU6.js`).then(({registerAttributionHooks:e})=>{e()})}),import(`./sessionFileAccessHooks-Xfr1NiXG.js`).then(e=>e.registerSessionFileAccessHooks())),ve(),Y(`tengu_started`,{}),ae(M()),Z(`setup_after_prefetch`),!n()&&se()&&await $(),r===`bypassPermissions`||a){if(process.platform!==`win32`&&typeof process.getuid==`function`&&process.getuid()===0&&process.env.IS_SANDBOX!==`1`&&!e(process.env.CLAUDE_CODE_BUBBLEWRAP))if(process.stdin.isTTY){console.error(T.bold.red(`WARNING: Running as root/sudo with bypass permissions mode is dangerous.`)),console.error(T.yellow(`Bypass mode skips ALL permission checks. Combined with root, any command (rm -rf /, chmod, dd) executes without review.`));let e=(await import(`readline`)).createInterface({input:process.stdin,output:process.stdout}),t=await new Promise(t=>{e.question(`
|
|
3
|
-
I understand the risks. Continue? [y/N] `,t)});e.close(),t.trim().toLowerCase()!==`y`&&(console.error(`Aborted.`),process.exit(1))}else console.error(`--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons`),process.exit(1);if(process.env.CLAUDE_CODE_ENTRYPOINT!==`local-agent`&&process.env.CLAUDE_CODE_ENTRYPOINT!==`claude-desktop`){let[e,t]=await Promise.all([Q.getIsDocker(),L.hasInternetAccess()]),n=Q.getIsBubblewrapSandbox(),r=process.env.IS_SANDBOX===`1`;(!(e||n||r)||t)&&(console.error(`--dangerously-skip-permissions can only be used in Docker/sandbox containers with no internet access but got Docker: ${e}, Bubblewrap: ${n}, IS_SANDBOX: ${r}, hasInternet: ${t}`),process.exit(1))}}let D=B();D.lastCost!==void 0&&D.lastDuration!==void 0&&Y(`tengu_exit`,{last_session_cost:D.lastCost,last_session_api_duration:D.lastAPIDuration,last_session_tool_duration:D.lastToolDuration,last_session_duration:D.lastDuration,last_session_lines_added:D.lastLinesAdded,last_session_lines_removed:D.lastLinesRemoved,last_session_total_input_tokens:D.lastTotalInputTokens,last_session_total_output_tokens:D.lastTotalOutputTokens,last_session_total_cache_creation_input_tokens:D.lastTotalCacheCreationInputTokens,last_session_total_cache_read_input_tokens:D.lastTotalCacheReadInputTokens,last_session_fps_average:D.lastFpsAverage,last_session_fps_low_1_pct:D.lastFpsLow1Pct,last_session_id:D.lastSessionId,...D.lastSessionMetrics})}export{ye as setup};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./axios-DaWTGg7G.js";import{Kt as n,mt as r}from"./state-Bs5xweDL.js";import{S as i,a,at as o,d as s,l as c,nt as l,ot as u,p as d,rt as f,w as p}from"./debug-BdqxZ7rV.js";import{o as m,r as h,t as g,v as _,y as v}from"./log-CTFl4qpD.js";import{i as y,n as b,t as x}from"./analytics-DJobLaWP.js";import{a as S,n as C,o as w}from"./firstPartyEventLogger-DhEPWcit.js";import{r as T,t as E}from"./datadog-DrmHyl3_.js";import{dirname as D,join as O}from"path";t(),n(),u(),v(),l(),a(),d(),m(),i();var k=h(new Date);function A(){return O(_.errors(),k+`.jsonl`)}function j(e){return O(_.mcpLogs(e),k+`.jsonl`)}function M(e){let t=o(e);return{write(e){t.write(p(e)+`
|
|
2
|
-
`)},flush:t.flush,dispose:t.dispose}}var N=new Map;function P(e){let t=N.get(e);if(!t){let n=D(e);t=M({writeFn:t=>{try{s().appendFileSync(e,t)}catch{s().mkdirSync(n),s().appendFileSync(e,t)}},flushIntervalMs:1e3,maxBufferSize:50}),N.set(e,t),f(async()=>t?.dispose())}return t}function F(e,t){let n={timestamp:new Date().toISOString(),...t,cwd:s().cwd(),userType:process.env.USER_TYPE,sessionId:r(),version:`0.0.9`};P(e).write(n)}function I(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`)return t.message;if(typeof t.error==`object`&&t.error&&`message`in t.error&&typeof t.error.message==`string`)return t.error.message}}function L(t){let n=t.stack||t.message,r=``;if(e.isAxiosError(t)&&t.config?.url){let e=[`url=${t.config.url}`];t.response?.status!==void 0&&e.push(`status=${t.response.status}`);let n=I(t.response?.data);n&&e.push(`body=${n}`),r=`[${e.join(`,`)}] `}c(`${t.name}: ${r}${n}`,{level:`error`}),F(A(),{error:`${r}${n}`})}function R(e,t){c(`MCP server "${e}" ${t}`,{level:`error`});let n=j(e),i={error:t instanceof Error?t.stack||t.message:String(t),timestamp:new Date().toISOString(),sessionId:r(),cwd:s().cwd()};P(n).write(i)}function z(e,t){c(`MCP server "${e}": ${t}`);let n=j(e),i={debug:t,timestamp:new Date().toISOString(),sessionId:r(),cwd:s().cwd()};P(n).write(i)}function B(){g({logError:L,logMCPError:R,logMCPDebug:z,getErrorsPath:A,getMCPLogsPath:j}),c(`Error log sink initialized`)}E(),C(),b();function V(){return!1}function H(e,t){let n=w(e);if(n===0)return;let r=n===null?t:{...t,sample_rate:n};V()&&T(e,y(r)),S(e,r)}function U(e,t){return H(e,t),Promise.resolve()}function W(){x({logEvent:H,logEventAsync:U})}function G(){B(),W()}export{G as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./sinks-C7q46rvE.js";export{e as initSinks};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Ar as t,BT as n,FT as r,Ft as i,Gg as a,Hs as o,Ix as s,Ji as c,Li as ee,PT as l,Pc as te,Qh as ne,Ri as re,Si as u,St as d,Tt as ie,Ug as f,VT as p,Vg as ae,Vs as oe,Wg as m,Yv as h,Zh as g,Zv as _,bv as se,di as ce,ei as le,fi as ue,hE as de,hn as fe,ix as pe,jt as v,jx as y,kc as me,lD as he,mE as ge,m_ as _e,my as ve,oD as ye,p_ as be,py as b,qn as x,rx as S,uD as C,vl as w,vn as T,xv as E,yi as D,yl as O}from"./loadAgentsDir-CKSb56Gp.js";import{Fn as k,Hn as A,Kt as j,Pn as M,Y as N,fr as xe,h as Se,lr as Ce,mt as P,pr as we}from"./state-Bs5xweDL.js";import{n as Te,t as F}from"./cwd-L4wygFqJ.js";import{a as I,d as Ee,l as L,nt as De,p as Oe,rt as R}from"./debug-BdqxZ7rV.js";import{n as ke,r as Ae}from"./analytics-DJobLaWP.js";import{C as je,_ as Me}from"./model-C2e73CJD.js";import{Rt as Ne}from"./prompt-CybUvG8G.js";import*as z from"path";import{dirname as Pe}from"path";j(),ne(),S(),Ne(),ve(),s(),he(),me(),Te(),I(),_(),Me(),r(),se(),t(),n(),_e(),ie();function Fe(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.type!==`assistant`)continue;let r=n.message.content.find(e=>e.type===`tool_use`&&e.name===`TodoWrite`);if(!r||r.type!==`tool_use`)continue;let i=r.input;if(typeof i!=`object`||!i)return[];let a=be().safeParse(i.todos);return a.success?a.data:[]}return[]}function Ie(e,t){if(e.fileHistorySnapshots&&e.fileHistorySnapshots.length>0&&h(e.fileHistorySnapshots,e=>{t(t=>({...t,fileHistory:e}))}),e.attributionSnapshots&&e.attributionSnapshots.length>0&&ye(e.attributionSnapshots,e=>{t(t=>({...t,attribution:e}))}),!p()&&e.messages&&e.messages.length>0){let n=Fe(e.messages);if(n.length>0){let e=P();t(t=>({...t,todos:{...t.todos,[e]:n}}))}}}function Le(e){if(e.attributionSnapshots&&e.attributionSnapshots.length>0)return C(e.attributionSnapshots)}function B(e,t){if(!(!e&&!t))return{name:e??``,color:t==="default"?void 0:t}}function V(e,t,n){if(t)return{agentDefinition:t,agentType:void 0};if(!e)return k(void 0),{agentDefinition:void 0,agentType:void 0};let r=n.activeAgents.find(t=>t.agentType===e);return r?(k(r.agentType),!N()&&r.model&&r.model!==`inherit`&&M(je(r.model)),{agentDefinition:r,agentType:r.agentType}):(L(`Resumed session had agent "${e}" but it is no longer available. Using default behavior.`),k(void 0),{agentDefinition:void 0,agentType:void 0})}function H(e){let t=d();if(t){u(t);return}if(e){try{process.chdir(e.worktreePath)}catch{u(null);return}E(e.worktreePath),A(F()),v(e),y(),g(),l.cache.clear?.()}}function Re(){let e=d();if(e){v(null),y(),g(),l.cache.clear?.();try{process.chdir(e.originalCwd)}catch{return}E(e.originalCwd),A(F())}}async function ze(t,n,r){if(n.forkSession)t.contentReplacements?.length&&await le(t.contentReplacements);else{let e=n.sessionIdOverride??t.sessionId;e&&(Ce(b(e),n.transcriptPath?Pe(n.transcriptPath):null),await ce(),pe(e))}if(ue(n.forkSession?{...t,worktreeSession:void 0}:t),t.goal){let{hydrateGoalFromTranscript:r}=(O(),e(w)),i=new Map,a=n.sessionIdOverride??t.sessionId??P();i.set(a,t.goal),r(i,a)}n.forkSession||(H(t.worktreeSession),x());let{agentDefinition:i,agentType:a}=V(t.agentSetting,r.mainThreadAgentDefinition,r.agentDefinitions);D(`normal`);let o=n.includeAttribution?Le(t):void 0,s=B(t.agentName,t.agentColor);te(t.agentName);let c=r.agentDefinitions;return{messages:t.messages,fileHistorySnapshots:t.fileHistorySnapshots,contentReplacements:t.contentReplacements,agentName:t.agentName,agentColor:t.agentColor==="default"?void 0:t.agentColor,restoredAgentDef:i,initialState:{...r.initialState,...a&&{agent:a},...o&&{attribution:o},...s&&{standaloneAgentContext:s},agentDefinitions:c}}}de(),j(),c(),ke(),m(),oe(),De(),I(),Oe(),T(),we();var Be=1e3,Ve=500,He=300,Ue=2e3,We=typeof Bun<`u`,U=null,W=null,G=new Set,K=!1,q=!1,J=!1,Y=null,X=xe(),Z=null;async function Ge(){if(K||q)return;K=!0,J||(J=!0,a(()=>{ee(),X.emit()}));let e=await qe();e.length!==0&&(L(`Watching for changes in skill/command directories: ${e.join(`, `)}...`),U=ge.watch(e,{persistent:!0,ignoreInitial:!0,depth:2,awaitWriteFinish:{stabilityThreshold:Z?.stabilityThreshold??Be,pollInterval:Z?.pollInterval??Ve},ignored:(e,t)=>t&&!t.isFile()&&!t.isDirectory()?!0:e.split(z.sep).some(e=>e===`.git`),ignorePermissionErrors:!0,usePolling:We,interval:Z?.chokidarInterval??Ue,atomic:!0}),U.on(`add`,$),U.on(`change`,$),U.on(`unlink`,$),Y=R(async()=>{await Q()}))}function Q(){q=!0,Y&&(Y(),Y=null);let e=Promise.resolve();return U&&(e=U.close(),U=null),W&&(clearTimeout(W),W=null),G.clear(),X.clear(),e}var Ke=X.subscribe;async function qe(){let e=Ee(),t=[],n=f(`userSettings`,`skills`);if(n)try{await e.stat(n),t.push(n)}catch{}let r=f(`userSettings`,`commands`);if(r)try{await e.stat(r),t.push(r)}catch{}let i=f(`projectSettings`,`skills`);if(i)try{let n=z.resolve(i);await e.stat(n),t.push(n)}catch{}let a=f(`projectSettings`,`commands`);if(a)try{let n=z.resolve(a);await e.stat(n),t.push(n)}catch{}for(let n of Se()){let r=z.join(n,`.claude`,`skills`);try{await e.stat(r),t.push(r)}catch{}}return t}function $(e){L(`Detected skill change: ${e}`),Ae(`tengu_skill_file_changed`,{source:`chokidar`}),Je(e)}function Je(e){G.add(e),W&&clearTimeout(W),W=setTimeout(async()=>{W=null;let e=[...G];if(G.clear(),fe(await i(`skills`,e[0]))){L(`ConfigChange hook blocked skill reload (${e.length} paths)`);return}ae(),re(),o(),X.emit()},Z?.reloadDebounce??He)}async function Ye(e){U&&(await U.close(),U=null),W&&(clearTimeout(W),W=null),G.clear(),X.clear(),K=!1,q=!1,Z=e??null}var Xe={initialize:Ge,dispose:Q,subscribe:Ke,resetForTesting:Ye};export{V as a,ze as i,B as n,Ie as o,Re as r,H as s,Xe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./startupProfiler-jeId9f2i.js";e();export{t as profileCheckpoint};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Hn as e,Kt as t,mt as n,pn as r,t as i}from"./state-Bs5xweDL.js";t();export{i as addInvokedSkill,n as getSessionId,r as setCwdState,e as setOriginalCwd};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{a as t,c as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from"./isObject-C6qM3WEW.js";import{a as d,c as f,d as p,f as m,g as h,h as g,i as _,l as v,m as y,n as ee,o as te,p as ne,r as re,s as ie,t as ae,u as oe}from"./memoize-BK3gG5ob.js";import{i as b,n as se,r as x,t as ce}from"./isSymbol-BO6cdPI7.js";import{realpathSync as le}from"fs";import{randomUUID as ue}from"crypto";import{cwd as de}from"process";function fe(){this.__data__=new ie,this.size=0}var pe=e((()=>{f()}));function me(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var he=e((()=>{}));function ge(e){return this.__data__.get(e)}var _e=e((()=>{}));function ve(e){return this.__data__.has(e)}var ye=e((()=>{}));function be(e,t){var n=this.__data__;if(n instanceof ie){var r=n.__data__;if(!d||r.length<xe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new re(r)}return n.set(e,t),this.size=n.size,this}var xe,Se=e((()=>{f(),te(),_(),xe=200}));function S(e){var t=this.__data__=new ie(e);this.size=t.size}var Ce=e((()=>{f(),pe(),he(),_e(),ye(),Se(),S.prototype.clear=fe,S.prototype.delete=me,S.prototype.get=ge,S.prototype.has=ve,S.prototype.set=be}));function we(e){return this.__data__.set(e,Te),this}var Te,Ee=e((()=>{Te=`__lodash_hash_undefined__`}));function De(e){return this.__data__.has(e)}var Oe=e((()=>{}));function C(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new re;++t<n;)this.add(e[t])}var ke=e((()=>{_(),Ee(),Oe(),C.prototype.add=C.prototype.push=we,C.prototype.has=De}));function Ae(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var je=e((()=>{}));function Me(e,t){return e.has(t)}var Ne=e((()=>{}));function Pe(e,t,n,r,i,a){var o=n&Fe,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&Ie?new C:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!Ae(t,function(e,t){if(!Me(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}var Fe,Ie,Le=e((()=>{ke(),je(),Ne(),Fe=1,Ie=2})),w,Re=e((()=>{c(),w=n.Uint8Array}));function ze(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}var Be=e((()=>{}));function Ve(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var He=e((()=>{}));function Ue(e,t,n,r,i,a,o){switch(n){case nt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case tt:return!(e.byteLength!=t.byteLength||!a(new w(e),new w(t)));case Ke:case qe:case Xe:return v(+e,+t);case Je:return e.name==t.name&&e.message==t.message;case Ze:case $e:return e==t+``;case Ye:var s=ze;case Qe:var c=r&We;if(s||(s=Ve),e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Ge,o.set(e,t);var u=Pe(s(e),s(t),r,i,a,o);return o.delete(e),u;case et:if(T)return T.call(e)==T.call(t)}return!1}var We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,T,it=e((()=>{o(),Re(),oe(),Le(),Be(),He(),We=1,Ge=2,Ke=`[object Boolean]`,qe=`[object Date]`,Je=`[object Error]`,Ye=`[object Map]`,Xe=`[object Number]`,Ze=`[object RegExp]`,Qe=`[object Set]`,$e=`[object String]`,et=`[object Symbol]`,tt=`[object ArrayBuffer]`,nt=`[object DataView]`,rt=t?t.prototype:void 0,T=rt?rt.valueOf:void 0}));function at(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var ot=e((()=>{})),E,D=e((()=>{E=Array.isArray}));function st(e,t,n){var r=t(e);return E(e)?r:at(r,n(e))}var ct=e((()=>{ot(),D()}));function lt(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}var ut=e((()=>{}));function dt(){return[]}var ft=e((()=>{})),pt,mt,ht,gt=e((()=>{ut(),ft(),pt=Object.prototype.propertyIsEnumerable,mt=Object.getOwnPropertySymbols,ht=mt?function(e){return e==null?[]:(e=Object(e),lt(mt(e),function(t){return pt.call(e,t)}))}:dt}));function _t(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var vt=e((()=>{}));function yt(e){return b(e)&&s(e)==bt}var bt,xt=e((()=>{r(),x(),bt=`[object Arguments]`})),St,Ct,wt,O,Tt=e((()=>{xt(),x(),St=Object.prototype,Ct=St.hasOwnProperty,wt=St.propertyIsEnumerable,O=yt(function(){return arguments}())?yt:function(e){return b(e)&&Ct.call(e,`callee`)&&!wt.call(e,`callee`)}}));function Et(){return!1}var Dt=e((()=>{})),Ot,kt,At,k,jt=e((()=>{c(),Dt(),Ot=typeof exports==`object`&&exports&&!exports.nodeType&&exports,kt=Ot&&typeof module==`object`&&module&&!module.nodeType&&module,At=kt&&kt.exports===Ot?n.Buffer:void 0,k=(At?At.isBuffer:void 0)||Et}));function Mt(e,t){var n=typeof e;return t=t??Nt,!!t&&(n==`number`||n!=`symbol`&&Pt.test(e))&&e>-1&&e%1==0&&e<t}var Nt,Pt,A=e((()=>{Nt=9007199254740991,Pt=/^(?:0|[1-9]\d*)$/}));function j(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=Ft}var Ft,It=e((()=>{Ft=9007199254740991}));function Lt(e){return b(e)&&j(e.length)&&!!M[s(e)]}var Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,M,ln=e((()=>{r(),It(),x(),Rt=`[object Arguments]`,zt=`[object Array]`,Bt=`[object Boolean]`,Vt=`[object Date]`,Ht=`[object Error]`,Ut=`[object Function]`,Wt=`[object Map]`,Gt=`[object Number]`,Kt=`[object Object]`,qt=`[object RegExp]`,Jt=`[object Set]`,Yt=`[object String]`,Xt=`[object WeakMap]`,Zt=`[object ArrayBuffer]`,Qt=`[object DataView]`,$t=`[object Float32Array]`,en=`[object Float64Array]`,tn=`[object Int8Array]`,nn=`[object Int16Array]`,rn=`[object Int32Array]`,an=`[object Uint8Array]`,on=`[object Uint8ClampedArray]`,sn=`[object Uint16Array]`,cn=`[object Uint32Array]`,M={},M[$t]=M[en]=M[tn]=M[nn]=M[rn]=M[an]=M[on]=M[sn]=M[cn]=!0,M[Rt]=M[zt]=M[Zt]=M[Bt]=M[Qt]=M[Vt]=M[Ht]=M[Ut]=M[Wt]=M[Gt]=M[Kt]=M[qt]=M[Jt]=M[Yt]=M[Xt]=!1}));function un(e){return function(t){return e(t)}}var dn=e((()=>{})),fn,N,P,F,pn=e((()=>{u(),fn=typeof exports==`object`&&exports&&!exports.nodeType&&exports,N=fn&&typeof module==`object`&&module&&!module.nodeType&&module,P=N&&N.exports===fn&&i.process,F=function(){try{return N&&N.require&&N.require(`util`).types||P&&P.binding&&P.binding(`util`)}catch{}}()})),mn,I,hn=e((()=>{ln(),dn(),pn(),mn=F&&F.isTypedArray,I=mn?un(mn):Lt}));function gn(e,t){var n=E(e),r=!n&&O(e),i=!n&&!r&&k(e),a=!n&&!r&&!i&&I(e),o=n||r||i||a,s=o?_t(e.length,String):[],c=s.length;for(var l in e)(t||_n.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||Mt(l,c)))&&s.push(l);return s}var _n,vn=e((()=>{vt(),Tt(),D(),jt(),A(),hn(),_n=Object.prototype.hasOwnProperty}));function yn(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||bn)}var bn,xn=e((()=>{bn=Object.prototype}));function Sn(e,t){return function(n){return e(t(n))}}var Cn=e((()=>{})),wn,Tn=e((()=>{Cn(),wn=Sn(Object.keys,Object)}));function En(e){if(!yn(e))return wn(e);var t=[];for(var n in Object(e))Dn.call(e,n)&&n!=`constructor`&&t.push(n);return t}var Dn,On=e((()=>{xn(),Tn(),Dn=Object.prototype.hasOwnProperty}));function kn(e){return e!=null&&j(e.length)&&!h(e)}var An=e((()=>{g(),It()}));function L(e){return kn(e)?gn(e):En(e)}var jn=e((()=>{vn(),On(),An()}));function Mn(e){return st(e,L,ht)}var Nn=e((()=>{ct(),gt(),jn()}));function Pn(e,t,n,r,i,a){var o=n&Fn,s=Mn(e),c=s.length;if(c!=Mn(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:In.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||(m=u==`constructor`)}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var Fn,In,Ln=e((()=>{Nn(),Fn=1,In=Object.prototype.hasOwnProperty})),R,Rn=e((()=>{m(),c(),R=p(n,`DataView`)})),z,zn=e((()=>{m(),c(),z=p(n,`Promise`)})),B,Bn=e((()=>{m(),c(),B=p(n,`Set`)})),V,Vn=e((()=>{m(),c(),V=p(n,`WeakMap`)})),Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,H,U,$n=e((()=>{Rn(),te(),zn(),Bn(),Vn(),r(),ne(),Hn=`[object Map]`,Un=`[object Object]`,Wn=`[object Promise]`,Gn=`[object Set]`,Kn=`[object WeakMap]`,qn=`[object DataView]`,Jn=y(R),Yn=y(d),Xn=y(z),Zn=y(B),Qn=y(V),H=s,(R&&H(new R(new ArrayBuffer(1)))!=qn||d&&H(new d)!=Hn||z&&H(z.resolve())!=Wn||B&&H(new B)!=Gn||V&&H(new V)!=Kn)&&(H=function(e){var t=s(e),n=t==Un?e.constructor:void 0,r=n?y(n):``;if(r)switch(r){case Jn:return qn;case Yn:return Hn;case Xn:return Wn;case Zn:return Gn;case Qn:return Kn}return t}),U=H}));function er(e,t,n,r,i,a){var o=E(e),s=E(t),c=o?rr:U(e),l=s?rr:U(t);c=c==nr?W:c,l=l==nr?W:l;var u=c==W,d=l==W,f=c==l;if(f&&k(e)){if(!k(t))return!1;o=!0,u=!1}if(f&&!u)return a||(a=new S),o||I(e)?Pe(e,t,n,r,i,a):Ue(e,t,c,n,r,i,a);if(!(n&tr)){var p=u&&ir.call(e,`__wrapped__`),m=d&&ir.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||(a=new S),i(h,g,n,r,a)}}return f?(a||(a=new S),Pn(e,t,n,r,i,a)):!1}var tr,nr,rr,W,ir,ar=e((()=>{Ce(),Le(),it(),Ln(),$n(),D(),jt(),hn(),tr=1,nr=`[object Arguments]`,rr=`[object Array]`,W=`[object Object]`,ir=Object.prototype.hasOwnProperty}));function G(e,t,n,r,i){return e===t?!0:e==null||t==null||!b(e)&&!b(t)?e!==e&&t!==t:er(e,t,n,r,G,i)}var or=e((()=>{ar(),x()}));function sr(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new S;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?G(u,l,cr|lr,r,d):f))return!1}}return!0}var cr,lr,ur=e((()=>{Ce(),or(),cr=1,lr=2}));function dr(e){return e===e&&!a(e)}var fr=e((()=>{l()}));function pr(e){for(var t=L(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,dr(i)]}return t}var mr=e((()=>{fr(),jn()}));function hr(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}}var gr=e((()=>{}));function _r(e){var t=pr(e);return t.length==1&&t[0][2]?hr(t[0][0],t[0][1]):function(n){return n===e||sr(n,e,t)}}var vr=e((()=>{ur(),mr(),gr()}));function yr(e,t){if(E(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||se(e)?!0:xr.test(e)||!br.test(e)||t!=null&&e in Object(t)}var br,xr,Sr=e((()=>{D(),ce(),br=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xr=/^\w*$/}));function Cr(e){var t=ee(e,function(e){return n.size===wr&&n.clear(),e}),n=t.cache;return t}var wr,Tr=e((()=>{ae(),wr=500})),Er,Dr,Or,kr=e((()=>{Tr(),Er=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dr=/\\(\\)?/g,Or=Cr(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Er,function(e,n,r,i){t.push(r?i.replace(Dr,`$1`):n||e)}),t})}));function Ar(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var jr=e((()=>{}));function Mr(e){if(typeof e==`string`)return e;if(E(e))return Ar(e,Mr)+``;if(se(e))return Fr?Fr.call(e):``;var t=e+``;return t==`0`&&1/e==-Nr?`-0`:t}var Nr,Pr,Fr,Ir=e((()=>{o(),jr(),D(),ce(),Nr=1/0,Pr=t?t.prototype:void 0,Fr=Pr?Pr.toString:void 0}));function Lr(e){return e==null?``:Mr(e)}var Rr=e((()=>{Ir()}));function zr(e,t){return E(e)?e:yr(e,t)?[e]:Or(Lr(e))}var Br=e((()=>{D(),Sr(),kr(),Rr()}));function K(e){if(typeof e==`string`||se(e))return e;var t=e+``;return t==`0`&&1/e==-Vr?`-0`:t}var Vr,q=e((()=>{ce(),Vr=1/0}));function Hr(e,t){t=zr(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[K(t[n++])];return n&&n==r?e:void 0}var Ur=e((()=>{Br(),q()}));function Wr(e,t,n){var r=e==null?void 0:Hr(e,t);return r===void 0?n:r}var Gr=e((()=>{Ur()}));function Kr(e,t){return e!=null&&t in Object(e)}var qr=e((()=>{}));function Jr(e,t,n){t=zr(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=K(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&j(i)&&Mt(o,i)&&(E(e)||O(e)))}var Yr=e((()=>{Br(),Tt(),D(),A(),It(),q()}));function Xr(e,t){return e!=null&&Jr(e,t,Kr)}var Zr=e((()=>{qr(),Yr()}));function Qr(e,t){return yr(e)&&dr(t)?hr(K(e),t):function(n){var r=Wr(n,e);return r===void 0&&r===t?Xr(n,e):G(t,r,$r|ei)}}var $r,ei,ti=e((()=>{or(),Gr(),Zr(),Sr(),fr(),gr(),q(),$r=1,ei=2}));function ni(e){return e}var ri=e((()=>{}));function ii(e){return function(t){return t?.[e]}}var ai=e((()=>{}));function oi(e){return function(t){return Hr(t,e)}}var si=e((()=>{Ur()}));function ci(e){return yr(e)?ii(K(e)):oi(e)}var li=e((()=>{ai(),si(),Sr(),q()}));function ui(e){return typeof e==`function`?e:e==null?ni:typeof e==`object`?E(e)?Qr(e[0],e[1]):_r(e):ci(e)}var di=e((()=>{vr(),ti(),ri(),D(),li()}));function fi(e,t){for(var n,r=-1,i=e.length;++r<i;){var a=t(e[r]);a!==void 0&&(n=n===void 0?a:n+a)}return n}var pi=e((()=>{}));function J(e,t){return e&&e.length?fi(e,ui(t,2)):0}var mi=e((()=>{di(),pi()})),hi=e((()=>{}));function gi(){return Y}function _i(e){Y=e}function vi(e){return X.has(e)?X.get(e):void 0}function yi(e,t){X.set(e,t)}function bi(e){return Z.get(e)}function xi(e,t){Z.set(e,t)}function Si(){Y=null,X.clear(),Z.clear()}function Ci(){return Ei}function wi(e){Ei=e}function Ti(){Ei=void 0}var Y,X,Z,Ei,Di=e((()=>{Y=null,X=new Map,Z=new Map}));function Oi(){let e=new Set;return{subscribe(t){return e.add(t),()=>{e.delete(t)}},emit(...t){for(let n of e)n(...t)},clear(){e.clear()}}}var ki=e((()=>{}));function Ai(){let e=``;if(typeof process<`u`&&typeof process.cwd==`function`&&typeof le==`function`){let t=de();try{e=le(t).normalize(`NFC`)}catch{e=t.normalize(`NFC`)}}return{originalCwd:e,projectRoot:e,totalCostUSD:0,totalAPIDuration:0,totalAPIDurationWithoutRetries:0,totalToolDuration:0,turnHookDurationMs:0,turnToolDurationMs:0,turnClassifierDurationMs:0,turnToolCount:0,turnHookCount:0,turnClassifierCount:0,startTime:Date.now(),lastInteractionTime:Date.now(),totalLinesAdded:0,totalLinesRemoved:0,hasUnknownModelCost:!1,cwd:e,modelUsage:{},mainLoopModelOverride:void 0,initialMainLoopModel:null,modelStrings:null,isInteractive:!1,kairosActive:!1,strictToolResultPairing:!1,sdkAgentProgressSummariesEnabled:!1,userMsgOptIn:!1,clientType:`cli`,sessionSource:void 0,questionPreviewFormat:void 0,sessionIngressToken:void 0,oauthTokenFromFd:void 0,apiKeyFromFd:void 0,flagSettingsPath:void 0,flagSettingsInline:null,allowedSettingSources:[`userSettings`,`projectSettings`,`localSettings`,`flagSettings`,`policySettings`],meter:null,sessionCounter:null,locCounter:null,prCounter:null,commitCounter:null,costCounter:null,tokenCounter:null,codeEditToolDecisionCounter:null,activeTimeCounter:null,statsStore:null,sessionId:ue(),parentSessionId:void 0,loggerProvider:null,eventLogger:null,meterProvider:null,tracerProvider:null,agentColorMap:new Map,agentColorIndex:0,lastAPIRequest:null,lastAPIRequestMessages:null,lastClassifierRequests:null,cachedClaudeMdContent:null,inMemoryErrorLog:[],inlinePlugins:[],chromeFlagOverride:void 0,useCoworkPlugins:!1,sessionBypassPermissionsMode:!1,sessionCreatedTeams:new Set,sessionTrustAccepted:!1,sessionPersistenceDisabled:!1,hasExitedPlanMode:!1,needsPlanModeExitAttachment:!1,needsAutoModeExitAttachment:!1,lspRecommendationShownThisSession:!1,initJsonSchema:null,registeredHooks:null,planSlugCache:new Map,teleportedSessionInfo:null,invokedSkills:new Map,slowOperations:[],sdkBetas:void 0,mainThreadAgentType:void 0,isRemoteMode:!1,directConnectServerUrl:void 0,systemPromptSectionCache:new Map,lastEmittedDate:null,additionalDirectoriesForClaudeMd:[],sessionProjectDir:null,promptCache1hAllowlist:null,promptCache1hEligible:null,afkModeHeaderLatched:null,fastModeHeaderLatched:null,cacheEditingHeaderLatched:null,promptId:null,lastMainRequestId:void 0,lastApiCompletionTimestamp:null,pendingPostCompaction:!1}}function ji(){return Q.sessionId}function Mi(e={}){return e.setCurrentAsParent&&(Q.parentSessionId=Q.sessionId),Q.planSlugCache.delete(Q.sessionId),Q.sessionId=ue(),Q.sessionProjectDir=null,Q.sessionId}function Ni(){return Q.parentSessionId}function Pi(e,t=null){Q.planSlugCache.delete(Q.sessionId),Q.sessionId=e,Q.sessionProjectDir=t,Hs.emit(e)}function Fi(){return Q.sessionProjectDir}function Ii(){return Q.originalCwd}function Li(){return Q.projectRoot}function Ri(e){Q.originalCwd=e.normalize(`NFC`)}function zi(e){Q.projectRoot=e.normalize(`NFC`)}function Bi(){return Q.cwd}function Vi(e){Q.cwd=e.normalize(`NFC`)}function Hi(){return Q.directConnectServerUrl}function Ui(e){Q.directConnectServerUrl=e}function Wi(e,t){Q.totalAPIDuration+=e,Q.totalAPIDurationWithoutRetries+=t}function Gi(e,t,n){Q.modelUsage[n]=t,Q.totalCostUSD+=e}function Ki(){return Q.totalCostUSD}function qi(){return Q.totalAPIDuration}function Ji(){return Date.now()-Q.startTime}function Yi(){return Q.totalAPIDurationWithoutRetries}function Xi(){return Q.totalToolDuration}function Zi(e){Q.totalToolDuration+=e,Q.turnToolDurationMs+=e,Q.turnToolCount++}function Qi(e){Q.turnHookDurationMs+=e,Q.turnHookCount++}function $i(){Q.turnHookDurationMs=0,Q.turnHookCount=0}function ea(){Q.turnToolDurationMs=0,Q.turnToolCount=0}function ta(e){Q.turnClassifierDurationMs+=e,Q.turnClassifierCount++}function na(){Q.turnClassifierDurationMs=0,Q.turnClassifierCount=0}function ra(){return Q.statsStore}function ia(e){Q.statsStore=e}function aa(e){e?oa():Ws=!0}function oa(){Q.lastInteractionTime=Date.now(),Ws=!1}function sa(e,t){Q.totalLinesAdded+=e,Q.totalLinesRemoved+=t}function ca(){return Q.totalLinesAdded}function la(){return Q.totalLinesRemoved}function ua(){return J(Object.values(Q.modelUsage),`inputTokens`)}function da(){return J(Object.values(Q.modelUsage),`outputTokens`)}function fa(){return J(Object.values(Q.modelUsage),`cacheReadInputTokens`)}function pa(){return J(Object.values(Q.modelUsage),`cacheCreationInputTokens`)}function ma(){return J(Object.values(Q.modelUsage),`webSearchRequests`)}function ha(){return da()-Gs}function ga(){return Ks}function _a(e){Gs=da(),Ks=e,$=0}function va(){return $}function ya(){$++}function ba(){Q.hasUnknownModelCost=!0}function xa(){return Q.hasUnknownModelCost}function Sa(){return Q.lastMainRequestId}function Ca(e){Q.lastMainRequestId=e}function wa(){return Q.lastApiCompletionTimestamp}function Ta(e){Q.lastApiCompletionTimestamp=e}function Ea(){Q.pendingPostCompaction=!0}function Da(){let e=Q.pendingPostCompaction;return Q.pendingPostCompaction=!1,e}function Oa(){return Q.lastInteractionTime}function ka(){return qs}async function Aa(){for(;qs;)await new Promise(e=>setTimeout(e,Js).unref?.())}function ja(){return Q.modelUsage}function Ma(e){return Q.modelUsage[e]}function Na(){return Q.mainLoopModelOverride}function Pa(){return Q.initialMainLoopModel}function Fa(e){Q.mainLoopModelOverride=e}function Ia(e){Q.initialMainLoopModel=e}function La(){return Q.sdkBetas}function Ra(e){Q.sdkBetas=e}function za(){Q.totalCostUSD=0,Q.totalAPIDuration=0,Q.totalAPIDurationWithoutRetries=0,Q.totalToolDuration=0,Q.startTime=Date.now(),Q.totalLinesAdded=0,Q.totalLinesRemoved=0,Q.hasUnknownModelCost=!1,Q.modelUsage={},Q.promptId=null}function Ba({totalCostUSD:e,totalAPIDuration:t,totalAPIDurationWithoutRetries:n,totalToolDuration:r,totalLinesAdded:i,totalLinesRemoved:a,lastDuration:o,modelUsage:s}){Q.totalCostUSD=e,Q.totalAPIDuration=t,Q.totalAPIDurationWithoutRetries=n,Q.totalToolDuration=r,Q.totalLinesAdded=i,Q.totalLinesRemoved=a,s&&(Q.modelUsage=s),o&&(Q.startTime=Date.now()-o)}function Va(){return Q.modelStrings}function Ha(e){Q.modelStrings=e}function Ua(e,t){Q.meter=e,Q.sessionCounter=t(`claude_code.session.count`,{description:`Count of CLI sessions started`}),Q.locCounter=t(`claude_code.lines_of_code.count`,{description:`Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed`}),Q.prCounter=t(`claude_code.pull_request.count`,{description:`Number of pull requests created`}),Q.commitCounter=t(`claude_code.commit.count`,{description:`Number of git commits created`}),Q.costCounter=t(`claude_code.cost.usage`,{description:`Cost of the Work Mate session`,unit:`USD`}),Q.tokenCounter=t(`claude_code.token.usage`,{description:`Number of tokens used`,unit:`tokens`}),Q.codeEditToolDecisionCounter=t(`claude_code.code_edit_tool.decision`,{description:`Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools`}),Q.activeTimeCounter=t(`claude_code.active_time.total`,{description:`Total active time in seconds`,unit:`s`})}function Wa(){return Q.sessionCounter}function Ga(){return Q.locCounter}function Ka(){return Q.prCounter}function qa(){return Q.commitCounter}function Ja(){return Q.costCounter}function Ya(){return Q.tokenCounter}function Xa(){return Q.codeEditToolDecisionCounter}function Za(){return Q.activeTimeCounter}function Qa(){return Q.loggerProvider}function $a(e){Q.loggerProvider=e}function eo(){return Q.eventLogger}function to(e){Q.eventLogger=e}function no(){return Q.meterProvider}function ro(e){Q.meterProvider=e}function io(){return Q.tracerProvider}function ao(e){Q.tracerProvider=e}function oo(){return!Q.isInteractive}function so(){return Q.isInteractive}function co(e){Q.isInteractive=e}function lo(){return Q.clientType}function uo(e){Q.clientType=e}function fo(){return Q.sdkAgentProgressSummariesEnabled}function po(e){Q.sdkAgentProgressSummariesEnabled=e}function mo(){return Q.kairosActive}function ho(){return Q.strictToolResultPairing}function go(){return Q.userMsgOptIn}function _o(e){Q.userMsgOptIn=e}function vo(e){Q.sessionSource=e}function yo(){return Q.questionPreviewFormat}function bo(e){Q.questionPreviewFormat=e}function xo(){return Q.agentColorMap}function So(){return Q.flagSettingsPath}function Co(e){Q.flagSettingsPath=e}function wo(){return Q.flagSettingsInline}function To(e){Q.flagSettingsInline=e}function Eo(){return Q.sessionIngressToken}function Do(e){Q.sessionIngressToken=e}function Oo(){return Q.oauthTokenFromFd}function ko(e){Q.oauthTokenFromFd=e}function Ao(){return Q.apiKeyFromFd}function jo(e){Q.apiKeyFromFd=e}function Mo(e){Q.lastAPIRequest=e}function No(e){Q.lastAPIRequestMessages=e}function Po(e){Q.lastClassifierRequests=e}function Fo(e){Q.cachedClaudeMdContent=e}function Io(){return Q.cachedClaudeMdContent}function Lo(){return Q.allowedSettingSources}function Ro(e){Q.allowedSettingSources=e}function zo(){return oo()&&Q.clientType!==`claude-vscode`}function Bo(e){Q.inlinePlugins=e}function Vo(){return Q.inlinePlugins}function Ho(e){Q.useCoworkPlugins=e,Si()}function Uo(){return Q.useCoworkPlugins}function Wo(e){Q.sessionBypassPermissionsMode=e}function Go(e){Q.sessionTrustAccepted=e}function Ko(){return Q.sessionTrustAccepted}function qo(e){Q.sessionPersistenceDisabled=e}function Jo(){return Q.sessionPersistenceDisabled}function Yo(){return Q.hasExitedPlanMode}function Xo(e){Q.hasExitedPlanMode=e}function Zo(){return Q.needsPlanModeExitAttachment}function Qo(e){Q.needsPlanModeExitAttachment=e}function $o(e,t){t===`plan`&&e!==`plan`&&(Q.needsPlanModeExitAttachment=!1),e===`plan`&&t!==`plan`&&(Q.needsPlanModeExitAttachment=!0)}function es(){return Q.needsAutoModeExitAttachment}function ts(e){Q.needsAutoModeExitAttachment=e}function ns(e,t){if(e===`auto`&&t===`plan`||e===`plan`&&t===`auto`)return;let n=e===`auto`,r=t===`auto`;r&&!n&&(Q.needsAutoModeExitAttachment=!1),n&&!r&&(Q.needsAutoModeExitAttachment=!0)}function rs(){return Q.lspRecommendationShownThisSession}function is(e){Q.lspRecommendationShownThisSession=e}function as(e){Q.initJsonSchema=e}function os(){return Q.initJsonSchema}function ss(e){Q.registeredHooks||(Q.registeredHooks={});for(let[t,n]of Object.entries(e)){let e=t;Q.registeredHooks[e]||(Q.registeredHooks[e]=[]),Q.registeredHooks[e].push(...n??[])}}function cs(){return Q.registeredHooks}function ls(){if(!Q.registeredHooks)return;let e={};for(let[t,n]of Object.entries(Q.registeredHooks)){let r=(n??[]).filter(e=>!(`pluginRoot`in e));r.length>0&&(e[t]=r)}Q.registeredHooks=Object.keys(e).length>0?e:null}function us(){return Q.planSlugCache}function ds(e,t){if(Q.planSlugCache.size>=50){let e=Q.planSlugCache.keys().next().value;e!==void 0&&Q.planSlugCache.delete(e)}Q.planSlugCache.set(e,t)}function fs(e){Q.teleportedSessionInfo={isTeleported:!0,hasLoggedFirstMessage:!1,sessionId:e.sessionId}}function ps(){return Q.teleportedSessionInfo}function ms(){Q.teleportedSessionInfo&&(Q.teleportedSessionInfo.hasLoggedFirstMessage=!0)}function hs(e,t,n,r=null){let i=`${r??``}:${e}`;Q.invokedSkills.set(i,{skillName:e,skillPath:t,content:n,invokedAt:Date.now(),agentId:r})}function gs(e){let t=e??null,n=new Map;for(let[e,r]of Q.invokedSkills)r.agentId===t&&n.set(e,r);return n}function _s(e){if(!e||e.size===0){Q.invokedSkills.clear();return}for(let[t,n]of Q.invokedSkills)(n.agentId===null||!e.has(n.agentId))&&Q.invokedSkills.delete(t)}function vs(e){for(let[t,n]of Q.invokedSkills)n.agentId===e&&Q.invokedSkills.delete(t)}function ys(){return Q.mainThreadAgentType}function bs(e){Q.mainThreadAgentType=e}function xs(){return Q.isRemoteMode}function Ss(e){Q.isRemoteMode=e}function Cs(){return Q.systemPromptSectionCache}function ws(e,t){if(Q.systemPromptSectionCache.size>=100){let e=Q.systemPromptSectionCache.keys().next().value;e!==void 0&&Q.systemPromptSectionCache.delete(e)}Q.systemPromptSectionCache.set(e,t)}function Ts(){Q.systemPromptSectionCache.clear()}function Es(){return Q.lastEmittedDate}function Ds(e){Q.lastEmittedDate=e}function Os(){return Q.additionalDirectoriesForClaudeMd}function ks(e){Q.additionalDirectoriesForClaudeMd=e}function As(){return Q.promptCache1hAllowlist}function js(e){Q.promptCache1hAllowlist=e}function Ms(){return Q.promptCache1hEligible}function Ns(e){Q.promptCache1hEligible=e}function Ps(){return Q.afkModeHeaderLatched}function Fs(e){Q.afkModeHeaderLatched=e}function Is(){return Q.fastModeHeaderLatched}function Ls(e){Q.fastModeHeaderLatched=e}function Rs(){return Q.cacheEditingHeaderLatched}function zs(){Q.afkModeHeaderLatched=null,Q.fastModeHeaderLatched=null,Q.cacheEditingHeaderLatched=null}function Bs(){return Q.promptId}function Vs(e){Q.promptId=e}var Q,Hs,Us,Ws,Gs,Ks,$,qs,Js,Ys=e((()=>{mi(),hi(),Di(),ki(),Q=Ai(),Hs=Oi(),Us=Hs.subscribe,Gs=0,Ks=null,$=0,qs=!1,Js=150}));export{ja as $,qo as $n,xn as $r,zo as $t,eo as A,Re as Ai,Ds as An,Ur as Ar,ca as At,xs as B,Qo as Bn,or as Br,ns as Bt,lo as C,D as Ci,Bo as Cn,wi as Cr,qi as Ct,ga as D,He as Di,No as Dn,ni as Dr,Ki as Dt,Ja as E,ot as Ei,Mo as En,di as Er,fa as Et,Pa as F,S as Fi,bs as Fn,Rr as Fr,io as Ft,Oa as G,js as Gn,Mn as Gr,ya as Gt,mo as H,Ri as Hn,$n as Hr,Yo as Ht,Vo as I,Ce as Ii,Ua as In,Lr as Ir,ha as It,Qa as J,bo as Jn,L as Jr,ms as Jt,Sa as K,Ns as Kn,Nn as Kr,Ys as Kt,gs as L,ro as Ln,Ar as Lr,Ma as Lt,wo as M,Ne as Mi,$a as Mn,K as Mr,da as Mt,So as N,C as Ni,is as Nn,zr as Nr,Xi as Nt,Bi as O,Ve as Oi,Ta as On,ri as Or,Ji as Ot,os as P,ke as Pi,Fa as Pn,Br as Pr,ma as Pt,Va as Q,Do as Qn,Sn as Qr,Us as Qt,so as R,Ha as Rn,jr as Rr,Uo as Rt,Io as S,ct as Si,Ia as Sn,yi as Sr,Ya as St,qa as T,at as Ti,Ss as Tn,ui as Tr,pa as Tt,wa as U,ds as Un,B as Ur,rs as Ut,ka as V,ko as Vn,U as Vr,$o as Vt,Es as W,zi as Wn,Bn as Wr,xa as Wt,ys as X,Ra as Xn,kn as Xr,es as Xt,Na as Y,po as Yn,An as Yr,Ea as Yt,no as Z,Wo as Zn,Cn as Zr,Zo as Zt,xo as _,ft as _i,To as _n,Ci as _r,Ko as _t,sa as a,pn as ai,ea as an,ao as ar,Li as at,va as b,ut as bi,ba as bn,Si as br,Cs as bt,zs as c,dn as ci,Ro as cn,_a as cr,Bs as ct,ls as d,jt as di,uo as dn,Aa as dr,fo as dt,yn as ei,Mi as en,vo as er,Oo as et,Ts as f,k as fi,Ba as fn,Oi as fr,La as ft,Ps as g,gt as gi,Ls as gn,vi as gr,Fi as gt,Os as h,ht as hi,to as hn,bi as hr,Eo as ht,Wi as i,I as ii,$i as in,fs as ir,Ka as it,Is as j,Me as ji,Ca as jn,q as jr,la as jt,Hi as k,w as ki,Po as kn,Hr as kr,ua as kt,_s as l,A as li,jo as ln,Pi as lr,yo as lt,Za as m,O as mi,Ui as mn,Ti as mr,ji as mt,Zi as n,vn as ni,za as nn,ia as nr,Ni as nt,ta as o,F as oi,ks as on,Ho as or,As as ot,Da as p,Tt as pi,Vi as pn,ki as pr,Wa as pt,Ga as q,Vs as qn,jn as qr,Jo as qt,Gi as r,hn as ri,na as rn,ws as rr,us as rt,Qi as s,un as si,Fs as sn,_o as sr,Ms as st,hs as t,gn as ti,ss as tn,Go as tr,Ii as tt,vs as u,Mt as ui,Fo as un,aa as ur,cs as ut,Lo as v,dt as vi,Co as vn,gi as vr,ra as vt,Xa as w,E as wi,co as wn,_i as wr,Yi as wt,Rs as x,st as xi,as as xn,xi as xr,ps as xt,Ao as y,lt as yi,Xo as yn,Di as yr,ho as yt,oo as z,ts as zn,G as zr,go as zt};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{l as t,o as n,r,t as i}from"./envUtils-BDhHQY0-.js";import{n as a,t as o}from"./figures-5ThXQEtq.js";import{$x as s,Ax as c,Ix as l,Nx as ee,Px as u,Xx as d,nS as f,sS as p}from"./loadAgentsDir-CKSb56Gp.js";import{P as m,di as h,fi as g,j as _,t as v,ui as y}from"./src-P_wYS_NJ2.js";import{t as b}from"./jsx-runtime-Bb4Xn-E0.js";import{Cn as x,a as S,bn as C,c as w,cn as T,g as E,in as D,r as O,rn as k}from"./settings-Xbq6AaD-.js";import{f as A,v as j}from"./startupProfiler-jeId9f2i.js";import{Bt as M,Gt as N,_ as te,ai as P,bt as F,i as I,si as L,x as R}from"./model-C2e73CJD.js";import{h as z,l as B,o as V,p as H}from"./proxy-Blq4W6Ox.js";import{d as U,u as W}from"./pidLock-BR5M6RQw.js";import{n as G,t as K}from"./nativeInstaller-DQIFwdat.js";import{n as q,t as J}from"./allErrors-DYw_q14e.js";function Y(){return[]}function X(e,t=null,n){let r=e?.find(e=>e.name===`ide`);if(t){let e=p(t.ideType),i=f(t.ideType)?`plugin`:`extension`;if(t.error)return[{label:`IDE`,value:(0,$.jsxs)(m,{children:[_(`error`,n)(o.cross),` Error installing `,e,` `,i,`:`,` `,t.error,`
|
|
2
|
-
`,`Please restart your IDE and try again.`]})}];if(t.installed)return r&&r.type===`connected`?t.installedVersion===r.serverInfo?.version?[{label:`IDE`,value:`Connected to ${e} ${i} version ${t.installedVersion}`}]:[{label:`IDE`,value:`Connected to ${e} ${i} version ${t.installedVersion} (server version: ${r.serverInfo?.version})`}]:[{label:`IDE`,value:`Installed ${e} ${i}`}]}else if(r){let e=d(r)??`IDE`;return r.type===`connected`?[{label:`IDE`,value:`Connected to ${e} extension`}]:[{label:`IDE`,value:`${_(`error`,n)(o.cross)} Not connected to ${e}`}]}return[]}function Z(e=[],t){let n=e.filter(e=>e.name!==`ide`);if(!n.length)return[];let r={connected:0,pending:0,needsAuth:0,failed:0};for(let e of n)e.type===`connected`?r.connected++:e.type===`pending`?r.pending++:e.type===`needs-auth`?r.needsAuth++:r.failed++;let i=[];return r.connected&&i.push(_(`success`,t)(`${r.connected} connected`)),r.needsAuth&&i.push(_(`warning`,t)(`${r.needsAuth} need auth`)),r.pending&&i.push(_(`inactive`,t)(`${r.pending} pending`)),r.failed&&i.push(_(`error`,t)(`${r.failed} failed`)),[{label:`MCP servers`,value:`${i.join(`, `)} ${_(`inactive`,t)(`· /mcp`)}`}]}async function Q(){let e=ee(await u()),t=[];return e.forEach(e=>{let n=C(e.path);t.push(`Large ${n} will impact performance (${A(e.content.length)} chars > ${A(c)})`)}),t}function ne(){return[{label:`Setting sources`,value:k().filter(e=>{let t=w(e);return t!==null&&Object.keys(t).length>0}).map(e=>{if(e===`policySettings`){let e=S();if(e===null)return null;switch(e){case`remote`:return`Enterprise managed settings (remote)`;case`plist`:return`Enterprise managed settings (plist)`;case`hklm`:return`Enterprise managed settings (HKLM)`;case`file`:{let{hasBase:e,hasDropIns:t}=O();return e&&t?`Enterprise managed settings (file + drop-ins)`:t?`Enterprise managed settings (drop-ins)`:`Enterprise managed settings (file)`}case`hkcu`:return`Enterprise managed settings (HKCU)`}}return D(e)}).filter(e=>e!==null)}]}async function re(){return(await G()).map(e=>e.message)}async function ie(){let e=await W(),t=[],{errors:n}=J();if(n.length>0){let e=Array.from(new Set(n.map(e=>e.file))).join(`, `);t.push(`Found invalid settings files: ${e}. They will be ignored.`)}return e.warnings.forEach(e=>{t.push(e.issue)}),e.hasUpdatePermissions===!1&&t.push(`No write permissions for auto-updates (requires sudo)`),t}function ae(){let e=F();if(!e)return[];let t=[];return e.subscription&&t.push({label:`Login method`,value:`${e.subscription} Account`}),e.tokenSource&&t.push({label:`Auth token`,value:e.tokenSource}),e.apiKeySource&&t.push({label:`API key`,value:e.apiKeySource}),e.organization&&!process.env.IS_DEMO&&t.push({label:`Organization`,value:e.organization}),e.email&&!process.env.IS_DEMO&&t.push({label:`Email`,value:e.email}),t}function oe(){let e=P(),n=[];if(e!==`firstParty`){let t={bedrock:`AWS Bedrock`,vertex:`Google Vertex AI`,foundry:`Microsoft Foundry`,gemini:`Gemini API`,grok:`Grok API`,openai:`OpenAI API`}[e];n.push({label:`API provider`,value:t})}if(e===`firstParty`){let e=process.env.ANTHROPIC_BASE_URL;e&&n.push({label:`API base URL`,value:e})}else if(e===`bedrock`){let e=process.env.BEDROCK_BASE_URL;e&&n.push({label:`Bedrock base URL`,value:e}),n.push({label:`AWS region`,value:i()}),t(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)&&n.push({value:`AWS auth skipped`})}else if(e===`vertex`){let e=process.env.VERTEX_BASE_URL;e&&n.push({label:`Vertex base URL`,value:e});let i=process.env.ANTHROPIC_VERTEX_PROJECT_ID;i&&n.push({label:`GCP project`,value:i}),n.push({label:`Default region`,value:r()}),t(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)&&n.push({value:`GCP auth skipped`})}else if(e===`foundry`){let e=process.env.ANTHROPIC_FOUNDRY_BASE_URL;e&&n.push({label:`Microsoft Foundry base URL`,value:e});let r=process.env.ANTHROPIC_FOUNDRY_RESOURCE;r&&n.push({label:`Microsoft Foundry resource`,value:r}),t(process.env.CLAUDE_CODE_SKIP_FOUNDRY_AUTH)&&n.push({value:`Microsoft Foundry auth skipped`})}else if(e===`gemini`){let e=process.env.GEMINI_BASE_URL||`https://generativelanguage.googleapis.com/v1beta`;n.push({label:`Gemini base URL`,value:e})}else if(e===`grok`){let e=process.env.GROK_BASE_URL;n.push({label:`Grok base URL`,value:e})}else if(e===`openai`){let e=process.env.OPENAI_BASE_URL;n.push({label:`OpenAI base URL`,value:e})}let a=V();a&&n.push({label:`Proxy`,value:a});let o=H();return process.env.NODE_EXTRA_CA_CERTS&&n.push({label:`Additional CA cert(s)`,value:process.env.NODE_EXTRA_CA_CERTS}),o&&(o.cert&&process.env.CLAUDE_CODE_CLIENT_CERT&&n.push({label:`mTLS client cert`,value:process.env.CLAUDE_CODE_CLIENT_CERT}),o.key&&process.env.CLAUDE_CODE_CLIENT_KEY&&n.push({label:`mTLS client key`,value:process.env.CLAUDE_CODE_CLIENT_KEY})),n}function se(e){let t=R(e);if(e===null&&N()){let e=I();t=`${y.bold(`Default`)} ${e}`}return t}var $,ce=e((()=>{h(),a(),g(),v(),M(),l(),U(),n(),x(),j(),s(),te(),L(),z(),K(),B(),q(),T(),E(),$=b()}));export{ie as a,Y as c,ce as d,re as i,ne as l,ae as n,Z as o,X as r,Q as s,oe as t,se as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{fa as t,pa as n}from"./loadAgentsDir-CKSb56Gp.js";function r(e){return e?e.activeAgents.filter(e=>e.source!==`built-in`).reduce((e,t)=>e+n(`${t.agentType}: ${t.whenToUse}`),0):0}var i,a=e((()=>{t(),i=15e3}));export{r as n,a as r,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./switcher-77h2J5HC.js";e();export{t as restoreActiveProvider};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Su as e,_u as t,hu as n,mu as r,yu as i}from"./loadAgentsDir-CKSb56Gp.js";n();export{r as checkOutTeleportedSessionBranch,t as processMessagesForTeleportResume,i as teleportResumeCodeSession,e as validateGitState};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{bC as t,bE as n,yC as r,yE as i}from"./loadAgentsDir-CKSb56Gp.js";import{n as a,t as o}from"./partition-CpfoVrg1.js";function s(e,r,i){let[o,s]=a(n([...e,...r],`name`),t),c=(e,t)=>e.name.localeCompare(t.name);return[...s.sort(c),...o.sort(c)]}var c=e((()=>{o(),i(),r()}));export{s as n,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./trustedDevice-j1u2TG5U.js";export{t as clearTrustedDeviceToken,e as enrollTrustedDevice};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ov as t,sv as n}from"./loadAgentsDir-CKSb56Gp.js";import{C as r,_ as i,s as a}from"./model-C2e73CJD.js";function o(){let e=n(e=>e.mainLoopModel);return r(n(e=>e.mainLoopModelForSession)??e??a())}var s=e((()=>{t(),i()}));export{o as n,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Eo as t,Fp as n,Fs as r,Ip as i,Is as a,KC as o,Ls as s,Np as c,Ps as l,To as u,cf as d,jp as f,lf as p,lv as m,mg as h,ov as g,pg as _,qC as v,sv as y}from"./loadAgentsDir-CKSb56Gp.js";import{fi as b}from"./src-P_wYS_NJ2.js";import{W as x,a as S,l as C,z as w}from"./debug-BdqxZ7rV.js";import{In as T,Ln as E}from"./settings-Xbq6AaD-.js";import{O as D,k as O}from"./git-B9uvt96d.js";import{o as k,s as A}from"./log-CTFl4qpD.js";import{n as j,r as M}from"./analytics-DJobLaWP.js";import{n as N,r as P}from"./pluginFlagging-CxuRF2Vc.js";import{t as F}from"./pluginBlocklist-D93Hd1GF.js";var I=e(b(),1);d(),j(),f(),g(),E(),S(),D(),w(),k(),a(),r(),_(),n(),o(),P(),u();function L({enabled:e=!0}={}){let n=m(),r=y(e=>e.plugins.needsRefresh),{addNotification:a}=p(),o=(0,I.useCallback)(async()=>{try{let{enabled:e,disabled:r,errors:o}=await t();await F();let u=N();Object.keys(u).length>0&&a({key:`plugin-delisted-flagged`,text:`Plugins flagged. Check /plugins`,color:`warning`,priority:`high`});let d=[],f=[];try{d=await l()}catch(e){let t=e instanceof Error?e.message:String(e);o.push({type:`generic-error`,source:`plugin-commands`,error:`Failed to load plugin commands: ${t}`})}try{f=await s()}catch(e){let t=e instanceof Error?e.message:String(e);o.push({type:`generic-error`,source:`plugin-agents`,error:`Failed to load plugin agents: ${t}`})}try{await h()}catch(e){let t=e instanceof Error?e.message:String(e);o.push({type:`generic-error`,source:`plugin-hooks`,error:`Failed to load plugin hooks: ${t}`})}let p=(await Promise.all(e.map(async e=>{if(e.mcpServers)return Object.keys(e.mcpServers).length;let t=await v(e,o);return t&&(e.mcpServers=t),t?Object.keys(t).length:0}))).reduce((e,t)=>e+t,0),m=(await Promise.all(e.map(async e=>{if(e.lspServers)return Object.keys(e.lspServers).length;let t=await i(e,o);return t&&(e.lspServers=t),t?Object.keys(t).length:0}))).reduce((e,t)=>e+t,0);c(),n(t=>{let n=t.plugins.errors.filter(e=>e.source===`lsp-manager`||e.source.startsWith(`plugin:`)),i=new Set(o.map(e=>e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`)),a=[...n.filter(e=>{let t=e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`;return!i.has(t)}),...o];return{...t,plugins:{...t.plugins,enabled:e,disabled:r,commands:d,errors:a}}}),C(`Loaded plugins - Enabled: ${e.length}, Disabled: ${r.length}, Commands: ${d.length}, Agents: ${f.length}, Errors: ${o.length}`);let g=e.reduce((e,t)=>t.hooksConfig?e+Object.values(t.hooksConfig).reduce((e,t)=>e+(t?.reduce((e,t)=>e+t.hooks.length,0)??0),0):e,0);return{enabled_count:e.length,disabled_count:r.length,inline_count:T(e,e=>e.source.endsWith(`@inline`)),marketplace_count:T(e,e=>!e.source.endsWith(`@inline`)),error_count:o.length,skill_count:d.length,agent_count:f.length,hook_count:g,mcp_count:p,lsp_count:m}}catch(e){let t=x(e);return A(t),C(`Error loading plugins: ${e}`),n(e=>{let n=e.plugins.errors.filter(e=>e.source===`lsp-manager`||e.source.startsWith(`plugin:`)),r={type:`generic-error`,source:`plugin-system`,error:t.message};return{...e,plugins:{...e.plugins,enabled:[],disabled:[],commands:[],errors:[...n,r]}}}),{enabled_count:0,disabled_count:0,inline_count:0,marketplace_count:0,error_count:1,skill_count:0,agent_count:0,hook_count:0,mcp_count:0,lsp_count:0,load_failed:!0,ant_enabled_names:void 0}}},[n,a]);(0,I.useEffect)(()=>{e&&o().then(e=>{let{ant_enabled_names:t,...n}=e,r={...n,has_custom_plugin_cache_dir:!!process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR};M(`tengu_plugins_loaded`,{...r,...t!==void 0&&{enabled_names:t}}),O(`info`,`tengu_plugins_loaded`,r)})},[o,e]),(0,I.useEffect)(()=>{!e||!r||a({key:`plugin-reload-pending`,text:`Plugins changed. Run /reload-plugins to activate.`,color:`suggestion`,priority:`low`})},[e,r,a])}export{L as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{cf as n,gv as r,hv as i,lf as a}from"./loadAgentsDir-CKSb56Gp.js";import{fi as o}from"./src-P_wYS_NJ2.js";import{B as s,Kt as c}from"./state-Bs5xweDL.js";import{n as l,t as u}from"./allErrors-DYw_q14e.js";function d(){let{addNotification:e,removeNotification:t}=a(),[n,i]=(0,f.useState)(()=>{let{errors:e}=u();return e});return r((0,f.useCallback)(()=>{let{errors:e}=u();i(e)},[])),(0,f.useEffect)(()=>{if(!s())if(n.length>0){let t=`Found ${n.length} settings ${n.length===1?`issue`:`issues`} · /doctor for details`;e({key:p,text:t,color:`warning`,priority:`high`,timeoutMs:6e4})}else t(p)},[n,e,t]),n}var f,p,m=e((()=>{f=t(o(),1),n(),c(),l(),i(),p=`settings-errors`}));export{d as n,m as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Fu as t,Pu as n,av as r,ov as i}from"./loadAgentsDir-CKSb56Gp.js";import{I as a,P as o,fi as s,t as c}from"./src-P_wYS_NJ2.js";import{t as l}from"./jsx-runtime-Bb4Xn-E0.js";import{n as u,r as d}from"./analytics-DJobLaWP.js";import{Bt as f,Ht as p}from"./model-C2e73CJD.js";import{t as m}from"./WelcomeV2-BWF-cJOu.js";import{t as h}from"./useManagePlugins-BbWJNLe8.js";import{n as g,t as _}from"./MCPConnectionManager-DPFe4hPh.js";import{n as v}from"./onChangeAppState-DhBO34OK.js";import{cwd as y}from"process";var b=e(s(),1);c(),t(),u(),g(),i(),f();var x=l();async function S(e){d(`tengu_setup_token_command`,{});let t=!p(),{ConsoleOAuthFlow:i}=await import(`./ConsoleOAuthFlow-D1MYL1dJ.js`);await new Promise(s=>{e.render((0,x.jsx)(r,{onChangeAppState:v,children:(0,x.jsx)(n,{children:(0,x.jsxs)(a,{flexDirection:`column`,gap:1,children:[(0,x.jsx)(m,{}),t&&(0,x.jsxs)(a,{flexDirection:`column`,children:[(0,x.jsx)(o,{color:`warning`,children:`Warning: You already have authentication configured via environment variable or API key helper.`}),(0,x.jsx)(o,{color:`warning`,children:`The setup-token command will create a new OAuth token which you can use instead.`})]}),(0,x.jsx)(i,{onDone:()=>{s()}})]})})}))}),e.unmount(),process.exit(0)}var C=b.lazy(()=>import(`./Doctor-VhJi2cmL.js`).then(e=>({default:e.Doctor})));function w({onDone:e}){return h(),(0,x.jsx)(b.Suspense,{fallback:null,children:(0,x.jsx)(C,{onDone:e})})}async function T(e){d(`tengu_doctor_command`,{}),await new Promise(t=>{e.render((0,x.jsx)(r,{children:(0,x.jsx)(n,{children:(0,x.jsx)(_,{dynamicMcpConfig:void 0,isStrictMcpConfig:!1,children:(0,x.jsx)(w,{onDone:()=>{t()}})})})}))}),e.unmount(),process.exit(0)}async function E(e,t){let{setup:n}=await import(`./setup-uZ0dSekt.js`);await n(y(),`default`,!1,!1,void 0,!1);let{install:r}=await import(`./install-CVGZ55wV.js`);await new Promise(n=>{let i=[];e&&i.push(e),t.force&&i.push(`--force`),r.call(e=>{n(),process.exit(+!!e.includes(`failed`))},{},i)})}export{T as doctorHandler,E as installHandler,S as setupTokenHandler};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./axios-DaWTGg7G.js";import{IE as r,LE as i,RE as a,_D as o,gD as s,mD as c,nE as l,pD as ee,rE as u}from"./loadAgentsDir-CKSb56Gp.js";import{p as d}from"./external-CEp-aPkt.js";import{r as f}from"./lazySchema-B4D4qJVE.js";import{C as p,F as m,I as h,S as g,V as _,a as te,d as v,l as y,p as b,w as x,z as S}from"./debug-BdqxZ7rV.js";import{_t as C,gt as w,ht as T,pt as ne,vt as re}from"./settings-Xbq6AaD-.js";import{o as ie,s as E}from"./log-CTFl4qpD.js";import{homedir as ae}from"os";import*as D from"path";import{join as oe,resolve as se}from"path";import{randomBytes as O}from"crypto";import{readFile as k,readdir as A,rename as j,stat as M,unlink as N,writeFile as P}from"fs/promises";function F(){return oe(l(),H)}async function I(){let e=F();try{let t=p(await k(e,{encoding:`utf-8`}));if(typeof t!=`object`||!t||!(`version`in t)||!(`fetchedAt`in t)||!(`counts`in t))return y(`Install counts cache has invalid structure`),null;let n=t;if(n.version!==V)return y(`Install counts cache version mismatch (got ${n.version}, expected ${V})`),null;if(typeof n.fetchedAt!=`string`||!Array.isArray(n.counts))return y(`Install counts cache has invalid structure`),null;let r=new Date(n.fetchedAt).getTime();return Number.isNaN(r)?(y(`Install counts cache has invalid fetchedAt timestamp`),null):n.counts.every(e=>typeof e==`object`&&!!e&&typeof e.plugin==`string`&&typeof e.unique_installs==`number`)?Date.now()-r>W?(y(`Install counts cache is stale (>24h old)`),null):{version:n.version,fetchedAt:n.fetchedAt,counts:n.counts}:(y(`Install counts cache has malformed entries`),null)}catch(e){return h(e)!==`ENOENT`&&y(`Failed to load install counts cache: ${m(e)}`),null}}async function L(e){let t=F(),n=`${t}.${O(8).toString(`hex`)}.tmp`;try{let r=l();await v().mkdir(r),await P(n,x(e,null,2),{encoding:`utf-8`,mode:384}),await j(n,t),y(`Install counts cache saved successfully`)}catch(e){E(e);try{await N(n)}catch{}}}async function R(){y(`Fetching install counts from ${U}`);let e=performance.now();try{let n=await t.get(U,{timeout:1e4});if(!n.data?.plugins||!Array.isArray(n.data.plugins))throw Error(`Invalid response format from install counts API`);return a(`install_counts`,U,`success`,performance.now()-e),n.data.plugins}catch(t){throw a(`install_counts`,U,`failure`,performance.now()-e,r(t)),t}}async function z(){let e=await I();if(e){y(`Using cached install counts`),a(`install_counts`,U,`cache_hit`,0);let t=new Map;for(let n of e.counts)t.set(n.plugin,n.unique_installs);return t}try{let e=await R();await L({version:V,fetchedAt:new Date().toISOString(),counts:e});let t=new Map;for(let n of e)t.set(n.plugin,n.unique_installs);return t}catch(e){return E(e),y(`Failed to fetch install counts: ${m(e)}`),null}}function B(e){if(e<1e3)return String(e);if(e<1e6){let t=(e/1e3).toFixed(1);return t.endsWith(`.0`)?`${t.slice(0,-2)}K`:`${t}K`}let t=(e/1e6).toFixed(1);return t.endsWith(`.0`)?`${t.slice(0,-2)}M`:`${t}M`}var V,H,U,W,G=e((()=>{n(),te(),S(),b(),ie(),g(),i(),u(),V=1,H=`install-counts-cache.json`,U=`https://raw.githubusercontent.com/anthropics/claude-plugins-official/refs/heads/stats/stats/plugin-installs.json`,W=1440*60*1e3}));async function K(e){let t=e.trim(),n=v(),r=t.match(/^([a-zA-Z0-9._-]+@[^:]+:.+?(?:\.git)?)(#(.+))?$/);if(r?.[1]){let e=r[1],t=r[3];return t?{source:`git`,url:e,ref:t}:{source:`git`,url:e}}if(t.startsWith(`http://`)||t.startsWith(`https://`)){let e=t.match(/^([^#]+)(#(.+))?$/),n=e?.[1]||t,r=e?.[3];if(n.endsWith(`.git`)||n.includes(`/_git/`))return r?{source:`git`,url:n,ref:r}:{source:`git`,url:n};let i;try{i=new URL(n)}catch{return{source:`url`,url:n}}if((i.hostname===`github.com`||i.hostname===`www.github.com`)&&i.pathname.match(/^\/([^/]+\/[^/]+?)(\/|\.git|$)/)?.[1]){let e=n.endsWith(`.git`)?n:`${n}.git`;return r?{source:`git`,url:e,ref:r}:{source:`git`,url:e}}return{source:`url`,url:n}}let i=process.platform===`win32`&&(t.startsWith(`.\\`)||t.startsWith(`..\\`)||/^[a-zA-Z]:[/\\]/.test(t));if(t.startsWith(`./`)||t.startsWith(`../`)||t.startsWith(`/`)||t.startsWith(`~`)||i){let e=se(t.startsWith(`~`)?t.replace(/^~/,ae()):t),r;try{r=await n.stat(e)}catch(t){let n=h(t);return{error:n===`ENOENT`?`Path does not exist: ${e}`:`Cannot access path: ${e} (${n??t})`}}return r.isFile()?e.endsWith(`.json`)?{source:`file`,path:e}:{error:`File path must point to a .json file (marketplace.json), but got: ${e}`}:r.isDirectory()?{source:`directory`,path:e}:{error:`Path is neither a file nor a directory: ${e}`}}if(t.includes(`/`)&&!t.startsWith(`@`)){if(t.includes(`:`))return null;let e=t.match(/^([^#@]+)(?:[#@](.+))?$/),n=e?.[1]||t,r=e?.[2];return r?{source:`github`,repo:n,ref:r}:{source:`github`,repo:n}}return null}var ce=e((()=>{S(),b()}));function le(e){let t=D.basename(e),n=D.basename(D.dirname(e));return t===`plugin.json`?`plugin`:t===`marketplace.json`?`marketplace`:n===`.claude-plugin`?`plugin`:`unknown`}function q(e){return e.issues.map(e=>({path:e.path.join(`.`)||`root`,message:e.message,code:e.code}))}function J(e,t,n,r){e.includes(`..`)&&n.push({path:t,message:r?`Path contains "..": ${e}. ${r}`:`Path contains ".." which could be a path traversal attempt: ${e}`})}function ue(e){let t=e.replace(/^(\.\.\/)+/,``);return`Plugin source paths are resolved relative to the marketplace root (the directory containing .claude-plugin/), not relative to marketplace.json. Use "${t===e?`./plugins/my-plugin`:`./${t}`}" instead of "${e}".`}async function Y(e){let t=[],n=[],r=D.resolve(e),i;try{i=await k(r,{encoding:`utf-8`})}catch(e){let t=h(e),n;return n=t===`ENOENT`?`File not found: ${r}`:t===`EISDIR`?`Path is not a file: ${r}`:`Failed to read file: ${m(e)}`,{success:!1,errors:[{path:`file`,message:n,code:t}],warnings:[],filePath:r,fileType:`plugin`}}let a;try{a=p(i)}catch(e){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${m(e)}`}],warnings:[],filePath:r,fileType:`plugin`}}if(a&&typeof a==`object`){let e=a;e.commands&&(Array.isArray(e.commands)?e.commands:[e.commands]).forEach((e,n)=>{typeof e==`string`&&J(e,`commands[${n}]`,t)}),e.agents&&(Array.isArray(e.agents)?e.agents:[e.agents]).forEach((e,n)=>{typeof e==`string`&&J(e,`agents[${n}]`,t)}),e.skills&&(Array.isArray(e.skills)?e.skills:[e.skills]).forEach((e,n)=>{typeof e==`string`&&J(e,`skills[${n}]`,t)})}let o=a;if(typeof a==`object`&&a){let e=a,t=Object.keys(e).filter(e=>$.has(e));if(t.length>0){let r={...e};for(let e of t)delete r[e],n.push({path:e,message:`Field '${e}' belongs in the marketplace entry (marketplace.json), not plugin.json. It's harmless here but unused — Work Mate ignores it at load time.`});o=r}}let s=T().strict().safeParse(o);if(s.success||t.push(...q(s.error)),s.success){let e=s.data;/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.name)||n.push({path:`name`,message:`Plugin name "${e.name}" is not kebab-case. Work Mate accepts it, but the Claude.ai marketplace sync requires kebab-case (lowercase letters, digits, and hyphens only, e.g., "my-plugin").`}),e.version||n.push({path:`version`,message:`No version specified. Consider adding a version following semver (e.g., "1.0.0")`}),e.description||n.push({path:`description`,message:`No description provided. Adding a description helps users understand what your plugin does`}),e.author||n.push({path:`author`,message:`No author information provided. Consider adding author details for plugin attribution`})}return{success:t.length===0,errors:t,warnings:n,filePath:r,fileType:`plugin`}}async function X(e){let t=[],n=[],r=D.resolve(e),i;try{i=await k(r,{encoding:`utf-8`})}catch(e){let t=h(e),n;return n=t===`ENOENT`?`File not found: ${r}`:t===`EISDIR`?`Path is not a file: ${r}`:`Failed to read file: ${m(e)}`,{success:!1,errors:[{path:`file`,message:n,code:t}],warnings:[],filePath:r,fileType:`marketplace`}}let a;try{a=p(i)}catch(e){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${m(e)}`}],warnings:[],filePath:r,fileType:`marketplace`}}if(a&&typeof a==`object`){let e=a;Array.isArray(e.plugins)&&e.plugins.forEach((e,n)=>{if(e&&typeof e==`object`&&`source`in e){let r=e.source;typeof r==`string`&&J(r,`plugins[${n}].source`,t,ue(r)),r&&typeof r==`object`&&`path`in r&&typeof r.path==`string`&&J(r.path,`plugins[${n}].source.path`,t)}})}let o=C().extend({plugins:d(w().strict())}).strict().safeParse(a);if(o.success||t.push(...q(o.error)),o.success){let e=o.data;if((!e.plugins||e.plugins.length===0)&&n.push({path:`plugins`,message:`Marketplace has no plugins defined`}),e.plugins){e.plugins.forEach((n,r)=>{e.plugins.filter(e=>e.name===n.name).length>1&&t.push({path:`plugins[${r}].name`,message:`Duplicate plugin name "${n.name}" found in marketplace`})});let i=D.dirname(r),a=D.basename(i)===`.claude-plugin`?D.dirname(i):i;for(let[t,r]of e.plugins.entries()){if(!r.version||typeof r.source!=`string`||!r.source.startsWith(`./`))continue;let e=D.join(a,r.source,`.claude-plugin`,`plugin.json`),i;try{let t=p(await k(e,{encoding:`utf-8`}));typeof t.version==`string`&&(i=t.version)}catch{continue}i&&i!==r.version&&n.push({path:`plugins[${t}].version`,message:`Entry declares version "${r.version}" but ${r.source}/.claude-plugin/plugin.json says "${i}". At install time, plugin.json wins (calculatePluginVersion precedence) — the entry version is silently ignored. Update this entry to "${i}" to match.`})}}e.metadata?.description||n.push({path:`metadata.description`,message:`No marketplace description provided. Adding a description helps users understand what this marketplace offers`})}return{success:t.length===0,errors:t,warnings:n,filePath:r,fileType:`marketplace`}}function de(e,t,n){let r=[],i=[],a=t.match(ee);if(!a)return i.push({path:`frontmatter`,message:`No frontmatter block found. Add YAML frontmatter between --- delimiters at the top of the file to set description and other metadata.`}),{success:!0,errors:r,warnings:i,filePath:e,fileType:n};let s=a[1]||``,c;try{c=o(s)}catch(t){return r.push({path:`frontmatter`,message:`YAML frontmatter failed to parse: ${m(t)}. At runtime this ${n} loads with empty metadata (all frontmatter fields silently dropped).`}),{success:!1,errors:r,warnings:i,filePath:e,fileType:n}}if(typeof c!=`object`||!c||Array.isArray(c))return r.push({path:`frontmatter`,message:`Frontmatter must be a YAML mapping (key: value pairs), got ${Array.isArray(c)?`an array`:c===null?`null`:typeof c}.`}),{success:!1,errors:r,warnings:i,filePath:e,fileType:n};let l=c;if(l.description!==void 0){let e=l.description;typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`&&e!==null&&r.push({path:`description`,message:`description must be a string, got ${Array.isArray(e)?`array`:typeof e}. At runtime this value is dropped.`})}else i.push({path:`description`,message:`No description in frontmatter. A description helps users and Claude understand when to use this ${n}.`});l.name!==void 0&&l.name!==null&&typeof l.name!=`string`&&r.push({path:`name`,message:`name must be a string, got ${typeof l.name}.`});let u=l[`allowed-tools`];u!=null&&(typeof u!=`string`&&!Array.isArray(u)?r.push({path:`allowed-tools`,message:`allowed-tools must be a string or array of strings, got ${typeof u}.`}):Array.isArray(u)&&u.some(e=>typeof e!=`string`)&&r.push({path:`allowed-tools`,message:`allowed-tools array must contain only strings.`}));let d=l.shell;if(d!=null)if(typeof d!=`string`)r.push({path:`shell`,message:`shell must be a string, got ${typeof d}.`});else{let e=d.trim().toLowerCase();e!==`bash`&&e!==`powershell`&&r.push({path:`shell`,message:`shell must be 'bash' or 'powershell', got '${d}'.`})}return{success:r.length===0,errors:r,warnings:i,filePath:e,fileType:n}}async function Z(e){let t;try{t=await k(e,{encoding:`utf-8`})}catch(t){return h(t)===`ENOENT`?{success:!0,errors:[],warnings:[],filePath:e,fileType:`hooks`}:{success:!1,errors:[{path:`file`,message:`Failed to read file: ${m(t)}`}],warnings:[],filePath:e,fileType:`hooks`}}let n;try{n=p(t)}catch(t){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${m(t)}. At runtime this breaks the entire plugin load.`}],warnings:[],filePath:e,fileType:`hooks`}}let r=ne().safeParse(n);return r.success?{success:!0,errors:[],warnings:[],filePath:e,fileType:`hooks`}:{success:!1,errors:q(r.error),warnings:[],filePath:e,fileType:`hooks`}}async function Q(e,t){let n;try{n=await A(e,{withFileTypes:!0})}catch(e){let t=h(e);if(t===`ENOENT`||t===`ENOTDIR`)return[];throw e}if(t)return n.filter(e=>e.isDirectory()).map(t=>D.join(e,t.name,`SKILL.md`));let r=[];for(let t of n){let n=D.join(e,t.name);t.isDirectory()?r.push(...await Q(n,!1)):t.isFile()&&t.name.toLowerCase().endsWith(`.md`)&&r.push(n)}return r}async function fe(e){let t=[],n=[[`skill`,D.join(e,`skills`)],[`agent`,D.join(e,`agents`)],[`command`,D.join(e,`commands`)]];for(let[e,r]of n){let n=await Q(r,e===`skill`);for(let r of n){let n;try{n=await k(r,{encoding:`utf-8`})}catch(n){if(_(n))continue;t.push({success:!1,errors:[{path:`file`,message:`Failed to read: ${m(n)}`}],warnings:[],filePath:r,fileType:e});continue}let i=de(r,n,e);(i.errors.length>0||i.warnings.length>0)&&t.push(i)}}let r=await Z(D.join(e,`hooks`,`hooks.json`));return(r.errors.length>0||r.warnings.length>0)&&t.push(r),t}async function pe(e){let t=D.resolve(e),n=null;try{n=await M(t)}catch(e){if(!_(e))throw e}if(n?.isDirectory()){let e=await X(D.join(t,`.claude-plugin`,`marketplace.json`));if(e.errors[0]?.code!==`ENOENT`)return e;let n=await Y(D.join(t,`.claude-plugin`,`plugin.json`));return n.errors[0]?.code===`ENOENT`?{success:!1,errors:[{path:`directory`,message:`No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json`}],warnings:[],filePath:t,fileType:`plugin`}:n}switch(le(e)){case`plugin`:return Y(e);case`marketplace`:return X(e);case`unknown`:try{let n=p(await k(t,{encoding:`utf-8`}));if(Array.isArray(n.plugins))return X(e)}catch(e){if(h(e)===`ENOENT`)return{success:!1,errors:[{path:`file`,message:`File not found: ${t}`}],warnings:[],filePath:t,fileType:`plugin`}}return Y(e)}}var $,me=e((()=>{f(),S(),c(),g(),s(),re(),$=new Set([`category`,`source`,`tags`,`strict`,`id`])}));export{K as a,G as c,ce as i,pe as n,B as o,fe as r,z as s,me as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,o as t}from"./windowsPaths-BVztIhXM.js";e();export{t as setShellIfWindows};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{l as e,o as t,u as n}from"./envUtils-BDhHQY0-.js";import{At as r,Tt as i,_t as a,dD as o,fD as s,ld as c}from"./loadAgentsDir-CKSb56Gp.js";import{t as l}from"./src-P_wYS_NJ2.js";import{C as u,F as d,S as f,a as p,l as m,w as h,z as g}from"./debug-BdqxZ7rV.js";import{Ut as _}from"./settings-Xbq6AaD-.js";import{O as v,k as y}from"./git-B9uvt96d.js";import{o as b,s as x}from"./log-CTFl4qpD.js";import{n as S,r as C}from"./analytics-DJobLaWP.js";import{C as w,l as T,v as E}from"./startupProfiler-jeId9f2i.js";import{Bt as D,Ot as O,_n as k,vn as A}from"./model-C2e73CJD.js";import{i as ee,t as j}from"./sessionIdCompat-DMayYBrf.js";import{n as te}from"./firstPartyEventLogger-DhEPWcit.js";import{t as M}from"./datadog-DrmHyl3_.js";import{n as N,o as P,r as F}from"./debugUtils-CezNYZ-4.js";import{t as I}from"./pollConfig-BgpfHQPJ.js";import{n as L,t as ne}from"./rcDebugLog-CARUIORE.js";import{a as R,i as z,n as B,o as re,r as V,s as H,t as ie}from"./capacityWake-L7b1mMft.js";import{a as ae,i as oe,n as se,r as U,t as ce}from"./workSecret-DtiFreRl.js";import{i as W}from"./trustedDevice-j1u2TG5U.js";import{t as le}from"./jwtUtils-C9sdGhvT.js";import{i as G,n as K,r as q}from"./cliLaunch-BWWOgBFh.js";import{t as J}from"./lib-BlVGipXx.js";import{hostname as Y,tmpdir as ue}from"os";import{dirname as X,join as de,resolve as Z}from"path";import{createWriteStream as fe}from"fs";import{randomUUID as Q}from"crypto";import{spawn as pe}from"child_process";import{createInterface as me}from"readline";t(),g(),f(),v(),b(),S(),E(),k(),s(),M(),te(),i(),ne(),G(),J(),_(),l(),p(),c(),j(),P();var he=10,$=10;function ge(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}var _e={Read:`Reading`,Write:`Writing`,Edit:`Editing`,MultiEdit:`Editing`,Bash:`Running`,Glob:`Searching`,Grep:`Searching`,WebFetch:`Fetching`,WebSearch:`Searching`,Task:`Running task`,FileReadTool:`Reading`,FileWriteTool:`Writing`,FileEditTool:`Editing`,GlobTool:`Searching`,GrepTool:`Searching`,BashTool:`Running`,NotebookEditTool:`Editing notebook`,LSP:`LSP`};function ve(e,t){let n=_e[e]??e,r=t.file_path??t.filePath??t.pattern??t.command?.slice(0,60)??t.url??t.query??``;return r?`${n} ${r}`:n}function ye(e,t,n){let r;try{r=u(e)}catch{return[]}if(!r||typeof r!=`object`)return[];let i=r,a=[],o=Date.now();switch(i.type){case`assistant`:{let e=i.message;if(!e)break;let r=e.content;if(!Array.isArray(r))break;for(let e of r){if(!e||typeof e!=`object`)continue;let r=e;if(r.type===`tool_use`){let e=r.name??`Tool`,i=r.input??{},s=ve(e,i);a.push({type:`tool_start`,summary:s,timestamp:o}),n(`[bridge:activity] sessionId=${t} tool_use name=${e} ${xe(i)}`)}else if(r.type===`text`){let e=r.text??``;e.length>0&&(a.push({type:`text`,summary:e.slice(0,80),timestamp:o}),n(`[bridge:activity] sessionId=${t} text "${e.slice(0,100)}"`))}}break}case`result`:{let e=i.subtype;if(e===`success`)a.push({type:`result`,summary:`Session completed`,timestamp:o}),n(`[bridge:activity] sessionId=${t} result subtype=success`);else if(e){let r=i.errors?.[0]??`Error: ${e}`;a.push({type:`error`,summary:r,timestamp:o}),n(`[bridge:activity] sessionId=${t} result subtype=${e} error="${r}"`)}else n(`[bridge:activity] sessionId=${t} result subtype=undefined`);break}default:break}return a}function be(e){if(e.parent_tool_use_id!=null||e.isSynthetic||e.isReplay)return;let t=e.message?.content,n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let e of t)if(e&&typeof e==`object`&&e.type===`text`){n=e.text;break}}return n=n?.trim(),n||void 0}function xe(e){let t=[];for(let[n,r]of Object.entries(e))if(typeof r==`string`&&t.push(`${n}="${r.slice(0,100)}"`),t.length>=3)break;return t.join(` `)}function Se(e){return{spawn(t,n){let r=ge(t.sessionId),i;if(e.debugFile){let t=e.debugFile.lastIndexOf(`.`);i=t>0?`${e.debugFile.slice(0,t)}-${r}${e.debugFile.slice(t)}`:`${e.debugFile}-${r}`}else e.verbose&&(i=de(ue(),`claude`,`bridge-session-${r}.log`));let a=null,o;e.debugFile&&(o=de(X(e.debugFile),`bridge-transcript-${r}.jsonl`),a=fe(o,{flags:`a`}),a.on(`error`,t=>{e.onDebug(`[bridge:session] Transcript write error: ${t.message}`),a=null}),e.onDebug(`[bridge:session] Transcript log: ${o}`));let s=[...e.scriptArgs,`--print`,`--sdk-url`,t.sdkUrl,`--session-id`,t.sessionId,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--replay-user-messages`,...e.verbose?[`--verbose`]:[],...i?[`--debug-file`,i]:[],...e.permissionMode?[`--permission-mode`,e.permissionMode]:[]],c={...e.env,CLAUDE_CODE_OAUTH_TOKEN:void 0,CLAUDE_CODE_ENVIRONMENT_KIND:`bridge`,...e.sandbox&&{CLAUDE_CODE_FORCE_SANDBOX:`1`},CLAUDE_CODE_SESSION_ACCESS_TOKEN:t.accessToken,CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2:`1`,...t.useCcrV2&&{CLAUDE_CODE_USE_CCR_V2:`1`,CLAUDE_CODE_WORKER_EPOCH:String(t.workerEpoch)}};e.onDebug(`[bridge:session] Spawning sessionId=${t.sessionId} sdkUrl=${t.sdkUrl} accessToken=${t.accessToken?`present`:`MISSING`}`),e.onDebug(`[bridge:session] Child args: ${s.join(` `)}`),i&&e.onDebug(`[bridge:session] Debug log: ${i}`);let l=pe(e.execPath,s,{cwd:n,stdio:[`pipe`,`pipe`,`pipe`],env:c,windowsHide:!0});e.onDebug(`[bridge:session] sessionId=${t.sessionId} pid=${l.pid}`);let d=[],f=null,p=[],m=!1,g=!1;l.stderr&&me({input:l.stderr}).on(`line`,t=>{e.verbose&&process.stderr.write(t+`
|
|
2
|
-
`),p.length>=$&&p.shift(),p.push(t)}),l.stdout&&me({input:l.stdout}).on(`line`,n=>{a&&a.write(n+`
|
|
3
|
-
`),e.onDebug(`[bridge:ws] sessionId=${t.sessionId} <<< ${N(n)}`),e.verbose&&process.stderr.write(n+`
|
|
4
|
-
`);let r=ye(n,t.sessionId,e.onDebug);for(let n of r)d.length>=he&&d.shift(),d.push(n),f=n,e.onActivity?.(t.sessionId,n);{let r;try{r=u(n)}catch{}if(r&&typeof r==`object`){let n=r;if(n.type===`control_request`)n.request?.subtype===`can_use_tool`&&e.onPermissionRequest&&e.onPermissionRequest(t.sessionId,r,t.accessToken);else if(n.type===`user`&&!g&&t.onFirstUserMessage){let e=be(n);e&&(g=!0,t.onFirstUserMessage(e))}}}});let _=new Promise(n=>{l.on(`close`,(r,i)=>{a&&(a.end(),a=null),i===`SIGTERM`||i===`SIGINT`?(e.onDebug(`[bridge:session] sessionId=${t.sessionId} interrupted signal=${i} pid=${l.pid}`),n(`interrupted`)):r===0?(e.onDebug(`[bridge:session] sessionId=${t.sessionId} completed exit_code=0 pid=${l.pid}`),n(`completed`)):(e.onDebug(`[bridge:session] sessionId=${t.sessionId} failed exit_code=${r} pid=${l.pid}`),n(`failed`))}),l.on(`error`,r=>{e.onDebug(`[bridge:session] sessionId=${t.sessionId} spawn error: ${r.message}`),n(`failed`)})}),v={sessionId:t.sessionId,done:_,activities:d,accessToken:t.accessToken,lastStderr:p,get currentActivity(){return f},kill(){l.killed||(e.onDebug(`[bridge:session] Sending SIGTERM to sessionId=${t.sessionId} pid=${l.pid}`),process.platform===`win32`?l.kill():l.kill(`SIGTERM`))},forceKill(){!m&&l.pid&&(m=!0,e.onDebug(`[bridge:session] Sending SIGKILL to sessionId=${t.sessionId} pid=${l.pid}`),process.platform===`win32`?l.kill():l.kill(`SIGKILL`))},writeStdin(n){l.stdin&&!l.stdin.destroyed&&(e.onDebug(`[bridge:ws] sessionId=${t.sessionId} >>> ${N(n)}`),l.stdin.write(n))},updateAccessToken(n){v.accessToken=n,v.writeStdin(h({type:`update_environment_variables`,variables:{CLAUDE_CODE_SESSION_ACCESS_TOKEN:n}})+`
|
|
5
|
-
`),e.onDebug(`[bridge:session] Sent token refresh via stdin for sessionId=${t.sessionId}`)}};return v}}}p(),c(),P();var Ce={connInitialMs:2e3,connCapMs:12e4,connGiveUpMs:6e5,generalInitialMs:500,generalCapMs:3e4,generalGiveUpMs:6e5},we=1e3;function Te(e){return e.connCapMs*2}function Ee(){let e=[...K()],t=q();return t&&e.push(t),e}function De(e,t,n){try{return e.spawn(t,n)}catch(e){let t=d(e);return x(Error(`Session spawn failed: ${t}`)),t}}async function Oe(t,i,s,c,l,u,f,p=Ce,h,g){let _=new AbortController;f.aborted?_.abort():f.addEventListener(`abort`,()=>_.abort(),{once:!0});let v=_.signal,b=new Map,S=new Map,w=new Map,E=new Map,D=new Map,O=new Map,k=new Set,j=new Map,te=new Set,M=new Set,N=ie(v);async function P(){L(`heartbeat: checking ${b.size} active session(s)`);let e=!1,t=!1,n=[];for(let[r]of b){let a=w.get(r),o=D.get(r);if(!(!a||!o))try{await c.heartbeatWork(i,a,o),e=!0}catch(e){m(`[bridge:heartbeat] Failed for sessionId=${r} workId=${a}: ${d(e)}`),e instanceof B&&(C(`tengu_bridge_heartbeat_error`,{status:e.status,error_type:e.status===401||e.status===403?`auth_failed`:`fatal`}),e.status===401||e.status===403?n.push(r):t=!0)}}for(let e of n){u.logVerbose(`Session ${e} token expired — re-queuing via bridge/reconnect`);try{await c.reconnectSession(i,e),m(`[bridge:heartbeat] Re-queued sessionId=${e} via bridge/reconnect`)}catch(t){u.logError(`Failed to refresh session ${e} token: ${d(t)}`),m(`[bridge:heartbeat] reconnectSession(${e}) failed: ${d(t)}`,{level:`error`})}}return t?`fatal`:n.length>0?`auth_failed`:e?`ok`:`failed`}let ne=new Set,V=g?le({getAccessToken:g,onRefresh:(e,t)=>{let n=b.get(e);n&&(ne.has(e)?(u.logVerbose(`Refreshing session ${e} token via bridge/reconnect`),c.reconnectSession(i,e).catch(t=>{u.logError(`Failed to refresh session ${e} token: ${d(t)}`),m(`[bridge:token] reconnectSession(${e}) failed: ${d(t)}`,{level:`error`})})):n.updateAccessToken(t))},label:`bridge`}):null,H=Date.now(),W=new Set;function G(e){W.add(e),e.finally(()=>W.delete(e))}let K=0,q=0,J=null,Y=null,X=null,Z=null;m(`[bridge:work] Starting poll loop spawnMode=${t.spawnMode} maxSessions=${t.maxSessions} environmentId=${i}`),y(`info`,`bridge_loop_started`,{max_sessions:t.maxSessions,spawn_mode:t.spawnMode}),u.printBanner(t,i),u.updateSessionCount(0,t.maxSessions,t.spawnMode),h&&u.setAttached(h);function fe(){u.updateSessionCount(b.size,t.maxSessions,t.spawnMode);for(let[e,t]of b){let n=t.currentActivity;n&&u.updateSessionActivity(E.get(e)??e,n)}if(b.size===0){u.updateIdleStatus();return}let[e,n]=[...b.entries()].pop(),r=S.get(e);if(!r)return;let i=n.currentActivity;if(!i||i.type===`result`||i.type===`error`){t.maxSessions>1&&u.refreshDisplay();return}let a=T(Date.now()-r),o=n.activities.filter(e=>e.type===`tool_start`).slice(-5).map(e=>e.summary);u.updateSessionStatus(e,a,i,o)}function Q(){pe(),fe(),Z=setInterval(fe,we)}function pe(){Z&&(clearInterval(Z),Z=null)}function me(e,n,a){return o=>{let s=w.get(e);L(`session done: sessionId=${e} workId=${s??`none`} status=${o} wasTimedOut=${te.has(e)} duration=${Math.round((Date.now()-n)/1e3)}s stderr=${a.lastStderr.length>0?a.lastStderr.join(`\\n`).slice(0,500):`(none)`}`),b.delete(e),S.delete(e),w.delete(e),D.delete(e);let l=E.get(e)??e;E.delete(e),u.removeSession(l),M.delete(l),ne.delete(e);let f=O.get(e);f&&(clearTimeout(f),O.delete(e)),V?.cancel(e),N.wake();let h=te.delete(e),g=h&&o===`interrupted`?`failed`:o,A=Date.now()-n;m(`[bridge:session] sessionId=${e} workId=${s??`unknown`} exited status=${g} duration=${T(A)}`),C(`tengu_bridge_session_done`,{status:g,duration_ms:A}),y(`info`,`bridge_session_done`,{status:g,duration_ms:A}),u.clearStatus(),pe();let ee=a.lastStderr.length>0?a.lastStderr.join(`
|
|
6
|
-
`):void 0,P;switch(g){case`completed`:u.logSessionComplete(e,A);break;case`failed`:!h&&!v.aborted&&(P=ee??`Process exited with error`,u.logSessionFailed(e,P),x(Error(`Bridge session failed: ${P}`)));break;case`interrupted`:u.logVerbose(`Session ${e} interrupted`);break}g!==`interrupted`&&s&&(G(Pe(c,i,s,u,p.stopWorkBaseDelayMs)),k.add(s));let F=j.get(e);if(F&&(j.delete(e),G(r(F.worktreePath,F.worktreeBranch,F.gitRoot,F.hookBased).catch(e=>u.logVerbose(`Failed to remove worktree ${F.worktreePath}: ${d(e)}`)))),g!==`interrupted`&&!v.aborted)if(t.spawnMode!==`single-session`)G(c.archiveSession(l).catch(t=>u.logVerbose(`Failed to archive session ${e}: ${d(t)}`))),m(`[bridge:session] Session ${g}, returning to idle (multi-session mode)`);else{m(`[bridge:session] Session ${g}, aborting poll loop to tear down environment`),_.abort();return}v.aborted||Q()}}for(h||Q();!v.aborted;){let f=I();try{L(`poll: envId=${i} activeSessions=${b.size}`);let g=await c.pollForWork(i,s,v,f.reclaim_older_than_ms);if(J!==null||Y!==null){let e=Date.now()-(J??Y??Date.now());u.logReconnected(e),m(`[bridge:poll] Reconnected after ${T(e)}`),C(`tengu_bridge_reconnected`,{disconnected_ms:e})}if(K=0,q=0,J=null,Y=null,X=null,!g){if(b.size>=t.maxSessions){let e=f.multisession_poll_interval_ms_at_capacity;if(f.non_exclusive_heartbeat_interval_ms>0){C(`tengu_bridge_heartbeat_mode_entered`,{active_sessions:b.size,heartbeat_interval_ms:f.non_exclusive_heartbeat_interval_ms});let n=e>0?Date.now()+e:null,r=`ok`,i=0;for(;!v.aborted&&b.size>=t.maxSessions&&(n===null||Date.now()<n);){let e=I();if(e.non_exclusive_heartbeat_interval_ms<=0)break;let t=N.signal();if(r=await P(),r===`auth_failed`||r===`fatal`){t.cleanup();break}i++,await A(e.non_exclusive_heartbeat_interval_ms,t.signal),t.cleanup()}let a=r===`auth_failed`||r===`fatal`?r:v.aborted?`shutdown`:b.size<t.maxSessions?`capacity_changed`:n!==null&&Date.now()>=n?`poll_due`:`config_disabled`;if(C(`tengu_bridge_heartbeat_mode_exited`,{reason:a,heartbeat_cycles:i,active_sessions:b.size}),a===`poll_due`&&m(`[bridge:poll] Heartbeat poll_due after ${i} cycles — falling through to pollForWork`),r===`auth_failed`||r===`fatal`){let t=N.signal();await A(e>0?e:f.non_exclusive_heartbeat_interval_ms,t.signal),t.cleanup()}}else if(e>0){let t=N.signal();await A(e,t.signal),t.cleanup()}}else await A(b.size>0?f.multisession_poll_interval_ms_partial_capacity:f.multisession_poll_interval_ms_not_at_capacity,v);continue}let _=b.size>=t.maxSessions;if(k.has(g.id)){if(m(`[bridge:work] Skipping already-completed workId=${g.id}`),_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}else await A(1e3,v);continue}let F;try{F=U(g.secret)}catch(e){let t=d(e);if(u.logError(`Failed to decode work secret for workId=${g.id}: ${t}`),C(`tengu_bridge_work_secret_failed`,{}),k.add(g.id),G(Pe(c,i,g.id,u,p.stopWorkBaseDelayMs)),_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}continue}let R=async()=>{m(`[bridge:work] Acknowledging workId=${g.id}`);try{await c.acknowledgeWork(i,g.id,F.session_ingress_token)}catch(e){m(`[bridge:work] Acknowledge failed workId=${g.id}: ${d(e)}`)}},z=g.data.type;switch(g.data.type){case`healthcheck`:await R(),m(`[bridge:work] Healthcheck received`),u.logVerbose(`Healthcheck received`);break;case`session`:{let s=g.data.id;L(`work received: type=session sessionId=${s} workId=${g.id}`);try{re(s,`session_id`)}catch{await R(),u.logError(`Invalid session_id received: ${s}`);break}let f=b.get(s);if(f){f.updateAccessToken(F.session_ingress_token),D.set(s,F.session_ingress_token),w.set(s,g.id),V?.schedule(s,F.session_ingress_token),m(`[bridge:work] Updated access token for existing sessionId=${s} workId=${g.id}`),await R();break}if(b.size>=t.maxSessions){m(`[bridge:work] At capacity (${b.size}/${t.maxSessions}), cannot spawn new session for workId=${g.id}`);break}await R();let _=Date.now(),T,N=!1,P;if(F.use_code_sessions===!0||e(process.env.CLAUDE_BRIDGE_USE_CCR_V2)){T=ce(t.apiBaseUrl,s);for(let e=1;e<=2;e++)try{P=await oe(T,F.session_ingress_token),N=!0,m(`[bridge:session] CCR v2: registered worker sessionId=${s} epoch=${P} attempt=${e}`);break}catch(t){let n=d(t);if(e<2){if(m(`[bridge:session] CCR v2: registerWorker attempt ${e} failed, retrying: ${n}`),await A(2e3,v),v.aborted)break;continue}u.logError(`CCR v2 worker registration failed for session ${s}: ${n}`),x(Error(`registerWorker failed: ${n}`)),k.add(g.id),G(Pe(c,i,g.id,u,p.stopWorkBaseDelayMs))}if(!N)break}else T=se(t.sessionIngressUrl,s);let I=t.spawnMode,z=t.dir,B=0;if(I===`worktree`&&(h===void 0||!ae(s,h))){let e=Date.now();try{let t=await a(`bridge-${ge(s)}`);B=Date.now()-e,j.set(s,{worktreePath:t.worktreePath,worktreeBranch:t.worktreeBranch,gitRoot:t.gitRoot,hookBased:t.hookBased}),z=t.worktreePath,m(`[bridge:session] Created worktree for sessionId=${s} at ${t.worktreePath}`)}catch(e){let t=d(e);u.logError(`Failed to create worktree for session ${s}: ${t}`),x(Error(`Worktree creation failed: ${t}`)),k.add(g.id),G(Pe(c,i,g.id,u,p.stopWorkBaseDelayMs));break}}m(`[bridge:session] Spawning sessionId=${s} sdkUrl=${T}`);let H=ee(s);L(`spawning session: sessionId=${s} sdkUrl=${T} useCcrV2=${N} workerEpoch=${P} dir=${z} accessToken=${F.session_ingress_token?F.session_ingress_token.slice(0,8)+`...`:`NONE`}`);let ie=De(l,{sessionId:s,sdkUrl:T,accessToken:F.session_ingress_token,useCcrV2:N,workerEpoch:P,onFirstUserMessage:e=>{if(M.has(H))return;M.add(H);let n=Le(e);u.setSessionTitle(H,n),m(`[bridge:title] derived title for ${H}: ${n}`),import(`./createSession-DnykRoia.js`).then(({updateBridgeSessionTitle:e})=>e(H,n,{baseUrl:t.apiBaseUrl})).catch(e=>m(`[bridge:title] failed to update title for ${H}: ${e}`,{level:`error`}))}},z);if(typeof ie==`string`){u.logError(`Failed to spawn session ${s}: ${ie}`);let e=j.get(s);e&&(j.delete(s),G(r(e.worktreePath,e.worktreeBranch,e.gitRoot,e.hookBased).catch(t=>u.logVerbose(`Failed to remove worktree ${e.worktreePath}: ${d(t)}`)))),k.add(g.id),G(Pe(c,i,g.id,u,p.stopWorkBaseDelayMs));break}let U=ie,W=Date.now()-_;C(`tengu_bridge_session_started`,{active_sessions:b.size,spawn_mode:I,in_worktree:j.has(s),spawn_duration_ms:W,worktree_create_ms:B,inProtectedNamespace:n()}),y(`info`,`bridge_session_started`,{spawn_mode:I,in_worktree:j.has(s),spawn_duration_ms:W,worktree_create_ms:B}),b.set(s,U),w.set(s,g.id),D.set(s,F.session_ingress_token),E.set(s,H);let le=Date.now();S.set(s,le),u.logSessionStart(s,`Session ${s}`);let K=ge(s),q;if(t.debugFile){let e=t.debugFile.lastIndexOf(`.`);q=e>0?`${t.debugFile.slice(0,e)}-${K}${t.debugFile.slice(e)}`:`${t.debugFile}-${K}`}else t.verbose&&(q=de(ue(),`claude`,`bridge-session-${K}.log`));q&&u.logVerbose(`Debug log: ${q}`),u.addSession(H,o(H,t.sessionIngressUrl)),Q(),u.setAttached(H),Re(H,t.apiBaseUrl).then(e=>{e&&b.has(s)&&(M.add(H),u.setSessionTitle(H,e),m(`[bridge:title] server title for ${H}: ${e}`))}).catch(e=>m(`[bridge:title] failed to fetch title for ${H}: ${e}`,{level:`error`}));let J=t.sessionTimeoutMs??864e5;if(J>0){let e=setTimeout(Fe,J,s,J,u,te,U);O.set(s,e)}N&&ne.add(s),V?.schedule(s,F.session_ingress_token),U.done.then(me(s,le,U));break}default:await R(),m(`[bridge:work] Unknown work type: ${z}, skipping`);break}if(_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}}catch(e){if(v.aborted)break;if(e instanceof B){z(e.errorType)?u.logStatus(e.message):R(e)?m(`[bridge:work] Suppressed 403 error: ${e.message}`):(u.logError(e.message),x(e)),C(`tengu_bridge_fatal_error`,{status:e.status,error_type:e.errorType}),y(z(e.errorType)?`info`:`error`,`bridge_fatal_error`,{status:e.status,error_type:e.errorType});break}let t=F(e);if(L(`poll error: ${t} isConn=${Ae(e)} isServer=${je(e)} activeSessions=${b.size}`),Ae(e)||je(e)){let e=Date.now();X!==null&&e-X>Te(p)&&(m(`[bridge:work] Detected system sleep (${Math.round((e-X)/1e3)}s gap), resetting error budget`),y(`info`,`bridge_poll_sleep_detected`,{gapMs:e-X}),J=null,K=0,Y=null,q=0),X=e,J||(J=e);let n=e-J;if(n>=p.connGiveUpMs){u.logError(`Server unreachable for ${Math.round(n/6e4)} minutes, giving up.`),C(`tengu_bridge_poll_give_up`,{error_type:`connection`,elapsed_ms:n}),y(`error`,`bridge_poll_give_up`,{error_type:`connection`,elapsed_ms:n});break}Y=null,q=0,K=K?Math.min(K*2,p.connCapMs):p.connInitialMs;let r=Me(K);u.logVerbose(`Connection error, retrying in ${Ne(r)} (${Math.round(n/1e3)}s elapsed): ${t}`),u.updateReconnectingStatus(Ne(r),T(n)),I().non_exclusive_heartbeat_interval_ms>0&&await P(),await A(r,v)}else{let e=Date.now();X!==null&&e-X>Te(p)&&(m(`[bridge:work] Detected system sleep (${Math.round((e-X)/1e3)}s gap), resetting error budget`),y(`info`,`bridge_poll_sleep_detected`,{gapMs:e-X}),J=null,K=0,Y=null,q=0),X=e,Y||(Y=e);let n=e-Y;if(n>=p.generalGiveUpMs){u.logError(`Persistent errors for ${Math.round(n/6e4)} minutes, giving up.`),C(`tengu_bridge_poll_give_up`,{error_type:`general`,elapsed_ms:n}),y(`error`,`bridge_poll_give_up`,{error_type:`general`,elapsed_ms:n});break}J=null,K=0,q=q?Math.min(q*2,p.generalCapMs):p.generalInitialMs;let r=Me(q);u.logVerbose(`Poll failed, retrying in ${Ne(r)} (${Math.round(n/1e3)}s elapsed): ${t}`),u.updateReconnectingStatus(Ne(r),T(n)),I().non_exclusive_heartbeat_interval_ms>0&&await P(),await A(r,v)}}}pe(),u.clearStatus();let he=Date.now()-H;C(`tengu_bridge_shutdown`,{active_sessions:b.size,loop_duration_ms:he}),y(`info`,`bridge_shutdown`,{active_sessions:b.size,loop_duration_ms:he});let $=new Set(b.keys());h&&$.add(h);let _e=new Map(E);if(b.size>0){m(`[bridge:shutdown] Shutting down ${b.size} active session(s)`),u.logStatus(`Shutting down ${b.size} active session(s)\u2026`);let e=new Map(w);for(let[e,t]of b.entries())m(`[bridge:shutdown] Sending SIGTERM to sessionId=${e}`),t.kill();let t=new AbortController;await Promise.race([Promise.allSettled([...b.values()].map(e=>e.done)),A(p.shutdownGraceMs??3e4,t.signal)]),t.abort();for(let[e,t]of b.entries())m(`[bridge:shutdown] Force-killing stuck sessionId=${e}`),t.forceKill();for(let e of O.values())clearTimeout(e);if(O.clear(),V?.cancelAll(),j.size>0){let e=[...j.values()];j.clear(),m(`[bridge:shutdown] Cleaning up ${e.length} worktree(s)`),await Promise.allSettled(e.map(e=>r(e.worktreePath,e.worktreeBranch,e.gitRoot,e.hookBased)))}await Promise.allSettled([...e.entries()].map(([e,t])=>c.stopWork(i,t,!0).catch(n=>u.logVerbose(`Failed to stop work ${t} for session ${e}: ${d(n)}`))))}W.size>0&&await Promise.allSettled([...W]),$.size>0&&(m(`[bridge:shutdown] Archiving ${$.size} session(s)`),await Promise.allSettled([...$].map(e=>c.archiveSession(_e.get(e)??ee(e)).catch(t=>u.logVerbose(`Failed to archive session ${e}: ${d(t)}`)))));try{await c.deregisterEnvironment(i),m(`[bridge:shutdown] Environment deregistered, bridge offline`),u.logVerbose(`Environment deregistered.`)}catch(e){u.logVerbose(`Failed to deregister environment: ${d(e)}`)}let{clearBridgePointer:ve}=await import(`./bridgePointer-D4W9GpWw.js`);await ve(t.dir),u.logVerbose(`Environment offline.`)}var ke=new Set([`ECONNREFUSED`,`ECONNRESET`,`ETIMEDOUT`,`ENETUNREACH`,`EHOSTUNREACH`]);function Ae(e){return!!(e&&typeof e==`object`&&`code`in e&&typeof e.code==`string`&&ke.has(e.code))}function je(e){return!!e&&typeof e==`object`&&`code`in e&&typeof e.code==`string`&&e.code===`ERR_BAD_RESPONSE`}function Me(e){return Math.max(0,e+e*.25*(2*Math.random()-1))}function Ne(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`}async function Pe(e,t,n,r,i=1e3){for(let a=1;a<=3;a++)try{await e.stopWork(t,n,!1),m(`[bridge:work] stopWork succeeded for workId=${n} on attempt ${a}/3`);return}catch(e){if(e instanceof B){R(e)?m(`[bridge:work] Suppressed stopWork 403 for ${n}: ${e.message}`):r.logError(`Failed to stop work ${n}: ${e.message}`),y(`error`,`bridge_stop_work_failed`,{attempts:a,fatal:!0});return}let t=d(e);if(a<3){let e=Me(i*2**(a-1));r.logVerbose(`Failed to stop work ${n} (attempt ${a}/3), retrying in ${Ne(e)}: ${t}`),await A(e)}else r.logError(`Failed to stop work ${n} after 3 attempts: ${t}`),y(`error`,`bridge_stop_work_failed`,{attempts:3})}}function Fe(e,t,n,r,i){m(`[bridge:session] sessionId=${e} timed out after ${T(t)}`),C(`tengu_bridge_session_timeout`,{timeout_ms:t}),n.logSessionFailed(e,`Session timed out after ${T(t)}`),r.add(e),i.kill()}var Ie=80;function Le(e){return w(e.replace(/\s+/g,` `).trim(),Ie)}async function Re(e,t){let{getBridgeSession:n}=await import(`./createSession-DnykRoia.js`);return(await n(e,{baseUrl:t}))?.title||void 0}var ze=class extends Error{constructor(e){super(e),this.name=`BridgeHeadlessPermanentError`}};async function Be(e,t){let{dir:n,log:r}=e;process.chdir(n);let{setOriginalCwd:i,setCwdState:a}=await import(`./state-B4HwLt8i.js`);i(n),a(n);let{enableConfigs:o,checkHasTrustDialogAccepted:s}=await import(`./config-CVvUNkj2.js`);o();let{initSinks:c}=await import(`./sinks-D3bXeHlQ.js`);if(c(),!s())throw new ze(`Workspace not trusted: ${n}. Run \`claude\` in that directory first to accept the trust dialog.`);if(!e.getAccessToken())throw Error(H);let{getBridgeBaseUrl:l}=await import(`./bridgeConfig-Dmc1ZDev.js`),u=l();if(u.startsWith(`http://`)&&!u.includes(`localhost`)&&!u.includes(`127.0.0.1`))throw new ze(`Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed.`);let f=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||u,{getBranch:p,getRemoteUrl:m,findGitRoot:h}=await import(`./git-BfS5Hk4S.js`),{hasWorktreeCreateHook:g}=await import(`./hooks-DGd02IKF.js`);if(e.spawnMode===`worktree`&&!(g()||h(n)!==null))throw new ze(`Worktree mode requires a git repository or WorktreeCreate hooks. Directory ${n} has neither.`);let _=await p(),v=await m(),y=Y(),b=Q(),x={dir:n,machineName:y,branch:_,gitRepoUrl:v,maxSessions:e.capacity,spawnMode:e.spawnMode,verbose:!1,sandbox:e.sandbox,bridgeId:b,workerType:`claude_code`,environmentId:Q(),apiBaseUrl:u,sessionIngressUrl:f,sessionTimeoutMs:e.sessionTimeoutMs},S=V({baseUrl:u,getAccessToken:e.getAccessToken,runnerVersion:`0.0.9`,onDebug:r,onAuth401:e.onAuth401,getTrustedDeviceToken:W}),C,w;try{let e=await S.registerBridgeEnvironment(x);C=e.environment_id,w=e.environment_secret}catch(e){throw Error(`Bridge registration failed: ${d(e)}`)}let T=Se({execPath:process.execPath,scriptArgs:Ee(),env:process.env,verbose:!1,sandbox:e.sandbox,permissionMode:e.permissionMode,onDebug:r}),E=Ve(r);E.printBanner(x,C);let D;if(e.createSessionOnStart){let{createBridgeSession:n}=await import(`./createSession-DnykRoia.js`);try{let i=await n({environmentId:C,title:e.name,events:[],gitRepoUrl:v,branch:_,signal:t,baseUrl:u,getAccessToken:e.getAccessToken,permissionMode:e.permissionMode});i&&(D=i,r(`created initial session ${i}`))}catch(e){r(`session pre-creation failed (non-fatal): ${d(e)}`)}}await Oe(x,C,w,S,T,E,t,void 0,D,async()=>e.getAccessToken())}function Ve(e){let t=()=>{};return{printBanner:(t,n)=>e(`registered environmentId=${n} dir=${t.dir} spawnMode=${t.spawnMode} capacity=${t.maxSessions}`),logSessionStart:(t,n)=>e(`session start ${t}`),logSessionComplete:(t,n)=>e(`session complete ${t} (${n}ms)`),logSessionFailed:(t,n)=>e(`session failed ${t}: ${n}`),logStatus:e,logVerbose:e,logError:t=>e(`error: ${t}`),logReconnected:t=>e(`reconnected after ${t}ms`),addSession:(t,n)=>e(`session attached ${t}`),removeSession:t=>e(`session detached ${t}`),updateIdleStatus:t,updateReconnectingStatus:t,updateSessionStatus:t,updateSessionActivity:t,updateSessionCount:t,updateFailedStatus:t,setSpawnModeDisplay:t,setRepoInfo:t,setDebugLogPath:t,setAttached:t,setSessionTitle:t,clearStatus:t,toggleQr:t,refreshDisplay:t}}D(),g();var He=78,Ue=1;async function We(e){if(!e){console.error(`Error: --daemon-worker requires a worker kind`),process.exitCode=He;return}switch(e){case`remoteControl`:await Ge();break;default:console.error(`Error: unknown daemon worker kind '${e}'`),process.exitCode=He}}async function Ge(){let e=process.env.DAEMON_WORKER_DIR||Z(`.`),t=process.env.DAEMON_WORKER_NAME||void 0,n=process.env.DAEMON_WORKER_SPAWN_MODE||`same-dir`,r=parseInt(process.env.DAEMON_WORKER_CAPACITY||`4`,10),i=process.env.DAEMON_WORKER_PERMISSION||void 0,a=process.env.DAEMON_WORKER_SANDBOX===`1`,o=process.env.DAEMON_WORKER_TIMEOUT_MS?parseInt(process.env.DAEMON_WORKER_TIMEOUT_MS,10):void 0,s=process.env.DAEMON_WORKER_CREATE_SESSION!==`0`,c=new AbortController,l=()=>c.abort();process.on(`SIGTERM`,l),process.on(`SIGINT`,l);let u={dir:e,name:t,spawnMode:n,capacity:r,permissionMode:i,sandbox:a,sessionTimeoutMs:o,createSessionOnStart:s,getAccessToken:()=>O()?.accessToken,onAuth401:async e=>!!O()?.accessToken,log:e=>{console.log(`[remoteControl] ${e}`)}};try{await Be(u,c.signal)}catch(e){e instanceof ze?(console.error(`[remoteControl] permanent error: ${e.message}`),process.exitCode=He):(console.error(`[remoteControl] transient error: ${d(e)}`),process.exitCode=Ue)}finally{process.off(`SIGTERM`,l),process.off(`SIGINT`,l)}}export{We as runDaemonWorker};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Tt as e,bt as t}from"./loadAgentsDir-CKSb56Gp.js";e();export{t as execIntoTmuxWorktree};
|