claude-code-best 2.8.1 → 2.8.2
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-CNyPaerF.js → AddWorkspaceDirectory-BCCbaWoh.js} +1 -1
- package/dist/chunks/{App-hiKxO6UA.js → App-BIAYUFvT.js} +1 -1
- package/dist/chunks/{ApproveApiKey-Cd43j9Wa.js → ApproveApiKey-DRARgWX3.js} +1 -1
- package/dist/chunks/ApproveApiKey-Do-Qth0X.js +1 -0
- package/dist/chunks/{AssistantSessionChooser-C8OxwSGM.js → AssistantSessionChooser-eUrEGDlX.js} +1 -1
- package/dist/chunks/{BackgroundTasksDialog-VKhuyQLe.js → BackgroundTasksDialog-DSeAqhMC.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog-Ddjzluka.js → BypassPermissionsModeDialog-8z7R5EpU.js} +1 -1
- package/dist/chunks/{ClaudeInChromeOnboarding-BhvrEJlm.js → ClaudeInChromeOnboarding-B7mDm5Hb.js} +1 -1
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-DoNd72PS.js → ClaudeMdExternalIncludesDialog-DE9dpWtg.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-DTZS-dek.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-UcQCmIWd.js +1 -0
- package/dist/chunks/{DesktopHandoff-DVUOZjb0.js → DesktopHandoff-Ce0nE7D6.js} +1 -1
- package/dist/chunks/{DevChannelsDialog-DJbRHAIy.js → DevChannelsDialog-mt0lA5wR.js} +1 -1
- package/dist/chunks/{DiffDialog-D0RK4t-9.js → DiffDialog-BfSnz8L-.js} +1 -1
- package/dist/chunks/{Doctor-0Nv3L1Oy.js → Doctor-BOVjkAKn.js} +1 -1
- package/dist/chunks/Doctor-osWC5WVY.js +1 -0
- package/dist/chunks/{ExitFlow-BPbtGcEg.js → ExitFlow-C3BGvwv-.js} +1 -1
- package/dist/chunks/{Feedback-BSagYjmf.js → Feedback-BtZb1A8b.js} +1 -1
- package/dist/chunks/Grove-DyC_Wrfx.js +1 -0
- package/dist/chunks/{Grove-BrP9JNpK.js → Grove-HpMLktXp.js} +1 -1
- package/dist/chunks/{HybridTransport-DLaxmXCR.js → HybridTransport-COk7jAC7.js} +1 -1
- package/dist/chunks/{ITermBackend-tXN55G2D.js → ITermBackend-BlwyeN8U.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-BzFQdfwu.js → InvalidConfigDialog-QVIRDXwA.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-KFg61s41.js → InvalidSettingsDialog-CZRZm0oa.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-N-oJu3qn.js → MCPConnectionManager-2Fulnp8q.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-DsHSSgsx.js → McpParsingWarnings-DWMO0bV6.js} +1 -1
- package/dist/chunks/{MessageSelector-D10JMnsc.js → MessageSelector-B4jJQ-KQ.js} +1 -1
- package/dist/chunks/{Messages-CQdQJ2AA.js → Messages-ltcn1Qkf.js} +2 -2
- package/dist/chunks/{Onboarding-DBJX6Cnf.js → Onboarding-CHcND5Tt.js} +1 -1
- package/dist/chunks/{OverageCreditUpsell-B4beCEX2.js → OverageCreditUpsell-CMBqZrnz.js} +1 -1
- package/dist/chunks/{PluginSettings-BBrFCSpQ.js → PluginSettings-DIS_qrVA.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-Bjjr3tYl.js → PromptInputHelpMenu-CAwbW7z2.js} +1 -1
- package/dist/chunks/{QueryEngine-BSk8-8vB.js → QueryEngine-BQs519Rb.js} +1 -1
- package/dist/chunks/REPL-DJh_wVWI.js +1 -0
- package/dist/chunks/{REPL-CXcCBQuz.js → REPL-Dx3SPe95.js} +6 -6
- package/dist/chunks/{RemoteCallout-CuxqarhC.js → RemoteCallout-CwI1mLQ9.js} +1 -1
- package/dist/chunks/{RemoteSessionManager-BhPF41Wn.js → RemoteSessionManager-BXMBhfQD.js} +1 -1
- package/dist/chunks/{ResumeConversation-hmIOkZ2U.js → ResumeConversation-BK7L_YBI.js} +1 -1
- package/dist/chunks/{SSETransport-8yaTbdSK.js → SSETransport-Co-0nMlR.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-DVi-ggud.js +1 -0
- package/dist/chunks/SentryErrorBoundary-DLML64E_.js +1 -0
- package/dist/chunks/{SentryErrorBoundary-ydwbrVTx.js → SentryErrorBoundary-kEgE7qeH.js} +1 -1
- package/dist/chunks/{Settings-BSbzT25q.js → Settings-DOve7mW1.js} +2 -2
- package/dist/chunks/{TeleportProgress-CNcl_DxR.js → TeleportProgress--n-u7MYY.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-DJc8_mjE.js → TeleportRepoMismatchDialog-CzQzdYb2.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-Cw438s-J.js → TeleportResumeWrapper-CtANoO1Z.js} +1 -1
- package/dist/chunks/{ThemePicker-8X6yAwuQ.js → ThemePicker-kBt6obJb.js} +1 -1
- package/dist/chunks/{TmuxBackend-CqAnVFoI.js → TmuxBackend-Q5xdOkW4.js} +1 -1
- package/dist/chunks/{TrustDialog-Ch1FJzxi.js → TrustDialog-CoCFqyRD.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-sgfvJPWZ.js → ValidationErrorsList-CL42YlaS.js} +1 -1
- package/dist/chunks/{WelcomeV2-Bu8l3w90.js → WelcomeV2-B0d9sH1c.js} +1 -1
- package/dist/chunks/{WindowsTerminalBackend-Bvq7nHOp.js → WindowsTerminalBackend-CLSeqqHh.js} +1 -1
- package/dist/chunks/{add-dir-DqrRNnxe.js → add-dir-IrADCHV-.js} +1 -1
- package/dist/chunks/{agentDisplay-DcxzWi1v.js → agentDisplay-BUXpQhYh.js} +1 -1
- package/dist/chunks/{agents-QqLm1wcM.js → agents-BqQtaTaM.js} +1 -1
- package/dist/chunks/{agents-Do1ynqiW.js → agents-Cx0f6suK.js} +1 -1
- package/dist/chunks/{ant-D5gD6O-r.js → ant-BUkS8Em4.js} +1 -1
- package/dist/chunks/api-CoBZPEi-.js +1 -0
- package/dist/chunks/{api-hcsOinLV.js → api-Cy1N7XAQ.js} +1 -1
- package/dist/chunks/assistant-B2_c5C4T.js +1 -0
- package/dist/chunks/{assistant-DkECAILU.js → assistant-BGzd9a5x.js} +1 -1
- package/dist/chunks/{assistant-CemNvrYr.js → assistant-C3dP-BSJ.js} +1 -1
- package/dist/chunks/auth-CRVuUNwf.js +1 -0
- package/dist/chunks/{auth-Dm8aWPRh.js → auth-DVtMm7Hj.js} +1 -1
- package/dist/chunks/{autoMode-dygqoN_C.js → autoMode-ThlM20qr.js} +1 -1
- package/dist/chunks/{autonomy-BdxnxJnk.js → autonomy-B637YdCF.js} +1 -1
- package/dist/chunks/{autonomy-DPeEmb00.js → autonomy-B_vxYZbV.js} +1 -1
- package/dist/chunks/{autonomyPanel-Bocl2taZ.js → autonomyPanel-BM2VhTsn.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-BWAfdRVf.js +1 -0
- package/dist/chunks/{backgroundHousekeeping-zf-tDimg.js → backgroundHousekeeping-Cll7XHG1.js} +2 -2
- package/dist/chunks/{branch-DwdVgun5.js → branch-BlH5WYNu.js} +1 -1
- package/dist/chunks/{bridge-DkkMogD_.js → bridge-QRFJRzVG.js} +2 -2
- package/dist/chunks/{bridgeConfig-l6Ldi_hk.js → bridgeConfig-Di9LziJ3.js} +1 -1
- package/dist/chunks/bridgeConfig-pVTHa_ED.js +1 -0
- package/dist/chunks/bridgeEnabled-c_BeJX3S.js +1 -0
- package/dist/chunks/{bridgeEnabled-DYclTb9d.js → bridgeEnabled-z1fPRzzV.js} +1 -1
- package/dist/chunks/bridgeMain-CHk_DCxy.js +1 -0
- package/dist/chunks/{bridgeMain-Ct5oDosG.js → bridgeMain-DVoobI7G.js} +6 -6
- package/dist/chunks/{bridgeMessaging-CYe1Cixl.js → bridgeMessaging-BG8fNZac.js} +1 -1
- package/dist/chunks/{btw-CyOlY5R-.js → btw-DpeWZQbf.js} +1 -1
- package/dist/chunks/{buddy-q-utA1_5.js → buddy-Bni2g0Km.js} +1 -1
- package/dist/chunks/{bypassPermissionsKillswitch-CTrRxzdz.js → bypassPermissionsKillswitch-7e56Rquc.js} +1 -1
- package/dist/chunks/caches-3byHT6VF.js +1 -0
- package/dist/chunks/{caches-Bz4yVQyE.js → caches-CzEBsMvP.js} +2 -2
- package/dist/chunks/{ccrClient-DXiEw9xU.js → ccrClient-iR6zwGb1.js} +1 -1
- package/dist/chunks/changeDetector-Cg75mKOu.js +1 -0
- package/dist/chunks/channelNotification-BSmZprUZ.js +1 -0
- package/dist/chunks/{channelNotification-CLPdvxGZ.js → channelNotification-CSmLgwtO.js} +1 -1
- package/dist/chunks/{chrome-DxbhLWDW.js → chrome-BO1vbvZ0.js} +1 -1
- package/dist/chunks/clear-CTOCrXv_.js +1 -0
- package/dist/chunks/client-BgdjJNnC.js +1 -0
- package/dist/chunks/{color-DiLtK8_L.js → color-BP4FmcMn.js} +1 -1
- package/dist/chunks/commands-CkfOhzGE.js +1 -0
- package/dist/chunks/commitAttribution-DKvggTZx.js +1 -0
- package/dist/chunks/{commitAttribution-CJXF8wMs.js → commitAttribution-Djh1ZpYH.js} +1 -1
- package/dist/chunks/{compact-C6xm1N5a.js → compact-BtAvCkY0.js} +1 -1
- package/dist/chunks/{companion-rXSt0nmz.js → companion-C-jfFhlz.js} +1 -1
- package/dist/chunks/{config-CzC08IjE.js → config-CloXpblh.js} +1 -1
- package/dist/chunks/{config-BE3jrcr-.js → config-DwsIX0hc.js} +1 -1
- package/dist/chunks/{context-BHE99SMA.js → context-DdwMoH4j.js} +1 -1
- package/dist/chunks/{context-noninteractive-BZQIUH_y.js → context-noninteractive-BWbEqad6.js} +1 -1
- package/dist/chunks/context-noninteractive-DNOyQYnM.js +1 -0
- package/dist/chunks/{conversation-CBPRFDod.js → conversation-DR4MFYYi.js} +1 -1
- package/dist/chunks/conversation-DVhyJA1O.js +1 -0
- package/dist/chunks/{copy-TgphIVzy.js → copy-tl-41wwU.js} +1 -1
- package/dist/chunks/{createSSHSession-CSKEZ4ic.js → createSSHSession-B_IyqOll.js} +1 -1
- package/dist/chunks/createSession-CIM50iEU.js +1 -0
- package/dist/chunks/{createSession-Ce218tQj.js → createSession-Csaqw8kb.js} +1 -1
- package/dist/chunks/{cronJitterConfig-CnKed5Gi.js → cronJitterConfig-2sHTXBLu.js} +1 -1
- package/dist/chunks/{crossProjectResume-BFlsTYOq.js → crossProjectResume-C1I0X__e.js} +1 -1
- package/dist/chunks/{datadog-D5jSRybW.js → datadog-BzkFYNcv.js} +1 -1
- package/dist/chunks/datadog-vQKKqB6Z.js +1 -0
- package/dist/chunks/{desktop-cjA0tGOa.js → desktop-oTXppB2O.js} +1 -1
- package/dist/chunks/{diff-DMd61IjE.js → diff-B23DUoT8.js} +1 -1
- package/dist/chunks/{doctor-ueUYyjyL.js → doctor-o2MJvjAE.js} +1 -1
- package/dist/chunks/{effort-B9IvAstG.js → effort-B1X_S_oa.js} +1 -1
- package/dist/chunks/{entry-Bq_KRMWs.js → entry-BAXMpXJ0.js} +5 -5
- package/dist/chunks/envLessBridgeConfig-Dj0umjOo.js +1 -0
- package/dist/chunks/{envLessBridgeConfig-CpjlwmvF.js → envLessBridgeConfig-YNTOVEqU.js} +1 -1
- package/dist/chunks/{exit-DtjFIrvJ.js → exit-CwGJifQF.js} +1 -1
- package/dist/chunks/{export-CP638-TO.js → export-CqbYdFmJ.js} +1 -1
- package/dist/chunks/{exportRenderer-B5emJDvn.js → exportRenderer-DP_z8YD1.js} +1 -1
- package/dist/chunks/extra-usage-1FUBiJOE.js +1 -0
- package/dist/chunks/{extra-usage-DIm8nrKj.js → extra-usage-BQ5Z1wJb.js} +1 -1
- package/dist/chunks/{extra-usage-core-DERKSEe1.js → extra-usage-core-B1oJoxYa.js} +1 -1
- package/dist/chunks/{extra-usage-noninteractive-Dq5dog_-.js → extra-usage-noninteractive-BV_6cpdd.js} +1 -1
- package/dist/chunks/{extraUsage-BMvDY0Sk.js → extraUsage-Ca_6qcke.js} +1 -1
- package/dist/chunks/extractMemories-B-yrLjpP.js +1 -0
- package/dist/chunks/{fast-BP2t1xDM.js → fast-BJMGfO_S.js} +1 -1
- package/dist/chunks/fast-CFtN26up.js +1 -0
- package/dist/chunks/{feedback-C-mR6zJr.js → feedback-O0Gushxg.js} +1 -1
- package/dist/chunks/{firstPartyEventLogger-sMmHdYjg.js → firstPartyEventLogger-0s2WJ6SR.js} +1 -1
- package/dist/chunks/{flushGate-C18XwNsa.js → flushGate-CLjpgnG6.js} +1 -1
- package/dist/chunks/gates-4fq2Ws2D.js +1 -0
- package/dist/chunks/{gates-Be5r2kKS.js → gates-C5y8P5t9.js} +1 -1
- package/dist/chunks/{gemini-BberPcp1.js → gemini-D6lfJRGH.js} +1 -1
- package/dist/chunks/{generateRecap-B76UcVUS.js → generateRecap-AYujRzfu.js} +1 -1
- package/dist/chunks/{generateSessionName-BwtXd8TC.js → generateSessionName-CXg1uVLN.js} +1 -1
- package/dist/chunks/{githubRepoPathMapping-5IlVgR2l.js → githubRepoPathMapping-CdjkMIX3.js} +1 -1
- package/dist/chunks/{goal-DQ0jNcLO.js → goal-BGr-SlcA.js} +1 -1
- package/dist/chunks/{grok-Dh_thT2_.js → grok-DxyRt4Jq.js} +1 -1
- package/dist/chunks/{growthbook-4ADV3CAt.js → growthbook-D93ZmHUL.js} +1 -1
- package/dist/chunks/{heapdump-Dwqmh4SX.js → heapdump-DZz5qnZg.js} +1 -1
- package/dist/chunks/{help-Bznaywoi.js → help-C8HhaC70.js} +1 -1
- package/dist/chunks/hooks-CmW7bdtz.js +1 -0
- package/dist/chunks/{hooks-F-82cg6M.js → hooks-De2yBPig.js} +1 -1
- package/dist/chunks/{hostAdapter-DpfLr3hX.js → hostAdapter-CZdJUeS1.js} +1 -1
- package/dist/chunks/{ide-BfAKWufQ.js → ide-GnSLasRI.js} +1 -1
- package/dist/chunks/{inboundAttachments-CFV_eqMu.js → inboundAttachments-C8y3D5mp.js} +1 -1
- package/dist/chunks/inboundAttachments-DZiITyN8.js +1 -0
- package/dist/chunks/{initReplBridge-DV9KhSic.js → initReplBridge-YGXqLbNZ.js} +1 -1
- package/dist/chunks/{insights-BNsCwNYa.js → insights-23tyPxXV.js} +1 -1
- package/dist/chunks/{install-Bszzs98N.js → install-BXi4d63r.js} +1 -1
- package/dist/chunks/{install-github-app-DVxGR2rp.js → install-github-app-D2X7BgzJ.js} +1 -1
- package/dist/chunks/{install-slack-app-CjlRL19o.js → install-slack-app-_J1t0kSP.js} +1 -1
- package/dist/chunks/{instrumentation-BOYPOtyu.js → instrumentation-C9WDRy-K.js} +3 -3
- package/dist/chunks/{job-BvD5_lGz.js → job-DXX7dNN_.js} +1 -1
- package/dist/chunks/{keybindings-RPmPPGhp.js → keybindings-CChhkkE0.js} +1 -1
- package/dist/chunks/{lang-9VNaOJMz.js → lang-COIVItM_.js} +1 -1
- package/dist/chunks/language-CiMwEWO-.js +1 -0
- package/dist/chunks/{language-Ct5Nkqm6.js → language-DzWvcLCu.js} +1 -1
- package/dist/chunks/{launchAgentsPlatform-CnoxFIXV.js → launchAgentsPlatform-Du_WvKeU.js} +1 -1
- package/dist/chunks/{launchAutofixPr-ChaDUtvx.js → launchAutofixPr-CypNniKH.js} +1 -1
- package/dist/chunks/{launchLocalMemory-MwZfEJxz.js → launchLocalMemory-GkqB_Gcr.js} +1 -1
- package/dist/chunks/{launchLocalVault-B6Ib5WXx.js → launchLocalVault-CBihJDzq.js} +1 -1
- package/dist/chunks/{launchMemoryStores-D6xyGwQ1.js → launchMemoryStores-BkK0wwq0.js} +1 -1
- package/dist/chunks/{launchOnboarding-BtdAOO3p.js → launchOnboarding-BubTG5vY.js} +1 -1
- package/dist/chunks/{launchSchedule-XVljzNKg.js → launchSchedule-CkV6Ai-0.js} +1 -1
- package/dist/chunks/{launchSkillStore-QT8Qcc5N.js → launchSkillStore-DIrFg_WZ.js} +1 -1
- package/dist/chunks/{launchTeleport-DwxPesKQ.js → launchTeleport-DFrgN9sU.js} +1 -1
- package/dist/chunks/{launchVault-Dbti6pph.js → launchVault-CIiNsg91.js} +1 -1
- package/dist/chunks/loadAgentsDir-CjhNkoq0.js +1 -0
- package/dist/chunks/{loadAgentsDir-BYWykYwn.js → loadAgentsDir-DC4jN6-f.js} +53 -53
- package/dist/chunks/{loadPluginHooks-2U3UO__Q.js → loadPluginHooks-DukITDP2.js} +1 -1
- package/dist/chunks/{localSearch-eWjZxMc8.js → localSearch-But4wyLg.js} +1 -1
- package/dist/chunks/localSearch-D8FFon8N.js +1 -0
- package/dist/chunks/login-B3TV33p4.js +1 -0
- package/dist/chunks/{login-D1aQCqp0.js → login-ajsn1Sg7.js} +1 -1
- package/dist/chunks/{logoV2Utils-CPNvLtol.js → logoV2Utils-CpeUvaOM.js} +1 -1
- package/dist/chunks/logout-BqbTEPv9.js +1 -0
- package/dist/chunks/{magicDocs-DAvjAbAJ.js → magicDocs-TF6U6QoB.js} +1 -1
- package/dist/chunks/{main-BKlQiSuc.js → main-bjQRqaUr.js} +15 -15
- package/dist/chunks/mappers-Bg-xtimK.js +1 -0
- package/dist/chunks/{mcp-Cmw8ecKk.js → mcp-DtHGTZUo.js} +1 -1
- package/dist/chunks/{mcp-C3jlClk0.js → mcp-Vj0ijoSq.js} +2 -2
- package/dist/chunks/{mcp-ya96irNP.js → mcp-i8lqdWTr.js} +1 -1
- package/dist/chunks/{mcpServer-B1q9blAc.js → mcpServer-CuqaXxiJ.js} +1 -1
- package/dist/chunks/{mcpServer-BJB5g6j2.js → mcpServer-Dr9UfcEd.js} +1 -1
- package/dist/chunks/{memory-CxiukAGg.js → memory-DVJxsbcO.js} +1 -1
- package/dist/chunks/{mode-DqAJ2y6R.js → mode-C9yWWppB.js} +1 -1
- package/dist/chunks/model-BYSyXf9-.js +1 -0
- package/dist/chunks/{model-C8TW-qjl.js → model-Dq-13vaB.js} +1 -1
- package/dist/chunks/{onChangeAppState-BG1pF7ht.js → onChangeAppState-Cc4zOnqx.js} +1 -1
- package/dist/chunks/{openai-CHoRhRtf.js → openai-DMCGGZts.js} +1 -1
- package/dist/chunks/{overageCreditGrant-DYMg1lV4.js → overageCreditGrant-CzkWDmsQ.js} +1 -1
- package/dist/chunks/{panelCall-SYrmrKt9.js → panelCall-D36EWzwF.js} +1 -1
- package/dist/chunks/{passes-CSV-SZJc.js → passes-CPAwB9_F.js} +1 -1
- package/dist/chunks/{paths-BZjPDxMm.js → paths-CEAy4QCs.js} +2 -2
- package/dist/chunks/{permissions-DBddT2NP.js → permissions-B39hfy0O.js} +1 -1
- package/dist/chunks/{pipeTransport-uK7GxbSG.js → pipeTransport-7auNUakO.js} +1 -1
- package/dist/chunks/{plan-DEbo-Adi.js → plan-pCEs76NM.js} +1 -1
- package/dist/chunks/{plugin-Cops24hg.js → plugin-BSC-7wQh.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-Bg7JMOHN.js → pluginAutoupdate-Cre72Rtf.js} +1 -1
- package/dist/chunks/{pluginBlocklist-DEM_RWc2.js → pluginBlocklist-D2Cj4TR2.js} +1 -1
- package/dist/chunks/{pluginCliCommands-DyYEg7Cv.js → pluginCliCommands-CTxmCPph.js} +1 -1
- package/dist/chunks/{pluginFlagging-DwChUZMJ.js → pluginFlagging-C5EGcjZe.js} +1 -1
- package/dist/chunks/{pluginOperations-COyT4tHs.js → pluginOperations-DDI1CG0K.js} +1 -1
- package/dist/chunks/{pluginStartupCheck-DCxJJkYs.js → pluginStartupCheck-B3QqfRt6.js} +1 -1
- package/dist/chunks/pluginStartupCheck-DYC8CWxw.js +1 -0
- package/dist/chunks/{plugins-BanQjHmw.js → plugins-Bz7JxD43.js} +1 -1
- package/dist/chunks/policyLimits-C-oHygGe.js +1 -0
- package/dist/chunks/{pollConfig-DBNHhvHf.js → pollConfig-CyO4Ycwc.js} +1 -1
- package/dist/chunks/{poor-aPQce502.js → poor-eRoBwI0Z.js} +1 -1
- package/dist/chunks/{poorMode-CFRuV-nB.js → poorMode-BdNsLBQ-.js} +1 -1
- package/dist/chunks/poorMode-D2-4vRxb.js +1 -0
- package/dist/chunks/{print-Cf2tY__0.js → print-Ogibzjap.js} +4 -4
- package/dist/chunks/{privacy-settings-CYkM3Aem.js → privacy-settings-Dd7PtKbY.js} +1 -1
- package/dist/chunks/{processBashCommand-BLSC8o8M.js → processBashCommand-BjdUo_Na.js} +1 -1
- package/dist/chunks/{processSlashCommand-Ch9B-6nh.js → processSlashCommand-tetvMLMl.js} +1 -1
- package/dist/chunks/prompt-BHI7PZe4.js +227 -0
- package/dist/chunks/prompt-DZ1EAUlC.js +1 -0
- package/dist/chunks/prompt-DeRHlPn1.js +1 -0
- package/dist/chunks/{promptEditor-U03qQWbq.js → promptEditor-DoJ-xPi4.js} +1 -1
- package/dist/chunks/{protocolHandler-3yBj9w5N.js → protocolHandler-Dgzu5UWb.js} +1 -1
- package/dist/chunks/{rate-limit-options-D-xl_9PO.js → rate-limit-options-B6QH2-xn.js} +1 -1
- package/dist/chunks/{rcDebugLog-ClX1msJX.js → rcDebugLog-C0Bam8V9.js} +1 -1
- package/dist/chunks/{referral-qe-yqXJE.js → referral-B10JtHMk.js} +1 -1
- package/dist/chunks/{refresh-CO_P3WKA.js → refresh-DmEsCaJ0.js} +1 -1
- package/dist/chunks/{registerProtocol-CClQph00.js → registerProtocol-CQjmvg7a.js} +1 -1
- package/dist/chunks/{registry-C0zdU2Hb.js → registry-CLaXh4Gk.js} +1 -1
- package/dist/chunks/{release-notes-CyZHxWTF.js → release-notes-dxng0ob_.js} +1 -1
- package/dist/chunks/{releaseNotes-BtxL5R5Q.js → releaseNotes-CS5L5W0H.js} +2 -2
- package/dist/chunks/{reload-plugins-B0eR8JHH.js → reload-plugins-CgzAjBDp.js} +1 -1
- package/dist/chunks/{remote-env-B_sIjY87.js → remote-env-BasfU8Ra.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-C3WRaLpU.js → remoteBridgeCore-IJI5koHz.js} +1 -1
- package/dist/chunks/{remoteControlServer-BOj9qmgH.js → remoteControlServer-BBCt7ySV.js} +1 -1
- package/dist/chunks/{rename-BFAC3WLD.js → rename-eEdSZsJ2.js} +1 -1
- package/dist/chunks/{resume-CpivBr9S.js → resume-DjnfattK.js} +1 -1
- package/dist/chunks/{runtimeObserver-sOnfVR7t.js → runtimeObserver-ByTBtmBf.js} +2 -2
- package/dist/chunks/{runtimeObserver-C2_7Vsnd.js → runtimeObserver-COpkJmg-.js} +1 -1
- package/dist/chunks/sandbox-adapter-DagBhoTC.js +1 -0
- package/dist/chunks/{sandbox-toggle-Bv68-Ca7.js → sandbox-toggle-CQohaYND.js} +1 -1
- package/dist/chunks/searchExtraTools-kk-wV-cC.js +1 -0
- package/dist/chunks/{sentry-BBCn6RGP.js → sentry-C0bQlih_.js} +1 -1
- package/dist/chunks/{session-DfvxYP8o.js → session-Dx_ODOHl.js} +1 -1
- package/dist/chunks/{sessionDiscovery-CyuRBTAm.js → sessionDiscovery-DAqs0Ra6.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-C-Ic-0Ry.js +1 -0
- package/dist/chunks/sessionMemory-BMtFup-Y.js +1 -0
- package/dist/chunks/{sessionMemory-kYQnpcyG.js → sessionMemory-Bq3ECr1S.js} +1 -1
- package/dist/chunks/sessionMemoryUtils-BU7N_IQG.js +1 -0
- package/dist/chunks/sessionObserver-BwAfzGUg.js +1 -0
- package/dist/chunks/{sessionObserver-CTkIYplM.js → sessionObserver-rd6RRTzc.js} +1 -1
- package/dist/chunks/sessionStorage-X2u45U9z.js +1 -0
- package/dist/chunks/{sessionTitle-ePQRpeV2.js → sessionTitle-1k_2BhFL.js} +1 -1
- package/dist/chunks/{sessionTracing-81-RIJBo.js → sessionTracing-DNSDPYdR.js} +1 -1
- package/dist/chunks/{settingsSync-DEFWnE1o.js → settingsSync-3xG2A_wN.js} +1 -1
- package/dist/chunks/{setup-BJSk1czd.js → setup-C2V4elOv.js} +2 -2
- package/dist/chunks/{setup-2611vmGJ.js → setup-CY808VaY.js} +1 -1
- package/dist/chunks/{setup-CTfYsKsz.js → setup-Hlga8GJ_.js} +1 -1
- package/dist/chunks/{shadowedRuleDetection-CGD7Nx03.js → shadowedRuleDetection-BdBNo5eP.js} +1 -1
- package/dist/chunks/{sideQuestion-BcP9Mm-5.js → sideQuestion-DWOCUKMh.js} +1 -1
- package/dist/chunks/{sink-D_t1TIt9.js → sink-DCh0VJ4g.js} +1 -1
- package/dist/chunks/sink-nZmawD5W.js +1 -0
- package/dist/chunks/sinks-BTZnXPr_.js +1 -0
- package/dist/chunks/{sinks-DXsozhmS.js → sinks-_9T2oPB_.js} +2 -2
- package/dist/chunks/{skill-learning-CZm2iMik.js → skill-learning-CzZFGFZO.js} +1 -1
- package/dist/chunks/{skillChangeDetector-1aFn40GC.js → skillChangeDetector-345QNWDp.js} +1 -1
- package/dist/chunks/{skillGapStore-cWo6Ra90.js → skillGapStore-Bz_qbwI1.js} +2 -2
- package/dist/chunks/{skillGapStore-DzHv8v-D.js → skillGapStore-DJm3SULe.js} +1 -1
- package/dist/chunks/{skillGenerator-D_W1IeP3.js → skillGenerator-BcNv-VZ5.js} +2 -2
- package/dist/chunks/skillLearning-BJAfTX2G.js +1 -0
- package/dist/chunks/skillLearning-DPhuKS4j.js +1 -0
- package/dist/chunks/{skillPanel-ChmOZu4F.js → skillPanel-Q85P-Gg4.js} +3 -3
- package/dist/chunks/{skillSearchPanel-CVx2b4Pr.js → skillSearchPanel-CMCQDAcX.js} +2 -2
- package/dist/chunks/{skills-CWX1SydA.js → skills-D3eUg3HG.js} +1 -1
- package/dist/chunks/{sprites-BuvEFwW6.js → sprites-ChoMSqpa.js} +1 -1
- package/dist/chunks/{stats-wjMQA-CA.js → stats-DdhEa_6-.js} +1 -1
- package/dist/chunks/{status-CyU7IQhO.js → status-CX7Kgn21.js} +1 -1
- package/dist/chunks/{statusNoticeHelpers-JNibsI_v.js → statusNoticeHelpers-AibXOONm.js} +1 -1
- package/dist/chunks/{tag-opEEZI5B.js → tag-BJ_u3aJm.js} +1 -1
- package/dist/chunks/{tasks-CCtnU5u1.js → tasks-DeEWOchP.js} +1 -1
- package/dist/chunks/teamHelpers-CxoQp7OY.js +1 -0
- package/dist/chunks/{teamHelpers-BJJs8taN.js → teamHelpers-WmWa_h3B.js} +1 -1
- package/dist/chunks/{teammateModeSnapshot-CLiiOCkO.js → teammateModeSnapshot-DZ6ulELC.js} +1 -1
- package/dist/chunks/teammateModeSnapshot-KWxn1jxl.js +1 -0
- package/dist/chunks/{teleport-ClxQigSQ.js → teleport-CuDXJj_f.js} +1 -1
- package/dist/chunks/{templateJobs-C6D7GC-Q.js → templateJobs-nFBp68za.js} +1 -1
- package/dist/chunks/{terminalSetup-B3bN4Cj8.js → terminalSetup-BORjK3qH.js} +1 -1
- package/dist/chunks/{terminalSetup-2ioFcRAA.js → terminalSetup-DULcnnWe.js} +1 -1
- package/dist/chunks/{theme-Dgq_Og2P.js → theme-Bf2QD0ja.js} +1 -1
- package/dist/chunks/thinkback-C1nnGg5r.js +1 -0
- package/dist/chunks/{thinkback-C43WBHis.js → thinkback-DZEhr3Ii.js} +1 -1
- package/dist/chunks/{thinkback-play-D2_n_aoQ.js → thinkback-play-BtEBESXM.js} +1 -1
- package/dist/chunks/{toolEventObserver-BG_3sGCL.js → toolEventObserver-CNZy5TpN.js} +1 -1
- package/dist/chunks/{toolEventObserver-B7EA-nNa.js → toolEventObserver-DMdrez6V.js} +1 -1
- package/dist/chunks/toolPool-DDj2TbY6.js +1 -0
- package/dist/chunks/{toolPool-HYKCHxDA.js → toolPool-DHQyHmDY.js} +1 -1
- package/dist/chunks/{trustedDevice-DeNxe6bl.js → trustedDevice-DWb5CPB_.js} +1 -1
- package/dist/chunks/{trustedDevice-S34i6Jc9.js → trustedDevice-Dw2crViN.js} +1 -1
- package/dist/chunks/{ultrareviewCommand-C45bmZqN.js → ultrareviewCommand-BfN25zni.js} +1 -1
- package/dist/chunks/undercover-DSp7SB7e.js +1 -0
- package/dist/chunks/{undercover-DoUSM8d6.js → undercover-rcR56jZx.js} +1 -1
- package/dist/chunks/{updateCCB-BuAm25MX.js → updateCCB-DlTAqQJq.js} +1 -1
- package/dist/chunks/{upgrade-BDKg286g.js → upgrade-ClLcX7zy.js} +1 -1
- package/dist/chunks/upgrade-kf1QWUo7.js +1 -0
- package/dist/chunks/{upload-CMptZXZs.js → upload-BqEzK59v.js} +1 -1
- package/dist/chunks/{usage-Bw_LK9YI.js → usage-BgKDh8pQ.js} +1 -1
- package/dist/chunks/{usage-DEWsKPXj.js → usage-DW-akzSR.js} +1 -1
- package/dist/chunks/{useMainLoopModel-D0PmGDuy.js → useMainLoopModel-BTpZ8k3k.js} +1 -1
- package/dist/chunks/{useManagePlugins-B-ejJsXy.js → useManagePlugins-z0qezP5r.js} +1 -1
- package/dist/chunks/{useMergedTools-B6x9qtfj.js → useMergedTools-B78rAreW.js} +1 -1
- package/dist/chunks/{useSearchInput-BpMLsxaS.js → useSearchInput-CwxF3CHN.js} +1 -1
- package/dist/chunks/{useSettingsErrors-DUe4k_RK.js → useSettingsErrors-CjDaon07.js} +1 -1
- package/dist/chunks/{useVoice-C3ryR2HE.js → useVoice-X5WSnyed.js} +1 -1
- package/dist/chunks/{util-DWl5gjmI.js → util-CP-_gsEO.js} +1 -1
- package/dist/chunks/utils-CULcnflj.js +1 -0
- package/dist/chunks/{validatePlugin-8EMSASvV.js → validatePlugin-DUuaprqR.js} +1 -1
- package/dist/chunks/{vim-CaZ20SrQ.js → vim-BfmsdxOa.js} +1 -1
- package/dist/chunks/{voice-BrnKguEV.js → voice-B3GIfFlB.js} +1 -1
- package/dist/chunks/voiceModeEnabled-BrA5ZhH4.js +1 -0
- package/dist/chunks/{voiceModeEnabled-3eg8vSqy.js → voiceModeEnabled-C1Q9j5q6.js} +1 -1
- package/dist/chunks/{voiceStreamSTT-D7jWIYwz.js → voiceStreamSTT-BguyxdrW.js} +1 -1
- package/dist/chunks/voiceStreamSTT-Dmp7Vm1S.js +1 -0
- package/dist/chunks/{web-tools-BT3TbzG5.js → web-tools-qf_VwWRn.js} +1 -1
- package/dist/chunks/{workerRegistry-C_i5wwjL.js → workerRegistry-SbiLJIsG.js} +1 -1
- package/dist/chunks/worktree-Djga1wtm.js +1 -0
- package/dist/chunks/{xml-DOXio8vw.js → xml-D7-jJqSA.js} +1 -1
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/ApproveApiKey-DUoUTxFp.js +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-COO2W0ij.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-CPWq7O57.js +0 -1
- package/dist/chunks/Doctor-Ba9zhV0V.js +0 -1
- package/dist/chunks/Grove-DyvIToPa.js +0 -1
- package/dist/chunks/REPL-D-akKdFc.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-wDSdfnRo.js +0 -1
- package/dist/chunks/SentryErrorBoundary-Duyg6HeT.js +0 -1
- package/dist/chunks/api-VMfJpk1G.js +0 -1
- package/dist/chunks/assistant-D7D1sqTB.js +0 -1
- package/dist/chunks/auth-CGdLe3rq.js +0 -1
- package/dist/chunks/backgroundHousekeeping-4H6yTjsj.js +0 -1
- package/dist/chunks/bridgeConfig-CTJBoASk.js +0 -1
- package/dist/chunks/bridgeEnabled-SMuWz3Is.js +0 -1
- package/dist/chunks/bridgeMain-UqwOi37W.js +0 -1
- package/dist/chunks/caches-DKMoKTAZ.js +0 -1
- package/dist/chunks/changeDetector--KPj2maX.js +0 -1
- package/dist/chunks/channelNotification-fJgjqRMx.js +0 -1
- package/dist/chunks/clear-CYVCwiwu.js +0 -1
- package/dist/chunks/client-DvWRsIpi.js +0 -1
- package/dist/chunks/commands-BT2_ICaW.js +0 -1
- package/dist/chunks/commitAttribution-Bpbro1a4.js +0 -1
- package/dist/chunks/context-noninteractive-BQDOgVUW.js +0 -1
- package/dist/chunks/conversation-Bt6QdGd-.js +0 -1
- package/dist/chunks/createSession-BaHXBnfG.js +0 -1
- package/dist/chunks/datadog-DgYqUGa-.js +0 -1
- package/dist/chunks/envLessBridgeConfig-D_GCqhTu.js +0 -1
- package/dist/chunks/extra-usage-C4dUWLhg.js +0 -1
- package/dist/chunks/extractMemories-DS7XXeEo.js +0 -1
- package/dist/chunks/fast-D1xIHYaN.js +0 -1
- package/dist/chunks/gates-CUAwAhPL.js +0 -1
- package/dist/chunks/hooks-DynUngv2.js +0 -1
- package/dist/chunks/inboundAttachments-Cug-8Xdy.js +0 -1
- package/dist/chunks/language-CjFs6_la.js +0 -1
- package/dist/chunks/loadAgentsDir-tPgCg0WD.js +0 -1
- package/dist/chunks/localSearch-CxwxzM8W.js +0 -1
- package/dist/chunks/login-CVVFklZw.js +0 -1
- package/dist/chunks/logout-BYsszpXx.js +0 -1
- package/dist/chunks/mappers-BBkM1aA5.js +0 -1
- package/dist/chunks/model-VB4ItNVB.js +0 -1
- package/dist/chunks/pluginStartupCheck-DjfIaOch.js +0 -1
- package/dist/chunks/policyLimits-D-Y_soHx.js +0 -1
- package/dist/chunks/poorMode-DQagHYWe.js +0 -1
- package/dist/chunks/prompt-BGNhFY1n.js +0 -227
- package/dist/chunks/prompt-CrNwH5kr.js +0 -1
- package/dist/chunks/prompt-dH0MMivt.js +0 -1
- package/dist/chunks/sandbox-adapter-jX_WzvnK.js +0 -1
- package/dist/chunks/searchExtraTools-xPuOKDpi.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-DiKsr7H7.js +0 -1
- package/dist/chunks/sessionMemory-C34-eFnJ.js +0 -1
- package/dist/chunks/sessionMemoryUtils-CcJcgftx.js +0 -1
- package/dist/chunks/sessionObserver-B73s6yu8.js +0 -1
- package/dist/chunks/sessionStorage-BHi7PKs-.js +0 -1
- package/dist/chunks/sink-i8NmYch9.js +0 -1
- package/dist/chunks/sinks-3w0mLszx.js +0 -1
- package/dist/chunks/skillLearning-Bddmbx8E.js +0 -1
- package/dist/chunks/skillLearning-C-uI_jZB.js +0 -1
- package/dist/chunks/teamHelpers-D41zdxpl.js +0 -1
- package/dist/chunks/teammateModeSnapshot-q-bARbLL.js +0 -1
- package/dist/chunks/thinkback-BE8NNmAo.js +0 -1
- package/dist/chunks/toolPool-BLshLuvo.js +0 -1
- package/dist/chunks/undercover-B4sdXe12.js +0 -1
- package/dist/chunks/upgrade-BiWGhm2d.js +0 -1
- package/dist/chunks/utils-DP3EtI6F.js +0 -1
- package/dist/chunks/voiceModeEnabled-B1ARFTcz.js +0 -1
- package/dist/chunks/voiceStreamSTT-CONK4g-B.js +0 -1
- package/dist/chunks/worktree-CFNQKVGn.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./defineProperty-80gRi2ZW.js";import{Cn as i,Ln as a,Mn as o,Tt as s,Xn as c,Yn as l,kt as u,ln as d,un as f,vt as p,wn as m,wt as h}from"./schemas-BGAvj1T4.js";import{n as g,t as _}from"./v4-f1i_CNUT.js";import{Ct as v,St as ee,cn as y,gr as te,gt as b,ot as x,ut as S,vn as ne}from"./state-sIHsFpDu.js";import{Jc as C,S as re,Tl as w,Uc as ie,ds as ae,us as oe,v as se,wl as ce}from"./paths-BZjPDxMm.js";import{B as le,D as ue,E as T,O as E,Q as de,U as D,Z as fe,j as pe,l as O,p as k,z as me}from"./debug-otxXY3j-.js";import{n as he,r as A}from"./analytics-DqMQntaB.js";import{n as ge,o as _e}from"./process-DMKLUQIO.js";import{F as ve,P as ye,n as be,v as xe}from"./git-C0IuvuIy.js";import{o as Se,s as j}from"./log-DSV4Ht5l.js";import{s as Ce,u as we}from"./types-KeqFPzY5.js";import{n as M,t as N}from"./lazySchema-B0QShMaQ.js";import{a as Te,i as Ee}from"./genericProcessUtils-tJxf3yqB.js";import{Ag as De,An as Oe,Bg as ke,Cn as Ae,FD as P,Fg as je,G as Me,Gg as Ne,Hg as Pe,Ig as Fe,Js as Ie,K as Le,Kg as F,LD as I,Lg as L,MD as R,Mg as Re,Ng as ze,Pg as Be,Rg as Ve,Ug as He,Us as Ue,Vg as We,Vs as Ge,Wg as Ke,dO as qe,dk as Je,ff as Ye,fu as Xe,jg as Ze,kn as Qe,pf as $e,pu as et,qg as tt,qs as nt,qt as rt,uO as it,uk as at,zg as ot}from"./loadAgentsDir-BYWykYwn.js";import{B as z,H as st,I as B,J as ct,K as lt,R as ut,V as dt,W as ft,q as pt,z as mt}from"./prompt-BGNhFY1n.js";import{n as ht,r as gt}from"./cron-DwR6OJuW.js";import{d as _t,h as vt}from"./rcDebugLog-ClX1msJX.js";import{t as yt}from"./controlMessageCompat-Ds-CF-sM.js";import{dirname as bt,isAbsolute as xt,join as St,resolve as Ct}from"path";import{randomUUID as V}from"crypto";import{mkdir as wt,readFile as Tt,unlink as Et,writeFile as H}from"fs/promises";_(),N(),tt();var Dt=M(()=>c()),Ot=M(()=>m({matcher:a().optional(),hookCallbackIds:s(a()),timeout:i().optional()}).describe(`Configuration for matching and routing hook callbacks.`)),kt=M(()=>m({subtype:f(`initialize`),hooks:o(Be(),s(Ot())).optional(),sdkMcpServers:s(a()).optional(),jsonSchema:o(a(),c()).optional(),systemPrompt:a().optional(),appendSystemPrompt:a().optional(),agents:o(a(),Ze()).optional(),promptSuggestions:u().optional(),agentProgressSummaries:u().optional()}).describe(`Initializes the SDK session with hooks, MCP servers, and agent configuration.`));M(()=>m({commands:s(F()),agents:s(Re()),output_style:a(),available_output_styles:s(a()),models:s(Ve()),account:De(),pid:i().optional().describe(`@internal CLI process PID for tmux socket isolation`),fast_mode_state:ze().optional()}).describe(`Response from session initialization with available commands, models, and account info.`));var At=M(()=>m({subtype:f(`interrupt`)}).describe(`Interrupts the currently running conversation turn.`)),jt=M(()=>m({subtype:f(`can_use_tool`),tool_name:a(),input:o(a(),c()),permission_suggestions:s(ke()).optional(),blocked_path:a().optional(),decision_reason:a().optional(),title:a().optional(),display_name:a().optional(),tool_use_id:a(),agent_id:a().optional(),description:a().optional()}).describe(`Requests permission to use a tool with the given input.`)),Mt=M(()=>m({subtype:f(`set_permission_mode`),mode:ot(),ultraplan:u().optional().describe(`@internal CCR ultraplan session marker.`)}).describe(`Sets the permission mode for tool execution handling.`)),Nt=M(()=>m({subtype:f(`set_model`),model:a().optional()}).describe(`Sets the model to use for subsequent conversation turns.`)),Pt=M(()=>m({subtype:f(`set_max_thinking_tokens`),max_thinking_tokens:i().nullable()}).describe(`Sets the maximum number of thinking tokens for extended thinking.`)),Ft=M(()=>m({subtype:f(`mcp_status`)}).describe(`Requests the current status of all MCP server connections.`));M(()=>m({mcpServers:s(L())}).describe(`Response containing the current status of all MCP server connections.`));var It=M(()=>m({subtype:f(`get_context_usage`)}).describe(`Requests a breakdown of current context window usage by category.`)),Lt=M(()=>m({name:a(),tokens:i(),color:a(),isDeferred:u().optional()})),Rt=M(()=>m({color:a(),isFilled:u(),categoryName:a(),tokens:i(),percentage:i(),squareFullness:i()}));M(()=>m({categories:s(Lt()),totalTokens:i(),maxTokens:i(),rawMaxTokens:i(),percentage:i(),gridRows:s(s(Rt())),model:a(),memoryFiles:s(m({path:a(),type:a(),tokens:i()})),mcpTools:s(m({name:a(),serverName:a(),tokens:i(),isLoaded:u().optional()})),deferredBuiltinTools:s(m({name:a(),tokens:i(),isLoaded:u()})).optional(),systemTools:s(m({name:a(),tokens:i()})).optional(),systemPromptSections:s(m({name:a(),tokens:i()})).optional(),agents:s(m({agentType:a(),source:a(),tokens:i()})),slashCommands:m({totalCommands:i(),includedCommands:i(),tokens:i()}).optional(),skills:m({totalSkills:i(),includedSkills:i(),tokens:i(),skillFrontmatter:s(m({name:a(),source:a(),tokens:i()}))}).optional(),autoCompactThreshold:i().optional(),isAutoCompactEnabled:u(),messageBreakdown:m({toolCallTokens:i(),toolResultTokens:i(),attachmentTokens:i(),assistantMessageTokens:i(),userMessageTokens:i(),toolCallsByType:s(m({name:a(),callTokens:i(),resultTokens:i()})),attachmentsByType:s(m({name:a(),tokens:i()}))}).optional(),apiUsage:m({input_tokens:i(),output_tokens:i(),cache_creation_input_tokens:i(),cache_read_input_tokens:i()}).nullable()}).describe(`Breakdown of current context window usage by category (system prompt, tools, messages, etc.).`));var zt=M(()=>m({subtype:f(`rewind_files`),user_message_id:a(),dry_run:u().optional()}).describe(`Rewinds file changes made since a specific user message.`));M(()=>m({canRewind:u(),error:a().optional(),filesChanged:s(a()).optional(),insertions:i().optional(),deletions:i().optional()}).describe(`Result of a rewindFiles operation.`));var Bt=M(()=>m({subtype:f(`cancel_async_message`),message_uuid:a()}).describe(`Drops a pending async user message from the command queue by uuid. No-op if already dequeued for execution.`));M(()=>m({cancelled:u()}).describe(`Result of a cancel_async_message operation. cancelled=false means the message was not in the queue (already dequeued or never enqueued).`));var Vt=M(()=>m({subtype:f(`seed_read_state`),path:a(),mtime:i()}).describe(`Seeds the readFileState cache with a path+mtime entry. Use when a prior Read was removed from context (e.g. by snip) so Edit validation would fail despite the client having observed the Read. The mtime lets the CLI detect if the file changed since the seeded Read — same staleness check as the normal path.`)),Ht=M(()=>m({subtype:f(`hook_callback`),callback_id:a(),input:je(),tool_use_id:a().optional()}).describe(`Delivers a hook callback with its input data.`)),Ut=M(()=>m({subtype:f(`mcp_message`),server_name:a(),message:Dt()}).describe(`Sends a JSON-RPC message to a specific MCP server.`)),Wt=M(()=>m({subtype:f(`mcp_set_servers`),servers:o(a(),Fe())}).describe(`Replaces the set of dynamically managed MCP servers.`));M(()=>m({added:s(a()),removed:s(a()),errors:o(a(),a())}).describe(`Result of replacing the set of dynamically managed MCP servers.`));var Gt=M(()=>m({subtype:f(`reload_plugins`)}).describe(`Reloads plugins from disk and returns the refreshed session components.`));M(()=>m({commands:s(F()),agents:s(Re()),plugins:s(m({name:a(),path:a(),source:a().optional()})),mcpServers:s(L()),error_count:i()}).describe(`Refreshed commands, agents, plugins, and MCP server status after reload.`));var Kt=M(()=>m({subtype:f(`mcp_reconnect`),serverName:a()}).describe(`Reconnects a disconnected or failed MCP server.`)),qt=M(()=>m({subtype:f(`mcp_toggle`),serverName:a(),enabled:u()}).describe(`Enables or disables an MCP server.`)),Jt=M(()=>m({subtype:f(`stop_task`),task_id:a()}).describe(`Stops a running task.`)),Yt=M(()=>m({subtype:f(`apply_flag_settings`),settings:o(a(),c())}).describe(`Merges the provided settings into the flag settings layer, updating the active configuration.`)),Xt=M(()=>m({subtype:f(`get_settings`)}).describe(`Returns the effective merged settings and the raw per-source settings.`));M(()=>m({effective:o(a(),c()),sources:s(m({source:p([`userSettings`,`projectSettings`,`localSettings`,`flagSettings`,`policySettings`]),settings:o(a(),c())})).describe(`Ordered low-to-high priority — later entries override earlier ones.`),applied:m({model:a(),effort:p([`low`,`medium`,`high`,`xhigh`,`max`]).nullable()}).optional().describe("Runtime-resolved values after env overrides, session state, and model-specific defaults are applied. Unlike `effective` (disk merge), these reflect what will actually be sent to the API.")}).describe(`Effective merged settings plus raw per-source settings in merge order.`));var Zt=M(()=>m({subtype:f(`elicitation`),mcp_server_name:a(),message:a(),mode:p([`form`,`url`]).optional(),url:a().optional(),elicitation_id:a().optional(),requested_schema:o(a(),c()).optional()}).describe(`Requests the SDK consumer to handle an MCP elicitation (user input request).`)),Qt=M(()=>m({action:p([`accept`,`decline`,`cancel`]),content:o(a(),c()).optional()}).describe(`Response from the SDK consumer for an elicitation request.`)),$t=M(()=>l([At(),jt(),kt(),Mt(),Nt(),Pt(),Ft(),It(),Ht(),Ut(),zt(),Bt(),Vt(),Wt(),Gt(),Kt(),qt(),Jt(),Yt(),Xt(),Zt()])),U=M(()=>m({type:f(`control_request`),request_id:a(),request:$t()})),en=M(()=>m({subtype:f(`success`),request_id:a(),response:o(a(),c()).optional()})),tn=M(()=>m({subtype:f(`error`),request_id:a(),error:a(),pending_permission_requests:s(d(()=>U())).optional()})),nn=M(()=>m({type:f(`control_response`),response:l([en(),tn()])})),rn=M(()=>m({type:f(`control_cancel_request`),request_id:a()}).describe(`Cancels a currently open control request.`)),an=M(()=>m({type:f(`keep_alive`)}).describe(`Keep-alive message to maintain WebSocket connection.`)),on=M(()=>m({type:f(`update_environment_variables`),variables:o(a(),a())}).describe(`Updates environment variables at runtime.`));M(()=>l([We(),He(),Ke(),Pe(),nn(),U(),rn(),an()])),M(()=>l([Ne(),U(),nn(),an(),on()])),n(),y(),fe(),D(),T(),ge(),ye(),Oe(),_(),O(),N(),P(),Ye(),M(()=>g.object({tool_name:g.string().describe(`The name of the tool requesting permission`),input:g.record(g.string(),g.unknown()).describe(`The input for the tool`),tool_use_id:g.string().optional().describe(`The unique tool use request ID`)}));var sn=M(()=>g.enum([`user_temporary`,`user_permanent`,`user_reject`]).optional().catch(void 0)),cn=M(()=>g.object({behavior:g.literal(`allow`),updatedInput:g.record(g.string(),g.unknown()),updatedPermissions:g.array($e()).optional().catch(e=>{k(`Malformed updatedPermissions from SDK host ignored: ${e.error.issues[0]?.message??`unknown`}`,{level:`warn`})}),toolUseID:g.string().optional(),decisionClassification:sn()})),ln=M(()=>g.object({behavior:g.literal(`deny`),message:g.string(),interrupt:g.boolean().optional(),toolUseID:g.string().optional(),decisionClassification:sn()})),W=M(()=>g.union([cn(),ln()]));function G(e,t,n,r){let i={type:`permissionPromptTool`,permissionPromptToolName:t.name,toolResult:e};if(e.behavior===`allow`){let t=e.updatedPermissions;t&&(r.setAppState(e=>({...e,toolPermissionContext:R(e.toolPermissionContext,t)})),I(t));let a=Object.keys(e.updatedInput).length>0?e.updatedInput:n;return{...e,updatedInput:a,decisionReason:i}}else e.behavior===`deny`&&e.interrupt&&(k(`SDK permission prompt deny+interrupt: tool=${t.name} message=${e.message}`),r.abortController.abort());return{...e,decisionReason:i}}he(),Se(),ie(),oe(),re(),it(),_t(),et(),Ae(),Le();var un=/\u2028|\u2029/g;function dn(e){return e.replace(un,e=>e===`\u2028`?`\\u2028`:`\\u2029`)}function fn(e){return dn(E(e))}O(),T(),_(),P();var pn=`SandboxNetworkAccess`;function mn(e){if(e){if(e.type===`classifier`)return e.reason;switch(e.type){case`rule`:case`mode`:case`subcommandResults`:case`permissionPromptTool`:return;case`hook`:case`asyncAgent`:case`sandboxOverride`:case`workingDir`:case`safetyCheck`:case`other`:return e.reason}}}function hn(e,t,n,r){let i;try{i=e.getActivityDescription?.(t)??e.getToolUseSummary?.(t)??e.userFacingName(t)}catch{i=e.name}return{tool_name:e.name,action_description:i,tool_use_id:n,request_id:r,input:t}}var gn=1e3,_n=class{constructor(e,t){r(this,`structuredInput`,void 0),r(this,`pendingRequests`,new Map),r(this,`restoredWorkerState`,Promise.resolve(null)),r(this,`inputClosed`,!1),r(this,`unexpectedResponseCallback`,void 0),r(this,`resolvedToolUseIds`,new Set),r(this,`prependedLines`,[]),r(this,`onControlRequestSent`,void 0),r(this,`onControlRequestResolved`,void 0),r(this,`outbound`,new Xe),this.input=e,this.replayUserMessages=t,this.input=e,this.structuredInput=this.read()}trackResolvedToolUseId(e){let t=e.request;if(t.subtype===`can_use_tool`&&(this.resolvedToolUseIds.add(t.tool_use_id),this.resolvedToolUseIds.size>gn)){let e=this.resolvedToolUseIds.values().next().value;e!==void 0&&this.resolvedToolUseIds.delete(e)}}flushInternalEvents(){return Promise.resolve()}get internalEventsPending(){return 0}prependUserMessage(e){this.prependedLines.push(E({type:`user`,content:e,uuid:``,session_id:``,message:{role:`user`,content:e},parent_tool_use_id:null})+`
|
|
1
|
+
import{n as e,r as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./defineProperty-80gRi2ZW.js";import{Cn as i,Ln as a,Mn as o,Tt as s,Xn as c,Yn as l,kt as u,ln as d,un as f,vt as p,wn as m,wt as h}from"./schemas-BGAvj1T4.js";import{n as g,t as _}from"./v4-f1i_CNUT.js";import{Ct as v,St as ee,cn as y,gr as te,gt as b,ot as x,ut as S,vn as ne}from"./state-sIHsFpDu.js";import{Jc as C,S as re,Tl as w,Uc as ie,ds as ae,us as oe,v as se,wl as ce}from"./paths-CEAy4QCs.js";import{B as le,D as ue,E as T,O as E,Q as de,U as D,Z as fe,j as pe,l as O,p as k,z as me}from"./debug-otxXY3j-.js";import{n as he,r as A}from"./analytics-DqMQntaB.js";import{n as ge,o as _e}from"./process-DMKLUQIO.js";import{F as ve,P as ye,n as be,v as xe}from"./git-C0IuvuIy.js";import{o as Se,s as j}from"./log-DSV4Ht5l.js";import{s as Ce,u as we}from"./types-KeqFPzY5.js";import{n as M,t as N}from"./lazySchema-B0QShMaQ.js";import{a as Te,i as Ee}from"./genericProcessUtils-tJxf3yqB.js";import{Ag as De,An as Oe,Bg as ke,Cn as Ae,FD as P,Fg as je,G as Me,Gg as Ne,Hg as Pe,Ig as Fe,Js as Ie,K as Le,Kg as F,LD as I,Lg as L,MD as R,Mg as Re,Ng as ze,Pg as Be,Rg as Ve,Ug as He,Us as Ue,Vg as We,Vs as Ge,Wg as Ke,dO as qe,dk as Je,ff as Ye,fu as Xe,jg as Ze,kn as Qe,pf as $e,pu as et,qg as tt,qs as nt,qt as rt,uO as it,uk as at,zg as ot}from"./loadAgentsDir-DC4jN6-f.js";import{B as z,H as st,I as B,J as ct,K as lt,R as ut,V as dt,W as ft,q as pt,z as mt}from"./prompt-BHI7PZe4.js";import{n as ht,r as gt}from"./cron-DwR6OJuW.js";import{d as _t,h as vt}from"./rcDebugLog-C0Bam8V9.js";import{t as yt}from"./controlMessageCompat-Ds-CF-sM.js";import{dirname as bt,isAbsolute as xt,join as St,resolve as Ct}from"path";import{randomUUID as V}from"crypto";import{mkdir as wt,readFile as Tt,unlink as Et,writeFile as H}from"fs/promises";_(),N(),tt();var Dt=M(()=>c()),Ot=M(()=>m({matcher:a().optional(),hookCallbackIds:s(a()),timeout:i().optional()}).describe(`Configuration for matching and routing hook callbacks.`)),kt=M(()=>m({subtype:f(`initialize`),hooks:o(Be(),s(Ot())).optional(),sdkMcpServers:s(a()).optional(),jsonSchema:o(a(),c()).optional(),systemPrompt:a().optional(),appendSystemPrompt:a().optional(),agents:o(a(),Ze()).optional(),promptSuggestions:u().optional(),agentProgressSummaries:u().optional()}).describe(`Initializes the SDK session with hooks, MCP servers, and agent configuration.`));M(()=>m({commands:s(F()),agents:s(Re()),output_style:a(),available_output_styles:s(a()),models:s(Ve()),account:De(),pid:i().optional().describe(`@internal CLI process PID for tmux socket isolation`),fast_mode_state:ze().optional()}).describe(`Response from session initialization with available commands, models, and account info.`));var At=M(()=>m({subtype:f(`interrupt`)}).describe(`Interrupts the currently running conversation turn.`)),jt=M(()=>m({subtype:f(`can_use_tool`),tool_name:a(),input:o(a(),c()),permission_suggestions:s(ke()).optional(),blocked_path:a().optional(),decision_reason:a().optional(),title:a().optional(),display_name:a().optional(),tool_use_id:a(),agent_id:a().optional(),description:a().optional()}).describe(`Requests permission to use a tool with the given input.`)),Mt=M(()=>m({subtype:f(`set_permission_mode`),mode:ot(),ultraplan:u().optional().describe(`@internal CCR ultraplan session marker.`)}).describe(`Sets the permission mode for tool execution handling.`)),Nt=M(()=>m({subtype:f(`set_model`),model:a().optional()}).describe(`Sets the model to use for subsequent conversation turns.`)),Pt=M(()=>m({subtype:f(`set_max_thinking_tokens`),max_thinking_tokens:i().nullable()}).describe(`Sets the maximum number of thinking tokens for extended thinking.`)),Ft=M(()=>m({subtype:f(`mcp_status`)}).describe(`Requests the current status of all MCP server connections.`));M(()=>m({mcpServers:s(L())}).describe(`Response containing the current status of all MCP server connections.`));var It=M(()=>m({subtype:f(`get_context_usage`)}).describe(`Requests a breakdown of current context window usage by category.`)),Lt=M(()=>m({name:a(),tokens:i(),color:a(),isDeferred:u().optional()})),Rt=M(()=>m({color:a(),isFilled:u(),categoryName:a(),tokens:i(),percentage:i(),squareFullness:i()}));M(()=>m({categories:s(Lt()),totalTokens:i(),maxTokens:i(),rawMaxTokens:i(),percentage:i(),gridRows:s(s(Rt())),model:a(),memoryFiles:s(m({path:a(),type:a(),tokens:i()})),mcpTools:s(m({name:a(),serverName:a(),tokens:i(),isLoaded:u().optional()})),deferredBuiltinTools:s(m({name:a(),tokens:i(),isLoaded:u()})).optional(),systemTools:s(m({name:a(),tokens:i()})).optional(),systemPromptSections:s(m({name:a(),tokens:i()})).optional(),agents:s(m({agentType:a(),source:a(),tokens:i()})),slashCommands:m({totalCommands:i(),includedCommands:i(),tokens:i()}).optional(),skills:m({totalSkills:i(),includedSkills:i(),tokens:i(),skillFrontmatter:s(m({name:a(),source:a(),tokens:i()}))}).optional(),autoCompactThreshold:i().optional(),isAutoCompactEnabled:u(),messageBreakdown:m({toolCallTokens:i(),toolResultTokens:i(),attachmentTokens:i(),assistantMessageTokens:i(),userMessageTokens:i(),toolCallsByType:s(m({name:a(),callTokens:i(),resultTokens:i()})),attachmentsByType:s(m({name:a(),tokens:i()}))}).optional(),apiUsage:m({input_tokens:i(),output_tokens:i(),cache_creation_input_tokens:i(),cache_read_input_tokens:i()}).nullable()}).describe(`Breakdown of current context window usage by category (system prompt, tools, messages, etc.).`));var zt=M(()=>m({subtype:f(`rewind_files`),user_message_id:a(),dry_run:u().optional()}).describe(`Rewinds file changes made since a specific user message.`));M(()=>m({canRewind:u(),error:a().optional(),filesChanged:s(a()).optional(),insertions:i().optional(),deletions:i().optional()}).describe(`Result of a rewindFiles operation.`));var Bt=M(()=>m({subtype:f(`cancel_async_message`),message_uuid:a()}).describe(`Drops a pending async user message from the command queue by uuid. No-op if already dequeued for execution.`));M(()=>m({cancelled:u()}).describe(`Result of a cancel_async_message operation. cancelled=false means the message was not in the queue (already dequeued or never enqueued).`));var Vt=M(()=>m({subtype:f(`seed_read_state`),path:a(),mtime:i()}).describe(`Seeds the readFileState cache with a path+mtime entry. Use when a prior Read was removed from context (e.g. by snip) so Edit validation would fail despite the client having observed the Read. The mtime lets the CLI detect if the file changed since the seeded Read — same staleness check as the normal path.`)),Ht=M(()=>m({subtype:f(`hook_callback`),callback_id:a(),input:je(),tool_use_id:a().optional()}).describe(`Delivers a hook callback with its input data.`)),Ut=M(()=>m({subtype:f(`mcp_message`),server_name:a(),message:Dt()}).describe(`Sends a JSON-RPC message to a specific MCP server.`)),Wt=M(()=>m({subtype:f(`mcp_set_servers`),servers:o(a(),Fe())}).describe(`Replaces the set of dynamically managed MCP servers.`));M(()=>m({added:s(a()),removed:s(a()),errors:o(a(),a())}).describe(`Result of replacing the set of dynamically managed MCP servers.`));var Gt=M(()=>m({subtype:f(`reload_plugins`)}).describe(`Reloads plugins from disk and returns the refreshed session components.`));M(()=>m({commands:s(F()),agents:s(Re()),plugins:s(m({name:a(),path:a(),source:a().optional()})),mcpServers:s(L()),error_count:i()}).describe(`Refreshed commands, agents, plugins, and MCP server status after reload.`));var Kt=M(()=>m({subtype:f(`mcp_reconnect`),serverName:a()}).describe(`Reconnects a disconnected or failed MCP server.`)),qt=M(()=>m({subtype:f(`mcp_toggle`),serverName:a(),enabled:u()}).describe(`Enables or disables an MCP server.`)),Jt=M(()=>m({subtype:f(`stop_task`),task_id:a()}).describe(`Stops a running task.`)),Yt=M(()=>m({subtype:f(`apply_flag_settings`),settings:o(a(),c())}).describe(`Merges the provided settings into the flag settings layer, updating the active configuration.`)),Xt=M(()=>m({subtype:f(`get_settings`)}).describe(`Returns the effective merged settings and the raw per-source settings.`));M(()=>m({effective:o(a(),c()),sources:s(m({source:p([`userSettings`,`projectSettings`,`localSettings`,`flagSettings`,`policySettings`]),settings:o(a(),c())})).describe(`Ordered low-to-high priority — later entries override earlier ones.`),applied:m({model:a(),effort:p([`low`,`medium`,`high`,`xhigh`,`max`]).nullable()}).optional().describe("Runtime-resolved values after env overrides, session state, and model-specific defaults are applied. Unlike `effective` (disk merge), these reflect what will actually be sent to the API.")}).describe(`Effective merged settings plus raw per-source settings in merge order.`));var Zt=M(()=>m({subtype:f(`elicitation`),mcp_server_name:a(),message:a(),mode:p([`form`,`url`]).optional(),url:a().optional(),elicitation_id:a().optional(),requested_schema:o(a(),c()).optional()}).describe(`Requests the SDK consumer to handle an MCP elicitation (user input request).`)),Qt=M(()=>m({action:p([`accept`,`decline`,`cancel`]),content:o(a(),c()).optional()}).describe(`Response from the SDK consumer for an elicitation request.`)),$t=M(()=>l([At(),jt(),kt(),Mt(),Nt(),Pt(),Ft(),It(),Ht(),Ut(),zt(),Bt(),Vt(),Wt(),Gt(),Kt(),qt(),Jt(),Yt(),Xt(),Zt()])),U=M(()=>m({type:f(`control_request`),request_id:a(),request:$t()})),en=M(()=>m({subtype:f(`success`),request_id:a(),response:o(a(),c()).optional()})),tn=M(()=>m({subtype:f(`error`),request_id:a(),error:a(),pending_permission_requests:s(d(()=>U())).optional()})),nn=M(()=>m({type:f(`control_response`),response:l([en(),tn()])})),rn=M(()=>m({type:f(`control_cancel_request`),request_id:a()}).describe(`Cancels a currently open control request.`)),an=M(()=>m({type:f(`keep_alive`)}).describe(`Keep-alive message to maintain WebSocket connection.`)),on=M(()=>m({type:f(`update_environment_variables`),variables:o(a(),a())}).describe(`Updates environment variables at runtime.`));M(()=>l([We(),He(),Ke(),Pe(),nn(),U(),rn(),an()])),M(()=>l([Ne(),U(),nn(),an(),on()])),n(),y(),fe(),D(),T(),ge(),ye(),Oe(),_(),O(),N(),P(),Ye(),M(()=>g.object({tool_name:g.string().describe(`The name of the tool requesting permission`),input:g.record(g.string(),g.unknown()).describe(`The input for the tool`),tool_use_id:g.string().optional().describe(`The unique tool use request ID`)}));var sn=M(()=>g.enum([`user_temporary`,`user_permanent`,`user_reject`]).optional().catch(void 0)),cn=M(()=>g.object({behavior:g.literal(`allow`),updatedInput:g.record(g.string(),g.unknown()),updatedPermissions:g.array($e()).optional().catch(e=>{k(`Malformed updatedPermissions from SDK host ignored: ${e.error.issues[0]?.message??`unknown`}`,{level:`warn`})}),toolUseID:g.string().optional(),decisionClassification:sn()})),ln=M(()=>g.object({behavior:g.literal(`deny`),message:g.string(),interrupt:g.boolean().optional(),toolUseID:g.string().optional(),decisionClassification:sn()})),W=M(()=>g.union([cn(),ln()]));function G(e,t,n,r){let i={type:`permissionPromptTool`,permissionPromptToolName:t.name,toolResult:e};if(e.behavior===`allow`){let t=e.updatedPermissions;t&&(r.setAppState(e=>({...e,toolPermissionContext:R(e.toolPermissionContext,t)})),I(t));let a=Object.keys(e.updatedInput).length>0?e.updatedInput:n;return{...e,updatedInput:a,decisionReason:i}}else e.behavior===`deny`&&e.interrupt&&(k(`SDK permission prompt deny+interrupt: tool=${t.name} message=${e.message}`),r.abortController.abort());return{...e,decisionReason:i}}he(),Se(),ie(),oe(),re(),it(),_t(),et(),Ae(),Le();var un=/\u2028|\u2029/g;function dn(e){return e.replace(un,e=>e===`\u2028`?`\\u2028`:`\\u2029`)}function fn(e){return dn(E(e))}O(),T(),_(),P();var pn=`SandboxNetworkAccess`;function mn(e){if(e){if(e.type===`classifier`)return e.reason;switch(e.type){case`rule`:case`mode`:case`subcommandResults`:case`permissionPromptTool`:return;case`hook`:case`asyncAgent`:case`sandboxOverride`:case`workingDir`:case`safetyCheck`:case`other`:return e.reason}}}function hn(e,t,n,r){let i;try{i=e.getActivityDescription?.(t)??e.getToolUseSummary?.(t)??e.userFacingName(t)}catch{i=e.name}return{tool_name:e.name,action_description:i,tool_use_id:n,request_id:r,input:t}}var gn=1e3,_n=class{constructor(e,t){r(this,`structuredInput`,void 0),r(this,`pendingRequests`,new Map),r(this,`restoredWorkerState`,Promise.resolve(null)),r(this,`inputClosed`,!1),r(this,`unexpectedResponseCallback`,void 0),r(this,`resolvedToolUseIds`,new Set),r(this,`prependedLines`,[]),r(this,`onControlRequestSent`,void 0),r(this,`onControlRequestResolved`,void 0),r(this,`outbound`,new Xe),this.input=e,this.replayUserMessages=t,this.input=e,this.structuredInput=this.read()}trackResolvedToolUseId(e){let t=e.request;if(t.subtype===`can_use_tool`&&(this.resolvedToolUseIds.add(t.tool_use_id),this.resolvedToolUseIds.size>gn)){let e=this.resolvedToolUseIds.values().next().value;e!==void 0&&this.resolvedToolUseIds.delete(e)}}flushInternalEvents(){return Promise.resolve()}get internalEventsPending(){return 0}prependUserMessage(e){this.prependedLines.push(E({type:`user`,content:e,uuid:``,session_id:``,message:{role:`user`,content:e},parent_tool_use_id:null})+`
|
|
2
2
|
`)}async*read(){let e=``,t=async function*(){for(;;){this.prependedLines.length>0&&(e=this.prependedLines.join(``)+e,this.prependedLines=[]);let t=e.indexOf(`
|
|
3
3
|
`);if(t===-1)break;let n=e.slice(0,t);e=e.slice(t+1);let r=await this.processLine(n);r&&(ve(`info`,`cli_stdin_message_parsed`,{type:r.type}),yield r)}}.bind(this);yield*t();for await(let n of this.input)e+=n,yield*t();if(e){let t=await this.processLine(e);t&&(yield t)}this.inputClosed=!0;for(let e of this.pendingRequests.values())e.reject(Error(`Tool permission stream closed before response received`))}getPendingPermissionRequests(){return Array.from(this.pendingRequests.values()).map(e=>e.request).filter(e=>e.request.subtype===`can_use_tool`)}setUnexpectedResponseCallback(e){this.unexpectedResponseCallback=e}injectControlResponse(e){let t=e.response,n=t?.request_id;if(!n)return;let r=this.pendingRequests.get(n);if(r)if(this.trackResolvedToolUseId(r.request),this.pendingRequests.delete(n),this.write({type:`control_cancel_request`,request_id:n}),t.subtype===`error`)r.reject(Error(t.error));else{let e=t.response;if(r.schema)try{r.resolve(r.schema.parse(e))}catch(e){r.reject(e)}else r.resolve({})}}setOnControlRequestSent(e){this.onControlRequestSent=e}setOnControlRequestResolved(e){this.onControlRequestResolved=e}async processLine(e){if(e)try{let t=yt(ue(e));if(t.type===`keep_alive`)return;if(t.type===`update_environment_variables`){let e=t.variables??{},n=Object.keys(e);for(let[t,n]of Object.entries(e))process.env[t]=n;k(`[structuredIO] applied update_environment_variables: ${n.join(`, `)}`);return}if(t.type===`control_response`){let e=`uuid`in t&&typeof t.uuid==`string`?t.uuid:void 0;e&&qe(e,`completed`);let n=t.response,r=this.pendingRequests.get(n.request_id);if(!r){let e=(n.subtype===`success`?n.response:void 0)?.toolUseID;if(typeof e==`string`&&this.resolvedToolUseIds.has(e)){k(`Ignoring duplicate control_response for already-resolved toolUseID=${e} request_id=${n.request_id}`);return}this.unexpectedResponseCallback&&await this.unexpectedResponseCallback(t);return}if(this.trackResolvedToolUseId(r.request),this.pendingRequests.delete(n.request_id),r.request.request.subtype===`can_use_tool`&&this.onControlRequestResolved&&this.onControlRequestResolved(n.request_id),n.subtype===`error`){r.reject(Error(n.error??`Unknown error`));return}let i=n.response;if(r.schema)try{r.resolve(r.schema.parse(i))}catch(e){r.reject(e)}else r.resolve({});return this.replayUserMessages?t:void 0}if(t.type!==`user`&&t.type!==`control_request`&&t.type!==`assistant`&&t.type!==`system`){k(`Ignoring unknown message type: ${t.type}`,{level:`warn`});return}return t.type===`control_request`?(t.request||vn(`Error: Missing request on control_request`),t):(t.type===`assistant`||t.type===`system`||t.message?.role!==`user`&&vn(`Error: Expected message role 'user', got '${t.message?.role}'`),t)}catch(t){console.error(`Error parsing streaming input line: ${e}: ${t}`),process.exit(1)}}async write(e){_e(fn(e)+`
|
|
4
4
|
`)}async sendRequest(e,t,n,r=V()){let i={type:`control_request`,request_id:r,request:e};if(this.inputClosed)throw Error(`Stream closed`);if(n?.aborted)throw Error(`Request aborted`);this.outbound.enqueue(i),e.subtype===`can_use_tool`&&this.onControlRequestSent&&this.onControlRequestSent(i);let a=()=>{this.outbound.enqueue({type:`control_cancel_request`,request_id:r});let e=this.pendingRequests.get(r);e&&(this.trackResolvedToolUseId(e.request),e.reject(new pe))};n&&n.addEventListener(`abort`,a,{once:!0});try{return await new Promise((n,i)=>{this.pendingRequests.set(r,{request:{type:`control_request`,request_id:r,request:e},resolve:e=>{n(e)},reject:i,schema:t})})}finally{n&&n.removeEventListener(`abort`,a),this.pendingRequests.delete(r)}}createCanUseTool(e){return async(t,n,r,i,a,o)=>{let s=o??await Me(t,n,r,i,a);if(s.behavior===`allow`||s.behavior===`deny`)return s;let c=new AbortController,l=r.abortController.signal,u=()=>c.abort();l.addEventListener(`abort`,u,{once:!0});try{let i=yn(t.name,a,n,r,s.suggestions).then(e=>({source:`hook`,decision:e})),o=V();e?.(hn(t,n,a,o));let l=this.sendRequest({subtype:`can_use_tool`,tool_name:t.name,input:n,permission_suggestions:s.suggestions,blocked_path:s.blockedPath,decision_reason:mn(s.decisionReason),tool_use_id:a,agent_id:r.agentId},W(),c.signal,o).then(e=>({source:`sdk`,result:e})),u=await Promise.race([i,l]);return u.source===`hook`?u.decision?(l.catch(()=>{}),c.abort(),u.decision):G((await l).result,t,n,r):G(u.result,t,n,r)}catch(e){return G({behavior:`deny`,message:`Tool permission request failed: ${e}`,toolUseID:a},t,n,r)}finally{this.getPendingPermissionRequests().length===0&&vt(`running`),l.removeEventListener(`abort`,u)}}}createHookCallback(e,t){return{type:`callback`,timeout:t,callback:async(t,n,r)=>{try{return await this.sendRequest({subtype:`hook_callback`,callback_id:e,input:t,tool_use_id:n||void 0},Qe(),r)}catch(t){return console.error(`Error in hook callback ${e}:`,t),{}}}}}async handleElicitation(e,t,n,r,i,a,o){try{return await this.sendRequest({subtype:`elicitation`,mcp_server_name:e,message:t,mode:i,url:a,elicitation_id:o,requested_schema:n},Qt(),r)}catch{return{action:`cancel`}}}createSandboxAskCallback(){return async e=>{try{return(await this.sendRequest({subtype:`can_use_tool`,tool_name:pn,input:{host:e.host},tool_use_id:V(),description:`Allow network connection to ${e.host}?`},W())).behavior===`allow`}catch{return!1}}}async sendMcpMessage(e,t){return(await this.sendRequest({subtype:`mcp_message`,server_name:e,message:t},m({mcp_response:h()}))).mcp_response}};function vn(e){console.error(e),process.exit(1)}async function yn(e,t,n,r,i){let a=r.getAppState().toolPermissionContext.mode,o=rt(e,t,n,r,a,i,r.abortController.signal);for await(let e of o)if(e.permissionRequestResult&&(e.permissionRequestResult.behavior===`allow`||e.permissionRequestResult.behavior===`deny`)){let t=e.permissionRequestResult;if(t.behavior===`allow`){let e=t.updatedInput||n,i=t.updatedPermissions??[];if(i.length>0){I(i);let e=R(r.getAppState().toolPermissionContext,i);r.setAppState(t=>t.toolPermissionContext===e?t:{...t,toolPermissionContext:e})}return{behavior:`allow`,updatedInput:e,userModified:!1,decisionReason:{type:`hook`,hookName:`PermissionRequest`}}}else return{behavior:`deny`,message:t.message||`Permission denied by PermissionRequest hook`,decisionReason:{type:`hook`,hookName:`PermissionRequest`}}}}Je();function bn(e){if(e.type!==`user`)return;let t=e.message?.content;if(!t||Array.isArray(t)&&t.length===0)return;let n=`uuid`in e&&typeof e.uuid==`string`?e.uuid:void 0;return{content:Array.isArray(t)?xn(t):t,uuid:n}}function xn(e){return e.some(Sn)?e.map(e=>{if(!Sn(e))return e;let t=e.source,n=typeof t.mediaType==`string`&&t.mediaType?t.mediaType:at(e.source.data);return{...e,source:{type:`base64`,media_type:n,data:e.source.data}}}):e}function Sn(e){return e.type!==`image`||e.source?.type!==`base64`?!1:!e.source.media_type}ce(),O(),D(),xe(),nt();function Cn(e,t,n){let r=[],i=[],a=[];for(let[o,s]of Object.entries(e)){let e=t[o],c=Tn(s.source,n?.projectRoot);e?s.sourceIsFallback||w(c,e.source)?a.push(o):i.push({name:o,declaredSource:c,materializedSource:e.source}):r.push(o)}return{missing:r,sourceChanged:i,upToDate:a}}async function wn(e){let t=Ue();if(Object.keys(t).length===0)return{installed:[],updated:[],failed:[],upToDate:[],skipped:[]};let n;try{n=await Ie()}catch(e){j(e),n={}}let r=Cn(t,n,{projectRoot:x()}),i=[...r.missing.map(e=>({name:e,source:Tn(t[e].source),action:`install`})),...r.sourceChanged.map(({name:e,declaredSource:t})=>({name:e,source:t,action:`update`}))],a=[],o=[];for(let t of i){if(e?.skip?.(t.name,t.source)){a.push(t.name);continue}if(t.action===`update`&&ae(t.source)&&!await C(t.source.path)){k(`[reconcile] '${t.name}' declared path does not exist; keeping materialized entry`),a.push(t.name);continue}o.push(t)}if(o.length===0)return{installed:[],updated:[],failed:[],upToDate:r.upToDate,skipped:a};k(`[reconcile] ${o.length} marketplace(s): ${o.map(e=>`${e.name}(${e.action})`).join(`, `)}`);let s=[],c=[],l=[];for(let t=0;t<o.length;t++){let{name:n,source:r,action:i}=o[t];e?.onProgress?.({type:`installing`,name:n,action:i,index:t+1,total:o.length});try{let t=await Ge(r);i===`install`?s.push(n):c.push(n),e?.onProgress?.({type:`installed`,name:n,alreadyMaterialized:t.alreadyMaterialized})}catch(t){let r=me(t);l.push({name:n,error:r}),e?.onProgress?.({type:`failed`,name:n,error:r}),j(t)}}return{installed:s,updated:c,failed:l,upToDate:r.upToDate,skipped:a}}function Tn(e,t){if((e.source===`directory`||e.source===`file`)&&!xt(e.path)){let n=t??x(),r=be(n);return{...e,path:Ct(r??n,e.path)}}return e}function K(e){return St(e??S(),kn)}async function En(e){let t;try{t=await Tt(K(e),`utf8`)}catch{return}let n=An().safeParse(we(t,!1));return n.success?n.data:void 0}async function Dn(e,t){let n=K(t),r=E(e);try{return await H(n,r,{flag:`wx`}),!0}catch(e){let t=le(e);if(t===`EEXIST`)return!1;if(t===`ENOENT`){await wt(bt(n),{recursive:!0});try{return await H(n,r,{flag:`wx`}),!0}catch(e){if(le(e)===`EEXIST`)return!1;throw e}}throw e}}function q(e){Y?.(),Y=de(async()=>{await J(e)})}async function On(e){let t=e?.dir,n=e?.lockIdentity??v(),r={sessionId:n,pid:process.pid,acquiredAt:Date.now()};if(await Dn(r,t))return X=void 0,q(e),k(`[ScheduledTasks] acquired scheduler lock (PID ${process.pid})`),!0;let i=await En(t);return i?.sessionId===n?(i.pid!==process.pid&&(await H(K(t),E(r)),q(e)),!0):i&&Te(i.pid)?(X!==i.sessionId&&(X=i.sessionId,k(`[ScheduledTasks] scheduler lock held by session ${i.sessionId} (PID ${i.pid})`)),!1):(i&&k(`[ScheduledTasks] recovering stale scheduler lock from PID ${i.pid}`),await Et(K(t)).catch(()=>{}),await Dn(r,t)?(X=void 0,q(e),!0):!1)}async function J(e){Y?.(),Y=void 0,X=void 0;let t=e?.dir,n=e?.lockIdentity??v(),r=await En(t);if(!(!r||r.sessionId!==n))try{await Et(K(t)),k(`[ScheduledTasks] released scheduler lock`)}catch{}}var kn,An,Y,X,jn=e((()=>{_(),y(),O(),D(),Ee(),Ce(),N(),T(),kn=St(`.claude`,`scheduled_tasks.lock`),An=M(()=>m({sessionId:a(),pid:i(),acquiredAt:i()}))})),Mn=t({buildMissedTaskNotification:()=>Fn,createCronScheduler:()=>Pn,isRecurringTaskAged:()=>Nn});function Nn(e,t,n){return n===0?!1:!!(e.recurring&&!e.permanent&&t-e.createdAt>=n)}function Pn(e){let{onFire:t,isLoading:n,assistantMode:r=!1,onFireTask:i,onMissed:a,dir:o,lockIdentity:s,getJitterConfig:c,isKilled:l,filter:u}=e,d=o||s?{dir:o,lockIdentity:s}:void 0,f=[],p=new Map,m=new Set,h=new Set,g=null,_=null,v=null,y=null,x=!1,S=!1;async function C(e){let n=await pt(o);if(x||(f=n,!e))return;let r=ut(n,Date.now()).filter(e=>!e.recurring&&!m.has(e.id)&&(!u||u(e)));if(r.length>0){for(let e of r)m.add(e.id),p.set(e.id,1/0);A(`tengu_scheduled_task_missed`,{count:r.length,taskIds:r.map(e=>e.id).join(`,`)}),a?a(r):t(Fn(r)),ct(r.map(e=>e.id),o).catch(e=>k(`[ScheduledTasks] failed to remove missed tasks: ${e}`)),k(`[ScheduledTasks] surfaced ${r.length} missed one-shot task(s)`)}}function re(){if(l?.()||n()&&!r)return;let e=Date.now(),a=new Set,s=[],d=c?.()??B;function m(n,r){if(u&&!u(n)||(a.add(n.id),h.has(n.id)))return;let c=p.get(n.id);if(c===void 0&&(c=n.recurring?st(n.cron,n.lastFiredAt??n.createdAt,n.id,d)??1/0:lt(n.cron,n.createdAt,n.id,d)??1/0,p.set(n.id,c),k(`[ScheduledTasks] scheduled ${n.id} for ${c===1/0?`never`:new Date(c).toISOString()}`)),e<c)return;k(`[ScheduledTasks] firing ${n.id}${n.recurring?` (recurring)`:``}`),A(`tengu_scheduled_task_fire`,{recurring:n.recurring??!1,taskId:n.id}),i?i(n):t(n.prompt);let l=Nn(n,e,d.recurringMaxAgeMs);if(l){let t=Math.floor((e-n.createdAt)/1e3/60/60);k(`[ScheduledTasks] recurring task ${n.id} aged out (${t}h since creation), deleting after final fire`),A(`tengu_scheduled_task_expired`,{taskId:n.id,ageHours:t})}if(n.recurring&&!l){let t=st(n.cron,e,n.id,d)??1/0;p.set(n.id,t),r||s.push(n.id)}else r?(ne([n.id]),p.delete(n.id)):(h.add(n.id),ct([n.id],o).catch(e=>k(`[ScheduledTasks] failed to remove task ${n.id}: ${e}`)).finally(()=>h.delete(n.id)),p.delete(n.id))}if(S){for(let e of f)m(e,!1);if(s.length>0){for(let e of s)h.add(e);ft(s,e,o).catch(e=>k(`[ScheduledTasks] failed to persist lastFiredAt: ${e}`)).finally(()=>{for(let e of s)h.delete(e)})}}if(o===void 0)for(let e of ee())m(e,!0);if(a.size===0){p.clear();return}for(let e of p.keys())a.has(e)||p.delete(e)}async function w(){if(x)return;g&&(clearInterval(g),g=null);let{default:e}=await import(`./chokidar-BcI3rIKm.js`);if(x)return;if(S=await On(d).catch(()=>!1),x){S&&(S=!1,J(d));return}S||(v=setInterval(()=>{On(d).then(e=>{if(x){e&&J(d);return}e&&(S=!0,v&&(clearInterval(v),v=null))}).catch(e=>k(String(e),{level:`error`}))},Q),v.unref?.()),C(!0);let t=mt(o);y=e.watch(t,{persistent:!1,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:In},ignorePermissionErrors:!0}),y.on(`add`,()=>void C(!1)),y.on(`change`,()=>void C(!1)),y.on(`unlink`,()=>{x||(f=[],p.clear())}),_=setInterval(re,Z),_.unref?.()}return{start(){if(x=!1,o!==void 0){k(`[ScheduledTasks] scheduler start() — dir=${o}, hasTasks=${z(o)}`),w();return}if(k(`[ScheduledTasks] scheduler start() — enabled=${b()}, hasTasks=${z()}`),!b()&&(r||z())&&te(!0),b()){w();return}g=setInterval(e=>{b()&&e()},Z,w),g.unref?.()},stop(){x=!0,g&&(clearInterval(g),g=null),_&&(clearInterval(_),_=null),v&&(clearInterval(v),v=null),y?.close(),y=null,S&&(S=!1,J(d))},getNextFireTime(){let e=1/0;for(let t of p.values())t<e&&(e=t);return e===1/0?null:e}}}function Fn(e){let t=e.length>1;return`${`The following one-shot scheduled task${t?`s were`:` was`} missed while Claude was not running. ${t?`They have`:`It has`} already been removed from .claude/scheduled_tasks.json.\n\nDo NOT execute ${t?`these prompts`:`this prompt`} yet. First use the AskUserQuestion tool to ask whether to run ${t?`each one`:`it`} now. Only execute if the user confirms.`}\n\n${e.map(e=>{let t=`[${ht(e.cron)}, created ${new Date(e.createdAt).toLocaleString()}]`,n=(e.prompt.match(/`+/g)??[]).reduce((e,t)=>Math.max(e,t.length),0),r="`".repeat(Math.max(3,n+1));return`${t}\n${r}\n${e.prompt}\n${r}`}).join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./figures-gfT9mM8P.js";import{Cn as i,F as a,In as o,Ln as s,Mn as c,Rn as l,T as u,Ut as d,_ as f,b as p,g as m,h,l as ee,m as te,t as g,tt as _,x as v,xt as y}from"./src-Di342QoJ.js";import{t as b}from"./jsx-runtime-D-D469L8.js";import{Ct as ne,cn as x,ot as re}from"./state-sIHsFpDu.js";import{Mr as ie,Pr as ae}from"./paths-BZjPDxMm.js";import{D as S,E as oe,l as C,p as w}from"./debug-otxXY3j-.js";import{n as se,r as T}from"./analytics-DqMQntaB.js";import{i as ce,v as le}from"./git-C0IuvuIy.js";import{a as ue,o as E,s as de}from"./log-DSV4Ht5l.js";import{b as D,x as fe}from"./teammate-CbskW5G9.js";import{T as O,b as pe,f as me,h as he}from"./startupProfiler-CBcN1Chw.js";import{DC as ge,EC as k,Fr as A,Jr as _e,Ky as ve,Lr as ye,R_ as be,Ri as xe,Si as Se,Wy as Ce,Yu as we,Zu as Te,aS as Ee,dS as De,fS as Oe,gb as ke,hb as Ae,kr as j,oS as je,xr as Me,z_ as Ne,zi as Pe,zr as Fe}from"./loadAgentsDir-BYWykYwn.js";import{i as Ie,r as M}from"./shellQuote-CBjhlaFO.js";import{t as N}from"./useKeybinding-DPOUuymz.js";import{t as Le}from"./useTerminalSize-Du-EamDN.js";import{n as Re,t as ze}from"./useExitOnCtrlCDWithKeybindings-BHi41Ku_.js";import{t as Be}from"./SearchBox-Bu4gYF0J.js";import{n as Ve,t as He}from"./useSearchInput-BpMLsxaS.js";import{n as Ue,t as P}from"./Messages-CQdQJ2AA.js";import{n as We,t as Ge}from"./fuse-D7icKomM.js";import{sep as F}from"path";function Ke({log:e,onExit:t,onSelect:n}){let[r,i]=I.useState(null);I.useEffect(()=>{i(null),Fe(e)&&_e(e).then(i)},[e]);let a=Fe(e)&&r===null,o=r??e,s=j(o)||``,c=we();return _(`confirm:no`,t,{context:`Confirmation`}),_(`confirm:yes`,(0,I.useCallback)(()=>{n(r??e)},[n,r,e]),{context:`Confirmation`}),a?(0,L.jsxs)(v,{flexDirection:`column`,padding:1,children:[(0,L.jsx)(ee,{message:`Loading session…`}),(0,L.jsx)(p,{dimColor:!0,children:(0,L.jsx)(h,{children:(0,L.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,L.jsxs)(v,{flexDirection:`column`,children:[(0,L.jsx)(P,{messages:o.messages,tools:c,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:s,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,L.jsxs)(v,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,L.jsxs)(p,{children:[he(o.modified),` · `,o.messageCount,` messages`,o.gitBranch?` · ${o.gitBranch}`:``]}),(0,L.jsx)(p,{dimColor:!0,children:(0,L.jsxs)(h,{children:[(0,L.jsx)(m,{shortcut:`Enter`,action:`resume`}),(0,L.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var I,L,R=e((()=>{I=t(l(),1),g(),N(),Te(),pe(),A(),ge(),Ue(),L=b()}));function qe(e,t){if(e===B)return 3+V;let n=i(e),r=t?Math.min(n,t-V-H):n;return Math.max(0,r)+V+H}function Je(e,t){let n=t-V-H;return i(e)<=n?e:n<=1?e.charAt(0):O(e,n)}function Ye({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,o=Math.max(U,W),s=n-a-o-2,c=Math.max(0,Math.min(t,e.length-1)),l=Math.max(20,Math.floor(s/2)),u=e.map(e=>qe(e,l)),d=0,f=e.length;if(u.reduce((e,t,n)=>e+t+ +(n<u.length-1),0)>s){let t=s-tt,n=u[c]??0;for(d=c,f=c+1;d>0||f<e.length;){let r=d>0,i=f<e.length;if(r){let e=(u[d-1]??0)+1;if(n+e<=t){d--,n+=e;continue}}if(i){let e=(u[f]??0)+1;if(n+e<=t){f++,n+=e;continue}}break}}let m=d,h=e.length-f,ee=e.slice(d,f),te=ee.map((e,t)=>d+t);return(0,z.jsxs)(v,{flexDirection:`row`,gap:1,children:[(0,z.jsx)(p,{color:`suggestion`,children:i}),m>0&&(0,z.jsxs)(p,{dimColor:!0,children:[Xe,m]}),ee.map((e,t)=>{let n=te[t]===c,r=e===B?e:`#${Je(e,l-V)}`;return(0,z.jsxs)(p,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),h>0?(0,z.jsxs)(p,{dimColor:!0,children:[Ze,h,Qe]}):(0,z.jsx)(p,{dimColor:!0,children:$e})]})}var z,B,V,H,Xe,Ze,Qe,$e,et,tt,U,W,nt=e((()=>{l(),g(),pe(),z=b(),B=`All`,V=2,H=1,Xe=`← `,Ze=`→`,Qe=` (tab to cycle)`,$e=`(tab to cycle)`,et=2,tt=2+et+1,U=1+et+15,W=14}));function rt({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:o=`expanded`,isDisabled:s=!1,hideIndexes:c=!1,isNodeExpanded:l,onExpand:u,onCollapse:d,getParentPrefix:f,getChildPrefix:p,onUpFromFirstItem:m}){let[h,ee]=G.useState(new Set),te=G.useRef(!1),g=G.useRef(null),_=G.useCallback(e=>l?l(e):h.has(e),[l,h]),y=G.useMemo(()=>{let t=[];function n(e,r,i){let a=!!e.children&&e.children.length>0,o=_(e.id);if(t.push({node:e,depth:r,isExpanded:o,hasChildren:a,parentId:i}),a&&o&&e.children)for(let t of e.children)n(t,r+1,e.id)}for(let t of e)n(t,0);return t},[e,_]),b=G.useCallback(e=>e?`▼ `:`▶ `,[]),ne=G.useCallback(e=>` ▸ `,[]),x=f??b,re=p??ne,ie=G.useCallback(e=>{let t=``;return e.hasChildren?t=x(e.isExpanded):e.depth>0&&(t=re(e.depth)),t+e.node.label},[x,re]),ae=G.useMemo(()=>y.map(e=>({label:ie(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[y,ie]),S=G.useMemo(()=>{let e=new Map;return y.forEach(t=>e.set(t.node.id,t.node)),e},[y]),oe=G.useCallback(e=>y.find(t=>t.node.id===e),[y]),C=G.useCallback((e,t)=>{let n=oe(e);!n||!n.hasChildren||(t?u?u(e):ee(t=>new Set(t).add(e)):d?d(e):ee(t=>{let n=new Set(t);return n.delete(e),n}))},[oe,u,d]);return(0,it.jsx)(v,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||s)return;let t=oe(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),C(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),C(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),te.current=!0,C(t.parentId,!1),r)){let e=S.get(t.parentId);e&&r(e)}}}},children:(0,it.jsx)(Ee,{options:ae,onChange:G.useCallback(e=>{let n=S.get(e);n&&t(n)},[S,t]),onFocus:G.useCallback(e=>{if(te.current){te.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=S.get(e);t&&r(t)}},[r,S]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:o,isDisabled:s,hideIndexes:c,onUpFromFirstItem:m})})}var G,it,at=e((()=>{G=t(l(),1),g(),je(),it=b()}));function ot(e,t){return O(e.replace(/\s+/g,` `).trim(),t)}function st({before:e,match:t,after:n},r){return o.dim(e)+r(t)+o.dim(n)}function ct(e,t,n){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r===-1)return null;let i=r+t.length,a=Math.max(0,r-n),o=Math.min(e.length,i+n),s=e.slice(a,r),c=e.slice(r,i),l=e.slice(i,o);return{before:(a>0?`…`:``)+s.replace(/\s+/g,` `).trimStart(),match:c.trim(),after:l.replace(/\s+/g,` `).trimEnd()+(o<e.length?`…`:``)}}function lt(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?gt:i?J:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${ot(ue(e),l)}${c}${s}`}function ut(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=me(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function dt({logs:e,maxHeight:t=1/0,forceWidth:n,onCancel:i,onSelect:o,onLogsChanged:s,onLoadMore:l,initialSearchQuery:ee,showAllProjects:g=!1,onToggleAllProjects:b,onAgenticSearch:x}){let ie=a(),ae=n===void 0?ie.columns:n,S=Re(i),oe=d(),C=ye(),w=process.env.USER_TYPE===`ant`,[se]=u(),le=Ae(se),E=K.useMemo(()=>e=>c(e,le.warning),[le.warning]),de=process.env.USER_TYPE===`ant`,[D,fe]=K.useState(null),[O,pe]=K.useState(!1),[he,ge]=K.useState(!1),[A,_e]=K.useState(!1),ve=K.useMemo(()=>re(),[]),[be,we]=K.useState(``),[Te,Oe]=K.useState(0),[ke,je]=K.useState(new Set),[Ne,Pe]=K.useState(null),[Fe,Ie]=K.useState(1),[M,N]=K.useState(`list`),[Le,ze]=K.useState(null),Be=K.useRef(null),[He,Ue]=K.useState(0),[P,We]=K.useState({status:`idle`}),[F,I]=K.useState(!1),L=K.useRef(null),{query:R,setQuery:qe,cursorOffset:Je}=Ve({isActive:M===`search`&&P.status!==`searching`,onExit:()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},onExitUp:()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},passthroughCtrlKeys:[`n`],initialQuery:ee||``}),z=K.useDeferredValue(R),[B,V]=K.useState(``);K.useEffect(()=>{if(!z){V(``);return}let e=setTimeout(V,300,z);return()=>clearTimeout(e)},[z]);let[H,Xe]=K.useState(null),[Ze,Qe]=K.useState(!1);K.useEffect(()=>{ce().then(e=>fe(e)),xe(ve).then(e=>{_e(e.length>1)})},[ve]);let $e=K.useMemo(()=>new Map(e.map(e=>[e,pt(e)])),[e]),et=K.useMemo(()=>w?new Ge(e.map(e=>({log:e,searchableText:$e.get(e)??``})).filter(e=>e.searchableText),{keys:[`searchableText`],threshold:_t,ignoreLocation:!0,includeScore:!0}):null,[e,$e,w]),tt=K.useMemo(()=>ht(e),[e]),U=tt.length>0,W=K.useMemo(()=>U?[`All`,...tt]:[],[U,tt]),nt=W.length>0&&He<W.length?He:0,G=W[nt],it=G===`All`?void 0:G,at=+!!U,dt=K.useMemo(()=>{let t=e;return C&&(t=e.filter(e=>{let t=ne(),n=j(e);return!!(t&&n===t||e.customTitle||Me(e.messages)||e.firstPrompt||e.customTitle)})),it!==void 0&&(t=t.filter(e=>e.tag===it)),O&&D&&(t=t.filter(e=>e.gitBranch===D)),A&&!he&&(t=t.filter(e=>e.projectPath===ve)),t},[e,C,it,O,D,A,he,ve]),ft=K.useMemo(()=>{if(!R)return dt;let e=R.toLowerCase();return dt.filter(t=>{let n=ue(t).toLowerCase(),r=(t.gitBranch||``).toLowerCase(),i=(t.tag||``).toLowerCase(),a=t.prNumber?`pr #${t.prNumber} ${t.prRepository||``}`.toLowerCase():``;return n.includes(e)||r.includes(e)||i.includes(e)||a.includes(e)})},[dt,R]);K.useEffect(()=>{w&&z&&z!==B&&Qe(!0)},[z,B,w]),K.useEffect(()=>{if(!w||!B||!et){Xe(null),Qe(!1);return}let e=setTimeout((e,t,n,r)=>{let i=e.search(t);i.sort((e,t)=>{let n=new Date(e.item.log.modified).getTime(),r=new Date(t.item.log.modified).getTime()-n;return Math.abs(r)>vt?r:(e.score??1)-(t.score??1)}),n({results:i.map(e=>({log:e.item.log,score:e.score,searchableText:e.item.searchableText})),query:t}),r(!1)},0,et,B,Xe,Qe);return()=>{clearTimeout(e)}},[B,et,w]);let{filteredLogs:gt,snippets:J}=K.useMemo(()=>{let e=new Map,t=ft;if(H&&B&&H.query===B){for(let t of H.results)if(t.searchableText){let n=ct(t.searchableText,B,yt);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=H.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ft,H,B]),Y=K.useMemo(()=>P.status===`results`&&P.results.length>0?P.results:gt,[P,gt]),X=Math.max(30,ae-4),Z=K.useMemo(()=>{if(!C)return[];let e=mt(Y);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Y.indexOf(n),i=J.get(n),a=i?st(i,E):null;if(t.length===1){let t=ut(n,{showProjectPath:g});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:lt(n,X),description:a?`${t}\n ${a}`:t,dimDescription:!0}}let o=t.length-1,s=t.slice(1).map((t,n)=>{let r=Y.indexOf(t),i=J.get(t),a=i?st(i,E):null,o=ut(t,{isChild:!0,showProjectPath:g});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:lt(t,X,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=ut(n,{showProjectPath:g});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:lt(n,X,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[C,Y,X,g,J,E]),bt=K.useMemo(()=>C?[]:Y.map((e,t)=>{let n=ot(ue(e)+(e.isSidechain?` (sidechain)`:``),X),r=me(e),i=g&&e.projectPath?` · ${e.projectPath}`:``,a=J.get(e),o=a?st(a,E):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[C,Y,E,X,g,J]),Q=Ne?.value.log??null,xt=()=>{if(!C||!Q)return``;let e=j(Q);if(!e)return``;let t=Y.filter(t=>j(t)===e);if(!(t.length>1))return``;let n=ke.has(e);return t.indexOf(Q)>0||n?`← to collapse`:`→ to expand`},St=K.useCallback(async()=>{let e=Q?j(Q):void 0;if(!Q||!e){N(`list`),we(``);return}be.trim()&&(await Se(e,be.trim(),Q.fullPath),C&&s&&s()),N(`list`),we(``)},[Q,be,s,C]),Ct=K.useCallback(()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},[]),wt=K.useCallback(()=>{N(`search`),T(`tengu_session_search_toggled`,{enabled:!0})},[]),Tt=K.useCallback(async()=>{if(!R.trim()||!x||!de)return;L.current?.abort();let t=new AbortController;L.current=t,We({status:`searching`}),T(`tengu_agentic_search_started`,{query_length:R.length});try{let n=await x(R,e,t.signal);if(t.signal.aborted)return;We({status:`results`,results:n,query:R}),T(`tengu_agentic_search_completed`,{query_length:R.length,results_count:n.length})}catch(e){if(t.signal.aborted)return;We({status:`error`,message:e instanceof Error?e.message:`Search failed`}),T(`tengu_agentic_search_error`,{query_length:R.length})}},[R,x,de,e]);K.useEffect(()=>{P.status!==`idle`&&P.status!==`searching`&&(P.status===`results`&&P.query!==R||P.status===`error`)&&We({status:`idle`})},[R,P]),K.useEffect(()=>()=>{L.current?.abort()},[]);let Et=K.useRef(P.status);K.useEffect(()=>{let e=Et.current;if(Et.current=P.status,e===`searching`&&P.status===`results`){if(C&&Z.length>0)Pe(Z[0]);else if(!C&&Y.length>0){let e=Y[0];Pe({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[P.status,C,Z,Y]);let Dt=K.useCallback(e=>{let t=parseInt(e,10),n=Y[t];!n||Be.current===t.toString()||(Be.current=t.toString(),Pe({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Ie(t+1))},[Y]),Ot=K.useCallback(e=>{Pe(e);let t=Y.findIndex(t=>j(t)===j(e.value.log));t>=0&&Ie(t+1)},[Y]);_(`confirm:no`,()=>{L.current?.abort(),We({status:`idle`}),T(`tengu_agentic_search_cancelled`,{})},{context:`Confirmation`,isActive:M!==`preview`&&P.status===`searching`}),_(`confirm:no`,()=>{N(`list`),we(``)},{context:`Settings`,isActive:M===`rename`&&P.status!==`searching`}),_(`confirm:no`,()=>{qe(``),I(!1),i?.()},{context:`Confirmation`,isActive:M!==`preview`&&M!==`rename`&&M!==`search`&&F&&P.status!==`searching`}),y((e,t)=>{if(M!==`preview`&&P.status!==`searching`&&M!==`rename`)if(M===`search`)e.toLowerCase()===`n`&&t.ctrl?Ct():(t.return||t.downArrow)&&R.trim()&&x&&de&&P.status!==`results`&&I(!0);else{if(F){if(t.return){Tt(),I(!1);return}else if(t.downArrow){I(!1);return}else if(t.upArrow){N(`search`),I(!1);return}}if(U&&t.tab){let e=t.shift?-1:1;Ue(t=>{let n=((t<W.length?t:0)+W.length+e)%W.length,r=W[n];return T(`tengu_session_tag_filter_changed`,{is_all:r===`All`,tag_count:tt.length}),n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();if(r===`a`&&t.ctrl&&b)b(),T(`tengu_session_all_projects_toggled`,{enabled:!g});else if(r===`b`&&t.ctrl){let e=!O;pe(e),T(`tengu_session_branch_filter_toggled`,{enabled:e})}else if(r===`w`&&t.ctrl&&A){let e=!he;ge(e),T(`tengu_session_worktree_filter_toggled`,{enabled:e})}else r===`/`&&n?(N(`search`),T(`tengu_session_search_toggled`,{enabled:!0})):r===`r`&&t.ctrl&&Q?(N(`rename`),we(``),T(`tengu_session_rename_started`,{})):r===`v`&&t.ctrl&&Q?(ze(Q),N(`preview`),T(`tengu_session_preview_opened`,{messageCount:Q.messageCount})):Q&&n&&e.length>0&&!/^\s+$/.test(e)&&(N(`search`),qe(e),T(`tengu_session_search_toggled`,{enabled:!0}))}},{isActive:!0});let kt=[];O&&D&&kt.push(D),A&&!he&&kt.push(`current worktree`);let At=8+ +(kt.length>0&&M!==`search`)+at,$=Math.max(1,Math.floor((t-At-2)/3));return K.useEffect(()=>{l&&Fe+$*2>=Y.length&&l($*3)},[Fe,$,Y.length,l]),e.length===0?null:M===`preview`&&Le&&C?(0,q.jsx)(Ke,{log:Le,onExit:()=>{N(`list`),ze(null)},onSelect:o}):(0,q.jsxs)(v,{flexDirection:`column`,height:t-1,children:[(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(te,{color:`suggestion`})}),(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(p,{children:` `})}),U?(0,q.jsx)(Ye,{tabs:W,selectedIndex:nt,availableWidth:ae,showAllProjects:g}):(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsxs)(p,{bold:!0,color:`suggestion`,children:[`Resume Session`,M===`list`&&Y.length>$&&(0,q.jsxs)(p,{dimColor:!0,children:[` `,`(`,Fe,` of `,Y.length,`)`]})]})}),(0,q.jsx)(f,{query:R,isFocused:M===`search`,isTerminalFocused:oe,cursorOffset:Je}),kt.length>0&&M!==`search`&&(0,q.jsx)(v,{flexShrink:0,paddingLeft:2,children:(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsx)(h,{children:kt})})}),(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(p,{children:` `})}),P.status===`searching`&&(0,q.jsxs)(v,{paddingLeft:1,flexShrink:0,children:[(0,q.jsx)(Ce,{}),(0,q.jsx)(p,{children:` Searching…`})]}),P.status===`results`&&P.results.length>0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`Claude found these results:`})}),P.status===`results`&&P.results.length===0&>.length===0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),P.status===`error`&>.length===0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!R.trim()&&x&&de&&P.status!==`searching`&&P.status!==`results`&&P.status!==`error`&&(0,q.jsxs)(v,{flexShrink:0,flexDirection:`column`,children:[(0,q.jsxs)(v,{flexDirection:`row`,gap:1,children:[(0,q.jsx)(p,{color:F?`suggestion`:void 0,children:F?r.pointer:` `}),(0,q.jsx)(p,{color:F?`suggestion`:void 0,bold:F,children:`Search deeply using Claude →`})]}),(0,q.jsx)(v,{height:1})]}),P.status===`searching`?null:M===`rename`&&Q?(0,q.jsxs)(v,{paddingLeft:2,flexDirection:`column`,children:[(0,q.jsx)(p,{bold:!0,children:`Rename session:`}),(0,q.jsx)(v,{paddingTop:1,children:(0,q.jsx)(De,{value:be,onChange:we,onSubmit:St,placeholder:ue(Q,`Enter new session name`),columns:ae,cursorOffset:Te,onChangeCursorOffset:Oe,showCursor:!0})})]}):C?(0,q.jsx)(rt,{nodes:Z,onSelect:e=>{o(e.value.log)},onFocus:Ot,onCancel:i,focusNodeId:Ne?.id,visibleOptionCount:$,layout:`expanded`,isDisabled:M===`search`||F,hideIndexes:!1,isNodeExpanded:e=>{if(M===`search`||O)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?ke.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&(je(e=>new Set(e).add(t)),T(`tengu_session_group_expanded`,{}))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&je(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:wt}):(0,q.jsx)(Ee,{options:bt,onChange:e=>{let t=Y[parseInt(e,10)];t&&o(t)},visibleOptionCount:$,onCancel:i,onFocus:Dt,defaultFocusValue:Ne?.id.toString(),layout:`expanded`,isDisabled:M===`search`||F,onUpFromFirstItem:wt}),(0,q.jsx)(v,{paddingLeft:2,children:S.pending?(0,q.jsxs)(p,{dimColor:!0,children:[`Press `,S.keyName,` again to exit`]}):M===`rename`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(m,{shortcut:`Enter`,action:`save`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):P.status===`searching`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(p,{children:`Searching with Claude…`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):F?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(m,{shortcut:`Enter`,action:`search`}),(0,q.jsx)(m,{shortcut:`↓`,action:`skip`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):M===`search`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(p,{children:Ze&&w?`Searching…`:`Type to Search`}),(0,q.jsx)(m,{shortcut:`Enter`,action:`select`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[b&&(0,q.jsx)(m,{shortcut:`Ctrl+A`,action:`show ${g?`current dir`:`all projects`}`}),D&&(0,q.jsx)(m,{shortcut:`Ctrl+B`,action:`toggle branch`}),A&&(0,q.jsx)(m,{shortcut:`Ctrl+W`,action:`show ${he?`current worktree`:`all worktrees`}`}),(0,q.jsx)(m,{shortcut:`Ctrl+V`,action:`preview`}),(0,q.jsx)(m,{shortcut:`Ctrl+R`,action:`rename`}),(0,q.jsx)(p,{children:`Type to search`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),xt()&&(0,q.jsx)(p,{children:xt()})]})})})]})}function ft(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function pt(e){let t=(e.messages.length<=Y?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-X)]).map(ft).filter(Boolean).join(` `),n=`${[e.customTitle,e.summary,e.firstPrompt,e.gitBranch,e.tag,e.prNumber?`PR #${e.prNumber}`:void 0,e.prRepository].filter(Boolean).join(` `)} ${t}`.trim();return n.length>Z?n.slice(0,Z):n}function mt(e){let t=new Map;for(let n of e){let e=j(n);if(e){let r=t.get(e);r?r.push(n):t.set(e,[n])}}return t.forEach(e=>e.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime())),t}function ht(e){let t=new Set;for(let n of e)n.tag&&t.add(n.tag);return Array.from(t).sort((e,t)=>e.localeCompare(t))}var K,q,gt,J,Y,X,Z,_t,vt,yt,bt=e((()=>{s(),n(),We(),K=t(l(),1),x(),ze(),He(),Le(),g(),N(),se(),pe(),Pe(),le(),E(),A(),ke(),ge(),je(),Be(),R(),ve(),nt(),Oe(),at(),q=b(),gt=2,J=4,Y=2e3,X=1e3,Z=5e4,_t=.3,vt=60*1e3,yt=50}));function Q(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function xt(e){if(e.length===0)return``;let t=(e.length<=Tt?e:[...e.slice(0,Tt/2),...e.slice(-Tt/2)]).map(Q).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>wt?t.slice(0,wt)+`…`:t}function St(e,t){return!!(ue(e).toLowerCase().includes(t)||e.customTitle?.toLowerCase().includes(t)||e.tag?.toLowerCase().includes(t)||e.gitBranch?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.firstPrompt?.toLowerCase().includes(t)||e.messages&&e.messages.length>0&&xt(e.messages).toLowerCase().includes(t))}async function Ct(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>St(e,r)),a;if(i.length>=Et)a=i.slice(0,Et);else{let e=t.filter(e=>!St(e,r)),n=Et-i.length;a=[...i,...e.slice(0,n)]}w(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${D(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(Fe(e))try{return await _e(e)}catch(t){return de(t),e}return e}),s=await Promise.all(o);w(`Agentic search: loaded ${D(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{n,t as r}from"./figures-gfT9mM8P.js";import{Cn as i,F as a,In as o,Ln as s,Mn as c,Rn as l,T as u,Ut as d,_ as f,b as p,g as m,h,l as ee,m as te,t as g,tt as _,x as v,xt as y}from"./src-Di342QoJ.js";import{t as b}from"./jsx-runtime-D-D469L8.js";import{Ct as ne,cn as x,ot as re}from"./state-sIHsFpDu.js";import{Mr as ie,Pr as ae}from"./paths-CEAy4QCs.js";import{D as S,E as oe,l as C,p as w}from"./debug-otxXY3j-.js";import{n as se,r as T}from"./analytics-DqMQntaB.js";import{i as ce,v as le}from"./git-C0IuvuIy.js";import{a as ue,o as E,s as de}from"./log-DSV4Ht5l.js";import{b as D,x as fe}from"./teammate-CbskW5G9.js";import{T as O,b as pe,f as me,h as he}from"./startupProfiler-CBcN1Chw.js";import{DC as ge,EC as k,Fr as A,Jr as _e,Ky as ve,Lr as ye,R_ as be,Ri as xe,Si as Se,Wy as Ce,Yu as we,Zu as Te,aS as Ee,dS as De,fS as Oe,gb as ke,hb as Ae,kr as j,oS as je,xr as Me,z_ as Ne,zi as Pe,zr as Fe}from"./loadAgentsDir-DC4jN6-f.js";import{i as Ie,r as M}from"./shellQuote-CBjhlaFO.js";import{t as N}from"./useKeybinding-DPOUuymz.js";import{t as Le}from"./useTerminalSize-Du-EamDN.js";import{n as Re,t as ze}from"./useExitOnCtrlCDWithKeybindings-BHi41Ku_.js";import{t as Be}from"./SearchBox-Bu4gYF0J.js";import{n as Ve,t as He}from"./useSearchInput-CwxF3CHN.js";import{n as Ue,t as P}from"./Messages-ltcn1Qkf.js";import{n as We,t as Ge}from"./fuse-D7icKomM.js";import{sep as F}from"path";function Ke({log:e,onExit:t,onSelect:n}){let[r,i]=I.useState(null);I.useEffect(()=>{i(null),Fe(e)&&_e(e).then(i)},[e]);let a=Fe(e)&&r===null,o=r??e,s=j(o)||``,c=we();return _(`confirm:no`,t,{context:`Confirmation`}),_(`confirm:yes`,(0,I.useCallback)(()=>{n(r??e)},[n,r,e]),{context:`Confirmation`}),a?(0,L.jsxs)(v,{flexDirection:`column`,padding:1,children:[(0,L.jsx)(ee,{message:`Loading session…`}),(0,L.jsx)(p,{dimColor:!0,children:(0,L.jsx)(h,{children:(0,L.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,L.jsxs)(v,{flexDirection:`column`,children:[(0,L.jsx)(P,{messages:o.messages,tools:c,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:s,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,L.jsxs)(v,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,L.jsxs)(p,{children:[he(o.modified),` · `,o.messageCount,` messages`,o.gitBranch?` · ${o.gitBranch}`:``]}),(0,L.jsx)(p,{dimColor:!0,children:(0,L.jsxs)(h,{children:[(0,L.jsx)(m,{shortcut:`Enter`,action:`resume`}),(0,L.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var I,L,R=e((()=>{I=t(l(),1),g(),N(),Te(),pe(),A(),ge(),Ue(),L=b()}));function qe(e,t){if(e===B)return 3+V;let n=i(e),r=t?Math.min(n,t-V-H):n;return Math.max(0,r)+V+H}function Je(e,t){let n=t-V-H;return i(e)<=n?e:n<=1?e.charAt(0):O(e,n)}function Ye({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,o=Math.max(U,W),s=n-a-o-2,c=Math.max(0,Math.min(t,e.length-1)),l=Math.max(20,Math.floor(s/2)),u=e.map(e=>qe(e,l)),d=0,f=e.length;if(u.reduce((e,t,n)=>e+t+ +(n<u.length-1),0)>s){let t=s-tt,n=u[c]??0;for(d=c,f=c+1;d>0||f<e.length;){let r=d>0,i=f<e.length;if(r){let e=(u[d-1]??0)+1;if(n+e<=t){d--,n+=e;continue}}if(i){let e=(u[f]??0)+1;if(n+e<=t){f++,n+=e;continue}}break}}let m=d,h=e.length-f,ee=e.slice(d,f),te=ee.map((e,t)=>d+t);return(0,z.jsxs)(v,{flexDirection:`row`,gap:1,children:[(0,z.jsx)(p,{color:`suggestion`,children:i}),m>0&&(0,z.jsxs)(p,{dimColor:!0,children:[Xe,m]}),ee.map((e,t)=>{let n=te[t]===c,r=e===B?e:`#${Je(e,l-V)}`;return(0,z.jsxs)(p,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),h>0?(0,z.jsxs)(p,{dimColor:!0,children:[Ze,h,Qe]}):(0,z.jsx)(p,{dimColor:!0,children:$e})]})}var z,B,V,H,Xe,Ze,Qe,$e,et,tt,U,W,nt=e((()=>{l(),g(),pe(),z=b(),B=`All`,V=2,H=1,Xe=`← `,Ze=`→`,Qe=` (tab to cycle)`,$e=`(tab to cycle)`,et=2,tt=2+et+1,U=1+et+15,W=14}));function rt({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:o=`expanded`,isDisabled:s=!1,hideIndexes:c=!1,isNodeExpanded:l,onExpand:u,onCollapse:d,getParentPrefix:f,getChildPrefix:p,onUpFromFirstItem:m}){let[h,ee]=G.useState(new Set),te=G.useRef(!1),g=G.useRef(null),_=G.useCallback(e=>l?l(e):h.has(e),[l,h]),y=G.useMemo(()=>{let t=[];function n(e,r,i){let a=!!e.children&&e.children.length>0,o=_(e.id);if(t.push({node:e,depth:r,isExpanded:o,hasChildren:a,parentId:i}),a&&o&&e.children)for(let t of e.children)n(t,r+1,e.id)}for(let t of e)n(t,0);return t},[e,_]),b=G.useCallback(e=>e?`▼ `:`▶ `,[]),ne=G.useCallback(e=>` ▸ `,[]),x=f??b,re=p??ne,ie=G.useCallback(e=>{let t=``;return e.hasChildren?t=x(e.isExpanded):e.depth>0&&(t=re(e.depth)),t+e.node.label},[x,re]),ae=G.useMemo(()=>y.map(e=>({label:ie(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[y,ie]),S=G.useMemo(()=>{let e=new Map;return y.forEach(t=>e.set(t.node.id,t.node)),e},[y]),oe=G.useCallback(e=>y.find(t=>t.node.id===e),[y]),C=G.useCallback((e,t)=>{let n=oe(e);!n||!n.hasChildren||(t?u?u(e):ee(t=>new Set(t).add(e)):d?d(e):ee(t=>{let n=new Set(t);return n.delete(e),n}))},[oe,u,d]);return(0,it.jsx)(v,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||s)return;let t=oe(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),C(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),C(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),te.current=!0,C(t.parentId,!1),r)){let e=S.get(t.parentId);e&&r(e)}}}},children:(0,it.jsx)(Ee,{options:ae,onChange:G.useCallback(e=>{let n=S.get(e);n&&t(n)},[S,t]),onFocus:G.useCallback(e=>{if(te.current){te.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=S.get(e);t&&r(t)}},[r,S]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:o,isDisabled:s,hideIndexes:c,onUpFromFirstItem:m})})}var G,it,at=e((()=>{G=t(l(),1),g(),je(),it=b()}));function ot(e,t){return O(e.replace(/\s+/g,` `).trim(),t)}function st({before:e,match:t,after:n},r){return o.dim(e)+r(t)+o.dim(n)}function ct(e,t,n){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r===-1)return null;let i=r+t.length,a=Math.max(0,r-n),o=Math.min(e.length,i+n),s=e.slice(a,r),c=e.slice(r,i),l=e.slice(i,o);return{before:(a>0?`…`:``)+s.replace(/\s+/g,` `).trimStart(),match:c.trim(),after:l.replace(/\s+/g,` `).trimEnd()+(o<e.length?`…`:``)}}function lt(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?gt:i?J:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${ot(ue(e),l)}${c}${s}`}function ut(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=me(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function dt({logs:e,maxHeight:t=1/0,forceWidth:n,onCancel:i,onSelect:o,onLogsChanged:s,onLoadMore:l,initialSearchQuery:ee,showAllProjects:g=!1,onToggleAllProjects:b,onAgenticSearch:x}){let ie=a(),ae=n===void 0?ie.columns:n,S=Re(i),oe=d(),C=ye(),w=process.env.USER_TYPE===`ant`,[se]=u(),le=Ae(se),E=K.useMemo(()=>e=>c(e,le.warning),[le.warning]),de=process.env.USER_TYPE===`ant`,[D,fe]=K.useState(null),[O,pe]=K.useState(!1),[he,ge]=K.useState(!1),[A,_e]=K.useState(!1),ve=K.useMemo(()=>re(),[]),[be,we]=K.useState(``),[Te,Oe]=K.useState(0),[ke,je]=K.useState(new Set),[Ne,Pe]=K.useState(null),[Fe,Ie]=K.useState(1),[M,N]=K.useState(`list`),[Le,ze]=K.useState(null),Be=K.useRef(null),[He,Ue]=K.useState(0),[P,We]=K.useState({status:`idle`}),[F,I]=K.useState(!1),L=K.useRef(null),{query:R,setQuery:qe,cursorOffset:Je}=Ve({isActive:M===`search`&&P.status!==`searching`,onExit:()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},onExitUp:()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},passthroughCtrlKeys:[`n`],initialQuery:ee||``}),z=K.useDeferredValue(R),[B,V]=K.useState(``);K.useEffect(()=>{if(!z){V(``);return}let e=setTimeout(V,300,z);return()=>clearTimeout(e)},[z]);let[H,Xe]=K.useState(null),[Ze,Qe]=K.useState(!1);K.useEffect(()=>{ce().then(e=>fe(e)),xe(ve).then(e=>{_e(e.length>1)})},[ve]);let $e=K.useMemo(()=>new Map(e.map(e=>[e,pt(e)])),[e]),et=K.useMemo(()=>w?new Ge(e.map(e=>({log:e,searchableText:$e.get(e)??``})).filter(e=>e.searchableText),{keys:[`searchableText`],threshold:_t,ignoreLocation:!0,includeScore:!0}):null,[e,$e,w]),tt=K.useMemo(()=>ht(e),[e]),U=tt.length>0,W=K.useMemo(()=>U?[`All`,...tt]:[],[U,tt]),nt=W.length>0&&He<W.length?He:0,G=W[nt],it=G===`All`?void 0:G,at=+!!U,dt=K.useMemo(()=>{let t=e;return C&&(t=e.filter(e=>{let t=ne(),n=j(e);return!!(t&&n===t||e.customTitle||Me(e.messages)||e.firstPrompt||e.customTitle)})),it!==void 0&&(t=t.filter(e=>e.tag===it)),O&&D&&(t=t.filter(e=>e.gitBranch===D)),A&&!he&&(t=t.filter(e=>e.projectPath===ve)),t},[e,C,it,O,D,A,he,ve]),ft=K.useMemo(()=>{if(!R)return dt;let e=R.toLowerCase();return dt.filter(t=>{let n=ue(t).toLowerCase(),r=(t.gitBranch||``).toLowerCase(),i=(t.tag||``).toLowerCase(),a=t.prNumber?`pr #${t.prNumber} ${t.prRepository||``}`.toLowerCase():``;return n.includes(e)||r.includes(e)||i.includes(e)||a.includes(e)})},[dt,R]);K.useEffect(()=>{w&&z&&z!==B&&Qe(!0)},[z,B,w]),K.useEffect(()=>{if(!w||!B||!et){Xe(null),Qe(!1);return}let e=setTimeout((e,t,n,r)=>{let i=e.search(t);i.sort((e,t)=>{let n=new Date(e.item.log.modified).getTime(),r=new Date(t.item.log.modified).getTime()-n;return Math.abs(r)>vt?r:(e.score??1)-(t.score??1)}),n({results:i.map(e=>({log:e.item.log,score:e.score,searchableText:e.item.searchableText})),query:t}),r(!1)},0,et,B,Xe,Qe);return()=>{clearTimeout(e)}},[B,et,w]);let{filteredLogs:gt,snippets:J}=K.useMemo(()=>{let e=new Map,t=ft;if(H&&B&&H.query===B){for(let t of H.results)if(t.searchableText){let n=ct(t.searchableText,B,yt);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=H.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ft,H,B]),Y=K.useMemo(()=>P.status===`results`&&P.results.length>0?P.results:gt,[P,gt]),X=Math.max(30,ae-4),Z=K.useMemo(()=>{if(!C)return[];let e=mt(Y);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Y.indexOf(n),i=J.get(n),a=i?st(i,E):null;if(t.length===1){let t=ut(n,{showProjectPath:g});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:lt(n,X),description:a?`${t}\n ${a}`:t,dimDescription:!0}}let o=t.length-1,s=t.slice(1).map((t,n)=>{let r=Y.indexOf(t),i=J.get(t),a=i?st(i,E):null,o=ut(t,{isChild:!0,showProjectPath:g});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:lt(t,X,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=ut(n,{showProjectPath:g});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:lt(n,X,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[C,Y,X,g,J,E]),bt=K.useMemo(()=>C?[]:Y.map((e,t)=>{let n=ot(ue(e)+(e.isSidechain?` (sidechain)`:``),X),r=me(e),i=g&&e.projectPath?` · ${e.projectPath}`:``,a=J.get(e),o=a?st(a,E):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[C,Y,E,X,g,J]),Q=Ne?.value.log??null,xt=()=>{if(!C||!Q)return``;let e=j(Q);if(!e)return``;let t=Y.filter(t=>j(t)===e);if(!(t.length>1))return``;let n=ke.has(e);return t.indexOf(Q)>0||n?`← to collapse`:`→ to expand`},St=K.useCallback(async()=>{let e=Q?j(Q):void 0;if(!Q||!e){N(`list`),we(``);return}be.trim()&&(await Se(e,be.trim(),Q.fullPath),C&&s&&s()),N(`list`),we(``)},[Q,be,s,C]),Ct=K.useCallback(()=>{N(`list`),T(`tengu_session_search_toggled`,{enabled:!1})},[]),wt=K.useCallback(()=>{N(`search`),T(`tengu_session_search_toggled`,{enabled:!0})},[]),Tt=K.useCallback(async()=>{if(!R.trim()||!x||!de)return;L.current?.abort();let t=new AbortController;L.current=t,We({status:`searching`}),T(`tengu_agentic_search_started`,{query_length:R.length});try{let n=await x(R,e,t.signal);if(t.signal.aborted)return;We({status:`results`,results:n,query:R}),T(`tengu_agentic_search_completed`,{query_length:R.length,results_count:n.length})}catch(e){if(t.signal.aborted)return;We({status:`error`,message:e instanceof Error?e.message:`Search failed`}),T(`tengu_agentic_search_error`,{query_length:R.length})}},[R,x,de,e]);K.useEffect(()=>{P.status!==`idle`&&P.status!==`searching`&&(P.status===`results`&&P.query!==R||P.status===`error`)&&We({status:`idle`})},[R,P]),K.useEffect(()=>()=>{L.current?.abort()},[]);let Et=K.useRef(P.status);K.useEffect(()=>{let e=Et.current;if(Et.current=P.status,e===`searching`&&P.status===`results`){if(C&&Z.length>0)Pe(Z[0]);else if(!C&&Y.length>0){let e=Y[0];Pe({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[P.status,C,Z,Y]);let Dt=K.useCallback(e=>{let t=parseInt(e,10),n=Y[t];!n||Be.current===t.toString()||(Be.current=t.toString(),Pe({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Ie(t+1))},[Y]),Ot=K.useCallback(e=>{Pe(e);let t=Y.findIndex(t=>j(t)===j(e.value.log));t>=0&&Ie(t+1)},[Y]);_(`confirm:no`,()=>{L.current?.abort(),We({status:`idle`}),T(`tengu_agentic_search_cancelled`,{})},{context:`Confirmation`,isActive:M!==`preview`&&P.status===`searching`}),_(`confirm:no`,()=>{N(`list`),we(``)},{context:`Settings`,isActive:M===`rename`&&P.status!==`searching`}),_(`confirm:no`,()=>{qe(``),I(!1),i?.()},{context:`Confirmation`,isActive:M!==`preview`&&M!==`rename`&&M!==`search`&&F&&P.status!==`searching`}),y((e,t)=>{if(M!==`preview`&&P.status!==`searching`&&M!==`rename`)if(M===`search`)e.toLowerCase()===`n`&&t.ctrl?Ct():(t.return||t.downArrow)&&R.trim()&&x&&de&&P.status!==`results`&&I(!0);else{if(F){if(t.return){Tt(),I(!1);return}else if(t.downArrow){I(!1);return}else if(t.upArrow){N(`search`),I(!1);return}}if(U&&t.tab){let e=t.shift?-1:1;Ue(t=>{let n=((t<W.length?t:0)+W.length+e)%W.length,r=W[n];return T(`tengu_session_tag_filter_changed`,{is_all:r===`All`,tag_count:tt.length}),n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();if(r===`a`&&t.ctrl&&b)b(),T(`tengu_session_all_projects_toggled`,{enabled:!g});else if(r===`b`&&t.ctrl){let e=!O;pe(e),T(`tengu_session_branch_filter_toggled`,{enabled:e})}else if(r===`w`&&t.ctrl&&A){let e=!he;ge(e),T(`tengu_session_worktree_filter_toggled`,{enabled:e})}else r===`/`&&n?(N(`search`),T(`tengu_session_search_toggled`,{enabled:!0})):r===`r`&&t.ctrl&&Q?(N(`rename`),we(``),T(`tengu_session_rename_started`,{})):r===`v`&&t.ctrl&&Q?(ze(Q),N(`preview`),T(`tengu_session_preview_opened`,{messageCount:Q.messageCount})):Q&&n&&e.length>0&&!/^\s+$/.test(e)&&(N(`search`),qe(e),T(`tengu_session_search_toggled`,{enabled:!0}))}},{isActive:!0});let kt=[];O&&D&&kt.push(D),A&&!he&&kt.push(`current worktree`);let At=8+ +(kt.length>0&&M!==`search`)+at,$=Math.max(1,Math.floor((t-At-2)/3));return K.useEffect(()=>{l&&Fe+$*2>=Y.length&&l($*3)},[Fe,$,Y.length,l]),e.length===0?null:M===`preview`&&Le&&C?(0,q.jsx)(Ke,{log:Le,onExit:()=>{N(`list`),ze(null)},onSelect:o}):(0,q.jsxs)(v,{flexDirection:`column`,height:t-1,children:[(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(te,{color:`suggestion`})}),(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(p,{children:` `})}),U?(0,q.jsx)(Ye,{tabs:W,selectedIndex:nt,availableWidth:ae,showAllProjects:g}):(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsxs)(p,{bold:!0,color:`suggestion`,children:[`Resume Session`,M===`list`&&Y.length>$&&(0,q.jsxs)(p,{dimColor:!0,children:[` `,`(`,Fe,` of `,Y.length,`)`]})]})}),(0,q.jsx)(f,{query:R,isFocused:M===`search`,isTerminalFocused:oe,cursorOffset:Je}),kt.length>0&&M!==`search`&&(0,q.jsx)(v,{flexShrink:0,paddingLeft:2,children:(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsx)(h,{children:kt})})}),(0,q.jsx)(v,{flexShrink:0,children:(0,q.jsx)(p,{children:` `})}),P.status===`searching`&&(0,q.jsxs)(v,{paddingLeft:1,flexShrink:0,children:[(0,q.jsx)(Ce,{}),(0,q.jsx)(p,{children:` Searching…`})]}),P.status===`results`&&P.results.length>0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`Claude found these results:`})}),P.status===`results`&&P.results.length===0&>.length===0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),P.status===`error`&>.length===0&&(0,q.jsx)(v,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,q.jsx)(p,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!R.trim()&&x&&de&&P.status!==`searching`&&P.status!==`results`&&P.status!==`error`&&(0,q.jsxs)(v,{flexShrink:0,flexDirection:`column`,children:[(0,q.jsxs)(v,{flexDirection:`row`,gap:1,children:[(0,q.jsx)(p,{color:F?`suggestion`:void 0,children:F?r.pointer:` `}),(0,q.jsx)(p,{color:F?`suggestion`:void 0,bold:F,children:`Search deeply using Claude →`})]}),(0,q.jsx)(v,{height:1})]}),P.status===`searching`?null:M===`rename`&&Q?(0,q.jsxs)(v,{paddingLeft:2,flexDirection:`column`,children:[(0,q.jsx)(p,{bold:!0,children:`Rename session:`}),(0,q.jsx)(v,{paddingTop:1,children:(0,q.jsx)(De,{value:be,onChange:we,onSubmit:St,placeholder:ue(Q,`Enter new session name`),columns:ae,cursorOffset:Te,onChangeCursorOffset:Oe,showCursor:!0})})]}):C?(0,q.jsx)(rt,{nodes:Z,onSelect:e=>{o(e.value.log)},onFocus:Ot,onCancel:i,focusNodeId:Ne?.id,visibleOptionCount:$,layout:`expanded`,isDisabled:M===`search`||F,hideIndexes:!1,isNodeExpanded:e=>{if(M===`search`||O)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?ke.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&(je(e=>new Set(e).add(t)),T(`tengu_session_group_expanded`,{}))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&je(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:wt}):(0,q.jsx)(Ee,{options:bt,onChange:e=>{let t=Y[parseInt(e,10)];t&&o(t)},visibleOptionCount:$,onCancel:i,onFocus:Dt,defaultFocusValue:Ne?.id.toString(),layout:`expanded`,isDisabled:M===`search`||F,onUpFromFirstItem:wt}),(0,q.jsx)(v,{paddingLeft:2,children:S.pending?(0,q.jsxs)(p,{dimColor:!0,children:[`Press `,S.keyName,` again to exit`]}):M===`rename`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(m,{shortcut:`Enter`,action:`save`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):P.status===`searching`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(p,{children:`Searching with Claude…`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):F?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(m,{shortcut:`Enter`,action:`search`}),(0,q.jsx)(m,{shortcut:`↓`,action:`skip`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):M===`search`?(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[(0,q.jsx)(p,{children:Ze&&w?`Searching…`:`Type to Search`}),(0,q.jsx)(m,{shortcut:`Enter`,action:`select`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,q.jsx)(p,{dimColor:!0,children:(0,q.jsxs)(h,{children:[b&&(0,q.jsx)(m,{shortcut:`Ctrl+A`,action:`show ${g?`current dir`:`all projects`}`}),D&&(0,q.jsx)(m,{shortcut:`Ctrl+B`,action:`toggle branch`}),A&&(0,q.jsx)(m,{shortcut:`Ctrl+W`,action:`show ${he?`current worktree`:`all worktrees`}`}),(0,q.jsx)(m,{shortcut:`Ctrl+V`,action:`preview`}),(0,q.jsx)(m,{shortcut:`Ctrl+R`,action:`rename`}),(0,q.jsx)(p,{children:`Type to search`}),(0,q.jsx)(k,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),xt()&&(0,q.jsx)(p,{children:xt()})]})})})]})}function ft(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function pt(e){let t=(e.messages.length<=Y?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-X)]).map(ft).filter(Boolean).join(` `),n=`${[e.customTitle,e.summary,e.firstPrompt,e.gitBranch,e.tag,e.prNumber?`PR #${e.prNumber}`:void 0,e.prRepository].filter(Boolean).join(` `)} ${t}`.trim();return n.length>Z?n.slice(0,Z):n}function mt(e){let t=new Map;for(let n of e){let e=j(n);if(e){let r=t.get(e);r?r.push(n):t.set(e,[n])}}return t.forEach(e=>e.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime())),t}function ht(e){let t=new Set;for(let n of e)n.tag&&t.add(n.tag);return Array.from(t).sort((e,t)=>e.localeCompare(t))}var K,q,gt,J,Y,X,Z,_t,vt,yt,bt=e((()=>{s(),n(),We(),K=t(l(),1),x(),ze(),He(),Le(),g(),N(),se(),pe(),Pe(),le(),E(),A(),ke(),ge(),je(),Be(),R(),ve(),nt(),Oe(),at(),q=b(),gt=2,J=4,Y=2e3,X=1e3,Z=5e4,_t=.3,vt=60*1e3,yt=50}));function Q(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function xt(e){if(e.length===0)return``;let t=(e.length<=Tt?e:[...e.slice(0,Tt/2),...e.slice(-Tt/2)]).map(Q).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>wt?t.slice(0,wt)+`…`:t}function St(e,t){return!!(ue(e).toLowerCase().includes(t)||e.customTitle?.toLowerCase().includes(t)||e.tag?.toLowerCase().includes(t)||e.gitBranch?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.firstPrompt?.toLowerCase().includes(t)||e.messages&&e.messages.length>0&&xt(e.messages).toLowerCase().includes(t))}async function Ct(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>St(e,r)),a;if(i.length>=Et)a=i.slice(0,Et);else{let e=t.filter(e=>!St(e,r)),n=Et-i.length;a=[...i,...e.slice(0,n)]}w(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${D(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(Fe(e))try{return await _e(e)}catch(t){return de(t),e}return e}),s=await Promise.all(o);w(`Agentic search: loaded ${D(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
|
|
2
2
|
${s.map((e,t)=>{let n=[`${t}:`],r=ue(e);if(n.push(r),e.customTitle&&e.customTitle!==r&&n.push(`[custom title: ${e.customTitle}]`),e.tag&&n.push(`[tag: ${e.tag}]`),e.gitBranch&&n.push(`[branch: ${e.gitBranch}]`),e.summary&&n.push(`- Summary: ${e.summary}`),e.firstPrompt&&e.firstPrompt!==`No prompt`&&n.push(`- First message: ${e.firstPrompt.slice(0,300)}`),e.messages&&e.messages.length>0){let t=xt(e.messages);t&&n.push(`- Transcript: ${t}`)}return n.join(` `)}).join(`
|
|
3
3
|
`)}
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./memoize-DNnuA2aU.js";import{n as r,t as i}from"./axios-DhfaybwJ.js";import{Fa as a,G as o,J as s,Na as c,Pr as l,br as u,ci as d,ct as f,hc as p,lt as m,ri as h,yc as g}from"./paths-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{n as t,t as n}from"./memoize-DNnuA2aU.js";import{n as r,t as i}from"./axios-DhfaybwJ.js";import{Fa as a,G as o,J as s,Na as c,Pr as l,br as u,ci as d,ct as f,hc as p,lt as m,ri as h,yc as g}from"./paths-CEAy4QCs.js";import{o as _,s as v}from"./log-DSV4Ht5l.js";import{createHash as y}from"crypto";function b(e){return e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}async function x(){if(N.length===0)return;let e=N;N=[];try{await r.post(E,e,{headers:{"Content-Type":`application/json`,"DD-API-KEY":D},timeout:A})}catch(e){v(e)}}function S(){P||(P=setTimeout(()=>{P=null,x()},T()).unref())}async function C(){P&&(clearTimeout(P),P=null),await x()}async function w(e,t){if(c()!==`firstParty`)return;let n=F;if(n===null&&(n=await I()),!(!n||!j.has(e)))try{let{envContext:n,...r}=await o({model:t.model,betas:t.betas}),i={...r,...n,...t,userBucket:R()};if(typeof i.toolName==`string`&&i.toolName.startsWith(`mcp__`)&&(i.toolName=`mcp`),process.env.USER_TYPE!==`ant`&&typeof i.model==`string`){let e=u(i.model.replace(/\[1m]$/i,``));i.model=e in h?e:`other`}if(typeof i.version==`string`&&(i.version=i.version.replace(/^(\d+\.\d+\.\d+-dev\.\d{8})\.t\d+\.sha[a-f0-9]+$/,`$1`)),i.status!==void 0&&i.status!==null){let e=String(i.status);i.http_status=e;let t=e.charAt(0);t>=`1`&&t<=`5`&&(i.http_status_range=`${t}xx`),delete i.status}let a=i,s={ddsource:`nodejs`,ddtags:[`event:${e}`,...M.filter(e=>a[e]!==void 0&&a[e]!==null).map(e=>`${b(e)}:${a[e]}`)].join(`,`),message:e,service:`claude-code`,hostname:`claude-code`,env:process.env.USER_TYPE};for(let[e,t]of Object.entries(i))t!=null&&(s[b(e)]=t);N.push(s),N.length>=k?(P&&(clearTimeout(P),P=null),x()):S()}catch(e){v(e)}}function T(){return parseInt(process.env.CLAUDE_CODE_DATADOG_FLUSH_INTERVAL_MS||``,10)||O}var E,D,O,k,A,j,M,N,P,F,I,L,R,z=e((()=>{i(),n(),g(),_(),l(),a(),d(),f(),s(),E=process.env.DATADOG_LOGS_ENDPOINT??``,D=process.env.DATADOG_API_KEY??``,O=15e3,k=100,A=5e3,j=new Set(`chrome_bridge_connection_succeeded.chrome_bridge_connection_failed.chrome_bridge_disconnected.chrome_bridge_tool_call_completed.chrome_bridge_tool_call_error.chrome_bridge_tool_call_started.chrome_bridge_tool_call_timeout.tengu_api_error.tengu_api_success.tengu_brief_mode_enabled.tengu_brief_mode_toggled.tengu_brief_send.tengu_cancel.tengu_compact_failed.tengu_exit.tengu_flicker.tengu_init.tengu_model_fallback_triggered.tengu_oauth_error.tengu_oauth_success.tengu_oauth_token_refresh_failure.tengu_oauth_token_refresh_success.tengu_oauth_token_refresh_lock_acquiring.tengu_oauth_token_refresh_lock_acquired.tengu_oauth_token_refresh_starting.tengu_oauth_token_refresh_completed.tengu_oauth_token_refresh_lock_releasing.tengu_oauth_token_refresh_lock_released.tengu_query_error.tengu_session_file_read.tengu_started.tengu_tool_use_error.tengu_tool_use_granted_in_prompt_permanent.tengu_tool_use_granted_in_prompt_temporary.tengu_tool_use_rejected_in_prompt.tengu_tool_use_success.tengu_uncaught_exception.tengu_unhandled_rejection.tengu_voice_recording_started.tengu_voice_toggled.tengu_team_mem_sync_pull.tengu_team_mem_sync_push.tengu_team_mem_sync_started.tengu_team_mem_entries_capped`.split(`.`)),M=[`arch`,`clientType`,`errorType`,`http_status_range`,`http_status`,`kairosActive`,`model`,`platform`,`provider`,`skillMode`,`subscriptionType`,`toolName`,`userBucket`,`userType`,`version`,`versionBase`],N=[],P=null,F=null,I=t(async()=>{if(m()||!E||!D)return F=!1,!1;try{return F=!0,!0}catch(e){return v(e),F=!1,!1}}),L=30,R=t(()=>{let e=p(),t=y(`sha256`).update(e).digest(`hex`);return parseInt(t.slice(0,8),16)%L})}));export{w as i,I as n,C as r,z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./datadog-BzkFYNcv.js";t();export{e as shutdownDatadog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{Rn as t}from"./src-Di342QoJ.js";import{t as n}from"./jsx-runtime-D-D469L8.js";import{n as r,t as i}from"./DesktopHandoff-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{Rn as t}from"./src-Di342QoJ.js";import{t as n}from"./jsx-runtime-D-D469L8.js";import{n as r,t as i}from"./DesktopHandoff-Ce0nE7D6.js";async function a(e){return(0,o.jsx)(i,{onDone:e})}var o;e((()=>{t(),r(),o=n()}))();export{a as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{t}from"./jsx-runtime-D-D469L8.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{t}from"./jsx-runtime-D-D469L8.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-BfSnz8L-.js`);return(0,n.jsx)(r,{messages:t.messages,onDone:e})}}))();export{r as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-DR8-3Aex.js";import{t}from"./jsx-runtime-D-D469L8.js";import{n,t as r}from"./Doctor-
|
|
1
|
+
import{n as e}from"./chunk-DR8-3Aex.js";import{t}from"./jsx-runtime-D-D469L8.js";import{n,t as r}from"./Doctor-BOVjkAKn.js";var i,a;e((()=>{n(),i=t(),a=(e,t,n)=>Promise.resolve((0,i.jsx)(r,{onDone:e}))}))();export{a as call};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{B as n,F as r,Rn as i,Vt as a,b as o,nt as s,t as c,x as l}from"./src-Di342QoJ.js";import{t as u}from"./jsx-runtime-D-D469L8.js";import{lo as d,oo as f}from"./paths-
|
|
1
|
+
import{n as e,o as t}from"./chunk-DR8-3Aex.js";import{B as n,F as r,Rn as i,Vt as a,b as o,nt as s,t as c,x as l}from"./src-Di342QoJ.js";import{t as u}from"./jsx-runtime-D-D469L8.js";import{lo as d,oo as f}from"./paths-CEAy4QCs.js";import{n as p,r as m}from"./analytics-DqMQntaB.js";import{Ej as h,Nj as g,Sj as _,Tj as v,bj as y,fC as b,lC as x,uC as S,yj as C}from"./loadAgentsDir-DC4jN6-f.js";import{t as w}from"./useKeybinding-DPOUuymz.js";import{n as T,t as E}from"./useMainLoopModel-BTpZ8k3k.js";function D(e){return typeof e==`string`&&e!==`ultracode`&&A.includes(e)}function O(e){if(e!=null&&typeof e!=`number`&&D(e))return e}function ee(e){let t=A.indexOf(e);return t<=0?A[0]:A[t-1]}function te(e){let t=A.indexOf(e);return t===-1||t>=A.length-1?A[A.length-1]:A[t+1]}function k(e){return e===`ultracode`}function ne(e){let t=O(e.envOverride);return t===void 0?e.displayed:t}function re(e,t){if(k(e))return{kind:`ultracode-hint`,message:j};let n=t(e);return{kind:`apply`,message:n.message,effortUpdate:n.effortUpdate}}var A,j,M,ie=e((()=>{A=[`low`,`medium`,`high`,`xhigh`,`max`,`ultracode`],j=`ultracode is not an effort level. Use /ultracode <context> to start a multi-agent workflow.`,M=`Effort unchanged.`}));function ae(e){let[t,r]=n(e?N:null);return[t,e?r:0]}var N,oe=e((()=>{c(),N=60}));function se(e){if(!/^#[0-9a-fA-F]{6}$/.test(e))return{h:0,s:0,l:0};let t=parseInt(e.slice(1,3),16)/255,n=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(1-Math.abs(2*o-1)),l;return l=i===t?60*((n-r)/s%6):i===n?60*((r-t)/s+2):60*((t-n)/s+4),l<0&&(l+=360),{h:l,s:c,l:o}}function ce(e,t,n){let r=(e%360+360)%360,i=(1-Math.abs(2*n-1))*t,a=r/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?(s=i,c=o):a<2?(s=o,c=i):a<3?(c=i,l=o):a<4?(c=o,l=i):a<5?(s=o,l=i):(s=i,l=o);let u=n-i/2,d=e=>Math.round((e+u)*255).toString(16).padStart(2,`0`);return`#${d(s)}${d(c)}${d(l)}`}function P(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e)||t===0)return e;let{h:n,s:r,l:i}=se(e);return ce(n+t,r,i)}function F(e){return e*L%360}function le(e,t=0){let n=e<0?0:e>1?1:e,r=I[Math.min(I.length-1,Math.floor(n*I.length))];return t===0?r:P(r,t)}function ue(e){let{y:t,width:n,time:r,sourceX:i,sourceY:a}=e;if(n<=0)return[];let o=F(r),s=Array(n);for(let e=0;e<n;e++){let n=e-i,c=(t-a)*1.5,l=Math.sqrt(n*n+c*c),u=l*.35-r*.004;s[e]={char:z,color:le((Math.sin(u)+1)/2*Math.max(0,1-l/90),o)}}return s}function de(e,t){let n=e.map(e=>({...e}));for(let e of t){let t=e.x;if(!(t>=n.length))for(let r=0;r<e.text.length;r++){let i=t+r;if(!(i<0)){if(i>=n.length)break;n[i]={char:e.text[r],color:e.color??n[i].color}}}}return n}function fe(e){if(e.length===0)return[];let t=[],n={text:e[0].char,color:e[0].color};for(let r=1;r<e.length;r++){let i=e[r];i.color===n.color?n.text+=i.char:(t.push(n),n={text:i.char,color:i.color})}return t.push(n),t}function pe(e,t){if(e===`transparent`)return R;let n=t<0?0:t>1?1:t;if(n<=.01)return R;if(!/^#[0-9a-fA-F]{6}$/.test(e))return e;let r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return`#${Math.round(r*n).toString(16).padStart(2,`0`)}${Math.round(i*n).toString(16).padStart(2,`0`)}${Math.round(a*n).toString(16).padStart(2,`0`)}`}function me(e,t){return e.map(e=>({char:e.char,color:pe(e.color,t)}))}var I,L,R,z,he=e((()=>{I=[`#1a1f3a`,`#1f2543`,`#252c55`,`#2e3870`,`#3a4582`,`#4a5bb0`,`#5769F7`],L=.03,R=`transparent`,z=` `}));function ge(e){let t=e-2;return t<=W*A.length?W:Math.floor(t/A.length)}function _e(e){let t=Math.max(0,Math.floor((e-9)/2));return e*(A.length-1)+t+4}function B(e,t,n){return n*e+Math.max(0,Math.floor((n-t)/2))}function ve({appStateEffort:e,onDone:t}){let n=b(),i=T(),{columns:a}=r(),c=H.useMemo(()=>ge(a),[a]),u=c*A.length,d=H.useMemo(()=>_e(c),[c]),f=y(),p=ne({envOverride:f,appStateEffort:e,displayed:C(i,e)}),[m,h]=H.useState(p),[g,_]=H.useState(!1),v=m===`ultracode`,[x,S]=H.useState(0),w=v||x>.001,[E,D]=ae(w);H.useEffect(()=>{if(!w)return;let e=+!!v;S(t=>{if(t===e)return t;let n=e>t?t+Y:t-Y;return e>t?Math.min(e,n):Math.max(e,n)})},[D,v,w]),s({"effortPanel:decrease":()=>h(e=>ee(e)),"effortPanel:increase":()=>h(e=>te(e)),"effortPanel:home":()=>h(`low`),"effortPanel:end":()=>h(`ultracode`),"effortPanel:confirm":H.useCallback(()=>{if(g)return;_(!0);let e=re(m,Q);e.kind===`apply`&&e.effortUpdate&&n(t=>({...t,effortValue:e.effortUpdate.value})),t(e.message)},[m,g,t,n]),"effortPanel:cancel":H.useCallback(()=>{g||(_(!0),t(M))},[g,t])},{context:`EffortPanel`});let O=f!=null,k=process.env.CLAUDE_CODE_EFFORT_LEVEL,j=H.useCallback((e,t)=>fe(me(de(ue({y:e+X,width:u,time:D,sourceX:d,sourceY:X}),t),x)),[D,x,u,d]);return(0,U.jsxs)(l,{ref:E,flexDirection:`column`,paddingX:1,width:u+2,children:[(0,U.jsx)(o,{bold:!0,color:`suggestion`,children:`Effort`}),O&&(0,U.jsx)(o,{color:`warning`,children:`⚠ CLAUDE_CODE_EFFORT_LEVEL=${k} overrides this session`}),w?(0,U.jsx)(be,{renderRow:j,cursor:m,fade:x,segment:c,panelWidth:u,time:D}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(ye,{cursor:m,segment:c,panelWidth:u}),(0,U.jsx)(l,{marginTop:1,children:(0,U.jsx)(o,{color:`subtle`,children:`←/→ adjust · Enter confirm · Esc cancel`})})]})]})}function ye({cursor:e,segment:t,panelWidth:n}){return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(l,{marginTop:1,flexDirection:`row`,justifyContent:`space-between`,children:[(0,U.jsx)(o,{color:`suggestion`,children:`Faster`}),(0,U.jsx)(o,{color:`suggestion`,children:`Smarter`})]}),(0,U.jsx)(o,{color:`subtle`,children:`─`.repeat(n)}),(0,U.jsx)(l,{flexDirection:`row`,children:A.map(n=>(0,U.jsx)(l,{width:t,justifyContent:`center`,children:(0,U.jsx)(o,{bold:!0,color:e===n?`suggestion`:`subtle`,children:e===n?`▲`:` `})},`cursor-${n}`))}),(0,U.jsx)(l,{flexDirection:`row`,children:A.map(n=>(0,U.jsx)(l,{width:t,justifyContent:`center`,children:(0,U.jsx)(o,{bold:e===n,color:e===n?`suggestion`:`subtle`,children:n})},`label-${n}`))}),(0,U.jsxs)(l,{flexDirection:`row`,children:[(0,U.jsx)(l,{width:t*(A.length-1)}),(0,U.jsx)(l,{width:t,justifyContent:`center`,children:(0,U.jsx)(o,{color:`subtle`,children:G})})]})]})}function be({renderRow:e,cursor:t,segment:n,panelWidth:r,time:i}){let a=A.indexOf(t),s=A.length-1,c=F(i),l=P(J,c),u=P(K,c),d=P(q,c),f={text:`Faster`,x:0,color:l},p={text:`Smarter`,x:r-7,color:l},m={text:`─`.repeat(r),x:0,color:d},h={text:`▲`,x:B(a,1,n),color:l},g=A.map((e,r)=>({text:e,x:B(r,e.length,n),color:e===t?u:d})),_={text:G,x:B(s,17,n),color:d};return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(V,{segments:e(-4,[])}),(0,U.jsx)(V,{segments:e(-3,[f,p])}),(0,U.jsx)(V,{segments:e(-2,[m])}),(0,U.jsx)(V,{segments:e(-1,[h])}),(0,U.jsx)(V,{segments:e(0,g)}),(0,U.jsx)(V,{segments:e(1,[_])}),(0,U.jsx)(V,{segments:e(2,[])}),(0,U.jsx)(o,{color:q,children:`←/→ adjust · Enter confirm · Esc cancel`})]})}function V({segments:e}){let t=[];for(let n of e){let e=``,r=null,i=()=>{e===``||r===null||(t.push({text:e,kind:r?`space`:`text`,color:n.color}),e=``,r=null)};for(let t of n.text){let n=t===` `;r===null?(e=t,r=n):n===r?e+=t:(i(),e=t,r=n)}i()}return(0,U.jsx)(l,{flexDirection:`row`,children:t.map((e,t)=>e.kind===`space`?e.color===`transparent`?(0,U.jsx)(a,{children:e.text},t):(0,U.jsx)(a,{backgroundColor:e.color,children:e.text},t):(0,U.jsx)(o,{color:e.color,bold:!0,children:e.text},t))})}var H,U,W,G,K,q,J,Y,X,xe=e((()=>{H=t(i(),1),c(),w(),v(),ie(),Ae(),E(),x(),oe(),he(),U=u(),W=12,G=`xhigh + workflows`,K=`#5769F7`,q=`#7a8eff`,J=`#5769F7`,Y=.2,X=0}));function Se(e){let t=g(e);if(t!==void 0){let e=d(`userSettings`,{effortLevel:t});if(e.error)return{message:`Failed to set effort level: ${e.error.message}`}}m(`tengu_effort_command`,{effort:e});let n=y();if(n!==void 0&&n!==e){let n=process.env.CLAUDE_CODE_EFFORT_LEVEL;return t===void 0?{message:`Not applied: CLAUDE_CODE_EFFORT_LEVEL=${n} overrides effort this session, and ${e} is session-only (nothing saved)`,effortUpdate:{value:e}}:{message:`CLAUDE_CODE_EFFORT_LEVEL=${n} overrides this session — clear it and ${e} takes over`,effortUpdate:{value:e}}}let r=_(e);return{message:`Set effort level to ${e}${t===void 0?` (this session only)`:``}: ${r}`,effortUpdate:{value:e}}}function Z(e,t){let n=y(),r=n===null?void 0:n??e;return r===void 0?{message:`Effort level: auto (currently ${C(t,e)})`}:{message:`Current effort level: ${r} (${_(r)})`}}function Ce(){let e=d(`userSettings`,{effortLevel:void 0});return e.error?{message:`Failed to set effort level: ${e.error.message}`}:(m(`tengu_effort_command`,{effort:`auto`}),y()==null?{message:`Effort level set to auto`,effortUpdate:{value:void 0}}:{message:`Cleared effort from settings, but CLAUDE_CODE_EFFORT_LEVEL=${process.env.CLAUDE_CODE_EFFORT_LEVEL} still controls this session`,effortUpdate:{value:void 0}})}function Q(e){let t=e.toLowerCase();return t===`auto`||t===`unset`?Ce():h(t)?Se(t):{message:`Invalid argument: ${e}. Valid options are: low, medium, high, max, auto`}}function we({onDone:e}){let{message:t}=Z(S(e=>e.effortValue),T());return e(t),null}function Te({result:e,onDone:t}){let n=b(),{effortUpdate:r,message:i}=e;return Oe.useEffect(()=>{r&&n(e=>({...e,effortValue:r.value})),t(i)},[n,r,i,t]),null}async function Ee(e,t,n){if(n=n?.trim()||``,ke.includes(n)){e(`Usage: /effort [low|medium|high|xhigh|max|auto]
|
|
2
2
|
|
|
3
3
|
Effort levels:
|
|
4
4
|
- low: Quick, straightforward implementation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{n as e,t}from"./defineProperty-80gRi2ZW.js";import{a as n,c as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./classPrivateFieldSet2-EAQNhHs8.js";import{Cn as f,Ln as p,Mn as m,Tt as h,Xn as g,Yn as _,_r as ee,kt as v,nn as y,un as b,vt as te,wn as x}from"./schemas-BGAvj1T4.js";import{t as ne}from"./v4-f1i_CNUT.js";import{Hr as re,Tt as ie,Vr as ae,cn as S,jr as C,lr as oe,ot as se}from"./state-sIHsFpDu.js";import{Dr as ce,Pr as le,no as ue,oc as de,oo as fe,yc as pe}from"./paths-BZjPDxMm.js";import{l as me,p as he,r as ge}from"./sessionStoragePortable-CJUZrbIq.js";import{Bf as _e,Ep as ve,Fr as ye,G as be,Jv as xe,K as Se,Sr as Ce,Ta as we,Tp as Te,Xu as Ee,Zi as De,Zu as Oe,bD as ke,i as Ae,na as je,o as Me,qv as Ne,wa as Pe,yD as Fe,zf as Ie}from"./loadAgentsDir-BYWykYwn.js";import{Qn as Le,Zn as Re}from"./prompt-BGNhFY1n.js";import{o as ze,t as Be}from"./fileStateCache-BhVfo23e.js";import{t as Ve}from"./QueryEngine-BSk8-8vB.js";import*as w from"node:path";import{dirname as He,isAbsolute as Ue,resolve as We}from"node:path";import{randomUUID as T}from"node:crypto";import{Readable as Ge,Writable as Ke}from"node:stream";import{unlink as qe}from"node:fs/promises";ne();var E={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},D={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Je=x({_meta:m(p(),g()).nullish(),terminal:v().optional().default(!1)}),Ye=x({_meta:m(p(),g()).nullish(),label:p().nullish(),name:p(),optional:v().optional().default(!1),secret:v().optional().default(!0)}),Xe=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:p(),name:p()}),Ze=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:p(),link:p().nullish(),name:p(),vars:h(Ye)}),Qe=x({_meta:m(p(),g()).nullish(),args:h(p()).optional(),description:p().nullish(),env:m(p(),p()).optional(),id:p(),name:p()}),$e=_([Ze.and(x({type:b(`env_var`)})),Qe.and(x({type:b(`terminal`)})),Xe]),et=x({_meta:m(p(),g()).nullish(),methodId:p()}),tt=x({_meta:m(p(),g()).nullish()}),nt=x({_meta:m(p(),g()).nullish(),blob:p(),mimeType:p().nullish(),uri:p()}),rt=x({default:v().nullish(),description:p().nullish(),title:p().nullish()}),it=x({_meta:m(p(),g()).nullish()}),at=x({_meta:m(p(),g()).nullish()}),ot=x({amount:f(),currency:p()}),st=x({_meta:m(p(),g()).nullish(),terminalId:p()}),ct=x({_meta:m(p(),g()).nullish(),newText:p(),oldText:p().nullish(),path:p()}),lt=_([p(),f(),f(),v(),h(p())]),ut=y(_([x({content:m(p(),lt).nullish()}).and(x({action:b(`accept`)})),x({action:b(`decline`)}),x({action:b(`cancel`)})]),x({_meta:m(p(),g()).nullish()})),dt=x({_meta:m(p(),g()).nullish()}),ft=p(),pt=x({_meta:m(p(),g()).nullish(),elicitationId:ft}),mt=b(`object`),ht=b(`string`),gt=x({_meta:m(p(),g()).nullish()}),_t=x({_meta:m(p(),g()).nullish(),form:dt.nullish(),url:gt.nullish()}),vt=x({const:p(),title:p()}),yt=x({_meta:m(p(),g()).nullish(),name:p(),value:p()}),bt=x({code:_([b(-32700),b(-32600),b(-32601),b(-32602),b(-32603),b(-32800),b(-32e3),b(-32002),b(-32042),f().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:g().optional(),message:p()}),xt=g(),St=g(),Ct=g(),wt=x({_meta:m(p(),g()).nullish(),readTextFile:v().optional().default(!1),writeTextFile:v().optional().default(!1)}),Tt=x({_meta:m(p(),g()).nullish(),name:p(),value:p()}),Et=x({_meta:m(p(),g()).nullish(),name:p(),title:p().nullish(),version:p()}),Dt=x({default:f().nullish(),description:p().nullish(),maximum:f().nullish(),minimum:f().nullish(),title:p().nullish()}),Ot=x({_meta:m(p(),g()).nullish()}),kt=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cursor:p().nullish(),cwd:p().nullish()}),At=x({_meta:m(p(),g()).nullish()}),jt=x({_meta:m(p(),g()).nullish(),logout:At.nullish()}),Mt=x({_meta:m(p(),g()).nullish()}),Nt=x({_meta:m(p(),g()).nullish()}),Pt=x({_meta:m(p(),g()).nullish(),http:v().optional().default(!1),sse:v().optional().default(!1)}),Ft=x({_meta:m(p(),g()).nullish(),headers:h(Tt),name:p(),url:p()}),It=x({_meta:m(p(),g()).nullish(),headers:h(Tt),name:p(),url:p()}),Lt=x({_meta:m(p(),g()).nullish(),args:h(p()),command:p(),env:h(yt),name:p()}),O=_([Ft.and(x({type:b(`http`)})),It.and(x({type:b(`sse`)})),Lt]),Rt=p(),zt=x({_meta:m(p(),g()).nullish(),description:p().nullish(),modelId:Rt,name:p()}),Bt=_([b(`error`),b(`warning`),b(`information`),b(`hint`)]),Vt=x({_meta:m(p(),g()).nullish()}),Ht=x({_meta:m(p(),g()).nullish()}),Ut=x({_meta:m(p(),g()).nullish()}),Wt=x({_meta:m(p(),g()).nullish()}),Gt=x({_meta:m(p(),g()).nullish()}),Kt=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),qt=x({diff:p(),uri:p()}),Jt=x({endLine:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:p()}),Yt=x({_meta:m(p(),g()).nullish()}),Xt=x({_meta:m(p(),g()).nullish()}),Zt=x({languageId:p(),text:p(),uri:p()}),Qt=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),$t=_([b(`rejected`),b(`ignored`),b(`replaced`),b(`cancelled`)]),en=x({excerpts:h(Jt),uri:p()}),tn=x({_meta:m(p(),g()).nullish()}),nn=x({_meta:m(p(),g()).nullish()}),rn=x({name:p(),owner:p(),remoteUrl:p()}),an=x({_meta:m(p(),g()).nullish()}),on=x({_meta:m(p(),g()).nullish(),jump:Yt.nullish(),rename:nn.nullish(),searchAndReplace:an.nullish()}),sn=x({id:p(),isRegex:v().nullish(),replace:p(),search:p(),uri:p()}),cn=_([b(`automatic`),b(`diagnostic`),b(`manual`)]),ln=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),un=x({_meta:m(p(),g()).nullish(),diagnostics:Vt.nullish(),editHistory:Kt.nullish(),openFiles:Xt.nullish(),recentFiles:Qt.nullish(),relatedSnippets:tn.nullish(),userActions:ln.nullish()}),dn=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O)}),fn=x({default:f().nullish(),description:p().nullish(),maximum:f().nullish(),minimum:f().nullish(),title:p().nullish()}),pn=p(),mn=_([b(`allow_once`),b(`allow_always`),b(`reject_once`),b(`reject_always`)]),hn=x({_meta:m(p(),g()).nullish(),kind:mn,name:p(),optionId:pn}),gn=_([b(`high`),b(`medium`),b(`low`)]),_n=_([b(`pending`),b(`in_progress`),b(`completed`)]),vn=x({_meta:m(p(),g()).nullish(),content:p(),priority:gn,status:_n}),yn=x({_meta:m(p(),g()).nullish(),entries:h(vn)}),k=x({character:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),bn=x({id:p(),position:k,uri:p()}),xn=x({id:p(),newName:p(),position:k,uri:p()}),Sn=x({action:p(),position:k,timestampMs:f(),uri:p()}),Cn=_([b(`utf-16`),b(`utf-32`),b(`utf-8`)]),wn=x({_meta:m(p(),g()).nullish(),auth:Je.optional().default({terminal:!1}),elicitation:_t.nullish(),fs:wt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:on.nullish(),positionEncodings:h(Cn).optional(),terminal:v().optional().default(!1)}),Tn=x({_meta:m(p(),g()).nullish(),audio:v().optional().default(!1),embeddedContext:v().optional().default(!1),image:v().optional().default(!1)}),En=f().int().gte(0).lte(65535),Dn=x({_meta:m(p(),g()).nullish(),clientCapabilities:wn.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Et.nullish(),protocolVersion:En}),A=x({end:k,start:k}),On=x({message:p(),range:A,severity:Bt,uri:p()}),kn=x({languageId:p(),lastFocusedMs:f().nullish(),uri:p(),visibleRange:A.nullish()}),An=x({_meta:m(p(),g()).nullish(),diagnostics:h(On).nullish(),editHistory:h(qt).nullish(),openFiles:h(kn).nullish(),recentFiles:h(Zt).nullish(),relatedSnippets:h(en).nullish(),userActions:h(Sn).nullish()}),jn=x({newText:p(),range:A}),Mn=_([x({cursorPosition:k.nullish(),edits:h(jn),id:p(),uri:p()}).and(x({kind:b(`edit`)})),bn.and(x({kind:b(`jump`)})),xn.and(x({kind:b(`rename`)})),sn.and(x({kind:b(`searchAndReplace`)}))]),Nn=x({_meta:m(p(),g()).nullish(),content:p()}),Pn=x({_meta:m(p(),g()).nullish()}),j=_([f(),p()]).nullable();x({_meta:m(p(),g()).nullish(),requestId:j});var Fn=x({requestId:j}),In=te([`assistant`,`user`]),M=x({_meta:m(p(),g()).nullish(),audience:h(In).nullish(),lastModified:p().nullish(),priority:f().nullish()}),Ln=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),data:p(),mimeType:p()}),Rn=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),data:p(),mimeType:p(),uri:p().nullish()}),zn=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),description:p().nullish(),mimeType:p().nullish(),name:p(),size:f().nullish(),title:p().nullish(),uri:p()}),Bn=x({_meta:m(p(),g()).nullish(),optionId:pn}),Vn=_([x({outcome:b(`cancelled`)}),Bn.and(x({outcome:b(`selected`)}))]),Hn=x({_meta:m(p(),g()).nullish(),outcome:Vn}),Un=x({_meta:m(p(),g()).nullish()}),Wn=x({_meta:m(p(),g()).nullish()}),Gn=x({currentValue:v()}),Kn=p(),qn=p(),Jn=_([b(`mode`),b(`model`),b(`thought_level`),p()]),Yn=p(),Xn=x({_meta:m(p(),g()).nullish(),description:p().nullish(),name:p(),value:Yn}),Zn=x({_meta:m(p(),g()).nullish(),group:Kn,name:p(),options:h(Xn)}),N=y(_([x({currentValue:Yn,options:_([h(Xn),h(Zn)])}).and(x({type:b(`select`)})),Gn.and(x({type:b(`boolean`)}))]),x({_meta:m(p(),g()).nullish(),category:Jn.nullish(),description:p().nullish(),id:qn,name:p()})),Qn=x({_meta:m(p(),g()).nullish(),configOptions:h(N)}),$n=x({_meta:m(p(),g()).nullish()}),P=p(),er=x({_meta:m(p(),g()).nullish(),id:p(),sessionId:P}),tr=x({_meta:m(p(),g()).nullish(),sessionId:P}),nr=x({_meta:m(p(),g()).nullish(),sessionId:P}),rr=x({_meta:m(p(),g()).nullish(),sessionId:P}),ir=x({_meta:m(p(),g()).nullish(),args:h(p()).optional(),command:p(),cwd:p().nullish(),env:h(yt).optional(),outputByteLimit:f().nullish(),sessionId:P}),ar=x({_meta:m(p(),g()).nullish(),sessionId:P,uri:p()}),or=x({_meta:m(p(),g()).nullish(),position:k,sessionId:P,uri:p(),version:f(),visibleRange:A}),sr=x({_meta:m(p(),g()).nullish(),languageId:p(),sessionId:P,text:p(),uri:p(),version:f()}),cr=x({_meta:m(p(),g()).nullish(),sessionId:P,uri:p()}),lr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O).optional(),sessionId:P}),ur=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),dr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O),sessionId:P}),fr=x({_meta:m(p(),g()).nullish(),limit:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:p(),sessionId:P}),pr=x({_meta:m(p(),g()).nullish(),id:p(),reason:$t.nullish(),sessionId:P}),mr=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),hr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O).optional(),sessionId:P}),gr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),sessionId:P,title:p().nullish(),updatedAt:p().nullish()}),_r=x({_meta:m(p(),g()).nullish(),nextCursor:p().nullish(),sessions:h(gr)}),vr=x({_meta:m(p(),g()).nullish(),title:p().nullish(),updatedAt:p().nullish()}),yr=x({_meta:m(p(),g()).nullish()}),F=p(),br=x({_meta:m(p(),g()).nullish(),currentModeId:F}),xr=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:F,name:p()}),I=x({_meta:m(p(),g()).nullish(),availableModes:h(xr),currentModeId:F}),L=x({_meta:m(p(),g()).nullish(),availableModels:h(zt),currentModelId:Rt}),Sr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish(),sessionId:P}),Cr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish()}),wr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish(),sessionId:P}),Tr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish()}),Er=x({_meta:m(p(),g()).nullish()}),Dr=x({_meta:m(p(),g()).nullish(),additionalDirectories:Un.nullish(),close:Wn.nullish(),fork:$n.nullish(),list:yr.nullish(),resume:Er.nullish()}),Or=y(_([x({type:b(`boolean`),value:v()}),x({value:Yn})]),x({_meta:m(p(),g()).nullish(),configId:qn,sessionId:P})),kr=x({_meta:m(p(),g()).nullish(),configOptions:h(N)}),Ar=x({_meta:m(p(),g()).nullish(),modeId:F,sessionId:P}),jr=x({_meta:m(p(),g()).nullish()}),Mr=x({_meta:m(p(),g()).nullish(),modelId:Rt,sessionId:P}),Nr=x({_meta:m(p(),g()).nullish()}),Pr=x({_meta:m(p(),g()).nullish(),sessionId:P}),Fr=_([b(`end_turn`),b(`max_tokens`),b(`max_turn_requests`),b(`refusal`),b(`cancelled`)]),Ir=_([b(`email`),b(`uri`),b(`date`),b(`date-time`)]),Lr=x({default:p().nullish(),description:p().nullish(),enum:h(p()).nullish(),format:Ir.nullish(),maxLength:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:h(vt).nullish(),pattern:p().nullish(),title:p().nullish()}),Rr=x({_meta:m(p(),g()).nullish(),context:An.nullish(),position:k,selection:A.nullish(),sessionId:P,triggerKind:cn,uri:p(),version:f()}),zr=x({_meta:m(p(),g()).nullish(),suggestions:h(Mn)}),Br=x({_meta:m(p(),g()).nullish(),terminalId:p()}),Vr=x({_meta:m(p(),g()).nullish(),exitCode:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:p().nullish()}),Hr=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),Ur=x({_meta:m(p(),g()).nullish(),exitStatus:Vr.nullish(),output:p(),truncated:v()}),Wr=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),text:p()}),Gr=x({range:A.nullish(),text:p()}),Kr=x({_meta:m(p(),g()).nullish(),contentChanges:h(Gr),sessionId:P,uri:p(),version:f()});x({method:p(),params:_([tr,sr,Kr,ar,cr,or,er,pr,xt]).nullish()});var qr=_([b(`full`),b(`incremental`)]),Jr=x({_meta:m(p(),g()).nullish(),syncKind:qr}),Yr=x({_meta:m(p(),g()).nullish(),didChange:Jr.nullish(),didClose:Ht.nullish(),didFocus:Ut.nullish(),didOpen:Wt.nullish(),didSave:Gt.nullish()}),Xr=x({_meta:m(p(),g()).nullish(),document:Yr.nullish()}),Zr=x({_meta:m(p(),g()).nullish(),context:un.nullish(),events:Xr.nullish()}),Qr=x({_meta:m(p(),g()).nullish(),auth:jt.optional().default({}),loadSession:v().optional().default(!1),mcpCapabilities:Pt.optional().default({http:!1,sse:!1}),nes:Zr.nullish(),positionEncoding:Cn.nullish(),promptCapabilities:Tn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:Dr.optional().default({})}),$r=x({_meta:m(p(),g()).nullish(),agentCapabilities:Qr.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Et.nullish(),authMethods:h($e).optional().default([]),protocolVersion:En}),ei=_([x({_meta:m(p(),g()).nullish(),mimeType:p().nullish(),text:p(),uri:p()}),nt]),ti=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),resource:ei}),ni=_([Wr.and(x({type:b(`text`)})),Rn.and(x({type:b(`image`)})),Ln.and(x({type:b(`audio`)})),zn.and(x({type:b(`resource_link`)})),ti.and(x({type:b(`resource`)}))]),ri=x({_meta:m(p(),g()).nullish(),content:ni}),ii=x({_meta:m(p(),g()).nullish(),content:ni,messageId:p().nullish()}),ai=x({_meta:m(p(),g()).nullish(),messageId:p().nullish(),prompt:h(ni),sessionId:P}),oi=x({anyOf:h(vt)}),si=_([ri.and(x({type:b(`content`)})),ct.and(x({type:b(`diff`)})),Br.and(x({type:b(`terminal`)}))]),ci=p(),li=x({sessionId:P,toolCallId:ci.nullish()}),ui=y(_([li,Fn]),x({elicitationId:ft,url:p().url()})),di=x({_meta:m(p(),g()).nullish(),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:p()}),fi=_([b(`pending`),b(`in_progress`),b(`completed`),b(`failed`)]),pi=_([b(`read`),b(`edit`),b(`delete`),b(`move`),b(`search`),b(`execute`),b(`think`),b(`fetch`),b(`switch_mode`),b(`other`)]),mi=x({_meta:m(p(),g()).nullish(),content:h(si).optional(),kind:pi.optional(),locations:h(di).optional(),rawInput:g().optional(),rawOutput:g().optional(),status:fi.optional(),title:p(),toolCallId:ci}),hi=x({_meta:m(p(),g()).nullish(),content:h(si).nullish(),kind:pi.nullish(),locations:h(di).nullish(),rawInput:g().optional(),rawOutput:g().optional(),status:fi.nullish(),title:p().nullish(),toolCallId:ci}),gi=x({_meta:m(p(),g()).nullish(),options:h(hn),sessionId:P,toolCall:hi}),_i=x({_meta:m(p(),g()).nullish(),hint:p()}),vi=x({_meta:m(p(),g()).nullish(),description:p(),input:_i.nullish(),name:p()}),yi=x({_meta:m(p(),g()).nullish(),availableCommands:h(vi)}),bi=_([x({enum:h(p()),type:ht}),oi]),xi=x({default:h(p()).nullish(),description:p().nullish(),items:bi,maxItems:f().nullish(),minItems:f().nullish(),title:p().nullish()}),Si=_([Lr.and(x({type:b(`string`)})),fn.and(x({type:b(`number`)})),Dt.and(x({type:b(`integer`)})),rt.and(x({type:b(`boolean`)})),xi.and(x({type:b(`array`)}))]),Ci=x({description:p().nullish(),properties:m(p(),Si).optional().default({}),required:h(p()).nullish(),title:p().nullish(),type:mt.optional().default(`object`)}),wi=y(_([y(_([li,Fn]),x({requestedSchema:Ci})).and(x({mode:b(`form`)})),ui.and(x({mode:b(`url`)}))]),x({_meta:m(p(),g()).nullish(),message:p()})),Ti=x({cachedReadTokens:f().nullish(),cachedWriteTokens:f().nullish(),inputTokens:f(),outputTokens:f(),thoughtTokens:f().nullish(),totalTokens:f()});_([x({id:j,result:_([$r,tt,Nt,wr,Cr,_r,Sr,Tr,at,jr,kr,x({_meta:m(p(),g()).nullish(),stopReason:Fr,usage:Ti.nullish(),userMessageId:p().nullish()}),Nr,Pr,zr,it,Ct])}),x({error:bt,id:j})]);var Ei=x({_meta:m(p(),g()).nullish(),cost:ot.nullish(),size:f(),used:f()}),Di=_([ii.and(x({sessionUpdate:b(`user_message_chunk`)})),ii.and(x({sessionUpdate:b(`agent_message_chunk`)})),ii.and(x({sessionUpdate:b(`agent_thought_chunk`)})),mi.and(x({sessionUpdate:b(`tool_call`)})),hi.and(x({sessionUpdate:b(`tool_call_update`)})),yn.and(x({sessionUpdate:b(`plan`)})),yi.and(x({sessionUpdate:b(`available_commands_update`)})),br.and(x({sessionUpdate:b(`current_mode_update`)})),Qn.and(x({sessionUpdate:b(`config_option_update`)})),vr.and(x({sessionUpdate:b(`session_info_update`)})),Ei.and(x({sessionUpdate:b(`usage_update`)}))]),Oi=x({_meta:m(p(),g()).nullish(),sessionId:P,update:Di});x({method:p(),params:_([Oi,pt,xt]).nullish()});var ki=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),Ai=x({_meta:m(p(),g()).nullish(),exitCode:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:p().nullish()}),ji=x({name:p(),uri:p()}),Mi=x({_meta:m(p(),g()).nullish(),repository:rn.nullish(),workspaceFolders:h(ji).nullish(),workspaceUri:p().nullish()});x({id:j,method:p(),params:_([Dn,et,Mt,dn,dr,kt,lr,hr,rr,Ar,Or,ai,Mr,Mi,Rr,nr,St]).nullish()});var Ni=x({_meta:m(p(),g()).nullish(),content:p(),path:p(),sessionId:P});x({id:j,method:p(),params:_([Ni,fr,gi,ir,Hr,mr,ki,ur,wi,St]).nullish()}),_([x({id:j,result:_([x({_meta:m(p(),g()).nullish()}),Nn,Hn,st,Ur,Pn,Ai,Ot,ut,Ct])}),x({error:bt,id:j})]),e(),d(),r(),s(),i(),o();function Pi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a)break;if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
1
|
+
import{n as e,t}from"./defineProperty-80gRi2ZW.js";import{a as n,c as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"./classPrivateFieldSet2-EAQNhHs8.js";import{Cn as f,Ln as p,Mn as m,Tt as h,Xn as g,Yn as _,_r as ee,kt as v,nn as y,un as b,vt as te,wn as x}from"./schemas-BGAvj1T4.js";import{t as ne}from"./v4-f1i_CNUT.js";import{Hr as re,Tt as ie,Vr as ae,cn as S,jr as C,lr as oe,ot as se}from"./state-sIHsFpDu.js";import{Dr as ce,Pr as le,no as ue,oc as de,oo as fe,yc as pe}from"./paths-CEAy4QCs.js";import{l as me,p as he,r as ge}from"./sessionStoragePortable-CJUZrbIq.js";import{Bf as _e,Ep as ve,Fr as ye,G as be,Jv as xe,K as Se,Sr as Ce,Ta as we,Tp as Te,Xu as Ee,Zi as De,Zu as Oe,bD as ke,i as Ae,na as je,o as Me,qv as Ne,wa as Pe,yD as Fe,zf as Ie}from"./loadAgentsDir-DC4jN6-f.js";import{Qn as Le,Zn as Re}from"./prompt-BHI7PZe4.js";import{o as ze,t as Be}from"./fileStateCache-BhVfo23e.js";import{t as Ve}from"./QueryEngine-BQs519Rb.js";import{dirname as He}from"node:path";import{randomUUID as w}from"node:crypto";import{Readable as Ue,Writable as We}from"node:stream";import{unlink as Ge}from"node:fs/promises";import*as T from"node:path/posix";import{isAbsolute as Ke,resolve as qe}from"node:path/posix";ne();var E={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},D={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Je=x({_meta:m(p(),g()).nullish(),terminal:v().optional().default(!1)}),Ye=x({_meta:m(p(),g()).nullish(),label:p().nullish(),name:p(),optional:v().optional().default(!1),secret:v().optional().default(!0)}),Xe=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:p(),name:p()}),Ze=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:p(),link:p().nullish(),name:p(),vars:h(Ye)}),Qe=x({_meta:m(p(),g()).nullish(),args:h(p()).optional(),description:p().nullish(),env:m(p(),p()).optional(),id:p(),name:p()}),$e=_([Ze.and(x({type:b(`env_var`)})),Qe.and(x({type:b(`terminal`)})),Xe]),et=x({_meta:m(p(),g()).nullish(),methodId:p()}),tt=x({_meta:m(p(),g()).nullish()}),nt=x({_meta:m(p(),g()).nullish(),blob:p(),mimeType:p().nullish(),uri:p()}),rt=x({default:v().nullish(),description:p().nullish(),title:p().nullish()}),it=x({_meta:m(p(),g()).nullish()}),at=x({_meta:m(p(),g()).nullish()}),ot=x({amount:f(),currency:p()}),st=x({_meta:m(p(),g()).nullish(),terminalId:p()}),ct=x({_meta:m(p(),g()).nullish(),newText:p(),oldText:p().nullish(),path:p()}),lt=_([p(),f(),f(),v(),h(p())]),ut=y(_([x({content:m(p(),lt).nullish()}).and(x({action:b(`accept`)})),x({action:b(`decline`)}),x({action:b(`cancel`)})]),x({_meta:m(p(),g()).nullish()})),dt=x({_meta:m(p(),g()).nullish()}),ft=p(),pt=x({_meta:m(p(),g()).nullish(),elicitationId:ft}),mt=b(`object`),ht=b(`string`),gt=x({_meta:m(p(),g()).nullish()}),_t=x({_meta:m(p(),g()).nullish(),form:dt.nullish(),url:gt.nullish()}),vt=x({const:p(),title:p()}),yt=x({_meta:m(p(),g()).nullish(),name:p(),value:p()}),bt=x({code:_([b(-32700),b(-32600),b(-32601),b(-32602),b(-32603),b(-32800),b(-32e3),b(-32002),b(-32042),f().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:g().optional(),message:p()}),xt=g(),St=g(),Ct=g(),wt=x({_meta:m(p(),g()).nullish(),readTextFile:v().optional().default(!1),writeTextFile:v().optional().default(!1)}),Tt=x({_meta:m(p(),g()).nullish(),name:p(),value:p()}),Et=x({_meta:m(p(),g()).nullish(),name:p(),title:p().nullish(),version:p()}),Dt=x({default:f().nullish(),description:p().nullish(),maximum:f().nullish(),minimum:f().nullish(),title:p().nullish()}),Ot=x({_meta:m(p(),g()).nullish()}),kt=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cursor:p().nullish(),cwd:p().nullish()}),At=x({_meta:m(p(),g()).nullish()}),jt=x({_meta:m(p(),g()).nullish(),logout:At.nullish()}),Mt=x({_meta:m(p(),g()).nullish()}),Nt=x({_meta:m(p(),g()).nullish()}),Pt=x({_meta:m(p(),g()).nullish(),http:v().optional().default(!1),sse:v().optional().default(!1)}),Ft=x({_meta:m(p(),g()).nullish(),headers:h(Tt),name:p(),url:p()}),It=x({_meta:m(p(),g()).nullish(),headers:h(Tt),name:p(),url:p()}),Lt=x({_meta:m(p(),g()).nullish(),args:h(p()),command:p(),env:h(yt),name:p()}),O=_([Ft.and(x({type:b(`http`)})),It.and(x({type:b(`sse`)})),Lt]),Rt=p(),zt=x({_meta:m(p(),g()).nullish(),description:p().nullish(),modelId:Rt,name:p()}),Bt=_([b(`error`),b(`warning`),b(`information`),b(`hint`)]),Vt=x({_meta:m(p(),g()).nullish()}),Ht=x({_meta:m(p(),g()).nullish()}),Ut=x({_meta:m(p(),g()).nullish()}),Wt=x({_meta:m(p(),g()).nullish()}),Gt=x({_meta:m(p(),g()).nullish()}),Kt=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),qt=x({diff:p(),uri:p()}),Jt=x({endLine:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:p()}),Yt=x({_meta:m(p(),g()).nullish()}),Xt=x({_meta:m(p(),g()).nullish()}),Zt=x({languageId:p(),text:p(),uri:p()}),Qt=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),$t=_([b(`rejected`),b(`ignored`),b(`replaced`),b(`cancelled`)]),en=x({excerpts:h(Jt),uri:p()}),tn=x({_meta:m(p(),g()).nullish()}),nn=x({_meta:m(p(),g()).nullish()}),rn=x({name:p(),owner:p(),remoteUrl:p()}),an=x({_meta:m(p(),g()).nullish()}),on=x({_meta:m(p(),g()).nullish(),jump:Yt.nullish(),rename:nn.nullish(),searchAndReplace:an.nullish()}),sn=x({id:p(),isRegex:v().nullish(),replace:p(),search:p(),uri:p()}),cn=_([b(`automatic`),b(`diagnostic`),b(`manual`)]),ln=x({_meta:m(p(),g()).nullish(),maxCount:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),un=x({_meta:m(p(),g()).nullish(),diagnostics:Vt.nullish(),editHistory:Kt.nullish(),openFiles:Xt.nullish(),recentFiles:Qt.nullish(),relatedSnippets:tn.nullish(),userActions:ln.nullish()}),dn=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O)}),fn=x({default:f().nullish(),description:p().nullish(),maximum:f().nullish(),minimum:f().nullish(),title:p().nullish()}),pn=p(),mn=_([b(`allow_once`),b(`allow_always`),b(`reject_once`),b(`reject_always`)]),hn=x({_meta:m(p(),g()).nullish(),kind:mn,name:p(),optionId:pn}),gn=_([b(`high`),b(`medium`),b(`low`)]),_n=_([b(`pending`),b(`in_progress`),b(`completed`)]),vn=x({_meta:m(p(),g()).nullish(),content:p(),priority:gn,status:_n}),yn=x({_meta:m(p(),g()).nullish(),entries:h(vn)}),k=x({character:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),bn=x({id:p(),position:k,uri:p()}),xn=x({id:p(),newName:p(),position:k,uri:p()}),Sn=x({action:p(),position:k,timestampMs:f(),uri:p()}),Cn=_([b(`utf-16`),b(`utf-32`),b(`utf-8`)]),wn=x({_meta:m(p(),g()).nullish(),auth:Je.optional().default({terminal:!1}),elicitation:_t.nullish(),fs:wt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:on.nullish(),positionEncodings:h(Cn).optional(),terminal:v().optional().default(!1)}),Tn=x({_meta:m(p(),g()).nullish(),audio:v().optional().default(!1),embeddedContext:v().optional().default(!1),image:v().optional().default(!1)}),En=f().int().gte(0).lte(65535),Dn=x({_meta:m(p(),g()).nullish(),clientCapabilities:wn.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Et.nullish(),protocolVersion:En}),A=x({end:k,start:k}),On=x({message:p(),range:A,severity:Bt,uri:p()}),kn=x({languageId:p(),lastFocusedMs:f().nullish(),uri:p(),visibleRange:A.nullish()}),An=x({_meta:m(p(),g()).nullish(),diagnostics:h(On).nullish(),editHistory:h(qt).nullish(),openFiles:h(kn).nullish(),recentFiles:h(Zt).nullish(),relatedSnippets:h(en).nullish(),userActions:h(Sn).nullish()}),jn=x({newText:p(),range:A}),Mn=_([x({cursorPosition:k.nullish(),edits:h(jn),id:p(),uri:p()}).and(x({kind:b(`edit`)})),bn.and(x({kind:b(`jump`)})),xn.and(x({kind:b(`rename`)})),sn.and(x({kind:b(`searchAndReplace`)}))]),Nn=x({_meta:m(p(),g()).nullish(),content:p()}),Pn=x({_meta:m(p(),g()).nullish()}),j=_([f(),p()]).nullable();x({_meta:m(p(),g()).nullish(),requestId:j});var Fn=x({requestId:j}),In=te([`assistant`,`user`]),M=x({_meta:m(p(),g()).nullish(),audience:h(In).nullish(),lastModified:p().nullish(),priority:f().nullish()}),Ln=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),data:p(),mimeType:p()}),Rn=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),data:p(),mimeType:p(),uri:p().nullish()}),zn=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),description:p().nullish(),mimeType:p().nullish(),name:p(),size:f().nullish(),title:p().nullish(),uri:p()}),Bn=x({_meta:m(p(),g()).nullish(),optionId:pn}),Vn=_([x({outcome:b(`cancelled`)}),Bn.and(x({outcome:b(`selected`)}))]),Hn=x({_meta:m(p(),g()).nullish(),outcome:Vn}),Un=x({_meta:m(p(),g()).nullish()}),Wn=x({_meta:m(p(),g()).nullish()}),Gn=x({currentValue:v()}),Kn=p(),qn=p(),Jn=_([b(`mode`),b(`model`),b(`thought_level`),p()]),Yn=p(),Xn=x({_meta:m(p(),g()).nullish(),description:p().nullish(),name:p(),value:Yn}),Zn=x({_meta:m(p(),g()).nullish(),group:Kn,name:p(),options:h(Xn)}),N=y(_([x({currentValue:Yn,options:_([h(Xn),h(Zn)])}).and(x({type:b(`select`)})),Gn.and(x({type:b(`boolean`)}))]),x({_meta:m(p(),g()).nullish(),category:Jn.nullish(),description:p().nullish(),id:qn,name:p()})),Qn=x({_meta:m(p(),g()).nullish(),configOptions:h(N)}),$n=x({_meta:m(p(),g()).nullish()}),P=p(),er=x({_meta:m(p(),g()).nullish(),id:p(),sessionId:P}),tr=x({_meta:m(p(),g()).nullish(),sessionId:P}),nr=x({_meta:m(p(),g()).nullish(),sessionId:P}),rr=x({_meta:m(p(),g()).nullish(),sessionId:P}),ir=x({_meta:m(p(),g()).nullish(),args:h(p()).optional(),command:p(),cwd:p().nullish(),env:h(yt).optional(),outputByteLimit:f().nullish(),sessionId:P}),ar=x({_meta:m(p(),g()).nullish(),sessionId:P,uri:p()}),or=x({_meta:m(p(),g()).nullish(),position:k,sessionId:P,uri:p(),version:f(),visibleRange:A}),sr=x({_meta:m(p(),g()).nullish(),languageId:p(),sessionId:P,text:p(),uri:p(),version:f()}),cr=x({_meta:m(p(),g()).nullish(),sessionId:P,uri:p()}),lr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O).optional(),sessionId:P}),ur=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),dr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O),sessionId:P}),fr=x({_meta:m(p(),g()).nullish(),limit:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:p(),sessionId:P}),pr=x({_meta:m(p(),g()).nullish(),id:p(),reason:$t.nullish(),sessionId:P}),mr=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),hr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),mcpServers:h(O).optional(),sessionId:P}),gr=x({_meta:m(p(),g()).nullish(),additionalDirectories:h(p()).optional(),cwd:p(),sessionId:P,title:p().nullish(),updatedAt:p().nullish()}),_r=x({_meta:m(p(),g()).nullish(),nextCursor:p().nullish(),sessions:h(gr)}),vr=x({_meta:m(p(),g()).nullish(),title:p().nullish(),updatedAt:p().nullish()}),yr=x({_meta:m(p(),g()).nullish()}),F=p(),br=x({_meta:m(p(),g()).nullish(),currentModeId:F}),xr=x({_meta:m(p(),g()).nullish(),description:p().nullish(),id:F,name:p()}),I=x({_meta:m(p(),g()).nullish(),availableModes:h(xr),currentModeId:F}),L=x({_meta:m(p(),g()).nullish(),availableModels:h(zt),currentModelId:Rt}),Sr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish(),sessionId:P}),Cr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish()}),wr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish(),sessionId:P}),Tr=x({_meta:m(p(),g()).nullish(),configOptions:h(N).nullish(),models:L.nullish(),modes:I.nullish()}),Er=x({_meta:m(p(),g()).nullish()}),Dr=x({_meta:m(p(),g()).nullish(),additionalDirectories:Un.nullish(),close:Wn.nullish(),fork:$n.nullish(),list:yr.nullish(),resume:Er.nullish()}),Or=y(_([x({type:b(`boolean`),value:v()}),x({value:Yn})]),x({_meta:m(p(),g()).nullish(),configId:qn,sessionId:P})),kr=x({_meta:m(p(),g()).nullish(),configOptions:h(N)}),Ar=x({_meta:m(p(),g()).nullish(),modeId:F,sessionId:P}),jr=x({_meta:m(p(),g()).nullish()}),Mr=x({_meta:m(p(),g()).nullish(),modelId:Rt,sessionId:P}),Nr=x({_meta:m(p(),g()).nullish()}),Pr=x({_meta:m(p(),g()).nullish(),sessionId:P}),Fr=_([b(`end_turn`),b(`max_tokens`),b(`max_turn_requests`),b(`refusal`),b(`cancelled`)]),Ir=_([b(`email`),b(`uri`),b(`date`),b(`date-time`)]),Lr=x({default:p().nullish(),description:p().nullish(),enum:h(p()).nullish(),format:Ir.nullish(),maxLength:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:h(vt).nullish(),pattern:p().nullish(),title:p().nullish()}),Rr=x({_meta:m(p(),g()).nullish(),context:An.nullish(),position:k,selection:A.nullish(),sessionId:P,triggerKind:cn,uri:p(),version:f()}),zr=x({_meta:m(p(),g()).nullish(),suggestions:h(Mn)}),Br=x({_meta:m(p(),g()).nullish(),terminalId:p()}),Vr=x({_meta:m(p(),g()).nullish(),exitCode:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:p().nullish()}),Hr=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),Ur=x({_meta:m(p(),g()).nullish(),exitStatus:Vr.nullish(),output:p(),truncated:v()}),Wr=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),text:p()}),Gr=x({range:A.nullish(),text:p()}),Kr=x({_meta:m(p(),g()).nullish(),contentChanges:h(Gr),sessionId:P,uri:p(),version:f()});x({method:p(),params:_([tr,sr,Kr,ar,cr,or,er,pr,xt]).nullish()});var qr=_([b(`full`),b(`incremental`)]),Jr=x({_meta:m(p(),g()).nullish(),syncKind:qr}),Yr=x({_meta:m(p(),g()).nullish(),didChange:Jr.nullish(),didClose:Ht.nullish(),didFocus:Ut.nullish(),didOpen:Wt.nullish(),didSave:Gt.nullish()}),Xr=x({_meta:m(p(),g()).nullish(),document:Yr.nullish()}),Zr=x({_meta:m(p(),g()).nullish(),context:un.nullish(),events:Xr.nullish()}),Qr=x({_meta:m(p(),g()).nullish(),auth:jt.optional().default({}),loadSession:v().optional().default(!1),mcpCapabilities:Pt.optional().default({http:!1,sse:!1}),nes:Zr.nullish(),positionEncoding:Cn.nullish(),promptCapabilities:Tn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:Dr.optional().default({})}),$r=x({_meta:m(p(),g()).nullish(),agentCapabilities:Qr.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Et.nullish(),authMethods:h($e).optional().default([]),protocolVersion:En}),ei=_([x({_meta:m(p(),g()).nullish(),mimeType:p().nullish(),text:p(),uri:p()}),nt]),ti=x({_meta:m(p(),g()).nullish(),annotations:M.nullish(),resource:ei}),ni=_([Wr.and(x({type:b(`text`)})),Rn.and(x({type:b(`image`)})),Ln.and(x({type:b(`audio`)})),zn.and(x({type:b(`resource_link`)})),ti.and(x({type:b(`resource`)}))]),ri=x({_meta:m(p(),g()).nullish(),content:ni}),ii=x({_meta:m(p(),g()).nullish(),content:ni,messageId:p().nullish()}),ai=x({_meta:m(p(),g()).nullish(),messageId:p().nullish(),prompt:h(ni),sessionId:P}),oi=x({anyOf:h(vt)}),si=_([ri.and(x({type:b(`content`)})),ct.and(x({type:b(`diff`)})),Br.and(x({type:b(`terminal`)}))]),ci=p(),li=x({sessionId:P,toolCallId:ci.nullish()}),ui=y(_([li,Fn]),x({elicitationId:ft,url:p().url()})),di=x({_meta:m(p(),g()).nullish(),line:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:p()}),fi=_([b(`pending`),b(`in_progress`),b(`completed`),b(`failed`)]),pi=_([b(`read`),b(`edit`),b(`delete`),b(`move`),b(`search`),b(`execute`),b(`think`),b(`fetch`),b(`switch_mode`),b(`other`)]),mi=x({_meta:m(p(),g()).nullish(),content:h(si).optional(),kind:pi.optional(),locations:h(di).optional(),rawInput:g().optional(),rawOutput:g().optional(),status:fi.optional(),title:p(),toolCallId:ci}),hi=x({_meta:m(p(),g()).nullish(),content:h(si).nullish(),kind:pi.nullish(),locations:h(di).nullish(),rawInput:g().optional(),rawOutput:g().optional(),status:fi.nullish(),title:p().nullish(),toolCallId:ci}),gi=x({_meta:m(p(),g()).nullish(),options:h(hn),sessionId:P,toolCall:hi}),_i=x({_meta:m(p(),g()).nullish(),hint:p()}),vi=x({_meta:m(p(),g()).nullish(),description:p(),input:_i.nullish(),name:p()}),yi=x({_meta:m(p(),g()).nullish(),availableCommands:h(vi)}),bi=_([x({enum:h(p()),type:ht}),oi]),xi=x({default:h(p()).nullish(),description:p().nullish(),items:bi,maxItems:f().nullish(),minItems:f().nullish(),title:p().nullish()}),Si=_([Lr.and(x({type:b(`string`)})),fn.and(x({type:b(`number`)})),Dt.and(x({type:b(`integer`)})),rt.and(x({type:b(`boolean`)})),xi.and(x({type:b(`array`)}))]),Ci=x({description:p().nullish(),properties:m(p(),Si).optional().default({}),required:h(p()).nullish(),title:p().nullish(),type:mt.optional().default(`object`)}),wi=y(_([y(_([li,Fn]),x({requestedSchema:Ci})).and(x({mode:b(`form`)})),ui.and(x({mode:b(`url`)}))]),x({_meta:m(p(),g()).nullish(),message:p()})),Ti=x({cachedReadTokens:f().nullish(),cachedWriteTokens:f().nullish(),inputTokens:f(),outputTokens:f(),thoughtTokens:f().nullish(),totalTokens:f()});_([x({id:j,result:_([$r,tt,Nt,wr,Cr,_r,Sr,Tr,at,jr,kr,x({_meta:m(p(),g()).nullish(),stopReason:Fr,usage:Ti.nullish(),userMessageId:p().nullish()}),Nr,Pr,zr,it,Ct])}),x({error:bt,id:j})]);var Ei=x({_meta:m(p(),g()).nullish(),cost:ot.nullish(),size:f(),used:f()}),Di=_([ii.and(x({sessionUpdate:b(`user_message_chunk`)})),ii.and(x({sessionUpdate:b(`agent_message_chunk`)})),ii.and(x({sessionUpdate:b(`agent_thought_chunk`)})),mi.and(x({sessionUpdate:b(`tool_call`)})),hi.and(x({sessionUpdate:b(`tool_call_update`)})),yn.and(x({sessionUpdate:b(`plan`)})),yi.and(x({sessionUpdate:b(`available_commands_update`)})),br.and(x({sessionUpdate:b(`current_mode_update`)})),Qn.and(x({sessionUpdate:b(`config_option_update`)})),vr.and(x({sessionUpdate:b(`session_info_update`)})),Ei.and(x({sessionUpdate:b(`usage_update`)}))]),Oi=x({_meta:m(p(),g()).nullish(),sessionId:P,update:Di});x({method:p(),params:_([Oi,pt,xt]).nullish()});var ki=x({_meta:m(p(),g()).nullish(),sessionId:P,terminalId:p()}),Ai=x({_meta:m(p(),g()).nullish(),exitCode:f().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:p().nullish()}),ji=x({name:p(),uri:p()}),Mi=x({_meta:m(p(),g()).nullish(),repository:rn.nullish(),workspaceFolders:h(ji).nullish(),workspaceUri:p().nullish()});x({id:j,method:p(),params:_([Dn,et,Mt,dn,dr,kt,lr,hr,rr,Ar,Or,ai,Mr,Mi,Rr,nr,St]).nullish()});var Ni=x({_meta:m(p(),g()).nullish(),content:p(),path:p(),sessionId:P});x({id:j,method:p(),params:_([Ni,fr,gi,ir,Hr,mr,ki,ur,wi,St]).nullish()}),_([x({id:j,result:_([x({_meta:m(p(),g()).nullish()}),Nn,Hn,st,Ur,Pn,Ai,Ot,ut,Ct])}),x({error:bt,id:j})]),e(),d(),r(),s(),i(),o();function Pi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a)break;if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
2
2
|
`);n=o.pop()||``;for(let t of o){let n=t.trim();if(n)try{let t=JSON.parse(n);e.enqueue(t)}catch(e){console.error(`Failed to parse JSON message:`,n,e)}}}}catch(t){e.error(t);return}finally{i.releaseLock()}e.close()}}),writable:new WritableStream({async write(t){let r=JSON.stringify(t)+`
|
|
3
|
-
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}ne();var Fi,R=new WeakMap,Ii=class{constructor(e,t){l(this,R,void 0);let n=e(this);u(R,this,new Hi(async(e,t)=>{switch(e){case E.initialize:{let e=Dn.parse(t);return n.initialize(e)}case E.session_new:{let e=dn.parse(t);return n.newSession(e)}case E.session_load:{if(!n.loadSession)throw q.methodNotFound(e);let r=dr.parse(t);return n.loadSession(r)}case E.session_list:{if(!n.listSessions)throw q.methodNotFound(e);let r=kt.parse(t);return n.listSessions(r)}case E.session_fork:{if(!n.unstable_forkSession)throw q.methodNotFound(e);let r=lr.parse(t);return n.unstable_forkSession(r)}case E.session_resume:{if(!n.unstable_resumeSession)throw q.methodNotFound(e);let r=hr.parse(t);return n.unstable_resumeSession(r)}case E.session_close:{if(!n.unstable_closeSession)throw q.methodNotFound(e);let r=rr.parse(t);return n.unstable_closeSession(r)}case E.session_set_mode:{if(!n.setSessionMode)throw q.methodNotFound(e);let r=Ar.parse(t);return await n.setSessionMode(r)??{}}case E.authenticate:{let e=et.parse(t);return await n.authenticate(e)??{}}case E.logout:{if(!n.unstable_logout)throw q.methodNotFound(e);let r=Mt.parse(t);return await n.unstable_logout(r)??{}}case E.session_prompt:{let e=ai.parse(t);return n.prompt(e)}case E.session_set_model:{if(!n.unstable_setSessionModel)throw q.methodNotFound(e);let r=Mr.parse(t);return await n.unstable_setSessionModel(r)??{}}case E.session_set_config_option:{if(!n.setSessionConfigOption)throw q.methodNotFound(e);let r=Or.parse(t);return n.setSessionConfigOption(r)}case E.nes_start:{if(!n.unstable_startNes)throw q.methodNotFound(e);let r=Mi.parse(t);return n.unstable_startNes(r)}case E.nes_suggest:{if(!n.unstable_suggestNes)throw q.methodNotFound(e);let r=Rr.parse(t);return n.unstable_suggestNes(r)}case E.nes_close:{if(!n.unstable_closeNes)throw q.methodNotFound(e);let r=nr.parse(t);return await n.unstable_closeNes(r)??{}}default:if(n.extMethod)return n.extMethod(e,t);throw q.methodNotFound(e)}},async(e,t)=>{switch(e){case E.session_cancel:{let e=tr.parse(t);return n.cancel(e)}case E.document_did_open:{if(!n.unstable_didOpenDocument)return;let e=sr.parse(t);return n.unstable_didOpenDocument(e)}case E.document_did_change:{if(!n.unstable_didChangeDocument)return;let e=Kr.parse(t);return n.unstable_didChangeDocument(e)}case E.document_did_close:{if(!n.unstable_didCloseDocument)return;let e=ar.parse(t);return n.unstable_didCloseDocument(e)}case E.document_did_save:{if(!n.unstable_didSaveDocument)return;let e=cr.parse(t);return n.unstable_didSaveDocument(e)}case E.document_did_focus:{if(!n.unstable_didFocusDocument)return;let e=or.parse(t);return n.unstable_didFocusDocument(e)}case E.nes_accept:{if(!n.unstable_acceptNes)return;let e=er.parse(t);return n.unstable_acceptNes(e)}case E.nes_reject:{if(!n.unstable_rejectNes)return;let e=pr.parse(t);return n.unstable_rejectNes(e)}default:if(n.extNotification)return n.extNotification(e,t);throw q.methodNotFound(e)}},t))}async sessionUpdate(e){return await c(R,this).sendNotification(D.session_update,e)}async requestPermission(e){return await c(R,this).sendRequest(D.session_request_permission,e)}async readTextFile(e){return await c(R,this).sendRequest(D.fs_read_text_file,e)}async writeTextFile(e){return await c(R,this).sendRequest(D.fs_write_text_file,e)??{}}async createTerminal(e){return new Li((await c(R,this).sendRequest(D.terminal_create,e)).terminalId,e.sessionId,c(R,this))}async unstable_createElicitation(e){return await c(R,this).sendRequest(D.elicitation_create,e)}async unstable_completeElicitation(e){return await c(R,this).sendNotification(D.elicitation_complete,e)}async extMethod(e,t){return await c(R,this).sendRequest(e,t)}async extNotification(e,t){return await c(R,this).sendNotification(e,t)}get signal(){return c(R,this).signal}get closed(){return c(R,this).closed}},z=new WeakMap,B=new WeakMap;Fi=Symbol.asyncDispose;var Li=class{constructor(e,n,r){t(this,`id`,void 0),l(this,z,void 0),l(this,B,void 0),this.id=e,u(z,this,n),u(B,this,r)}async currentOutput(){return await c(B,this).sendRequest(D.terminal_output,{sessionId:c(z,this),terminalId:this.id})}async waitForExit(){return await c(B,this).sendRequest(D.terminal_wait_for_exit,{sessionId:c(z,this),terminalId:this.id})}async kill(){return await c(B,this).sendRequest(D.terminal_kill,{sessionId:c(z,this),terminalId:this.id})??{}}async release(){return await c(B,this).sendRequest(D.terminal_release,{sessionId:c(z,this),terminalId:this.id})??{}}async[Fi](){await this.release()}},V=new WeakMap,Ri=new WeakMap,zi=new WeakMap,Bi=new WeakMap,H=new WeakMap,U=new WeakMap,W=new WeakMap,Vi=new WeakMap,G=new WeakSet,Hi=class{constructor(e,t,r){a(this,G),l(this,V,new Map),l(this,Ri,0),l(this,zi,void 0),l(this,Bi,void 0),l(this,H,void 0),l(this,U,Promise.resolve()),l(this,W,new AbortController),l(this,Vi,void 0),u(zi,this,e),u(Bi,this,t),u(H,this,r),u(Vi,this,new Promise(e=>{c(W,this).signal.addEventListener(`abort`,()=>e())})),n(G,this,Ui).call(this)}get signal(){return c(W,this).signal}get closed(){return c(Vi,this)}async sendRequest(e,t){var r,i;n(G,this,Yi).call(this);let a=(u(Ri,this,(r=c(Ri,this),i=r++,r)),i),o=new Promise((e,t)=>{c(V,this).set(a,{resolve:e,reject:t})});return await n(G,this,K).call(this,{jsonrpc:`2.0`,id:a,method:e,params:t}),o}async sendNotification(e,t){n(G,this,Yi).call(this),await n(G,this,K).call(this,{jsonrpc:`2.0`,method:e,params:t})}};async function Ui(){let e;try{let e=c(H,this).readable.getReader();try{for(;!c(W,this).signal.aborted;){let{value:t,done:r}=await e.read();if(r)break;if(t)try{n(G,this,Gi).call(this,t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&n(G,this,K).call(this,{jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{n(G,this,Wi).call(this,e)}}function Wi(e){if(c(W,this).signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of c(V,this).values())e.reject(t);c(V,this).clear(),c(W,this).abort(t)}async function Gi(e){if(`method`in e&&`id`in e){let t=await n(G,this,Ki).call(this,e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await n(G,this,K).call(this,{jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await n(G,this,qi).call(this,e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?n(G,this,Ji).call(this,e):console.error(`Invalid message`,{message:e})}async function Ki(e,t){try{return{result:await c(zi,this).call(this,e,t)??null}}catch(e){if(e instanceof q)return e.toResult();if(e instanceof ee)return q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.internalError({details:t}).toResult()}}}async function qi(e,t){try{return await c(Bi,this).call(this,e,t),{result:null}}catch(e){if(e instanceof q)return e.toResult();if(e instanceof ee)return q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.internalError({details:t}).toResult()}}}function Ji(e){let t=c(V,this).get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new q(n,r,i))}c(V,this).delete(e.id)}else console.error(`Got response to unknown request`,e.id)}function Yi(){if(c(W,this).signal.aborted)throw c(W,this).signal.reason??Error(`ACP connection closed`)}async function K(e){return u(U,this,c(U,this).then(async()=>{let t=c(H,this).writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{n(G,this,Wi).call(this,e)})),c(U,this)}var q=class e extends Error{constructor(e,n,r){super(n),t(this,`code`,void 0),t(this,`data`,void 0),this.code=e,this.name=`RequestError`,this.data=r}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};ae(),S(),pe(),fe(),Le(),ze(),ke(),Oe(),we(),je(),Se(),Me();function J(e,t){if(e)return t?Ue(e)?e:We(t,e):e}var Xi=!(typeof process.geteuid==`function`?process.geteuid()===0:typeof process.getuid==`function`&&process.getuid()===0)||!!process.env.IS_SANDBOX,Zi={auto:`auto`,default:`default`,acceptedits:`acceptEdits`,dontask:`dontAsk`,plan:`plan`,bypasspermissions:`bypassPermissions`,bypass:`bypassPermissions`};function Qi(e,t=`permissions.defaultMode`){if(e===void 0)return`default`;if(typeof e!=`string`)throw Error(`Invalid ${t}: expected a string.`);let n=e.trim().toLowerCase();if(n===``)throw Error(`Invalid ${t}: expected a non-empty string.`);let r=Zi[n];if(!r)throw Error(`Invalid ${t}: ${e}.`);if(r===`bypassPermissions`&&!Xi)throw Error(`Invalid ${t}: bypassPermissions is not available when running as root.`);return r}function $i(e){let t=[...e.mcpServers??[]].sort((e,t)=>e.name.localeCompare(t.name));return JSON.stringify({cwd:e.cwd,mcpServers:t})}var ea=256;function ta(e){let t=e.replace(/[\r\n]+/g,` `).replace(/\s+/g,` `).trim();return t.length<=ea?t:t.slice(0,ea-1)+`…`}function na(e,t){if(!t)return e;let n=w.resolve(t),r=w.resolve(e);return r.startsWith(n+w.sep)||r===n?w.relative(n,r).replaceAll(`\\`,`/`):e}function ra(e){let t="```";for(let n of e.matchAll(/^```+/gm)??[])for(;n[0].length>=t.length;)t+="`";return t+`
|
|
3
|
+
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}ne();var Fi,R=new WeakMap,Ii=class{constructor(e,t){l(this,R,void 0);let n=e(this);u(R,this,new Hi(async(e,t)=>{switch(e){case E.initialize:{let e=Dn.parse(t);return n.initialize(e)}case E.session_new:{let e=dn.parse(t);return n.newSession(e)}case E.session_load:{if(!n.loadSession)throw q.methodNotFound(e);let r=dr.parse(t);return n.loadSession(r)}case E.session_list:{if(!n.listSessions)throw q.methodNotFound(e);let r=kt.parse(t);return n.listSessions(r)}case E.session_fork:{if(!n.unstable_forkSession)throw q.methodNotFound(e);let r=lr.parse(t);return n.unstable_forkSession(r)}case E.session_resume:{if(!n.unstable_resumeSession)throw q.methodNotFound(e);let r=hr.parse(t);return n.unstable_resumeSession(r)}case E.session_close:{if(!n.unstable_closeSession)throw q.methodNotFound(e);let r=rr.parse(t);return n.unstable_closeSession(r)}case E.session_set_mode:{if(!n.setSessionMode)throw q.methodNotFound(e);let r=Ar.parse(t);return await n.setSessionMode(r)??{}}case E.authenticate:{let e=et.parse(t);return await n.authenticate(e)??{}}case E.logout:{if(!n.unstable_logout)throw q.methodNotFound(e);let r=Mt.parse(t);return await n.unstable_logout(r)??{}}case E.session_prompt:{let e=ai.parse(t);return n.prompt(e)}case E.session_set_model:{if(!n.unstable_setSessionModel)throw q.methodNotFound(e);let r=Mr.parse(t);return await n.unstable_setSessionModel(r)??{}}case E.session_set_config_option:{if(!n.setSessionConfigOption)throw q.methodNotFound(e);let r=Or.parse(t);return n.setSessionConfigOption(r)}case E.nes_start:{if(!n.unstable_startNes)throw q.methodNotFound(e);let r=Mi.parse(t);return n.unstable_startNes(r)}case E.nes_suggest:{if(!n.unstable_suggestNes)throw q.methodNotFound(e);let r=Rr.parse(t);return n.unstable_suggestNes(r)}case E.nes_close:{if(!n.unstable_closeNes)throw q.methodNotFound(e);let r=nr.parse(t);return await n.unstable_closeNes(r)??{}}default:if(n.extMethod)return n.extMethod(e,t);throw q.methodNotFound(e)}},async(e,t)=>{switch(e){case E.session_cancel:{let e=tr.parse(t);return n.cancel(e)}case E.document_did_open:{if(!n.unstable_didOpenDocument)return;let e=sr.parse(t);return n.unstable_didOpenDocument(e)}case E.document_did_change:{if(!n.unstable_didChangeDocument)return;let e=Kr.parse(t);return n.unstable_didChangeDocument(e)}case E.document_did_close:{if(!n.unstable_didCloseDocument)return;let e=ar.parse(t);return n.unstable_didCloseDocument(e)}case E.document_did_save:{if(!n.unstable_didSaveDocument)return;let e=cr.parse(t);return n.unstable_didSaveDocument(e)}case E.document_did_focus:{if(!n.unstable_didFocusDocument)return;let e=or.parse(t);return n.unstable_didFocusDocument(e)}case E.nes_accept:{if(!n.unstable_acceptNes)return;let e=er.parse(t);return n.unstable_acceptNes(e)}case E.nes_reject:{if(!n.unstable_rejectNes)return;let e=pr.parse(t);return n.unstable_rejectNes(e)}default:if(n.extNotification)return n.extNotification(e,t);throw q.methodNotFound(e)}},t))}async sessionUpdate(e){return await c(R,this).sendNotification(D.session_update,e)}async requestPermission(e){return await c(R,this).sendRequest(D.session_request_permission,e)}async readTextFile(e){return await c(R,this).sendRequest(D.fs_read_text_file,e)}async writeTextFile(e){return await c(R,this).sendRequest(D.fs_write_text_file,e)??{}}async createTerminal(e){return new Li((await c(R,this).sendRequest(D.terminal_create,e)).terminalId,e.sessionId,c(R,this))}async unstable_createElicitation(e){return await c(R,this).sendRequest(D.elicitation_create,e)}async unstable_completeElicitation(e){return await c(R,this).sendNotification(D.elicitation_complete,e)}async extMethod(e,t){return await c(R,this).sendRequest(e,t)}async extNotification(e,t){return await c(R,this).sendNotification(e,t)}get signal(){return c(R,this).signal}get closed(){return c(R,this).closed}},z=new WeakMap,B=new WeakMap;Fi=Symbol.asyncDispose;var Li=class{constructor(e,n,r){t(this,`id`,void 0),l(this,z,void 0),l(this,B,void 0),this.id=e,u(z,this,n),u(B,this,r)}async currentOutput(){return await c(B,this).sendRequest(D.terminal_output,{sessionId:c(z,this),terminalId:this.id})}async waitForExit(){return await c(B,this).sendRequest(D.terminal_wait_for_exit,{sessionId:c(z,this),terminalId:this.id})}async kill(){return await c(B,this).sendRequest(D.terminal_kill,{sessionId:c(z,this),terminalId:this.id})??{}}async release(){return await c(B,this).sendRequest(D.terminal_release,{sessionId:c(z,this),terminalId:this.id})??{}}async[Fi](){await this.release()}},V=new WeakMap,Ri=new WeakMap,zi=new WeakMap,Bi=new WeakMap,H=new WeakMap,U=new WeakMap,W=new WeakMap,Vi=new WeakMap,G=new WeakSet,Hi=class{constructor(e,t,r){a(this,G),l(this,V,new Map),l(this,Ri,0),l(this,zi,void 0),l(this,Bi,void 0),l(this,H,void 0),l(this,U,Promise.resolve()),l(this,W,new AbortController),l(this,Vi,void 0),u(zi,this,e),u(Bi,this,t),u(H,this,r),u(Vi,this,new Promise(e=>{c(W,this).signal.addEventListener(`abort`,()=>e())})),n(G,this,Ui).call(this)}get signal(){return c(W,this).signal}get closed(){return c(Vi,this)}async sendRequest(e,t){var r,i;n(G,this,Yi).call(this);let a=(u(Ri,this,(r=c(Ri,this),i=r++,r)),i),o=new Promise((e,t)=>{c(V,this).set(a,{resolve:e,reject:t})});return await n(G,this,K).call(this,{jsonrpc:`2.0`,id:a,method:e,params:t}),o}async sendNotification(e,t){n(G,this,Yi).call(this),await n(G,this,K).call(this,{jsonrpc:`2.0`,method:e,params:t})}};async function Ui(){let e;try{let e=c(H,this).readable.getReader();try{for(;!c(W,this).signal.aborted;){let{value:t,done:r}=await e.read();if(r)break;if(t)try{n(G,this,Gi).call(this,t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&n(G,this,K).call(this,{jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{n(G,this,Wi).call(this,e)}}function Wi(e){if(c(W,this).signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of c(V,this).values())e.reject(t);c(V,this).clear(),c(W,this).abort(t)}async function Gi(e){if(`method`in e&&`id`in e){let t=await n(G,this,Ki).call(this,e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await n(G,this,K).call(this,{jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await n(G,this,qi).call(this,e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?n(G,this,Ji).call(this,e):console.error(`Invalid message`,{message:e})}async function Ki(e,t){try{return{result:await c(zi,this).call(this,e,t)??null}}catch(e){if(e instanceof q)return e.toResult();if(e instanceof ee)return q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.internalError({details:t}).toResult()}}}async function qi(e,t){try{return await c(Bi,this).call(this,e,t),{result:null}}catch(e){if(e instanceof q)return e.toResult();if(e instanceof ee)return q.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.internalError({details:t}).toResult()}}}function Ji(e){let t=c(V,this).get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new q(n,r,i))}c(V,this).delete(e.id)}else console.error(`Got response to unknown request`,e.id)}function Yi(){if(c(W,this).signal.aborted)throw c(W,this).signal.reason??Error(`ACP connection closed`)}async function K(e){return u(U,this,c(U,this).then(async()=>{let t=c(H,this).writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{n(G,this,Wi).call(this,e)})),c(U,this)}var q=class e extends Error{constructor(e,n,r){super(n),t(this,`code`,void 0),t(this,`data`,void 0),this.code=e,this.name=`RequestError`,this.data=r}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};ae(),S(),pe(),fe(),Le(),ze(),ke(),Oe(),we(),je(),Se(),Me();function J(e,t){if(e)return t?Ke(e)?e:qe(t,e):e}var Xi=!(typeof process.geteuid==`function`?process.geteuid()===0:typeof process.getuid==`function`&&process.getuid()===0)||!!process.env.IS_SANDBOX,Zi={auto:`auto`,default:`default`,acceptedits:`acceptEdits`,dontask:`dontAsk`,plan:`plan`,bypasspermissions:`bypassPermissions`,bypass:`bypassPermissions`};function Qi(e,t=`permissions.defaultMode`){if(e===void 0)return`default`;if(typeof e!=`string`)throw Error(`Invalid ${t}: expected a string.`);let n=e.trim().toLowerCase();if(n===``)throw Error(`Invalid ${t}: expected a non-empty string.`);let r=Zi[n];if(!r)throw Error(`Invalid ${t}: ${e}.`);if(r===`bypassPermissions`&&!Xi)throw Error(`Invalid ${t}: bypassPermissions is not available when running as root.`);return r}function $i(e){let t=[...e.mcpServers??[]].sort((e,t)=>e.name.localeCompare(t.name));return JSON.stringify({cwd:e.cwd,mcpServers:t})}var ea=256;function ta(e){let t=e.replace(/[\r\n]+/g,` `).replace(/\s+/g,` `).trim();return t.length<=ea?t:t.slice(0,ea-1)+`…`}function na(e,t){if(!t)return e;let n=T.resolve(t),r=T.resolve(e);return r.startsWith(n+T.sep)||r===n?T.relative(n,r):e}function ra(e){let t="```";for(let n of e.matchAll(/^```+/gm)??[])for(;n[0].length>=t.length;)t+="`";return t+`
|
|
4
4
|
`+e+(e.endsWith(`
|
|
5
5
|
`)?``:`
|
|
6
6
|
`)+t}function Y(e,t=!1,n){let r=e.name,i=e.input;switch(r){case`Agent`:case`Task`:{let e=i?.description??`Task`,t=i?.prompt;return{title:e,kind:`think`,content:t?[{type:`content`,content:{type:`text`,text:t}}]:[]}}case`Bash`:{let e=i?.command??`Terminal`,t=i?.description;return{title:e,kind:`execute`,content:t?[{type:`content`,content:{type:`text`,text:t}}]:[]}}case`Read`:{let e=i?.file_path,t=e??`File`,r=i?.offset,a=i?.limit,o=``;a&&a>0?o=` (${r??1} - ${(r??1)+a-1})`:r&&(o=` (from line ${r})`);let s=t?na(t,n):`File`,c=J(e,n);return{title:`Read ${s}${o}`,kind:`read`,locations:c?[{path:c,line:r??1}]:[],content:[]}}case`Write`:{let e=i?.file_path??``,t=i?.content??``,r=e?na(e,n):void 0,a=J(e,n);return{title:r?`Write ${r}`:`Write`,kind:`edit`,content:a?[{type:`diff`,path:a,oldText:null,newText:t}]:[{type:`content`,content:{type:`text`,text:t}}],locations:a?[{path:a}]:[]}}case`Edit`:{let e=i?.file_path??``,t=i?.old_string??``,r=i?.new_string??``,a=e?na(e,n):void 0,o=J(e,n);return{title:a?`Edit ${a}`:`Edit`,kind:`edit`,content:o?[{type:`diff`,path:o,oldText:t||null,newText:r}]:[],locations:o?[{path:o}]:[]}}case`Glob`:{let e=i?.path??``,t=i?.pattern??``,r=J(e,n),a=`Find`;return e&&(a+=` \`${e}\``),t&&(a+=` \`${t}\``),{title:a,kind:`search`,content:[],locations:r?[{path:r}]:[]}}case`Grep`:{let e=i?.pattern??``,t=i?.path??``,n=`grep`;return i?.[`-i`]&&(n+=` -i`),i?.[`-n`]&&(n+=` -n`),i?.[`-A`]!==void 0&&(n+=` -A ${i[`-A`]}`),i?.[`-B`]!==void 0&&(n+=` -B ${i[`-B`]}`),i?.[`-C`]!==void 0&&(n+=` -C ${i[`-C`]}`),i?.output_mode===`files_with_matches`?n+=` -l`:i?.output_mode===`count`&&(n+=` -c`),i?.head_limit!==void 0&&(n+=` | head -${i.head_limit}`),i?.glob&&(n+=` --include="${i.glob}"`),i?.type&&(n+=` --type=${i.type}`),i?.multiline&&(n+=` -P`),e&&(n+=` "${e}"`),t&&(n+=` ${t}`),{title:n,kind:`search`,content:[]}}case`WebFetch`:{let e=i?.url??``,t=i?.prompt;return{title:e?`Fetch ${e}`:`Fetch`,kind:`fetch`,content:t?[{type:`content`,content:{type:`text`,text:t}}]:[]}}case`WebSearch`:{let e=`"${i?.query??`Web search`}"`,t=i?.allowed_domains,n=i?.blocked_domains;return t&&t.length>0&&(e+=` (allowed: ${t.join(`, `)})`),n&&n.length>0&&(e+=` (blocked: ${n.join(`, `)})`),{title:e,kind:`fetch`,content:[]}}case`TodoWrite`:{let e=i?.todos;return{title:Array.isArray(e)?`Update TODOs: ${e.map(e=>e.content).join(`, `)}`:`Update TODOs`,kind:`think`,content:[]}}case`ExitPlanMode`:{let e=i?.plan;return{title:`Ready to code?`,kind:`switch_mode`,content:e?[{type:`content`,content:{type:`text`,text:e}}]:[]}}default:return{title:r||`Unknown Tool`,kind:`other`,content:[]}}}function ia(e,t){return Array.isArray(e)&&e.length>0?{content:e.map(e=>({type:`content`,content:aa(e,t)}))}:typeof e==`string`&&e.length>0?{content:[{type:`content`,content:{type:`text`,text:t?`\`\`\`\n${e}\n\`\`\``:e}}]}:{}}function aa(e,t){let n=e=>({type:`text`,text:t?`\`\`\`\n${e}\n\`\`\``:e});switch(e.type){case`text`:{let n=e.text;return{type:`text`,text:t?`\`\`\`\n${n}\n\`\`\``:n}}case`image`:{let t=e.source;return t?.type===`base64`?{type:`image`,data:t.data,mimeType:t.media_type}:n(t?.type===`url`?`[image: ${t.url}]`:`[image: file reference]`)}case`resource_link`:{let t=e.uri;return{type:`resource_link`,uri:t,name:e.name??t,mimeType:e.mimeType}}case`resource`:{let t=e.resource;return{type:`resource`,resource:{uri:t?.uri??``,mimeType:t?.mimeType,...typeof t?.text==`string`?{text:t.text}:{},...typeof t?.blob==`string`?{blob:t.blob}:{}}}}case`tool_reference`:return n(`Tool: ${e.tool_name}`);case`tool_search_tool_search_result`:{let t=e.tool_references;return n(`Tools found: ${t?.map(e=>e.tool_name).join(`, `)||`none`}`)}case`tool_search_tool_result_error`:return n(`Error: ${e.error_code}${e.error_message?` - ${e.error_message}`:``}`);case`web_search_result`:return n(`${e.title} (${e.url})`);case`web_search_tool_result_error`:return n(`Error: ${e.error_code}`);case`web_fetch_result`:return n(`Fetched: ${e.url}`);case`web_fetch_tool_result_error`:return n(`Error: ${e.error_code}`);case`code_execution_result`:case`bash_code_execution_result`:return n(`Output: ${e.stdout||e.stderr||``}`);case`code_execution_tool_result_error`:case`bash_code_execution_tool_result_error`:return n(`Error: ${e.error_code}`);case`text_editor_code_execution_view_result`:return n(e.content);case`text_editor_code_execution_create_result`:return n(e.is_file_update?`File updated`:`File created`);case`text_editor_code_execution_str_replace_result`:{let t=e.lines;return n(t?.join(`
|
|
@@ -8,7 +8,7 @@ import{n as e,t}from"./defineProperty-80gRi2ZW.js";import{a as n,c as r,i,l as a
|
|
|
8
8
|
`)}else typeof i==`string`?e=i:Array.isArray(i)&&i.length>0&&(e=i.map(e=>e.type===`text`?e.text:``).join(`
|
|
9
9
|
`));return e.trim()?{content:[{type:`content`,content:{type:`text`,text:`\`\`\`console\n${e.trimEnd()}\n\`\`\``}}]}:{}}case`Edit`:case`Write`:return{};case`ExitPlanMode`:return{title:`Exited Plan Mode`};default:return ia(i??``,r)}}function sa(e){return e===`in_progress`?`in_progress`:e===`completed`?`completed`:`pending`}function X(e,t,n,r,i,a,o){let s=[];for(let i of e){let e=i.type,a=null;switch(e){case`text`:case`text_delta`:{let e=i.text??``;a={sessionUpdate:t===`assistant`?`agent_message_chunk`:`user_message_chunk`,...o?.messageId?{messageId:o.messageId}:{},content:{type:`text`,text:e}};break}case`thinking`:case`thinking_delta`:{let e=i.thinking??``;a={sessionUpdate:`agent_thought_chunk`,...o?.messageId?{messageId:o.messageId}:{},content:{type:`text`,text:e}};break}case`image`:{let e=i.source;e?.type===`base64`&&(a={sessionUpdate:t===`assistant`?`agent_message_chunk`:`user_message_chunk`,...o?.messageId?{messageId:o.messageId}:{},content:{type:`image`,data:e.data,mimeType:e.media_type}});break}case`tool_use`:case`server_tool_use`:case`mcp_tool_use`:{let t=i.id??``,n=i.name??`unknown`,s=i.input,c=t in r;if(r[t]={type:e,id:t,name:n,input:s},n===`TodoWrite`){let e=s?.todos;Array.isArray(e)&&(a={sessionUpdate:`plan`,entries:e.map(e=>({content:e.content,status:sa(e.status),priority:`medium`}))})}else{let e=s?{...s}:{};a=c?{_meta:{claudeCode:{toolName:n}},toolCallId:t,sessionUpdate:`tool_call_update`,status:`in_progress`,rawInput:e,...Y({name:n,id:t,input:s??{}},!1,o?.cwd)}:{_meta:{claudeCode:{toolName:n}},toolCallId:t,sessionUpdate:`tool_call`,rawInput:e,status:`pending`,...Y({name:n,id:t,input:s??{}},!1,o?.cwd)}}break}case`tool_result`:case`mcp_tool_result`:{let e=i.tool_use_id??``,t=r[e];if(!t)break;if(t.name!==`TodoWrite`){let n=oa(i,{name:t.name,id:t.id},!1);a={_meta:{claudeCode:{toolName:t.name}},toolCallId:e,sessionUpdate:`tool_call_update`,status:i.is_error===!0?`failed`:`completed`,rawOutput:i.content,...n}}break}case`redacted_thinking`:case`input_json_delta`:case`citations_delta`:case`signature_delta`:case`container_upload`:case`compaction`:case`compaction_delta`:break}if(a){if(o?.parentToolUseId){let e=a._meta;a._meta={...e,claudeCode:{...e?.claudeCode??{},parentToolUseId:o.parentToolUseId}}}s.push({sessionId:n,update:a})}}return s}function ca(e,t,n,r,i){let a=e.message;if(!a)return[];let o=a.content;if(!o)return[];if(typeof o==`string`)return[{sessionId:t,update:{sessionUpdate:`agent_message_chunk`,...i?.messageId?{messageId:i.messageId}:{},content:{type:`text`,text:o}}}];let s=i?.streamingActive?o.filter(e=>e.type!==`text`&&e.type!==`thinking`):o;return s.length===0?[]:X(s,`assistant`,t,n,r,void 0,i)}function la(e,t,n,r,i){let a=e.event;if(!a)return[];switch(a.type){case`content_block_start`:{let o=a.content_block;return o?X([o],`assistant`,t,n,r,void 0,{clientCapabilities:i?.clientCapabilities,parentToolUseId:e.parent_tool_use_id,cwd:i?.cwd,messageId:i?.messageId}):[]}case`content_block_delta`:{let o=a.delta;return o?X([o],`assistant`,t,n,r,void 0,{clientCapabilities:i?.clientCapabilities,parentToolUseId:e.parent_tool_use_id,cwd:i?.cwd,messageId:i?.messageId}):[]}case`message_start`:case`message_delta`:case`message_stop`:case`content_block_stop`:return[];default:return[]}}function ua(e,t){let n=0,r=Math.min(e.length,t.length);for(;n<r&&e[n]===t[n];)n++;return n}function da(e,t){let n=null,r=0;for(let i of Object.keys(e)){let e=ua(i,t);e>r&&(r=e,n=i)}return n?e[n]??null:null}var fa=console;function pa(e,t){if(t.aborted)return Promise.resolve({done:!0,value:void 0});let n,r=new Promise(e=>{n=()=>e({done:!0,value:void 0}),t.addEventListener(`abort`,n,{once:!0})});return Promise.race([e.next(),r]).finally(()=>{n&&t.removeEventListener(`abort`,n)})}async function ma(e,t,n,r,i,a,o,s){let c=`end_turn`,l={inputTokens:0,outputTokens:0,cachedReadTokens:0,cachedWriteTokens:0},u=null,d=null,f=2e5,p=!1,m=null;try{for(;!r.aborted;){let s=await pa(t,r);if(s.done||r.aborted)break;let h=s.value;if(h==null)continue;let g=h;switch(g.type){case`system`:g.subtype===`compact_boundary`&&(u=0,await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:`
|
|
10
10
|
|
|
11
|
-
Compacting completed.`}}}));break;case`result`:{let t=g.usage;t&&(l.inputTokens+=t.input_tokens??0,l.outputTokens+=t.output_tokens??0,l.cachedReadTokens+=t.cache_read_input_tokens??0,l.cachedWriteTokens+=t.cache_creation_input_tokens??0);let i=g.modelUsage;if(i&&d){let e=da(i,d);e?.contextWindow&&(f=e.contextWindow)}u!==null&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`usage_update`,used:u,size:f}});let a=g.subtype,o=g.is_error;if(r.aborted){c=`cancelled`;break}switch(a){case`success`:{let e=g.stop_reason;c=e===`max_tokens`?`max_tokens`:e===`refusal`?`refusal`:`end_turn`,o&&(c=`end_turn`);break}case`error_during_execution`:c=g.stop_reason===`max_tokens`?`max_tokens`:`end_turn`;break;case`error_max_budget_usd`:case`error_max_turns`:case`error_max_structured_output_retries`:c=`max_turn_requests`;break}break}case`stream_event`:{let t=g.parent_tool_use_id;t===null&&m===null&&(m=
|
|
11
|
+
Compacting completed.`}}}));break;case`result`:{let t=g.usage;t&&(l.inputTokens+=t.input_tokens??0,l.outputTokens+=t.output_tokens??0,l.cachedReadTokens+=t.cache_read_input_tokens??0,l.cachedWriteTokens+=t.cache_creation_input_tokens??0);let i=g.modelUsage;if(i&&d){let e=da(i,d);e?.contextWindow&&(f=e.contextWindow)}u!==null&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`usage_update`,used:u,size:f}});let a=g.subtype,o=g.is_error;if(r.aborted){c=`cancelled`;break}switch(a){case`success`:{let e=g.stop_reason;c=e===`max_tokens`?`max_tokens`:e===`refusal`?`refusal`:`end_turn`,o&&(c=`end_turn`);break}case`error_during_execution`:c=g.stop_reason===`max_tokens`?`max_tokens`:`end_turn`;break;case`error_max_budget_usd`:case`error_max_turns`:case`error_max_structured_output_retries`:c=`max_turn_requests`;break}break}case`stream_event`:{let t=g.parent_tool_use_id;t===null&&m===null&&(m=w());let r=la(g,e,i,n,{clientCapabilities:a,cwd:o,messageId:t===null?m??void 0:void 0});for(let e of r)await n.sessionUpdate(e);p=!0;break}case`assistant`:{let t=g.message,r=g.parent_tool_use_id;if(t?.usage&&r===null){let e=t.usage;u=(typeof e.input_tokens==`number`?e.input_tokens:0)+(typeof e.output_tokens==`number`?e.output_tokens:0)+(typeof e.cache_read_input_tokens==`number`?e.cache_read_input_tokens:0)+(typeof e.cache_creation_input_tokens==`number`?e.cache_creation_input_tokens:0)}r===null&&t?.model&&t.model!==`<synthetic>`&&(d=t.model);let s;r===null&&(m===null&&(m=w()),s=m);let c=ca(g,e,i,n,{clientCapabilities:a,cwd:o,parentToolUseId:r,streamingActive:p,messageId:s});for(let e of c)await n.sessionUpdate(e);r===null&&(m=null);break}case`user`:break;case`progress`:{let t=g.data;if(!t)break;let r=t.type;if(r===`agent_progress`||r===`skill_progress`){let r=t.message;if(r){let t=r.content;if(t)for(let r of t)r.type===`text`&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:r.text}}})}}break}case`tool_use_summary`:break;case`attachment`:break;case`compact_boundary`:u=0,await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:`
|
|
12
12
|
|
|
13
|
-
Compacting completed.`}}});break;default:fa.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function ha(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){fa.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=T();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:T()});for(let e of t)await n.sessionUpdate(e)}}}function ga(e,t,n,r,i,a,o,s){return async(n,c,l,u,d,f)=>{let p=va(r);if(n.name===`ExitPlanMode`)return _a(e,t,d,c,p,i,a,o,s);if(f!==void 0)return f;try{let e=await be(n,c,l,u,d);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:d}}let m=Y({name:n.name,id:d,input:c},p,i),h={toolCallId:d,title:m.title,kind:m.kind,status:`pending`,rawInput:c},g=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:h,options:g});if(n.outcome.outcome===`cancelled`)return s?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:d};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:c}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function _a(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n===`default`||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function va(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}le(),_e(),Te(),me(),e(),xe(),ye();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`claude-code`,title:`Claude Code`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{claudeCode:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||se(),n=await ge(t),r=await ve({dir:t}),i=[];for(let e of r){if(!e.cwd||await ge(e.cwd)!==n)continue;let t=ta(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await ya(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await he(e.sessionId);if(t)try{await qe(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw q.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function ya(e){let t;try{let n=await Ce(e);n&&n.messages.length>0&&(t=Ne(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var ba=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function xa(e){return ba.includes(e)}function Sa(e,t,n){if(t){let t=Ca(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Ea())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return wa(n)??`default`}function Ca(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Qi(e,t)}function wa(e){if(e!=null)try{return Qi(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Ta(e,t){return!!e&&Object.hasOwn(e,t)}function Ea(){return Da()}function Da(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid==`function`?process.getuid()!==0:!0}function Oa(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function ka(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function Aa(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}S();function ja(){return ue().permissions?.defaultMode}async function Ma(e,t={}){de();let n=t.sessionId??T(),r=e.cwd;C(n,ie()),oe(r);let i=process.cwd(),a=!1;try{process.chdir(r),a=!0}catch{}re(),Pe();try{let i=Re(),a=Ee(i),o=e._meta,s=Ta(o,`permissionMode`),c=Sa(s?o?.permissionMode:void 0,s,ja()),l=$(this),u=this.conn,d=ga(u,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,l,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),f=Ea(),p={...Fe(),toolPermissionContext:{...i,mode:c,isBypassPermissionsModeAvailable:f}},[m,h]=await Promise.all([De(r),Ae(r)]);p.agentDefinitions=h;let g=new Ve({cwd:r,tools:a,commands:m,mcpClients:[],agents:h.activeAgents,canUseTool:d,getAppState:()=>p,setAppState:e=>{let t=e(p);Object.assign(p,t)},readFileCache:new Be(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),_={currentModeId:c,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},...f?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},ee=Ie(),v=ce(),y={availableModels:ee.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:v};g.setModel(v);let b=Oa(_,y),te={queryEngine:g,cancelled:!1,cancelGeneration:0,cwd:r,modes:_,models:y,configOptions:b,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:l,appState:p,commands:m,sessionFingerprint:$i({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,te),{sessionId:n,modes:_,models:y,configOptions:b}}finally{a&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:Ma}),xe(),ye(),S(),me();async function Na(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if($i({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await he(e.sessionId,e.cwd);return C(e.sessionId,r?He(r.filePath):null),oe(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await he(e.sessionId,e.cwd),i=r?He(r.filePath):null;C(e.sessionId,i),oe(e.cwd);let a;if(r)try{let t=await Ce(e.sessionId);t&&t.messages.length>0&&(a=Ne(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let o=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:a});if(t&&a&&a.length>0){let t=this.sessions.get(e.sessionId);t&&await ha(e.sessionId,a,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:o.sessionId,modes:o.modes,models:o.models,configOptions:o.configOptions}}async function Pa(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function Fa(e){try{let t=await Ce(e.sessionId);if(!t||t.messages.length===0)return;let n=Ne(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await ha(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function Ia(e,t){if(!xa(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function La(e,t,n){let r=this.sessions.get(e);r&&(Aa(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:Na,teardownSession:Pa,replaySessionHistory:Fa,applySessionMode:Ia,updateConfigOption:La});function Ra(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(za(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
|
|
14
|
-
`)}function za(e,t){let n=[];return e&&e.length>0&&n.push(`name=${e}`),t&&t.length>0&&n.push(`uri=${t}`),n.length>0?`Resource link: ${n.join(`, `)}`:`Resource link`}function Ba(e){for(;e.pendingQueueHead<e.pendingQueue.length;){let t=e.pendingQueue[e.pendingQueueHead++];if(!t)continue;let n=e.pendingMessages.get(t);if(n)return e.pendingMessages.delete(t),Va(e),n}Va(e)}function Va(e){if(e.pendingQueueHead!==0){if(e.pendingQueueHead>=e.pendingQueue.length){e.pendingQueue=[],e.pendingQueueHead=0;return}e.pendingQueueHead>1024&&e.pendingQueueHead*2>e.pendingQueue.length&&(e.pendingQueue=e.pendingQueue.slice(e.pendingQueueHead),e.pendingQueueHead=0)}}S();async function Ha(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session ${e.sessionId} not found`);let n=e.messageId??void 0,r=Ra(e.prompt);if(!r.trim())throw Error(`Prompt content is empty`);let i=t.cancelGeneration;if(t.promptRunning){let e=
|
|
13
|
+
Compacting completed.`}}});break;default:fa.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function ha(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){fa.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=w();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:w()});for(let e of t)await n.sessionUpdate(e)}}}function ga(e,t,n,r,i,a,o,s){return async(n,c,l,u,d,f)=>{let p=va(r);if(n.name===`ExitPlanMode`)return _a(e,t,d,c,p,i,a,o,s);if(f!==void 0)return f;try{let e=await be(n,c,l,u,d);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:d}}let m=Y({name:n.name,id:d,input:c},p,i),h={toolCallId:d,title:m.title,kind:m.kind,status:`pending`,rawInput:c},g=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:h,options:g});if(n.outcome.outcome===`cancelled`)return s?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:d};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:c}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function _a(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n===`default`||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function va(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}le(),_e(),Te(),me(),e(),xe(),ye();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`claude-code`,title:`Claude Code`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{claudeCode:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||se(),n=await ge(t),r=await ve({dir:t}),i=[];for(let e of r){if(!e.cwd||await ge(e.cwd)!==n)continue;let t=ta(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await ya(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await he(e.sessionId);if(t)try{await Ge(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw q.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function ya(e){let t;try{let n=await Ce(e);n&&n.messages.length>0&&(t=Ne(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var ba=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function xa(e){return ba.includes(e)}function Sa(e,t,n){if(t){let t=Ca(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Ea())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return wa(n)??`default`}function Ca(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Qi(e,t)}function wa(e){if(e!=null)try{return Qi(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Ta(e,t){return!!e&&Object.hasOwn(e,t)}function Ea(){return Da()}function Da(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid==`function`?process.getuid()!==0:!0}function Oa(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function ka(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function Aa(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}S();function ja(){return ue().permissions?.defaultMode}async function Ma(e,t={}){de();let n=t.sessionId??w(),r=e.cwd;C(n,ie()),oe(r);let i=process.cwd(),a=!1;try{process.chdir(r),a=!0}catch{}re(),Pe();try{let i=Re(),a=Ee(i),o=e._meta,s=Ta(o,`permissionMode`),c=Sa(s?o?.permissionMode:void 0,s,ja()),l=$(this),u=this.conn,d=ga(u,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,l,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),f=Ea(),p={...Fe(),toolPermissionContext:{...i,mode:c,isBypassPermissionsModeAvailable:f}},[m,h]=await Promise.all([De(r),Ae(r)]);p.agentDefinitions=h;let g=new Ve({cwd:r,tools:a,commands:m,mcpClients:[],agents:h.activeAgents,canUseTool:d,getAppState:()=>p,setAppState:e=>{let t=e(p);Object.assign(p,t)},readFileCache:new Be(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),_={currentModeId:c,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},...f?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},ee=Ie(),v=ce(),y={availableModels:ee.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:v};g.setModel(v);let b=Oa(_,y),te={queryEngine:g,cancelled:!1,cancelGeneration:0,cwd:r,modes:_,models:y,configOptions:b,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:l,appState:p,commands:m,sessionFingerprint:$i({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,te),{sessionId:n,modes:_,models:y,configOptions:b}}finally{a&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:Ma}),xe(),ye(),S(),me();async function Na(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if($i({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await he(e.sessionId,e.cwd);return C(e.sessionId,r?He(r.filePath):null),oe(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await he(e.sessionId,e.cwd),i=r?He(r.filePath):null;C(e.sessionId,i),oe(e.cwd);let a;if(r)try{let t=await Ce(e.sessionId);t&&t.messages.length>0&&(a=Ne(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let o=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:a});if(t&&a&&a.length>0){let t=this.sessions.get(e.sessionId);t&&await ha(e.sessionId,a,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:o.sessionId,modes:o.modes,models:o.models,configOptions:o.configOptions}}async function Pa(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function Fa(e){try{let t=await Ce(e.sessionId);if(!t||t.messages.length===0)return;let n=Ne(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await ha(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function Ia(e,t){if(!xa(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function La(e,t,n){let r=this.sessions.get(e);r&&(Aa(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:Na,teardownSession:Pa,replaySessionHistory:Fa,applySessionMode:Ia,updateConfigOption:La});function Ra(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(za(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
|
|
14
|
+
`)}function za(e,t){let n=[];return e&&e.length>0&&n.push(`name=${e}`),t&&t.length>0&&n.push(`uri=${t}`),n.length>0?`Resource link: ${n.join(`, `)}`:`Resource link`}function Ba(e){for(;e.pendingQueueHead<e.pendingQueue.length;){let t=e.pendingQueue[e.pendingQueueHead++];if(!t)continue;let n=e.pendingMessages.get(t);if(n)return e.pendingMessages.delete(t),Va(e),n}Va(e)}function Va(e){if(e.pendingQueueHead!==0){if(e.pendingQueueHead>=e.pendingQueue.length){e.pendingQueue=[],e.pendingQueueHead=0;return}e.pendingQueueHead>1024&&e.pendingQueueHead*2>e.pendingQueue.length&&(e.pendingQueue=e.pendingQueue.slice(e.pendingQueueHead),e.pendingQueueHead=0)}}S();async function Ha(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session ${e.sessionId} not found`);let n=e.messageId??void 0,r=Ra(e.prompt);if(!r.trim())throw Error(`Prompt content is empty`);let i=t.cancelGeneration;if(t.promptRunning){let e=w();if(await new Promise(n=>{t.pendingQueue.push(e),t.pendingMessages.set(e,{resolve:n})}))return{stopReason:`cancelled`}}if(t.cancelGeneration!==i)return{stopReason:`cancelled`};t.cancelled=!1,t.promptRunning=!0;try{t.queryEngine.resetAbortController(),C(e.sessionId,ie());let i=t.queryEngine.submitMessage(r),{stopReason:a,usage:o}=await ma(e.sessionId,i,Q(this),t.queryEngine.getAbortSignal(),t.toolUseCache,$(this),t.cwd,()=>t.cancelled);if(t.cancelled)return{stopReason:`cancelled`};if(await Wa(this,e.sessionId,r),o){let e={inputTokens:o.inputTokens,outputTokens:o.outputTokens,cachedReadTokens:o.cachedReadTokens,cachedWriteTokens:o.cachedWriteTokens,thoughtTokens:0,totalTokens:o.inputTokens+o.outputTokens+o.cachedReadTokens+o.cachedWriteTokens+0};return{stopReason:a,usage:e,...n?{userMessageId:n}:{},_meta:{claudeCode:{usage:e}}}}return{stopReason:a,...n?{userMessageId:n}:{}}}catch(n){let r=n instanceof Error&&(n.name===`AbortError`||/abort|cancelled|interrupt/i.test(n.message));if(t.cancelled||r)return{stopReason:`cancelled`};throw n instanceof Error&&(n.message.includes(`terminated`)||n.message.includes(`process exited`))?(await this.teardownSession(e.sessionId),Error(`The Claude Agent process exited unexpectedly. Please start a new session.`)):n}finally{let e=Ba(t);e?(t.promptRunning=!0,e.resolve(!1)):t.promptRunning=!1}}async function Ua(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);if(typeof e.value!=`string`)throw Error(`Invalid value for config option ${e.configId}: ${String(e.value)}`);let n=t.configOptions.find(t=>t.id===e.configId);if(!n)throw Error(`Unknown config option: ${e.configId}`);if(n.type===`select`){let t=ka(n.options);if(!t.includes(e.value))throw Error(`Invalid value '${e.value}' for config option ${e.configId}; must be one of: ${t.join(`, `)}`)}let r=e.value;return e.configId===`mode`?(this.applySessionMode(e.sessionId,r),await Q(this).sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:r}})):e.configId===`model`&&t.queryEngine.setModel(r),Aa(this,t,e.configId,r),t.configOptions=t.configOptions.map(t=>t.id===e.configId&&typeof t.currentValue==`string`?{...t,currentValue:r}:t),{configOptions:t.configOptions}}async function Wa(e,t,n){let r=e.sessions.get(t);if(!r)return;let i=r.toolUseCache;if(i.__sessionInfoTitleSent)return;i.__sessionInfoTitleSent=!0;let a=ta(n).slice(0,100);try{await Q(e).sessionUpdate({sessionId:t,update:{sessionUpdate:`session_info_update`,...a?{title:a}:{},updatedAt:new Date().toISOString()}})}catch(e){console.error(`[ACP] Failed to send session_info_update:`,e)}}Object.assign(Z.prototype,{prompt:Ha,setSessionConfigOption:Ua}),pe(),we();function Ga(e,t){let n=Ue.toWeb(e);return Pi(We.toWeb(t),n)}async function Ka(){de(),Pe();let e=Ga(process.stdin,process.stdout),t,n=new Ii(e=>(t=new Z(e),t),e);console.log=console.error,console.info=console.error,console.warn=console.error,console.debug=console.error;async function r(){for(let[e]of t.sessions)try{await t.unstable_closeSession({sessionId:e})}catch{}process.exit(0)}n.closed.then(r).catch(r),process.on(`SIGTERM`,r),process.on(`SIGINT`,r),process.on(`unhandledRejection`,(e,t)=>{console.error(`Unhandled Rejection at:`,t,`reason:`,e)}),process.stdin.resume()}export{Ka as runAcpAgent};
|