@readmagic/workmate 0.0.16 → 0.0.17
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-DAtfMH4o.js → AddWorkspaceDirectory-YAhnVwyN.js} +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog--D4BeNAN.js +1 -0
- package/dist/chunks/{AgentsMdExternalIncludesDialog-BTYgjY5c.js → AgentsMdExternalIncludesDialog-Ba4GYFl3.js} +1 -1
- package/dist/chunks/{App-HF0bvxi_.js → App-mri25OrC.js} +1 -1
- package/dist/chunks/{ApproveApiKey-BBFLw2B7.js → ApproveApiKey-DCw6d7dm.js} +1 -1
- package/dist/chunks/ApproveApiKey-lv4Sg0RR.js +1 -0
- package/dist/chunks/{BackgroundTasksDialog-Coc0ecUd.js → BackgroundTasksDialog-CZND8e_Z.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog--Gx9ARd4.js → BypassPermissionsModeDialog-B5QBJTB4.js} +1 -1
- package/dist/chunks/{DiffDialog-tlINuFS1.js → DiffDialog-Bd-DcTsK.js} +1 -1
- package/dist/chunks/{Doctor-Wh7z6CnF.js → Doctor-C9t7udHN.js} +1 -1
- package/dist/chunks/Doctor-V-JLC4e3.js +1 -0
- package/dist/chunks/{ExitFlow-B1zHTqQt.js → ExitFlow-CShdrKmr.js} +1 -1
- package/dist/chunks/{Grove-1Kf7xxIV.js → Grove-CClEZT2e.js} +1 -1
- package/dist/chunks/{HybridTransport-DWqWUZCH.js → HybridTransport-DyEuslQB.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-OZPFQSnC.js → InvalidConfigDialog-Wyrk_cXR.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-BNCm-eyC.js → InvalidSettingsDialog-Cr9fmSyh.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-7H84oi5n.js → MCPConnectionManager-BnUw0nYN.js} +1 -1
- package/dist/chunks/{MCPToolListView-CVgtg3Iq.js → MCPToolListView-CY2EezWF.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-CN8f449l.js → McpParsingWarnings-BF4np2Y3.js} +1 -1
- package/dist/chunks/{MessageSelector-B9j6zZ5w.js → MessageSelector-Dtt2Sf65.js} +1 -1
- package/dist/chunks/{Messages-yz1m39eI.js → Messages-D5Uuapmf.js} +1 -1
- package/dist/chunks/{Onboarding-bFbgae8m.js → Onboarding-BAJXV7Ay.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-CE_yVun1.js → PromptInputFooterSuggestions-Cm4WN3qd.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-TPWuGwAy.js → PromptInputHelpMenu-ESj8sOpK.js} +1 -1
- package/dist/chunks/{QueryEngine-CRobcENE.js → QueryEngine-B79JLwG4.js} +1 -1
- package/dist/chunks/REPL-B7evbhvN.js +1 -0
- package/dist/chunks/{REPL-C33mMf_q.js → REPL-cAXdORs2.js} +5 -5
- package/dist/chunks/{RemoteSessionManager-BjVD918g.js → RemoteSessionManager-C5pAD0Lh.js} +1 -1
- package/dist/chunks/{ResumeConversation-CXd8d8po.js → ResumeConversation-NSVT3gn7.js} +1 -1
- package/dist/chunks/{SSETransport-BSilVN9e.js → SSETransport-CDGMGrxN.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-CddjJcAH.js +1 -0
- package/dist/chunks/{Settings-ClcLl0C1.js → Settings-_b5Yxt_9.js} +2 -2
- package/dist/chunks/{TeleportProgress-DonJUoPc.js → TeleportProgress-8cS6aHVO.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-ByOuSVVz.js → TeleportRepoMismatchDialog-B0epkMgp.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-BBtELwF1.js → TeleportResumeWrapper-Bb14JeEk.js} +1 -1
- package/dist/chunks/{ThemePicker-1QQJFOEv.js → ThemePicker-CnX8faYA.js} +1 -1
- package/dist/chunks/{TrustDialog-DwJ9L_u4.js → TrustDialog-6wJF3W6K.js} +1 -1
- package/dist/chunks/{add-dir-DOKdPFT2.js → add-dir-LLAv-rGS.js} +1 -1
- package/dist/chunks/{agentDisplay-TX1bh-lX.js → agentDisplay-QqGqcHGz.js} +1 -1
- package/dist/chunks/{agents-CbRjX9Pj.js → agents-C8wRUTNV.js} +1 -1
- package/dist/chunks/{agents-C58tRxpi.js → agents-DFPEienW.js} +1 -1
- package/dist/chunks/{allErrors-DRiW7i6Y.js → allErrors-DUYYPpdH.js} +1 -1
- package/dist/chunks/{api-CazVavfB.js → api-B3Wnozaf.js} +1 -1
- package/dist/chunks/api-BAT--5sp.js +1 -0
- package/dist/chunks/{auth-CfrCl9BZ.js → auth-CQGJitIV.js} +1 -1
- package/dist/chunks/auth-DaJXqwN5.js +1 -0
- package/dist/chunks/auth-DkhPycBL.js +1 -0
- package/dist/chunks/{backgroundHousekeeping-CPLlaWcV.js → backgroundHousekeeping-Bjb_Jc7L.js} +2 -2
- package/dist/chunks/backgroundHousekeeping-V-dg2j2E.js +1 -0
- package/dist/chunks/{branch-pAa0oBaj.js → branch-BWq5ynjm.js} +1 -1
- package/dist/chunks/{bridgeConfig-DnFfCpGd.js → bridgeConfig-B3mR0kJ0.js} +1 -1
- package/dist/chunks/bridgeConfig-D31i4BRi.js +1 -0
- package/dist/chunks/{bridgeMessaging-B_hnuUHb.js → bridgeMessaging-wZ5EKxW_.js} +1 -1
- package/dist/chunks/{bridgeStatusUtil-Dwz4YHNA.js → bridgeStatusUtil-mvVQSVN-.js} +1 -1
- package/dist/chunks/{btw-CkVkYeRr.js → btw-XNgXHnNr.js} +1 -1
- package/dist/chunks/{caches-BLQUkrIG.js → caches-ByLjTvdy.js} +1 -1
- package/dist/chunks/caches-ckqJ4Qso.js +1 -0
- package/dist/chunks/{ccrClient-AfdUbWzY.js → ccrClient-EisctZbc.js} +1 -1
- package/dist/chunks/{clear-Ac3qYi_-.js → clear-BjtPf2Jb.js} +1 -1
- package/dist/chunks/client-Bl43xcRk.js +1 -0
- package/dist/chunks/commands-BDhn7EPO.js +1 -0
- package/dist/chunks/{compact-CXuDr5qM.js → compact-w8AhLkr6.js} +1 -1
- package/dist/chunks/config-CbAvTdZ7.js +1 -0
- package/dist/chunks/{context-C2plOqH4.js → context-Btn2JU2y.js} +1 -1
- package/dist/chunks/{context-noninteractive-fVQtwEkw.js → context-noninteractive-044464Vs.js} +1 -1
- package/dist/chunks/context-noninteractive-ulRLlYg5.js +1 -0
- package/dist/chunks/conversation-D08lU377.js +1 -0
- package/dist/chunks/{conversation-DQpS6nvg.js → conversation-a82khZ_n.js} +1 -1
- package/dist/chunks/{createSSHSession-CfyFuJMH.js → createSSHSession-C0KSI0fJ.js} +1 -1
- package/dist/chunks/{createSession-qk9C66lK.js → createSession-8ScCWTKb.js} +1 -1
- package/dist/chunks/createSession-CnlPXXkA.js +1 -0
- package/dist/chunks/{crossProjectResume-DY1ZBO5P.js → crossProjectResume-BCN462Wa.js} +1 -1
- package/dist/chunks/{datadog-Cr0VKbct.js → datadog-BqINRWAW.js} +1 -1
- package/dist/chunks/{diff-BNjcCXDr.js → diff-CcrSQNvQ.js} +1 -1
- package/dist/chunks/doctor-DRFDBrH1.js +1 -0
- package/dist/chunks/{entry-o9IZPS4g.js → entry-oVZ7Z59B.js} +1 -1
- package/dist/chunks/{esm-BI3tFLyy.js → esm-BZciQG9N.js} +1 -1
- package/dist/chunks/{exit-Dlyj7nY8.js → exit-jikLI2Zh.js} +1 -1
- package/dist/chunks/{extraUsage-5Ueiyw6W.js → extraUsage-BT3in1Aj.js} +1 -1
- package/dist/chunks/extractMemories-BsQU2bVO.js +1 -0
- package/dist/chunks/fast-B9vVL3sY.js +1 -0
- package/dist/chunks/{fast-ClOKONyD.js → fast-CKhtBOx7.js} +1 -1
- package/dist/chunks/fetchModelList-BeL40TyR.js +1 -0
- package/dist/chunks/{fetchModelList-gh_jFYai.js → fetchModelList-DmaMgpa2.js} +1 -1
- package/dist/chunks/{fileSuggestions-DK7W8kLF.js → fileSuggestions-BfG3sbET.js} +1 -1
- package/dist/chunks/firstPartyEventLogger-6GwZ6VLr.js +1 -0
- package/dist/chunks/{firstPartyEventLogger-BMnXb9cv.js → firstPartyEventLogger-Q3fMF0BR.js} +2 -2
- package/dist/chunks/{flushGate-n4kK6H1U.js → flushGate-COa_KO98.js} +1 -1
- package/dist/chunks/{gemini-C8-QHnsC.js → gemini-L8Gj2B4H.js} +1 -1
- package/dist/chunks/{generateSessionName-C8DnAVaa.js → generateSessionName-cAL5T7pG.js} +1 -1
- package/dist/chunks/{goal-DMmzlZOF.js → goal-D-x2WXm7.js} +1 -1
- package/dist/chunks/{grok-LLjpAwP_.js → grok-DtypRM4d.js} +1 -1
- package/dist/chunks/{grove-CQBCzeHf.js → grove-CSivzrhe.js} +1 -1
- package/dist/chunks/{help-JH7WzjZP.js → help-DKZhC0lL.js} +1 -1
- package/dist/chunks/{hooks-DD2jpRfx.js → hooks-D_afUDcs.js} +1 -1
- package/dist/chunks/hooks-DvVuNKRx.js +1 -0
- package/dist/chunks/{initReplBridge-BDaN0hpY.js → initReplBridge-sTaq4a0K.js} +1 -1
- package/dist/chunks/{install-CD4or0vj.js → install-BWe3Jz4M.js} +1 -1
- package/dist/chunks/{instrumentation-n-otwpYf.js → instrumentation-IljwxX0V.js} +3 -3
- package/dist/chunks/{job-B-pEWgXI.js → job-N25KhSUu.js} +1 -1
- package/dist/chunks/{keybindings-qed9q9tx.js → keybindings-DLEorhlY.js} +1 -1
- package/dist/chunks/{launchLocalMemory-cBovdGMT.js → launchLocalMemory-DJsuNLIf.js} +1 -1
- package/dist/chunks/{launchOnboarding-B__wtt7p.js → launchOnboarding-CVvuxeH-.js} +1 -1
- package/dist/chunks/{loadAgentsDir-PPiD2Mfq.js → loadAgentsDir-CbtNPJV3.js} +23 -23
- package/dist/chunks/loadAgentsDir-D0gl_H2S.js +1 -0
- package/dist/chunks/{loadPluginHooks-DUCuU3_8.js → loadPluginHooks-BxkDBFd6.js} +1 -1
- package/dist/chunks/{localSearch-Cvs9WfoX.js → localSearch-B5mTHBwK.js} +1 -1
- package/dist/chunks/localSearch-D3UrYUre.js +1 -0
- package/dist/chunks/{logoV2Utils-Bkj74dtY.js → logoV2Utils-D5nRpirL.js} +1 -1
- package/dist/chunks/{magicDocs-3U6peChg.js → magicDocs-C9aIo4Oe.js} +1 -1
- package/dist/chunks/{main-DkjxhBIC.js → main-DeUt_aE2.js} +9 -9
- package/dist/chunks/managedEnv-ADMKY7-G.js +1 -0
- package/dist/chunks/{managedEnv-BUrzwaD3.js → managedEnv-CDxyrUw1.js} +1 -1
- package/dist/chunks/{mappers-ZGgwqDOK.js → mappers-Del1KoA7.js} +1 -1
- package/dist/chunks/{mcp-COZxwgJZ.js → mcp-Bh3MNBIj.js} +2 -2
- package/dist/chunks/{mcp-CdyNeNzh.js → mcp-D7vMhEOV.js} +1 -1
- package/dist/chunks/{mcp-CysOyBIn.js → mcp-nnBVM5Lt.js} +1 -1
- package/dist/chunks/{memory-B5h2TTSS.js → memory-DtqQhHu8.js} +1 -1
- package/dist/chunks/{mode-D3yY1fdK.js → mode-DPbrxU32.js} +1 -1
- package/dist/chunks/{model-Bz4JHoU0.js → model-B50j-O5v.js} +1 -1
- package/dist/chunks/model-DLG1nrnf.js +1 -0
- package/dist/chunks/{model-sviY1inu.js → model-DlLO7TSx.js} +1 -1
- package/dist/chunks/{modelOptions-DYQqTLPi.js → modelOptions-SMq3one0.js} +1 -1
- package/dist/chunks/{nativeInstaller-N1xiUpCP.js → nativeInstaller-DTJ4clp-.js} +1 -1
- package/dist/chunks/{omit-BOILu8jW.js → omit-CMldTqqy.js} +1 -1
- package/dist/chunks/{onChangeAppState-COFFZAXb.js → onChangeAppState-EAnsmOuo.js} +1 -1
- package/dist/chunks/{openai-BHM5kEFo.js → openai-D9KvLMrj.js} +1 -1
- package/dist/chunks/{partition-C1SFDk_L.js → partition-B8Y4jvjW.js} +1 -1
- package/dist/chunks/{permissions-uy_NFbfy.js → permissions-cDtIZRM1.js} +1 -1
- package/dist/chunks/{pidLock-DuMVSwnN.js → pidLock-Br3_YNi_.js} +2 -2
- package/dist/chunks/{plan-DF9YSB5M.js → plan-dG2H4eQl.js} +1 -1
- package/dist/chunks/{plugin-GRPzqgTr.js → plugin-CzQHuIlP.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-AMD-FvKB.js → pluginAutoupdate-B9W_vxOG.js} +1 -1
- package/dist/chunks/{pluginBlocklist-DNxkAxH6.js → pluginBlocklist-BvdBsnJG.js} +1 -1
- package/dist/chunks/{pluginCliCommands-BFoR1ZXx.js → pluginCliCommands-NKIgFTUF.js} +1 -1
- package/dist/chunks/{pluginFlagging-CW2IZWSI.js → pluginFlagging-C0PtAJEg.js} +1 -1
- package/dist/chunks/{pluginOperations-DlWE0idP.js → pluginOperations-wUUdFpu9.js} +1 -1
- package/dist/chunks/pluginStartupCheck-hDT6pEAd.js +1 -0
- package/dist/chunks/{pluginStartupCheck-AQGV0DCS.js → pluginStartupCheck-p0njap1l.js} +1 -1
- package/dist/chunks/{plugins-CwUSTE4E.js → plugins-B9WBqOAW.js} +1 -1
- package/dist/chunks/{print-9wR_ijrL.js → print-G3DgPTxy.js} +3 -3
- package/dist/chunks/{processBashCommand-Deqwq1IE.js → processBashCommand-zLWgCRws.js} +1 -1
- package/dist/chunks/{processSlashCommand-U9LJ4Keq.js → processSlashCommand-BHBnHBjj.js} +1 -1
- package/dist/chunks/{prompt-CQmEvnKN.js → prompt-BRGC5U9Y.js} +1 -1
- package/dist/chunks/prompt-Ct3Ryb3C.js +1 -0
- package/dist/chunks/prompt-TZJKyomz.js +1 -0
- package/dist/chunks/{promptEditor-Bf72KNF-.js → promptEditor-CRIw6vJS.js} +1 -1
- package/dist/chunks/{reconciler-Css9bs07.js → reconciler-DiU1RvGD.js} +1 -1
- package/dist/chunks/{refresh-B87z39Zs.js → refresh-DEXe3Lmx.js} +1 -1
- package/dist/chunks/{reload-plugins-BpmUIkfm.js → reload-plugins-Cl6wvT6V.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-BCLIIygk.js → remoteBridgeCore-DnFZoXaw.js} +1 -1
- package/dist/chunks/{remoteManagedSettings-Ahgn2e80.js → remoteManagedSettings-BboLJ46D.js} +1 -1
- package/dist/chunks/{rename-BUt3PliQ.js → rename-CdzxOzN5.js} +1 -1
- package/dist/chunks/{resume-uZI9p_FE.js → resume-DgFXYWTN.js} +1 -1
- package/dist/chunks/{runtimeObserver-AKOWfdZ_.js → runtimeObserver-CwtRE2cj.js} +1 -1
- package/dist/chunks/{runtimeObserver-By59MZKJ.js → runtimeObserver-Dov-m2dl.js} +2 -2
- package/dist/chunks/sandbox-adapter-CtEngx-6.js +1 -0
- package/dist/chunks/{sandbox-toggle-BdvylnWS.js → sandbox-toggle-DWCrG9zV.js} +1 -1
- package/dist/chunks/searchExtraTools-zFMN5MqY.js +1 -0
- package/dist/chunks/{session-Tm2-rzBY.js → session-L5191BSn.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-C2VjT-PU.js +1 -0
- package/dist/chunks/sessionObserver-BuhXr3FP.js +1 -0
- package/dist/chunks/{sessionObserver-BAr8AWeL.js → sessionObserver-DpY0DOjI.js} +1 -1
- package/dist/chunks/{sessionState-BTFowSpR.js → sessionState-BlbRQ3Y6.js} +1 -1
- package/dist/chunks/sessionStorage-CiYSwyY3.js +1 -0
- package/dist/chunks/sessionTitle-k4wpUS5l.js +2 -0
- package/dist/chunks/{sessionTracing-CvY4udYI.js → sessionTracing-DqVx8aFD.js} +1 -1
- package/dist/chunks/{settingsSync-nxeaGM2-.js → settingsSync-BhlegQAU.js} +1 -1
- package/dist/chunks/{setup-D4FPeBnM.js → setup-DvnKMqDy.js} +2 -2
- package/dist/chunks/{shadowedRuleDetection-Co8m1q1D.js → shadowedRuleDetection-Gerk3t93.js} +1 -1
- package/dist/chunks/{sideQuestion-4TJYn-Az.js → sideQuestion-RndkXExy.js} +1 -1
- package/dist/chunks/sinks-Cf4vx9UX.js +1 -0
- package/dist/chunks/{sinks-Bb2i50kz.js → sinks-CfzgqLH5.js} +1 -1
- package/dist/chunks/{skillChangeDetector-BU9AFG0i.js → skillChangeDetector-BQx4xe_b.js} +1 -1
- package/dist/chunks/{skillGapStore-BcVP3ZUb.js → skillGapStore-CLxhWLyq.js} +2 -2
- package/dist/chunks/{skillLifecycle-CG2XmS8f.js → skillLifecycle-CSNX2qOH.js} +2 -2
- package/dist/chunks/{skillSearchPanel-DOJmUBXB.js → skillSearchPanel-CsQDjy_E.js} +2 -2
- package/dist/chunks/{skills-DIgCWvzX.js → skills-DM9ACPW-.js} +1 -1
- package/dist/chunks/status-C3z0CSBw.js +1 -0
- package/dist/chunks/{status-Ber2xOXc.js → status-C5v7KsX4.js} +1 -1
- package/dist/chunks/{statusNoticeHelpers-CYkrPUpN.js → statusNoticeHelpers-BY_8pK19.js} +1 -1
- package/dist/chunks/switcher-C9VsM-ip.js +1 -0
- package/dist/chunks/{switcher-BIP3rbQn.js → switcher-CnBKuiNp.js} +1 -1
- package/dist/chunks/{syncCache-AMQMQ_HR.js → syncCache-Dff4hbz4.js} +1 -1
- package/dist/chunks/{tasks-BKERIO4G.js → tasks-qVyXOLBf.js} +1 -1
- package/dist/chunks/{teleport-DOXbf2sQ.js → teleport-Deq_ecN9.js} +1 -1
- package/dist/chunks/{templateJobs-dg2F45ZJ.js → templateJobs-CntPyct-.js} +1 -1
- package/dist/chunks/{theme-BGxytGjA.js → theme-DVWYzSct.js} +1 -1
- package/dist/chunks/{toolEventObserver-CJhg_p3P.js → toolEventObserver-BZn8ZJB5.js} +1 -1
- package/dist/chunks/{toolPool-C0d7Bznl.js → toolPool-Dzp1ob3I.js} +1 -1
- package/dist/chunks/trustedDevice-1Q4FTNyX.js +1 -0
- package/dist/chunks/{trustedDevice-BtXHXu-T.js → trustedDevice-CdLAZK6m.js} +1 -1
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-C9orgrub.js → useExitOnCtrlCDWithKeybindings-YSWYVWk6.js} +1 -1
- package/dist/chunks/useMainLoopModel-C1JRp4zE.js +1 -0
- package/dist/chunks/{useManagePlugins-Bt-DYAnX.js → useManagePlugins-DfuI4Nhd.js} +1 -1
- package/dist/chunks/{useMergedTools-CZeQBdky.js → useMergedTools-B4qRVJ8b.js} +1 -1
- package/dist/chunks/{useSearchInput-DdKrVHJS.js → useSearchInput-DfUNYhqC.js} +1 -1
- package/dist/chunks/{useSettingsErrors-BR9Wws7D.js → useSettingsErrors-Bls74ocI.js} +1 -1
- package/dist/chunks/{userAgent-DUt0q-Vl.js → userAgent-CNPTS7ix.js} +1 -1
- package/dist/chunks/{util-h-Hmdke_.js → util-6aJHnBQ_.js} +1 -1
- package/dist/chunks/{validatePlugin-mWVKNtJa.js → validatePlugin-BajM6yNf.js} +1 -1
- package/dist/chunks/{workerRegistry-dlfqtySm.js → workerRegistry-BwJ54Lzk.js} +2 -2
- package/dist/chunks/worktree-BFP10vim.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-C6VH6JG6.js +0 -1
- package/dist/chunks/ApproveApiKey-B7mKgSqY.js +0 -1
- package/dist/chunks/Doctor-BJf49FWX.js +0 -1
- package/dist/chunks/REPL-BhCC0JP6.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-DoiCI2uJ.js +0 -1
- package/dist/chunks/api-C8uOHD-v.js +0 -1
- package/dist/chunks/auth-BL238vgr.js +0 -1
- package/dist/chunks/auth-D3GkU6d7.js +0 -1
- package/dist/chunks/backgroundHousekeeping-Du2tN2WE.js +0 -1
- package/dist/chunks/bridgeConfig-joBqeK0j.js +0 -1
- package/dist/chunks/caches-DsFl83sh.js +0 -1
- package/dist/chunks/client-BX0r6K3I.js +0 -1
- package/dist/chunks/commands-BKLsl6gK.js +0 -1
- package/dist/chunks/config-DrY1SvhQ.js +0 -1
- package/dist/chunks/context-noninteractive-DpVlZ-wP.js +0 -1
- package/dist/chunks/conversation-C0yysXds.js +0 -1
- package/dist/chunks/createSession-CmBawnsh.js +0 -1
- package/dist/chunks/doctor-BkCtT7H1.js +0 -1
- package/dist/chunks/extractMemories-DnTBWFOW.js +0 -1
- package/dist/chunks/fast-B3fRp1xO.js +0 -1
- package/dist/chunks/fetchModelList-B8KG79EK.js +0 -1
- package/dist/chunks/firstPartyEventLogger-YYOb8aIo.js +0 -1
- package/dist/chunks/hooks-COhKt_pF.js +0 -1
- package/dist/chunks/loadAgentsDir-qvqrTVuS.js +0 -1
- package/dist/chunks/localSearch-CDk_stXJ.js +0 -1
- package/dist/chunks/managedEnv-XOUMOtEF.js +0 -1
- package/dist/chunks/model-g6XBcNAG.js +0 -1
- package/dist/chunks/pluginStartupCheck-DWpquqxx.js +0 -1
- package/dist/chunks/prompt-BBeDQXIs.js +0 -1
- package/dist/chunks/prompt-CXhdqgB7.js +0 -1
- package/dist/chunks/sandbox-adapter-D4Uho1vF.js +0 -1
- package/dist/chunks/searchExtraTools-BHMkqGBf.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-BaWZ8sqn.js +0 -1
- package/dist/chunks/sessionObserver-KB1UL_n2.js +0 -1
- package/dist/chunks/sessionStorage-D6nlmaI-.js +0 -1
- package/dist/chunks/sessionTitle-SCqmSDYM.js +0 -14
- package/dist/chunks/sinks-D1opmy_x.js +0 -1
- package/dist/chunks/status-CVcXPoOZ.js +0 -1
- package/dist/chunks/switcher-zbG6T9dN.js +0 -1
- package/dist/chunks/trustedDevice-hw3iq84W.js +0 -1
- package/dist/chunks/useMainLoopModel-BigVcn2T.js +0 -1
- package/dist/chunks/worktree-IxcFe7g-.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,n as t,o as n}from"./rolldown-runtime-DaDcL9Zw.js";import{c as r,i,l as a,o}from"./envUtils-DcaKZlRU.js";import{n as s,t as c}from"./defineProperty-C-QyHrDq.js";import{n as l,t as u}from"./figures-5ThXQEtq.js";import{t as d}from"./semver-DQo45qGo.js";import{n as f,t as p}from"./axios-DaWTGg7G.js";import{$S as m,$_ as h,$c as g,$d as _,$g as v,$h as y,$n as b,$s as x,$u as S,$v as C,$y as w,A as T,AC as E,Ad as D,Af as O,Ag as k,Ah as A,Ai as j,Al as M,An as N,Ao as ee,As as te,Ay as P,B as F,BC as I,Bb as L,Bc as ne,Bf as re,Bh as ie,Bm as ae,Bs as oe,Bt as se,Bv as ce,C as le,CC as R,Cb as z,Cg as ue,Cr as de,Cu as fe,Cv as B,Cw as pe,Cy as me,DC as he,Da as ge,Dh as _e,Di as ve,Dl as ye,Dm as be,Dp as xe,Ds as Se,Dv as Ce,Dw as we,Dy as Te,EC as Ee,Ea as De,Em as Oe,Ep as ke,Es as Ae,Ey as je,FT as Me,Fd as Ne,Ff as Pe,Fg as Fe,Fh as Ie,Fl as Le,Fm as Re,Fn as ze,Fo as Be,Fu as Ve,Fv as He,Fy as Ue,G_ as We,Ga as Ge,Gd as Ke,Gg as qe,Gh as Je,Gl as Ye,Gs as Xe,Gu as Ze,Gx as Qe,Hd as $e,Hh as et,Hi as tt,Hl as nt,Hm as rt,Hn as it,Hp as at,Hs as ot,Hu as st,Hv as ct,Id as lt,If as ut,Ig as dt,Ih as ft,Ii as pt,Il as mt,Im as ht,In as gt,Io as _t,Iu as vt,Iv as yt,Iy as bt,J as xt,JT as St,J_ as Ct,Jc as wt,Jd as Tt,Jf as Et,Jg as Dt,Jh as Ot,Ju as kt,Jv as At,Jw as jt,K as Mt,Ka as Nt,Kc as Pt,Kd as Ft,Kh as It,Kn as Lt,Ko as Rt,Kp as zt,Ku as Bt,Ky as Vt,LT as Ht,La as Ut,Lc as Wt,Ld as Gt,Lf as Kt,Lg as qt,Li as Jt,Ll as Yt,Lo as Xt,Lr as V,Ls as Zt,Lv as Qt,Ly as $t,MC as en,Md as tn,Mf as nn,Mh as rn,Mi as an,Mo as on,Mt as sn,My as cn,NC as ln,Nd as un,Nf as dn,Ng as fn,Nh as pn,Nn as mn,No as hn,Nu as gn,Nv as _n,Ny as vn,O as yn,Oa as bn,Og as xn,Oh as Sn,Ol as Cn,Om as wn,Op as Tn,Ou as En,Ov as Dn,Ow as On,Oy as kn,PC as An,Pa as jn,Pd as Mn,Pf as Nn,Pg as Pn,Ph as Fn,Pm as In,Po as Ln,Pu as Rn,QT as zn,Qa as Bn,Qc as Vn,Qd as Hn,Qh as Un,Qr as Wn,Qu as Gn,Qv as Kn,Qy as qn,RC as Jn,Ra as Yn,Rc as Xn,Rd as Zn,Rf as H,Rg as Qn,Rl as $n,Rm as er,Rn as tr,Rs as nr,Rv as rr,Ry as ir,SC as U,Sa as ar,Sc as or,Sd as sr,Sg as cr,Sp as lr,St as ur,Sw as dr,Sy as fr,Ta as pr,Tg as mr,Th as hr,Tl as gr,Tm as _r,To as vr,Tp as yr,Tr as br,Tv as xr,Ty as Sr,U as Cr,Uc as wr,Ud as Tr,Ug as Er,Uh as Dr,Ui as Or,Ul as kr,Um as Ar,Uo as jr,Up as Mr,Ur as Nr,Us as Pr,Uu as Fr,Uv as Ir,V as Lr,Vd as Rr,Vh as zr,Vi as Br,Vm as Vr,Vo as Hr,Vs as Ur,Vt as Wr,W as Gr,W_ as Kr,Wd as qr,Wg as Jr,Wh as Yr,Wl as Xr,Wm as Zr,Ws as Qr,Wu as $r,Wv as ei,Wx as ti,Wy as ni,X as ri,XT as ii,Xa as ai,Xc as oi,Xd as si,Xf as ci,Xg as li,Xh as W,Xm as ui,Xn as di,Xr as fi,Xt as pi,Xu as mi,Xv as hi,YT as gi,Y_ as _i,Yd as vi,Yf as yi,Yh as bi,Ym as xi,Yu as Si,Yv as Ci,Yw as wi,Z as Ti,ZT as Ei,Zc as Di,Zd as Oi,Zf as ki,Zg as Ai,Zh as G,Zm as ji,Zu as Mi,Zv as Ni,_C as Pi,_b as Fi,_d as Ii,_f as Li,_g as Ri,_m as zi,_p as Bi,_y as Vi,aC as Hi,aS as Ui,aa as Wi,ab as Gi,ad as Ki,af as qi,ag as Ji,ah as Yi,al as Xi,am as Zi,ap as Qi,at as $i,au as ea,ay as ta,b as na,bC as ra,ba as ia,bb as aa,bc as oa,bd as sa,bf as ca,bg as la,bl as ua,bm as da,br as fa,bs as pa,by as ma,cC as ha,cb as ga,cd as _a,cg as va,co as ya,cp as ba,cy as xa,d_ as Sa,dd as Ca,dh as wa,di as Ta,dy as Ea,eC as Da,eE as Oa,e_ as ka,ea as Aa,eb as ja,ec as Ma,ed as Na,el as Pa,ep as Fa,er as Ia,es as La,et as Ra,ew as za,ey as Ba,fa as Va,fb as Ha,fc as Ua,fd as Wa,fg as Ga,fh as Ka,fi as qa,fo as Ja,fr as Ya,fv as Xa,fy as Za,gC as Qa,gT as $a,gc as eo,gd as to,gg as no,gy as ro,hC as io,hT as ao,h_ as oo,ha as so,hc as co,hd as lo,hh as uo,hn as fo,ho as po,hr as mo,ia as ho,ib as go,id as _o,ig as vo,ih as yo,il as bo,im as xo,io as So,ip as Co,iw as wo,iy as To,jC as Eo,jd as Do,jh as Oo,ji as ko,jl as Ao,jo,jy as Mo,k as No,kC as Po,ka as Fo,kd as Io,kg as Lo,kh as Ro,kl as zo,km as Bo,ks as Vo,ku as Ho,kw as Uo,lT as Wo,lb as Go,ld as Ko,lg as qo,ly as Jo,mC as Yo,m_ as Xo,ma as Zo,mb as Qo,md as $o,mg as es,mh as ts,mo as ns,my as rs,nC as is,n_ as as,nb as os,nc as ss,nd as cs,ni as ls,nl as us,no as ds,nv as fs,ny as ps,oC as ms,oS as hs,oT as gs,oa as _s,og as vs,oh as ys,oi as bs,om as xs,op as Ss,ot as Cs,ou as ws,oy as Ts,pb as Es,pc as Ds,pd as Os,ph as ks,py as As,q as js,q_ as Ms,qc as Ns,qd as Ps,qf as Fs,qg as Is,qh as Ls,qo as Rs,qp as zs,qs as Bs,qt as Vs,qu as Hs,qv as Us,rT as Ws,r_ as Gs,rd as Ks,rf as qs,ri as Js,rl as Ys,rp as Xs,rr as Zs,rv as Qs,rw as $s,ry as ec,sa as tc,sg as nc,sh as rc,sm as ic,sn as ac,sp as oc,sy as sc,tC as cc,tE as lc,t_ as uc,tb as dc,ti as fc,tl as pc,tp as mc,ts as hc,tv as gc,uC as _c,u_ as vc,ub as yc,ud as bc,vC as xc,vb as Sc,vc as Cc,vf as wc,vg as Tc,vl as Ec,vm as Dc,vp as Oc,vy as kc,wC as Ac,wg as jc,wh as Mc,wi as Nc,wm as Pc,wp as Fc,ws as Ic,wu as Lc,wy as Rc,xC as zc,xb as Bc,xc as Vc,xd as Hc,xg as Uc,xm as Wc,xo as Gc,xr as Kc,xs as qc,xw as Jc,xy as Yc,yC as Xc,ya as Zc,yb as Qc,yd as $c,yf as el,yg as tl,yl as nl,ym as rl,ys as il,yt as al,yy as ol,zb as sl,zc as cl,zf as ll,zg as ul,zi as dl,zl as fl,zm as pl,zs as ml,zv as hl,zy as gl}from"./loadAgentsDir-PPiD2Mfq.js";import{C as _l,D as vl,Ft as yl,Gr as bl,Gt as xl,H as Sl,I as K,Kr as Cl,Kt as wl,Lt as Tl,P as q,Pn as El,Rn as Dl,T as Ol,Tt as kl,Vn as Al,Wt as jl,Xn as Ml,Xt as Nl,Y as Pl,Yt as Fl,Z as Il,Zn as Ll,_n as Rl,ai as zl,bn as Bl,ct as Vl,di as Hl,dr as Ul,et as Wl,fi as Gl,hn as Kl,ir as ql,j as Jl,lr as Yl,lt as Xl,ot as Zl,p as Ql,q as $l,qr as eu,t as J,tr as tu,vn as nu,x as ru,y as iu,yn as au,yt as ou}from"./src-DL3w8VPk2.js";import{t as su}from"./jsx-runtime-Bb4Xn-E0.js";import{A as cu,C as lu,S as uu,a as du,b as fu,l as pu,r as mu,w as hu}from"./external-CEp-aPkt.js";import{n as gu,r as _u,t as vu}from"./lazySchema-B4D4qJVE.js";import{At as yu,B as bu,D as xu,Dt as Su,Et as Cu,Ft as wu,Gt as Tu,Ln as Eu,Ot as Du,Rn as Ou,St as ku,V as Au,Vt as ju,W as Mu,Wt as Nu,Y as Pu,_n as Fu,ar as Iu,b as Lu,dt as Ru,en as zu,et as Bu,it as Vu,jn as Hu,jt as Uu,kt as Wu,lr as Gu,nn as Ku,or as qu,pt as Ju,rn as Yu,sr as Xu,tn as Zu,un as Qu,ur as $u,z as ed,zt as td}from"./state-BPFYBqm1.js";import{n as nd,t as rd}from"./cwd-Besi3Os3.js";import{B as id,C as ad,E as od,P as sd,R as cd,S as ld,U as ud,W as dd,Z as fd,c as Y,f as pd,g as md,i as hd,nt as gd,tt as _d,u as vd,x as yd}from"./debug-BQj6h99Q.js";import{H as bd,Ht as xd,Jn as Sd,Kt as Cd,Ln as wd,Lt as Td,Mt as Ed,Nt as Dd,Rn as Od,Rt as kd,Ut as Ad,Wt as jd,Yn as Md,Yt as Nd,c as Pd,cr as Fd,ct as Id,f as Ld,g as Rd,jt as zd,kn as Bd,ln as Vd,n as Hd,on as Ud,or as Wd,qn as Gd,qt as Kd,sr as qd,vt as Jd,wn as Yd,x as Xd,xn as Zd,z as Qd,zn as $d,zt as ef}from"./settings-CvhsRFaT.js";import{M as tf,c as nf,h as rf,n as af,y as of}from"./config-BSkuQZNf.js";import{O as sf,a as cf,i as lf,k as uf,l as df,m as ff}from"./git-DplvjXEY.js";import{r as pf,t as mf}from"./execFileNoThrow-DYm1GeGn.js";import{B as hf,H as gf,L as _f,N as vf,R as yf,k as bf,o as xf,q as Sf,s as Cf}from"./log-BlJ7CcKG.js";import{n as wf,t as Tf}from"./memoize-_2f7NWDv.js";import{n as Ef,t as Df}from"./which-BR8YVCCW.js";import{i as Of,o as kf}from"./platform-DVeTi9mp.js";import{s as Af,u as jf}from"./types-BomO8WUz.js";import{n as Mf,r as X}from"./analytics-DJobLaWP.js";import{n as Nf,o as Pf,s as Ff,t as If}from"./intl-D2kgJmX7.js";import{C as Lf,_ as Rf,d as zf,l as Bf,u as Vf,v as Hf}from"./startupProfiler-2sjXZkIP.js";import{n as Uf,t as Wf}from"./bundledMode--fG1S62b.js";import{a as Gf,d as Kf,l as qf,o as Jf,r as Yf,s as Xf}from"./stringUtils-BjnclTLB.js";import{$ as Zf,Bn as Qf,D as $f,Fn as ep,Fr as tp,It as np,J as rp,Lr as ip,Pn as ap,Pt as op,Q as sp,Qr as cp,T as lp,W as up,X as dp,Xn as fp,Y as pp,Yn as mp,Z as hp,Zr as gp,_ as _p,_t as vp,b as yp,bt as bp,ct as xp,dr as Sp,et as Cp,gt as wp,h as Tp,kt as Ep,m as Dp,nt as Op,qn as kp,tt as Ap,u as jp,ur as Mp,wt as Np,x as Pp,zt as Fp}from"./model-sviY1inu.js";import{Jt as Ip,Rt as Lp,St as Rp,_n as zp,an as Bp,dn as Vp,in as Hp,mn as Up,nn as Wp,pn as Gp,qt as Kp,tt as qp,un as Jp,xt as Yp,yn as Xp,zt as Zp}from"./prompt-CQmEvnKN.js";import{i as Qp,m as $p,n as em,p as tm}from"./terminalSetup-JJiXmszo.js";import{Q as nm,_t as rm,at as im,b as am,ct as om,dt as sm,ft as cm,ht as lm,it as um,lt as dm,mt as fm,n as pm,ot as mm,pt as hm,r as gm,st as _m,v as vm,vt as ym}from"./sessionState-BTFowSpR.js";import{a as bm,i as xm,r as Sm}from"./shellQuote-D3Ocv_U-.js";import{a as Cm}from"./ripgrep-DsLUmulz.js";import{c as wm}from"./switcher-BIP3rbQn.js";import{et as Tm,rt as Em}from"./esm-BI3tFLyy.js";import{i as Dm,n as Om,r as km}from"./parser-a2S_eFyE.js";import{T as Am,c as jm,r as Mm,w as Nm}from"./sessionTracing-CvY4udYI.js";import{n as Pm,t as Fm}from"./poorMode-wm2WkPF0.js";import{o as Im,u as Lm}from"./api-CazVavfB.js";import{f as Rm,m as zm,n as Bm}from"./firstPartyEventLogger-BMnXb9cv.js";import{n as Vm,t as Hm}from"./mappers-ZGgwqDOK.js";import{n as Um,r as Wm}from"./sessionTitle-SCqmSDYM.js";import{t as Gm}from"./bridgeMessaging-B_hnuUHb.js";import{E as Km,T as qm,g as Jm,m as Ym}from"./pidLock-DuMVSwnN.js";import{n as Xm,t as Zm}from"./nativeInstaller-N1xiUpCP.js";import{t as Qm}from"./useManagePlugins-Bt-DYAnX.js";import{n as $m,t as eh}from"./MCPConnectionManager-7H84oi5n.js";import{n as th,t as nh}from"./toolPool-C0d7Bznl.js";import{a as rh,i as ih,o as ah,r as oh,t as sh}from"./MessageSelector-B9j6zZ5w.js";import{n as ch,t as lh}from"./useExitOnCtrlCDWithKeybindings-C9orgrub.js";import{a as uh,i as dh,n as fh,t as ph}from"./bridgeStatusUtil-Dwz4YHNA.js";import{n as mh,t as hh}from"./sideQuestion-4TJYn-Az.js";import{a as gh,n as _h,o as vh,r as yh,s as bh,t as xh}from"./skillChangeDetector-BU9AFG0i.js";import{n as Sh,t as Ch}from"./reconciler-Css9bs07.js";import{n as wh,t as Th}from"./refresh-B87z39Zs.js";import{i as Eh,n as Dh,r as Oh,t as kh}from"./directoryCompletion-i2oWpaUe.js";import{r as Ah,t as jh}from"./PromptInputFooterSuggestions-CE_yVun1.js";import{n as Mh,t as Nh}from"./useMergedTools-CZeQBdky.js";import{a as Ph,i as Fh,n as Ih,o as Lh,r as Rh,t as zh}from"./promptEditor-Bf72KNF-.js";import{n as Bh,t as Vh}from"./useMainLoopModel-BigVcn2T.js";import{a as Hh,i as Uh,o as Wh,r as Gh,s as Kh,t as qh}from"./fileSuggestions-DK7W8kLF.js";import{i as Jh,n as Yh,r as Xh,t as Zh}from"./extraUsage-5Ueiyw6W.js";import{n as Qh,t as $h}from"./useSearchInput-DdKrVHJS.js";import{n as eg,t as tg}from"./staticRender-D9AbnQFr.js";import{n as ng,t as rg}from"./useSettingsErrors-BR9Wws7D.js";import{n as ig,t as ag}from"./shadowedRuleDetection-Co8m1q1D.js";import{n as og,t as sg}from"./ExitFlow-B1zHTqQt.js";import{a as cg,i as lg,r as ug,t as dg}from"./fast-ClOKONyD.js";import{i as fg,n as pg,r as mg,t as hg}from"./PermissionDialog-BPhvs5xH.js";import{a as gg,i as _g,n as vg,r as yg,t as bg}from"./PromptInputHelpMenu-TPWuGwAy.js";import{n as xg,r as Sg}from"./pluginAutoupdate-AMD-FvKB.js";import{n as Cg,t as wg}from"./generateSessionName-C8DnAVaa.js";import{a as Tg,c as Eg,i as Dg,l as Og,n as kg,o as Ag,r as jg,s as Mg,t as Ng}from"./Messages-yz1m39eI.js";import{t as Pg}from"./lib-BlVGipXx.js";import{a as Fg,i as Ig,n as Lg,o as Rg,r as zg,t as Bg}from"./BackgroundTasksDialog-Coc0ecUd.js";import{n as Vg}from"./fpsMetrics-Dk_pnSHJ.js";import{t as Hg}from"./earlyInput-IghoCjG5.js";import{a as Ug,i as Wg,o as Gg,r as Kg,s as qg,t as Jg}from"./RemoteSessionManager-BjVD918g.js";import{n as Yg,t as Xg}from"./backgroundHousekeeping-CPLlaWcV.js";import{homedir as Zg,tmpdir as Qg}from"os";import*as $g from"path";import{basename as e_,dirname as t_,extname as n_,join as r_,relative as i_,sep as a_}from"path";import{dirname as o_,join as s_}from"node:path";import{createHash as c_}from"node:crypto";import{randomUUID as l_}from"crypto";import{readFile as u_,readdir as d_,stat as f_,writeFile as p_}from"fs/promises";import{spawn as m_,spawnSync as h_}from"child_process";import{mkdir as g_,readFile as __,rename as v_,writeFile as y_}from"node:fs/promises";function b_(e){return Array.isArray?Array.isArray(e):A_(e)===`[object Array]`}function x_(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function S_(e){return e==null?``:x_(e)}function C_(e){return typeof e==`string`}function w_(e){return typeof e==`number`}function T_(e){return e===!0||e===!1||D_(e)&&A_(e)==`[object Boolean]`}function E_(e){return typeof e==`object`}function D_(e){return E_(e)&&e!==null}function O_(e){return e!=null}function k_(e){return!e.trim().length}function A_(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}function j_(e){let t=null,n=null,r=null,i=1,a=null;if(C_(e)||b_(e))r=e,t=M_(e),n=N_(e);else{if(!hv.call(e,`name`))throw Error(fv(`name`));let o=e.name;if(r=o,hv.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(pv(N_(o)));t=M_(o),n=N_(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function M_(e){return b_(e)?e:e.split(`.`)}function N_(e){return b_(e)?e.join(`.`):e}function P_(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(O_(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!O_(s))return;if(a===t.length-1&&(C_(s)||w_(s)||T_(s)||typeof s==`bigint`))n.push(o===void 0?S_(s):{v:S_(s),i:o});else if(b_(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,C_(t)?t.split(`.`):t,0),r?n:n[0]}function F_(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||(i++,a=!0):a=!1;if(n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}function I_(e,t,{getFn:n=Z.getFn,fieldNormWeight:r=Z.fieldNormWeight}={}){let i=new xv({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(j_)),i.setSources(t),i.create(),i}function L_(e,{getFn:t=Z.getFn,fieldNormWeight:n=Z.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new xv({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function R_(e=[],t=Z.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function z_(e,t,n,{location:r=Z.location,distance:i=Z.distance,threshold:a=Z.threshold,findAllMatches:o=Z.findAllMatches,minMatchCharLength:s=Z.minMatchCharLength,includeMatches:c=Z.includeMatches,ignoreLocation:l=Z.ignoreLocation}={}){if(t.length>32)throw Error(dv(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=R_(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function B_(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function V_(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}function H_(e){return e.startsWith(`inverse`)}function U_(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function W_(e,t){let n=e.match(t);return n?n[1]:null}function G_(e,t={}){return e.replace(/\\\|/g,kv).split(Av).map(e=>{let n=U_(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Ov;){let e=Dv[o],n=W_(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ov;){let e=Dv[o],n=W_(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}function K_(...e){Mv.push(...e)}function q_(e,t){for(let n=0,r=Mv.length;n<r;n+=1){let r=Mv[n];if(r.condition(e,t))return new r(e,t)}return new Tv(e,t)}function J_(e,t,{auto:n=!0}={}){let r=e=>{if(C_(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=q_(e,t)),r}let i=Object.keys(e),a=Iv(e);if(!a&&i.length>1&&!Fv(e))return r(Rv(e));if(Lv(e)){let r=a?e[Pv.PATH]:i[0],o=a?e[Pv.PATTERN]:e[r];if(!C_(o))throw Error(uv(r));let s={keyId:N_(r),pattern:o};return n&&(s.searcher=q_(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];b_(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Fv(e)||(e=Rv(e)),r(e)}function Y_(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function X_(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){e.forEach(e=>{e.score=Y_(e.matches,{ignoreFieldNorm:t})})}function Z_(e){let t=[];return e.matches.forEach(e=>{if(!O_(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Q_(e,t,{includeMatches:n=Z.includeMatches,includeScore:r=Z.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Z_(e)),r&&(a.score=e.score),a})}function $_(e){Vv.has(e)||(Vv.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function ev(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||$_(e),t=>t.match(e)||[]):e=>e.match(Bv)||[]}function tv({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=ev(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=wv(n)),r(n)}}}function nv(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function rv(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){nv(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)nv(e,t.v,i,r);else nv(e,n.v,i,r)}}function iv(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)rv(r,i,t,n);return r}function av(e,t,n,r){rv(e,t,n,r)}function ov(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function sv(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)ov(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var cv,lv,uv,dv,fv,pv,mv,hv,gv,_v,vv,yv,bv,Z,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv=t((()=>{cv=`Incorrect 'index' type`,lv=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,uv=e=>`Invalid value for key ${e}`,dv=e=>`Pattern length exceeds max of ${e}.`,fv=e=>`Missing ${e} property in key`,pv=e=>`Property 'weight' in key '${e}' must be a positive integer`,mv=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,hv=Object.prototype.hasOwnProperty,gv=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=j_(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}},_v={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},vv={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},yv={location:0,threshold:.6,distance:100},bv={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:P_,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Z=Object.freeze({...vv,..._v,...yv,...bv}),xv=class{constructor({getFn:e=Z.getFn,fieldNormWeight:t=Z.fieldNormWeight}={}){this.norm=F_(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(C_(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(lv);if(C_(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(lv);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!O_(e)||k_(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(O_(i)){if(b_(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(O_(n)){if(C_(n)){if(!k_(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(O_(n.v)){let t=C_(n.v)?n.v:S_(n.v);if(!k_(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(C_(i)&&!k_(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}},Sv={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Cv=RegExp(`[`+Object.keys(Sv).join(``)+`]`,`g`),wv=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Cv,e=>Sv[e]):e=>e,Tv=class{constructor(e,{location:t=Z.location,threshold:n=Z.threshold,distance:r=Z.distance,includeMatches:i=Z.includeMatches,findAllMatches:a=Z.findAllMatches,minMatchCharLength:o=Z.minMatchCharLength,isCaseSensitive:s=Z.isCaseSensitive,ignoreDiacritics:c=Z.ignoreDiacritics,ignoreLocation:l=Z.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?wv(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:B_(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?wv(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=z_(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=V_(u)),p}},Ev=new Set([`fuzzy`,`include`]),Dv=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new Tv(e,{location:t.location??Z.location,threshold:t.threshold??Z.threshold,distance:t.distance??Z.distance,includeMatches:t.includeMatches??Z.includeMatches,findAllMatches:t.findAllMatches??Z.findAllMatches,minMatchCharLength:t.minMatchCharLength??Z.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Z.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Z.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Z.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Ov=Dv.length,kv=`\0`,Av=`|`,jv=class{constructor(e,{isCaseSensitive:t=Z.isCaseSensitive,ignoreDiacritics:n=Z.ignoreDiacritics,includeMatches:r=Z.includeMatches,minMatchCharLength:i=Z.minMatchCharLength,ignoreLocation:a=Z.ignoreLocation,findAllMatches:o=Z.findAllMatches,location:s=Z.location,threshold:c=Z.threshold,distance:l=Z.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?wv(e):e,this.pattern=e,this.query=G_(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?wv(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,H_(r.type)&&(c=!0),n&&(Ev.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=V_(o)),e}}return{isMatch:!1,score:1}}},Mv=[],Nv={AND:`$and`,OR:`$or`},Pv={PATH:`$path`,PATTERN:`$val`},Fv=e=>!!(e[Nv.AND]||e[Nv.OR]),Iv=e=>!!e[Pv.PATH],Lv=e=>!b_(e)&&E_(e)&&!Fv(e),Rv=e=>({[Nv.AND]:Object.keys(e).map(t=>({[t]:e[t]}))}),zv=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}},Bv=/[\p{L}\p{M}\p{N}_]+/gu,Vv=new WeakSet,Hv=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=tv({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new Tv(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=V_(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}},Uv=class{constructor(e,t,n){this.options={...Z,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new gv(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=q_(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof xv))throw Error(cv);if(this._myIndex=t||I_(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=tv({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iv(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!O_(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=tv({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});av(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&sv(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(lv);this._invertedIndex&&sv(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(C_(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return w_(n)&&n>-1&&(e=e.slice(0,n)),e}let c=w_(n)&&n>0&&C_(e),l;if(c){let t=new zv(n);C_(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=C_(e)?C_(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),X_(l,{ignoreFieldNorm:s}),a&&l.sort(o),w_(n)&&n>-1&&(l=l.slice(0,n));return Q_(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!O_(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=Y_(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=J_(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Nv.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(O_(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{keys:a,records:o}=this._myIndex,s=t?null:[];return o.forEach(({$:e,i:o})=>{if(!O_(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=Y_(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!O_(t))return[];let r=[];if(b_(t))t.forEach(({v:t,i,n:a})=>{if(!O_(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}},Uv.version=`7.4.2`,Uv.createIndex=I_,Uv.parseIndex=L_,Uv.config=Z,Uv.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(mv);return q_(e,{...Z,...n}).searchIn(t)},Uv.parseQuery=J_,K_(jv),K_(Hv),Uv.use=function(...e){e.forEach(e=>K_(e))},Wv=Uv}));s();var Kv=d();nu(),l(),J(),$u(),Nu(),Od(),Pf(),zc(),$c(),Vc(),$h();var Q=n(zl(),1);Cl(),kg(),xc(),Me(),W(),tg();var $=su();function qv({children:e}){let{bindings:t}=Ht(),n=(0,Q.useRef)(null),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(new Set).current;return(0,$.jsx)(wl,{bindings:t,pendingChordRef:n,pendingChord:null,setPendingChord:()=>{},activeContexts:i,registerActiveContext:()=>{},unregisterActiveContext:()=>{},handlerRegistryRef:r,children:e})}function Jv(e){if(!(`message`in e))return 1;let t=e.message.content;return Array.isArray(t)?t.length:1}async function Yv(e,t,n,{columns:r,verbose:i=!1,chunkSize:a=40,onProgress:o}={}){let s=n=>eg((0,$.jsx)(bi,{children:(0,$.jsx)(qv,{children:(0,$.jsx)(Ng,{messages:e,tools:t,commands:[],verbose:i,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:`export`,screen:`prompt`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1,renderRange:n})})}),r),c=a;for(let t of e)c+=Jv(t);for(let e=0;e<c;e+=a){let t=await s([e,e+a]);if(eu(t).trim()===``)break;await n(t),o?.(e+a)}}async function Xv(e,t=[],n){let r=[];return await Yv(e,t,e=>void r.push(eu(e)),{columns:n}),r.join(``)}o(),Gl(),_u(),nd(),_d(),dd(),cd(),yd(),pd(),hd(),sf(),Sf(),xf(),pf(),Tf(),Df(),ff(),kf(),Fd(),Sd(),Mf(),Yd(),Af(),Hf(),Vd(),vu(),Wf(),Nd(),jd(),Ed(),Jd(),Qd(),Jf(),Rd(),tf(),gp(),Xp(),rf(),Up(),ip(),Sp(),fp(),Qf(),op(),rp(),_p(),Bp(),Wp(),Ip(),Oa(),ym(),im(),ao(),Cm(),gs(),Tm(),Uo(),dr(),$s(),za(),Jn(),Sm(),An(),Eo(),he(),R(),U(),Qa(),io(),_c(),Da(),Zp(),Qe(),L(),Bc(),Go(),w(),Vt(),gl(),bt(),vn(),kn(),Rc(),ma(),Rp(),qp(),kc(),Za(),ec(),am(),ei(),Qt(),_n(),Ce(),Xa(),Qs(),h(),_i(),Xo(),vc(),km(),as(),li(),qe(),ul(),qt(),fn(),k(),ue(),la(),nc(),vo(),Ls(),Dr(),et(),uo(),Ka(),rc(),Yi(),ui(),Zr(),rt(),er(),Nm(),In(),wn(),Oe(),Pc(),da(),ke(),Fc(),oc(),ci(),Et(),ca(),wc(),Rm(),Bm(),_(),Ye(),kr(),$n(),mt(),Xi(),Ns(),jm(),Wt(),co(),Ua(),Ma(),Bs(),Pr(),Zt(),Vo(),Se(),La(),Rs(),_t(),Gc(),ns(),ya(),ds(),Ut(),Or(),Jt(),fa(),mn(),fo(),ri(),js(),Cr(),Lr(),na(),Ph(),Mi();function Zv({onDone:e}){return(0,$.jsxs)(iu,{title:`You've spent $5 on the API this session.`,onCancel:e,children:[(0,$.jsxs)(K,{flexDirection:`column`,children:[(0,$.jsx)(q,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(Tl,{url:`https://code.workmate.com/docs/en/costs`})]}),(0,$.jsx)(Gn,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}S(),J(),Mi();function Qv({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(iu,{title:`You've been away ${$v(e)} and this conversation is ${Rf(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(K,{flexDirection:`column`,children:(0,$.jsx)(q,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(Gn,{options:[{value:`continue`,label:`Continue this conversation`},{value:`clear`,label:`Send message as a new conversation`},{value:`never`,label:`Don't ask me again`}],onChange:e=>n(e)})]})}function $v(e){if(e<1)return`< 1m`;if(e<60)return`${Math.floor(e)}m`;let t=Math.floor(e/60),n=Math.floor(e%60);return n===0?`${t}h`:`${t}h ${n}m`}vi();async function ey(e,t){let n=nf().preferredNotifChannel;await se(e),X(`tengu_notification_method_used`,{configured_channel:n,method_used:await ny(n,e,t),term:Cd.terminal})}var ty=`Work Mate`;async function ny(e,t,n){let r=t.title||ty;try{switch(e){case`auto`:return ry(t,n);case`iterm2`:return n.notifyITerm2(t),`iterm2`;case`iterm2_with_bell`:return n.notifyITerm2(t),n.notifyBell(),`iterm2_with_bell`;case`kitty`:return n.notifyKitty({...t,title:r,id:iy()}),`kitty`;case`ghostty`:return n.notifyGhostty({...t,title:r}),`ghostty`;case`terminal_bell`:return n.notifyBell(),`terminal_bell`;case`notifications_disabled`:return`disabled`;default:return`none`}}catch{return`error`}}async function ry(e,t){let n=e.title||ty;switch(Cd.terminal){case`Apple_Terminal`:return await ay()?(t.notifyBell(),`terminal_bell`):`no_method_available`;case`iTerm.app`:return t.notifyITerm2(e),`iterm2`;case`kitty`:return t.notifyKitty({...e,title:n,id:iy()}),`kitty`;case`ghostty`:return t.notifyGhostty({...e,title:n}),`ghostty`;default:return`no_method_available`}}function iy(){return Math.floor(Math.random()*1e4)}async function ay(){try{if(Cd.terminal!==`Apple_Terminal`)return!1;let e=(await mf(`osascript`,[`-e`,`tell application "Terminal" to name of current settings of front window`])).stdout.trim();if(!e)return!1;let t=await mf(`defaults`,[`export`,`com.apple.Terminal`,`-`]);if(t.code!==0)return!1;let r=(await import(`./plist-Bzo2VMe9.js`).then(e=>n(e.default,1))).parse(t.stdout)?.[`Window Settings`]?.[e];return r?r.Bell===!1:!1}catch(e){return Cf(e),!1}}var oy=300,sy=240*1e3,cy=null,ly=null,uy=0,dy=!1;function fy(){uy++,uy===1&&(_y(),hy())}function py(){uy>0&&uy--,uy===0&&(gy(),vy())}function my(){uy=0,gy(),vy()}function hy(){process.platform===`darwin`&&ly===null&&(ly=setInterval(()=>{uy>0&&(Y(`Restarting caffeinate to maintain sleep prevention`),vy(),_y())},sy),ly.unref())}function gy(){ly!==null&&(clearInterval(ly),ly=null)}function _y(){if(process.platform===`darwin`&&cy===null){dy||(dy=!0,gd(async()=>{my()}));try{cy=m_(`caffeinate`,[`-i`,`-t`,String(oy)],{stdio:`ignore`}),cy.unref();let e=cy;cy.on(`error`,t=>{Y(`caffeinate spawn error: ${t.message}`),cy===e&&(cy=null)}),cy.on(`exit`,()=>{cy===e&&(cy=null)}),Y(`Started caffeinate to prevent sleep`)}catch{cy=null}}}function vy(){if(cy!==null){let e=cy;cy=null;try{e.kill(`SIGKILL`),Y(`Stopped caffeinate, allowing sleep`)}catch{}}}var yy=class{constructor(){c(this,`_status`,`idle`),c(this,`_generation`,0),c(this,`_changed`,Gu()),c(this,`subscribe`,this._changed.subscribe),c(this,`getSnapshot`,()=>this._status!==`idle`)}reserve(){return this._status===`idle`?(this._status=`dispatching`,this._notify(),!0):!1}cancelReservation(){this._status===`dispatching`&&(this._status=`idle`,this._notify())}tryStart(){return this._status===`running`?null:(this._status=`running`,++this._generation,this._notify(),this._generation)}end(e){return this._generation!==e||this._status!==`running`?!1:(this._status=`idle`,this._notify(),!0)}forceEnd(){this._status!==`idle`&&(this._status=`idle`,++this._generation,this._notify())}get isActive(){return this._status!==`idle`}get generation(){return this._generation}_notify(){this._changed.emit()}};function by(e,t=!1){let n=(0,Q.useRef)(0),r=(0,Q.useRef)(void 0),i=(0,Q.useRef)(void 0),a=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{if(t)return;let o=e[0]?.uuid,s=n.current,c=i.current===void 0,l=o!==void 0&&!c&&o===i.current&&s<=e.length,u=o!==void 0&&!c&&o===i.current&&s>e.length,d=l?s:0;if(d===e.length)return;let f=d===0?e:e.slice(d),p=l?r.current:void 0,m=++a.current;if(fi(f,{},p,e).then(e=>{m===a.current&&e&&!l&&(r.current=e)}),l||c||u){let t=it(f,e).findLast(Kc);t&&(r.current=t.uuid)}n.current=e.length,i.current=o},[e,t])}function xy(e,t,n,r,i){return{sendBridgeResult:(0,Q.useCallback)(()=>{},[])}}mi(),kt(),$r(),Rn(),lh(),oh(),Mf();var Sy=gu(()=>hu({method:fu(`log_event`),params:hu({eventName:cu(),eventData:hu({}).passthrough()})}));function Cy(e){(0,Q.useEffect)(()=>{if(!e.length)return;let t=go(e);t&&t.client.setNotificationHandler(Sy(),e=>{let{eventName:t,eventData:n}=e.params;X(`tengu_ide_${t}`,n)})},[e])}J();var wy=6e3;function Ty(){return Date.now()-Mu()}function Ey(e){return Ty()<e}function Dy(e){return!Ey(e)}function Oy(e,t){let n=El();(0,Q.useEffect)(()=>{Xu(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{Dy(6e3)&&!r&&(r=!0,clearInterval(i),ey({message:e,notificationType:t},n))},wy);return()=>clearInterval(i)},[e,t,n])}tm(),ra(),is(),Fa(),Tt(),Ke(),Tr(),Qp(),Ne(),to(),$o(),Ca(),Ko(),us(),g(),oi(),Rh(),fg(),J(),Hi();var ky={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function Ay(e){return Ot().syntaxHighlightingDisabled?(0,$.jsx)(My,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(My,{...e,highlight:null}),children:(0,$.jsx)(jy,{...e})})}function jy(e){let t=(0,Q.use)(ie());return(0,$.jsx)(My,{...e,highlight:t})}function My({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=Zl(),[s]=Sl(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>yr(e,s,a),[e,s,a]).split(`
|
|
1
|
+
import{a as e,n as t,o as n}from"./rolldown-runtime-DaDcL9Zw.js";import{c as r,i,l as a,o}from"./envUtils-DcaKZlRU.js";import{n as s,t as c}from"./defineProperty-C-QyHrDq.js";import{n as l,t as u}from"./figures-5ThXQEtq.js";import{t as d}from"./semver-DQo45qGo.js";import{n as f,t as p}from"./axios-DaWTGg7G.js";import{$S as m,$_ as h,$c as g,$d as _,$g as v,$h as y,$n as b,$s as x,$u as S,$v as C,$y as w,A as T,AC as E,Ad as D,Af as O,Ag as k,Ah as A,Ai as j,Al as M,An as N,Ao as ee,As as te,Ay as P,B as F,BC as I,Bb as L,Bc as ne,Bf as re,Bh as ie,Bm as ae,Bs as oe,Bt as se,Bv as ce,C as le,CC as R,Cb as z,Cg as ue,Cr as de,Cu as fe,Cv as B,Cw as pe,Cy as me,DC as he,Da as ge,Dh as _e,Di as ve,Dl as ye,Dm as be,Dp as xe,Ds as Se,Dv as Ce,Dw as we,Dy as Te,EC as Ee,Ea as De,Em as Oe,Ep as ke,Es as Ae,Ey as je,FT as Me,Fd as Ne,Ff as Pe,Fg as Fe,Fh as Ie,Fl as Le,Fm as Re,Fn as ze,Fo as Be,Fu as Ve,Fv as He,Fy as Ue,G_ as We,Ga as Ge,Gd as Ke,Gg as qe,Gh as Je,Gl as Ye,Gs as Xe,Gu as Ze,Gx as Qe,Hd as $e,Hh as et,Hi as tt,Hl as nt,Hm as rt,Hn as it,Hp as at,Hs as ot,Hu as st,Hv as ct,Id as lt,If as ut,Ig as dt,Ih as ft,Ii as pt,Il as mt,Im as ht,In as gt,Io as _t,Iu as vt,Iv as yt,Iy as bt,J as xt,JT as St,J_ as Ct,Jc as wt,Jd as Tt,Jf as Et,Jg as Dt,Jh as Ot,Ju as kt,Jv as At,Jw as jt,K as Mt,Ka as Nt,Kc as Pt,Kd as Ft,Kh as It,Kn as Lt,Ko as Rt,Kp as zt,Ku as Bt,Ky as Vt,LT as Ht,La as Ut,Lc as Wt,Ld as Gt,Lf as Kt,Lg as qt,Li as Jt,Ll as Yt,Lo as Xt,Lr as V,Ls as Zt,Lv as Qt,Ly as $t,MC as en,Md as tn,Mf as nn,Mh as rn,Mi as an,Mo as on,Mt as sn,My as cn,NC as ln,Nd as un,Nf as dn,Ng as fn,Nh as pn,Nn as mn,No as hn,Nu as gn,Nv as _n,Ny as vn,O as yn,Oa as bn,Og as xn,Oh as Sn,Ol as Cn,Om as wn,Op as Tn,Ou as En,Ov as Dn,Ow as On,Oy as kn,PC as An,Pa as jn,Pd as Mn,Pf as Nn,Pg as Pn,Ph as Fn,Pm as In,Po as Ln,Pu as Rn,QT as zn,Qa as Bn,Qc as Vn,Qd as Hn,Qh as Un,Qr as Wn,Qu as Gn,Qv as Kn,Qy as qn,RC as Jn,Ra as Yn,Rc as Xn,Rd as Zn,Rf as H,Rg as Qn,Rl as $n,Rm as er,Rn as tr,Rs as nr,Rv as rr,Ry as ir,SC as U,Sa as ar,Sc as or,Sd as sr,Sg as cr,Sp as lr,St as ur,Sw as dr,Sy as fr,Ta as pr,Tg as mr,Th as hr,Tl as gr,Tm as _r,To as vr,Tp as yr,Tr as br,Tv as xr,Ty as Sr,U as Cr,Uc as wr,Ud as Tr,Ug as Er,Uh as Dr,Ui as Or,Ul as kr,Um as Ar,Uo as jr,Up as Mr,Ur as Nr,Us as Pr,Uu as Fr,Uv as Ir,V as Lr,Vd as Rr,Vh as zr,Vi as Br,Vm as Vr,Vo as Hr,Vs as Ur,Vt as Wr,W as Gr,W_ as Kr,Wd as qr,Wg as Jr,Wh as Yr,Wl as Xr,Wm as Zr,Ws as Qr,Wu as $r,Wv as ei,Wx as ti,Wy as ni,X as ri,XT as ii,Xa as ai,Xc as oi,Xd as si,Xf as ci,Xg as li,Xh as W,Xm as ui,Xn as di,Xr as fi,Xt as pi,Xu as mi,Xv as hi,YT as gi,Y_ as _i,Yd as vi,Yf as yi,Yh as bi,Ym as xi,Yu as Si,Yv as Ci,Yw as wi,Z as Ti,ZT as Ei,Zc as Di,Zd as Oi,Zf as ki,Zg as Ai,Zh as G,Zm as ji,Zu as Mi,Zv as Ni,_C as Pi,_b as Fi,_d as Ii,_f as Li,_g as Ri,_m as zi,_p as Bi,_y as Vi,aC as Hi,aS as Ui,aa as Wi,ab as Gi,ad as Ki,af as qi,ag as Ji,ah as Yi,al as Xi,am as Zi,ap as Qi,at as $i,au as ea,ay as ta,b as na,bC as ra,ba as ia,bb as aa,bc as oa,bd as sa,bf as ca,bg as la,bl as ua,bm as da,br as fa,bs as pa,by as ma,cC as ha,cb as ga,cd as _a,cg as va,co as ya,cp as ba,cy as xa,d_ as Sa,dd as Ca,dh as wa,di as Ta,dy as Ea,eC as Da,eE as Oa,e_ as ka,ea as Aa,eb as ja,ec as Ma,ed as Na,el as Pa,ep as Fa,er as Ia,es as La,et as Ra,ew as za,ey as Ba,fa as Va,fb as Ha,fc as Ua,fd as Wa,fg as Ga,fh as Ka,fi as qa,fo as Ja,fr as Ya,fv as Xa,fy as Za,gC as Qa,gT as $a,gc as eo,gd as to,gg as no,gy as ro,hC as io,hT as ao,h_ as oo,ha as so,hc as co,hd as lo,hh as uo,hn as fo,ho as po,hr as mo,ia as ho,ib as go,id as _o,ig as vo,ih as yo,il as bo,im as xo,io as So,ip as Co,iw as wo,iy as To,jC as Eo,jd as Do,jh as Oo,ji as ko,jl as Ao,jo,jy as Mo,k as No,kC as Po,ka as Fo,kd as Io,kg as Lo,kh as Ro,kl as zo,km as Bo,ks as Vo,ku as Ho,kw as Uo,lT as Wo,lb as Go,ld as Ko,lg as qo,ly as Jo,mC as Yo,m_ as Xo,ma as Zo,mb as Qo,md as $o,mg as es,mh as ts,mo as ns,my as rs,nC as is,n_ as as,nb as os,nc as ss,nd as cs,ni as ls,nl as us,no as ds,nv as fs,ny as ps,oC as ms,oS as hs,oT as gs,oa as _s,og as vs,oh as ys,oi as bs,om as xs,op as Ss,ot as Cs,ou as ws,oy as Ts,pb as Es,pc as Ds,pd as Os,ph as ks,py as As,q as js,q_ as Ms,qc as Ns,qd as Ps,qf as Fs,qg as Is,qh as Ls,qo as Rs,qp as zs,qs as Bs,qt as Vs,qu as Hs,qv as Us,rT as Ws,r_ as Gs,rd as Ks,rf as qs,ri as Js,rl as Ys,rp as Xs,rr as Zs,rv as Qs,rw as $s,ry as ec,sa as tc,sg as nc,sh as rc,sm as ic,sn as ac,sp as oc,sy as sc,tC as cc,tE as lc,t_ as uc,tb as dc,ti as fc,tl as pc,tp as mc,ts as hc,tv as gc,uC as _c,u_ as vc,ub as yc,ud as bc,vC as xc,vb as Sc,vc as Cc,vf as wc,vg as Tc,vl as Ec,vm as Dc,vp as Oc,vy as kc,wC as Ac,wg as jc,wh as Mc,wi as Nc,wm as Pc,wp as Fc,ws as Ic,wu as Lc,wy as Rc,xC as zc,xb as Bc,xc as Vc,xd as Hc,xg as Uc,xm as Wc,xo as Gc,xr as Kc,xs as qc,xw as Jc,xy as Yc,yC as Xc,ya as Zc,yb as Qc,yd as $c,yf as el,yg as tl,yl as nl,ym as rl,ys as il,yt as al,yy as ol,zb as sl,zc as cl,zf as ll,zg as ul,zi as dl,zl as fl,zm as pl,zs as ml,zv as hl,zy as gl}from"./loadAgentsDir-CbtNPJV3.js";import{C as _l,D as vl,Ft as yl,Gr as bl,Gt as xl,H as Sl,I as K,Kr as Cl,Kt as wl,Lt as Tl,P as q,Pn as El,Rn as Dl,T as Ol,Tt as kl,Vn as Al,Wt as jl,Xn as Ml,Xt as Nl,Y as Pl,Yt as Fl,Z as Il,Zn as Ll,_n as Rl,ai as zl,bn as Bl,ct as Vl,di as Hl,dr as Ul,et as Wl,fi as Gl,hn as Kl,ir as ql,j as Jl,lr as Yl,lt as Xl,ot as Zl,p as Ql,q as $l,qr as eu,t as J,tr as tu,vn as nu,x as ru,y as iu,yn as au,yt as ou}from"./src-DL3w8VPk2.js";import{t as su}from"./jsx-runtime-Bb4Xn-E0.js";import{A as cu,C as lu,S as uu,a as du,b as fu,l as pu,r as mu,w as hu}from"./external-CEp-aPkt.js";import{n as gu,r as _u,t as vu}from"./lazySchema-B4D4qJVE.js";import{At as yu,B as bu,D as xu,Dt as Su,Et as Cu,Ft as wu,Gt as Tu,Ln as Eu,Ot as Du,Rn as Ou,St as ku,V as Au,Vt as ju,W as Mu,Wt as Nu,Y as Pu,_n as Fu,ar as Iu,b as Lu,dt as Ru,en as zu,et as Bu,it as Vu,jn as Hu,jt as Uu,kt as Wu,lr as Gu,nn as Ku,or as qu,pt as Ju,rn as Yu,sr as Xu,tn as Zu,un as Qu,ur as $u,z as ed,zt as td}from"./state-BPFYBqm1.js";import{n as nd,t as rd}from"./cwd-Besi3Os3.js";import{B as id,C as ad,E as od,P as sd,R as cd,S as ld,U as ud,W as dd,Z as fd,c as Y,f as pd,g as md,i as hd,nt as gd,tt as _d,u as vd,x as yd}from"./debug-BQj6h99Q.js";import{H as bd,Ht as xd,Jn as Sd,Kt as Cd,Ln as wd,Lt as Td,Mt as Ed,Nt as Dd,Rn as Od,Rt as kd,Ut as Ad,Wt as jd,Yn as Md,Yt as Nd,c as Pd,cr as Fd,ct as Id,f as Ld,g as Rd,jt as zd,kn as Bd,ln as Vd,n as Hd,on as Ud,or as Wd,qn as Gd,qt as Kd,sr as qd,vt as Jd,wn as Yd,x as Xd,xn as Zd,z as Qd,zn as $d,zt as ef}from"./settings-CvhsRFaT.js";import{M as tf,c as nf,h as rf,n as af,y as of}from"./config-BSkuQZNf.js";import{O as sf,a as cf,i as lf,k as uf,l as df,m as ff}from"./git-DplvjXEY.js";import{r as pf,t as mf}from"./execFileNoThrow-DYm1GeGn.js";import{B as hf,H as gf,L as _f,N as vf,R as yf,k as bf,o as xf,q as Sf,s as Cf}from"./log-BlJ7CcKG.js";import{n as wf,t as Tf}from"./memoize-_2f7NWDv.js";import{n as Ef,t as Df}from"./which-BR8YVCCW.js";import{i as Of,o as kf}from"./platform-DVeTi9mp.js";import{s as Af,u as jf}from"./types-BomO8WUz.js";import{n as Mf,r as X}from"./analytics-DJobLaWP.js";import{n as Nf,o as Pf,s as Ff,t as If}from"./intl-D2kgJmX7.js";import{C as Lf,_ as Rf,d as zf,l as Bf,u as Vf,v as Hf}from"./startupProfiler-2sjXZkIP.js";import{n as Uf,t as Wf}from"./bundledMode--fG1S62b.js";import{a as Gf,d as Kf,l as qf,o as Jf,r as Yf,s as Xf}from"./stringUtils-BjnclTLB.js";import{$ as Zf,Bn as Qf,D as $f,Fn as ep,Fr as tp,It as np,J as rp,Lr as ip,Pn as ap,Pt as op,Q as sp,Qr as cp,T as lp,W as up,X as dp,Xn as fp,Y as pp,Yn as mp,Z as hp,Zr as gp,_ as _p,_t as vp,b as yp,bt as bp,ct as xp,dr as Sp,et as Cp,gt as wp,h as Tp,kt as Ep,m as Dp,nt as Op,qn as kp,tt as Ap,u as jp,ur as Mp,wt as Np,x as Pp,zt as Fp}from"./model-DlLO7TSx.js";import{Jt as Ip,Rt as Lp,St as Rp,_n as zp,an as Bp,dn as Vp,in as Hp,mn as Up,nn as Wp,pn as Gp,qt as Kp,tt as qp,un as Jp,xt as Yp,yn as Xp,zt as Zp}from"./prompt-BRGC5U9Y.js";import{i as Qp,m as $p,n as em,p as tm}from"./terminalSetup-JJiXmszo.js";import{Q as nm,_t as rm,at as im,b as am,ct as om,dt as sm,ft as cm,ht as lm,it as um,lt as dm,mt as fm,n as pm,ot as mm,pt as hm,r as gm,st as _m,v as vm,vt as ym}from"./sessionState-BlbRQ3Y6.js";import{a as bm,i as xm,r as Sm}from"./shellQuote-D3Ocv_U-.js";import{a as Cm}from"./ripgrep-DsLUmulz.js";import{c as wm}from"./switcher-CnBKuiNp.js";import{et as Tm,rt as Em}from"./esm-BZciQG9N.js";import{i as Dm,n as Om,r as km}from"./parser-a2S_eFyE.js";import{T as Am,c as jm,r as Mm,w as Nm}from"./sessionTracing-DqVx8aFD.js";import{n as Pm,t as Fm}from"./poorMode-wm2WkPF0.js";import{o as Im,u as Lm}from"./api-B3Wnozaf.js";import{f as Rm,m as zm,n as Bm}from"./firstPartyEventLogger-Q3fMF0BR.js";import{n as Vm,t as Hm}from"./mappers-Del1KoA7.js";import{n as Um,r as Wm}from"./sessionTitle-k4wpUS5l.js";import{t as Gm}from"./bridgeMessaging-wZ5EKxW_.js";import{E as Km,T as qm,g as Jm,m as Ym}from"./pidLock-Br3_YNi_.js";import{n as Xm,t as Zm}from"./nativeInstaller-DTJ4clp-.js";import{t as Qm}from"./useManagePlugins-DfuI4Nhd.js";import{n as $m,t as eh}from"./MCPConnectionManager-BnUw0nYN.js";import{n as th,t as nh}from"./toolPool-Dzp1ob3I.js";import{a as rh,i as ih,o as ah,r as oh,t as sh}from"./MessageSelector-Dtt2Sf65.js";import{n as ch,t as lh}from"./useExitOnCtrlCDWithKeybindings-YSWYVWk6.js";import{a as uh,i as dh,n as fh,t as ph}from"./bridgeStatusUtil-mvVQSVN-.js";import{n as mh,t as hh}from"./sideQuestion-RndkXExy.js";import{a as gh,n as _h,o as vh,r as yh,s as bh,t as xh}from"./skillChangeDetector-BQx4xe_b.js";import{n as Sh,t as Ch}from"./reconciler-DiU1RvGD.js";import{n as wh,t as Th}from"./refresh-DEXe3Lmx.js";import{i as Eh,n as Dh,r as Oh,t as kh}from"./directoryCompletion-i2oWpaUe.js";import{r as Ah,t as jh}from"./PromptInputFooterSuggestions-Cm4WN3qd.js";import{n as Mh,t as Nh}from"./useMergedTools-B4qRVJ8b.js";import{a as Ph,i as Fh,n as Ih,o as Lh,r as Rh,t as zh}from"./promptEditor-CRIw6vJS.js";import{n as Bh,t as Vh}from"./useMainLoopModel-C1JRp4zE.js";import{a as Hh,i as Uh,o as Wh,r as Gh,s as Kh,t as qh}from"./fileSuggestions-BfG3sbET.js";import{i as Jh,n as Yh,r as Xh,t as Zh}from"./extraUsage-BT3in1Aj.js";import{n as Qh,t as $h}from"./useSearchInput-DfUNYhqC.js";import{n as eg,t as tg}from"./staticRender-D9AbnQFr.js";import{n as ng,t as rg}from"./useSettingsErrors-Bls74ocI.js";import{n as ig,t as ag}from"./shadowedRuleDetection-Gerk3t93.js";import{n as og,t as sg}from"./ExitFlow-CShdrKmr.js";import{a as cg,i as lg,r as ug,t as dg}from"./fast-CKhtBOx7.js";import{i as fg,n as pg,r as mg,t as hg}from"./PermissionDialog-BPhvs5xH.js";import{a as gg,i as _g,n as vg,r as yg,t as bg}from"./PromptInputHelpMenu-ESj8sOpK.js";import{n as xg,r as Sg}from"./pluginAutoupdate-B9W_vxOG.js";import{n as Cg,t as wg}from"./generateSessionName-cAL5T7pG.js";import{a as Tg,c as Eg,i as Dg,l as Og,n as kg,o as Ag,r as jg,s as Mg,t as Ng}from"./Messages-D5Uuapmf.js";import{t as Pg}from"./lib-BlVGipXx.js";import{a as Fg,i as Ig,n as Lg,o as Rg,r as zg,t as Bg}from"./BackgroundTasksDialog-CZND8e_Z.js";import{n as Vg}from"./fpsMetrics-Dk_pnSHJ.js";import{t as Hg}from"./earlyInput-IghoCjG5.js";import{a as Ug,i as Wg,o as Gg,r as Kg,s as qg,t as Jg}from"./RemoteSessionManager-C5pAD0Lh.js";import{n as Yg,t as Xg}from"./backgroundHousekeeping-Bjb_Jc7L.js";import{homedir as Zg,tmpdir as Qg}from"os";import*as $g from"path";import{basename as e_,dirname as t_,extname as n_,join as r_,relative as i_,sep as a_}from"path";import{dirname as o_,join as s_}from"node:path";import{createHash as c_}from"node:crypto";import{randomUUID as l_}from"crypto";import{readFile as u_,readdir as d_,stat as f_,writeFile as p_}from"fs/promises";import{spawn as m_,spawnSync as h_}from"child_process";import{mkdir as g_,readFile as __,rename as v_,writeFile as y_}from"node:fs/promises";function b_(e){return Array.isArray?Array.isArray(e):A_(e)===`[object Array]`}function x_(e){if(typeof e==`string`)return e;if(typeof e==`bigint`)return e.toString();let t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}function S_(e){return e==null?``:x_(e)}function C_(e){return typeof e==`string`}function w_(e){return typeof e==`number`}function T_(e){return e===!0||e===!1||D_(e)&&A_(e)==`[object Boolean]`}function E_(e){return typeof e==`object`}function D_(e){return E_(e)&&e!==null}function O_(e){return e!=null}function k_(e){return!e.trim().length}function A_(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}function j_(e){let t=null,n=null,r=null,i=1,a=null;if(C_(e)||b_(e))r=e,t=M_(e),n=N_(e);else{if(!hv.call(e,`name`))throw Error(fv(`name`));let o=e.name;if(r=o,hv.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(pv(N_(o)));t=M_(o),n=N_(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function M_(e){return b_(e)?e:e.split(`.`)}function N_(e){return b_(e)?e.join(`.`):e}function P_(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(O_(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!O_(s))return;if(a===t.length-1&&(C_(s)||w_(s)||T_(s)||typeof s==`bigint`))n.push(o===void 0?S_(s):{v:S_(s),i:o});else if(b_(s)){r=!0;for(let e=0,n=s.length;e<n;e+=1)i(s[e],t,a+1,e)}else t.length&&i(s,t,a+1,o)}};return i(e,C_(t)?t.split(`.`):t,0),r?n:n[0]}function F_(e=1,t=3){let n=new Map,r=10**t;return{get(t){let i=1,a=!1;for(let e=0;e<t.length;e++)t.charCodeAt(e)===32?a||(i++,a=!0):a=!1;if(n.has(i))return n.get(i);let o=Math.round(r/i**(.5*e))/r;return n.set(i,o),o},clear(){n.clear()}}}function I_(e,t,{getFn:n=Z.getFn,fieldNormWeight:r=Z.fieldNormWeight}={}){let i=new xv({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(j_)),i.setSources(t),i.create(),i}function L_(e,{getFn:t=Z.getFn,fieldNormWeight:n=Z.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new xv({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function R_(e=[],t=Z.minMatchCharLength){let n=[],r=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){let o=e[a];o&&r===-1?r=a:!o&&r!==-1&&(i=a-1,i-r+1>=t&&n.push([r,i]),r=-1)}return e[a-1]&&a-r>=t&&n.push([r,a-1]),n}function z_(e,t,n,{location:r=Z.location,distance:i=Z.distance,threshold:a=Z.threshold,findAllMatches:o=Z.findAllMatches,minMatchCharLength:s=Z.minMatchCharLength,includeMatches:c=Z.includeMatches,ignoreLocation:l=Z.ignoreLocation}={}){if(t.length>32)throw Error(dv(32));let u=t.length,d=e.length,f=Math.max(0,Math.min(r,d)),p=a,m=f,h=(e,t)=>{let n=e/u;if(l)return n;let r=Math.abs(f-t);return i?n+r/i:r?1:n},g=s>1||c,_=g?Array(d):[],v;for(;(v=e.indexOf(t,m))>-1;){let e=h(0,v);if(p=Math.min(e,p),m=v+u,g){let e=0;for(;e<u;)_[v+e]=1,e+=1}}m=-1;let y=[],b=1,x=0,S=u+d,C=1<<u-1;for(let t=0;t<u;t+=1){let r=0,i=S;for(;r<i;)h(t,f+i)<=p?r=i:S=i,i=Math.floor((S-r)/2+r);S=i;let a=Math.max(1,f-i+1),s=o?d:Math.min(f+i,d)+u,c=Array(s+2);c[s+1]=(1<<t)-1;for(let r=s;r>=a;--r){let i=r-1,o=n[e[i]];if(c[r]=(c[r+1]<<1|1)&o,t&&(c[r]|=(y[r+1]|y[r])<<1|1|y[r+1]),c[r]&C&&(b=h(t,i),b<=p)){if(p=b,m=i,x=t,m<=f)break;a=Math.max(1,2*f-m)}}if(h(t+1,f)>p)break;y=c}if(g&&m>=0){let t=Math.min(d-1,m+u-1+x);for(let r=m;r<=t;r+=1)n[e[r]]&&(_[r]=1)}let w={isMatch:m>=0,score:Math.max(.001,b)};if(g){let e=R_(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function B_(e){let t={};for(let n=0,r=e.length;n<r;n+=1){let i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}function V_(e){if(e.length<=1)return e;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let t=[e[0]];for(let n=1,r=e.length;n<r;n+=1){let r=t[t.length-1],i=e[n];i[0]<=r[1]+1?r[1]=Math.max(r[1],i[1]):t.push(i)}return t}function H_(e){return e.startsWith(`inverse`)}function U_(e){let t=[],n=e.length,r=0;for(;r<n;){for(;r<n&&e[r]===` `;)r++;if(r>=n)break;let i=r;for(;i<n&&e[i]!==` `&&e[i]!==`"`;)i++;if(i<n&&e[i]===`"`){for(i++;i<n;){if(e[i]===`"`){let t=i+1;if(t>=n||e[t]===` `){i++;break}if(e[t]===`$`&&(t+1>=n||e[t+1]===` `)){i+=2;break}}i++}t.push(e.substring(r,i)),r=i}else{for(;i<n&&e[i]!==` `;)i++;t.push(e.substring(r,i)),r=i}}return t}function W_(e,t){let n=e.match(t);return n?n[1]:null}function G_(e,t={}){return e.replace(/\\\|/g,kv).split(Av).map(e=>{let n=U_(e.replace(/\u0000/g,`|`).trim()).filter(e=>e&&!!e.trim()),r=[];for(let e=0,i=n.length;e<i;e+=1){let i=n[e],a=!1,o=-1;for(;!a&&++o<Ov;){let e=Dv[o],n=W_(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ov;){let e=Dv[o],n=W_(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}function K_(...e){Mv.push(...e)}function q_(e,t){for(let n=0,r=Mv.length;n<r;n+=1){let r=Mv[n];if(r.condition(e,t))return new r(e,t)}return new Tv(e,t)}function J_(e,t,{auto:n=!0}={}){let r=e=>{if(C_(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=q_(e,t)),r}let i=Object.keys(e),a=Iv(e);if(!a&&i.length>1&&!Fv(e))return r(Rv(e));if(Lv(e)){let r=a?e[Pv.PATH]:i[0],o=a?e[Pv.PATTERN]:e[r];if(!C_(o))throw Error(uv(r));let s={keyId:N_(r),pattern:o};return n&&(s.searcher=q_(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];b_(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Fv(e)||(e=Rv(e)),r(e)}function Y_(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){let n=1;return e.forEach(({key:e,norm:r,score:i})=>{let a=e?e.weight:null;n*=(i===0&&a?2**-52:i)**+((a||1)*(t?1:r))}),n}function X_(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){e.forEach(e=>{e.score=Y_(e.matches,{ignoreFieldNorm:t})})}function Z_(e){let t=[];return e.matches.forEach(e=>{if(!O_(e.indices)||!e.indices.length)return;let n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.id),e.idx>-1&&(n.refIndex=e.idx),t.push(n)}),t}function Q_(e,t,{includeMatches:n=Z.includeMatches,includeScore:r=Z.includeScore}={}){return e.map(e=>{let{idx:i}=e,a={item:t[i],refIndex:i};return n&&(a.matches=Z_(e)),r&&(a.score=e.score),a})}function $_(e){Vv.has(e)||(Vv.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function ev(e){if(typeof e==`function`){let t=!1;return n=>{let r=e(n);if(!t&&(t=!0,!Array.isArray(r)||r.some(e=>typeof e!=`string`)))throw Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(r)?`array containing non-strings`:typeof r}.`);return r}}return e instanceof RegExp?(e.global||$_(e),t=>t.match(e)||[]):e=>e.match(Bv)||[]}function tv({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=ev(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=wv(n)),r(n)}}}function nv(e,t,n,r){let i=r.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);let a=new Set(i),o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(let t of a)o.set(t,(o.get(t)||0)+1),e.df.set(t,(e.df.get(t)||0)+1)}function rv(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){nv(e,a,i,r);return}if(o)for(let t=0;t<n;t++){let n=o[t];if(n)if(Array.isArray(n))for(let t of n)nv(e,t.v,i,r);else nv(e,n.v,i,r)}}function iv(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)rv(r,i,t,n);return r}function av(e,t,n,r){rv(e,t,n,r)}function ov(e,t){let n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);let r=e.docTermFieldHits.get(t);if(r){for(let[t,n]of r){let r=(e.df.get(t)||0)-n;r<=0?e.df.delete(t):e.df.set(t,r)}e.docTermFieldHits.delete(t)}}function sv(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)ov(e,t);let r=e=>{let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e?t=i+1:r=i}return e-t},i=n[0],a=new Map;for(let[t,n]of e.docFieldCount)a.set(t>i?r(t):t,n);e.docFieldCount=a;let o=new Map;for(let[t,n]of e.docTermFieldHits)o.set(t>i?r(t):t,n);e.docTermFieldHits=o}var cv,lv,uv,dv,fv,pv,mv,hv,gv,_v,vv,yv,bv,Z,xv,Sv,Cv,wv,Tv,Ev,Dv,Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv,Rv,zv,Bv,Vv,Hv,Uv,Wv,Gv=t((()=>{cv=`Incorrect 'index' type`,lv=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,uv=e=>`Invalid value for key ${e}`,dv=e=>`Pattern length exceeds max of ${e}.`,fv=e=>`Missing ${e} property in key`,pv=e=>`Property 'weight' in key '${e}' must be a positive integer`,mv=`Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.`,hv=Object.prototype.hasOwnProperty,gv=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=j_(e);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(e=>{e.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}},_v={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},vv={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},yv={location:0,threshold:.6,distance:100},bv={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:P_,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Z=Object.freeze({...vv,..._v,...yv,...bv}),xv=class{constructor({getFn:e=Z.getFn,fieldNormWeight:t=Z.fieldNormWeight}={}){this.norm=F_(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((e,t)=>{this._keysMap[e.id]=t})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;let e=this.docs.length;this.records=Array(e);let t=0;if(C_(this.docs[0]))for(let n=0;n<e;n++){let e=this._createStringRecord(this.docs[n],n);e&&(this.records[t++]=e)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw Error(lv);if(C_(e)){let n=this._createStringRecord(e,t);return n&&this.records.push(n),n}let n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw Error(lv);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&--this.records[t].i}removeAll(e){let t=new Set;for(let n of e)Number.isInteger(n)&&n>=0&&t.add(n);if(t.size===0)return;this.records=this.records.filter(e=>!t.has(e.i));let n=Array.from(t).sort((e,t)=>e-t);for(let e of this.records){let t=0,r=n.length;for(;t<r;){let i=t+r>>>1;n[i]<e.i?t=i+1:r=i}e.i-=t}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!O_(e)||k_(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){let n={i:t,$:{}};for(let t=0,r=this.keys.length;t<r;t++){let r=this.keys[t],i=r.getFn?r.getFn(e):this.getFn(e,r.path);if(O_(i)){if(b_(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(O_(n)){if(C_(n)){if(!k_(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(O_(n.v)){let t=C_(n.v)?n.v:S_(n.v);if(!k_(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(C_(i)&&!k_(i)){let e={v:i,n:this.norm.get(i)};n.$[t]=e}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}},Sv={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Cv=RegExp(`[`+Object.keys(Sv).join(``)+`]`,`g`),wv=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFD`).replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,``).replace(Cv,e=>Sv[e]):e=>e,Tv=class{constructor(e,{location:t=Z.location,threshold:n=Z.threshold,distance:r=Z.distance,includeMatches:i=Z.includeMatches,findAllMatches:a=Z.findAllMatches,minMatchCharLength:o=Z.minMatchCharLength,isCaseSensitive:s=Z.isCaseSensitive,ignoreDiacritics:c=Z.ignoreDiacritics,ignoreLocation:l=Z.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:r,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:s,ignoreDiacritics:c,ignoreLocation:l},e=s?e:e.toLowerCase(),e=c?wv(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:B_(e),startIndex:t})},d=this.pattern.length;if(d>32){let e=0,t=d%32,n=d-t;for(;e<n;)u(this.pattern.substr(e,32),e),e+=32;if(t){let e=d-32;u(this.pattern.substr(e),e)}}else u(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r}=this.options;if(e=t?e:e.toLowerCase(),e=n?wv(e):e,this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}let{location:i,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:l}=this.options,u=[],d=0,f=!1;this.chunks.forEach(({pattern:t,alphabet:n,startIndex:p})=>{let{isMatch:m,score:h,indices:g}=z_(e,t,n,{location:i+p,distance:a,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:r,ignoreLocation:l});m&&(f=!0),d+=h,m&&g&&u.push(...g)});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&r&&(p.indices=V_(u)),p}},Ev=new Set([`fuzzy`,`include`]),Dv=[{type:`exact`,multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:`exact`,search(t){let n=t===e;return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`include`,multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:`include`,search(t){let n=0,r,i=[],a=e.length;for(;(r=t.indexOf(e,n))>-1;)n=r+a,i.push([r,n-1]);let o=!!i.length;return{isMatch:o,score:+!o,indices:i}}})},{type:`prefix-exact`,multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:`prefix-exact`,search(t){let n=t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,e.length-1]}}})},{type:`inverse-prefix-exact`,multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:`inverse-prefix-exact`,search(t){let n=!t.startsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`inverse-suffix-exact`,multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:`inverse-suffix-exact`,search(t){let n=!t.endsWith(e);return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`suffix-exact`,multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:`suffix-exact`,search(t){let n=t.endsWith(e);return{isMatch:n,score:+!n,indices:[t.length-e.length,t.length-1]}}})},{type:`inverse-exact`,multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:`inverse-exact`,search(t){let n=t.indexOf(e)===-1;return{isMatch:n,score:+!n,indices:[0,t.length-1]}}})},{type:`fuzzy`,multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{let n=new Tv(e,{location:t.location??Z.location,threshold:t.threshold??Z.threshold,distance:t.distance??Z.distance,includeMatches:t.includeMatches??Z.includeMatches,findAllMatches:t.findAllMatches??Z.findAllMatches,minMatchCharLength:t.minMatchCharLength??Z.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??Z.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??Z.ignoreDiacritics,ignoreLocation:t.ignoreLocation??Z.ignoreLocation});return{type:`fuzzy`,search(e){return n.searchIn(e)}}}}],Ov=Dv.length,kv=`\0`,Av=`|`,jv=class{constructor(e,{isCaseSensitive:t=Z.isCaseSensitive,ignoreDiacritics:n=Z.ignoreDiacritics,includeMatches:r=Z.includeMatches,minMatchCharLength:i=Z.minMatchCharLength,ignoreLocation:a=Z.ignoreLocation,findAllMatches:o=Z.findAllMatches,location:s=Z.location,threshold:c=Z.threshold,distance:l=Z.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:r,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:s,threshold:c,distance:l},e=t?e:e.toLowerCase(),e=n?wv(e):e,this.pattern=e,this.query=G_(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:n,isCaseSensitive:r,ignoreDiacritics:i}=this.options;e=r?e:e.toLowerCase(),e=i?wv(e):e;let a=0,o=[],s=0,c=!1;for(let r=0,i=t.length;r<i;r+=1){let i=t[r];o.length=0,a=0,c=!1;for(let t=0,r=i.length;t<r;t+=1){let r=i[t],{isMatch:l,indices:u,score:d}=r.search(e);if(l)a+=1,s+=d,H_(r.type)&&(c=!0),n&&(Ev.has(r.type)?o.push(...u):o.push(u));else{s=0,a=0,o.length=0,c=!1;break}}if(a){let e={isMatch:!0,score:s/a};return c&&(e.hasInverse=!0),n&&(e.indices=V_(o)),e}}return{isMatch:!1,score:1}}},Mv=[],Nv={AND:`$and`,OR:`$or`},Pv={PATH:`$path`,PATTERN:`$val`},Fv=e=>!!(e[Nv.AND]||e[Nv.OR]),Iv=e=>!!e[Pv.PATH],Lv=e=>!b_(e)&&E_(e)&&!Fv(e),Rv=e=>({[Nv.AND]:Object.keys(e).map(t=>({[t]:e[t]}))}),zv=class{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){let t=this.heap;for(;e>0;){let n=e-1>>1;if(t[e].score<=t[n].score)break;let r=t[e];t[e]=t[n],t[n]=r,e=n}}_sinkDown(e){let t=this.heap,n=t.length,r=e;do{e=r;let i=2*e+1,a=2*e+2;if(i<n&&t[i].score>t[r].score&&(r=i),a<n&&t[a].score>t[r].score&&(r=a),r!==e){let n=t[e];t[e]=t[r],t[r]=n}}while(r!==e)}},Bv=/[\p{L}\p{M}\p{N}_]+/gu,Vv=new WeakSet,Hv=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=tv({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});let n=this.analyzer.tokenize(e),{df:r,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(let e of n){this.termSearchers.push(new Tv(e,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));let n=r.get(e)||0,a=Math.log(1+(i-n+.5)/(n+.5));this.idfWeights.push(a)}this.combineAll=t.tokenMatch===`all`,this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};let t=[],n=0,r=0,i=0,a=0,o=this.combineAll&&!this.useMask?new Set:null;for(let s=0;s<this.termSearchers.length;s++){let c=this.termSearchers[s].searchIn(e),l=this.idfWeights[s];r+=l,c.isMatch&&(i++,n+=l*(1-c.score),c.indices&&t.push(...c.indices),this.combineAll&&(this.useMask?a|=1<<s:o.add(s)))}if(i===0)return{isMatch:!1,score:1};let s=r>0?1-n/r:0,c={isMatch:!0,score:Math.max(.001,s)};return this.options.includeMatches&&t.length&&(c.indices=V_(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}},Uv=class{constructor(e,t,n){this.options={...Z,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new gv(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;let t=q_(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof xv))throw Error(cv);if(this._myIndex=t||I_(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=tv({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=iv(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!O_(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=tv({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});av(this._invertedIndex,t,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}remove(e=()=>!1){let t=[],n=[];for(let r=0,i=this._docs.length;r<i;r+=1)e(this._docs[r],r)&&(t.push(this._docs[r]),n.push(r));if(n.length){this._invertedIndex&&sv(this._invertedIndex,n);let e=new Set(n);this._docs=this._docs.filter((t,n)=>!e.has(n)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw Error(lv);this._invertedIndex&&sv(this._invertedIndex,[e]);let t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}search(e,t){let{limit:n=-1}=t||{},{includeMatches:r,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:s}=this.options;if(C_(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return w_(n)&&n>-1&&(e=e.slice(0,n)),e}let c=w_(n)&&n>0&&C_(e),l;if(c){let t=new zv(n);C_(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=C_(e)?C_(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),X_(l,{ignoreFieldNorm:s}),a&&l.sort(o),w_(n)&&n>-1&&(l=l.slice(0,n));return Q_(l,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:e,i:a,n:s})=>{if(!O_(e))return;let c=r.searchIn(e);if(c.isMatch){let r={score:c.score,value:e,norm:s,indices:c.indices};i&&(r.matchedMask=c.matchedMask,r.matchedTerms=c.matchedTerms,r.termCount=c.termCount);let l=[r];if(!i||this._coversAllTokens(l)){let r={item:e,idx:a,matches:l};t?(r.score=Y_(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=J_(e,this.options),n=(e,t,r)=>{if(!(`children`in e)){let{keyId:n,searcher:i}=e,a;return n===null?(a=[],this._myIndex.keys.forEach((e,n)=>{a.push(...this._findMatches({key:e,value:t[n],searcher:i}))})):a=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(t,n),searcher:i}),a&&a.length?[{idx:r,item:t,matches:a}]:[]}let{children:i,operator:a}=e,o=[];for(let e=0,s=i.length;e<s;e+=1){let s=i[e],c=n(s,t,r);if(c.length)o.push(...c);else if(a===Nv.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(O_(e)){let o=n(t,e,r);o.length&&(i.has(r)||(i.set(r,{idx:r,item:e,matches:[]}),a.push(i.get(r))),o.forEach(({matches:e})=>{i.get(r).matches.push(...e)}))}}),a}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){let r=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch===`all`,{keys:a,records:o}=this._myIndex,s=t?null:[];return o.forEach(({$:e,i:o})=>{if(!O_(e))return;let c=[],l=!1,u=!1;if(a.forEach((t,n)=>{let i=this._findMatches({key:t,value:e[n],searcher:r});i.length?(c.push(...i),i[0].hasInverse&&(u=!0)):l=!0}),!(u&&l)&&c.length&&(!i||this._coversAllTokens(c))){let r={idx:o,item:e,matches:c};t?(r.score=Y_(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!O_(t))return[];let r=[];if(b_(t))t.forEach(({v:t,i,n:a})=>{if(!O_(t))return;let o=n.searchIn(t);if(o.isMatch){let n={score:o.score,key:e,value:t,idx:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(n.matchedMask=o.matchedMask,n.matchedTerms=o.matchedTerms,n.termCount=o.termCount),r.push(n)}});else{let{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){let t={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(t.matchedMask=o.matchedMask,t.matchedTerms=o.matchedTerms,t.termCount=o.termCount),r.push(t)}}return r}_coversAllTokens(e){let t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let n=0;for(let t=0;t<e.length;t++)n|=e[t].matchedMask||0;return n===2**t-1}let n=new Set;for(let t=0;t<e.length;t++){let r=e[t].matchedTerms;if(r)for(let e of r)n.add(e)}return n.size===t}},Uv.version=`7.4.2`,Uv.createIndex=I_,Uv.parseIndex=L_,Uv.config=Z,Uv.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(mv);return q_(e,{...Z,...n}).searchIn(t)},Uv.parseQuery=J_,K_(jv),K_(Hv),Uv.use=function(...e){e.forEach(e=>K_(e))},Wv=Uv}));s();var Kv=d();nu(),l(),J(),$u(),Nu(),Od(),Pf(),zc(),$c(),Vc(),$h();var Q=n(zl(),1);Cl(),kg(),xc(),Me(),W(),tg();var $=su();function qv({children:e}){let{bindings:t}=Ht(),n=(0,Q.useRef)(null),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(new Set).current;return(0,$.jsx)(wl,{bindings:t,pendingChordRef:n,pendingChord:null,setPendingChord:()=>{},activeContexts:i,registerActiveContext:()=>{},unregisterActiveContext:()=>{},handlerRegistryRef:r,children:e})}function Jv(e){if(!(`message`in e))return 1;let t=e.message.content;return Array.isArray(t)?t.length:1}async function Yv(e,t,n,{columns:r,verbose:i=!1,chunkSize:a=40,onProgress:o}={}){let s=n=>eg((0,$.jsx)(bi,{children:(0,$.jsx)(qv,{children:(0,$.jsx)(Ng,{messages:e,tools:t,commands:[],verbose:i,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:`export`,screen:`prompt`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1,renderRange:n})})}),r),c=a;for(let t of e)c+=Jv(t);for(let e=0;e<c;e+=a){let t=await s([e,e+a]);if(eu(t).trim()===``)break;await n(t),o?.(e+a)}}async function Xv(e,t=[],n){let r=[];return await Yv(e,t,e=>void r.push(eu(e)),{columns:n}),r.join(``)}o(),Gl(),_u(),nd(),_d(),dd(),cd(),yd(),pd(),hd(),sf(),Sf(),xf(),pf(),Tf(),Df(),ff(),kf(),Fd(),Sd(),Mf(),Yd(),Af(),Hf(),Vd(),vu(),Wf(),Nd(),jd(),Ed(),Jd(),Qd(),Jf(),Rd(),tf(),gp(),Xp(),rf(),Up(),ip(),Sp(),fp(),Qf(),op(),rp(),_p(),Bp(),Wp(),Ip(),Oa(),ym(),im(),ao(),Cm(),gs(),Tm(),Uo(),dr(),$s(),za(),Jn(),Sm(),An(),Eo(),he(),R(),U(),Qa(),io(),_c(),Da(),Zp(),Qe(),L(),Bc(),Go(),w(),Vt(),gl(),bt(),vn(),kn(),Rc(),ma(),Rp(),qp(),kc(),Za(),ec(),am(),ei(),Qt(),_n(),Ce(),Xa(),Qs(),h(),_i(),Xo(),vc(),km(),as(),li(),qe(),ul(),qt(),fn(),k(),ue(),la(),nc(),vo(),Ls(),Dr(),et(),uo(),Ka(),rc(),Yi(),ui(),Zr(),rt(),er(),Nm(),In(),wn(),Oe(),Pc(),da(),ke(),Fc(),oc(),ci(),Et(),ca(),wc(),Rm(),Bm(),_(),Ye(),kr(),$n(),mt(),Xi(),Ns(),jm(),Wt(),co(),Ua(),Ma(),Bs(),Pr(),Zt(),Vo(),Se(),La(),Rs(),_t(),Gc(),ns(),ya(),ds(),Ut(),Or(),Jt(),fa(),mn(),fo(),ri(),js(),Cr(),Lr(),na(),Ph(),Mi();function Zv({onDone:e}){return(0,$.jsxs)(iu,{title:`You've spent $5 on the API this session.`,onCancel:e,children:[(0,$.jsxs)(K,{flexDirection:`column`,children:[(0,$.jsx)(q,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(Tl,{url:`https://code.workmate.com/docs/en/costs`})]}),(0,$.jsx)(Gn,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}S(),J(),Mi();function Qv({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(iu,{title:`You've been away ${$v(e)} and this conversation is ${Rf(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(K,{flexDirection:`column`,children:(0,$.jsx)(q,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(Gn,{options:[{value:`continue`,label:`Continue this conversation`},{value:`clear`,label:`Send message as a new conversation`},{value:`never`,label:`Don't ask me again`}],onChange:e=>n(e)})]})}function $v(e){if(e<1)return`< 1m`;if(e<60)return`${Math.floor(e)}m`;let t=Math.floor(e/60),n=Math.floor(e%60);return n===0?`${t}h`:`${t}h ${n}m`}vi();async function ey(e,t){let n=nf().preferredNotifChannel;await se(e),X(`tengu_notification_method_used`,{configured_channel:n,method_used:await ny(n,e,t),term:Cd.terminal})}var ty=`Work Mate`;async function ny(e,t,n){let r=t.title||ty;try{switch(e){case`auto`:return ry(t,n);case`iterm2`:return n.notifyITerm2(t),`iterm2`;case`iterm2_with_bell`:return n.notifyITerm2(t),n.notifyBell(),`iterm2_with_bell`;case`kitty`:return n.notifyKitty({...t,title:r,id:iy()}),`kitty`;case`ghostty`:return n.notifyGhostty({...t,title:r}),`ghostty`;case`terminal_bell`:return n.notifyBell(),`terminal_bell`;case`notifications_disabled`:return`disabled`;default:return`none`}}catch{return`error`}}async function ry(e,t){let n=e.title||ty;switch(Cd.terminal){case`Apple_Terminal`:return await ay()?(t.notifyBell(),`terminal_bell`):`no_method_available`;case`iTerm.app`:return t.notifyITerm2(e),`iterm2`;case`kitty`:return t.notifyKitty({...e,title:n,id:iy()}),`kitty`;case`ghostty`:return t.notifyGhostty({...e,title:n}),`ghostty`;default:return`no_method_available`}}function iy(){return Math.floor(Math.random()*1e4)}async function ay(){try{if(Cd.terminal!==`Apple_Terminal`)return!1;let e=(await mf(`osascript`,[`-e`,`tell application "Terminal" to name of current settings of front window`])).stdout.trim();if(!e)return!1;let t=await mf(`defaults`,[`export`,`com.apple.Terminal`,`-`]);if(t.code!==0)return!1;let r=(await import(`./plist-Bzo2VMe9.js`).then(e=>n(e.default,1))).parse(t.stdout)?.[`Window Settings`]?.[e];return r?r.Bell===!1:!1}catch(e){return Cf(e),!1}}var oy=300,sy=240*1e3,cy=null,ly=null,uy=0,dy=!1;function fy(){uy++,uy===1&&(_y(),hy())}function py(){uy>0&&uy--,uy===0&&(gy(),vy())}function my(){uy=0,gy(),vy()}function hy(){process.platform===`darwin`&&ly===null&&(ly=setInterval(()=>{uy>0&&(Y(`Restarting caffeinate to maintain sleep prevention`),vy(),_y())},sy),ly.unref())}function gy(){ly!==null&&(clearInterval(ly),ly=null)}function _y(){if(process.platform===`darwin`&&cy===null){dy||(dy=!0,gd(async()=>{my()}));try{cy=m_(`caffeinate`,[`-i`,`-t`,String(oy)],{stdio:`ignore`}),cy.unref();let e=cy;cy.on(`error`,t=>{Y(`caffeinate spawn error: ${t.message}`),cy===e&&(cy=null)}),cy.on(`exit`,()=>{cy===e&&(cy=null)}),Y(`Started caffeinate to prevent sleep`)}catch{cy=null}}}function vy(){if(cy!==null){let e=cy;cy=null;try{e.kill(`SIGKILL`),Y(`Stopped caffeinate, allowing sleep`)}catch{}}}var yy=class{constructor(){c(this,`_status`,`idle`),c(this,`_generation`,0),c(this,`_changed`,Gu()),c(this,`subscribe`,this._changed.subscribe),c(this,`getSnapshot`,()=>this._status!==`idle`)}reserve(){return this._status===`idle`?(this._status=`dispatching`,this._notify(),!0):!1}cancelReservation(){this._status===`dispatching`&&(this._status=`idle`,this._notify())}tryStart(){return this._status===`running`?null:(this._status=`running`,++this._generation,this._notify(),this._generation)}end(e){return this._generation!==e||this._status!==`running`?!1:(this._status=`idle`,this._notify(),!0)}forceEnd(){this._status!==`idle`&&(this._status=`idle`,++this._generation,this._notify())}get isActive(){return this._status!==`idle`}get generation(){return this._generation}_notify(){this._changed.emit()}};function by(e,t=!1){let n=(0,Q.useRef)(0),r=(0,Q.useRef)(void 0),i=(0,Q.useRef)(void 0),a=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{if(t)return;let o=e[0]?.uuid,s=n.current,c=i.current===void 0,l=o!==void 0&&!c&&o===i.current&&s<=e.length,u=o!==void 0&&!c&&o===i.current&&s>e.length,d=l?s:0;if(d===e.length)return;let f=d===0?e:e.slice(d),p=l?r.current:void 0,m=++a.current;if(fi(f,{},p,e).then(e=>{m===a.current&&e&&!l&&(r.current=e)}),l||c||u){let t=it(f,e).findLast(Kc);t&&(r.current=t.uuid)}n.current=e.length,i.current=o},[e,t])}function xy(e,t,n,r,i){return{sendBridgeResult:(0,Q.useCallback)(()=>{},[])}}mi(),kt(),$r(),Rn(),lh(),oh(),Mf();var Sy=gu(()=>hu({method:fu(`log_event`),params:hu({eventName:cu(),eventData:hu({}).passthrough()})}));function Cy(e){(0,Q.useEffect)(()=>{if(!e.length)return;let t=go(e);t&&t.client.setNotificationHandler(Sy(),e=>{let{eventName:t,eventData:n}=e.params;X(`tengu_ide_${t}`,n)})},[e])}J();var wy=6e3;function Ty(){return Date.now()-Mu()}function Ey(e){return Ty()<e}function Dy(e){return!Ey(e)}function Oy(e,t){let n=El();(0,Q.useEffect)(()=>{Xu(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{Dy(6e3)&&!r&&(r=!0,clearInterval(i),ey({message:e,notificationType:t},n))},wy);return()=>clearInterval(i)},[e,t,n])}tm(),ra(),is(),Fa(),Tt(),Ke(),Tr(),Qp(),Ne(),to(),$o(),Ca(),Ko(),us(),g(),oi(),Rh(),fg(),J(),Hi();var ky={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function Ay(e){return Ot().syntaxHighlightingDisabled?(0,$.jsx)(My,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(My,{...e,highlight:null}),children:(0,$.jsx)(jy,{...e})})}function jy(e){let t=(0,Q.use)(ie());return(0,$.jsx)(My,{...e,highlight:t})}function My({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=Zl(),[s]=Sl(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>yr(e,s,a),[e,s,a]).split(`
|
|
2
2
|
`),d=u.length>l,f=d?u.slice(0,l):u,p=Math.max(0,Math.min(n??0,l)-f.length-+!!d),m=p>0?[...f,...Array(p).fill(``)]:f,h=Math.max(r,...m.map(e=>bl(e))),g=Math.min(h+4,c),_=g-4,v=`${ky.topLeft}${ky.horizontal.repeat(g-2)}${ky.topRight}`,y=`${ky.bottomLeft}${ky.horizontal.repeat(g-2)}${ky.bottomRight}`,b=d?(()=>{let e=u.length-l,t=`${ky.horizontal.repeat(3)} \u2702 ${ky.horizontal.repeat(3)} ${e} lines hidden `,n=bl(t),r=Math.max(0,g-2-n);return`${ky.teeLeft}${t}${ky.horizontal.repeat(r)}${ky.teeRight}`})():null;return(0,$.jsxs)(K,{flexDirection:`column`,children:[(0,$.jsx)(q,{dimColor:!0,children:v}),m.map((e,t)=>{let n=bl(e)>_?ms(e,0,_):e,r=` `.repeat(Math.max(0,_-bl(n)));return(0,$.jsxs)(K,{flexDirection:`row`,children:[(0,$.jsxs)(q,{dimColor:!0,children:[ky.vertical,` `]}),(0,$.jsx)(yl,{children:n}),(0,$.jsxs)(q,{dimColor:!0,children:[r,` `,ky.vertical]})]},t)}),b&&(0,$.jsx)(q,{color:`warning`,children:b}),(0,$.jsx)(q,{dimColor:!0,children:y})]})}zc(),J(),Hf();function Ny({questions:e,currentQuestionIndex:t,answers:n,hideSubmitTab:r=!1}){let{columns:i}=Zl(),a=(0,Q.useMemo)(()=>{let n=r?``:` ${u.tick} Submit `,a=bl(`← `)+bl(` →`)+bl(n),o=i-a;if(o<=0)return e.map((e,n)=>{let r=e?.header||`Q${n+1}`;return n===t?r.slice(0,3):``});let s=e.map((e,t)=>e?.header||`Q${t+1}`);if(s.map(e=>4+bl(e)).reduce((e,t)=>e+t,0)<=o)return s;let c=4+bl(s[t]||``),l=Math.min(c,o/2),d=o-l,f=e.length-1,p=Math.max(6,Math.floor(d/Math.max(f,1)));return s.map((e,n)=>n===t?Lf(e,l-2-2):Lf(e,p-2-2))},[e,t,i,r]),o=e.length===1&&r;return(0,$.jsxs)(K,{flexDirection:`row`,marginBottom:1,children:[!o&&(0,$.jsx)(q,{color:t===0?`inactive`:void 0,children:`← `}),e.map((e,r)=>{let i=r===t,o=e?.question&&n[e.question]?u.checkboxOn:u.checkboxOff,s=a[r]||e?.header||`Q${r+1}`;return(0,$.jsx)(K,{children:i?(0,$.jsxs)(q,{backgroundColor:`permission`,color:`inverseText`,children:[` `,o,` `,s,` `]}):(0,$.jsxs)(q,{children:[` `,o,` `,s,` `]})},e?.question||`question-${r}`)}),!r&&(0,$.jsx)(K,{children:t===e.length?(0,$.jsxs)(q,{backgroundColor:`permission`,color:`inverseText`,children:[` `,u.tick,` Submit`,` `]}):(0,$.jsxs)(q,{children:[` `,u.tick,` Submit `]})},`submit`),!o&&(0,$.jsx)(q,{color:t===e.length?`inactive`:void 0,children:` →`})]})}l(),zc(),J(),W(),Go();function Py({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,minContentHeight:o,minContentWidth:s,onUpdateQuestionState:c,onAnswer:l,onTextInputFocus:d,onCancel:f,onTabPrev:p,onTabNext:m,onRespondToClaude:h,onFinishPlanInterview:g}){let _=G(e=>e.toolPermissionContext.mode)===`plan`,[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(0),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(0),E=Fh(),D=E?Fi(E):null,O=e.question,k=i[O],A=e.options,[j,M]=(0,Q.useState)(0),N=(0,Q.useRef)(O);if(N.current!==O){N.current=O;let e=k?.selectedValue,t=e?A.findIndex(t=>t.label===e):-1;M(t>=0?t:0)}let ee=A[j],te=k?.selectedValue,P=k?.textInputValue||``,F=(0,Q.useCallback)(e=>{let t=A[e];t&&(M(e),c(O,{selectedValue:t.label},!1),l(O,t.label))},[A,O,c,l]),I=(0,Q.useCallback)(e=>{if(S)return;let t;t=typeof e==`number`?e:e===`up`?j>0?j-1:j:j<A.length-1?j+1:j,t>=0&&t<A.length&&M(t)},[j,A.length,S]);jl(`chat:externalEditor`,async()=>{let e=k?.textInputValue||``,t=await Ih(e);t.content!==null&&t.content!==e&&c(O,{textInputValue:t.content},!1)},{context:`Chat`,isActive:S&&!!E}),xl({"tabs:previous":()=>p?.(),"tabs:next":()=>m?.()},{context:`Tabs`,isActive:!S&&!v});let L=(0,Q.useCallback)(()=>{C(!1),d(!1),te&&l(O,te)},[te,O,l,d]),ne=(0,Q.useCallback)(()=>{y(!0)},[]),re=(0,Q.useCallback)(()=>{y(!1)},[]),ie=(0,Q.useCallback)(e=>{if(v){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),b===0?re():x(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),_&&b===0&&x(1);return}if(e.key===`return`){e.preventDefault(),b===0?h():g();return}e.key===`escape`&&(e.preventDefault(),f());return}if(S){e.key===`escape`&&(e.preventDefault(),L());return}if(e.key===`up`||e.ctrl&&e.key===`p`)e.preventDefault(),j>0&&I(`up`);else if(e.key===`down`||e.ctrl&&e.key===`n`)e.preventDefault(),j===A.length-1?ne():I(`down`);else if(e.key===`return`)e.preventDefault(),F(j);else if(e.key===`n`&&!e.ctrl&&!e.meta)e.preventDefault(),C(!0),d(!0);else if(e.key===`escape`)e.preventDefault(),f();else if(e.key.length===1&&e.key>=`1`&&e.key<=`9`){e.preventDefault();let t=parseInt(e.key,10)-1;t<A.length&&I(t)}},[v,b,_,S,j,A.length,re,ne,I,F,L,h,g,f,d]),ae=ee?.preview||null,{columns:oe}=Zl(),se=oe-30-4,ce=(0,Q.useMemo)(()=>o?Math.max(1,o-11):void 0,[o]);return(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:ie,children:[(0,$.jsx)(_l,{color:`inactive`}),(0,$.jsxs)(K,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(Ny,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(mg,{title:e.question,color:`text`}),(0,$.jsxs)(K,{flexDirection:`column`,minHeight:o,children:[(0,$.jsxs)(K,{marginTop:1,flexDirection:`row`,gap:4,children:[(0,$.jsx)(K,{flexDirection:`column`,width:30,children:A.map((e,t)=>{let n=j===t,r=te===e.label;return(0,$.jsxs)(K,{flexDirection:`row`,children:[n?(0,$.jsx)(q,{color:`suggestion`,children:u.pointer}):(0,$.jsx)(q,{children:` `}),(0,$.jsxs)(q,{dimColor:!0,children:[` `,t+1,`.`]}),(0,$.jsxs)(q,{color:r?`success`:n?`suggestion`:void 0,bold:n,children:[` `,e.label]}),r&&(0,$.jsxs)(q,{color:`success`,children:[` `,u.tick]})]},e.label)})}),(0,$.jsxs)(K,{flexDirection:`column`,flexGrow:1,children:[(0,$.jsx)(Ay,{content:ae||`No preview available`,maxLines:ce,minWidth:s,maxWidth:se}),(0,$.jsxs)(K,{marginTop:1,flexDirection:`row`,gap:1,children:[(0,$.jsx)(q,{color:`suggestion`,children:`Notes:`}),S?(0,$.jsx)(_a,{value:P,placeholder:`Add notes on this design…`,onChange:e=>{c(O,{textInputValue:e},!1)},onSubmit:L,onExit:L,focus:!0,showCursor:!0,columns:60,cursorOffset:w,onChangeCursorOffset:T}):(0,$.jsx)(q,{dimColor:!0,italic:!0,children:P||`press n to add notes`})]})]})]}),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(_l,{color:`inactive`}),(0,$.jsxs)(K,{flexDirection:`row`,gap:1,children:[v&&b===0?(0,$.jsx)(q,{color:`suggestion`,children:u.pointer}):(0,$.jsx)(q,{children:` `}),(0,$.jsx)(q,{color:v&&b===0?`suggestion`:void 0,children:`Chat about this`})]}),_&&(0,$.jsxs)(K,{flexDirection:`row`,gap:1,children:[v&&b===1?(0,$.jsx)(q,{color:`suggestion`,children:u.pointer}):(0,$.jsx)(q,{children:` `}),(0,$.jsx)(q,{color:v&&b===1?`suggestion`:void 0,children:`Skip interview and plan immediately`})]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{color:`inactive`,dimColor:!0,children:[`Enter to select · `,u.arrowUp,`/`,u.arrowDown,` to navigate · n to add notes`,t.length>1&&(0,$.jsx)($.Fragment,{children:` · Tab to switch questions`}),S&&D&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,D]}),` · Esc to cancel`]})})]})]})]})}l(),J(),W(),Ph(),Go(),Rh(),Mi(),fg();function Fy({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,planFilePath:o,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:l,onAnswer:d,onTextInputFocus:f,onCancel:p,onSubmit:m,onTabPrev:h,onTabNext:g,onRespondToClaude:_,onFinishPlanInterview:v,onImagePaste:y,pastedContents:b,onRemoveImage:x}){let S=G(e=>e.toolPermissionContext.mode)===`plan`,[C,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(0),[D,O]=(0,Q.useState)(!1),k=Fh(),A=k?Fi(k):null,j=(0,Q.useCallback)(e=>{let t=e===`__other__`;O(t),f(t)},[f]),M=(0,Q.useCallback)(()=>{w(!0)},[]),N=(0,Q.useCallback)(()=>{w(!1)},[]),ee=(0,Q.useCallback)(e=>{if(C){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),T===0?N():E(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),S&&T===0&&E(1);return}if(e.key===`return`){e.preventDefault(),T===0?_():v();return}e.key===`escape`&&(e.preventDefault(),p())}},[C,T,S,N,_,v,p]),te=e.options.map(e=>({type:`text`,value:e.label,label:e.label,description:e.description})),P=e.question,F=i[P],I=(0,Q.useCallback)(async(t,n)=>{let r=await Ih(t);r.content!==null&&r.content!==t&&(n(r.content),l(P,{textInputValue:r.content},e.multiSelect??!1))},[P,l,e.multiSelect]),L={type:`input`,value:`__other__`,label:`Other`,placeholder:e.multiSelect?`Type something`:`Type something.`,initialValue:F?.textInputValue??``,onChange:t=>{l(P,{textInputValue:t},e.multiSelect??!1)}},ne=[...te,L];return!e.multiSelect&&e.options.some(e=>e.preview)?(0,$.jsx)(Py,{question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:l,onAnswer:d,onTextInputFocus:f,onCancel:p,onTabPrev:h,onTabNext:g,onRespondToClaude:_,onFinishPlanInterview:v}):(0,$.jsxs)(K,{flexDirection:`column`,marginTop:0,tabIndex:0,autoFocus:!0,onKeyDown:ee,children:[S&&o&&(0,$.jsxs)(K,{flexDirection:`column`,gap:0,children:[(0,$.jsx)(_l,{color:`inactive`}),(0,$.jsxs)(q,{color:`inactive`,children:[`Planning: `,(0,$.jsx)(cc,{filePath:o})]})]}),(0,$.jsx)(K,{marginTop:-1,children:(0,$.jsx)(_l,{color:`inactive`})}),(0,$.jsxs)(K,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(Ny,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(mg,{title:e.question,color:`text`}),(0,$.jsxs)(K,{flexDirection:`column`,minHeight:s,children:[(0,$.jsx)(K,{marginTop:1,children:e.multiSelect?(0,$.jsx)(Na,{options:ne,defaultValue:i[e.question]?.selectedValue,onChange:e=>{l(P,{selectedValue:e},!0);let t=e.includes(`__other__`)?i[P]?.textInputValue:void 0,n=e.filter(e=>e!==`__other__`).concat(t?[t]:[]);d(P,n,void 0,!1)},onFocus:j,onCancel:p,submitButtonText:n===t.length-1?`Submit`:`Next`,onSubmit:m,onDownFromLastItem:M,isDisabled:C,onOpenEditor:I,onImagePaste:y,pastedContents:b,onRemoveImage:x},e.question):(0,$.jsx)(Gn,{options:ne,defaultValue:i[e.question]?.selectedValue,onChange:e=>{l(P,{selectedValue:e},!1);let t=e===`__other__`?i[P]?.textInputValue:void 0;d(P,e,t)},onFocus:j,onCancel:p,onDownFromLastItem:M,isDisabled:C,layout:`compact-vertical`,onOpenEditor:I,onImagePaste:y,pastedContents:b,onRemoveImage:x},e.question)}),(0,$.jsxs)(K,{flexDirection:`column`,children:[(0,$.jsx)(_l,{color:`inactive`}),(0,$.jsxs)(K,{flexDirection:`row`,gap:1,children:[C&&T===0?(0,$.jsx)(q,{color:`suggestion`,children:u.pointer}):(0,$.jsx)(q,{children:` `}),(0,$.jsxs)(q,{color:C&&T===0?`suggestion`:void 0,children:[ne.length+1,`. Chat about this`]})]}),S&&(0,$.jsxs)(K,{flexDirection:`row`,gap:1,children:[C&&T===1?(0,$.jsx)(q,{color:`suggestion`,children:u.pointer}):(0,$.jsx)(q,{children:` `}),(0,$.jsxs)(q,{color:C&&T===1?`suggestion`:void 0,children:[ne.length+2,`. Skip interview and plan immediately`]})]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{color:`inactive`,dimColor:!0,children:[`Enter to select ·`,` `,t.length===1?(0,$.jsxs)($.Fragment,{children:[u.arrowUp,`/`,u.arrowDown,` to navigate`]}):`Tab/Arrow keys to navigate`,D&&A&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,A]}),` · Esc to cancel`]})})]})]})]})}J(),H(),W();function Iy(e,t){if(!e)return null;switch(e.type){case`rule`:return{reasonString:`Permission rule ${Hl.bold(bd(e.rule.ruleValue))} requires confirmation for this ${t}.`,configString:e.rule.source===`policySettings`?void 0:`/permissions to update rules`};case`hook`:{let n=e.reason?`:\n${e.reason}`:`.`,r=e.hookSource?` ${Hl.dim(`[${e.hookSource}]`)}`:``;return{reasonString:`Hook ${Hl.bold(e.hookName)} requires confirmation for this ${t}${n}${r}`,configString:`/hooks to update`}}case`safetyCheck`:case`other`:return{reasonString:e.reason,configString:void 0};case`workingDir`:return{reasonString:e.reason,configString:`/permissions to update rules`};default:return null}}function Ly({permissionResult:e,toolType:t}){let n=G(e=>e.toolPermissionContext.mode),r=Iy(e?.decisionReason,t);if(!r)return null;let i=r.themeColor??(e?.decisionReason?.type===`hook`&&n===`auto`?`warning`:void 0);return(0,$.jsxs)(K,{marginBottom:1,flexDirection:`column`,children:[i?(0,$.jsx)(q,{color:i,children:r.reasonString}):(0,$.jsx)(q,{children:(0,$.jsx)(yl,{children:r.reasonString})}),r.configString&&(0,$.jsx)(q,{dimColor:!0,children:r.configString})]})}l(),J(),Mi(),fg();function Ry({questions:e,currentQuestionIndex:t,answers:n,allQuestionsAnswered:r,permissionResult:i,minContentHeight:a,onFinalResponse:o}){return(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(_l,{color:`inactive`}),(0,$.jsxs)(K,{flexDirection:`column`,borderTop:!0,borderColor:`inactive`,paddingTop:0,children:[(0,$.jsx)(Ny,{questions:e,currentQuestionIndex:t,answers:n}),(0,$.jsx)(mg,{title:`Review your answers`,color:`text`}),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,minHeight:a,children:[!r&&(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsxs)(q,{color:`warning`,children:[u.warning,` You have not answered all questions`]})}),Object.keys(n).length>0&&(0,$.jsx)(K,{flexDirection:`column`,marginBottom:1,children:e.filter(e=>e?.question&&n[e.question]).map(e=>{let t=n[e?.question];return(0,$.jsxs)(K,{flexDirection:`column`,marginLeft:1,children:[(0,$.jsxs)(q,{children:[u.bullet,` `,e?.question||`Question`]}),(0,$.jsx)(K,{marginLeft:2,children:(0,$.jsxs)(q,{color:`success`,children:[u.arrowRight,` `,t]})})]},e?.question||`answer`)})}),(0,$.jsx)(Ly,{permissionResult:i,toolType:`tool`}),(0,$.jsx)(q,{color:`inactive`,children:`Ready to submit your answers?`}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(Gn,{options:[{type:`text`,label:`Submit answers`,value:`submit`},{type:`text`,label:`Cancel`,value:`cancel`}],onChange:e=>o(e),onCancel:()=>o(`cancel`)})})]})]})]})}function zy(e,t){switch(t.type){case`next-question`:return{...e,currentQuestionIndex:e.currentQuestionIndex+1,isInTextInput:!1};case`prev-question`:return{...e,currentQuestionIndex:Math.max(0,e.currentQuestionIndex-1),isInTextInput:!1};case`update-question-state`:{let n=e.questionStates[t.questionText],r={selectedValue:t.updates.selectedValue??n?.selectedValue??(t.isMultiSelect?[]:void 0),textInputValue:t.updates.textInputValue??n?.textInputValue??``};return{...e,questionStates:{...e.questionStates,[t.questionText]:r}}}case`set-answer`:{let n={...e,answers:{...e.answers,[t.questionText]:t.answer}};return t.shouldAdvance?{...n,currentQuestionIndex:n.currentQuestionIndex+1,isInTextInput:!1}:n}case`set-text-input-mode`:return{...e,isInTextInput:t.isInInput}}}var By={currentQuestionIndex:0,answers:{},questionStates:{},isInTextInput:!1};function Vy(){let[e,t]=(0,Q.useReducer)(zy,By),n=(0,Q.useCallback)(()=>{t({type:`next-question`})},[]),r=(0,Q.useCallback)(()=>{t({type:`prev-question`})},[]),i=(0,Q.useCallback)((e,n,r)=>{t({type:`update-question-state`,questionText:e,updates:n,isMultiSelect:r})},[]),a=(0,Q.useCallback)((e,n,r=!0)=>{t({type:`set-answer`,questionText:e,answer:n,shouldAdvance:r})},[]),o=(0,Q.useCallback)(e=>{t({type:`set-text-input-mode`,isInInput:e})},[]);return{currentQuestionIndex:e.currentQuestionIndex,answers:e.answers,questionStates:e.questionStates,isInTextInput:e.isInTextInput,nextQuestion:n,prevQuestion:r,updateQuestionState:i,setAnswer:a,setTextInputMode:o}}Ls(),zc(),J(),io(),Mf(),W(),et(),xf(),ke();var Hy=12,Uy=40,Wy=15;function Gy(e){return Ot().syntaxHighlightingDisabled?(0,$.jsx)(qy,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(qy,{...e,highlight:null}),children:(0,$.jsx)(Ky,{...e})})}function Ky(e){let t=(0,Q.use)(ie());return(0,$.jsx)(qy,{...e,highlight:t})}function qy({toolUseConfirm:e,onDone:t,onReject:n,highlight:r}){let i=(0,Q.useMemo)(()=>nt.inputSchema.safeParse(e.input),[e.input]),a=i.success&&i.data.questions||[],{rows:o}=Zl(),[s]=Sl(),{globalContentHeight:c,globalContentWidth:l}=(0,Q.useMemo)(()=>{let e=0,t=0,n=Math.max(Hy,o-Wy);for(let i of a)if(i.options.some(e=>e.preview)){let a=Math.max(1,n-11),o=0;for(let e of i.options)if(e.preview){let n=yr(e.preview,s,r).split(`
|
|
3
3
|
`),i=n.length>a,c=i?a:n.length;o=Math.max(o,c+ +!!i+2);for(let e of n)t=Math.max(t,bl(e))}let c=o+2,l=i.options.length+2;e=Math.max(e,Math.max(l,c)+7)}else e=Math.max(e,i.options.length+3+7);return{globalContentHeight:Math.min(Math.max(e,Hy),n),globalContentWidth:Math.max(t,Uy)}},[a,o,s,r]),u=i.success?i.data.metadata?.source:void 0,[d,f]=(0,Q.useState)({}),p=(0,Q.useRef)(0);function m(e,t,n,r,i,a){let o=p.current++,s={id:o,type:`image`,content:t,mediaType:n||`image/png`,filename:r||`Pasted image`,dimensions:i};ki(s),mc(s),f(t=>({...t,[e]:{...t[e]??{},[o]:s}}))}let h=(0,Q.useCallback)((e,t)=>{f(n=>{let r={...n[e]??{}};return delete r[t],{...n,[e]:r}})},[]),g=Object.values(d).flatMap(e=>Object.values(e)).filter(e=>e.type===`image`),_=G(e=>e.toolPermissionContext.mode)===`plan`,v=_?Ei():void 0,{currentQuestionIndex:y,answers:b,questionStates:x,isInTextInput:S,nextQuestion:C,prevQuestion:w,updateQuestionState:T,setAnswer:E,setTextInputMode:D}=Vy(),O=y<(a?.length||0)?a?.[y]:null,k=y===(a?.length||0),A=a?.every(e=>e?.question&&!!b[e.question])??!1,j=a.length===1&&!a[0]?.multiSelect,M=(0,Q.useCallback)(()=>{u&&X(`tengu_ask_user_question_rejected`,{source:u,questionCount:a.length,isInPlanMode:_,interviewPhaseEnabled:_&&fl()}),t(),n(),e.onReject()},[t,n,e,u,a.length,_]),N=(0,Q.useCallback)(async()=>{let n=`The user wants to clarify these questions.
|
|
4
4
|
This means they may have additional information, context or questions for you.
|
|
@@ -60,7 +60,7 @@ Parse the user's input into ISO 8601 format. Return ONLY the formatted string, o
|
|
|
60
60
|
`&&--a):o=n+1}else jw(n)&&e.offset<=t.offset&&(o=e.measuredText.nextOffset(o));return a=e.snapOutOfImageRef(a,`start`),o=e.snapOutOfImageRef(o,`end`),{from:a,to:o,linewise:s}}function Zw(e,t,n){let r=Math.min(e.offset,t.offset),i=Math.max(e.offset,t.offset);return{from:r,to:e.measuredText.nextOffset(i)}}function Qw(e,t,n,r,i=!1){let a=r.text.slice(t,n);if(i&&!a.endsWith(`
|
|
61
61
|
`)&&(a=`${a}\n`),r.setRegister(a,i),e===`yank`)r.setOffset(t);else if(e===`delete`){let e=r.text.slice(0,t)+r.text.slice(n);r.setText(e);let i=Math.max(0,e.length-(Ff(e).length||1));r.setOffset(Math.min(t,i))}else if(e===`change`){let e=r.text.slice(0,t)+r.text.slice(n);r.setText(e),r.enterInsert(t)}}function $w(e,t,n){let r=t===1?n.cursor.startOfLastLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=Xw(n.cursor,r,`G`,e,t);Qw(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`G`,count:t})}function eT(e,t,n){let r=t===1?n.cursor.startOfFirstLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=Xw(n.cursor,r,`gg`,e,t);Qw(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`gg`,count:t})}var tT={d:`delete`,c:`change`,y:`yank`};function nT(e){return e in tT}var rT=new Set([`h`,`l`,`j`,`k`,`w`,`b`,`e`,`W`,`B`,`E`,`0`,`^`,`$`]),iT=new Set([`f`,`F`,`t`,`T`]),aT={i:`inner`,a:`around`};function oT(e){return e in aT}var sT=new Set([`w`,`W`,`"`,`'`,"`",`(`,`)`,`b`,`[`,`]`,`{`,`}`,`B`,`<`,`>`]),cT=1e4;function lT(){return{mode:`INSERT`,insertedText:``}}function uT(){return{lastChange:null,lastFind:null,register:``,registerIsLinewise:!1}}function dT(e,t,n){switch(e.type){case`idle`:return mT(t,n);case`count`:return hT(e,t,n);case`operator`:return gT(e,t,n);case`operatorCount`:return _T(e,t,n);case`operatorFind`:return vT(e,t,n);case`operatorTextObj`:return yT(e,t,n);case`find`:return bT(e,t,n);case`g`:return xT(e,t,n);case`operatorG`:return ST(e,t,n);case`replace`:return CT(e,t,n);case`indent`:return wT(e,t,n)}}function fT(e,t,n){return nT(e)?{next:{type:`operator`,op:tT[e],count:t}}:rT.has(e)?{execute:()=>{let r=kw(e,n.cursor,t);n.setOffset(r.offset)}}:iT.has(e)?{next:{type:`find`,find:e,count:t}}:e===`g`?{next:{type:`g`,count:t}}:e===`r`?{next:{type:`replace`,count:t}}:e===`>`||e===`<`?{next:{type:`indent`,dir:e,count:t}}:e===`~`?{execute:()=>Ww(t,n)}:e===`x`?{execute:()=>Hw(t,n)}:e===`J`?{execute:()=>Gw(t,n)}:e===`p`||e===`P`?{execute:()=>Kw(e===`p`,t,n)}:e===`D`?{execute:()=>Rw(`delete`,`$`,1,n)}:e===`C`?{execute:()=>Rw(`change`,`$`,1,n)}:e===`Y`?{execute:()=>Vw(`yank`,t,n)}:e===`G`?{execute:()=>{t===1?n.setOffset(n.cursor.startOfLastLine().offset):n.setOffset(n.cursor.goToLine(t).offset)}}:e===`.`?{execute:()=>n.onDotRepeat?.()}:e===`;`||e===`,`?{execute:()=>TT(e===`,`,t,n)}:e===`u`?{execute:()=>n.onUndo?.()}:e===`i`?{execute:()=>n.enterInsert(n.cursor.offset)}:e===`I`?{execute:()=>n.enterInsert(n.cursor.firstNonBlankInLogicalLine().offset)}:e===`a`?{execute:()=>{let e=n.cursor.isAtEnd()?n.cursor.offset:n.cursor.right().offset;n.enterInsert(e)}}:e===`A`?{execute:()=>n.enterInsert(n.cursor.endOfLogicalLine().offset)}:e===`o`?{execute:()=>Jw(`below`,n)}:e===`O`?{execute:()=>Jw(`above`,n)}:null}function pT(e,t,n,r){return oT(n)?{next:{type:`operatorTextObj`,op:e,count:t,scope:aT[n]}}:iT.has(n)?{next:{type:`operatorFind`,op:e,count:t,find:n}}:rT.has(n)?{execute:()=>Rw(e,n,t,r)}:n===`G`?{execute:()=>$w(e,t,r)}:n===`g`?{next:{type:`operatorG`,op:e,count:t}}:null}function mT(e,t){return/[1-9]/.test(e)?{next:{type:`count`,digits:e}}:e===`0`?{execute:()=>t.setOffset(t.cursor.startOfLogicalLine().offset)}:fT(e,1,t)||{}}function hT(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t;return{next:{type:`count`,digits:String(Math.min(parseInt(n,10),cT))}}}return fT(t,parseInt(e.digits,10),n)||{next:{type:`idle`}}}function gT(e,t,n){return t===e.op[0]?{execute:()=>Vw(e.op,e.count,n)}:/[0-9]/.test(t)?{next:{type:`operatorCount`,op:e.op,count:e.count,digits:t}}:pT(e.op,e.count,t,n)||{next:{type:`idle`}}}function _T(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t,r=Math.min(parseInt(n,10),cT);return{next:{...e,digits:String(r)}}}let r=parseInt(e.digits,10),i=e.count*r;return pT(e.op,i,t,n)||{next:{type:`idle`}}}function vT(e,t,n){return{execute:()=>zw(e.op,e.find,t,e.count,n)}}function yT(e,t,n){return sT.has(t)?{execute:()=>Bw(e.op,e.scope,t,e.count,n)}:{next:{type:`idle`}}}function bT(e,t,n){return{execute:()=>{let r=n.cursor.findCharacter(t,e.find,e.count);r!==null&&(n.setOffset(r),n.setLastFind(e.find,t))}}}function xT(e,t,n){return t===`j`||t===`k`?{execute:()=>{let r=kw(`g${t}`,n.cursor,e.count);n.setOffset(r.offset)}}:t===`g`?e.count>1?{execute:()=>{let t=n.text.split(`
|
|
62
62
|
`),r=Math.min(e.count-1,t.length-1),i=0;for(let e=0;e<r;e++)i+=(t[e]?.length??0)+1;n.setOffset(i)}}:{execute:()=>n.setOffset(n.cursor.startOfFirstLine().offset)}:{next:{type:`idle`}}}function ST(e,t,n){return t===`j`||t===`k`?{execute:()=>Rw(e.op,`g${t}`,e.count,n)}:t===`g`?{execute:()=>eT(e.op,e.count,n)}:{next:{type:`idle`}}}function CT(e,t,n){return t===``?{next:{type:`idle`}}:{execute:()=>Uw(t,e.count,n)}}function wT(e,t,n){return t===e.dir?{execute:()=>qw(e.dir,e.count,n)}:{next:{type:`idle`}}}function TT(e,t,n){let r=n.getLastFind();if(!r)return;let i=r.type;e&&(i={f:`F`,F:`f`,t:`T`,T:`t`}[i]);let a=n.cursor.findCharacter(r.char,i,t);a!==null&&n.setOffset(a)}$c(),Pf();function ET(e){let t=Q.useRef(lT()),[n,r]=(0,Q.useState)(`INSERT`),i=Q.useRef(uT()),a=lo({...e,inputFilter:void 0}),{onModeChange:o,inputFilter:s}=e,c=(0,Q.useCallback)(e=>{e!==void 0&&a.setOffset(e),t.current={mode:`INSERT`,insertedText:``},r(`INSERT`),o?.(`INSERT`)},[a,o]),l=(0,Q.useCallback)(()=>{let n=t.current;n.mode===`INSERT`&&n.insertedText&&(i.current.lastChange={type:`insert`,text:n.insertedText});let s=a.offset;s>0&&e.value[s-1]!==`
|
|
63
|
-
`&&a.setOffset(s-1),t.current={mode:`NORMAL`,command:{type:`idle`}},r(`NORMAL`),o?.(`NORMAL`)},[o,a,e.value]);function u(t,n=!1){return{cursor:t,text:e.value,setText:t=>e.onChange(t),setOffset:e=>a.setOffset(e),enterInsert:e=>c(e),getRegister:()=>i.current.register,setRegister:(e,t)=>{i.current.register=e,i.current.registerIsLinewise=t},getLastFind:()=>i.current.lastFind,setLastFind:(e,t)=>{i.current.lastFind={type:e,char:t}},recordChange:n?()=>{}:e=>{i.current.lastChange=e}}}function d(){let t=i.current.lastChange;if(!t)return;let n=Ii.fromText(e.value,e.columns,a.offset),r=u(n,!0);switch(t.type){case`insert`:if(t.text){let r=n.insert(t.text);e.onChange(r.text),a.setOffset(r.offset)}break;case`x`:Hw(t.count,r);break;case`replace`:Uw(t.char,t.count,r);break;case`toggleCase`:Ww(t.count,r);break;case`indent`:qw(t.dir,t.count,r);break;case`join`:Gw(t.count,r);break;case`openLine`:Jw(t.direction,r);break;case`operator`:Rw(t.op,t.motion,t.count,r);break;case`operatorFind`:zw(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:Bw(t.op,t.scope,t.objType,t.count,r);break}}function f(n,r){let i=t.current,o=s?s(n,r):n,c=i.mode===`INSERT`?o:n,f=Ii.fromText(e.value,e.columns,a.offset);if(r.ctrl){a.onInput(c,r);return}if(r.escape&&i.mode===`INSERT`){l();return}if(r.escape&&i.mode===`NORMAL`){t.current={mode:`NORMAL`,command:{type:`idle`}};return}if(r.return){a.onInput(c,r);return}if(i.mode===`INSERT`){r.backspace||r.delete?i.insertedText.length>0&&(t.current={mode:`INSERT`,insertedText:i.insertedText.slice(0,-(Ff(i.insertedText).length||1))}):t.current={mode:`INSERT`,insertedText:i.insertedText+c},a.onInput(c,r);return}if(i.mode!==`NORMAL`)return;if(i.command.type===`idle`&&(r.upArrow||r.downArrow||r.leftArrow||r.rightArrow)){a.onInput(c,r);return}let p={...u(f,!1),onUndo:e.onUndo,onDotRepeat:d},m=i.command.type===`idle`||i.command.type===`count`||i.command.type===`operator`||i.command.type===`operatorCount`,h=c;r.leftArrow?h=`h`:r.rightArrow?h=`l`:r.upArrow?h=`k`:r.downArrow?h=`j`:m&&r.backspace?h=`h`:m&&i.command.type!==`count`&&r.delete&&(h=`x`);let g=dT(i.command,h,p);g.execute&&g.execute(),t.current.mode===`NORMAL`&&(g.next?t.current={mode:`NORMAL`,command:g.next}:g.execute&&(t.current={mode:`NORMAL`,command:{type:`idle`}})),c===`?`&&i.mode===`NORMAL`&&i.command.type===`idle`&&e.onChange(`?`)}let p=(0,Q.useCallback)(e=>{e===`INSERT`?t.current={mode:`INSERT`,insertedText:``}:t.current={mode:`NORMAL`,command:{type:`idle`}},r(e),o?.(e)},[o]);return{...a,onInput:f,mode:n,setMode:p}}Gl(),J();function DT(e){let[t]=Sl(),n=Ml();Ft(n,!!e.onImagePaste);let r=ET({value:e.value,onChange:e.onChange,onSubmit:e.onSubmit,onExit:e.onExit,onExitMessage:e.onExitMessage,onHistoryReset:e.onHistoryReset,onHistoryUp:e.onHistoryUp,onHistoryDown:e.onHistoryDown,onClearInput:e.onClearInput,focus:e.focus,mask:e.mask,multiline:e.multiline,cursorChar:e.showCursor?` `:``,highlightPastedText:e.highlightPastedText,invert:n?Hl.inverse:e=>e,themeText:Jl(`text`,t),columns:e.columns,maxVisibleLines:e.maxVisibleLines,onImagePaste:e.onImagePaste,disableCursorMovementForUpDownKeys:e.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:e.disableEscapeDoublePress,externalOffset:e.cursorOffset,onOffsetChange:e.onChangeCursorOffset,inputFilter:e.inputFilter,onModeChange:e.onModeChange,onUndo:e.onUndo}),{mode:i,setMode:a}=r;return Q.useEffect(()=>{e.initialMode&&e.initialMode!==i&&a(e.initialMode)},[e.initialMode,i,a]),(0,$.jsx)(K,{flexDirection:`column`,children:(0,$.jsx)(bc,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}ur(),yg(),o();function OT(e){if(!e)return null;let t=e.input_tokens+e.cache_creation_input_tokens+e.cache_read_input_tokens;return t===0?null:Math.round(e.cache_read_input_tokens/t*100)}function kT(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function AT(e){let t=c_(`sha256`).update(e).digest(`hex`).slice(0,16);return s_(i(),`cache-stats`,`${t}.json`)}var jT={version:1,signature:null,lastResetAt:null,lastHitRate:null};function MT(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&(t.signature===null||typeof t.signature==`string`)&&(t.lastResetAt===null||typeof t.lastResetAt==`number`)&&(t.lastHitRate===null||typeof t.lastHitRate==`number`)}async function NT(e){try{let t=await __(e,`utf8`),n=JSON.parse(t);return MT(n)?n:{...jT}}catch{return{...jT}}}async function PT(e,t){await g_(o_(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await y_(n,JSON.stringify(t),`utf8`),await v_(n,e)}catch{}}var FT={signature:null,lastResetAt:null,lastHitRate:null},IT=null;async function LT(e){IT=e;let t=await NT(AT(e));FT={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function RT(e){let t=kT(e),n=OT(e);return t!==FT.signature&&(FT={signature:t,lastResetAt:Date.now(),lastHitRate:n},IT!==null&&PT(AT(IT),{version:1,signature:t,lastResetAt:FT.lastResetAt,lastHitRate:n})),{...FT}}function zT(){return{...FT}}J(),Hf(),zc();function BT(e){let t=e-Date.now()/1e3;if(t<=0)return`now`;let n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60);return n>=1?`${n}d${r}h`:r>=1?`${r}h${i}m`:`${i}m`}function VT(){return(0,$.jsx)(q,{dimColor:!0,children:` │ `})}function HT({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=Zl(),[s,c]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(!((a.five_hour?.resets_at??0)||(a.seven_day?.resets_at??0)))return;let e=setInterval(()=>c(e=>e+1),6e4);return()=>clearInterval(e)},[a.five_hour?.resets_at,a.seven_day?.resets_at]);let l=e.split(` `),u=l.length>=2?`${l[0]} ${l[1]}`:e,d=o<60,f=a.five_hour!=null,p=a.seven_day!=null,m=f?Math.round(a.five_hour.utilization*100):0,h=p?Math.round(a.seven_day.utilization*100):0,g=`${Rf(n)}/${Rf(r)}`;return(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{children:u}),(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Context `}),(0,$.jsxs)(q,{children:[t,`%`]}),!d&&(0,$.jsxs)(q,{dimColor:!0,children:[` (`,g,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Session `}),(0,$.jsxs)(q,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,BT(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(q,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,BT(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{children:P(i)})]})]})}var UT=Q.memo(HT);Mf(),W(),Nu(),vi(),vn(),Vh(),Ls(),J(),Qt(),rf(),Qf(),nd(),hd(),fo(),Ut(),_p(),fa(),Ce(),Hf();var WT=3600*1e3;function GT(e){return String(Math.floor(e)).padStart(2,`0`)}function KT(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${GT(t)}:${GT(n)}`}function qT({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=xr(e),o=(0,Q.useRef)(null);if(a!==null){let e=kT(a);e!==o.current&&(o.current=e,RT(a))}let{lastResetAt:s,lastHitRate:c}=zT(),l=s===null?null:t-s,u=l===null?null:WT-l,d=l===null?null:l/6e4,f=u!==null&&u<=0;(0,Q.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);let p=d!==null&&d>=55&&!f;(0,Q.useEffect)(()=>{if(!p){i(!0);return}let e=setInterval(()=>i(e=>!e),500);return()=>clearInterval(e)},[p]);let m=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{m.current||(m.current=!0,LT(Ju()))},[]);let h=a===null?c:OT(a);if(h===null&&s===null)return(0,$.jsx)(q,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:KT(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{dimColor:!0,children:` Cache `}),(0,$.jsx)(q,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(q,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function JT(){return null}function YT(e){return e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function XT(e,t,n,r,i,a,o){let s=Pu(),c=al(),l=Dp({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=xr(r),f=ep(l,Ru()),p=ap(d,f),m=Zs(Ju()),h=yt(),g={...h.five_hour&&{five_hour:{used_percentage:h.five_hour.utilization*100,resets_at:h.five_hour.resets_at}},...h.seven_day&&{seven_day:{used_percentage:h.seven_day.utilization*100,resets_at:h.seven_day.resets_at}}};return{...sn(),...m&&{session_name:m},model:{id:l,display_name:lp(l)},workspace:{current_dir:rd(),project_dir:Bu(),added_dirs:i},version:`0.0.16`,output_style:{name:u},cost:{total_cost_usd:Cu(),total_duration_ms:Su(),total_api_duration_ms:ku(),total_lines_added:Wu(),total_lines_removed:yu()},context_window:{total_input_tokens:Du(),total_output_tokens:Uu(),context_window_size:f,current_usage:d,used_percentage:p.used,remaining_percentage:p.remaining},exceeds_200k_tokens:t,...(g.five_hour||g.seven_day)&&{rate_limits:g},...gg()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...bu()&&{remote:{session_id:Ju()}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function ZT(e){return bn(e)?.uuid??null}function QT({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=G(e=>e.toolPermissionContext.mode),a=G(e=>e.toolPermissionContext.additionalWorkingDirectories),o=G(e=>e.statusLineText),s=y(),c=Ot(),{addNotification:l}=si(),u=Bh(),d=(0,Q.useRef)(c);d.current=c;let f=(0,Q.useRef)(n);f.current=n;let p=(0,Q.useRef)(i);p.current=i;let m=(0,Q.useRef)(a);m.current=a;let h=(0,Q.useRef)(u);h.current=u;let g=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),_=(0,Q.useRef)(void 0),v=(0,Q.useRef)(!0),b=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=v.current;if(v.current=!1,d.current?.statusLine?.command)try{let e=g.current.exceeds200kTokens,r=ZT(n);r!==g.current.messageId&&(e=B(n),g.current.messageId=r,g.current.exceeds200kTokens=e);let a=await pi(XT(p.current,e,d.current,n,Array.from(m.current.keys()),h.current,f.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),x=(0,Q.useCallback)(()=>{_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout((e,t)=>{e.current=void 0,t()},300,_,b)},[b]);(0,Q.useEffect)(()=>{(t!==g.current.messageId||i!==g.current.permissionMode||n!==g.current.vimMode||u!==g.current.mainLoopModel)&&(g.current.permissionMode=i,g.current.vimMode=n,g.current.mainLoopModel=u,x())},[t,i,n,u,x]);let S=c?.statusLine?.command,C=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(C.current){C.current=!1;return}v.current=!0,b()},[S,b]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(X(`tengu_status_line_mount`,{command_length:e.command.length,padding:e.padding}),c.disableAllHooks===!0&&Y(`Status line is configured but disableAllHooks is true`,{level:`warn`}),af()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),Y(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(b(),()=>{r.current?.abort(),_.current!==void 0&&clearTimeout(_.current)}),[]);let w=c?.statusLine?.padding??0,T=Dp({permissionMode:i,mainLoopModel:u,exceeds200kTokens:g.current.exceeds200kTokens}),E=ep(T,Ru()),D=xr(e.current),O=D?D.input_tokens+D.cache_creation_input_tokens+D.cache_read_input_tokens:0,k=D?Math.round(ap(D,E).used??0):0,A=yt(),j={...A.five_hour&&{five_hour:{utilization:A.five_hour.utilization,resets_at:A.five_hour.resets_at}},...A.seven_day&&{seven_day:{utilization:A.seven_day.utilization,resets_at:A.seven_day.resets_at}}},M=c?.statusLineEnabled===!0,N=!!c?.statusLine?.command;return(0,$.jsxs)(K,{flexDirection:`column`,paddingX:w,children:[M&&(0,$.jsxs)(K,{gap:2,children:[(0,$.jsx)(UT,{modelName:lp(T),contextUsedPct:k,usedTokens:O,contextWindowSize:E,totalCostUsd:Cu(),rateLimits:j}),(0,$.jsx)(JT,{}),(0,$.jsx)(qT,{messages:e.current})]}),o?(0,$.jsx)(q,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(yl,{children:o})}):N&&Yr()?(0,$.jsx)(q,{children:` `}):null]})}var $T=(0,Q.memo)(QT);l(),W(),Nn(),J();function eE({tasksSelected:e,onOpenDialog:t}){let n=G(e=>e.tasks),r=(0,Q.useMemo)(()=>Object.values(n??{}).filter(e=>Kt(e)),[n]);return Ig(n??{},!1)||r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(tE,{selected:e,onClick:t,children:dn(r)}),Pe(r)&&(0,$.jsxs)(q,{dimColor:!0,children:[` · `,u.arrowDown,` to view`]})]})}function tE({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(q,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(K,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}J(),Ko();function nE({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(K,{gap:1,children:[(0,$.jsx)(q,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(_a,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:bl(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}pf(),ff(),yd();var rE=5e3;function iE(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function aE(){if(!await df())return null;let[e,t]=await Promise.all([lf(),cf()]);if(e===t)return null;let{stdout:n,code:r}=await mf(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:rE,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=ld(n);return e.headRefName===t||e.headRefName===`main`||e.headRefName===`master`||e.state===`MERGED`||e.state===`CLOSED`?null:{number:e.number,url:e.url,reviewState:iE(e.isDraft,e.reviewDecision)}}catch{return null}}Nu();var oE=6e4,sE=4e3,cE=60*6e4,lE={number:null,url:null,reviewState:null,lastUpdated:0};function uE(e,t=!0){let[n,r]=(0,Q.useState)(lE),i=(0,Q.useRef)(null),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(0);return(0,Q.useEffect)(()=>{if(!t||a.current)return;let e=!1,n=-1,s=Date.now();async function c(){if(e)return;let t=Mu();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=cE)return;let l=Date.now(),u=await aE();if(!e){if(o.current=l,r(e=>{let t=u?.number??null,n=u?.reviewState??null;return e.number===t&&e.reviewState===n?e:{number:t,url:u?.url??null,reviewState:n,lastUpdated:Date.now()}}),Date.now()-l>sE){a.current=!0;return}e||(i.current=setTimeout(c,oE))}}let l=Date.now()-o.current;return l>=oE?c():i.current=setTimeout(c,oE-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}J(),l(),yg(),Qa(),Ed(),ut(),Od(),zg(),W(),Nu(),zc(),Hf(),Dr(),_p(),rf(),kf(),re();var dE=()=>null,fE=5e3,pE=1e3;function mE(){let[e,t]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{function e(){let e=process.memoryUsage().rss/(1024*1024),n=e>=1024?`error`:e>=512?`warning`:`normal`,r=Vf(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,fE);return()=>clearInterval(n)},[]),e}function hE(){let e=(0,Q.useSyncExternalStore)(lm,um,dE),[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(e===null){n(null);return}function t(){let t=Math.max(0,Math.ceil((e-Date.now())/1e3));n(t)}t();let r=setInterval(t,1e3);return()=>clearInterval(r)},[e]),t===null?null:(0,$.jsxs)(q,{dimColor:!0,children:[`waiting `,Bf(t*1e3,{mostSignificantOnly:!0})]})}function gE(){let[t,n]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),pE);return()=>clearInterval(e)},[]);let r=(M(),e(Cn)),i=r.getGoal();if(!i)return null;let a=r.getActiveElapsedMs(i),o=Math.floor(a/1e3),s=Math.floor(o/3600),c=Math.floor(o%3600/60),l=o%60,u;u=s>=1?`${s}h${c}min`:c>=1?`${c}min`:`${l}s`;let d;switch(i.status){case`active`:d=`ansi:green`;break;case`paused`:case`budget_limited`:case`usage_limited`:d=`ansi:yellow`;break;case`blocked`:d=`ansi:red`;break;case`complete`:d=`ansi:cyan`;break}return(0,$.jsxs)(q,{color:d,children:[`goal (`,u,`)`]})}function _E({exitMessage:e,vimMode:t,mode:n,toolPermissionContext:r,suppressHint:i,isLoading:a,tasksSelected:o,tmuxSelected:s,isPasting:c,isSearching:l,historyQuery:u,setHistoryQuery:d,historyFailedMatch:f,onOpenTasksDialog:p}){if(e.show)return(0,$.jsxs)(q,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(c)return(0,$.jsx)(q,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let m=gg()&&t===`INSERT`&&!l;return(0,$.jsxs)(K,{justifyContent:`flex-start`,gap:1,children:[l&&(0,$.jsx)(nE,{value:u,onChange:d,historyFailedMatch:f}),m?(0,$.jsx)(q,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(vE,{mode:n,toolPermissionContext:r,showHint:!i&&!m,isLoading:a,tasksSelected:o,tmuxSelected:s,onOpenTasksDialog:p})]})}function vE({mode:t,toolPermissionContext:n,showHint:r,isLoading:i,tasksSelected:a,tmuxSelected:o,onOpenTasksDialog:s}){let{columns:c}=Zl(),l=Pi(`chat:cycleMode`,`Chat`,`shift+tab`),d=G(e=>e.tasks),f=Un(),[p]=(0,Q.useState)(()=>f.getState().remoteSessionUrl),m=uE(i,bE()),h=(0,Q.useSyncExternalStore)(lm,um,dE),g=Vl(),_=Xl().getState,v=h!==null,y=(0,Q.useMemo)(()=>wd(Object.values(d),e=>Kt(e)),[d]),b=Ze(),x=b!==void 0&&b.length>0,S=Pi(`chat:cancel`,`Chat`,`esc`).toLowerCase(),C=Pi(`app:toggleTodos`,`Global`,`ctrl+t`),w=Pi(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),T=G(e=>e.notifications.current?.key===`kill-agents-confirm`),E=mE(),D=(0,Q.useMemo)(()=>lp(jp()),[G(e=>e.mainLoopModel)]);if(t===`bash`)return(0,$.jsx)(q,{color:`bashBorder`,children:`! for bash mode`});let O=n?.mode,k=!Dd(O),A=y>0,j=+!!k+ +!!A,N=bE()&&m.number!==null&&m.reviewState!==null&&m.url!==null&&j<2&&(j===0||c>=80),ee=j<2,te=O&&k&&!bu()?(0,$.jsxs)(q,{color:zd(O),children:[Td(O),` `,kd(O).toLowerCase(),` on`,ee&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,(0,$.jsx)(vl,{shortcut:l,action:`cycle`,parens:!0})]})]},`mode`):null,P=[...p?[(0,$.jsx)(Tl,{url:p,children:(0,$.jsxs)(q,{color:`ide`,children:[u.circleDouble,` remote`]})},`remote`)]:[],...N?[(0,$.jsx)(ll,{number:m.number,url:m.url,reviewState:m.reviewState},`pr-status`)]:[],...E?[(0,$.jsxs)(q,{dimColor:E.level===`normal`,color:E.level===`error`?`error`:E.level===`warning`?`warning`:void 0,children:[E.text,` · pid:`,process.pid,` · `,D]},`rss`)]:[],...(M(),e(Cn)).getGoal()?[(0,$.jsx)(gE,{},`goal-elapsed`)]:[]],F=Object.values(d).some(e=>e.type===`local_agent`&&e.status===`running`),I=r?yE(i,S,C,w,x,F,T):[];v?P.push((0,$.jsx)(hE,{},`proactive`)):r&&P.push(...I);let L=A&&!Ig(d,!1)?(0,$.jsx)(eE,{tasksSelected:a,onOpenDialog:s}):null;P.length===0&&!L&&!te&&r&&P.push((0,$.jsx)(q,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let ne=nf().copyOnSelect??!0,re=g&&(!ne||ql());if(Yr()&&re){let e=Of()===`macos`,t=e&&(_()?.lastPressHadAlt??!1);P.push((0,$.jsx)(q,{dimColor:!0,children:(0,$.jsxs)(Ol,{children:[!ne&&(0,$.jsx)(vl,{shortcut:`ctrl+c`,action:`copy`}),ql()&&(t?(0,$.jsx)(q,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(vl,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}return L&&r&&P.push((0,$.jsx)(q,{dimColor:!0,children:a?(0,$.jsx)(vl,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(vl,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),P.length===0&&!L&&!te?Yr()?(0,$.jsx)(q,{children:` `}):null:(0,$.jsxs)(K,{height:1,overflow:`hidden`,children:[te&&(0,$.jsxs)(K,{flexShrink:0,children:[te,(L||P.length>0)&&(0,$.jsx)(q,{dimColor:!0,children:` · `})]}),L&&(0,$.jsxs)(K,{flexShrink:0,children:[L,P.length>0&&(0,$.jsx)(q,{dimColor:!0,children:` · `})]}),P.length>0&&(0,$.jsx)(q,{wrap:`truncate`,children:(0,$.jsx)(Ol,{children:P})})]})}function yE(e,t,n,r,i,a,o){let s=i;return[...e?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&a&&!o?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...s?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:n,action:`show tasks`})},`toggle-tasks`)]:[]]}function bE(){return nf().prStatusFooterEnabled??!0}Ls(),zc(),J(),Dr(),Ah(),vg();function xE({apiKeyStatus:e,debug:t,exitMessage:n,vimMode:r,mode:i,autoUpdaterResult:a,isAutoUpdating:o,verbose:s,onAutoUpdaterResult:c,onChangeIsUpdating:l,suggestions:u,selectedSuggestion:d,maxColumnWidth:f,toolPermissionContext:p,helpOpen:m,suppressHint:h,isLoading:g,tasksSelected:_,bridgeSelected:v,tmuxSelected:y,ideSelection:b,mcpClients:x,isPasting:S=!1,isInputWrapped:C=!1,messages:w,isSearching:T,historyQuery:E,setHistoryQuery:D,historyFailedMatch:O,onOpenTasksDialog:k}){let A=Ot(),{columns:j,rows:M}=Zl(),N=(0,Q.useRef)(w);N.current=w;let ee=(0,Q.useMemo)(()=>ZT(w),[w]),te=j<80,P=Yr(),F=P&&M<24,I=_,L=h||YT(A)||T;return Eg((0,Q.useMemo)(()=>P&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[P,u,d,f])),u.length&&!P?(0,$.jsx)(K,{paddingX:2,paddingY:0,children:(0,$.jsx)(jh,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(bg,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)(K,{flexDirection:te?`column`:`row`,justifyContent:te?`flex-start`:`space-between`,paddingX:2,gap:+!te,children:[(0,$.jsxs)(K,{flexDirection:`column`,flexShrink:+!te,children:[i===`prompt`&&!F&&!n.show&&!S&&YT(A)&&(0,$.jsx)($T,{messagesRef:N,lastAssistantMessageId:ee,vimMode:r}),(0,$.jsx)(CE,{}),(0,$.jsx)(_E,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:L,isLoading:g,tasksSelected:I,tmuxSelected:y,isPasting:S,isSearching:T,historyQuery:E,setHistoryQuery:D,historyFailedMatch:O,onOpenTasksDialog:k})]}),(0,$.jsx)(K,{flexShrink:1,gap:1,children:P?null:(0,$.jsx)(RS,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:w,onAutoUpdaterResult:c,onChangeIsUpdating:l,ideSelection:b,mcpClients:x,isInputWrapped:C,isNarrow:te})})]})}var SE=(0,Q.memo)(xE);function CE(){return null}l(),J();function wE({isLoading:e}){return(0,$.jsxs)(q,{dimColor:e,children:[u.pointer,`\xA0`]})}function TE({mode:e,isLoading:t}){return(0,$.jsx)(K,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:e===`bash`?(0,$.jsx)(q,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(wE,{isLoading:t})})}J();var EE=Q.createContext(void 0),DE=2;function OE({isFirst:e,children:t}){let n=DE,r=Q.useMemo(()=>({isQueued:!0,isFirst:e,paddingWidth:n*2}),[e,n]);return(0,$.jsx)(EE.Provider,{value:r,children:(0,$.jsx)(K,{paddingX:n,children:t})})}J(),W(),ec(),Ut(),yd(),nn();var kE=new Set;function AE(e){try{return ld(e)?.type===`idle_notification`}catch{return!1}}var jE=3;function ME(e){return`<${hf}>
|
|
63
|
+
`&&a.setOffset(s-1),t.current={mode:`NORMAL`,command:{type:`idle`}},r(`NORMAL`),o?.(`NORMAL`)},[o,a,e.value]);function u(t,n=!1){return{cursor:t,text:e.value,setText:t=>e.onChange(t),setOffset:e=>a.setOffset(e),enterInsert:e=>c(e),getRegister:()=>i.current.register,setRegister:(e,t)=>{i.current.register=e,i.current.registerIsLinewise=t},getLastFind:()=>i.current.lastFind,setLastFind:(e,t)=>{i.current.lastFind={type:e,char:t}},recordChange:n?()=>{}:e=>{i.current.lastChange=e}}}function d(){let t=i.current.lastChange;if(!t)return;let n=Ii.fromText(e.value,e.columns,a.offset),r=u(n,!0);switch(t.type){case`insert`:if(t.text){let r=n.insert(t.text);e.onChange(r.text),a.setOffset(r.offset)}break;case`x`:Hw(t.count,r);break;case`replace`:Uw(t.char,t.count,r);break;case`toggleCase`:Ww(t.count,r);break;case`indent`:qw(t.dir,t.count,r);break;case`join`:Gw(t.count,r);break;case`openLine`:Jw(t.direction,r);break;case`operator`:Rw(t.op,t.motion,t.count,r);break;case`operatorFind`:zw(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:Bw(t.op,t.scope,t.objType,t.count,r);break}}function f(n,r){let i=t.current,o=s?s(n,r):n,c=i.mode===`INSERT`?o:n,f=Ii.fromText(e.value,e.columns,a.offset);if(r.ctrl){a.onInput(c,r);return}if(r.escape&&i.mode===`INSERT`){l();return}if(r.escape&&i.mode===`NORMAL`){t.current={mode:`NORMAL`,command:{type:`idle`}};return}if(r.return){a.onInput(c,r);return}if(i.mode===`INSERT`){r.backspace||r.delete?i.insertedText.length>0&&(t.current={mode:`INSERT`,insertedText:i.insertedText.slice(0,-(Ff(i.insertedText).length||1))}):t.current={mode:`INSERT`,insertedText:i.insertedText+c},a.onInput(c,r);return}if(i.mode!==`NORMAL`)return;if(i.command.type===`idle`&&(r.upArrow||r.downArrow||r.leftArrow||r.rightArrow)){a.onInput(c,r);return}let p={...u(f,!1),onUndo:e.onUndo,onDotRepeat:d},m=i.command.type===`idle`||i.command.type===`count`||i.command.type===`operator`||i.command.type===`operatorCount`,h=c;r.leftArrow?h=`h`:r.rightArrow?h=`l`:r.upArrow?h=`k`:r.downArrow?h=`j`:m&&r.backspace?h=`h`:m&&i.command.type!==`count`&&r.delete&&(h=`x`);let g=dT(i.command,h,p);g.execute&&g.execute(),t.current.mode===`NORMAL`&&(g.next?t.current={mode:`NORMAL`,command:g.next}:g.execute&&(t.current={mode:`NORMAL`,command:{type:`idle`}})),c===`?`&&i.mode===`NORMAL`&&i.command.type===`idle`&&e.onChange(`?`)}let p=(0,Q.useCallback)(e=>{e===`INSERT`?t.current={mode:`INSERT`,insertedText:``}:t.current={mode:`NORMAL`,command:{type:`idle`}},r(e),o?.(e)},[o]);return{...a,onInput:f,mode:n,setMode:p}}Gl(),J();function DT(e){let[t]=Sl(),n=Ml();Ft(n,!!e.onImagePaste);let r=ET({value:e.value,onChange:e.onChange,onSubmit:e.onSubmit,onExit:e.onExit,onExitMessage:e.onExitMessage,onHistoryReset:e.onHistoryReset,onHistoryUp:e.onHistoryUp,onHistoryDown:e.onHistoryDown,onClearInput:e.onClearInput,focus:e.focus,mask:e.mask,multiline:e.multiline,cursorChar:e.showCursor?` `:``,highlightPastedText:e.highlightPastedText,invert:n?Hl.inverse:e=>e,themeText:Jl(`text`,t),columns:e.columns,maxVisibleLines:e.maxVisibleLines,onImagePaste:e.onImagePaste,disableCursorMovementForUpDownKeys:e.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:e.disableEscapeDoublePress,externalOffset:e.cursorOffset,onOffsetChange:e.onChangeCursorOffset,inputFilter:e.inputFilter,onModeChange:e.onModeChange,onUndo:e.onUndo}),{mode:i,setMode:a}=r;return Q.useEffect(()=>{e.initialMode&&e.initialMode!==i&&a(e.initialMode)},[e.initialMode,i,a]),(0,$.jsx)(K,{flexDirection:`column`,children:(0,$.jsx)(bc,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}ur(),yg(),o();function OT(e){if(!e)return null;let t=e.input_tokens+e.cache_creation_input_tokens+e.cache_read_input_tokens;return t===0?null:Math.round(e.cache_read_input_tokens/t*100)}function kT(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function AT(e){let t=c_(`sha256`).update(e).digest(`hex`).slice(0,16);return s_(i(),`cache-stats`,`${t}.json`)}var jT={version:1,signature:null,lastResetAt:null,lastHitRate:null};function MT(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&(t.signature===null||typeof t.signature==`string`)&&(t.lastResetAt===null||typeof t.lastResetAt==`number`)&&(t.lastHitRate===null||typeof t.lastHitRate==`number`)}async function NT(e){try{let t=await __(e,`utf8`),n=JSON.parse(t);return MT(n)?n:{...jT}}catch{return{...jT}}}async function PT(e,t){await g_(o_(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await y_(n,JSON.stringify(t),`utf8`),await v_(n,e)}catch{}}var FT={signature:null,lastResetAt:null,lastHitRate:null},IT=null;async function LT(e){IT=e;let t=await NT(AT(e));FT={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function RT(e){let t=kT(e),n=OT(e);return t!==FT.signature&&(FT={signature:t,lastResetAt:Date.now(),lastHitRate:n},IT!==null&&PT(AT(IT),{version:1,signature:t,lastResetAt:FT.lastResetAt,lastHitRate:n})),{...FT}}function zT(){return{...FT}}J(),Hf(),zc();function BT(e){let t=e-Date.now()/1e3;if(t<=0)return`now`;let n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60);return n>=1?`${n}d${r}h`:r>=1?`${r}h${i}m`:`${i}m`}function VT(){return(0,$.jsx)(q,{dimColor:!0,children:` │ `})}function HT({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=Zl(),[s,c]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(!((a.five_hour?.resets_at??0)||(a.seven_day?.resets_at??0)))return;let e=setInterval(()=>c(e=>e+1),6e4);return()=>clearInterval(e)},[a.five_hour?.resets_at,a.seven_day?.resets_at]);let l=e.split(` `),u=l.length>=2?`${l[0]} ${l[1]}`:e,d=o<60,f=a.five_hour!=null,p=a.seven_day!=null,m=f?Math.round(a.five_hour.utilization*100):0,h=p?Math.round(a.seven_day.utilization*100):0,g=`${Rf(n)}/${Rf(r)}`;return(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{children:u}),(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Context `}),(0,$.jsxs)(q,{children:[t,`%`]}),!d&&(0,$.jsxs)(q,{dimColor:!0,children:[` (`,g,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Session `}),(0,$.jsxs)(q,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,BT(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(q,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,BT(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(VT,{}),(0,$.jsx)(q,{children:P(i)})]})]})}var UT=Q.memo(HT);Mf(),W(),Nu(),vi(),vn(),Vh(),Ls(),J(),Qt(),rf(),Qf(),nd(),hd(),fo(),Ut(),_p(),fa(),Ce(),Hf();var WT=3600*1e3;function GT(e){return String(Math.floor(e)).padStart(2,`0`)}function KT(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${GT(t)}:${GT(n)}`}function qT({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=xr(e),o=(0,Q.useRef)(null);if(a!==null){let e=kT(a);e!==o.current&&(o.current=e,RT(a))}let{lastResetAt:s,lastHitRate:c}=zT(),l=s===null?null:t-s,u=l===null?null:WT-l,d=l===null?null:l/6e4,f=u!==null&&u<=0;(0,Q.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);let p=d!==null&&d>=55&&!f;(0,Q.useEffect)(()=>{if(!p){i(!0);return}let e=setInterval(()=>i(e=>!e),500);return()=>clearInterval(e)},[p]);let m=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{m.current||(m.current=!0,LT(Ju()))},[]);let h=a===null?c:OT(a);if(h===null&&s===null)return(0,$.jsx)(q,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:KT(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{dimColor:!0,children:` Cache `}),(0,$.jsx)(q,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(q,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function JT(){return null}function YT(e){return e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function XT(e,t,n,r,i,a,o){let s=Pu(),c=al(),l=Dp({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=xr(r),f=ep(l,Ru()),p=ap(d,f),m=Zs(Ju()),h=yt(),g={...h.five_hour&&{five_hour:{used_percentage:h.five_hour.utilization*100,resets_at:h.five_hour.resets_at}},...h.seven_day&&{seven_day:{used_percentage:h.seven_day.utilization*100,resets_at:h.seven_day.resets_at}}};return{...sn(),...m&&{session_name:m},model:{id:l,display_name:lp(l)},workspace:{current_dir:rd(),project_dir:Bu(),added_dirs:i},version:`0.0.17`,output_style:{name:u},cost:{total_cost_usd:Cu(),total_duration_ms:Su(),total_api_duration_ms:ku(),total_lines_added:Wu(),total_lines_removed:yu()},context_window:{total_input_tokens:Du(),total_output_tokens:Uu(),context_window_size:f,current_usage:d,used_percentage:p.used,remaining_percentage:p.remaining},exceeds_200k_tokens:t,...(g.five_hour||g.seven_day)&&{rate_limits:g},...gg()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...bu()&&{remote:{session_id:Ju()}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function ZT(e){return bn(e)?.uuid??null}function QT({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=G(e=>e.toolPermissionContext.mode),a=G(e=>e.toolPermissionContext.additionalWorkingDirectories),o=G(e=>e.statusLineText),s=y(),c=Ot(),{addNotification:l}=si(),u=Bh(),d=(0,Q.useRef)(c);d.current=c;let f=(0,Q.useRef)(n);f.current=n;let p=(0,Q.useRef)(i);p.current=i;let m=(0,Q.useRef)(a);m.current=a;let h=(0,Q.useRef)(u);h.current=u;let g=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),_=(0,Q.useRef)(void 0),v=(0,Q.useRef)(!0),b=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=v.current;if(v.current=!1,d.current?.statusLine?.command)try{let e=g.current.exceeds200kTokens,r=ZT(n);r!==g.current.messageId&&(e=B(n),g.current.messageId=r,g.current.exceeds200kTokens=e);let a=await pi(XT(p.current,e,d.current,n,Array.from(m.current.keys()),h.current,f.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),x=(0,Q.useCallback)(()=>{_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout((e,t)=>{e.current=void 0,t()},300,_,b)},[b]);(0,Q.useEffect)(()=>{(t!==g.current.messageId||i!==g.current.permissionMode||n!==g.current.vimMode||u!==g.current.mainLoopModel)&&(g.current.permissionMode=i,g.current.vimMode=n,g.current.mainLoopModel=u,x())},[t,i,n,u,x]);let S=c?.statusLine?.command,C=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(C.current){C.current=!1;return}v.current=!0,b()},[S,b]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(X(`tengu_status_line_mount`,{command_length:e.command.length,padding:e.padding}),c.disableAllHooks===!0&&Y(`Status line is configured but disableAllHooks is true`,{level:`warn`}),af()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),Y(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(b(),()=>{r.current?.abort(),_.current!==void 0&&clearTimeout(_.current)}),[]);let w=c?.statusLine?.padding??0,T=Dp({permissionMode:i,mainLoopModel:u,exceeds200kTokens:g.current.exceeds200kTokens}),E=ep(T,Ru()),D=xr(e.current),O=D?D.input_tokens+D.cache_creation_input_tokens+D.cache_read_input_tokens:0,k=D?Math.round(ap(D,E).used??0):0,A=yt(),j={...A.five_hour&&{five_hour:{utilization:A.five_hour.utilization,resets_at:A.five_hour.resets_at}},...A.seven_day&&{seven_day:{utilization:A.seven_day.utilization,resets_at:A.seven_day.resets_at}}},M=c?.statusLineEnabled===!0,N=!!c?.statusLine?.command;return(0,$.jsxs)(K,{flexDirection:`column`,paddingX:w,children:[M&&(0,$.jsxs)(K,{gap:2,children:[(0,$.jsx)(UT,{modelName:lp(T),contextUsedPct:k,usedTokens:O,contextWindowSize:E,totalCostUsd:Cu(),rateLimits:j}),(0,$.jsx)(JT,{}),(0,$.jsx)(qT,{messages:e.current})]}),o?(0,$.jsx)(q,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(yl,{children:o})}):N&&Yr()?(0,$.jsx)(q,{children:` `}):null]})}var $T=(0,Q.memo)(QT);l(),W(),Nn(),J();function eE({tasksSelected:e,onOpenDialog:t}){let n=G(e=>e.tasks),r=(0,Q.useMemo)(()=>Object.values(n??{}).filter(e=>Kt(e)),[n]);return Ig(n??{},!1)||r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(tE,{selected:e,onClick:t,children:dn(r)}),Pe(r)&&(0,$.jsxs)(q,{dimColor:!0,children:[` · `,u.arrowDown,` to view`]})]})}function tE({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(q,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(K,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}J(),Ko();function nE({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(K,{gap:1,children:[(0,$.jsx)(q,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(_a,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:bl(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}pf(),ff(),yd();var rE=5e3;function iE(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function aE(){if(!await df())return null;let[e,t]=await Promise.all([lf(),cf()]);if(e===t)return null;let{stdout:n,code:r}=await mf(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:rE,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=ld(n);return e.headRefName===t||e.headRefName===`main`||e.headRefName===`master`||e.state===`MERGED`||e.state===`CLOSED`?null:{number:e.number,url:e.url,reviewState:iE(e.isDraft,e.reviewDecision)}}catch{return null}}Nu();var oE=6e4,sE=4e3,cE=60*6e4,lE={number:null,url:null,reviewState:null,lastUpdated:0};function uE(e,t=!0){let[n,r]=(0,Q.useState)(lE),i=(0,Q.useRef)(null),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(0);return(0,Q.useEffect)(()=>{if(!t||a.current)return;let e=!1,n=-1,s=Date.now();async function c(){if(e)return;let t=Mu();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=cE)return;let l=Date.now(),u=await aE();if(!e){if(o.current=l,r(e=>{let t=u?.number??null,n=u?.reviewState??null;return e.number===t&&e.reviewState===n?e:{number:t,url:u?.url??null,reviewState:n,lastUpdated:Date.now()}}),Date.now()-l>sE){a.current=!0;return}e||(i.current=setTimeout(c,oE))}}let l=Date.now()-o.current;return l>=oE?c():i.current=setTimeout(c,oE-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}J(),l(),yg(),Qa(),Ed(),ut(),Od(),zg(),W(),Nu(),zc(),Hf(),Dr(),_p(),rf(),kf(),re();var dE=()=>null,fE=5e3,pE=1e3;function mE(){let[e,t]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{function e(){let e=process.memoryUsage().rss/(1024*1024),n=e>=1024?`error`:e>=512?`warning`:`normal`,r=Vf(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,fE);return()=>clearInterval(n)},[]),e}function hE(){let e=(0,Q.useSyncExternalStore)(lm,um,dE),[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(e===null){n(null);return}function t(){let t=Math.max(0,Math.ceil((e-Date.now())/1e3));n(t)}t();let r=setInterval(t,1e3);return()=>clearInterval(r)},[e]),t===null?null:(0,$.jsxs)(q,{dimColor:!0,children:[`waiting `,Bf(t*1e3,{mostSignificantOnly:!0})]})}function gE(){let[t,n]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),pE);return()=>clearInterval(e)},[]);let r=(M(),e(Cn)),i=r.getGoal();if(!i)return null;let a=r.getActiveElapsedMs(i),o=Math.floor(a/1e3),s=Math.floor(o/3600),c=Math.floor(o%3600/60),l=o%60,u;u=s>=1?`${s}h${c}min`:c>=1?`${c}min`:`${l}s`;let d;switch(i.status){case`active`:d=`ansi:green`;break;case`paused`:case`budget_limited`:case`usage_limited`:d=`ansi:yellow`;break;case`blocked`:d=`ansi:red`;break;case`complete`:d=`ansi:cyan`;break}return(0,$.jsxs)(q,{color:d,children:[`goal (`,u,`)`]})}function _E({exitMessage:e,vimMode:t,mode:n,toolPermissionContext:r,suppressHint:i,isLoading:a,tasksSelected:o,tmuxSelected:s,isPasting:c,isSearching:l,historyQuery:u,setHistoryQuery:d,historyFailedMatch:f,onOpenTasksDialog:p}){if(e.show)return(0,$.jsxs)(q,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(c)return(0,$.jsx)(q,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let m=gg()&&t===`INSERT`&&!l;return(0,$.jsxs)(K,{justifyContent:`flex-start`,gap:1,children:[l&&(0,$.jsx)(nE,{value:u,onChange:d,historyFailedMatch:f}),m?(0,$.jsx)(q,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(vE,{mode:n,toolPermissionContext:r,showHint:!i&&!m,isLoading:a,tasksSelected:o,tmuxSelected:s,onOpenTasksDialog:p})]})}function vE({mode:t,toolPermissionContext:n,showHint:r,isLoading:i,tasksSelected:a,tmuxSelected:o,onOpenTasksDialog:s}){let{columns:c}=Zl(),l=Pi(`chat:cycleMode`,`Chat`,`shift+tab`),d=G(e=>e.tasks),f=Un(),[p]=(0,Q.useState)(()=>f.getState().remoteSessionUrl),m=uE(i,bE()),h=(0,Q.useSyncExternalStore)(lm,um,dE),g=Vl(),_=Xl().getState,v=h!==null,y=(0,Q.useMemo)(()=>wd(Object.values(d),e=>Kt(e)),[d]),b=Ze(),x=b!==void 0&&b.length>0,S=Pi(`chat:cancel`,`Chat`,`esc`).toLowerCase(),C=Pi(`app:toggleTodos`,`Global`,`ctrl+t`),w=Pi(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),T=G(e=>e.notifications.current?.key===`kill-agents-confirm`),E=mE(),D=(0,Q.useMemo)(()=>lp(jp()),[G(e=>e.mainLoopModel)]);if(t===`bash`)return(0,$.jsx)(q,{color:`bashBorder`,children:`! for bash mode`});let O=n?.mode,k=!Dd(O),A=y>0,j=+!!k+ +!!A,N=bE()&&m.number!==null&&m.reviewState!==null&&m.url!==null&&j<2&&(j===0||c>=80),ee=j<2,te=O&&k&&!bu()?(0,$.jsxs)(q,{color:zd(O),children:[Td(O),` `,kd(O).toLowerCase(),` on`,ee&&(0,$.jsxs)(q,{dimColor:!0,children:[` `,(0,$.jsx)(vl,{shortcut:l,action:`cycle`,parens:!0})]})]},`mode`):null,P=[...p?[(0,$.jsx)(Tl,{url:p,children:(0,$.jsxs)(q,{color:`ide`,children:[u.circleDouble,` remote`]})},`remote`)]:[],...N?[(0,$.jsx)(ll,{number:m.number,url:m.url,reviewState:m.reviewState},`pr-status`)]:[],...E?[(0,$.jsxs)(q,{dimColor:E.level===`normal`,color:E.level===`error`?`error`:E.level===`warning`?`warning`:void 0,children:[E.text,` · pid:`,process.pid,` · `,D]},`rss`)]:[],...(M(),e(Cn)).getGoal()?[(0,$.jsx)(gE,{},`goal-elapsed`)]:[]],F=Object.values(d).some(e=>e.type===`local_agent`&&e.status===`running`),I=r?yE(i,S,C,w,x,F,T):[];v?P.push((0,$.jsx)(hE,{},`proactive`)):r&&P.push(...I);let L=A&&!Ig(d,!1)?(0,$.jsx)(eE,{tasksSelected:a,onOpenDialog:s}):null;P.length===0&&!L&&!te&&r&&P.push((0,$.jsx)(q,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let ne=nf().copyOnSelect??!0,re=g&&(!ne||ql());if(Yr()&&re){let e=Of()===`macos`,t=e&&(_()?.lastPressHadAlt??!1);P.push((0,$.jsx)(q,{dimColor:!0,children:(0,$.jsxs)(Ol,{children:[!ne&&(0,$.jsx)(vl,{shortcut:`ctrl+c`,action:`copy`}),ql()&&(t?(0,$.jsx)(q,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(vl,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}return L&&r&&P.push((0,$.jsx)(q,{dimColor:!0,children:a?(0,$.jsx)(vl,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(vl,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),P.length===0&&!L&&!te?Yr()?(0,$.jsx)(q,{children:` `}):null:(0,$.jsxs)(K,{height:1,overflow:`hidden`,children:[te&&(0,$.jsxs)(K,{flexShrink:0,children:[te,(L||P.length>0)&&(0,$.jsx)(q,{dimColor:!0,children:` · `})]}),L&&(0,$.jsxs)(K,{flexShrink:0,children:[L,P.length>0&&(0,$.jsx)(q,{dimColor:!0,children:` · `})]}),P.length>0&&(0,$.jsx)(q,{wrap:`truncate`,children:(0,$.jsx)(Ol,{children:P})})]})}function yE(e,t,n,r,i,a,o){let s=i;return[...e?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&a&&!o?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...s?[(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:n,action:`show tasks`})},`toggle-tasks`)]:[]]}function bE(){return nf().prStatusFooterEnabled??!0}Ls(),zc(),J(),Dr(),Ah(),vg();function xE({apiKeyStatus:e,debug:t,exitMessage:n,vimMode:r,mode:i,autoUpdaterResult:a,isAutoUpdating:o,verbose:s,onAutoUpdaterResult:c,onChangeIsUpdating:l,suggestions:u,selectedSuggestion:d,maxColumnWidth:f,toolPermissionContext:p,helpOpen:m,suppressHint:h,isLoading:g,tasksSelected:_,bridgeSelected:v,tmuxSelected:y,ideSelection:b,mcpClients:x,isPasting:S=!1,isInputWrapped:C=!1,messages:w,isSearching:T,historyQuery:E,setHistoryQuery:D,historyFailedMatch:O,onOpenTasksDialog:k}){let A=Ot(),{columns:j,rows:M}=Zl(),N=(0,Q.useRef)(w);N.current=w;let ee=(0,Q.useMemo)(()=>ZT(w),[w]),te=j<80,P=Yr(),F=P&&M<24,I=_,L=h||YT(A)||T;return Eg((0,Q.useMemo)(()=>P&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[P,u,d,f])),u.length&&!P?(0,$.jsx)(K,{paddingX:2,paddingY:0,children:(0,$.jsx)(jh,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(bg,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)(K,{flexDirection:te?`column`:`row`,justifyContent:te?`flex-start`:`space-between`,paddingX:2,gap:+!te,children:[(0,$.jsxs)(K,{flexDirection:`column`,flexShrink:+!te,children:[i===`prompt`&&!F&&!n.show&&!S&&YT(A)&&(0,$.jsx)($T,{messagesRef:N,lastAssistantMessageId:ee,vimMode:r}),(0,$.jsx)(CE,{}),(0,$.jsx)(_E,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:L,isLoading:g,tasksSelected:I,tmuxSelected:y,isPasting:S,isSearching:T,historyQuery:E,setHistoryQuery:D,historyFailedMatch:O,onOpenTasksDialog:k})]}),(0,$.jsx)(K,{flexShrink:1,gap:1,children:P?null:(0,$.jsx)(RS,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:w,onAutoUpdaterResult:c,onChangeIsUpdating:l,ideSelection:b,mcpClients:x,isInputWrapped:C,isNarrow:te})})]})}var SE=(0,Q.memo)(xE);function CE(){return null}l(),J();function wE({isLoading:e}){return(0,$.jsxs)(q,{dimColor:e,children:[u.pointer,`\xA0`]})}function TE({mode:e,isLoading:t}){return(0,$.jsx)(K,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:e===`bash`?(0,$.jsx)(q,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(wE,{isLoading:t})})}J();var EE=Q.createContext(void 0),DE=2;function OE({isFirst:e,children:t}){let n=DE,r=Q.useMemo(()=>({isQueued:!0,isFirst:e,paddingWidth:n*2}),[e,n]);return(0,$.jsx)(EE.Provider,{value:r,children:(0,$.jsx)(K,{paddingX:n,children:t})})}J(),W(),ec(),Ut(),yd(),nn();var kE=new Set;function AE(e){try{return ld(e)?.type===`idle_notification`}catch{return!1}}var jE=3;function ME(e){return`<${hf}>
|
|
64
64
|
<${yf}>+${e} more tasks completed</${yf}>
|
|
65
65
|
<${_f}>completed</${_f}>
|
|
66
66
|
</${hf}>`}function NE(e){let t=e.filter(e=>typeof e.value!=`string`||!AE(e.value)),n=t.filter(e=>e.mode===`task-notification`),r=t.filter(e=>e.mode!==`task-notification`);if(n.length<=jE)return[...r,...n];let i=n.slice(0,jE-1),a={value:ME(n.length-(jE-1)),mode:`task-notification`};return[...r,...i,a]}function PE(){let e=DS(),t=G(e=>!!e.viewingAgentTaskId),n=(0,Q.useMemo)(()=>{if(e.length===0)return null;let t=e.filter(ta);return t.length===0?null:Ge(NE(t).map(e=>{let t=e.value;return e.mode===`bash`&&typeof t==`string`&&(t=`<bash-input>${t}</bash-input>`),ar({content:t})}))},[e]);return t||n===null?null:(0,$.jsx)(K,{marginTop:1,flexDirection:`column`,children:n.map((e,t)=>(0,$.jsx)(OE,{isFirst:t===0,children:(0,$.jsx)(O,{message:e,lookups:Aa,addMargin:!1,tools:[],commands:[],verbose:!1,inProgressToolUseIDs:kE,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,isTranscriptMode:!1,isStatic:!0})},t))})}var FE=Q.memo(PE);Co(),l(),J();function IE({hasStash:e}){return e?(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsxs)(q,{dimColor:!0,children:[u.pointerSmall,` Stashed (auto-restores after submit)`]})}):null}Ne();var LE=1e4,RE=1e3;function zE(e,t){if(e.length<=LE)return{truncatedText:e,placeholderContent:``};let n=Math.floor(RE/2),r=e.slice(0,n),i=e.slice(-500),a=e.slice(n,-500);return{truncatedText:r+BE(t,Mn(a))+i,placeholderContent:a}}function BE(e,t){return`[...Truncated text #${e} +${t} lines...]`}function VE(e,t){let n=Object.keys(t).map(Number),r=n.length>0?Math.max(...n)+1:1,{truncatedText:i,placeholderContent:a}=zE(e,r);return a?{newInput:i,newPastedContents:{...t,[r]:{id:r,type:`text`,content:a}}}:{newInput:e,newPastedContents:t}}function HE({input:e,pastedContents:t,onInputChange:n,setCursorOffset:r,setPastedContents:i}){let[a,o]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{if(a||e.length<=1e4)return;let{newInput:s,newPastedContents:c}=VE(e,t);n(s),r(s.length),i(c),o(!0)},[e,a,t,n,i,r]),(0,Q.useEffect)(()=>{e===``&&o(!1)},[e])}W(),rf(),ec(),im();var UE=3;function WE({input:e,submitCount:t}){let n=DS(),r=G(e=>e.promptSuggestionEnabled);return(0,Q.useMemo)(()=>{if(e===``){if(n.some(To)&&(nf().queuedCommandUpHintCount||0)<UE)return`Press up to edit queued messages`;if(t<1&&r&&!_m())return qg()}},[e,n,t,r])}var GE=5e3,KE=!1;function qE(e){let[t,n]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{if(KE||!e)return;KE=!0,n(!0);let t=setTimeout(n,GE,!1);return()=>{clearTimeout(t),n(!1)}},[e]),t}Gl(),vi(),Mf(),W(),nd(),ec(),Cl(),Jt(),cs(),Mg(),Ne(),Vh(),zc(),J(),xc(),ra(),io(),Pr(),Od(),$c(),rf(),hd(),Nd(),cd(),Dr(),Fa(),xf(),_p(),kf(),Rh(),Tn(),Ko(),zg(),Tr(),yg();var JE=5,YE=3;function XE({debug:e,ideSelection:t,toolPermissionContext:n,setToolPermissionContext:r,apiKeyStatus:i,commands:a,agents:o,isLoading:s,verbose:c,messages:l,onAutoUpdaterResult:u,autoUpdaterResult:d,input:f,onInputChange:p,mode:m,onModeChange:h,stashedPrompt:g,setStashedPrompt:_,submitCount:v,onShowMessageSelector:b,onMessageActionsEnter:S,mcpClients:C,pastedContents:w,setPastedContents:T,vimMode:E,setVimMode:D,showBashesDialog:O,setShowBashesDialog:k,onExit:A,getToolUseContext:j,onSubmit:M,isSearchingHistory:N,setIsSearchingHistory:ee,onDismissSideQuestion:te,isSideQuestionVisible:P,helpOpen:F,setHelpOpen:I,hasSuppressedDialogs:L,isLocalJSXCommandActive:ne=!1,insertTextRef:re}){let ie=Bh(),ae=Ks()||ne,[oe,se]=(0,Q.useState)(!1),[ce,le]=(0,Q.useState)({show:!1}),[R,z]=(0,Q.useState)(f.length),ue=Q.useRef(f);f!==ue.current&&(z(f.length),ue.current=f);let de=Q.useCallback(e=>{ue.current=e,p(e)},[p]);re&&(re.current={cursorOffset:R,insert:e=>{let t=R===f.length&&f.length>0&&!/\s$/.test(f)?` ${e}`:e,n=f.slice(0,R)+t+f.slice(R);ue.current=n,p(n),z(R+t.length)},setInputWithCursor:(e,t)=>{ue.current=e,p(e),z(t)}});let fe=Un(),B=y(),pe=G(e=>e.tasks),me=G(e=>e.replBridgeConnected),he=G(e=>e.replBridgeExplicit),ge=G(e=>e.replBridgeReconnecting),_e=me&&(he||ge),ve=DS(),ye=G(e=>e.promptSuggestion),be=G(e=>e.speculation),Se=G(e=>e.speculationSessionTimeSavedMs),Ce=G(e=>e.mainLoopModel),we=G(e=>e.mainLoopModelForSession),Te=G(e=>e.thinkingEnabled),Ee=G(e=>hp()?e.fastMode:!1),De=G(e=>e.viewingAgentTaskId);G(e=>e.viewSelectionMode);let{historyQuery:Oe,setHistoryQuery:ke,historyMatch:Ae,historyFailedMatch:je}=qS(e=>{T(e.pastedContents),V(e.display)},f,de,z,R,h,m,N,ee,T,w),Me=(0,Q.useRef)(-1);Me.current===-1&&(Me.current=ZE(l));let Ne=(0,Q.useRef)(!1),[Pe,Fe]=(0,Q.useState)(!1),Ie=G(e=>e.selectedBgAgentIndex),Le=(0,Q.useCallback)(e=>B(t=>{let n=typeof e==`function`?e(t.selectedBgAgentIndex):e;return n===t.selectedBgAgentIndex?t:{...t,selectedBgAgentIndex:n}}),[B]),[Re,ze]=(0,Q.useState)(!1),[Be,Ve]=(0,Q.useState)(!1),[He,Ue]=(0,Q.useState)(!1),[We,Ge]=(0,Q.useState)(!1),[Ke,qe]=(0,Q.useState)(!1),[Je,Ye]=(0,Q.useState)(!1),[Xe,Ze]=(0,Q.useState)(!1),[Qe,et]=(0,Q.useState)(!1),tt=(0,Q.useMemo)(()=>{let e=f.indexOf(`
|
|
@@ -120,9 +120,9 @@ Instead, provide a brief summary:
|
|
|
120
120
|
3. Any blockers or issues encountered.
|
|
121
121
|
|
|
122
122
|
Then use the GoalTool to mark the goal as complete (if truly done) or leave it in its current state for the user to decide.
|
|
123
|
-
</goal-steering>`}hd(),M(),ec();function bO(e){Y(`[goal] hook: ${e}`)}function xO(e){let t=(0,Q.useRef)(e);t.current=e;let n=(0,Q.useRef)(!1),r=(0,Q.useRef)(!1);(0,Q.useLayoutEffect)(()=>{if(e.isLoading){n.current=!1;return}if(e.isQueryActiveNow?.()){bO(`skip: queryActiveNow=true`);return}if(e.wasAborted){bO(`skip: wasAborted=true`);return}if(n.current)return;if(Ba().length>0){bO(`skip: yielding to queued user messages`);return}if(e.hasActiveLocalJsxUI){bO(`skip: activeLocalJsxUI`);return}if(e.isInPlanMode){bO(`skip: planMode`);return}let t=ye();if(!t){r.current=!1;return}if(t.status===`active`&&(r.current=!1),t.status===`budget_limited`&&!r.current){r.current=!0,n.current=!0;let e=yO(t);Y(`[goal] hook: budget limit reached, injecting wrap-up prompt`),hi({value:e,mode:`prompt`,priority:`now`,isMeta:!0,origin:`goal-budget-limit`,skipSlashCommands:!0});return}if(t.status!==`active`){bO(`skip: status="${t.status}" (not active)`);return}if(t.turnsExecuted>=150){Ao()&&(ua(),e.onMaxTurnsReached?.()),Y(`[goal] hook: MAX_GOAL_TURNS (150) reached, stopping`);return}n.current=!0;let i=zo();ua();let a=vO(t);Y(`[goal] hook: enqueuing turn ${i} for "${t.objective.slice(0,60)}"`),hi({value:a,mode:`prompt`,priority:`now`,isMeta:!0,origin:`goal-continuation`,skipSlashCommands:!0}),e.onContinuationEnqueued?.({turn:i,objective:t.objective})},[e.isLoading,e.wasAborted,e.queuedCommandsLength,e.hasActiveLocalJsxUI,e.isInPlanMode])}rf(),o(),Go();function SO({autoConnectIdeFlag:e,ideToInstallExtension:t,setDynamicMcpConfig:n,setShowIdeOnboarding:i,setIDEInstallationState:o}){(0,Q.useEffect)(()=>{function s(i){i&&(nf().autoConnectIde||e||Es()||process.env.CLAUDE_CODE_SSE_PORT||t||a(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!r(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)&&n(e=>e?.ide?e:{...e,ide:{type:i.url.startsWith(`ws:`)?`ws-ide`:`sse-ide`,url:i.url,ideName:i.name,authToken:i.authToken,ideRunningInWindows:i.ideRunningInWindows,scope:`dynamic`}})}yc(s,t,()=>i(!0),e=>o(e))},[e,t,n,i,o])}og(),to(),J(),io(),Qa(),W(),rf(),Nd(),o();function CO({onBackgroundSession:e,isLoading:t}){let n=y(),r=Un(),[i,o]=(0,Q.useState)(!1),s=Wl(o,e,()=>{}),c=(0,Q.useCallback)(()=>{a(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS)||(Lo(r.getState())?(xn(()=>r.getState(),n),nf().hasUsedBackgroundTask||of(e=>e.hasUsedBackgroundTask?e:{...e,hasUsedBackgroundTask:!0})):a(`false`)&&t&&s())},[n,r,t,s]),l=G(Lo),u=a(`false`);jl(`task:background`,c,{context:`Task`,isActive:l||u&&t});let d=Pi(`task:background`,`Task`,`ctrl+b`),f=Cd.terminal===`tmux`&&d===`ctrl+b`?`ctrl+b ctrl+b`:d;return!t||!i?null:(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:f,action:`background`})})})}W();function wO({setMessages:e,setIsLoading:t,resetLoadingState:n,setAbortController:r,onBackgroundQuery:i}){let a=G(e=>e.foregroundedTaskId),o=G(e=>e.foregroundedTaskId?e.tasks[e.foregroundedTaskId]:void 0),s=y(),c=(0,Q.useRef)(0),l=(0,Q.useCallback)(()=>{if(a){s(e=>{let t=e.foregroundedTaskId;if(!t)return e;let n=e.tasks[t];return n?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[t]:{...n,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),e([]),n(),r(null);return}i()},[a,s,e,n,r,i]);return(0,Q.useEffect)(()=>{if(!a){c.current=0;return}if(o?.type!==`local_agent`){s(e=>({...e,foregroundedTaskId:void 0})),n(),c.current=0;return}let i=o.messages??[];if(i.length!==c.current&&(c.current=i.length,e([...i])),o.status===`running`){let e=o.abortController;if(e?.signal.aborted){s(e=>{if(!e.foregroundedTaskId)return e;let t=e.tasks[e.foregroundedTaskId];return t?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[e.foregroundedTaskId]:{...t,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),n(),r(null),c.current=0;return}t(!0),e&&r(e)}else s(e=>{let t=e.foregroundedTaskId;if(!t)return e;let n=e.tasks[t];return n?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[t]:{...n,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),n(),r(null),c.current=0},[a,o,s,e,t,n,r]),{handleBackgroundSession:l}}Qc(),J(),op(),rf(),S(),pg();function TO({onDone:e}){let t=(0,Q.useRef)(e);t.current=e;let n=(0,Q.useCallback)(()=>{t.current(`dismiss`)},[]);(0,Q.useEffect)(()=>{of(e=>e.remoteDialogSeen?e:{...e,remoteDialogSeen:!0})},[]);let r=(0,Q.useCallback)(e=>{t.current(e)},[]);return(0,$.jsx)(hg,{title:`Remote Control`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(K,{marginBottom:1,flexDirection:`column`,children:[(0,$.jsx)(q,{children:`Remote Control lets you access this CLI session from the web (claude.ai/code) or the Work Mate app, so you can pick up where you left off on any device.`}),(0,$.jsx)(q,{children:` `}),(0,$.jsx)(q,{children:`You can disconnect remote access anytime by running /remote-control again.`})]}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:`Enable Remote Control for this session`,description:`Opens a secure connection to claude.ai.`,value:`enable`},{label:`Never mind`,description:`You can always enable it later with /remote-control.`,value:`dismiss`}],onChange:r,onCancel:n})})]})})}$m();function EO(e,t){return t}qs(),Nu(),Ut(),zc(),J(),io(),ri(),op(),Ui(),hd(),Nd(),ff(),xf(),fa(),yd(),ma(),Tn(),Ko();function DO(e){let t=e;return t=t.replace(/"(sk-ant[^\s"']{24,})"/g,`"[REDACTED_API_KEY]"`),t=t.replace(/(?<![A-Za-z0-9"'])(sk-ant-?[A-Za-z0-9_-]{10,})(?![A-Za-z0-9"'])/g,`[REDACTED_API_KEY]`),t=t.replace(/AWS key: "(AWS[A-Z0-9]{20,})"/g,`AWS key: "[REDACTED_AWS_KEY]"`),t=t.replace(/(AKIA[A-Z0-9]{16})/g,`[REDACTED_AWS_KEY]`),t=t.replace(/(?<![A-Za-z0-9])(AIza[A-Za-z0-9_-]{35})(?![A-Za-z0-9])/g,`[REDACTED_GCP_KEY]`),t=t.replace(/(?<![A-Za-z0-9])([a-z0-9-]+@[a-z0-9-]+\.iam\.gserviceaccount\.com)(?![A-Za-z0-9])/g,`[REDACTED_GCP_SERVICE_ACCOUNT]`),t=t.replace(/(["']?x-api-key["']?\s*[:=]\s*["']?)[^"',\s)}\]]+/gi,`$1[REDACTED_API_KEY]`),t=t.replace(/(["']?authorization["']?\s*[:=]\s*["']?(bearer\s+)?)[^"',\s)}\]]+/gi,`$1[REDACTED_TOKEN]`),t=t.replace(/(AWS[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED_AWS_VALUE]`),t=t.replace(/(GOOGLE[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED_GCP_VALUE]`),t=t.replace(/((API[-_]?KEY|TOKEN|SECRET|PASSWORD)\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED]`),t}p(),op(),hd(),cd(),fp(),Ut(),fa(),yd();async function OO(e,t,n){try{Y(`Collecting transcript for sharing`,{level:`info`});let r=Nt(e),i=await V(di(e)),a;try{let e=mo(),{size:t}=await f_(e);t<=52428800?a=await u_(e,`utf-8`):Y(`Skipping raw transcript read: file too large (${t} bytes)`,{level:`warn`})}catch{}let o=DO(ad({trigger:t,version:`0.0.16`,platform:process.platform,transcript:r,subagentTranscripts:Object.keys(i).length>0?i:void 0,rawTranscriptJsonl:a}));await xp();let s=kp();if(s.error)return{success:!1};let c={"Content-Type":`application/json`,"User-Agent":mp(),...s.headers},l=await f.post(`https://api.anthropic.com/api/claude_code_shared_session_transcripts`,{content:o,appearance_id:n},{headers:c,timeout:3e4});if(l.status===200||l.status===201){let e=l.data;return Y(`Transcript shared successfully`,{level:`info`}),{success:!0,transcriptId:e?.transcript_id}}return{success:!1}}catch(e){return Y(sd(e),{level:`error`}),{success:!1}}}function kO({hideThanksAfterMs:e,onOpen:t,onSelect:n,shouldShowTranscriptPrompt:r,onTranscriptPromptShown:i,onTranscriptSelect:a}){let[o,s]=(0,Q.useState)(`closed`),[c,l]=(0,Q.useState)(null),u=(0,Q.useRef)(l_()),d=(0,Q.useRef)(null),f=(0,Q.useCallback)(()=>{s(`thanks`),setTimeout((e,t)=>{e(`closed`),t(null)},e,s,l)},[e]),p=(0,Q.useCallback)(()=>{s(`submitted`),setTimeout(s,e,`closed`)},[e]);return{state:o,lastResponse:c,open:(0,Q.useCallback)(()=>{o===`closed`&&(s(`open`),u.current=l_(),t(u.current))},[o,t]),handleSelect:(0,Q.useCallback)(e=>{if(l(e),d.current=e,n(u.current,e),e===`dismissed`)s(`closed`),l(null);else if(r?.(e))return s(`transcript_prompt`),i?.(u.current,e),!0;else f();return!1},[f,n,r,i]),handleTranscriptSelect:(0,Q.useCallback)(e=>{switch(e){case`yes`:s(`submitting`),(async()=>{try{await a?.(u.current,e,d.current)?p():f()}catch{f()}})();break;case`no`:case`dont_ask_again`:a?.(u.current,e,d.current),f();break}},[f,p,a])}}Mf(),rf(),o(),Ut(),_p(),Rd();var AO={minTimeBeforeFeedbackMs:6e5,minTimeBetweenFeedbackMs:36e5,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3e3,onForModels:[`*`],probability:.005},jO={probability:0};function MO(e,t,n,r=`session`,i=!1){let o=(0,Q.useRef)(`unknown`);o.current=bn(e)?.message?.id||`unknown`;let[s,c]=(0,Q.useState)(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),l=EO(`tengu_feedback_survey_config`,AO),u=EO(`tengu_bad_survey_transcript_ask_config`,jO),d=EO(`tengu_good_survey_transcript_ask_config`,jO),f=Hd().feedbackSurveyRate,p=(0,Q.useRef)(Date.now()),m=(0,Q.useRef)(n),h=(0,Q.useRef)(n);h.current=n;let g=(0,Q.useRef)(e);g.current=e;let _=(0,Q.useRef)(!1),v=(0,Q.useRef)(null),y=(0,Q.useCallback)((e,t)=>{c(n=>n.timeLastShown===e&&n.submitCountAtLastAppearance===t?n:{timeLastShown:e,submitCountAtLastAppearance:t}),nf().feedbackSurveyState?.lastShownTime!==e&&of(t=>({...t,feedbackSurveyState:{lastShownTime:e}}))},[]),b=(0,Q.useCallback)(e=>{y(Date.now(),h.current),X(`tengu_feedback_survey_event`,{event_type:`appeared`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:r})},[y,r]),x=(0,Q.useCallback)((e,t)=>{y(Date.now(),h.current),X(`tengu_feedback_survey_event`,{event_type:`responded`,appearance_id:e,response:t,last_assistant_message_id:o.current,survey_type:r}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:r})},[y,r]),S=(0,Q.useCallback)(e=>{if(e!==`bad`&&e!==`good`||nf().transcriptShareDismissed||!qi(`allow_product_feedback`))return!1;let t=e===`bad`?u.probability:d.probability;return Math.random()<=t},[u.probability,d.probability]),C=(0,Q.useCallback)((e,t)=>{let n=t===`good`?`good_feedback_survey`:`bad_feedback_survey`;X(`tengu_feedback_survey_event`,{event_type:`transcript_prompt_appeared`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r,trigger:n}),Am(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:r})},[r]),w=(0,Q.useCallback)(async(e,t,n)=>{let i=n===`good`?`good_feedback_survey`:`bad_feedback_survey`;if(X(`tengu_feedback_survey_event`,{event_type:`transcript_share_${t}`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r,trigger:i}),t===`dont_ask_again`&&of(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await OO(g.current,i,e);return X(`tengu_feedback_survey_event`,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:i}),t.success}return!1},[r]),{state:T,lastResponse:E,open:D,handleSelect:O,handleTranscriptSelect:k}=kO({hideThanksAfterMs:l.hideThanksAfterMs,onOpen:b,onSelect:x,shouldShowTranscriptPrompt:S,onTranscriptPromptShown:C,onTranscriptSelect:w}),A=jp(),j=(0,Q.useMemo)(()=>l.onForModels.length===0?!1:l.onForModels.includes(`*`)?!0:l.onForModels.includes(A),[l.onForModels,A]),M=(0,Q.useMemo)(()=>{if(T!==`closed`||t||i)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!s.timeLastShown)return!0;if(!j||a(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||zm()||!qi(`allow_product_feedback`))return!1;if(s.timeLastShown){if(Date.now()-s.timeLastShown<l.minTimeBetweenFeedbackMs||s.submitCountAtLastAppearance!==null&&n<s.submitCountAtLastAppearance+l.minUserTurnsBetweenFeedback)return!1}else if(Date.now()-p.current<l.minTimeBeforeFeedbackMs||n<m.current+l.minUserTurnsBeforeFeedback)return!1;if(v.current!==n&&(v.current=n,_.current=Math.random()<=(f??l.probability)),!_.current)return!1;let e=nf().feedbackSurveyState;return!(e?.lastShownTime&&Date.now()-e.lastShownTime<l.minTimeBetweenGlobalFeedbackMs)},[T,t,i,j,s.timeLastShown,s.submitCountAtLastAppearance,n,l.minTimeBetweenFeedbackMs,l.minTimeBetweenGlobalFeedbackMs,l.minUserTurnsBetweenFeedback,l.minTimeBeforeFeedbackMs,l.minUserTurnsBeforeFeedback,l.probability,f]);return(0,Q.useEffect)(()=>{M&&D()},[M,D]),{state:T,lastResponse:E,handleSelect:O,handleTranscriptSelect:k}}Rm(),Mf(),rf(),o(),Ut(),Nm();var NO=3e3,PO=`tengu_memory_survey_event`,FO=`memory_survey`;function IO(e,t,n=!1,{enabled:r=!0}={}){let i=(0,Q.useRef)(new Set),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(e);o.current=e;let{state:s,lastResponse:c,open:l,handleSelect:u,handleTranscriptSelect:d}=kO({hideThanksAfterMs:NO,onOpen:(0,Q.useCallback)(e=>{X(PO,{event_type:`appeared`,appearance_id:e}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`memory`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{X(PO,{event_type:`responded`,appearance_id:e,response:t}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`memory`})},[]),shouldShowTranscriptPrompt:(0,Q.useCallback)(e=>!1,[]),onTranscriptPromptShown:(0,Q.useCallback)(e=>{X(PO,{event_type:`transcript_prompt_appeared`,appearance_id:e,trigger:FO}),Am(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:`memory`})},[]),onTranscriptSelect:(0,Q.useCallback)(async(e,t)=>{if(X(PO,{event_type:`transcript_share_${t}`,appearance_id:e,trigger:FO}),t===`dont_ask_again`&&of(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await OO(o.current,FO,e);return X(PO,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:FO}),t.success}return!1},[])});return(0,Q.useEffect)(()=>{if(r&&e.length===0){a.current=!1,i.current.clear();return}},[r,s,t,n,(0,Q.useMemo)(()=>bn(e),[e]),e,l]),{state:s,lastResponse:c,handleSelect:u,handleTranscriptSelect:d}}Rm(),Mf(),o(),Ut(),Nm();var LO=3e3,RO=.2;function zO(e,t){let n=e.findIndex(e=>e.uuid===t);if(n===-1)return!1;for(let t=n+1;t<e.length;t++){let n=e[t];if(n&&(n.type===`user`||n.type===`assistant`))return!0}return!1}function BO(e,t,n=!1,{enabled:r=!0}={}){let[i,o]=(0,Q.useState)(null),s=(0,Q.useRef)(new Set),c=(0,Q.useRef)(null),{state:l,lastResponse:u,open:d,handleSelect:f}=kO({hideThanksAfterMs:LO,onOpen:(0,Q.useCallback)(e=>{X(`tengu_post_compact_survey_event`,{event_type:`appeared`,appearance_id:e,session_memory_compaction_enabled:Bo()}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`post_compact`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{X(`tengu_post_compact_survey_event`,{event_type:`responded`,appearance_id:e,response:t,session_memory_compaction_enabled:Bo()}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`post_compact`})},[])});(0,Q.useEffect)(()=>{r&&o(!1)},[r]);let p=(0,Q.useMemo)(()=>new Set(e.filter(e=>Yn(e)).map(e=>e.uuid)),[e]);return(0,Q.useEffect)(()=>{if(!r||l!==`closed`||t||n||i!==!0||zm()||a(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(c.current!==null&&zO(e,c.current)){c.current=null,Math.random()<RO&&d();return}let o=Array.from(p).filter(e=>!s.current.has(e));o.length>0&&(s.current=new Set(p),c.current=o[o.length-1])},[r,p,l,t,n,i,e,d]),{state:l,lastResponse:u,handleSelect:f}}jd(),J();var VO=[`1`,`2`,`3`],HO={1:`yes`,2:`no`,3:`dont_ask_again`},UO=e=>VO.includes(e);function WO({onSelect:e,inputValue:t,setInputValue:n}){return yD({inputValue:t,setInputValue:n,isValidDigit:UO,onDigit:t=>e(HO[t])}),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsxs)(K,{children:[(0,$.jsxs)(q,{color:`ansi:cyan`,children:[xd,` `]}),(0,$.jsx)(q,{bold:!0,children:`Can we look at your session transcript to help us improve Work Mate?`})]}),(0,$.jsx)(K,{marginLeft:2,children:(0,$.jsx)(q,{dimColor:!0,children:`Learn more: https://code.workmate.com/docs/en/data-usage#session-quality-surveys`})}),(0,$.jsxs)(K,{marginLeft:2,children:[(0,$.jsx)(K,{width:10,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`1`}),`: Yes`]})}),(0,$.jsx)(K,{width:10,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`2`}),`: No`]})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`3`}),`: Don't ask again`]})})]})]})}Mf(),J();function GO({state:e,lastResponse:t,handleSelect:n,handleTranscriptSelect:r,inputValue:i,setInputValue:a,onRequestFeedback:o,message:s}){return e===`closed`?null:e===`thanks`?(0,$.jsx)(qO,{lastResponse:t,inputValue:i,setInputValue:a,onRequestFeedback:o}):e===`submitted`?(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{color:`success`,children:[`✓`,` Thanks for sharing your transcript!`]})}):e===`submitting`?(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{dimColor:!0,children:[`Sharing transcript`,`…`]})}):e===`transcript_prompt`?!r||i&&![`1`,`2`,`3`].includes(i)?null:(0,$.jsx)(WO,{onSelect:r,inputValue:i,setInputValue:a}):i&&!SD(i)?null:(0,$.jsx)(wD,{onSelect:n,inputValue:i,setInputValue:a,message:s})}var KO=e=>e===`1`;function qO({lastResponse:e,inputValue:t,setInputValue:n,onRequestFeedback:r}){let i=r&&e===`good`;return yD({inputValue:t,setInputValue:n,isValidDigit:KO,enabled:!!i,once:!0,onDigit:()=>{X(`tengu_feedback_survey_event`,{event_type:`followup_accepted`,response:e}),r?.()}}),(0,$.jsxs)(K,{marginTop:1,flexDirection:`column`,children:[(0,$.jsx)(q,{color:`success`,children:`Thanks for the feedback!`}),i?(0,$.jsxs)(q,{dimColor:!0,children:[`(Optional) Press [`,(0,$.jsx)(q,{color:`ansi:cyan`,children:`1`}),`] to tell us what went well `,` · `,`/issue`]}):e===`bad`?(0,$.jsx)(q,{dimColor:!0,children:`Use /issue to report model behavior issues.`}):(0,$.jsx)(q,{dimColor:!0,children:`Use /issue to share detailed feedback anytime.`})]})}Jm(),Zm(),Nu(),vi(),xf();function JO(e){let{addNotification:t}=si(),n=(0,Q.useRef)(!1),r=(0,Q.useRef)(e);r.current=e,(0,Q.useEffect)(()=>{bu()||n.current||(n.current=!0,Promise.resolve().then(()=>r.current()).then(e=>{if(e)for(let n of Array.isArray(e)?e:[e])t(n)}).catch(Cf))},[t])}function YO(){JO(async()=>(await Xm()).map((e,t)=>{let n=`low`;return e.type===`error`||e.userActionRequired?n=`high`:(e.type===`path`||e.type===`alias`)&&(n=`medium`),{key:`install-message-${t}-${e.type}`,text:e.message,priority:n,color:e.type===`error`?`error`:`warning`}}))}rf(),dd(),hd(),Ut(),_p(),ma(),ri(),J(),Ut();function XO(e,t,n){(0,Q.useRef)(null),(0,Q.useRef)(null);let r=(0,Q.useRef)(e),i=(0,Q.useRef)(n),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(null);r.current=e,i.current=n,(0,Q.useEffect)(()=>{},[!1,t]),(0,Q.useEffect)(()=>{if(n||!a.current)return;let e=Ll();e!==`blurred`&&e!==`unknown`||o.current?.()},[n]),(0,Q.useEffect)(()=>{Ll()},[n,!1])}Mf(),rf(),hd(),o(),cd(),xf();function ZO(){return a(process.env.CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var QO={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600*1e3,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:10080*60*1e3};function $O(e){let t=QO.INITIAL_DELAY_MS*QO.BACKOFF_MULTIPLIER**e;return Math.min(t,QO.MAX_DELAY_MS)}function ek(e){if(!e.officialMarketplaceAutoInstallAttempted)return!0;if(e.officialMarketplaceAutoInstalled)return!1;let t=e.officialMarketplaceAutoInstallFailReason,n=e.officialMarketplaceAutoInstallRetryCount||0,r=e.officialMarketplaceAutoInstallNextRetryTime,i=Date.now();return n>=QO.MAX_ATTEMPTS||t===`policy_blocked`||r&&i<r?!1:t===`unknown`||t===`git_unavailable`||t===`gcs_unavailable`||t===void 0}async function tk(){let e=nf();if(!ek(e)){let t=e.officialMarketplaceAutoInstallFailReason??`already_attempted`;return Y(`Official marketplace auto-install skipped: ${t}`),{installed:!1,skipped:!0,reason:t}}try{if(ZO())return Y(`Official marketplace auto-install disabled via env var, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};if((await Xt())[`claude-plugins-official`])return Y(`Official marketplace '${we}' already installed, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:`already_installed`};if(!hc(On))return Y(`Official marketplace blocked by enterprise policy, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};let t=Ln(),n=r_(t,we);if(await Rt(n,t)!==null){let e=await Xt();return e[we]={source:On,installLocation:n,lastUpdated:new Date().toISOString()},await jr(e),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),X(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!await Jc()){Y(`Git not available, skipping official marketplace auto-install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+$O(t),i=!1;try{of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`git_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r}))}catch(e){i=!0,Cf(ud(e)),Y(`Failed to save marketplace auto-install git_unavailable state: ${e}`,{level:`error`})}return X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`git_unavailable`,configSaveFailed:i}}Y(`Attempting to auto-install official marketplace`),await ee(On),Y(`Successfully auto-installed official marketplace`);let r=e.officialMarketplaceAutoInstallRetryCount||0;return of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),X(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,retry_count:r}),{installed:!0,skipped:!1}}catch(t){let n=t instanceof Error?t.message:String(t);if(n.includes(`xcrun: error:`))return pe(),Y(`Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable`),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:`git_unavailable`};Y(`Failed to auto-install official marketplace: ${n}`,{level:`error`}),Cf(ud(t));let r=(e.officialMarketplaceAutoInstallRetryCount||0)+1,i=Date.now(),a=i+$O(r),o=!1;try{of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`unknown`,officialMarketplaceAutoInstallRetryCount:r,officialMarketplaceAutoInstallLastAttemptTime:i,officialMarketplaceAutoInstallNextRetryTime:a}))}catch(e){o=!0,Cf(ud(e)),Y(`Failed to save marketplace auto-install failure state: ${e}`,{level:`error`})}return X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,failed:!0,retry_count:r}),{installed:!1,skipped:!0,reason:`unknown`,configSaveFailed:o}}}J(),hd();function nk(){JO(async()=>{let e=await tk(),t=[];return e.configSaveFailed&&(Y(`Showing marketplace config save failure notification`),t.push({key:`marketplace-config-save-failed`,jsx:(0,$.jsx)(q,{color:`error`,children:`Failed to save marketplace retry info · Check ~/.workmate.json permissions`}),priority:`immediate`,timeoutMs:1e4})),e.installed?(Y(`Showing marketplace installation success notification`),t.push({key:`marketplace-installed`,jsx:(0,$.jsx)(q,{color:`success`,children:`✓ Official marketplace installed · /plugin to see available plugins`}),priority:`immediate`,timeoutMs:7e3})):e.skipped&&e.reason===`unknown`&&(Y(`Showing marketplace installation failure notification`),t.push({key:`marketplace-install-failed`,jsx:(0,$.jsx)(q,{color:`warning`,children:`Failed to install official marketplace · Will retry on next startup`}),priority:`immediate`,timeoutMs:8e3})),t})}Rd(),Mf();function rk(e){if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(e=>({tip:e,sessions:Wg(e.id)}));return t.sort((e,t)=>t.sessions-e.sessions),t[0]?.tip}async function ik(e){if(Ld().spinnerTipsEnabled===!1)return;let t=await Kg(e);if(t.length!==0)return rk(t)}function ak(e){Ug(e.id),X(`tengu_tip_shown`,{tipIdLength:e.id,cooldownSessions:e.cooldownSessions})}cd(),xf(),Nu(),W(),na();async function ok(e,t,n){}function sk(){let e=G(e=>e.mainLoopModel),t=G(e=>e.mainLoopModelForSession),n=G(e=>e.fastMode),r=y(),i=Un(),a=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{bu()||(a.current&&(a.current=!1),ok(i.getState().toolPermissionContext,r,n).catch(e=>{Cf(Error(`Auto mode gate check failed`,{cause:ud(e)}))}))},[e,t,n])}la();function ck(e,t,n){let r=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{!es()||r.current||(r.current=!0,e&&Tc(e,n))},[t,e,n])}J(),gs(),S(),pg();function lk({hostPattern:{host:e},onUserResponse:t}){function n(e){switch(e){case`yes`:t({allow:!0,persistToSettings:!1});break;case`yes-dont-ask-again`:t({allow:!0,persistToSettings:!0});break;case`no`:t({allow:!1,persistToSettings:!1});break}}let r=[{label:`Yes`,value:`yes`},...Wo()?[]:[{label:(0,$.jsxs)(q,{children:[`Yes, and don't ask again for `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes-dont-ask-again`}],{label:(0,$.jsxs)(q,{children:[`No, and tell Work Mate what to do differently `,(0,$.jsx)(q,{bold:!0,children:`(esc)`})]}),value:`no`}];return(0,$.jsx)(hg,{title:`Network request outside of sandbox`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Host:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Do you want to allow this connection?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:r,onChange:n,onCancel:()=>{t({allow:!1,persistToSettings:!1})}})})]})})}J(),gs(),kf();function uk(e){return`${e.getHours()%12||12}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}${e.getHours()<12?`am`:`pm`}`}function dk(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(0);return(0,Q.useEffect)(()=>{let e=Ws.getSandboxViolationStore();return e.subscribe(n=>{t(n.slice(-10)),r(e.getTotalCount())})},[]),!Ws.isSandboxingEnabled()||Of()===`linux`||n===0?null:(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(K,{marginLeft:0,children:(0,$.jsxs)(q,{color:`permission`,children:[`⧈ Sandbox blocked `,n,` total `,n===1?`operation`:`operations`]})}),e.map((e,t)=>(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsxs)(q,{dimColor:!0,children:[uk(e.timestamp),e.command?` ${e.command}:`:``,` `,e.line]})},`${e.timestamp.getTime()}-${t}`)),(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsxs)(q,{dimColor:!0,children:[`… showing last `,Math.min(10,e.length),` of `,n]})})]})}rg(),vi(),Nu(),J();var fk=[];function pk({mcpClients:e=fk}){let{addNotification:t}=si();(0,Q.useEffect)(()=>{if(bu())return;let n=e.filter(e=>e.type===`failed`&&e.config.type!==`sse-ide`&&e.config.type!==`ws-ide`&&e.config.type!==`claudeai-proxy`),r=e.filter(e=>e.type===`failed`&&e.config.type===`claudeai-proxy`&&ti(e.name)),i=e.filter(e=>e.type===`needs-auth`&&e.config.type!==`claudeai-proxy`),a=e.filter(e=>e.type===`needs-auth`&&e.config.type===`claudeai-proxy`&&ti(e.name));n.length===0&&r.length===0&&i.length===0&&a.length===0||(n.length>0&&t({key:`mcp-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[n.length,` MCP `,n.length===1?`server`:`servers`,` failed`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),r.length>0&&t({key:`mcp-claudeai-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[r.length,` claude.ai `,r.length===1?`connector`:`connectors`,` `,`unavailable`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),i.length>0&&t({key:`mcp-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`warning`,children:[i.length,` MCP `,i.length===1?`server needs`:`servers need`,` `,`auth`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),a.length>0&&t({key:`mcp-claudeai-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`warning`,children:[a.length,` claude.ai`,` `,a.length===1?`connector needs`:`connectors need`,` auth`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}))},[t,e])}J(),Rd(),Mi();var mk=`Auto mode lets Work Mate handle permission prompts automatically — Work Mate checks each tool call for risky actions and prompt injection before executing. Actions Work Mate identifies as safe are executed, while actions Work Mate identifies as risky are blocked and Work Mate may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Work Mate can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.`;nu(),Nu(),vi(),J(),W(),hd(),o();var hk=5e3;function gk(){let{addNotification:e}=si(),t=y(),[n,r]=Q.useState(()=>a(`true`)),i=Q.useRef(new Set),o=Q.useCallback((n,r)=>{let a=`${n}:${r}`;if(i.current.has(a))return;i.current.add(a),Y(`LSP error: ${n} - ${r}`),t(e=>{let t=new Set(e.plugins.errors.map(e=>e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`)),i=`generic-error:${n}:${r}`;return t.has(i)?e:{...e,plugins:{...e.plugins,errors:[...e.plugins.errors,{type:`generic-error`,source:n,error:r}]}}});let o=n.startsWith(`plugin:`)?n.split(`:`)[1]??n:n;e({key:`lsp-error-${n}`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[`LSP for `,o,` failed`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`,timeoutMs:8e3})},[e,t]),s=Q.useCallback(()=>{if(bu()||Au())return;let e=ks();if(e.status===`failed`){o(`lsp-manager`,e.error.message),r(!1);return}if(e.status===`pending`||e.status===`not-started`)return;let t=ts();if(t){let e=t.getAllServers();for(let[t,n]of e)n.state===`error`&&n.lastError&&o(t,n.lastError.message)}},[o]);Bl(s,n?hk:null),Q.useEffect(()=>{bu()||!n||s()},[s,n])}hd();var _k=new Map;async function vk(e){if(!e?.trim())return Y(`[binaryCheck] Empty command provided, returning false`),!1;let t=e.trim(),n=_k.get(t);if(n!==void 0)return Y(`[binaryCheck] Cache hit for '${t}': ${n}`),n;let r=!1;return await Ef(t).catch(()=>null)&&(r=!0),_k.set(t,r),Y(`[binaryCheck] Binary '${t}' ${r?`found`:`not found`}`),r}rf(),hd(),_t();var yk=5;function bk(e){return Id.has(e.toLowerCase())}function xk(e){if(!e)return null;if(typeof e==`string`)return Y(`[lspRecommendation] Skipping string path lspServers (not readable from marketplace)`),null;if(Array.isArray(e)){for(let t of e){if(typeof t==`string`)continue;let e=Ck(t);if(e)return e}return null}return Ck(e)}function Sk(e){return typeof e==`object`&&!!e}function Ck(e){let t=new Set,n=null;for(let[r,i]of Object.entries(e)){if(!Sk(i))continue;!n&&typeof i.command==`string`&&(n=i.command);let e=i.extensionToLanguage;if(Sk(e))for(let n of Object.keys(e))t.add(n.toLowerCase())}return!n||t.size===0?null:{extensions:t,command:n}}async function wk(){let e=new Map;try{let t=await Xt();for(let n of Object.keys(t))try{let t=await hn(n),r=bk(n);for(let i of t.plugins){if(!i.lspServers)continue;let t=xk(i.lspServers);if(!t)continue;let a=`${i.name}@${n}`;e.set(a,{entry:i,marketplaceName:n,extensions:t.extensions,command:t.command,isOfficial:r})}}catch(e){Y(`[lspRecommendation] Failed to load marketplace ${n}: ${e}`)}}catch(e){Y(`[lspRecommendation] Failed to load marketplaces config: ${e}`)}return e}async function Tk(e){if(Ok())return Y(`[lspRecommendation] Recommendations are disabled`),[];let t=n_(e).toLowerCase();if(!t)return Y(`[lspRecommendation] No file extension found`),[];Y(`[lspRecommendation] Looking for LSP plugins for ${t}`);let n=await wk(),r=nf().lspRecommendationNeverPlugins??[],i=[];for(let[e,a]of n)if(a.extensions.has(t)){if(r.includes(e)){Y(`[lspRecommendation] Skipping ${e} (in never suggest list)`);continue}if(vr(e)){Y(`[lspRecommendation] Skipping ${e} (already installed)`);continue}i.push({info:a,pluginId:e})}let a=[];for(let{info:e,pluginId:t}of i)await vk(e.command)?(a.push({info:e,pluginId:t}),Y(`[lspRecommendation] Binary '${e.command}' found for ${t}`)):Y(`[lspRecommendation] Skipping ${t} (binary '${e.command}' not found)`);return a.sort((e,t)=>e.info.isOfficial&&!t.info.isOfficial?-1:!e.info.isOfficial&&t.info.isOfficial?1:0),a.map(({info:e,pluginId:t})=>({pluginId:t,pluginName:e.entry.name,marketplaceName:e.marketplaceName,description:e.entry.description,isOfficial:e.isOfficial,extensions:Array.from(e.extensions),command:e.command}))}function Ek(e){of(t=>{let n=t.lspRecommendationNeverPlugins??[];return n.includes(e)?t:{...t,lspRecommendationNeverPlugins:[...n,e]}}),Y(`[lspRecommendation] Added ${e} to never suggest`)}function Dk(){of(e=>{let t=(e.lspRecommendationIgnoredCount??0)+1;return{...e,lspRecommendationIgnoredCount:t}}),Y(`[lspRecommendation] Incremented ignored count`)}function Ok(){let e=nf();return e.lspRecommendationDisabled===!0||(e.lspRecommendationIgnoredCount??0)>=yk}l(),Nu(),J(),xf(),_t();function kk(){let[e,t]=Q.useState(null),n=Q.useRef(!1),r=Q.useCallback(r=>{bu()||e||n.current||(n.current=!0,r().then(e=>{e&&t(e)}).catch(Cf).finally(()=>{n.current=!1}))},[e]);return{recommendation:e,clearRecommendation:Q.useCallback(()=>t(null),[]),tryResolve:r}}async function Ak(e,t,n,r,i){try{let a=await Be(e);if(!a)throw Error(`Plugin ${e} not found in marketplace`);await i(a),r({key:`${n}-installed`,jsx:(0,$.jsxs)(q,{color:`success`,children:[u.tick,` `,t,` installed · restart to apply`]}),priority:`immediate`,timeoutMs:5e3})}catch(e){Cf(e),r({key:`${n}-install-failed`,jsx:(0,$.jsxs)(q,{color:`error`,children:[`Failed to install `,t]}),priority:`immediate`,timeoutMs:5e3})}}Nu(),vi(),W(),rf(),hd(),xf(),Rd();var jk=28e3;function Mk(){let e=G(e=>e.fileHistory.trackedFiles),{addNotification:t}=si(),n=Q.useRef(new Set),{recommendation:r,clearRecommendation:i,tryResolve:a}=kk();return Q.useEffect(()=>{a(async()=>{if(ju())return null;let t=[];for(let r of e)n.current.has(r)||(n.current.add(r),t.push(r));for(let e of t)try{let t=(await Tk(e))[0];if(t)return Y(`[useLspPluginRecommendation] Found match: ${t.pluginName} for ${e}`),Hu(!0),{pluginId:t.pluginId,pluginName:t.pluginName,pluginDescription:t.description,fileExtension:n_(e),shownAt:Date.now()}}catch(e){Cf(e)}return null})},[e,a]),{recommendation:r,handleResponse:Q.useCallback(e=>{if(!r)return;let{pluginId:n,pluginName:a,shownAt:o}=r;switch(Y(`[useLspPluginRecommendation] User response: ${e} for ${a}`),e){case`yes`:Ak(n,a,`lsp-plugin`,t,async e=>{Y(`[useLspPluginRecommendation] Installing plugin: ${n}`);let t=typeof e.entry.source==`string`?r_(e.marketplaceInstallLocation,e.entry.source):void 0;await Ja(n,e.entry,`user`,void 0,t),Xd(`userSettings`,{enabledPlugins:{...Pd(`userSettings`)?.enabledPlugins,[n]:!0}}),Y(`[useLspPluginRecommendation] Plugin installed: ${n}`)});break;case`no`:{let e=Date.now()-o;e>=jk&&(Y(`[useLspPluginRecommendation] Timeout detected (${e}ms), incrementing ignored count`),Dk());break}case`never`:Ek(n);break;case`disable`:of(e=>e.lspRecommendationDisabled?e:{...e,lspRecommendationDisabled:!0});break}i()},[r,t,i])}}J(),S(),pg();var Nk=3e4;function Pk({pluginName:e,pluginDescription:t,fileExtension:n,onResponse:r}){let i=Q.useRef(r);i.current=r,Q.useEffect(()=>{let e=setTimeout(e=>e.current(`no`),Nk,i);return()=>clearTimeout(e)},[]);function a(e){switch(e){case`yes`:r(`yes`);break;case`no`:r(`no`);break;case`never`:r(`never`);break;case`disable`:r(`disable`);break}}return(0,$.jsx)(hg,{title:`LSP Plugin Recommendation`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsx)(q,{dimColor:!0,children:`LSP provides code intelligence like go-to-definition and error checking`})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),t&&(0,$.jsx)(K,{children:(0,$.jsx)(q,{dimColor:!0,children:t})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Triggered by:`}),(0,$.jsxs)(q,{children:[` `,n,` files`]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Would you like to install this LSP plugin?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:(0,$.jsxs)(q,{children:[`Yes, install `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes`},{label:`No, not now`,value:`no`},{label:(0,$.jsxs)(q,{children:[`Never for `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`never`},{label:`Disable all LSP recommendations`,value:`disable`}],onChange:a,onCancel:()=>r(`no`)})})]})})}vi(),Mf(),hd(),ns();function Fk(){let e=Q.useSyncExternalStore(mr,cr),{addNotification:t}=si(),{recommendation:n,clearRecommendation:r,tryResolve:i}=kk();return Q.useEffect(()=>{e&&i(async()=>{let t=await qo(e);return t&&(Y(`[useClaudeCodeHintRecommendation] surfacing ${t.pluginId} from ${t.sourceCommand}`),jc()),cr()===e&&Uc(),t})},[e,i]),{recommendation:n,handleResponse:Q.useCallback(e=>{if(n){switch(va(n.pluginId),X(`tengu_plugin_hint_response`,{_PROTO_plugin_name:n.pluginName,_PROTO_marketplace_name:n.marketplaceName,response:e}),e){case`yes`:{let{pluginId:e,pluginName:r,marketplaceName:i}=n;Ak(e,r,`hint-plugin`,t,async t=>{let n=await po({pluginId:e,entry:t.entry,marketplaceName:i,scope:`user`,trigger:`hint`});if(!n.success)throw Error(n.success?`Unknown error`:n.error)});break}case`disable`:vs();break;case`no`:break}r()}},[n,t,r])}}J(),S(),pg();var Ik=3e4;function Lk({pluginName:e,pluginDescription:t,marketplaceName:n,sourceCommand:r,onResponse:i}){let a=Q.useRef(i);a.current=i,Q.useEffect(()=>{let e=setTimeout(e=>e.current(`no`),Ik,a);return()=>clearTimeout(e)},[]);function o(e){switch(e){case`yes`:i(`yes`);break;case`disable`:i(`disable`);break;default:i(`no`)}}return(0,$.jsx)(hg,{title:`Plugin Recommendation`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsxs)(q,{dimColor:!0,children:[`The `,(0,$.jsx)(q,{bold:!0,children:r}),` command suggests installing a plugin.`]})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Marketplace:`}),(0,$.jsxs)(q,{children:[` `,n]})]}),t&&(0,$.jsx)(K,{children:(0,$.jsx)(q,{dimColor:!0,children:t})}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Would you like to install it?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:(0,$.jsxs)(q,{children:[`Yes, install `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes`},{label:`No`,value:`no`},{label:`No, and don't show plugin installation hints again`,value:`disable`}],onChange:o,onCancel:()=>i(`no`)})})]})})}S(),pg();var Rk=3e4;function zk({tools:e,onSelect:t,onDismiss:n}){let r=Q.useRef(t),i=Q.useRef(n);r.current=t,i.current=n,Q.useEffect(()=>{let e=setTimeout(e=>e.current(),Rk,i);return()=>clearTimeout(e)},[]);let a=e.map(e=>({label:`${e.name} — ${e.description.slice(0,60)} (score: ${e.score.toFixed(2)})`,value:e.name}));return a.push({label:`Dismiss`,value:`__dismiss__`}),(0,$.jsx)(hg,{title:`Tool Recommendation`,children:(0,$.jsx)(Gn,{options:a,onChange:e=>{e===`__dismiss__`?i.current():(i.current(),r.current(e))}})})}var Bk=.15,Vk=3;function Hk(){let e=Q.useSyncExternalStore(ol,Vi),t=Q.useMemo(()=>e.length===0?[]:e.slice(0,Vk).map(e=>({name:e.name,description:e.description.slice(0,60),score:e.score})),[e]);return{tools:t,visible:t.length>0&&(t[0]?.score??0)>=Bk,handleSelect:Q.useCallback(e=>{ro()},[]),handleDismiss:Q.useCallback(()=>{ro()},[])}}Nu(),nd(),hd(),pf(),Yd();var Uk=`1.1.2396`;function Wk(){let e=[process.argv[1]||``,process.execPath||``],t=[`/build-ant/`,`/build-ant-native/`,`/build-external/`,`/build-external-native/`];return e.some(e=>t.some(t=>e.includes(t)))}function Gk(e){let t=Wk()?`claude-dev`:`claude`,n=new URL(`${t}://resume`);return n.searchParams.set(`session`,e),n.searchParams.set(`cwd`,rd()),n.toString()}async function Kk(){if(Wk())return!0;let e=process.platform;if(e===`darwin`)return Bd(`/Applications/Work Mate.app`);if(e===`linux`){let{code:e,stdout:t}=await mf(`xdg-mime`,[`query`,`default`,`x-scheme-handler/claude`]);return e===0&&t.trim().length>0}else if(e===`win32`){let{code:e}=await mf(`reg`,[`query`,`HKEY_CLASSES_ROOT\\claude`,`/ve`]);return e===0}return!1}async function qk(){let e=process.platform;if(e===`darwin`){let{code:e,stdout:t}=await mf(`defaults`,[`read`,`/Applications/Work Mate.app/Contents/Info.plist`,`CFBundleShortVersionString`]);if(e!==0)return null;let n=t.trim();return n.length>0?n:null}else if(e===`win32`){let e=process.env.LOCALAPPDATA;if(!e)return null;let t=r_(e,`AnthropicClaude`);try{let e=(await d_(t)).filter(e=>e.startsWith(`app-`)).map(e=>e.slice(4)).filter(e=>(0,Kv.coerce)(e)!==null).sort((e,t)=>{let n=(0,Kv.coerce)(e),r=(0,Kv.coerce)(t);return n.compare(r)});return e.length>0?e[e.length-1]:null}catch{return null}}return null}async function Jk(){if(!await Kk())return{status:`not-installed`};let e;try{e=await qk()}catch{return{status:`ready`,version:`unknown`}}if(!e)return{status:`ready`,version:`unknown`};let t=(0,Kv.coerce)(e);return!t||!rm(t.version,Uk)?{status:`version-too-old`,version:e}:{status:`ready`,version:e}}async function Yk(e){let t=process.platform;if(Y(`Opening deep link: ${e}`),t===`darwin`){if(Wk()){let{code:t}=await mf(`osascript`,[`-e`,`tell application "Electron" to open location "${e}"`]);return t===0}let{code:t}=await mf(`open`,[e]);return t===0}else if(t===`linux`){let{code:t}=await mf(`xdg-open`,[e]);return t===0}else if(t===`win32`){let{code:t}=await mf(`cmd`,[`/c`,`start`,``,e]);return t===0}return!1}async function Xk(){let e=Ju();if(!await Kk())return{success:!1,error:`Work Mate Desktop is not installed. Install it from https://claude.ai/download`};let t=Gk(e);return await Yk(t)?{success:!0,deepLinkUrl:t}:{success:!1,error:`Failed to open Work Mate Desktop. Please try opening it manually.`,deepLinkUrl:t}}J(),Ui(),cd(),_(),fa();var Zk=`https://clau.de/desktop`;function Qk(){switch(process.platform){case`win32`:return`https://claude.ai/api/desktop/win32/x64/exe/latest/redirect`;default:return`https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect`}}function $k({onDone:e}){let[t,n]=(0,Q.useState)(`checking`),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(``);return Kl(n=>{if(t===`error`){e(r??`Unknown error`,{display:`system`});return}t===`prompt-download`&&(n===`y`||n===`Y`?(hs(Qk()).catch(()=>{}),e(`Starting download. Re-run /desktop once you\u2019ve installed the app.\nLearn more at ${Zk}`,{display:`system`})):(n===`n`||n===`N`)&&e(`The desktop app is required for /desktop. Learn more at ${Zk}`,{display:`system`}))}),(0,Q.useEffect)(()=>{async function t(){n(`checking`);let t=await Jk();if(t.status===`not-installed`){o(`Work Mate Desktop is not installed.`),n(`prompt-download`);return}if(t.status===`version-too-old`){o(`Work Mate Desktop needs to be updated (found v${t.version}, need v1.1.2396+).`),n(`prompt-download`);return}n(`flushing`),await b(),n(`opening`);let r=await Xk();if(!r.success){i(r.error??`Failed to open Work Mate Desktop`),n(`error`);return}n(`success`),setTimeout(async e=>{e(`Session transferred to Work Mate Desktop`,{display:`system`}),await Oi(0,`other`)},500,e)}t().catch(e=>{i(sd(e)),n(`error`)})},[e]),t===`error`?(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,children:[(0,$.jsxs)(q,{color:`error`,children:[`Error: `,r]}),(0,$.jsx)(q,{dimColor:!0,children:`Press any key to continue…`})]}):t===`prompt-download`?(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,children:[(0,$.jsx)(q,{children:a}),(0,$.jsx)(q,{children:`Download now? (y/n)`})]}):(0,$.jsx)(Ql,{message:{checking:`Checking for Work Mate Desktop…`,flushing:`Saving session…`,opening:`Opening Work Mate Desktop…`,success:`Opening in Work Mate Desktop…`}[t]})}J(),Mf(),rf(),S(),pg();var eA={enable_shortcut_tip:!1,enable_startup_dialog:!1};function tA(){return eA}function nA(){return process.platform===`darwin`||process.platform===`win32`&&process.arch===`x64`}function rA(){if(!nA()||!tA().enable_startup_dialog)return!1;let e=nf();return!(e.desktopUpsellDismissed||(e.desktopUpsellSeenCount??0)>=3)}function iA({onDone:e}){let[t,n]=(0,Q.useState)(!1);if((0,Q.useEffect)(()=>{let e=(nf().desktopUpsellSeenCount??0)+1;of(t=>(t.desktopUpsellSeenCount??0)>=e?t:{...t,desktopUpsellSeenCount:e}),X(`tengu_desktop_upsell_shown`,{seen_count:e})},[]),t)return(0,$.jsx)($k,{onDone:()=>e()});function r(t){switch(t){case`try`:n(!0);return;case`never`:of(e=>e.desktopUpsellDismissed?e:{...e,desktopUpsellDismissed:!0}),e();return;case`not-now`:e();return}}return(0,$.jsx)(hg,{title:`Try Claude Code Desktop`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsx)(q,{children:`Same Work Mate with visual diffs, live app preview, parallel sessions, and more.`})}),(0,$.jsx)(Gn,{options:[{label:`Open in Claude Code Desktop`,value:`try`},{label:`Not now`,value:`not-now`},{label:`Don't ask again`,value:`never`}],onChange:r,onCancel:()=>r(`not-now`)})]})})}Nu(),vi(),J(),W(),hd(),Jf();function aA(){let{addNotification:e}=si(),t=G(e=>e.plugins.installationStatus),{totalFailed:n,failedMarketplacesCount:r,failedPluginsCount:i}=(0,Q.useMemo)(()=>{if(!t)return{totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0};let e=t.marketplaces.filter(e=>e.status===`failed`),n=t.plugins.filter(e=>e.status===`failed`);return{totalFailed:e.length+n.length,failedMarketplacesCount:e.length,failedPluginsCount:n.length}},[t]);(0,Q.useEffect)(()=>{if(!bu()){if(!t){Y(`No installation status to monitor`);return}n!==0&&(Y(`Plugin installation status: ${r} failed marketplaces, ${i} failed plugins`),n!==0&&(Y(`Adding notification for ${n} failed installations`),e({key:`plugin-install-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[n,` `,qf(n,`plugin`),` failed to install`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`})))}},[e,n,r,i])}Nu(),vi(),J(),hd(),xg();function oA(){let{addNotification:e}=si(),[t,n]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{if(!bu())return Sg(e=>{Y(`Plugin autoupdate notification: ${e.length} plugin(s) updated`),n(e)})},[]),(0,Q.useEffect)(()=>{if(bu()||t.length===0)return;let n=t.map(e=>{let t=e.indexOf(`@`);return t>0?e.substring(0,t):e}),r=n.length<=2?n.join(` and `):`${n.length} plugins`;e({key:`plugin-autoupdate-restart`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`success`,children:[n.length===1?`Plugin`:`Plugins`,` updated: `,r]}),(0,$.jsx)(q,{dimColor:!0,children:` · Run /reload-plugins to apply`})]}),priority:`low`,timeoutMs:1e4}),Y(`Showing plugin autoupdate notification for: ${n.join(`, `)}`)},[t,e])}hd(),xf(),_t(),Th(),Mf();function sA(e,t,n,r){e(e=>({...e,plugins:{...e.plugins,installationStatus:{...e.plugins.installationStatus,marketplaces:e.plugins.installationStatus.marketplaces.map(e=>e.name===t?{...e,status:n,error:r}:e)}}}))}async function cA(e){Y(`performBackgroundPluginInstallations called`);try{let t=Ch(on(),await Xt().catch(()=>({}))),n=[...t.missing,...t.sourceChanged.map(e=>e.name)];if(e(e=>({...e,plugins:{...e.plugins,installationStatus:{marketplaces:n.map(e=>({name:e,status:`pending`})),plugins:[]}}})),n.length===0)return;Y(`Installing ${n.length} marketplace(s) in background`);let r=await Sh({onProgress:t=>{switch(t.type){case`installing`:sA(e,t.name,`installing`);break;case`installed`:sA(e,t.name,`installed`);break;case`failed`:sA(e,t.name,`failed`,t.error);break}}}),i={installed_count:r.installed.length,updated_count:r.updated.length,failed_count:r.failed.length,up_to_date_count:r.upToDate.length};if(X(`tengu_marketplace_background_install`,i),uf(`info`,`tengu_marketplace_background_install`,i),r.installed.length>0){jo(),Y(`Auto-refreshing plugins after ${r.installed.length} new marketplace(s) installed`);try{await wh(e)}catch(t){Cf(t),Y(`Auto-refresh failed, falling back to needsRefresh: ${t}`,{level:`warn`}),So(`performBackgroundPluginInstallations: auto-refresh failed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})}}else r.updated.length>0&&(jo(),So(`performBackgroundPluginInstallations: marketplaces reconciled`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}}))}catch(e){Cf(e)}}rf(),hd(),_t(),ya();async function lA(e){if(Y(`performStartupChecks called`),!af()){Y(`Trust not accepted for current directory - skipping plugin installations`);return}try{Y(`Starting background plugin installations`),await Hr()&&(jo(),So(`performStartupChecks: seed marketplaces changed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})),await cA(e)}catch(e){Y(`Error initiating background plugin installations: ${e}`)}}J();var uA=/https?:\/\/\S+/;function dA(){let[e,t]=(0,Q.useState)(Mp.getInstance().getStatus());return(0,Q.useEffect)(()=>Mp.getInstance().subscribe(t),[]),!e.isAuthenticating&&!e.error&&e.output.length===0||!e.isAuthenticating&&!e.error?null:(0,$.jsxs)(K,{flexDirection:`column`,borderStyle:`round`,borderColor:`permission`,paddingX:1,marginY:1,children:[(0,$.jsx)(q,{bold:!0,color:`permission`,children:`Cloud Authentication`}),e.output.length>0&&(0,$.jsx)(K,{flexDirection:`column`,marginTop:1,children:e.output.slice(-5).map((e,t)=>{let n=e.match(uA);if(!n)return(0,$.jsx)(q,{dimColor:!0,children:e},t);let r=n[0],i=n.index??0,a=e.slice(0,i),o=e.slice(i+r.length);return(0,$.jsxs)(q,{dimColor:!0,children:[a,(0,$.jsx)(Tl,{url:r,children:r}),o]},t)})}),e.error&&(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{color:`error`,children:e.error})})]})}vi(),J(),Qt(),op(),ei(),Nu();function fA(e){let{addNotification:t}=si(),n=MS(),r=(0,Q.useMemo)(()=>hl(n,e),[n,e]),i=(0,Q.useMemo)(()=>ce(n),[n]),a=(0,Q.useRef)(null),o=Ep(),s=ct(),c=o===`team`||o===`enterprise`,[l,u]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{bu()||(n.isUsingOverage&&!l&&(!c||s)?(t({key:`limit-reached`,text:i,priority:`immediate`}),u(!0)):!n.isUsingOverage&&l&&u(!1))},[n.isUsingOverage,i,l,t,s,c]),(0,Q.useEffect)(()=>{bu()||r&&r!==a.current&&(a.current=r,t({key:`rate-limit-warning`,jsx:(0,$.jsx)(q,{children:(0,$.jsx)(q,{color:`warning`,children:r})}),priority:`high`}))},[r,t])}vi(),Nu();function pA(e){let{addNotification:t}=si(),n=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(bu())return;let r=Gg(e);r&&r!==n.current&&(n.current=r,t({key:`model-deprecation-warning`,text:r,color:`warning`,priority:`high`})),r||(n.current=null)},[e,t])}o();var mA=``;function hA(){JO(async()=>Uf()||a(process.env.DISABLE_INSTALLATION_CHECKS)||await Ym()===`development`?null:{timeoutMs:15e3,key:`npm-deprecation-warning`,text:mA,color:`warning`,priority:`high`})}vi(),J(),rf(),Go(),Nu();var gA=5;function _A({ideSelection:e,mcpClients:t,ideInstallationStatus:n}){let{addNotification:r,removeNotification:i}=si(),{status:a,ideName:o}=jS(t),s=(0,Q.useRef)(!1),c=n?Ha(n?.ideType):!1,l=n?.error||c,u=a===`connected`&&(e?.filePath||e?.text&&e.lineCount>0),d=a===`connected`&&!u,f=l&&!c&&!d&&!u,p=l&&c&&!d&&!u;(0,Q.useEffect)(()=>{if(bu())return;if(Es()||a!==null||p){i(`ide-status-hint`);return}if(s.current||(nf().ideHintShownCount??0)>=gA)return;let e=setTimeout((e,t)=>{os(!0).then(n=>{let r=n[0]?.name;r&&!e.current&&(e.current=!0,of(e=>({...e,ideHintShownCount:(e.ideHintShownCount??0)+1})),t({key:`ide-status-hint`,jsx:(0,$.jsxs)(q,{dimColor:!0,children:[`/ide for `,(0,$.jsx)(q,{color:`ide`,children:r})]}),priority:`low`}))})},3e3,s,r);return()=>clearTimeout(e)},[r,i,a,p]),(0,Q.useEffect)(()=>{if(!bu()){if(f||p||a!==`disconnected`||!o){i(`ide-status-disconnected`);return}r({key:`ide-status-disconnected`,text:`${o} disconnected`,color:`error`,priority:`medium`})}},[r,i,a,o,f,p]),(0,Q.useEffect)(()=>{if(!bu()){if(!p){i(`ide-status-jetbrains-disconnected`);return}r({key:`ide-status-jetbrains-disconnected`,text:`IDE plugin not connected · /status for info`,priority:`medium`})}},[r,i,p]),(0,Q.useEffect)(()=>{if(!bu()){if(!f){i(`ide-status-install-error`);return}r({key:`ide-status-install-error`,text:`IDE extension install failed (see /status for info)`,color:`error`,priority:`medium`})}},[r,i,f])}rf();var vA=[e=>{if(bA(e.sonnet45To46MigrationTimestamp))return{key:`sonnet-46-update`,text:`Model updated to Sonnet 4.6`,color:`suggestion`,priority:`high`,timeoutMs:3e3}},e=>{let t=!!e.legacyOpusMigrationTimestamp;if(bA(e.legacyOpusMigrationTimestamp??e.opusProMigrationTimestamp))return{key:`opus-pro-update`,text:t?`Model updated to Opus 4.7 · Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out`:`Model updated to Opus 4.7`,color:`suggestion`,priority:`high`,timeoutMs:t?8e3:3e3}}];function yA(){JO(()=>{let e=nf(),t=[];for(let n of vA){let r=n(e);r&&t.push(r)}return t.length>0?t:null})}function bA(e){return e!==void 0&&Date.now()-e<3e3}op(),J(),Mf(),rf();var xA=3;function SA(){JO(async()=>{if((nf().subscriptionNoticeCount??0)>=xA)return null;let e=await CA();return e===null?null:(of(e=>({...e,subscriptionNoticeCount:(e.subscriptionNoticeCount??0)+1})),X(`tengu_switch_to_subscription_notice_shown`,{}),{key:`switch-to-subscription`,jsx:(0,$.jsxs)(q,{color:`suggestion`,children:[`Use your existing Work Mate `,e,` plan with Work Mate`]}),priority:`low`})})}async function CA(){if(Fp())return null;let e=await tp();return e?e.account.has_claude_max?`Max`:e.account.has_claude_pro?`Pro`:null:null}vi(),W(),rp(),Hf(),Nu();var wA=`fast-mode-cooldown-started`,TA=`fast-mode-cooldown-expired`,EA=`fast-mode-org-changed`,DA=`fast-mode-overage-rejected`;function OA(){let{addNotification:e}=si(),t=G(e=>e.fastMode),n=y();(0,Q.useEffect)(()=>{if(!bu()&&hp())return Op(r=>{r?e({key:EA,color:`fastMode`,priority:`immediate`,text:`Fast mode is now available · /fast to turn on`}):t&&(n(e=>({...e,fastMode:!1})),e({key:EA,color:`warning`,priority:`immediate`,text:`Fast mode has been disabled by your organization`}))})},[e,t,n]),(0,Q.useEffect)(()=>{if(!bu()&&hp())return Ap(t=>{n(e=>({...e,fastMode:!1})),e({key:DA,color:`warning`,priority:`immediate`,text:t})})},[e,n]),(0,Q.useEffect)(()=>{if(bu()||!t)return;let n=Cp((t,n)=>{let r=kA(n,Bf(t-Date.now(),{hideTrailingZeros:!0}));e({key:wA,invalidates:[TA],text:r,color:`warning`,priority:`immediate`})}),r=Zf(()=>{e({key:TA,invalidates:[wA],color:`fastMode`,text:`Fast limit reset · now using fast mode`,priority:`immediate`})});return()=>{n(),r()}},[e,t])}function kA(e,t){switch(e){case`overloaded`:return`Fast mode overloaded and is temporarily unavailable · resets in ${t}`;case`rate_limit`:return`Fast limit reached and temporarily disabled · resets in ${t}`}}J(),io();function AA({onRun:e,onCancel:t,reason:n}){let r=(0,Q.useRef)(!1);return jl(`confirm:no`,t,{context:`Confirmation`}),(0,Q.useEffect)(()=>{r.current||(r.current=!0,e())},[e]),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(K,{children:(0,$.jsx)(q,{bold:!0,children:`Running feedback capture...`})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{dimColor:!0,children:[`Press `,(0,$.jsx)(vl,{shortcut:`Esc`,action:`cancel`}),` anytime`]})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{dimColor:!0,children:[`Reason: `,n]})})]})}function jA(e){switch(e){case`feedback_survey_bad`:return!1;case`feedback_survey_good`:return!1;default:return!1}}function MA(e){return`/issue`}function NA(e){switch(e){case`feedback_survey_bad`:return`You responded "Bad" to the feedback survey`;case`feedback_survey_good`:return`You responded "Good" to the feedback survey`;default:return`Unknown reason`}}function PA(){return null}function FA(e,t){return!1}Tg(),J(),rf(),Fr();function IA(e,t,n){let r=(0,Q.useRef)(!1),i=(0,Q.useRef)(n);i.current=n,(0,Q.useEffect)(()=>{if(t)return e.subscribe(()=>{let t=e.getState(),n=e.hasSelection();if(t?.isDragging){r.current=!1;return}if(!n){r.current=!1;return}if(r.current||!(nf().copyOnSelect??!0))return;let a=e.copySelectionNoClear();if(!a?.trim()){r.current=!0;return}r.current=!0,i.current?.(a)})},[t,e])}function LA(e){let[t]=Sl();(0,Q.useEffect)(()=>{e.setSelectionBgColor(st(t).selectionBg)},[e,t])}vi(),J(),io(),hd();var RA=40,zA=.3,BA=6,VA=200,HA=15,UA=15,WA=3,GA=1500,KA=150,qA=5,JA=5,YA=80,XA=3,ZA=6,QA=500;function $A(e){return!(e.wheelUp||e.wheelDown||(e.leftArrow||e.rightArrow||e.upArrow||e.downArrow||e.home||e.end||e.pageUp||e.pageDown)&&(e.shift||e.meta||e.super))}function ej(e){return!e.shift||e.meta?null:e.leftArrow?`left`:e.rightArrow?`right`:e.upArrow?`up`:e.downArrow?`down`:e.home?`lineStart`:e.end?`lineEnd`:null}function tj(e,t,n){if(!e.xtermJs){if(e.wheelMode&&n-e.time>GA&&(e.wheelMode=!1,e.burstCount=0,e.mult=e.base),e.pendingFlip){if(e.pendingFlip=!1,t!==e.dir||n-e.time>VA)return e.dir=t,e.time=n,e.mult=e.base,Math.floor(e.mult);e.wheelMode=!0}let r=n-e.time;if(t!==e.dir&&e.dir!==0)return e.pendingFlip=!0,e.time=n,0;if(e.dir=t,e.time=n,e.wheelMode)if(r<JA)if(++e.burstCount>=5)e.wheelMode=!1,e.burstCount=0,e.mult=e.base;else return 1;else e.burstCount=0;if(e.wheelMode){let t=.5**(r/KA),n=Math.max(UA,e.base*2),i=1+(e.mult-1)*t+HA*t;return e.mult=Math.min(n,i,e.mult+WA),Math.floor(e.mult)}if(r>RA)e.mult=e.base;else{let t=Math.max(BA,e.base*2);e.mult=Math.min(t,e.mult+zA)}return Math.floor(e.mult)}let r=n-e.time,i=t===e.dir;if(e.time=n,e.dir=t,i&&r<JA)return 1;if(!i||r>QA)e.mult=2,e.frac=0;else{let t=.5**(r/KA);e.mult=Math.min(r>=YA?XA:ZA,1+(e.mult-1)*t+qA*t)}let a=e.mult+e.frac,o=Math.floor(a);return e.frac=a-o,o}function nj(){let e=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!e)return 1;let t=parseFloat(e);return Number.isNaN(t)||t<=0?1:Math.min(t,20)}function rj(e=!1,t=1){return{time:0,mult:t,dir:0,xtermJs:e,frac:0,base:t,pendingFlip:!1,wheelMode:!1,burstCount:0}}function ij(){let e=ql(),t=nj();return Y(`wheel accel: ${e?`decay (xterm.js)`:`window (native)`} · base=${t} · TERM_PROGRAM=${process.env.TERM_PROGRAM??`unset`}`),rj(e,t)}var aj=2,oj=50,sj=200;function cj({scrollRef:e,isActive:t,onScroll:n,isModal:r=!1}){let i=Xl(),{addNotification:a}=si(),o=(0,Q.useRef)(null);function s(e){let t=Yl(),n=e.length,r;switch(t){case`native`:r=`copied ${n} chars to clipboard`;break;case`tmux-buffer`:r=`copied ${n} chars to tmux buffer · paste with prefix + ]`;break;case`osc52`:r=`sent ${n} chars via OSC 52 · check terminal clipboard settings if paste fails`;break}a({key:`selection-copied`,text:r,color:`suggestion`,priority:`immediate`,timeoutMs:t===`native`?2e3:4e3})}function c(){let e=i.copySelection();e&&s(e)}function l(e,t){let n=i.getState();if(!n?.anchor||!n.focus)return;let r=e.getViewportTop(),a=r+e.getViewportHeight()-1;if(n.anchor.row<r||n.anchor.row>a||n.focus.row<r||n.focus.row>a)return;let o=Math.max(0,e.getScrollHeight()-e.getViewportHeight()),s=e.getScrollTop()+e.getPendingDelta(),c=Math.max(0,Math.min(o,s+t))-s;if(c!==0)if(c>0)i.captureScrolledRows(r,r+c-1,`above`),i.shiftSelection(-c,r,a);else{let e=-c;i.captureScrolledRows(a-e+1,a,`below`),i.shiftSelection(e,r,a)}}return xl({"scroll:pageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:pageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:lineUp":()=>{i.clearSelection();let t=e.current;if(!t||t.getScrollHeight()<=t.getViewportHeight())return!1;o.current??(o.current=ij()),pj(t,tj(o.current,-1,performance.now())),n?.(!1,t)},"scroll:lineDown":()=>{i.clearSelection();let t=e.current;if(!t||t.getScrollHeight()<=t.getViewportHeight())return!1;o.current??(o.current=ij());let r=fj(t,tj(o.current,1,performance.now()));n?.(r,t)},"scroll:top":()=>{let t=e.current;t&&(l(t,-(t.getScrollTop()+t.getPendingDelta())),t.scrollTo(0),n?.(!1,t))},"scroll:bottom":()=>{let t=e.current;if(!t)return;let r=Math.max(0,t.getScrollHeight()-t.getViewportHeight());l(t,r-(t.getScrollTop()+t.getPendingDelta())),t.scrollTo(r),t.scrollToBottom(),n?.(!0,t)},"selection:copy":c},{context:`Scroll`,isActive:t}),xl({"scroll:halfPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:halfPageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:fullPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,t.getViewportHeight());l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:fullPageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,t.getViewportHeight());l(t,r);let i=dj(t,r);n?.(i,t)}},{context:`Scroll`,isActive:t}),Kl((t,r,i)=>{let a=e.current;if(!a)return;let o=hj(a,mj(t,r),e=>l(a,e));o!==null&&(n?.(o,a),i.stopImmediatePropagation())},{isActive:t&&r}),Kl((e,t,n)=>{if(!i.hasSelection())return;if(t.escape){i.clearSelection(),n.stopImmediatePropagation();return}if(t.ctrl&&!t.shift&&!t.meta&&e===`c`){c(),n.stopImmediatePropagation();return}let r=ej(t);if(r){i.moveFocus(r),n.stopImmediatePropagation();return}$A(t)&&i.clearSelection()},{isActive:t}),lj(e,i,t,n),IA(i,t,s),LA(i),null}function lj(e,t,n,r){let i=(0,Q.useRef)(null),a=(0,Q.useRef)(0),o=(0,Q.useRef)(0),s=(0,Q.useRef)(0),c=(0,Q.useRef)(r);c.current=r,(0,Q.useEffect)(()=>{if(!n)return;function r(){a.current=0,i.current&&(clearInterval(i.current),i.current=null)}function l(){let n=t.getState(),i=e.current,o=a.current;if(!n?.isDragging||!n.focus||!i||o===0||++s.current>sj){r();return}if(i.getPendingDelta()!==0)return;let l=i.getViewportTop(),u=l+i.getViewportHeight()-1;if(o<0){if(i.getScrollTop()<=0){r();return}let e=Math.min(aj,i.getScrollTop());t.captureScrolledRows(u-e+1,u,`below`),t.shiftAnchor(e,0,u),i.scrollBy(-2)}else{let e=Math.max(0,i.getScrollHeight()-i.getViewportHeight());if(i.getScrollTop()>=e){r();return}let n=Math.min(aj,e-i.getScrollTop());t.captureScrolledRows(l,l+n-1,`above`),t.shiftAnchor(-n,l,u),i.scrollBy(aj)}c.current?.(!1,i)}function u(e){o.current=e,a.current!==e&&(r(),a.current=e,s.current=0,l(),a.current===e&&(i.current=setInterval(l,oj)))}function d(){let n=e.current;if(!n){r();return}let i=n.getViewportTop(),a=i+n.getViewportHeight()-1,s=t.getState();(!s?.isDragging||s.scrolledOffAbove.length===0&&s.scrolledOffBelow.length===0)&&(o.current=0);let c=uj(s,i,a,o.current);if(c===0){if(o.current!==0&&s?.focus){let e=s.focus.row<i?-1:+(s.focus.row>a);e!==0&&e!==o.current&&(s.scrolledOffAbove=[],s.scrolledOffBelow=[],s.scrolledOffAboveSW=[],s.scrolledOffBelowSW=[],o.current=0)}r()}else u(c)}let f=t.subscribe(d);return()=>{f(),r(),o.current=0}},[n,e,t])}function uj(e,t,n,r=0){if(!e?.isDragging||!e.anchor||!e.focus)return 0;let i=e.focus.row,a=i<t?-1:+(i>n);return r===0?e.anchor.row<t||e.anchor.row>n?0:a:a===r?a:0}function dj(e,t){let n=Math.max(0,e.getScrollHeight()-e.getViewportHeight()),r=e.getScrollTop()+e.getPendingDelta()+t;return r>=n?(e.scrollTo(n),e.scrollToBottom(),!0):(e.scrollTo(Math.max(0,r)),!1)}function fj(e,t){let n=Math.max(0,e.getScrollHeight()-e.getViewportHeight());return e.getScrollTop()+e.getPendingDelta()+t>=n?(e.scrollToBottom(),!0):(e.scrollBy(t),!1)}function pj(e,t){if(e.getScrollTop()+e.getPendingDelta()-t<=0){e.scrollTo(0);return}e.scrollBy(-t)}function mj(e,t){if(t.meta)return null;if(!t.ctrl&&!t.shift){if(t.upArrow)return`lineUp`;if(t.downArrow)return`lineDown`;if(t.home)return`top`;if(t.end)return`bottom`}if(t.ctrl){if(t.shift)return null;switch(e){case`u`:return`halfPageUp`;case`d`:return`halfPageDown`;case`b`:return`fullPageUp`;case`f`:return`fullPageDown`;case`n`:return`lineDown`;case`p`:return`lineUp`;default:return null}}let n=e[0];if(!n||e!==n.repeat(e.length))return null;if(n===`G`||n===`g`&&t.shift)return`bottom`;if(t.shift)return null;switch(n){case`g`:return`top`;case`j`:return`lineDown`;case`k`:return`lineUp`;case` `:return`fullPageDown`;case`b`:return`fullPageUp`;default:return null}}function hj(e,t,n){switch(t){case null:return null;case`lineUp`:case`lineDown`:{let r=t===`lineDown`?1:-1;return n(r),dj(e,r)}case`halfPageUp`:case`halfPageDown`:{let r=Math.max(1,Math.floor(e.getViewportHeight()/2)),i=t===`halfPageDown`?r:-r;return n(i),dj(e,i)}case`fullPageUp`:case`fullPageDown`:{let r=Math.max(1,e.getViewportHeight()),i=t===`fullPageDown`?r:-r;return n(i),dj(e,i)}case`top`:return n(-(e.getScrollTop()+e.getPendingDelta())),e.scrollTo(0),!1;case`bottom`:{let t=Math.max(0,e.getScrollHeight()-e.getViewportHeight());return n(t-(e.getScrollTop()+e.getPendingDelta())),e.scrollTo(t),e.scrollToBottom(),!0}}}Nu(),Vc(),Od(),l(),J(),zc(),Ph(),vi(),hd(),o(),Hf(),da(),Zt(),Jt(),oh(),vn(),Ne(),Tr(),Qa(),ra(),cd(),xf(),nd(),qe(),na(),rt(),rf(),ei(),Mf(),Ut(),Wm(),Sf(),_(),Wt(),kg(),$r(),fo(),Vh(),W(),Oa(),fa(),la(),im(),Go(),ur(),ec(),Pr(),L(),gs(),Dr();var gj=[],_j=3e3;function vj({showAllInTranscript:e,virtualScroll:t,searchBadge:n,suppressShowAll:r=!1,status:i}){let a=Pi(`app:toggleTranscript`,`Global`,`ctrl+o`),o=Pi(`transcript:toggleShowAll`,`Transcript`,`ctrl+e`);return(0,$.jsxs)(K,{noSelect:!0,alignItems:`center`,alignSelf:`center`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,children:[(0,$.jsxs)(q,{dimColor:!0,children:[`Showing detailed transcript · `,a,` to toggle`,n?` · n/N to navigate`:t?` · ${u.arrowUp}${u.arrowDown} scroll · home/end top/bottom`:r?``:` · ${o} to ${e?`collapse`:`show all`}`]}),i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{flexGrow:1}),(0,$.jsxs)(q,{children:[i,` `]})]}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{flexGrow:1}),(0,$.jsxs)(q,{dimColor:!0,children:[n.current,`/`,n.count,` `]})]}):null]})}function yj({jumpRef:e,count:t,current:n,onClose:r,onCancel:i,setHighlight:a,initialQuery:o}){let{query:s,cursorOffset:c}=Qh({isActive:!0,initialQuery:o,onExit:()=>r(s),onCancel:i}),[l,u]=Q.useState(`building`);Q.useEffect(()=>{let t=!0,n,r=e.current?.warmSearchIndex;if(!r){u(null);return}return u(`building`),r().then(e=>{t&&(e<20?u(null):(u({ms:e}),n=setTimeout(()=>t&&u(null),2e3)))}),()=>{t=!1,n&&clearTimeout(n)}},[e]);let d=l!==`building`;(0,Q.useEffect)(()=>{d&&(e.current?.setSearchQuery(s),a(s))},[e,s,a,d]);let f=c,p=f<s.length?s[f]:` `;return(0,$.jsxs)(K,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,noSelect:!0,children:[(0,$.jsx)(q,{children:`/`}),(0,$.jsx)(q,{children:s.slice(0,f)}),(0,$.jsx)(q,{inverse:!0,children:p}),f<s.length&&(0,$.jsx)(q,{children:s.slice(f+1)}),(0,$.jsx)(K,{flexGrow:1}),l===`building`?(0,$.jsx)(q,{dimColor:!0,children:`indexing… `}):l?(0,$.jsxs)(q,{dimColor:!0,children:[`indexed in `,l.ms,`ms `]}):t===0&&s?(0,$.jsx)(q,{color:`error`,children:`no matches `}):t>0?(0,$.jsxs)(q,{dimColor:!0,children:[n,`/`,t,` `]}):null]})}var bj=[`⠂`,`⠐`],xj=`✳`,Sj=960;function Cj({isAnimating:e,title:t,disabled:n,noPrefix:r}){let i=Ml(),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(n||r||!e||!i)return;let t=setInterval(e=>e(e=>(e+1)%bj.length),Sj,o);return()=>clearInterval(t)},[n,r,e,i]);let s=e?bj[a]??xj:xj;return Pl(n?null:r?t:`${s} ${t}`),null}var wj=`<${bf}>`;function Tj(e){return e.type===`text`&&typeof e.text==`string`&&e.text.includes(wj)}function Ej({commands:t,debug:n,initialTools:r,initialMessages:i,pendingHookMessages:o,initialFileHistorySnapshots:s,initialContentReplacements:c,initialAgentName:l,initialAgentColor:u,mcpClients:d,dynamicMcpConfig:f,autoConnectIdeFlag:p,strictMcpConfig:m=!1,systemPrompt:h,appendSystemPrompt:g,onBeforeQuery:_,onTurnComplete:v,disabled:b=!1,mainThreadAgentDefinition:x,disableSlashCommands:S=!1,taskListId:w,remoteSessionConfig:T,directConnectConfig:O,sshSession:k,thinkingConfig:A}){let j=!!T,N=(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),ee=(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]);(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS),[]),(0,Q.useEffect)(()=>(Y(`[REPL:mount] REPL mounted, disabled=${b}`),()=>Y(`[REPL:unmount] REPL unmounting`)),[b]);let[P,F]=(0,Q.useState)(x),I=G(e=>e.toolPermissionContext),L=G(e=>e.verbose),ne=G(e=>e.mcp),re=G(e=>e.plugins),ie=G(e=>e.agentDefinitions),ae=G(e=>e.fileHistory),oe=G(e=>e.initialMessage),se=DS(),ce=G(e=>e.spinnerTip),le=G(e=>e.expandedView)===`tasks`,R=G(e=>e.tasks),z=G(e=>e.elicitation),ue=G(e=>e.viewingAgentTaskId),B=y(),pe=ue?R[ue]:void 0,me=nr(pe)&&pe.retain&&!pe.diskLoaded;(0,Q.useEffect)(()=>{if(!ue||!me)return;let e=ue;Ia(Fe(e)).then(t=>{B(n=>{let r=n.tasks[e];if(!nr(r)||r.diskLoaded||!r.retain)return n;let i=r.messages??[],a=new Set(i.map(e=>e.uuid)),o=t?t.messages.filter(e=>!a.has(e.uuid)):[];return{...n,tasks:{...n.tasks,[e]:{...r,messages:[...o,...i],diskLoaded:!0}}}})})},[ue,me,B]);let he=Un(),_e=El(),ve=Bh(),[ye,be]=(0,Q.useState)(t);lO(j?void 0:Vu(),be);let xe=Q.useSyncExternalStore(lm,_m),Se=Q.useSyncExternalStore(lm,um),Ce=(0,Q.useMemo)(()=>Pt(I),[I,xe]);sk();let[we,Te]=(0,Q.useState)(f),Oe=(0,Q.useCallback)(e=>{Te(e)},[Te]),[ke,je]=(0,Q.useState)(`prompt`),[Me,Ne]=(0,Q.useState)(!1),[Pe,Ie]=(0,Q.useState)(!1),[Le,ze]=(0,Q.useState)(``),Be=(0,Q.useRef)(0),Ve=(0,Q.useRef)(void 0),He=(0,Q.useRef)(!1),{addNotification:We,removeNotification:Ge}=si(),Ke=sO(d,ne.clients),[qe,Ye]=(0,Q.useState)(void 0),[Ze,Qe]=(0,Q.useState)(null),[$e,et]=(0,Q.useState)(null),[nt,rt]=(0,Q.useState)(!1),it=G(e=>e.showRemoteCallout),[at,st]=(0,Q.useState)(()=>rA());yA(),SA(),_A({ideSelection:qe,mcpClients:Ke,ideInstallationStatus:$e}),pk({mcpClients:Ke}),aA(),oA(),ng(),fA(ve),OA(),pA(ve),hA(),YO(),nk(),gk();let{recommendation:ct,handleResponse:lt}=Mk(),{recommendation:ut,handleResponse:ft}=Fk(),pt=Hk(),mt=(0,Q.useMemo)(()=>[...Ce,...r],[Ce,r]);Qm({enabled:!j});let gt=Bt();(0,Q.useEffect)(()=>{j||lA(B)},[B,j]);let _t=Mh(mt,ne.tools,I),{tools:vt,allowedAgentTypes:yt}=(0,Q.useMemo)(()=>{if(!P)return{tools:_t,allowedAgentTypes:void 0};let e=Mr(P,_t,!1,!0);return{tools:e.resolvedTools,allowedAgentTypes:e.allowedAgentTypes}},[P,_t]),bt=cO(cO(ye,re.commands),ne.commands),xt=(0,Q.useMemo)(()=>S?[]:bt,[S,bt]);Cy(j?gj:ne.clients),dO(j?gj:ne.clients,Ye);let[wt,Tt]=(0,Q.useState)(`responding`),Et=(0,Q.useRef)(wt);Et.current=wt;let[Dt,Ot]=(0,Q.useState)([]),[kt,At]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(kt&&!kt.isStreaming&&kt.streamingEndedAt){let e=3e4-(Date.now()-kt.streamingEndedAt);if(e>0){let t=setTimeout(At,e,null);return()=>clearTimeout(t)}else At(null)}},[kt]);let[jt,Mt]=(0,Q.useState)(null),Nt=(0,Q.useRef)(null);Nt.current=jt;let Ft=(0,Q.useRef)(0),[Rt,zt]=(0,Q.useState)(!1),Vt=(0,Q.useRef)(()=>{}),Ht=(0,Q.useRef)(()=>{}),Ut=(0,Q.useRef)(null),Wt=(0,Q.useRef)(null),Kt=(0,Q.useRef)(0),qt=Q.useRef(new yy).current,Jt=Q.useSyncExternalStore(qt.subscribe,qt.getSnapshot),[Yt,Xt]=Q.useState(T?.hasInitialPrompt??!1),V=Jt||Yt,[Zt,Qt]=Q.useState(void 0),$t=Q.useRef(0),en=Q.useRef(!1),tn=Q.useRef(0),nn=Q.useRef(0),rn=Q.useRef(null),an=Q.useCallback(()=>{tn.current=Date.now(),nn.current=0,rn.current=null},[]),on=Q.useRef(!1);Jt&&!on.current&&an(),on.current=Jt;let sn=Q.useCallback(e=>{Xt(e),e&&an()},[an]),ln=Q.useRef(void 0),[un,dn]=Q.useState(!1),[fn,pn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{fn?.notifications&&fn.notifications.forEach(e=>{We({key:`auto-updater-notification`,text:e,priority:`low`})})},[fn,We]),(0,Q.useEffect)(()=>{Yr()&&It().then(e=>{e&&We({key:`tmux-mouse-hint`,text:e,priority:`low`})})},[]);let[mn,hn]=(0,Q.useState)(null),_n=(0,Q.useRef)(null),vn=(0,Q.useCallback)(e=>{if(e?.isLocalJSXCommand){let{clearLocalJSX:t,...n}=e;_n.current={...n,isLocalJSXCommand:!0},hn(n);return}if(_n.current){if(e?.clearLocalJSX){_n.current=null,hn(null),Ft.current=Date.now();return}return}if(e?.clearLocalJSX){hn(null);return}hn(e)},[]),[yn,bn]=(0,Q.useState)([]),[xn,Sn]=(0,Q.useState)(null),[wn,Tn]=(0,Q.useState)([]),[Dn,On]=(0,Q.useState)([]),kn=(0,Q.useRef)(new Map),An=G(e=>e.settings.terminalTitleFromRename)===!1?void 0:Zs(Ju()),[Mn,Nn]=(0,Q.useState)(),Fn=(0,Q.useRef)((i?.length??0)>0),In=P?.agentType,Ln=An??In??Mn??`Work Mate`,Rn=yn.length>0||Dn.length>0,Bn=mn?.isLocalJSXCommand===!0&&mn?.jsx!=null,Vn=V&&!Rn&&!Bn;(0,Q.useEffect)(()=>{if(V&&!Rn&&!Bn)return fy(),()=>py()},[V,Rn,Bn]);let Gn=Rn||Bn?`waiting`:V?`busy`:`idle`,Jn=Gn===`waiting`?yn.length>0?`approve ${yn[0].tool.name}`:Bn?`dialog open`:`input needed`:void 0;(0,Q.useEffect)(()=>{Cc({status:Gn,waitingFor:Jn})},[Gn,Jn]),Il(null);let[H,$n]=(0,Q.useState)(i??[]),er=(0,Q.useRef)(H),rr=(0,Q.useRef)(!1),U=(0,Q.useCallback)(e=>{let t=er.current,n=typeof e==`function`?e(er.current):e;if(er.current=n,n.length<$t.current)$t.current=0;else if(n.length>t.length&&en.current){let e=n.length-t.length;(t.length===0||n[0]===t[0]?n.slice(-e):n.slice(0,e)).some(te)?en.current=!1:$t.current=n.length}$n(n)},[]),sr=(0,Q.useCallback)(e=>{e===void 0?en.current=!1:($t.current=er.current.length,en.current=!0),Qt(e)},[]),{dividerIndex:cr,dividerYRef:lr,onScrollAway:ur,onRepin:dr,jumpToNew:fr,shiftDivider:pr}=Ag(H.length);XO(H,U,V);let[mr,hr]=(0,Q.useState)(null),gr=(0,Q.useRef)(null),_r=(0,Q.useMemo)(()=>Dg(H,cr),[cr,H.length]),vr=(0,Q.useCallback)(()=>{Ut.current?.scrollToBottom(),dr(),hr(null)},[dr,hr]),yr=H.at(-1),xr=yr!=null&&te(yr);(0,Q.useEffect)(()=>{xr&&vr()},[xr,yr,vr]);let Sr=(0,Q.useCallback)((e,t)=>{Kt.current=Date.now(),e?dr():ur(t)},[dr,ur,B]),Cr=ND(o,U),Tr=(0,Q.useDeferredValue)(Q.useMemo(()=>H.length>500?H.slice(-500):H,[H])),Dr=H.length-Tr.length;Dr>0&&Y(`[useDeferredValue] Messages deferred by ${Dr} (${Tr.length}→${H.length})`);let[Or,kr]=(0,Q.useState)(null),[Ar,jr]=(0,Q.useState)(()=>Hg()),Pr=(0,Q.useRef)(Ar);Pr.current=Ar;let Fr=(0,Q.useRef)(null),Lr=(0,Q.useCallback)(e=>{Pr.current===``&&e!==``&&Date.now()-Kt.current>=_j&&vr(),Pr.current=e,jr(e),dn(e.trim().length>0)},[dn,vr]);(0,Q.useEffect)(()=>{if(Ar.trim().length===0)return;let e=setTimeout(dn,1500,!1);return()=>clearTimeout(e)},[Ar]);let[Rr,zr]=(0,Q.useState)(`prompt`),[Vr,Hr]=(0,Q.useState)(),Ur=(0,Q.useCallback)(e=>{let t=new Set(e);be(e=>e.filter(e=>t.has(e.name)||Nc.has(e)))},[be]),[Wr,Gr]=(0,Q.useState)(new Set),Jr=(0,Q.useRef)(!1),Xr=pD({config:T,setMessages:U,setIsLoading:sn,onInit:Ur,setToolUseConfirmQueue:bn,tools:mt,setStreamingToolUses:Ot,setStreamMode:Tt,setInProgressToolUseIDs:Gr}),Zr=gD({config:O,setMessages:U,setIsLoading:sn,setToolUseConfirmQueue:bn,tools:mt}),$r=_D({session:k,setMessages:U,setIsLoading:sn,setToolUseConfirmQueue:bn,tools:mt}),ei=$r.isRemoteMode?$r:Zr.isRemoteMode?Zr:Xr,[ti,ri]=(0,Q.useState)({}),[ii,oi]=(0,Q.useState)(0),ci=(0,Q.useRef)(0),li=(0,Q.useRef)([]),W=(0,Q.useCallback)(e=>{let t=ci.current;if(ci.current=e(t),ci.current>t){let e=li.current;if(e.length>0){let t=e.at(-1);t.lastTokenTime=Date.now(),t.endResponseLength=ci.current}}},[]),[ui,di]=(0,Q.useState)(null),fi=!(G(e=>e.settings.prefersReducedMotion)??!1)&&!tu(),pi=(0,Q.useCallback)(e=>{fi&&di(e)},[fi]),mi=ui&&fi&&ui.substring(0,ui.lastIndexOf(`
|
|
124
|
-
`)+1)||null,[_i,vi]=(0,Q.useState)(0),[yi,bi]=(0,Q.useState)(null),[xi,Ci]=(0,Q.useState)(null),[wi,Ti]=(0,Q.useState)(null),[Ei,Di]=(0,Q.useState)(!1),[Oi,ki]=(0,Q.useState)(void 0),[Ai,ji]=(0,Q.useState)(!1),[Mi,Ni]=(0,Q.useState)(l_()),[Pi,Fi]=(0,Q.useState)(null),Ii=(0,Q.useRef)(!1),Li=(0,Q.useRef)(_i);Li.current=_i;let[zi]=(0,Q.useState)(()=>({current:Po(i,c)}));Re(()=>{zi.current=Ee()});let[Bi,Vi]=(0,Q.useState)(nf().hasAcknowledgedCostThreshold),[Hi,Ui]=(0,Q.useState)(`INSERT`),[Wi,Gi]=(0,Q.useState)(!1),[Ki,qi]=(0,Q.useState)(!1),[Ji,Yi]=(0,Q.useState)(!1),Xi=Ml(),Zi=(0,Q.useRef)(Xi);Zi.current=Xi;let[Qi]=Sl(),ea=Q.useRef(!1),ta=(0,Q.useCallback)(()=>{if(ea.current)return;ea.current=!0;let e=er.current.slice(Da.current);for(let t of Qr(e))Ea.current.add(t);Da.current=er.current.length,ik({theme:Qi,readFileState:wa.current,bashTools:Ea.current}).then(async e=>{if(e){let t=await e.content({theme:Qi});B(e=>({...e,spinnerTip:t})),ak(e)}else B(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[B,Qi]),na=(0,Q.useCallback)(()=>{sn(!1),sr(void 0),ci.current=0,li.current=[],di(null),Ot([]),bi(null),Ci(null),Ti(null),ta(),Mm(),pl()},[ta]),ra=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(I.mode!==`auto`){ra.current=!1;return}if(ra.current||(nf().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,of(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,Zc(mk,`warning`)])},800,ra,U);return()=>clearTimeout(e)},[I.mode,U]);let aa=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(aa.current)return;let e=al();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;aa.current=!0;let t=Math.round(e.creationDurationMs/1e3);U(e=>[...e,Zc(`Worktree creation took ${t}s. For large repos, set \`worktree.sparsePaths\` in .workmate/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,`info`)])},[U]);let sa=(0,Q.useMemo)(()=>{let e=H.findLast(e=>e.type===`assistant`);if(e?.type!==`assistant`)return!1;let t=e.message?.content,n=(Array.isArray(t)?t:[]).filter(e=>e.type===`tool_use`&&Wr.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[H,Wr]),{onBeforeQuery:ca,onTurnComplete:la,render:ua}=AD({enabled:!1,setMessages:U,inputValue:Ar,setInputValue:Lr,setToolJSX:vn}),da=(!mn||mn.showSpinner===!0)&&yn.length===0&&Dn.length===0&&(V||Zt||C()>0)&&!sa&&!mi,fa=yn.length>0||Dn.length>0||wn.length>0||z.queue.length>0,pa=MO(H,V,ii,`session`,fa),ma=kD(U),ga=FA(H,ii),_a=(0,Q.useMemo)(()=>({...pa,handleSelect:e=>{La.current=!1;let t=pa.handleSelect(e);e===`bad`&&!t&&jA(`feedback_survey_bad`)&&(Fa(`feedback_survey_bad`),La.current=!0)}}),[pa]),va=BO(H,V,fa,{enabled:!j}),ya=IO(H,V,fa,{enabled:!j});SO({autoConnectIdeFlag:p,ideToInstallExtension:Ze,setDynamicMcpConfig:Te,setShowIdeOnboarding:rt,setIDEInstallationState:et}),ck(s,ae,e=>B(t=>({...t,fileHistory:e})));let ba=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=fe(n.messages),o=ac();await Vs(`resume`,{getAppState:()=>he.getState(),setAppState:B,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await oo(`resume`,{sessionId:t,agentType:P?.agentType,model:ve});a.push(...s),r===`fork`?St(n,dt(t)):gi(n,dt(t)),vh(n,B),n.fileHistorySnapshots&&Ga(n);let{agentDefinition:c}=gh(n.agentSetting,x,ie);F(c),B(e=>({...e,agent:c?.agentType})),B(e=>({...e,standaloneAgentContext:_h(n.agentName,n.agentColor)})),oa(n.agentName),Aa(a,n.projectPath??Bu()),na(),Mt(null),Ni(t);let l=cn(t);if(Ue(),zu(),qu(dt(t),n.fullPath?t_(n.fullPath):null),await fc(),Lt(),ls(n),n.goal){let{hydrateGoalFromTranscript:r}=(nl(),e(Ec)),i=new Map;i.set(t,n.goal),r(i,t)}if(Fn.current=!0,Nn(void 0),r!==`fork`)yh(),bh(n.worktreeSession),tr(),ws({abortController:new AbortController,getAppState:()=>he.getState(),setAppState:B});else{let e=al();e&&Ta(e)}l&&Qu(l),zi.current&&r!==`fork`&&(zi.current=E(a,n.contentReplacements??[])),U(()=>a),vn(null),Lr(``),X(`tengu_session_resumed`,{entrypoint:r,success:!0,resume_duration_ms:Math.round(performance.now()-i)})}catch(e){throw X(`tengu_session_resumed`,{entrypoint:r,success:!1}),e}},[na,B]),[Ca]=(0,Q.useState)(()=>qn(100)),wa=(0,Q.useRef)(Ca),Ea=(0,Q.useRef)(new Set),Da=(0,Q.useRef)(0),Oa=(0,Q.useRef)(new Set),ka=(0,Q.useRef)(new Set),Aa=(0,Q.useCallback)((e,t)=>{let n=Xe(e,t,100);wa.current=ja(wa.current,n);for(let t of Qr(e))Ea.current.add(t)},[]);(0,Q.useEffect)(()=>{i&&i.length>0&&(Aa(i,Bu()),ws({abortController:new AbortController,getAppState:()=>he.getState(),setAppState:B}))},[]);let{status:Ma,reverify:Na}=PD(),[Pa,Fa]=(0,Q.useState)(null),La=(0,Q.useRef)(!1),[Ra,za]=(0,Q.useState)(null),[Ba,Ha]=(0,Q.useState)(!1),Ua=!V&&Ai;function Wa(){if(Ba||Ra)return;if(Ei)return`message-selector`;if(un)return;if(wn[0])return`sandbox-permission`;let e=!mn||mn.shouldContinueAnimation;if(e&&yn[0])return`tool-permission`;if(e&&Dn[0])return`prompt`;if(e&&z.queue[0])return`elicitation`;if(e&&Ua)return`cost`;if(e&&Pi)return`idle-return`;if(e&&nt)return`ide-onboarding`;if(e&&it)return`remote-callout`;if(e&&ct)return`lsp-recommendation`;if(e&&ut)return`plugin-hint`;if(e&&pt.visible)return`search-extra-tools-hint`;if(e&&at)return`desktop-upsell`}let Ka=Wa(),qa=un&&(wn[0]||yn[0]||Dn[0]||z.queue[0]||Ua);ln.current=Ka,(0,Q.useEffect)(()=>{if(!V)return;let e=Ka===`tool-permission`,t=Date.now();e&&rn.current===null?rn.current=t:!e&&rn.current!==null&&(nn.current+=t-rn.current,rn.current=null)},[Ka,V]);let Ja=(0,Q.useRef)(Ka);(0,Q.useLayoutEffect)(()=>{Ja.current===`tool-permission`!=(Ka===`tool-permission`)&&vr(),Ja.current=Ka},[Ka,vr]);function Ya(){if(Ka!==`elicitation`){if(Ft.current!==0&&Date.now()-Ft.current<500){Ft.current=0,Y(`[onCancel] suppressed: local-jsx panel just dismissed`);return}if(Ft.current=0,Y(`[onCancel] focusedInputDialog=${Ka} streamMode=${wt}`),dm(),qt.getSnapshot()){let{getGoal:t,pauseGoal:n}=(M(),e(Cn)),{persistCurrentGoal:r}=(nl(),e(Ec));t()?.status===`active`&&(n(),r())}if(zt(!0),qt.forceEnd(),Ii.current=!1,ui?.trim()&&U(e=>[...e,Zo({content:ui})]),na(),Iu(null),Ka===`tool-permission`)yn[0]?.onAbort(),bn([]);else if(Ka===`prompt`){for(let e of Dn)e.reject(Error(`Prompt cancelled by user`));On([]),jt?.abort(`user-cancel`)}else ei.isRemoteMode?ei.cancelRequest():jt?.abort(`user-cancel`);Mt(null),la(er.current,!0)}}let Xa=(0,Q.useCallback)(()=>{let e=sc(Ar,0);e&&(Lr(e.text),zr(`prompt`),e.images.length>0&&ri(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[Lr,zr,Ar,ri]),Za={setToolUseConfirmQueue:bn,onCancel:Ya,onAgentsKilled:()=>U(e=>[...e,Va()]),isMessageSelectorVisible:Ei||!!Wi,screen:ke,abortSignal:jt?.signal,popCommandFromQueue:Xa,vimMode:Hi,isLocalJSXCommand:mn?.isLocalJSXCommand,isSearchingHistory:Ki,isHelpOpen:Ji,inputMode:Rr,inputValue:Ar,streamMode:wt};(0,Q.useEffect)(()=>{Cu()>=5&&!Ai&&!Bi&&(X(`tengu_cost_threshold_reached`,{}),Vi(!0),Ir()&&ji(!0))},[H,Ai,Bi]);let Qa=(0,Q.useCallback)(async e=>new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}Tn(t=>[...t,{hostPattern:e,resolvePromise:r}])}),[B,he]);(0,Q.useEffect)(()=>{let e=Ws.getSandboxUnavailableReason();if(e){if(Ws.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),Hn(1,`other`);return}Y(`sandbox disabled: ${e}`,{level:`warn`}),We({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(q,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(q,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[We]),Ws.isSandboxingEnabled()&&Ws.initialize(Qa).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${sd(e)}\n`),Hn(1,`other`)});let $a=(0,Q.useCallback)((e,t)=>{B(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},bn)},[B,bn]),to=QD(bn,$a),ro=(0,Q.useCallback)((e,t,r,i)=>{let a=he.getState(),o=()=>{let e=he.getState(),t=wr(e.toolPermissionContext,e.mcp.tools),n=th(mt,t,e.toolPermissionContext.mode);return P?Mr(P,n,!1,!0).resolvedTools:n};return{abortController:r,options:{commands:xt,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:A,mcpClients:oO(d,a.mcp.clients),mcpResources:a.mcp.resources,ideInstallationStatus:$e,isNonInteractiveSession:!1,dynamicMcpConfig:we,theme:Qi,agentDefinitions:yt?{...a.agentDefinitions,allowedAgentTypes:yt}:a.agentDefinitions,customSystemPrompt:h,appendSystemPrompt:g,refreshTools:o},getAppState:()=>he.getState(),setAppState:B,messages:e,setMessages:U,updateFileHistoryState(e){B(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){B(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{b||Di(!0)},onChangeAPIKey:Na,readFileState:wa.current,setToolJSX:vn,addNotification:We,appendSystemMessage:e=>U(t=>[...t,e]),sendOSNotification:e=>{ey(e,_e)},onChangeDynamicMcpConfig:Oe,onInstallIDEExtension:Qe,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:ka.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:Oa.current,setResponseLength:W,pushApiMetricsEntry:void 0,setStreamMode:Tt,onCompactProgress:e=>{switch(e.type){case`hooks_start`:Ci(`claudeBlue_FOR_SYSTEM_SPINNER`),Ti(`claudeBlueShimmer_FOR_SYSTEM_SPINNER`),bi(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:bi(`Compacting conversation`);break;case`compact_end`:bi(null),Ci(null),Ti(null);break}},setInProgressToolUseIDs:Gr,setHasInterruptibleToolInProgress:e=>{Jr.current=e},resume:ba,setConversationId:Ni,requestPrompt:void 0,contentReplacementState:zi.current}},[xt,mt,P,n,d,$e,we,Qi,yt,he,B,Na,We,U,Oe,ba,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{On(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),b,h,g,Ni]),{handleBackgroundSession:io}=wO({setMessages:U,setIsLoading:sn,resetLoadingState:na,setAbortController:Mt,onBackgroundQuery:(0,Q.useCallback)(()=>{jt?.abort(`background`);let e=xa(e=>e.mode===`task-notification`);(async()=>{let t=ro(er.current,[],new AbortController,ve),[n,r,i]=await Promise.all([$i(t.options.tools,ve,Array.from(I.additionalWorkingDirectories.keys()),t.options.mcpClients),Ct(),Ms()]),a=Kr({mainThreadAgentDefinition:P,toolUseContext:t,customSystemPrompt:h,defaultSystemPrompt:n,appendSystemPrompt:g});t.renderedSystemPrompt=a;let o=(await Ae(e).catch(()=>[])).map(Ic),s=new Set;for(let e of er.current)e.type===`attachment`&&e.attachment.type===`queued_command`&&e.attachment.commandMode===`task-notification`&&typeof e.attachment.prompt==`string`&&s.add(e.attachment.prompt);let c=o.filter(e=>e.attachment.type===`queued_command`&&(typeof e.attachment.prompt!=`string`||!s.has(e.attachment.prompt)));Pn({messages:[...er.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:to,toolUseContext:t,querySource:xo()},description:Ln,setAppState:B,agentDefinition:P})})()},[jt,ve,I,P,ro,h,g,to,B])}),ao=(0,Q.useCallback)(t=>{jn(t,t=>{if(Yn(t)?(Yr()?U(e=>{let n=Fo(e,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,t]}):U(()=>[t]),Ni(l_()),cm(!1)):t.type===`progress`&&de(t.data?.type)?U(e=>{let n=t.data;for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.type!==`progress`)break;let a=i.data;if(i.parentToolUseID===t.parentToolUseID&&a?.type===n.type){let n=e.slice();return n[r]=t,n}}return[...e,t]}):U(e=>[...e,t]),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage?cm(!0):t.type===`assistant`&&cm(!1),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage){let n=(ge(t.message?.content??``)??``).toLowerCase();if(n.includes(`connection error`)||n.includes(`fetch failed`)||n.includes(`network error`)||n.includes(`enotfound`)||n.includes(`econnreset`)||n.includes(`etimedout`)){let{getGoal:t,pauseGoal:n}=(M(),e(Cn)),{persistCurrentGoal:r}=(nl(),e(Ec));t()?.status===`active`&&(n(),r(),We({key:`goal-auto-paused-connectivity-error`,text:`Detected connection error. Active goal was auto-paused. Run /goal resume after network recovers.`,priority:`immediate`}))}}},e=>{W(t=>t+e.length)},Tt,Ot,e=>{U(t=>t.filter(t=>t!==e)),Wn(e.uuid)},At,e=>{let t=Date.now(),n=ci.current;li.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},pi)},[U,W,Tt,Ot,At,pi]),co=(0,Q.useCallback)(async(e,t,n,r,i,a)=>{if(r){let e=oO(d,he.getState().mcp.clients);ir.handleQueryStart(e);let t=go(e);t&&dc(t)}if($p(),!N&&!An&&!In&&!Fn.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?ge(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(Fn.current=!0,Um(n,new AbortController().signal).then(e=>{e?Nn(e):Fn.current=!1},()=>{Fn.current=!1}))}if(he.setState(e=>{let t=e.toolPermissionContext.alwaysAllowRules.command;return t===i||t?.length===i.length&&t.every((e,t)=>e===i[t])?e:{...e,toolPermissionContext:{...e.toolPermissionContext,alwaysAllowRules:{...e.toolPermissionContext.alwaysAllowRules,command:i}}}}),!r){t.some(Yn)&&(Ni(l_()),cm(!1)),na(),Mt(null);return}let o=ro(e,t,n,a),{tools:s,mcpClients:c}=o.options;cl(`query_context_loading_start`);let[,,l,u,f]=await Promise.all([void 0,ok(I,B,he.getState().fastMode),$i(s,a,Array.from(I.additionalWorkingDirectories.keys()),c),Ct(),Ms()]),p={...u,..._m()&&!Zi.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};cl(`query_context_loading_end`);let m=Kr({mainThreadAgentDefinition:P,toolUseContext:o,customSystemPrompt:h,defaultSystemPrompt:l,appendSystemPrompt:g});o.renderedSystemPrompt=m,cl(`query_query_start`),Ku(),Yu(),Zu();for await(let t of Ds({messages:e,systemPrompt:m,userContext:p,systemContext:f,canUseTool:to,toolUseContext:o,querySource:xo()}))ao(t);cl(`query_end`),na(),Xn(),await v?.(er.current)},[d,na,ro,I,B,h,v,g,to,P,ao,An,N]),lo=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{let s=qt.tryStart();if(s===null)return X(`tengu_concurrent_onquery_detected`,{}),e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>ge(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{hi({value:e,mode:`prompt`}),t===0&&X(`tengu_concurrent_onquery_enqueued`,{})}),!1;try{zt(!1),an(),U(t=>[...t,...e]),ci.current=0,Iu((o?or(o):null)??xu()),li.current=[],Ot([]),di(null);let s=er.current;if(o&&await ca(o,s,e.length),a&&o&&!await a(o,s))return!0;await co(s,e,t,n,r,i)}finally{if(qt.end(s)){zt(t.signal.aborted),vi(Date.now()),Ii.current=!1,na(),await la(er.current,t.signal.aborted),Vt.current();let e;xu()!==null&&xu()>0&&!t.signal.aborted&&(e={tokens:wu(),limit:xu(),nudges:Lu()}),Iu(null);let n=Date.now()-tn.current-nn.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!xe&&U(t=>[...t,ia(n,e,wd(t,br))]),Mt(null)}if(t.signal.reason===`user-cancel`&&!qt.isActive&&Pr.current===``&&C()===0&&!he.getState().viewingAgentTaskId){let e=er.current,t=e.findLast(rh);t&&ih(e,e.lastIndexOf(t))&&(Zn(),Ht.current(t))}}return!0},[co,B,na,qt,ca,la]),uo=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=oe;if(!e||V||uo.current)return;uo.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?zn():void 0,{clearConversation:n}=await import(`./conversation-C0yysXds.js`);await n({setMessages:U,readFileState:wa.current,discoveredSkillNames:Oa.current,loadedNestedMemoryPaths:ka.current,getAppState:()=>he.getState(),setAppState:B,setConversationId:Ni}),Fn.current=!1,Nn(void 0),Ea.current.clear(),Da.current=0,t&&lc(Ju(),t)}B(t=>{let n=e.mode?Er(t.toolPermissionContext,Dx(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=No({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),es()&&Ri(e=>{B(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Cr();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)fo(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=sl();Mt(t),lo([e.message],t,!0,[],ve)}setTimeout(e=>{e.current=!1},100,uo)}t(e)},[oe,V,U,B,lo,ve,vt]);let fo=(0,Q.useCallback)(async(e,t,n,r)=>{if(vr(),sm(),!n&&e.trim().startsWith(`/`)){let n=D(e,ti).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=xt.find(e=>Br(e)&&(e.name===a||e.aliases?.includes(a)||dl(e)===a));s?.name===`clear`&&rr.current&&(X(`tengu_idle_return_action`,{action:`hint_converted`,variant:rr.current,idleMinutes:Math.round((Date.now()-Li.current)/6e4),messageCount:er.current.length,totalInputTokens:Du()}),rr.current=!1);let c=qt.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===Pr.current.trim()&&(Lr(``),t.setCursorOffset(0),t.clearBuffer(),ri({}));let n=Gt(e).filter(e=>ti[e.id]?.type===`text`),i=n.length;X(`tengu_paste_text`,{pastedTextCount:i,pastedTextBytes:n.reduce((e,t)=>e+(ti[t.id]?.content.length??0),0)}),X(`tengu_immediate_command_executed`,{commandName:s.name,fromKeybinding:r?.fromKeybinding??!1}),(async()=>{let e=!1,n=(n,r)=>{e=!0,vn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];if(n&&r?.display!==`skip`&&(We({key:`immediate-${s.name}`,text:n,priority:`immediate`}),!Yr())){let e=r?.displayArgs??o;i.push(so(De(dl(s),e)),so(`<${vf}>${Qn(n)}</${vf}>`))}r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>ar({content:e,isMeta:!0}))),i.length&&U(e=>[...e,...i]),Vr!==void 0&&(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0))},r=ro(er.current,[],sl(),ve),i=await(await s.load()).call(n,r,o);i&&!e&&vn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(ei.isRemoteMode&&!e.trim())return;Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5),r?.fromKeybinding||(Io({display:n?e:qr(e,Rr),pastedContents:n?{}:ti}),Rr===`bash`&&OC(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!V||n||ei.isRemoteMode;if(Vr!==void 0&&!i&&a?(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0)):a&&(r?.fromKeybinding||(Lr(``),t.setCursorOffset(0)),ri({})),a&&(zr(`prompt`),Ye(void 0),oi(e=>e+1),t.clearBuffer(),ea.current=!1,!i&&Rr===`prompt`&&!n&&!ei.isRemoteMode&&(sr(e),an()),B(e=>({...e,attribution:Mc(e.attribution,e=>{Nr(e).catch(e=>{Y(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await ot(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:U,readFileState:wa,cwd:Bu()});if(t){let e=sl();Mt(e),lo([],e,!0,[],ve)}return}if(ei.isRemoteMode&&!(i&&xt.find(t=>{let n=e.trim().slice(1).split(/\s/)[0];return Br(t)&&(t.name===n||t.aliases?.includes(n)||dl(t)===n)})?.type===`local-jsx`)){let t=Object.values(ti),n=t.filter(e=>e.type===`image`),r=n.length>0?n.map(e=>e.id):void 0,i=e.trim(),a=e.trim();if(t.length>0){let n=[],r=[],o=e.trim();o&&(n.push({type:`text`,text:o}),r.push({type:`text`,text:o}));for(let e of t)if(e.type===`image`){let t={type:`base64`,media_type:e.mediaType??`image/png`,data:e.content};n.push({type:`image`,source:t}),r.push({type:`image`,source:t})}else n.push({type:`text`,text:e.content}),r.push({type:`text`,text:e.content});i=n,a=r}let o=ar({content:i,imagePasteIds:r});U(e=>[...e,o]),await ei.sendMessage(a,{uuid:o.uuid});return}await Cr(),await eO({input:e,helpers:t,queryGuard:qt,isExternalLoading:Yt,mode:Rr,commands:xt,onInputChange:Lr,setPastedContents:ri,setToolJSX:vn,getToolUseContext:ro,messages:er.current,mainLoopModel:ve,pastedContents:ti,ideSelection:qe,setUserInputOnProcessing:sr,setAbortController:Mt,abortController:jt,onQuery:lo,setAppState:B,querySource:xo(),onBeforeQuery:_,canUseTool:to,addNotification:We,setMessages:U,streamMode:Et.current,hasInterruptibleToolInProgress:Jr.current}),(i||V)&&Vr!==void 0&&(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0))},[qt,V,Yt,Rr,xt,Lr,zr,ri,oi,Ye,vn,ro,ve,ti,qe,sr,Mt,We,lo,Vr,Hr,B,_,to,Xr,U,Cr,vr]),po=(0,Q.useCallback)(()=>{let e=Pa?MA(Pa):`/issue`;Fa(null),fo(e,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(t=>{Y(`Auto-run ${e} failed: ${sd(t)}`)})},[fo,Pa]),mo=(0,Q.useCallback)(()=>{Fa(null)},[]),ho=(0,Q.useCallback)(()=>{fo(`/issue`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(e=>{Y(`Survey feedback request failed: ${e instanceof Error?e.message:String(e)}`)})},[fo]),_o=(0,Q.useRef)(fo);_o.current=fo;let vo=(0,Q.useCallback)(async()=>{if(Ha(!0),eo()){h_(`tmux`,[`detach-client`],{stdio:`ignore`}),Ha(!1);return}if(al()!==null){za((0,$.jsx)(sg,{showWorktree:!0,onDone:()=>{},onCancel:()=>{za(null),Ha(!1)}}));return}let e=await(await tt.load()).call(()=>{});za(e),e===null&&Ha(!1)},[]),yo=(0,Q.useCallback)(()=>{Di(e=>!e)},[]),bo=(0,Q.useCallback)(e=>{let t=er.current,n=t.lastIndexOf(e);if(n===-1)return;X(`tengu_conversation_rewind`,{preRewindMessageCount:t.length,postRewindMessageCount:n,messagesRemoved:t.length-n,rewindToMessageIndex:n}),U(t.slice(0,n)),Ni(l_()),gc();let r=e.permissionMode;B(e=>({...e,toolPermissionContext:r&&e.toolPermissionContext.mode!==r?{...e.toolPermissionContext,mode:r}:e.toolPermissionContext,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[U,B]),So=(0,Q.useCallback)(e=>{bo(e);let t=ai(e);if(t&&(Lr(t.text),zr(t.mode)),Array.isArray(e.message.content)&&e.message.content.some(e=>e.type===`image`)){let t=e.message.content.filter(e=>e.type===`image`);if(t.length>0){let n={};t.forEach((t,r)=>{if(t.source.type===`base64`){let i=e.imagePasteIds?.[r]??r+1;n[i]={id:i,type:`image`,content:t.source.data,mediaType:t.source.media_type}}}),ri(n)}}},[bo,Lr]);Ht.current=So;let Co=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),So,e)},[So]),wo=e=>{let t=e.slice(0,24);return H.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:To,handlers:Eo}=Yo(mr,hr,gr,{copy:e=>void Ul(e).then(e=>{e&&process.stdout.write(e),We({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=wo(e.uuid),n=t>=0?H[t]:void 0;if(!n||!rh(n))return;let r=!await no(ae,n.uuid),i=ih(H,t);r&&i?(Ya(),Co(n)):(ki(n),Di(!0))}});async function Do(){Na();let e=await ni();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
|
|
123
|
+
</goal-steering>`}hd(),M(),ec();function bO(e){Y(`[goal] hook: ${e}`)}function xO(e){let t=(0,Q.useRef)(e);t.current=e;let n=(0,Q.useRef)(!1),r=(0,Q.useRef)(!1);(0,Q.useLayoutEffect)(()=>{if(e.isLoading){n.current=!1;return}if(e.isQueryActiveNow?.()){bO(`skip: queryActiveNow=true`);return}if(e.wasAborted){bO(`skip: wasAborted=true`);return}if(n.current)return;if(Ba().length>0){bO(`skip: yielding to queued user messages`);return}if(e.hasActiveLocalJsxUI){bO(`skip: activeLocalJsxUI`);return}if(e.isInPlanMode){bO(`skip: planMode`);return}let t=ye();if(!t){r.current=!1;return}if(t.status===`active`&&(r.current=!1),t.status===`budget_limited`&&!r.current){r.current=!0,n.current=!0;let e=yO(t);Y(`[goal] hook: budget limit reached, injecting wrap-up prompt`),hi({value:e,mode:`prompt`,priority:`now`,isMeta:!0,origin:`goal-budget-limit`,skipSlashCommands:!0});return}if(t.status!==`active`){bO(`skip: status="${t.status}" (not active)`);return}if(t.turnsExecuted>=150){Ao()&&(ua(),e.onMaxTurnsReached?.()),Y(`[goal] hook: MAX_GOAL_TURNS (150) reached, stopping`);return}n.current=!0;let i=zo();ua();let a=vO(t);Y(`[goal] hook: enqueuing turn ${i} for "${t.objective.slice(0,60)}"`),hi({value:a,mode:`prompt`,priority:`now`,isMeta:!0,origin:`goal-continuation`,skipSlashCommands:!0}),e.onContinuationEnqueued?.({turn:i,objective:t.objective})},[e.isLoading,e.wasAborted,e.queuedCommandsLength,e.hasActiveLocalJsxUI,e.isInPlanMode])}rf(),o(),Go();function SO({autoConnectIdeFlag:e,ideToInstallExtension:t,setDynamicMcpConfig:n,setShowIdeOnboarding:i,setIDEInstallationState:o}){(0,Q.useEffect)(()=>{function s(i){i&&(nf().autoConnectIde||e||Es()||process.env.CLAUDE_CODE_SSE_PORT||t||a(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!r(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)&&n(e=>e?.ide?e:{...e,ide:{type:i.url.startsWith(`ws:`)?`ws-ide`:`sse-ide`,url:i.url,ideName:i.name,authToken:i.authToken,ideRunningInWindows:i.ideRunningInWindows,scope:`dynamic`}})}yc(s,t,()=>i(!0),e=>o(e))},[e,t,n,i,o])}og(),to(),J(),io(),Qa(),W(),rf(),Nd(),o();function CO({onBackgroundSession:e,isLoading:t}){let n=y(),r=Un(),[i,o]=(0,Q.useState)(!1),s=Wl(o,e,()=>{}),c=(0,Q.useCallback)(()=>{a(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS)||(Lo(r.getState())?(xn(()=>r.getState(),n),nf().hasUsedBackgroundTask||of(e=>e.hasUsedBackgroundTask?e:{...e,hasUsedBackgroundTask:!0})):a(`false`)&&t&&s())},[n,r,t,s]),l=G(Lo),u=a(`false`);jl(`task:background`,c,{context:`Task`,isActive:l||u&&t});let d=Pi(`task:background`,`Task`,`ctrl+b`),f=Cd.terminal===`tmux`&&d===`ctrl+b`?`ctrl+b ctrl+b`:d;return!t||!i?null:(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsx)(q,{dimColor:!0,children:(0,$.jsx)(vl,{shortcut:f,action:`background`})})})}W();function wO({setMessages:e,setIsLoading:t,resetLoadingState:n,setAbortController:r,onBackgroundQuery:i}){let a=G(e=>e.foregroundedTaskId),o=G(e=>e.foregroundedTaskId?e.tasks[e.foregroundedTaskId]:void 0),s=y(),c=(0,Q.useRef)(0),l=(0,Q.useCallback)(()=>{if(a){s(e=>{let t=e.foregroundedTaskId;if(!t)return e;let n=e.tasks[t];return n?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[t]:{...n,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),e([]),n(),r(null);return}i()},[a,s,e,n,r,i]);return(0,Q.useEffect)(()=>{if(!a){c.current=0;return}if(o?.type!==`local_agent`){s(e=>({...e,foregroundedTaskId:void 0})),n(),c.current=0;return}let i=o.messages??[];if(i.length!==c.current&&(c.current=i.length,e([...i])),o.status===`running`){let e=o.abortController;if(e?.signal.aborted){s(e=>{if(!e.foregroundedTaskId)return e;let t=e.tasks[e.foregroundedTaskId];return t?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[e.foregroundedTaskId]:{...t,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),n(),r(null),c.current=0;return}t(!0),e&&r(e)}else s(e=>{let t=e.foregroundedTaskId;if(!t)return e;let n=e.tasks[t];return n?{...e,foregroundedTaskId:void 0,tasks:{...e.tasks,[t]:{...n,isBackgrounded:!0}}}:{...e,foregroundedTaskId:void 0}}),n(),r(null),c.current=0},[a,o,s,e,t,n,r]),{handleBackgroundSession:l}}Qc(),J(),op(),rf(),S(),pg();function TO({onDone:e}){let t=(0,Q.useRef)(e);t.current=e;let n=(0,Q.useCallback)(()=>{t.current(`dismiss`)},[]);(0,Q.useEffect)(()=>{of(e=>e.remoteDialogSeen?e:{...e,remoteDialogSeen:!0})},[]);let r=(0,Q.useCallback)(e=>{t.current(e)},[]);return(0,$.jsx)(hg,{title:`Remote Control`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(K,{marginBottom:1,flexDirection:`column`,children:[(0,$.jsx)(q,{children:`Remote Control lets you access this CLI session from the web (claude.ai/code) or the Work Mate app, so you can pick up where you left off on any device.`}),(0,$.jsx)(q,{children:` `}),(0,$.jsx)(q,{children:`You can disconnect remote access anytime by running /remote-control again.`})]}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:`Enable Remote Control for this session`,description:`Opens a secure connection to claude.ai.`,value:`enable`},{label:`Never mind`,description:`You can always enable it later with /remote-control.`,value:`dismiss`}],onChange:r,onCancel:n})})]})})}$m();function EO(e,t){return t}qs(),Nu(),Ut(),zc(),J(),io(),ri(),op(),Ui(),hd(),Nd(),ff(),xf(),fa(),yd(),ma(),Tn(),Ko();function DO(e){let t=e;return t=t.replace(/"(sk-ant[^\s"']{24,})"/g,`"[REDACTED_API_KEY]"`),t=t.replace(/(?<![A-Za-z0-9"'])(sk-ant-?[A-Za-z0-9_-]{10,})(?![A-Za-z0-9"'])/g,`[REDACTED_API_KEY]`),t=t.replace(/AWS key: "(AWS[A-Z0-9]{20,})"/g,`AWS key: "[REDACTED_AWS_KEY]"`),t=t.replace(/(AKIA[A-Z0-9]{16})/g,`[REDACTED_AWS_KEY]`),t=t.replace(/(?<![A-Za-z0-9])(AIza[A-Za-z0-9_-]{35})(?![A-Za-z0-9])/g,`[REDACTED_GCP_KEY]`),t=t.replace(/(?<![A-Za-z0-9])([a-z0-9-]+@[a-z0-9-]+\.iam\.gserviceaccount\.com)(?![A-Za-z0-9])/g,`[REDACTED_GCP_SERVICE_ACCOUNT]`),t=t.replace(/(["']?x-api-key["']?\s*[:=]\s*["']?)[^"',\s)}\]]+/gi,`$1[REDACTED_API_KEY]`),t=t.replace(/(["']?authorization["']?\s*[:=]\s*["']?(bearer\s+)?)[^"',\s)}\]]+/gi,`$1[REDACTED_TOKEN]`),t=t.replace(/(AWS[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED_AWS_VALUE]`),t=t.replace(/(GOOGLE[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED_GCP_VALUE]`),t=t.replace(/((API[-_]?KEY|TOKEN|SECRET|PASSWORD)\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,`$1[REDACTED]`),t}p(),op(),hd(),cd(),fp(),Ut(),fa(),yd();async function OO(e,t,n){try{Y(`Collecting transcript for sharing`,{level:`info`});let r=Nt(e),i=await V(di(e)),a;try{let e=mo(),{size:t}=await f_(e);t<=52428800?a=await u_(e,`utf-8`):Y(`Skipping raw transcript read: file too large (${t} bytes)`,{level:`warn`})}catch{}let o=DO(ad({trigger:t,version:`0.0.17`,platform:process.platform,transcript:r,subagentTranscripts:Object.keys(i).length>0?i:void 0,rawTranscriptJsonl:a}));await xp();let s=kp();if(s.error)return{success:!1};let c={"Content-Type":`application/json`,"User-Agent":mp(),...s.headers},l=await f.post(`https://api.anthropic.com/api/claude_code_shared_session_transcripts`,{content:o,appearance_id:n},{headers:c,timeout:3e4});if(l.status===200||l.status===201){let e=l.data;return Y(`Transcript shared successfully`,{level:`info`}),{success:!0,transcriptId:e?.transcript_id}}return{success:!1}}catch(e){return Y(sd(e),{level:`error`}),{success:!1}}}function kO({hideThanksAfterMs:e,onOpen:t,onSelect:n,shouldShowTranscriptPrompt:r,onTranscriptPromptShown:i,onTranscriptSelect:a}){let[o,s]=(0,Q.useState)(`closed`),[c,l]=(0,Q.useState)(null),u=(0,Q.useRef)(l_()),d=(0,Q.useRef)(null),f=(0,Q.useCallback)(()=>{s(`thanks`),setTimeout((e,t)=>{e(`closed`),t(null)},e,s,l)},[e]),p=(0,Q.useCallback)(()=>{s(`submitted`),setTimeout(s,e,`closed`)},[e]);return{state:o,lastResponse:c,open:(0,Q.useCallback)(()=>{o===`closed`&&(s(`open`),u.current=l_(),t(u.current))},[o,t]),handleSelect:(0,Q.useCallback)(e=>{if(l(e),d.current=e,n(u.current,e),e===`dismissed`)s(`closed`),l(null);else if(r?.(e))return s(`transcript_prompt`),i?.(u.current,e),!0;else f();return!1},[f,n,r,i]),handleTranscriptSelect:(0,Q.useCallback)(e=>{switch(e){case`yes`:s(`submitting`),(async()=>{try{await a?.(u.current,e,d.current)?p():f()}catch{f()}})();break;case`no`:case`dont_ask_again`:a?.(u.current,e,d.current),f();break}},[f,p,a])}}Mf(),rf(),o(),Ut(),_p(),Rd();var AO={minTimeBeforeFeedbackMs:6e5,minTimeBetweenFeedbackMs:36e5,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3e3,onForModels:[`*`],probability:.005},jO={probability:0};function MO(e,t,n,r=`session`,i=!1){let o=(0,Q.useRef)(`unknown`);o.current=bn(e)?.message?.id||`unknown`;let[s,c]=(0,Q.useState)(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),l=EO(`tengu_feedback_survey_config`,AO),u=EO(`tengu_bad_survey_transcript_ask_config`,jO),d=EO(`tengu_good_survey_transcript_ask_config`,jO),f=Hd().feedbackSurveyRate,p=(0,Q.useRef)(Date.now()),m=(0,Q.useRef)(n),h=(0,Q.useRef)(n);h.current=n;let g=(0,Q.useRef)(e);g.current=e;let _=(0,Q.useRef)(!1),v=(0,Q.useRef)(null),y=(0,Q.useCallback)((e,t)=>{c(n=>n.timeLastShown===e&&n.submitCountAtLastAppearance===t?n:{timeLastShown:e,submitCountAtLastAppearance:t}),nf().feedbackSurveyState?.lastShownTime!==e&&of(t=>({...t,feedbackSurveyState:{lastShownTime:e}}))},[]),b=(0,Q.useCallback)(e=>{y(Date.now(),h.current),X(`tengu_feedback_survey_event`,{event_type:`appeared`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:r})},[y,r]),x=(0,Q.useCallback)((e,t)=>{y(Date.now(),h.current),X(`tengu_feedback_survey_event`,{event_type:`responded`,appearance_id:e,response:t,last_assistant_message_id:o.current,survey_type:r}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:r})},[y,r]),S=(0,Q.useCallback)(e=>{if(e!==`bad`&&e!==`good`||nf().transcriptShareDismissed||!qi(`allow_product_feedback`))return!1;let t=e===`bad`?u.probability:d.probability;return Math.random()<=t},[u.probability,d.probability]),C=(0,Q.useCallback)((e,t)=>{let n=t===`good`?`good_feedback_survey`:`bad_feedback_survey`;X(`tengu_feedback_survey_event`,{event_type:`transcript_prompt_appeared`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r,trigger:n}),Am(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:r})},[r]),w=(0,Q.useCallback)(async(e,t,n)=>{let i=n===`good`?`good_feedback_survey`:`bad_feedback_survey`;if(X(`tengu_feedback_survey_event`,{event_type:`transcript_share_${t}`,appearance_id:e,last_assistant_message_id:o.current,survey_type:r,trigger:i}),t===`dont_ask_again`&&of(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await OO(g.current,i,e);return X(`tengu_feedback_survey_event`,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:i}),t.success}return!1},[r]),{state:T,lastResponse:E,open:D,handleSelect:O,handleTranscriptSelect:k}=kO({hideThanksAfterMs:l.hideThanksAfterMs,onOpen:b,onSelect:x,shouldShowTranscriptPrompt:S,onTranscriptPromptShown:C,onTranscriptSelect:w}),A=jp(),j=(0,Q.useMemo)(()=>l.onForModels.length===0?!1:l.onForModels.includes(`*`)?!0:l.onForModels.includes(A),[l.onForModels,A]),M=(0,Q.useMemo)(()=>{if(T!==`closed`||t||i)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!s.timeLastShown)return!0;if(!j||a(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||zm()||!qi(`allow_product_feedback`))return!1;if(s.timeLastShown){if(Date.now()-s.timeLastShown<l.minTimeBetweenFeedbackMs||s.submitCountAtLastAppearance!==null&&n<s.submitCountAtLastAppearance+l.minUserTurnsBetweenFeedback)return!1}else if(Date.now()-p.current<l.minTimeBeforeFeedbackMs||n<m.current+l.minUserTurnsBeforeFeedback)return!1;if(v.current!==n&&(v.current=n,_.current=Math.random()<=(f??l.probability)),!_.current)return!1;let e=nf().feedbackSurveyState;return!(e?.lastShownTime&&Date.now()-e.lastShownTime<l.minTimeBetweenGlobalFeedbackMs)},[T,t,i,j,s.timeLastShown,s.submitCountAtLastAppearance,n,l.minTimeBetweenFeedbackMs,l.minTimeBetweenGlobalFeedbackMs,l.minUserTurnsBetweenFeedback,l.minTimeBeforeFeedbackMs,l.minUserTurnsBeforeFeedback,l.probability,f]);return(0,Q.useEffect)(()=>{M&&D()},[M,D]),{state:T,lastResponse:E,handleSelect:O,handleTranscriptSelect:k}}Rm(),Mf(),rf(),o(),Ut(),Nm();var NO=3e3,PO=`tengu_memory_survey_event`,FO=`memory_survey`;function IO(e,t,n=!1,{enabled:r=!0}={}){let i=(0,Q.useRef)(new Set),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(e);o.current=e;let{state:s,lastResponse:c,open:l,handleSelect:u,handleTranscriptSelect:d}=kO({hideThanksAfterMs:NO,onOpen:(0,Q.useCallback)(e=>{X(PO,{event_type:`appeared`,appearance_id:e}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`memory`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{X(PO,{event_type:`responded`,appearance_id:e,response:t}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`memory`})},[]),shouldShowTranscriptPrompt:(0,Q.useCallback)(e=>!1,[]),onTranscriptPromptShown:(0,Q.useCallback)(e=>{X(PO,{event_type:`transcript_prompt_appeared`,appearance_id:e,trigger:FO}),Am(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:`memory`})},[]),onTranscriptSelect:(0,Q.useCallback)(async(e,t)=>{if(X(PO,{event_type:`transcript_share_${t}`,appearance_id:e,trigger:FO}),t===`dont_ask_again`&&of(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await OO(o.current,FO,e);return X(PO,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:FO}),t.success}return!1},[])});return(0,Q.useEffect)(()=>{if(r&&e.length===0){a.current=!1,i.current.clear();return}},[r,s,t,n,(0,Q.useMemo)(()=>bn(e),[e]),e,l]),{state:s,lastResponse:c,handleSelect:u,handleTranscriptSelect:d}}Rm(),Mf(),o(),Ut(),Nm();var LO=3e3,RO=.2;function zO(e,t){let n=e.findIndex(e=>e.uuid===t);if(n===-1)return!1;for(let t=n+1;t<e.length;t++){let n=e[t];if(n&&(n.type===`user`||n.type===`assistant`))return!0}return!1}function BO(e,t,n=!1,{enabled:r=!0}={}){let[i,o]=(0,Q.useState)(null),s=(0,Q.useRef)(new Set),c=(0,Q.useRef)(null),{state:l,lastResponse:u,open:d,handleSelect:f}=kO({hideThanksAfterMs:LO,onOpen:(0,Q.useCallback)(e=>{X(`tengu_post_compact_survey_event`,{event_type:`appeared`,appearance_id:e,session_memory_compaction_enabled:Bo()}),Am(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`post_compact`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{X(`tengu_post_compact_survey_event`,{event_type:`responded`,appearance_id:e,response:t,session_memory_compaction_enabled:Bo()}),Am(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`post_compact`})},[])});(0,Q.useEffect)(()=>{r&&o(!1)},[r]);let p=(0,Q.useMemo)(()=>new Set(e.filter(e=>Yn(e)).map(e=>e.uuid)),[e]);return(0,Q.useEffect)(()=>{if(!r||l!==`closed`||t||n||i!==!0||zm()||a(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(c.current!==null&&zO(e,c.current)){c.current=null,Math.random()<RO&&d();return}let o=Array.from(p).filter(e=>!s.current.has(e));o.length>0&&(s.current=new Set(p),c.current=o[o.length-1])},[r,p,l,t,n,i,e,d]),{state:l,lastResponse:u,handleSelect:f}}jd(),J();var VO=[`1`,`2`,`3`],HO={1:`yes`,2:`no`,3:`dont_ask_again`},UO=e=>VO.includes(e);function WO({onSelect:e,inputValue:t,setInputValue:n}){return yD({inputValue:t,setInputValue:n,isValidDigit:UO,onDigit:t=>e(HO[t])}),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsxs)(K,{children:[(0,$.jsxs)(q,{color:`ansi:cyan`,children:[xd,` `]}),(0,$.jsx)(q,{bold:!0,children:`Can we look at your session transcript to help us improve Work Mate?`})]}),(0,$.jsx)(K,{marginLeft:2,children:(0,$.jsx)(q,{dimColor:!0,children:`Learn more: https://code.workmate.com/docs/en/data-usage#session-quality-surveys`})}),(0,$.jsxs)(K,{marginLeft:2,children:[(0,$.jsx)(K,{width:10,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`1`}),`: Yes`]})}),(0,$.jsx)(K,{width:10,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`2`}),`: No`]})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q,{color:`ansi:cyan`,children:`3`}),`: Don't ask again`]})})]})]})}Mf(),J();function GO({state:e,lastResponse:t,handleSelect:n,handleTranscriptSelect:r,inputValue:i,setInputValue:a,onRequestFeedback:o,message:s}){return e===`closed`?null:e===`thanks`?(0,$.jsx)(qO,{lastResponse:t,inputValue:i,setInputValue:a,onRequestFeedback:o}):e===`submitted`?(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{color:`success`,children:[`✓`,` Thanks for sharing your transcript!`]})}):e===`submitting`?(0,$.jsx)(K,{marginTop:1,children:(0,$.jsxs)(q,{dimColor:!0,children:[`Sharing transcript`,`…`]})}):e===`transcript_prompt`?!r||i&&![`1`,`2`,`3`].includes(i)?null:(0,$.jsx)(WO,{onSelect:r,inputValue:i,setInputValue:a}):i&&!SD(i)?null:(0,$.jsx)(wD,{onSelect:n,inputValue:i,setInputValue:a,message:s})}var KO=e=>e===`1`;function qO({lastResponse:e,inputValue:t,setInputValue:n,onRequestFeedback:r}){let i=r&&e===`good`;return yD({inputValue:t,setInputValue:n,isValidDigit:KO,enabled:!!i,once:!0,onDigit:()=>{X(`tengu_feedback_survey_event`,{event_type:`followup_accepted`,response:e}),r?.()}}),(0,$.jsxs)(K,{marginTop:1,flexDirection:`column`,children:[(0,$.jsx)(q,{color:`success`,children:`Thanks for the feedback!`}),i?(0,$.jsxs)(q,{dimColor:!0,children:[`(Optional) Press [`,(0,$.jsx)(q,{color:`ansi:cyan`,children:`1`}),`] to tell us what went well `,` · `,`/issue`]}):e===`bad`?(0,$.jsx)(q,{dimColor:!0,children:`Use /issue to report model behavior issues.`}):(0,$.jsx)(q,{dimColor:!0,children:`Use /issue to share detailed feedback anytime.`})]})}Jm(),Zm(),Nu(),vi(),xf();function JO(e){let{addNotification:t}=si(),n=(0,Q.useRef)(!1),r=(0,Q.useRef)(e);r.current=e,(0,Q.useEffect)(()=>{bu()||n.current||(n.current=!0,Promise.resolve().then(()=>r.current()).then(e=>{if(e)for(let n of Array.isArray(e)?e:[e])t(n)}).catch(Cf))},[t])}function YO(){JO(async()=>(await Xm()).map((e,t)=>{let n=`low`;return e.type===`error`||e.userActionRequired?n=`high`:(e.type===`path`||e.type===`alias`)&&(n=`medium`),{key:`install-message-${t}-${e.type}`,text:e.message,priority:n,color:e.type===`error`?`error`:`warning`}}))}rf(),dd(),hd(),Ut(),_p(),ma(),ri(),J(),Ut();function XO(e,t,n){(0,Q.useRef)(null),(0,Q.useRef)(null);let r=(0,Q.useRef)(e),i=(0,Q.useRef)(n),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(null);r.current=e,i.current=n,(0,Q.useEffect)(()=>{},[!1,t]),(0,Q.useEffect)(()=>{if(n||!a.current)return;let e=Ll();e!==`blurred`&&e!==`unknown`||o.current?.()},[n]),(0,Q.useEffect)(()=>{Ll()},[n,!1])}Mf(),rf(),hd(),o(),cd(),xf();function ZO(){return a(process.env.CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var QO={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600*1e3,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:10080*60*1e3};function $O(e){let t=QO.INITIAL_DELAY_MS*QO.BACKOFF_MULTIPLIER**e;return Math.min(t,QO.MAX_DELAY_MS)}function ek(e){if(!e.officialMarketplaceAutoInstallAttempted)return!0;if(e.officialMarketplaceAutoInstalled)return!1;let t=e.officialMarketplaceAutoInstallFailReason,n=e.officialMarketplaceAutoInstallRetryCount||0,r=e.officialMarketplaceAutoInstallNextRetryTime,i=Date.now();return n>=QO.MAX_ATTEMPTS||t===`policy_blocked`||r&&i<r?!1:t===`unknown`||t===`git_unavailable`||t===`gcs_unavailable`||t===void 0}async function tk(){let e=nf();if(!ek(e)){let t=e.officialMarketplaceAutoInstallFailReason??`already_attempted`;return Y(`Official marketplace auto-install skipped: ${t}`),{installed:!1,skipped:!0,reason:t}}try{if(ZO())return Y(`Official marketplace auto-install disabled via env var, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};if((await Xt())[`claude-plugins-official`])return Y(`Official marketplace '${we}' already installed, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:`already_installed`};if(!hc(On))return Y(`Official marketplace blocked by enterprise policy, skipping`),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};let t=Ln(),n=r_(t,we);if(await Rt(n,t)!==null){let e=await Xt();return e[we]={source:On,installLocation:n,lastUpdated:new Date().toISOString()},await jr(e),of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),X(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!await Jc()){Y(`Git not available, skipping official marketplace auto-install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+$O(t),i=!1;try{of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`git_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r}))}catch(e){i=!0,Cf(ud(e)),Y(`Failed to save marketplace auto-install git_unavailable state: ${e}`,{level:`error`})}return X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`git_unavailable`,configSaveFailed:i}}Y(`Attempting to auto-install official marketplace`),await ee(On),Y(`Successfully auto-installed official marketplace`);let r=e.officialMarketplaceAutoInstallRetryCount||0;return of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),X(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,retry_count:r}),{installed:!0,skipped:!1}}catch(t){let n=t instanceof Error?t.message:String(t);if(n.includes(`xcrun: error:`))return pe(),Y(`Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable`),X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:`git_unavailable`};Y(`Failed to auto-install official marketplace: ${n}`,{level:`error`}),Cf(ud(t));let r=(e.officialMarketplaceAutoInstallRetryCount||0)+1,i=Date.now(),a=i+$O(r),o=!1;try{of(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`unknown`,officialMarketplaceAutoInstallRetryCount:r,officialMarketplaceAutoInstallLastAttemptTime:i,officialMarketplaceAutoInstallNextRetryTime:a}))}catch(e){o=!0,Cf(ud(e)),Y(`Failed to save marketplace auto-install failure state: ${e}`,{level:`error`})}return X(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,failed:!0,retry_count:r}),{installed:!1,skipped:!0,reason:`unknown`,configSaveFailed:o}}}J(),hd();function nk(){JO(async()=>{let e=await tk(),t=[];return e.configSaveFailed&&(Y(`Showing marketplace config save failure notification`),t.push({key:`marketplace-config-save-failed`,jsx:(0,$.jsx)(q,{color:`error`,children:`Failed to save marketplace retry info · Check ~/.workmate.json permissions`}),priority:`immediate`,timeoutMs:1e4})),e.installed?(Y(`Showing marketplace installation success notification`),t.push({key:`marketplace-installed`,jsx:(0,$.jsx)(q,{color:`success`,children:`✓ Official marketplace installed · /plugin to see available plugins`}),priority:`immediate`,timeoutMs:7e3})):e.skipped&&e.reason===`unknown`&&(Y(`Showing marketplace installation failure notification`),t.push({key:`marketplace-install-failed`,jsx:(0,$.jsx)(q,{color:`warning`,children:`Failed to install official marketplace · Will retry on next startup`}),priority:`immediate`,timeoutMs:8e3})),t})}Rd(),Mf();function rk(e){if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(e=>({tip:e,sessions:Wg(e.id)}));return t.sort((e,t)=>t.sessions-e.sessions),t[0]?.tip}async function ik(e){if(Ld().spinnerTipsEnabled===!1)return;let t=await Kg(e);if(t.length!==0)return rk(t)}function ak(e){Ug(e.id),X(`tengu_tip_shown`,{tipIdLength:e.id,cooldownSessions:e.cooldownSessions})}cd(),xf(),Nu(),W(),na();async function ok(e,t,n){}function sk(){let e=G(e=>e.mainLoopModel),t=G(e=>e.mainLoopModelForSession),n=G(e=>e.fastMode),r=y(),i=Un(),a=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{bu()||(a.current&&(a.current=!1),ok(i.getState().toolPermissionContext,r,n).catch(e=>{Cf(Error(`Auto mode gate check failed`,{cause:ud(e)}))}))},[e,t,n])}la();function ck(e,t,n){let r=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{!es()||r.current||(r.current=!0,e&&Tc(e,n))},[t,e,n])}J(),gs(),S(),pg();function lk({hostPattern:{host:e},onUserResponse:t}){function n(e){switch(e){case`yes`:t({allow:!0,persistToSettings:!1});break;case`yes-dont-ask-again`:t({allow:!0,persistToSettings:!0});break;case`no`:t({allow:!1,persistToSettings:!1});break}}let r=[{label:`Yes`,value:`yes`},...Wo()?[]:[{label:(0,$.jsxs)(q,{children:[`Yes, and don't ask again for `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes-dont-ask-again`}],{label:(0,$.jsxs)(q,{children:[`No, and tell Work Mate what to do differently `,(0,$.jsx)(q,{bold:!0,children:`(esc)`})]}),value:`no`}];return(0,$.jsx)(hg,{title:`Network request outside of sandbox`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Host:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Do you want to allow this connection?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:r,onChange:n,onCancel:()=>{t({allow:!1,persistToSettings:!1})}})})]})})}J(),gs(),kf();function uk(e){return`${e.getHours()%12||12}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}${e.getHours()<12?`am`:`pm`}`}function dk(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(0);return(0,Q.useEffect)(()=>{let e=Ws.getSandboxViolationStore();return e.subscribe(n=>{t(n.slice(-10)),r(e.getTotalCount())})},[]),!Ws.isSandboxingEnabled()||Of()===`linux`||n===0?null:(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(K,{marginLeft:0,children:(0,$.jsxs)(q,{color:`permission`,children:[`⧈ Sandbox blocked `,n,` total `,n===1?`operation`:`operations`]})}),e.map((e,t)=>(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsxs)(q,{dimColor:!0,children:[uk(e.timestamp),e.command?` ${e.command}:`:``,` `,e.line]})},`${e.timestamp.getTime()}-${t}`)),(0,$.jsx)(K,{paddingLeft:2,children:(0,$.jsxs)(q,{dimColor:!0,children:[`… showing last `,Math.min(10,e.length),` of `,n]})})]})}rg(),vi(),Nu(),J();var fk=[];function pk({mcpClients:e=fk}){let{addNotification:t}=si();(0,Q.useEffect)(()=>{if(bu())return;let n=e.filter(e=>e.type===`failed`&&e.config.type!==`sse-ide`&&e.config.type!==`ws-ide`&&e.config.type!==`claudeai-proxy`),r=e.filter(e=>e.type===`failed`&&e.config.type===`claudeai-proxy`&&ti(e.name)),i=e.filter(e=>e.type===`needs-auth`&&e.config.type!==`claudeai-proxy`),a=e.filter(e=>e.type===`needs-auth`&&e.config.type===`claudeai-proxy`&&ti(e.name));n.length===0&&r.length===0&&i.length===0&&a.length===0||(n.length>0&&t({key:`mcp-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[n.length,` MCP `,n.length===1?`server`:`servers`,` failed`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),r.length>0&&t({key:`mcp-claudeai-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[r.length,` claude.ai `,r.length===1?`connector`:`connectors`,` `,`unavailable`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),i.length>0&&t({key:`mcp-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`warning`,children:[i.length,` MCP `,i.length===1?`server needs`:`servers need`,` `,`auth`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),a.length>0&&t({key:`mcp-claudeai-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`warning`,children:[a.length,` claude.ai`,` `,a.length===1?`connector needs`:`connectors need`,` auth`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}))},[t,e])}J(),Rd(),Mi();var mk=`Auto mode lets Work Mate handle permission prompts automatically — Work Mate checks each tool call for risky actions and prompt injection before executing. Actions Work Mate identifies as safe are executed, while actions Work Mate identifies as risky are blocked and Work Mate may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Work Mate can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.`;nu(),Nu(),vi(),J(),W(),hd(),o();var hk=5e3;function gk(){let{addNotification:e}=si(),t=y(),[n,r]=Q.useState(()=>a(`true`)),i=Q.useRef(new Set),o=Q.useCallback((n,r)=>{let a=`${n}:${r}`;if(i.current.has(a))return;i.current.add(a),Y(`LSP error: ${n} - ${r}`),t(e=>{let t=new Set(e.plugins.errors.map(e=>e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`)),i=`generic-error:${n}:${r}`;return t.has(i)?e:{...e,plugins:{...e.plugins,errors:[...e.plugins.errors,{type:`generic-error`,source:n,error:r}]}}});let o=n.startsWith(`plugin:`)?n.split(`:`)[1]??n:n;e({key:`lsp-error-${n}`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[`LSP for `,o,` failed`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`,timeoutMs:8e3})},[e,t]),s=Q.useCallback(()=>{if(bu()||Au())return;let e=ks();if(e.status===`failed`){o(`lsp-manager`,e.error.message),r(!1);return}if(e.status===`pending`||e.status===`not-started`)return;let t=ts();if(t){let e=t.getAllServers();for(let[t,n]of e)n.state===`error`&&n.lastError&&o(t,n.lastError.message)}},[o]);Bl(s,n?hk:null),Q.useEffect(()=>{bu()||!n||s()},[s,n])}hd();var _k=new Map;async function vk(e){if(!e?.trim())return Y(`[binaryCheck] Empty command provided, returning false`),!1;let t=e.trim(),n=_k.get(t);if(n!==void 0)return Y(`[binaryCheck] Cache hit for '${t}': ${n}`),n;let r=!1;return await Ef(t).catch(()=>null)&&(r=!0),_k.set(t,r),Y(`[binaryCheck] Binary '${t}' ${r?`found`:`not found`}`),r}rf(),hd(),_t();var yk=5;function bk(e){return Id.has(e.toLowerCase())}function xk(e){if(!e)return null;if(typeof e==`string`)return Y(`[lspRecommendation] Skipping string path lspServers (not readable from marketplace)`),null;if(Array.isArray(e)){for(let t of e){if(typeof t==`string`)continue;let e=Ck(t);if(e)return e}return null}return Ck(e)}function Sk(e){return typeof e==`object`&&!!e}function Ck(e){let t=new Set,n=null;for(let[r,i]of Object.entries(e)){if(!Sk(i))continue;!n&&typeof i.command==`string`&&(n=i.command);let e=i.extensionToLanguage;if(Sk(e))for(let n of Object.keys(e))t.add(n.toLowerCase())}return!n||t.size===0?null:{extensions:t,command:n}}async function wk(){let e=new Map;try{let t=await Xt();for(let n of Object.keys(t))try{let t=await hn(n),r=bk(n);for(let i of t.plugins){if(!i.lspServers)continue;let t=xk(i.lspServers);if(!t)continue;let a=`${i.name}@${n}`;e.set(a,{entry:i,marketplaceName:n,extensions:t.extensions,command:t.command,isOfficial:r})}}catch(e){Y(`[lspRecommendation] Failed to load marketplace ${n}: ${e}`)}}catch(e){Y(`[lspRecommendation] Failed to load marketplaces config: ${e}`)}return e}async function Tk(e){if(Ok())return Y(`[lspRecommendation] Recommendations are disabled`),[];let t=n_(e).toLowerCase();if(!t)return Y(`[lspRecommendation] No file extension found`),[];Y(`[lspRecommendation] Looking for LSP plugins for ${t}`);let n=await wk(),r=nf().lspRecommendationNeverPlugins??[],i=[];for(let[e,a]of n)if(a.extensions.has(t)){if(r.includes(e)){Y(`[lspRecommendation] Skipping ${e} (in never suggest list)`);continue}if(vr(e)){Y(`[lspRecommendation] Skipping ${e} (already installed)`);continue}i.push({info:a,pluginId:e})}let a=[];for(let{info:e,pluginId:t}of i)await vk(e.command)?(a.push({info:e,pluginId:t}),Y(`[lspRecommendation] Binary '${e.command}' found for ${t}`)):Y(`[lspRecommendation] Skipping ${t} (binary '${e.command}' not found)`);return a.sort((e,t)=>e.info.isOfficial&&!t.info.isOfficial?-1:!e.info.isOfficial&&t.info.isOfficial?1:0),a.map(({info:e,pluginId:t})=>({pluginId:t,pluginName:e.entry.name,marketplaceName:e.marketplaceName,description:e.entry.description,isOfficial:e.isOfficial,extensions:Array.from(e.extensions),command:e.command}))}function Ek(e){of(t=>{let n=t.lspRecommendationNeverPlugins??[];return n.includes(e)?t:{...t,lspRecommendationNeverPlugins:[...n,e]}}),Y(`[lspRecommendation] Added ${e} to never suggest`)}function Dk(){of(e=>{let t=(e.lspRecommendationIgnoredCount??0)+1;return{...e,lspRecommendationIgnoredCount:t}}),Y(`[lspRecommendation] Incremented ignored count`)}function Ok(){let e=nf();return e.lspRecommendationDisabled===!0||(e.lspRecommendationIgnoredCount??0)>=yk}l(),Nu(),J(),xf(),_t();function kk(){let[e,t]=Q.useState(null),n=Q.useRef(!1),r=Q.useCallback(r=>{bu()||e||n.current||(n.current=!0,r().then(e=>{e&&t(e)}).catch(Cf).finally(()=>{n.current=!1}))},[e]);return{recommendation:e,clearRecommendation:Q.useCallback(()=>t(null),[]),tryResolve:r}}async function Ak(e,t,n,r,i){try{let a=await Be(e);if(!a)throw Error(`Plugin ${e} not found in marketplace`);await i(a),r({key:`${n}-installed`,jsx:(0,$.jsxs)(q,{color:`success`,children:[u.tick,` `,t,` installed · restart to apply`]}),priority:`immediate`,timeoutMs:5e3})}catch(e){Cf(e),r({key:`${n}-install-failed`,jsx:(0,$.jsxs)(q,{color:`error`,children:[`Failed to install `,t]}),priority:`immediate`,timeoutMs:5e3})}}Nu(),vi(),W(),rf(),hd(),xf(),Rd();var jk=28e3;function Mk(){let e=G(e=>e.fileHistory.trackedFiles),{addNotification:t}=si(),n=Q.useRef(new Set),{recommendation:r,clearRecommendation:i,tryResolve:a}=kk();return Q.useEffect(()=>{a(async()=>{if(ju())return null;let t=[];for(let r of e)n.current.has(r)||(n.current.add(r),t.push(r));for(let e of t)try{let t=(await Tk(e))[0];if(t)return Y(`[useLspPluginRecommendation] Found match: ${t.pluginName} for ${e}`),Hu(!0),{pluginId:t.pluginId,pluginName:t.pluginName,pluginDescription:t.description,fileExtension:n_(e),shownAt:Date.now()}}catch(e){Cf(e)}return null})},[e,a]),{recommendation:r,handleResponse:Q.useCallback(e=>{if(!r)return;let{pluginId:n,pluginName:a,shownAt:o}=r;switch(Y(`[useLspPluginRecommendation] User response: ${e} for ${a}`),e){case`yes`:Ak(n,a,`lsp-plugin`,t,async e=>{Y(`[useLspPluginRecommendation] Installing plugin: ${n}`);let t=typeof e.entry.source==`string`?r_(e.marketplaceInstallLocation,e.entry.source):void 0;await Ja(n,e.entry,`user`,void 0,t),Xd(`userSettings`,{enabledPlugins:{...Pd(`userSettings`)?.enabledPlugins,[n]:!0}}),Y(`[useLspPluginRecommendation] Plugin installed: ${n}`)});break;case`no`:{let e=Date.now()-o;e>=jk&&(Y(`[useLspPluginRecommendation] Timeout detected (${e}ms), incrementing ignored count`),Dk());break}case`never`:Ek(n);break;case`disable`:of(e=>e.lspRecommendationDisabled?e:{...e,lspRecommendationDisabled:!0});break}i()},[r,t,i])}}J(),S(),pg();var Nk=3e4;function Pk({pluginName:e,pluginDescription:t,fileExtension:n,onResponse:r}){let i=Q.useRef(r);i.current=r,Q.useEffect(()=>{let e=setTimeout(e=>e.current(`no`),Nk,i);return()=>clearTimeout(e)},[]);function a(e){switch(e){case`yes`:r(`yes`);break;case`no`:r(`no`);break;case`never`:r(`never`);break;case`disable`:r(`disable`);break}}return(0,$.jsx)(hg,{title:`LSP Plugin Recommendation`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsx)(q,{dimColor:!0,children:`LSP provides code intelligence like go-to-definition and error checking`})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),t&&(0,$.jsx)(K,{children:(0,$.jsx)(q,{dimColor:!0,children:t})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Triggered by:`}),(0,$.jsxs)(q,{children:[` `,n,` files`]})]}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Would you like to install this LSP plugin?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:(0,$.jsxs)(q,{children:[`Yes, install `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes`},{label:`No, not now`,value:`no`},{label:(0,$.jsxs)(q,{children:[`Never for `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`never`},{label:`Disable all LSP recommendations`,value:`disable`}],onChange:a,onCancel:()=>r(`no`)})})]})})}vi(),Mf(),hd(),ns();function Fk(){let e=Q.useSyncExternalStore(mr,cr),{addNotification:t}=si(),{recommendation:n,clearRecommendation:r,tryResolve:i}=kk();return Q.useEffect(()=>{e&&i(async()=>{let t=await qo(e);return t&&(Y(`[useClaudeCodeHintRecommendation] surfacing ${t.pluginId} from ${t.sourceCommand}`),jc()),cr()===e&&Uc(),t})},[e,i]),{recommendation:n,handleResponse:Q.useCallback(e=>{if(n){switch(va(n.pluginId),X(`tengu_plugin_hint_response`,{_PROTO_plugin_name:n.pluginName,_PROTO_marketplace_name:n.marketplaceName,response:e}),e){case`yes`:{let{pluginId:e,pluginName:r,marketplaceName:i}=n;Ak(e,r,`hint-plugin`,t,async t=>{let n=await po({pluginId:e,entry:t.entry,marketplaceName:i,scope:`user`,trigger:`hint`});if(!n.success)throw Error(n.success?`Unknown error`:n.error)});break}case`disable`:vs();break;case`no`:break}r()}},[n,t,r])}}J(),S(),pg();var Ik=3e4;function Lk({pluginName:e,pluginDescription:t,marketplaceName:n,sourceCommand:r,onResponse:i}){let a=Q.useRef(i);a.current=i,Q.useEffect(()=>{let e=setTimeout(e=>e.current(`no`),Ik,a);return()=>clearTimeout(e)},[]);function o(e){switch(e){case`yes`:i(`yes`);break;case`disable`:i(`disable`);break;default:i(`no`)}}return(0,$.jsx)(hg,{title:`Plugin Recommendation`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsxs)(q,{dimColor:!0,children:[`The `,(0,$.jsx)(q,{bold:!0,children:r}),` command suggests installing a plugin.`]})}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(q,{children:[` `,e]})]}),(0,$.jsxs)(K,{children:[(0,$.jsx)(q,{dimColor:!0,children:`Marketplace:`}),(0,$.jsxs)(q,{children:[` `,n]})]}),t&&(0,$.jsx)(K,{children:(0,$.jsx)(q,{dimColor:!0,children:t})}),(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{children:`Would you like to install it?`})}),(0,$.jsx)(K,{children:(0,$.jsx)(Gn,{options:[{label:(0,$.jsxs)(q,{children:[`Yes, install `,(0,$.jsx)(q,{bold:!0,children:e})]}),value:`yes`},{label:`No`,value:`no`},{label:`No, and don't show plugin installation hints again`,value:`disable`}],onChange:o,onCancel:()=>i(`no`)})})]})})}S(),pg();var Rk=3e4;function zk({tools:e,onSelect:t,onDismiss:n}){let r=Q.useRef(t),i=Q.useRef(n);r.current=t,i.current=n,Q.useEffect(()=>{let e=setTimeout(e=>e.current(),Rk,i);return()=>clearTimeout(e)},[]);let a=e.map(e=>({label:`${e.name} — ${e.description.slice(0,60)} (score: ${e.score.toFixed(2)})`,value:e.name}));return a.push({label:`Dismiss`,value:`__dismiss__`}),(0,$.jsx)(hg,{title:`Tool Recommendation`,children:(0,$.jsx)(Gn,{options:a,onChange:e=>{e===`__dismiss__`?i.current():(i.current(),r.current(e))}})})}var Bk=.15,Vk=3;function Hk(){let e=Q.useSyncExternalStore(ol,Vi),t=Q.useMemo(()=>e.length===0?[]:e.slice(0,Vk).map(e=>({name:e.name,description:e.description.slice(0,60),score:e.score})),[e]);return{tools:t,visible:t.length>0&&(t[0]?.score??0)>=Bk,handleSelect:Q.useCallback(e=>{ro()},[]),handleDismiss:Q.useCallback(()=>{ro()},[])}}Nu(),nd(),hd(),pf(),Yd();var Uk=`1.1.2396`;function Wk(){let e=[process.argv[1]||``,process.execPath||``],t=[`/build-ant/`,`/build-ant-native/`,`/build-external/`,`/build-external-native/`];return e.some(e=>t.some(t=>e.includes(t)))}function Gk(e){let t=Wk()?`claude-dev`:`claude`,n=new URL(`${t}://resume`);return n.searchParams.set(`session`,e),n.searchParams.set(`cwd`,rd()),n.toString()}async function Kk(){if(Wk())return!0;let e=process.platform;if(e===`darwin`)return Bd(`/Applications/Work Mate.app`);if(e===`linux`){let{code:e,stdout:t}=await mf(`xdg-mime`,[`query`,`default`,`x-scheme-handler/claude`]);return e===0&&t.trim().length>0}else if(e===`win32`){let{code:e}=await mf(`reg`,[`query`,`HKEY_CLASSES_ROOT\\claude`,`/ve`]);return e===0}return!1}async function qk(){let e=process.platform;if(e===`darwin`){let{code:e,stdout:t}=await mf(`defaults`,[`read`,`/Applications/Work Mate.app/Contents/Info.plist`,`CFBundleShortVersionString`]);if(e!==0)return null;let n=t.trim();return n.length>0?n:null}else if(e===`win32`){let e=process.env.LOCALAPPDATA;if(!e)return null;let t=r_(e,`AnthropicClaude`);try{let e=(await d_(t)).filter(e=>e.startsWith(`app-`)).map(e=>e.slice(4)).filter(e=>(0,Kv.coerce)(e)!==null).sort((e,t)=>{let n=(0,Kv.coerce)(e),r=(0,Kv.coerce)(t);return n.compare(r)});return e.length>0?e[e.length-1]:null}catch{return null}}return null}async function Jk(){if(!await Kk())return{status:`not-installed`};let e;try{e=await qk()}catch{return{status:`ready`,version:`unknown`}}if(!e)return{status:`ready`,version:`unknown`};let t=(0,Kv.coerce)(e);return!t||!rm(t.version,Uk)?{status:`version-too-old`,version:e}:{status:`ready`,version:e}}async function Yk(e){let t=process.platform;if(Y(`Opening deep link: ${e}`),t===`darwin`){if(Wk()){let{code:t}=await mf(`osascript`,[`-e`,`tell application "Electron" to open location "${e}"`]);return t===0}let{code:t}=await mf(`open`,[e]);return t===0}else if(t===`linux`){let{code:t}=await mf(`xdg-open`,[e]);return t===0}else if(t===`win32`){let{code:t}=await mf(`cmd`,[`/c`,`start`,``,e]);return t===0}return!1}async function Xk(){let e=Ju();if(!await Kk())return{success:!1,error:`Work Mate Desktop is not installed. Install it from https://claude.ai/download`};let t=Gk(e);return await Yk(t)?{success:!0,deepLinkUrl:t}:{success:!1,error:`Failed to open Work Mate Desktop. Please try opening it manually.`,deepLinkUrl:t}}J(),Ui(),cd(),_(),fa();var Zk=`https://clau.de/desktop`;function Qk(){switch(process.platform){case`win32`:return`https://claude.ai/api/desktop/win32/x64/exe/latest/redirect`;default:return`https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect`}}function $k({onDone:e}){let[t,n]=(0,Q.useState)(`checking`),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(``);return Kl(n=>{if(t===`error`){e(r??`Unknown error`,{display:`system`});return}t===`prompt-download`&&(n===`y`||n===`Y`?(hs(Qk()).catch(()=>{}),e(`Starting download. Re-run /desktop once you\u2019ve installed the app.\nLearn more at ${Zk}`,{display:`system`})):(n===`n`||n===`N`)&&e(`The desktop app is required for /desktop. Learn more at ${Zk}`,{display:`system`}))}),(0,Q.useEffect)(()=>{async function t(){n(`checking`);let t=await Jk();if(t.status===`not-installed`){o(`Work Mate Desktop is not installed.`),n(`prompt-download`);return}if(t.status===`version-too-old`){o(`Work Mate Desktop needs to be updated (found v${t.version}, need v1.1.2396+).`),n(`prompt-download`);return}n(`flushing`),await b(),n(`opening`);let r=await Xk();if(!r.success){i(r.error??`Failed to open Work Mate Desktop`),n(`error`);return}n(`success`),setTimeout(async e=>{e(`Session transferred to Work Mate Desktop`,{display:`system`}),await Oi(0,`other`)},500,e)}t().catch(e=>{i(sd(e)),n(`error`)})},[e]),t===`error`?(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,children:[(0,$.jsxs)(q,{color:`error`,children:[`Error: `,r]}),(0,$.jsx)(q,{dimColor:!0,children:`Press any key to continue…`})]}):t===`prompt-download`?(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,children:[(0,$.jsx)(q,{children:a}),(0,$.jsx)(q,{children:`Download now? (y/n)`})]}):(0,$.jsx)(Ql,{message:{checking:`Checking for Work Mate Desktop…`,flushing:`Saving session…`,opening:`Opening Work Mate Desktop…`,success:`Opening in Work Mate Desktop…`}[t]})}J(),Mf(),rf(),S(),pg();var eA={enable_shortcut_tip:!1,enable_startup_dialog:!1};function tA(){return eA}function nA(){return process.platform===`darwin`||process.platform===`win32`&&process.arch===`x64`}function rA(){if(!nA()||!tA().enable_startup_dialog)return!1;let e=nf();return!(e.desktopUpsellDismissed||(e.desktopUpsellSeenCount??0)>=3)}function iA({onDone:e}){let[t,n]=(0,Q.useState)(!1);if((0,Q.useEffect)(()=>{let e=(nf().desktopUpsellSeenCount??0)+1;of(t=>(t.desktopUpsellSeenCount??0)>=e?t:{...t,desktopUpsellSeenCount:e}),X(`tengu_desktop_upsell_shown`,{seen_count:e})},[]),t)return(0,$.jsx)($k,{onDone:()=>e()});function r(t){switch(t){case`try`:n(!0);return;case`never`:of(e=>e.desktopUpsellDismissed?e:{...e,desktopUpsellDismissed:!0}),e();return;case`not-now`:e();return}}return(0,$.jsx)(hg,{title:`Try Claude Code Desktop`,children:(0,$.jsxs)(K,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(K,{marginBottom:1,children:(0,$.jsx)(q,{children:`Same Work Mate with visual diffs, live app preview, parallel sessions, and more.`})}),(0,$.jsx)(Gn,{options:[{label:`Open in Claude Code Desktop`,value:`try`},{label:`Not now`,value:`not-now`},{label:`Don't ask again`,value:`never`}],onChange:r,onCancel:()=>r(`not-now`)})]})})}Nu(),vi(),J(),W(),hd(),Jf();function aA(){let{addNotification:e}=si(),t=G(e=>e.plugins.installationStatus),{totalFailed:n,failedMarketplacesCount:r,failedPluginsCount:i}=(0,Q.useMemo)(()=>{if(!t)return{totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0};let e=t.marketplaces.filter(e=>e.status===`failed`),n=t.plugins.filter(e=>e.status===`failed`);return{totalFailed:e.length+n.length,failedMarketplacesCount:e.length,failedPluginsCount:n.length}},[t]);(0,Q.useEffect)(()=>{if(!bu()){if(!t){Y(`No installation status to monitor`);return}n!==0&&(Y(`Plugin installation status: ${r} failed marketplaces, ${i} failed plugins`),n!==0&&(Y(`Adding notification for ${n} failed installations`),e({key:`plugin-install-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`error`,children:[n,` `,qf(n,`plugin`),` failed to install`]}),(0,$.jsx)(q,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`})))}},[e,n,r,i])}Nu(),vi(),J(),hd(),xg();function oA(){let{addNotification:e}=si(),[t,n]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{if(!bu())return Sg(e=>{Y(`Plugin autoupdate notification: ${e.length} plugin(s) updated`),n(e)})},[]),(0,Q.useEffect)(()=>{if(bu()||t.length===0)return;let n=t.map(e=>{let t=e.indexOf(`@`);return t>0?e.substring(0,t):e}),r=n.length<=2?n.join(` and `):`${n.length} plugins`;e({key:`plugin-autoupdate-restart`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{color:`success`,children:[n.length===1?`Plugin`:`Plugins`,` updated: `,r]}),(0,$.jsx)(q,{dimColor:!0,children:` · Run /reload-plugins to apply`})]}),priority:`low`,timeoutMs:1e4}),Y(`Showing plugin autoupdate notification for: ${n.join(`, `)}`)},[t,e])}hd(),xf(),_t(),Th(),Mf();function sA(e,t,n,r){e(e=>({...e,plugins:{...e.plugins,installationStatus:{...e.plugins.installationStatus,marketplaces:e.plugins.installationStatus.marketplaces.map(e=>e.name===t?{...e,status:n,error:r}:e)}}}))}async function cA(e){Y(`performBackgroundPluginInstallations called`);try{let t=Ch(on(),await Xt().catch(()=>({}))),n=[...t.missing,...t.sourceChanged.map(e=>e.name)];if(e(e=>({...e,plugins:{...e.plugins,installationStatus:{marketplaces:n.map(e=>({name:e,status:`pending`})),plugins:[]}}})),n.length===0)return;Y(`Installing ${n.length} marketplace(s) in background`);let r=await Sh({onProgress:t=>{switch(t.type){case`installing`:sA(e,t.name,`installing`);break;case`installed`:sA(e,t.name,`installed`);break;case`failed`:sA(e,t.name,`failed`,t.error);break}}}),i={installed_count:r.installed.length,updated_count:r.updated.length,failed_count:r.failed.length,up_to_date_count:r.upToDate.length};if(X(`tengu_marketplace_background_install`,i),uf(`info`,`tengu_marketplace_background_install`,i),r.installed.length>0){jo(),Y(`Auto-refreshing plugins after ${r.installed.length} new marketplace(s) installed`);try{await wh(e)}catch(t){Cf(t),Y(`Auto-refresh failed, falling back to needsRefresh: ${t}`,{level:`warn`}),So(`performBackgroundPluginInstallations: auto-refresh failed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})}}else r.updated.length>0&&(jo(),So(`performBackgroundPluginInstallations: marketplaces reconciled`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}}))}catch(e){Cf(e)}}rf(),hd(),_t(),ya();async function lA(e){if(Y(`performStartupChecks called`),!af()){Y(`Trust not accepted for current directory - skipping plugin installations`);return}try{Y(`Starting background plugin installations`),await Hr()&&(jo(),So(`performStartupChecks: seed marketplaces changed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})),await cA(e)}catch(e){Y(`Error initiating background plugin installations: ${e}`)}}J();var uA=/https?:\/\/\S+/;function dA(){let[e,t]=(0,Q.useState)(Mp.getInstance().getStatus());return(0,Q.useEffect)(()=>Mp.getInstance().subscribe(t),[]),!e.isAuthenticating&&!e.error&&e.output.length===0||!e.isAuthenticating&&!e.error?null:(0,$.jsxs)(K,{flexDirection:`column`,borderStyle:`round`,borderColor:`permission`,paddingX:1,marginY:1,children:[(0,$.jsx)(q,{bold:!0,color:`permission`,children:`Cloud Authentication`}),e.output.length>0&&(0,$.jsx)(K,{flexDirection:`column`,marginTop:1,children:e.output.slice(-5).map((e,t)=>{let n=e.match(uA);if(!n)return(0,$.jsx)(q,{dimColor:!0,children:e},t);let r=n[0],i=n.index??0,a=e.slice(0,i),o=e.slice(i+r.length);return(0,$.jsxs)(q,{dimColor:!0,children:[a,(0,$.jsx)(Tl,{url:r,children:r}),o]},t)})}),e.error&&(0,$.jsx)(K,{marginTop:1,children:(0,$.jsx)(q,{color:`error`,children:e.error})})]})}vi(),J(),Qt(),op(),ei(),Nu();function fA(e){let{addNotification:t}=si(),n=MS(),r=(0,Q.useMemo)(()=>hl(n,e),[n,e]),i=(0,Q.useMemo)(()=>ce(n),[n]),a=(0,Q.useRef)(null),o=Ep(),s=ct(),c=o===`team`||o===`enterprise`,[l,u]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{bu()||(n.isUsingOverage&&!l&&(!c||s)?(t({key:`limit-reached`,text:i,priority:`immediate`}),u(!0)):!n.isUsingOverage&&l&&u(!1))},[n.isUsingOverage,i,l,t,s,c]),(0,Q.useEffect)(()=>{bu()||r&&r!==a.current&&(a.current=r,t({key:`rate-limit-warning`,jsx:(0,$.jsx)(q,{children:(0,$.jsx)(q,{color:`warning`,children:r})}),priority:`high`}))},[r,t])}vi(),Nu();function pA(e){let{addNotification:t}=si(),n=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(bu())return;let r=Gg(e);r&&r!==n.current&&(n.current=r,t({key:`model-deprecation-warning`,text:r,color:`warning`,priority:`high`})),r||(n.current=null)},[e,t])}o();var mA=``;function hA(){JO(async()=>Uf()||a(process.env.DISABLE_INSTALLATION_CHECKS)||await Ym()===`development`?null:{timeoutMs:15e3,key:`npm-deprecation-warning`,text:mA,color:`warning`,priority:`high`})}vi(),J(),rf(),Go(),Nu();var gA=5;function _A({ideSelection:e,mcpClients:t,ideInstallationStatus:n}){let{addNotification:r,removeNotification:i}=si(),{status:a,ideName:o}=jS(t),s=(0,Q.useRef)(!1),c=n?Ha(n?.ideType):!1,l=n?.error||c,u=a===`connected`&&(e?.filePath||e?.text&&e.lineCount>0),d=a===`connected`&&!u,f=l&&!c&&!d&&!u,p=l&&c&&!d&&!u;(0,Q.useEffect)(()=>{if(bu())return;if(Es()||a!==null||p){i(`ide-status-hint`);return}if(s.current||(nf().ideHintShownCount??0)>=gA)return;let e=setTimeout((e,t)=>{os(!0).then(n=>{let r=n[0]?.name;r&&!e.current&&(e.current=!0,of(e=>({...e,ideHintShownCount:(e.ideHintShownCount??0)+1})),t({key:`ide-status-hint`,jsx:(0,$.jsxs)(q,{dimColor:!0,children:[`/ide for `,(0,$.jsx)(q,{color:`ide`,children:r})]}),priority:`low`}))})},3e3,s,r);return()=>clearTimeout(e)},[r,i,a,p]),(0,Q.useEffect)(()=>{if(!bu()){if(f||p||a!==`disconnected`||!o){i(`ide-status-disconnected`);return}r({key:`ide-status-disconnected`,text:`${o} disconnected`,color:`error`,priority:`medium`})}},[r,i,a,o,f,p]),(0,Q.useEffect)(()=>{if(!bu()){if(!p){i(`ide-status-jetbrains-disconnected`);return}r({key:`ide-status-jetbrains-disconnected`,text:`IDE plugin not connected · /status for info`,priority:`medium`})}},[r,i,p]),(0,Q.useEffect)(()=>{if(!bu()){if(!f){i(`ide-status-install-error`);return}r({key:`ide-status-install-error`,text:`IDE extension install failed (see /status for info)`,color:`error`,priority:`medium`})}},[r,i,f])}rf();var vA=[e=>{if(bA(e.sonnet45To46MigrationTimestamp))return{key:`sonnet-46-update`,text:`Model updated to Sonnet 4.6`,color:`suggestion`,priority:`high`,timeoutMs:3e3}},e=>{let t=!!e.legacyOpusMigrationTimestamp;if(bA(e.legacyOpusMigrationTimestamp??e.opusProMigrationTimestamp))return{key:`opus-pro-update`,text:t?`Model updated to Opus 4.7 · Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out`:`Model updated to Opus 4.7`,color:`suggestion`,priority:`high`,timeoutMs:t?8e3:3e3}}];function yA(){JO(()=>{let e=nf(),t=[];for(let n of vA){let r=n(e);r&&t.push(r)}return t.length>0?t:null})}function bA(e){return e!==void 0&&Date.now()-e<3e3}op(),J(),Mf(),rf();var xA=3;function SA(){JO(async()=>{if((nf().subscriptionNoticeCount??0)>=xA)return null;let e=await CA();return e===null?null:(of(e=>({...e,subscriptionNoticeCount:(e.subscriptionNoticeCount??0)+1})),X(`tengu_switch_to_subscription_notice_shown`,{}),{key:`switch-to-subscription`,jsx:(0,$.jsxs)(q,{color:`suggestion`,children:[`Use your existing Work Mate `,e,` plan with Work Mate`]}),priority:`low`})})}async function CA(){if(Fp())return null;let e=await tp();return e?e.account.has_claude_max?`Max`:e.account.has_claude_pro?`Pro`:null:null}vi(),W(),rp(),Hf(),Nu();var wA=`fast-mode-cooldown-started`,TA=`fast-mode-cooldown-expired`,EA=`fast-mode-org-changed`,DA=`fast-mode-overage-rejected`;function OA(){let{addNotification:e}=si(),t=G(e=>e.fastMode),n=y();(0,Q.useEffect)(()=>{if(!bu()&&hp())return Op(r=>{r?e({key:EA,color:`fastMode`,priority:`immediate`,text:`Fast mode is now available · /fast to turn on`}):t&&(n(e=>({...e,fastMode:!1})),e({key:EA,color:`warning`,priority:`immediate`,text:`Fast mode has been disabled by your organization`}))})},[e,t,n]),(0,Q.useEffect)(()=>{if(!bu()&&hp())return Ap(t=>{n(e=>({...e,fastMode:!1})),e({key:DA,color:`warning`,priority:`immediate`,text:t})})},[e,n]),(0,Q.useEffect)(()=>{if(bu()||!t)return;let n=Cp((t,n)=>{let r=kA(n,Bf(t-Date.now(),{hideTrailingZeros:!0}));e({key:wA,invalidates:[TA],text:r,color:`warning`,priority:`immediate`})}),r=Zf(()=>{e({key:TA,invalidates:[wA],color:`fastMode`,text:`Fast limit reset · now using fast mode`,priority:`immediate`})});return()=>{n(),r()}},[e,t])}function kA(e,t){switch(e){case`overloaded`:return`Fast mode overloaded and is temporarily unavailable · resets in ${t}`;case`rate_limit`:return`Fast limit reached and temporarily disabled · resets in ${t}`}}J(),io();function AA({onRun:e,onCancel:t,reason:n}){let r=(0,Q.useRef)(!1);return jl(`confirm:no`,t,{context:`Confirmation`}),(0,Q.useEffect)(()=>{r.current||(r.current=!0,e())},[e]),(0,$.jsxs)(K,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(K,{children:(0,$.jsx)(q,{bold:!0,children:`Running feedback capture...`})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{dimColor:!0,children:[`Press `,(0,$.jsx)(vl,{shortcut:`Esc`,action:`cancel`}),` anytime`]})}),(0,$.jsx)(K,{children:(0,$.jsxs)(q,{dimColor:!0,children:[`Reason: `,n]})})]})}function jA(e){switch(e){case`feedback_survey_bad`:return!1;case`feedback_survey_good`:return!1;default:return!1}}function MA(e){return`/issue`}function NA(e){switch(e){case`feedback_survey_bad`:return`You responded "Bad" to the feedback survey`;case`feedback_survey_good`:return`You responded "Good" to the feedback survey`;default:return`Unknown reason`}}function PA(){return null}function FA(e,t){return!1}Tg(),J(),rf(),Fr();function IA(e,t,n){let r=(0,Q.useRef)(!1),i=(0,Q.useRef)(n);i.current=n,(0,Q.useEffect)(()=>{if(t)return e.subscribe(()=>{let t=e.getState(),n=e.hasSelection();if(t?.isDragging){r.current=!1;return}if(!n){r.current=!1;return}if(r.current||!(nf().copyOnSelect??!0))return;let a=e.copySelectionNoClear();if(!a?.trim()){r.current=!0;return}r.current=!0,i.current?.(a)})},[t,e])}function LA(e){let[t]=Sl();(0,Q.useEffect)(()=>{e.setSelectionBgColor(st(t).selectionBg)},[e,t])}vi(),J(),io(),hd();var RA=40,zA=.3,BA=6,VA=200,HA=15,UA=15,WA=3,GA=1500,KA=150,qA=5,JA=5,YA=80,XA=3,ZA=6,QA=500;function $A(e){return!(e.wheelUp||e.wheelDown||(e.leftArrow||e.rightArrow||e.upArrow||e.downArrow||e.home||e.end||e.pageUp||e.pageDown)&&(e.shift||e.meta||e.super))}function ej(e){return!e.shift||e.meta?null:e.leftArrow?`left`:e.rightArrow?`right`:e.upArrow?`up`:e.downArrow?`down`:e.home?`lineStart`:e.end?`lineEnd`:null}function tj(e,t,n){if(!e.xtermJs){if(e.wheelMode&&n-e.time>GA&&(e.wheelMode=!1,e.burstCount=0,e.mult=e.base),e.pendingFlip){if(e.pendingFlip=!1,t!==e.dir||n-e.time>VA)return e.dir=t,e.time=n,e.mult=e.base,Math.floor(e.mult);e.wheelMode=!0}let r=n-e.time;if(t!==e.dir&&e.dir!==0)return e.pendingFlip=!0,e.time=n,0;if(e.dir=t,e.time=n,e.wheelMode)if(r<JA)if(++e.burstCount>=5)e.wheelMode=!1,e.burstCount=0,e.mult=e.base;else return 1;else e.burstCount=0;if(e.wheelMode){let t=.5**(r/KA),n=Math.max(UA,e.base*2),i=1+(e.mult-1)*t+HA*t;return e.mult=Math.min(n,i,e.mult+WA),Math.floor(e.mult)}if(r>RA)e.mult=e.base;else{let t=Math.max(BA,e.base*2);e.mult=Math.min(t,e.mult+zA)}return Math.floor(e.mult)}let r=n-e.time,i=t===e.dir;if(e.time=n,e.dir=t,i&&r<JA)return 1;if(!i||r>QA)e.mult=2,e.frac=0;else{let t=.5**(r/KA);e.mult=Math.min(r>=YA?XA:ZA,1+(e.mult-1)*t+qA*t)}let a=e.mult+e.frac,o=Math.floor(a);return e.frac=a-o,o}function nj(){let e=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!e)return 1;let t=parseFloat(e);return Number.isNaN(t)||t<=0?1:Math.min(t,20)}function rj(e=!1,t=1){return{time:0,mult:t,dir:0,xtermJs:e,frac:0,base:t,pendingFlip:!1,wheelMode:!1,burstCount:0}}function ij(){let e=ql(),t=nj();return Y(`wheel accel: ${e?`decay (xterm.js)`:`window (native)`} · base=${t} · TERM_PROGRAM=${process.env.TERM_PROGRAM??`unset`}`),rj(e,t)}var aj=2,oj=50,sj=200;function cj({scrollRef:e,isActive:t,onScroll:n,isModal:r=!1}){let i=Xl(),{addNotification:a}=si(),o=(0,Q.useRef)(null);function s(e){let t=Yl(),n=e.length,r;switch(t){case`native`:r=`copied ${n} chars to clipboard`;break;case`tmux-buffer`:r=`copied ${n} chars to tmux buffer · paste with prefix + ]`;break;case`osc52`:r=`sent ${n} chars via OSC 52 · check terminal clipboard settings if paste fails`;break}a({key:`selection-copied`,text:r,color:`suggestion`,priority:`immediate`,timeoutMs:t===`native`?2e3:4e3})}function c(){let e=i.copySelection();e&&s(e)}function l(e,t){let n=i.getState();if(!n?.anchor||!n.focus)return;let r=e.getViewportTop(),a=r+e.getViewportHeight()-1;if(n.anchor.row<r||n.anchor.row>a||n.focus.row<r||n.focus.row>a)return;let o=Math.max(0,e.getScrollHeight()-e.getViewportHeight()),s=e.getScrollTop()+e.getPendingDelta(),c=Math.max(0,Math.min(o,s+t))-s;if(c!==0)if(c>0)i.captureScrolledRows(r,r+c-1,`above`),i.shiftSelection(-c,r,a);else{let e=-c;i.captureScrolledRows(a-e+1,a,`below`),i.shiftSelection(e,r,a)}}return xl({"scroll:pageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:pageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:lineUp":()=>{i.clearSelection();let t=e.current;if(!t||t.getScrollHeight()<=t.getViewportHeight())return!1;o.current??(o.current=ij()),pj(t,tj(o.current,-1,performance.now())),n?.(!1,t)},"scroll:lineDown":()=>{i.clearSelection();let t=e.current;if(!t||t.getScrollHeight()<=t.getViewportHeight())return!1;o.current??(o.current=ij());let r=fj(t,tj(o.current,1,performance.now()));n?.(r,t)},"scroll:top":()=>{let t=e.current;t&&(l(t,-(t.getScrollTop()+t.getPendingDelta())),t.scrollTo(0),n?.(!1,t))},"scroll:bottom":()=>{let t=e.current;if(!t)return;let r=Math.max(0,t.getScrollHeight()-t.getViewportHeight());l(t,r-(t.getScrollTop()+t.getPendingDelta())),t.scrollTo(r),t.scrollToBottom(),n?.(!0,t)},"selection:copy":c},{context:`Scroll`,isActive:t}),xl({"scroll:halfPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:halfPageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:fullPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,t.getViewportHeight());l(t,r);let i=dj(t,r);n?.(i,t)},"scroll:fullPageDown":()=>{let t=e.current;if(!t)return;let r=Math.max(1,t.getViewportHeight());l(t,r);let i=dj(t,r);n?.(i,t)}},{context:`Scroll`,isActive:t}),Kl((t,r,i)=>{let a=e.current;if(!a)return;let o=hj(a,mj(t,r),e=>l(a,e));o!==null&&(n?.(o,a),i.stopImmediatePropagation())},{isActive:t&&r}),Kl((e,t,n)=>{if(!i.hasSelection())return;if(t.escape){i.clearSelection(),n.stopImmediatePropagation();return}if(t.ctrl&&!t.shift&&!t.meta&&e===`c`){c(),n.stopImmediatePropagation();return}let r=ej(t);if(r){i.moveFocus(r),n.stopImmediatePropagation();return}$A(t)&&i.clearSelection()},{isActive:t}),lj(e,i,t,n),IA(i,t,s),LA(i),null}function lj(e,t,n,r){let i=(0,Q.useRef)(null),a=(0,Q.useRef)(0),o=(0,Q.useRef)(0),s=(0,Q.useRef)(0),c=(0,Q.useRef)(r);c.current=r,(0,Q.useEffect)(()=>{if(!n)return;function r(){a.current=0,i.current&&(clearInterval(i.current),i.current=null)}function l(){let n=t.getState(),i=e.current,o=a.current;if(!n?.isDragging||!n.focus||!i||o===0||++s.current>sj){r();return}if(i.getPendingDelta()!==0)return;let l=i.getViewportTop(),u=l+i.getViewportHeight()-1;if(o<0){if(i.getScrollTop()<=0){r();return}let e=Math.min(aj,i.getScrollTop());t.captureScrolledRows(u-e+1,u,`below`),t.shiftAnchor(e,0,u),i.scrollBy(-2)}else{let e=Math.max(0,i.getScrollHeight()-i.getViewportHeight());if(i.getScrollTop()>=e){r();return}let n=Math.min(aj,e-i.getScrollTop());t.captureScrolledRows(l,l+n-1,`above`),t.shiftAnchor(-n,l,u),i.scrollBy(aj)}c.current?.(!1,i)}function u(e){o.current=e,a.current!==e&&(r(),a.current=e,s.current=0,l(),a.current===e&&(i.current=setInterval(l,oj)))}function d(){let n=e.current;if(!n){r();return}let i=n.getViewportTop(),a=i+n.getViewportHeight()-1,s=t.getState();(!s?.isDragging||s.scrolledOffAbove.length===0&&s.scrolledOffBelow.length===0)&&(o.current=0);let c=uj(s,i,a,o.current);if(c===0){if(o.current!==0&&s?.focus){let e=s.focus.row<i?-1:+(s.focus.row>a);e!==0&&e!==o.current&&(s.scrolledOffAbove=[],s.scrolledOffBelow=[],s.scrolledOffAboveSW=[],s.scrolledOffBelowSW=[],o.current=0)}r()}else u(c)}let f=t.subscribe(d);return()=>{f(),r(),o.current=0}},[n,e,t])}function uj(e,t,n,r=0){if(!e?.isDragging||!e.anchor||!e.focus)return 0;let i=e.focus.row,a=i<t?-1:+(i>n);return r===0?e.anchor.row<t||e.anchor.row>n?0:a:a===r?a:0}function dj(e,t){let n=Math.max(0,e.getScrollHeight()-e.getViewportHeight()),r=e.getScrollTop()+e.getPendingDelta()+t;return r>=n?(e.scrollTo(n),e.scrollToBottom(),!0):(e.scrollTo(Math.max(0,r)),!1)}function fj(e,t){let n=Math.max(0,e.getScrollHeight()-e.getViewportHeight());return e.getScrollTop()+e.getPendingDelta()+t>=n?(e.scrollToBottom(),!0):(e.scrollBy(t),!1)}function pj(e,t){if(e.getScrollTop()+e.getPendingDelta()-t<=0){e.scrollTo(0);return}e.scrollBy(-t)}function mj(e,t){if(t.meta)return null;if(!t.ctrl&&!t.shift){if(t.upArrow)return`lineUp`;if(t.downArrow)return`lineDown`;if(t.home)return`top`;if(t.end)return`bottom`}if(t.ctrl){if(t.shift)return null;switch(e){case`u`:return`halfPageUp`;case`d`:return`halfPageDown`;case`b`:return`fullPageUp`;case`f`:return`fullPageDown`;case`n`:return`lineDown`;case`p`:return`lineUp`;default:return null}}let n=e[0];if(!n||e!==n.repeat(e.length))return null;if(n===`G`||n===`g`&&t.shift)return`bottom`;if(t.shift)return null;switch(n){case`g`:return`top`;case`j`:return`lineDown`;case`k`:return`lineUp`;case` `:return`fullPageDown`;case`b`:return`fullPageUp`;default:return null}}function hj(e,t,n){switch(t){case null:return null;case`lineUp`:case`lineDown`:{let r=t===`lineDown`?1:-1;return n(r),dj(e,r)}case`halfPageUp`:case`halfPageDown`:{let r=Math.max(1,Math.floor(e.getViewportHeight()/2)),i=t===`halfPageDown`?r:-r;return n(i),dj(e,i)}case`fullPageUp`:case`fullPageDown`:{let r=Math.max(1,e.getViewportHeight()),i=t===`fullPageDown`?r:-r;return n(i),dj(e,i)}case`top`:return n(-(e.getScrollTop()+e.getPendingDelta())),e.scrollTo(0),!1;case`bottom`:{let t=Math.max(0,e.getScrollHeight()-e.getViewportHeight());return n(t-(e.getScrollTop()+e.getPendingDelta())),e.scrollTo(t),e.scrollToBottom(),!0}}}Nu(),Vc(),Od(),l(),J(),zc(),Ph(),vi(),hd(),o(),Hf(),da(),Zt(),Jt(),oh(),vn(),Ne(),Tr(),Qa(),ra(),cd(),xf(),nd(),qe(),na(),rt(),rf(),ei(),Mf(),Ut(),Wm(),Sf(),_(),Wt(),kg(),$r(),fo(),Vh(),W(),Oa(),fa(),la(),im(),Go(),ur(),ec(),Pr(),L(),gs(),Dr();var gj=[],_j=3e3;function vj({showAllInTranscript:e,virtualScroll:t,searchBadge:n,suppressShowAll:r=!1,status:i}){let a=Pi(`app:toggleTranscript`,`Global`,`ctrl+o`),o=Pi(`transcript:toggleShowAll`,`Transcript`,`ctrl+e`);return(0,$.jsxs)(K,{noSelect:!0,alignItems:`center`,alignSelf:`center`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,children:[(0,$.jsxs)(q,{dimColor:!0,children:[`Showing detailed transcript · `,a,` to toggle`,n?` · n/N to navigate`:t?` · ${u.arrowUp}${u.arrowDown} scroll · home/end top/bottom`:r?``:` · ${o} to ${e?`collapse`:`show all`}`]}),i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{flexGrow:1}),(0,$.jsxs)(q,{children:[i,` `]})]}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{flexGrow:1}),(0,$.jsxs)(q,{dimColor:!0,children:[n.current,`/`,n.count,` `]})]}):null]})}function yj({jumpRef:e,count:t,current:n,onClose:r,onCancel:i,setHighlight:a,initialQuery:o}){let{query:s,cursorOffset:c}=Qh({isActive:!0,initialQuery:o,onExit:()=>r(s),onCancel:i}),[l,u]=Q.useState(`building`);Q.useEffect(()=>{let t=!0,n,r=e.current?.warmSearchIndex;if(!r){u(null);return}return u(`building`),r().then(e=>{t&&(e<20?u(null):(u({ms:e}),n=setTimeout(()=>t&&u(null),2e3)))}),()=>{t=!1,n&&clearTimeout(n)}},[e]);let d=l!==`building`;(0,Q.useEffect)(()=>{d&&(e.current?.setSearchQuery(s),a(s))},[e,s,a,d]);let f=c,p=f<s.length?s[f]:` `;return(0,$.jsxs)(K,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,noSelect:!0,children:[(0,$.jsx)(q,{children:`/`}),(0,$.jsx)(q,{children:s.slice(0,f)}),(0,$.jsx)(q,{inverse:!0,children:p}),f<s.length&&(0,$.jsx)(q,{children:s.slice(f+1)}),(0,$.jsx)(K,{flexGrow:1}),l===`building`?(0,$.jsx)(q,{dimColor:!0,children:`indexing… `}):l?(0,$.jsxs)(q,{dimColor:!0,children:[`indexed in `,l.ms,`ms `]}):t===0&&s?(0,$.jsx)(q,{color:`error`,children:`no matches `}):t>0?(0,$.jsxs)(q,{dimColor:!0,children:[n,`/`,t,` `]}):null]})}var bj=[`⠂`,`⠐`],xj=`✳`,Sj=960;function Cj({isAnimating:e,title:t,disabled:n,noPrefix:r}){let i=Ml(),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(n||r||!e||!i)return;let t=setInterval(e=>e(e=>(e+1)%bj.length),Sj,o);return()=>clearInterval(t)},[n,r,e,i]);let s=e?bj[a]??xj:xj;return Pl(n?null:r?t:`${s} ${t}`),null}var wj=`<${bf}>`;function Tj(e){return e.type===`text`&&typeof e.text==`string`&&e.text.includes(wj)}function Ej({commands:t,debug:n,initialTools:r,initialMessages:i,pendingHookMessages:o,initialFileHistorySnapshots:s,initialContentReplacements:c,initialAgentName:l,initialAgentColor:u,mcpClients:d,dynamicMcpConfig:f,autoConnectIdeFlag:p,strictMcpConfig:m=!1,systemPrompt:h,appendSystemPrompt:g,onBeforeQuery:_,onTurnComplete:v,disabled:b=!1,mainThreadAgentDefinition:x,disableSlashCommands:S=!1,taskListId:w,remoteSessionConfig:T,directConnectConfig:O,sshSession:k,thinkingConfig:A}){let j=!!T,N=(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),ee=(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]);(0,Q.useMemo)(()=>a(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS),[]),(0,Q.useEffect)(()=>(Y(`[REPL:mount] REPL mounted, disabled=${b}`),()=>Y(`[REPL:unmount] REPL unmounting`)),[b]);let[P,F]=(0,Q.useState)(x),I=G(e=>e.toolPermissionContext),L=G(e=>e.verbose),ne=G(e=>e.mcp),re=G(e=>e.plugins),ie=G(e=>e.agentDefinitions),ae=G(e=>e.fileHistory),oe=G(e=>e.initialMessage),se=DS(),ce=G(e=>e.spinnerTip),le=G(e=>e.expandedView)===`tasks`,R=G(e=>e.tasks),z=G(e=>e.elicitation),ue=G(e=>e.viewingAgentTaskId),B=y(),pe=ue?R[ue]:void 0,me=nr(pe)&&pe.retain&&!pe.diskLoaded;(0,Q.useEffect)(()=>{if(!ue||!me)return;let e=ue;Ia(Fe(e)).then(t=>{B(n=>{let r=n.tasks[e];if(!nr(r)||r.diskLoaded||!r.retain)return n;let i=r.messages??[],a=new Set(i.map(e=>e.uuid)),o=t?t.messages.filter(e=>!a.has(e.uuid)):[];return{...n,tasks:{...n.tasks,[e]:{...r,messages:[...o,...i],diskLoaded:!0}}}})})},[ue,me,B]);let he=Un(),_e=El(),ve=Bh(),[ye,be]=(0,Q.useState)(t);lO(j?void 0:Vu(),be);let xe=Q.useSyncExternalStore(lm,_m),Se=Q.useSyncExternalStore(lm,um),Ce=(0,Q.useMemo)(()=>Pt(I),[I,xe]);sk();let[we,Te]=(0,Q.useState)(f),Oe=(0,Q.useCallback)(e=>{Te(e)},[Te]),[ke,je]=(0,Q.useState)(`prompt`),[Me,Ne]=(0,Q.useState)(!1),[Pe,Ie]=(0,Q.useState)(!1),[Le,ze]=(0,Q.useState)(``),Be=(0,Q.useRef)(0),Ve=(0,Q.useRef)(void 0),He=(0,Q.useRef)(!1),{addNotification:We,removeNotification:Ge}=si(),Ke=sO(d,ne.clients),[qe,Ye]=(0,Q.useState)(void 0),[Ze,Qe]=(0,Q.useState)(null),[$e,et]=(0,Q.useState)(null),[nt,rt]=(0,Q.useState)(!1),it=G(e=>e.showRemoteCallout),[at,st]=(0,Q.useState)(()=>rA());yA(),SA(),_A({ideSelection:qe,mcpClients:Ke,ideInstallationStatus:$e}),pk({mcpClients:Ke}),aA(),oA(),ng(),fA(ve),OA(),pA(ve),hA(),YO(),nk(),gk();let{recommendation:ct,handleResponse:lt}=Mk(),{recommendation:ut,handleResponse:ft}=Fk(),pt=Hk(),mt=(0,Q.useMemo)(()=>[...Ce,...r],[Ce,r]);Qm({enabled:!j});let gt=Bt();(0,Q.useEffect)(()=>{j||lA(B)},[B,j]);let _t=Mh(mt,ne.tools,I),{tools:vt,allowedAgentTypes:yt}=(0,Q.useMemo)(()=>{if(!P)return{tools:_t,allowedAgentTypes:void 0};let e=Mr(P,_t,!1,!0);return{tools:e.resolvedTools,allowedAgentTypes:e.allowedAgentTypes}},[P,_t]),bt=cO(cO(ye,re.commands),ne.commands),xt=(0,Q.useMemo)(()=>S?[]:bt,[S,bt]);Cy(j?gj:ne.clients),dO(j?gj:ne.clients,Ye);let[wt,Tt]=(0,Q.useState)(`responding`),Et=(0,Q.useRef)(wt);Et.current=wt;let[Dt,Ot]=(0,Q.useState)([]),[kt,At]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(kt&&!kt.isStreaming&&kt.streamingEndedAt){let e=3e4-(Date.now()-kt.streamingEndedAt);if(e>0){let t=setTimeout(At,e,null);return()=>clearTimeout(t)}else At(null)}},[kt]);let[jt,Mt]=(0,Q.useState)(null),Nt=(0,Q.useRef)(null);Nt.current=jt;let Ft=(0,Q.useRef)(0),[Rt,zt]=(0,Q.useState)(!1),Vt=(0,Q.useRef)(()=>{}),Ht=(0,Q.useRef)(()=>{}),Ut=(0,Q.useRef)(null),Wt=(0,Q.useRef)(null),Kt=(0,Q.useRef)(0),qt=Q.useRef(new yy).current,Jt=Q.useSyncExternalStore(qt.subscribe,qt.getSnapshot),[Yt,Xt]=Q.useState(T?.hasInitialPrompt??!1),V=Jt||Yt,[Zt,Qt]=Q.useState(void 0),$t=Q.useRef(0),en=Q.useRef(!1),tn=Q.useRef(0),nn=Q.useRef(0),rn=Q.useRef(null),an=Q.useCallback(()=>{tn.current=Date.now(),nn.current=0,rn.current=null},[]),on=Q.useRef(!1);Jt&&!on.current&&an(),on.current=Jt;let sn=Q.useCallback(e=>{Xt(e),e&&an()},[an]),ln=Q.useRef(void 0),[un,dn]=Q.useState(!1),[fn,pn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{fn?.notifications&&fn.notifications.forEach(e=>{We({key:`auto-updater-notification`,text:e,priority:`low`})})},[fn,We]),(0,Q.useEffect)(()=>{Yr()&&It().then(e=>{e&&We({key:`tmux-mouse-hint`,text:e,priority:`low`})})},[]);let[mn,hn]=(0,Q.useState)(null),_n=(0,Q.useRef)(null),vn=(0,Q.useCallback)(e=>{if(e?.isLocalJSXCommand){let{clearLocalJSX:t,...n}=e;_n.current={...n,isLocalJSXCommand:!0},hn(n);return}if(_n.current){if(e?.clearLocalJSX){_n.current=null,hn(null),Ft.current=Date.now();return}return}if(e?.clearLocalJSX){hn(null);return}hn(e)},[]),[yn,bn]=(0,Q.useState)([]),[xn,Sn]=(0,Q.useState)(null),[wn,Tn]=(0,Q.useState)([]),[Dn,On]=(0,Q.useState)([]),kn=(0,Q.useRef)(new Map),An=G(e=>e.settings.terminalTitleFromRename)===!1?void 0:Zs(Ju()),[Mn,Nn]=(0,Q.useState)(),Fn=(0,Q.useRef)((i?.length??0)>0),In=P?.agentType,Ln=An??In??Mn??`Work Mate`,Rn=yn.length>0||Dn.length>0,Bn=mn?.isLocalJSXCommand===!0&&mn?.jsx!=null,Vn=V&&!Rn&&!Bn;(0,Q.useEffect)(()=>{if(V&&!Rn&&!Bn)return fy(),()=>py()},[V,Rn,Bn]);let Gn=Rn||Bn?`waiting`:V?`busy`:`idle`,Jn=Gn===`waiting`?yn.length>0?`approve ${yn[0].tool.name}`:Bn?`dialog open`:`input needed`:void 0;(0,Q.useEffect)(()=>{Cc({status:Gn,waitingFor:Jn})},[Gn,Jn]),Il(null);let[H,$n]=(0,Q.useState)(i??[]),er=(0,Q.useRef)(H),rr=(0,Q.useRef)(!1),U=(0,Q.useCallback)(e=>{let t=er.current,n=typeof e==`function`?e(er.current):e;if(er.current=n,n.length<$t.current)$t.current=0;else if(n.length>t.length&&en.current){let e=n.length-t.length;(t.length===0||n[0]===t[0]?n.slice(-e):n.slice(0,e)).some(te)?en.current=!1:$t.current=n.length}$n(n)},[]),sr=(0,Q.useCallback)(e=>{e===void 0?en.current=!1:($t.current=er.current.length,en.current=!0),Qt(e)},[]),{dividerIndex:cr,dividerYRef:lr,onScrollAway:ur,onRepin:dr,jumpToNew:fr,shiftDivider:pr}=Ag(H.length);XO(H,U,V);let[mr,hr]=(0,Q.useState)(null),gr=(0,Q.useRef)(null),_r=(0,Q.useMemo)(()=>Dg(H,cr),[cr,H.length]),vr=(0,Q.useCallback)(()=>{Ut.current?.scrollToBottom(),dr(),hr(null)},[dr,hr]),yr=H.at(-1),xr=yr!=null&&te(yr);(0,Q.useEffect)(()=>{xr&&vr()},[xr,yr,vr]);let Sr=(0,Q.useCallback)((e,t)=>{Kt.current=Date.now(),e?dr():ur(t)},[dr,ur,B]),Cr=ND(o,U),Tr=(0,Q.useDeferredValue)(Q.useMemo(()=>H.length>500?H.slice(-500):H,[H])),Dr=H.length-Tr.length;Dr>0&&Y(`[useDeferredValue] Messages deferred by ${Dr} (${Tr.length}→${H.length})`);let[Or,kr]=(0,Q.useState)(null),[Ar,jr]=(0,Q.useState)(()=>Hg()),Pr=(0,Q.useRef)(Ar);Pr.current=Ar;let Fr=(0,Q.useRef)(null),Lr=(0,Q.useCallback)(e=>{Pr.current===``&&e!==``&&Date.now()-Kt.current>=_j&&vr(),Pr.current=e,jr(e),dn(e.trim().length>0)},[dn,vr]);(0,Q.useEffect)(()=>{if(Ar.trim().length===0)return;let e=setTimeout(dn,1500,!1);return()=>clearTimeout(e)},[Ar]);let[Rr,zr]=(0,Q.useState)(`prompt`),[Vr,Hr]=(0,Q.useState)(),Ur=(0,Q.useCallback)(e=>{let t=new Set(e);be(e=>e.filter(e=>t.has(e.name)||Nc.has(e)))},[be]),[Wr,Gr]=(0,Q.useState)(new Set),Jr=(0,Q.useRef)(!1),Xr=pD({config:T,setMessages:U,setIsLoading:sn,onInit:Ur,setToolUseConfirmQueue:bn,tools:mt,setStreamingToolUses:Ot,setStreamMode:Tt,setInProgressToolUseIDs:Gr}),Zr=gD({config:O,setMessages:U,setIsLoading:sn,setToolUseConfirmQueue:bn,tools:mt}),$r=_D({session:k,setMessages:U,setIsLoading:sn,setToolUseConfirmQueue:bn,tools:mt}),ei=$r.isRemoteMode?$r:Zr.isRemoteMode?Zr:Xr,[ti,ri]=(0,Q.useState)({}),[ii,oi]=(0,Q.useState)(0),ci=(0,Q.useRef)(0),li=(0,Q.useRef)([]),W=(0,Q.useCallback)(e=>{let t=ci.current;if(ci.current=e(t),ci.current>t){let e=li.current;if(e.length>0){let t=e.at(-1);t.lastTokenTime=Date.now(),t.endResponseLength=ci.current}}},[]),[ui,di]=(0,Q.useState)(null),fi=!(G(e=>e.settings.prefersReducedMotion)??!1)&&!tu(),pi=(0,Q.useCallback)(e=>{fi&&di(e)},[fi]),mi=ui&&fi&&ui.substring(0,ui.lastIndexOf(`
|
|
124
|
+
`)+1)||null,[_i,vi]=(0,Q.useState)(0),[yi,bi]=(0,Q.useState)(null),[xi,Ci]=(0,Q.useState)(null),[wi,Ti]=(0,Q.useState)(null),[Ei,Di]=(0,Q.useState)(!1),[Oi,ki]=(0,Q.useState)(void 0),[Ai,ji]=(0,Q.useState)(!1),[Mi,Ni]=(0,Q.useState)(l_()),[Pi,Fi]=(0,Q.useState)(null),Ii=(0,Q.useRef)(!1),Li=(0,Q.useRef)(_i);Li.current=_i;let[zi]=(0,Q.useState)(()=>({current:Po(i,c)}));Re(()=>{zi.current=Ee()});let[Bi,Vi]=(0,Q.useState)(nf().hasAcknowledgedCostThreshold),[Hi,Ui]=(0,Q.useState)(`INSERT`),[Wi,Gi]=(0,Q.useState)(!1),[Ki,qi]=(0,Q.useState)(!1),[Ji,Yi]=(0,Q.useState)(!1),Xi=Ml(),Zi=(0,Q.useRef)(Xi);Zi.current=Xi;let[Qi]=Sl(),ea=Q.useRef(!1),ta=(0,Q.useCallback)(()=>{if(ea.current)return;ea.current=!0;let e=er.current.slice(Da.current);for(let t of Qr(e))Ea.current.add(t);Da.current=er.current.length,ik({theme:Qi,readFileState:wa.current,bashTools:Ea.current}).then(async e=>{if(e){let t=await e.content({theme:Qi});B(e=>({...e,spinnerTip:t})),ak(e)}else B(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[B,Qi]),na=(0,Q.useCallback)(()=>{sn(!1),sr(void 0),ci.current=0,li.current=[],di(null),Ot([]),bi(null),Ci(null),Ti(null),ta(),Mm(),pl()},[ta]),ra=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(I.mode!==`auto`){ra.current=!1;return}if(ra.current||(nf().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,of(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,Zc(mk,`warning`)])},800,ra,U);return()=>clearTimeout(e)},[I.mode,U]);let aa=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(aa.current)return;let e=al();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;aa.current=!0;let t=Math.round(e.creationDurationMs/1e3);U(e=>[...e,Zc(`Worktree creation took ${t}s. For large repos, set \`worktree.sparsePaths\` in .workmate/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,`info`)])},[U]);let sa=(0,Q.useMemo)(()=>{let e=H.findLast(e=>e.type===`assistant`);if(e?.type!==`assistant`)return!1;let t=e.message?.content,n=(Array.isArray(t)?t:[]).filter(e=>e.type===`tool_use`&&Wr.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[H,Wr]),{onBeforeQuery:ca,onTurnComplete:la,render:ua}=AD({enabled:!1,setMessages:U,inputValue:Ar,setInputValue:Lr,setToolJSX:vn}),da=(!mn||mn.showSpinner===!0)&&yn.length===0&&Dn.length===0&&(V||Zt||C()>0)&&!sa&&!mi,fa=yn.length>0||Dn.length>0||wn.length>0||z.queue.length>0,pa=MO(H,V,ii,`session`,fa),ma=kD(U),ga=FA(H,ii),_a=(0,Q.useMemo)(()=>({...pa,handleSelect:e=>{La.current=!1;let t=pa.handleSelect(e);e===`bad`&&!t&&jA(`feedback_survey_bad`)&&(Fa(`feedback_survey_bad`),La.current=!0)}}),[pa]),va=BO(H,V,fa,{enabled:!j}),ya=IO(H,V,fa,{enabled:!j});SO({autoConnectIdeFlag:p,ideToInstallExtension:Ze,setDynamicMcpConfig:Te,setShowIdeOnboarding:rt,setIDEInstallationState:et}),ck(s,ae,e=>B(t=>({...t,fileHistory:e})));let ba=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=fe(n.messages),o=ac();await Vs(`resume`,{getAppState:()=>he.getState(),setAppState:B,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await oo(`resume`,{sessionId:t,agentType:P?.agentType,model:ve});a.push(...s),r===`fork`?St(n,dt(t)):gi(n,dt(t)),vh(n,B),n.fileHistorySnapshots&&Ga(n);let{agentDefinition:c}=gh(n.agentSetting,x,ie);F(c),B(e=>({...e,agent:c?.agentType})),B(e=>({...e,standaloneAgentContext:_h(n.agentName,n.agentColor)})),oa(n.agentName),Aa(a,n.projectPath??Bu()),na(),Mt(null),Ni(t);let l=cn(t);if(Ue(),zu(),qu(dt(t),n.fullPath?t_(n.fullPath):null),await fc(),Lt(),ls(n),n.goal){let{hydrateGoalFromTranscript:r}=(nl(),e(Ec)),i=new Map;i.set(t,n.goal),r(i,t)}if(Fn.current=!0,Nn(void 0),r!==`fork`)yh(),bh(n.worktreeSession),tr(),ws({abortController:new AbortController,getAppState:()=>he.getState(),setAppState:B});else{let e=al();e&&Ta(e)}l&&Qu(l),zi.current&&r!==`fork`&&(zi.current=E(a,n.contentReplacements??[])),U(()=>a),vn(null),Lr(``),X(`tengu_session_resumed`,{entrypoint:r,success:!0,resume_duration_ms:Math.round(performance.now()-i)})}catch(e){throw X(`tengu_session_resumed`,{entrypoint:r,success:!1}),e}},[na,B]),[Ca]=(0,Q.useState)(()=>qn(100)),wa=(0,Q.useRef)(Ca),Ea=(0,Q.useRef)(new Set),Da=(0,Q.useRef)(0),Oa=(0,Q.useRef)(new Set),ka=(0,Q.useRef)(new Set),Aa=(0,Q.useCallback)((e,t)=>{let n=Xe(e,t,100);wa.current=ja(wa.current,n);for(let t of Qr(e))Ea.current.add(t)},[]);(0,Q.useEffect)(()=>{i&&i.length>0&&(Aa(i,Bu()),ws({abortController:new AbortController,getAppState:()=>he.getState(),setAppState:B}))},[]);let{status:Ma,reverify:Na}=PD(),[Pa,Fa]=(0,Q.useState)(null),La=(0,Q.useRef)(!1),[Ra,za]=(0,Q.useState)(null),[Ba,Ha]=(0,Q.useState)(!1),Ua=!V&&Ai;function Wa(){if(Ba||Ra)return;if(Ei)return`message-selector`;if(un)return;if(wn[0])return`sandbox-permission`;let e=!mn||mn.shouldContinueAnimation;if(e&&yn[0])return`tool-permission`;if(e&&Dn[0])return`prompt`;if(e&&z.queue[0])return`elicitation`;if(e&&Ua)return`cost`;if(e&&Pi)return`idle-return`;if(e&&nt)return`ide-onboarding`;if(e&&it)return`remote-callout`;if(e&&ct)return`lsp-recommendation`;if(e&&ut)return`plugin-hint`;if(e&&pt.visible)return`search-extra-tools-hint`;if(e&&at)return`desktop-upsell`}let Ka=Wa(),qa=un&&(wn[0]||yn[0]||Dn[0]||z.queue[0]||Ua);ln.current=Ka,(0,Q.useEffect)(()=>{if(!V)return;let e=Ka===`tool-permission`,t=Date.now();e&&rn.current===null?rn.current=t:!e&&rn.current!==null&&(nn.current+=t-rn.current,rn.current=null)},[Ka,V]);let Ja=(0,Q.useRef)(Ka);(0,Q.useLayoutEffect)(()=>{Ja.current===`tool-permission`!=(Ka===`tool-permission`)&&vr(),Ja.current=Ka},[Ka,vr]);function Ya(){if(Ka!==`elicitation`){if(Ft.current!==0&&Date.now()-Ft.current<500){Ft.current=0,Y(`[onCancel] suppressed: local-jsx panel just dismissed`);return}if(Ft.current=0,Y(`[onCancel] focusedInputDialog=${Ka} streamMode=${wt}`),dm(),qt.getSnapshot()){let{getGoal:t,pauseGoal:n}=(M(),e(Cn)),{persistCurrentGoal:r}=(nl(),e(Ec));t()?.status===`active`&&(n(),r())}if(zt(!0),qt.forceEnd(),Ii.current=!1,ui?.trim()&&U(e=>[...e,Zo({content:ui})]),na(),Iu(null),Ka===`tool-permission`)yn[0]?.onAbort(),bn([]);else if(Ka===`prompt`){for(let e of Dn)e.reject(Error(`Prompt cancelled by user`));On([]),jt?.abort(`user-cancel`)}else ei.isRemoteMode?ei.cancelRequest():jt?.abort(`user-cancel`);Mt(null),la(er.current,!0)}}let Xa=(0,Q.useCallback)(()=>{let e=sc(Ar,0);e&&(Lr(e.text),zr(`prompt`),e.images.length>0&&ri(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[Lr,zr,Ar,ri]),Za={setToolUseConfirmQueue:bn,onCancel:Ya,onAgentsKilled:()=>U(e=>[...e,Va()]),isMessageSelectorVisible:Ei||!!Wi,screen:ke,abortSignal:jt?.signal,popCommandFromQueue:Xa,vimMode:Hi,isLocalJSXCommand:mn?.isLocalJSXCommand,isSearchingHistory:Ki,isHelpOpen:Ji,inputMode:Rr,inputValue:Ar,streamMode:wt};(0,Q.useEffect)(()=>{Cu()>=5&&!Ai&&!Bi&&(X(`tengu_cost_threshold_reached`,{}),Vi(!0),Ir()&&ji(!0))},[H,Ai,Bi]);let Qa=(0,Q.useCallback)(async e=>new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}Tn(t=>[...t,{hostPattern:e,resolvePromise:r}])}),[B,he]);(0,Q.useEffect)(()=>{let e=Ws.getSandboxUnavailableReason();if(e){if(Ws.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),Hn(1,`other`);return}Y(`sandbox disabled: ${e}`,{level:`warn`}),We({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(q,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(q,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[We]),Ws.isSandboxingEnabled()&&Ws.initialize(Qa).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${sd(e)}\n`),Hn(1,`other`)});let $a=(0,Q.useCallback)((e,t)=>{B(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},bn)},[B,bn]),to=QD(bn,$a),ro=(0,Q.useCallback)((e,t,r,i)=>{let a=he.getState(),o=()=>{let e=he.getState(),t=wr(e.toolPermissionContext,e.mcp.tools),n=th(mt,t,e.toolPermissionContext.mode);return P?Mr(P,n,!1,!0).resolvedTools:n};return{abortController:r,options:{commands:xt,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:A,mcpClients:oO(d,a.mcp.clients),mcpResources:a.mcp.resources,ideInstallationStatus:$e,isNonInteractiveSession:!1,dynamicMcpConfig:we,theme:Qi,agentDefinitions:yt?{...a.agentDefinitions,allowedAgentTypes:yt}:a.agentDefinitions,customSystemPrompt:h,appendSystemPrompt:g,refreshTools:o},getAppState:()=>he.getState(),setAppState:B,messages:e,setMessages:U,updateFileHistoryState(e){B(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){B(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{b||Di(!0)},onChangeAPIKey:Na,readFileState:wa.current,setToolJSX:vn,addNotification:We,appendSystemMessage:e=>U(t=>[...t,e]),sendOSNotification:e=>{ey(e,_e)},onChangeDynamicMcpConfig:Oe,onInstallIDEExtension:Qe,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:ka.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:Oa.current,setResponseLength:W,pushApiMetricsEntry:void 0,setStreamMode:Tt,onCompactProgress:e=>{switch(e.type){case`hooks_start`:Ci(`claudeBlue_FOR_SYSTEM_SPINNER`),Ti(`claudeBlueShimmer_FOR_SYSTEM_SPINNER`),bi(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:bi(`Compacting conversation`);break;case`compact_end`:bi(null),Ci(null),Ti(null);break}},setInProgressToolUseIDs:Gr,setHasInterruptibleToolInProgress:e=>{Jr.current=e},resume:ba,setConversationId:Ni,requestPrompt:void 0,contentReplacementState:zi.current}},[xt,mt,P,n,d,$e,we,Qi,yt,he,B,Na,We,U,Oe,ba,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{On(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),b,h,g,Ni]),{handleBackgroundSession:io}=wO({setMessages:U,setIsLoading:sn,resetLoadingState:na,setAbortController:Mt,onBackgroundQuery:(0,Q.useCallback)(()=>{jt?.abort(`background`);let e=xa(e=>e.mode===`task-notification`);(async()=>{let t=ro(er.current,[],new AbortController,ve),[n,r,i]=await Promise.all([$i(t.options.tools,ve,Array.from(I.additionalWorkingDirectories.keys()),t.options.mcpClients),Ct(),Ms()]),a=Kr({mainThreadAgentDefinition:P,toolUseContext:t,customSystemPrompt:h,defaultSystemPrompt:n,appendSystemPrompt:g});t.renderedSystemPrompt=a;let o=(await Ae(e).catch(()=>[])).map(Ic),s=new Set;for(let e of er.current)e.type===`attachment`&&e.attachment.type===`queued_command`&&e.attachment.commandMode===`task-notification`&&typeof e.attachment.prompt==`string`&&s.add(e.attachment.prompt);let c=o.filter(e=>e.attachment.type===`queued_command`&&(typeof e.attachment.prompt!=`string`||!s.has(e.attachment.prompt)));Pn({messages:[...er.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:to,toolUseContext:t,querySource:xo()},description:Ln,setAppState:B,agentDefinition:P})})()},[jt,ve,I,P,ro,h,g,to,B])}),ao=(0,Q.useCallback)(t=>{jn(t,t=>{if(Yn(t)?(Yr()?U(e=>{let n=Fo(e,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,t]}):U(()=>[t]),Ni(l_()),cm(!1)):t.type===`progress`&&de(t.data?.type)?U(e=>{let n=t.data;for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.type!==`progress`)break;let a=i.data;if(i.parentToolUseID===t.parentToolUseID&&a?.type===n.type){let n=e.slice();return n[r]=t,n}}return[...e,t]}):U(e=>[...e,t]),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage?cm(!0):t.type===`assistant`&&cm(!1),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage){let n=(ge(t.message?.content??``)??``).toLowerCase();if(n.includes(`connection error`)||n.includes(`fetch failed`)||n.includes(`network error`)||n.includes(`enotfound`)||n.includes(`econnreset`)||n.includes(`etimedout`)){let{getGoal:t,pauseGoal:n}=(M(),e(Cn)),{persistCurrentGoal:r}=(nl(),e(Ec));t()?.status===`active`&&(n(),r(),We({key:`goal-auto-paused-connectivity-error`,text:`Detected connection error. Active goal was auto-paused. Run /goal resume after network recovers.`,priority:`immediate`}))}}},e=>{W(t=>t+e.length)},Tt,Ot,e=>{U(t=>t.filter(t=>t!==e)),Wn(e.uuid)},At,e=>{let t=Date.now(),n=ci.current;li.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},pi)},[U,W,Tt,Ot,At,pi]),co=(0,Q.useCallback)(async(e,t,n,r,i,a)=>{if(r){let e=oO(d,he.getState().mcp.clients);ir.handleQueryStart(e);let t=go(e);t&&dc(t)}if($p(),!N&&!An&&!In&&!Fn.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?ge(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(Fn.current=!0,Um(n,new AbortController().signal).then(e=>{e?Nn(e):Fn.current=!1},()=>{Fn.current=!1}))}if(he.setState(e=>{let t=e.toolPermissionContext.alwaysAllowRules.command;return t===i||t?.length===i.length&&t.every((e,t)=>e===i[t])?e:{...e,toolPermissionContext:{...e.toolPermissionContext,alwaysAllowRules:{...e.toolPermissionContext.alwaysAllowRules,command:i}}}}),!r){t.some(Yn)&&(Ni(l_()),cm(!1)),na(),Mt(null);return}let o=ro(e,t,n,a),{tools:s,mcpClients:c}=o.options;cl(`query_context_loading_start`);let[,,l,u,f]=await Promise.all([void 0,ok(I,B,he.getState().fastMode),$i(s,a,Array.from(I.additionalWorkingDirectories.keys()),c),Ct(),Ms()]),p={...u,..._m()&&!Zi.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};cl(`query_context_loading_end`);let m=Kr({mainThreadAgentDefinition:P,toolUseContext:o,customSystemPrompt:h,defaultSystemPrompt:l,appendSystemPrompt:g});o.renderedSystemPrompt=m,cl(`query_query_start`),Ku(),Yu(),Zu();for await(let t of Ds({messages:e,systemPrompt:m,userContext:p,systemContext:f,canUseTool:to,toolUseContext:o,querySource:xo()}))ao(t);cl(`query_end`),na(),Xn(),await v?.(er.current)},[d,na,ro,I,B,h,v,g,to,P,ao,An,N]),lo=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{let s=qt.tryStart();if(s===null)return X(`tengu_concurrent_onquery_detected`,{}),e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>ge(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{hi({value:e,mode:`prompt`}),t===0&&X(`tengu_concurrent_onquery_enqueued`,{})}),!1;try{zt(!1),an(),U(t=>[...t,...e]),ci.current=0,Iu((o?or(o):null)??xu()),li.current=[],Ot([]),di(null);let s=er.current;if(o&&await ca(o,s,e.length),a&&o&&!await a(o,s))return!0;await co(s,e,t,n,r,i)}finally{if(qt.end(s)){zt(t.signal.aborted),vi(Date.now()),Ii.current=!1,na(),await la(er.current,t.signal.aborted),Vt.current();let e;xu()!==null&&xu()>0&&!t.signal.aborted&&(e={tokens:wu(),limit:xu(),nudges:Lu()}),Iu(null);let n=Date.now()-tn.current-nn.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!xe&&U(t=>[...t,ia(n,e,wd(t,br))]),Mt(null)}if(t.signal.reason===`user-cancel`&&!qt.isActive&&Pr.current===``&&C()===0&&!he.getState().viewingAgentTaskId){let e=er.current,t=e.findLast(rh);t&&ih(e,e.lastIndexOf(t))&&(Zn(),Ht.current(t))}}return!0},[co,B,na,qt,ca,la]),uo=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=oe;if(!e||V||uo.current)return;uo.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?zn():void 0,{clearConversation:n}=await import(`./conversation-D08lU377.js`);await n({setMessages:U,readFileState:wa.current,discoveredSkillNames:Oa.current,loadedNestedMemoryPaths:ka.current,getAppState:()=>he.getState(),setAppState:B,setConversationId:Ni}),Fn.current=!1,Nn(void 0),Ea.current.clear(),Da.current=0,t&&lc(Ju(),t)}B(t=>{let n=e.mode?Er(t.toolPermissionContext,Dx(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=No({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),es()&&Ri(e=>{B(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Cr();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)fo(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=sl();Mt(t),lo([e.message],t,!0,[],ve)}setTimeout(e=>{e.current=!1},100,uo)}t(e)},[oe,V,U,B,lo,ve,vt]);let fo=(0,Q.useCallback)(async(e,t,n,r)=>{if(vr(),sm(),!n&&e.trim().startsWith(`/`)){let n=D(e,ti).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=xt.find(e=>Br(e)&&(e.name===a||e.aliases?.includes(a)||dl(e)===a));s?.name===`clear`&&rr.current&&(X(`tengu_idle_return_action`,{action:`hint_converted`,variant:rr.current,idleMinutes:Math.round((Date.now()-Li.current)/6e4),messageCount:er.current.length,totalInputTokens:Du()}),rr.current=!1);let c=qt.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===Pr.current.trim()&&(Lr(``),t.setCursorOffset(0),t.clearBuffer(),ri({}));let n=Gt(e).filter(e=>ti[e.id]?.type===`text`),i=n.length;X(`tengu_paste_text`,{pastedTextCount:i,pastedTextBytes:n.reduce((e,t)=>e+(ti[t.id]?.content.length??0),0)}),X(`tengu_immediate_command_executed`,{commandName:s.name,fromKeybinding:r?.fromKeybinding??!1}),(async()=>{let e=!1,n=(n,r)=>{e=!0,vn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];if(n&&r?.display!==`skip`&&(We({key:`immediate-${s.name}`,text:n,priority:`immediate`}),!Yr())){let e=r?.displayArgs??o;i.push(so(De(dl(s),e)),so(`<${vf}>${Qn(n)}</${vf}>`))}r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>ar({content:e,isMeta:!0}))),i.length&&U(e=>[...e,...i]),Vr!==void 0&&(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0))},r=ro(er.current,[],sl(),ve),i=await(await s.load()).call(n,r,o);i&&!e&&vn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(ei.isRemoteMode&&!e.trim())return;Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5),r?.fromKeybinding||(Io({display:n?e:qr(e,Rr),pastedContents:n?{}:ti}),Rr===`bash`&&OC(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!V||n||ei.isRemoteMode;if(Vr!==void 0&&!i&&a?(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0)):a&&(r?.fromKeybinding||(Lr(``),t.setCursorOffset(0)),ri({})),a&&(zr(`prompt`),Ye(void 0),oi(e=>e+1),t.clearBuffer(),ea.current=!1,!i&&Rr===`prompt`&&!n&&!ei.isRemoteMode&&(sr(e),an()),B(e=>({...e,attribution:Mc(e.attribution,e=>{Nr(e).catch(e=>{Y(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await ot(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:U,readFileState:wa,cwd:Bu()});if(t){let e=sl();Mt(e),lo([],e,!0,[],ve)}return}if(ei.isRemoteMode&&!(i&&xt.find(t=>{let n=e.trim().slice(1).split(/\s/)[0];return Br(t)&&(t.name===n||t.aliases?.includes(n)||dl(t)===n)})?.type===`local-jsx`)){let t=Object.values(ti),n=t.filter(e=>e.type===`image`),r=n.length>0?n.map(e=>e.id):void 0,i=e.trim(),a=e.trim();if(t.length>0){let n=[],r=[],o=e.trim();o&&(n.push({type:`text`,text:o}),r.push({type:`text`,text:o}));for(let e of t)if(e.type===`image`){let t={type:`base64`,media_type:e.mediaType??`image/png`,data:e.content};n.push({type:`image`,source:t}),r.push({type:`image`,source:t})}else n.push({type:`text`,text:e.content}),r.push({type:`text`,text:e.content});i=n,a=r}let o=ar({content:i,imagePasteIds:r});U(e=>[...e,o]),await ei.sendMessage(a,{uuid:o.uuid});return}await Cr(),await eO({input:e,helpers:t,queryGuard:qt,isExternalLoading:Yt,mode:Rr,commands:xt,onInputChange:Lr,setPastedContents:ri,setToolJSX:vn,getToolUseContext:ro,messages:er.current,mainLoopModel:ve,pastedContents:ti,ideSelection:qe,setUserInputOnProcessing:sr,setAbortController:Mt,abortController:jt,onQuery:lo,setAppState:B,querySource:xo(),onBeforeQuery:_,canUseTool:to,addNotification:We,setMessages:U,streamMode:Et.current,hasInterruptibleToolInProgress:Jr.current}),(i||V)&&Vr!==void 0&&(Lr(Vr.text),t.setCursorOffset(Vr.cursorOffset),ri(Vr.pastedContents),Hr(void 0))},[qt,V,Yt,Rr,xt,Lr,zr,ri,oi,Ye,vn,ro,ve,ti,qe,sr,Mt,We,lo,Vr,Hr,B,_,to,Xr,U,Cr,vr]),po=(0,Q.useCallback)(()=>{let e=Pa?MA(Pa):`/issue`;Fa(null),fo(e,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(t=>{Y(`Auto-run ${e} failed: ${sd(t)}`)})},[fo,Pa]),mo=(0,Q.useCallback)(()=>{Fa(null)},[]),ho=(0,Q.useCallback)(()=>{fo(`/issue`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(e=>{Y(`Survey feedback request failed: ${e instanceof Error?e.message:String(e)}`)})},[fo]),_o=(0,Q.useRef)(fo);_o.current=fo;let vo=(0,Q.useCallback)(async()=>{if(Ha(!0),eo()){h_(`tmux`,[`detach-client`],{stdio:`ignore`}),Ha(!1);return}if(al()!==null){za((0,$.jsx)(sg,{showWorktree:!0,onDone:()=>{},onCancel:()=>{za(null),Ha(!1)}}));return}let e=await(await tt.load()).call(()=>{});za(e),e===null&&Ha(!1)},[]),yo=(0,Q.useCallback)(()=>{Di(e=>!e)},[]),bo=(0,Q.useCallback)(e=>{let t=er.current,n=t.lastIndexOf(e);if(n===-1)return;X(`tengu_conversation_rewind`,{preRewindMessageCount:t.length,postRewindMessageCount:n,messagesRemoved:t.length-n,rewindToMessageIndex:n}),U(t.slice(0,n)),Ni(l_()),gc();let r=e.permissionMode;B(e=>({...e,toolPermissionContext:r&&e.toolPermissionContext.mode!==r?{...e.toolPermissionContext,mode:r}:e.toolPermissionContext,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[U,B]),So=(0,Q.useCallback)(e=>{bo(e);let t=ai(e);if(t&&(Lr(t.text),zr(t.mode)),Array.isArray(e.message.content)&&e.message.content.some(e=>e.type===`image`)){let t=e.message.content.filter(e=>e.type===`image`);if(t.length>0){let n={};t.forEach((t,r)=>{if(t.source.type===`base64`){let i=e.imagePasteIds?.[r]??r+1;n[i]={id:i,type:`image`,content:t.source.data,mediaType:t.source.media_type}}}),ri(n)}}},[bo,Lr]);Ht.current=So;let Co=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),So,e)},[So]),wo=e=>{let t=e.slice(0,24);return H.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:To,handlers:Eo}=Yo(mr,hr,gr,{copy:e=>void Ul(e).then(e=>{e&&process.stdout.write(e),We({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=wo(e.uuid),n=t>=0?H[t]:void 0;if(!n||!rh(n))return;let r=!await no(ae,n.uuid),i=ih(H,t);r&&i?(Ya(),Co(n)):(ki(n),Di(!0))}});async function Do(){Na();let e=await ni();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
|
|
125
125
|
`);Y(`Loaded ${e.length} AGENTS.md/rules files:\n${t}`)}else Y(`No AGENTS.md/rules files found`);for(let t of e)wa.current.set(t.path,{content:t.contentDiffersFromDisk?t.rawContent??t.content:t.content,timestamp:Date.now(),offset:void 0,limit:void 0,isPartialView:t.contentDiffersFromDisk})}jD(Vg()),by(H,H.length===i?.length);let{sendBridgeResult:Oo}=xy(H,U,Nt,xt,ve);Vt.current=Oo,MD();let ko=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(se.length<1){ko.current=!1;return}ko.current||(ko.current=!0,of(e=>({...e,promptQueueUseCount:(e.promptQueueUseCount??0)+1})))},[se.length]),iO({executeQueuedInput:(0,Q.useCallback)(async e=>{await eO({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:qt,commands:xt,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:vn,getToolUseContext:ro,messages:H,mainLoopModel:ve,ideSelection:qe,setUserInputOnProcessing:sr,setAbortController:Mt,onQuery:lo,setAppState:B,querySource:xo(),onBeforeQuery:_,canUseTool:to,addNotification:We,setMessages:U,queuedCommands:e})},[qt,xt,vn,ro,H,ve,qe,sr,to,Mt,lo,We,B,_]),hasActiveLocalJsxUI:Bn,queryGuard:qt}),(0,Q.useEffect)(()=>{Si.recordUserActivity(),Xu(!0)},[Ar,ii]),(0,Q.useEffect)(()=>{ii===1&&Xg()},[ii]),(0,Q.useEffect)(()=>{if(V||ii===0||_i===0)return;let e=setTimeout((e,t,n,r,i)=>{if(Mu()>e)return;let a=Date.now()-e;!t&&!n&&r.current===void 0&&a>=nf().messageIdleNotifThresholdMs&&ey({message:`Work Mate is waiting for your input`,notificationType:`idle_prompt`},i)},nf().messageIdleNotifThresholdMs,_i,V,mn,ln,_e);return()=>clearTimeout(e)},[V,mn,ii,_i,_e]),(0,Q.useEffect)(()=>{},[_i,V,We,Ge]),aO({isLoading:V,onSubmitMessage:(0,Q.useCallback)((e,t)=>{if(qt.isActive||Kn().some(e=>e.mode===`prompt`||e.mode===`bash`))return!1;let n=typeof e==`string`?{value:e,mode:`prompt`,isMeta:t?.isMeta?!0:void 0}:e;return(async()=>{let e=await Dc([n]),t=e.attachmentCommands[0];if(!t)return;let r=sl();Mt(r);let i=ar({content:t.value,isMeta:t.isMeta?!0:void 0,origin:t.origin}),a=!1;try{a=await lo([i],r,!0,[],ve)!==!1}catch(t){try{await rl({commands:e.claimedCommands,outcome:{type:`failed`,error:t},currentDir:rd(),priority:`later`})}catch(e){Cf(ud(e))}Cf(ud(t));return}if(a)try{let t=await rl({commands:e.claimedCommands,outcome:{type:`completed`},currentDir:rd(),priority:`later`});for(let e of t)hi(e)}catch(e){Cf(ud(e))}})().catch(e=>{Cf(ud(e))}),!0},[lo,ve,he])}),gO({isLoading:V||oe!==null,queuedCommandsLength:se.length,hasActiveLocalJsxUI:Bn,isInPlanMode:I.mode===`plan`,onQueueTick:e=>hi(e)}),xO({isLoading:V||oe!==null,wasAborted:Rt,queuedCommandsLength:se.length,hasActiveLocalJsxUI:Bn,isInPlanMode:I.mode===`plan`,isQueryActiveNow:qt.getSnapshot,onContinuationEnqueued:({turn:e,objective:t})=>{let n=`Goal auto-continue (${e}/1): continue advancing "${t}".`;U(e=>[...e,ar({content:n,isVisibleInTranscriptOnly:!0})])},onMaxTurnsReached:()=>{We({key:`goal-max-turns-reached`,text:`Goal reached max continuation turns (1). Run /goal continue to reset turn counter and continue.`,priority:`immediate`})}}),(0,Q.useEffect)(()=>{if(!xe){gm(null);return}if(!V){if(Se!==null&&se.length===0&&!Bn&&I.mode!==`plan`&&oe===null){gm({enabled:!0,phase:`standby`,next_tick_at:Se,sleep_until:null});return}gm({enabled:!0,phase:null,next_tick_at:null,sleep_until:null})}},[oe,V,Bn,xe,Se,se.length,I.mode]),(0,Q.useEffect)(()=>{se.some(e=>e.priority===`now`)&&Nt.current?.abort(`interrupt`)},[se]);let Ao=(0,Q.useRef)(Do);Ao.current=Do;let jo=(0,Q.useRef)(ir);jo.current=ir,(0,Q.useEffect)(()=>(Ao.current(),()=>{jo.current.shutdown()}),[]);let{internal_eventEmitter:Mo}=Rl(),[Lo,Ro]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=()=>{process.stdout.write(`
|
|
126
126
|
Work Mate has been suspended. Run \`fg\` to bring Work Mate back.
|
|
127
127
|
Note: ctrl + z now suspends Work Mate, ctrl + _ undoes input.
|
|
128
|
-
`)},t=()=>{Ro(e=>e+1)};return Mo?.on(`suspend`,e),Mo?.on(`resume`,t),()=>{Mo?.off(`suspend`,e),Mo?.off(`resume`,t)}},[Mo]);let zo=(0,Q.useMemo)(()=>{if(!V)return null;let e=H.filter(e=>{if(e.type!==`progress`)return!1;let t=e.data;return t.type===`hook_progress`&&(t.hookEvent===`Stop`||t.hookEvent===`SubagentStop`)});if(e.length===0)return null;let t=e.at(-1)?.toolUseID;if(!t||H.some(e=>e.type===`system`&&e.subtype===`stop_hook_summary`&&e.toolUseID===t))return null;let n=e.filter(e=>e.toolUseID===t),r=n.length,i=wd(H,e=>{if(e.type!==`attachment`)return!1;let n=e.attachment;return`hookEvent`in n&&(n.hookEvent===`Stop`||n.hookEvent===`SubagentStop`)&&`toolUseID`in n&&n.toolUseID===t}),a=n.find(e=>e.data.statusMessage)?.data.statusMessage;if(a)return r===1?`${a}…`:`${a}… ${i}/${r}`;let o=n[0]?.data.hookEvent===`SubagentStop`?`subagent stop`:`stop`;return r===1?`running ${o} hook`:`running stop hooks… ${i}/${r}`},[H,V]),Bo=(0,Q.useCallback)(()=>{kr({messagesLength:H.length,streamingToolUsesLength:Dt.length})},[H.length,Dt.length]),Vo=(0,Q.useCallback)(()=>{kr(null)},[]),Ho=Yr()&&!ee,Uo=(0,Q.useRef)(null),[Wo,Go]=(0,Q.useState)(!1),[Ko,qo]=(0,Q.useState)(``),[Jo,Xo]=(0,Q.useState)(0),[Qo,$o]=(0,Q.useState)(0),ts=(0,Q.useCallback)((e,t)=>{Xo(e),$o(t)},[]);Kl((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){Uo.current?.setAnchor(),Go(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&Jo>0){let t=r===`n`?Uo.current?.nextMatch:Uo.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:ke===`transcript`&&Ho&&!Wo&&!Pe});let{setQuery:ns,scanElement:rs,setPositions:is}=$l(),as=Zl().columns,os=Q.useRef(as);Q.useEffect(()=>{os.current!==as&&(os.current=as,(Ko||Wo)&&(Go(!1),qo(``),Xo(0),$o(0),Uo.current?.disarmSearch(),ns(``)))},[as,Ko,Wo,ns]),Kl((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){Vo(),n.stopImmediatePropagation();return}if(e===`[`&&!Pe)Ie(!0),Ne(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),He.current)return;He.current=!0;let e=Be.current,t=t=>{e===Be.current&&(clearTimeout(Ve.current),ze(t))};t(`rendering ${Tr.length} messages…`),(async()=>{try{let e=Math.max(80,(process.stdout.columns??80)-6),n=(await Xv(Tr,vt,e)).replace(/[ \t]+$/gm,``),r=r_(Qg(),`cc-transcript-${Date.now()}.txt`);await p_(r,n);let i=Lh(r);t(i?`opening ${r}`:`wrote ${r} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}He.current=!1,e===Be.current&&(Ve.current=setTimeout(e=>e(``),4e3,ze))})()}}},{isActive:ke===`transcript`&&Ho&&!Wo});let ss=ke===`transcript`&&Ho;(0,Q.useEffect)(()=>{ss||(qo(``),Xo(0),$o(0),Go(!1),Be.current++,clearTimeout(Ve.current),Ie(!1),ze(``))},[ss]),(0,Q.useEffect)(()=>{ns(ss?Ko:``),ss||is(null)},[ss,Ko,ns,is]);let cs={screen:ke,setScreen:je,showAllInTranscript:Me,setShowAllInTranscript:Ne,messageCount:H.length,onEnterTranscript:Bo,onExitTranscript:Vo,virtualScrollActive:Ho,searchBarOpen:Wo},us=Or?Tr.slice(0,Or.messagesLength):Tr,ds=Or?Dt.slice(0,Or.streamingToolUsesLength):Dt;BD({onOpenBackgroundTasks:Bn?void 0:()=>Gi(!0),onTogglePipeSelector:()=>{B(e=>{let t=e.pipeIpc??{};return{...e,pipeIpc:{...t,selectorOpen:!t.selectorOpen}}})}});let fs=ue?R[ue]:void 0,ps=fs&&nr(fs)?fs:void 0,ms=fi||!V,hs=ps?.messages,gs=(0,Q.useMemo)(()=>{if(!ps)return;let e=hs??[];if(!nr(ps)||ps.agentType!==`fork`||!ps.prompt)return e;let t=ps.prompt.trim(),n=-1,r=-1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(o.type===`user`&&Array.isArray(o.message?.content)){if(o.message.content.some(Tj))n=a;else if(!i){let e=o.message.content.find(e=>e.type===`text`&&typeof e.text==`string`);e&&e.text.trim()===t&&(i=!0)}continue}o.type===`assistant`&&Array.isArray(o.message?.content)&&o.message.content.some(e=>e.type===`tool_use`)&&(r=a)}let a=n===-1?e:e.map((e,t)=>t!==n||!Array.isArray(e.message?.content)?e:{...e,message:{...e.message,content:e.message.content.filter(e=>!Tj(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=ar({content:ps.prompt,timestamp:new Date(ps.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[ps,hs]),_s=ps?gs??[]:ms?H:Tr;if(ke===`transcript`){let e=Yr()&&!ee&&!Pe?Ut:void 0,t=(0,$.jsx)(Ng,{messages:us,tools:vt,commands:xt,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:Wr,isMessageSelectorVisible:!1,conversationId:Mi,screen:ke,agentDefinitions:ie,streamingToolUses:ds,showAllInTranscript:Me,isLoading:V,hidePastThinking:!0,streamingThinking:kt,scrollRef:e,jumpRef:Uo,onSearchMatchesChange:ts,scanElement:rs,setPositions:is,disableRenderCap:Pe}),n=mn&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),r=(0,$.jsxs)(En,{children:[(0,$.jsx)(Cj,{isAnimating:Vn,title:Ln,disabled:N,noPrefix:!1}),(0,$.jsx)(FD,{...cs}),(0,$.jsx)(LD,{onSubmit:fo,isActive:!mn?.isLocalJSXCommand}),e?(0,$.jsx)(cj,{scrollRef:Ut,isActive:!0,isModal:!Wo,onScroll:()=>Uo.current?.disarmSearch()}):null,(0,$.jsx)(zD,{...Za}),e?(0,$.jsx)(jg,{scrollRef:Ut,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(dk,{})]}),bottom:Wo?(0,$.jsx)(yj,{jumpRef:Uo,initialQuery:``,count:Jo,current:Qo,onClose:e=>{qo(Jo>0?e:``),Go(!1),e||(Xo(0),$o(0),Uo.current?.setSearchQuery(``))},onCancel:()=>{Go(!1),Uo.current?.setSearchQuery(``),Uo.current?.setSearchQuery(Ko),ns(Ko)},setHighlight:ns}):(0,$.jsx)(vj,{showAllInTranscript:Me,virtualScroll:!0,status:Le||void 0,searchBadge:Ko&&Jo>0?{current:Qo,count:Jo}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(dk,{}),(0,$.jsx)(vj,{showAllInTranscript:Me,virtualScroll:!1,suppressShowAll:Pe,status:Le||void 0})]})]});return e?(0,$.jsx)(ou,{mouseTracking:Je(),children:r}):r}let vs=Zt&&!ps&&_s.length<=$t.current?Zt:void 0,ys=Ka===`tool-permission`?(0,$.jsx)(nS,{onDone:()=>bn(([e,...t])=>t),onReject:Xa,toolUseConfirm:yn[0],toolUseContext:ro(H,H,jt??sl(),ve),verbose:L,setStickyFooter:Yr()?Sn:void 0},yn[0]?.toolUseID):null,bs=Yr()&&mn?.isLocalJSXCommand===!0,xs=bs?mn.jsx:null,Ss=(0,$.jsxs)(En,{children:[(0,$.jsx)(Cj,{isAnimating:Vn,title:Ln,disabled:N,noPrefix:!1}),(0,$.jsx)(FD,{...cs}),(0,$.jsx)(LD,{onSubmit:fo,isActive:!mn?.isLocalJSXCommand}),(0,$.jsx)(cj,{scrollRef:Ut,isActive:Yr()&&(xs!=null||!Ka||Ka===`tool-permission`),onScroll:Sr}),null,(0,$.jsx)(zD,{...Za}),(0,$.jsx)(eh,{dynamicMcpConfig:we,isStrictMcpConfig:m,children:(0,$.jsx)(jg,{scrollRef:Ut,overlay:ys,modal:xs,modalScrollRef:Wt,dividerYRef:lr,hidePill:!!ps,newMessageCount:_r?.count??0,onPillClick:()=>{hr(null),fr(Ut.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ng,{messages:_s,tools:vt,commands:xt,verbose:L,toolJSX:mn,toolUseConfirmQueue:yn,inProgressToolUseIDs:Wr,isMessageSelectorVisible:Ei,conversationId:Mi,screen:ke,streamingToolUses:Dt,showAllInTranscript:Me,agentDefinitions:ie,isLoading:V,streamingText:V&&!ps?mi:null,unseenDivider:ps?void 0:_r,scrollRef:Yr()?Ut:void 0,trackStickyPrompt:Yr()?!0:void 0,cursor:mr,setCursor:hr,cursorNavRef:gr}),(0,$.jsx)(dA,{}),!b&&vs&&!xs&&(0,$.jsx)(Xs,{param:{text:vs,type:`text`},addMargin:!0,verbose:L}),mn&&!(mn.isLocalJSXCommand&&mn.isImmediate)&&!bs&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),(0,$.jsx)(K,{flexGrow:1}),da&&(0,$.jsx)(gn,{mode:wt,spinnerTip:ce,responseLengthRef:ci,apiMetricsRef:li,overrideMessage:yi,spinnerSuffix:zo,verbose:L,loadingStartTimeRef:tn,totalPausedMsRef:nn,pauseStartTimeRef:rn,overrideColor:xi,overrideShimmerColor:wi,hasActiveTools:Wr.size>0,leaderIsIdle:!V})]}),bottom:(0,$.jsx)(K,{flexDirection:`row`,width:`100%`,alignItems:`flex-end`,children:(0,$.jsxs)(K,{flexDirection:`column`,flexGrow:1,children:[Yr()&&(0,$.jsx)(FE,{}),xn,mn?.isLocalJSXCommand&&mn.isImmediate&&!bs&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),!da&&!mn?.isLocalJSXCommand&&le&>&>.length>0&&(0,$.jsx)(K,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(Hs,{tasks:gt,isStandalone:!0})}),Ka===`sandbox-permission`&&(0,$.jsx)(lk,{hostPattern:wn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=wn[0];if(!r)return;let i=r.hostPattern.host;Tn(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)));let a=kn.current.get(i);if(a){for(let e of a)e();kn.current.delete(i)}}},wn[0].hostPattern.host),Ka===`prompt`&&(0,$.jsx)(ES,{title:Dn[0].title,toolInputSummary:Dn[0].toolInputSummary,request:Dn[0].request,onRespond:e=>{let t=Dn[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),On(([,...e])=>e))},onAbort:()=>{let e=Dn[0];e&&(e.reject(Error(`Prompt cancelled by user`)),On(([,...e])=>e))}},Dn[0].request.prompt),Ka===`elicitation`&&(0,$.jsx)(CS,{event:z.queue[0],onResponse:(e,t)=>{let n=z.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||B(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=z.queue[0];B(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},`${z.queue[0].serverName}:${String(z.queue[0].requestId)}`),Ka===`cost`&&(0,$.jsx)(Zv,{onDone:()=>{ji(!1),Vi(!0),of(e=>({...e,hasAcknowledgedCostThreshold:!0})),X(`tengu_cost_threshold_acknowledged`,{})}}),Ka===`idle-return`&&Pi&&(0,$.jsx)(Qv,{idleMinutes:Pi.idleMinutes,totalInputTokens:Du(),onDone:async e=>{let t=Pi;if(Fi(null),X(`tengu_idle_return_action`,{action:e,idleMinutes:Math.round(t.idleMinutes),messageCount:er.current.length,totalInputTokens:Du()}),e===`dismiss`){Lr(t.input);return}if(e===`never`&&of(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-C0yysXds.js`);await e({setMessages:U,readFileState:wa.current,discoveredSkillNames:Oa.current,loadedNestedMemoryPaths:ka.current,getAppState:()=>he.getState(),setAppState:B,setConversationId:Ni}),Fn.current=!1,Nn(void 0),Ea.current.clear(),Da.current=0}Ii.current=!0,_o.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),Ka===`ide-onboarding`&&(0,$.jsx)(Sc,{onDone:()=>rt(!1),installationStatus:$e}),Ka===`remote-callout`&&(0,$.jsx)(TO,{onDone:e=>{B(t=>t.showRemoteCallout?{...t,showRemoteCallout:!1,...e===`enable`&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}:t)}}),Ra,Ka===`plugin-hint`&&ut&&(0,$.jsx)(Lk,{pluginName:ut.pluginName,pluginDescription:ut.pluginDescription,marketplaceName:ut.marketplaceName,sourceCommand:ut.sourceCommand,onResponse:ft}),Ka===`search-extra-tools-hint`&&pt.visible&&(0,$.jsx)(zk,{tools:pt.tools,onSelect:pt.handleSelect,onDismiss:pt.handleDismiss}),Ka===`lsp-recommendation`&&ct&&(0,$.jsx)(Pk,{pluginName:ct.pluginName,pluginDescription:ct.pluginDescription,fileExtension:ct.fileExtension,onResponse:lt}),Ka===`desktop-upsell`&&(0,$.jsx)(iA,{onDone:()=>st(!1)}),ua(),!mn?.shouldHidePromptInput&&!Ka&&!Ba&&!b&&!mr&&(0,$.jsxs)($.Fragment,{children:[Pa&&(0,$.jsx)(AA,{onRun:po,onCancel:mo,reason:NA(Pa)}),va.state===`closed`?ya.state===`closed`?(0,$.jsx)(GO,{state:_a.state,lastResponse:_a.lastResponse,handleSelect:_a.handleSelect,handleTranscriptSelect:_a.handleTranscriptSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:La.current?void 0:ho}):(0,$.jsx)(GO,{state:ya.state,lastResponse:ya.lastResponse,handleSelect:ya.handleSelect,handleTranscriptSelect:ya.handleTranscriptSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:ho,message:`How well did Work Mate use its memory? (optional)`}):(0,$.jsx)(GO,{state:va.state,lastResponse:va.lastResponse,handleSelect:va.handleSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:ho}),ma.suggestion&&(0,$.jsx)(TD,{isOpen:ma.isOpen,skillName:ma.suggestion.skillName,updates:ma.suggestion.updates,handleSelect:ma.handleSelect,inputValue:Ar,setInputValue:Lr}),ga&&(0,$.jsx)(PA,{}),(0,$.jsx)($E,{debug:n,ideSelection:qe,hasSuppressedDialogs:!!qa,isLocalJSXCommandActive:Bn,getToolUseContext:ro,toolPermissionContext:I,setToolPermissionContext:$a,apiKeyStatus:Ma,commands:xt,agents:ie.activeAgents,isLoading:V,onExit:vo,verbose:L,messages:H,onAutoUpdaterResult:pn,autoUpdaterResult:fn,input:Ar,onInputChange:Lr,mode:Rr,onModeChange:zr,stashedPrompt:Vr,setStashedPrompt:Hr,submitCount:ii,onShowMessageSelector:yo,onMessageActionsEnter:void 0,mcpClients:Ke,pastedContents:ti,setPastedContents:ri,vimMode:Hi,setVimMode:Ui,showBashesDialog:Wi,setShowBashesDialog:Gi,onSubmit:fo,isSearchingHistory:Ki,setIsSearchingHistory:qi,helpOpen:Ji,setHelpOpen:Yi,insertTextRef:Fr}),(0,$.jsx)(CO,{onBackgroundSession:io,isLoading:V}),(0,$.jsx)(mO,{})]}),mr&&(0,$.jsx)(ha,{cursor:mr}),Ka===`message-selector`&&(0,$.jsx)(sh,{messages:H,preselectedMessage:Oi,onPreRestore:Ya,onRestoreCode:async e=>{await tl(e=>{B(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=Fo(H),i=r.indexOf(e);if(i===-1){U(e=>[...e,Zc(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=sl(),o=ro(r,[],a,ve),s=o.getAppState(),c=await $i(o.options.tools,o.options.mainLoopModel,Array.from(s.toolPermissionContext.additionalWorkingDirectories.keys()),o.options.mcpClients),l=Kr({mainThreadAgentDefinition:void 0,toolUseContext:o,customSystemPrompt:o.options.customSystemPrompt,defaultSystemPrompt:c,appendSystemPrompt:o.options.appendSystemPrompt}),[u,d]=await Promise.all([Ct(),Ms()]),f=await Sa(r,i,o,{systemPrompt:l,userContext:u,systemContext:d,toolUseContext:o,forkContextMessages:r},t,n),p=f.messagesToKeep??[],m=n===`up_to`?[...f.summaryMessages,...p]:[...p,...f.summaryMessages],h=[f.boundaryMarker,...m,...f.attachments,...f.hookResults];if(Yr()&&n===`from`?U(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...h]}):U(h),cm(!1),Ni(l_()),ht(o.options.querySource),n===`from`){let t=ai(e);t&&(Lr(t.text),zr(t.mode))}let g=Xc(`app:toggleTranscript`,`Global`,`ctrl+o`);We({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${g} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:Co,onClose:()=>{Di(!1),ki(void 0)}})]})})})},Lo)]});return Yr()?(0,$.jsx)(ou,{mouseTracking:Je(),children:Ss}):Ss}export{Ej as t};
|
|
128
|
+
`)},t=()=>{Ro(e=>e+1)};return Mo?.on(`suspend`,e),Mo?.on(`resume`,t),()=>{Mo?.off(`suspend`,e),Mo?.off(`resume`,t)}},[Mo]);let zo=(0,Q.useMemo)(()=>{if(!V)return null;let e=H.filter(e=>{if(e.type!==`progress`)return!1;let t=e.data;return t.type===`hook_progress`&&(t.hookEvent===`Stop`||t.hookEvent===`SubagentStop`)});if(e.length===0)return null;let t=e.at(-1)?.toolUseID;if(!t||H.some(e=>e.type===`system`&&e.subtype===`stop_hook_summary`&&e.toolUseID===t))return null;let n=e.filter(e=>e.toolUseID===t),r=n.length,i=wd(H,e=>{if(e.type!==`attachment`)return!1;let n=e.attachment;return`hookEvent`in n&&(n.hookEvent===`Stop`||n.hookEvent===`SubagentStop`)&&`toolUseID`in n&&n.toolUseID===t}),a=n.find(e=>e.data.statusMessage)?.data.statusMessage;if(a)return r===1?`${a}…`:`${a}… ${i}/${r}`;let o=n[0]?.data.hookEvent===`SubagentStop`?`subagent stop`:`stop`;return r===1?`running ${o} hook`:`running stop hooks… ${i}/${r}`},[H,V]),Bo=(0,Q.useCallback)(()=>{kr({messagesLength:H.length,streamingToolUsesLength:Dt.length})},[H.length,Dt.length]),Vo=(0,Q.useCallback)(()=>{kr(null)},[]),Ho=Yr()&&!ee,Uo=(0,Q.useRef)(null),[Wo,Go]=(0,Q.useState)(!1),[Ko,qo]=(0,Q.useState)(``),[Jo,Xo]=(0,Q.useState)(0),[Qo,$o]=(0,Q.useState)(0),ts=(0,Q.useCallback)((e,t)=>{Xo(e),$o(t)},[]);Kl((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){Uo.current?.setAnchor(),Go(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&Jo>0){let t=r===`n`?Uo.current?.nextMatch:Uo.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:ke===`transcript`&&Ho&&!Wo&&!Pe});let{setQuery:ns,scanElement:rs,setPositions:is}=$l(),as=Zl().columns,os=Q.useRef(as);Q.useEffect(()=>{os.current!==as&&(os.current=as,(Ko||Wo)&&(Go(!1),qo(``),Xo(0),$o(0),Uo.current?.disarmSearch(),ns(``)))},[as,Ko,Wo,ns]),Kl((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){Vo(),n.stopImmediatePropagation();return}if(e===`[`&&!Pe)Ie(!0),Ne(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),He.current)return;He.current=!0;let e=Be.current,t=t=>{e===Be.current&&(clearTimeout(Ve.current),ze(t))};t(`rendering ${Tr.length} messages…`),(async()=>{try{let e=Math.max(80,(process.stdout.columns??80)-6),n=(await Xv(Tr,vt,e)).replace(/[ \t]+$/gm,``),r=r_(Qg(),`cc-transcript-${Date.now()}.txt`);await p_(r,n);let i=Lh(r);t(i?`opening ${r}`:`wrote ${r} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}He.current=!1,e===Be.current&&(Ve.current=setTimeout(e=>e(``),4e3,ze))})()}}},{isActive:ke===`transcript`&&Ho&&!Wo});let ss=ke===`transcript`&&Ho;(0,Q.useEffect)(()=>{ss||(qo(``),Xo(0),$o(0),Go(!1),Be.current++,clearTimeout(Ve.current),Ie(!1),ze(``))},[ss]),(0,Q.useEffect)(()=>{ns(ss?Ko:``),ss||is(null)},[ss,Ko,ns,is]);let cs={screen:ke,setScreen:je,showAllInTranscript:Me,setShowAllInTranscript:Ne,messageCount:H.length,onEnterTranscript:Bo,onExitTranscript:Vo,virtualScrollActive:Ho,searchBarOpen:Wo},us=Or?Tr.slice(0,Or.messagesLength):Tr,ds=Or?Dt.slice(0,Or.streamingToolUsesLength):Dt;BD({onOpenBackgroundTasks:Bn?void 0:()=>Gi(!0),onTogglePipeSelector:()=>{B(e=>{let t=e.pipeIpc??{};return{...e,pipeIpc:{...t,selectorOpen:!t.selectorOpen}}})}});let fs=ue?R[ue]:void 0,ps=fs&&nr(fs)?fs:void 0,ms=fi||!V,hs=ps?.messages,gs=(0,Q.useMemo)(()=>{if(!ps)return;let e=hs??[];if(!nr(ps)||ps.agentType!==`fork`||!ps.prompt)return e;let t=ps.prompt.trim(),n=-1,r=-1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(o.type===`user`&&Array.isArray(o.message?.content)){if(o.message.content.some(Tj))n=a;else if(!i){let e=o.message.content.find(e=>e.type===`text`&&typeof e.text==`string`);e&&e.text.trim()===t&&(i=!0)}continue}o.type===`assistant`&&Array.isArray(o.message?.content)&&o.message.content.some(e=>e.type===`tool_use`)&&(r=a)}let a=n===-1?e:e.map((e,t)=>t!==n||!Array.isArray(e.message?.content)?e:{...e,message:{...e.message,content:e.message.content.filter(e=>!Tj(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=ar({content:ps.prompt,timestamp:new Date(ps.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[ps,hs]),_s=ps?gs??[]:ms?H:Tr;if(ke===`transcript`){let e=Yr()&&!ee&&!Pe?Ut:void 0,t=(0,$.jsx)(Ng,{messages:us,tools:vt,commands:xt,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:Wr,isMessageSelectorVisible:!1,conversationId:Mi,screen:ke,agentDefinitions:ie,streamingToolUses:ds,showAllInTranscript:Me,isLoading:V,hidePastThinking:!0,streamingThinking:kt,scrollRef:e,jumpRef:Uo,onSearchMatchesChange:ts,scanElement:rs,setPositions:is,disableRenderCap:Pe}),n=mn&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),r=(0,$.jsxs)(En,{children:[(0,$.jsx)(Cj,{isAnimating:Vn,title:Ln,disabled:N,noPrefix:!1}),(0,$.jsx)(FD,{...cs}),(0,$.jsx)(LD,{onSubmit:fo,isActive:!mn?.isLocalJSXCommand}),e?(0,$.jsx)(cj,{scrollRef:Ut,isActive:!0,isModal:!Wo,onScroll:()=>Uo.current?.disarmSearch()}):null,(0,$.jsx)(zD,{...Za}),e?(0,$.jsx)(jg,{scrollRef:Ut,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(dk,{})]}),bottom:Wo?(0,$.jsx)(yj,{jumpRef:Uo,initialQuery:``,count:Jo,current:Qo,onClose:e=>{qo(Jo>0?e:``),Go(!1),e||(Xo(0),$o(0),Uo.current?.setSearchQuery(``))},onCancel:()=>{Go(!1),Uo.current?.setSearchQuery(``),Uo.current?.setSearchQuery(Ko),ns(Ko)},setHighlight:ns}):(0,$.jsx)(vj,{showAllInTranscript:Me,virtualScroll:!0,status:Le||void 0,searchBadge:Ko&&Jo>0?{current:Qo,count:Jo}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(dk,{}),(0,$.jsx)(vj,{showAllInTranscript:Me,virtualScroll:!1,suppressShowAll:Pe,status:Le||void 0})]})]});return e?(0,$.jsx)(ou,{mouseTracking:Je(),children:r}):r}let vs=Zt&&!ps&&_s.length<=$t.current?Zt:void 0,ys=Ka===`tool-permission`?(0,$.jsx)(nS,{onDone:()=>bn(([e,...t])=>t),onReject:Xa,toolUseConfirm:yn[0],toolUseContext:ro(H,H,jt??sl(),ve),verbose:L,setStickyFooter:Yr()?Sn:void 0},yn[0]?.toolUseID):null,bs=Yr()&&mn?.isLocalJSXCommand===!0,xs=bs?mn.jsx:null,Ss=(0,$.jsxs)(En,{children:[(0,$.jsx)(Cj,{isAnimating:Vn,title:Ln,disabled:N,noPrefix:!1}),(0,$.jsx)(FD,{...cs}),(0,$.jsx)(LD,{onSubmit:fo,isActive:!mn?.isLocalJSXCommand}),(0,$.jsx)(cj,{scrollRef:Ut,isActive:Yr()&&(xs!=null||!Ka||Ka===`tool-permission`),onScroll:Sr}),null,(0,$.jsx)(zD,{...Za}),(0,$.jsx)(eh,{dynamicMcpConfig:we,isStrictMcpConfig:m,children:(0,$.jsx)(jg,{scrollRef:Ut,overlay:ys,modal:xs,modalScrollRef:Wt,dividerYRef:lr,hidePill:!!ps,newMessageCount:_r?.count??0,onPillClick:()=>{hr(null),fr(Ut.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ng,{messages:_s,tools:vt,commands:xt,verbose:L,toolJSX:mn,toolUseConfirmQueue:yn,inProgressToolUseIDs:Wr,isMessageSelectorVisible:Ei,conversationId:Mi,screen:ke,streamingToolUses:Dt,showAllInTranscript:Me,agentDefinitions:ie,isLoading:V,streamingText:V&&!ps?mi:null,unseenDivider:ps?void 0:_r,scrollRef:Yr()?Ut:void 0,trackStickyPrompt:Yr()?!0:void 0,cursor:mr,setCursor:hr,cursorNavRef:gr}),(0,$.jsx)(dA,{}),!b&&vs&&!xs&&(0,$.jsx)(Xs,{param:{text:vs,type:`text`},addMargin:!0,verbose:L}),mn&&!(mn.isLocalJSXCommand&&mn.isImmediate)&&!bs&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),(0,$.jsx)(K,{flexGrow:1}),da&&(0,$.jsx)(gn,{mode:wt,spinnerTip:ce,responseLengthRef:ci,apiMetricsRef:li,overrideMessage:yi,spinnerSuffix:zo,verbose:L,loadingStartTimeRef:tn,totalPausedMsRef:nn,pauseStartTimeRef:rn,overrideColor:xi,overrideShimmerColor:wi,hasActiveTools:Wr.size>0,leaderIsIdle:!V})]}),bottom:(0,$.jsx)(K,{flexDirection:`row`,width:`100%`,alignItems:`flex-end`,children:(0,$.jsxs)(K,{flexDirection:`column`,flexGrow:1,children:[Yr()&&(0,$.jsx)(FE,{}),xn,mn?.isLocalJSXCommand&&mn.isImmediate&&!bs&&(0,$.jsx)(K,{flexDirection:`column`,width:`100%`,children:mn.jsx}),!da&&!mn?.isLocalJSXCommand&&le&>&>.length>0&&(0,$.jsx)(K,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(Hs,{tasks:gt,isStandalone:!0})}),Ka===`sandbox-permission`&&(0,$.jsx)(lk,{hostPattern:wn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=wn[0];if(!r)return;let i=r.hostPattern.host;Tn(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)));let a=kn.current.get(i);if(a){for(let e of a)e();kn.current.delete(i)}}},wn[0].hostPattern.host),Ka===`prompt`&&(0,$.jsx)(ES,{title:Dn[0].title,toolInputSummary:Dn[0].toolInputSummary,request:Dn[0].request,onRespond:e=>{let t=Dn[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),On(([,...e])=>e))},onAbort:()=>{let e=Dn[0];e&&(e.reject(Error(`Prompt cancelled by user`)),On(([,...e])=>e))}},Dn[0].request.prompt),Ka===`elicitation`&&(0,$.jsx)(CS,{event:z.queue[0],onResponse:(e,t)=>{let n=z.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||B(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=z.queue[0];B(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},`${z.queue[0].serverName}:${String(z.queue[0].requestId)}`),Ka===`cost`&&(0,$.jsx)(Zv,{onDone:()=>{ji(!1),Vi(!0),of(e=>({...e,hasAcknowledgedCostThreshold:!0})),X(`tengu_cost_threshold_acknowledged`,{})}}),Ka===`idle-return`&&Pi&&(0,$.jsx)(Qv,{idleMinutes:Pi.idleMinutes,totalInputTokens:Du(),onDone:async e=>{let t=Pi;if(Fi(null),X(`tengu_idle_return_action`,{action:e,idleMinutes:Math.round(t.idleMinutes),messageCount:er.current.length,totalInputTokens:Du()}),e===`dismiss`){Lr(t.input);return}if(e===`never`&&of(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-D08lU377.js`);await e({setMessages:U,readFileState:wa.current,discoveredSkillNames:Oa.current,loadedNestedMemoryPaths:ka.current,getAppState:()=>he.getState(),setAppState:B,setConversationId:Ni}),Fn.current=!1,Nn(void 0),Ea.current.clear(),Da.current=0}Ii.current=!0,_o.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),Ka===`ide-onboarding`&&(0,$.jsx)(Sc,{onDone:()=>rt(!1),installationStatus:$e}),Ka===`remote-callout`&&(0,$.jsx)(TO,{onDone:e=>{B(t=>t.showRemoteCallout?{...t,showRemoteCallout:!1,...e===`enable`&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}:t)}}),Ra,Ka===`plugin-hint`&&ut&&(0,$.jsx)(Lk,{pluginName:ut.pluginName,pluginDescription:ut.pluginDescription,marketplaceName:ut.marketplaceName,sourceCommand:ut.sourceCommand,onResponse:ft}),Ka===`search-extra-tools-hint`&&pt.visible&&(0,$.jsx)(zk,{tools:pt.tools,onSelect:pt.handleSelect,onDismiss:pt.handleDismiss}),Ka===`lsp-recommendation`&&ct&&(0,$.jsx)(Pk,{pluginName:ct.pluginName,pluginDescription:ct.pluginDescription,fileExtension:ct.fileExtension,onResponse:lt}),Ka===`desktop-upsell`&&(0,$.jsx)(iA,{onDone:()=>st(!1)}),ua(),!mn?.shouldHidePromptInput&&!Ka&&!Ba&&!b&&!mr&&(0,$.jsxs)($.Fragment,{children:[Pa&&(0,$.jsx)(AA,{onRun:po,onCancel:mo,reason:NA(Pa)}),va.state===`closed`?ya.state===`closed`?(0,$.jsx)(GO,{state:_a.state,lastResponse:_a.lastResponse,handleSelect:_a.handleSelect,handleTranscriptSelect:_a.handleTranscriptSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:La.current?void 0:ho}):(0,$.jsx)(GO,{state:ya.state,lastResponse:ya.lastResponse,handleSelect:ya.handleSelect,handleTranscriptSelect:ya.handleTranscriptSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:ho,message:`How well did Work Mate use its memory? (optional)`}):(0,$.jsx)(GO,{state:va.state,lastResponse:va.lastResponse,handleSelect:va.handleSelect,inputValue:Ar,setInputValue:Lr,onRequestFeedback:ho}),ma.suggestion&&(0,$.jsx)(TD,{isOpen:ma.isOpen,skillName:ma.suggestion.skillName,updates:ma.suggestion.updates,handleSelect:ma.handleSelect,inputValue:Ar,setInputValue:Lr}),ga&&(0,$.jsx)(PA,{}),(0,$.jsx)($E,{debug:n,ideSelection:qe,hasSuppressedDialogs:!!qa,isLocalJSXCommandActive:Bn,getToolUseContext:ro,toolPermissionContext:I,setToolPermissionContext:$a,apiKeyStatus:Ma,commands:xt,agents:ie.activeAgents,isLoading:V,onExit:vo,verbose:L,messages:H,onAutoUpdaterResult:pn,autoUpdaterResult:fn,input:Ar,onInputChange:Lr,mode:Rr,onModeChange:zr,stashedPrompt:Vr,setStashedPrompt:Hr,submitCount:ii,onShowMessageSelector:yo,onMessageActionsEnter:void 0,mcpClients:Ke,pastedContents:ti,setPastedContents:ri,vimMode:Hi,setVimMode:Ui,showBashesDialog:Wi,setShowBashesDialog:Gi,onSubmit:fo,isSearchingHistory:Ki,setIsSearchingHistory:qi,helpOpen:Ji,setHelpOpen:Yi,insertTextRef:Fr}),(0,$.jsx)(CO,{onBackgroundSession:io,isLoading:V}),(0,$.jsx)(mO,{})]}),mr&&(0,$.jsx)(ha,{cursor:mr}),Ka===`message-selector`&&(0,$.jsx)(sh,{messages:H,preselectedMessage:Oi,onPreRestore:Ya,onRestoreCode:async e=>{await tl(e=>{B(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=Fo(H),i=r.indexOf(e);if(i===-1){U(e=>[...e,Zc(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=sl(),o=ro(r,[],a,ve),s=o.getAppState(),c=await $i(o.options.tools,o.options.mainLoopModel,Array.from(s.toolPermissionContext.additionalWorkingDirectories.keys()),o.options.mcpClients),l=Kr({mainThreadAgentDefinition:void 0,toolUseContext:o,customSystemPrompt:o.options.customSystemPrompt,defaultSystemPrompt:c,appendSystemPrompt:o.options.appendSystemPrompt}),[u,d]=await Promise.all([Ct(),Ms()]),f=await Sa(r,i,o,{systemPrompt:l,userContext:u,systemContext:d,toolUseContext:o,forkContextMessages:r},t,n),p=f.messagesToKeep??[],m=n===`up_to`?[...f.summaryMessages,...p]:[...p,...f.summaryMessages],h=[f.boundaryMarker,...m,...f.attachments,...f.hookResults];if(Yr()&&n===`from`?U(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...h]}):U(h),cm(!1),Ni(l_()),ht(o.options.querySource),n===`from`){let t=ai(e);t&&(Lr(t.text),zr(t.mode))}let g=Xc(`app:toggleTranscript`,`Global`,`ctrl+o`);We({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${g} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:Co,onClose:()=>{Di(!1),ki(void 0)}})]})})})},Lo)]});return Yr()?(0,$.jsx)(ou,{mouseTracking:Je(),children:Ss}):Ss}export{Ej as t};
|