@readmagic/workmate 0.0.8 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/AddWorkspaceDirectory-Vmmm7p1c.js +1 -0
- package/dist/chunks/App-C2yQjBgY.js +1 -0
- package/dist/chunks/ApproveApiKey-CKbv5C1x.js +1 -0
- package/dist/chunks/ApproveApiKey-MscC-ssL.js +1 -0
- package/dist/chunks/BackgroundTasksDialog-CL5NWsFL.js +2 -0
- package/dist/chunks/BypassPermissionsModeDialog-CLSACUmo.js +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-BqNxQOXJ.js +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-C0-psohX.js +1 -0
- package/dist/chunks/ConsoleOAuthFlow-4mOvEer_.js +1 -0
- package/dist/chunks/DiffDialog-9AYwtupw.js +6 -0
- package/dist/chunks/Doctor-DmgAwce2.js +1 -0
- package/dist/chunks/Doctor-jEs9chPk.js +3 -0
- package/dist/chunks/ExitFlow-DVKxFdpX.js +2 -0
- package/dist/chunks/Grove-B9-hhkZA.js +11 -0
- package/dist/chunks/{HybridTransport-BJPOG2wl.js → HybridTransport-MxJ_W_np.js} +3 -3
- package/dist/chunks/InvalidConfigDialog-o9DF1REI.js +1 -0
- package/dist/chunks/InvalidSettingsDialog-YyQcHocx.js +1 -0
- package/dist/chunks/MCPConnectionManager-CUTuaa8T.js +1 -0
- package/dist/chunks/MCPToolListView-CvqB4nCw.js +1 -0
- package/dist/chunks/McpParsingWarnings-BCpfHaBK.js +1 -0
- package/dist/chunks/MessageSelector-BLzw172f.js +3 -0
- package/dist/chunks/Messages-4K5sLmNh.js +11 -0
- package/dist/chunks/Onboarding-ClwHS5rh.js +1 -0
- package/dist/chunks/{PermissionDialog-0ya1CU5k.js → PermissionDialog-Cb3z8OUP.js} +1 -1
- package/dist/chunks/{PressEnterToContinue-Dl9Hg9Mf.js → PressEnterToContinue-Dq0Imo9c.js} +1 -1
- package/dist/chunks/PromptInputFooterSuggestions-BSA9NrZc.js +1 -0
- package/dist/chunks/PromptInputHelpMenu-Bb4KdIX_.js +1 -0
- package/dist/chunks/QueryEngine-DPHLSsax.js +1 -0
- package/dist/chunks/REPL-Bf46iQCN.js +1 -0
- package/dist/chunks/REPL-DIaAo9M9.js +133 -0
- package/dist/chunks/RemoteSessionManager-CS6mywIn.js +2 -0
- package/dist/chunks/ResumeConversation-Br2KsBoe.js +1 -0
- package/dist/chunks/{SSETransport-CrwbKuVt.js → SSETransport-CoxQ8YpH.js} +1 -1
- package/dist/chunks/{SearchBox-vfLXEPed.js → SearchBox-C9vUA4IM.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-i_YO3QvV.js +1 -0
- package/dist/chunks/Settings-BMXysXIx.js +2 -0
- package/dist/chunks/TeleportProgress-Doucj-50.js +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-B5I73j7Y.js +1 -0
- package/dist/chunks/TeleportResumeWrapper-D6kpr2c6.js +1 -0
- package/dist/chunks/ThemePicker-DrC8tlp0.js +1 -0
- package/dist/chunks/{TrustDialog-BukWGvHZ.js → TrustDialog-Fk4m_Sy4.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-DokTJQwi.js → ValidationErrorsList-D_OUa4RT.js} +1 -1
- package/dist/chunks/WelcomeV2-DvfQHnZY.js +1 -0
- package/dist/chunks/add-dir-CZ6Clvq8.js +1 -0
- package/dist/chunks/{agentDisplay-DBQYOaOh.js → agentDisplay-B755vMZE.js} +1 -1
- package/dist/chunks/{agents-HlKk68Qc.js → agents-CIvP8l0s.js} +1 -1
- package/dist/chunks/agents-DHnNg4h6.js +103 -0
- package/dist/chunks/allErrors-CU89tF-z.js +1 -0
- package/dist/chunks/analytics-DJobLaWP.js +1 -0
- package/dist/chunks/api-BSeE6MwB.js +1 -0
- package/dist/chunks/{api-CF5IVtj0.js → api-nSHc_GIQ.js} +1 -1
- package/dist/chunks/auth-5QB6tsfB.js +15 -0
- package/dist/chunks/auth-BIGJth5U.js +1 -0
- package/dist/chunks/auth-CDQMhIZP.js +1 -0
- package/dist/chunks/{autoMode-Cr0AhS1G.js → autoMode-BnUiK9Cu.js} +4 -4
- package/dist/chunks/{autonomy-ARUQt-Lu.js → autonomy-C1aSgWPQ.js} +1 -1
- package/dist/chunks/autonomy-Src6sKCp.js +15 -0
- package/dist/chunks/{autonomyPanel-BQK9MoeB.js → autonomyPanel-DnHpuiy4.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-B-cw0UcS.js +17 -0
- package/dist/chunks/backgroundHousekeeping-BS_8z3_x.js +1 -0
- package/dist/chunks/{banner-Ca7rki2V.js → banner-D0P7wXdw.js} +1 -1
- package/dist/chunks/bg-50rllUNh.js +1 -0
- package/dist/chunks/{bg-DxRHF1yn.js → bg-DAPORXF3.js} +2 -2
- package/dist/chunks/branch-DFWa4Oxo.js +3 -0
- package/dist/chunks/{break-cache-BKvoMOZx.js → break-cache-Chj9i9MP.js} +2 -2
- package/dist/chunks/{bridgeConfig-jDEva6Eh.js → bridgeConfig-Bb6URf4Q.js} +1 -1
- package/dist/chunks/bridgeConfig-BeqChxJC.js +1 -0
- package/dist/chunks/bridgeMessaging-C3huGcR3.js +1 -0
- package/dist/chunks/{bridgePointer-DIM0sj0x.js → bridgePointer-DLYyvRKb.js} +1 -1
- package/dist/chunks/bridgeStatusUtil-DFMftajD.js +1 -0
- package/dist/chunks/btw-DSK9R2C8.js +1 -0
- package/dist/chunks/caches-BTQAW9zc.js +1 -0
- package/dist/chunks/caches-BVtSCnV1.js +1 -0
- package/dist/chunks/{capacityWake-CKOiRELo.js → capacityWake-amzeeBz0.js} +1 -1
- package/dist/chunks/{ccrClient-BC2q3k44.js → ccrClient-Bu7Tf1Z5.js} +1 -1
- package/dist/chunks/{claudeDesktop-DQXL5bGm.js → claudeDesktop-CsJfF1b-.js} +1 -1
- package/dist/chunks/{clear-1etSJhdg.js → clear-ClFDpWVJ.js} +1 -1
- package/dist/chunks/{cliLaunch-CQjLYRzM.js → cliLaunch-BWcoyZDP.js} +1 -1
- package/dist/chunks/client-BWQ4-rN7.js +1 -0
- package/dist/chunks/{client-DQwf_b9o.js → client-DFlE4fYh.js} +1 -1
- package/dist/chunks/client-c-3-PW1F.js +1 -0
- package/dist/chunks/commands-Bi7k3Wg-.js +1 -0
- package/dist/chunks/compact-J-h0Yf4b.js +2 -0
- package/dist/chunks/config-CVHMRMwd.js +1 -0
- package/dist/chunks/config-Do1870_d.js +3 -0
- package/dist/chunks/config-yyFe87vW.js +1 -0
- package/dist/chunks/context-Tb1Ca2Q-.js +1 -0
- package/dist/chunks/{context-noninteractive-Ct_ttQfP.js → context-noninteractive-D5iQhasu.js} +2 -2
- package/dist/chunks/context-noninteractive-soPYKAc9.js +1 -0
- package/dist/chunks/conversation-CSEtUxOY.js +1 -0
- package/dist/chunks/conversation-Dk1WDQuN.js +1 -0
- package/dist/chunks/{createSSHSession-BmHXA2me.js → createSSHSession-CJtzNQdZ.js} +1 -1
- package/dist/chunks/{createSession-C4rukWkv.js → createSession-DkT1GL8y.js} +1 -1
- package/dist/chunks/createSession-eE8mswkv.js +1 -0
- package/dist/chunks/crossProjectResume-04n3Ppy9.js +40 -0
- package/dist/chunks/cwd-Cfdf7z7s.js +1 -0
- package/dist/chunks/cwd-ClLru_7T.js +1 -0
- package/dist/chunks/datadog-DjeJThpV.js +1 -0
- package/dist/chunks/{debug-RZ4NuXyS.js → debug-RAynG_nM.js} +4 -4
- package/dist/chunks/{debugUtils-D30M1cbN.js → debugUtils-DX0KAXNK.js} +1 -1
- package/dist/chunks/{detached-jrVP11oU.js → detached-X_yjYR7x.js} +1 -1
- package/dist/chunks/{detectRepository-CFiHe6Rv.js → detectRepository-DgpNd87p.js} +1 -1
- package/dist/chunks/detectRepository-ctF9KDbb.js +1 -0
- package/dist/chunks/{diff-BKiK3xHv.js → diff-jEJJe58I.js} +1 -1
- package/dist/chunks/directoryCompletion-BbXR2bfy.js +1 -0
- package/dist/chunks/doctor-B-Wag4C1.js +1 -0
- package/dist/chunks/earlyInput-BEjRkAtH.js +1 -0
- package/dist/chunks/{earlyInput-BTC_Wucv.js → earlyInput-IghoCjG5.js} +1 -1
- package/dist/chunks/entry-oIqjxIjQ.js +14 -0
- package/dist/chunks/envUtils-BDhHQY0-.js +1 -0
- package/dist/chunks/esm-Cf4nSRjF.js +1 -0
- package/dist/chunks/{execFileNoThrow-CCX-JY8h.js → execFileNoThrow-Dwu6psHW.js} +1 -1
- package/dist/chunks/{execSyncWrapper-dhRSYGFW.js → execSyncWrapper-BTZJjCuv.js} +1 -1
- package/dist/chunks/exit-BtW7LfRX.js +1 -0
- package/dist/chunks/extraUsage-Mi66JwFZ.js +1 -0
- package/dist/chunks/extractMemories-CUrdiNcr.js +1 -0
- package/dist/chunks/fast-BU4iUZ8E.js +1 -0
- package/dist/chunks/fast-C60p6AqJ.js +1 -0
- package/dist/chunks/featureCheck-D6FjD-nt.js +1 -0
- package/dist/chunks/featureCheck-JOur3pHb.js +1 -0
- package/dist/chunks/fileSuggestions-BMfQIDdW.js +3 -0
- package/dist/chunks/firstPartyEventLogger-B3cXgR67.js +5 -0
- package/dist/chunks/firstPartyEventLogger-BfCYN7lt.js +1 -0
- package/dist/chunks/flushGate-DgSDVGKZ.js +1 -0
- package/dist/chunks/{fpsMetrics-Cf_hdtiJ.js → fpsMetrics-DffAomdg.js} +1 -1
- package/dist/chunks/gemini-BwvSxGgn.js +1 -0
- package/dist/chunks/generateSessionName-DlrdedOk.js +1 -0
- package/dist/chunks/{genericProcessUtils-DVfMHhfy.js → genericProcessUtils-CmsUPyRz.js} +1 -1
- package/dist/chunks/{git-BerW9bId.js → git-2c7WlGDL.js} +1 -1
- package/dist/chunks/git-XtKbtJMc.js +1 -0
- package/dist/chunks/githubRepoPathMapping-DbWG4hFQ.js +1 -0
- package/dist/chunks/goal-ZmSRBx4q.js +3 -0
- package/dist/chunks/grok-BXMvezWb.js +1 -0
- package/dist/chunks/grove-CeOjTaY6.js +7 -0
- package/dist/chunks/help-5DNZO6_H.js +1 -0
- package/dist/chunks/{hooks-BZJTWD07.js → hooks-C637tFtd.js} +2 -2
- package/dist/chunks/hooks-DWg07LmS.js +1 -0
- package/dist/chunks/initReplBridge-D1h10vQ9.js +1 -0
- package/dist/chunks/{install-BI---dv0.js → install-C-6ItpH0.js} +1 -1
- package/dist/chunks/{instrumentation-CcWzhGfE.js → instrumentation-DaiPDUst.js} +4 -4
- package/dist/chunks/intl-D2kgJmX7.js +1 -0
- package/dist/chunks/{job-B0ftcqPF.js → job-BeYzQUiR.js} +1 -1
- package/dist/chunks/{jwtUtils-C0cE-1Ey.js → jwtUtils-CUPXdX3W.js} +1 -1
- package/dist/chunks/keybindings-DgIPdBy9.js +2 -0
- package/dist/chunks/launchLocalMemory-CE4J98xO.js +3 -0
- package/dist/chunks/launchOnboarding-BfTdC6vp.js +8 -0
- package/dist/chunks/{loadAgentsDir-ByO8eJqU.js → loadAgentsDir-C7lOqvfh.js} +2233 -2454
- package/dist/chunks/loadAgentsDir-zikjxLvn.js +1 -0
- package/dist/chunks/loadPluginHooks-Cp8MSwAc.js +1 -0
- package/dist/chunks/{localSearch-CHHCH16D.js → localSearch-BKrznW5x.js} +1 -1
- package/dist/chunks/localSearch-ZFyFy5FN.js +1 -0
- package/dist/chunks/log-CezCRpAN.js +1 -0
- package/dist/chunks/logoV2Utils-BkQfyQ1-.js +1 -0
- package/dist/chunks/{magicDocs-C5i5ruuU.js → magicDocs-BpVcON9o.js} +3 -3
- package/dist/chunks/main-9r5gLzUW.js +605 -0
- package/dist/chunks/{main-BLD4QAQg.js → main-CvOv59-7.js} +4 -4
- package/dist/chunks/managedEnv-B61yLpwp.js +1 -0
- package/dist/chunks/{managedEnv-C-9XSN14.js → managedEnv-DhWRJ5DK.js} +1 -1
- package/dist/chunks/{mappers-CHRFic5q.js → mappers-bOab8ipV.js} +1 -1
- package/dist/chunks/mcp-BckPBjaM.js +6 -0
- package/dist/chunks/mcp-CS1DA3JL.js +1 -0
- package/dist/chunks/mcp-VcGPYCkW.js +2 -0
- package/dist/chunks/{memoize-B8hfb1JN.js → memoize-DsqYrbeR.js} +1 -1
- package/dist/chunks/memory-C5ohwh-T.js +1 -0
- package/dist/chunks/{modalContext-DFjKLCB6.js → modalContext-CUThy6Ph.js} +1 -1
- package/dist/chunks/mode-DlKnUM8l.js +2 -0
- package/dist/chunks/model-BGu1AGq0.js +1 -0
- package/dist/chunks/model-BsZ4sP_H.js +1 -0
- package/dist/chunks/model-D19IIcll.js +1 -0
- package/dist/chunks/modelOptions-CxP067Qv.js +1 -0
- package/dist/chunks/nativeInstaller-QB8cEJ18.js +1 -0
- package/dist/chunks/oauth-BN2I0_jl.js +1 -0
- package/dist/chunks/oauth-C9VBDB0Y.js +1 -0
- package/dist/chunks/omit-DDUIPHnl.js +1 -0
- package/dist/chunks/onChangeAppState-RBl6H7ho.js +1 -0
- package/dist/chunks/{openai-DPH6rXOZ.js → openai-B9C2XN5Q.js} +3 -3
- package/dist/chunks/{panel-mD094ALT.js → panel-KW-wmEvU.js} +1 -1
- package/dist/chunks/{parser-dbHRgXb8.js → parser-BwPXQomy.js} +1 -1
- package/dist/chunks/parser-xSBaQRLH.js +1 -0
- package/dist/chunks/partition-D-UhsUCx.js +1 -0
- package/dist/chunks/permissions-BoLXYN1j.js +3 -0
- package/dist/chunks/pidLock-nJHbufJN.js +3 -0
- package/dist/chunks/plan-CyU2zrCK.js +1 -0
- package/dist/chunks/{platform-DCXXznJg.js → platform-BMPbglug.js} +1 -1
- package/dist/chunks/plugin-C6-GQke5.js +17 -0
- package/dist/chunks/pluginAutoupdate-SlRFJlTT.js +1 -0
- package/dist/chunks/{pluginBlocklist-PwHHD3nj.js → pluginBlocklist-n6Imlh3y.js} +1 -1
- package/dist/chunks/pluginCliCommands-Bd96zSOQ.js +1 -0
- package/dist/chunks/{pluginFlagging-pBxSselw.js → pluginFlagging-DZaYzecY.js} +1 -1
- package/dist/chunks/pluginOperations-D90IRawu.js +2 -0
- package/dist/chunks/pluginStartupCheck-Bxkxpm4k.js +1 -0
- package/dist/chunks/{pluginStartupCheck-Di4LjHXf.js → pluginStartupCheck-CB2q2dLv.js} +1 -1
- package/dist/chunks/plugins-B9eSjLSA.js +4 -0
- package/dist/chunks/poorMode-BAnubpn1.js +1 -0
- package/dist/chunks/{poorMode-CYXmr_mU.js → poorMode-DEwQOAJt.js} +1 -1
- package/dist/chunks/print-eCRv_Li-.js +26 -0
- package/dist/chunks/processBashCommand-B5F2Cl7K.js +1 -0
- package/dist/chunks/processSlashCommand-BC_D3cH5.js +5 -0
- package/dist/chunks/{projectContext-D9MDwJUF.js → projectContext-CIxul6vA.js} +1 -1
- package/dist/chunks/{projectContext-BaDZBAoK.js → projectContext-RUMJB798.js} +1 -1
- package/dist/chunks/prompt-C1JPqinc.js +1 -0
- package/dist/chunks/prompt-DZhBz_Vu.js +1 -0
- package/dist/chunks/prompt-M2lu8_Oa.js +139 -0
- package/dist/chunks/promptEditor-DhcZY-iu.js +4 -0
- package/dist/chunks/{protocolHandler-RNKkhq91.js → protocolHandler-CkFaJKKo.js} +1 -1
- package/dist/chunks/{proxy-BmtEnJ02.js → proxy-CuMaO_YV.js} +1 -1
- package/dist/chunks/reconciler-B4GDm_iC.js +1 -0
- package/dist/chunks/refresh-DBVizOzg.js +1 -0
- package/dist/chunks/{registerProtocol-DoKqmqu2.js → registerProtocol-CsNYRZKr.js} +1 -1
- package/dist/chunks/reload-plugins-B7JAE3b4.js +1 -0
- package/dist/chunks/{remoteBridgeCore-Cddqv2WW.js → remoteBridgeCore-CFLJhsB6.js} +1 -1
- package/dist/chunks/remoteManagedSettings-xh_MViZH.js +1 -0
- package/dist/chunks/rename-BCp2Vtqu.js +1 -0
- package/dist/chunks/{renderOptions-ChLwxtVu.js → renderOptions-Q5oCLFIC.js} +1 -1
- package/dist/chunks/resume-DVCSzKvv.js +2 -0
- package/dist/chunks/{ripgrep-gaT9Njwi.js → ripgrep-DvOOsDMv.js} +1 -1
- package/dist/chunks/ripgrep-e-iewvTf.js +1 -0
- package/dist/chunks/{runtimeObserver-Dbxxw4ls.js → runtimeObserver-CS_3BDNo.js} +4 -4
- package/dist/chunks/{runtimeObserver-CsIwinzh.js → runtimeObserver-DYUva6g-.js} +1 -1
- package/dist/chunks/sandbox-adapter-BFZFHplu.js +1 -0
- package/dist/chunks/sandbox-toggle--zNSKce_.js +1 -0
- package/dist/chunks/searchExtraTools-ui5y2VSE.js +1 -0
- package/dist/chunks/session-CO3gEqQP.js +2 -0
- package/dist/chunks/sessionFileAccessHooks-CZvCqQJ6.js +1 -0
- package/dist/chunks/sessionObserver-Ba7um95p.js +1 -0
- package/dist/chunks/{sessionObserver-DoYc0ZOP.js → sessionObserver-YkRHC-Aa.js} +2 -2
- package/dist/chunks/sessionState-Bifmu95-.js +11 -0
- package/dist/chunks/sessionStorage-CedwLLQs.js +1 -0
- package/dist/chunks/{sessionStoragePortable-Cx6JQ5Ye.js → sessionStoragePortable-JZnGwqUM.js} +1 -1
- package/dist/chunks/sessionTitle-COBSgSXS.js +14 -0
- package/dist/chunks/sessionTracing-BrNx1k2V.js +11 -0
- package/dist/chunks/settings-DkDH7WQT.js +1 -0
- package/dist/chunks/settings-DnptdP79.js +20 -0
- package/dist/chunks/settingsSync-PmU7SmkU.js +1 -0
- package/dist/chunks/setup-BEsBuzsk.js +3 -0
- package/dist/chunks/shadowedRuleDetection-DEaw-X5j.js +1 -0
- package/dist/chunks/{shellQuote-BUVKMu_P.js → shellQuote-BYeOv3Ip.js} +1 -1
- package/dist/chunks/{sideQuestion-C780iYwd.js → sideQuestion-D0OKljee.js} +3 -3
- package/dist/chunks/sinks-BJHgxz6Y.js +1 -0
- package/dist/chunks/sinks-D5-yhcgU.js +2 -0
- package/dist/chunks/skillChangeDetector-Dd0WPdkO.js +1 -0
- package/dist/chunks/{skillGapStore-Dc1arohs.js → skillGapStore-N_kmvXML.js} +2 -2
- package/dist/chunks/{skillLifecycle-DP6mY1Kp.js → skillLifecycle-C4F5RXuh.js} +2 -2
- package/dist/chunks/{skillSearchPanel-CpLTImaL.js → skillSearchPanel-CftorvAM.js} +4 -4
- package/dist/chunks/skills-C4CTRN9o.js +1 -0
- package/dist/chunks/{src-CDCSSo0U2.js → src-P_wYS_NJ2.js} +1 -1
- package/dist/chunks/{src-CST_jFnT.js → src-r6ZFgWPx2.js} +1 -1
- package/dist/chunks/startupProfiler-D4FBdEQr.js +1 -0
- package/dist/chunks/{startupProfiler-DCn_NxMH.js → startupProfiler-L_UWZ03w.js} +3 -3
- package/dist/chunks/{state-Cn_m2NOf.js → state-BAGmpVBn.js} +1 -1
- package/dist/chunks/state-BemZdQIl.js +1 -0
- package/dist/chunks/state-D_lk6z-C.js +1 -0
- package/dist/chunks/{staticRender-BIxpgNUq.js → staticRender-DrU6eWoq.js} +1 -1
- package/dist/chunks/{stats-Duk7_xjQ.js → stats-IzV0_vEc.js} +1 -1
- package/dist/chunks/{status-peiVB_2j.js → status-CeVP_uDT.js} +1 -1
- package/dist/chunks/status-Dzuw3hBv.js +2 -0
- package/dist/chunks/statusNoticeHelpers-Bb9gxdSt.js +1 -0
- package/dist/chunks/{stringUtils-B6FudhoZ.js → stringUtils-C84IJ91d.js} +1 -1
- package/dist/chunks/subprocessEnv-CZkA9Cdp.js +1 -0
- package/dist/chunks/{subprocessEnv-vrwzMgKn.js → subprocessEnv-Ci8VV_bi.js} +1 -1
- package/dist/chunks/switcher-4KzBvuKH.js +1 -0
- package/dist/chunks/{switcher-BAMqSX7Z.js → switcher-CCs9xl1z.js} +1 -1
- package/dist/chunks/{syncCache-Zl9kZRRl.js → syncCache-CBRiRU5x.js} +1 -1
- package/dist/chunks/tasks-DZDhgx0w.js +1 -0
- package/dist/chunks/teleport-Bw0jSxe9.js +1 -0
- package/dist/chunks/{templateJobs-DR5fKFiO.js → templateJobs-CrNPEKkh.js} +1 -1
- package/dist/chunks/{terminalSetup-DgRBt-JJ.js → terminalSetup-CBqcwQll.js} +1 -1
- package/dist/chunks/terminalSetup-D-N8YPiQ.js +33 -0
- package/dist/chunks/{theme-Bz6esfST.js → theme-Dazsirbw.js} +1 -1
- package/dist/chunks/{tmux-DSU9tYIo.js → tmux-DewYVEBm.js} +1 -1
- package/dist/chunks/{toolEventObserver-BSekCkM2.js → toolEventObserver-lnHJ9fLQ.js} +1 -1
- package/dist/chunks/toolPool-CkXFlqsn.js +1 -0
- package/dist/chunks/{trustedDevice-B0x9X0fb.js → trustedDevice-CFf5yaG-.js} +1 -1
- package/dist/chunks/trustedDevice-CuwSv8dG.js +1 -0
- package/dist/chunks/{types-D7_37tP2.js → types-3j8PS-Du.js} +1 -1
- package/dist/chunks/{udsClient-CHoMMH28.js → udsClient-e9dIkwVA.js} +1 -1
- package/dist/chunks/updateCCB-BPe9_FW6.js +11 -0
- package/dist/chunks/{upstreamproxy-Hmq-n8fw.js → upstreamproxy-DF00RzGG.js} +1 -1
- package/dist/chunks/useExitOnCtrlCDWithKeybindings-ChqBs9Lr.js +1 -0
- package/dist/chunks/useMainLoopModel-2-eujv0n.js +1 -0
- package/dist/chunks/useManagePlugins-CYBIkaB1.js +1 -0
- package/dist/chunks/useMergedTools-Dk5cPqLc.js +1 -0
- package/dist/chunks/useSearchInput-C7Y1I9P9.js +1 -0
- package/dist/chunks/useSettingsErrors-DAEO7AyB.js +1 -0
- package/dist/chunks/{userAgent-BxTG7IMk.js → userAgent-CIq27vUR.js} +1 -1
- package/dist/chunks/util-VO98TdOz.js +1 -0
- package/dist/chunks/{validatePlugin-AHl-g4ct.js → validatePlugin-Kk6pxnO2.js} +1 -1
- package/dist/chunks/vim-EYQn94Kx.js +1 -0
- package/dist/chunks/{which-CHLNJmtJ.js → which-DzFN5TNM.js} +1 -1
- package/dist/chunks/{windowsPaths-o62uq6LF.js → windowsPaths-BU3yQWTB.js} +1 -1
- package/dist/chunks/windowsPaths-DgZ3YY4a.js +1 -0
- package/dist/chunks/{workSecret-DG9shvG0.js → workSecret-DUqdPy44.js} +1 -1
- package/dist/chunks/workerRegistry-C07BcZIw.js +6 -0
- package/dist/chunks/worktree-dFUkhVE_.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/AddWorkspaceDirectory-CwLtQld4.js +0 -1
- package/dist/chunks/App-Ba52HvYC.js +0 -1
- package/dist/chunks/ApproveApiKey-CEIfuUh0.js +0 -1
- package/dist/chunks/ApproveApiKey-D2MLQu2P.js +0 -1
- package/dist/chunks/BackgroundTasksDialog-IGDrkbWl.js +0 -2
- package/dist/chunks/BypassPermissionsModeDialog-GYhq--JR.js +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-C-CTa-95.js +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-Catv6BCJ.js +0 -1
- package/dist/chunks/ConsoleOAuthFlow-BeQXqUtX.js +0 -1
- package/dist/chunks/DiffDialog-AC5DSJrq.js +0 -6
- package/dist/chunks/Doctor-B9Rxsoy0.js +0 -1
- package/dist/chunks/Doctor-lhUBhEy5.js +0 -3
- package/dist/chunks/ExitFlow-Cu8SoQHs.js +0 -2
- package/dist/chunks/Grove-Bc4CofEj.js +0 -11
- package/dist/chunks/InvalidConfigDialog-BI13il58.js +0 -1
- package/dist/chunks/InvalidSettingsDialog-CtOheV1K.js +0 -1
- package/dist/chunks/MCPConnectionManager-ao-P3xSA.js +0 -1
- package/dist/chunks/MCPToolListView-dkofcJs4.js +0 -1
- package/dist/chunks/McpParsingWarnings-BS4JoR5l.js +0 -1
- package/dist/chunks/MessageSelector-B88b2ypw.js +0 -3
- package/dist/chunks/Messages-BPeI7lLV.js +0 -11
- package/dist/chunks/Onboarding-c2fQ8Io_.js +0 -1
- package/dist/chunks/PromptInputFooterSuggestions-D1cH9sDX.js +0 -1
- package/dist/chunks/PromptInputHelpMenu-DDD5WuK0.js +0 -1
- package/dist/chunks/QueryEngine-Cv_meCam.js +0 -1
- package/dist/chunks/REPL-BXhAQOXb.js +0 -139
- package/dist/chunks/REPL-YqjLnr3A.js +0 -1
- package/dist/chunks/RemoteSessionManager-CT7T8BaR.js +0 -2
- package/dist/chunks/ResumeConversation-CIZCjms9.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-Dx6093yw.js +0 -1
- package/dist/chunks/Settings-CyUm0AtU.js +0 -2
- package/dist/chunks/TeleportProgress-C3qyp5zy.js +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-BV--nyYn.js +0 -1
- package/dist/chunks/TeleportResumeWrapper-Blo2cZg-.js +0 -1
- package/dist/chunks/ThemePicker-EQ6hPUeI.js +0 -1
- package/dist/chunks/WelcomeV2-Ci9VwPYh.js +0 -1
- package/dist/chunks/add-dir-DPQV0qml.js +0 -1
- package/dist/chunks/agents-DmybpgDN.js +0 -103
- package/dist/chunks/allErrors-BPn_2TrB.js +0 -1
- package/dist/chunks/analytics-CkYUHW_U.js +0 -1
- package/dist/chunks/ant-DjdvlLOo.js +0 -1
- package/dist/chunks/api-AMgj1zf_.js +0 -1
- package/dist/chunks/asciicast-BJNYO5sh.js +0 -4
- package/dist/chunks/asciicast-CH6hdK0a.js +0 -1
- package/dist/chunks/attributionTrailer-oKKrF3z8.js +0 -1
- package/dist/chunks/auth-CNjDn1VY.js +0 -15
- package/dist/chunks/auth-CZzP483s.js +0 -1
- package/dist/chunks/auth-DDSBm_Yj.js +0 -1
- package/dist/chunks/autonomy-D4xZLOdJ.js +0 -15
- package/dist/chunks/backgroundHousekeeping--eBgphcg.js +0 -17
- package/dist/chunks/backgroundHousekeeping-VV1V_Y2Z.js +0 -1
- package/dist/chunks/bg-BK_9J6F6.js +0 -1
- package/dist/chunks/branch-BYq0zpzT.js +0 -3
- package/dist/chunks/bridgeConfig-C82un7rJ.js +0 -1
- package/dist/chunks/bridgeMessaging-YqYdl6ej.js +0 -1
- package/dist/chunks/btw-CUV3nRrE.js +0 -1
- package/dist/chunks/caches-BZ59_En6.js +0 -1
- package/dist/chunks/caches-Cg-HtWKG.js +0 -1
- package/dist/chunks/client-DQXvVKND.js +0 -1
- package/dist/chunks/client-DkgC-mFB.js +0 -1
- package/dist/chunks/color-CBsNbt1s.js +0 -1
- package/dist/chunks/commands-qM5z_Uld.js +0 -1
- package/dist/chunks/compact-BclJiRJe.js +0 -2
- package/dist/chunks/completionCache-BMHAktkM.js +0 -1
- package/dist/chunks/config-CE058cvr.js +0 -3
- package/dist/chunks/config-D81avYye.js +0 -1
- package/dist/chunks/config-DpOOllGk.js +0 -1
- package/dist/chunks/context-noninteractive-DJb8H_hN.js +0 -1
- package/dist/chunks/context-sR9fJmXE.js +0 -1
- package/dist/chunks/conversation-D48Kt3ar.js +0 -1
- package/dist/chunks/conversation-fOFTa7k5.js +0 -1
- package/dist/chunks/createSession-CSwlW2T2.js +0 -1
- package/dist/chunks/crossProjectResume-lDFB2ZcY.js +0 -40
- package/dist/chunks/cwd-5Xr-Qka6.js +0 -1
- package/dist/chunks/cwd-C5ce-7WB.js +0 -1
- package/dist/chunks/daemon-ZtpTZWgQ.js +0 -2
- package/dist/chunks/datadog-BJn5ECIu.js +0 -1
- package/dist/chunks/detectRepository-DqQvyj_a.js +0 -1
- package/dist/chunks/directoryCompletion-BagQcynj.js +0 -1
- package/dist/chunks/doctor-BEHYm34V.js +0 -1
- package/dist/chunks/earlyInput-xcoTbKQn.js +0 -1
- package/dist/chunks/entry-BzL1MFQG.js +0 -14
- package/dist/chunks/envUtils-DSxRz_kt.js +0 -1
- package/dist/chunks/esm-BLPbfHQd.js +0 -1
- package/dist/chunks/eventLoopStallDetector-Cg_RXU1q.js +0 -1
- package/dist/chunks/exit-DE2YiAhQ.js +0 -1
- package/dist/chunks/extraUsage-Dw7AXiH7.js +0 -1
- package/dist/chunks/extractMemories-DxTUMiv3.js +0 -1
- package/dist/chunks/fast-CHmMkIpE.js +0 -1
- package/dist/chunks/fast-uQASHWqR.js +0 -1
- package/dist/chunks/featureCheck-CrJeuheQ.js +0 -1
- package/dist/chunks/featureCheck-HslM03dr.js +0 -1
- package/dist/chunks/fileSuggestions-Dyu2kQtE.js +0 -3
- package/dist/chunks/firstPartyEventLogger-D5ohKbIe.js +0 -5
- package/dist/chunks/firstPartyEventLogger-LsNY6yOt.js +0 -1
- package/dist/chunks/flushGate-Cnsu4HET.js +0 -1
- package/dist/chunks/gemini-Cudre91e.js +0 -1
- package/dist/chunks/generateRecap-CiFxXlmH.js +0 -1
- package/dist/chunks/generateSessionName-DitoBxJT.js +0 -1
- package/dist/chunks/git-D6dOU2mT.js +0 -1
- package/dist/chunks/githubRepoPathMapping-DGr0kJ8D.js +0 -1
- package/dist/chunks/goal-DuUayfDg.js +0 -3
- package/dist/chunks/grok-tRbmZzEh.js +0 -1
- package/dist/chunks/grove-Cv19v6Sv.js +0 -7
- package/dist/chunks/help-DkqxbFDM.js +0 -1
- package/dist/chunks/hooks-CsP42iOp.js +0 -1
- package/dist/chunks/initReplBridge-DdsSWVqN.js +0 -1
- package/dist/chunks/intl-cKc-V6Mq.js +0 -1
- package/dist/chunks/keybindings-DZU3vwo3.js +0 -2
- package/dist/chunks/language-DHhXLb_Y.js +0 -1
- package/dist/chunks/language-s-dLbdVz.js +0 -1
- package/dist/chunks/launchLocalMemory-twLxpPvg.js +0 -3
- package/dist/chunks/launchOnboarding-BWz2XSb9.js +0 -8
- package/dist/chunks/lib-rQZENxQg.js +0 -8
- package/dist/chunks/loadAgentsDir-CMNFLt7R.js +0 -1
- package/dist/chunks/loadPluginHooks-BPnxcgrL.js +0 -1
- package/dist/chunks/localSearch-DzQODFap.js +0 -1
- package/dist/chunks/log-CZ0zYP_c.js +0 -1
- package/dist/chunks/logoV2Utils-CGUJ-5gY.js +0 -1
- package/dist/chunks/main-D4Uk-WUs.js +0 -862
- package/dist/chunks/managedEnv-DLVRBaA9.js +0 -1
- package/dist/chunks/mcp-BMVdGknC.js +0 -1
- package/dist/chunks/mcp-COS5RJFS.js +0 -6
- package/dist/chunks/mcp-tGsOW1GN.js +0 -2
- package/dist/chunks/memory-DR6poqeH.js +0 -1
- package/dist/chunks/mode-QV-NW1Wd.js +0 -2
- package/dist/chunks/model-BF_4ebyl.js +0 -1
- package/dist/chunks/model-BNU_ulDJ.js +0 -1
- package/dist/chunks/model-CwO-g1RW.js +0 -1
- package/dist/chunks/nativeInstaller-B-lNJjM-.js +0 -1
- package/dist/chunks/oauth-BqJqV-2M.js +0 -1
- package/dist/chunks/oauth-C8X_p8Gc.js +0 -1
- package/dist/chunks/omit-DZCEXri5.js +0 -1
- package/dist/chunks/onChangeAppState-BmfM5g-D.js +0 -1
- package/dist/chunks/p-map-B1EeBuI8.js +0 -1
- package/dist/chunks/p-map-HKDr3iDo.js +0 -1
- package/dist/chunks/panelCall-SbffM7G4.js +0 -1
- package/dist/chunks/parser-DrBC8nWp.js +0 -1
- package/dist/chunks/partition-DKuAFJkc.js +0 -1
- package/dist/chunks/path-Cv9QMBAX.js +0 -1
- package/dist/chunks/permissions-ey-bfanE.js +0 -3
- package/dist/chunks/pidLock-DJnS_38v.js +0 -3
- package/dist/chunks/pipeTransport-DVOKR4c_.js +0 -1
- package/dist/chunks/plan-Brg9XnRr.js +0 -1
- package/dist/chunks/plugin-CRwa39Y1.js +0 -17
- package/dist/chunks/pluginAutoupdate-D0LIP7cy.js +0 -1
- package/dist/chunks/pluginCliCommands-BJM5Bdpf.js +0 -1
- package/dist/chunks/pluginOperations-C7p_Qr2r.js +0 -2
- package/dist/chunks/pluginStartupCheck-C0HqhG6D.js +0 -1
- package/dist/chunks/plugins-DUKNjLq6.js +0 -4
- package/dist/chunks/poorMode-CejPNCp-.js +0 -1
- package/dist/chunks/print-gyTOCJzk.js +0 -23
- package/dist/chunks/processBashCommand-Cze9vCm6.js +0 -1
- package/dist/chunks/processSlashCommand-BRajh1v7.js +0 -5
- package/dist/chunks/prompt-B7joRiqj.js +0 -139
- package/dist/chunks/prompt-DqSMh2x9.js +0 -1
- package/dist/chunks/prompt-Eysh8Et_.js +0 -1
- package/dist/chunks/promptEditor-R_acDAgI.js +0 -4
- package/dist/chunks/reconciler-BfkO6X2X.js +0 -4
- package/dist/chunks/refresh-C1X3sptR.js +0 -1
- package/dist/chunks/reload-plugins-C0osFcNh.js +0 -1
- package/dist/chunks/remoteManagedSettings-B1mnRDmA.js +0 -1
- package/dist/chunks/rename-B3tf-YiD.js +0 -1
- package/dist/chunks/replBridgeHandle-CNwNIijW.js +0 -1
- package/dist/chunks/resume-Be1G_GBL.js +0 -2
- package/dist/chunks/ripgrep-C2PhTJDh.js +0 -1
- package/dist/chunks/rollback-BPWRKlIZ.js +0 -11
- package/dist/chunks/sandbox-adapter-C6GBuJPB.js +0 -1
- package/dist/chunks/sandbox-toggle-jEySONTW.js +0 -1
- package/dist/chunks/sdkHeapDumpMonitor-WdXUV7DV.js +0 -1
- package/dist/chunks/searchExtraTools-C_UTryh_.js +0 -1
- package/dist/chunks/session-DDI1Eb2x.js +0 -2
- package/dist/chunks/sessionDataUploader-CaCjwsA2.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-DfJ7Htfl.js +0 -1
- package/dist/chunks/sessionMemory-CQBxPkTQ.js +0 -1
- package/dist/chunks/sessionMemory-s0ALUHvc.js +0 -1
- package/dist/chunks/sessionMemoryUtils-xt7dTHGC.js +0 -1
- package/dist/chunks/sessionObserver-C2sYqWL3.js +0 -1
- package/dist/chunks/sessionState-CjNY991n.js +0 -11
- package/dist/chunks/sessionStorage-DqsY-7pi.js +0 -1
- package/dist/chunks/sessionTitle-B0OYf5nM.js +0 -14
- package/dist/chunks/sessionTracing-CwsXt_uA.js +0 -11
- package/dist/chunks/settings-BWtOA9A7.js +0 -1
- package/dist/chunks/settings-hQDLwPVj.js +0 -20
- package/dist/chunks/settingsSync-DdFagwHV.js +0 -1
- package/dist/chunks/setup-DzC22EkN.js +0 -3
- package/dist/chunks/shadowedRuleDetection-C86PTj1m.js +0 -1
- package/dist/chunks/sinks-5G_xhc1Q.js +0 -1
- package/dist/chunks/sinks-Cftq7Es0.js +0 -2
- package/dist/chunks/skillChangeDetector-plLveEbf.js +0 -1
- package/dist/chunks/skills-zGYaYfFV.js +0 -1
- package/dist/chunks/startupProfiler-JbpAkfNE.js +0 -1
- package/dist/chunks/state-C2OSZkV1.js +0 -1
- package/dist/chunks/state-DU9lRJ9x.js +0 -1
- package/dist/chunks/status-CFw-FpZM.js +0 -2
- package/dist/chunks/statusNoticeHelpers-B5U5c9PE.js +0 -1
- package/dist/chunks/subprocessEnv-BSQSomcK.js +0 -1
- package/dist/chunks/switcher-hgBgVzLb.js +0 -1
- package/dist/chunks/tasks-BxpyRhmD.js +0 -1
- package/dist/chunks/teleport-CwxeD5vL.js +0 -1
- package/dist/chunks/terminalSetup-DlaFWI81.js +0 -33
- package/dist/chunks/toolPool-B7SIoDw5.js +0 -1
- package/dist/chunks/trustedDevice-CjHQtVkO.js +0 -1
- package/dist/chunks/up-B8wBSpLg.js +0 -12
- package/dist/chunks/updateCCB-D_kGQKPT.js +0 -11
- package/dist/chunks/useExitOnCtrlCDWithKeybindings-Cce612uS.js +0 -1
- package/dist/chunks/useMainLoopModel-BICP6_Fi.js +0 -1
- package/dist/chunks/useManagePlugins-DtbY_vPL.js +0 -1
- package/dist/chunks/useMergedTools-Ckx2IEhF.js +0 -1
- package/dist/chunks/useSearchInput-BAgljZUl.js +0 -1
- package/dist/chunks/useSettingsErrors-CAJR_wpd.js +0 -1
- package/dist/chunks/util-DDtmyq_r.js +0 -1
- package/dist/chunks/vim-kg-mRVbu.js +0 -1
- package/dist/chunks/windowsPaths-Pmx8LDR6.js +0 -1
- package/dist/chunks/workerRegistry-C7H_lsQX.js +0 -6
- package/dist/chunks/worktree-O2p-mJdF.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{b as t,c as n,g as r}from"./config-CE058cvr.js";import{n as i,r as a}from"./analytics-CkYUHW_U.js";var o;e((()=>{i(),r(),o=async()=>{let e=n().editorMode||`normal`;e===`emacs`&&(e=`normal`);let r=e===`normal`?`vim`:`normal`;return t(e=>({...e,editorMode:r})),a(`tengu_editor_mode_changed`,{mode:r,source:`command`}),{type:`text`,value:`Editor mode set to ${r}. ${r===`vim`?`Use Escape key to toggle between INSERT and NORMAL modes.`:`Using standard (readline) keyboard bindings.`}`}}}))();export{o as call};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,o as t}from"./windowsPaths-o62uq6LF.js";e();export{t as setShellIfWindows};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{l as e,o as t,u as n}from"./envUtils-DSxRz_kt.js";import{t as r}from"./src-CDCSSo0U2.js";import{Et as i,Lp as a,OD as o,jt as s,kD as c,vt as l}from"./loadAgentsDir-ByO8eJqU.js";import{C as u,F as d,S as f,a as p,l as m,w as h,z as g}from"./debug-RZ4NuXyS.js";import{Ut as _}from"./settings-hQDLwPVj.js";import{O as v,k as y}from"./git-BerW9bId.js";import{o as b,s as x}from"./log-CZ0zYP_c.js";import{n as S,r as C}from"./analytics-CkYUHW_U.js";import{u as w,w as T,y as E}from"./startupProfiler-DCn_NxMH.js";import{Bt as D,Ot as O,_n as k,vn as A}from"./model-CwO-g1RW.js";import{i as ee,t as j}from"./sessionIdCompat-DMayYBrf.js";import{n as te}from"./firstPartyEventLogger-D5ohKbIe.js";import{t as M}from"./datadog-BJn5ECIu.js";import{n as N,o as P,r as F}from"./debugUtils-D30M1cbN.js";import{t as I}from"./pollConfig-BgpfHQPJ.js";import{n as L,t as ne}from"./rcDebugLog-CARUIORE.js";import{a as R,i as z,n as B,o as re,r as V,s as H,t as ie}from"./capacityWake-CKOiRELo.js";import{a as ae,i as oe,n as se,r as U,t as ce}from"./workSecret-DG9shvG0.js";import{i as W}from"./trustedDevice-B0x9X0fb.js";import{t as le}from"./jwtUtils-C0cE-1Ey.js";import{i as G,n as K,r as q}from"./cliLaunch-CQjLYRzM.js";import{t as J}from"./lib-BlVGipXx.js";import{hostname as Y,tmpdir as ue}from"os";import{dirname as X,join as de,resolve as Z}from"path";import{createWriteStream as fe}from"fs";import{randomUUID as Q}from"crypto";import{spawn as pe}from"child_process";import{createInterface as me}from"readline";t(),g(),f(),v(),b(),S(),E(),k(),c(),M(),te(),i(),ne(),G(),J(),_(),r(),p(),a(),j(),P();var he=10,$=10;function ge(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}var _e={Read:`Reading`,Write:`Writing`,Edit:`Editing`,MultiEdit:`Editing`,Bash:`Running`,Glob:`Searching`,Grep:`Searching`,WebFetch:`Fetching`,WebSearch:`Searching`,Task:`Running task`,FileReadTool:`Reading`,FileWriteTool:`Writing`,FileEditTool:`Editing`,GlobTool:`Searching`,GrepTool:`Searching`,BashTool:`Running`,NotebookEditTool:`Editing notebook`,LSP:`LSP`};function ve(e,t){let n=_e[e]??e,r=t.file_path??t.filePath??t.pattern??t.command?.slice(0,60)??t.url??t.query??``;return r?`${n} ${r}`:n}function ye(e,t,n){let r;try{r=u(e)}catch{return[]}if(!r||typeof r!=`object`)return[];let i=r,a=[],o=Date.now();switch(i.type){case`assistant`:{let e=i.message;if(!e)break;let r=e.content;if(!Array.isArray(r))break;for(let e of r){if(!e||typeof e!=`object`)continue;let r=e;if(r.type===`tool_use`){let e=r.name??`Tool`,i=r.input??{},s=ve(e,i);a.push({type:`tool_start`,summary:s,timestamp:o}),n(`[bridge:activity] sessionId=${t} tool_use name=${e} ${xe(i)}`)}else if(r.type===`text`){let e=r.text??``;e.length>0&&(a.push({type:`text`,summary:e.slice(0,80),timestamp:o}),n(`[bridge:activity] sessionId=${t} text "${e.slice(0,100)}"`))}}break}case`result`:{let e=i.subtype;if(e===`success`)a.push({type:`result`,summary:`Session completed`,timestamp:o}),n(`[bridge:activity] sessionId=${t} result subtype=success`);else if(e){let r=i.errors?.[0]??`Error: ${e}`;a.push({type:`error`,summary:r,timestamp:o}),n(`[bridge:activity] sessionId=${t} result subtype=${e} error="${r}"`)}else n(`[bridge:activity] sessionId=${t} result subtype=undefined`);break}default:break}return a}function be(e){if(e.parent_tool_use_id!=null||e.isSynthetic||e.isReplay)return;let t=e.message?.content,n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let e of t)if(e&&typeof e==`object`&&e.type===`text`){n=e.text;break}}return n=n?.trim(),n||void 0}function xe(e){let t=[];for(let[n,r]of Object.entries(e))if(typeof r==`string`&&t.push(`${n}="${r.slice(0,100)}"`),t.length>=3)break;return t.join(` `)}function Se(e){return{spawn(t,n){let r=ge(t.sessionId),i;if(e.debugFile){let t=e.debugFile.lastIndexOf(`.`);i=t>0?`${e.debugFile.slice(0,t)}-${r}${e.debugFile.slice(t)}`:`${e.debugFile}-${r}`}else(e.verbose||process.env.USER_TYPE===`ant`)&&(i=de(ue(),`claude`,`bridge-session-${r}.log`));let a=null,o;e.debugFile&&(o=de(X(e.debugFile),`bridge-transcript-${r}.jsonl`),a=fe(o,{flags:`a`}),a.on(`error`,t=>{e.onDebug(`[bridge:session] Transcript write error: ${t.message}`),a=null}),e.onDebug(`[bridge:session] Transcript log: ${o}`));let s=[...e.scriptArgs,`--print`,`--sdk-url`,t.sdkUrl,`--session-id`,t.sessionId,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--replay-user-messages`,...e.verbose?[`--verbose`]:[],...i?[`--debug-file`,i]:[],...e.permissionMode?[`--permission-mode`,e.permissionMode]:[]],c={...e.env,CLAUDE_CODE_OAUTH_TOKEN:void 0,CLAUDE_CODE_ENVIRONMENT_KIND:`bridge`,...e.sandbox&&{CLAUDE_CODE_FORCE_SANDBOX:`1`},CLAUDE_CODE_SESSION_ACCESS_TOKEN:t.accessToken,CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2:`1`,...t.useCcrV2&&{CLAUDE_CODE_USE_CCR_V2:`1`,CLAUDE_CODE_WORKER_EPOCH:String(t.workerEpoch)}};e.onDebug(`[bridge:session] Spawning sessionId=${t.sessionId} sdkUrl=${t.sdkUrl} accessToken=${t.accessToken?`present`:`MISSING`}`),e.onDebug(`[bridge:session] Child args: ${s.join(` `)}`),i&&e.onDebug(`[bridge:session] Debug log: ${i}`);let l=pe(e.execPath,s,{cwd:n,stdio:[`pipe`,`pipe`,`pipe`],env:c,windowsHide:!0});e.onDebug(`[bridge:session] sessionId=${t.sessionId} pid=${l.pid}`);let d=[],f=null,p=[],m=!1,g=!1;l.stderr&&me({input:l.stderr}).on(`line`,t=>{e.verbose&&process.stderr.write(t+`
|
|
2
|
-
`),p.length>=$&&p.shift(),p.push(t)}),l.stdout&&me({input:l.stdout}).on(`line`,n=>{a&&a.write(n+`
|
|
3
|
-
`),e.onDebug(`[bridge:ws] sessionId=${t.sessionId} <<< ${N(n)}`),e.verbose&&process.stderr.write(n+`
|
|
4
|
-
`);let r=ye(n,t.sessionId,e.onDebug);for(let n of r)d.length>=he&&d.shift(),d.push(n),f=n,e.onActivity?.(t.sessionId,n);{let r;try{r=u(n)}catch{}if(r&&typeof r==`object`){let n=r;if(n.type===`control_request`)n.request?.subtype===`can_use_tool`&&e.onPermissionRequest&&e.onPermissionRequest(t.sessionId,r,t.accessToken);else if(n.type===`user`&&!g&&t.onFirstUserMessage){let e=be(n);e&&(g=!0,t.onFirstUserMessage(e))}}}});let _=new Promise(n=>{l.on(`close`,(r,i)=>{a&&(a.end(),a=null),i===`SIGTERM`||i===`SIGINT`?(e.onDebug(`[bridge:session] sessionId=${t.sessionId} interrupted signal=${i} pid=${l.pid}`),n(`interrupted`)):r===0?(e.onDebug(`[bridge:session] sessionId=${t.sessionId} completed exit_code=0 pid=${l.pid}`),n(`completed`)):(e.onDebug(`[bridge:session] sessionId=${t.sessionId} failed exit_code=${r} pid=${l.pid}`),n(`failed`))}),l.on(`error`,r=>{e.onDebug(`[bridge:session] sessionId=${t.sessionId} spawn error: ${r.message}`),n(`failed`)})}),v={sessionId:t.sessionId,done:_,activities:d,accessToken:t.accessToken,lastStderr:p,get currentActivity(){return f},kill(){l.killed||(e.onDebug(`[bridge:session] Sending SIGTERM to sessionId=${t.sessionId} pid=${l.pid}`),process.platform===`win32`?l.kill():l.kill(`SIGTERM`))},forceKill(){!m&&l.pid&&(m=!0,e.onDebug(`[bridge:session] Sending SIGKILL to sessionId=${t.sessionId} pid=${l.pid}`),process.platform===`win32`?l.kill():l.kill(`SIGKILL`))},writeStdin(n){l.stdin&&!l.stdin.destroyed&&(e.onDebug(`[bridge:ws] sessionId=${t.sessionId} >>> ${N(n)}`),l.stdin.write(n))},updateAccessToken(n){v.accessToken=n,v.writeStdin(h({type:`update_environment_variables`,variables:{CLAUDE_CODE_SESSION_ACCESS_TOKEN:n}})+`
|
|
5
|
-
`),e.onDebug(`[bridge:session] Sent token refresh via stdin for sessionId=${t.sessionId}`)}};return v}}}p(),a(),P();var Ce={connInitialMs:2e3,connCapMs:12e4,connGiveUpMs:6e5,generalInitialMs:500,generalCapMs:3e4,generalGiveUpMs:6e5},we=1e3;function Te(e){return e.connCapMs*2}function Ee(){let e=[...K()],t=q();return t&&e.push(t),e}function De(e,t,n){try{return e.spawn(t,n)}catch(e){let t=d(e);return x(Error(`Session spawn failed: ${t}`)),t}}async function Oe(t,r,i,a,c,u,f,p=Ce,h,g){let _=new AbortController;f.aborted?_.abort():f.addEventListener(`abort`,()=>_.abort(),{once:!0});let v=_.signal,b=new Map,S=new Map,T=new Map,E=new Map,D=new Map,O=new Map,k=new Set,j=new Map,te=new Set,M=new Set,N=ie(v);async function P(){L(`heartbeat: checking ${b.size} active session(s)`);let e=!1,t=!1,n=[];for(let[i]of b){let o=T.get(i),s=D.get(i);if(!(!o||!s))try{await a.heartbeatWork(r,o,s),e=!0}catch(e){m(`[bridge:heartbeat] Failed for sessionId=${i} workId=${o}: ${d(e)}`),e instanceof B&&(C(`tengu_bridge_heartbeat_error`,{status:e.status,error_type:e.status===401||e.status===403?`auth_failed`:`fatal`}),e.status===401||e.status===403?n.push(i):t=!0)}}for(let e of n){u.logVerbose(`Session ${e} token expired — re-queuing via bridge/reconnect`);try{await a.reconnectSession(r,e),m(`[bridge:heartbeat] Re-queued sessionId=${e} via bridge/reconnect`)}catch(t){u.logError(`Failed to refresh session ${e} token: ${d(t)}`),m(`[bridge:heartbeat] reconnectSession(${e}) failed: ${d(t)}`,{level:`error`})}}return t?`fatal`:n.length>0?`auth_failed`:e?`ok`:`failed`}let ne=new Set,V=g?le({getAccessToken:g,onRefresh:(e,t)=>{let n=b.get(e);n&&(ne.has(e)?(u.logVerbose(`Refreshing session ${e} token via bridge/reconnect`),a.reconnectSession(r,e).catch(t=>{u.logError(`Failed to refresh session ${e} token: ${d(t)}`),m(`[bridge:token] reconnectSession(${e}) failed: ${d(t)}`,{level:`error`})})):n.updateAccessToken(t))},label:`bridge`}):null,H=Date.now(),W=new Set;function G(e){W.add(e),e.finally(()=>W.delete(e))}let K=0,q=0,J=null,Y=null,X=null,Z=null;if(m(`[bridge:work] Starting poll loop spawnMode=${t.spawnMode} maxSessions=${t.maxSessions} environmentId=${r}`),y(`info`,`bridge_loop_started`,{max_sessions:t.maxSessions,spawn_mode:t.spawnMode}),process.env.USER_TYPE===`ant`){let e;if(t.debugFile){let n=t.debugFile.lastIndexOf(`.`);e=n>0?`${t.debugFile.slice(0,n)}-*${t.debugFile.slice(n)}`:`${t.debugFile}-*`}else e=de(ue(),`claude`,`bridge-session-*.log`);u.setDebugLogPath(e)}u.printBanner(t,r),u.updateSessionCount(0,t.maxSessions,t.spawnMode),h&&u.setAttached(h);function fe(){u.updateSessionCount(b.size,t.maxSessions,t.spawnMode);for(let[e,t]of b){let n=t.currentActivity;n&&u.updateSessionActivity(E.get(e)??e,n)}if(b.size===0){u.updateIdleStatus();return}let[e,n]=[...b.entries()].pop(),r=S.get(e);if(!r)return;let i=n.currentActivity;if(!i||i.type===`result`||i.type===`error`){t.maxSessions>1&&u.refreshDisplay();return}let a=w(Date.now()-r),o=n.activities.filter(e=>e.type===`tool_start`).slice(-5).map(e=>e.summary);u.updateSessionStatus(e,a,i,o)}function Q(){pe(),fe(),Z=setInterval(fe,we)}function pe(){Z&&(clearInterval(Z),Z=null)}function me(e,n,i){return o=>{let c=T.get(e);L(`session done: sessionId=${e} workId=${c??`none`} status=${o} wasTimedOut=${te.has(e)} duration=${Math.round((Date.now()-n)/1e3)}s stderr=${i.lastStderr.length>0?i.lastStderr.join(`\\n`).slice(0,500):`(none)`}`),b.delete(e),S.delete(e),T.delete(e),D.delete(e);let l=E.get(e)??e;E.delete(e),u.removeSession(l),M.delete(l),ne.delete(e);let f=O.get(e);f&&(clearTimeout(f),O.delete(e)),V?.cancel(e),N.wake();let h=te.delete(e),g=h&&o===`interrupted`?`failed`:o,A=Date.now()-n;m(`[bridge:session] sessionId=${e} workId=${c??`unknown`} exited status=${g} duration=${w(A)}`),C(`tengu_bridge_session_done`,{status:g,duration_ms:A}),y(`info`,`bridge_session_done`,{status:g,duration_ms:A}),u.clearStatus(),pe();let ee=i.lastStderr.length>0?i.lastStderr.join(`
|
|
6
|
-
`):void 0,P;switch(g){case`completed`:u.logSessionComplete(e,A);break;case`failed`:!h&&!v.aborted&&(P=ee??`Process exited with error`,u.logSessionFailed(e,P),x(Error(`Bridge session failed: ${P}`)));break;case`interrupted`:u.logVerbose(`Session ${e} interrupted`);break}g!==`interrupted`&&c&&(G(Pe(a,r,c,u,p.stopWorkBaseDelayMs)),k.add(c));let F=j.get(e);if(F&&(j.delete(e),G(s(F.worktreePath,F.worktreeBranch,F.gitRoot,F.hookBased).catch(e=>u.logVerbose(`Failed to remove worktree ${F.worktreePath}: ${d(e)}`)))),g!==`interrupted`&&!v.aborted)if(t.spawnMode!==`single-session`)G(a.archiveSession(l).catch(t=>u.logVerbose(`Failed to archive session ${e}: ${d(t)}`))),m(`[bridge:session] Session ${g}, returning to idle (multi-session mode)`);else{m(`[bridge:session] Session ${g}, aborting poll loop to tear down environment`),_.abort();return}v.aborted||Q()}}for(h||Q();!v.aborted;){let f=I();try{L(`poll: envId=${r} activeSessions=${b.size}`);let g=await a.pollForWork(r,i,v,f.reclaim_older_than_ms);if(J!==null||Y!==null){let e=Date.now()-(J??Y??Date.now());u.logReconnected(e),m(`[bridge:poll] Reconnected after ${w(e)}`),C(`tengu_bridge_reconnected`,{disconnected_ms:e})}if(K=0,q=0,J=null,Y=null,X=null,!g){if(b.size>=t.maxSessions){let e=f.multisession_poll_interval_ms_at_capacity;if(f.non_exclusive_heartbeat_interval_ms>0){C(`tengu_bridge_heartbeat_mode_entered`,{active_sessions:b.size,heartbeat_interval_ms:f.non_exclusive_heartbeat_interval_ms});let n=e>0?Date.now()+e:null,r=`ok`,i=0;for(;!v.aborted&&b.size>=t.maxSessions&&(n===null||Date.now()<n);){let e=I();if(e.non_exclusive_heartbeat_interval_ms<=0)break;let t=N.signal();if(r=await P(),r===`auth_failed`||r===`fatal`){t.cleanup();break}i++,await A(e.non_exclusive_heartbeat_interval_ms,t.signal),t.cleanup()}let a=r===`auth_failed`||r===`fatal`?r:v.aborted?`shutdown`:b.size<t.maxSessions?`capacity_changed`:n!==null&&Date.now()>=n?`poll_due`:`config_disabled`;if(C(`tengu_bridge_heartbeat_mode_exited`,{reason:a,heartbeat_cycles:i,active_sessions:b.size}),a===`poll_due`&&m(`[bridge:poll] Heartbeat poll_due after ${i} cycles — falling through to pollForWork`),r===`auth_failed`||r===`fatal`){let t=N.signal();await A(e>0?e:f.non_exclusive_heartbeat_interval_ms,t.signal),t.cleanup()}}else if(e>0){let t=N.signal();await A(e,t.signal),t.cleanup()}}else await A(b.size>0?f.multisession_poll_interval_ms_partial_capacity:f.multisession_poll_interval_ms_not_at_capacity,v);continue}let _=b.size>=t.maxSessions;if(k.has(g.id)){if(m(`[bridge:work] Skipping already-completed workId=${g.id}`),_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}else await A(1e3,v);continue}let F;try{F=U(g.secret)}catch(e){let t=d(e);if(u.logError(`Failed to decode work secret for workId=${g.id}: ${t}`),C(`tengu_bridge_work_secret_failed`,{}),k.add(g.id),G(Pe(a,r,g.id,u,p.stopWorkBaseDelayMs)),_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}continue}let R=async()=>{m(`[bridge:work] Acknowledging workId=${g.id}`);try{await a.acknowledgeWork(r,g.id,F.session_ingress_token)}catch(e){m(`[bridge:work] Acknowledge failed workId=${g.id}: ${d(e)}`)}},z=g.data.type;switch(g.data.type){case`healthcheck`:await R(),m(`[bridge:work] Healthcheck received`),u.logVerbose(`Healthcheck received`);break;case`session`:{let i=g.data.id;L(`work received: type=session sessionId=${i} workId=${g.id}`);try{re(i,`session_id`)}catch{await R(),u.logError(`Invalid session_id received: ${i}`);break}let f=b.get(i);if(f){f.updateAccessToken(F.session_ingress_token),D.set(i,F.session_ingress_token),T.set(i,g.id),V?.schedule(i,F.session_ingress_token),m(`[bridge:work] Updated access token for existing sessionId=${i} workId=${g.id}`),await R();break}if(b.size>=t.maxSessions){m(`[bridge:work] At capacity (${b.size}/${t.maxSessions}), cannot spawn new session for workId=${g.id}`);break}await R();let _=Date.now(),w,N=!1,P;if(F.use_code_sessions===!0||e(process.env.CLAUDE_BRIDGE_USE_CCR_V2)){w=ce(t.apiBaseUrl,i);for(let e=1;e<=2;e++)try{P=await oe(w,F.session_ingress_token),N=!0,m(`[bridge:session] CCR v2: registered worker sessionId=${i} epoch=${P} attempt=${e}`);break}catch(t){let n=d(t);if(e<2){if(m(`[bridge:session] CCR v2: registerWorker attempt ${e} failed, retrying: ${n}`),await A(2e3,v),v.aborted)break;continue}u.logError(`CCR v2 worker registration failed for session ${i}: ${n}`),x(Error(`registerWorker failed: ${n}`)),k.add(g.id),G(Pe(a,r,g.id,u,p.stopWorkBaseDelayMs))}if(!N)break}else w=se(t.sessionIngressUrl,i);let I=t.spawnMode,z=t.dir,B=0;if(I===`worktree`&&(h===void 0||!ae(i,h))){let e=Date.now();try{let t=await l(`bridge-${ge(i)}`);B=Date.now()-e,j.set(i,{worktreePath:t.worktreePath,worktreeBranch:t.worktreeBranch,gitRoot:t.gitRoot,hookBased:t.hookBased}),z=t.worktreePath,m(`[bridge:session] Created worktree for sessionId=${i} at ${t.worktreePath}`)}catch(e){let t=d(e);u.logError(`Failed to create worktree for session ${i}: ${t}`),x(Error(`Worktree creation failed: ${t}`)),k.add(g.id),G(Pe(a,r,g.id,u,p.stopWorkBaseDelayMs));break}}m(`[bridge:session] Spawning sessionId=${i} sdkUrl=${w}`);let H=ee(i);L(`spawning session: sessionId=${i} sdkUrl=${w} useCcrV2=${N} workerEpoch=${P} dir=${z} accessToken=${F.session_ingress_token?F.session_ingress_token.slice(0,8)+`...`:`NONE`}`);let ie=De(c,{sessionId:i,sdkUrl:w,accessToken:F.session_ingress_token,useCcrV2:N,workerEpoch:P,onFirstUserMessage:e=>{if(M.has(H))return;M.add(H);let n=Le(e);u.setSessionTitle(H,n),m(`[bridge:title] derived title for ${H}: ${n}`),import(`./createSession-CSwlW2T2.js`).then(({updateBridgeSessionTitle:e})=>e(H,n,{baseUrl:t.apiBaseUrl})).catch(e=>m(`[bridge:title] failed to update title for ${H}: ${e}`,{level:`error`}))}},z);if(typeof ie==`string`){u.logError(`Failed to spawn session ${i}: ${ie}`);let e=j.get(i);e&&(j.delete(i),G(s(e.worktreePath,e.worktreeBranch,e.gitRoot,e.hookBased).catch(t=>u.logVerbose(`Failed to remove worktree ${e.worktreePath}: ${d(t)}`)))),k.add(g.id),G(Pe(a,r,g.id,u,p.stopWorkBaseDelayMs));break}let U=ie,W=Date.now()-_;C(`tengu_bridge_session_started`,{active_sessions:b.size,spawn_mode:I,in_worktree:j.has(i),spawn_duration_ms:W,worktree_create_ms:B,inProtectedNamespace:n()}),y(`info`,`bridge_session_started`,{spawn_mode:I,in_worktree:j.has(i),spawn_duration_ms:W,worktree_create_ms:B}),b.set(i,U),T.set(i,g.id),D.set(i,F.session_ingress_token),E.set(i,H);let le=Date.now();S.set(i,le),u.logSessionStart(i,`Session ${i}`);let K=ge(i),q;if(t.debugFile){let e=t.debugFile.lastIndexOf(`.`);q=e>0?`${t.debugFile.slice(0,e)}-${K}${t.debugFile.slice(e)}`:`${t.debugFile}-${K}`}else(t.verbose||process.env.USER_TYPE===`ant`)&&(q=de(ue(),`claude`,`bridge-session-${K}.log`));q&&u.logVerbose(`Debug log: ${q}`),u.addSession(H,o(H,t.sessionIngressUrl)),Q(),u.setAttached(H),Re(H,t.apiBaseUrl).then(e=>{e&&b.has(i)&&(M.add(H),u.setSessionTitle(H,e),m(`[bridge:title] server title for ${H}: ${e}`))}).catch(e=>m(`[bridge:title] failed to fetch title for ${H}: ${e}`,{level:`error`}));let J=t.sessionTimeoutMs??864e5;if(J>0){let e=setTimeout(Fe,J,i,J,u,te,U);O.set(i,e)}N&&ne.add(i),V?.schedule(i,F.session_ingress_token),U.done.then(me(i,le,U));break}default:await R(),m(`[bridge:work] Unknown work type: ${z}, skipping`);break}if(_){let e=N.signal();f.non_exclusive_heartbeat_interval_ms>0?(await P(),await A(f.non_exclusive_heartbeat_interval_ms,e.signal)):f.multisession_poll_interval_ms_at_capacity>0&&await A(f.multisession_poll_interval_ms_at_capacity,e.signal),e.cleanup()}}catch(e){if(v.aborted)break;if(e instanceof B){z(e.errorType)?u.logStatus(e.message):R(e)?m(`[bridge:work] Suppressed 403 error: ${e.message}`):(u.logError(e.message),x(e)),C(`tengu_bridge_fatal_error`,{status:e.status,error_type:e.errorType}),y(z(e.errorType)?`info`:`error`,`bridge_fatal_error`,{status:e.status,error_type:e.errorType});break}let t=F(e);if(L(`poll error: ${t} isConn=${Ae(e)} isServer=${je(e)} activeSessions=${b.size}`),Ae(e)||je(e)){let e=Date.now();X!==null&&e-X>Te(p)&&(m(`[bridge:work] Detected system sleep (${Math.round((e-X)/1e3)}s gap), resetting error budget`),y(`info`,`bridge_poll_sleep_detected`,{gapMs:e-X}),J=null,K=0,Y=null,q=0),X=e,J||(J=e);let n=e-J;if(n>=p.connGiveUpMs){u.logError(`Server unreachable for ${Math.round(n/6e4)} minutes, giving up.`),C(`tengu_bridge_poll_give_up`,{error_type:`connection`,elapsed_ms:n}),y(`error`,`bridge_poll_give_up`,{error_type:`connection`,elapsed_ms:n});break}Y=null,q=0,K=K?Math.min(K*2,p.connCapMs):p.connInitialMs;let r=Me(K);u.logVerbose(`Connection error, retrying in ${Ne(r)} (${Math.round(n/1e3)}s elapsed): ${t}`),u.updateReconnectingStatus(Ne(r),w(n)),I().non_exclusive_heartbeat_interval_ms>0&&await P(),await A(r,v)}else{let e=Date.now();X!==null&&e-X>Te(p)&&(m(`[bridge:work] Detected system sleep (${Math.round((e-X)/1e3)}s gap), resetting error budget`),y(`info`,`bridge_poll_sleep_detected`,{gapMs:e-X}),J=null,K=0,Y=null,q=0),X=e,Y||(Y=e);let n=e-Y;if(n>=p.generalGiveUpMs){u.logError(`Persistent errors for ${Math.round(n/6e4)} minutes, giving up.`),C(`tengu_bridge_poll_give_up`,{error_type:`general`,elapsed_ms:n}),y(`error`,`bridge_poll_give_up`,{error_type:`general`,elapsed_ms:n});break}J=null,K=0,q=q?Math.min(q*2,p.generalCapMs):p.generalInitialMs;let r=Me(q);u.logVerbose(`Poll failed, retrying in ${Ne(r)} (${Math.round(n/1e3)}s elapsed): ${t}`),u.updateReconnectingStatus(Ne(r),w(n)),I().non_exclusive_heartbeat_interval_ms>0&&await P(),await A(r,v)}}}pe(),u.clearStatus();let he=Date.now()-H;C(`tengu_bridge_shutdown`,{active_sessions:b.size,loop_duration_ms:he}),y(`info`,`bridge_shutdown`,{active_sessions:b.size,loop_duration_ms:he});let $=new Set(b.keys());h&&$.add(h);let _e=new Map(E);if(b.size>0){m(`[bridge:shutdown] Shutting down ${b.size} active session(s)`),u.logStatus(`Shutting down ${b.size} active session(s)\u2026`);let e=new Map(T);for(let[e,t]of b.entries())m(`[bridge:shutdown] Sending SIGTERM to sessionId=${e}`),t.kill();let t=new AbortController;await Promise.race([Promise.allSettled([...b.values()].map(e=>e.done)),A(p.shutdownGraceMs??3e4,t.signal)]),t.abort();for(let[e,t]of b.entries())m(`[bridge:shutdown] Force-killing stuck sessionId=${e}`),t.forceKill();for(let e of O.values())clearTimeout(e);if(O.clear(),V?.cancelAll(),j.size>0){let e=[...j.values()];j.clear(),m(`[bridge:shutdown] Cleaning up ${e.length} worktree(s)`),await Promise.allSettled(e.map(e=>s(e.worktreePath,e.worktreeBranch,e.gitRoot,e.hookBased)))}await Promise.allSettled([...e.entries()].map(([e,t])=>a.stopWork(r,t,!0).catch(n=>u.logVerbose(`Failed to stop work ${t} for session ${e}: ${d(n)}`))))}W.size>0&&await Promise.allSettled([...W]),$.size>0&&(m(`[bridge:shutdown] Archiving ${$.size} session(s)`),await Promise.allSettled([...$].map(e=>a.archiveSession(_e.get(e)??ee(e)).catch(t=>u.logVerbose(`Failed to archive session ${e}: ${d(t)}`)))));try{await a.deregisterEnvironment(r),m(`[bridge:shutdown] Environment deregistered, bridge offline`),u.logVerbose(`Environment deregistered.`)}catch(e){u.logVerbose(`Failed to deregister environment: ${d(e)}`)}let{clearBridgePointer:ve}=await import(`./bridgePointer-DIM0sj0x.js`);await ve(t.dir),u.logVerbose(`Environment offline.`)}var ke=new Set([`ECONNREFUSED`,`ECONNRESET`,`ETIMEDOUT`,`ENETUNREACH`,`EHOSTUNREACH`]);function Ae(e){return!!(e&&typeof e==`object`&&`code`in e&&typeof e.code==`string`&&ke.has(e.code))}function je(e){return!!e&&typeof e==`object`&&`code`in e&&typeof e.code==`string`&&e.code===`ERR_BAD_RESPONSE`}function Me(e){return Math.max(0,e+e*.25*(2*Math.random()-1))}function Ne(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`}async function Pe(e,t,n,r,i=1e3){for(let a=1;a<=3;a++)try{await e.stopWork(t,n,!1),m(`[bridge:work] stopWork succeeded for workId=${n} on attempt ${a}/3`);return}catch(e){if(e instanceof B){R(e)?m(`[bridge:work] Suppressed stopWork 403 for ${n}: ${e.message}`):r.logError(`Failed to stop work ${n}: ${e.message}`),y(`error`,`bridge_stop_work_failed`,{attempts:a,fatal:!0});return}let t=d(e);if(a<3){let e=Me(i*2**(a-1));r.logVerbose(`Failed to stop work ${n} (attempt ${a}/3), retrying in ${Ne(e)}: ${t}`),await A(e)}else r.logError(`Failed to stop work ${n} after 3 attempts: ${t}`),y(`error`,`bridge_stop_work_failed`,{attempts:3})}}function Fe(e,t,n,r,i){m(`[bridge:session] sessionId=${e} timed out after ${w(t)}`),C(`tengu_bridge_session_timeout`,{timeout_ms:t}),n.logSessionFailed(e,`Session timed out after ${w(t)}`),r.add(e),i.kill()}var Ie=80;function Le(e){return T(e.replace(/\s+/g,` `).trim(),Ie)}async function Re(e,t){let{getBridgeSession:n}=await import(`./createSession-CSwlW2T2.js`);return(await n(e,{baseUrl:t}))?.title||void 0}var ze=class extends Error{constructor(e){super(e),this.name=`BridgeHeadlessPermanentError`}};async function Be(e,t){let{dir:n,log:r}=e;process.chdir(n);let{setOriginalCwd:i,setCwdState:a}=await import(`./state-DU9lRJ9x.js`);i(n),a(n);let{enableConfigs:o,checkHasTrustDialogAccepted:s}=await import(`./config-DpOOllGk.js`);o();let{initSinks:c}=await import(`./sinks-5G_xhc1Q.js`);if(c(),!s())throw new ze(`Workspace not trusted: ${n}. Run \`claude\` in that directory first to accept the trust dialog.`);if(!e.getAccessToken())throw Error(H);let{getBridgeBaseUrl:l}=await import(`./bridgeConfig-C82un7rJ.js`),u=l();if(u.startsWith(`http://`)&&!u.includes(`localhost`)&&!u.includes(`127.0.0.1`))throw new ze(`Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed.`);let f=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||u,{getBranch:p,getRemoteUrl:m,findGitRoot:h}=await import(`./git-D6dOU2mT.js`),{hasWorktreeCreateHook:g}=await import(`./hooks-CsP42iOp.js`);if(e.spawnMode===`worktree`&&!(g()||h(n)!==null))throw new ze(`Worktree mode requires a git repository or WorktreeCreate hooks. Directory ${n} has neither.`);let _=await p(),v=await m(),y=Y(),b=Q(),x={dir:n,machineName:y,branch:_,gitRepoUrl:v,maxSessions:e.capacity,spawnMode:e.spawnMode,verbose:!1,sandbox:e.sandbox,bridgeId:b,workerType:`claude_code`,environmentId:Q(),apiBaseUrl:u,sessionIngressUrl:f,sessionTimeoutMs:e.sessionTimeoutMs},S=V({baseUrl:u,getAccessToken:e.getAccessToken,runnerVersion:`0.0.8`,onDebug:r,onAuth401:e.onAuth401,getTrustedDeviceToken:W}),C,w;try{let e=await S.registerBridgeEnvironment(x);C=e.environment_id,w=e.environment_secret}catch(e){throw Error(`Bridge registration failed: ${d(e)}`)}let T=Se({execPath:process.execPath,scriptArgs:Ee(),env:process.env,verbose:!1,sandbox:e.sandbox,permissionMode:e.permissionMode,onDebug:r}),E=Ve(r);E.printBanner(x,C);let D;if(e.createSessionOnStart){let{createBridgeSession:n}=await import(`./createSession-CSwlW2T2.js`);try{let i=await n({environmentId:C,title:e.name,events:[],gitRepoUrl:v,branch:_,signal:t,baseUrl:u,getAccessToken:e.getAccessToken,permissionMode:e.permissionMode});i&&(D=i,r(`created initial session ${i}`))}catch(e){r(`session pre-creation failed (non-fatal): ${d(e)}`)}}await Oe(x,C,w,S,T,E,t,void 0,D,async()=>e.getAccessToken())}function Ve(e){let t=()=>{};return{printBanner:(t,n)=>e(`registered environmentId=${n} dir=${t.dir} spawnMode=${t.spawnMode} capacity=${t.maxSessions}`),logSessionStart:(t,n)=>e(`session start ${t}`),logSessionComplete:(t,n)=>e(`session complete ${t} (${n}ms)`),logSessionFailed:(t,n)=>e(`session failed ${t}: ${n}`),logStatus:e,logVerbose:e,logError:t=>e(`error: ${t}`),logReconnected:t=>e(`reconnected after ${t}ms`),addSession:(t,n)=>e(`session attached ${t}`),removeSession:t=>e(`session detached ${t}`),updateIdleStatus:t,updateReconnectingStatus:t,updateSessionStatus:t,updateSessionActivity:t,updateSessionCount:t,updateFailedStatus:t,setSpawnModeDisplay:t,setRepoInfo:t,setDebugLogPath:t,setAttached:t,setSessionTitle:t,clearStatus:t,toggleQr:t,refreshDisplay:t}}D(),g();var He=78,Ue=1;async function We(e){if(!e){console.error(`Error: --daemon-worker requires a worker kind`),process.exitCode=He;return}switch(e){case`remoteControl`:await Ge();break;default:console.error(`Error: unknown daemon worker kind '${e}'`),process.exitCode=He}}async function Ge(){let e=process.env.DAEMON_WORKER_DIR||Z(`.`),t=process.env.DAEMON_WORKER_NAME||void 0,n=process.env.DAEMON_WORKER_SPAWN_MODE||`same-dir`,r=parseInt(process.env.DAEMON_WORKER_CAPACITY||`4`,10),i=process.env.DAEMON_WORKER_PERMISSION||void 0,a=process.env.DAEMON_WORKER_SANDBOX===`1`,o=process.env.DAEMON_WORKER_TIMEOUT_MS?parseInt(process.env.DAEMON_WORKER_TIMEOUT_MS,10):void 0,s=process.env.DAEMON_WORKER_CREATE_SESSION!==`0`,c=new AbortController,l=()=>c.abort();process.on(`SIGTERM`,l),process.on(`SIGINT`,l);let u={dir:e,name:t,spawnMode:n,capacity:r,permissionMode:i,sandbox:a,sessionTimeoutMs:o,createSessionOnStart:s,getAccessToken:()=>O()?.accessToken,onAuth401:async e=>!!O()?.accessToken,log:e=>{console.log(`[remoteControl] ${e}`)}};try{await Be(u,c.signal)}catch(e){e instanceof ze?(console.error(`[remoteControl] permanent error: ${e.message}`),process.exitCode=He):(console.error(`[remoteControl] transient error: ${d(e)}`),process.exitCode=Ue)}finally{process.off(`SIGTERM`,l),process.off(`SIGINT`,l)}}export{We as runDaemonWorker};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Et as e,xt as t}from"./loadAgentsDir-ByO8eJqU.js";e();export{t as execIntoTmuxWorktree};
|