@readmagic/workmate 0.0.27 → 0.0.28
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-DqlPtsVK.js → AddWorkspaceDirectory-Bmgh8VS3.js} +1 -1
- package/dist/chunks/{AgentsMdExternalIncludesDialog-rJS5l6yk.js → AgentsMdExternalIncludesDialog-BJfHqScU.js} +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-BjbUilCE.js +1 -0
- package/dist/chunks/{App-DzRQpRKr.js → App-COdpsR2w.js} +1 -1
- package/dist/chunks/{BackgroundTasksDialog-CBhSmdz_.js → BackgroundTasksDialog-WkoL4g5Q.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog-zz-lnmJt.js → BypassPermissionsModeDialog-BT9yl0Qt.js} +1 -1
- package/dist/chunks/{CustomSelect-CYmc4vRh.js → CustomSelect-t4wXuXWH.js} +1 -1
- package/dist/chunks/{DiffDialog-CTUIAcEE.js → DiffDialog-CXZxnb7Y.js} +1 -1
- package/dist/chunks/Doctor-B6isid5K.js +1 -0
- package/dist/chunks/{Doctor-CLOYkPRR.js → Doctor-COj-tZBc.js} +1 -1
- package/dist/chunks/{ExitFlow-CATwJC4c.js → ExitFlow-CcMYH5iI.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-B-9Z58oD.js → InvalidConfigDialog-riLYEaUP.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-B4EWjbp7.js → InvalidSettingsDialog-BGXl3V1A.js} +1 -1
- package/dist/chunks/{KeybindingProviderSetup-Dzg77_Xn.js → KeybindingProviderSetup-syiDgtpB.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-CBY8nqdU.js → MCPConnectionManager-C7RmKzJh.js} +1 -1
- package/dist/chunks/{MCPToolListView-C7HT6rrl.js → MCPToolListView-CewNLJus.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-Dj_Fu5o-.js → McpParsingWarnings-Czze2JPd.js} +1 -1
- package/dist/chunks/{MessageSelector-Dw_ERK_Z.js → MessageSelector-Kc6JlnDX.js} +1 -1
- package/dist/chunks/{Messages-RBfRELKn.js → Messages-BvFYO4Zn.js} +1 -1
- package/dist/chunks/{Onboarding-BRSXxc2E.js → Onboarding-CD_Uv5h9.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-ChpyD9B7.js → PromptInputFooterSuggestions-CHXJsTtQ.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-CrTT8MKE.js → PromptInputHelpMenu-BZIVCV7V.js} +1 -1
- package/dist/chunks/{ProviderSetup-BEV95bnz.js → ProviderSetup-CwMvjmjh.js} +1 -1
- package/dist/chunks/{QueryEngine-BBBkZWu2.js → QueryEngine-DAwfp_ht.js} +1 -1
- package/dist/chunks/{REPL-BDnZnm__.js → REPL-CtFtb35A.js} +4 -4
- package/dist/chunks/REPL-tFT1FGQF.js +1 -0
- package/dist/chunks/{ResumeConversation-BuSqBrm1.js → ResumeConversation-CERzSBvg.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-ndh4aEwQ.js +1 -0
- package/dist/chunks/{Settings-DYKmPdbd.js → Settings-CPaqWNdP.js} +2 -2
- package/dist/chunks/{Spinner-DOI8qqZi.js → Spinner-C0qHjfIY.js} +1 -1
- package/dist/chunks/{TextInput-ZKU-x_FD.js → TextInput-ou7ZhpVY.js} +1 -1
- package/dist/chunks/{ThemePicker-B69oDgXN.js → ThemePicker-CVFWqSc7.js} +1 -1
- package/dist/chunks/{TrustDialog-BSG8Ibh8.js → TrustDialog-CGXv_LF4.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-BUYHEft4.js → ValidationErrorsList-CKeHoN2Z.js} +1 -1
- package/dist/chunks/{_baseEach-P0u1zIx6.js → _baseEach-BYhqv77g.js} +1 -1
- package/dist/chunks/{add-dir-C8RmmyQK.js → add-dir-BSizpuef.js} +1 -1
- package/dist/chunks/{agentDisplay-np7CH47m.js → agentDisplay-JKfYFD1m.js} +1 -1
- package/dist/chunks/{agents-DRQlR5M1.js → agents-BDTCH6YB.js} +1 -1
- package/dist/chunks/{agents-DedoH0Q4.js → agents-MEaV8P2G.js} +1 -1
- package/dist/chunks/{allErrors-DvcU0w0F.js → allErrors-Dhnf6rqg.js} +1 -1
- package/dist/chunks/{appleTerminalBackup-Bemd4RXh.js → appleTerminalBackup-CN8kS74J.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-Bu-zRFCx.js +1 -0
- package/dist/chunks/{backgroundHousekeeping-BtEJ6TeC.js → backgroundHousekeeping-CsXlkIg3.js} +1 -1
- package/dist/chunks/{banner-CuoceXzz.js → banner-BKOzHotb.js} +1 -1
- package/dist/chunks/{branch-ClhlS7f8.js → branch-BllXcYwS.js} +1 -1
- package/dist/chunks/bridgeControl-aDnUrYZR.js +2 -0
- package/dist/chunks/{btw-B-FLxlx-.js → btw-DzaRBa6o.js} +1 -1
- package/dist/chunks/caches-CMF-MmR-.js +1 -0
- package/dist/chunks/{caches-Dn8yrJmL.js → caches-CW5YnYNS.js} +1 -1
- package/dist/chunks/channel-DVx21qde.js +1 -0
- package/dist/chunks/channel-Gw6skpUh.js +1 -0
- package/dist/chunks/{clear-BnWv0i65.js → clear-CDQs9_5P.js} +1 -1
- package/dist/chunks/commands-CfYMwgP7.js +1 -0
- package/dist/chunks/{compact-Banc-SNk.js → compact-6F2tuItE.js} +1 -1
- package/dist/chunks/config-BDkzWBnL.js +1 -0
- package/dist/chunks/{config-BDn2YIjC.js → config-Bio2EjUK.js} +1 -1
- package/dist/chunks/config-C_AEhZrn.js +1 -0
- package/dist/chunks/{context-BvDBAyJ9.js → context-TkdzCK3Y.js} +1 -1
- package/dist/chunks/{context-noninteractive-CuHHniJn.js → context-noninteractive-BcBo64vo.js} +1 -1
- package/dist/chunks/context-noninteractive-oFcnY1Er.js +1 -0
- package/dist/chunks/{conversation-Cjaftrrw.js → conversation-CYZyg1U1.js} +1 -1
- package/dist/chunks/conversation-DXzlRhNw.js +1 -0
- package/dist/chunks/{conversationRecovery-NL05oJb1.js → conversationRecovery-_hWC7JBO.js} +1 -1
- package/dist/chunks/{crossProjectResume-BzltC4NJ.js → crossProjectResume-CCo3iZrB.js} +1 -1
- package/dist/chunks/{diff--6gQCx_x.js → diff-BzVUPO4Z.js} +1 -1
- package/dist/chunks/doctor-B4jQbGQr.js +1 -0
- package/dist/chunks/{entry-DWYOrkFS.js → entry-333L52Lo.js} +1 -1
- package/dist/chunks/{exit-uKtXb5U3.js → exit-D5DYnRvR.js} +1 -1
- package/dist/chunks/{extraUsage-Dr0YXm1w.js → extraUsage-CmgRR-zH.js} +1 -1
- package/dist/chunks/extractMemories-CVUrBFMj.js +1 -0
- package/dist/chunks/fast-CRhW9zha.js +1 -0
- package/dist/chunks/{fast-C5-lNCQi.js → fast-D7oNjaZ3.js} +1 -1
- package/dist/chunks/{fetchModelList-9w1E4Ue8.js → fetchModelList-Cv1vWIpC.js} +1 -1
- package/dist/chunks/fetchModelList-DIa1HwAJ.js +1 -0
- package/dist/chunks/{fileSuggestions-BYD78vcF.js → fileSuggestions-DF3HTRKr.js} +1 -1
- package/dist/chunks/{gemini-BNBptTET.js → gemini-ou7_YyXc.js} +1 -1
- package/dist/chunks/{generateSessionName-CO2484aJ.js → generateSessionName-CeN9EZNY.js} +1 -1
- package/dist/chunks/{goal-j0wdadwM.js → goal-CCxo4Wyf.js} +1 -1
- package/dist/chunks/{grok-BpO1ZwK_.js → grok-BMmUcNbI.js} +1 -1
- package/dist/chunks/{help-DwhA0qQ6.js → help-CYtogTZk.js} +1 -1
- package/dist/chunks/{hooks-DG4_WdZ2.js → hooks-ByVkvodY.js} +1 -1
- package/dist/chunks/hooks-CBGUcyCs.js +1 -0
- package/dist/chunks/{install-BbmCNCuM.js → install-DIxyfdXG.js} +1 -1
- package/dist/chunks/{instrumentation-DpPmDyNF.js → instrumentation-BmHivmxs.js} +3 -3
- package/dist/chunks/{job-GcmX1ALd.js → job-D534P26R.js} +1 -1
- package/dist/chunks/{launchLocalMemory-CDgT5lst.js → launchLocalMemory-CWXLb3KF.js} +1 -1
- package/dist/chunks/{launchOnboarding-uQ_ux9sS.js → launchOnboarding-CocPmwzz.js} +1 -1
- package/dist/chunks/loadAgentsDir-Zw648oQO.js +1 -0
- package/dist/chunks/{loadAgentsDir-uuZYOgKn.js → loadAgentsDir-bmpKLPdG.js} +343 -343
- package/dist/chunks/{loadPluginHooks-QoVXsBjy.js → loadPluginHooks-BIfM53-_.js} +1 -1
- package/dist/chunks/{localSearch-yVCDrVrf.js → localSearch-Da8cVYoI.js} +1 -1
- package/dist/chunks/localSearch-Dbj8cXyO.js +1 -0
- package/dist/chunks/{logoUtils-B4wCDKs9.js → logoUtils-qNuBc2nI.js} +1 -1
- package/dist/chunks/{magicDocs-D53lV8b5.js → magicDocs-BsEiBLQl.js} +1 -1
- package/dist/chunks/{main-fy_XSXGj.js → main-B31aPMPP.js} +6 -6
- package/dist/chunks/managedEnv-DCGLDTP_.js +1 -0
- package/dist/chunks/{managedEnv-B8YWmM4A.js → managedEnv-EZ2IirNa.js} +1 -1
- package/dist/chunks/{mcp-DCl-Tz-C.js → mcp-BMeWtYCx.js} +1 -1
- package/dist/chunks/{mcp--LmEVBRg.js → mcp-CYbesbfl.js} +1 -1
- package/dist/chunks/{mcp-CZUVaPb3.js → mcp-Dd8TBfQQ.js} +1 -1
- package/dist/chunks/{memory-Bu5ku7y9.js → memory-DtQQGyPS.js} +1 -1
- package/dist/chunks/{mode-Bteqe2QG.js → mode-SM8doWgC.js} +1 -1
- package/dist/chunks/{model-CHDU5yqH.js → model-C2r-PaR4.js} +1 -1
- package/dist/chunks/{model-CcHyMyBv.js → model-Dd3x121y.js} +1 -1
- package/dist/chunks/{modelOptions-CJV1R3Jt.js → modelOptions-BQL4gbNk.js} +1 -1
- package/dist/chunks/{nativeInstaller-CIUYh1aD.js → nativeInstaller-DMkZdsof.js} +1 -1
- package/dist/chunks/{notifications-GLnjirCl.js → notifications-BwS1XsnZ.js} +1 -1
- package/dist/chunks/{onChangeAppState-CxGW2d-l.js → onChangeAppState-C9cYQJPF.js} +1 -1
- package/dist/chunks/{openai-BpGQT2Iv.js → openai-Bea4I2Od.js} +1 -1
- package/dist/chunks/{overlayContext-7wgLio1O.js → overlayContext-C5WPACKC.js} +1 -1
- package/dist/chunks/{partition-djFY9gGI.js → partition-CKgWl7p4.js} +1 -1
- package/dist/chunks/{permissions-DNedQyLg.js → permissions-Dv_PCfY0.js} +1 -1
- package/dist/chunks/{pidLock-CFUBtZck.js → pidLock-CqkC3-nD.js} +2 -2
- package/dist/chunks/{plan-DI0n7LIV.js → plan-Ce6wfjjI.js} +1 -1
- package/dist/chunks/{plugin-BQ8gRVYF.js → plugin-aK4tDrVg.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-CNrHb4RJ.js → pluginAutoupdate-ByokIVEs.js} +1 -1
- package/dist/chunks/{pluginBlocklist-CKCsgWdY.js → pluginBlocklist-ByRQaVPu.js} +1 -1
- package/dist/chunks/{pluginCliCommands-CACeyIwz.js → pluginCliCommands-Dyk4HYHs.js} +1 -1
- package/dist/chunks/{pluginFlagging-CUvkKGOB.js → pluginFlagging-B2ZX5_oB.js} +1 -1
- package/dist/chunks/{pluginOperations-Ca_T-HYn.js → pluginOperations-BCvJvfOC.js} +1 -1
- package/dist/chunks/{pluginStartupCheck-DftTiXct.js → pluginStartupCheck-QG0d95dE.js} +1 -1
- package/dist/chunks/pluginStartupCheck-o_TC7wIt.js +1 -0
- package/dist/chunks/{plugins-Divl-P-X.js → plugins-DzsTDNWJ.js} +1 -1
- package/dist/chunks/{print-DSHypGJa.js → print-dUT7E1g9.js} +2 -2
- package/dist/chunks/{processBashCommand-BLcFmbyG.js → processBashCommand-DtGCgTkF.js} +1 -1
- package/dist/chunks/{processSlashCommand-Caif46Gi.js → processSlashCommand-wXblpK2C.js} +1 -1
- package/dist/chunks/{projectOnboardingState-nTCycGCD.js → projectOnboardingState-D-_ijZnG.js} +1 -1
- package/dist/chunks/prompt-BdH2zk0S.js +1 -0
- package/dist/chunks/{prompt-BfXryFt-.js → prompt-BnDapYGL.js} +1 -1
- package/dist/chunks/prompt-D0TFER0A.js +1 -0
- package/dist/chunks/{protocolHandler-VigBkAQQ.js → protocolHandler-CJO3CRYW.js} +1 -1
- package/dist/chunks/{reconciler-B9XFdL4f.js → reconciler-C_HKsocm.js} +1 -1
- package/dist/chunks/{refresh-CBHbWTGg.js → refresh-Cm4jZzLa.js} +1 -1
- package/dist/chunks/{reject-CBxnwckZ.js → reject-Tug1RmkE.js} +1 -1
- package/dist/chunks/{reload-plugins-5eFWrQlL.js → reload-plugins-CL9LWzpq.js} +1 -1
- package/dist/chunks/{rename-Cw7cMerG.js → rename-OfKJSazJ.js} +1 -1
- package/dist/chunks/{resume-U2D0ybfU.js → resume-BZ42SpS2.js} +1 -1
- package/dist/chunks/{runtimeObserver-DOYlxx9H.js → runtimeObserver-BLq2guVy.js} +1 -1
- package/dist/chunks/{runtimeObserver-CWaYMJG8.js → runtimeObserver-DT5P2_XL.js} +2 -2
- package/dist/chunks/sandbox-adapter-982rx2cm.js +1 -0
- package/dist/chunks/{sandbox-toggle-BtiPyjT3.js → sandbox-toggle-DghmaJhK.js} +1 -1
- package/dist/chunks/searchExtraTools-B4N1bpy0.js +1 -0
- package/dist/chunks/{select-BuTJbu_Q.js → select-CaxQ-BVq.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-BqQ58T7e.js +1 -0
- package/dist/chunks/{sessionObserver-cfwD8pV8.js → sessionObserver-DBoZUvWL.js} +1 -1
- package/dist/chunks/sessionObserver-qYpA90El.js +1 -0
- package/dist/chunks/sessionStorage-CC0v4zMs.js +1 -0
- package/dist/chunks/{sessionTracing-DsdcOqvc.js → sessionTracing-5a7HDF4e.js} +1 -1
- package/dist/chunks/{setup-DR-KEmxL.js → setup-DVLnIlse.js} +2 -2
- package/dist/chunks/{shadowedRuleDetection-DiZUDzxU.js → shadowedRuleDetection-L3tnySui.js} +1 -1
- package/dist/chunks/{sideQuestion-CdgUarC2.js → sideQuestion-BJTVma-5.js} +1 -1
- package/dist/chunks/sinks-C9NdbjLo.js +1 -0
- package/dist/chunks/{sinks-Cy3NqVbk.js → sinks-CV0SWuZW.js} +1 -1
- package/dist/chunks/{skillChangeDetector-CVFCJcG7.js → skillChangeDetector-DlodgOyC.js} +1 -1
- package/dist/chunks/{skillGapStore-BJV8ZIB1.js → skillGapStore-Cposc03e.js} +2 -2
- package/dist/chunks/{skillLifecycle-iO_3s9Ff.js → skillLifecycle-RXQp0JU7.js} +2 -2
- package/dist/chunks/{skillSearchPanel-BL5gXTHU.js → skillSearchPanel-B2pjskqk.js} +2 -2
- package/dist/chunks/{skills-BEp3_RyT.js → skills-D2ZjMtv4.js} +1 -1
- package/dist/chunks/status-BcSkj9nE.js +1 -0
- package/dist/chunks/{statusNoticeHelpers-BoloSeXY.js → statusNoticeHelpers-DsrqBOQt.js} +1 -1
- package/dist/chunks/switcher-BietN6il.js +1 -0
- package/dist/chunks/{switcher-DSt2cVjA.js → switcher-rep86o4_.js} +1 -1
- package/dist/chunks/{tasks-DyBUXnQb.js → tasks-B4coTfrq.js} +1 -1
- package/dist/chunks/{templateJobs-BBnReWWj.js → templateJobs-C5ukh6H3.js} +1 -1
- package/dist/chunks/{terminalSetup-CDpFfqqV.js → terminalSetup-CaGbEVjB.js} +1 -1
- package/dist/chunks/{terminalSetup-DedaY1P7.js → terminalSetup-xe_P98fY.js} +1 -1
- package/dist/chunks/{theme-BZOy9Iqh.js → theme-7RmvErYJ.js} +1 -1
- package/dist/chunks/{tipRegistry-Cl5sdLRX.js → tipRegistry-BYpJZIjR.js} +1 -1
- package/dist/chunks/{toolEventObserver-ClwWmVbH.js → toolEventObserver-Dzwzi5Vi.js} +1 -1
- package/dist/chunks/{toolPool-DSTbgGmX.js → toolPool-BGfiNj6h.js} +1 -1
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-ClN4NJnB.js → useExitOnCtrlCDWithKeybindings-BT0nexZw.js} +1 -1
- package/dist/chunks/useMainLoopModel-QuE7VkgX.js +1 -0
- package/dist/chunks/{useManagePlugins-CxHz-gUP.js → useManagePlugins-pGaGzsEg.js} +1 -1
- package/dist/chunks/{useMergedTools-BUuWew0-.js → useMergedTools-BLsIT3R_.js} +1 -1
- package/dist/chunks/{useSearchInput-BIQN_-Hm.js → useSearchInput-j12K4wEo.js} +1 -1
- package/dist/chunks/{useSettingsErrors-BDJCLei_.js → useSettingsErrors-C8VIzdws.js} +1 -1
- package/dist/chunks/{util-BHr5l6Bx.js → util-CCEK8oze.js} +1 -1
- package/dist/chunks/{validatePlugin-fx1Y8vam.js → validatePlugin-CTVnWx9H.js} +1 -1
- package/dist/chunks/{vim-CYjMtnwH.js → vim-BlO9V5_5.js} +1 -1
- package/dist/chunks/worktree-BWL0vR4o.js +1 -0
- package/dist/chunks/wrapper-B-Q3Illb.js +1 -0
- package/dist/chunks/{wrapper-K8ZapJVu.js → wrapper-DVKxC5fR.js} +1 -1
- package/dist/cli.js +1 -1
- package/package.json +2 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-CgSethgo.js +0 -1
- package/dist/chunks/Doctor-CiZNe_qx.js +0 -1
- package/dist/chunks/REPL-BHk0vZDf.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-CdWB9sO8.js +0 -1
- package/dist/chunks/backgroundHousekeeping-B56nFTzq.js +0 -1
- package/dist/chunks/caches-D7arwhaa.js +0 -1
- package/dist/chunks/commands-AcfFLgl5.js +0 -1
- package/dist/chunks/config-BhBcadjZ.js +0 -1
- package/dist/chunks/config-Bm5pVdCq.js +0 -1
- package/dist/chunks/context-noninteractive-BK2IDLSS.js +0 -1
- package/dist/chunks/conversation-B2dX3X4Z.js +0 -1
- package/dist/chunks/doctor-CQf8xPZH.js +0 -1
- package/dist/chunks/extractMemories-8yvMGZ1J.js +0 -1
- package/dist/chunks/fast-aNkj6WvB.js +0 -1
- package/dist/chunks/fetchModelList-D2quBF6M.js +0 -1
- package/dist/chunks/hooks-B5Wq-KxE.js +0 -1
- package/dist/chunks/loadAgentsDir-BBbIAiay.js +0 -1
- package/dist/chunks/localSearch-D6MhwvnR.js +0 -1
- package/dist/chunks/managedEnv-ulQBH73B.js +0 -1
- package/dist/chunks/pluginStartupCheck-Du9yx2P8.js +0 -1
- package/dist/chunks/prompt-BZmu5CeK.js +0 -1
- package/dist/chunks/prompt-Cogr_WZr.js +0 -1
- package/dist/chunks/sandbox-adapter-Df7Wpt77.js +0 -1
- package/dist/chunks/searchExtraTools-CbJVb_Zk.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-_mxyfQmn.js +0 -1
- package/dist/chunks/sessionObserver-BZVgzp3W.js +0 -1
- package/dist/chunks/sessionStorage-SC5RfnUP.js +0 -1
- package/dist/chunks/sinks-D41OiGE4.js +0 -1
- package/dist/chunks/status-6JMz8jmM.js +0 -1
- package/dist/chunks/switcher-95d4TrQH.js +0 -1
- package/dist/chunks/useMainLoopModel-Bgxpmn2Q.js +0 -1
- package/dist/chunks/worktree-CGu_58ue.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,n as t,o as n}from"./rolldown-runtime-DaDcL9Zw.js";import{i as r,l as i,o as a}from"./envUtils-QyzA_cFM.js";import{n as o,t as s}from"./defineProperty-C-QyHrDq.js";import{n as c,t as l}from"./figures-5ThXQEtq.js";import{C as u,D as d,Ft as f,Gr as p,Gt as m,H as h,I as g,Kr as _,Kt as v,Lt as y,P as b,Pn as x,Rn as S,T as C,Tt as w,Vn as T,Wt as E,Xn as D,Xt as O,Y as k,Yt as A,Z as j,Zn as M,_n as N,ai as P,bn as F,ct as ee,di as I,dr as L,et as te,fi as R,hn as ne,ir as z,j as re,lr as ie,lt as B,ot as ae,q as oe,qr as se,t as V,tr as ce,vn as le,x as H,y as ue,yn as U,yt as W}from"./src-BX54x08P.js";import{t as de}from"./jsx-runtime-Bb4Xn-E0.js";import{$i as fe,$n as pe,$t as me,B as he,Br as ge,Bt as _e,Ft as ve,Ii as ye,In as be,Jn as xe,Jt as Se,L as Ce,Ni as we,Nn as Te,Nt as Ee,Pt as De,Qn as Oe,Ri as ke,Ur as Ae,Vi as je,Vr as Me,Vt as Ne,Xn as Pe,Xr as Fe,Xt as Ie,Yn as Le,Yr as Re,bn as ze,d as Be,di as Ve,dn as He,dr as Ue,en as We,er as Ge,fr as Ke,gt as qe,m as Je,mn as Ye,oa as Xe,ot as Ze,pr as Qe,qr as $e,qt as et,s as tt,ta as nt,ui as rt,vn as it,y as at,zt as ot}from"./settings-D4M13toi.js";import{Cn as st,Ft as ct,Gn as lt,Gt as ut,Hn as dt,I as ft,Kn as pt,Kt as mt,Pt as ht,Qt as gt,Tt as _t,Un as vt,Ut as yt,Vn as bt,W as xt,Wt as St,X as Ct,_n as wt,_t as Tt,at as Et,bt as G,ft as Dt,gt as Ot,in as kt,jt as At,kt as jt,q as Mt,rt as Nt,vt as Pt,w as Ft,wn as It,xt as Lt,y as Rt,yt as zt,z as Bt}from"./state-CXY-q5gr.js";import{$C as Vt,$_ as Ht,$a as Ut,$c as Wt,$h as Gt,$l as Kt,$p as qt,$s as Jt,$v as Yt,$x as Xt,A as Zt,AC as Qt,Aa as $t,Ac as en,Ag as tn,Ah as nn,As as rn,Au as an,Av as on,B as sn,B_ as cn,Ba as ln,Bg as un,Bh as K,Bm as dn,Bn as fn,Bt as pn,Bv as mn,By as hn,C as gn,Cc as _n,Cg as vn,Ch as yn,Ci as bn,Cl as xn,Cm as Sn,Cs as Cn,Cu as wn,Cv as q,Db as Tn,Dc as En,Di as Dn,Dv as J,Dy as On,Eb as kn,Ec as An,Eg as jn,Ei as Mn,Ev as Nn,FC as Pn,F_ as Fn,Fc as In,Fg as Ln,Fh as Rn,Fi as zn,Fp as Bn,Fv as Vn,Fx as Hn,GC as Un,GS as Wn,Gp as Gn,Gu as Kn,Gv as qn,Gx as Jn,Gy as Yn,H_ as Xn,Hg as Zn,Hh as Qn,Hm as $n,Hu as er,Hx as tr,Hy as nr,IC as rr,I_ as ir,Ic as ar,Ih as or,Ii as sr,In as cr,Ip as lr,Is as ur,Iv as dr,Ix as fr,J as pr,JC as mr,Jh as hr,Ji as gr,Jo as _r,Jp as vr,Js as yr,Jv as br,Jy as xr,K as Sr,KC as Cr,Kp as wr,Kr as Tr,Ku as Er,Kv as Dr,Kx as Or,Ky as kr,LC as Ar,Lc as jr,Lg as Mr,Lh as Nr,Li as Pr,Lr as Fr,Ls as Ir,Lx as Lr,MC as Rr,M_ as zr,Mc as Br,Mg as Vr,Mh as Hr,Mi as Ur,Ml as Wr,Mm as Gr,Ms as Kr,Mt as qr,Mu as Jr,Mv as Yr,NC as Xr,Nc as Zr,Nh as Qr,Ni as $r,Nl as ei,Nm as ti,Nn as ni,Np as ri,Nu as ii,Nv as ai,O as oi,OC as si,Oa as ci,Oc as li,Oh as ui,On as di,Oo as fi,PC as pi,P_ as mi,Pa as hi,Pc as gi,Pg as _i,Ph as vi,Pm as yi,Pn as bi,Pp as xi,Pu as Si,Pv as Ci,QC as wi,Qc as Ti,Qg as Ei,Ql as Di,Qo as Oi,Qp as ki,Qv as Ai,RC as ji,Ra as Mi,Rc as Ni,Rg as Pi,Rm as Fi,Rs as Ii,Ru as Li,Rv as Ri,Rx as zi,Sg as Bi,Sh as Vi,Sl as Hi,Sm as Ui,Sp as Wi,St as Gi,Su as Ki,Sv as qi,Sy as Ji,Tb as Yi,Tg as Xi,Ti as Zi,Tl as Qi,Tv as $i,U as ea,UC as ta,U_ as na,Ub as ra,Ug as ia,Uu as aa,Ux as oa,V as sa,Va as ca,Vg as la,Vh as ua,Vm as da,Vt as fa,Vu as pa,Vx as ma,Vy as ha,W as ga,WC as _a,W_ as va,Wb as ya,Wg as ba,Wn as xa,Wr as Sa,Wu as Ca,Wv as wa,X as Ta,XC as Ea,Xh as Da,Xr as Oa,Xs as ka,Xt as Aa,Xx as ja,Xy as Ma,Ya as Na,Yh as Pa,Yi as Fa,Yo as Ia,Yp as La,Yr as Ra,Yv as za,Z as Ba,ZC as Va,Zg as Ha,Zh as Ua,Zi as Wa,Zl as Ga,Zn as Ka,Zr as qa,Zs as Ja,Zv as Ya,Zx as Xa,_b as Za,_c as Qa,_h as $a,_l as eo,_m as to,_o as no,_p as ro,_r as io,_s as ao,_u as oo,_x as so,aC as co,ab as lo,ag as uo,ai as fo,al as po,ao as mo,as as ho,aw as go,ay as _o,b as vo,bb as yo,bc as bo,bh as xo,bo as So,bs as Co,bu as wo,bv as To,by as Eo,cC as Do,cb as Oo,cg as ko,cl as Ao,cm as jo,co as Mo,cw as No,cy as Po,dC as Fo,dS as Io,dd as Lo,dl as Ro,dm as zo,do as Bo,dv as Vo,dx as Ho,dy as Uo,eS as Wo,eb as Go,ec as Ko,ei as qo,el as Jo,em as Yo,er as Xo,es as Zo,eu as Qo,ew as $o,ey as es,fC as ts,fS as ns,fb as rs,fd as is,fh as as,fm as os,fr as ss,fu as cs,fv as ls,fx as us,ga as ds,gb as fs,gh as ps,gi as ms,gl as hs,gm as gs,gr as _s,gs as vs,gu as ys,hb as bs,hd as xs,hg as Ss,hh as Cs,hi as ws,hl as Ts,hm as Es,ho as Ds,hs as Os,hu as ks,ib as As,ig as js,io as Ms,iw as Ns,iy as Ps,jC as Fs,j_ as Is,jc as Ls,jg as Rs,jh as zs,ji as Bs,jm as Vs,jn as Hs,ju as Us,jv as Ws,k as Gs,kb as Ks,kh as qs,ko as Js,ks as Ys,kv as Xs,ky as Zs,lS as Qs,la as $s,lb as ec,ld as tc,lg as nc,ll as rc,lm as ic,lo as ac,lr as oc,lv as sc,lw as cc,ly as lc,md as uc,mg as dc,mm as fc,mn as pc,ms as mc,mu as hc,n_ as gc,nb as _c,nc as vc,nd as yc,ng as bc,nw as xc,ny as Sc,ob as Cc,od as wc,og as Tc,oi as Ec,on as Dc,oo as Oc,os as kc,ot as Ac,ow as jc,oy as Mc,pb as Nc,pd as Pc,pg as Fc,ph as Ic,pm as Lc,ps as Rc,pu as zc,px as Bc,py as Vc,q as Hc,qC as Uc,qh as Wc,qo as Gc,qp as Kc,qs as qc,qt as Jc,qv as Yc,rb as Xc,rg as Zc,rw as Qc,ry as $c,sC as el,sb as tl,sd as nl,sg as rl,sl as il,sm as al,so as ol,st as sl,sv as cl,t_ as ll,tb as ul,tc as dl,td as fl,tg as pl,tm as ml,ts as hl,ty as gl,uS as _l,ub as vl,ug as yl,ul as bl,uo as xl,uu as Sl,uy as Cl,vS as wl,vb as Tl,vc as El,vg as Dl,vh as Ol,vl as kl,vp as Al,vs as jl,vu as Ml,vx as Nl,wb as Pl,wg as Fl,wh as Il,wl as Ll,wm as Rl,wv as zl,xh as Bl,xo as Vl,xp as Hl,xr as Ul,xs as Wl,xv as Gl,xy as Kl,yS as ql,yb as Jl,yc as Yl,yg as Xl,yh as Zl,yl as Ql,yr as $l,ys as eu,yt as tu,yu as nu,yv as ru,yx as iu,yy as au,zc as ou,zh as Y,zm as su,zs as cu,zu as lu,zv as uu,zy as du}from"./loadAgentsDir-uuZYOgKn.js";import{n as fu,t as pu}from"./cwd-DrEEb4f5.js";import{$ as mu,C as hu,E as gu,H as _u,I as vu,M as yu,R as bu,S as xu,V as Su,Y as Cu,c as X,et as wu,f as Tu,g as Eu,i as Du,u as Ou,x as ku}from"./debug-2pVES-2G.js";import{d as Au,h as ju,o as Mu,t as Nu}from"./config-BDn2YIjC.js";import{B as Pu,F as Fu,H as Iu,L as Lu,R as Ru,j as zu,o as Bu,q as Vu,s as Hu}from"./log-L1kqxa_P.js";import{i as Uu,t as Wu}from"./execFileNoThrow-DXSEj8ZO.js";import{c as Gu,i as Ku,n as qu,o as Ju,s as Yu,t as Xu}from"./bundledMode-D9omqD3L.js";import{n as Zu}from"./analytics-COpjZpvd.js";import{n as Qu,o as $u,s as ed,t as td}from"./intl-D2kgJmX7.js";import{S as nd,_ as rd,d as id,g as ad,l as od,u as sd}from"./startupProfiler-B9Qv2QGH.js";import{a as cd,d as ld,l as ud,o as dd,r as fd}from"./stringUtils-Cs6E5f-B.js";import{$ as pd,At as md,S as hd,at as gd,b as _d,et as vd,f as yd,g as bd,h as xd,jt as Sd,l as Cd,s as wd,u as Td}from"./model-CcHyMyBv.js";import{Ct as Ed,Rt as Dd,dn as Od,fn as kd,in as Ad,ln as jd,pn as Md,rn as Nd,tt as Pd,wt as Fd,zt as Id}from"./prompt-BfXryFt-.js";import{i as Ld,r as Rd}from"./projectOnboardingState-nTCycGCD.js";import{a as zd,l as Bd}from"./sleep-xKMbXTJe.js";import{a as Vd}from"./ripgrep-67m14ImZ.js";import{a as Hd}from"./loader-BMAtuwRa.js";import{n as Ud,r as Wd}from"./switcher-DSt2cVjA.js";import{B as Gd,L as Kd,c as qd,r as Jd}from"./sessionTracing-DsdcOqvc.js";import{i as Yd,n as Xd,r as Zd}from"./parser-CTnaXFVJ.js";import{n as Qd,t as $d}from"./poorMode-CG2JNTD0.js";import{n as ef,t as tf}from"./notifications-GLnjirCl.js";import{t as nf}from"./useManagePlugins-CxHz-gUP.js";import{t as rf}from"./KeybindingProviderSetup-Dzg77_Xn.js";import{n as af,t as of}from"./MCPConnectionManager-CBY8nqdU.js";import{n as sf,t as cf}from"./toolPool-DSTbgGmX.js";import{t as lf}from"./conversationRecovery-NL05oJb1.js";import{a as uf,i as df,o as ff,r as pf,t as mf}from"./MessageSelector-Dw_ERK_Z.js";import{t as hf}from"./useDoublePress-zA5QwIpO.js";import{n as gf,t as _f}from"./useExitOnCtrlCDWithKeybindings-ClN4NJnB.js";import{C as vf,D as yf,E as bf,O as xf,S as Sf,T as Cf,a as wf,c as Tf,d as Ef,f as Df,i as Of,l as kf,m as Af,n as jf,o as Mf,p as Nf,r as Pf,s as Ff,t as If,w as Lf,x as Rf}from"./TextInput-ZKU-x_FD.js";import{n as zf,t as Bf}from"./select-BuTJbu_Q.js";import{i as Vf,n as Hf}from"./terminalSetup-DedaY1P7.js";import{a as Uf,c as Wf,i as Gf,l as Kf,n as qf,o as Jf,r as Yf,s as Xf,t as Zf,u as Qf}from"./history-CUrqO9rV.js";import{i as $f,n as ep,r as tp,t as np}from"./overlayContext-7wgLio1O.js";import{a as rp,c as ip,d as ap,f as op,i as sp,l as cp,n as lp,o as up,r as dp,s as fp,u as pp}from"./Spinner-DOI8qqZi.js";import{l as mp,u as hp}from"./SpinnerGlyph-BR_SiV9L.js";import{n as gp,r as _p}from"./sessionTitle-k4wpUS5l.js";import{n as vp,t as yp}from"./sideQuestion-CdgUarC2.js";import{a as bp,n as xp,o as Sp,r as Cp,s as wp,t as Tp}from"./skillChangeDetector-CVFCJcG7.js";import{n as Ep,t as Dp}from"./reconciler-B9XFdL4f.js";import{n as Op,t as kp}from"./refresh-CBHbWTGg.js";import{i as Ap,n as jp,r as Mp,t as Np}from"./directoryCompletion-BC0qRmrz.js";import{r as Pp,t as Fp}from"./PromptInputFooterSuggestions-ChpyD9B7.js";import{n as Ip,t as Lp}from"./useMergedTools-BUuWew0-.js";import{a as Rp,i as zp,n as Bp,o as Vp,r as Hp,t as Up}from"./promptEditor-14TB3MYt.js";import{n as Wp,t as Gp}from"./useMainLoopModel-Bgxpmn2Q.js";import{a as Kp,i as qp,o as Jp,r as Yp,s as Xp,t as Zp}from"./fileSuggestions-BYD78vcF.js";import{E as Qp,T as $p,g as em,m as tm}from"./pidLock-CFUBtZck.js";import{n as nm,t as rm}from"./nativeInstaller-CIUYh1aD.js";import{n as im,t as am}from"./CustomSelect-CYmc4vRh.js";import{i as om,n as sm,r as cm,t as lm}from"./extraUsage-Dr0YXm1w.js";import{n as um,t as dm}from"./useSearchInput-BIQN_-Hm.js";import{n as fm,t as pm}from"./staticRender-Bt82RvGc.js";import{n as mm,t as hm}from"./useSettingsErrors-BDJCLei_.js";import{n as gm,t as _m}from"./shadowedRuleDetection-DiZUDzxU.js";import{n as vm,t as ym}from"./ExitFlow-CATwJC4c.js";import{a as bm,i as xm,r as Sm,t as Cm}from"./fast-C5-lNCQi.js";import{i as wm,n as Tm,r as Em,t as Dm}from"./PermissionDialog-DjCRuzSm.js";import{a as Om,i as km,n as Am,r as jm,t as Mm}from"./PromptInputHelpMenu-CrTT8MKE.js";import{n as Nm,r as Pm}from"./pluginAutoupdate-CNrHb4RJ.js";import{n as Fm,t as Im}from"./generateSessionName-CO2484aJ.js";import{a as Lm,c as Rm,i as zm,l as Bm,n as Vm,o as Hm,r as Um,s as Wm,t as Gm}from"./Messages-RBfRELKn.js";import{a as Km,i as qm,n as Jm,o as Ym,r as Xm,t as Zm}from"./BackgroundTasksDialog-CBhSmdz_.js";import{n as Qm}from"./fpsMetrics-DIpm2-xw.js";import{a as $m,i as eh,n as th,r as nh,t as rh}from"./tipRegistry-Cl5sdLRX.js";import{t as ih}from"./earlyInput-IghoCjG5.js";import{t as ah}from"./backgroundHousekeeping-BtEJ6TeC.js";import{homedir as oh,tmpdir as sh}from"os";import{basename as ch,dirname as lh,extname as uh,join as dh,relative as fh,sep as ph}from"path";import{dirname as mh,join as hh}from"node:path";import{createHash as gh}from"node:crypto";import{randomUUID as _h}from"crypto";import{writeFile as vh}from"fs/promises";import{spawn as yh,spawnSync as bh}from"child_process";import{mkdir as xh,readFile as Sh,rename as Ch,writeFile as wh}from"node:fs/promises";function Th(e){return Array.isArray?Array.isArray(e):Fh(e)===`[object Array]`}function Eh(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 Dh(e){return e==null?``:Eh(e)}function Oh(e){return typeof e==`string`}function kh(e){return typeof e==`number`}function Ah(e){return e===!0||e===!1||Mh(e)&&Fh(e)==`[object Boolean]`}function jh(e){return typeof e==`object`}function Mh(e){return jh(e)&&e!==null}function Nh(e){return e!=null}function Ph(e){return!e.trim().length}function Fh(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}function Ih(e){let t=null,n=null,r=null,i=1,a=null;if(Oh(e)||Th(e))r=e,t=Lh(e),n=Rh(e);else{if(!bg.call(e,`name`))throw Error(_g(`name`));let o=e.name;if(r=o,bg.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(vg(Rh(o)));t=Lh(o),n=Rh(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Lh(e){return Th(e)?e:e.split(`.`)}function Rh(e){return Th(e)?e.join(`.`):e}function zh(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(Nh(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!Nh(s))return;if(a===t.length-1&&(Oh(s)||kh(s)||Ah(s)||typeof s==`bigint`))n.push(o===void 0?Dh(s):{v:Dh(s),i:o});else if(Th(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,Oh(t)?t.split(`.`):t,0),r?n:n[0]}function Bh(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 Vh(e,t,{getFn:n=Z.getFn,fieldNormWeight:r=Z.fieldNormWeight}={}){let i=new Eg({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Ih)),i.setSources(t),i.create(),i}function Hh(e,{getFn:t=Z.getFn,fieldNormWeight:n=Z.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Eg({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Uh(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 Wh(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(gg(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=Uh(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function Gh(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 Kh(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 qh(e){return e.startsWith(`inverse`)}function Jh(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 Yh(e,t){let n=e.match(t);return n?n[1]:null}function Xh(e,t={}){return e.replace(/\\\|/g,Pg).split(Fg).map(e=>{let n=Jh(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<Ng;){let e=Mg[o],n=Yh(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ng;){let e=Mg[o],n=Yh(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}function Zh(...e){Lg.push(...e)}function Qh(e,t){for(let n=0,r=Lg.length;n<r;n+=1){let r=Lg[n];if(r.condition(e,t))return new r(e,t)}return new Ag(e,t)}function $h(e,t,{auto:n=!0}={}){let r=e=>{if(Oh(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Qh(e,t)),r}let i=Object.keys(e),a=Vg(e);if(!a&&i.length>1&&!Bg(e))return r(Ug(e));if(Hg(e)){let r=a?e[zg.PATH]:i[0],o=a?e[zg.PATTERN]:e[r];if(!Oh(o))throw Error(hg(r));let s={keyId:Rh(r),pattern:o};return n&&(s.searcher=Qh(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];Th(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Bg(e)||(e=Ug(e)),r(e)}function eg(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 tg(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){e.forEach(e=>{e.score=eg(e.matches,{ignoreFieldNorm:t})})}function ng(e){let t=[];return e.matches.forEach(e=>{if(!Nh(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 rg(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=ng(e)),r&&(a.score=e.score),a})}function ig(e){Kg.has(e)||(Kg.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 ag(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||ig(e),t=>t.match(e)||[]):e=>e.match(Gg)||[]}function og({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=ag(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=kg(n)),r(n)}}}function sg(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 cg(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){sg(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)sg(e,t.v,i,r);else sg(e,n.v,i,r)}}function lg(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)cg(r,i,t,n);return r}function ug(e,t,n,r){cg(e,t,n,r)}function dg(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 fg(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)dg(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 pg,mg,hg,gg,_g,vg,yg,bg,xg,Sg,Cg,wg,Tg,Z,Eg,Dg,Og,kg,Ag,jg,Mg,Ng,Pg,Fg,Ig,Lg,Rg,zg,Bg,Vg,Hg,Ug,Wg,Gg,Kg,qg,Jg,Yg,Xg=t((()=>{pg=`Incorrect 'index' type`,mg=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,hg=e=>`Invalid value for key ${e}`,gg=e=>`Pattern length exceeds max of ${e}.`,_g=e=>`Missing ${e} property in key`,vg=e=>`Property 'weight' in key '${e}' must be a positive integer`,yg=`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.`,bg=Object.prototype.hasOwnProperty,xg=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Ih(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)}},Sg={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Cg={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},wg={location:0,threshold:.6,distance:100},Tg={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:zh,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Z=Object.freeze({...Cg,...Sg,...wg,...Tg}),Eg=class{constructor({getFn:e=Z.getFn,fieldNormWeight:t=Z.fieldNormWeight}={}){this.norm=Bh(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(Oh(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(mg);if(Oh(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(mg);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!Nh(e)||Ph(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(Nh(i)){if(Th(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(Nh(n)){if(Oh(n)){if(!Ph(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(Nh(n.v)){let t=Oh(n.v)?n.v:Dh(n.v);if(!Ph(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(Oh(i)&&!Ph(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}}},Dg={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Og=RegExp(`[`+Object.keys(Dg).join(``)+`]`,`g`),kg=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(Og,e=>Dg[e]):e=>e,Ag=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?kg(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Gh(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?kg(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}=Wh(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=Kh(u)),p}},jg=new Set([`fuzzy`,`include`]),Mg=[{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 Ag(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)}}}}],Ng=Mg.length,Pg=`\0`,Fg=`|`,Ig=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?kg(e):e,this.pattern=e,this.query=Xh(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?kg(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,qh(r.type)&&(c=!0),n&&(jg.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=Kh(o)),e}}return{isMatch:!1,score:1}}},Lg=[],Rg={AND:`$and`,OR:`$or`},zg={PATH:`$path`,PATTERN:`$val`},Bg=e=>!!(e[Rg.AND]||e[Rg.OR]),Vg=e=>!!e[zg.PATH],Hg=e=>!Th(e)&&jh(e)&&!Bg(e),Ug=e=>({[Rg.AND]:Object.keys(e).map(t=>({[t]:e[t]}))}),Wg=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)}},Gg=/[\p{L}\p{M}\p{N}_]+/gu,Kg=new WeakSet,qg=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=og({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 Ag(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=Kh(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}},Jg=class{constructor(e,t,n){this.options={...Z,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new xg(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=Qh(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 Eg))throw Error(pg);if(this._myIndex=t||Vh(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=og({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=lg(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!Nh(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=og({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});ug(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&&fg(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(mg);this._invertedIndex&&fg(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(Oh(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return kh(n)&&n>-1&&(e=e.slice(0,n)),e}let c=kh(n)&&n>0&&Oh(e),l;if(c){let t=new Wg(n);Oh(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=Oh(e)?Oh(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),tg(l,{ignoreFieldNorm:s}),a&&l.sort(o),kh(n)&&n>-1&&(l=l.slice(0,n));return rg(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(!Nh(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=eg(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=$h(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===Rg.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(Nh(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(!Nh(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=eg(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!Nh(t))return[];let r=[];if(Th(t))t.forEach(({v:t,i,n:a})=>{if(!Nh(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}},Jg.version=`7.4.2`,Jg.createIndex=Vh,Jg.parseIndex=Hh,Jg.config=Z,Jg.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(yg);return Qh(e,{...Z,...n}).searchIn(t)},Jg.parseQuery=$h,Zh(Ig),Zh(qg),Jg.use=function(...e){e.forEach(e=>Zh(e))},Yg=Jg}));o(),le(),c(),V(),pt(),ht(),pe(),$u(),tl(),dl(),Ef(),dm();var Q=n(P(),1);_(),Vm(),As(),zd(),Y(),pm();var $=de();function Zg({children:e}){let{bindings:t}=Bd(),n=(0,Q.useRef)(null),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(new Set).current;return(0,$.jsx)(v,{bindings:t,pendingChordRef:n,pendingChord:null,setPendingChord:()=>{},activeContexts:i,registerActiveContext:()=>{},unregisterActiveContext:()=>{},handlerRegistryRef:r,children:e})}function Qg(e){if(!(`message`in e))return 1;let t=e.message.content;return Array.isArray(t)?t.length:1}async function $g(e,t,n,{columns:r,verbose:i=!1,chunkSize:a=40,onProgress:o}={}){let s=n=>fm((0,$.jsx)(Nr,{children:(0,$.jsx)(Zg,{children:(0,$.jsx)(Gm,{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+=Qg(t);for(let e=0;e<c;e+=a){let t=await s([e,e+a]);if(se(t).trim()===``)break;await n(t),o?.(e+a)}}async function e_(e,t=[],n){let r=[];return await $g(e,t,e=>void r.push(se(e)),{columns:n}),r.join(``)}a(),R(),we(),fu(),mu(),_u(),vu(),ku(),Tu(),Du(),rt(),Vu(),Bu(),Uu(),Re(),Yu(),$e(),Ju(),Qe(),Zu(),Le(),be(),it(),rd(),Ye(),me(),Xu(),Ie(),De(),qe(),Ce(),dd(),Je(),Au(),Md(),gd(),yd(),Ad(),No(),_a(),Qt(),Fo(),Vd(),el(),Kd(),iu(),us(),ra(),Tn(),Pl(),yo(),Za(),Nc(),ec(),Oo(),_c(),ul(),Ma(),hn(),Id(),Zs(),Ji(),au(),Uo(),Mc(),$c(),gl(),Fd(),Pd(),Yt(),Yc(),qn(),mn(),on(),To(),Vo(),Ht(),va(),cn(),ir(),ll(),Ha(),Zd(),ia(),Mr(),Vr(),jn(),Fl(),Dl(),Ss(),ko(),uo(),hr(),Rn(),zs(),nn(),$n(),su(),yi(),Gr(),Sn(),to(),Es(),zo(),al(),Yo(),ki(),vr(),Pc(),Lo(),Kn(),ii(),Us(),Qo(),Di(),Qi(),xn(),kl(),hs(),ou(),En(),qd(),Qa(),ka(),qc(),Ii(),rn(),Cn(),eu(),Rc(),ho(),hl(),fi(),Vl(),xl(),Na(),ln(),hi(),ci(),gr(),Pr(),Ur(),ms(),_s(),Hs(),pc(),Ta(),Hc(),ea(),sa(),vo(),Rp(),am();function t_({onDone:e}){return(0,$.jsxs)(ue,{title:`You've spent $5 on the API this session.`,onCancel:e,children:[(0,$.jsxs)(g,{flexDirection:`column`,children:[(0,$.jsx)(b,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(y,{url:`https://code.workmate.com/docs/en/costs`})]}),(0,$.jsx)(Bf,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}zf(),V(),am();function n_({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(ue,{title:`You've been away ${r_(e)} and this conversation is ${ad(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(g,{flexDirection:`column`,children:(0,$.jsx)(b,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(Bf,{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 r_(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`}tf();async function i_(e,t){let n=Mu().preferredNotifChannel;await pn(e),await o_(n,e,t),et.terminal}var a_=`Work Mate`;async function o_(e,t,n){let r=t.title||a_;try{switch(e){case`auto`:return s_(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:c_()}),`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 s_(e,t){let n=e.title||a_;switch(et.terminal){case`Apple_Terminal`:return await l_()?(t.notifyBell(),`terminal_bell`):`no_method_available`;case`iTerm.app`:return t.notifyITerm2(e),`iterm2`;case`kitty`:return t.notifyKitty({...e,title:n,id:c_()}),`kitty`;case`ghostty`:return t.notifyGhostty({...e,title:n}),`ghostty`;default:return`no_method_available`}}function c_(){return Math.floor(Math.random()*1e4)}async function l_(){try{if(et.terminal!==`Apple_Terminal`)return!1;let e=(await Wu(`osascript`,[`-e`,`tell application "Terminal" to name of current settings of front window`])).stdout.trim();if(!e)return!1;let t=await Wu(`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 Hu(e),!1}}var u_=300,d_=240*1e3,f_=null,p_=null,m_=0,h_=!1;function g_(){m_++,m_===1&&(x_(),y_())}function __(){m_>0&&m_--,m_===0&&(b_(),S_())}function v_(){m_=0,b_(),S_()}function y_(){process.platform===`darwin`&&p_===null&&(p_=setInterval(()=>{m_>0&&(X(`Restarting caffeinate to maintain sleep prevention`),S_(),x_())},d_),p_.unref())}function b_(){p_!==null&&(clearInterval(p_),p_=null)}function x_(){if(process.platform===`darwin`&&f_===null){h_||(h_=!0,wu(async()=>{v_()}));try{f_=yh(`caffeinate`,[`-i`,`-t`,String(u_)],{stdio:`ignore`}),f_.unref();let e=f_;f_.on(`error`,t=>{X(`caffeinate spawn error: ${t.message}`),f_===e&&(f_=null)}),f_.on(`exit`,()=>{f_===e&&(f_=null)}),X(`Started caffeinate to prevent sleep`)}catch{f_=null}}}function S_(){if(f_!==null){let e=f_;f_=null;try{e.kill(`SIGKILL`),X(`Stopped caffeinate, allowing sleep`)}catch{}}}var C_=class{constructor(){s(this,`_status`,`idle`),s(this,`_generation`,0),s(this,`_changed`,lt()),s(this,`subscribe`,this._changed.subscribe),s(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 w_(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(Sa(f,{},p,e).then(e=>{m===a.current&&e&&!l&&(r.current=e)}),l||c||u){let t=fn(f,e).findLast(io);t&&(r.current=t.uuid)}n.current=e.length,i.current=o},[e,t])}_f(),op(),pp(),up(),dp(),pf(),V();var T_=6e3;function E_(){return Date.now()-Bt()}function D_(e){return E_()<e}function O_(e){return!D_(e)}function k_(e,t){let n=x();(0,Q.useEffect)(()=>{vt(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{O_(6e3)&&!r&&(r=!0,clearInterval(i),i_({message:e,notificationType:t},n))},T_);return()=>clearInterval(i)},[e,t,n])}Rd(),Cc(),nr(),Li(),ar(),Zr(),en(),hf(),xf(),Cf(),vf(),Vf(),Xf(),Ff(),Of(),jf(),Hp(),wm(),V(),Yn();var A_={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function j_(e){return or().syntaxHighlightingDisabled?(0,$.jsx)(N_,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(N_,{...e,highlight:null}),children:(0,$.jsx)(M_,{...e})})}function M_(e){let t=(0,Q.use)(ui());return(0,$.jsx)(N_,{...e,highlight:t})}function N_({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=ae(),[s]=h(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>is(e,s,a),[e,s,a]).split(`
|
|
1
|
+
import{a as e,n as t,o as n}from"./rolldown-runtime-DaDcL9Zw.js";import{i as r,l as i,o as a}from"./envUtils-QyzA_cFM.js";import{n as o,t as s}from"./defineProperty-C-QyHrDq.js";import{n as c,t as l}from"./figures-5ThXQEtq.js";import{C as u,D as d,Ft as f,Gr as p,Gt as m,H as h,I as g,Kr as _,Kt as v,Lt as y,P as b,Pn as x,Rn as S,T as C,Tt as w,Vn as T,Wt as E,Xn as D,Xt as O,Y as k,Yt as A,Z as j,Zn as M,_n as N,ai as P,bn as F,ct as ee,di as I,dr as L,et as te,fi as R,hn as ne,ir as z,j as re,lr as ie,lt as B,ot as ae,q as oe,qr as se,t as V,tr as ce,vn as le,x as H,y as ue,yn as U,yt as W}from"./src-BX54x08P.js";import{t as de}from"./jsx-runtime-Bb4Xn-E0.js";import{$i as fe,$n as pe,$t as me,B as he,Br as ge,Bt as _e,Ft as ve,Ii as ye,In as be,Jn as xe,Jt as Se,L as Ce,Ni as we,Nn as Te,Nt as Ee,Pt as De,Qn as Oe,Ri as ke,Ur as Ae,Vi as je,Vr as Me,Vt as Ne,Xn as Pe,Xr as Fe,Xt as Ie,Yn as Le,Yr as Re,bn as ze,d as Be,di as Ve,dn as He,dr as Ue,en as We,er as Ge,fr as Ke,gt as qe,m as Je,mn as Ye,oa as Xe,ot as Ze,pr as Qe,qr as $e,qt as et,s as tt,ta as nt,ui as rt,vn as it,y as at,zt as ot}from"./settings-D4M13toi.js";import{Cn as st,Ft as ct,Gn as lt,Gt as ut,Hn as dt,I as ft,Kn as pt,Kt as mt,Pt as ht,Qt as gt,Tt as _t,Un as vt,Ut as yt,Vn as bt,W as xt,Wt as St,X as Ct,_n as wt,_t as Tt,at as Et,bt as G,ft as Dt,gt as Ot,in as kt,jt as At,kt as jt,q as Mt,rt as Nt,vt as Pt,w as Ft,wn as It,xt as Lt,y as Rt,yt as zt,z as Bt}from"./state-CXY-q5gr.js";import{$C as Vt,$_ as Ht,$a as Ut,$c as Wt,$h as Gt,$l as Kt,$p as qt,$s as Jt,$v as Yt,$x as Xt,A as Zt,AC as Qt,Aa as $t,Ac as en,Ag as tn,Ah as nn,As as rn,Au as an,Av as on,B as sn,B_ as cn,Ba as ln,Bg as un,Bh as K,Bm as dn,Bn as fn,Bt as pn,Bv as mn,By as hn,C as gn,Cc as _n,Cg as vn,Ch as yn,Ci as bn,Cl as xn,Cm as Sn,Cs as Cn,Cu as wn,Cv as q,Db as Tn,Dc as En,Di as Dn,Dv as J,Dy as On,Eb as kn,Ec as An,Eg as jn,Ei as Mn,Ev as Nn,FC as Pn,F_ as Fn,Fc as In,Fg as Ln,Fh as Rn,Fi as zn,Fp as Bn,Fv as Vn,Fx as Hn,GC as Un,GS as Wn,Gp as Gn,Gu as Kn,Gv as qn,Gx as Jn,Gy as Yn,H_ as Xn,Hg as Zn,Hh as Qn,Hm as $n,Hu as er,Hx as tr,Hy as nr,IC as rr,I_ as ir,Ic as ar,Ih as or,Ii as sr,In as cr,Ip as lr,Is as ur,Iv as dr,Ix as fr,J as pr,JC as mr,Jh as hr,Ji as gr,Jo as _r,Jp as vr,Js as yr,Jv as br,Jy as xr,K as Sr,KC as Cr,Kp as wr,Kr as Tr,Ku as Er,Kv as Dr,Kx as Or,Ky as kr,LC as Ar,Lc as jr,Lg as Mr,Lh as Nr,Li as Pr,Lr as Fr,Ls as Ir,Lx as Lr,MC as Rr,M_ as zr,Mc as Br,Mg as Vr,Mh as Hr,Mi as Ur,Ml as Wr,Mm as Gr,Ms as Kr,Mt as qr,Mu as Jr,Mv as Yr,NC as Xr,Nc as Zr,Nh as Qr,Ni as $r,Nl as ei,Nm as ti,Nn as ni,Np as ri,Nu as ii,Nv as ai,O as oi,OC as si,Oa as ci,Oc as li,Oh as ui,On as di,Oo as fi,PC as pi,P_ as mi,Pa as hi,Pc as gi,Pg as _i,Ph as vi,Pm as yi,Pn as bi,Pp as xi,Pu as Si,Pv as Ci,QC as wi,Qc as Ti,Qg as Ei,Ql as Di,Qo as Oi,Qp as ki,Qv as Ai,RC as ji,Ra as Mi,Rc as Ni,Rg as Pi,Rm as Fi,Rs as Ii,Ru as Li,Rv as Ri,Rx as zi,Sg as Bi,Sh as Vi,Sl as Hi,Sm as Ui,Sp as Wi,St as Gi,Su as Ki,Sv as qi,Sy as Ji,Tb as Yi,Tg as Xi,Ti as Zi,Tl as Qi,Tv as $i,U as ea,UC as ta,U_ as na,Ub as ra,Ug as ia,Uu as aa,Ux as oa,V as sa,Va as ca,Vg as la,Vh as ua,Vm as da,Vt as fa,Vu as pa,Vx as ma,Vy as ha,W as ga,WC as _a,W_ as va,Wb as ya,Wg as ba,Wn as xa,Wr as Sa,Wu as Ca,Wv as wa,X as Ta,XC as Ea,Xh as Da,Xr as Oa,Xs as ka,Xt as Aa,Xx as ja,Xy as Ma,Ya as Na,Yh as Pa,Yi as Fa,Yo as Ia,Yp as La,Yr as Ra,Yv as za,Z as Ba,ZC as Va,Zg as Ha,Zh as Ua,Zi as Wa,Zl as Ga,Zn as Ka,Zr as qa,Zs as Ja,Zv as Ya,Zx as Xa,_b as Za,_c as Qa,_h as $a,_l as eo,_m as to,_o as no,_p as ro,_r as io,_s as ao,_u as oo,_x as so,aC as co,ab as lo,ag as uo,ai as fo,al as po,ao as mo,as as ho,aw as go,ay as _o,b as vo,bb as yo,bc as bo,bh as xo,bo as So,bs as Co,bu as wo,bv as To,by as Eo,cC as Do,cb as Oo,cg as ko,cl as Ao,cm as jo,co as Mo,cw as No,cy as Po,dC as Fo,dS as Io,dd as Lo,dl as Ro,dm as zo,do as Bo,dv as Vo,dx as Ho,dy as Uo,eS as Wo,eb as Go,ec as Ko,ei as qo,el as Jo,em as Yo,er as Xo,es as Zo,eu as Qo,ew as $o,ey as es,fC as ts,fS as ns,fb as rs,fd as is,fh as as,fm as os,fr as ss,fu as cs,fv as ls,fx as us,ga as ds,gb as fs,gh as ps,gi as ms,gl as hs,gm as gs,gr as _s,gs as vs,gu as ys,hb as bs,hd as xs,hg as Ss,hh as Cs,hi as ws,hl as Ts,hm as Es,ho as Ds,hs as Os,hu as ks,ib as As,ig as js,io as Ms,iw as Ns,iy as Ps,jC as Fs,j_ as Is,jc as Ls,jg as Rs,jh as zs,ji as Bs,jm as Vs,jn as Hs,ju as Us,jv as Ws,k as Gs,kb as Ks,kh as qs,ko as Js,ks as Ys,kv as Xs,ky as Zs,lS as Qs,la as $s,lb as ec,ld as tc,lg as nc,ll as rc,lm as ic,lo as ac,lr as oc,lv as sc,lw as cc,ly as lc,md as uc,mg as dc,mm as fc,mn as pc,ms as mc,mu as hc,n_ as gc,nb as _c,nc as vc,nd as yc,ng as bc,nw as xc,ny as Sc,ob as Cc,od as wc,og as Tc,oi as Ec,on as Dc,oo as Oc,os as kc,ot as Ac,ow as jc,oy as Mc,pb as Nc,pd as Pc,pg as Fc,ph as Ic,pm as Lc,ps as Rc,pu as zc,px as Bc,py as Vc,q as Hc,qC as Uc,qh as Wc,qo as Gc,qp as Kc,qs as qc,qt as Jc,qv as Yc,rb as Xc,rg as Zc,rw as Qc,ry as $c,sC as el,sb as tl,sd as nl,sg as rl,sl as il,sm as al,so as ol,st as sl,sv as cl,t_ as ll,tb as ul,tc as dl,td as fl,tg as pl,tm as ml,ts as hl,ty as gl,uS as _l,ub as vl,ug as yl,ul as bl,uo as xl,uu as Sl,uy as Cl,vS as wl,vb as Tl,vc as El,vg as Dl,vh as Ol,vl as kl,vp as Al,vs as jl,vu as Ml,vx as Nl,wb as Pl,wg as Fl,wh as Il,wl as Ll,wm as Rl,wv as zl,xh as Bl,xo as Vl,xp as Hl,xr as Ul,xs as Wl,xv as Gl,xy as Kl,yS as ql,yb as Jl,yc as Yl,yg as Xl,yh as Zl,yl as Ql,yr as $l,ys as eu,yt as tu,yu as nu,yv as ru,yx as iu,yy as au,zc as ou,zh as Y,zm as su,zs as cu,zu as lu,zv as uu,zy as du}from"./loadAgentsDir-bmpKLPdG.js";import{n as fu,t as pu}from"./cwd-DrEEb4f5.js";import{$ as mu,C as hu,E as gu,H as _u,I as vu,M as yu,R as bu,S as xu,V as Su,Y as Cu,c as X,et as wu,f as Tu,g as Eu,i as Du,u as Ou,x as ku}from"./debug-2pVES-2G.js";import{d as Au,h as ju,o as Mu,t as Nu}from"./config-Bio2EjUK.js";import{B as Pu,F as Fu,H as Iu,L as Lu,R as Ru,j as zu,o as Bu,q as Vu,s as Hu}from"./log-L1kqxa_P.js";import{i as Uu,t as Wu}from"./execFileNoThrow-DXSEj8ZO.js";import{c as Gu,i as Ku,n as qu,o as Ju,s as Yu,t as Xu}from"./bundledMode-D9omqD3L.js";import{n as Zu}from"./analytics-COpjZpvd.js";import{n as Qu,o as $u,s as ed,t as td}from"./intl-D2kgJmX7.js";import{S as nd,_ as rd,d as id,g as ad,l as od,u as sd}from"./startupProfiler-B9Qv2QGH.js";import{a as cd,d as ld,l as ud,o as dd,r as fd}from"./stringUtils-Cs6E5f-B.js";import{$ as pd,At as md,S as hd,at as gd,b as _d,et as vd,f as yd,g as bd,h as xd,jt as Sd,l as Cd,s as wd,u as Td}from"./model-Dd3x121y.js";import{Ct as Ed,Rt as Dd,dn as Od,fn as kd,in as Ad,ln as jd,pn as Md,rn as Nd,tt as Pd,wt as Fd,zt as Id}from"./prompt-BnDapYGL.js";import{i as Ld,r as Rd}from"./projectOnboardingState-D-_ijZnG.js";import{a as zd,l as Bd}from"./sleep-xKMbXTJe.js";import{a as Vd}from"./ripgrep-67m14ImZ.js";import{a as Hd}from"./loader-BMAtuwRa.js";import{n as Ud,r as Wd}from"./switcher-rep86o4_.js";import{B as Gd,L as Kd,c as qd,r as Jd}from"./sessionTracing-5a7HDF4e.js";import{i as Yd,n as Xd,r as Zd}from"./parser-CTnaXFVJ.js";import{n as Qd,t as $d}from"./poorMode-CG2JNTD0.js";import{n as ef,t as tf}from"./notifications-BwS1XsnZ.js";import{t as nf}from"./useManagePlugins-pGaGzsEg.js";import{t as rf}from"./KeybindingProviderSetup-syiDgtpB.js";import{n as af,t as of}from"./MCPConnectionManager-C7RmKzJh.js";import{n as sf,t as cf}from"./toolPool-BGfiNj6h.js";import{t as lf}from"./conversationRecovery-_hWC7JBO.js";import{a as uf,i as df,o as ff,r as pf,t as mf}from"./MessageSelector-Kc6JlnDX.js";import{t as hf}from"./useDoublePress-zA5QwIpO.js";import{n as gf,t as _f}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{C as vf,D as yf,E as bf,O as xf,S as Sf,T as Cf,a as wf,c as Tf,d as Ef,f as Df,i as Of,l as kf,m as Af,n as jf,o as Mf,p as Nf,r as Pf,s as Ff,t as If,w as Lf,x as Rf}from"./TextInput-ou7ZhpVY.js";import{n as zf,t as Bf}from"./select-CaxQ-BVq.js";import{i as Vf,n as Hf}from"./terminalSetup-xe_P98fY.js";import{a as Uf,c as Wf,i as Gf,l as Kf,n as qf,o as Jf,r as Yf,s as Xf,t as Zf,u as Qf}from"./history-CUrqO9rV.js";import{i as $f,n as ep,r as tp,t as np}from"./overlayContext-C5WPACKC.js";import{a as rp,c as ip,d as ap,f as op,i as sp,l as cp,n as lp,o as up,r as dp,s as fp,u as pp}from"./Spinner-C0qHjfIY.js";import{l as mp,u as hp}from"./SpinnerGlyph-BR_SiV9L.js";import{n as gp,r as _p}from"./sessionTitle-k4wpUS5l.js";import{n as vp,t as yp}from"./sideQuestion-BJTVma-5.js";import{a as bp,n as xp,o as Sp,r as Cp,s as wp,t as Tp}from"./skillChangeDetector-DlodgOyC.js";import{n as Ep,t as Dp}from"./reconciler-C_HKsocm.js";import{n as Op,t as kp}from"./refresh-Cm4jZzLa.js";import{i as Ap,n as jp,r as Mp,t as Np}from"./directoryCompletion-BC0qRmrz.js";import{r as Pp,t as Fp}from"./PromptInputFooterSuggestions-CHXJsTtQ.js";import{n as Ip,t as Lp}from"./useMergedTools-BLsIT3R_.js";import{a as Rp,i as zp,n as Bp,o as Vp,r as Hp,t as Up}from"./promptEditor-14TB3MYt.js";import{n as Wp,t as Gp}from"./useMainLoopModel-QuE7VkgX.js";import{a as Kp,i as qp,o as Jp,r as Yp,s as Xp,t as Zp}from"./fileSuggestions-DF3HTRKr.js";import{E as Qp,T as $p,g as em,m as tm}from"./pidLock-CqkC3-nD.js";import{n as nm,t as rm}from"./nativeInstaller-DMkZdsof.js";import{n as im,t as am}from"./CustomSelect-t4wXuXWH.js";import{i as om,n as sm,r as cm,t as lm}from"./extraUsage-CmgRR-zH.js";import{n as um,t as dm}from"./useSearchInput-j12K4wEo.js";import{n as fm,t as pm}from"./staticRender-Bt82RvGc.js";import{n as mm,t as hm}from"./useSettingsErrors-C8VIzdws.js";import{n as gm,t as _m}from"./shadowedRuleDetection-L3tnySui.js";import{n as vm,t as ym}from"./ExitFlow-CcMYH5iI.js";import{a as bm,i as xm,r as Sm,t as Cm}from"./fast-D7oNjaZ3.js";import{i as wm,n as Tm,r as Em,t as Dm}from"./PermissionDialog-DjCRuzSm.js";import{a as Om,i as km,n as Am,r as jm,t as Mm}from"./PromptInputHelpMenu-BZIVCV7V.js";import{n as Nm,r as Pm}from"./pluginAutoupdate-ByokIVEs.js";import{n as Fm,t as Im}from"./generateSessionName-CeN9EZNY.js";import{a as Lm,c as Rm,i as zm,l as Bm,n as Vm,o as Hm,r as Um,s as Wm,t as Gm}from"./Messages-BvFYO4Zn.js";import{a as Km,i as qm,n as Jm,o as Ym,r as Xm,t as Zm}from"./BackgroundTasksDialog-WkoL4g5Q.js";import{n as Qm}from"./fpsMetrics-DIpm2-xw.js";import{a as $m,i as eh,n as th,r as nh,t as rh}from"./tipRegistry-BYpJZIjR.js";import{t as ih}from"./earlyInput-IghoCjG5.js";import{t as ah}from"./backgroundHousekeeping-CsXlkIg3.js";import{homedir as oh,tmpdir as sh}from"os";import{basename as ch,dirname as lh,extname as uh,join as dh,relative as fh,sep as ph}from"path";import{dirname as mh,join as hh}from"node:path";import{createHash as gh}from"node:crypto";import{randomUUID as _h}from"crypto";import{writeFile as vh}from"fs/promises";import{spawn as yh,spawnSync as bh}from"child_process";import{mkdir as xh,readFile as Sh,rename as Ch,writeFile as wh}from"node:fs/promises";function Th(e){return Array.isArray?Array.isArray(e):Fh(e)===`[object Array]`}function Eh(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 Dh(e){return e==null?``:Eh(e)}function Oh(e){return typeof e==`string`}function kh(e){return typeof e==`number`}function Ah(e){return e===!0||e===!1||Mh(e)&&Fh(e)==`[object Boolean]`}function jh(e){return typeof e==`object`}function Mh(e){return jh(e)&&e!==null}function Nh(e){return e!=null}function Ph(e){return!e.trim().length}function Fh(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}function Ih(e){let t=null,n=null,r=null,i=1,a=null;if(Oh(e)||Th(e))r=e,t=Lh(e),n=Rh(e);else{if(!bg.call(e,`name`))throw Error(_g(`name`));let o=e.name;if(r=o,bg.call(e,`weight`)&&e.weight!==void 0&&(i=e.weight,i<=0))throw Error(vg(Rh(o)));t=Lh(o),n=Rh(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:r,getFn:a}}function Lh(e){return Th(e)?e:e.split(`.`)}function Rh(e){return Th(e)?e.join(`.`):e}function zh(e,t){let n=[],r=!1,i=(e,t,a,o)=>{if(Nh(e))if(!t[a])n.push(o===void 0?e:{v:e,i:o});else{let s=e[t[a]];if(!Nh(s))return;if(a===t.length-1&&(Oh(s)||kh(s)||Ah(s)||typeof s==`bigint`))n.push(o===void 0?Dh(s):{v:Dh(s),i:o});else if(Th(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,Oh(t)?t.split(`.`):t,0),r?n:n[0]}function Bh(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 Vh(e,t,{getFn:n=Z.getFn,fieldNormWeight:r=Z.fieldNormWeight}={}){let i=new Eg({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(Ih)),i.setSources(t),i.create(),i}function Hh(e,{getFn:t=Z.getFn,fieldNormWeight:n=Z.fieldNormWeight}={}){let{keys:r,records:i}=e,a=new Eg({getFn:t,fieldNormWeight:n});return a.setKeys(r),a.setIndexRecords(i),a}function Uh(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 Wh(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(gg(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=Uh(_,s);e.length?c&&(w.indices=e):w.isMatch=!1}return w}function Gh(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 Kh(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 qh(e){return e.startsWith(`inverse`)}function Jh(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 Yh(e,t){let n=e.match(t);return n?n[1]:null}function Xh(e,t={}){return e.replace(/\\\|/g,Pg).split(Fg).map(e=>{let n=Jh(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<Ng;){let e=Mg[o],n=Yh(i,e.multiRegex);n&&(r.push(e.create(n,t)),a=!0)}if(!a)for(o=-1;++o<Ng;){let e=Mg[o],n=Yh(i,e.singleRegex);if(n){r.push(e.create(n,t));break}}}return r})}function Zh(...e){Lg.push(...e)}function Qh(e,t){for(let n=0,r=Lg.length;n<r;n+=1){let r=Lg[n];if(r.condition(e,t))return new r(e,t)}return new Ag(e,t)}function $h(e,t,{auto:n=!0}={}){let r=e=>{if(Oh(e)){let r={keyId:null,pattern:e};return n&&(r.searcher=Qh(e,t)),r}let i=Object.keys(e),a=Vg(e);if(!a&&i.length>1&&!Bg(e))return r(Ug(e));if(Hg(e)){let r=a?e[zg.PATH]:i[0],o=a?e[zg.PATTERN]:e[r];if(!Oh(o))throw Error(hg(r));let s={keyId:Rh(r),pattern:o};return n&&(s.searcher=Qh(o,t)),s}let o={children:[],operator:i[0]};return i.forEach(t=>{let n=e[t];Th(n)&&n.forEach(e=>{o.children.push(r(e))})}),o};return Bg(e)||(e=Ug(e)),r(e)}function eg(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 tg(e,{ignoreFieldNorm:t=Z.ignoreFieldNorm}){e.forEach(e=>{e.score=eg(e.matches,{ignoreFieldNorm:t})})}function ng(e){let t=[];return e.matches.forEach(e=>{if(!Nh(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 rg(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=ng(e)),r&&(a.score=e.score),a})}function ig(e){Kg.has(e)||(Kg.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 ag(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||ig(e),t=>t.match(e)||[]):e=>e.match(Gg)||[]}function og({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){let r=ag(n);return{tokenize(n){return e||(n=n.toLowerCase()),t&&(n=kg(n)),r(n)}}}function sg(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 cg(e,t,n,r){let{i,v:a,$:o}=t;if(a!==void 0){sg(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)sg(e,t.v,i,r);else sg(e,n.v,i,r)}}function lg(e,t,n){let r={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(let i of e)cg(r,i,t,n);return r}function ug(e,t,n,r){cg(e,t,n,r)}function dg(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 fg(e,t){if(t.length===0)return;let n=Array.from(new Set(t)).sort((e,t)=>e-t);for(let t of n)dg(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 pg,mg,hg,gg,_g,vg,yg,bg,xg,Sg,Cg,wg,Tg,Z,Eg,Dg,Og,kg,Ag,jg,Mg,Ng,Pg,Fg,Ig,Lg,Rg,zg,Bg,Vg,Hg,Ug,Wg,Gg,Kg,qg,Jg,Yg,Xg=t((()=>{pg=`Incorrect 'index' type`,mg=`Invalid doc index: must be a non-negative integer within the bounds of the docs array`,hg=e=>`Invalid value for key ${e}`,gg=e=>`Pattern length exceeds max of ${e}.`,_g=e=>`Missing ${e} property in key`,vg=e=>`Property 'weight' in key '${e}' must be a positive integer`,yg=`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.`,bg=Object.prototype.hasOwnProperty,xg=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(e=>{let n=Ih(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)}},Sg={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Cg={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},wg={location:0,threshold:.6,distance:100},Tg={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:`any`,getFn:zh,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Z=Object.freeze({...Cg,...Sg,...wg,...Tg}),Eg=class{constructor({getFn:e=Z.getFn,fieldNormWeight:t=Z.fieldNormWeight}={}){this.norm=Bh(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(Oh(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(mg);if(Oh(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(mg);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!Nh(e)||Ph(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(Nh(i)){if(Th(i)){let e=[];for(let t=0,n=i.length;t<n;t+=1){let n=i[t];if(Nh(n)){if(Oh(n)){if(!Ph(n)){let r={v:n,i:t,n:this.norm.get(n)};e.push(r)}}else if(Nh(n.v)){let t=Oh(n.v)?n.v:Dh(n.v);if(!Ph(t)){let r={v:t,i:n.i,n:this.norm.get(t)};e.push(r)}}}}n.$[t]=e}else if(Oh(i)&&!Ph(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}}},Dg={ł:`l`,Ł:`L`,đ:`d`,Đ:`D`,ø:`o`,Ø:`O`,ħ:`h`,Ħ:`H`,ŧ:`t`,Ŧ:`T`,ı:`i`,ß:`ss`},Og=RegExp(`[`+Object.keys(Dg).join(``)+`]`,`g`),kg=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(Og,e=>Dg[e]):e=>e,Ag=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?kg(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;let u=(e,t)=>{this.chunks.push({pattern:e,alphabet:Gh(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?kg(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}=Wh(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=Kh(u)),p}},jg=new Set([`fuzzy`,`include`]),Mg=[{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 Ag(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)}}}}],Ng=Mg.length,Pg=`\0`,Fg=`|`,Ig=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?kg(e):e,this.pattern=e,this.query=Xh(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?kg(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,qh(r.type)&&(c=!0),n&&(jg.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=Kh(o)),e}}return{isMatch:!1,score:1}}},Lg=[],Rg={AND:`$and`,OR:`$or`},zg={PATH:`$path`,PATTERN:`$val`},Bg=e=>!!(e[Rg.AND]||e[Rg.OR]),Vg=e=>!!e[zg.PATH],Hg=e=>!Th(e)&&jh(e)&&!Bg(e),Ug=e=>({[Rg.AND]:Object.keys(e).map(t=>({[t]:e[t]}))}),Wg=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)}},Gg=/[\p{L}\p{M}\p{N}_]+/gu,Kg=new WeakSet,qg=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=og({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 Ag(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=Kh(t)),this.combineAll&&(this.useMask?c.matchedMask=a:c.matchedTerms=o,c.termCount=this.numTerms),c}},Jg=class{constructor(e,t,n){this.options={...Z,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new xg(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=Qh(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 Eg))throw Error(pg);if(this._myIndex=t||Vh(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let e=og({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=lg(this._myIndex.records,this._myIndex.keys.length,e)}this._invalidateSearcherCache()}add(e){if(!Nh(e))return;this._docs.push(e);let t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){let e=og({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});ug(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&&fg(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(mg);this._invertedIndex&&fg(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(Oh(e)&&!e.trim()){let e=this._docs.map((e,t)=>({item:e,refIndex:t}));return kh(n)&&n>-1&&(e=e.slice(0,n)),e}let c=kh(n)&&n>0&&Oh(e),l;if(c){let t=new Wg(n);Oh(this._docs[0])?this._searchStringList(e,{heap:t,ignoreFieldNorm:s}):this._searchObjectList(e,{heap:t,ignoreFieldNorm:s}),l=t.extractSorted(o)}else l=Oh(e)?Oh(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),tg(l,{ignoreFieldNorm:s}),a&&l.sort(o),kh(n)&&n>-1&&(l=l.slice(0,n));return rg(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(!Nh(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=eg(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):o.push(r)}}}),o}_searchLogical(e){let t=$h(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===Rg.AND)return[]}return o},r=this._myIndex.records,i=new Map,a=[];return r.forEach(({$:e,i:r})=>{if(Nh(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(!Nh(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=eg(r.matches,{ignoreFieldNorm:n}),t.shouldInsert(r.score)&&t.insert(r)):s.push(r)}}),s}_findMatches({key:e,value:t,searcher:n}){if(!Nh(t))return[];let r=[];if(Th(t))t.forEach(({v:t,i,n:a})=>{if(!Nh(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}},Jg.version=`7.4.2`,Jg.createIndex=Vh,Jg.parseIndex=Hh,Jg.config=Z,Jg.match=function(e,t,n){if(n&&n.useTokenSearch)throw Error(yg);return Qh(e,{...Z,...n}).searchIn(t)},Jg.parseQuery=$h,Zh(Ig),Zh(qg),Jg.use=function(...e){e.forEach(e=>Zh(e))},Yg=Jg}));o(),le(),c(),V(),pt(),ht(),pe(),$u(),tl(),dl(),Ef(),dm();var Q=n(P(),1);_(),Vm(),As(),zd(),Y(),pm();var $=de();function Zg({children:e}){let{bindings:t}=Bd(),n=(0,Q.useRef)(null),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(new Set).current;return(0,$.jsx)(v,{bindings:t,pendingChordRef:n,pendingChord:null,setPendingChord:()=>{},activeContexts:i,registerActiveContext:()=>{},unregisterActiveContext:()=>{},handlerRegistryRef:r,children:e})}function Qg(e){if(!(`message`in e))return 1;let t=e.message.content;return Array.isArray(t)?t.length:1}async function $g(e,t,n,{columns:r,verbose:i=!1,chunkSize:a=40,onProgress:o}={}){let s=n=>fm((0,$.jsx)(Nr,{children:(0,$.jsx)(Zg,{children:(0,$.jsx)(Gm,{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+=Qg(t);for(let e=0;e<c;e+=a){let t=await s([e,e+a]);if(se(t).trim()===``)break;await n(t),o?.(e+a)}}async function e_(e,t=[],n){let r=[];return await $g(e,t,e=>void r.push(se(e)),{columns:n}),r.join(``)}a(),R(),we(),fu(),mu(),_u(),vu(),ku(),Tu(),Du(),rt(),Vu(),Bu(),Uu(),Re(),Yu(),$e(),Ju(),Qe(),Zu(),Le(),be(),it(),rd(),Ye(),me(),Xu(),Ie(),De(),qe(),Ce(),dd(),Je(),Au(),Md(),gd(),yd(),Ad(),No(),_a(),Qt(),Fo(),Vd(),el(),Kd(),iu(),us(),ra(),Tn(),Pl(),yo(),Za(),Nc(),ec(),Oo(),_c(),ul(),Ma(),hn(),Id(),Zs(),Ji(),au(),Uo(),Mc(),$c(),gl(),Fd(),Pd(),Yt(),Yc(),qn(),mn(),on(),To(),Vo(),Ht(),va(),cn(),ir(),ll(),Ha(),Zd(),ia(),Mr(),Vr(),jn(),Fl(),Dl(),Ss(),ko(),uo(),hr(),Rn(),zs(),nn(),$n(),su(),yi(),Gr(),Sn(),to(),Es(),zo(),al(),Yo(),ki(),vr(),Pc(),Lo(),Kn(),ii(),Us(),Qo(),Di(),Qi(),xn(),kl(),hs(),ou(),En(),qd(),Qa(),ka(),qc(),Ii(),rn(),Cn(),eu(),Rc(),ho(),hl(),fi(),Vl(),xl(),Na(),ln(),hi(),ci(),gr(),Pr(),Ur(),ms(),_s(),Hs(),pc(),Ta(),Hc(),ea(),sa(),vo(),Rp(),am();function t_({onDone:e}){return(0,$.jsxs)(ue,{title:`You've spent $5 on the API this session.`,onCancel:e,children:[(0,$.jsxs)(g,{flexDirection:`column`,children:[(0,$.jsx)(b,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(y,{url:`https://code.workmate.com/docs/en/costs`})]}),(0,$.jsx)(Bf,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}zf(),V(),am();function n_({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(ue,{title:`You've been away ${r_(e)} and this conversation is ${ad(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(g,{flexDirection:`column`,children:(0,$.jsx)(b,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(Bf,{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 r_(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`}tf();async function i_(e,t){let n=Mu().preferredNotifChannel;await pn(e),await o_(n,e,t),et.terminal}var a_=`Work Mate`;async function o_(e,t,n){let r=t.title||a_;try{switch(e){case`auto`:return s_(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:c_()}),`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 s_(e,t){let n=e.title||a_;switch(et.terminal){case`Apple_Terminal`:return await l_()?(t.notifyBell(),`terminal_bell`):`no_method_available`;case`iTerm.app`:return t.notifyITerm2(e),`iterm2`;case`kitty`:return t.notifyKitty({...e,title:n,id:c_()}),`kitty`;case`ghostty`:return t.notifyGhostty({...e,title:n}),`ghostty`;default:return`no_method_available`}}function c_(){return Math.floor(Math.random()*1e4)}async function l_(){try{if(et.terminal!==`Apple_Terminal`)return!1;let e=(await Wu(`osascript`,[`-e`,`tell application "Terminal" to name of current settings of front window`])).stdout.trim();if(!e)return!1;let t=await Wu(`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 Hu(e),!1}}var u_=300,d_=240*1e3,f_=null,p_=null,m_=0,h_=!1;function g_(){m_++,m_===1&&(x_(),y_())}function __(){m_>0&&m_--,m_===0&&(b_(),S_())}function v_(){m_=0,b_(),S_()}function y_(){process.platform===`darwin`&&p_===null&&(p_=setInterval(()=>{m_>0&&(X(`Restarting caffeinate to maintain sleep prevention`),S_(),x_())},d_),p_.unref())}function b_(){p_!==null&&(clearInterval(p_),p_=null)}function x_(){if(process.platform===`darwin`&&f_===null){h_||(h_=!0,wu(async()=>{v_()}));try{f_=yh(`caffeinate`,[`-i`,`-t`,String(u_)],{stdio:`ignore`}),f_.unref();let e=f_;f_.on(`error`,t=>{X(`caffeinate spawn error: ${t.message}`),f_===e&&(f_=null)}),f_.on(`exit`,()=>{f_===e&&(f_=null)}),X(`Started caffeinate to prevent sleep`)}catch{f_=null}}}function S_(){if(f_!==null){let e=f_;f_=null;try{e.kill(`SIGKILL`),X(`Stopped caffeinate, allowing sleep`)}catch{}}}var C_=class{constructor(){s(this,`_status`,`idle`),s(this,`_generation`,0),s(this,`_changed`,lt()),s(this,`subscribe`,this._changed.subscribe),s(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 w_(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(Sa(f,{},p,e).then(e=>{m===a.current&&e&&!l&&(r.current=e)}),l||c||u){let t=fn(f,e).findLast(io);t&&(r.current=t.uuid)}n.current=e.length,i.current=o},[e,t])}_f(),op(),pp(),up(),dp(),pf(),V();var T_=6e3;function E_(){return Date.now()-Bt()}function D_(e){return E_()<e}function O_(e){return!D_(e)}function k_(e,t){let n=x();(0,Q.useEffect)(()=>{vt(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{O_(6e3)&&!r&&(r=!0,clearInterval(i),i_({message:e,notificationType:t},n))},T_);return()=>clearInterval(i)},[e,t,n])}Rd(),Cc(),nr(),Li(),ar(),Zr(),en(),hf(),xf(),Cf(),vf(),Vf(),Xf(),Ff(),Of(),jf(),Hp(),wm(),V(),Yn();var A_={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function j_(e){return or().syntaxHighlightingDisabled?(0,$.jsx)(N_,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(N_,{...e,highlight:null}),children:(0,$.jsx)(M_,{...e})})}function M_(e){let t=(0,Q.use)(ui());return(0,$.jsx)(N_,{...e,highlight:t})}function N_({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=ae(),[s]=h(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>is(e,s,a),[e,s,a]).split(`
|
|
2
2
|
`),d=u.length>l,m=d?u.slice(0,l):u,_=Math.max(0,Math.min(n??0,l)-m.length-+!!d),v=_>0?[...m,...Array(_).fill(``)]:m,y=Math.max(r,...v.map(e=>p(e))),x=Math.min(y+4,c),S=x-4,C=`${A_.topLeft}${A_.horizontal.repeat(x-2)}${A_.topRight}`,w=`${A_.bottomLeft}${A_.horizontal.repeat(x-2)}${A_.bottomRight}`,T=d?(()=>{let e=u.length-l,t=`${A_.horizontal.repeat(3)} \u2702 ${A_.horizontal.repeat(3)} ${e} lines hidden `,n=p(t),r=Math.max(0,x-2-n);return`${A_.teeLeft}${t}${A_.horizontal.repeat(r)}${A_.teeRight}`})():null;return(0,$.jsxs)(g,{flexDirection:`column`,children:[(0,$.jsx)(b,{dimColor:!0,children:C}),v.map((e,t)=>{let n=p(e)>S?kr(e,0,S):e,r=` `.repeat(Math.max(0,S-p(n)));return(0,$.jsxs)(g,{flexDirection:`row`,children:[(0,$.jsxs)(b,{dimColor:!0,children:[A_.vertical,` `]}),(0,$.jsx)(f,{children:n}),(0,$.jsxs)(b,{dimColor:!0,children:[r,` `,A_.vertical]})]},t)}),T&&(0,$.jsx)(b,{color:`warning`,children:T}),(0,$.jsx)(b,{dimColor:!0,children:w})]})}tl(),V(),rd();function P_({questions:e,currentQuestionIndex:t,answers:n,hideSubmitTab:r=!1}){let{columns:i}=ae(),a=(0,Q.useMemo)(()=>{let n=r?``:` ${l.tick} Submit `,a=p(`← `)+p(` →`)+p(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+p(e)).reduce((e,t)=>e+t,0)<=o)return s;let c=4+p(s[t]||``),u=Math.min(c,o/2),d=o-u,f=e.length-1,m=Math.max(6,Math.floor(d/Math.max(f,1)));return s.map((e,n)=>n===t?nd(e,u-2-2):nd(e,m-2-2))},[e,t,i,r]),o=e.length===1&&r;return(0,$.jsxs)(g,{flexDirection:`row`,marginBottom:1,children:[!o&&(0,$.jsx)(b,{color:t===0?`inactive`:void 0,children:`← `}),e.map((e,r)=>{let i=r===t,o=e?.question&&n[e.question]?l.checkboxOn:l.checkboxOff,s=a[r]||e?.header||`Q${r+1}`;return(0,$.jsx)(g,{children:i?(0,$.jsxs)(b,{backgroundColor:`permission`,color:`inverseText`,children:[` `,o,` `,s,` `]}):(0,$.jsxs)(b,{children:[` `,o,` `,s,` `]})},e?.question||`question-${r}`)}),!r&&(0,$.jsx)(g,{children:t===e.length?(0,$.jsxs)(b,{backgroundColor:`permission`,color:`inverseText`,children:[` `,l.tick,` Submit`,` `]}):(0,$.jsxs)(b,{children:[` `,l.tick,` Submit `]})},`submit`),!o&&(0,$.jsx)(b,{color:t===e.length?`inactive`:void 0,children:` →`})]})}c(),tl(),V(),Y();function F_({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,minContentHeight:o,minContentWidth:s,onUpdateQuestionState:c,onAnswer:d,onTextInputFocus:f,onCancel:p,onTabPrev:h,onTabNext:_,onRespondToClaude:v,onFinishPlanInterview:y}){let x=K(e=>e.toolPermissionContext.mode)===`plan`,[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(0),[D,O]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(0),j=zp(),M=j??null,N=e.question,P=i[N],F=e.options,[ee,I]=(0,Q.useState)(0),L=(0,Q.useRef)(N);if(L.current!==N){L.current=N;let e=P?.selectedValue,t=e?F.findIndex(t=>t.label===e):-1;I(t>=0?t:0)}let te=F[ee],R=P?.selectedValue,ne=P?.textInputValue||``,z=(0,Q.useCallback)(e=>{let t=F[e];t&&(I(e),c(N,{selectedValue:t.label},!1),d(N,t.label))},[F,N,c,d]),re=(0,Q.useCallback)(e=>{if(D)return;let t;t=typeof e==`number`?e:e===`up`?ee>0?ee-1:ee:ee<F.length-1?ee+1:ee,t>=0&&t<F.length&&I(t)},[ee,F.length,D]);E(`chat:externalEditor`,async()=>{let e=P?.textInputValue||``,t=await Bp(e);t.content!==null&&t.content!==e&&c(N,{textInputValue:t.content},!1)},{context:`Chat`,isActive:D&&!!j}),m({"tabs:previous":()=>h?.(),"tabs:next":()=>_?.()},{context:`Tabs`,isActive:!D&&!S});let ie=(0,Q.useCallback)(()=>{O(!1),f(!1),R&&d(N,R)},[R,N,d,f]),B=(0,Q.useCallback)(()=>{C(!0)},[]),oe=(0,Q.useCallback)(()=>{C(!1)},[]),se=(0,Q.useCallback)(e=>{if(S){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),w===0?oe():T(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),x&&w===0&&T(1);return}if(e.key===`return`){e.preventDefault(),w===0?v():y();return}e.key===`escape`&&(e.preventDefault(),p());return}if(D){e.key===`escape`&&(e.preventDefault(),ie());return}if(e.key===`up`||e.ctrl&&e.key===`p`)e.preventDefault(),ee>0&&re(`up`);else if(e.key===`down`||e.ctrl&&e.key===`n`)e.preventDefault(),ee===F.length-1?B():re(`down`);else if(e.key===`return`)e.preventDefault(),z(ee);else if(e.key===`n`&&!e.ctrl&&!e.meta)e.preventDefault(),O(!0),f(!0);else if(e.key===`escape`)e.preventDefault(),p();else if(e.key.length===1&&e.key>=`1`&&e.key<=`9`){e.preventDefault();let t=parseInt(e.key,10)-1;t<F.length&&re(t)}},[S,w,x,D,ee,F.length,oe,B,re,z,ie,v,y,p,f]),V=te?.preview||null,{columns:ce}=ae(),le=ce-30-4,H=(0,Q.useMemo)(()=>o?Math.max(1,o-11):void 0,[o]);return(0,$.jsxs)(g,{flexDirection:`column`,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:se,children:[(0,$.jsx)(u,{color:`inactive`}),(0,$.jsxs)(g,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(P_,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(Em,{title:e.question,color:`text`}),(0,$.jsxs)(g,{flexDirection:`column`,minHeight:o,children:[(0,$.jsxs)(g,{marginTop:1,flexDirection:`row`,gap:4,children:[(0,$.jsx)(g,{flexDirection:`column`,width:30,children:F.map((e,t)=>{let n=ee===t,r=R===e.label;return(0,$.jsxs)(g,{flexDirection:`row`,children:[n?(0,$.jsx)(b,{color:`suggestion`,children:l.pointer}):(0,$.jsx)(b,{children:` `}),(0,$.jsxs)(b,{dimColor:!0,children:[` `,t+1,`.`]}),(0,$.jsxs)(b,{color:r?`success`:n?`suggestion`:void 0,bold:n,children:[` `,e.label]}),r&&(0,$.jsxs)(b,{color:`success`,children:[` `,l.tick]})]},e.label)})}),(0,$.jsxs)(g,{flexDirection:`column`,flexGrow:1,children:[(0,$.jsx)(j_,{content:V||`No preview available`,maxLines:H,minWidth:s,maxWidth:le}),(0,$.jsxs)(g,{marginTop:1,flexDirection:`row`,gap:1,children:[(0,$.jsx)(b,{color:`suggestion`,children:`Notes:`}),D?(0,$.jsx)(If,{value:ne,placeholder:`Add notes on this design…`,onChange:e=>{c(N,{textInputValue:e},!1)},onSubmit:ie,onExit:ie,focus:!0,showCursor:!0,columns:60,cursorOffset:k,onChangeCursorOffset:A}):(0,$.jsx)(b,{dimColor:!0,italic:!0,children:ne||`press n to add notes`})]})]})]}),(0,$.jsxs)(g,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(u,{color:`inactive`}),(0,$.jsxs)(g,{flexDirection:`row`,gap:1,children:[S&&w===0?(0,$.jsx)(b,{color:`suggestion`,children:l.pointer}):(0,$.jsx)(b,{children:` `}),(0,$.jsx)(b,{color:S&&w===0?`suggestion`:void 0,children:`Chat about this`})]}),x&&(0,$.jsxs)(g,{flexDirection:`row`,gap:1,children:[S&&w===1?(0,$.jsx)(b,{color:`suggestion`,children:l.pointer}):(0,$.jsx)(b,{children:` `}),(0,$.jsx)(b,{color:S&&w===1?`suggestion`:void 0,children:`Skip interview and plan immediately`})]})]}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsxs)(b,{color:`inactive`,dimColor:!0,children:[`Enter to select · `,l.arrowUp,`/`,l.arrowDown,` to navigate · n to add notes`,t.length>1&&(0,$.jsx)($.Fragment,{children:` · Tab to switch questions`}),D&&M&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,M]}),` · Esc to cancel`]})})]})]})]})}c(),V(),Y(),Rp(),Hp(),am(),wm();function I_({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,planFilePath:o,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:d,onAnswer:f,onTextInputFocus:p,onCancel:m,onSubmit:h,onTabPrev:_,onTabNext:v,onRespondToClaude:y,onFinishPlanInterview:x,onImagePaste:S,pastedContents:C,onRemoveImage:w}){let T=K(e=>e.toolPermissionContext.mode)===`plan`,[E,D]=(0,Q.useState)(!1),[O,k]=(0,Q.useState)(0),[A,j]=(0,Q.useState)(!1),M=zp()??null,N=(0,Q.useCallback)(e=>{let t=e===`__other__`;j(t),p(t)},[p]),P=(0,Q.useCallback)(()=>{D(!0)},[]),F=(0,Q.useCallback)(()=>{D(!1)},[]),ee=(0,Q.useCallback)(e=>{if(E){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),O===0?F():k(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),T&&O===0&&k(1);return}if(e.key===`return`){e.preventDefault(),O===0?y():x();return}e.key===`escape`&&(e.preventDefault(),m())}},[E,O,T,F,y,x,m]),I=e.options.map(e=>({type:`text`,value:e.label,label:e.label,description:e.description})),L=e.question,te=i[L],R=(0,Q.useCallback)(async(t,n)=>{let r=await Bp(t);r.content!==null&&r.content!==t&&(n(r.content),d(L,{textInputValue:r.content},e.multiSelect??!1))},[L,d,e.multiSelect]),ne={type:`input`,value:`__other__`,label:`Other`,placeholder:e.multiSelect?`Type something`:`Type something.`,initialValue:te?.textInputValue??``,onChange:t=>{d(L,{textInputValue:t},e.multiSelect??!1)}},z=[...I,ne];return!e.multiSelect&&e.options.some(e=>e.preview)?(0,$.jsx)(F_,{question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:d,onAnswer:f,onTextInputFocus:p,onCancel:m,onTabPrev:_,onTabNext:v,onRespondToClaude:y,onFinishPlanInterview:x}):(0,$.jsxs)(g,{flexDirection:`column`,marginTop:0,tabIndex:0,autoFocus:!0,onKeyDown:ee,children:[T&&o&&(0,$.jsxs)(g,{flexDirection:`column`,gap:0,children:[(0,$.jsx)(u,{color:`inactive`}),(0,$.jsxs)(b,{color:`inactive`,children:[`Planning: `,(0,$.jsx)(ha,{filePath:o})]})]}),(0,$.jsx)(g,{marginTop:-1,children:(0,$.jsx)(u,{color:`inactive`})}),(0,$.jsxs)(g,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(P_,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(Em,{title:e.question,color:`text`}),(0,$.jsxs)(g,{flexDirection:`column`,minHeight:s,children:[(0,$.jsx)(g,{marginTop:1,children:e.multiSelect?(0,$.jsx)(im,{options:z,defaultValue:i[e.question]?.selectedValue,onChange:e=>{d(L,{selectedValue:e},!0);let t=e.includes(`__other__`)?i[L]?.textInputValue:void 0,n=e.filter(e=>e!==`__other__`).concat(t?[t]:[]);f(L,n,void 0,!1)},onFocus:N,onCancel:m,submitButtonText:n===t.length-1?`Submit`:`Next`,onSubmit:h,onDownFromLastItem:P,isDisabled:E,onOpenEditor:R,onImagePaste:S,pastedContents:C,onRemoveImage:w},e.question):(0,$.jsx)(Bf,{options:z,defaultValue:i[e.question]?.selectedValue,onChange:e=>{d(L,{selectedValue:e},!1);let t=e===`__other__`?i[L]?.textInputValue:void 0;f(L,e,t)},onFocus:N,onCancel:m,onDownFromLastItem:P,isDisabled:E,layout:`compact-vertical`,onOpenEditor:R,onImagePaste:S,pastedContents:C,onRemoveImage:w},e.question)}),(0,$.jsxs)(g,{flexDirection:`column`,children:[(0,$.jsx)(u,{color:`inactive`}),(0,$.jsxs)(g,{flexDirection:`row`,gap:1,children:[E&&O===0?(0,$.jsx)(b,{color:`suggestion`,children:l.pointer}):(0,$.jsx)(b,{children:` `}),(0,$.jsxs)(b,{color:E&&O===0?`suggestion`:void 0,children:[z.length+1,`. Chat about this`]})]}),T&&(0,$.jsxs)(g,{flexDirection:`row`,gap:1,children:[E&&O===1?(0,$.jsx)(b,{color:`suggestion`,children:l.pointer}):(0,$.jsx)(b,{children:` `}),(0,$.jsxs)(b,{color:E&&O===1?`suggestion`:void 0,children:[z.length+2,`. Skip interview and plan immediately`]})]})]}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsxs)(b,{color:`inactive`,dimColor:!0,children:[`Enter to select ·`,` `,t.length===1?(0,$.jsxs)($.Fragment,{children:[l.arrowUp,`/`,l.arrowDown,` to navigate`]}):`Tab/Arrow keys to navigate`,A&&M&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,M]}),` · Esc to cancel`]})})]})]})]})}V(),Ml(),Y();function L_(e,t){if(!e)return null;switch(e.type){case`rule`:return{reasonString:`Permission rule ${I.bold(he(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?` ${I.dim(`[${e.hookSource}]`)}`:``;return{reasonString:`Hook ${I.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 R_({permissionResult:e,toolType:t}){let n=K(e=>e.toolPermissionContext.mode),r=L_(e?.decisionReason,t);if(!r)return null;let i=r.themeColor??(e?.decisionReason?.type===`hook`&&n===`auto`?`warning`:void 0);return(0,$.jsxs)(g,{marginBottom:1,flexDirection:`column`,children:[i?(0,$.jsx)(b,{color:i,children:r.reasonString}):(0,$.jsx)(b,{children:(0,$.jsx)(f,{children:r.reasonString})}),r.configString&&(0,$.jsx)(b,{dimColor:!0,children:r.configString})]})}c(),V(),am(),wm();function z_({questions:e,currentQuestionIndex:t,answers:n,allQuestionsAnswered:r,permissionResult:i,minContentHeight:a,onFinalResponse:o}){return(0,$.jsxs)(g,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(u,{color:`inactive`}),(0,$.jsxs)(g,{flexDirection:`column`,borderTop:!0,borderColor:`inactive`,paddingTop:0,children:[(0,$.jsx)(P_,{questions:e,currentQuestionIndex:t,answers:n}),(0,$.jsx)(Em,{title:`Review your answers`,color:`text`}),(0,$.jsxs)(g,{flexDirection:`column`,marginTop:1,minHeight:a,children:[!r&&(0,$.jsx)(g,{marginBottom:1,children:(0,$.jsxs)(b,{color:`warning`,children:[l.warning,` You have not answered all questions`]})}),Object.keys(n).length>0&&(0,$.jsx)(g,{flexDirection:`column`,marginBottom:1,children:e.filter(e=>e?.question&&n[e.question]).map(e=>{let t=n[e?.question];return(0,$.jsxs)(g,{flexDirection:`column`,marginLeft:1,children:[(0,$.jsxs)(b,{children:[l.bullet,` `,e?.question||`Question`]}),(0,$.jsx)(g,{marginLeft:2,children:(0,$.jsxs)(b,{color:`success`,children:[l.arrowRight,` `,t]})})]},e?.question||`answer`)})}),(0,$.jsx)(R_,{permissionResult:i,toolType:`tool`}),(0,$.jsx)(b,{color:`inactive`,children:`Ready to submit your answers?`}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsx)(Bf,{options:[{type:`text`,label:`Submit answers`,value:`submit`},{type:`text`,label:`Cancel`,value:`cancel`}],onChange:e=>o(e),onCancel:()=>o(`cancel`)})})]})]})]})}function B_(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 V_={currentQuestionIndex:0,answers:{},questionStates:{},isInTextInput:!1};function H_(){let[e,t]=(0,Q.useReducer)(B_,V_),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}}Rn(),tl(),V(),ul(),Zu(),Y(),nn(),Bu(),Pc();var U_=12,W_=40,G_=15;function K_(e){return or().syntaxHighlightingDisabled?(0,$.jsx)(J_,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(J_,{...e,highlight:null}),children:(0,$.jsx)(q_,{...e})})}function q_(e){let t=(0,Q.use)(ui());return(0,$.jsx)(J_,{...e,highlight:t})}function J_({toolUseConfirm:e,onDone:t,onReject:n,highlight:r}){let i=(0,Q.useMemo)(()=>Hi.inputSchema.safeParse(e.input),[e.input]),a=i.success&&i.data.questions||[],{rows:o}=ae(),[s]=h(),{globalContentHeight:c,globalContentWidth:l}=(0,Q.useMemo)(()=>{let e=0,t=0,n=Math.max(U_,o-G_);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=is(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,p(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,U_),n),globalContentWidth:Math.max(t,W_)}},[a,o,s,r]),u=i.success?i.data.metadata?.source:void 0,[d,f]=(0,Q.useState)({}),g=(0,Q.useRef)(0);function _(e,t,n,r,i,a){let o=g.current++,s={id:o,type:`image`,content:t,mediaType:n||`image/png`,filename:r||`Pasted image`,dimensions:i};Si(s),lu(s),f(t=>({...t,[e]:{...t[e]??{},[o]:s}}))}let v=(0,Q.useCallback)((e,t)=>{f(n=>{let r={...n[e]??{}};return delete r[t],{...n,[e]:r}})},[]),y=Object.values(d).flatMap(e=>Object.values(e)).filter(e=>e.type===`image`),b=K(e=>e.toolPermissionContext.mode)===`plan`,x=b?go():void 0,{currentQuestionIndex:S,answers:C,questionStates:w,isInTextInput:T,nextQuestion:E,prevQuestion:D,updateQuestionState:O,setAnswer:k,setTextInputMode:A}=H_(),j=S<(a?.length||0)?a?.[S]:null,M=S===(a?.length||0),N=a?.every(e=>e?.question&&!!C[e.question])??!1,P=a.length===1&&!a[0]?.multiSelect,F=(0,Q.useCallback)(()=>{u&&(a.length,b&&Ql()),t(),n(),e.onReject()},[t,n,e,u,a.length,b]),ee=(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.
|
|
@@ -59,7 +59,7 @@ Parse the user's input into ISO 8601 format. Return ONLY the formatted string, o
|
|
|
59
59
|
`&&--a):o=n+1}else dS(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 jS(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 MS(e,t,n,r,i=!1){let a=r.text.slice(t,n);if(i&&!a.endsWith(`
|
|
60
60
|
`)&&(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-(ed(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 NS(e,t,n){let r=t===1?n.cursor.startOfLastLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=AS(n.cursor,r,`G`,e,t);MS(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`G`,count:t})}function PS(e,t,n){let r=t===1?n.cursor.startOfFirstLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=AS(n.cursor,r,`gg`,e,t);MS(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`gg`,count:t})}var FS={d:`delete`,c:`change`,y:`yank`};function IS(e){return e in FS}var LS=new Set([`h`,`l`,`j`,`k`,`w`,`b`,`e`,`W`,`B`,`E`,`0`,`^`,`$`]),RS=new Set([`f`,`F`,`t`,`T`]),zS={i:`inner`,a:`around`};function BS(e){return e in zS}var VS=new Set([`w`,`W`,`"`,`'`,"`",`(`,`)`,`b`,`[`,`]`,`{`,`}`,`B`,`<`,`>`]),HS=1e4;function US(){return{mode:`INSERT`,insertedText:``}}function WS(){return{lastChange:null,lastFind:null,register:``,registerIsLinewise:!1}}function GS(e,t,n){switch(e.type){case`idle`:return JS(t,n);case`count`:return YS(e,t,n);case`operator`:return XS(e,t,n);case`operatorCount`:return ZS(e,t,n);case`operatorFind`:return QS(e,t,n);case`operatorTextObj`:return $S(e,t,n);case`find`:return eC(e,t,n);case`g`:return tC(e,t,n);case`operatorG`:return nC(e,t,n);case`replace`:return rC(e,t,n);case`indent`:return iC(e,t,n)}}function KS(e,t,n){return IS(e)?{next:{type:`operator`,op:FS[e],count:t}}:LS.has(e)?{execute:()=>{let r=lS(e,n.cursor,t);n.setOffset(r.offset)}}:RS.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:()=>wS(t,n)}:e===`x`?{execute:()=>SS(t,n)}:e===`J`?{execute:()=>TS(t,n)}:e===`p`||e===`P`?{execute:()=>ES(e===`p`,t,n)}:e===`D`?{execute:()=>vS(`delete`,`$`,1,n)}:e===`C`?{execute:()=>vS(`change`,`$`,1,n)}:e===`Y`?{execute:()=>xS(`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:()=>aC(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:()=>OS(`below`,n)}:e===`O`?{execute:()=>OS(`above`,n)}:null}function qS(e,t,n,r){return BS(n)?{next:{type:`operatorTextObj`,op:e,count:t,scope:zS[n]}}:RS.has(n)?{next:{type:`operatorFind`,op:e,count:t,find:n}}:LS.has(n)?{execute:()=>vS(e,n,t,r)}:n===`G`?{execute:()=>NS(e,t,r)}:n===`g`?{next:{type:`operatorG`,op:e,count:t}}:null}function JS(e,t){return/[1-9]/.test(e)?{next:{type:`count`,digits:e}}:e===`0`?{execute:()=>t.setOffset(t.cursor.startOfLogicalLine().offset)}:KS(e,1,t)||{}}function YS(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t;return{next:{type:`count`,digits:String(Math.min(parseInt(n,10),HS))}}}return KS(t,parseInt(e.digits,10),n)||{next:{type:`idle`}}}function XS(e,t,n){return t===e.op[0]?{execute:()=>xS(e.op,e.count,n)}:/[0-9]/.test(t)?{next:{type:`operatorCount`,op:e.op,count:e.count,digits:t}}:qS(e.op,e.count,t,n)||{next:{type:`idle`}}}function ZS(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t,r=Math.min(parseInt(n,10),HS);return{next:{...e,digits:String(r)}}}let r=parseInt(e.digits,10),i=e.count*r;return qS(e.op,i,t,n)||{next:{type:`idle`}}}function QS(e,t,n){return{execute:()=>yS(e.op,e.find,t,e.count,n)}}function $S(e,t,n){return VS.has(t)?{execute:()=>bS(e.op,e.scope,t,e.count,n)}:{next:{type:`idle`}}}function eC(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 tC(e,t,n){return t===`j`||t===`k`?{execute:()=>{let r=lS(`g${t}`,n.cursor,e.count);n.setOffset(r.offset)}}:t===`g`?e.count>1?{execute:()=>{let t=n.text.split(`
|
|
61
61
|
`),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 nC(e,t,n){return t===`j`||t===`k`?{execute:()=>vS(e.op,`g${t}`,e.count,n)}:t===`g`?{execute:()=>PS(e.op,e.count,n)}:{next:{type:`idle`}}}function rC(e,t,n){return t===``?{next:{type:`idle`}}:{execute:()=>CS(t,e.count,n)}}function iC(e,t,n){return t===e.dir?{execute:()=>DS(e.dir,e.count,n)}:{next:{type:`idle`}}}function aC(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)}Ef(),$u();function oC(e){let t=Q.useRef(US()),[n,r]=(0,Q.useState)(`INSERT`),i=Q.useRef(WS()),a=Tf({...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]!==`
|
|
62
|
-
`&&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=kf.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`:SS(t.count,r);break;case`replace`:CS(t.char,t.count,r);break;case`toggleCase`:wS(t.count,r);break;case`indent`:DS(t.dir,t.count,r);break;case`join`:TS(t.count,r);break;case`openLine`:OS(t.direction,r);break;case`operator`:vS(t.op,t.motion,t.count,r);break;case`operatorFind`:yS(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:bS(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=kf.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,-(ed(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=GS(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}}R(),V();function sC(e){let[t]=h(),n=D();bf(n,!!e.onImagePaste);let r=oC({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?I.inverse:e=>e,themeText:re(`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)(g,{flexDirection:`column`,children:(0,$.jsx)(Pf,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}Gi(),jm(),a();function cC(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 lC(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function uC(e){let t=gh(`sha256`).update(e).digest(`hex`).slice(0,16);return hh(r(),`cache-stats`,`${t}.json`)}var dC={version:1,signature:null,lastResetAt:null,lastHitRate:null};function fC(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 pC(e){try{let t=await Sh(e,`utf8`),n=JSON.parse(t);return fC(n)?n:{...dC}}catch{return{...dC}}}async function mC(e,t){await xh(mh(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await wh(n,JSON.stringify(t),`utf8`),await Ch(n,e)}catch{}}var hC={signature:null,lastResetAt:null,lastHitRate:null},gC=null;async function _C(e){gC=e;let t=await pC(uC(e));hC={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function vC(e){let t=lC(e),n=cC(e);return t!==hC.signature&&(hC={signature:t,lastResetAt:Date.now(),lastHitRate:n},gC!==null&&mC(uC(gC),{version:1,signature:t,lastResetAt:hC.lastResetAt,lastHitRate:n})),{...hC}}function yC(){return{...hC}}V(),rd(),tl();function bC(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 xC(){return(0,$.jsx)(b,{dimColor:!0,children:` │ `})}function SC({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=ae(),[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,_=`${ad(n)}/${ad(r)}`;return(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{children:u}),(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Context `}),(0,$.jsxs)(b,{children:[t,`%`]}),!d&&(0,$.jsxs)(b,{dimColor:!0,children:[` (`,_,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Session `}),(0,$.jsxs)(b,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,bC(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(b,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,bC(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{children:Po(i)})]})]})}var CC=Q.memo(SC);Zu(),Y(),ht(),tf(),Uo(),Gp(),Rn(),V(),Ii(),Au(),gd(),fu(),Du(),pc(),gr(),yd(),_s(),Vo(),rd();var wC=3600*1e3;function TC(e){return String(Math.floor(e)).padStart(2,`0`)}function EC(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${TC(t)}:${TC(n)}`}function DC({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=sc(e),o=(0,Q.useRef)(null);if(a!==null){let e=lC(a);e!==o.current&&(o.current=e,vC(a))}let{lastResetAt:s,lastHitRate:c}=yC(),l=s===null?null:t-s,u=l===null?null:wC-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,_C(Et()))},[]);let h=a===null?c:cC(a);if(h===null&&s===null)return(0,$.jsx)(b,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:EC(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(b,{children:[(0,$.jsx)(b,{dimColor:!0,children:` Cache `}),(0,$.jsx)(b,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(b,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function OC(){return null}function kC(e){return e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function AC(e,t,n,r,i,a,o){let s=xt(),c=tu(),l=Cd({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=sc(r),f=vd(l,Nt()),p=pd(d,f),m=Xo(Et()),h=Ir(),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{...qr(),...m&&{session_name:m},model:{id:l,display_name:_d(l)},workspace:{current_dir:pu(),project_dir:Mt(),added_dirs:i},version:`0.0.27`,output_style:{name:u},cost:{total_cost_usd:Ot(),total_duration_ms:Tt(),total_api_duration_ms:Dt(),total_lines_added:zt(),total_lines_removed:G()},context_window:{total_input_tokens:Pt(),total_output_tokens:Lt(),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},...Om()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function jC(e){return Lr(e)?.uuid??null}function MC({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=K(e=>e.toolPermissionContext.mode),a=K(e=>e.toolPermissionContext.additionalWorkingDirectories),o=K(e=>e.statusLineText),s=Qn(),c=or(),{addNotification:l}=ef(),u=Wp(),d=(0,Q.useRef)(c);d.current=c;let p=(0,Q.useRef)(n);p.current=n;let m=(0,Q.useRef)(i);m.current=i;let h=(0,Q.useRef)(a);h.current=a;let _=(0,Q.useRef)(u);_.current=u;let v=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),y=(0,Q.useRef)(void 0),x=(0,Q.useRef)(!0),S=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=x.current;if(x.current=!1,d.current?.statusLine?.command)try{let e=v.current.exceeds200kTokens,r=jC(n);r!==v.current.messageId&&(e=cl(n),v.current.messageId=r,v.current.exceeds200kTokens=e);let a=await Aa(AC(m.current,e,d.current,n,Array.from(h.current.keys()),_.current,p.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),C=(0,Q.useCallback)(()=>{y.current!==void 0&&clearTimeout(y.current),y.current=setTimeout((e,t)=>{e.current=void 0,t()},300,y,S)},[S]);(0,Q.useEffect)(()=>{(t!==v.current.messageId||i!==v.current.permissionMode||n!==v.current.vimMode||u!==v.current.mainLoopModel)&&(v.current.permissionMode=i,v.current.vimMode=n,v.current.mainLoopModel=u,C())},[t,i,n,u,C]);let w=c?.statusLine?.command,T=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(T.current){T.current=!1;return}x.current=!0,S()},[w,S]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(e.command.length,e.padding,c.disableAllHooks===!0&&X(`Status line is configured but disableAllHooks is true`,{level:`warn`}),Nu()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),X(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(S(),()=>{r.current?.abort(),y.current!==void 0&&clearTimeout(y.current)}),[]);let E=c?.statusLine?.padding??0,D=Cd({permissionMode:i,mainLoopModel:u,exceeds200kTokens:v.current.exceeds200kTokens}),O=vd(D,Nt()),k=sc(e.current),A=k?k.input_tokens+k.cache_creation_input_tokens+k.cache_read_input_tokens:0,j=k?Math.round(pd(k,O).used??0):0,M=Ir(),N={...M.five_hour&&{five_hour:{utilization:M.five_hour.utilization,resets_at:M.five_hour.resets_at}},...M.seven_day&&{seven_day:{utilization:M.seven_day.utilization,resets_at:M.seven_day.resets_at}}},P=c?.statusLineEnabled===!0,F=!!c?.statusLine?.command;return(0,$.jsxs)(g,{flexDirection:`column`,paddingX:E,children:[P&&(0,$.jsxs)(g,{gap:2,children:[(0,$.jsx)(CC,{modelName:_d(D),contextUsedPct:j,usedTokens:A,contextWindowSize:O,totalCostUsd:Ot(),rateLimits:N}),(0,$.jsx)(OC,{}),(0,$.jsx)(DC,{messages:e.current})]}),o?(0,$.jsx)(b,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(f,{children:o})}):F&&Hr()?(0,$.jsx)(b,{children:` `}):null]})}var NC=(0,Q.memo)(MC);c(),Y(),hc(),V();function PC({tasksSelected:e,onOpenDialog:t}){let n=K(e=>e.tasks),r=(0,Q.useMemo)(()=>Object.values(n??{}).filter(e=>oo(e)),[n]);return qm(n??{},!1)||r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(FC,{selected:e,onClick:t,children:zc(r)}),ks(r)&&(0,$.jsxs)(b,{dimColor:!0,children:[` · `,l.arrowDown,` to view`]})]})}function FC({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(b,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(g,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}V(),jf();function IC({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(g,{gap:1,children:[(0,$.jsx)(b,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(If,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:p(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}Uu(),ku();var LC=5e3;function RC(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function zC(){if(!await Ae())return null;let[e,t]=await Promise.all([ge(),Me()]);if(e===t)return null;let{stdout:n,code:r}=await Wu(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:LC,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=xu(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:RC(e.isDraft,e.reviewDecision)}}catch{return null}}ht();var BC=6e4,VC=4e3,HC=60*6e4,UC={number:null,url:null,reviewState:null,lastUpdated:0};function WC(e,t=!0){let[n,r]=(0,Q.useState)(UC),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=Bt();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=HC)return;let l=Date.now(),u=await zC();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>VC){a.current=!0;return}e||(i.current=setTimeout(c,BC))}}let l=Date.now()-o.current;return l>=BC?c():i.current=setTimeout(c,BC-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}V(),jm(),_c(),De(),ys(),pe(),Xm(),Y(),tl(),rd(),zs(),yd(),Wd(),Au(),wn();var GC=()=>null,KC=5e3,qC=1e3;function JC(){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=sd(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,KC);return()=>clearInterval(n)},[]),e}function YC(){let e=(0,Q.useSyncExternalStore)($o,ta,GC),[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)(b,{dimColor:!0,children:[`waiting `,od(t*1e3,{mostSignificantOnly:!0})]})}function XC(){let[t,n]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),qC);return()=>clearInterval(e)},[]);let r=(bl(),e(Ao)),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)(b,{color:d,children:[`goal (`,u,`)`]})}function ZC({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)(b,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(c)return(0,$.jsx)(b,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let m=Om()&&t===`INSERT`&&!l;return(0,$.jsxs)(g,{justifyContent:`flex-start`,gap:1,children:[l&&(0,$.jsx)(IC,{value:u,onChange:d,historyFailedMatch:f}),m?(0,$.jsx)(b,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(QC,{mode:n,toolPermissionContext:r,showHint:!i&&!m,isLoading:a,tasksSelected:o,tmuxSelected:s,onOpenTasksDialog:p})]})}function QC({mode:t,toolPermissionContext:n,showHint:r,isLoading:i,tasksSelected:a,tmuxSelected:o,onOpenTasksDialog:s}){let{columns:c}=ae(),l=Xc(`chat:cycleMode`,`Chat`,`shift+tab`),u=K(e=>e.tasks);ua();let f=WC(i,ew()),p=(0,Q.useSyncExternalStore)($o,ta,GC),m=ee(),h=B().getState,_=p!==null,v=(0,Q.useMemo)(()=>Oe(Object.values(u),e=>oo(e)),[u]),y=fp(),x=y!==void 0&&y.length>0,S=Xc(`chat:cancel`,`Chat`,`esc`).toLowerCase(),w=Xc(`app:toggleTodos`,`Global`,`ctrl+t`),T=Xc(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),E=K(e=>e.notifications.current?.key===`kill-agents-confirm`),D=JC(),O=(0,Q.useMemo)(()=>_d(wd()),[K(e=>e.mainLoopModel)]),k=Ud();if(t===`bash`)return(0,$.jsx)(b,{color:`bashBorder`,children:`! for bash mode`});let A=n?.mode,j=!ve(A),M=v>0,N=+!!j+ +!!M,P=ew()&&f.number!==null&&f.reviewState!==null&&f.url!==null&&N<2&&(N===0||c>=80),F=N<2,I=A&&j?(0,$.jsxs)(b,{color:Ee(A),children:[ot(A),` `,_e(A).toLowerCase(),` on`,F&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,(0,$.jsx)(d,{shortcut:l,action:`cycle`,parens:!0})]})]},`mode`):null,L=[...P?[(0,$.jsx)(Ki,{number:f.number,url:f.url,reviewState:f.reviewState},`pr-status`)]:[],...D?[(0,$.jsxs)(b,{dimColor:D.level===`normal`,color:D.level===`error`?`error`:D.level===`warning`?`warning`:void 0,children:[D.text,` · pid:`,process.pid,` · `,O,k?` · ${k}`:``]},`rss`)]:[],...(bl(),e(Ao)).getGoal()?[(0,$.jsx)(XC,{},`goal-elapsed`)]:[]],te=Object.values(u).some(e=>e.type===`local_agent`&&e.status===`running`),R=r?$C(i,S,w,T,x,te,E):[];_?L.push((0,$.jsx)(YC,{},`proactive`)):r&&L.push(...R);let ne=M&&!qm(u,!1)?(0,$.jsx)(PC,{tasksSelected:a,onOpenDialog:s}):null;L.length===0&&!ne&&!I&&r&&L.push((0,$.jsx)(b,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let re=Mu().copyOnSelect??!0,ie=m&&(!re||z());if(Hr()&&ie){let e=Ku()===`macos`,t=e&&(h()?.lastPressHadAlt??!1);L.push((0,$.jsx)(b,{dimColor:!0,children:(0,$.jsxs)(C,{children:[!re&&(0,$.jsx)(d,{shortcut:`ctrl+c`,action:`copy`}),z()&&(t?(0,$.jsx)(b,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(d,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}return ne&&r&&L.push((0,$.jsx)(b,{dimColor:!0,children:a?(0,$.jsx)(d,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(d,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),L.length===0&&!ne&&!I?Hr()?(0,$.jsx)(b,{children:` `}):null:(0,$.jsxs)(g,{height:1,overflow:`hidden`,children:[I&&(0,$.jsxs)(g,{flexShrink:0,children:[I,(ne||L.length>0)&&(0,$.jsx)(b,{dimColor:!0,children:` · `})]}),ne&&(0,$.jsxs)(g,{flexShrink:0,children:[ne,L.length>0&&(0,$.jsx)(b,{dimColor:!0,children:` · `})]}),L.length>0&&(0,$.jsx)(b,{wrap:`truncate`,children:(0,$.jsx)(C,{children:L})})]})}function $C(e,t,n,r,i,a,o){let s=i;return[...e?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&a&&!o?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...s?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:n,action:`show tasks`})},`toggle-tasks`)]:[]]}function ew(){return Mu().prStatusFooterEnabled??!0}Rn(),tl(),V(),zs(),Pp(),Am();function tw({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:_,tasksSelected:v,tmuxSelected:y,mcpClients:b,isPasting:x=!1,isInputWrapped:S=!1,messages:C,isSearching:w,historyQuery:T,setHistoryQuery:E,historyFailedMatch:D,onOpenTasksDialog:O}){let k=or(),{columns:A,rows:j}=ae(),M=(0,Q.useRef)(C);M.current=C;let N=(0,Q.useMemo)(()=>jC(C),[C]),P=A<80,F=Hr(),ee=F&&j<24,I=v,L=h||kC(k)||w;return Rm((0,Q.useMemo)(()=>F&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[F,u,d,f])),u.length&&!F?(0,$.jsx)(g,{paddingX:2,paddingY:0,children:(0,$.jsx)(Fp,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(Mm,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)(g,{flexDirection:P?`column`:`row`,justifyContent:P?`flex-start`:`space-between`,paddingX:2,gap:+!P,children:[(0,$.jsxs)(g,{flexDirection:`column`,flexShrink:+!P,children:[i===`prompt`&&!ee&&!n.show&&!x&&kC(k)&&(0,$.jsx)(NC,{messagesRef:M,lastAssistantMessageId:N,vimMode:r}),(0,$.jsx)(rw,{}),(0,$.jsx)(ZC,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:L,isLoading:_,tasksSelected:I,tmuxSelected:y,isPasting:x,isSearching:w,historyQuery:T,setHistoryQuery:E,historyFailedMatch:D,onOpenTasksDialog:O})]}),(0,$.jsx)(g,{flexShrink:1,gap:1,children:F?null:(0,$.jsx)(bb,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:C,onAutoUpdaterResult:c,onChangeIsUpdating:l,mcpClients:b,isInputWrapped:S,isNarrow:P})})]})}var nw=(0,Q.memo)(tw);function rw(){return null}c(),V();function iw({isLoading:e}){return(0,$.jsxs)(b,{dimColor:e,children:[l.pointer,`\xA0`]})}function aw({mode:e,isLoading:t}){return(0,$.jsx)(g,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:e===`bash`?(0,$.jsx)(b,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(iw,{isLoading:t})})}V();var ow=Q.createContext(void 0),sw=2;function cw({isFirst:e,children:t}){let n=sw,r=Q.useMemo(()=>({isQueued:!0,isFirst:e,paddingWidth:n*2}),[e,n]);return(0,$.jsx)(ow.Provider,{value:r,children:(0,$.jsx)(g,{paddingX:n,children:t})})}V(),Y(),on(),gr(),ku(),cs();var lw=new Set;function uw(e){try{return xu(e)?.type===`idle_notification`}catch{return!1}}var dw=3;function fw(e){return`<${Pu}>
|
|
62
|
+
`&&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=kf.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`:SS(t.count,r);break;case`replace`:CS(t.char,t.count,r);break;case`toggleCase`:wS(t.count,r);break;case`indent`:DS(t.dir,t.count,r);break;case`join`:TS(t.count,r);break;case`openLine`:OS(t.direction,r);break;case`operator`:vS(t.op,t.motion,t.count,r);break;case`operatorFind`:yS(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:bS(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=kf.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,-(ed(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=GS(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}}R(),V();function sC(e){let[t]=h(),n=D();bf(n,!!e.onImagePaste);let r=oC({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?I.inverse:e=>e,themeText:re(`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)(g,{flexDirection:`column`,children:(0,$.jsx)(Pf,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}Gi(),jm(),a();function cC(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 lC(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function uC(e){let t=gh(`sha256`).update(e).digest(`hex`).slice(0,16);return hh(r(),`cache-stats`,`${t}.json`)}var dC={version:1,signature:null,lastResetAt:null,lastHitRate:null};function fC(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 pC(e){try{let t=await Sh(e,`utf8`),n=JSON.parse(t);return fC(n)?n:{...dC}}catch{return{...dC}}}async function mC(e,t){await xh(mh(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await wh(n,JSON.stringify(t),`utf8`),await Ch(n,e)}catch{}}var hC={signature:null,lastResetAt:null,lastHitRate:null},gC=null;async function _C(e){gC=e;let t=await pC(uC(e));hC={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function vC(e){let t=lC(e),n=cC(e);return t!==hC.signature&&(hC={signature:t,lastResetAt:Date.now(),lastHitRate:n},gC!==null&&mC(uC(gC),{version:1,signature:t,lastResetAt:hC.lastResetAt,lastHitRate:n})),{...hC}}function yC(){return{...hC}}V(),rd(),tl();function bC(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 xC(){return(0,$.jsx)(b,{dimColor:!0,children:` │ `})}function SC({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=ae(),[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,_=`${ad(n)}/${ad(r)}`;return(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{children:u}),(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Context `}),(0,$.jsxs)(b,{children:[t,`%`]}),!d&&(0,$.jsxs)(b,{dimColor:!0,children:[` (`,_,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Session `}),(0,$.jsxs)(b,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,bC(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(b,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,bC(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(xC,{}),(0,$.jsx)(b,{children:Po(i)})]})]})}var CC=Q.memo(SC);Zu(),Y(),ht(),tf(),Uo(),Gp(),Rn(),V(),Ii(),Au(),gd(),fu(),Du(),pc(),gr(),yd(),_s(),Vo(),rd();var wC=3600*1e3;function TC(e){return String(Math.floor(e)).padStart(2,`0`)}function EC(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${TC(t)}:${TC(n)}`}function DC({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=sc(e),o=(0,Q.useRef)(null);if(a!==null){let e=lC(a);e!==o.current&&(o.current=e,vC(a))}let{lastResetAt:s,lastHitRate:c}=yC(),l=s===null?null:t-s,u=l===null?null:wC-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,_C(Et()))},[]);let h=a===null?c:cC(a);if(h===null&&s===null)return(0,$.jsx)(b,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:EC(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(b,{children:[(0,$.jsx)(b,{dimColor:!0,children:` Cache `}),(0,$.jsx)(b,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(b,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function OC(){return null}function kC(e){return e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function AC(e,t,n,r,i,a,o){let s=xt(),c=tu(),l=Cd({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=sc(r),f=vd(l,Nt()),p=pd(d,f),m=Xo(Et()),h=Ir(),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{...qr(),...m&&{session_name:m},model:{id:l,display_name:_d(l)},workspace:{current_dir:pu(),project_dir:Mt(),added_dirs:i},version:`0.0.28`,output_style:{name:u},cost:{total_cost_usd:Ot(),total_duration_ms:Tt(),total_api_duration_ms:Dt(),total_lines_added:zt(),total_lines_removed:G()},context_window:{total_input_tokens:Pt(),total_output_tokens:Lt(),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},...Om()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function jC(e){return Lr(e)?.uuid??null}function MC({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=K(e=>e.toolPermissionContext.mode),a=K(e=>e.toolPermissionContext.additionalWorkingDirectories),o=K(e=>e.statusLineText),s=Qn(),c=or(),{addNotification:l}=ef(),u=Wp(),d=(0,Q.useRef)(c);d.current=c;let p=(0,Q.useRef)(n);p.current=n;let m=(0,Q.useRef)(i);m.current=i;let h=(0,Q.useRef)(a);h.current=a;let _=(0,Q.useRef)(u);_.current=u;let v=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),y=(0,Q.useRef)(void 0),x=(0,Q.useRef)(!0),S=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=x.current;if(x.current=!1,d.current?.statusLine?.command)try{let e=v.current.exceeds200kTokens,r=jC(n);r!==v.current.messageId&&(e=cl(n),v.current.messageId=r,v.current.exceeds200kTokens=e);let a=await Aa(AC(m.current,e,d.current,n,Array.from(h.current.keys()),_.current,p.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),C=(0,Q.useCallback)(()=>{y.current!==void 0&&clearTimeout(y.current),y.current=setTimeout((e,t)=>{e.current=void 0,t()},300,y,S)},[S]);(0,Q.useEffect)(()=>{(t!==v.current.messageId||i!==v.current.permissionMode||n!==v.current.vimMode||u!==v.current.mainLoopModel)&&(v.current.permissionMode=i,v.current.vimMode=n,v.current.mainLoopModel=u,C())},[t,i,n,u,C]);let w=c?.statusLine?.command,T=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(T.current){T.current=!1;return}x.current=!0,S()},[w,S]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(e.command.length,e.padding,c.disableAllHooks===!0&&X(`Status line is configured but disableAllHooks is true`,{level:`warn`}),Nu()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),X(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(S(),()=>{r.current?.abort(),y.current!==void 0&&clearTimeout(y.current)}),[]);let E=c?.statusLine?.padding??0,D=Cd({permissionMode:i,mainLoopModel:u,exceeds200kTokens:v.current.exceeds200kTokens}),O=vd(D,Nt()),k=sc(e.current),A=k?k.input_tokens+k.cache_creation_input_tokens+k.cache_read_input_tokens:0,j=k?Math.round(pd(k,O).used??0):0,M=Ir(),N={...M.five_hour&&{five_hour:{utilization:M.five_hour.utilization,resets_at:M.five_hour.resets_at}},...M.seven_day&&{seven_day:{utilization:M.seven_day.utilization,resets_at:M.seven_day.resets_at}}},P=c?.statusLineEnabled===!0,F=!!c?.statusLine?.command;return(0,$.jsxs)(g,{flexDirection:`column`,paddingX:E,children:[P&&(0,$.jsxs)(g,{gap:2,children:[(0,$.jsx)(CC,{modelName:_d(D),contextUsedPct:j,usedTokens:A,contextWindowSize:O,totalCostUsd:Ot(),rateLimits:N}),(0,$.jsx)(OC,{}),(0,$.jsx)(DC,{messages:e.current})]}),o?(0,$.jsx)(b,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(f,{children:o})}):F&&Hr()?(0,$.jsx)(b,{children:` `}):null]})}var NC=(0,Q.memo)(MC);c(),Y(),hc(),V();function PC({tasksSelected:e,onOpenDialog:t}){let n=K(e=>e.tasks),r=(0,Q.useMemo)(()=>Object.values(n??{}).filter(e=>oo(e)),[n]);return qm(n??{},!1)||r.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(FC,{selected:e,onClick:t,children:zc(r)}),ks(r)&&(0,$.jsxs)(b,{dimColor:!0,children:[` · `,l.arrowDown,` to view`]})]})}function FC({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(b,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(g,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}V(),jf();function IC({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(g,{gap:1,children:[(0,$.jsx)(b,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(If,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:p(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}Uu(),ku();var LC=5e3;function RC(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function zC(){if(!await Ae())return null;let[e,t]=await Promise.all([ge(),Me()]);if(e===t)return null;let{stdout:n,code:r}=await Wu(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:LC,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=xu(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:RC(e.isDraft,e.reviewDecision)}}catch{return null}}ht();var BC=6e4,VC=4e3,HC=60*6e4,UC={number:null,url:null,reviewState:null,lastUpdated:0};function WC(e,t=!0){let[n,r]=(0,Q.useState)(UC),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=Bt();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=HC)return;let l=Date.now(),u=await zC();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>VC){a.current=!0;return}e||(i.current=setTimeout(c,BC))}}let l=Date.now()-o.current;return l>=BC?c():i.current=setTimeout(c,BC-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}V(),jm(),_c(),De(),ys(),pe(),Xm(),Y(),tl(),rd(),zs(),yd(),Wd(),Au(),wn();var GC=()=>null,KC=5e3,qC=1e3;function JC(){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=sd(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,KC);return()=>clearInterval(n)},[]),e}function YC(){let e=(0,Q.useSyncExternalStore)($o,ta,GC),[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)(b,{dimColor:!0,children:[`waiting `,od(t*1e3,{mostSignificantOnly:!0})]})}function XC(){let[t,n]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=setInterval(()=>n(e=>e+1),qC);return()=>clearInterval(e)},[]);let r=(bl(),e(Ao)),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)(b,{color:d,children:[`goal (`,u,`)`]})}function ZC({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)(b,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(c)return(0,$.jsx)(b,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let m=Om()&&t===`INSERT`&&!l;return(0,$.jsxs)(g,{justifyContent:`flex-start`,gap:1,children:[l&&(0,$.jsx)(IC,{value:u,onChange:d,historyFailedMatch:f}),m?(0,$.jsx)(b,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(QC,{mode:n,toolPermissionContext:r,showHint:!i&&!m,isLoading:a,tasksSelected:o,tmuxSelected:s,onOpenTasksDialog:p})]})}function QC({mode:t,toolPermissionContext:n,showHint:r,isLoading:i,tasksSelected:a,tmuxSelected:o,onOpenTasksDialog:s}){let{columns:c}=ae(),l=Xc(`chat:cycleMode`,`Chat`,`shift+tab`),u=K(e=>e.tasks);ua();let f=WC(i,ew()),p=(0,Q.useSyncExternalStore)($o,ta,GC),m=ee(),h=B().getState,_=p!==null,v=(0,Q.useMemo)(()=>Oe(Object.values(u),e=>oo(e)),[u]),y=fp(),x=y!==void 0&&y.length>0,S=Xc(`chat:cancel`,`Chat`,`esc`).toLowerCase(),w=Xc(`app:toggleTodos`,`Global`,`ctrl+t`),T=Xc(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),E=K(e=>e.notifications.current?.key===`kill-agents-confirm`),D=JC(),O=(0,Q.useMemo)(()=>_d(wd()),[K(e=>e.mainLoopModel)]),k=Ud();if(t===`bash`)return(0,$.jsx)(b,{color:`bashBorder`,children:`! for bash mode`});let A=n?.mode,j=!ve(A),M=v>0,N=+!!j+ +!!M,P=ew()&&f.number!==null&&f.reviewState!==null&&f.url!==null&&N<2&&(N===0||c>=80),F=N<2,I=A&&j?(0,$.jsxs)(b,{color:Ee(A),children:[ot(A),` `,_e(A).toLowerCase(),` on`,F&&(0,$.jsxs)(b,{dimColor:!0,children:[` `,(0,$.jsx)(d,{shortcut:l,action:`cycle`,parens:!0})]})]},`mode`):null,L=[...P?[(0,$.jsx)(Ki,{number:f.number,url:f.url,reviewState:f.reviewState},`pr-status`)]:[],...D?[(0,$.jsxs)(b,{dimColor:D.level===`normal`,color:D.level===`error`?`error`:D.level===`warning`?`warning`:void 0,children:[D.text,` · pid:`,process.pid,` · `,O,k?` · ${k}`:``]},`rss`)]:[],...(bl(),e(Ao)).getGoal()?[(0,$.jsx)(XC,{},`goal-elapsed`)]:[]],te=Object.values(u).some(e=>e.type===`local_agent`&&e.status===`running`),R=r?$C(i,S,w,T,x,te,E):[];_?L.push((0,$.jsx)(YC,{},`proactive`)):r&&L.push(...R);let ne=M&&!qm(u,!1)?(0,$.jsx)(PC,{tasksSelected:a,onOpenDialog:s}):null;L.length===0&&!ne&&!I&&r&&L.push((0,$.jsx)(b,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let re=Mu().copyOnSelect??!0,ie=m&&(!re||z());if(Hr()&&ie){let e=Ku()===`macos`,t=e&&(h()?.lastPressHadAlt??!1);L.push((0,$.jsx)(b,{dimColor:!0,children:(0,$.jsxs)(C,{children:[!re&&(0,$.jsx)(d,{shortcut:`ctrl+c`,action:`copy`}),z()&&(t?(0,$.jsx)(b,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(d,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}return ne&&r&&L.push((0,$.jsx)(b,{dimColor:!0,children:a?(0,$.jsx)(d,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(d,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),L.length===0&&!ne&&!I?Hr()?(0,$.jsx)(b,{children:` `}):null:(0,$.jsxs)(g,{height:1,overflow:`hidden`,children:[I&&(0,$.jsxs)(g,{flexShrink:0,children:[I,(ne||L.length>0)&&(0,$.jsx)(b,{dimColor:!0,children:` · `})]}),ne&&(0,$.jsxs)(g,{flexShrink:0,children:[ne,L.length>0&&(0,$.jsx)(b,{dimColor:!0,children:` · `})]}),L.length>0&&(0,$.jsx)(b,{wrap:`truncate`,children:(0,$.jsx)(C,{children:L})})]})}function $C(e,t,n,r,i,a,o){let s=i;return[...e?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&a&&!o?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...s?[(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:n,action:`show tasks`})},`toggle-tasks`)]:[]]}function ew(){return Mu().prStatusFooterEnabled??!0}Rn(),tl(),V(),zs(),Pp(),Am();function tw({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:_,tasksSelected:v,tmuxSelected:y,mcpClients:b,isPasting:x=!1,isInputWrapped:S=!1,messages:C,isSearching:w,historyQuery:T,setHistoryQuery:E,historyFailedMatch:D,onOpenTasksDialog:O}){let k=or(),{columns:A,rows:j}=ae(),M=(0,Q.useRef)(C);M.current=C;let N=(0,Q.useMemo)(()=>jC(C),[C]),P=A<80,F=Hr(),ee=F&&j<24,I=v,L=h||kC(k)||w;return Rm((0,Q.useMemo)(()=>F&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[F,u,d,f])),u.length&&!F?(0,$.jsx)(g,{paddingX:2,paddingY:0,children:(0,$.jsx)(Fp,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(Mm,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)(g,{flexDirection:P?`column`:`row`,justifyContent:P?`flex-start`:`space-between`,paddingX:2,gap:+!P,children:[(0,$.jsxs)(g,{flexDirection:`column`,flexShrink:+!P,children:[i===`prompt`&&!ee&&!n.show&&!x&&kC(k)&&(0,$.jsx)(NC,{messagesRef:M,lastAssistantMessageId:N,vimMode:r}),(0,$.jsx)(rw,{}),(0,$.jsx)(ZC,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:L,isLoading:_,tasksSelected:I,tmuxSelected:y,isPasting:x,isSearching:w,historyQuery:T,setHistoryQuery:E,historyFailedMatch:D,onOpenTasksDialog:O})]}),(0,$.jsx)(g,{flexShrink:1,gap:1,children:F?null:(0,$.jsx)(bb,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:C,onAutoUpdaterResult:c,onChangeIsUpdating:l,mcpClients:b,isInputWrapped:S,isNarrow:P})})]})}var nw=(0,Q.memo)(tw);function rw(){return null}c(),V();function iw({isLoading:e}){return(0,$.jsxs)(b,{dimColor:e,children:[l.pointer,`\xA0`]})}function aw({mode:e,isLoading:t}){return(0,$.jsx)(g,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:e===`bash`?(0,$.jsx)(b,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(iw,{isLoading:t})})}V();var ow=Q.createContext(void 0),sw=2;function cw({isFirst:e,children:t}){let n=sw,r=Q.useMemo(()=>({isQueued:!0,isFirst:e,paddingWidth:n*2}),[e,n]);return(0,$.jsx)(ow.Provider,{value:r,children:(0,$.jsx)(g,{paddingX:n,children:t})})}V(),Y(),on(),gr(),ku(),cs();var lw=new Set;function uw(e){try{return xu(e)?.type===`idle_notification`}catch{return!1}}var dw=3;function fw(e){return`<${Pu}>
|
|
63
63
|
<${Ru}>+${e} more tasks completed</${Ru}>
|
|
64
64
|
<${Lu}>completed</${Lu}>
|
|
65
65
|
</${Pu}>`}function pw(e){let t=e.filter(e=>typeof e.value!=`string`||!uw(e.value)),n=t.filter(e=>e.mode===`task-notification`),r=t.filter(e=>e.mode!==`task-notification`);if(n.length<=dw)return[...r,...n];let i=n.slice(0,dw-1),a={value:fw(n.length-(dw-1)),mode:`task-notification`};return[...r,...i,a]}function mw(){let e=mb(),t=K(e=>!!e.viewingAgentTaskId),n=(0,Q.useMemo)(()=>{if(e.length===0)return null;let t=e.filter(Yr);return t.length===0?null:$s(pw(t).map(e=>{let t=e.value;return e.mode===`bash`&&typeof t==`string`&&(t=`<bash-input>${t}</bash-input>`),Xt({content:t})}))},[e]);return t||n===null?null:(0,$.jsx)(g,{marginTop:1,flexDirection:`column`,children:n.map((e,t)=>(0,$.jsx)(cw,{isFirst:t===0,children:(0,$.jsx)(Sl,{message:e,lookups:Wa,addMargin:!1,tools:[],commands:[],verbose:!1,inProgressToolUseIDs:lw,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,isTranscriptMode:!1,isStatic:!0})},t))})}var hw=Q.memo(mw);er(),c(),V();function gw({hasStash:e}){return e?(0,$.jsx)(g,{paddingLeft:2,children:(0,$.jsxs)(b,{dimColor:!0,children:[l.pointerSmall,` Stashed (auto-restores after submit)`]})}):null}Xf();var _w=1e4,vw=1e3;function yw(e,t){if(e.length<=_w)return{truncatedText:e,placeholderContent:``};let n=Math.floor(vw/2),r=e.slice(0,n),i=e.slice(-500),a=e.slice(n,-500);return{truncatedText:r+bw(t,Jf(a))+i,placeholderContent:a}}function bw(e,t){return`[...Truncated text #${e} +${t} lines...]`}function xw(e,t){let n=Object.keys(t).map(Number),r=n.length>0?Math.max(...n)+1:1,{truncatedText:i,placeholderContent:a}=yw(e,r);return a?{newInput:i,newPastedContents:{...t,[r]:{id:r,type:`text`,content:a}}}:{newInput:e,newPastedContents:t}}function Sw({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}=xw(e,t);n(s),r(s.length),i(c),o(!0)},[e,a,t,n,i,r]),(0,Q.useEffect)(()=>{e===``&&o(!1)},[e])}Y(),Au(),on(),_a();var Cw=3;function ww({input:e,submitCount:t}){let n=mb(),r=K(e=>e.promptSuggestionEnabled);return(0,Q.useMemo)(()=>{if(e===``){if(n.some(Ws)&&(Mu().queuedCommandUpHintCount||0)<Cw)return`Press up to edit queued messages`;if(t<1&&r&&!Cr())return $m()}},[e,n,t,r])}var Tw=5e3,Ew=!1;function Dw(e){let[t,n]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{if(Ew||!e)return;Ew=!0,n(!0);let t=setTimeout(n,Tw,!1);return()=>{clearTimeout(t),n(!1)}},[e]),t}R(),tf(),Zu(),Y(),on(),_(),Ur(),np(),Wm(),Xf(),Gp(),tl(),V(),As(),Cc(),ul(),eu(),pe(),Ef(),Au(),Du(),Ie(),vu(),zs(),Li(),Bu(),yd(),Ju(),Hp(),xs(),jf(),Xm(),vf(),jm();var Ow=5,kw=3;function Aw({debug:e,toolPermissionContext:t,setToolPermissionContext:n,apiKeyStatus:r,commands:i,agents:a,isLoading:o,verbose:s,messages:c,onAutoUpdaterResult:l,autoUpdaterResult:u,input:d,onInputChange:f,mode:p,onModeChange:h,stashedPrompt:_,setStashedPrompt:v,submitCount:y,onShowMessageSelector:x,onMessageActionsEnter:S,mcpClients:C,pastedContents:w,setPastedContents:T,vimMode:D,setVimMode:O,showBashesDialog:k,setShowBashesDialog:j,onExit:M,getToolUseContext:N,onSubmit:P,isSearchingHistory:F,setIsSearchingHistory:ee,onDismissSideQuestion:I,isSideQuestionVisible:L,helpOpen:R,setHelpOpen:z,hasSuppressedDialogs:re,isLocalJSXCommandActive:ie=!1,insertTextRef:B}){let oe=Wp(),V=ep()||ie,[ce,le]=(0,Q.useState)(!1),[H,ue]=(0,Q.useState)({show:!1}),[U,W]=(0,Q.useState)(d.length),de=Q.useRef(d);d!==de.current&&(W(d.length),de.current=d);let fe=Q.useCallback(e=>{de.current=e,f(e)},[f]);B&&(B.current={cursorOffset:U,insert:e=>{let t=U===d.length&&d.length>0&&!/\s$/.test(d)?` ${e}`:e,n=d.slice(0,U)+t+d.slice(U);de.current=n,f(n),W(U+t.length)},setInputWithCursor:(e,t)=>{de.current=e,f(e),W(t)}});let pe=ua(),me=Qn(),he=K(e=>e.tasks),ge=mb(),_e=K(e=>e.promptSuggestion),ve=K(e=>e.speculation),ye=K(e=>e.speculationSessionTimeSavedMs),be=K(e=>e.mainLoopModel),xe=K(e=>e.mainLoopModelForSession),Se=K(e=>e.thinkingEnabled),Ce=K(e=>Xr()?e.fastMode:!1),we=K(e=>e.viewingAgentTaskId);K(e=>e.viewSelectionMode);let{historyQuery:Te,setHistoryQuery:Ee,historyMatch:De,historyFailedMatch:ke}=kb(e=>{T(e.pastedContents),Ut(e.display)},d,fe,W,U,h,p,F,ee,T,w),Ae=(0,Q.useRef)(-1);Ae.current===-1&&(Ae.current=jw(c));let je=(0,Q.useRef)(!1),Me=K(e=>e.selectedBgAgentIndex),Ne=(0,Q.useCallback)(e=>me(t=>{let n=typeof e==`function`?e(t.selectedBgAgentIndex):e;return n===t.selectedBgAgentIndex?t:{...t,selectedBgAgentIndex:n}}),[me]),[Pe,Fe]=(0,Q.useState)(!1),[Ie,Le]=(0,Q.useState)(!1),[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=(0,Q.useMemo)(()=>{let e=d.indexOf(`
|
|
@@ -117,8 +117,8 @@ Instead, provide a brief summary:
|
|
|
117
117
|
|
|
118
118
|
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.
|
|
119
119
|
</goal-steering>`}Du(),bl(),on();function _T(e){X(`[goal] hook: ${e}`)}function vT(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?.()){_T(`skip: queryActiveNow=true`);return}if(e.wasAborted){_T(`skip: wasAborted=true`);return}if(n.current)return;if(J().length>0){_T(`skip: yielding to queued user messages`);return}if(e.hasActiveLocalJsxUI){_T(`skip: activeLocalJsxUI`);return}if(e.isInPlanMode){_T(`skip: planMode`);return}let t=il();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=gT(t);X(`[goal] hook: budget limit reached, injecting wrap-up prompt`),zl({value:e,mode:`prompt`,priority:`now`,isMeta:!0,origin:`goal-budget-limit`,skipSlashCommands:!0});return}if(t.status!==`active`){_T(`skip: status="${t.status}" (not active)`);return}if(t.turnsExecuted>=150){Ro()&&(Jo(),e.onMaxTurnsReached?.()),X(`[goal] hook: MAX_GOAL_TURNS (150) reached, stopping`);return}n.current=!0;let i=rc();Jo();let a=hT(t);X(`[goal] hook: enqueuing turn ${i} for "${t.objective.slice(0,60)}"`),zl({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])}vm(),hf(),V(),ul(),_c(),Y(),Au(),Ie(),a();function yT({onBackgroundSession:e,isLoading:t}){let n=Qn(),r=ua(),[a,o]=(0,Q.useState)(!1),s=te(o,e,()=>{}),c=(0,Q.useCallback)(()=>{i(process.env.WORKMATE_DISABLE_BACKGROUND_TASKS)||(dc(r.getState())?(Fc(()=>r.getState(),n),Mu().hasUsedBackgroundTask||ju(e=>e.hasUsedBackgroundTask?e:{...e,hasUsedBackgroundTask:!0})):i(`false`)&&t&&s())},[n,r,t,s]),l=K(dc),u=i(`false`);E(`task:background`,c,{context:`Task`,isActive:l||u&&t});let f=Xc(`task:background`,`Task`,`ctrl+b`),p=et.terminal===`tmux`&&f===`ctrl+b`?`ctrl+b ctrl+b`:f;return!t||!a?null:(0,$.jsx)(g,{paddingLeft:2,children:(0,$.jsx)(b,{dimColor:!0,children:(0,$.jsx)(d,{shortcut:p,action:`background`})})})}Y();function bT({setMessages:e,setIsLoading:t,resetLoadingState:n,setAbortController:r,onBackgroundQuery:i}){let a=K(e=>e.foregroundedTaskId),o=K(e=>e.foregroundedTaskId?e.tasks[e.foregroundedTaskId]:void 0),s=Qn(),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}}af(),em(),rm(),tf(),Bu();function xT(e){let{addNotification:t}=ef(),n=(0,Q.useRef)(!1),r=(0,Q.useRef)(e);r.current=e,(0,Q.useEffect)(()=>{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(Hu))},[t])}function ST(){xT(async()=>(await nm()).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`}}))}Au(),_u(),Du(),gr(),yd(),gl(),Ta(),V(),gr();function CT(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=M();e!==`blurred`&&e!==`unknown`||o.current?.()},[n]),(0,Q.useEffect)(()=>{M()},[n,!1])}Zu(),Au(),Du(),a(),vu(),Bu();function wT(){return i(process.env.WORKMATE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var TT={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600*1e3,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:10080*60*1e3};function ET(e){let t=TT.INITIAL_DELAY_MS*TT.BACKOFF_MULTIPLIER**e;return Math.min(t,TT.MAX_DELAY_MS)}function DT(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>=TT.MAX_ATTEMPTS||t===`policy_blocked`||r&&i<r?!1:t===`unknown`||t===`git_unavailable`||t===`gcs_unavailable`||t===void 0}async function OT(){let e=Mu();if(!DT(e)){let t=e.officialMarketplaceAutoInstallFailReason??`already_attempted`;return X(`Official marketplace auto-install skipped: ${t}`),{installed:!1,skipped:!0,reason:t}}try{if(wT())return X(`Official marketplace auto-install disabled via env var, skipping`),ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),{installed:!1,skipped:!0,reason:`policy_blocked`};if((await Bo())[`claude-plugins-official`])return X(`Official marketplace '${so}' already installed, skipping`),ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:`already_installed`};if(!Js(Nl))return X(`Official marketplace blocked by enterprise policy, skipping`),ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),{installed:!1,skipped:!0,reason:`policy_blocked`};let t=Mo(),n=dh(t,so);if(await So(n,t)!==null){let e=await Bo();return e[so]={source:Nl,installLocation:n,lastUpdated:new Date().toISOString()},await no(e),ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),{installed:!0,skipped:!1}}if(!await Ho()){X(`Git not available, skipping official marketplace auto-install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+ET(t),i=!1;try{ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`git_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r}))}catch(e){i=!0,Hu(Su(e)),X(`Failed to save marketplace auto-install git_unavailable state: ${e}`,{level:`error`})}return{installed:!1,skipped:!0,reason:`git_unavailable`,configSaveFailed:i}}return X(`Attempting to auto-install official marketplace`),await Ms(Nl),X(`Successfully auto-installed official marketplace`),e.officialMarketplaceAutoInstallRetryCount,ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),{installed:!0,skipped:!1}}catch(t){let n=t instanceof Error?t.message:String(t);if(n.includes(`xcrun: error:`))return Bc(),X(`Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable`),{installed:!1,skipped:!0,reason:`git_unavailable`};X(`Failed to auto-install official marketplace: ${n}`,{level:`error`}),Hu(Su(t));let r=(e.officialMarketplaceAutoInstallRetryCount||0)+1,i=Date.now(),a=i+ET(r),o=!1;try{ju(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`unknown`,officialMarketplaceAutoInstallRetryCount:r,officialMarketplaceAutoInstallLastAttemptTime:i,officialMarketplaceAutoInstallNextRetryTime:a}))}catch(e){o=!0,Hu(Su(e)),X(`Failed to save marketplace auto-install failure state: ${e}`,{level:`error`})}return{installed:!1,skipped:!0,reason:`unknown`,configSaveFailed:o}}}V(),Du();function kT(){xT(async()=>{let e=await OT(),t=[];return e.configSaveFailed&&(X(`Showing marketplace config save failure notification`),t.push({key:`marketplace-config-save-failed`,jsx:(0,$.jsx)(b,{color:`error`,children:`Failed to save marketplace retry info · Check ~/.workmate.json permissions`}),priority:`immediate`,timeoutMs:1e4})),e.installed?(X(`Showing marketplace installation success notification`),t.push({key:`marketplace-installed`,jsx:(0,$.jsx)(b,{color:`success`,children:`✓ Official marketplace installed · /plugin to see available plugins`}),priority:`immediate`,timeoutMs:7e3})):e.skipped&&e.reason===`unknown`&&(X(`Showing marketplace installation failure notification`),t.push({key:`marketplace-install-failed`,jsx:(0,$.jsx)(b,{color:`warning`,children:`Failed to install official marketplace · Will retry on next startup`}),priority:`immediate`,timeoutMs:8e3})),t})}Je(),Zu();function AT(e){if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(e=>({tip:e,sessions:th(e.id)}));return t.sort((e,t)=>t.sessions-e.sessions),t[0]?.tip}async function jT(e){if(Be().spinnerTipsEnabled===!1)return;let t=await rh(e);if(t.length!==0)return AT(t)}function MT(e){nh(e.id),e.id,e.cooldownSessions}vu(),Bu(),Y();async function NT(e,t,n){}function PT(){let e=K(e=>e.mainLoopModel),t=K(e=>e.mainLoopModelForSession),n=K(e=>e.fastMode),r=Qn(),i=ua(),a=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{a.current&&(a.current=!1),NT(i.getState().toolPermissionContext,r,n).catch(e=>{Hu(Error(`Auto mode gate check failed`,{cause:Su(e)}))})},[e,t,n])}uo();function FT(e,t,n){let r=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{!Gt()||r.current||(r.current=!0,e&&Zc(e,n))},[t,e,n])}V(),el(),zf(),Tm();function IT({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`},...Do()?[]:[{label:(0,$.jsxs)(b,{children:[`Yes, and don't ask again for `,(0,$.jsx)(b,{bold:!0,children:e})]}),value:`yes-dont-ask-again`}],{label:(0,$.jsxs)(b,{children:[`No, and tell Work Mate what to do differently `,(0,$.jsx)(b,{bold:!0,children:`(esc)`})]}),value:`no`}];return(0,$.jsx)(Dm,{title:`Network request outside of sandbox`,children:(0,$.jsxs)(g,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{dimColor:!0,children:`Host:`}),(0,$.jsxs)(b,{children:[` `,e]})]}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsx)(b,{children:`Do you want to allow this connection?`})}),(0,$.jsx)(g,{children:(0,$.jsx)(Bf,{options:r,onChange:n,onCancel:()=>{t({allow:!1,persistToSettings:!1})}})})]})})}V(),el(),Ju();function LT(e){return`${e.getHours()%12||12}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}${e.getHours()<12?`am`:`pm`}`}function RT(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(0);return(0,Q.useEffect)(()=>{let e=co.getSandboxViolationStore();return e.subscribe(n=>{t(n.slice(-10)),r(e.getTotalCount())})},[]),!co.isSandboxingEnabled()||Ku()===`linux`||n===0?null:(0,$.jsxs)(g,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(g,{marginLeft:0,children:(0,$.jsxs)(b,{color:`permission`,children:[`⧈ Sandbox blocked `,n,` total `,n===1?`operation`:`operations`]})}),e.map((e,t)=>(0,$.jsx)(g,{paddingLeft:2,children:(0,$.jsxs)(b,{dimColor:!0,children:[LT(e.timestamp),e.command?` ${e.command}:`:``,` `,e.line]})},`${e.timestamp.getTime()}-${t}`)),(0,$.jsx)(g,{paddingLeft:2,children:(0,$.jsxs)(b,{dimColor:!0,children:[`… showing last `,Math.min(10,e.length),` of `,n]})})]})}hm(),tf(),V();var zT=[];function BT({mcpClients:e=zT}){let{addNotification:t}=ef();(0,Q.useEffect)(()=>{let n=e.filter(e=>e.type===`failed`&&e.config.type!==`sse-ide`&&e.config.type!==`ws-ide`),r=e.filter(e=>e.type===`needs-auth`);n.length===0&&r.length===0||(n.length>0&&t({key:`mcp-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{color:`error`,children:[n.length,` MCP `,n.length===1?`server`:`servers`,` failed`]}),(0,$.jsx)(b,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),r.length>0&&t({key:`mcp-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{color:`warning`,children:[r.length,` MCP `,r.length===1?`server needs`:`servers need`,` `,`auth`]}),(0,$.jsx)(b,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}))},[t,e])}V(),Je(),am();var VT=`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.`;le(),ht(),tf(),V(),Y(),Du(),a();var HT=5e3;function UT(){let{addNotification:e}=ef(),t=Qn(),[n,r]=Q.useState(()=>i(`true`)),a=Q.useRef(new Set),o=Q.useCallback((n,r)=>{let i=`${n}:${r}`;if(a.current.has(i))return;a.current.add(i),X(`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)(b,{color:`error`,children:[`LSP for `,o,` failed`]}),(0,$.jsx)(b,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`,timeoutMs:8e3})},[e,t]),s=Q.useCallback(()=>{if(ft())return;let e=dn();if(e.status===`failed`){o(`lsp-manager`,e.error.message),r(!1);return}if(e.status===`pending`||e.status===`not-started`)return;let t=da();if(t){let e=t.getAllServers();for(let[t,n]of e)n.state===`error`&&n.lastError&&o(t,n.lastError.message)}},[o]);F(s,n?HT:null),Q.useEffect(()=>{n&&s()},[s,n])}Du();var WT=new Map;async function GT(e){if(!e?.trim())return X(`[binaryCheck] Empty command provided, returning false`),!1;let t=e.trim(),n=WT.get(t);if(n!==void 0)return X(`[binaryCheck] Cache hit for '${t}': ${n}`),n;let r=!1;return await Gu(t).catch(()=>null)&&(r=!0),WT.set(t,r),X(`[binaryCheck] Binary '${t}' ${r?`found`:`not found`}`),r}Au(),Du(),xl();var KT=5;function qT(e){return Ze.has(e.toLowerCase())}function JT(e){if(!e)return null;if(typeof e==`string`)return X(`[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=XT(t);if(e)return e}return null}return XT(e)}function YT(e){return typeof e==`object`&&!!e}function XT(e){let t=new Set,n=null;for(let[r,i]of Object.entries(e)){if(!YT(i))continue;!n&&typeof i.command==`string`&&(n=i.command);let e=i.extensionToLanguage;if(YT(e))for(let n of Object.keys(e))t.add(n.toLowerCase())}return!n||t.size===0?null:{extensions:t,command:n}}async function ZT(){let e=new Map;try{let t=await Bo();for(let n of Object.keys(t))try{let t=await ol(n),r=qT(n);for(let i of t.plugins){if(!i.lspServers)continue;let t=JT(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){X(`[lspRecommendation] Failed to load marketplace ${n}: ${e}`)}}catch(e){X(`[lspRecommendation] Failed to load marketplaces config: ${e}`)}return e}async function QT(e){if(tE())return X(`[lspRecommendation] Recommendations are disabled`),[];let t=uh(e).toLowerCase();if(!t)return X(`[lspRecommendation] No file extension found`),[];X(`[lspRecommendation] Looking for LSP plugins for ${t}`);let n=await ZT(),r=Mu().lspRecommendationNeverPlugins??[],i=[];for(let[e,a]of n)if(a.extensions.has(t)){if(r.includes(e)){X(`[lspRecommendation] Skipping ${e} (in never suggest list)`);continue}if(Ut(e)){X(`[lspRecommendation] Skipping ${e} (already installed)`);continue}i.push({info:a,pluginId:e})}let a=[];for(let{info:e,pluginId:t}of i)await GT(e.command)?(a.push({info:e,pluginId:t}),X(`[lspRecommendation] Binary '${e.command}' found for ${t}`)):X(`[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 $T(e){ju(t=>{let n=t.lspRecommendationNeverPlugins??[];return n.includes(e)?t:{...t,lspRecommendationNeverPlugins:[...n,e]}}),X(`[lspRecommendation] Added ${e} to never suggest`)}function eE(){ju(e=>{let t=(e.lspRecommendationIgnoredCount??0)+1;return{...e,lspRecommendationIgnoredCount:t}}),X(`[lspRecommendation] Incremented ignored count`)}function tE(){let e=Mu();return e.lspRecommendationDisabled===!0||(e.lspRecommendationIgnoredCount??0)>=KT}c(),V(),Bu(),xl();function nE(){let[e,t]=Q.useState(null),n=Q.useRef(!1),r=Q.useCallback(r=>{e||n.current||(n.current=!0,r().then(e=>{e&&t(e)}).catch(Hu).finally(()=>{n.current=!1}))},[e]);return{recommendation:e,clearRecommendation:Q.useCallback(()=>t(null),[]),tryResolve:r}}async function rE(e,t,n,r,i){try{let a=await ac(e);if(!a)throw Error(`Plugin ${e} not found in marketplace`);await i(a),r({key:`${n}-installed`,jsx:(0,$.jsxs)(b,{color:`success`,children:[l.tick,` `,t,` installed · restart to apply`]}),priority:`immediate`,timeoutMs:5e3})}catch(e){Hu(e),r({key:`${n}-install-failed`,jsx:(0,$.jsxs)(b,{color:`error`,children:[`Failed to install `,t]}),priority:`immediate`,timeoutMs:5e3})}}ht(),tf(),Y(),Au(),Du(),Bu(),Je();var iE=28e3;function aE(){let e=K(e=>e.fileHistory.trackedFiles),{addNotification:t}=ef(),n=Q.useRef(new Set),{recommendation:r,clearRecommendation:i,tryResolve:a}=nE();return Q.useEffect(()=>{a(async()=>{if(At())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 QT(e))[0];if(t)return X(`[useLspPluginRecommendation] Found match: ${t.pluginName} for ${e}`),wt(!0),{pluginId:t.pluginId,pluginName:t.pluginName,pluginDescription:t.description,fileExtension:uh(e),shownAt:Date.now()}}catch(e){Hu(e)}return null})},[e,a]),{recommendation:r,handleResponse:Q.useCallback(e=>{if(!r)return;let{pluginId:n,pluginName:a,shownAt:o}=r;switch(X(`[useLspPluginRecommendation] User response: ${e} for ${a}`),e){case`yes`:rE(n,a,`lsp-plugin`,t,async e=>{X(`[useLspPluginRecommendation] Installing plugin: ${n}`);let t=typeof e.entry.source==`string`?dh(e.marketplaceInstallLocation,e.entry.source):void 0;await Mi(n,e.entry,`user`,void 0,t),at(`userSettings`,{enabledPlugins:{...tt(`userSettings`)?.enabledPlugins,[n]:!0}}),X(`[useLspPluginRecommendation] Plugin installed: ${n}`)});break;case`no`:{let e=Date.now()-o;e>=iE&&(X(`[useLspPluginRecommendation] Timeout detected (${e}ms), incrementing ignored count`),eE());break}case`never`:$T(n);break;case`disable`:ju(e=>e.lspRecommendationDisabled?e:{...e,lspRecommendationDisabled:!0});break}i()},[r,t,i])}}V(),zf(),Tm();var oE=3e4;function sE({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`),oE,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)(Dm,{title:`LSP Plugin Recommendation`,children:(0,$.jsxs)(g,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(g,{marginBottom:1,children:(0,$.jsx)(b,{dimColor:!0,children:`LSP provides code intelligence like go-to-definition and error checking`})}),(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(b,{children:[` `,e]})]}),t&&(0,$.jsx)(g,{children:(0,$.jsx)(b,{dimColor:!0,children:t})}),(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{dimColor:!0,children:`Triggered by:`}),(0,$.jsxs)(b,{children:[` `,n,` files`]})]}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsx)(b,{children:`Would you like to install this LSP plugin?`})}),(0,$.jsx)(g,{children:(0,$.jsx)(Bf,{options:[{label:(0,$.jsxs)(b,{children:[`Yes, install `,(0,$.jsx)(b,{bold:!0,children:e})]}),value:`yes`},{label:`No, not now`,value:`no`},{label:(0,$.jsxs)(b,{children:[`Never for `,(0,$.jsx)(b,{bold:!0,children:e})]}),value:`never`},{label:`Disable all LSP recommendations`,value:`disable`}],onChange:a,onCancel:()=>r(`no`)})})]})})}tf(),Zu(),Du(),ln();function cE(){let e=Q.useSyncExternalStore(yl,rl),{addNotification:t}=ef(),{recommendation:n,clearRecommendation:r,tryResolve:i}=nE();return Q.useEffect(()=>{e&&i(async()=>{let t=await Da(e);return t&&(X(`[useWorkMateHintRecommendation] surfacing ${t.pluginId} from ${t.sourceCommand}`),nc()),rl()===e&&Tc(),t})},[e,i]),{recommendation:n,handleResponse:Q.useCallback(e=>{if(n){switch(Pa(n.pluginId),n.pluginName,n.marketplaceName,e){case`yes`:{let{pluginId:e,pluginName:r,marketplaceName:i}=n;rE(e,r,`hint-plugin`,t,async t=>{let n=await ca({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`:Wc();break;case`no`:break}r()}},[n,t,r])}}V(),zf(),Tm();var lE=3e4;function uE({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`),lE,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)(Dm,{title:`Plugin Recommendation`,children:(0,$.jsxs)(g,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(g,{marginBottom:1,children:(0,$.jsxs)(b,{dimColor:!0,children:[`The `,(0,$.jsx)(b,{bold:!0,children:r}),` command suggests installing a plugin.`]})}),(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(b,{children:[` `,e]})]}),(0,$.jsxs)(g,{children:[(0,$.jsx)(b,{dimColor:!0,children:`Marketplace:`}),(0,$.jsxs)(b,{children:[` `,n]})]}),t&&(0,$.jsx)(g,{children:(0,$.jsx)(b,{dimColor:!0,children:t})}),(0,$.jsx)(g,{marginTop:1,children:(0,$.jsx)(b,{children:`Would you like to install it?`})}),(0,$.jsx)(g,{children:(0,$.jsx)(Bf,{options:[{label:(0,$.jsxs)(b,{children:[`Yes, install `,(0,$.jsx)(b,{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`)})})]})})}zf(),Tm();var dE=3e4;function fE({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(),dE,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)(Dm,{title:`Tool Recommendation`,children:(0,$.jsx)(Bf,{options:a,onChange:e=>{e===`__dismiss__`?i.current():(i.current(),r.current(e))}})})}var pE=.15,mE=3;function hE(){let e=Q.useSyncExternalStore(es,Ai),t=Q.useMemo(()=>e.length===0?[]:e.slice(0,mE).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)>=pE,handleSelect:Q.useCallback(e=>{Ya()},[]),handleDismiss:Q.useCallback(()=>{Ya()},[])}}tf(),V(),Y(),Du(),dd();function gE(){let{addNotification:e}=ef(),t=K(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(!t){X(`No installation status to monitor`);return}n!==0&&(X(`Plugin installation status: ${r} failed marketplaces, ${i} failed plugins`),n!==0&&(X(`Adding notification for ${n} failed installations`),e({key:`plugin-install-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b,{color:`error`,children:[n,` `,ud(n,`plugin`),` failed to install`]}),(0,$.jsx)(b,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`})))},[e,n,r,i])}tf(),V(),Du(),Nm();function _E(){let{addNotification:e}=ef(),[t,n]=(0,Q.useState)([]);(0,Q.useEffect)(()=>Pm(e=>{X(`Plugin autoupdate notification: ${e.length} plugin(s) updated`),n(e)}),[]),(0,Q.useEffect)(()=>{if(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)(b,{color:`success`,children:[n.length===1?`Plugin`:`Plugins`,` updated: `,r]}),(0,$.jsx)(b,{dimColor:!0,children:` · Run /reload-plugins to apply`})]}),priority:`low`,timeoutMs:1e4}),X(`Showing plugin autoupdate notification for: ${n.join(`, `)}`)},[t,e])}Du(),Bu(),xl(),kp(),Zu();function vE(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 yE(e){X(`performBackgroundPluginInstallations called`);try{let t=Dp(Oc(),await Bo().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;X(`Installing ${n.length} marketplace(s) in background`);let r=await Ep({onProgress:t=>{switch(t.type){case`installing`:vE(e,t.name,`installing`);break;case`installed`:vE(e,t.name,`installed`);break;case`failed`:vE(e,t.name,`failed`,t.error);break}}});if(Ve(`info`,`tengu_marketplace_background_install`,{installed_count:r.installed.length,updated_count:r.updated.length,failed_count:r.failed.length,up_to_date_count:r.upToDate.length}),r.installed.length>0){mo(),X(`Auto-refreshing plugins after ${r.installed.length} new marketplace(s) installed`);try{await Op(e)}catch(t){Hu(t),X(`Auto-refresh failed, falling back to needsRefresh: ${t}`,{level:`warn`}),$t(`performBackgroundPluginInstallations: auto-refresh failed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})}}else r.updated.length>0&&(mo(),$t(`performBackgroundPluginInstallations: marketplaces reconciled`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}}))}catch(e){Hu(e)}}Au(),Du(),xl(),hi();async function bE(e){if(X(`performStartupChecks called`),!Nu()){X(`Trust not accepted for current directory - skipping plugin installations`);return}try{X(`Starting background plugin installations`),await Ds()&&(mo(),$t(`performStartupChecks: seed marketplaces changed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})),await yE(e)}catch(e){X(`Error initiating background plugin installations: ${e}`)}}tf(),V(),Ii();function xE(e){let{addNotification:t}=ef(),n=hb(),r=(0,Q.useMemo)(()=>wc(n,e),[n,e]),i=(0,Q.useMemo)(()=>nl(n),[n]),a=(0,Q.useRef)(null),o=Iw(),[s,c]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{n.isUsingOverage&&!s&&o?(t({key:`limit-reached`,text:i,priority:`immediate`}),c(!0)):!n.isUsingOverage&&s&&c(!1)},[n.isUsingOverage,i,s,t,o]),(0,Q.useEffect)(()=>{r&&r!==a.current&&(a.current=r,t({key:`rate-limit-warning`,jsx:(0,$.jsx)(b,{children:(0,$.jsx)(b,{color:`warning`,children:r})}),priority:`high`}))},[r,t])}tf();function SE(e){let{addNotification:t}=ef(),n=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{let r=eh(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])}a();var CE=``;function wE(){xT(async()=>qu()||i(process.env.DISABLE_INSTALLATION_CHECKS)||await tm()===`development`?null:{timeoutMs:15e3,key:`npm-deprecation-warning`,text:CE,color:`warning`,priority:`high`})}Au();var TE=[e=>{if(DE(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(DE(e.legacyOpusMigrationTimestamp??e.opusProMigrationTimestamp))return{key:`opus-pro-update`,text:t?`Model updated to Opus 4.7 · Set WORKMATE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out`:`Model updated to Opus 4.7`,color:`suggestion`,priority:`high`,timeoutMs:t?8e3:3e3}}];function EE(){xT(()=>{let e=Mu(),t=[];for(let n of TE){let r=n(e);r&&t.push(r)}return t.length>0?t:null})}function DE(e){return e!==void 0&&Date.now()-e<3e3}tf(),Y(),Qt(),rd();var OE=`fast-mode-cooldown-started`,kE=`fast-mode-cooldown-expired`,AE=`fast-mode-org-changed`,jE=`fast-mode-overage-rejected`;function ME(){let{addNotification:e}=ef(),t=K(e=>e.fastMode),n=Qn();(0,Q.useEffect)(()=>{if(Xr())return ji(r=>{r?e({key:AE,color:`fastMode`,priority:`immediate`,text:`Fast mode is now available · /fast to turn on`}):t&&(n(e=>({...e,fastMode:!1})),e({key:AE,color:`warning`,priority:`immediate`,text:`Fast mode has been disabled by your organization`}))})},[e,t,n]),(0,Q.useEffect)(()=>{if(Xr())return Ar(t=>{n(e=>({...e,fastMode:!1})),e({key:jE,color:`warning`,priority:`immediate`,text:t})})},[e,n]),(0,Q.useEffect)(()=>{if(!t)return;let n=rr((t,n)=>{let r=NE(n,od(t-Date.now(),{hideTrailingZeros:!0}));e({key:OE,invalidates:[kE],text:r,color:`warning`,priority:`immediate`})}),r=Pn(()=>{e({key:kE,invalidates:[OE],color:`fastMode`,text:`Fast limit reset · now using fast mode`,priority:`immediate`})});return()=>{n(),r()}},[e,t])}function NE(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}`}}Lm(),V(),Au(),hp();function PE(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||!(Mu().copyOnSelect??!0))return;let a=e.copySelectionNoClear();if(!a?.trim()){r.current=!0;return}r.current=!0,i.current?.(a)})},[t,e])}function FE(e){let[t]=h();(0,Q.useEffect)(()=>{e.setSelectionBgColor(mp(t).selectionBg)},[e,t])}tf(),V(),ul(),Du();var IE=40,LE=.3,RE=6,zE=200,BE=15,VE=15,HE=3,UE=1500,WE=150,GE=5,KE=5,qE=80,JE=3,YE=6,XE=500;function ZE(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 QE(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 $E(e,t,n){if(!e.xtermJs){if(e.wheelMode&&n-e.time>UE&&(e.wheelMode=!1,e.burstCount=0,e.mult=e.base),e.pendingFlip){if(e.pendingFlip=!1,t!==e.dir||n-e.time>zE)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<KE)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/WE),n=Math.max(VE,e.base*2),i=1+(e.mult-1)*t+BE*t;return e.mult=Math.min(n,i,e.mult+HE),Math.floor(e.mult)}if(r>IE)e.mult=e.base;else{let t=Math.max(RE,e.base*2);e.mult=Math.min(t,e.mult+LE)}return Math.floor(e.mult)}let r=n-e.time,i=t===e.dir;if(e.time=n,e.dir=t,i&&r<KE)return 1;if(!i||r>XE)e.mult=2,e.frac=0;else{let t=.5**(r/WE);e.mult=Math.min(r>=qE?JE:YE,1+(e.mult-1)*t+GE*t)}let a=e.mult+e.frac,o=Math.floor(a);return e.frac=a-o,o}function eD(){let e=process.env.WORKMATE_SCROLL_SPEED;if(!e)return 1;let t=parseFloat(e);return Number.isNaN(t)||t<=0?1:Math.min(t,20)}function tD(e=!1,t=1){return{time:0,mult:t,dir:0,xtermJs:e,frac:0,base:t,pendingFlip:!1,wheelMode:!1,burstCount:0}}function nD(){let e=z(),t=eD();return X(`wheel accel: ${e?`decay (xterm.js)`:`window (native)`} · base=${t} · TERM_PROGRAM=${process.env.TERM_PROGRAM??`unset`}`),tD(e,t)}var rD=2,iD=50,aD=200;function oD({scrollRef:e,isActive:t,onScroll:n,isModal:r=!1}){let i=B(),{addNotification:a}=ef(),o=(0,Q.useRef)(null);function s(e){let t=ie(),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 m({"scroll:pageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=lD(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=lD(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=nD()),dD(t,$E(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=nD());let r=uD(t,$E(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}),m({"scroll:halfPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=lD(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=lD(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=lD(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=lD(t,r);n?.(i,t)}},{context:`Scroll`,isActive:t}),ne((t,r,i)=>{let a=e.current;if(!a)return;let o=pD(a,fD(t,r),e=>l(a,e));o!==null&&(n?.(o,a),i.stopImmediatePropagation())},{isActive:t&&r}),ne((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=QE(t);if(r){i.moveFocus(r),n.stopImmediatePropagation();return}ZE(t)&&i.clearSelection()},{isActive:t}),sD(e,i,t,n),PE(i,t,s),FE(i),null}function sD(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>aD){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(rD,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(rD,e-i.getScrollTop());t.captureScrolledRows(l,l+n-1,`above`),t.shiftAnchor(-n,l,u),i.scrollBy(rD)}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,iD)))}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=cD(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 cD(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 lD(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 uD(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 dD(e,t){if(e.getScrollTop()+e.getPendingDelta()-t<=0){e.scrollTo(0);return}e.scrollBy(-t)}function fD(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 pD(e,t,n){switch(t){case null:return null;case`lineUp`:case`lineDown`:{let r=t===`lineDown`?1:-1;return n(r),lD(e,r)}case`halfPageUp`:case`halfPageDown`:{let r=Math.max(1,Math.floor(e.getViewportHeight()/2)),i=t===`halfPageDown`?r:-r;return n(i),lD(e,i)}case`fullPageUp`:case`fullPageDown`:{let r=Math.max(1,e.getViewportHeight()),i=t===`fullPageDown`?r:-r;return n(i),lD(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}}}ht(),dl(),pe(),c(),V(),tl(),Rp(),tf(),Du(),a(),rd(),Rc(),Ur(),pf(),Uo(),Xf(),vf(),_c(),Cc(),vu(),Vr(),vo(),Es(),Au(),Zu(),gr(),Vu(),ms(),Qa(),Vm(),up(),pc(),Gp(),Y(),No(),_s(),uo(),_a(),Gi(),on(),eu(),mn(),el(),zs();var mD=3e3;function hD({showAllInTranscript:e,virtualScroll:t,searchBadge:n,suppressShowAll:r=!1,status:i}){let a=Xc(`app:toggleTranscript`,`Global`,`ctrl+o`),o=Xc(`transcript:toggleShowAll`,`Transcript`,`ctrl+e`);return(0,$.jsxs)(g,{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)(b,{dimColor:!0,children:[`Showing detailed transcript · `,a,` to toggle`,n?` · n/N to navigate`:t?` · ${l.arrowUp}${l.arrowDown} scroll · home/end top/bottom`:r?``:` · ${o} to ${e?`collapse`:`show all`}`]}),i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g,{flexGrow:1}),(0,$.jsxs)(b,{children:[i,` `]})]}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(g,{flexGrow:1}),(0,$.jsxs)(b,{dimColor:!0,children:[n.current,`/`,n.count,` `]})]}):null]})}function gD({jumpRef:e,count:t,current:n,onClose:r,onCancel:i,setHighlight:a,initialQuery:o}){let{query:s,cursorOffset:c}=um({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)(g,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,noSelect:!0,children:[(0,$.jsx)(b,{children:`/`}),(0,$.jsx)(b,{children:s.slice(0,f)}),(0,$.jsx)(b,{inverse:!0,children:p}),f<s.length&&(0,$.jsx)(b,{children:s.slice(f+1)}),(0,$.jsx)(g,{flexGrow:1}),l===`building`?(0,$.jsx)(b,{dimColor:!0,children:`indexing… `}):l?(0,$.jsxs)(b,{dimColor:!0,children:[`indexed in `,l.ms,`ms `]}):t===0&&s?(0,$.jsx)(b,{color:`error`,children:`no matches `}):t>0?(0,$.jsxs)(b,{dimColor:!0,children:[n,`/`,t,` `]}):null]})}var _D=[`⠂`,`⠐`],vD=`✳`,yD=960;function bD({isAnimating:e,title:t,disabled:n,noPrefix:r}){let i=D(),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(n||r||!e||!i)return;let t=setInterval(e=>e(e=>(e+1)%_D.length),yD,o);return()=>clearInterval(t)},[n,r,e,i]);let s=e?_D[a]??vD:vD;return k(n?null:r?t:`${s} ${t}`),null}var xD=`<${zu}>`;function SD(e){return e.type===`text`&&typeof e.text==`string`&&e.text.includes(xD)}function CD({commands:t,debug:n,initialTools:r,initialMessages:a,pendingHookMessages:o,initialFileHistorySnapshots:s,initialContentReplacements:c,initialAgentName:l,initialAgentColor:u,mcpClients:d,dynamicMcpConfig:f,strictMcpConfig:p=!1,systemPrompt:m,appendSystemPrompt:_,onBeforeQuery:v,onTurnComplete:y,disabled:S=!1,mainThreadAgentDefinition:C,disableSlashCommands:w=!1,taskListId:T,thinkingConfig:E}){let O=(0,Q.useMemo)(()=>i(process.env.WORKMATE_DISABLE_TERMINAL_TITLE),[]),k=(0,Q.useMemo)(()=>i(process.env.WORKMATE_DISABLE_VIRTUAL_SCROLL),[]);(0,Q.useMemo)(()=>i(process.env.WORKMATE_DISABLE_MESSAGE_ACTIONS),[]),(0,Q.useEffect)(()=>(X(`[REPL:mount] REPL mounted, disabled=${S}`),()=>X(`[REPL:unmount] REPL unmounting`)),[S]);let[A,M]=(0,Q.useState)(C),P=K(e=>e.toolPermissionContext),F=K(e=>e.verbose),ee=K(e=>e.mcp),I=K(e=>e.plugins),te=K(e=>e.agentDefinitions),R=K(e=>e.fileHistory),z=K(e=>e.initialMessage),re=mb(),ie=K(e=>e.spinnerTip),B=K(e=>e.expandedView)===`tasks`,se=K(e=>e.tasks),V=K(e=>e.elicitation),le=K(e=>e.viewingAgentTaskId),H=Qn(),ue=le?se[le]:void 0,U=mc(ue)&&ue.retain&&!ue.diskLoaded;(0,Q.useEffect)(()=>{if(!le||!U)return;let e=le;Ka(Bi(e)).then(t=>{H(n=>{let r=n.tasks[e];if(!mc(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}}}})})},[le,U,H]);let de=ua(),fe=x(),pe=Wp(),[me,he]=(0,Q.useState)(t);cT(Ct(),he);let ge=Q.useSyncExternalStore($o,Cr),_e=Q.useSyncExternalStore($o,ta),ve=(0,Q.useMemo)(()=>An(P),[P,ge]);PT();let[ye,be]=(0,Q.useState)(f),xe=(0,Q.useCallback)(e=>{be(e)},[be]),[Se,Ce]=(0,Q.useState)(`prompt`),[we,Te]=(0,Q.useState)(!1),[Ee,De]=(0,Q.useState)(!1),[ke,Ae]=(0,Q.useState)(``),je=(0,Q.useRef)(0),Me=(0,Q.useRef)(void 0),Ne=(0,Q.useRef)(!1),{addNotification:Pe,removeNotification:Fe}=ef(),Ie=oT(d,ee.clients);EE(),BT({mcpClients:Ie}),gE(),_E(),mm(),xE(pe),ME(),SE(pe),wE(),ST(),kT(),UT();let{recommendation:Le,handleResponse:Re}=aE(),{recommendation:ze,handleResponse:Be}=cE(),Ve=hE(),He=(0,Q.useMemo)(()=>[...ve,...r],[ve,r]);nf({enabled:!0});let Ue=ip();(0,Q.useEffect)(()=>{bE(H)},[H]);let We=Ip(He,ee.tools,P),{tools:Ge,allowedAgentTypes:Ke}=(0,Q.useMemo)(()=>{if(!A)return{tools:We,allowedAgentTypes:void 0};let e=Al(A,We,!1,!0);return{tools:e.resolvedTools,allowedAgentTypes:e.allowedAgentTypes}},[A,We]),qe=sT(sT(me,I.commands),ee.commands),Je=(0,Q.useMemo)(()=>w?[]:qe,[w,qe]),[Ye,Xe]=(0,Q.useState)(`responding`),Ze=(0,Q.useRef)(Ye);Ze.current=Ye;let[Qe,$e]=(0,Q.useState)([]),[et,tt]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if(et&&!et.isStreaming&&et.streamingEndedAt){let e=3e4-(Date.now()-et.streamingEndedAt);if(e>0){let t=setTimeout(tt,e,null);return()=>clearTimeout(t)}else tt(null)}},[et]);let[nt,rt]=(0,Q.useState)(null),it=(0,Q.useRef)(null);it.current=nt;let at=(0,Q.useRef)(0),[ot,st]=(0,Q.useState)(!1),ct=(0,Q.useRef)(()=>{}),lt=(0,Q.useRef)(null),ft=(0,Q.useRef)(null),pt=(0,Q.useRef)(0),ht=Q.useRef(new C_).current,xt=Q.useSyncExternalStore(ht.subscribe,ht.getSnapshot),[wt,Tt]=Q.useState(!1),G=xt||wt,[Dt,kt]=Q.useState(void 0),At=Q.useRef(0),jt=Q.useRef(!1),Nt=Q.useRef(0),It=Q.useRef(0),Lt=Q.useRef(null),zt=Q.useCallback(()=>{Nt.current=Date.now(),It.current=0,Lt.current=null},[]),Vt=Q.useRef(!1);xt&&!Vt.current&&zt(),Vt.current=xt;let Ht=Q.useCallback(e=>{Tt(e),e&&zt()},[zt]),Ut=Q.useRef(void 0),[Kt,qt]=Q.useState(!1),[Yt,Zt]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{Yt?.notifications&&Yt.notifications.forEach(e=>{Pe({key:`auto-updater-notification`,text:e,priority:`low`})})},[Yt,Pe]),(0,Q.useEffect)(()=>{Hr()&&vi().then(e=>{e&&Pe({key:`tmux-mouse-hint`,text:e,priority:`low`})})},[]);let[Qt,$t]=(0,Q.useState)(null),en=(0,Q.useRef)(null),nn=(0,Q.useCallback)(e=>{if(e?.isLocalJSXCommand){let{clearLocalJSX:t,...n}=e;en.current={...n,isLocalJSXCommand:!0},$t(n);return}if(en.current){if(e?.clearLocalJSX){en.current=null,$t(null),at.current=Date.now();return}return}if(e?.clearLocalJSX){$t(null);return}$t(e)},[]),[rn,an]=(0,Q.useState)([]),[on,sn]=(0,Q.useState)(null),[cn,ln]=(0,Q.useState)([]),[un,dn]=(0,Q.useState)([]),fn=K(e=>e.settings.terminalTitleFromRename)===!1?void 0:Xo(Et()),[pn,mn]=(0,Q.useState)(),hn=(0,Q.useRef)((a?.length??0)>0),gn=A?.agentType,yn=fn??gn??pn??`Work Mate`,bn=rn.length>0||un.length>0,xn=Qt?.isLocalJSXCommand===!0&&Qt?.jsx!=null,Sn=G&&!bn&&!xn;(0,Q.useEffect)(()=>{if(G&&!bn&&!xn)return g_(),()=>__()},[G,bn,xn]);let Cn=bn||xn?`waiting`:G?`busy`:`idle`,wn=Cn===`waiting`?rn.length>0?`approve ${rn[0].tool.name}`:xn?`dialog open`:`input needed`:void 0;(0,Q.useEffect)(()=>{Jt({status:Cn,waitingFor:wn})},[Cn,wn]),j(null);let[q,Tn]=(0,Q.useState)(a??[]),En=(0,Q.useRef)(q),Dn=(0,Q.useRef)(!1),J=(0,Q.useCallback)(e=>{let t=En.current,n=typeof e==`function`?e(En.current):e;if(En.current=n,n.length<At.current)At.current=0;else if(n.length>t.length&&jt.current){let e=n.length-t.length;(t.length===0||n[0]===t[0]?n.slice(-e):n.slice(0,e)).some(kc)?jt.current=!1:At.current=n.length}Tn(n)},[]),kn=(0,Q.useCallback)(e=>{e===void 0?jt.current=!1:(At.current=En.current.length,jt.current=!0),kt(e)},[]),{dividerIndex:jn,dividerYRef:Mn,onScrollAway:Pn,onRepin:In,jumpToNew:Ln,shiftDivider:Rn}=Hm(q.length);CT(q,J,G);let[Bn,Hn]=(0,Q.useState)(null),Un=(0,Q.useRef)(null),Wn=(0,Q.useMemo)(()=>zm(q,jn),[jn,q.length]),Gn=(0,Q.useCallback)(()=>{lt.current?.scrollToBottom(),In(),Hn(null)},[In,Hn]),Kn=q.at(-1),qn=Kn!=null&&kc(Kn);(0,Q.useEffect)(()=>{qn&&Gn()},[qn,Kn,Gn]);let Yn=(0,Q.useCallback)((e,t)=>{pt.current=Date.now(),e?In():Pn(t)},[In,Pn,H]),Zn=zw(o,J),$n=(0,Q.useDeferredValue)(Q.useMemo(()=>q.length>500?q.slice(-500):q,[q])),er=q.length-$n.length;er>0&&X(`[useDeferredValue] Messages deferred by ${er} (${$n.length}→${q.length})`);let[nr,rr]=(0,Q.useState)(null),[ir,ar]=(0,Q.useState)(()=>ih()),or=(0,Q.useRef)(ir);or.current=ir;let lr=(0,Q.useRef)(null),ur=(0,Q.useCallback)(e=>{or.current===``&&e!==``&&Date.now()-pt.current>=mD&&Gn(),or.current=e,ar(e),qt(e.trim().length>0)},[qt,Gn]);(0,Q.useEffect)(()=>{if(ir.trim().length===0)return;let e=setTimeout(qt,1500,!1);return()=>clearTimeout(e)},[ir]);let[dr,pr]=(0,Q.useState)(`prompt`),[hr,gr]=(0,Q.useState)(),[_r,vr]=(0,Q.useState)(new Set),br=(0,Q.useRef)(!1),[Sr,wr]=(0,Q.useState)({}),[Er,kr]=(0,Q.useState)(0),Ar=(0,Q.useRef)(0),jr=(0,Q.useRef)([]),Mr=(0,Q.useCallback)(e=>{let t=Ar.current;if(Ar.current=e(t),Ar.current>t){let e=jr.current;if(e.length>0){let t=e.at(-1);t.lastTokenTime=Date.now(),t.endResponseLength=Ar.current}}},[]),[Nr,Pr]=(0,Q.useState)(null),Ir=!(K(e=>e.settings.prefersReducedMotion)??!1)&&!ce(),Lr=(0,Q.useCallback)(e=>{Ir&&Pr(e)},[Ir]),Rr=Nr&&Ir&&Nr.substring(0,Nr.lastIndexOf(`
|
|
120
|
-
`)+1)||null,[zr,Br]=(0,Q.useState)(0),[Vr,Ur]=(0,Q.useState)(null),[Wr,Gr]=(0,Q.useState)(null),[Kr,qr]=(0,Q.useState)(null),[Jr,Yr]=(0,Q.useState)(!1),[Xr,Zr]=(0,Q.useState)(void 0),[ti,ni]=(0,Q.useState)(!1),[ii,ai]=(0,Q.useState)(_h()),[oi,si]=(0,Q.useState)(null),ci=(0,Q.useRef)(!1),li=(0,Q.useRef)(zr);li.current=zr;let[ui]=(0,Q.useState)(()=>({current:bs(a,c)}));jo(()=>{ui.current=rs()});let[di,fi]=(0,Q.useState)(Mu().hasAcknowledgedCostThreshold),[pi,hi]=(0,Q.useState)(`INSERT`),[gi,_i]=(0,Q.useState)(!1),[yi,bi]=(0,Q.useState)(!1),[xi,Si]=(0,Q.useState)(!1),wi=D(),Di=(0,Q.useRef)(wi);Di.current=wi;let[ki]=h(),Ai=Q.useRef(!1),ji=(0,Q.useCallback)(()=>{if(Ai.current)return;Ai.current=!0;let e=En.current.slice(Ki.current);for(let t of Co(e))Gi.current.add(t);Ki.current=En.current.length,jT({theme:ki,readFileState:Wi.current,bashTools:Gi.current}).then(async e=>{if(e){let t=await e.content({theme:ki});H(e=>({...e,spinnerTip:t})),MT(e)}else H(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[H,ki]),Mi=(0,Q.useCallback)(()=>{Ht(!1),kn(void 0),Ar.current=0,jr.current=[],Pr(null),$e([]),Ur(null),Gr(null),qr(null),ji(),Jd(),os()},[ji]),Ni=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(P.mode!==`auto`){Ni.current=!1;return}if(Ni.current||(Mu().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,ju(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,ja(VT,`warning`)])},800,Ni,J);return()=>clearTimeout(e)},[P.mode,J]);let Pi=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(Pi.current)return;let e=tu();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;Pi.current=!0;let t=Math.round(e.creationDurationMs/1e3);J(e=>[...e,ja(`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`)])},[J]);let Fi=(0,Q.useMemo)(()=>{let e=q.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`&&_r.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[q,_r]),{onBeforeQuery:Ii,onTurnComplete:Li,render:Ri}=Pw({enabled:!1,setMessages:J,inputValue:ir,setInputValue:ur,setToolJSX:nn}),Vi=(!Qt||Qt.showSpinner===!0)&&rn.length===0&&un.length===0&&(G||Dt||Nn()>0)&&!Fi&&!Rr;rn.length>0||un.length>0||cn.length>0||V.queue.length,FT(s,R,e=>H(t=>({...t,fileHistory:e})));let Hi=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=lf(n.messages),o=Dc();await Jc(`resume`,{getAppState:()=>de.getState(),setAppState:H,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await gc(`resume`,{sessionId:t,agentType:A?.agentType,model:pe});a.push(...s),r===`fork`?xc(n,vn(t)):Qc(n,vn(t)),Sp(n,H),n.fileHistorySnapshots&&Ua(n);let{agentDefinition:c}=bp(n.agentSetting,C,te);M(c),H(e=>({...e,agent:c?.agentType})),H(e=>({...e,standaloneAgentContext:xp(n.agentName,n.agentColor)})),Ko(n.agentName),Yi(a,n.projectPath??Mt()),Mi(),rt(null),ai(t);let l=Cl(t);if(Vc(),yt(),dt(vn(t),n.fullPath?lh(n.fullPath):null),await Ra(),xa(),Oa(n),n.goal){let{hydrateGoalFromTranscript:r}=(Wt(),e(Ti)),i=new Map;i.set(t,n.goal),r(i,t)}if(hn.current=!0,mn(void 0),r!==`fork`)Cp(),wp(n.worktreeSession),cr();else{let e=tu();e&&fo(e)}l&>(l),ui.current&&r!==`fork`&&(ui.current=fs(a,n.contentReplacements??[])),J(()=>a),nn(null),ur(``),Math.round(performance.now()-i)}catch(e){throw e}},[Mi,H]),[Ui]=(0,Q.useState)(()=>wa(100)),Wi=(0,Q.useRef)(Ui),Gi=(0,Q.useRef)(new Set),Ki=(0,Q.useRef)(0),qi=(0,Q.useRef)(new Set),Ji=(0,Q.useRef)(new Set),Yi=(0,Q.useCallback)((e,t)=>{let n=Wl(e,t,100);Wi.current=Dr(Wi.current,n);for(let t of Co(e))Gi.current.add(t)},[]);(0,Q.useEffect)(()=>{a&&a.length>0&&Yi(a,Mt())},[]);let{status:Zi,reverify:Qi}=Bw(),[$i,ea]=(0,Q.useState)(null),[na,ra]=(0,Q.useState)(!1),ia=!G&&ti;function aa(){if(na||$i)return;if(Jr)return`message-selector`;if(Kt)return;if(cn[0])return`sandbox-permission`;let e=!Qt||Qt.shouldContinueAnimation;if(e&&rn[0])return`tool-permission`;if(e&&un[0])return`prompt`;if(e&&V.queue[0])return`elicitation`;if(e&&ia)return`cost`;if(e&&oi)return`idle-return`;if(e&&Le)return`lsp-recommendation`;if(e&&ze)return`plugin-hint`;if(e&&Ve.visible)return`search-extra-tools-hint`}let sa=aa(),ca=Kt&&(cn[0]||rn[0]||un[0]||V.queue[0]||ia);Ut.current=sa,(0,Q.useEffect)(()=>{if(!G)return;let e=sa===`tool-permission`,t=Date.now();e&&Lt.current===null?Lt.current=t:!e&&Lt.current!==null&&(It.current+=t-Lt.current,Lt.current=null)},[sa,G]);let la=(0,Q.useRef)(sa);(0,Q.useLayoutEffect)(()=>{la.current===`tool-permission`!=(sa===`tool-permission`)&&Gn(),la.current=sa},[sa,Gn]);function da(){if(sa!==`elicitation`){if(at.current!==0&&Date.now()-at.current<500){at.current=0,X(`[onCancel] suppressed: local-jsx panel just dismissed`);return}if(at.current=0,X(`[onCancel] focusedInputDialog=${sa} streamMode=${Ye}`),mr(),ht.getSnapshot()){let{getGoal:t,pauseGoal:n}=(bl(),e(Ao)),{persistCurrentGoal:r}=(Wt(),e(Ti));t()?.status===`active`&&(n(),r())}if(st(!0),ht.forceEnd(),ci.current=!1,Nr?.trim()&&J(e=>[...e,Jn({content:Nr})]),Mi(),bt(null),sa===`tool-permission`)rn[0]?.onAbort(),an([]);else if(sa===`prompt`){for(let e of un)e.reject(Error(`Prompt cancelled by user`));dn([]),nt?.abort(`user-cancel`)}else nt?.abort(`user-cancel`);rt(null),Li(En.current,!0)}}let fa=(0,Q.useCallback)(()=>{let e=Ci(ir,0);e&&(ur(e.text),pr(`prompt`),e.images.length>0&&wr(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[ur,pr,ir,wr]),ha={setToolUseConfirmQueue:an,onCancel:da,onAgentsKilled:()=>J(e=>[...e,oa()]),isMessageSelectorVisible:Jr||!!gi,screen:Se,abortSignal:nt?.signal,popCommandFromQueue:fa,vimMode:pi,isLocalJSXCommand:Qt?.isLocalJSXCommand,isSearchingHistory:yi,isHelpOpen:xi,inputMode:dr,inputValue:ir,streamMode:Ye};(0,Q.useEffect)(()=>{Ot()>=5&&!ti&&!di&&(fi(!0),Fw()&&ni(!0))},[q,ti,di]);let ga=(0,Q.useCallback)(async e=>new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}ln(t=>[...t,{hostPattern:e,resolvePromise:r}])}),[H,de]);(0,Q.useEffect)(()=>{let e=co.getSandboxUnavailableReason();if(e){if(co.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),ws(1,`other`);return}X(`sandbox disabled: ${e}`,{level:`warn`}),Pe({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(b,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(b,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[Pe]),co.isSandboxingEnabled()&&co.initialize(ga).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${yu(e)}\n`),ws(1,`other`)});let _a=(0,Q.useCallback)((e,t)=>{H(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},an)},[H,an]),va=Qw(an,_a),ya=(0,Q.useCallback)((e,t,r,i)=>{let a=de.getState(),o=()=>{let e=de.getState(),t=_n(e.toolPermissionContext,e.mcp.tools),n=sf(He,t,e.toolPermissionContext.mode);return A?Al(A,n,!1,!0).resolvedTools:n};return{abortController:r,options:{commands:Je,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:E,mcpClients:aT(d,a.mcp.clients),mcpResources:a.mcp.resources,isNonInteractiveSession:!1,dynamicMcpConfig:ye,theme:ki,agentDefinitions:Ke?{...a.agentDefinitions,allowedAgentTypes:Ke}:a.agentDefinitions,customSystemPrompt:m,appendSystemPrompt:_,refreshTools:o},getAppState:()=>de.getState(),setAppState:H,messages:e,setMessages:J,updateFileHistoryState(e){H(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){H(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{S||Yr(!0)},onChangeAPIKey:Qi,readFileState:Wi.current,setToolJSX:nn,addNotification:Pe,appendSystemMessage:e=>J(t=>[...t,e]),sendOSNotification:e=>{i_(e,fe)},onChangeDynamicMcpConfig:xe,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Ji.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:qi.current,setResponseLength:Mr,pushApiMetricsEntry:void 0,setStreamMode:Xe,onCompactProgress:e=>{switch(e.type){case`hooks_start`:Gr(`workmateBlue_FOR_SYSTEM_SPINNER`),qr(`workmateBlueShimmer_FOR_SYSTEM_SPINNER`),Ur(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:Ur(`Compacting conversation`);break;case`compact_end`:Ur(null),Gr(null),qr(null);break}},setInProgressToolUseIDs:vr,setHasInterruptibleToolInProgress:e=>{br.current=e},resume:Hi,setConversationId:ai,requestPrompt:void 0,contentReplacementState:ui.current}},[Je,He,A,n,d,ye,ki,Ke,de,H,Qi,Pe,J,xe,Hi,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{dn(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),S,m,_,ai]),{handleBackgroundSession:ba}=bT({setMessages:J,setIsLoading:Ht,resetLoadingState:Mi,setAbortController:rt,onBackgroundQuery:(0,Q.useCallback)(()=>{nt?.abort(`background`);let e=Vn(e=>e.mode===`task-notification`);(async()=>{let t=ya(En.current,[],new AbortController,pe),[n,r,i]=await Promise.all([Ac(t.options.tools,pe,Array.from(P.additionalWorkingDirectories.keys()),t.options.mcpClients),Fn(),mi()]),a=Is({mainThreadAgentDefinition:A,toolUseContext:t,customSystemPrompt:m,defaultSystemPrompt:n,appendSystemPrompt:_});t.renderedSystemPrompt=a;let o=(await Zo(e).catch(()=>[])).map(Oi),s=new Set;for(let e of En.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)));Xl({messages:[...En.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:va,toolUseContext:t,querySource:ri()},description:yn,setAppState:H,agentDefinition:A})})()},[nt,pe,P,A,ya,m,_,va,H])}),Sa=(0,Q.useCallback)(t=>{Fa(t,t=>{if(ma(t)?(Hr()?J(e=>{let n=zi(e,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,t]}):J(()=>[t]),ai(_h()),Va(!1)):t.type===`progress`&&$l(t.data?.type)?J(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]}):J(e=>[...e,t]),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage?Va(!0):t.type===`assistant`&&Va(!1),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage){let n=(fr(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}=(bl(),e(Ao)),{persistCurrentGoal:r}=(Wt(),e(Ti));t()?.status===`active`&&(n(),r(),Pe({key:`goal-auto-paused-connectivity-error`,text:`Detected connection error. Active goal was auto-paused. Run /goal resume after network recovers.`,priority:`immediate`}))}}},e=>{Mr(t=>t+e.length)},Xe,$e,e=>{J(t=>t.filter(t=>t!==e)),Tr(e.uuid)},tt,e=>{let t=Date.now(),n=Ar.current;jr.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},Lr)},[J,Mr,Xe,$e,tt,Lr]),Ca=(0,Q.useCallback)(async(e,t,n,r,i,a)=>{if(r){let e=aT(d,de.getState().mcp.clients);Kl.handleQueryStart(e)}if(Ld(),!O&&!fn&&!gn&&!hn.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?fr(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(hn.current=!0,gp(n,new AbortController().signal).then(e=>{e?mn(e):hn.current=!1},()=>{hn.current=!1}))}if(de.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(ma)&&(ai(_h()),Va(!1)),Mi(),rt(null);return}let o=ya(e,t,n,a),{tools:s,mcpClients:c}=o.options;Yl(`query_context_loading_start`);let[,,l,u,f]=await Promise.all([void 0,NT(P,H,de.getState().fastMode),Ac(s,a,Array.from(P.additionalWorkingDirectories.keys()),c),Fn(),mi()]),p={...u,...Cr()&&!Di.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};Yl(`query_context_loading_end`);let h=Is({mainThreadAgentDefinition:A,toolUseContext:o,customSystemPrompt:m,defaultSystemPrompt:l,appendSystemPrompt:_});o.renderedSystemPrompt=h,Yl(`query_query_start`),ut(),mt(),St();for await(let t of yr({messages:e,systemPrompt:h,userContext:p,systemContext:f,canUseTool:va,toolUseContext:o,querySource:ri()}))Sa(t);Yl(`query_end`),Mi(),El(),await y?.(En.current)},[d,Mi,ya,P,H,m,y,_,va,A,Sa,fn,O]),Ta=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{let s=ht.tryStart();if(s===null)return e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>fr(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{zl({value:e,mode:`prompt`})}),!1;try{st(!1),zt(),J(t=>[...t,...e]),Ar.current=0,bt((o?vc(o):null)??Ft()),jr.current=[],$e([]),Pr(null);let s=En.current;if(o&&await Ii(o,s,e.length),a&&o&&!await a(o,s))return!0;await Ca(s,e,t,n,r,i)}finally{if(ht.end(s)){st(t.signal.aborted),Br(Date.now()),ci.current=!1,Mi(),await Li(En.current,t.signal.aborted);let e;Ft()!==null&&Ft()>0&&!t.signal.aborted&&(e={tokens:_t(),limit:Ft(),nudges:Rt()}),bt(null);let n=Date.now()-Nt.current-It.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!ge&&J(t=>[...t,Xa(n,e,Oe(t,Ul))]),rt(null)}if(t.signal.reason===`user-cancel`&&!ht.isActive&&or.current===``&&Nn()===0&&!de.getState().viewingAgentTaskId){let e=En.current,t=e.findLast(uf);t&&df(e,e.lastIndexOf(t))&&(Qf(),ct.current(t))}}return!0},[Ca,H,Mi,ht,Ii,Li]),Da=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=z;if(!e||G||Da.current)return;Da.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?jc():void 0,{clearConversation:n}=await import(`./conversation-B2dX3X4Z.js`);await n({setMessages:J,readFileState:Wi.current,discoveredSkillNames:qi.current,loadedNestedMemoryPaths:Ji.current,getAppState:()=>de.getState(),setAppState:H,setConversationId:ai}),hn.current=!1,mn(void 0),Gi.current.clear(),Ki.current=0,t&&cc(Et(),t)}H(t=>{let n=e.mode?tn(t.toolPermissionContext,_y(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=Gs({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),Gt()&&bc(e=>{H(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Zn();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)ka(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=uu();rt(t),Ta([e.message],t,!0,[],pe)}setTimeout(e=>{e.current=!1},100,Da)}t(e)},[z,G,J,H,Ta,pe,Ge]);let ka=(0,Q.useCallback)(async(e,t,n,r)=>{if(Gn(),Ea(),!n&&e.trim().startsWith(`/`)){let n=qf(e,Sr).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=Je.find(e=>zn(e)&&(e.name===a||e.aliases?.includes(a)||$r(e)===a));s?.name===`clear`&&Dn.current&&(Dn.current,Math.round((Date.now()-li.current)/6e4),En.current.length,Pt(),Dn.current=!1);let c=ht.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===or.current.trim()&&(ur(``),t.setCursorOffset(0),t.clearBuffer(),wr({}));let n=Kf(e).filter(e=>Sr[e.id]?.type===`text`);n.length,n.reduce((e,t)=>e+(Sr[t.id]?.content.length??0),0),s.name,r?.fromKeybinding,(async()=>{let e=!1,n=(n,r)=>{e=!0,nn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];if(n&&r?.display!==`skip`&&(Pe({key:`immediate-${s.name}`,text:n,priority:`immediate`}),!Hr())){let e=r?.displayArgs??o;i.push(Or(Wo($r(s),e)),Or(`<${Fu}>${Xi(n)}</${Fu}>`))}r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>Xt({content:e,isMeta:!0}))),i.length&&J(e=>[...e,...i]),hr!==void 0&&(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0))},r=ya(En.current,[],uu(),pe),i=await(await s.load()).call(n,r,o);i&&!e&&nn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}Number(process.env.WORKMATE_IDLE_THRESHOLD_MINUTES??75),Number(process.env.WORKMATE_IDLE_TOKEN_THRESHOLD??1e5),r?.fromKeybinding||(Zf({display:n?e:Lf(e,dr),pastedContents:n?{}:Sr}),dr===`bash`&&ux(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!G||n;if(hr!==void 0&&!i&&a?(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0)):a&&(r?.fromKeybinding||(ur(``),t.setCursorOffset(0)),wr({})),a&&(pr(`prompt`),kr(e=>e+1),t.clearBuffer(),Ai.current=!1,!i&&dr===`prompt`&&!n&&(kn(e),zt()),H(e=>({...e,attribution:as(e.attribution,e=>{Fr(e).catch(e=>{X(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await jl(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:J,readFileState:Wi,cwd:Mt()});if(t){let e=uu();rt(e),Ta([],e,!0,[],pe)}return}await Zn(),await eT({input:e,helpers:t,queryGuard:ht,isExternalLoading:wt,mode:dr,commands:Je,onInputChange:ur,setPastedContents:wr,setToolJSX:nn,getToolUseContext:ya,messages:En.current,mainLoopModel:pe,pastedContents:Sr,setUserInputOnProcessing:kn,setAbortController:rt,abortController:nt,onQuery:Ta,setAppState:H,querySource:ri(),onBeforeQuery:v,canUseTool:va,addNotification:Pe,setMessages:J,streamMode:Ze.current,hasInterruptibleToolInProgress:br.current}),(i||G)&&hr!==void 0&&(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0))},[ht,G,wt,dr,Je,ur,pr,wr,kr,nn,ya,pe,Sr,kn,rt,Pe,Ta,hr,gr,H,v,va,J,Zn,Gn]),Aa=(0,Q.useRef)(ka);Aa.current=ka;let Ma=(0,Q.useCallback)(async()=>{if(ra(!0),Ja()){bh(`tmux`,[`detach-client`],{stdio:`ignore`}),ra(!1);return}if(tu()!==null){ea((0,$.jsx)(ym,{showWorktree:!0,onDone:()=>{},onCancel:()=>{ea(null),ra(!1)}}));return}let e=await(await sr.load()).call(()=>{});ea(e),e===null&&ra(!1)},[]),Na=(0,Q.useCallback)(()=>{Yr(e=>!e)},[]),Pa=(0,Q.useCallback)(e=>{let t=En.current,n=t.lastIndexOf(e);if(n===-1)return;t.length,t.length-n,J(t.slice(0,n)),ai(_h()),Xn();let r=e.permissionMode;H(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}}))},[J,H]),Ia=(0,Q.useCallback)(e=>{Pa(e);let t=tr(e);if(t&&(ur(t.text),pr(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}}}),wr(n)}}},[Pa,ur]);ct.current=Ia;let La=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),Ia,e)},[Ia]),za=e=>{let t=e.slice(0,24);return q.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:Ba,handlers:Ha}=Go(Bn,Hn,Un,{copy:e=>void L(e).then(e=>{e&&process.stdout.write(e),Pe({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=za(e.uuid),n=t>=0?q[t]:void 0;if(!n||!uf(n))return;let r=!await pl(R,n.uuid),i=df(q,t);r&&i?(da(),La(n)):(Zr(n),Yr(!0))}});async function Wa(){Qi();let e=await On();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
|
|
120
|
+
`)+1)||null,[zr,Br]=(0,Q.useState)(0),[Vr,Ur]=(0,Q.useState)(null),[Wr,Gr]=(0,Q.useState)(null),[Kr,qr]=(0,Q.useState)(null),[Jr,Yr]=(0,Q.useState)(!1),[Xr,Zr]=(0,Q.useState)(void 0),[ti,ni]=(0,Q.useState)(!1),[ii,ai]=(0,Q.useState)(_h()),[oi,si]=(0,Q.useState)(null),ci=(0,Q.useRef)(!1),li=(0,Q.useRef)(zr);li.current=zr;let[ui]=(0,Q.useState)(()=>({current:bs(a,c)}));jo(()=>{ui.current=rs()});let[di,fi]=(0,Q.useState)(Mu().hasAcknowledgedCostThreshold),[pi,hi]=(0,Q.useState)(`INSERT`),[gi,_i]=(0,Q.useState)(!1),[yi,bi]=(0,Q.useState)(!1),[xi,Si]=(0,Q.useState)(!1),wi=D(),Di=(0,Q.useRef)(wi);Di.current=wi;let[ki]=h(),Ai=Q.useRef(!1),ji=(0,Q.useCallback)(()=>{if(Ai.current)return;Ai.current=!0;let e=En.current.slice(Ki.current);for(let t of Co(e))Gi.current.add(t);Ki.current=En.current.length,jT({theme:ki,readFileState:Wi.current,bashTools:Gi.current}).then(async e=>{if(e){let t=await e.content({theme:ki});H(e=>({...e,spinnerTip:t})),MT(e)}else H(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[H,ki]),Mi=(0,Q.useCallback)(()=>{Ht(!1),kn(void 0),Ar.current=0,jr.current=[],Pr(null),$e([]),Ur(null),Gr(null),qr(null),ji(),Jd(),os()},[ji]),Ni=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(P.mode!==`auto`){Ni.current=!1;return}if(Ni.current||(Mu().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,ju(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,ja(VT,`warning`)])},800,Ni,J);return()=>clearTimeout(e)},[P.mode,J]);let Pi=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(Pi.current)return;let e=tu();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;Pi.current=!0;let t=Math.round(e.creationDurationMs/1e3);J(e=>[...e,ja(`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`)])},[J]);let Fi=(0,Q.useMemo)(()=>{let e=q.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`&&_r.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[q,_r]),{onBeforeQuery:Ii,onTurnComplete:Li,render:Ri}=Pw({enabled:!1,setMessages:J,inputValue:ir,setInputValue:ur,setToolJSX:nn}),Vi=(!Qt||Qt.showSpinner===!0)&&rn.length===0&&un.length===0&&(G||Dt||Nn()>0)&&!Fi&&!Rr;rn.length>0||un.length>0||cn.length>0||V.queue.length,FT(s,R,e=>H(t=>({...t,fileHistory:e})));let Hi=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=lf(n.messages),o=Dc();await Jc(`resume`,{getAppState:()=>de.getState(),setAppState:H,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await gc(`resume`,{sessionId:t,agentType:A?.agentType,model:pe});a.push(...s),r===`fork`?xc(n,vn(t)):Qc(n,vn(t)),Sp(n,H),n.fileHistorySnapshots&&Ua(n);let{agentDefinition:c}=bp(n.agentSetting,C,te);M(c),H(e=>({...e,agent:c?.agentType})),H(e=>({...e,standaloneAgentContext:xp(n.agentName,n.agentColor)})),Ko(n.agentName),Yi(a,n.projectPath??Mt()),Mi(),rt(null),ai(t);let l=Cl(t);if(Vc(),yt(),dt(vn(t),n.fullPath?lh(n.fullPath):null),await Ra(),xa(),Oa(n),n.goal){let{hydrateGoalFromTranscript:r}=(Wt(),e(Ti)),i=new Map;i.set(t,n.goal),r(i,t)}if(hn.current=!0,mn(void 0),r!==`fork`)Cp(),wp(n.worktreeSession),cr();else{let e=tu();e&&fo(e)}l&>(l),ui.current&&r!==`fork`&&(ui.current=fs(a,n.contentReplacements??[])),J(()=>a),nn(null),ur(``),Math.round(performance.now()-i)}catch(e){throw e}},[Mi,H]),[Ui]=(0,Q.useState)(()=>wa(100)),Wi=(0,Q.useRef)(Ui),Gi=(0,Q.useRef)(new Set),Ki=(0,Q.useRef)(0),qi=(0,Q.useRef)(new Set),Ji=(0,Q.useRef)(new Set),Yi=(0,Q.useCallback)((e,t)=>{let n=Wl(e,t,100);Wi.current=Dr(Wi.current,n);for(let t of Co(e))Gi.current.add(t)},[]);(0,Q.useEffect)(()=>{a&&a.length>0&&Yi(a,Mt())},[]);let{status:Zi,reverify:Qi}=Bw(),[$i,ea]=(0,Q.useState)(null),[na,ra]=(0,Q.useState)(!1),ia=!G&&ti;function aa(){if(na||$i)return;if(Jr)return`message-selector`;if(Kt)return;if(cn[0])return`sandbox-permission`;let e=!Qt||Qt.shouldContinueAnimation;if(e&&rn[0])return`tool-permission`;if(e&&un[0])return`prompt`;if(e&&V.queue[0])return`elicitation`;if(e&&ia)return`cost`;if(e&&oi)return`idle-return`;if(e&&Le)return`lsp-recommendation`;if(e&&ze)return`plugin-hint`;if(e&&Ve.visible)return`search-extra-tools-hint`}let sa=aa(),ca=Kt&&(cn[0]||rn[0]||un[0]||V.queue[0]||ia);Ut.current=sa,(0,Q.useEffect)(()=>{if(!G)return;let e=sa===`tool-permission`,t=Date.now();e&&Lt.current===null?Lt.current=t:!e&&Lt.current!==null&&(It.current+=t-Lt.current,Lt.current=null)},[sa,G]);let la=(0,Q.useRef)(sa);(0,Q.useLayoutEffect)(()=>{la.current===`tool-permission`!=(sa===`tool-permission`)&&Gn(),la.current=sa},[sa,Gn]);function da(){if(sa!==`elicitation`){if(at.current!==0&&Date.now()-at.current<500){at.current=0,X(`[onCancel] suppressed: local-jsx panel just dismissed`);return}if(at.current=0,X(`[onCancel] focusedInputDialog=${sa} streamMode=${Ye}`),mr(),ht.getSnapshot()){let{getGoal:t,pauseGoal:n}=(bl(),e(Ao)),{persistCurrentGoal:r}=(Wt(),e(Ti));t()?.status===`active`&&(n(),r())}if(st(!0),ht.forceEnd(),ci.current=!1,Nr?.trim()&&J(e=>[...e,Jn({content:Nr})]),Mi(),bt(null),sa===`tool-permission`)rn[0]?.onAbort(),an([]);else if(sa===`prompt`){for(let e of un)e.reject(Error(`Prompt cancelled by user`));dn([]),nt?.abort(`user-cancel`)}else nt?.abort(`user-cancel`);rt(null),Li(En.current,!0)}}let fa=(0,Q.useCallback)(()=>{let e=Ci(ir,0);e&&(ur(e.text),pr(`prompt`),e.images.length>0&&wr(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[ur,pr,ir,wr]),ha={setToolUseConfirmQueue:an,onCancel:da,onAgentsKilled:()=>J(e=>[...e,oa()]),isMessageSelectorVisible:Jr||!!gi,screen:Se,abortSignal:nt?.signal,popCommandFromQueue:fa,vimMode:pi,isLocalJSXCommand:Qt?.isLocalJSXCommand,isSearchingHistory:yi,isHelpOpen:xi,inputMode:dr,inputValue:ir,streamMode:Ye};(0,Q.useEffect)(()=>{Ot()>=5&&!ti&&!di&&(fi(!0),Fw()&&ni(!0))},[q,ti,di]);let ga=(0,Q.useCallback)(async e=>new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}ln(t=>[...t,{hostPattern:e,resolvePromise:r}])}),[H,de]);(0,Q.useEffect)(()=>{let e=co.getSandboxUnavailableReason();if(e){if(co.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),ws(1,`other`);return}X(`sandbox disabled: ${e}`,{level:`warn`}),Pe({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(b,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(b,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[Pe]),co.isSandboxingEnabled()&&co.initialize(ga).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${yu(e)}\n`),ws(1,`other`)});let _a=(0,Q.useCallback)((e,t)=>{H(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},an)},[H,an]),va=Qw(an,_a),ya=(0,Q.useCallback)((e,t,r,i)=>{let a=de.getState(),o=()=>{let e=de.getState(),t=_n(e.toolPermissionContext,e.mcp.tools),n=sf(He,t,e.toolPermissionContext.mode);return A?Al(A,n,!1,!0).resolvedTools:n};return{abortController:r,options:{commands:Je,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:E,mcpClients:aT(d,a.mcp.clients),mcpResources:a.mcp.resources,isNonInteractiveSession:!1,dynamicMcpConfig:ye,theme:ki,agentDefinitions:Ke?{...a.agentDefinitions,allowedAgentTypes:Ke}:a.agentDefinitions,customSystemPrompt:m,appendSystemPrompt:_,refreshTools:o},getAppState:()=>de.getState(),setAppState:H,messages:e,setMessages:J,updateFileHistoryState(e){H(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){H(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{S||Yr(!0)},onChangeAPIKey:Qi,readFileState:Wi.current,setToolJSX:nn,addNotification:Pe,appendSystemMessage:e=>J(t=>[...t,e]),sendOSNotification:e=>{i_(e,fe)},onChangeDynamicMcpConfig:xe,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Ji.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:qi.current,setResponseLength:Mr,pushApiMetricsEntry:void 0,setStreamMode:Xe,onCompactProgress:e=>{switch(e.type){case`hooks_start`:Gr(`workmateBlue_FOR_SYSTEM_SPINNER`),qr(`workmateBlueShimmer_FOR_SYSTEM_SPINNER`),Ur(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:Ur(`Compacting conversation`);break;case`compact_end`:Ur(null),Gr(null),qr(null);break}},setInProgressToolUseIDs:vr,setHasInterruptibleToolInProgress:e=>{br.current=e},resume:Hi,setConversationId:ai,requestPrompt:void 0,contentReplacementState:ui.current}},[Je,He,A,n,d,ye,ki,Ke,de,H,Qi,Pe,J,xe,Hi,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{dn(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),S,m,_,ai]),{handleBackgroundSession:ba}=bT({setMessages:J,setIsLoading:Ht,resetLoadingState:Mi,setAbortController:rt,onBackgroundQuery:(0,Q.useCallback)(()=>{nt?.abort(`background`);let e=Vn(e=>e.mode===`task-notification`);(async()=>{let t=ya(En.current,[],new AbortController,pe),[n,r,i]=await Promise.all([Ac(t.options.tools,pe,Array.from(P.additionalWorkingDirectories.keys()),t.options.mcpClients),Fn(),mi()]),a=Is({mainThreadAgentDefinition:A,toolUseContext:t,customSystemPrompt:m,defaultSystemPrompt:n,appendSystemPrompt:_});t.renderedSystemPrompt=a;let o=(await Zo(e).catch(()=>[])).map(Oi),s=new Set;for(let e of En.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)));Xl({messages:[...En.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:va,toolUseContext:t,querySource:ri()},description:yn,setAppState:H,agentDefinition:A})})()},[nt,pe,P,A,ya,m,_,va,H])}),Sa=(0,Q.useCallback)(t=>{Fa(t,t=>{if(ma(t)?(Hr()?J(e=>{let n=zi(e,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,t]}):J(()=>[t]),ai(_h()),Va(!1)):t.type===`progress`&&$l(t.data?.type)?J(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]}):J(e=>[...e,t]),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage?Va(!0):t.type===`assistant`&&Va(!1),t.type===`assistant`&&`isApiErrorMessage`in t&&t.isApiErrorMessage){let n=(fr(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}=(bl(),e(Ao)),{persistCurrentGoal:r}=(Wt(),e(Ti));t()?.status===`active`&&(n(),r(),Pe({key:`goal-auto-paused-connectivity-error`,text:`Detected connection error. Active goal was auto-paused. Run /goal resume after network recovers.`,priority:`immediate`}))}}},e=>{Mr(t=>t+e.length)},Xe,$e,e=>{J(t=>t.filter(t=>t!==e)),Tr(e.uuid)},tt,e=>{let t=Date.now(),n=Ar.current;jr.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},Lr)},[J,Mr,Xe,$e,tt,Lr]),Ca=(0,Q.useCallback)(async(e,t,n,r,i,a)=>{if(r){let e=aT(d,de.getState().mcp.clients);Kl.handleQueryStart(e)}if(Ld(),!O&&!fn&&!gn&&!hn.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?fr(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(hn.current=!0,gp(n,new AbortController().signal).then(e=>{e?mn(e):hn.current=!1},()=>{hn.current=!1}))}if(de.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(ma)&&(ai(_h()),Va(!1)),Mi(),rt(null);return}let o=ya(e,t,n,a),{tools:s,mcpClients:c}=o.options;Yl(`query_context_loading_start`);let[,,l,u,f]=await Promise.all([void 0,NT(P,H,de.getState().fastMode),Ac(s,a,Array.from(P.additionalWorkingDirectories.keys()),c),Fn(),mi()]),p={...u,...Cr()&&!Di.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};Yl(`query_context_loading_end`);let h=Is({mainThreadAgentDefinition:A,toolUseContext:o,customSystemPrompt:m,defaultSystemPrompt:l,appendSystemPrompt:_});o.renderedSystemPrompt=h,Yl(`query_query_start`),ut(),mt(),St();for await(let t of yr({messages:e,systemPrompt:h,userContext:p,systemContext:f,canUseTool:va,toolUseContext:o,querySource:ri()}))Sa(t);Yl(`query_end`),Mi(),El(),await y?.(En.current)},[d,Mi,ya,P,H,m,y,_,va,A,Sa,fn,O]),Ta=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{let s=ht.tryStart();if(s===null)return e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>fr(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{zl({value:e,mode:`prompt`})}),!1;try{st(!1),zt(),J(t=>[...t,...e]),Ar.current=0,bt((o?vc(o):null)??Ft()),jr.current=[],$e([]),Pr(null);let s=En.current;if(o&&await Ii(o,s,e.length),a&&o&&!await a(o,s))return!0;await Ca(s,e,t,n,r,i)}finally{if(ht.end(s)){st(t.signal.aborted),Br(Date.now()),ci.current=!1,Mi(),await Li(En.current,t.signal.aborted);let e;Ft()!==null&&Ft()>0&&!t.signal.aborted&&(e={tokens:_t(),limit:Ft(),nudges:Rt()}),bt(null);let n=Date.now()-Nt.current-It.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!ge&&J(t=>[...t,Xa(n,e,Oe(t,Ul))]),rt(null)}if(t.signal.reason===`user-cancel`&&!ht.isActive&&or.current===``&&Nn()===0&&!de.getState().viewingAgentTaskId){let e=En.current,t=e.findLast(uf);t&&df(e,e.lastIndexOf(t))&&(Qf(),ct.current(t))}}return!0},[Ca,H,Mi,ht,Ii,Li]),Da=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=z;if(!e||G||Da.current)return;Da.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?jc():void 0,{clearConversation:n}=await import(`./conversation-DXzlRhNw.js`);await n({setMessages:J,readFileState:Wi.current,discoveredSkillNames:qi.current,loadedNestedMemoryPaths:Ji.current,getAppState:()=>de.getState(),setAppState:H,setConversationId:ai}),hn.current=!1,mn(void 0),Gi.current.clear(),Ki.current=0,t&&cc(Et(),t)}H(t=>{let n=e.mode?tn(t.toolPermissionContext,_y(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=Gs({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),Gt()&&bc(e=>{H(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Zn();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)ka(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=uu();rt(t),Ta([e.message],t,!0,[],pe)}setTimeout(e=>{e.current=!1},100,Da)}t(e)},[z,G,J,H,Ta,pe,Ge]);let ka=(0,Q.useCallback)(async(e,t,n,r)=>{if(Gn(),Ea(),!n&&e.trim().startsWith(`/`)){let n=qf(e,Sr).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=Je.find(e=>zn(e)&&(e.name===a||e.aliases?.includes(a)||$r(e)===a));s?.name===`clear`&&Dn.current&&(Dn.current,Math.round((Date.now()-li.current)/6e4),En.current.length,Pt(),Dn.current=!1);let c=ht.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===or.current.trim()&&(ur(``),t.setCursorOffset(0),t.clearBuffer(),wr({}));let n=Kf(e).filter(e=>Sr[e.id]?.type===`text`);n.length,n.reduce((e,t)=>e+(Sr[t.id]?.content.length??0),0),s.name,r?.fromKeybinding,(async()=>{let e=!1,n=(n,r)=>{e=!0,nn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];if(n&&r?.display!==`skip`&&(Pe({key:`immediate-${s.name}`,text:n,priority:`immediate`}),!Hr())){let e=r?.displayArgs??o;i.push(Or(Wo($r(s),e)),Or(`<${Fu}>${Xi(n)}</${Fu}>`))}r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>Xt({content:e,isMeta:!0}))),i.length&&J(e=>[...e,...i]),hr!==void 0&&(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0))},r=ya(En.current,[],uu(),pe),i=await(await s.load()).call(n,r,o);i&&!e&&nn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}Number(process.env.WORKMATE_IDLE_THRESHOLD_MINUTES??75),Number(process.env.WORKMATE_IDLE_TOKEN_THRESHOLD??1e5),r?.fromKeybinding||(Zf({display:n?e:Lf(e,dr),pastedContents:n?{}:Sr}),dr===`bash`&&ux(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!G||n;if(hr!==void 0&&!i&&a?(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0)):a&&(r?.fromKeybinding||(ur(``),t.setCursorOffset(0)),wr({})),a&&(pr(`prompt`),kr(e=>e+1),t.clearBuffer(),Ai.current=!1,!i&&dr===`prompt`&&!n&&(kn(e),zt()),H(e=>({...e,attribution:as(e.attribution,e=>{Fr(e).catch(e=>{X(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await jl(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:J,readFileState:Wi,cwd:Mt()});if(t){let e=uu();rt(e),Ta([],e,!0,[],pe)}return}await Zn(),await eT({input:e,helpers:t,queryGuard:ht,isExternalLoading:wt,mode:dr,commands:Je,onInputChange:ur,setPastedContents:wr,setToolJSX:nn,getToolUseContext:ya,messages:En.current,mainLoopModel:pe,pastedContents:Sr,setUserInputOnProcessing:kn,setAbortController:rt,abortController:nt,onQuery:Ta,setAppState:H,querySource:ri(),onBeforeQuery:v,canUseTool:va,addNotification:Pe,setMessages:J,streamMode:Ze.current,hasInterruptibleToolInProgress:br.current}),(i||G)&&hr!==void 0&&(ur(hr.text),t.setCursorOffset(hr.cursorOffset),wr(hr.pastedContents),gr(void 0))},[ht,G,wt,dr,Je,ur,pr,wr,kr,nn,ya,pe,Sr,kn,rt,Pe,Ta,hr,gr,H,v,va,J,Zn,Gn]),Aa=(0,Q.useRef)(ka);Aa.current=ka;let Ma=(0,Q.useCallback)(async()=>{if(ra(!0),Ja()){bh(`tmux`,[`detach-client`],{stdio:`ignore`}),ra(!1);return}if(tu()!==null){ea((0,$.jsx)(ym,{showWorktree:!0,onDone:()=>{},onCancel:()=>{ea(null),ra(!1)}}));return}let e=await(await sr.load()).call(()=>{});ea(e),e===null&&ra(!1)},[]),Na=(0,Q.useCallback)(()=>{Yr(e=>!e)},[]),Pa=(0,Q.useCallback)(e=>{let t=En.current,n=t.lastIndexOf(e);if(n===-1)return;t.length,t.length-n,J(t.slice(0,n)),ai(_h()),Xn();let r=e.permissionMode;H(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}}))},[J,H]),Ia=(0,Q.useCallback)(e=>{Pa(e);let t=tr(e);if(t&&(ur(t.text),pr(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}}}),wr(n)}}},[Pa,ur]);ct.current=Ia;let La=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),Ia,e)},[Ia]),za=e=>{let t=e.slice(0,24);return q.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:Ba,handlers:Ha}=Go(Bn,Hn,Un,{copy:e=>void L(e).then(e=>{e&&process.stdout.write(e),Pe({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=za(e.uuid),n=t>=0?q[t]:void 0;if(!n||!uf(n))return;let r=!await pl(R,n.uuid),i=df(q,t);r&&i?(da(),La(n)):(Zr(n),Yr(!0))}});async function Wa(){Qi();let e=await On();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
|
|
121
121
|
`);X(`Loaded ${e.length} AGENTS.md/rules files:\n${t}`)}else X(`No AGENTS.md/rules files found`);for(let t of e)Wi.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})}Lw(Qm()),w_(q,q.length===a?.length),Rw();let Ga=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(re.length<1){Ga.current=!1;return}Ga.current||(Ga.current=!0,ju(e=>({...e,promptQueueUseCount:(e.promptQueueUseCount??0)+1})))},[re.length]),iT({executeQueuedInput:(0,Q.useCallback)(async e=>{await eT({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:ht,commands:Je,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:nn,getToolUseContext:ya,messages:q,mainLoopModel:pe,setUserInputOnProcessing:kn,setAbortController:rt,onQuery:Ta,setAppState:H,querySource:ri(),onBeforeQuery:v,canUseTool:va,addNotification:Pe,setMessages:J,queuedCommands:e})},[ht,Je,nn,ya,q,pe,kn,va,rt,Ta,Pe,H,v]),hasActiveLocalJsxUI:xn,queryGuard:ht}),(0,Q.useEffect)(()=>{ap.recordUserActivity(),vt(!0)},[ir,Er]),(0,Q.useEffect)(()=>{Er===1&&ah()},[Er]),(0,Q.useEffect)(()=>{if(G||Er===0||zr===0)return;let e=setTimeout((e,t,n,r,i)=>{if(Bt()>e)return;let a=Date.now()-e;!t&&!n&&r.current===void 0&&a>=Mu().messageIdleNotifThresholdMs&&i_({message:`Work Mate is waiting for your input`,notificationType:`idle_prompt`},i)},Mu().messageIdleNotifThresholdMs,zr,G,Qt,Ut,fe);return()=>clearTimeout(e)},[G,Qt,Er,zr,fe]),(0,Q.useEffect)(()=>{},[zr,G,Pe,Fe]),pT({isLoading:G||z!==null,queuedCommandsLength:re.length,hasActiveLocalJsxUI:xn,isInPlanMode:P.mode===`plan`,onQueueTick:e=>zl(e)}),vT({isLoading:G||z!==null,wasAborted:ot,queuedCommandsLength:re.length,hasActiveLocalJsxUI:xn,isInPlanMode:P.mode===`plan`,isQueryActiveNow:ht.getSnapshot,onContinuationEnqueued:({turn:e,objective:t})=>{let n=`Goal auto-continue (${e}/1): continue advancing "${t}".`;J(e=>[...e,Xt({content:n,isVisibleInTranscriptOnly:!0})])},onMaxTurnsReached:()=>{Pe({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(!ge){ei(null);return}if(!G){if(_e!==null&&re.length===0&&!xn&&P.mode!==`plan`&&z===null){ei({enabled:!0,phase:`standby`,next_tick_at:_e,sleep_until:null});return}ei({enabled:!0,phase:null,next_tick_at:null,sleep_until:null})}},[z,G,xn,ge,_e,re.length,P.mode]),(0,Q.useEffect)(()=>{re.some(e=>e.priority===`now`)&&it.current?.abort(`interrupt`)},[re]);let qa=(0,Q.useRef)(Wa);qa.current=Wa;let Ya=(0,Q.useRef)(Kl);Ya.current=Kl,(0,Q.useEffect)(()=>(qa.current(),()=>{Ya.current.shutdown()}),[]);let{internal_eventEmitter:Za}=N(),[Qa,$a]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=()=>{process.stdout.write(`
|
|
122
122
|
Work Mate has been suspended. Run \`fg\` to bring Work Mate back.
|
|
123
123
|
Note: ctrl + z now suspends Work Mate, ctrl + _ undoes input.
|
|
124
|
-
`)},t=()=>{$a(e=>e+1)};return Za?.on(`suspend`,e),Za?.on(`resume`,t),()=>{Za?.off(`suspend`,e),Za?.off(`resume`,t)}},[Za]);let eo=(0,Q.useMemo)(()=>{if(!G)return null;let e=q.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||q.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=Oe(q,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}`},[q,G]),to=(0,Q.useCallback)(()=>{rr({messagesLength:q.length,streamingToolUsesLength:Qe.length})},[q.length,Qe.length]),no=(0,Q.useCallback)(()=>{rr(null)},[]),ro=Hr()&&!k,io=(0,Q.useRef)(null),[ao,oo]=(0,Q.useState)(!1),[so,uo]=(0,Q.useState)(``),[po,mo]=(0,Q.useState)(0),[ho,go]=(0,Q.useState)(0),_o=(0,Q.useCallback)((e,t)=>{mo(e),go(t)},[]);ne((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){io.current?.setAnchor(),oo(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&po>0){let t=r===`n`?io.current?.nextMatch:io.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:Se===`transcript`&&ro&&!ao&&!Ee});let{setQuery:vo,scanElement:yo,setPositions:bo}=oe(),xo=ae().columns,So=Q.useRef(xo);Q.useEffect(()=>{So.current!==xo&&(So.current=xo,(so||ao)&&(oo(!1),uo(``),mo(0),go(0),io.current?.disarmSearch(),vo(``)))},[xo,so,ao,vo]),ne((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){no(),n.stopImmediatePropagation();return}if(e===`[`&&!Ee)De(!0),Te(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),Ne.current)return;Ne.current=!0;let e=je.current,t=t=>{e===je.current&&(clearTimeout(Me.current),Ae(t))};t(`rendering ${$n.length} messages…`),(async()=>{try{let e=Math.max(80,(process.stdout.columns??80)-6),n=(await e_($n,Ge,e)).replace(/[ \t]+$/gm,``),r=dh(sh(),`cc-transcript-${Date.now()}.txt`);await vh(r,n);let i=Vp(r);t(i?`opening ${r}`:`wrote ${r} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}Ne.current=!1,e===je.current&&(Me.current=setTimeout(e=>e(``),4e3,Ae))})()}}},{isActive:Se===`transcript`&&ro&&!ao});let wo=Se===`transcript`&&ro;(0,Q.useEffect)(()=>{wo||(uo(``),mo(0),go(0),oo(!1),je.current++,clearTimeout(Me.current),De(!1),Ae(``))},[wo]),(0,Q.useEffect)(()=>{vo(wo?so:``),wo||bo(null)},[wo,so,vo,bo]);let To={screen:Se,setScreen:Ce,showAllInTranscript:we,setShowAllInTranscript:Te,messageCount:q.length,onEnterTranscript:to,onExitTranscript:no,virtualScrollActive:ro,searchBarOpen:ao},Eo=nr?$n.slice(0,nr.messagesLength):$n,Do=nr?Qe.slice(0,nr.streamingToolUsesLength):Qe;Kw({onOpenBackgroundTasks:xn?void 0:()=>_i(!0)});let Oo=le?se[le]:void 0,ko=Oo&&mc(Oo)?Oo:void 0,Mo=Ir||!G,No=ko?.messages,Po=(0,Q.useMemo)(()=>{if(!ko)return;let e=No??[];if(!mc(ko)||ko.agentType!==`fork`||!ko.prompt)return e;let t=ko.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(SD))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=>!SD(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=Xt({content:ko.prompt,timestamp:new Date(ko.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[ko,No]),Fo=ko?Po??[]:Mo?q:$n;if(Se===`transcript`){let e=Hr()&&!k&&!Ee?lt:void 0,t=(0,$.jsx)(Gm,{messages:Eo,tools:Ge,commands:Je,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:_r,isMessageSelectorVisible:!1,conversationId:ii,screen:Se,agentDefinitions:te,streamingToolUses:Do,showAllInTranscript:we,isLoading:G,hidePastThinking:!0,streamingThinking:et,scrollRef:e,jumpRef:io,onSearchMatchesChange:_o,scanElement:yo,setPositions:bo,disableRenderCap:Ee}),n=Qt&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),r=(0,$.jsxs)(rf,{children:[(0,$.jsx)(bD,{isAnimating:Sn,title:yn,disabled:O,noPrefix:!1}),(0,$.jsx)(Vw,{...To}),(0,$.jsx)(Uw,{onSubmit:ka,isActive:!Qt?.isLocalJSXCommand}),e?(0,$.jsx)(oD,{scrollRef:lt,isActive:!0,isModal:!ao,onScroll:()=>io.current?.disarmSearch()}):null,(0,$.jsx)(Gw,{...ha}),e?(0,$.jsx)(Um,{scrollRef:lt,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RT,{})]}),bottom:ao?(0,$.jsx)(gD,{jumpRef:io,initialQuery:``,count:po,current:ho,onClose:e=>{uo(po>0?e:``),oo(!1),e||(mo(0),go(0),io.current?.setSearchQuery(``))},onCancel:()=>{oo(!1),io.current?.setSearchQuery(``),io.current?.setSearchQuery(so),vo(so)},setHighlight:vo}):(0,$.jsx)(hD,{showAllInTranscript:we,virtualScroll:!0,status:ke||void 0,searchBadge:so&&po>0?{current:ho,count:po}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RT,{}),(0,$.jsx)(hD,{showAllInTranscript:we,virtualScroll:!1,suppressShowAll:Ee,status:ke||void 0})]})]});return e?(0,$.jsx)(W,{mouseTracking:Qr(),children:r}):r}let Io=Dt&&!ko&&Fo.length<=At.current?Dt:void 0,Lo=sa===`tool-permission`?(0,$.jsx)(Uy,{onDone:()=>an(([e,...t])=>t),onReject:fa,toolUseConfirm:rn[0],toolUseContext:ya(q,q,nt??uu(),pe),verbose:F,setStickyFooter:Hr()?sn:void 0},rn[0]?.toolUseID):null,Ro=Hr()&&Qt?.isLocalJSXCommand===!0,zo=Ro?Qt.jsx:null,Bo=(0,$.jsxs)(rf,{children:[(0,$.jsx)(bD,{isAnimating:Sn,title:yn,disabled:O,noPrefix:!1}),(0,$.jsx)(Vw,{...To}),(0,$.jsx)(Uw,{onSubmit:ka,isActive:!Qt?.isLocalJSXCommand}),(0,$.jsx)(oD,{scrollRef:lt,isActive:Hr()&&(zo!=null||!sa||sa===`tool-permission`),onScroll:Yn}),null,(0,$.jsx)(Gw,{...ha}),(0,$.jsx)(of,{dynamicMcpConfig:ye,isStrictMcpConfig:p,children:(0,$.jsx)(Um,{scrollRef:lt,overlay:Lo,modal:zo,modalScrollRef:ft,dividerYRef:Mn,hidePill:!!ko,newMessageCount:Wn?.count??0,onPillClick:()=>{Hn(null),Ln(lt.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Gm,{messages:Fo,tools:Ge,commands:Je,verbose:F,toolJSX:Qt,toolUseConfirmQueue:rn,inProgressToolUseIDs:_r,isMessageSelectorVisible:Jr,conversationId:ii,screen:Se,streamingToolUses:Qe,showAllInTranscript:we,agentDefinitions:te,isLoading:G,streamingText:G&&!ko?Rr:null,unseenDivider:ko?void 0:Wn,scrollRef:Hr()?lt:void 0,trackStickyPrompt:Hr()?!0:void 0,cursor:Bn,setCursor:Hn,cursorNavRef:Un}),!S&&Io&&!zo&&(0,$.jsx)(pa,{param:{text:Io,type:`text`},addMargin:!0,verbose:F}),Qt&&!(Qt.isLocalJSXCommand&&Qt.isImmediate)&&!Ro&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),(0,$.jsx)(g,{flexGrow:1}),Vi&&(0,$.jsx)(lp,{mode:Ye,spinnerTip:ie,responseLengthRef:Ar,apiMetricsRef:jr,overrideMessage:Vr,spinnerSuffix:eo,verbose:F,loadingStartTimeRef:Nt,totalPausedMsRef:It,pauseStartTimeRef:Lt,overrideColor:Wr,overrideShimmerColor:Kr,hasActiveTools:_r.size>0,leaderIsIdle:!G})]}),bottom:(0,$.jsx)(g,{flexDirection:`row`,width:`100%`,alignItems:`flex-end`,children:(0,$.jsxs)(g,{flexDirection:`column`,flexGrow:1,children:[Hr()&&(0,$.jsx)(hw,{}),on,Qt?.isLocalJSXCommand&&Qt.isImmediate&&!Ro&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),!Vi&&!Qt?.isLocalJSXCommand&&B&&Ue&&Ue.length>0&&(0,$.jsx)(g,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(cp,{tasks:Ue,isStandalone:!0})}),sa===`sandbox-permission`&&(0,$.jsx)(IT,{hostPattern:cn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=cn[0];if(!r)return;let i=r.hostPattern.host;ln(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)))}},cn[0].hostPattern.host),sa===`prompt`&&(0,$.jsx)(pb,{title:un[0].title,toolInputSummary:un[0].toolInputSummary,request:un[0].request,onRespond:e=>{let t=un[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),dn(([,...e])=>e))},onAbort:()=>{let e=un[0];e&&(e.reject(Error(`Prompt cancelled by user`)),dn(([,...e])=>e))}},un[0].request.prompt),sa===`elicitation`&&(0,$.jsx)(ub,{event:V.queue[0],onResponse:(e,t)=>{let n=V.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||H(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=V.queue[0];H(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},`${V.queue[0].serverName}:${String(V.queue[0].requestId)}`),sa===`cost`&&(0,$.jsx)(t_,{onDone:()=>{ni(!1),fi(!0),ju(e=>({...e,hasAcknowledgedCostThreshold:!0}))}}),sa===`idle-return`&&oi&&(0,$.jsx)(n_,{idleMinutes:oi.idleMinutes,totalInputTokens:Pt(),onDone:async e=>{let t=oi;if(si(null),Math.round(t.idleMinutes),En.current.length,Pt(),e===`dismiss`){ur(t.input);return}if(e===`never`&&ju(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-B2dX3X4Z.js`);await e({setMessages:J,readFileState:Wi.current,discoveredSkillNames:qi.current,loadedNestedMemoryPaths:Ji.current,getAppState:()=>de.getState(),setAppState:H,setConversationId:ai}),hn.current=!1,mn(void 0),Gi.current.clear(),Ki.current=0}ci.current=!0,Aa.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),$i,sa===`plugin-hint`&&ze&&(0,$.jsx)(uE,{pluginName:ze.pluginName,pluginDescription:ze.pluginDescription,marketplaceName:ze.marketplaceName,sourceCommand:ze.sourceCommand,onResponse:Be}),sa===`search-extra-tools-hint`&&Ve.visible&&(0,$.jsx)(fE,{tools:Ve.tools,onSelect:Ve.handleSelect,onDismiss:Ve.handleDismiss}),sa===`lsp-recommendation`&&Le&&(0,$.jsx)(sE,{pluginName:Le.pluginName,pluginDescription:Le.pluginDescription,fileExtension:Le.fileExtension,onResponse:Re}),Ri(),!Qt?.shouldHidePromptInput&&!sa&&!na&&!S&&!Bn&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Nw,{debug:n,hasSuppressedDialogs:!!ca,isLocalJSXCommandActive:xn,getToolUseContext:ya,toolPermissionContext:P,setToolPermissionContext:_a,apiKeyStatus:Zi,commands:Je,agents:te.activeAgents,isLoading:G,onExit:Ma,verbose:F,messages:q,onAutoUpdaterResult:Zt,autoUpdaterResult:Yt,input:ir,onInputChange:ur,mode:dr,onModeChange:pr,stashedPrompt:hr,setStashedPrompt:gr,submitCount:Er,onShowMessageSelector:Na,onMessageActionsEnter:void 0,mcpClients:Ie,pastedContents:Sr,setPastedContents:wr,vimMode:pi,setVimMode:hi,showBashesDialog:gi,setShowBashesDialog:_i,onSubmit:ka,isSearchingHistory:yi,setIsSearchingHistory:bi,helpOpen:xi,setHelpOpen:Si,insertTextRef:lr}),(0,$.jsx)(yT,{onBackgroundSession:ba,isLoading:G}),(0,$.jsx)(dT,{})]}),Bn&&(0,$.jsx)(xr,{cursor:Bn}),sa===`message-selector`&&(0,$.jsx)(mf,{messages:q,preselectedMessage:Xr,onPreRestore:da,onRestoreCode:async e=>{await js(e=>{H(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=zi(q),i=r.indexOf(e);if(i===-1){J(e=>[...e,ja(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=uu(),o=ya(r,[],a,pe),s=o.getAppState(),c=await Ac(o.options.tools,o.options.mainLoopModel,Array.from(s.toolPermissionContext.additionalWorkingDirectories.keys()),o.options.mcpClients),l=Is({mainThreadAgentDefinition:void 0,toolUseContext:o,customSystemPrompt:o.options.customSystemPrompt,defaultSystemPrompt:c,appendSystemPrompt:o.options.appendSystemPrompt}),[u,d]=await Promise.all([Fn(),mi()]),f=await Ei(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(Hr()&&n===`from`?J(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...h]}):J(h),Va(!1),ai(_h()),ic(o.options.querySource),n===`from`){let t=tr(e);t&&(ur(t.text),pr(t.mode))}let g=lo(`app:toggleTranscript`,`Global`,`ctrl+o`);Pe({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${g} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:La,onClose:()=>{Yr(!1),Zr(void 0)}})]})})})},Qa)]});return Hr()?(0,$.jsx)(W,{mouseTracking:Qr(),children:Bo}):Bo}export{CD as t};
|
|
124
|
+
`)},t=()=>{$a(e=>e+1)};return Za?.on(`suspend`,e),Za?.on(`resume`,t),()=>{Za?.off(`suspend`,e),Za?.off(`resume`,t)}},[Za]);let eo=(0,Q.useMemo)(()=>{if(!G)return null;let e=q.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||q.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=Oe(q,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}`},[q,G]),to=(0,Q.useCallback)(()=>{rr({messagesLength:q.length,streamingToolUsesLength:Qe.length})},[q.length,Qe.length]),no=(0,Q.useCallback)(()=>{rr(null)},[]),ro=Hr()&&!k,io=(0,Q.useRef)(null),[ao,oo]=(0,Q.useState)(!1),[so,uo]=(0,Q.useState)(``),[po,mo]=(0,Q.useState)(0),[ho,go]=(0,Q.useState)(0),_o=(0,Q.useCallback)((e,t)=>{mo(e),go(t)},[]);ne((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){io.current?.setAnchor(),oo(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&po>0){let t=r===`n`?io.current?.nextMatch:io.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:Se===`transcript`&&ro&&!ao&&!Ee});let{setQuery:vo,scanElement:yo,setPositions:bo}=oe(),xo=ae().columns,So=Q.useRef(xo);Q.useEffect(()=>{So.current!==xo&&(So.current=xo,(so||ao)&&(oo(!1),uo(``),mo(0),go(0),io.current?.disarmSearch(),vo(``)))},[xo,so,ao,vo]),ne((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){no(),n.stopImmediatePropagation();return}if(e===`[`&&!Ee)De(!0),Te(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),Ne.current)return;Ne.current=!0;let e=je.current,t=t=>{e===je.current&&(clearTimeout(Me.current),Ae(t))};t(`rendering ${$n.length} messages…`),(async()=>{try{let e=Math.max(80,(process.stdout.columns??80)-6),n=(await e_($n,Ge,e)).replace(/[ \t]+$/gm,``),r=dh(sh(),`cc-transcript-${Date.now()}.txt`);await vh(r,n);let i=Vp(r);t(i?`opening ${r}`:`wrote ${r} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}Ne.current=!1,e===je.current&&(Me.current=setTimeout(e=>e(``),4e3,Ae))})()}}},{isActive:Se===`transcript`&&ro&&!ao});let wo=Se===`transcript`&&ro;(0,Q.useEffect)(()=>{wo||(uo(``),mo(0),go(0),oo(!1),je.current++,clearTimeout(Me.current),De(!1),Ae(``))},[wo]),(0,Q.useEffect)(()=>{vo(wo?so:``),wo||bo(null)},[wo,so,vo,bo]);let To={screen:Se,setScreen:Ce,showAllInTranscript:we,setShowAllInTranscript:Te,messageCount:q.length,onEnterTranscript:to,onExitTranscript:no,virtualScrollActive:ro,searchBarOpen:ao},Eo=nr?$n.slice(0,nr.messagesLength):$n,Do=nr?Qe.slice(0,nr.streamingToolUsesLength):Qe;Kw({onOpenBackgroundTasks:xn?void 0:()=>_i(!0)});let Oo=le?se[le]:void 0,ko=Oo&&mc(Oo)?Oo:void 0,Mo=Ir||!G,No=ko?.messages,Po=(0,Q.useMemo)(()=>{if(!ko)return;let e=No??[];if(!mc(ko)||ko.agentType!==`fork`||!ko.prompt)return e;let t=ko.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(SD))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=>!SD(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=Xt({content:ko.prompt,timestamp:new Date(ko.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[ko,No]),Fo=ko?Po??[]:Mo?q:$n;if(Se===`transcript`){let e=Hr()&&!k&&!Ee?lt:void 0,t=(0,$.jsx)(Gm,{messages:Eo,tools:Ge,commands:Je,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:_r,isMessageSelectorVisible:!1,conversationId:ii,screen:Se,agentDefinitions:te,streamingToolUses:Do,showAllInTranscript:we,isLoading:G,hidePastThinking:!0,streamingThinking:et,scrollRef:e,jumpRef:io,onSearchMatchesChange:_o,scanElement:yo,setPositions:bo,disableRenderCap:Ee}),n=Qt&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),r=(0,$.jsxs)(rf,{children:[(0,$.jsx)(bD,{isAnimating:Sn,title:yn,disabled:O,noPrefix:!1}),(0,$.jsx)(Vw,{...To}),(0,$.jsx)(Uw,{onSubmit:ka,isActive:!Qt?.isLocalJSXCommand}),e?(0,$.jsx)(oD,{scrollRef:lt,isActive:!0,isModal:!ao,onScroll:()=>io.current?.disarmSearch()}):null,(0,$.jsx)(Gw,{...ha}),e?(0,$.jsx)(Um,{scrollRef:lt,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RT,{})]}),bottom:ao?(0,$.jsx)(gD,{jumpRef:io,initialQuery:``,count:po,current:ho,onClose:e=>{uo(po>0?e:``),oo(!1),e||(mo(0),go(0),io.current?.setSearchQuery(``))},onCancel:()=>{oo(!1),io.current?.setSearchQuery(``),io.current?.setSearchQuery(so),vo(so)},setHighlight:vo}):(0,$.jsx)(hD,{showAllInTranscript:we,virtualScroll:!0,status:ke||void 0,searchBadge:so&&po>0?{current:ho,count:po}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RT,{}),(0,$.jsx)(hD,{showAllInTranscript:we,virtualScroll:!1,suppressShowAll:Ee,status:ke||void 0})]})]});return e?(0,$.jsx)(W,{mouseTracking:Qr(),children:r}):r}let Io=Dt&&!ko&&Fo.length<=At.current?Dt:void 0,Lo=sa===`tool-permission`?(0,$.jsx)(Uy,{onDone:()=>an(([e,...t])=>t),onReject:fa,toolUseConfirm:rn[0],toolUseContext:ya(q,q,nt??uu(),pe),verbose:F,setStickyFooter:Hr()?sn:void 0},rn[0]?.toolUseID):null,Ro=Hr()&&Qt?.isLocalJSXCommand===!0,zo=Ro?Qt.jsx:null,Bo=(0,$.jsxs)(rf,{children:[(0,$.jsx)(bD,{isAnimating:Sn,title:yn,disabled:O,noPrefix:!1}),(0,$.jsx)(Vw,{...To}),(0,$.jsx)(Uw,{onSubmit:ka,isActive:!Qt?.isLocalJSXCommand}),(0,$.jsx)(oD,{scrollRef:lt,isActive:Hr()&&(zo!=null||!sa||sa===`tool-permission`),onScroll:Yn}),null,(0,$.jsx)(Gw,{...ha}),(0,$.jsx)(of,{dynamicMcpConfig:ye,isStrictMcpConfig:p,children:(0,$.jsx)(Um,{scrollRef:lt,overlay:Lo,modal:zo,modalScrollRef:ft,dividerYRef:Mn,hidePill:!!ko,newMessageCount:Wn?.count??0,onPillClick:()=>{Hn(null),Ln(lt.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Gm,{messages:Fo,tools:Ge,commands:Je,verbose:F,toolJSX:Qt,toolUseConfirmQueue:rn,inProgressToolUseIDs:_r,isMessageSelectorVisible:Jr,conversationId:ii,screen:Se,streamingToolUses:Qe,showAllInTranscript:we,agentDefinitions:te,isLoading:G,streamingText:G&&!ko?Rr:null,unseenDivider:ko?void 0:Wn,scrollRef:Hr()?lt:void 0,trackStickyPrompt:Hr()?!0:void 0,cursor:Bn,setCursor:Hn,cursorNavRef:Un}),!S&&Io&&!zo&&(0,$.jsx)(pa,{param:{text:Io,type:`text`},addMargin:!0,verbose:F}),Qt&&!(Qt.isLocalJSXCommand&&Qt.isImmediate)&&!Ro&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),(0,$.jsx)(g,{flexGrow:1}),Vi&&(0,$.jsx)(lp,{mode:Ye,spinnerTip:ie,responseLengthRef:Ar,apiMetricsRef:jr,overrideMessage:Vr,spinnerSuffix:eo,verbose:F,loadingStartTimeRef:Nt,totalPausedMsRef:It,pauseStartTimeRef:Lt,overrideColor:Wr,overrideShimmerColor:Kr,hasActiveTools:_r.size>0,leaderIsIdle:!G})]}),bottom:(0,$.jsx)(g,{flexDirection:`row`,width:`100%`,alignItems:`flex-end`,children:(0,$.jsxs)(g,{flexDirection:`column`,flexGrow:1,children:[Hr()&&(0,$.jsx)(hw,{}),on,Qt?.isLocalJSXCommand&&Qt.isImmediate&&!Ro&&(0,$.jsx)(g,{flexDirection:`column`,width:`100%`,children:Qt.jsx}),!Vi&&!Qt?.isLocalJSXCommand&&B&&Ue&&Ue.length>0&&(0,$.jsx)(g,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(cp,{tasks:Ue,isStandalone:!0})}),sa===`sandbox-permission`&&(0,$.jsx)(IT,{hostPattern:cn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=cn[0];if(!r)return;let i=r.hostPattern.host;ln(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)))}},cn[0].hostPattern.host),sa===`prompt`&&(0,$.jsx)(pb,{title:un[0].title,toolInputSummary:un[0].toolInputSummary,request:un[0].request,onRespond:e=>{let t=un[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),dn(([,...e])=>e))},onAbort:()=>{let e=un[0];e&&(e.reject(Error(`Prompt cancelled by user`)),dn(([,...e])=>e))}},un[0].request.prompt),sa===`elicitation`&&(0,$.jsx)(ub,{event:V.queue[0],onResponse:(e,t)=>{let n=V.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||H(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=V.queue[0];H(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},`${V.queue[0].serverName}:${String(V.queue[0].requestId)}`),sa===`cost`&&(0,$.jsx)(t_,{onDone:()=>{ni(!1),fi(!0),ju(e=>({...e,hasAcknowledgedCostThreshold:!0}))}}),sa===`idle-return`&&oi&&(0,$.jsx)(n_,{idleMinutes:oi.idleMinutes,totalInputTokens:Pt(),onDone:async e=>{let t=oi;if(si(null),Math.round(t.idleMinutes),En.current.length,Pt(),e===`dismiss`){ur(t.input);return}if(e===`never`&&ju(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-DXzlRhNw.js`);await e({setMessages:J,readFileState:Wi.current,discoveredSkillNames:qi.current,loadedNestedMemoryPaths:Ji.current,getAppState:()=>de.getState(),setAppState:H,setConversationId:ai}),hn.current=!1,mn(void 0),Gi.current.clear(),Ki.current=0}ci.current=!0,Aa.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),$i,sa===`plugin-hint`&&ze&&(0,$.jsx)(uE,{pluginName:ze.pluginName,pluginDescription:ze.pluginDescription,marketplaceName:ze.marketplaceName,sourceCommand:ze.sourceCommand,onResponse:Be}),sa===`search-extra-tools-hint`&&Ve.visible&&(0,$.jsx)(fE,{tools:Ve.tools,onSelect:Ve.handleSelect,onDismiss:Ve.handleDismiss}),sa===`lsp-recommendation`&&Le&&(0,$.jsx)(sE,{pluginName:Le.pluginName,pluginDescription:Le.pluginDescription,fileExtension:Le.fileExtension,onResponse:Re}),Ri(),!Qt?.shouldHidePromptInput&&!sa&&!na&&!S&&!Bn&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Nw,{debug:n,hasSuppressedDialogs:!!ca,isLocalJSXCommandActive:xn,getToolUseContext:ya,toolPermissionContext:P,setToolPermissionContext:_a,apiKeyStatus:Zi,commands:Je,agents:te.activeAgents,isLoading:G,onExit:Ma,verbose:F,messages:q,onAutoUpdaterResult:Zt,autoUpdaterResult:Yt,input:ir,onInputChange:ur,mode:dr,onModeChange:pr,stashedPrompt:hr,setStashedPrompt:gr,submitCount:Er,onShowMessageSelector:Na,onMessageActionsEnter:void 0,mcpClients:Ie,pastedContents:Sr,setPastedContents:wr,vimMode:pi,setVimMode:hi,showBashesDialog:gi,setShowBashesDialog:_i,onSubmit:ka,isSearchingHistory:yi,setIsSearchingHistory:bi,helpOpen:xi,setHelpOpen:Si,insertTextRef:lr}),(0,$.jsx)(yT,{onBackgroundSession:ba,isLoading:G}),(0,$.jsx)(dT,{})]}),Bn&&(0,$.jsx)(xr,{cursor:Bn}),sa===`message-selector`&&(0,$.jsx)(mf,{messages:q,preselectedMessage:Xr,onPreRestore:da,onRestoreCode:async e=>{await js(e=>{H(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=zi(q),i=r.indexOf(e);if(i===-1){J(e=>[...e,ja(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=uu(),o=ya(r,[],a,pe),s=o.getAppState(),c=await Ac(o.options.tools,o.options.mainLoopModel,Array.from(s.toolPermissionContext.additionalWorkingDirectories.keys()),o.options.mcpClients),l=Is({mainThreadAgentDefinition:void 0,toolUseContext:o,customSystemPrompt:o.options.customSystemPrompt,defaultSystemPrompt:c,appendSystemPrompt:o.options.appendSystemPrompt}),[u,d]=await Promise.all([Fn(),mi()]),f=await Ei(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(Hr()&&n===`from`?J(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...h]}):J(h),Va(!1),ai(_h()),ic(o.options.querySource),n===`from`){let t=tr(e);t&&(ur(t.text),pr(t.mode))}let g=lo(`app:toggleTranscript`,`Global`,`ctrl+o`);Pe({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${g} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:La,onClose:()=>{Yr(!1),Zr(void 0)}})]})})})},Qa)]});return Hr()?(0,$.jsx)(W,{mouseTracking:Qr(),children:Bo}):Bo}export{CD as t};
|