@readmagic/workmate 0.0.6 → 0.0.8
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-CwLtQld4.js +1 -0
- package/dist/chunks/App-Ba52HvYC.js +1 -0
- package/dist/chunks/{ApproveApiKey-Bsy8kr2a.js → ApproveApiKey-CEIfuUh0.js} +1 -1
- package/dist/chunks/ApproveApiKey-D2MLQu2P.js +1 -0
- package/dist/chunks/BackgroundTasksDialog-IGDrkbWl.js +2 -0
- package/dist/chunks/{BypassPermissionsModeDialog-BKj_3Idm.js → BypassPermissionsModeDialog-GYhq--JR.js} +1 -1
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-BD-7yAZh.js → ClaudeMdExternalIncludesDialog-C-CTa-95.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-Catv6BCJ.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-BeQXqUtX.js +1 -0
- package/dist/chunks/{DiffDialog-C4XSSjvV.js → DiffDialog-AC5DSJrq.js} +6 -6
- package/dist/chunks/Doctor-B9Rxsoy0.js +1 -0
- package/dist/chunks/Doctor-lhUBhEy5.js +3 -0
- package/dist/chunks/{ExitFlow-BttnAv-O.js → ExitFlow-Cu8SoQHs.js} +2 -2
- package/dist/chunks/Grove-Bc4CofEj.js +11 -0
- package/dist/chunks/{HybridTransport-B8V6O6rM.js → HybridTransport-BJPOG2wl.js} +3 -3
- package/dist/chunks/{InvalidConfigDialog-CHzBSJDf.js → InvalidConfigDialog-BI13il58.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-BKenH3bD.js → InvalidSettingsDialog-CtOheV1K.js} +1 -1
- package/dist/chunks/MCPConnectionManager-ao-P3xSA.js +1 -0
- package/dist/chunks/MCPToolListView-dkofcJs4.js +1 -0
- package/dist/chunks/{McpParsingWarnings-Bj2-YL8o.js → McpParsingWarnings-BS4JoR5l.js} +1 -1
- package/dist/chunks/MessageSelector-B88b2ypw.js +3 -0
- package/dist/chunks/Messages-BPeI7lLV.js +11 -0
- package/dist/chunks/Onboarding-c2fQ8Io_.js +1 -0
- package/dist/chunks/{PromptInputFooterSuggestions-egs9VvUs.js → PromptInputFooterSuggestions-D1cH9sDX.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-SieM5NoY.js → PromptInputHelpMenu-DDD5WuK0.js} +1 -1
- package/dist/chunks/QueryEngine-Cv_meCam.js +1 -0
- package/dist/chunks/REPL-BXhAQOXb.js +139 -0
- package/dist/chunks/REPL-YqjLnr3A.js +1 -0
- package/dist/chunks/RemoteSessionManager-CT7T8BaR.js +2 -0
- package/dist/chunks/ResumeConversation-CIZCjms9.js +1 -0
- package/dist/chunks/{SSETransport-DtpMDekF.js → SSETransport-CrwbKuVt.js} +3 -3
- package/dist/chunks/SearchExtraToolsTool-Dx6093yw.js +1 -0
- package/dist/chunks/Settings-CyUm0AtU.js +2 -0
- package/dist/chunks/{TeleportProgress-rYaHIEfe.js → TeleportProgress-C3qyp5zy.js} +1 -1
- package/dist/chunks/TeleportRepoMismatchDialog-BV--nyYn.js +1 -0
- package/dist/chunks/TeleportResumeWrapper-Blo2cZg-.js +1 -0
- package/dist/chunks/ThemePicker-EQ6hPUeI.js +1 -0
- package/dist/chunks/TrustDialog-BukWGvHZ.js +1 -0
- package/dist/chunks/{ValidationErrorsList-B8pRiGuy.js → ValidationErrorsList-DokTJQwi.js} +1 -1
- package/dist/chunks/{WelcomeV2-DqnbSdIu.js → WelcomeV2-Ci9VwPYh.js} +1 -1
- package/dist/chunks/{add-dir-C2Hu3oE4.js → add-dir-DPQV0qml.js} +1 -1
- package/dist/chunks/{agentDisplay-XoDJhr03.js → agentDisplay-DBQYOaOh.js} +1 -1
- package/dist/chunks/agents-DmybpgDN.js +103 -0
- package/dist/chunks/{agents-C4QXeHIJ.js → agents-HlKk68Qc.js} +1 -1
- package/dist/chunks/allErrors-BPn_2TrB.js +1 -0
- package/dist/chunks/analytics-CkYUHW_U.js +1 -0
- package/dist/chunks/ant-DjdvlLOo.js +1 -0
- package/dist/chunks/api-AMgj1zf_.js +1 -0
- package/dist/chunks/api-CF5IVtj0.js +1 -0
- package/dist/chunks/{asciicast-CbAjUHT_.js → asciicast-BJNYO5sh.js} +1 -1
- package/dist/chunks/asciicast-CH6hdK0a.js +1 -0
- package/dist/chunks/auth-CNjDn1VY.js +15 -0
- package/dist/chunks/auth-CZzP483s.js +1 -0
- package/dist/chunks/auth-DDSBm_Yj.js +1 -0
- package/dist/chunks/{autoMode-BNukrVAB.js → autoMode-Cr0AhS1G.js} +5 -5
- package/dist/chunks/{autonomy-BEmI7WVW.js → autonomy-ARUQt-Lu.js} +1 -1
- package/dist/chunks/autonomy-D4xZLOdJ.js +15 -0
- package/dist/chunks/{autonomyPanel-fhge09AG.js → autonomyPanel-BQK9MoeB.js} +1 -1
- package/dist/chunks/backgroundHousekeeping--eBgphcg.js +17 -0
- package/dist/chunks/backgroundHousekeeping-VV1V_Y2Z.js +1 -0
- package/dist/chunks/{banner-CWkrK10u.js → banner-Ca7rki2V.js} +2 -2
- package/dist/chunks/bg-BK_9J6F6.js +1 -0
- package/dist/chunks/{bg-WnYN5ifx.js → bg-DxRHF1yn.js} +2 -2
- package/dist/chunks/{branch-Bpe-gocq.js → branch-BYq0zpzT.js} +1 -1
- package/dist/chunks/{break-cache-C_p7Kmx2.js → break-cache-BKvoMOZx.js} +2 -2
- package/dist/chunks/bridgeConfig-C82un7rJ.js +1 -0
- package/dist/chunks/{bridgeConfig-BhxRF2vm.js → bridgeConfig-jDEva6Eh.js} +1 -1
- package/dist/chunks/bridgeMessaging-YqYdl6ej.js +1 -0
- package/dist/chunks/bridgePointer-DIM0sj0x.js +1 -0
- package/dist/chunks/btw-CUV3nRrE.js +1 -0
- package/dist/chunks/caches-BZ59_En6.js +1 -0
- package/dist/chunks/caches-Cg-HtWKG.js +1 -0
- package/dist/chunks/capacityWake-CKOiRELo.js +3 -0
- package/dist/chunks/ccrClient-BC2q3k44.js +1 -0
- package/dist/chunks/{claudeDesktop-Cx31Ugjp.js → claudeDesktop-DQXL5bGm.js} +1 -1
- package/dist/chunks/{clear-B4d38ssF.js → clear-1etSJhdg.js} +1 -1
- package/dist/chunks/{cliLaunch-BkPAatcs.js → cliLaunch-CQjLYRzM.js} +1 -1
- package/dist/chunks/client-DQXvVKND.js +1 -0
- package/dist/chunks/client-DQwf_b9o.js +17 -0
- package/dist/chunks/client-DkgC-mFB.js +1 -0
- package/dist/chunks/color-CBsNbt1s.js +1 -0
- package/dist/chunks/commands-qM5z_Uld.js +1 -0
- package/dist/chunks/compact-BclJiRJe.js +2 -0
- package/dist/chunks/completionCache-BMHAktkM.js +1 -0
- package/dist/chunks/config-CE058cvr.js +3 -0
- package/dist/chunks/config-D81avYye.js +1 -0
- package/dist/chunks/config-DpOOllGk.js +1 -0
- package/dist/chunks/context-noninteractive-Ct_ttQfP.js +29 -0
- package/dist/chunks/context-noninteractive-DJb8H_hN.js +1 -0
- package/dist/chunks/context-sR9fJmXE.js +1 -0
- package/dist/chunks/conversation-D48Kt3ar.js +1 -0
- package/dist/chunks/conversation-fOFTa7k5.js +1 -0
- package/dist/chunks/{createSSHSession-BM-5pbv6.js → createSSHSession-BmHXA2me.js} +1 -1
- package/dist/chunks/createSession-C4rukWkv.js +1 -0
- package/dist/chunks/createSession-CSwlW2T2.js +1 -0
- package/dist/chunks/crossProjectResume-lDFB2ZcY.js +40 -0
- package/dist/chunks/cwd-5Xr-Qka6.js +1 -0
- package/dist/chunks/cwd-C5ce-7WB.js +1 -0
- package/dist/chunks/{daemon-YtZbMQtn.js → daemon-ZtpTZWgQ.js} +1 -1
- package/dist/chunks/{datadog-CpqEQbHa.js → datadog-BJn5ECIu.js} +1 -1
- package/dist/chunks/{debug-BrXObCdR.js → debug-RZ4NuXyS.js} +1 -1
- package/dist/chunks/debugUtils-D30M1cbN.js +1 -0
- package/dist/chunks/{detached-TYk4hMFj.js → detached-jrVP11oU.js} +1 -1
- package/dist/chunks/{detectRepository-BPr0VWNO.js → detectRepository-CFiHe6Rv.js} +1 -1
- package/dist/chunks/detectRepository-DqQvyj_a.js +1 -0
- package/dist/chunks/{diff-CVzOodeg.js → diff-BKiK3xHv.js} +1 -1
- package/dist/chunks/directoryCompletion-BagQcynj.js +1 -0
- package/dist/chunks/doctor-BEHYm34V.js +1 -0
- package/dist/chunks/{entry-DHVYCR26.js → entry-BzL1MFQG.js} +4 -4
- package/dist/chunks/esm-BLPbfHQd.js +1 -0
- package/dist/chunks/{execFileNoThrow-D244NytW.js → execFileNoThrow-CCX-JY8h.js} +1 -1
- package/dist/chunks/{execSyncWrapper-CCMQShK-.js → execSyncWrapper-dhRSYGFW.js} +1 -1
- package/dist/chunks/exit-DE2YiAhQ.js +1 -0
- package/dist/chunks/{lazySchema-DcIJE_0i.js → external-CEp-aPkt.js} +1 -1
- package/dist/chunks/extraUsage-Dw7AXiH7.js +1 -0
- package/dist/chunks/extractMemories-DxTUMiv3.js +1 -0
- package/dist/chunks/fast-CHmMkIpE.js +1 -0
- package/dist/chunks/fast-uQASHWqR.js +1 -0
- package/dist/chunks/fileSuggestions-Dyu2kQtE.js +3 -0
- package/dist/chunks/firstPartyEventLogger-D5ohKbIe.js +5 -0
- package/dist/chunks/firstPartyEventLogger-LsNY6yOt.js +1 -0
- package/dist/chunks/flushGate-Cnsu4HET.js +1 -0
- package/dist/chunks/gemini-Cudre91e.js +1 -0
- package/dist/chunks/{generateRecap-jGDLI_wU.js → generateRecap-CiFxXlmH.js} +1 -1
- package/dist/chunks/generateSessionName-DitoBxJT.js +1 -0
- package/dist/chunks/{genericProcessUtils-CdQTApYX.js → genericProcessUtils-DVfMHhfy.js} +1 -1
- package/dist/chunks/git-BerW9bId.js +6 -0
- package/dist/chunks/git-D6dOU2mT.js +1 -0
- package/dist/chunks/githubRepoPathMapping-DGr0kJ8D.js +1 -0
- package/dist/chunks/{goal-CFx4eRkf.js → goal-DuUayfDg.js} +3 -3
- package/dist/chunks/grok-tRbmZzEh.js +1 -0
- package/dist/chunks/grove-Cv19v6Sv.js +7 -0
- package/dist/chunks/help-DkqxbFDM.js +1 -0
- package/dist/chunks/{hooks-X6J03MnA.js → hooks-BZJTWD07.js} +2 -2
- package/dist/chunks/hooks-CsP42iOp.js +1 -0
- package/dist/chunks/initReplBridge-DdsSWVqN.js +1 -0
- package/dist/chunks/{install-D5YORIJL.js → install-BI---dv0.js} +1 -1
- package/dist/chunks/{instrumentation-Bw3CxPQf.js → instrumentation-CcWzhGfE.js} +4 -4
- package/dist/chunks/{job-DOWtcltx.js → job-B0ftcqPF.js} +1 -1
- package/dist/chunks/{jwtUtils-DE2GPUcx.js → jwtUtils-C0cE-1Ey.js} +1 -1
- package/dist/chunks/keybindings-DZU3vwo3.js +2 -0
- package/dist/chunks/language-DHhXLb_Y.js +1 -0
- package/dist/chunks/{language-C6Fq-XOZ.js → language-s-dLbdVz.js} +1 -1
- package/dist/chunks/launchLocalMemory-twLxpPvg.js +3 -0
- package/dist/chunks/{launchOnboarding-Cc6WwPX9.js → launchOnboarding-BWz2XSb9.js} +1 -1
- package/dist/chunks/lazySchema-B4D4qJVE.js +1 -0
- package/dist/chunks/{loadAgentsDir-D206qwP3.js → loadAgentsDir-ByO8eJqU.js} +1724 -1993
- package/dist/chunks/loadAgentsDir-CMNFLt7R.js +1 -0
- package/dist/chunks/loadPluginHooks-BPnxcgrL.js +1 -0
- package/dist/chunks/{localSearch-CzrbOklu.js → localSearch-CHHCH16D.js} +1 -1
- package/dist/chunks/localSearch-DzQODFap.js +1 -0
- package/dist/chunks/log-CZ0zYP_c.js +1 -0
- package/dist/chunks/logoV2Utils-CGUJ-5gY.js +1 -0
- package/dist/chunks/{magicDocs-DWjL2k7P.js → magicDocs-C5i5ruuU.js} +3 -3
- package/dist/chunks/{main-D862LI_d.js → main-BLD4QAQg.js} +2 -2
- package/dist/chunks/{main-BohPzJFF.js → main-D4Uk-WUs.js} +89 -86
- package/dist/chunks/managedEnv-C-9XSN14.js +1 -0
- package/dist/chunks/managedEnv-DLVRBaA9.js +1 -0
- package/dist/chunks/managedEnvConstants-BPwL2aWI.js +1 -0
- package/dist/chunks/{mappers-BDMZFgKx.js → mappers-CHRFic5q.js} +1 -1
- package/dist/chunks/mcp-BMVdGknC.js +1 -0
- package/dist/chunks/mcp-COS5RJFS.js +6 -0
- package/dist/chunks/mcp-tGsOW1GN.js +2 -0
- package/dist/chunks/memoize-B8hfb1JN.js +1 -0
- package/dist/chunks/memory-DR6poqeH.js +1 -0
- package/dist/chunks/{mode-CUkHFkju.js → mode-QV-NW1Wd.js} +2 -2
- package/dist/chunks/model-BF_4ebyl.js +1 -0
- package/dist/chunks/{model-BY3auM2c.js → model-BNU_ulDJ.js} +1 -1
- package/dist/chunks/model-CwO-g1RW.js +1 -0
- package/dist/chunks/nativeInstaller-B-lNJjM-.js +1 -0
- package/dist/chunks/observationStore-BpjlK0pG.js +3 -0
- package/dist/chunks/omit-DZCEXri5.js +1 -0
- package/dist/chunks/onChangeAppState-BmfM5g-D.js +1 -0
- package/dist/chunks/openai-DPH6rXOZ.js +10 -0
- package/dist/chunks/{panel-BSZGX6jN.js → panel-mD094ALT.js} +1 -1
- package/dist/chunks/{panelCall-BsVoL1uF.js → panelCall-SbffM7G4.js} +1 -1
- package/dist/chunks/parser-DrBC8nWp.js +1 -0
- package/dist/chunks/{parser-DFwaTGf7.js → parser-dbHRgXb8.js} +1 -1
- package/dist/chunks/partition-DKuAFJkc.js +1 -0
- package/dist/chunks/{path-D5U-tm91.js → path-Cv9QMBAX.js} +1 -1
- package/dist/chunks/permissions-ey-bfanE.js +3 -0
- package/dist/chunks/{pidLock-D5rUnDB-.js → pidLock-DJnS_38v.js} +2 -2
- package/dist/chunks/{pipeTransport-CqCnc-Ys.js → pipeTransport-DVOKR4c_.js} +1 -1
- package/dist/chunks/{plan-SYZ4DXR8.js → plan-Brg9XnRr.js} +1 -1
- package/dist/chunks/{platform-BrYefG_2.js → platform-DCXXznJg.js} +1 -1
- package/dist/chunks/plugin-CRwa39Y1.js +17 -0
- package/dist/chunks/pluginAutoupdate-D0LIP7cy.js +1 -0
- package/dist/chunks/{pluginBlocklist-C3H2afWG.js → pluginBlocklist-PwHHD3nj.js} +1 -1
- package/dist/chunks/pluginCliCommands-BJM5Bdpf.js +1 -0
- package/dist/chunks/pluginFlagging-pBxSselw.js +1 -0
- package/dist/chunks/pluginOperations-C7p_Qr2r.js +2 -0
- package/dist/chunks/pluginStartupCheck-C0HqhG6D.js +1 -0
- package/dist/chunks/pluginStartupCheck-Di4LjHXf.js +1 -0
- package/dist/chunks/{plugins-Dn6ceWrT.js → plugins-DUKNjLq6.js} +4 -4
- package/dist/chunks/pollConfig-BgpfHQPJ.js +1 -0
- package/dist/chunks/{poorMode-DhzFKpPl.js → poorMode-CYXmr_mU.js} +1 -1
- package/dist/chunks/poorMode-CejPNCp-.js +1 -0
- package/dist/chunks/print-gyTOCJzk.js +23 -0
- package/dist/chunks/processBashCommand-Cze9vCm6.js +1 -0
- package/dist/chunks/processSlashCommand-BRajh1v7.js +5 -0
- package/dist/chunks/prompt-B7joRiqj.js +139 -0
- package/dist/chunks/prompt-DqSMh2x9.js +1 -0
- package/dist/chunks/prompt-Eysh8Et_.js +1 -0
- package/dist/chunks/{promptEditor-DeMrXUir.js → promptEditor-R_acDAgI.js} +2 -2
- package/dist/chunks/{protocolHandler-BHxBy84Z.js → protocolHandler-RNKkhq91.js} +1 -1
- package/dist/chunks/{proxy-CRN7jYIi.js → proxy-BmtEnJ02.js} +1 -1
- package/dist/chunks/rcDebugLog-CARUIORE.js +1 -0
- package/dist/chunks/reconciler-BfkO6X2X.js +4 -0
- package/dist/chunks/refresh-C1X3sptR.js +1 -0
- package/dist/chunks/registerProtocol-DoKqmqu2.js +36 -0
- package/dist/chunks/{reload-plugins-B9IT9CFA.js → reload-plugins-C0osFcNh.js} +1 -1
- package/dist/chunks/remoteBridgeCore-Cddqv2WW.js +1 -0
- package/dist/chunks/remoteManagedSettings-B1mnRDmA.js +1 -0
- package/dist/chunks/rename-B3tf-YiD.js +1 -0
- package/dist/chunks/{renderOptions-BUJB9nAm.js → renderOptions-ChLwxtVu.js} +1 -1
- package/dist/chunks/replBridgeHandle-CNwNIijW.js +1 -0
- package/dist/chunks/{resume-y7MCTZHJ.js → resume-Be1G_GBL.js} +2 -2
- package/dist/chunks/ripgrep-C2PhTJDh.js +1 -0
- package/dist/chunks/{ripgrep-BXmXjAzA.js → ripgrep-gaT9Njwi.js} +1 -1
- package/dist/chunks/{runtimeObserver-BZcJ1FbH.js → runtimeObserver-CsIwinzh.js} +1 -1
- package/dist/chunks/runtimeObserver-Dbxxw4ls.js +10 -0
- package/dist/chunks/sandbox-adapter-C6GBuJPB.js +1 -0
- package/dist/chunks/sandbox-toggle-jEySONTW.js +1 -0
- package/dist/chunks/searchExtraTools-C_UTryh_.js +1 -0
- package/dist/chunks/session-DDI1Eb2x.js +2 -0
- package/dist/chunks/sessionFileAccessHooks-DfJ7Htfl.js +1 -0
- package/dist/chunks/sessionIdCompat-DMayYBrf.js +1 -0
- package/dist/chunks/sessionMemory-CQBxPkTQ.js +1 -0
- package/dist/chunks/sessionMemory-s0ALUHvc.js +1 -0
- package/dist/chunks/sessionMemoryUtils-xt7dTHGC.js +1 -0
- package/dist/chunks/sessionObserver-C2sYqWL3.js +1 -0
- package/dist/chunks/sessionObserver-DoYc0ZOP.js +20 -0
- package/dist/chunks/sessionState-CjNY991n.js +11 -0
- package/dist/chunks/sessionStorage-DqsY-7pi.js +1 -0
- package/dist/chunks/{sessionTitle-coed9IuJ.js → sessionTitle-B0OYf5nM.js} +3 -3
- package/dist/chunks/sessionTracing-CwsXt_uA.js +11 -0
- package/dist/chunks/settings-BWtOA9A7.js +1 -0
- package/dist/chunks/settings-hQDLwPVj.js +20 -0
- package/dist/chunks/settingsSync-DdFagwHV.js +1 -0
- package/dist/chunks/setup-DzC22EkN.js +3 -0
- package/dist/chunks/{shadowedRuleDetection-D1wsAdpp.js → shadowedRuleDetection-C86PTj1m.js} +1 -1
- package/dist/chunks/{shellQuote-DkSy9MYE.js → shellQuote-BUVKMu_P.js} +1 -1
- package/dist/chunks/{sideQuestion-wSi38p81.js → sideQuestion-C780iYwd.js} +3 -3
- package/dist/chunks/sinks-5G_xhc1Q.js +1 -0
- package/dist/chunks/{sinks-C_Dl1p4K.js → sinks-Cftq7Es0.js} +2 -2
- package/dist/chunks/skillChangeDetector-plLveEbf.js +1 -0
- package/dist/chunks/skillGapStore-Dc1arohs.js +5 -0
- package/dist/chunks/skillLifecycle-DP6mY1Kp.js +8 -0
- package/dist/chunks/{skillSearchPanel-CErRnUwo.js → skillSearchPanel-CpLTImaL.js} +4 -4
- package/dist/chunks/{skills-CBKhfg_a.js → skills-zGYaYfFV.js} +1 -1
- package/dist/chunks/{src-D06Xyj4g.js → src-BN7QRYLl.js} +1 -1
- package/dist/chunks/startupProfiler-DCn_NxMH.js +3 -0
- package/dist/chunks/startupProfiler-JbpAkfNE.js +1 -0
- package/dist/chunks/{state-ix0xIunV.js → state-C2OSZkV1.js} +1 -1
- package/dist/chunks/state-DU9lRJ9x.js +1 -0
- package/dist/chunks/{stats-BY4dskVg.js → stats-Duk7_xjQ.js} +1 -1
- package/dist/chunks/{status-BnJIXtKl.js → status-CFw-FpZM.js} +2 -2
- package/dist/chunks/{status-DU-B4SMW.js → status-peiVB_2j.js} +1 -1
- package/dist/chunks/statusNoticeHelpers-B5U5c9PE.js +1 -0
- package/dist/chunks/{stringUtils-DGLPkqJ4.js → stringUtils-B6FudhoZ.js} +1 -1
- package/dist/chunks/switcher-BAMqSX7Z.js +1 -0
- package/dist/chunks/switcher-hgBgVzLb.js +1 -0
- package/dist/chunks/syncCache-Zl9kZRRl.js +1 -0
- package/dist/chunks/{tasks-CBVL005y.js → tasks-BxpyRhmD.js} +1 -1
- package/dist/chunks/teleport-CwxeD5vL.js +1 -0
- package/dist/chunks/{templateJobs-D6998LcG.js → templateJobs-DR5fKFiO.js} +1 -1
- package/dist/chunks/{terminalSetup-0SBdyKF5.js → terminalSetup-DgRBt-JJ.js} +1 -1
- package/dist/chunks/terminalSetup-DlaFWI81.js +33 -0
- package/dist/chunks/{theme-p0AooruD.js → theme-Bz6esfST.js} +1 -1
- package/dist/chunks/{tmux-BY7IdQ1f.js → tmux-DSU9tYIo.js} +1 -1
- package/dist/chunks/{toolEventObserver-DTccwC3c.js → toolEventObserver-BSekCkM2.js} +1 -1
- package/dist/chunks/toolPool-B7SIoDw5.js +1 -0
- package/dist/chunks/{trustedDevice-BTYoQCkC.js → trustedDevice-B0x9X0fb.js} +1 -1
- package/dist/chunks/trustedDevice-CjHQtVkO.js +1 -0
- package/dist/chunks/{types-C-MRCL8J.js → types-D7_37tP2.js} +2 -2
- package/dist/chunks/{udsClient-BuCtv7dN.js → udsClient-CHoMMH28.js} +1 -1
- package/dist/chunks/{up-BHkC97_C.js → up-B8wBSpLg.js} +1 -1
- package/dist/chunks/{updateCCB-DFL5Wt_I.js → updateCCB-D_kGQKPT.js} +1 -1
- package/dist/chunks/{upstreamproxy-DyR_eXO8.js → upstreamproxy-Hmq-n8fw.js} +1 -1
- package/dist/chunks/useExitOnCtrlCDWithKeybindings-Cce612uS.js +1 -0
- package/dist/chunks/useMainLoopModel-BICP6_Fi.js +1 -0
- package/dist/chunks/useManagePlugins-DtbY_vPL.js +1 -0
- package/dist/chunks/useMergedTools-Ckx2IEhF.js +1 -0
- package/dist/chunks/{useSearchInput-D1Vr2Js1.js → useSearchInput-BAgljZUl.js} +1 -1
- package/dist/chunks/useSettingsErrors-CAJR_wpd.js +1 -0
- package/dist/chunks/userAgent-BxTG7IMk.js +1 -0
- package/dist/chunks/{util-BaDs-wL5.js → util-DDtmyq_r.js} +1 -1
- package/dist/chunks/validatePlugin-AHl-g4ct.js +1 -0
- package/dist/chunks/{vim-C-icQDz1.js → vim-kg-mRVbu.js} +1 -1
- package/dist/chunks/{which-CKQnSouy.js → which-CHLNJmtJ.js} +1 -1
- package/dist/chunks/windowsPaths-Pmx8LDR6.js +1 -0
- package/dist/chunks/{windowsPaths-DtapVxOo.js → windowsPaths-o62uq6LF.js} +1 -1
- package/dist/chunks/{workSecret-CNWiR2uQ.js → workSecret-DG9shvG0.js} +1 -1
- package/dist/chunks/workerRegistry-C7H_lsQX.js +6 -0
- package/dist/chunks/worktree-O2p-mJdF.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/AddWorkspaceDirectory-ClHi-Dr6.js +0 -1
- package/dist/chunks/App-BP06lHmf.js +0 -1
- package/dist/chunks/ApproveApiKey-a2ZonQ3n.js +0 -1
- package/dist/chunks/AssistantSessionChooser-CcocKoTJ.js +0 -1
- package/dist/chunks/BackgroundTasksDialog-DNeBhGCf.js +0 -2
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DFivNFuo.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-CS3zjEPF.js +0 -1
- package/dist/chunks/DesktopHandoff-BmPmCfT3.js +0 -1
- package/dist/chunks/Dialog-vfLXEPed.js +0 -1
- package/dist/chunks/Doctor-BhD-ZzZm.js +0 -1
- package/dist/chunks/Doctor-DEQe2q16.js +0 -3
- package/dist/chunks/Feedback-BaYA8-SU.js +0 -2
- package/dist/chunks/Grove-BJziCbZH.js +0 -11
- package/dist/chunks/Grove-sWm-oLBf.js +0 -1
- package/dist/chunks/ListItem-vfLXEPed.js +0 -1
- package/dist/chunks/MCPConnectionManager-CNh9dNlk.js +0 -1
- package/dist/chunks/MessageSelector-DdR6wJhh.js +0 -3
- package/dist/chunks/Messages-Ch6cboMV.js +0 -11
- package/dist/chunks/Onboarding-BrAJp0aL.js +0 -1
- package/dist/chunks/OverageCreditUpsell-Ds1cB7RC.js +0 -1
- package/dist/chunks/PluginSettings-CGqEzejq.js +0 -17
- package/dist/chunks/QueryEngine-CZZMl3PB.js +0 -1
- package/dist/chunks/REPL-CG2N7E4Q.js +0 -142
- package/dist/chunks/REPL-DvA910N_.js +0 -1
- package/dist/chunks/RemoteCallout-Cs-ro8_i.js +0 -1
- package/dist/chunks/RemoteSessionManager-B740Dp6m.js +0 -2
- package/dist/chunks/ResumeConversation-DzV2zmuX.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-C4uO-Zx3.js +0 -1
- package/dist/chunks/Settings-XKw6FI_m.js +0 -2
- package/dist/chunks/TeleportRepoMismatchDialog-DY97YZMB.js +0 -1
- package/dist/chunks/TeleportResumeWrapper-jaQzyTCh.js +0 -1
- package/dist/chunks/ThemePicker-BViWzLp3.js +0 -1
- package/dist/chunks/TrustDialog-DGJ_BisZ.js +0 -1
- package/dist/chunks/TungstenTool-Cb7gJvq4.js +0 -1
- package/dist/chunks/TungstenTool-CxMQVCuF.js +0 -1
- package/dist/chunks/agents-BIHTGDYh.js +0 -103
- package/dist/chunks/allErrors-1896uQA1.js +0 -1
- package/dist/chunks/analytics-BotDBGh0.js +0 -1
- package/dist/chunks/ant-B6k6cBts.js +0 -1
- package/dist/chunks/api-BsFW57_Q.js +0 -1
- package/dist/chunks/api-gqTA-D7n.js +0 -1
- package/dist/chunks/asciicast-BsWpcxrc.js +0 -1
- package/dist/chunks/assistant-C83quuNj.js +0 -1
- package/dist/chunks/assistant-DJ9hd4uC.js +0 -1
- package/dist/chunks/assistant-z2o4-UJe.js +0 -1
- package/dist/chunks/auth-8Vd3_U8t.js +0 -1
- package/dist/chunks/auth-BnSrKyJe.js +0 -15
- package/dist/chunks/auth-DRTjfnGy.js +0 -1
- package/dist/chunks/autonomy-DGcy5Rml.js +0 -15
- package/dist/chunks/backgroundHousekeeping-3i_d_WW5.js +0 -1
- package/dist/chunks/backgroundHousekeeping-BVMf_Tjn.js +0 -17
- package/dist/chunks/bg-B0iMGM9C.js +0 -1
- package/dist/chunks/bridge-D12Shbkj.js +0 -2
- package/dist/chunks/bridgeConfig-CqIQ_rvD.js +0 -1
- package/dist/chunks/bridgeEnabled-D0XC5kNh.js +0 -1
- package/dist/chunks/bridgeEnabled-SbB-6zdY.js +0 -1
- package/dist/chunks/bridgeMain-DHUpZFgL.js +0 -68
- package/dist/chunks/bridgeMain-DUbQjgCp.js +0 -1
- package/dist/chunks/bridgeMessaging-DHc5dOhB.js +0 -1
- package/dist/chunks/bridgePointer-MqLe5Asm.js +0 -1
- package/dist/chunks/browser-BmZuQom6.js +0 -1
- package/dist/chunks/btw-D9hMM5d2.js +0 -1
- package/dist/chunks/caches-CWzT7e6Y.js +0 -1
- package/dist/chunks/caches-UeVVM3T0.js +0 -3
- package/dist/chunks/capacityWake-CV_x9H8j.js +0 -1
- package/dist/chunks/ccrClient-Iza0L8Zw.js +0 -1
- package/dist/chunks/client-BzKQTXzF.js +0 -1
- package/dist/chunks/color-D8VOyoYl.js +0 -1
- package/dist/chunks/commands-DDamMmo4.js +0 -1
- package/dist/chunks/commitAttribution-CgohL8vD.js +0 -1
- package/dist/chunks/commitAttribution-ChAgixdj.js +0 -2
- package/dist/chunks/compact-IFHwxjZ9.js +0 -2
- package/dist/chunks/completionCache-MN3_MqK8.js +0 -4
- package/dist/chunks/completionCache-c4aiyZ_f.js +0 -1
- package/dist/chunks/config-DY5-_kk_.js +0 -1
- package/dist/chunks/config-DmomySWC.js +0 -3
- package/dist/chunks/config-WxgxrQoP.js +0 -1
- package/dist/chunks/context-Cl6BJ2vm.js +0 -1
- package/dist/chunks/context-noninteractive-9hELVC29.js +0 -54
- package/dist/chunks/context-noninteractive-Beij5MfU.js +0 -1
- package/dist/chunks/conversation-BBB91hEw.js +0 -1
- package/dist/chunks/conversation-BWVTM40Y.js +0 -1
- package/dist/chunks/createSession-CoQtL5Rj.js +0 -1
- package/dist/chunks/createSession-Cvl1Q50F.js +0 -1
- package/dist/chunks/cron-3LntnnhJ.js +0 -1
- package/dist/chunks/crossProjectResume-BasMLl2n.js +0 -40
- package/dist/chunks/cwd--nvsx73T.js +0 -1
- package/dist/chunks/cwd-CYmmnQVS.js +0 -1
- package/dist/chunks/debugUtils-NO5KtXqi.js +0 -1
- package/dist/chunks/desktop-B_L6T6jI.js +0 -1
- package/dist/chunks/detectRepository-BTPgN89l.js +0 -1
- package/dist/chunks/directoryCompletion-CW2ckkQg.js +0 -1
- package/dist/chunks/doctor-1L0TFuGw.js +0 -1
- package/dist/chunks/envLessBridgeConfig-CN0_44-p.js +0 -1
- package/dist/chunks/envLessBridgeConfig-Ck2-KMq0.js +0 -1
- package/dist/chunks/esm-D5q6s4l8.js +0 -1
- package/dist/chunks/exit-Bm1S_f3i.js +0 -1
- package/dist/chunks/extra-usage-UHAWtypK.js +0 -1
- package/dist/chunks/extra-usage-core-BFOolqoi.js +0 -1
- package/dist/chunks/extra-usage-noninteractive-cUGZy0en.js +0 -1
- package/dist/chunks/extra-usage-zDHVtWKZ.js +0 -1
- package/dist/chunks/extraUsage-Dq66zzqR.js +0 -1
- package/dist/chunks/extractMemories-BcaklA33.js +0 -1
- package/dist/chunks/fast-DALAHO3d.js +0 -1
- package/dist/chunks/fast-MS7WZpD8.js +0 -1
- package/dist/chunks/feedback-Fw4m28ZC.js +0 -1
- package/dist/chunks/file-DcZWPH2V.js +0 -12
- package/dist/chunks/fileStateCache-DDW5toIs.js +0 -1
- package/dist/chunks/files-Cz1-PK3r.js +0 -2
- package/dist/chunks/firstPartyEventLogger-CS9jVz6D.js +0 -1
- package/dist/chunks/firstPartyEventLogger-CoSUd0a1.js +0 -5
- package/dist/chunks/flushGate-De-yppeo.js +0 -1
- package/dist/chunks/gemini-BPziscyN.js +0 -1
- package/dist/chunks/generateSessionName-hDJ6HBJ1.js +0 -1
- package/dist/chunks/git-CbcnOf0E.js +0 -1
- package/dist/chunks/git-Do0wJvux.js +0 -6
- package/dist/chunks/githubRepoPathMapping-qAoiyj6P.js +0 -1
- package/dist/chunks/grok-Byblph7F.js +0 -1
- package/dist/chunks/grove-CpqjcGCb.js +0 -7
- package/dist/chunks/heapdump-C4kPlqGt.js +0 -5
- package/dist/chunks/help-B1h-faJ3.js +0 -1
- package/dist/chunks/hooks-DPLIIpAD.js +0 -1
- package/dist/chunks/hostGuard-BHI6Q8Mt.js +0 -1
- package/dist/chunks/inboundAttachments-BekVc0W-.js +0 -1
- package/dist/chunks/inboundAttachments-CUJE3KaU.js +0 -1
- package/dist/chunks/index.min-D75yiGLN.js +0 -1
- package/dist/chunks/initReplBridge-JQ-afRx9.js +0 -1
- package/dist/chunks/keybindings-BLw5J-Zj.js +0 -2
- package/dist/chunks/language-Cqw5gYJR.js +0 -1
- package/dist/chunks/launchAgentsPlatform-jWWf-Lk9.js +0 -1
- package/dist/chunks/launchCommand-1qkTCKpf.js +0 -1
- package/dist/chunks/launchLocalMemory-kHeD0I0y.js +0 -3
- package/dist/chunks/launchLocalVault-DLqkOjmb.js +0 -3
- package/dist/chunks/launchMemoryStores-Ct7AVXrO.js +0 -1
- package/dist/chunks/launchSchedule-ZyvuvjgU.js +0 -1
- package/dist/chunks/launchSkillStore-BejQnLog.js +0 -1
- package/dist/chunks/launchTeleport-8CuYUfIR.js +0 -3
- package/dist/chunks/launchVault-DIvIOuPh.js +0 -1
- package/dist/chunks/loadAgentsDir-TZjwTqdr.js +0 -1
- package/dist/chunks/loadPluginHooks-Ddhsyn0_.js +0 -1
- package/dist/chunks/localSearch-DrOAL6f4.js +0 -1
- package/dist/chunks/log-BMCygSzM.js +0 -1
- package/dist/chunks/logoV2Utils-8M56V7oN.js +0 -1
- package/dist/chunks/mcp-Bt1ITh-Z.js +0 -1
- package/dist/chunks/mcp-CwJ-AIpt.js +0 -6
- package/dist/chunks/mcp-W0LFoyFR.js +0 -2
- package/dist/chunks/memoize-B0zhbT8Z.js +0 -1
- package/dist/chunks/memory-3wV7m7UU.js +0 -1
- package/dist/chunks/model-CKkOnnnx.js +0 -1
- package/dist/chunks/model-DRXcJyU9.js +0 -1
- package/dist/chunks/nativeInstaller-CA5d6_G7.js +0 -1
- package/dist/chunks/observationStore-DzCdXq8U.js +0 -4
- package/dist/chunks/onChangeAppState-DBmy2Ow_.js +0 -1
- package/dist/chunks/openai-Cbomn0Ws.js +0 -10
- package/dist/chunks/output-style-BM3qAHLA.js +0 -1
- package/dist/chunks/overageCreditGrant-DsUrmeBh.js +0 -1
- package/dist/chunks/panel-Be-OxtqL.js +0 -1
- package/dist/chunks/parser-Bf6iasPV.js +0 -1
- package/dist/chunks/partition-BAakXjvj.js +0 -1
- package/dist/chunks/passes-CLRt7Cvm.js +0 -1
- package/dist/chunks/permissions-BVSFuwNP.js +0 -3
- package/dist/chunks/permissions-CeYKbtSC.js +0 -1
- package/dist/chunks/permissions-Cn_6f8CB.js +0 -1
- package/dist/chunks/plugin-Bfjzhmrk.js +0 -1
- package/dist/chunks/pluginAutoupdate-reO2PgtQ.js +0 -1
- package/dist/chunks/pluginCliCommands-lqdxdkQp.js +0 -1
- package/dist/chunks/pluginFlagging-D9HKAGBC.js +0 -1
- package/dist/chunks/pluginOperations-EN3EKLux.js +0 -2
- package/dist/chunks/pluginStartupCheck-BY73BMT2.js +0 -1
- package/dist/chunks/pluginStartupCheck-CwWOlveD.js +0 -1
- package/dist/chunks/policyLimits-CkTI5KEt.js +0 -1
- package/dist/chunks/pollConfig-DH2oCtFS.js +0 -1
- package/dist/chunks/poor-j-y-bv8o.js +0 -1
- package/dist/chunks/poorMode-V11s-3cf.js +0 -1
- package/dist/chunks/print-Db_VXmfO.js +0 -23
- package/dist/chunks/privacy-settings-DHMJREbb.js +0 -1
- package/dist/chunks/processBashCommand-BcM_fhV9.js +0 -1
- package/dist/chunks/processSlashCommand-DEVo3GPX.js +0 -5
- package/dist/chunks/prompt-BNHtszmZ.js +0 -139
- package/dist/chunks/prompt-CrX31AGm.js +0 -1
- package/dist/chunks/prompt-IAvMxKDl.js +0 -1
- package/dist/chunks/rate-limit-options-DIudL9fb.js +0 -1
- package/dist/chunks/rcDebugLog-CUy1_F23.js +0 -11
- package/dist/chunks/reconciler-BXpPyfSY.js +0 -4
- package/dist/chunks/referral-CUaIo_vT.js +0 -1
- package/dist/chunks/refresh-CuaVBIQ0.js +0 -1
- package/dist/chunks/registerProtocol-B7Fzdofu.js +0 -36
- package/dist/chunks/release-notes-fbfv2DC0.js +0 -4
- package/dist/chunks/releaseNotes-CxAHFLPl.js +0 -2
- package/dist/chunks/remote-env-BOklGlll.js +0 -1
- package/dist/chunks/remoteBridgeCore-j0bG1zjv.js +0 -1
- package/dist/chunks/remoteManagedSettings-Cq994lyc.js +0 -1
- package/dist/chunks/rename-Iev7wQsI.js +0 -1
- package/dist/chunks/ripgrep-BfIpz5uC.js +0 -1
- package/dist/chunks/runtimeObserver-CyzLASla.js +0 -10
- package/dist/chunks/sandbox-adapter-Cu1FYrkh.js +0 -1
- package/dist/chunks/sandbox-toggle-CWpBO228.js +0 -1
- package/dist/chunks/sanitization-DV-94a9Z.js +0 -1
- package/dist/chunks/searchExtraTools-BUOUds7p.js +0 -1
- package/dist/chunks/semver-BMRJYn3q.js +0 -1
- package/dist/chunks/session-DL4cA_8l.js +0 -2
- package/dist/chunks/sessionDiscovery-DAfNKqp1.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-2cgIIxPk.js +0 -1
- package/dist/chunks/sessionMemory-BS8_TbKj.js +0 -1
- package/dist/chunks/sessionMemory-D5fSHXvZ.js +0 -1
- package/dist/chunks/sessionMemoryUtils-BWUztNh6.js +0 -1
- package/dist/chunks/sessionObserver-ChfQtK2m.js +0 -1
- package/dist/chunks/sessionObserver-ShbCwJ8x.js +0 -20
- package/dist/chunks/sessionStorage-Cf5wmnyB.js +0 -1
- package/dist/chunks/sessionTracing-D9rUyiq0.js +0 -11
- package/dist/chunks/settings-BovzmwMP.js +0 -19
- package/dist/chunks/settingsSync-PqU9XGJq.js +0 -1
- package/dist/chunks/setup-B_FOvNpp.js +0 -3
- package/dist/chunks/sinks-BpcRrN_T.js +0 -1
- package/dist/chunks/skill-learning-B5tmc7EX.js +0 -5
- package/dist/chunks/skillChangeDetector-DNqohXxz.js +0 -1
- package/dist/chunks/skillGapStore-D-kQKVDZ.js +0 -1
- package/dist/chunks/skillGapStore-Df5BWAk5.js +0 -5
- package/dist/chunks/skillGenerator-DbcdpAkw.js +0 -8
- package/dist/chunks/skillLearning-C5cXZE6_.js +0 -1
- package/dist/chunks/skillLearning-ClRiDcJH.js +0 -1
- package/dist/chunks/skillPanel-LBd4E-MM.js +0 -28
- package/dist/chunks/slashCommandParsing-RQb_7Xzt.js +0 -1
- package/dist/chunks/startupProfiler-DIWVcO4e.js +0 -1
- package/dist/chunks/startupProfiler-xa3NmN7Z.js +0 -3
- package/dist/chunks/state-BOa-3Av3.js +0 -1
- package/dist/chunks/statusNoticeHelpers-CzTuGNuC.js +0 -1
- package/dist/chunks/stickers-D5teCKMN.js +0 -1
- package/dist/chunks/systemPromptSections-CR_AoPIX.js +0 -1
- package/dist/chunks/systemPromptSections-DN0HGVye.js +0 -1
- package/dist/chunks/tag-B-wVW9Aj.js +0 -11
- package/dist/chunks/teleport-dtqQXM4x.js +0 -1
- package/dist/chunks/terminalSetup-CuV-qU6v.js +0 -33
- package/dist/chunks/thinkback-Catprqs_.js +0 -1
- package/dist/chunks/thinkback-DI2NpvG-.js +0 -1
- package/dist/chunks/thinkback-play-CqrIRx2o.js +0 -1
- package/dist/chunks/toolEventObserver-DlH73w-S.js +0 -1
- package/dist/chunks/toolPool-B64V-jmK.js +0 -1
- package/dist/chunks/trustedDevice-CiwjT_Y6.js +0 -1
- package/dist/chunks/tui-C2yuCuOU.js +0 -6
- package/dist/chunks/types-Bh9S_JG5.js +0 -3
- package/dist/chunks/types-DHkZVzJe.js +0 -1
- package/dist/chunks/ultrareviewCommand-BDFUS3hf.js +0 -3
- package/dist/chunks/undercover-XYapZ_SS.js +0 -1
- package/dist/chunks/undercover-vuTpCnQJ.js +0 -31
- package/dist/chunks/upgrade-D5qwcaWQ.js +0 -1
- package/dist/chunks/upgrade-DIg3j929.js +0 -1
- package/dist/chunks/upload-B_yADHX9.js +0 -1
- package/dist/chunks/usage-C0SnnC-i.js +0 -1
- package/dist/chunks/usage-CYJKE8N6.js +0 -1
- package/dist/chunks/useExitOnCtrlCDWithKeybindings-DKIqRraH.js +0 -1
- package/dist/chunks/useMainLoopModel-XetDUXd-.js +0 -1
- package/dist/chunks/useManagePlugins-B2KhKiu5.js +0 -1
- package/dist/chunks/useMergedTools-CKvwz_Zt.js +0 -1
- package/dist/chunks/useSettingsErrors-B7BXHchG.js +0 -1
- package/dist/chunks/validatePlugin-DtiYlXby.js +0 -1
- package/dist/chunks/windowsPaths-9pEkw0oV.js +0 -1
- package/dist/chunks/workerRegistry-ChqPPIaO.js +0 -1
- package/dist/chunks/worktree-DAn8ooa1.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,t}from"./figures-5ThXQEtq.js";import{
|
|
2
|
-
`);for(let e of
|
|
3
|
-
`);for(let e of
|
|
4
|
-
`),r.forEach(e=>{let r=n[e];if(console.log(` ${t.pointer} ${e}`),r?.source){let e=r.source;e.source===`github`?console.log(` Source: GitHub (${e.repo})`):e.source===`git`?console.log(` Source: Git (${e.url})`):e.source===`url`?console.log(` Source: URL (${e.url})`):e.source===`directory`?console.log(` Source: Directory (${e.path})`):e.source===`file`&&console.log(` Source: File (${e.path})`)}console.log(``)}),F()}catch(e){Q(e,`list marketplaces`)}}async function ue(e,n){n.cowork&&r(!0);try{await
|
|
1
|
+
import{n as e,t}from"./figures-5ThXQEtq.js";import{$t as n,pr as r}from"./state-C2OSZkV1.js";import{Bo as i,Cs as a,Do as o,Ko as s,Oo as c,Wo as l,Yo as u,_D as d,as as f,cD as p,dD as m,ew as h,is as g,ls as _,ns as v,ps as y,ss as b,ts as x,tw as S,uD as C,vD as w,ws as T,xs as E,ys as ee}from"./loadAgentsDir-ByO8eJqU.js";import{F as D,S as O,w as k,z as te}from"./debug-RZ4NuXyS.js";import{o as ne,s as A}from"./log-CZ0zYP_c.js";import{n as j,r as M}from"./analytics-CkYUHW_U.js";import{l as N,o as P}from"./stringUtils-B6FudhoZ.js";import{n as F,t as I}from"./exit-BOhGfSlm.js";import{n as L,s as R,t as z}from"./pluginOperations-C7p_Qr2r.js";import{a as B,i as V,n as H,o as U,r as W,t as G}from"./pluginCliCommands-BJM5Bdpf.js";import{a as re,c as K,i as q,n as J,r as Y,s as X,t as ie}from"./validatePlugin-AHl-g4ct.js";import{basename as ae,dirname as Z}from"path";e(),n(),j(),R(),w(),te(),ne(),T(),K(),i(),ee(),x(),h(),q(),p(),o(),ie(),O(),P();function Q(e,n){A(e),I(`${t.cross} Failed to ${n}: ${D(e)}`)}function $(e){e.errors.length>0&&(console.log(`${t.cross} Found ${e.errors.length} ${N(e.errors.length,`error`)}:\n`),e.errors.forEach(e=>{console.log(` ${t.pointer} ${e.path}: ${e.message}`)}),console.log(``)),e.warnings.length>0&&(console.log(`${t.warning} Found ${e.warnings.length} ${N(e.warnings.length,`warning`)}:\n`),e.warnings.forEach(e=>{console.log(` ${t.pointer} ${e.path}: ${e.message}`)}),console.log(``))}async function oe(e,n){n.cowork&&r(!0);try{let n=await J(e);console.log(`Validating ${n.fileType} manifest: ${n.filePath}\n`),$(n);let r=[];if(n.fileType===`plugin`){let e=Z(n.filePath);if(ae(e)===`.claude-plugin`){r=await Y(Z(e));for(let e of r)console.log(`Validating ${e.fileType}: ${e.filePath}\n`),$(e)}}let i=n.success&&r.every(e=>e.success),a=n.warnings.length>0||r.some(e=>e.warnings.length>0);i?F(a?`${t.tick} Validation passed with warnings`:`${t.tick} Validation passed`):(console.log(`${t.cross} Validation failed`),process.exit(1))}catch(e){A(e),console.error(`${t.cross} Unexpected error during validation: ${D(e)}`),process.exit(2)}}async function se(e){e.cowork&&r(!0),M(`tengu_plugin_list_command`,{});let n=s(),{getPluginEditableScopes:i}=await import(`./pluginStartupCheck-C0HqhG6D.js`),a=i(),o=Object.keys(n.plugins),{enabled:u,disabled:f,errors:p}=await c(),m=[...u,...f],h=m.filter(e=>e.source.endsWith(`@inline`)),g=p.filter(e=>e.source.endsWith(`@inline`)||e.source.startsWith(`inline[`));if(e.json){let t=new Map(m.map(e=>[e.source,e])),r=[];for(let e of o.sort()){let i=n.plugins[e];if(!i||i.length===0)continue;let o=C(e).name,s=p.filter(t=>t.source===e||`plugin`in t&&t.plugin===o).map(d);for(let n of i){let i=t.get(e),o;if(i){let e=i.mcpServers||await S(i);e&&Object.keys(e).length>0&&(o=e)}r.push({id:e,version:n.version||`unknown`,scope:n.scope,enabled:a.has(e),installPath:n.installPath,installedAt:n.installedAt,lastUpdated:n.lastUpdated,projectPath:n.projectPath,mcpServers:o,errors:s.length>0?s:void 0})}}for(let e of h){let t=e.mcpServers||await S(e),n=g.filter(t=>t.source===e.source||`plugin`in t&&t.plugin===e.name).map(d);r.push({id:e.source,version:e.manifest.version??`unknown`,scope:`session`,enabled:e.enabled!==!1,installPath:e.path,mcpServers:t&&Object.keys(t).length>0?t:void 0,errors:n.length>0?n:void 0})}for(let e of g.filter(e=>e.source.startsWith(`inline[`)))r.push({id:e.source,version:`unknown`,scope:`session`,enabled:!1,installPath:`path`in e?e.path:``,errors:[d(e)]});if(e.available){let e=[];try{let[t,n]=await Promise.all([v(),X()]),{marketplaces:r}=await E(t);for(let{name:t,data:i}of r)if(i)for(let r of i.plugins){let i=y(r.name,t);l(i)||e.push({pluginId:i,name:r.name,description:r.description,marketplaceName:t,version:r.version,source:r.source,installCount:n?.get(i)})}}catch{}F(k({installed:r,available:e},null,2))}else F(k(r,null,2))}o.length===0&&h.length===0&&g.length===0&&F("No plugins installed. Use `claude plugin install` to install a plugin."),o.length>0&&console.log(`Installed plugins:
|
|
2
|
+
`);for(let e of o.sort()){let r=n.plugins[e];if(!r||r.length===0)continue;let i=C(e).name,o=p.filter(t=>t.source===e||`plugin`in t&&t.plugin===i);for(let n of r){let r=a.has(e),i=o.length>0?`${t.cross} failed to load`:r?`${t.tick} enabled`:`${t.cross} disabled`,s=n.version||`unknown`,c=n.scope;console.log(` ${t.pointer} ${e}`),console.log(` Version: ${s}`),console.log(` Scope: ${c}`),console.log(` Status: ${i}`);for(let e of o)console.log(` Error: ${d(e)}`);console.log(``)}}if(h.length>0||g.length>0){console.log(`Session-only plugins (--plugin-dir):
|
|
3
|
+
`);for(let e of h){let n=g.filter(t=>t.source===e.source||`plugin`in t&&t.plugin===e.name),r=n.length>0?`${t.cross} loaded with errors`:`${t.tick} loaded`;console.log(` ${t.pointer} ${e.source}`),console.log(` Version: ${e.manifest.version??`unknown`}`),console.log(` Path: ${e.path}`),console.log(` Status: ${r}`);for(let e of n)console.log(` Error: ${d(e)}`);console.log(``)}for(let e of g.filter(e=>e.source.startsWith(`inline[`)))console.log(` ${t.pointer} ${e.source}: ${t.cross} ${d(e)}\n`)}F()}async function ce(e,n){n.cowork&&r(!0);try{let r=await re(e);r||I(`${t.cross} Invalid marketplace source format. Try: owner/repo, https://..., or ./path`),`error`in r&&I(`${t.cross} ${r.error}`);let i=n.scope??`user`;i!==`user`&&i!==`project`&&i!==`local`&&I(`${t.cross} Invalid scope '${i}'. Use: user, project, or local`);let o=m(i),s=r;n.sparse&&n.sparse.length>0&&(s.source===`github`||s.source===`git`?s={...s,sparsePaths:n.sparse}:I(`${t.cross} --sparse is only supported for github and git marketplace sources (got: ${s.source})`)),console.log(`Adding marketplace...`);let{name:c,alreadyMaterialized:l,resolvedSource:d}=await u(s,e=>{console.log(e)});_(c,{source:d},o),a();let f=s.source;s.source===`github`&&(f=s.repo),M(`tengu_marketplace_added`,{source_type:f}),F(l?`${t.tick} Marketplace '${c}' already on disk — declared in ${i} settings`:`${t.tick} Successfully added marketplace: ${c} (declared in ${i} settings)`)}catch(e){Q(e,`add marketplace`)}}async function le(e){e.cowork&&r(!0);try{let n=await v(),r=Object.keys(n);e.json&&F(k(r.sort().map(e=>{let t=n[e],r=t?.source;return{name:e,source:r?.source,...r?.source===`github`&&{repo:r.repo},...r?.source===`git`&&{url:r.url},...r?.source===`url`&&{url:r.url},...r?.source===`directory`&&{path:r.path},...r?.source===`file`&&{path:r.path},installLocation:t?.installLocation}}),null,2)),r.length===0&&F(`No marketplaces configured`),console.log(`Configured marketplaces:
|
|
4
|
+
`),r.forEach(e=>{let r=n[e];if(console.log(` ${t.pointer} ${e}`),r?.source){let e=r.source;e.source===`github`?console.log(` Source: GitHub (${e.repo})`):e.source===`git`?console.log(` Source: Git (${e.url})`):e.source===`url`?console.log(` Source: URL (${e.url})`):e.source===`directory`?console.log(` Source: Directory (${e.path})`):e.source===`file`&&console.log(` Source: File (${e.path})`)}console.log(``)}),F()}catch(e){Q(e,`list marketplaces`)}}async function ue(e,n){n.cowork&&r(!0);try{await b(e),a(),M(`tengu_marketplace_removed`,{marketplace_name:e}),F(`${t.tick} Successfully removed marketplace: ${e}`)}catch(e){Q(e,`remove marketplace`)}}async function de(e,n){n.cowork&&r(!0);try{if(e)console.log(`Updating marketplace: ${e}...`),await f(e,e=>{console.log(e)}),a(),M(`tengu_marketplace_updated`,{marketplace_name:e}),F(`${t.tick} Successfully updated marketplace: ${e}`);else{let e=await v(),n=Object.keys(e);n.length===0&&F(`No marketplaces configured`),console.log(`Updating ${n.length} marketplace(s)...`),await g(),a(),M(`tengu_marketplace_updated_all`,{count:n.length}),F(`${t.tick} Successfully updated ${n.length} marketplace(s)`)}}catch(e){Q(e,`update marketplace(s)`)}}async function fe(e,t){t.cowork&&r(!0);let n=t.scope||`user`;t.cowork&&n!==`user`&&I(`--cowork can only be used with user scope`),z.includes(n)||I(`Invalid scope: ${n}. Must be one of: ${z.join(`, `)}.`);let{name:i,marketplace:a}=C(e);M(`tengu_plugin_install_command`,{_PROTO_plugin_name:i,...a&&{_PROTO_marketplace_name:a},scope:n}),await V(e,n)}async function pe(e,t){t.cowork&&r(!0);let n=t.scope||`user`;t.cowork&&n!==`user`&&I(`--cowork can only be used with user scope`),z.includes(n)||I(`Invalid scope: ${n}. Must be one of: ${z.join(`, `)}.`);let{name:i,marketplace:a}=C(e);M(`tengu_plugin_uninstall_command`,{_PROTO_plugin_name:i,...a&&{_PROTO_marketplace_name:a},scope:n}),await B(e,n,t.keepData)}async function me(e,t){t.cowork&&r(!0);let n;t.scope&&(z.includes(t.scope)||I(`Invalid scope "${t.scope}". Valid scopes: ${z.join(`, `)}`),n=t.scope),t.cowork&&n!==void 0&&n!==`user`&&I(`--cowork can only be used with user scope`),t.cowork&&n===void 0&&(n=`user`);let{name:i,marketplace:a}=C(e);M(`tengu_plugin_enable_command`,{_PROTO_plugin_name:i,...a&&{_PROTO_marketplace_name:a},scope:n??`auto`}),await W(e,n)}async function he(e,t){if(t.all&&e&&I(`Cannot use --all with a specific plugin`),!t.all&&!e&&I(`Please specify a plugin name or use --all to disable all plugins`),t.cowork&&r(!0),t.all){t.scope&&I(`Cannot use --scope with --all`),M(`tengu_plugin_disable_command`,{}),await G();return}let n;t.scope&&(z.includes(t.scope)||I(`Invalid scope "${t.scope}". Valid scopes: ${z.join(`, `)}`),n=t.scope),t.cowork&&n!==void 0&&n!==`user`&&I(`--cowork can only be used with user scope`),t.cowork&&n===void 0&&(n=`user`);let{name:i,marketplace:a}=C(e);M(`tengu_plugin_disable_command`,{_PROTO_plugin_name:i,...a&&{_PROTO_marketplace_name:a},scope:n??`auto`}),await H(e,n)}async function ge(e,t){t.cowork&&r(!0);let{name:n,marketplace:i}=C(e);M(`tengu_plugin_update_command`,{_PROTO_plugin_name:n,...i&&{_PROTO_marketplace_name:i}});let a=`user`;t.scope&&(L.includes(t.scope)||I(`Invalid scope "${t.scope}". Valid scopes: ${L.join(`, `)}`),a=t.scope),t.cowork&&a!==`user`&&I(`--cowork can only be used with user scope`),await U(e,a)}export{ce as marketplaceAddHandler,le as marketplaceListHandler,ue as marketplaceRemoveHandler,de as marketplaceUpdateHandler,he as pluginDisableHandler,me as pluginEnableHandler,fe as pluginInstallHandler,se as pluginListHandler,pe as pluginUninstallHandler,ge as pluginUpdateHandler,oe as pluginValidateHandler};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,w as t}from"./external-CEp-aPkt.js";import{n,r,t as i}from"./lazySchema-B4D4qJVE.js";r(),i();var a=2e3,o=6e5,s={poll_interval_ms_not_at_capacity:a,poll_interval_ms_at_capacity:o,non_exclusive_heartbeat_interval_ms:0,multisession_poll_interval_ms_not_at_capacity:a,multisession_poll_interval_ms_partial_capacity:a,multisession_poll_interval_ms_at_capacity:o,reclaim_older_than_ms:5e3,session_keepalive_interval_v2_ms:12e4},c={message:`must be 0 (disabled) or ≥100ms`},l=n(()=>t({poll_interval_ms_not_at_capacity:e().int().min(100),poll_interval_ms_at_capacity:e().int().refine(e=>e===0||e>=100,c),non_exclusive_heartbeat_interval_ms:e().int().min(0).default(0),multisession_poll_interval_ms_not_at_capacity:e().int().min(100).default(s.multisession_poll_interval_ms_not_at_capacity),multisession_poll_interval_ms_partial_capacity:e().int().min(100).default(s.multisession_poll_interval_ms_partial_capacity),multisession_poll_interval_ms_at_capacity:e().int().refine(e=>e===0||e>=100,c).default(s.multisession_poll_interval_ms_at_capacity),reclaim_older_than_ms:e().int().min(1).default(5e3),session_keepalive_interval_v2_ms:e().int().min(0).default(12e4)}).refine(e=>e.non_exclusive_heartbeat_interval_ms>0||e.poll_interval_ms_at_capacity>0,{message:`at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or poll_interval_ms_at_capacity > 0`}).refine(e=>e.non_exclusive_heartbeat_interval_ms>0||e.multisession_poll_interval_ms_at_capacity>0,{message:`at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or multisession_poll_interval_ms_at_capacity > 0`}));function u(){let e=s,t=l().safeParse(e);return t.success?t.data:s}export{s as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DaDcL9Zw.js";import{g as n,n as r,
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DaDcL9Zw.js";import{g as n,n as r,x as i}from"./settings-hQDLwPVj.js";var a=t({isPoorModeActive:()=>o,setPoorMode:()=>s});function o(){return c===null&&(c=r().poorMode===!0),c}function s(e){c=e,i(`userSettings`,{poorMode:e||void 0})}var c,l=e((()=>{n(),c=null}));export{s as i,o as n,a as r,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./poorMode-CYXmr_mU.js";t();export{e as isPoorModeActive};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,l as n,n as r,o as i,s as a}from"./envUtils-DSxRz_kt.js";import{n as o,t as s}from"./defineProperty-C-QyHrDq.js";import{n as c,t as l}from"./axios-DaWTGg7G.js";import{A as u,p as d,w as f}from"./external-CEp-aPkt.js";import{n as p,r as m,t as h}from"./lazySchema-B4D4qJVE.js";import{$t as g,Hn as _,M as ee,On as v,P as te,Vn as y,X as b,cn as x,en as S,gr as ne,mt as C,nr as re,wn as ie}from"./state-C2OSZkV1.js";import{$S as ae,$f as oe,AE as se,Af as w,Ah as ce,Ar as T,As as E,BC as le,BE as ue,C as de,CS as fe,Ch as D,Cn as O,Co as k,D as pe,DC as me,Db as A,Dh as he,Do as ge,Ds as j,E as _e,ED as ve,ES as ye,Ec as be,Eh as xe,Es as Se,FC as Ce,FS as we,Fb as Te,Fh as Ee,Fs as De,G as Oe,GC as ke,Gl as M,Hb as Ae,Hi as je,IE as N,IS as Me,Ib as Ne,Jm as Pe,Js as Fe,Km as Ie,LC as Le,LE as Re,LS as ze,Lb as Be,Lp as Ve,MS as He,Mb as Ue,Ms as We,NS as P,Nb as F,Nd as Ge,Ns as I,OD as Ke,Ob as qe,Oh as Je,Oi as Ye,Os as Xe,Oy as Ze,P as Qe,PC as $e,Pp as et,Ps as L,QS as tt,Qx as nt,RS as rt,SE as it,SS as at,Sh as ot,Sv as st,TD as ct,TE as lt,Tc as ut,Th as dt,Ty as ft,Ub as pt,Ut as mt,VC as ht,VE as R,W as gt,Wb as _t,Wi as vt,Wl as yt,Xb as bt,Xo as xt,Xs as St,Xx as Ct,Yi as wt,Ym as Tt,Ys as Et,Zi as Dt,Zo as Ot,Zx as kt,_c as At,_g as jt,_i as Mt,ah as Nt,al as Pt,b as Ft,bS as It,bg as Lt,bh as Rt,bo as zt,cc as Bt,cl as Vt,cr as Ht,cy as Ut,dl as Wt,ei as Gt,eo as Kt,f as qt,fi as Jt,fl as Yt,gT as Xt,gi as Zt,hl as Qt,hp as $t,hu as en,ir as tn,jS as nn,jT as rn,ja as an,jd as on,jr as sn,js as cn,kD as ln,kE as un,kS as dn,kf as fn,kh as pn,ki as mn,ko as hn,kr as gn,ks as _n,ky as vn,mC as yn,mT as bn,mp as xn,mu as Sn,nl as Cn,np as wn,ny as Tn,o as En,ol as Dn,os as On,pi as kn,qT as An,qb as jn,qm as z,qs as Mn,rh as Nn,rl as Pn,rp as Fn,rs as In,ry as Ln,s as Rn,sy as zn,tC as Bn,ts as Vn,ty as Hn,uc as Un,vc as Wn,vg as Gn,wC as Kn,wh as qn,wn as Jn,wy as Yn,x as Xn,xc as Zn,xh as Qn,xo as $n,xv as er,yc as tr,yg as nr,yh as B,yn as rr,zi as ir}from"./loadAgentsDir-ByO8eJqU.js";import{n as ar,t as or}from"./cwd-C5ce-7WB.js";import{C as sr,F as V,S as cr,W as lr,a as H,d as ur,l as U,nt as dr,o as fr,p as pr,rt as mr,w as W,z as hr}from"./debug-RZ4NuXyS.js";import{G as gr,Ln as _r,d as vr,dt as yr,f as br,g as xr,it as Sr,nt as G,vt as Cr,zn as wr}from"./settings-hQDLwPVj.js";import{L as Tr,P as Er}from"./config-CE058cvr.js";import{i as Dr,n as Or,o as K}from"./process-gEbdy6uY.js";import{A as kr,O as Ar,k as jr}from"./git-BerW9bId.js";import{J as Mr,U as Nr,c as Pr,i as Fr,o as Ir,s as q}from"./log-CZ0zYP_c.js";import{i as Lr,n as Rr}from"./path-Cv9QMBAX.js";import{s as zr,u as Br}from"./types-D7_37tP2.js";import{n as Vr,r as J}from"./analytics-CkYUHW_U.js";import{Bt as Hr,C as Ur,Mn as Wr,Y as Gr,_ as Kr,_i as qr,_n as Jr,_r as Yr,bi as Xr,bt as Zr,et as Qr,gi as $r,it as ei,jn as ti,o as ni,ri,rt as ii,ti as ai,tt as oi,u as si,vi as ci,vn as li,vr as ui,x as di}from"./model-CwO-g1RW.js";import{Sn as fi,gt as pi,ht as mi,ot as hi,qt as gi,st as _i,tn as vi,xn as yi}from"./prompt-B7joRiqj.js";import{A as bi,C as xi,D as Si,F as Ci,I as wi,N as Ti,U as Ei,a as Di,c as Oi,l as ki,n as Ai,o as ji,s as Mi,t as Ni,vt as Pi}from"./sessionState-CjNY991n.js";import{n as Fi,t as Ii}from"./omit-DZCEXri5.js";import{a as Li,n as Ri,t as zi}from"./bridgeConfig-jDEva6Eh.js";import{i as Bi,n as Vi,s as Hi}from"./mappers-CHRFic5q.js";import{n as Ui,r as Wi}from"./sessionTitle-B0OYf5nM.js";import{t as Gi}from"./pollConfig-BgpfHQPJ.js";import{n as Ki,t as qi}from"./ccrClient-BC2q3k44.js";import{n as Ji,t as Yi}from"./HybridTransport-BJPOG2wl.js";import{n as Xi,t as Zi}from"./SSETransport-CrwbKuVt.js";import{a as Qi,n as $i}from"./grove-Cv19v6Sv.js";import{o as ea}from"./remoteManagedSettings-B1mnRDmA.js";import{i as ta,r as na}from"./auth-CNjDn1VY.js";import{t as ra}from"./pluginBlocklist-PwHHD3nj.js";import{t as ia}from"./onChangeAppState-BmfM5g-D.js";import{t as aa}from"./settingsSync-DdFagwHV.js";import{a as oa,i as sa,n as ca,o as la,r as ua,s as da}from"./reconciler-BfkO6X2X.js";import{n as fa,t as pa}from"./toolPool-B7SIoDw5.js";import{n as ma,r as ha}from"./QueryEngine-Cv_meCam.js";import{n as ga,r as _a}from"./sideQuestion-C780iYwd.js";import{n as va,r as ya}from"./context-noninteractive-Ct_ttQfP.js";import{a as ba,o as xa,t as Sa}from"./skillChangeDetector-plLveEbf.js";import{n as Ca,t as wa}from"./refresh-C1X3sptR.js";import{basename as Ta,dirname as Ea,join as Da}from"path";import{PassThrough as Oa}from"stream";import{randomUUID as Y}from"crypto";import{mkdir as ka,readFile as Aa,stat as ja,writeFile as Ma}from"fs/promises";import{URL as Na}from"url";import{cwd as X}from"process";o(),l(),m(),g(),ar(),dr(),hr(),cr(),pr(),Or(),H(),Ar(),Mr(),Ir(),Lr(),_r(),zr(),xr(),Xr(),yi(),ri(),ui(),ti(),Jr(),Hr(),Kr(),vi(),wi(),Ti(),ft(),D(),Pe(),fn(),Ai(),$n(),Kt(),wt(),sn(),aa(),i(),Xi();function Pa(e,t={},r,i){if(n(process.env.CLAUDE_CODE_USE_CCR_V2)){let n=new Na(e.href);return n.protocol===`wss:`?n.protocol=`https:`:n.protocol===`ws:`&&(n.protocol=`http:`),n.pathname=n.pathname.replace(/\/$/,``)+`/worker/events/stream`,new Zi(n,t,r,i)}if(e.protocol===`ws:`||e.protocol===`wss:`)return n(process.env.CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2)?new Yi(e,t,r,i):new Ji(e,t,r,i);throw Error(`Unsupported protocol: ${e.protocol}`)}i(),Xi();var Fa=class extends sa{constructor(e,t,r){let i=new Oa({encoding:`utf8`});super(i,r),s(this,`url`,void 0),s(this,`transport`,void 0),s(this,`inputStream`,void 0),s(this,`isBridge`,!1),s(this,`isDebug`,!1),s(this,`ccrClient`,null),s(this,`keepAliveTimer`,null),this.inputStream=i,this.url=new Na(e);let a={},o=Ci();o?a.Authorization=`Bearer ${o}`:U(`[remote-io] No session ingress token available`,{level:`error`});let c=process.env.CLAUDE_CODE_ENVIRONMENT_RUNNER_VERSION;c&&(a[`x-environment-runner-version`]=c);let l=()=>{let e={},t=Ci();t&&(e.Authorization=`Bearer ${t}`);let n=process.env.CLAUDE_CODE_ENVIRONMENT_RUNNER_VERSION;return n&&(e[`x-environment-runner-version`]=n),e};if(this.transport=Pa(this.url,a,C(),l),this.isBridge=process.env.CLAUDE_CODE_ENVIRONMENT_KIND===`bridge`,this.isDebug=fr(),this.transport.setOnData(e=>{this.inputStream.write(e),this.isBridge&&this.isDebug&&K(e.endsWith(`
|
|
2
|
+
`)?e:e+`
|
|
3
|
+
`)}),this.transport.setOnClose(()=>{this.inputStream.end()}),n(process.env.CLAUDE_CODE_USE_CCR_V2)){if(!(this.transport instanceof Zi))throw Error(`CCR v2 requires SSETransport; check getTransportForUrl`);this.ccrClient=new qi(this.transport,this.url);let e=this.ccrClient.initialize();this.restoredWorkerState=e.catch(()=>null),e.catch(e=>{jr(`error`,`cli_worker_lifecycle_init_failed`,{reason:e instanceof Ki?e.reason:`unknown`}),q(Error(`CCRClient initialization failed: ${V(e)}`)),Ie(1,`other`)}),mr(async()=>this.ccrClient?.close()),mn((e,t,n)=>this.ccrClient.writeInternalEvent(e,t,n)),Ye(()=>this.ccrClient.readInternalEvents(),()=>this.ccrClient.readSubagentInternalEvents());let t={started:`processing`,completed:`processed`};dt((e,n)=>{this.ccrClient?.reportDelivery(e,t[n])}),ki((e,t)=>{this.ccrClient?.reportState(e,t)}),Oi(e=>{this.ccrClient?.reportMetadata(e)},{replayCurrent:!0})}this.transport.connect();let u=Gi().session_keepalive_interval_v2_ms;if(this.isBridge&&u>0&&(this.keepAliveTimer=setInterval(()=>{U(`[remote-io] keep_alive sent`),this.write({type:`keep_alive`}).catch(e=>{U(`[remote-io] keep_alive write failed: ${V(e)}`)})},u),this.keepAliveTimer.unref?.()),mr(async()=>this.close()),t){let e=this.inputStream;(async()=>{for await(let n of t)e.write(String(n).replace(/\n$/,``)+`
|
|
4
|
+
`)})()}}flushInternalEvents(){return this.ccrClient?.flushInternalEvents()??Promise.resolve()}get internalEventsPending(){return this.ccrClient?.internalEventsPending??0}async write(e){this.ccrClient?await this.ccrClient.writeEvent(e):await this.transport.write(e),this.isBridge&&(e.type===`control_request`||this.isDebug)&&K(oa(e)+`
|
|
5
|
+
`)}close(){this.keepAliveTimer&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=null),this.transport.close(),this.inputStream.end()}};gi(),gr(),pi(),[...mi],dr(),H();var Ia=`[stdout-guard]`,La=!1,Z=``,Q=null;function Ra(e){if(e.length===0)return!0;try{return JSON.parse(e),!0}catch{return!1}}function za(){La||(La=!0,Q=process.stdout.write.bind(process.stdout),process.stdout.write=function(e,t,n){let r=typeof e==`string`?e:Buffer.from(e).toString(`utf-8`);Z+=r;let i,a=!0;for(;(i=Z.indexOf(`
|
|
6
|
+
`))!==-1;){let e=Z.slice(0,i);Z=Z.slice(i+1),Ra(e)?a=Q(e+`
|
|
7
|
+
`):(process.stderr.write(`${Ia} ${e}\n`),U(`streamJsonStdoutGuard diverted non-JSON stdout line: ${e.slice(0,200)}`))}let o=typeof t==`function`?t:n;return o&&queueMicrotask(()=>o()),a},mr(async()=>{Z.length>0&&(Q&&Ra(Z)?Q(Z+`
|
|
8
|
+
`):process.stderr.write(`${Ia} ${Z}\n`),Z=``),Q&&(process.stdout.write=Q,Q=null),La=!1}))}h(),Cr(),Sr(),Er(),Ei(),N(),un(),lt(),le(),me(),rt(),kt(),_t(),_i(),Ze(),Ut(),jt(),wn(),Qt(),Pn(),Un(),Et(),Fe(),I(),Vn(),ge(),Jn(),rr(),Oe(),En(),pa(),oe(),hr(),Ir(),wi(),An(),H(),Pe();function Ba(e){let t=process.env.CLAUDE_CODE_EXIT_AFTER_STOP_DELAY,n=t?parseInt(t,10):null,r=n&&!isNaN(n)&&n>0,i=null,a=0;return{start(){i&&(clearTimeout(i),i=null),r&&(a=Date.now(),i=setTimeout(()=>{let t=Date.now()-a;e()&&t>=n&&(U(`Exiting after ${n}ms of idle time`),z())},n))},stop(){i&&(clearTimeout(i),i=null)}}}ln(),Ii(),ue(),Nn(),Ve(),g(),H(),i(),Li();var Va=3e4;function Ha(e){U(`[bridge:inbound-attach] ${e}`)}var Ua=p(()=>f({file_uuid:u(),file_name:u()})),Wa=p(()=>d(Ua()));function Ga(e){if(typeof e!=`object`||!e||!(`file_attachments`in e))return[];let t=Wa().safeParse(e.file_attachments);return t.success?t.data:[]}function Ka(e){return Ta(e).replace(/[^a-zA-Z0-9._-]/g,`_`)||`attachment`}function qa(){return Da(r(),`uploads`,C())}async function Ja(e){let t=zi();if(!t){Ha(`skip: no oauth token`);return}let n;try{let r=`${Ri()}/api/oauth/files/${encodeURIComponent(e.file_uuid)}/content`,i=await c.get(r,{headers:{Authorization:`Bearer ${t}`},responseType:`arraybuffer`,timeout:Va,validateStatus:()=>!0});if(i.status!==200){Ha(`fetch ${e.file_uuid} failed: status=${i.status}`);return}n=Buffer.from(i.data)}catch(t){Ha(`fetch ${e.file_uuid} threw: ${t}`);return}let r=Ka(e.file_name),i=(e.file_uuid.slice(0,8)||Y().slice(0,8)).replace(/[^a-zA-Z0-9_-]/g,`_`),a=qa(),o=Da(a,`${i}-${r}`);try{await ka(a,{recursive:!0}),await Ma(o,n)}catch(e){Ha(`write ${o} failed: ${e}`);return}return Ha(`resolved ${e.file_uuid} → ${o} (${n.length} bytes)`),o}async function Ya(e){if(e.length===0)return``;Ha(`resolving ${e.length} attachment(s)`);let t=(await Promise.all(e.map(Ja))).filter(e=>e!==void 0);return t.length===0?``:t.map(e=>`@"${e}"`).join(` `)+` `}function Xa(e,t){if(!t)return e;if(typeof e==`string`)return t+e;let n=e.findLastIndex(e=>e.type===`text`);if(n!==-1){let r=e[n];if(r.type===`text`)return[...e.slice(0,n),{...r,text:t+r.text},...e.slice(n+1)]}return[...e,{type:`text`,text:t.trimEnd()}]}async function Za(e,t){let n=Ga(e);return n.length===0?t:Xa(t,await Ya(n))}Qr(),A(),st(),be(),At(),de(),Wi(),ga();function Qa(e){if(e.toLowerCase().endsWith(`.jsonl`))return{sessionId:Y(),ingressUrl:null,isUrl:!1,jsonlFile:e,isJsonlFile:!0};if(w(e))return{sessionId:e,ingressUrl:null,isUrl:!1,jsonlFile:null,isJsonlFile:!1};try{let t=new URL(e);return{sessionId:Y(),ingressUrl:t.href,isUrl:!0,jsonlFile:null,isJsonlFile:!1}}catch{}return null}$r(),ve(),rn(),tt(),P(),dn(),Ee(),pn(),Qn(),on(),M(),Pt(),Vi(),ya(),H();async function $a(){try{let e=await Aa(E(),`utf-8`),t=yr().safeParse(sr(e));return t.success?t.data:(U(`Invalid known_marketplaces.json in zip cache: ${t.error.message}`,{level:`error`}),{})}catch{return{}}}async function eo(e){await Se(E(),W(e,null,2))}async function to(e,t){let n=_n();if(!n)return;let r=await no(t);r!==null&&await Se(Da(n,Xe(e)),r)}async function no(e){let t=[Da(e,`.claude-plugin`,`marketplace.json`),Da(e,`marketplace.json`),e];for(let e of t)try{return await Aa(e,`utf-8`)}catch{}return null}async function ro(){let e=await In();for(let[t,n]of Object.entries(e))if(n.installLocation)try{await to(t,n.installLocation)}catch(e){U(`Failed to save marketplace JSON for ${t}: ${e}`)}await eo({...await $a(),...e})}Vr(),dr(),H(),Ar(),Ir(),Vn(),I();async function io(){let e=De();U(`installPluginsForHeadless: starting${e?` (zip cache mode)`:``}`);let t=await On();t&&(xt(),k(`headlessPluginInstall: seed marketplaces registered`)),e&&(await ur().mkdir(cn()),await ur().mkdir(We()));let n=Object.keys(Ot()).length,r={marketplaces_installed:0,delisted_count:0},i=t;try{if(n===0)U(`installPluginsForHeadless: no marketplaces declared`);else{let t=await kr(`headless_marketplace_reconcile`,()=>ca({skip:e?(e,t)=>!L(t):void 0,onProgress:e=>{e.type===`installed`?U(`installPluginsForHeadless: installed marketplace ${e.name}`):e.type===`failed`&&U(`installPluginsForHeadless: failed to install marketplace ${e.name}: ${e.error}`)}}),e=>({installed_count:e.installed.length,updated_count:e.updated.length,failed_count:e.failed.length,skipped_count:e.skipped.length}));t.skipped.length>0&&U(`installPluginsForHeadless: skipped ${t.skipped.length} marketplace(s) unsupported by zip cache: ${t.skipped.join(`, `)}`);let n=t.installed.length+t.updated.length;n>0&&(xt(),k(`headlessPluginInstall: marketplaces reconciled`),i=!0),r.marketplaces_installed=n}e&&await ro();let t=await ra();return r.delisted_count=t.length,t.length>0&&(i=!0),i&&k(`headlessPluginInstall: plugins changed`),e&&mr(j),i}catch(e){return q(e),!1}finally{J(`tengu_headless_plugin_install`,r)}}Vr(),H(),Ar(),D(),Ai(),Ir(),Or(),fn(),Pe(),dr(),ar(),g(),sn(),Kt(),cr(),i(),wa(),ge(),F(),xn(),Sn(),hr();var $=(xi(),e(Si)),ao=1e4,oo=new Set,so=[];function co(e){if(oo.has(e))return!1;if(oo.add(e),so.push(e),so.length>ao){let e=so.splice(0,so.length-ao);for(let t of e)oo.delete(t)}return!0}function lo(e){return typeof e==`string`?[{type:`text`,text:e}]:e}function uo(e){return e.length===1?e[0]:e.every(e=>typeof e==`string`)?e.join(`
|
|
9
|
+
`):e.flatMap(lo)}function fo(e,t){return t!==void 0&&t.mode===`prompt`&&t.workload===e.workload&&t.isMeta===e.isMeta}async function po(e,t,r,i,a,o,s,c){if(process.env.USER_TYPE===`ant`&&n(process.env.CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER)&&(process.stderr.write(`\nStartup time: ${Math.round(process.uptime()*1e3)}ms\n`),process.exit(0)),se.subscribe(e=>{er(e,r),ii()&&r(e=>{let t=e.settings,n=t.fastMode===!0&&!t.fastModePerSessionOptIn;return{...e,fastMode:n}})}),$&&!$.isProactiveActive()&&n(process.env.CLAUDE_CODE_PROACTIVE)&&$.activateProactive(`command`),typeof Bun<`u`&&setInterval(()=>{process.memoryUsage.rss()>350*1024*1024?Bun.gc(!0):Bun.gc(!1)},1e3).unref(),Rt(),B(`runHeadless_entry`),await Qi()&&await $i(),B(`after_grove_check`),c.resumeSessionAt&&!c.resume){process.stderr.write(`Error: --resume-session-at requires --resume
|
|
10
|
+
`),z(1);return}if(c.rewindFiles&&!c.resume){process.stderr.write(`Error: --rewind-files requires --resume
|
|
11
|
+
`),z(1);return}if(c.rewindFiles&&e){process.stderr.write(`Error: --rewind-files is a standalone operation and cannot be used with a prompt
|
|
12
|
+
`),z(1);return}let l=Co(e,c);c.outputFormat===`stream-json`&&za();let u=it.getSandboxUnavailableReason();if(u){if(it.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${u}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),z(1);return}process.stderr.write(`\n⚠ Sandbox disabled: ${u}\n Commands will run WITHOUT sandboxing. Network and filesystem restrictions will NOT be enforced.\n\n`)}else if(it.isSandboxingEnabled())try{await it.initialize(l.createSandboxAskCallback())}catch(e){process.stderr.write(`\n❌ Sandbox Error: ${V(e)}\n`),z(1,`other`);return}c.outputFormat===`stream-json`&&c.verbose&&St(e=>{let t=(()=>{switch(e.type){case`started`:return{type:`system`,subtype:`hook_started`,hook_id:e.hookId,hook_name:e.hookName,hook_event:e.hookEvent,uuid:Y(),session_id:C()};case`progress`:return{type:`system`,subtype:`hook_progress`,hook_id:e.hookId,hook_name:e.hookName,hook_event:e.hookEvent,stdout:e.stdout,stderr:e.stderr,output:e.output,uuid:Y(),session_id:C()};case`response`:return{type:`system`,subtype:`hook_response`,hook_id:e.hookId,hook_name:e.hookName,hook_event:e.hookEvent,output:e.output,stdout:e.stdout,stderr:e.stderr,exit_code:e.exitCode,outcome:e.outcome,uuid:Y(),session_id:C()}}})();l.write(t)}),c.setupTrigger&&await nr(c.setupTrigger),B(`before_loadInitialMessages`);let d=t(),{messages:f,turnInterruptionState:p,agentSetting:m}=await So(r,{continue:c.continue,teleport:c.teleport,resume:c.resume,resumeSessionAt:c.resumeSessionAt,forkSession:c.forkSession,outputFormat:c.outputFormat,sessionStartHooksPromise:c.sessionStartHooksPromise,restoredWorkerState:l.restoredWorkerState}),h=Lt();if(h&&l.prependUserMessage(h),!c.agent&&!b()&&m){let{agentDefinition:e}=ba(m,void 0,{activeAgents:s,allAgents:s});if(e){if(r(t=>({...t,agent:e.agentType})),!c.systemPrompt&&!Rn(e)){let t=e.getSystemPrompt();t&&(c.systemPrompt=t)}Zt(e.agentType)}}if(f.length===0&&process.exitCode!==void 0)return;if(c.rewindFiles){let e=f.find(e=>e.uuid===c.rewindFiles);if(!e||e.type!==`user`){process.stderr.write(`Error: --rewind-files requires a user message UUID, but ${c.rewindFiles} is not a user message in this session\n`),z(1);return}let n=t(),i=await vo(c.rewindFiles,n,r,!1);if(!i.canRewind){process.stderr.write(`Error: ${i.error||`Unexpected error`}\n`),z(1);return}process.stdout.write(`Files rewound to state at message ${c.rewindFiles}\n`),z(0);return}let g=typeof c.resume==`string`&&(!!w(c.resume)||c.resume.endsWith(`.jsonl`)),_=!!c.sdkUrl;if(!e&&!g&&!_){process.stderr.write(`Error: Input must be provided either through stdin or as a prompt argument when using --print
|
|
13
|
+
`),z(1);return}if(c.outputFormat===`stream-json`&&!c.verbose){process.stderr.write(`Error: When using --print, --output-format=stream-json requires --verbose
|
|
14
|
+
`),z(1);return}let ee=Yt(d.mcp.tools,d.toolPermissionContext),v=[...a,...ee],te=go(c.sdkUrl?`stdio`:c.permissionPromptToolName,l,()=>t().mcp.tools,e=>{r(e=>({...e,attribution:{...e.attribution,permissionPromptCount:e.attribution.permissionPromptCount+1}})),ji(`requires_action`,e)});c.permissionPromptToolName&&(v=v.filter(e=>!fi(e,c.permissionPromptToolName))),Dr(),B(`after_loadInitialMessages`),await ai(),B(`after_modelStrings`);let y=c.outputFormat===`json`&&c.verbose,x=[],S;B(`before_runHeadlessStreaming`);for await(let e of mo(l,d.mcp.clients,[...i,...d.mcp.commands],v,f,te,o,t,r,s,c,p))c.outputFormat===`stream-json`&&c.verbose&&await l.write(e),e.type!==`control_response`&&e.type!==`control_request`&&e.type!==`control_cancel_request`&&!(e.type===`system`&&(e.subtype===`session_state_changed`||e.subtype===`task_notification`||e.subtype===`task_started`||e.subtype===`task_progress`||e.subtype===`post_turn_summary`))&&e.type!==`stream_event`&&e.type!==`keep_alive`&&e.type!==`streamlined_text`&&e.type!==`streamlined_tool_use_summary`&&e.type!==`prompt_suggestion`&&(y&&x.push(e),S=e);switch(c.outputFormat){case`json`:if(!S||S.type!==`result`)throw Error(`No messages returned`);if(c.verbose){K(W(x)+`
|
|
15
|
+
`);break}K(W(S)+`
|
|
16
|
+
`);break;case`stream-json`:break;default:if(!S||S.type!==`result`)throw Error(`No messages returned`);switch(S.subtype){case`success`:K(S.result.endsWith(`
|
|
17
|
+
`)?S.result:S.result+`
|
|
18
|
+
`);break;case`error_during_execution`:K(`Execution error`);break;case`error_max_turns`:K(`Error: Reached max turns (${c.maxTurns}).\nTip: Increase the limit with --max-turns or continue in a new session.`);break;case`error_max_budget_usd`:K(`Error: Exceeded USD budget ($${c.maxBudgetUsd}).\nTip: Increase the limit with --max-budget-usd or start a new session to continue.`);break;case`error_max_structured_output_retries`:K(`Error: Failed to provide valid structured output after maximum retries.
|
|
19
|
+
Tip: Simplify your schema or check if the output format matches the expected structure.`)}}if(ot(),Tr())try{let{drainPendingExtraction:e}=await import(`./extractMemories-DxTUMiv3.js`);await e()}catch{}z(S?.type===`result`&&S?.is_error?1:0)}function mo(e,r,i,o,s,c,l,u,d,f,p,m){let h=!1,g,_=!1,v=null,b,x=e.outbound;process.on(`SIGINT`,()=>{jr(`info`,`shutdown_signal`,{signal:`SIGINT`}),b&&!b.signal.aborted&&b.abort(),Ie(0)}),mr(async()=>{let t={};for(let e of Ue(u()))$t(e)&&(t[e.type]=(t[e.type]??0)+1);jr(`info`,`run_state_at_shutdown`,{run_active:h,run_phase:g,worker_status:Ni(),internal_events_pending:e.internalEventsPending,bg_tasks:t})}),Mi(e=>{(e==="default"||e===`acceptEdits`||e===`bypassPermissions`||e===`plan`||e===`auto`||e===`dontAsk`)&&x.enqueue({type:`system`,subtype:`status`,status:null,permissionMode:e,uuid:Y(),session_id:C()})});let S={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},ne;p.enableAuthStatus&&(ne=Yr.getInstance().subscribe(e=>{x.enqueue({type:`auth_status`,isAuthenticating:e.isAuthenticating,output:e.output,error:e.error,uuid:Y(),session_id:C()})}));let oe=e=>{let t=Hi(e);t&&x.enqueue({type:`rate_limit_event`,rate_limit_info:t,uuid:Y(),session_id:C()})};qe.add(oe);let w=s,T=Bt(s,X(),100),E=Ct(100),le=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;m&&m.kind!==`none`&&le&&(U(`[print.ts] Auto-resuming interrupted turn (kind: ${m.kind})`),xo(w,m.message),Be({mode:`prompt`,value:m.message.message.content,uuid:Y()}));let ue=yt().map(e=>{let t=e.value===null?`default`:e.value,n=t==="default"?ni():Ur(t),r=Ge(n),i=ei(e.value),a=Wr(n);return{name:t,value:t,displayName:e.label,description:e.description,...r&&{supportsAdaptiveThinking:!0},...i&&{supportsFastMode:!0},...a&&{supportsAutoMode:!0}}}),de=p.userSpecifiedModel;function fe(e,t){let n=an(e,di(t));w.push(...n);for(let e of n)typeof e.message.content==`string`&&e.message.content.includes(`<local-command-stdout>`)&&x.enqueue({type:`user`,content:e.message.content,message:e.message,session_id:C(),parent_tool_use_id:null,uuid:e.uuid,timestamp:e.timestamp,isReplay:!0})}let D=[],O=[],k=new Set;function pe(t){for(let n of t){if(n.type!==`connected`||k.has(n.name)||n.config.type===`sdk`)continue;let t=n.name;try{n.client.setRequestHandler(bn,async(n,r)=>{Pr(t,`Elicitation request received in print mode: ${W(n)}`);let i=n.params.mode===`url`?`url`:`form`;J(`tengu_mcp_elicitation_shown`,{mode:i});let a=await we(t,n.params,r.signal);if(a)return Pr(t,`Elicitation resolved by hook: ${W(a)}`),J(`tengu_mcp_elicitation_response`,{mode:i,action:a.action}),a;let o=`url`in n.params?n.params.url:void 0,s=`requestedSchema`in n.params?n.params.requestedSchema:void 0,c=`elicitationId`in n.params?n.params.elicitationId:void 0,l=await e.handleElicitation(t,n.params.message,s,r.signal,i,o,c),u=await Me(t,l,r.signal,i,c);return J(`tengu_mcp_elicitation_response`,{mode:i,action:u.action}),u}),n.client.setNotificationHandler(Xt,e=>{let{elicitationId:n}=e.params;Pr(t,`Elicitation completion notification: ${n}`),mt({message:`MCP server "${t}" confirmed elicitation ${n} complete`,notificationType:`elicitation_complete`}),x.enqueue({type:`system`,subtype:`elicitation_complete`,mcp_server_name:t,elicitation_id:n,uuid:Y(),session_id:C()})}),k.add(t)}catch{}}}async function me(){let t=new Set(Object.keys(l)),n=new Set(D.map(e=>e.name)),r=Array.from(t).some(e=>!n.has(e)),i=Array.from(n).some(e=>!t.has(e)),a=D.some(e=>e.type===`pending`),o=D.some(e=>e.type===`failed`);if(r||i||a||o){for(let e of D)t.has(e.name)||e.type===`connected`&&await e.cleanup();let r=await He(l,(t,n)=>e.sendMcpMessage(t,n));D=r.clients,O=r.tools;let i=wr([...n,...t]);d(e=>({...e,mcp:{...e.mcp,tools:[...e.mcp.tools.filter(e=>!i.some(t=>e.name.startsWith(G(t)))),...O]}})),vn(D)}}me();let A={clients:[],tools:[],configs:{}},ge=e=>{let t=Wt(e.toolPermissionContext,e.mcp.tools),n=Re(fa([...o,...O,...A.tools],t,e.toolPermissionContext.mode),`name`);p.permissionPromptToolName&&(n=n.filter(e=>!fi(e,p.permissionPromptToolName)));let r=te();if(r&&!p.jsonSchema){let e=hi(r);`tool`in e&&(n=[...n,e.tool])}return n},j=null,_e=0;function ve(){if(!j)return;let e=Math.min(_e,w.length),t=w.slice(e).filter(e=>e.type===`user`||e.type===`assistant`);_e=w.length,t.length>0&&j.writeMessages(t)}let ye=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function be(e){let t=async()=>{let t=new Set(D.map(e=>e.name)),n=await Eo(e,{configs:l,clients:D,tools:O},A,d);for(let e of Object.keys(l))delete l[e];if(Object.assign(l,n.newSdkState.configs),D=n.newSdkState.clients,O=n.newSdkState.tools,A=n.newDynamicState,n.sdkServersChanged){let e=new Set(D.map(e=>e.name)),n=wr([...t,...e]);d(e=>({...e,mcp:{...e.mcp,tools:[...e.mcp.tools.filter(e=>!n.some(t=>e.name.startsWith(G(t)))),...O]}}))}return{response:n.response,sdkServersChanged:n.sdkServersChanged}};return ye=ye.then(t,t),ye}function Se(){let e=u(),t=e.mcp.clients,n=Re([...e.mcp.tools,...A.tools],`name`),r=new Set([...t.map(e=>e.name),...D.map(e=>e.name)]);return[...t,...D,...A.clients.filter(e=>!r.has(e.name))].map(e=>{let t;if(e.config.type===`sse`||e.config.type===`http`)t={type:e.config.type,url:e.config.url,headers:e.config.headers,oauth:e.config.oauth};else if(e.config.type===`claudeai-proxy`)t={type:`claudeai-proxy`,url:e.config.url,id:e.config.id};else if(e.config.type===`stdio`||e.config.type===void 0){let n=e.config;t={type:`stdio`,command:n.command,args:n.args}}let r=e.type===`connected`?Kn(n,e.name).map(e=>({name:e.mcpInfo?.toolName??e.name,annotations:{readOnly:e.isReadOnly({})||void 0,destructive:e.isDestructive?.({})||void 0,openWorld:e.isOpenWorld?.({})||void 0}})):void 0;return{name:e.name,status:e.type,serverInfo:e.type===`connected`?e.serverInfo:void 0,error:e.type===`failed`?e.error:void 0,config:t,scope:e.config.scope,tools:r}})}async function Ee(){try{await Promise.all([Promise.resolve(),kr(`headless_managed_settings_wait`,()=>ea())]),await io()&&await Fe()}catch(e){q(e)}}let De=null;a()||(n(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL)?De=Ee():Ee());let Oe=Ba(()=>!h),M=i,N=f;async function Pe(){let{agentDefinitions:e}=await Ca(d);M=await vt(X());let t=N.filter(e=>e.source===`flagSettings`);N=[...e.allAgents,...t]}async function Fe(){let{servers:e}=await Ce(),t={};for(let[n,r]of Object.entries(e)){let e=r.type;(e===void 0||e===`stdio`||e===`sse`||e===`http`||e===`sdk`)&&(t[n]=r)}for(let[e,n]of Object.entries(l))n.type===`sdk`&&!(e in t)&&(t[e]=n);let{response:n,sdkServersChanged:r}=await be(t);r&&me(),U(`Headless MCP refresh: added=${n.added.length}, removed=${n.removed.length}`)}let Ve=Sa.subscribe(()=>{ir(),vt(X()).then(e=>{M=e})}),We=()=>{setTimeout(()=>{!$?.isProactiveActive()||$.isProactivePaused()||_||(async()=>{let e=await ce({basePrompt:`<${Nr}>${new Date().toLocaleTimeString()}</${Nr}>`,currentDir:X(),shouldCreate:()=>!_});if(_){await xe({commands:e});return}for(let t of e)Be({...t,uuid:Y()});P()})().catch(e=>{q(e),U(`[Proactive] failed to create headless tick: ${e}`,{level:`error`})})},0)};bt(()=>{b&&Ae(`now`).length>0&&b.abort(`interrupt`)});let P=async()=>{if(h)return;if(h=!0,g=void 0,ji(`running`),Oe.stop(),B(`run_entry`),await me(),B(`after_updateSdkMcp`),De){let e=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||``,10);if(e>0){let t=li(e).then(()=>`timeout`);await Promise.race([De,t])===`timeout`&&(q(Error(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${e}ms`)),J(`tengu_sync_plugin_install_timeout`,{timeout_ms:e}))}else await De;De=null,await Pe();let{setupPluginHookHotReload:t}=await import(`./loadPluginHooks-BPnxcgrL.js`);t()}let n=e=>e.agentId===void 0;try{let r,i=!1,a=async()=>{for(;r=Te(n);){if(r.mode!==`prompt`&&r.mode!==`orphaned-permission`&&r.mode!==`task-notification`)throw Error(`only prompt commands are supported in streaming mode`);let i=[r];if(r.mode===`prompt`)for(;fo(r,jn(n));)i.push(Te(n));let a=await he(i);if(i=a.attachmentCommands,i.length===0)continue;r=i[0],r.mode===`prompt`&&i.length>1&&(r={...r,value:uo(i.map(e=>e.value)),uuid:i.findLast(e=>e.uuid)?.uuid??r.uuid});let o=i.map(e=>e.uuid).filter(e=>e!==void 0);if(p.replayUserMessages&&i.length>1)for(let e of i)e.uuid&&e.uuid!==r.uuid&&x.enqueue({type:`user`,content:e.value,message:{role:`user`,content:e.value},session_id:C(),parent_tool_use_id:null,uuid:e.uuid,isReplay:!0});let s=u(),l=[...s.mcp.clients,...D,...A.clients];pe(l);let f=ge(s);for(let e of o)qn(e,`started`);if(r.mode===`task-notification`){let e=typeof r.value==`string`?r.value:``,t=e.match(/<task-id>([^<]+)<\/task-id>/),n=e.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),i=e.match(/<output-file>([^<]+)<\/output-file>/),a=e.match(/<status>([^<]+)<\/status>/),o=e.match(/<summary>([^<]+)<\/summary>/),s=e=>e===`completed`||e===`failed`||e===`stopped`||e===`killed`,c=a?.[1],l=s(c)?c===`killed`?`stopped`:c:`completed`,u=e.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??``,d=u.match(/<total_tokens>(\d+)<\/total_tokens>/),f=u.match(/<tool_uses>(\d+)<\/tool_uses>/),p=u.match(/<duration_ms>(\d+)<\/duration_ms>/);a&&x.enqueue({type:`system`,subtype:`task_notification`,task_id:t?.[1]??``,tool_use_id:n?.[1],status:l,output_file:i?.[1]??``,summary:o?.[1]??``,usage:d&&f?{total_tokens:parseInt(d[1],10),tool_uses:parseInt(f[1],10),duration_ms:p?parseInt(p[1],10):0}:void 0,session_id:C(),uuid:Y()})}let m=r.value,h=a.claimedCommands;if(e instanceof Fa&&r.mode===`prompt`&&J(`tengu_bridge_message_received`,{is_repl:!1}),S.abortController?.abort(),S.abortController=null,S.pendingSuggestion=null,S.pendingLastEmittedEntry=null,S.lastEmitted&&r.mode===`prompt`){let e=typeof m==`string`?m:m.find(e=>e.type===`text`)?.text;typeof e==`string`&&Wn(S.lastEmitted.text,e,S.lastEmitted.emittedAt,S.lastEmitted.promptId,S.lastEmitted.generationRequestId),S.lastEmitted=null}b=ze(),B(`before_ask`),Vt();let g=r,_=!1;try{if(await qr(g.workload??p.workload,async()=>{for await(let t of ma({commands:Re([...M,...s.mcp.commands],`name`),prompt:m,promptUuid:g.uuid,isMeta:g.isMeta,cwd:X(),tools:f,verbose:p.verbose,mcpClients:l,thinkingConfig:p.thinkingConfig,maxTurns:p.maxTurns,maxBudgetUsd:p.maxBudgetUsd,taskBudget:p.taskBudget,canUseTool:c,userSpecifiedModel:de,fallbackModel:p.fallbackModel,jsonSchema:te()??p.jsonSchema,mutableMessages:w,getReadFileCache:()=>E.size===0?T:nt(T,E),setReadFileCache:e=>{T=e;for(let[e,t]of E.entries()){let n=T.get(e);(!n||t.timestamp>n.timestamp)&&T.set(e,t)}E.clear()},customSystemPrompt:p.systemPrompt,appendSystemPrompt:p.appendSystemPrompt,getAppState:u,setAppState:d,abortController:b,replayUserMessages:p.replayUserMessages,includePartialMessages:p.includePartialMessages,handleElicitation:(t,n,r)=>e.handleElicitation(t,n.message,void 0,r,n.mode,n.url,`elicitationId`in n?n.elicitationId:void 0),agents:N,orphanedPermission:g.orphanedPermission,setSDKStatus:e=>{x.enqueue({type:`system`,subtype:`status`,status:e,session_id:C(),uuid:Y()})}}))if(ve(),t.type===`result`){_=!!t.is_error;for(let e of bi())x.enqueue(e);Ue(u()).some(e=>(e.type===`local_agent`||e.type===`local_workflow`)&&$t(e))?v=t:(v=null,x.enqueue(t))}else{for(let e of bi())x.enqueue(e);x.enqueue(t)}}),_)await Je({commands:h,outcome:{type:`failed`,message:`ask() returned an error result`},currentDir:X(),priority:`later`,workload:g.workload??p.workload});else{let e=await Je({commands:h,outcome:{type:`completed`},currentDir:X(),priority:`later`,workload:g.workload??p.workload});for(let t of e)Be({...t,uuid:Y()})}}catch(e){throw await Je({commands:h,outcome:{type:`failed`,error:e},currentDir:X(),priority:`later`,workload:g.workload??p.workload}),e}for(let e of o)qn(e,`completed`);if(ve(),j?.sendResult(),p.promptSuggestions&&!t(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION)){S.abortController?.abort();let e=new AbortController;S.abortController=e;let t=ut();if(!t)tr(`sdk_no_params`,void 0,void 0,`sdk`);else{let n={promise:null};n.promise=(async()=>{try{let n=await Zn(e,w,u,t,`sdk`);if(!n||e.signal.aborted)return;let r={type:`prompt_suggestion`,suggestion:n.suggestion,uuid:Y(),session_id:C()},i={text:n.suggestion,emittedAt:Date.now(),promptId:n.promptId,generationRequestId:n.generationRequestId};v?(S.pendingSuggestion=r,S.pendingLastEmittedEntry={text:i.text,promptId:i.promptId,generationRequestId:i.generationRequestId}):(S.lastEmitted=i,x.enqueue(r))}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.name===`APIUserAbortError`)){tr(`aborted`,void 0,void 0,`sdk`);return}q(lr(e))}finally{S.inflightPromise===n.promise&&(S.inflightPromise=null)}})(),S.inflightPromise=n.promise}}ot(),Dn(),Rt()}};do{for(let e of bi())x.enqueue(e);g=`draining_commands`,await a(),i=!1;{let e=Ue(u()).some(e=>$t(e)),t=jn(n)!==void 0;(e||t)&&(i=!0,t||(g=`waiting_for_agents`,await li(100)))}}while(i);v&&(x.enqueue(v),v=null,S.pendingSuggestion&&(x.enqueue(S.pendingSuggestion),S.pendingLastEmittedEntry&&(S.lastEmitted={...S.pendingLastEmittedEntry,emittedAt:Date.now()},S.pendingLastEmittedEntry=null),S.pendingSuggestion=null))}catch(t){try{await e.write({type:`result`,subtype:`error_during_execution`,duration_ms:0,duration_api_ms:0,is_error:!0,num_turns:0,stop_reason:null,session_id:C(),total_cost_usd:0,usage:Pi,modelUsage:{},permission_denials:[],uuid:Y(),errors:[V(t),...Fr().map(e=>e.error)]})}catch{}S.abortController?.abort(),z(1);return}finally{if(g=`finally_flush`,await e.flushInternalEvents(),g=`finally_post_flush`,!Tt()){ji(`idle`);for(let e of bi())x.enqueue(e)}h=!1,Oe.start()}if($?.isProactiveActive()&&!$.isProactivePaused()&&jn(n)===void 0&&!_){We();return}if(jn(n)!==void 0){P();return}_&&(S.inflightPromise&&await Promise.race([S.inflightPromise,li(5e3)]),S.abortController?.abort(),S.abortController=null,await Mn(),Ve(),ne?.(),qe.delete(oe),x.done())},F=function(e,t){x.enqueue({type:`control_response`,response:{subtype:`success`,request_id:e.request_id,response:t}})},I=function(e,t){x.enqueue({type:`control_response`,response:{subtype:`error`,request_id:e.request_id,error:t}})},Ye=new Set;e.setUnexpectedResponseCallback(async e=>{await wo({message:e,setAppState:d,handledToolUseIds:Ye,onEnqueued:()=>{P()}})});let Xe=new Map,Ze=new Map,Qe=new Set,$e=new Map,L=null;return(async()=>{let t=!1;jr(`info`,`cli_message_loop_started`);for await(let n of e.structuredInput){let a=`uuid`in n?n.uuid:void 0;if(a&&n.type!==`user`&&n.type!==`control_response`&&qn(a,`completed`),n.type===`control_request`){let a=n,o=a.request;if(a.request.subtype===`interrupt`)d(e=>({...e,attribution:{...e.attribution,escapeCount:e.attribution.escapeCount+1}})),b&&b.abort(),S.abortController?.abort(),S.abortController=null,S.lastEmitted=null,S.pendingSuggestion=null,F(a);else if(o.subtype===`end_session`){U(`[print.ts] end_session received, reason=${o.reason??`unspecified`}`),b&&b.abort(),S.abortController?.abort(),S.abortController=null,S.lastEmitted=null,S.pendingSuggestion=null,F(a);break}else if(a.request.subtype===`initialize`){if(a.request.sdkMcpServers&&a.request.sdkMcpServers.length>0)for(let e of a.request.sdkMcpServers)l[e]={type:`sdk`,name:e};await _o(a.request,a.request_id,t,x,i,ue,e,!!p.enableAuthStatus,p,f,u),a.request.promptSuggestions&&d(e=>e.promptSuggestionEnabled?e:{...e,promptSuggestionEnabled:!0}),a.request.agentProgressSummaries&&re(!0),t=!0,pt()&&P()}else if(a.request.subtype===`set_permission_mode`){let e=a.request;d(t=>({...t,toolPermissionContext:yo(e,a.request_id,t.toolPermissionContext,x)}))}else if(a.request.subtype===`set_model`){let e=a.request.model??`default`,t=e==="default"?ni():e;de=t,y(t),Di({model:t}),fe(e,t),F(a)}else if(a.request.subtype===`set_max_thinking_tokens`)a.request.max_thinking_tokens===null?p.thinkingConfig=void 0:a.request.max_thinking_tokens===0?p.thinkingConfig={type:`disabled`}:p.thinkingConfig={type:`enabled`,budgetTokens:a.request.max_thinking_tokens},F(a);else if(a.request.subtype===`mcp_status`)F(a,{mcpServers:Se()});else if(a.request.subtype===`get_context_usage`)try{let e=u(),t=await va({messages:w,getAppState:u,options:{mainLoopModel:si(),tools:ge(e),agentDefinitions:e.agentDefinitions,customSystemPrompt:p.systemPrompt,appendSystemPrompt:p.appendSystemPrompt}});F(a,{...t})}catch(e){I(a,V(e))}else if(a.request.subtype===`mcp_message`){let e=a.request,t=D.find(t=>t.name===e.server_name);t&&t.type===`connected`&&t.client?.transport?.onmessage&&t.client.transport.onmessage(e.message),F(a)}else if(a.request.subtype===`rewind_files`){let e=u(),t=await vo(a.request.user_message_id,e,d,a.request.dry_run??!1);t.canRewind||a.request.dry_run?F(a,t):I(a,t.error??`Unexpected error`)}else if(a.request.subtype===`cancel_async_message`){let e=a.request.message_uuid,t=Ne(t=>t.uuid===e);F(a,{cancelled:t.length>0})}else if(a.request.subtype===`seed_read_state`){try{let e=Rr(a.request.path),t=Math.floor((await ja(e)).mtimeMs);if(t<=a.request.mtime){let n=await Aa(e,`utf-8`),r=(n.charCodeAt(0)===65279?n.slice(1):n).replaceAll(`\r
|
|
20
|
+
`,`
|
|
21
|
+
`);E.set(e,{content:r,timestamp:t,offset:void 0,limit:void 0})}}catch{}F(a)}else if(a.request.subtype===`mcp_set_servers`){let{response:e,sdkServersChanged:t}=await be(a.request.servers);F(a,e),t&&me()}else if(a.request.subtype===`reload_plugins`)try{let e=await Ca(d),t=N.filter(e=>e.source===`flagSettings`);N=[...e.agentDefinitions.allAgents,...t];let n=[],[r,i,o]=await Promise.allSettled([vt(X()),Fe(),hn()]);r.status===`fulfilled`?M=r.value:q(r.reason),i.status===`rejected`&&q(i.reason),o.status===`fulfilled`?n=o.value.enabled.map(e=>({name:e.name,path:e.path,source:e.source})):q(o.reason),F(a,{commands:M.filter(e=>e.userInvocable!==!1).map(e=>({name:Dt(e),description:je(e),argumentHint:e.argumentHint||``})),agents:N.map(e=>({name:e.agentType,description:e.whenToUse,model:e.model===`inherit`?void 0:e.model})),plugins:n,mcpServers:Se(),error_count:e.error_count})}catch(e){I(a,V(e))}else if(a.request.subtype===`mcp_reconnect`){let e=u(),{serverName:t}=a.request;k.delete(t);let n=Le(t)??r.find(e=>e.name===t)?.config??D.find(e=>e.name===t)?.config??A.clients.find(e=>e.name===t)?.config??e.mcp.clients.find(e=>e.name===t)?.config??null;if(!n)I(a,`Server not found: ${t}`);else{let e=await nn(t,n),r=G(t);if(d(n=>({...n,mcp:{...n.mcp,clients:n.mcp.clients.map(n=>n.name===t?e.client:n),tools:[...R(n.mcp.tools,e=>e.name?.startsWith(r)),...e.tools],commands:[...R(n.mcp.commands,e=>yn(e,t)),...e.commands],resources:e.resources&&e.resources.length>0?{...n.mcp.resources,[t]:e.resources}:Fi(n.mcp.resources,t)}})),A={...A,clients:[...A.clients.filter(e=>e.name!==t),e.client],tools:[...A.tools.filter(e=>!e.name?.startsWith(r)),...e.tools]},e.client.type===`connected`)pe([e.client]),F(a);else{let t=e.client.type===`failed`?e.client.error??`Connection failed`:`Server status: ${e.client.type}`;I(a,t)}}}else if(a.request.subtype===`mcp_toggle`){let e=u(),{serverName:t,enabled:n}=a.request;k.delete(t);let i=Le(t)??r.find(e=>e.name===t)?.config??D.find(e=>e.name===t)?.config??A.clients.find(e=>e.name===t)?.config??e.mcp.clients.find(e=>e.name===t)?.config??null;if(!i)I(a,`Server not found: ${t}`);else if(n){ke(t,!0);let e=await nn(t,i),n=G(t);if(d(r=>({...r,mcp:{...r.mcp,clients:r.mcp.clients.map(n=>n.name===t?e.client:n),tools:[...R(r.mcp.tools,e=>e.name?.startsWith(n)),...e.tools],commands:[...R(r.mcp.commands,e=>yn(e,t)),...e.commands],resources:e.resources&&e.resources.length>0?{...r.mcp.resources,[t]:e.resources}:Fi(r.mcp.resources,t)}})),e.client.type===`connected`)pe([e.client]),F(a);else{let t=e.client.type===`failed`?e.client.error??`Connection failed`:`Server status: ${e.client.type}`;I(a,t)}}else{ke(t,!1);let n=[...r,...D,...A.clients,...e.mcp.clients].find(e=>e.name===t);n&&n.type===`connected`&&await at(t,i);let o=G(t);d(e=>({...e,mcp:{...e.mcp,clients:e.mcp.clients.map(e=>e.name===t?{name:t,type:`disabled`,config:i}:e),tools:R(e.mcp.tools,e=>e.name?.startsWith(o)),commands:R(e.mcp.commands,e=>yn(e,t)),resources:Fi(e.mcp.resources,t)}})),F(a)}}else if(o.subtype===`mcp_authenticate`){let e=o.serverName,t=u(),n=Le(e)??r.find(t=>t.name===e)?.config??t.mcp.clients.find(t=>t.name===e)?.config??null;if(!n)I(a,`Server not found: ${e}`);else if(n.type!==`sse`&&n.type!==`http`)I(a,`Server type "${n.type}" does not support OAuth authentication`);else try{Xe.get(e)?.abort();let t=new AbortController;Xe.set(e,t);let r,i=new Promise(e=>{r=e}),o=ae(e,n,e=>r(e),t.signal,{skipBrowserOpen:!0,onWaitingForCallback:t=>{Ze.set(e,t)}}),s=await Promise.race([i,o.then(()=>null)]);s?F(a,{authUrl:s,requiresUserAction:!0}):F(a,{requiresUserAction:!1}),$e.set(e,o),o.then(async()=>{if(ht(e)||Qe.has(e))return;let t=await nn(e,n),r=G(e);d(n=>({...n,mcp:{...n.mcp,clients:n.mcp.clients.map(n=>n.name===e?t.client:n),tools:[...R(n.mcp.tools,e=>e.name?.startsWith(r)),...t.tools],commands:[...R(n.mcp.commands,t=>yn(t,e)),...t.commands],resources:t.resources&&t.resources.length>0?{...n.mcp.resources,[e]:t.resources}:Fi(n.mcp.resources,e)}})),A={...A,clients:[...A.clients.filter(t=>t.name!==e),t.client],tools:[...A.tools.filter(e=>!e.name?.startsWith(r)),...t.tools]}}).catch(t=>{U(`MCP OAuth failed for ${e}: ${t}`,{level:`error`})}).finally(()=>{Xe.get(e)===t&&(Xe.delete(e),Ze.delete(e),Qe.delete(e),$e.delete(e))})}catch(e){I(a,V(e))}}else if(o.subtype===`mcp_oauth_callback_url`){let e=o.serverName,t=o.callbackUrl,n=Ze.get(e);if(n){let r=!1;try{let e=new URL(t);r=e.searchParams.has(`code`)||e.searchParams.has(`error`)}catch{}if(!r)I(a,`Invalid callback URL: missing authorization code. Please paste the full redirect URL including the code parameter.`);else{Qe.add(e),n(t);let r=$e.get(e);if(r)try{await r,F(a)}catch(e){I(a,e instanceof Error?e.message:`OAuth authentication failed`)}else F(a)}}else I(a,`No active OAuth flow for server: ${e}`)}else if(o.subtype===`claude_authenticate`){let e=o.loginWithClaudeAi;L?.service.cleanup(),J(`tengu_oauth_flow_start`,{loginWithClaudeAi:e??!0});let t=new ta,n,r=new Promise(e=>{n=e}),i=t.startOAuthFlow(async(e,t)=>{n({manualUrl:e,automaticUrl:t})},{loginWithClaudeAi:e??!0,skipBrowserOpen:!0}).then(async t=>{await na(t),J(`tengu_oauth_success`,{loginWithClaudeAi:e??!0})}).finally(()=>{t.cleanup(),L?.service===t&&(L=null)});L={service:t,flow:i},i.catch(e=>U(`claude_authenticate flow ended: ${e}`,{level:`info`}));try{let{manualUrl:e,automaticUrl:t}=await Promise.race([r,i.then(()=>{throw Error(`OAuth flow completed without producing auth URLs`)})]);F(a,{manualUrl:e,automaticUrl:t})}catch(e){I(a,V(e))}}else if(o.subtype===`claude_oauth_callback`||o.subtype===`claude_oauth_wait_for_completion`)if(!L)I(a,`No active claude_authenticate flow`);else{o.subtype===`claude_oauth_callback`&&L.service.handleManualAuthCodeInput({authorizationCode:o.authorizationCode,state:o.state});let{flow:e}=L;e.then(()=>{let e=Zr();F(a,{account:{email:e?.email,organization:e?.organization,subscriptionType:e?.subscription,tokenSource:e?.tokenSource,apiKeySource:e?.apiKeySource,apiProvider:ci()}})},e=>I(a,V(e)))}else if(o.subtype===`mcp_clear_auth`){let e=o.serverName,t=u(),n=Le(e)??r.find(t=>t.name===e)?.config??t.mcp.clients.find(t=>t.name===e)?.config??null;if(!n)I(a,`Server not found: ${e}`);else if(n.type!==`sse`&&n.type!==`http`)I(a,`Cannot clear auth for server type "${n.type}"`);else{await Bn(e,n);let t=await nn(e,n),r=G(e);d(n=>({...n,mcp:{...n.mcp,clients:n.mcp.clients.map(n=>n.name===e?t.client:n),tools:[...R(n.mcp.tools,e=>e.name?.startsWith(r)),...t.tools],commands:[...R(n.mcp.commands,t=>yn(t,e)),...t.commands],resources:t.resources&&t.resources.length>0?{...n.mcp.resources,[e]:t.resources}:Fi(n.mcp.resources,e)}})),F(a,{})}}else if(a.request.subtype===`apply_flag_settings`){let e=si(),t=ee()??{},n=a.request.settings,r={...t,...n};for(let e of Object.keys(r))r[e]===null&&delete r[e];ie(r),se.notifyChange(`flagSettings`),`model`in n&&(n.model==null?y(void 0):y(String(n.model)));let i=si();if(i!==e){de=i;let e=n.model?String(n.model):`default`;Di({model:i}),fe(e,i)}F(a)}else if(a.request.subtype===`get_settings`){let e=si();F(a,{...vr(),applied:{model:e}})}else if(a.request.subtype===`stop_task`){let{task_id:e}=a.request;try{await en(e,{getAppState:u,setAppState:d}),F(a,{})}catch(e){I(a,V(e))}}else if(o.subtype===`generate_session_title`){let e=o.description,t=o.persist,n=(b&&!b.signal.aborted?b:ze()).signal;(async()=>{try{let r=await Ui(e,n);if(r&&t)try{Mt(C(),r)}catch(e){q(e)}F(a,{title:r})}catch(e){I(a,V(e))}})()}else if(o.subtype===`side_question`){let e=o.question;(async()=>{try{let t=ut(),n=t?{...t,toolUseContext:{...t.toolUseContext,abortController:ze()}}:await ha({tools:ge(u()),commands:M,mcpClients:[...u().mcp.clients,...D,...A.clients],messages:w,readFileState:T,getAppState:u,setAppState:d,customSystemPrompt:p.systemPrompt,appendSystemPrompt:p.appendSystemPrompt,thinkingConfig:p.thinkingConfig,agents:N}),r=await _a({question:e,cacheSafeParams:n});F(a,{response:r.response})}catch(e){I(a,V(e))}})()}else if(a.request.subtype===`set_proactive`)a.request.enabled?$.isProactiveActive()||($.activateProactive(`command`),We()):$.deactivateProactive(),F(a);else if(o.subtype===`remote_control`)if(o.enabled)if(j)F(a,{session_url:Ke(j.bridgeSessionId,j.sessionIngressUrl),connect_url:et(j.environmentId,j.sessionIngressUrl),environment_id:j.environmentId});else{let t;try{let{initReplBridge:n}=await import(`./initReplBridge-DdsSWVqN.js`),r=await n({onInboundMessage(e){let t=ua(e);if(!t)return;let{content:n,uuid:r}=t;Be({value:n,mode:`prompt`,uuid:r,skipSlashCommands:!0}),P()},onPermissionResponse(t){e.injectControlResponse(t)},onInterrupt(){b?.abort()},onSetModel(e){let t=e==="default"?ni():e;de=t,y(t)},onSetMaxThinkingTokens(e){e===null?p.thinkingConfig=void 0:e===0?p.thinkingConfig={type:`disabled`}:p.thinkingConfig={type:`enabled`,budgetTokens:e}},onStateChange(e,n){e===`failed`&&(t=n),U(`[bridge:sdk] State change: ${e}${n?` — ${n}`:``}`),x.enqueue({type:`system`,subtype:`bridge_state`,state:e,detail:n,uuid:Y(),session_id:C()})},initialMessages:w.length>0?w:void 0});r?(j=r,_e=w.length,e.setOnControlRequestSent(e=>{r.sendControlRequest(e)}),e.setOnControlRequestResolved(e=>{r.sendControlCancelRequest(e)}),F(a,{session_url:Ke(r.bridgeSessionId,r.sessionIngressUrl),connect_url:et(r.environmentId,r.sessionIngressUrl),environment_id:r.environmentId})):I(a,t??`Remote Control initialization failed`)}catch(e){I(a,V(e))}}else j&&(e.setOnControlRequestSent(void 0),e.setOnControlRequestResolved(void 0),await j.teardown(),j=null),F(a);else I(a,`Unsupported control request subtype: ${a.request.subtype}`);continue}else if(n.type===`control_response`){p.replayUserMessages&&x.enqueue(n);continue}else if(n.type===`keep_alive`)continue;else if(n.type===`update_environment_variables`)continue;else if(n.type===`assistant`||n.type===`system`){let e=Bi([n]);w.push(...e),n.type===`assistant`&&p.replayUserMessages&&x.enqueue(n);continue}if(n.type!==`user`)continue;let o=n;if(t=!0,o.uuid){let e=C(),t=await tn(e,o.uuid);if(t||oo.has(o.uuid)){U(`Skipping duplicate user message: ${o.uuid}`),p.replayUserMessages&&(U(`Sending acknowledgment for duplicate user message: ${o.uuid}`),x.enqueue({type:`user`,content:o.message?.content??``,message:o.message,session_id:e,parent_tool_use_id:null,uuid:o.uuid,timestamp:o.timestamp,isReplay:!0})),t&&qn(o.uuid,`completed`);continue}co(o.uuid)}Be({mode:`prompt`,value:await Za(o,o.message.content),uuid:o.uuid,priority:o.priority}),d(e=>({...e,attribution:ct(e.attribution,e=>{Gt(e).catch(e=>{U(`Attribution: Failed to save snapshot: ${e}`)})})})),P()}_=!0,h||(S.inflightPromise&&await Promise.race([S.inflightPromise,li(5e3)]),S.abortController?.abort(),S.abortController=null,await Mn(),Ve(),ne?.(),qe.delete(oe),x.done())})(),x}function ho(e){let t=async(n,r,i,a,o,s)=>{let c=s??await gt(n,r,i,a,o);if(c.behavior===`allow`||c.behavior===`deny`)return c;let{signal:l,cleanup:u}=O(i.abortController.signal);if(l.aborted)return u(),{behavior:`deny`,message:`Permission prompt was aborted.`,decisionReason:{type:`permissionPromptTool`,permissionPromptToolName:n.name,toolResult:void 0}};let d=new Promise(e=>{l.addEventListener(`abort`,()=>e(`aborted`),{once:!0})}),f=e.call({tool_name:n.name,input:r,tool_use_id:o},i,t,a),p=await Promise.race([f,d]);if(u(),p===`aborted`||l.aborted)return{behavior:`deny`,message:`Permission prompt was aborted.`,decisionReason:{type:`permissionPromptTool`,permissionPromptToolName:n.name,toolResult:void 0}};let m=p,h=e.mapToolResultToToolResultBlockParam(m.data,`1`);if(!h.content||!Array.isArray(h.content)||!h.content[0]||h.content[0].type!==`text`||typeof h.content[0].text!=`string`)throw Error(`Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.`);return da(la().parse(Br(h.content[0].text)),e,r,i)};return t}function go(e,t,n,r){if(e===`stdio`)return t.createCanUseTool(r);if(!e)return async(e,t,n,r,i,a)=>a??await gt(e,t,n,r,i);let i=null;return async(t,r,a,o,s,c)=>{if(!i){let t=n(),r=t.find(t=>fi(t,e));if(!r){let n=`Error: MCP tool ${e} (passed via --permission-prompt-tool) not found. Available MCP tools: ${t.map(e=>e.name).join(`, `)||`none`}`;throw process.stderr.write(`${n}\n`),z(1),Error(n)}if(!r.inputJSONSchema){let t=`Error: tool ${e} (passed via --permission-prompt-tool) must be an MCP tool`;throw process.stderr.write(`${t}\n`),z(1),Error(t)}i=ho(r)}return i(t,r,a,o,s,c)}}async function _o(e,t,n,r,i,a,o,s,c,l,u){if(n){r.enqueue({type:`control_response`,response:{subtype:`error`,error:`Already initialized`,request_id:t,pending_permission_requests:o.getPendingPermissionRequests()}});return}if(e.systemPrompt!==void 0&&(c.systemPrompt=e.systemPrompt),e.appendSystemPrompt!==void 0&&(c.appendSystemPrompt=e.appendSystemPrompt),e.promptSuggestions!==void 0&&(c.promptSuggestions=e.promptSuggestions),e.agents){let t=qt(e.agents,`flagSettings`);l.push(...t)}if(c.agent){let e=b()===c.agent,t=l.find(e=>e.agentType===c.agent);if(t&&!e){if(_(t.agentType),!c.systemPrompt&&!Rn(t)){let e=t.getSystemPrompt();e&&(c.systemPrompt=e)}!c.userSpecifiedModel&&t.model&&t.model!==`inherit`&&y(Ur(t.model)),t.initialPrompt&&o.prependUserMessage(t.initialPrompt)}else t?.initialPrompt&&o.prependUserMessage(t.initialPrompt)}let d=br()?.outputStyle||`default`,f=await zt(or()),p=Zr();if(e.hooks){let t={};for(let[n,r]of Object.entries(e.hooks))t[n]=r.map(e=>{let t=e.hookCallbackIds.map(t=>o.createHookCallback(t,e.timeout));return{matcher:e.matcher,hooks:t}});x(t)}e.jsonSchema&&v(e.jsonSchema);let m={commands:i.filter(e=>e.userInvocable!==!1).map(e=>({name:Dt(e),description:je(e),argumentHint:e.argumentHint||``})),agents:l.map(e=>({name:e.agentType,description:e.whenToUse,model:e.model===`inherit`?void 0:e.model})),output_style:d,available_output_styles:Object.keys(f),models:a,account:{email:p?.email,organization:p?.organization,subscriptionType:p?.subscription,tokenSource:p?.tokenSource,apiKeySource:p?.apiKeySource,apiProvider:ci()},pid:process.pid};if(ii()&&oi()){let e=u();m.fast_mode_state=Gr(c.userSpecifiedModel??null,e.fastMode)}if(r.enqueue({type:`control_response`,response:{subtype:`success`,request_id:t,response:m}}),s){let e=Yr.getInstance().getStatus();e&&r.enqueue({type:`auth_status`,isAuthenticating:e.isAuthenticating,output:e.output,error:e.error,uuid:Y(),session_id:C()})}}async function vo(e,t,n,r){if(!Tn())return{canRewind:!1,error:`File rewinding is not enabled.`,filesChanged:[]};if(!Hn(t.fileHistory,e))return{canRewind:!1,error:`No file checkpoint found for this message.`,filesChanged:[]};if(r){let n=await Ln(t.fileHistory,e);return{canRewind:!0,filesChanged:n?.filesChanged??[],insertions:n?.insertions,deletions:n?.deletions}}try{await zn(e=>n(t=>({...t,fileHistory:e(t.fileHistory)})),e)}catch(e){return{canRewind:!1,error:`Failed to rewind: ${V(e)}`,filesChanged:[]}}return{canRewind:!0,filesChanged:[]}}function yo(e,t,n,r){if(e.mode===`bypassPermissions`){if(pe())return r.enqueue({type:`control_response`,response:{subtype:`error`,request_id:t,error:`Cannot set permission mode to bypassPermissions because it is disabled by settings or configuration`}}),n;if(!n.isBypassPermissionsModeAvailable)return r.enqueue({type:`control_response`,response:{subtype:`error`,request_id:t,error:`Cannot set permission mode to bypassPermissions because the session was not launched with --dangerously-skip-permissions`}}),n}if(e.mode===`auto`&&!_e()){let e=Xn();return r.enqueue({type:`control_response`,response:{subtype:`error`,request_id:t,error:e?`Cannot set permission mode to auto: ${Ft(e)}`:`Cannot set permission mode to auto`}}),n}return r.enqueue({type:`control_response`,response:{subtype:`success`,request_id:t,response:{mode:e.mode}}}),{...Qe(n.mode,e.mode,n),mode:e.mode}}function bo(e,t){if(t===`stream-json`){let t={type:`result`,subtype:`error_during_execution`,duration_ms:0,duration_api_ms:0,is_error:!0,num_turns:0,stop_reason:null,session_id:C(),total_cost_usd:0,usage:Pi,modelUsage:{},permission_denials:[],uuid:Y(),errors:[e]};process.stdout.write(W(t)+`
|
|
22
|
+
`)}else process.stderr.write(e+`
|
|
23
|
+
`)}function xo(e,t){let n=e.findIndex(e=>e.uuid===t.uuid);n!==-1&&e.splice(n,2)}async function So(e,t){let r=!S();if(t.continue)try{J(`tengu_continue_print`,{});let n=await Fn(void 0,void 0);if(n)return t.forkSession||n.sessionId&&(ne(Yn(n.sessionId),n.fullPath?Ea(n.fullPath):null),r&&await Jt()),xa(n,e),kn(t.forkSession?{...n,worktreeSession:void 0}:n),{messages:n.messages,turnInterruptionState:n.turnInterruptionState,agentSetting:n.agentSetting}}catch(e){return q(e),z(1),{messages:[]}}if(t.teleport)try{if(!Nt(`allow_remote_sessions`))throw Error(`Remote sessions are disabled by your organization's policy.`);if(J(`tengu_teleport_print`,{}),typeof t.teleport!=`string`)throw Error(`No session ID provided for teleport`);let{checkOutTeleportedSessionBranch:e,processMessagesForTeleportResume:n,teleportResumeCodeSession:r,validateGitState:i}=await import(`./teleport-CwxeD5vL.js`);await i();let a=await r(t.teleport),{branchError:o}=await e(a.branch);return{messages:n(a.log,o)}}catch(e){return q(e),z(1),{messages:[]}}if(t.resume)try{J(`tengu_resume_print`,{});let i=Qa(typeof t.resume==`string`?t.resume:``);if(!i){let e=`Error: --resume requires a valid session ID when used with --print. Usage: claude -p --resume <session-id>`;return typeof t.resume==`string`&&(e+=`. Session IDs must be in UUID format (e.g., 550e8400-e29b-41d4-a716-446655440000). Provided value "${t.resume}" is not a valid UUID`),bo(e,t.outputFormat),z(1),{messages:[]}}if(n(process.env.CLAUDE_CODE_USE_CCR_V2)){let[,n]=await Promise.all([gn(i.sessionId),t.restoredWorkerState]);n&&(e(ia(n)),typeof n.model==`string`&&y(n.model))}else i.isUrl&&i.ingressUrl&&n(process.env.ENABLE_SESSION_PERSISTENCE)&&await T(i.sessionId,i.ingressUrl);let a=await Fn(i.sessionId,i.jsonlFile||void 0);if(!a||a.messages.length===0)return i.isUrl||n(process.env.CLAUDE_CODE_USE_CCR_V2)?{messages:await(t.sessionStartHooksPromise??Gn(`startup`))}:(bo(`No conversation found with session ID: ${i.sessionId}`,t.outputFormat),z(1),{messages:[]});if(t.resumeSessionAt){let e=a.messages.findIndex(e=>e.uuid===t.resumeSessionAt);if(e<0)return bo(`No message found with message.uuid of: ${t.resumeSessionAt}`,t.outputFormat),z(1),{messages:[]};a.messages=e>=0?a.messages.slice(0,e+1):[]}return!t.forkSession&&a.sessionId&&(ne(Yn(a.sessionId),a.fullPath?Ea(a.fullPath):null),r&&await Jt()),xa(a,e),kn(t.forkSession?{...a,worktreeSession:void 0}:a),{messages:a.messages,turnInterruptionState:a.turnInterruptionState,agentSetting:a.agentSetting}}catch(e){return q(e),bo(e instanceof Error?`Failed to resume session: ${e.message}`:`Failed to resume session with --print mode`,t.outputFormat),z(1),{messages:[]}}return{messages:await(t.sessionStartHooksPromise??Gn(`startup`))}}function Co(e,t){let n;return n=typeof e==`string`?e.trim()===``?Cn([]):Cn([W({type:`user`,content:e,uuid:``,session_id:``,message:{role:`user`,content:e},parent_tool_use_id:null})]):e,t.sdkUrl?new Fa(t.sdkUrl,n,t.replayUserMessages):new sa(n,t.replayUserMessages)}async function wo({message:e,setAppState:t,onEnqueued:n,handledToolUseIds:r}){let i=e.response;if(i?.subtype===`success`&&i.response?.toolUseID&&typeof i.response.toolUseID==`string`){let e=i.response,t=e.toolUseID;if(!t)return!1;if(U(`handleOrphanedPermissionResponse: received orphaned control_response for toolUseID=${t} request_id=${i.request_id}`),r.has(t))return U(`handleOrphanedPermissionResponse: skipping duplicate orphaned permission for toolUseID=${t} (already handled)`),!1;let a=await Ht(t);return a?(r.add(t),U(`handleOrphanedPermissionResponse: enqueuing orphaned permission for toolUseID=${t} messageID=${a.message.id}`),Be({mode:`orphaned-permission`,value:[],orphanedPermission:{permissionResult:e,assistantMessage:a}}),n?.(),!0):(U(`handleOrphanedPermissionResponse: no unresolved tool_use found for toolUseID=${t} (already resolved in transcript)`),!1)}return!1}function To(e){return{...e,scope:`dynamic`}}async function Eo(e,t,n,r){let{allowed:i,blocked:a}=$e(e),o={};for(let e of a)o[e]=`Blocked by enterprise policy (allowedMcpServers/deniedMcpServers)`;let s={},c={};for(let[e,t]of Object.entries(i))t.type===`sdk`?s[e]=t:c[e]=t;let l=new Set(Object.keys(t.configs)),u=new Set(Object.keys(s)),d=[],f=[],p={...t.configs},m=[...t.clients],h=[...t.tools];for(let e of l)if(!u.has(e)){let t=m.find(t=>t.name===e);t&&t.type===`connected`&&await t.cleanup(),m=m.filter(t=>t.name!==e);let n=`mcp__${e}__`;h=h.filter(e=>!e.name.startsWith(n)),delete p[e],f.push(e)}for(let[e,t]of Object.entries(s))if(!l.has(e)){p[e]=t;let n={type:`pending`,name:e,config:{...t,scope:`dynamic`}};m=[...m,n],d.push(e)}let g=await Do(c,n,r);return{response:{added:[...d,...g.response.added],removed:[...f,...g.response.removed],errors:{...o,...g.response.errors}},newSdkState:{configs:p,clients:m,tools:h},newDynamicState:g.newState,sdkServersChanged:d.length>0||f.length>0}}async function Do(e,t,n){let r=new Set(Object.keys(t.configs)),i=new Set(Object.keys(e)),a=[...r].filter(e=>!i.has(e)),o=[...i].filter(e=>!r.has(e)),s=[...r].filter(e=>i.has(e)).filter(n=>{let r=t.configs[n],i=e[n];return!r||!i||!It(r,To(i))}),c=[],l=[],u={},d=[...t.clients],f=[...t.tools];for(let e of[...a,...s]){let n=d.find(t=>t.name===e),r=t.configs[e];if(n&&r){if(n.type===`connected`)try{await n.cleanup()}catch(e){q(e)}await at(e,r)}let i=`mcp__${e}__`;f=f.filter(e=>!e.name.startsWith(i)),d=d.filter(t=>t.name!==e),a.includes(e)&&c.push(e)}for(let t of[...o,...s]){let n=e[t];if(!n)continue;let r=To(n);if(n.type===`sdk`){l.push(t);continue}try{let e=await fe(t,r);if(d.push(e),e.type===`connected`){let t=await ye(e);f.push(...t)}else e.type===`failed`&&(u[t]=e.error||`Connection failed`);l.push(t)}catch(e){let n=lr(e);u[t]=n.message,q(n)}}let p={};for(let t of i){let n=e[t];n&&(p[t]=To(n))}let m={clients:d,tools:f,configs:p};return n(e=>{let n=new Set([...Object.keys(t.configs),...Object.keys(p)]),r=e.mcp.tools.filter(e=>{for(let t of n)if(e.name.startsWith(`mcp__${t}__`))return!1;return!0}),i=e.mcp.clients.filter(e=>!n.has(e.name));return{...e,mcp:{...e.mcp,tools:[...r,...f],clients:[...i,...d]}}}),{response:{added:l,removed:c,errors:u},newState:m}}export{po as runHeadless};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-DaDcL9Zw.js";import{I as t,fi as n,t as r}from"./src-CDCSSo0U2.js";import{t as i}from"./jsx-runtime-Bb4Xn-E0.js";import{Bd as a,Dy as o,Ey as s,Ia as c,La as l,Na as u,US as d,WS as f,eo as p,f_ as m,h_ as h,i_ as g,m_ as _,p_ as v,r_ as y,uo as b,zd as x}from"./loadAgentsDir-ByO8eJqU.js";import{F as S,j as C,z as w}from"./debug-RZ4NuXyS.js";import{g as T,n as E}from"./settings-hQDLwPVj.js";import{n as D,r as O}from"./analytics-CkYUHW_U.js";import{_t as k,gt as A}from"./prompt-B7joRiqj.js";import{randomUUID as j}from"crypto";n(),r(),v(),a(),h();var M=i();function N({input:e,progress:n,verbose:r}){return(0,M.jsxs)(t,{flexDirection:`column`,marginTop:1,children:[(0,M.jsx)(x,{addMargin:!1,param:{text:`<bash-input>${e}</bash-input>`,type:`text`}}),n?(0,M.jsx)(_,{fullOutput:n.fullOutput,output:n.output,elapsedTimeSeconds:n.elapsedTimeSeconds,totalLines:n.totalLines,verbose:r}):m.renderToolUseProgressMessage?.([],{verbose:r,tools:[],terminalSize:void 0})]})}w(),D(),d(),p(),T();function P(){return E().defaultShell??`bash`}v(),A(),o();async function F(t,n,r,i,a){let o=k()&&P()===`powershell`;O(`tengu_input_bash`,{powershell:o});let d=l({content:b({inputString:`<bash-input>${t}</bash-input>`,precedingInputBlocks:n})}),p;a({jsx:(0,M.jsx)(N,{input:t,progress:null,verbose:i.options.verbose}),shouldHidePromptInput:!1});try{let n={...i,setToolJSX:e=>{p=e?.jsx}},c=e=>{a({jsx:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(N,{input:t,progress:e.data,verbose:i.options.verbose}),p]}),shouldHidePromptInput:!1,showSpinner:!1})},h=null;o&&(h=(g(),e(y)).PowerShellTool);let _=h??m,v=(h?await h.call({command:t,dangerouslyDisableSandbox:!0},n,void 0,void 0,c):await m.call({command:t,dangerouslyDisableSandbox:!0},n,void 0,void 0,c)).data;if(!v)throw Error(`No result received from shell command`);let b=v.stderr,x=await f(_,{...v,stderr:``},j()),S=typeof x.content==`string`?x.content:s(v.stdout);return{messages:[u(),d,...r,l({content:`<bash-stdout>${S}</bash-stdout><bash-stderr>${s(b)}</bash-stderr>`})],shouldQuery:!1}}catch(e){return e instanceof C?e.interrupted?{messages:[u(),d,c({toolUse:!1}),...r],shouldQuery:!1}:{messages:[u(),d,...r,l({content:`<bash-stdout>${s(e.stdout)}</bash-stdout><bash-stderr>${s(e.stderr)}</bash-stderr>`})],shouldQuery:!1}:{messages:[u(),d,...r,l({content:`<bash-stderr>Command failed: ${s(S(e))}</bash-stderr>`})],shouldQuery:!1}}finally{a(null)}}export{F as processBashCommand};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{$t as t,er as n,mt as r,t as i}from"./state-C2OSZkV1.js";import{$d as a,Aa as o,Au as s,Bs as c,By as l,C as u,Dc as d,Ec as f,Fh as p,Fu as m,G as h,Hy as g,Ia as _,Ji as v,LS as y,La as b,Lb as x,Li as S,Mh as C,Mu as w,Na as T,Of as E,Pa as D,QC as O,RS as k,Rb as A,Ru as j,Ui as M,Us as ee,Va as te,Vi as ne,Vs as re,W as ie,Wb as ae,XC as oe,Yi as se,ZC as ce,Zi as N,_b as le,af as ue,ao as de,bD as fe,cD as pe,co as me,dg as he,dv as ge,ef as P,eo as _e,gh as ve,hh as F,if as ye,il as be,jh as xe,ju as Se,k as Ce,kf as we,lD as I,mb as Te,pg as Ee,rf as De,rl as Oe,to as ke,uD as L,uo as R,uv as Ae,wc as z,yD as je,zu as Me}from"./loadAgentsDir-ByO8eJqU.js";import{A as B,D as Ne,a as V,d as Pe,l as H,p as Fe,z as Ie}from"./debug-RZ4NuXyS.js";import{Cn as Le,Dt as Re,Ot as ze,bn as Be}from"./settings-hQDLwPVj.js";import{J as Ve,T as U,o as He,s as W,w as G}from"./log-CZ0zYP_c.js";import{n as Ue,r as K}from"./analytics-CkYUHW_U.js";import{_n as We,gi as Ge,hi as Ke,vn as qe}from"./model-CwO-g1RW.js";import{ct as Je,ot as Ye}from"./esm-BLPbfHQd.js";import{E as Xe,T as Ze,w as Qe}from"./sessionTracing-CwsXt_uA.js";import{randomUUID as q}from"crypto";function $e(e,t,n,r,i){let a=0;for(let o of Re){let s=n[o];if(s)for(let n of s)for(let s of n.hooks){let c=s.once?()=>{H(`Removing one-shot hook for event ${o} in skill '${r}'`),ue(e,t,o,s)}:void 0;De(e,t,o,n.matcher||``,s,c,i),a++}}a>0&&H(`Registered ${a} hooks from skill '${r}'`)}var J=e((()=>{ze(),V(),ye()}));function et(e){let t=e.trim();if(!t.startsWith(`/`))return null;let n=t.slice(1).split(` `);if(!n[0])return null;let r=n[0],i=!1,a=1;n.length>1&&n[1]===`(MCP)`&&(r+=` (MCP)`,i=!0,a=2);let o=n.slice(a).join(` `);return{commandName:r,args:o,isMcp:i}}var tt=e((()=>{}));function nt(){return!1}function rt(){if(!nt())throw Error(`ToolUseContext.options.allowBackgroundForkedSlashCommands is test-only and cannot be enabled outside NODE_ENV=test.`)}async function it(e,t,n,r,i,a,o){let s=E(),c=e.pluginInfo?L(e.pluginInfo.repository).marketplace:void 0;K(`tengu_slash_command_forked`,{command_name:e.name,invocation_trigger:`user-slash`,...e.pluginInfo&&{_PROTO_plugin_name:e.pluginInfo.pluginManifest.name,...c&&{_PROTO_marketplace_name:c},...w(e.pluginInfo)}});let{skillContent:l,modifiedGetAppState:u,baseAgent:f,promptMessages:p}=await d(e,t,n);H(`Executing forked slash command /${e.name} with agent ${f.agentType}`);let m=await n.getAppState(),h=n.options.allowBackgroundForkedSlashCommands===!0;h&&rt();let g=!1;if(m.kairosEnabled&&h&&(g=!0),g){let t=y(),r=N(e),i=Ke(),c=e=>A({value:e,mode:`prompt`,priority:`later`,isMeta:!0,skipSlashCommands:!0,workload:i}),l=async()=>{if(!o?.runId)return;let e=await xe({runId:o.runId,rootDir:o.rootDir,priority:`later`,workload:i});for(let t of e)x(t)},d=async e=>{o?.runId&&await C({runId:o.runId,rootDir:o.rootDir,error:e instanceof Error?e.message:String(e)})};return(async()=>{let i=Date.now()+$;for(;Date.now()<i&&n.getAppState().mcp.clients.some(e=>e.type===`pending`);)await qe(Q);let o=n.options.refreshTools?.()??n.options.tools,d=[];for await(let r of P({agentDefinition:f,promptMessages:p,toolUseContext:{...n,getAppState:u,abortController:t},canUseTool:a,isAsync:!0,querySource:`agent:custom`,model:e.model,availableTools:o,override:{agentId:s}}))d.push(r);let m=z(d,`Command completed`);H(`Background forked command /${r} completed (agent ${s})`),c(`<scheduled-task-result command="/${r}">\n${m}\n</scheduled-task-result>`);try{await l()}catch(e){W(e)}})().catch(async e=>{W(e),c(`<scheduled-task-result command="/${r}" status="failed">\n${e instanceof Error?e.message:String(e)}\n</scheduled-task-result>`),await d(e)}),{messages:[],shouldQuery:!1,command:e,deferAutonomyCompletion:!!o?.runId}}let _=[],v=[],S=`forked-command-${e.name}`,T=0,D=e=>(T++,{type:`progress`,data:{message:e,type:`agent_progress`,prompt:l,agentId:s},parentToolUseID:S,toolUseID:`${S}-${T}`,timestamp:new Date().toISOString(),uuid:q()}),O=()=>{i({jsx:Me(v,{tools:n.options.tools,verbose:!1}),shouldHidePromptInput:!1,shouldContinueAnimation:!0,showSpinner:!0})};O();try{for await(let t of P({agentDefinition:f,promptMessages:p,toolUseContext:{...n,getAppState:u},canUseTool:a,isAsync:!1,querySource:`agent:custom`,model:e.model,availableTools:n.options.tools})){_.push(t);let e=me([t]);if(t.type===`assistant`){let r=Te(t);r>0&&n.setResponseLength(e=>e+r);let i=e[0];i&&i.type===`assistant`&&(v.push(D(t)),O())}if(t.type===`user`){let t=e[0];t&&t.type===`user`&&(v.push(D(t)),O())}}}finally{i(null)}let k=z(_,`Command completed`);return H(`Forked slash command /${e.name} completed with agent ${s}`),process.env.USER_TYPE===`ant`&&(k=`[ANT-ONLY] API calls: ${Be(F(s))}\n${k}`),{messages:[b({content:R({inputString:`/${N(e)} ${t}`.trim(),precedingInputBlocks:r})}),b({content:`<local-command-stdout>\n${k}\n</local-command-stdout>`})],shouldQuery:!1,command:e,resultText:k}}function at(e){return!/[^a-zA-Z0-9:\-_]/.test(e)}async function ot(e,t,r,i,a,o,s,c,l,u){let d=et(e);if(!d){K(`tengu_input_slash_missing`,{});let e="Commands are in the form `/command [args]`";return{messages:[T(),...i,b({content:R({inputString:e,precedingInputBlocks:t})})],shouldQuery:!1,resultText:e}}let{commandName:f,args:p,isMcp:m}=d,h=m?`mcp`:S().has(f)?f:`custom`;if(!v(f,a.options.commands)){let r=!1;try{await Pe().stat(`/${f}`),r=!0}catch{}if(at(f)&&!r){K(`tengu_input_slash_invalid`,{input:f});let e=`Unknown skill: ${f}`;return{messages:[T(),...i,b({content:R({inputString:e,precedingInputBlocks:t})}),...p?[D(`Args from unknown skill: ${p}`,`warning`)]:[]],shouldQuery:!1,resultText:e}}let a=q();return n(a),K(`tengu_input_prompt`,{}),Ze(`user_prompt`,{prompt_length:String(e.length),prompt:Xe(e),"prompt.id":a}),{messages:[b({content:R({inputString:e,precedingInputBlocks:t}),uuid:s}),...i],shouldQuery:!0}}let{messages:g,shouldQuery:_,allowedTools:y,model:x,command:C,resultText:E,nextInput:O,submitNextInput:k,deferAutonomyCompletion:A}=await st(f,p,o,a,t,r,c,l,s,u);if(g.length===0){let e={input:h};if(C.type===`prompt`&&C.pluginInfo){let{pluginManifest:t,repository:n}=C.pluginInfo,{marketplace:r}=L(n),i=I(r);e._PROTO_plugin_name=t.name,r&&(e._PROTO_marketplace_name=r),e.plugin_repository=i?n:`third-party`,e.plugin_name=i?t.name:`third-party`,i&&t.version&&(e.plugin_version=t.version),Object.assign(e,w(C.pluginInfo))}return K(`tengu_input_command`,{...e,invocation_trigger:`user-slash`,...process.env.USER_TYPE===`ant`&&{skill_name:f,...C.type===`prompt`&&{skill_source:C.source},...C.loadedFrom&&{skill_loaded_from:C.loadedFrom},...C.kind&&{skill_kind:C.kind}}}),{messages:[],shouldQuery:!1,model:x,nextInput:O,submitNextInput:k,deferAutonomyCompletion:A}}if(g.length===2&&g[1].type===`user`&&typeof g[1].message.content==`string`&&g[1].message.content.startsWith(`Unknown command:`))return e.startsWith(`/var`)||e.startsWith(`/tmp`)||e.startsWith(`/private`)||K(`tengu_input_slash_invalid`,{input:f}),{messages:[T(),...g],shouldQuery:_,allowedTools:y,model:x};let j={input:h};if(C.type===`prompt`&&C.pluginInfo){let{pluginManifest:e,repository:t}=C.pluginInfo,{marketplace:n}=L(t),r=I(n);j._PROTO_plugin_name=e.name,n&&(j._PROTO_marketplace_name=n),j.plugin_repository=r?t:`third-party`,j.plugin_name=r?e.name:`third-party`,r&&e.version&&(j.plugin_version=e.version),Object.assign(j,w(C.pluginInfo))}K(`tengu_input_command`,{...j,invocation_trigger:`user-slash`,...process.env.USER_TYPE===`ant`&&{skill_name:f,...C.type===`prompt`&&{skill_source:C.source},...C.loadedFrom&&{skill_loaded_from:C.loadedFrom},...C.kind&&{skill_kind:C.kind}}});let M=g.length>0&&g[0]&&ke(g[0]);return{messages:_||g.every(de)||M?g:[T(),...g],shouldQuery:_,allowedTools:y,model:x,resultText:E,nextInput:O,submitNextInput:k,deferAutonomyCompletion:A}}async function st(e,t,n,r,i,a,s,c,l,u){let d=M(e,r.options.commands);if(d.type===`prompt`&&d.userInvocable!==!1&&Se(e),d.userInvocable===!1)return{messages:[b({content:R({inputString:`/${e}`,precedingInputBlocks:i})}),b({content:`This skill can only be invoked by Claude, not directly by users. Ask Claude to use the "${e}" skill for you.`})],shouldQuery:!1,command:d};try{switch(d.type){case`local-jsx`:return new Promise(e=>{let a=!1,s=(n,r)=>{if(a=!0,r?.display===`skip`){e({messages:[],shouldQuery:!1,command:d,nextInput:r?.nextInput,submitNextInput:r?.submitNextInput});return}let s=(r?.metaMessages??[]).map(e=>b({content:e,isMeta:!0})),c=ge()&&typeof n==`string`&&n.endsWith(` dismissed`),l=r?.displayArgs??t;e({messages:r?.display===`system`?c?s:[o(Y(d,l)),o(`<local-command-stdout>${n}</local-command-stdout>`),...s]:[b({content:R({inputString:Y(d,l),precedingInputBlocks:i})}),b(n?{content:`<local-command-stdout>${n}</local-command-stdout>`}:{content:`<local-command-stdout>${je}</local-command-stdout>`}),...s],shouldQuery:r?.shouldQuery??!1,command:d,nextInput:r?.nextInput,submitNextInput:r?.submitNextInput})};d.load().then(e=>e.call(s,{...r,canUseTool:c},t)).then(t=>{if(t!=null){if(r.options.isNonInteractiveSession){e({messages:[],shouldQuery:!1,command:d});return}a||n({jsx:t,shouldHidePromptInput:!0,showSpinner:!1,isLocalJSXCommand:!0,isImmediate:d.immediate===!0})}}).catch(t=>{W(t),!a&&(a=!0,n({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),e({messages:[],shouldQuery:!1,command:d}))})});case`local`:{let e=b({content:R({inputString:Y(d,d.isSensitive&&t.trim()?`***`:t),precedingInputBlocks:i})});try{let n=T(),i=await(await d.load()).call(t,r);if(i.type===`skip`)return{messages:[],shouldQuery:!1,command:d};if(i.type===`compact`){let t=[n,e,...i.displayText?[b({content:`<local-command-stdout>${i.displayText}</local-command-stdout>`,timestamp:new Date(Date.now()+100).toISOString()})]:[]],r={...i.compactionResult,messagesToKeep:[...i.compactionResult.messagesToKeep??[],...t]};return g(),{messages:he(r),shouldQuery:!1,command:d}}return{messages:[e,o(`<local-command-stdout>${i.value}</local-command-stdout>`)],shouldQuery:!1,command:d,resultText:i.value}}catch(t){return W(t),{messages:[e,o(`<local-command-stderr>${String(t)}</local-command-stderr>`)],shouldQuery:!1,command:d}}}case`prompt`:try{return d.context===`fork`?await it(d,t,r,i,n,c??ie,u):await Z(d,t,r,i,a,l)}catch(e){return e instanceof Ne?{messages:[b({content:R({inputString:Y(d,t),precedingInputBlocks:i})}),_({toolUse:!1})],shouldQuery:!1,command:d}:{messages:[b({content:R({inputString:Y(d,t),precedingInputBlocks:i})}),b({content:`<local-command-stderr>${String(e)}</local-command-stderr>`})],shouldQuery:!1,command:d}}}}catch(e){if(e instanceof B)return{messages:[b({content:R({inputString:e.message,precedingInputBlocks:i})})],shouldQuery:!1,command:d};throw e}}function Y(e,t){return te(N(e),t)}function X(e,t=`loading`){return[`<${G}>${e}</${G}>`,`<${U}>${e}</${U}>`,`<skill-format>true</skill-format>`].join(`
|
|
2
|
+
`)}function ct(e,t){return[`<${G}>${e}</${G}>`,`<${U}>/${e}</${U}>`,t?`<command-args>${t}</command-args>`:null].filter(Boolean).join(`
|
|
3
|
+
`)}function lt(e,t){return e.userInvocable===!1&&(e.loadedFrom===`skills`||e.loadedFrom===`plugin`||e.loadedFrom===`mcp`)?X(e.name,e.progressMessage):ct(e.name,t)}async function ut(e,t,n,r,i=[]){let a=ne(e,n);if(!a)throw new B(`Unknown command: ${e}`);if(a.type!==`prompt`)throw Error(`Unexpected ${a.type} command. Expected 'prompt' command. Use /${e} directly in the main conversation.`);return Z(a,t,r,[],i)}async function Z(e,t,n,a=[],o=[],s){let l=await e.getPromptForCommand(t,n),u=!ce(`hooks`)||O(e.source);if(e.hooks&&u){let t=r();$e(n.setAppState,t,e.hooks,e.name,e.type===`prompt`?e.skillRoot:void 0)}let d=e.source?`${e.source}:${e.name}`:e.name,f=l.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
4
|
+
|
|
5
|
+
`);i(e.name,d,f,Ye()?.agentId??null);let p=lt(e,t),m=Ce(e.allowedTools??[]),h=o.length>0||a.length>0?[...o,...a,...l]:l,g=await be(re(l.filter(e=>e.type===`text`).map(e=>e.text).join(` `),n,null,[],n.messages,`repl_main_thread`,{skipSkillDiscovery:!0}));return{messages:[b({content:p,uuid:s}),b({content:h,isMeta:!0}),...g,c({type:`command_permissions`,allowedTools:m,model:e.model})],shouldQuery:!0,allowedTools:m,model:e.model,command:e}}var Q,$;e((()=>{t(),se(),fe(),Ve(),Ue(),ve(),Ee(),l(),a(),j(),k(),Je(),ee(),V(),Ie(),Le(),f(),Fe(),Ae(),Oe(),J(),He(),ae(),_e(),u(),h(),pe(),oe(),tt(),We(),s(),Qe(),m(),le(),we(),p(),Ge(),Q=200,$=1e4}))();export{X as formatSkillLoadingMetadata,ut as processPromptSlashCommand,ot as processSlashCommand};
|