claude-code-best 2.6.9 → 2.6.11

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.
Files changed (400) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-_RSNUS7K.js → AddWorkspaceDirectory-CGKtPsTK.js} +1 -1
  2. package/dist/chunks/{App-4VqMMjIu.js → App-DF28Bpg9.js} +1 -1
  3. package/dist/chunks/ApproveApiKey-BtiWOryM.js +1 -0
  4. package/dist/chunks/{ApproveApiKey-B7oSxzWc.js → ApproveApiKey-D21kbmQj.js} +1 -1
  5. package/dist/chunks/{AssistantSessionChooser-Lf5l_1Dh.js → AssistantSessionChooser-CDfwNVi5.js} +1 -1
  6. package/dist/chunks/{BackgroundTasksDialog-Ckgmqm6u.js → BackgroundTasksDialog-5RpkAbJz.js} +1 -1
  7. package/dist/chunks/{BypassPermissionsModeDialog-DNqPpiPC.js → BypassPermissionsModeDialog-BDWFw61G.js} +1 -1
  8. package/dist/chunks/{ClaudeInChromeOnboarding-BODZ64gw.js → ClaudeInChromeOnboarding-CpN0yIU_.js} +1 -1
  9. package/dist/chunks/{ClaudeMdExternalIncludesDialog-DLI6ey3G.js → ClaudeMdExternalIncludesDialog-CWRHpy22.js} +1 -1
  10. package/dist/chunks/ClaudeMdExternalIncludesDialog-Dje7A0F2.js +1 -0
  11. package/dist/chunks/ConsoleOAuthFlow-DQf3dmj6.js +1 -0
  12. package/dist/chunks/{DesktopHandoff--xyI5kTQ.js → DesktopHandoff-CKHLXiwc.js} +1 -1
  13. package/dist/chunks/{DevChannelsDialog-DJ4mHsA_.js → DevChannelsDialog-BwMFW7Wt.js} +1 -1
  14. package/dist/chunks/{DiffDialog-CVWUlOjm.js → DiffDialog-oA1v0BMo.js} +1 -1
  15. package/dist/chunks/Doctor-ButdpAkf.js +1 -0
  16. package/dist/chunks/{Doctor-DVoFX-9y.js → Doctor-QVMo0fIh.js} +1 -1
  17. package/dist/chunks/{ExitFlow-BKzQPr75.js → ExitFlow-DJLYN-Bd.js} +1 -1
  18. package/dist/chunks/Feedback-CpfhqIEv.js +2 -0
  19. package/dist/chunks/{Grove-G0DtwY22.js → Grove-BugC6ssx.js} +1 -1
  20. package/dist/chunks/Grove-CmdRVv9F.js +1 -0
  21. package/dist/chunks/{HybridTransport-xN03sWrt.js → HybridTransport-PeXWuYfl.js} +1 -1
  22. package/dist/chunks/{ITermBackend-DzN3ZWds.js → ITermBackend-dcs68DGS.js} +1 -1
  23. package/dist/chunks/{InvalidConfigDialog-Iy4Su1Lm.js → InvalidConfigDialog-DdB9_Ve0.js} +1 -1
  24. package/dist/chunks/{InvalidSettingsDialog-dx4y_nY-.js → InvalidSettingsDialog-BL8nxwWQ.js} +1 -1
  25. package/dist/chunks/{MCPConnectionManager-kVO-4BcA.js → MCPConnectionManager-D2eAGUME.js} +1 -1
  26. package/dist/chunks/{McpParsingWarnings-D420-W8M.js → McpParsingWarnings-BYPXpmte.js} +1 -1
  27. package/dist/chunks/MessageSelector-Bzq8CYAH.js +3 -0
  28. package/dist/chunks/{Messages-C5gVVVmY.js → Messages-uRxxAMW-.js} +2 -2
  29. package/dist/chunks/{Onboarding-BkidUre_.js → Onboarding-ByLnHSnW.js} +1 -1
  30. package/dist/chunks/{OverageCreditUpsell-DoRUucoN.js → OverageCreditUpsell-CVNfTSKG.js} +1 -1
  31. package/dist/chunks/{PluginSettings-DhpNtjTm.js → PluginSettings-h9Lj0vW6.js} +1 -1
  32. package/dist/chunks/{PromptInputFooterSuggestions-BnpXzkW9.js → PromptInputFooterSuggestions-CYWSLCgA.js} +1 -1
  33. package/dist/chunks/{PromptInputHelpMenu-DKbiO4C0.js → PromptInputHelpMenu-BsYNhZCw.js} +1 -1
  34. package/dist/chunks/{QueryEngine-J15EOjWx.js → QueryEngine-CxP2S3qi.js} +1 -1
  35. package/dist/chunks/{REPL-nrJ13J1o.js → REPL-CV12-ns7.js} +6 -6
  36. package/dist/chunks/REPL-h1bwm8ee.js +1 -0
  37. package/dist/chunks/{RemoteCallout-DGXIcTKv.js → RemoteCallout-WWO84za-.js} +1 -1
  38. package/dist/chunks/{RemoteSessionManager-3KsuTCZM.js → RemoteSessionManager-Dx2skKnM.js} +1 -1
  39. package/dist/chunks/{ResumeConversation-kS7lkjJm.js → ResumeConversation-CagiCg7-.js} +1 -1
  40. package/dist/chunks/{SSETransport-Cy1rXP6E.js → SSETransport-BHdzk1HO.js} +1 -1
  41. package/dist/chunks/SearchExtraToolsTool-BJ2d8mtx.js +1 -0
  42. package/dist/chunks/SentryErrorBoundary-CYiFofRZ.js +1 -0
  43. package/dist/chunks/{SentryErrorBoundary-B_6MfzRa.js → SentryErrorBoundary-CmewX8Dv.js} +1 -1
  44. package/dist/chunks/Settings-BcgtW60l.js +2 -0
  45. package/dist/chunks/{TeleportProgress-CQUN_zoe.js → TeleportProgress-BmbhZlOg.js} +1 -1
  46. package/dist/chunks/{TeleportRepoMismatchDialog-CPquWrd-.js → TeleportRepoMismatchDialog-BAwtgUhR.js} +1 -1
  47. package/dist/chunks/{TeleportResumeWrapper-NIFNCHIO.js → TeleportResumeWrapper-BlkvOdYn.js} +1 -1
  48. package/dist/chunks/{ThemePicker-DnK0DStD.js → ThemePicker-v_3lh136.js} +1 -1
  49. package/dist/chunks/{TmuxBackend-C00k5RF9.js → TmuxBackend-B7Nabc5t.js} +1 -1
  50. package/dist/chunks/{TrustDialog-CUnvtDeS.js → TrustDialog-CHu5eoeR.js} +1 -1
  51. package/dist/chunks/{ValidationErrorsList-CJbO1qub.js → ValidationErrorsList-BSMetgqr.js} +1 -1
  52. package/dist/chunks/WelcomeV2-DZfBSTu5.js +1 -0
  53. package/dist/chunks/{WindowsTerminalBackend-DSsgxuNK.js → WindowsTerminalBackend-CeSoQ_Nk.js} +1 -1
  54. package/dist/chunks/{add-dir-BPqd010H.js → add-dir-7UeFZkdv.js} +1 -1
  55. package/dist/chunks/{agentDisplay-C0B1b_90.js → agentDisplay-DJgsfIlm.js} +1 -1
  56. package/dist/chunks/{agents-CYs7WGHP.js → agents-DD7gQVZD.js} +1 -1
  57. package/dist/chunks/{agents-DMzVeRly.js → agents-DK0y9jId.js} +1 -1
  58. package/dist/chunks/{ant-BO0Hmoii.js → ant-PhgMZT08.js} +1 -1
  59. package/dist/chunks/api-D4aCzJS-.js +1 -0
  60. package/dist/chunks/{api-DLLVkmRJ.js → api-nHsRf03G.js} +1 -1
  61. package/dist/chunks/{assistant-_dIpsqHM.js → assistant-BJbeizyH.js} +1 -1
  62. package/dist/chunks/{assistant-CHp4-EaF.js → assistant-DO7RAhd3.js} +1 -1
  63. package/dist/chunks/assistant-Dvx-UrTi.js +1 -0
  64. package/dist/chunks/auth-Cp7Nt0ik.js +1 -0
  65. package/dist/chunks/{auth-DelyQc8g.js → auth-DxRiJwZ-.js} +1 -1
  66. package/dist/chunks/{autoMode-D3-o7xPK.js → autoMode-BswSpjo5.js} +1 -1
  67. package/dist/chunks/{autonomy-tTAucjip.js → autonomy-CNJQwoAQ.js} +1 -1
  68. package/dist/chunks/{autonomy-CzSRoxjl.js → autonomy-Lc78acHX.js} +1 -1
  69. package/dist/chunks/{autonomyPanel-DcK8N52K.js → autonomyPanel-DxcumRp-.js} +1 -1
  70. package/dist/chunks/{backgroundHousekeeping-Bbkz61_-.js → backgroundHousekeeping-BkfWgzIP.js} +2 -2
  71. package/dist/chunks/backgroundHousekeeping-BxBI2KkX.js +1 -0
  72. package/dist/chunks/{branch-ZJF4xAh9.js → branch-BPsUW1dk.js} +1 -1
  73. package/dist/chunks/{bridge-C6gSt_32.js → bridge-DcOGvDbb.js} +2 -2
  74. package/dist/chunks/{bridgeConfig-DXUNQp2l.js → bridgeConfig-CvKdNJOg.js} +1 -1
  75. package/dist/chunks/bridgeConfig-Dkn5GGec.js +1 -0
  76. package/dist/chunks/bridgeEnabled-CjaYKTo5.js +1 -0
  77. package/dist/chunks/{bridgeEnabled-G6vxQV-7.js → bridgeEnabled-D01faWms.js} +1 -1
  78. package/dist/chunks/{bridgeMain-DlnIQOtX.js → bridgeMain-Bu2oOX31.js} +6 -6
  79. package/dist/chunks/bridgeMain-CEpOBx8Z.js +1 -0
  80. package/dist/chunks/{bridgeMessaging-mek-AaFi.js → bridgeMessaging-BZMDSZAN.js} +1 -1
  81. package/dist/chunks/{btw-Cz2lyle-.js → btw-B8s-X_cm.js} +1 -1
  82. package/dist/chunks/{buddy-BMqKttFw.js → buddy-DkB1xU1o.js} +1 -1
  83. package/dist/chunks/{bypassPermissionsKillswitch-BxvX48jr.js → bypassPermissionsKillswitch-B9Qz9zKO.js} +1 -1
  84. package/dist/chunks/{caches-wtRUk5y5.js → caches-BuSzLvN9.js} +2 -2
  85. package/dist/chunks/caches-Bvl2jdxF.js +1 -0
  86. package/dist/chunks/{ccrClient-BOrmrmgF.js → ccrClient-CMZXfu9P.js} +1 -1
  87. package/dist/chunks/changeDetector-DTXMv7gH.js +1 -0
  88. package/dist/chunks/channelNotification-B7s1OoRK.js +1 -0
  89. package/dist/chunks/{channelNotification-D8do6HUN.js → channelNotification-t6Kgu-vX.js} +1 -1
  90. package/dist/chunks/{chrome-JF2BXNK6.js → chrome-Cvkozg2F.js} +1 -1
  91. package/dist/chunks/clear-C9pufI6F.js +1 -0
  92. package/dist/chunks/client-CqJ5gRGj.js +1 -0
  93. package/dist/chunks/{color-oh8CGhkI.js → color-AYeAYKyq.js} +1 -1
  94. package/dist/chunks/commands-LcLR5Vgx.js +1 -0
  95. package/dist/chunks/commitAttribution-BZupnGMc.js +1 -0
  96. package/dist/chunks/{commitAttribution-CUdm_sRl.js → commitAttribution-CUqUEjsh.js} +1 -1
  97. package/dist/chunks/{compact-R6vMbGQQ.js → compact-BF0-0_qh.js} +1 -1
  98. package/dist/chunks/{companion-ClxqTyG9.js → companion-Cf_kYtOD.js} +1 -1
  99. package/dist/chunks/{config-CPK9PlWS.js → config-45GLd-lt.js} +1 -1
  100. package/dist/chunks/{config-BQ-MayP6.js → config-JGm0O-ZQ.js} +1 -1
  101. package/dist/chunks/{context-CWfsKYEB.js → context-Bl5VUX5M.js} +1 -1
  102. package/dist/chunks/context-noninteractive-BtzPsJ8k.js +1 -0
  103. package/dist/chunks/{context-noninteractive-BJ4hE3MX.js → context-noninteractive-DdPFYYO9.js} +1 -1
  104. package/dist/chunks/{conversation-DizpkPtq.js → conversation-C3NWyOB3.js} +1 -1
  105. package/dist/chunks/conversation-oX932vBQ.js +1 -0
  106. package/dist/chunks/{copy-BuPCS2HG.js → copy-CbhxPqw4.js} +1 -1
  107. package/dist/chunks/{createSSHSession-Di9Je4Th.js → createSSHSession-Dq2nMChz.js} +1 -1
  108. package/dist/chunks/createSession-1ewHG3eq.js +1 -0
  109. package/dist/chunks/{createSession-D6v0lBtG.js → createSession-DTHPUie-.js} +1 -1
  110. package/dist/chunks/{cronJitterConfig-By18m-PD.js → cronJitterConfig-IGWCRDrv.js} +1 -1
  111. package/dist/chunks/{crossProjectResume-C4YT2T6P.js → crossProjectResume-WmabPBTO.js} +1 -1
  112. package/dist/chunks/datadog-Da7KYZNF.js +1 -0
  113. package/dist/chunks/{datadog-BFSdlK6C.js → datadog-FKvRNyFi.js} +1 -1
  114. package/dist/chunks/{desktop-Bd-JHrBo.js → desktop-ZASE3YWy.js} +1 -1
  115. package/dist/chunks/{diff-DGmINgOc.js → diff-QP-TbxuD.js} +1 -1
  116. package/dist/chunks/{doctor-DQ42RQPx.js → doctor-DVkgmkRb.js} +1 -1
  117. package/dist/chunks/{effort-E6XjzPYR.js → effort-DbryQCua.js} +1 -1
  118. package/dist/chunks/entry-D8y42iuM.js +14 -0
  119. package/dist/chunks/envLessBridgeConfig-CpW0G4Eh.js +1 -0
  120. package/dist/chunks/envLessBridgeConfig-D4bSwf7w.js +1 -0
  121. package/dist/chunks/{exit-CVlpMwCq.js → exit-BsNW67F9.js} +1 -1
  122. package/dist/chunks/{export-CXcPQd0T.js → export-C9A9nOA1.js} +1 -1
  123. package/dist/chunks/{exportRenderer-B9WXgMV2.js → exportRenderer-CyTuZFFF.js} +1 -1
  124. package/dist/chunks/{extra-usage-B2KmuAZe.js → extra-usage-C6s5mXW0.js} +1 -1
  125. package/dist/chunks/extra-usage-DL2C0_BM.js +1 -0
  126. package/dist/chunks/{extra-usage-core-B20tawuN.js → extra-usage-core-BFCwz3XM.js} +1 -1
  127. package/dist/chunks/{extra-usage-noninteractive-DZRe98BZ.js → extra-usage-noninteractive-IHq7s6wm.js} +1 -1
  128. package/dist/chunks/{extraUsage-CxqJdnGC.js → extraUsage-CIrG_Lbw.js} +1 -1
  129. package/dist/chunks/extractMemories-CA2eJwHy.js +1 -0
  130. package/dist/chunks/fast-B01NO2uA.js +1 -0
  131. package/dist/chunks/{fast-CPmJ2bp3.js → fast-NEKXVZqQ.js} +1 -1
  132. package/dist/chunks/{feedback-4GY3ahvw.js → feedback-D5iWO16P.js} +1 -1
  133. package/dist/chunks/{firstPartyEventLogger-CISUrAsf.js → firstPartyEventLogger-Dr3TK3IU.js} +1 -1
  134. package/dist/chunks/{flushGate-Dr8sMjB7.js → flushGate-DygHyqmB.js} +1 -1
  135. package/dist/chunks/gates-BSpXbh9s.js +1 -0
  136. package/dist/chunks/{gates-DI4pxvrD.js → gates-Dyz_t5zJ.js} +1 -1
  137. package/dist/chunks/{gemini-Dcfosr2Z.js → gemini-BEmbnRQR.js} +1 -1
  138. package/dist/chunks/{generateRecap-CH_fgtxk.js → generateRecap-DZiXeYWn.js} +1 -1
  139. package/dist/chunks/{generateSessionName-DO0R__8w.js → generateSessionName-EbB2vl9t.js} +1 -1
  140. package/dist/chunks/{githubRepoPathMapping-D5I8CVDz.js → githubRepoPathMapping-dky2fPeU.js} +1 -1
  141. package/dist/chunks/{grok-X0FzcE6Y.js → grok-BM6ZJ4w2.js} +1 -1
  142. package/dist/chunks/{growthbook-DZPT2JzB.js → growthbook-JD-WW3yV.js} +1 -1
  143. package/dist/chunks/{heapdump-Cq6i0wJH.js → heapdump-8vyFTWly.js} +1 -1
  144. package/dist/chunks/{help-B8ddA-Ec.js → help-C2DM0p8U.js} +1 -1
  145. package/dist/chunks/{hooks-CvFNccdv.js → hooks-CMh0a2pT.js} +1 -1
  146. package/dist/chunks/hooks-QXGwOfWj.js +1 -0
  147. package/dist/chunks/{hostAdapter-D3s4JFk-.js → hostAdapter-CmbGfgNV.js} +1 -1
  148. package/dist/chunks/{ide-CzxV5_D7.js → ide-Bn8R7397.js} +1 -1
  149. package/dist/chunks/{inboundAttachments-B3ZTyNKF.js → inboundAttachments-BweY9sYo.js} +1 -1
  150. package/dist/chunks/inboundAttachments-N5DKbZSl.js +1 -0
  151. package/dist/chunks/initReplBridge-3CfmzjJL.js +1 -0
  152. package/dist/chunks/{insights-DiWlKgVQ.js → insights-NOl_PxhN.js} +1 -1
  153. package/dist/chunks/{install-BFpg1zm1.js → install-BoT2GIcz.js} +1 -1
  154. package/dist/chunks/{install-github-app-BUCGGSw0.js → install-github-app-SD4PvrTR.js} +1 -1
  155. package/dist/chunks/{install-slack-app-D5JDqzbs.js → install-slack-app-DLQXpOCt.js} +1 -1
  156. package/dist/chunks/{instrumentation--BToLJT9.js → instrumentation-BXJk0mxI.js} +3 -3
  157. package/dist/chunks/{job-mUyxSEc2.js → job-CnlMlm3t.js} +1 -1
  158. package/dist/chunks/{keybindings-D4DbE4G0.js → keybindings-BjaRqcbD.js} +1 -1
  159. package/dist/chunks/{lang-cMcnaxAR.js → lang-BI8CzjL6.js} +1 -1
  160. package/dist/chunks/{language-sTn9sA3E.js → language-CRIdgj2F.js} +1 -1
  161. package/dist/chunks/language-DmbRGIs8.js +1 -0
  162. package/dist/chunks/{launchAgentsPlatform-CAfyCAsQ.js → launchAgentsPlatform-Bg9guiqy.js} +1 -1
  163. package/dist/chunks/{launchAutofixPr-CSMamZS6.js → launchAutofixPr-BMfXGXwN.js} +1 -1
  164. package/dist/chunks/{launchLocalMemory-nYAwNsNT.js → launchLocalMemory-lgnXOi6U.js} +1 -1
  165. package/dist/chunks/{launchLocalVault-yPp8S-tG.js → launchLocalVault-C0Oz-lto.js} +1 -1
  166. package/dist/chunks/{launchMemoryStores-Dk3SXucB.js → launchMemoryStores-Bw11ruRi.js} +1 -1
  167. package/dist/chunks/{launchOnboarding-BoqmHyRx.js → launchOnboarding-WEW34cnl.js} +1 -1
  168. package/dist/chunks/{launchSchedule-C2HBjD6C.js → launchSchedule-X0rcM_kM.js} +1 -1
  169. package/dist/chunks/{launchSkillStore-B5Yjvi-k.js → launchSkillStore-DpxSlMCU.js} +1 -1
  170. package/dist/chunks/{launchTeleport-BayvAnwh.js → launchTeleport-uOtMsYcI.js} +1 -1
  171. package/dist/chunks/{launchVault-BszsgPbZ.js → launchVault-CJyJaPqH.js} +1 -1
  172. package/dist/chunks/{loadAgentsDir-Cl2w3uvH.js → loadAgentsDir-D-xcJ22-.js} +45 -45
  173. package/dist/chunks/loadAgentsDir-ILQxk_4G.js +1 -0
  174. package/dist/chunks/{loadPluginHooks-YHtjByxm.js → loadPluginHooks-BC1Ea7_D.js} +1 -1
  175. package/dist/chunks/{localSearch-CpeqVibs.js → localSearch-B6Ho7Vfj.js} +1 -1
  176. package/dist/chunks/localSearch-COyJeP9E.js +1 -0
  177. package/dist/chunks/login-Cf89biEK.js +1 -0
  178. package/dist/chunks/{login-TVtq34WQ.js → login-uOvq1xN_.js} +1 -1
  179. package/dist/chunks/{logoV2Utils-DwaRnvOY.js → logoV2Utils-C2cdcgtp.js} +1 -1
  180. package/dist/chunks/logout-CEXwTlEX.js +1 -0
  181. package/dist/chunks/{magicDocs-_yNWB88A.js → magicDocs-BBjAhGN1.js} +1 -1
  182. package/dist/chunks/{main-gTbhsbIs.js → main-DGsAUuG_.js} +15 -15
  183. package/dist/chunks/{mappers-COd8OOml.js → mappers-CO6koWDa.js} +1 -1
  184. package/dist/chunks/{mcp-CChzTC5v.js → mcp-BrN_Tbq5.js} +2 -2
  185. package/dist/chunks/{mcp-DoraEndj.js → mcp-CZltNml5.js} +1 -1
  186. package/dist/chunks/mcp-D6JOqdT8.js +2 -0
  187. package/dist/chunks/{mcpServer-Wd9rZG_E.js → mcpServer-C-0K3Azg.js} +1 -1
  188. package/dist/chunks/{mcpServer-CpBN77YB.js → mcpServer-C_aDoLMg.js} +1 -1
  189. package/dist/chunks/{memory-I21QZZ9h.js → memory-BYYOgo4e.js} +1 -1
  190. package/dist/chunks/model-CHgqwg6N.js +1 -0
  191. package/dist/chunks/{model-BrHh21Db.js → model-CrAPXYZA.js} +1 -1
  192. package/dist/chunks/{onChangeAppState-Cn_HSmmQ.js → onChangeAppState-C6ZIU1SD.js} +1 -1
  193. package/dist/chunks/{openai-BD2V4lHN.js → openai-Cm4gozk8.js} +1 -1
  194. package/dist/chunks/{overageCreditGrant-B47t5a73.js → overageCreditGrant-Pe7C_4Qi.js} +1 -1
  195. package/dist/chunks/{passes-DAOPYX0C.js → passes-BpI6azLG.js} +1 -1
  196. package/dist/chunks/{paths-q1-Ni8Oh.js → paths-D9CVAtXU.js} +2 -2
  197. package/dist/chunks/{permissions-BmxTU-Pk.js → permissions-C7wcAYOc.js} +1 -1
  198. package/dist/chunks/{pipeTransport-DnHE3axn.js → pipeTransport-wjeyTgon.js} +1 -1
  199. package/dist/chunks/{plan-4dmnQ9bv.js → plan-DA8IRpHQ.js} +1 -1
  200. package/dist/chunks/{plugin-CG7lJIpf.js → plugin-N2pTkzOz.js} +1 -1
  201. package/dist/chunks/{pluginAutoupdate-CPLuidh-.js → pluginAutoupdate-DCc5qDvo.js} +1 -1
  202. package/dist/chunks/{pluginBlocklist-BHxIUqu4.js → pluginBlocklist-C_Veew3p.js} +1 -1
  203. package/dist/chunks/{pluginCliCommands-BcDIvxR3.js → pluginCliCommands-BN7loc5T.js} +1 -1
  204. package/dist/chunks/{pluginFlagging-Dh6rYOvj.js → pluginFlagging-Dpu1cvMo.js} +1 -1
  205. package/dist/chunks/{pluginOperations-fdLcp72i.js → pluginOperations-CP6NFNog.js} +1 -1
  206. package/dist/chunks/pluginStartupCheck-BF0xUEJG.js +1 -0
  207. package/dist/chunks/{pluginStartupCheck-Dy7EckW4.js → pluginStartupCheck-DvWHwNnD.js} +1 -1
  208. package/dist/chunks/{plugins-C3-iYKTp.js → plugins-BHoniP5f.js} +1 -1
  209. package/dist/chunks/policyLimits-sh7ywop0.js +1 -0
  210. package/dist/chunks/{pollConfig-BGXMaSla.js → pollConfig-xYxAmuXi.js} +1 -1
  211. package/dist/chunks/{poor-CxAil0Mi.js → poor-C0KwfFF0.js} +1 -1
  212. package/dist/chunks/{poorMode-DFcYVnMT.js → poorMode-D7WXWZtJ.js} +1 -1
  213. package/dist/chunks/poorMode-DZQXZ_zu.js +1 -0
  214. package/dist/chunks/{print-Cog1o-Tw.js → print-BcRG8gkQ.js} +4 -4
  215. package/dist/chunks/{privacy-settings-D6g7p6sB.js → privacy-settings-DT3LGgsH.js} +1 -1
  216. package/dist/chunks/{processBashCommand-DqgujTR4.js → processBashCommand-DPfJ9lrj.js} +1 -1
  217. package/dist/chunks/{processSlashCommand-DUPS9Xx3.js → processSlashCommand-DyPCeZux.js} +1 -1
  218. package/dist/chunks/{prompt-BmOnuQfF.js → prompt-C69iv9cI.js} +1 -1
  219. package/dist/chunks/prompt-DaIJzI1P.js +1 -0
  220. package/dist/chunks/prompt-DnLsyywj.js +1 -0
  221. package/dist/chunks/{promptEditor-ClGwMkWl.js → promptEditor-BZqpLrcZ.js} +1 -1
  222. package/dist/chunks/{protocolHandler--b0d38gF.js → protocolHandler-CfmBTg36.js} +1 -1
  223. package/dist/chunks/{rate-limit-options-DD2ZRREl.js → rate-limit-options-P7oQuwrl.js} +1 -1
  224. package/dist/chunks/{rcDebugLog-fhwD4wm-.js → rcDebugLog-CTOZ2K3E.js} +1 -1
  225. package/dist/chunks/{referral-rRvT6UDX.js → referral-D26orIXE.js} +1 -1
  226. package/dist/chunks/{refresh-C7S_6LOQ.js → refresh-BeSXaVya.js} +1 -1
  227. package/dist/chunks/{registerProtocol-Bu_tz5Au.js → registerProtocol-DSQh-I21.js} +1 -1
  228. package/dist/chunks/{registry-Bk0vdx_8.js → registry-Dp5W2V8B.js} +1 -1
  229. package/dist/chunks/{release-notes-BShc_V-B.js → release-notes-Cg85UVo8.js} +1 -1
  230. package/dist/chunks/{releaseNotes-D3wZdQVZ.js → releaseNotes-Dps4SeVh.js} +2 -2
  231. package/dist/chunks/{reload-plugins-CpytFAAC.js → reload-plugins-Bo-R1CF3.js} +1 -1
  232. package/dist/chunks/{remote-env-B9Of1v31.js → remote-env-ChQuV3rO.js} +1 -1
  233. package/dist/chunks/{remoteBridgeCore-BXp6nJ8q.js → remoteBridgeCore-BXtygJA-.js} +1 -1
  234. package/dist/chunks/{remoteControlServer-BvlTaHu4.js → remoteControlServer-sqW_JLwC.js} +1 -1
  235. package/dist/chunks/{rename-DhTddAd7.js → rename-Bigaipiq.js} +1 -1
  236. package/dist/chunks/{resume-DwVeFqnc.js → resume-CtOI2pOJ.js} +1 -1
  237. package/dist/chunks/{runtimeObserver-dtT0QHYO.js → runtimeObserver-CJ955XSo.js} +2 -2
  238. package/dist/chunks/{runtimeObserver-BtgDP8Gz.js → runtimeObserver-DojpbVgU.js} +1 -1
  239. package/dist/chunks/sandbox-adapter-BbrJOJNZ.js +1 -0
  240. package/dist/chunks/{sandbox-toggle-CG2vZNAb.js → sandbox-toggle-B9dn09gt.js} +1 -1
  241. package/dist/chunks/searchExtraTools-Denn1c1E.js +1 -0
  242. package/dist/chunks/{sentry-DFk8bzvt.js → sentry-B6tWUNGj.js} +1 -1
  243. package/dist/chunks/{session-DifFcUdR.js → session-C5yIf_zV.js} +1 -1
  244. package/dist/chunks/{sessionDiscovery-CRbLIQv1.js → sessionDiscovery-CQ3iMN4s.js} +1 -1
  245. package/dist/chunks/sessionFileAccessHooks-1IAwziOQ.js +1 -0
  246. package/dist/chunks/sessionMemory-3TAJyNuJ.js +1 -0
  247. package/dist/chunks/{sessionMemory-BdptRKL8.js → sessionMemory-HZNzEOLd.js} +1 -1
  248. package/dist/chunks/sessionMemoryUtils-BAkA4sGG.js +1 -0
  249. package/dist/chunks/sessionObserver-DqLMFMLM.js +1 -0
  250. package/dist/chunks/{sessionObserver-D3vw6SJ_.js → sessionObserver-MQA9_wZw.js} +1 -1
  251. package/dist/chunks/sessionStorage-CFfMypMQ.js +1 -0
  252. package/dist/chunks/{sessionTitle-DnvlYJ-c.js → sessionTitle-BafqFHLc.js} +1 -1
  253. package/dist/chunks/{sessionTracing-BkzKJi0v.js → sessionTracing-_obALZbi.js} +1 -1
  254. package/dist/chunks/{settingsSync-CHZVpM34.js → settingsSync-DBWi-NXU.js} +1 -1
  255. package/dist/chunks/{setup-GxlEx1KG.js → setup-C_GrS0Rd.js} +1 -1
  256. package/dist/chunks/{setup-BpwYOhci.js → setup-D1sQnli9.js} +2 -2
  257. package/dist/chunks/{setup-BfecYO-n.js → setup-DIxsjw17.js} +1 -1
  258. package/dist/chunks/{shadowedRuleDetection-FNzEipG0.js → shadowedRuleDetection-CwMwv9uM.js} +1 -1
  259. package/dist/chunks/{sideQuestion-Bfa0SZn5.js → sideQuestion-CI5pyoQF.js} +1 -1
  260. package/dist/chunks/{sink-DpAjuilF.js → sink-BSTUubjl.js} +1 -1
  261. package/dist/chunks/sink-fGBOXJab.js +1 -0
  262. package/dist/chunks/sinks-B9EsWFeb.js +2 -0
  263. package/dist/chunks/sinks-BCl9slVM.js +1 -0
  264. package/dist/chunks/{skill-learning-BSeEbCnP.js → skill-learning-DThetLpo.js} +1 -1
  265. package/dist/chunks/{skillChangeDetector-BEDBRGbY.js → skillChangeDetector-BOH-fyEn.js} +1 -1
  266. package/dist/chunks/{skillGapStore-B4GmZRJ0.js → skillGapStore-BmjCK9ZR.js} +2 -2
  267. package/dist/chunks/{skillGapStore-BCO6YB3H.js → skillGapStore-ax0GuSmd.js} +1 -1
  268. package/dist/chunks/{skillGenerator-QgDWAvzK.js → skillGenerator-Dj3xInwG.js} +2 -2
  269. package/dist/chunks/skillLearning-BDsjN-u-.js +1 -0
  270. package/dist/chunks/skillLearning-CXUsWxdi.js +1 -0
  271. package/dist/chunks/{skillPanel-srZjMIbC.js → skillPanel-CJ4tvX7A.js} +3 -3
  272. package/dist/chunks/{skillSearchPanel-DTvHcwNK.js → skillSearchPanel-hwZvXKZ4.js} +2 -2
  273. package/dist/chunks/{skills-BlVUkWg4.js → skills-BVWDDcD9.js} +1 -1
  274. package/dist/chunks/{sprites-QO9r_mXk.js → sprites-B-V9otkt.js} +1 -1
  275. package/dist/chunks/{stats-DdXM-u7l.js → stats-DcS6ZnsX.js} +1 -1
  276. package/dist/chunks/{status-BIZWtZqI.js → status-DZKjK9CE.js} +1 -1
  277. package/dist/chunks/{statusNoticeHelpers-9sIAjiE6.js → statusNoticeHelpers-reCcymMR.js} +1 -1
  278. package/dist/chunks/{tag-DDJ8pAsl.js → tag-B5b-waIf.js} +1 -1
  279. package/dist/chunks/{tasks-DYt6udr3.js → tasks-vXM-vULI.js} +1 -1
  280. package/dist/chunks/teamHelpers-BBhol4dD.js +1 -0
  281. package/dist/chunks/{teamHelpers-BJuKEuyS.js → teamHelpers-CbFFdvPw.js} +1 -1
  282. package/dist/chunks/{teammateModeSnapshot-Zp1weNIZ.js → teammateModeSnapshot-DkkMv2-b.js} +1 -1
  283. package/dist/chunks/teammateModeSnapshot-W5G22rwQ.js +1 -0
  284. package/dist/chunks/{teleport-DkoFG3EI.js → teleport-Da0rKwCo.js} +1 -1
  285. package/dist/chunks/{templateJobs-V2-TVeGE.js → templateJobs-BLQqrGjb.js} +1 -1
  286. package/dist/chunks/{terminalSetup-l0Vv_v1c.js → terminalSetup-BKfVYk3w.js} +1 -1
  287. package/dist/chunks/{terminalSetup-DMUDhXur.js → terminalSetup-BLU99dau.js} +1 -1
  288. package/dist/chunks/{theme-Dm1yCDce.js → theme-BM2CXWYE.js} +1 -1
  289. package/dist/chunks/{thinkback-DQAZE5SA.js → thinkback-Cd1g_2A9.js} +1 -1
  290. package/dist/chunks/thinkback-ChP6pvCS.js +1 -0
  291. package/dist/chunks/{thinkback-play-BJcGmc9X.js → thinkback-play-Cg8Ys2dq.js} +1 -1
  292. package/dist/chunks/{toolEventObserver-C-BImvCz.js → toolEventObserver-71WYUega.js} +1 -1
  293. package/dist/chunks/{toolEventObserver-BgkqkNwy.js → toolEventObserver-nxcfjaur.js} +1 -1
  294. package/dist/chunks/{toolPool-DYvz_Mjt.js → toolPool-CN1cPGQz.js} +1 -1
  295. package/dist/chunks/toolPool-CygNb5cr.js +1 -0
  296. package/dist/chunks/{trustedDevice-CXsk3eij.js → trustedDevice-Brc9B8cZ.js} +1 -1
  297. package/dist/chunks/{trustedDevice-BDrK9AQ6.js → trustedDevice-C0KJ0qiK.js} +1 -1
  298. package/dist/chunks/{ultrareviewCommand-Bc8hMzHz.js → ultrareviewCommand-BY0T8Pzl.js} +1 -1
  299. package/dist/chunks/undercover-bx8TwG9W.js +1 -0
  300. package/dist/chunks/{undercover-kRoI_nlN.js → undercover-j27F8p49.js} +1 -1
  301. package/dist/chunks/{updateCCB-BPGNN7VA.js → updateCCB-Dgb2ed9v.js} +1 -1
  302. package/dist/chunks/upgrade-BkHztwGA.js +1 -0
  303. package/dist/chunks/{upgrade-DmEGLk6v.js → upgrade-zs7K9UkG.js} +1 -1
  304. package/dist/chunks/{upload-49qk5TBL.js → upload-Df84yCBz.js} +1 -1
  305. package/dist/chunks/{usage-DhJDFJVx.js → usage-DKENFl_k.js} +1 -1
  306. package/dist/chunks/{usage-sYgTL8wR.js → usage-lTILrQJV.js} +1 -1
  307. package/dist/chunks/{useMainLoopModel-CJaR_qEJ.js → useMainLoopModel-X1PW9z5A.js} +1 -1
  308. package/dist/chunks/{useManagePlugins-B1FpmxFo.js → useManagePlugins-DDKeDfIv.js} +1 -1
  309. package/dist/chunks/{useMergedTools-eMPZ95TX.js → useMergedTools-CC3XwtOR.js} +1 -1
  310. package/dist/chunks/{useSearchInput-CR-b0Qi6.js → useSearchInput-DNpNG36H.js} +1 -1
  311. package/dist/chunks/{useSettingsErrors-p-PFBeaC.js → useSettingsErrors-vGzCYpIA.js} +1 -1
  312. package/dist/chunks/{useVoice-D3PqTfCK.js → useVoice-DmObXoAh.js} +1 -1
  313. package/dist/chunks/{util-BZ2fS3PR.js → util-9vJ9WIeZ.js} +1 -1
  314. package/dist/chunks/utils-Dg0S2Vfn.js +1 -0
  315. package/dist/chunks/{validatePlugin-QtcXXmZu.js → validatePlugin-_Z4zhjSx.js} +1 -1
  316. package/dist/chunks/{vim-LmepJftY.js → vim-CK7lReJi.js} +1 -1
  317. package/dist/chunks/{voice-CNRTt4gH.js → voice-BLVF7E3Q.js} +1 -1
  318. package/dist/chunks/{voiceModeEnabled-wWM929QG.js → voiceModeEnabled-BpLBjY2-.js} +1 -1
  319. package/dist/chunks/voiceModeEnabled-BqFYzoXw.js +1 -0
  320. package/dist/chunks/voiceStreamSTT-C0pkuXGm.js +1 -0
  321. package/dist/chunks/{voiceStreamSTT-CnK9GN6Q.js → voiceStreamSTT-i4tUq3Hu.js} +1 -1
  322. package/dist/chunks/{workerRegistry-CrIpKIZe.js → workerRegistry-Bg7dWLHf.js} +1 -1
  323. package/dist/chunks/worktree-Cg4p1J__.js +1 -0
  324. package/dist/chunks/{xml-CMdTGiv6.js → xml-K_hNNh2b.js} +1 -1
  325. package/dist/cli.js +1 -1
  326. package/package.json +1 -1
  327. package/dist/chunks/ApproveApiKey-Bmcop2Do.js +0 -1
  328. package/dist/chunks/ClaudeMdExternalIncludesDialog-DO61Zz-S.js +0 -1
  329. package/dist/chunks/ConsoleOAuthFlow-FSHC5mxO.js +0 -1
  330. package/dist/chunks/Doctor-Dcntgp5Z.js +0 -1
  331. package/dist/chunks/Feedback-hFZwDSRp.js +0 -2
  332. package/dist/chunks/Grove-Cmcsx2UE.js +0 -1
  333. package/dist/chunks/MessageSelector-CDVC2CAj.js +0 -3
  334. package/dist/chunks/REPL-Dk3Ics9i.js +0 -1
  335. package/dist/chunks/SearchExtraToolsTool-C998WSxs.js +0 -1
  336. package/dist/chunks/SentryErrorBoundary-BJLT-ebr.js +0 -1
  337. package/dist/chunks/Settings-DBopjMkN.js +0 -2
  338. package/dist/chunks/WelcomeV2-BBFGft_e.js +0 -1
  339. package/dist/chunks/api-B2HW-oZI.js +0 -1
  340. package/dist/chunks/assistant-BmM44yln.js +0 -1
  341. package/dist/chunks/auth-ndSNSeqS.js +0 -1
  342. package/dist/chunks/backgroundHousekeeping-DVo3ndZr.js +0 -1
  343. package/dist/chunks/bridgeConfig-ZcbBdhji.js +0 -1
  344. package/dist/chunks/bridgeEnabled-D5qCI5v2.js +0 -1
  345. package/dist/chunks/bridgeMain-B4Zv8UOe.js +0 -1
  346. package/dist/chunks/caches-D_W3nCFE.js +0 -1
  347. package/dist/chunks/changeDetector-CUsHUdul.js +0 -1
  348. package/dist/chunks/channelNotification-CLVU5AuO.js +0 -1
  349. package/dist/chunks/clear-BP-G1JWa.js +0 -1
  350. package/dist/chunks/client-BHfY6SC5.js +0 -1
  351. package/dist/chunks/commands-E0eNJ_XZ.js +0 -1
  352. package/dist/chunks/commitAttribution-B4DOgUS7.js +0 -1
  353. package/dist/chunks/context-noninteractive-D1Kxn5e0.js +0 -1
  354. package/dist/chunks/conversation-C23rDJe3.js +0 -1
  355. package/dist/chunks/createSession-Bsa0VJKS.js +0 -1
  356. package/dist/chunks/datadog-MUvg76p3.js +0 -1
  357. package/dist/chunks/entry-Di8oWZUk.js +0 -14
  358. package/dist/chunks/envLessBridgeConfig-BNvozi46.js +0 -1
  359. package/dist/chunks/envLessBridgeConfig-CUTBQKDY.js +0 -1
  360. package/dist/chunks/extra-usage-DVtAa1zD.js +0 -1
  361. package/dist/chunks/extractMemories-8uB606Y0.js +0 -1
  362. package/dist/chunks/fast-DTGg3pRh.js +0 -1
  363. package/dist/chunks/gates-BbF5S-Dy.js +0 -1
  364. package/dist/chunks/hooks-gwB4Eotj.js +0 -1
  365. package/dist/chunks/inboundAttachments-DxrrrqBW.js +0 -1
  366. package/dist/chunks/initReplBridge-DWpGy3aE.js +0 -1
  367. package/dist/chunks/language-DC6bsdvI.js +0 -1
  368. package/dist/chunks/loadAgentsDir-6_9ZFegv.js +0 -1
  369. package/dist/chunks/localSearch-DbEm6f3k.js +0 -1
  370. package/dist/chunks/login-D2x89UCR.js +0 -1
  371. package/dist/chunks/logout-BBPihkXp.js +0 -1
  372. package/dist/chunks/mcp-D-0wE0nJ.js +0 -2
  373. package/dist/chunks/model-C6_WjCy0.js +0 -1
  374. package/dist/chunks/pluginStartupCheck-fyqW-stg.js +0 -1
  375. package/dist/chunks/policyLimits-DUGrXcje.js +0 -1
  376. package/dist/chunks/poorMode-BkPHRLuG.js +0 -1
  377. package/dist/chunks/prompt-B-8CD-W_.js +0 -1
  378. package/dist/chunks/prompt-Da3gIGA8.js +0 -1
  379. package/dist/chunks/sandbox-adapter-Cm8kCM_U.js +0 -1
  380. package/dist/chunks/searchExtraTools-D-RZ9DId.js +0 -1
  381. package/dist/chunks/sessionFileAccessHooks-Bixkjai4.js +0 -1
  382. package/dist/chunks/sessionMemory-T1K_mJRE.js +0 -1
  383. package/dist/chunks/sessionMemoryUtils-q3xRtP-z.js +0 -1
  384. package/dist/chunks/sessionObserver-i_3day_6.js +0 -1
  385. package/dist/chunks/sessionStorage-CusaYoh0.js +0 -1
  386. package/dist/chunks/sink-BSwQ045N.js +0 -1
  387. package/dist/chunks/sinks-C37Xl5c3.js +0 -2
  388. package/dist/chunks/sinks-DHHmQJi-.js +0 -1
  389. package/dist/chunks/skillLearning-CFYgFRPE.js +0 -1
  390. package/dist/chunks/skillLearning-en7AuVDZ.js +0 -1
  391. package/dist/chunks/teamHelpers-Cw5dPQor.js +0 -1
  392. package/dist/chunks/teammateModeSnapshot-BXC7ssXX.js +0 -1
  393. package/dist/chunks/thinkback-D1mk7cq1.js +0 -1
  394. package/dist/chunks/toolPool-DNH5H4Jg.js +0 -1
  395. package/dist/chunks/undercover-DUrQYxYo.js +0 -1
  396. package/dist/chunks/upgrade-BTI562Ce.js +0 -1
  397. package/dist/chunks/utils-hhztcb0b.js +0 -1
  398. package/dist/chunks/voiceModeEnabled-B57V7REx.js +0 -1
  399. package/dist/chunks/voiceStreamSTT-Dp-1uSjP.js +0 -1
  400. package/dist/chunks/worktree-YbEK6b36.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e,n as t,o as n,r}from"./chunk-DR8-3Aex.js";import{f as i,l as a,n as o,s,u as c}from"./envUtils-BWeoiL4Y.js";import{g as l}from"./client-_sjL0I7A.js";import{n as u,t as d}from"./defineProperty-80gRi2ZW.js";import{n as f,t as p}from"./figures-gfT9mM8P.js";import{n as m,t as h}from"./axios-DhfaybwJ.js";import{Cn as g,Ln as _,un as v,vt as y,wn as b,yn as x}from"./schemas-BGAvj1T4.js";import{i as S,r as C,t as w}from"./v4-f1i_CNUT.js";import{A as T,B as E,Cn as D,Ct as O,F as k,Ft as A,I as j,In as M,K as N,Kt as P,L as ee,Ln as F,Lt as te,M as ne,O as I,Q as re,Rn as L,St as ie,T as ae,Tn as oe,Tt as se,U as ce,Ut as le,Wt as ue,Yt as de,Z as fe,at as pe,b as R,ct as me,en as z,f as B,g as he,gn as ge,h as _e,k as ve,m as ye,nt as V,ot as be,p as xe,qt as Se,t as H,tn as Ce,tt as we,v as Te,wn as Ee,wt as De,x as U,xt as Oe,z as ke,zt as Ae}from"./src-Di342QoJ.js";import{t as je}from"./jsx-runtime-D-D469L8.js";import{A as Me,Ar as Ne,Bt as Pe,Ct as Fe,Dt as Ie,Fr as Le,G as Re,Ht as ze,Jt as Be,K as Ve,Kt as He,Lt as Ue,Mr as We,Nt as Ge,Pr as Ke,Qt as qe,Rt as Je,S as Ye,Sn as Xe,U as Ze,Vt as Qe,W as $e,X as et,Xt as tt,Yt as nt,Zt as rt,an as it,bn as at,cn as ot,er as st,jn as ct,jr as lt,ln as ut,or as dt,ot as ft,qt as pt,rn as mt,sr as ht,tr as gt,tt as _t,ut as vt,vt as yt,xn as bt,y as xt,yn as St,zn as Ct,zt as wt}from"./state-sIHsFpDu.js";import{$s as Tt,Ac as Et,Ao as Dt,Br as Ot,Bs as kt,Cc as At,Ci as jt,Da as Mt,Dr as Nt,Ei as Pt,Et as Ft,Fa as It,Gs as Lt,Hr as Rt,Hs as zt,Ht as Bt,Io as Vt,Is as Ht,J as Ut,Ka as Wt,Ki as Gt,Kt,Lr as qt,Mo as Jt,Mr as Yt,Ms as Xt,Na as Zt,No as Qt,Ns as $t,Oa as en,Oo as tn,Ot as nn,Pc as rn,Po as an,Pr as on,Ps as sn,Pt as cn,Qa as ln,Ro as un,Rr as dn,S as fn,Sc as pn,Si as mn,St as hn,Ti as gn,Us as W,Ut as _n,Vo as vn,Vs as yn,Wr as bn,Xt as xn,Z as Sn,Zc as Cn,_ as wn,_a as Tn,a as En,ar as Dn,bi as On,bl as kn,bt as An,cn as jn,ct as Mn,d as Nn,dn as Pn,dr as Fn,ds as In,el as Ln,fl as Rn,gc as zn,gn as Bn,h as Vn,it as Hn,jo as Un,jr as Wn,ka as Gn,kt as Kn,lo as qn,mi as Jn,ml as Yn,nc as Xn,no as Zn,on as Qn,oo as $n,or as er,pl as tr,qi as nr,rt as rr,s as ir,tn as ar,ut as or,vi as sr,w as cr,wi as lr,wt as ur,xi as dr,xn as fr,xs as G,ya as pr,yi as mr,yl as hr,yn as gr,zs as _r}from"./paths-q1-Ni8Oh.js";import{E as vr,K as yr,L as br,T as xr,U as Sr,V as Cr,X as wr,Y as Tr,d as K,h as Er,k as Dr,p as Or,s as q,w as kr,y as Ar}from"./debug-UI3T040K.js";import{n as J,r as Y}from"./analytics-DqMQntaB.js";import{n as jr,t as Mr}from"./cwd--iizewsn.js";import{t as Nr}from"./sdk-DEtgRZvI.js";import{F as Pr,P as Fr,a as Ir,f as Lr,i as Rr,v as zr}from"./git-CN3qtTb_.js";import{l as Br,u as Vr}from"./oauth-CdZEzMww.js";import{n as Hr,t as Ur}from"./bundledMode-kSQejuY4.js";import{n as Wr,t as Gr}from"./which-DqSAIvp2.js";import{a as Kr,i as qr,n as Jr}from"./env-chR0gV31.js";import{E as Yr,H as Xr,J as Zr,K as Qr,L as $r,N as ei,V as ti,W as ni,et as ri,o as ii,s as ai}from"./log-CzsijfHZ.js";import{i as oi,o as si}from"./platform-CuyedWpe.js";import{n as ci,t as li}from"./memoize-DxwLawI2.js";import{i as ui,n as di,o as fi,r as pi}from"./path-B3lx7yHn.js";import{r as mi,t as hi}from"./execFileNoThrow-CuQN1sz8.js";import{s as gi,u as _i}from"./types-Csi32ZXh.js";import{S as vi,_ as yi,a as bi,b as xi,d as Si,f as Ci,l as wi,n as Ti,o as Ei,r as Di,u as Oi,v as ki,x as Ai}from"./teammate-DMYOtLTK.js";import{c as ji,n as Mi,s as Ni,t as Pi}from"./intl-Pse97ORk.js";import{E as Fi,b as Ii,d as Li,f as Ri,m as zi,p as Bi,x as Vi}from"./startupProfiler-DnXZaX4A.js";import{n as Hi,t as Ui}from"./lazySchema-2sOku3cX.js";import{$ as Wi,$D as Gi,$E as Ki,$S as qi,$T as Ji,$a as Yi,$b as Xi,$d as Zi,$f as Qi,$h as $i,$i as ea,$l as ta,$m as na,$n as ra,$p as ia,$r as aa,$u as oa,$v as sa,$x as ca,$y as la,AE as ua,AS as da,Af as fa,Ag as pa,Ah as ma,Am as ha,Ap as ga,Ar as _a,As as va,Au as ya,Ay as ba,BO as xa,BS as Sa,Ba as Ca,Bc as wa,Bd as Ta,Bf as Ea,Bh as Da,Bl as Oa,Bm as ka,Bn as Aa,Bp as ja,Bs as Ma,Bu as Na,Bv as Pa,Bx as Fa,By as Ia,CD as La,CE as Ra,CO as za,CS as Ba,Cd as Va,Cg as Ha,Ch as Ua,Cl as Wa,Co as Ga,Cu as Ka,Cv as qa,Cw as Ja,Cy as Ya,D as Xa,DA as Za,DD as Qa,DE as $a,DO as eo,DS as to,DT as no,Dk as ro,Dm as io,Dn as ao,Do as oo,Dp as so,Du as co,Dy as lo,EA as uo,ED as fo,EE as po,EO as mo,ES as ho,ET as go,E_ as _o,Ec as vo,Eh as yo,Eo as bo,Ep as xo,Es as So,Eu as Co,Ey as wo,F as To,FO as Eo,FS as Do,Fa as Oo,Fd as ko,Ff as Ao,Fg as jo,Fh as Mo,Fk as No,Fl as Po,Fm as Fo,Fn as Io,Fr as Lo,Fs as Ro,Fx as zo,G as Bo,GD as Vo,Gd as Ho,Gg as Uo,Gh as Wo,Gi as Go,Go as Ko,Gu as qo,Gv as Jo,Gx as Yo,Gy as Xo,HD as Zo,HE as Qo,H_ as $o,Hd as es,Hf as ts,Hg as ns,Hh as rs,Hi as is,Hl as as,Hp as os,Hs as ss,Hv as cs,Hx as ls,Hy as us,IE as ds,IO as fs,Ia as ps,Id as ms,If as hs,Ig as gs,Ih as _s,Ii as vs,Ik as ys,Il as bs,Im as xs,Is as Ss,Ix as Cs,J as ws,JD as Ts,JS as Es,Ja as Ds,Jd as Os,Jh as ks,Ji as As,Jp as js,Js as Ms,Ju as Ns,Jv as Ps,Jx as Fs,Jy as Is,K as Ls,KD as Rs,Kd as zs,Kh as Bs,Ko as Vs,Kp as Hs,Ks as Us,Ku as Ws,Kv as Gs,Kw as Ks,Kx as qs,Ky as Js,LE as Ys,LO as Xs,LS as X,Ld as Zs,Lf as Qs,Lh as $s,Ll as ec,Lm as tc,Lo as nc,Lp as rc,Ls as ic,Lx as ac,Ly as oc,MA as sc,MO as cc,MS as lc,Mc as uc,Mf as dc,Mg as fc,Mh as pc,Mk as mc,Mm as hc,Mp as gc,My as _c,N as vc,NA as yc,NE as bc,NO as xc,NS as Sc,Nd as Cc,Nf as wc,Nh as Tc,Nm as Ec,No as Dc,Np as Oc,Nr as kc,Nt as Ac,Nx as jc,Ny as Mc,O as Nc,OD as Pc,OE as Fc,OS as Ic,O_ as Lc,Oc as Rc,Og as zc,Oh as Bc,Om as Vc,On as Hc,Oo as Uc,Op as Wc,Ou as Gc,Ov as Kc,Oy as qc,P as Jc,PS as Yc,Pd as Xc,Pf as Zc,Ph as Qc,Pk as $c,Pm as el,Pn as tl,Po as nl,Px as rl,Py as il,Q as al,QS as ol,QT as sl,Qa as cl,Qd as ll,Qh as ul,Qm as dl,Qo as fl,Qp as pl,Qs as ml,Qt as hl,Qx as gl,Qy as _l,RE as vl,RS as Z,Ra as yl,Rb as bl,Rc as xl,Rd as Sl,Rf as Cl,Rh as wl,Ri as Tl,Rl as El,Rn as Dl,Ro as Ol,Rp as kl,Rs as Al,Rv as jl,Rx as Ml,Ry as Nl,S as Pl,SD as Fl,SE as Il,SO as Ll,SS as Rl,ST as zl,Sd as Bl,Sg as Vl,Sh as Hl,Si as Ul,Su as Wl,Sy as Gl,TA as Kl,TD as ql,TE as Jl,TO as Yl,Tk as Xl,Tl as Zl,Tm as Ql,To as $l,Tr as eu,Tu as tu,Ty as nu,UD as ru,U_ as iu,Ud as au,Uf as ou,Ug as su,Uh as cu,Ul as lu,Up as uu,Ut as du,Uu as fu,Uv as pu,Uw as mu,Ux as hu,VO as gu,Vc as _u,Vd as vu,Vf as yu,Vg as bu,Vh as xu,Vl as Su,Vm as Cu,Vn as wu,Vp as Tu,Vs as Eu,Vy as Du,WD as Ou,Wd as ku,Wg as Au,Wh as ju,Wi as Mu,Wp as Nu,Wv as Pu,Wx as Fu,XA as Iu,XE as Lu,XO as Ru,XS as zu,Xb as Bu,Xd as Vu,Xh as Hu,Xi as Uu,Xp as Wu,Xu as Gu,Xx as Ku,Xy as qu,Y as Ju,YA as Yu,YS as Xu,Yb as Zu,Yd as Qu,Yh as $u,Yi as ed,Yn as td,Yp as nd,Yt as rd,Yu as id,Yv as ad,Yw as od,Yx as sd,Yy as cd,Z as ld,ZE as ud,ZS as dd,ZT as fd,Zd as pd,Zh as md,Zi as hd,Zp as gd,Zs as _d,Zu as vd,Zw as yd,Zx as bd,Zy as xd,_C as Sd,_E as Cd,_O as wd,_S as Td,_d as Ed,_i as Dd,_k as Od,_l as kd,_o as Ad,_x as jd,aC as Md,aD as Nd,aS as Pd,aT as Fd,ab as Id,ac as Ld,ad as Rd,ah as zd,au as Bd,ax as Vd,ay as Hd,bC as Ud,bD as Wd,bE as Gd,bO as Kd,bS as qd,bT as Jd,bo as Yd,by as Xd,cC as Zd,cD as Qd,c_ as $d,ca as ef,cb as tf,cd as nf,ch as rf,ci as af,cl as of,cm as sf,cs as cf,dD as lf,dE as uf,dO as df,db as ff,dd as pf,dh as mf,di as hf,dj as gf,dk as _f,dm as vf,do as yf,dr as bf,dt as xf,du as Sf,dy as Cf,eC as wf,eS as Tf,ea as Ef,eb as Df,ed as Of,ef as kf,eg as Af,eh as jf,ek as Mf,em as Nf,eo as Pf,ep as Ff,es as If,ex as Lf,fD as Rf,fE as zf,fO as Bf,f_ as Vf,fh as Hf,fi as Uf,fj as Wf,fo as Gf,fs as Kf,ft as qf,fu as Jf,gD as Yf,gE as Xf,gO as Zf,gS as Qf,gd as $f,gl as ep,gm as tp,gs as np,gx as rp,hA as ip,hD as ap,hO as op,hS as sp,hb as cp,hd as lp,hj as up,hl as dp,hm as fp,ho as pp,hp as mp,hr as hp,hu as gp,hx as _p,hy as vp,iD as yp,iS as bp,iT as xp,ia as Sp,ib as Cp,if as wp,ih as Tp,iu as Ep,ix as Dp,iy as Op,jA as kp,jE as Ap,jS as jp,jc as Mp,jf as Np,jg as Pp,jh as Fp,jm as Ip,jp as Lp,jr as Rp,ju as zp,jy as Bp,kD as Vp,kE as Hp,kS as Up,kc as Wp,kg as Gp,kh as Kp,km as qp,kp as Jp,ku as Yp,kv as Xp,kx as Zp,ky as Qp,lC as $p,lD as em,la as tm,ld as nm,lh as rm,lk as im,ll as am,lm as om,lo as sm,lv as cm,lx as lm,mE as um,mO as dm,mS as fm,ma as pm,mb as mm,mh as hm,mi as gm,mj as _m,mk as vm,mm as ym,mp as bm,mu as xm,mx as Sm,my as Cm,nC as wm,nO as Tm,nS as Em,nT as Dm,na as Om,nb as km,nd as Am,ng as jm,nj as Mm,nr as Nm,nt as Pm,nu as Fm,o as Im,oC as Lm,oD as Rm,oS as zm,oT as Bm,oa as Vm,ob as Hm,oc as Um,od as Wm,oh as Gm,oi as Km,ol as qm,oo as Jm,or as Ym,os as Xm,ot as Zm,ov as Qm,oy as $m,pA as eh,pD as th,pE as nh,pO as rh,p_ as ih,pa as ah,pb as oh,pd as sh,ph as ch,pj as lh,pk as uh,pm as dh,pu as fh,px as ph,qD as mh,qd as hh,qh as gh,qp as _h,qr as vh,qu as yh,qw as bh,qx as xh,qy as Sh,rT as Ch,ra as wh,rd as Th,rf as Eh,rg as Dh,rj as Oh,rt as kh,ru as Ah,rx as jh,ry as Mh,sA as Nh,sD as Ph,sS as Fh,sT as Ih,s_ as Lh,sa as Rh,sb as zh,sh as Bh,sl as Vh,so as Hh,sv as Uh,sx as Wh,sy as Gh,tC as Kh,tO as qh,tS as Jh,tT as Yh,ta as Xh,tb as Zh,td as Qh,tg as $h,th as eg,tm as tg,to as ng,tt as rg,tv as ig,ty as ag,u as og,uA as sg,uD as cg,ua as lg,ub as ug,uh as dg,ul as fg,um as pg,un as mg,uo as hg,uu as gg,ux as _g,uy as vg,vC as yg,vD as bg,vE as xg,vO as Sg,vS as Cg,vb as wg,vd as Tg,vk as Eg,vm as Dg,vo as Og,vs as kg,w as Ag,wD as jg,wO as Mg,wi as Ng,wo as Pg,wr as Fg,wt as Ig,wv as Lg,ww as Rg,wy as zg,x as Bg,xC as Vg,xD as Hg,xE as Ug,xO as Wg,xS as Gg,xi as Kg,xt as qg,xu as Jg,xx as Yg,xy as Xg,yD as Zg,yE as Qg,yS as $g,yb as e_,yk as t_,yn as n_,ys as r_,yy as i_,zS as a_,zb as o_,zc as s_,zf as c_,zg as l_,zh as u_,zi as d_,zl as f_,zn as p_,zp as m_,zs as h_,zu as g_,zx as __,zy as v_}from"./loadAgentsDir-Cl2w3uvH.js";import{An as y_,Bn as b_,Dn as x_,Fn as S_,In as C_,It as w_,J as T_,Lt as E_,M as D_,Mt as O_,On as k_,P as A_,V as j_,Vn as M_,en as N_,in as P_,jn as F_,jt as I_,mt as L_,tn as R_,xn as z_,zn as B_}from"./prompt-BmOnuQfF.js";import{a as V_,n as H_,r as U_,v as W_}from"./companion-ClxqTyG9.js";import{r as G_,t as K_}from"./xml-CMdTGiv6.js";import{a as q_,i as J_,r as Y_}from"./shellQuote-DgjT8KBA.js";import{a as X_,o as Z_,s as Q_}from"./fileStateCache-C7-TxF8G.js";import{C as $_,N as ev,S as tv,T as nv,X as rv,b as iv,d as av,f as ov,j as sv,w as cv,x as lv,y as uv}from"./rcDebugLog-fhwD4wm-.js";import{T as dv,c as fv,r as pv,w as mv}from"./sessionTracing-BkzKJi0v.js";import{i as hv,n as gv,r as _v}from"./parser-CmngCwjB.js";import{c as vv,l as yv}from"./commitAttribution-CUdm_sRl.js";import{n as bv,t as xv}from"./poorMode-DFcYVnMT.js";import{A as Sv,E as Cv,H as wv,I as Tv,L as Ev,M as Dv,N as Ov,P as kv,V as Av,_ as jv,a as Mv,b as Nv,d as Pv,g as Fv,h as Iv,m as Lv,o as Rv,u as zv,x as Bv}from"./teamHelpers-BJuKEuyS.js";import{a as Vv,f as Hv,l as Uv,o as Wv}from"./api-DLLVkmRJ.js";import{n as Gv,t as Kv}from"./browser-fLRXxIsQ.js";import{t as qv}from"./useKeybinding-FsOnjW6T.js";import{c as Jv,u as Yv}from"./common-CMCv4N_v.js";import{i as Xv,m as Zv,n as Qv,p as $v}from"./terminalSetup-DMUDhXur.js";import{d as ey,l as ty,u as ny}from"./referral-rRvT6UDX.js";import{a as ry,c as iy,o as ay,s as oy}from"./constants-41VpZw2G.js";import{n as sy,t as cy}from"./SentryErrorBoundary-B_6MfzRa.js";import{i as ly,r as uy}from"./bridgeEnabled-G6vxQV-7.js";import{i as dy,n as fy,t as py}from"./voiceModeEnabled-wWM929QG.js";import{o as my,r as hy,s as gy}from"./detection-CQsNad64.js";import{n as _y,r as vy}from"./undercover-kRoI_nlN.js";import{t as yy}from"./lib-B4Q0Nrpb.js";import{t as by}from"./Dialog-DYFGqyDs.js";import{n as xy,t as Sy}from"./mappers-COd8OOml.js";import{n as Cy,r as wy}from"./sessionTitle-DnvlYJ-c.js";import{t as Ty}from"./bridgeMessaging-mek-AaFi.js";import{a as Ey,i as Dy,r as Oy,t as ky}from"./pipeTransport-DnHE3axn.js";import{t as Ay}from"./useManagePlugins-B1FpmxFo.js";import{c as jy,n as My,o as Ny}from"./channelNotification-D8do6HUN.js";import{a as Py,c as Fy,n as Iy,o as Ly,s as Ry,t as zy}from"./MCPConnectionManager-kVO-4BcA.js";import{c as By,i as Vy,l as Hy,n as Uy,o as Wy,r as Gy,s as Ky,u as qy}from"./cronJitterConfig-By18m-PD.js";import{i as Jy,n as Yy}from"./toolPool-DYvz_Mjt.js";import{a as Xy,c as Zy,i as Qy,l as $y,o as eb,r as tb,t as nb,u as rb}from"./MessageSelector-CDVC2CAj.js";import{n as ib,t as ab}from"./sideQuestion-Bfa0SZn5.js";import{a as ob,n as sb,o as cb,r as lb,s as ub,t as db}from"./skillChangeDetector-BEDBRGbY.js";import{n as fb,t as pb}from"./refresh-C7S_6LOQ.js";import{i as mb,n as hb,r as gb,t as _b}from"./directoryCompletion-D7EGwonO.js";import{r as vb,t as yb}from"./PromptInputFooterSuggestions-BnpXzkW9.js";import{n as bb,t as xb}from"./useMergedTools-eMPZ95TX.js";import{a as Sb,i as Cb,n as wb,o as Tb,r as Eb,t as Db}from"./promptEditor-ClGwMkWl.js";import{n as Ob,t as kb}from"./useMainLoopModel-CJaR_qEJ.js";import{i as Ab,n as jb,r as Mb,t as Nb}from"./PermissionDialog-5MlJf7ew.js";import{n as Pb,t as Fb}from"./RemoteCallout-DGXIcTKv.js";import{i as Ib,n as Lb,r as Rb,t as zb}from"./sprites-QO9r_mXk.js";import{a as Bb,n as Vb,t as Hb}from"./setup-GxlEx1KG.js";import{a as Ub,c as Wb,i as Gb,o as Kb,r as qb,s as Jb}from"./caches-wtRUk5y5.js";import{n as Yb,t as Xb}from"./conversation-DizpkPtq.js";import{a as Zb,i as Qb,n as $b,o as ex,r as tx,s as nx,t as rx}from"./extraUsage-CxqJdnGC.js";import{n as ix,t as ax}from"./useSearchInput-CR-b0Qi6.js";import{n as ox,t as sx}from"./useSettingsErrors-p-PFBeaC.js";import{n as cx,t as lx}from"./shadowedRuleDetection-FNzEipG0.js";import{n as ux,t as dx}from"./ExitFlow-BKzQPr75.js";import{a as fx,c as px,i as mx,l as hx,n as gx,o as _x,r as vx,s as yx,t as bx}from"./Messages-C5gVVVmY.js";import{n as xx,t as Sx}from"./exportRenderer-B9WXgMV2.js";import{i as Cx,n as wx,t as Tx}from"./bypassPermissionsKillswitch-BxvX48jr.js";import{a as Ex,i as Dx,r as Ox,t as kx}from"./fast-CPmJ2bp3.js";import{n as Ax,r as jx}from"./Feedback-hFZwDSRp.js";import{a as Mx,i as Nx,n as Px,r as Fx,t as Ix}from"./PromptInputHelpMenu-DKbiO4C0.js";import{n as Lx,r as Rx}from"./language-sTn9sA3E.js";import{n as zx,r as Bx}from"./pluginAutoupdate-CPLuidh-.js";import{n as Vx,r as Hx}from"./autoModeDenials-Cp6VFdsm.js";import{n as Ux,t as Wx}from"./generateSessionName-DO0R__8w.js";import{n as Gx,t as Kx}from"./fuse-Ch_OAlm3.js";import{a as qx,c as Jx,i as Yx,l as Xx,n as Zx,o as Qx,r as $x,s as eS,t as tS}from"./BackgroundTasksDialog-Ckgmqm6u.js";import{r as nS,t as rS}from"./useVoice-D3PqTfCK.js";import{n as iS}from"./fpsMetrics-DeezdcwV.js";import{t as aS}from"./earlyInput-tRkbxFv2.js";import{a as oS,c as sS,f as cS,i as lS,l as uS,o as dS,r as fS,s as pS,t as mS}from"./RemoteSessionManager-3KsuTCZM.js";import{n as hS,t as gS}from"./backgroundHousekeeping-Bbkz61_-.js";import{homedir as _S,tmpdir as vS}from"os";import*as yS from"path";import{basename as bS,dirname as xS,extname as SS,join as CS,relative as wS,sep as TS}from"path";import{dirname as ES,join as DS}from"node:path";import{watch as OS}from"fs";import{createHash as kS}from"node:crypto";import{randomUUID as AS}from"crypto";import{readFile as jS,stat as MS,writeFile as NS}from"fs/promises";import{spawn as PS,spawnSync as FS}from"child_process";import{mkdir as IS,readFile as LS,rename as RS,writeFile as zS}from"node:fs/promises";s(),u(),h(),w(),F(),Ee(),O(),f(),Le(),ot(),hr(),J(),jr(),Tr(),Nr(),Cr(),kr(),Er(),q(),Fr(),Vr(),Ur(),Gr(),Kr(),tr(),ri(),ii(),si(),li(),ui(),Ln(),mi(),zr(),gi(),Et(),Ai(),Ni(),Vi(),Xn(),Ui(),Lt(),$t(),G(),un(),Un(),$n(),It(),Gn(),pr(),nr(),sr(),on(),Fn(),Qn(),nn(),ur(),rr(),yi(),wi(),Ut(),fn(),En(),_m(),Oh(),M_(),C_(),F_(),z_(),yc(),uo(),P_(),ip(),sg(),R_(),E_(),O_(),L_(),j_(),D_(),ys(),mc(),Z_(),ro(),t_(),uh(),Mf(),xa(),Xs(),xc(),Wg(),Gi(),Vo(),Vp(),Qa(),mv(),_v(),Y_(),Hg(),ap(),cg(),yp(),ud(),ds(),bc(),Hp(),ev(),Jl(),G_(),Il(),Cd(),zf(),kv(),Ji(),Kv(),Ih(),Bm(),xp(),Dm(),qv(),yd(),mu(),Jv(),Rg(),yg(),$p(),Kh(),zu(),Es(),X(),Yc(),lc(),da(),Ic(),$v(),Xv(),qd(),bp(),bd(),ey(),sd(),qs(),ls(),Fa(),zo(),rl(),Zp(),jd(),Dp(),Cp(),km(),_l(),Js(),Nv(),iy(),Mv(),Mc(),lo(),Gh(),Ps(),jl(),Kc(),iu(),Lc(),su(),bu(),Pp(),sy(),cu(),$s(),ma(),Ua(),hm(),Gm(),na(),Cu(),xs(),tp(),vf(),Nu(),ja(),kl(),Oc(),Lp(),Wc(),so(),mp(),uy(),ou(),Cl(),hs(),wc(),Np(),fy(),uv(),nf(),Am(),yh(),g_(),Co(),Ka(),gp(),fh(),fv(),Fm(),ta(),as(),Po(),Wa(),dp(),am(),Vh(),_u(),xl(),Mp(),Wp(),Ld(),ml(),Eu(),So(),kg(),Kf(),Xm(),nc(),yl(),pm(),Uu(),_a(),Dl(),ao(),n_(),rg(),al(),ws(),Ls(),Ag(),Wy(),Gy(),Sb(),Ab(),jb(),ax(),gx(),Sx(),Ax();var Q=n(L(),1);H(),Cm();var $=je();function BS({onDone:e}){return(0,$.jsxs)(B,{title:`You've spent $5 on the Anthropic API this session.`,onCancel:e,children:[(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(R,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(re,{url:`https://code.claude.com/docs/en/costs`})]}),(0,$.jsx)(jc,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}H(),Cm();function VS({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(B,{title:`You've been away ${HS(e)} and this conversation is ${Ii(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(U,{flexDirection:`column`,children:(0,$.jsx)(R,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(jc,{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 HS(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`}wg();var US=300,WS=240*1e3,GS=null,KS=null,qS=0,JS=!1;function YS(){qS++,qS===1&&(eC(),QS())}function XS(){qS>0&&qS--,qS===0&&($S(),tC())}function ZS(){qS=0,$S(),tC()}function QS(){process.platform===`darwin`&&KS===null&&(KS=setInterval(()=>{qS>0&&(K(`Restarting caffeinate to maintain sleep prevention`),tC(),eC())},WS),KS.unref())}function $S(){KS!==null&&(clearInterval(KS),KS=null)}function eC(){if(process.platform===`darwin`&&GS===null){JS||(JS=!0,wr(async()=>{ZS()}));try{GS=PS(`caffeinate`,[`-i`,`-t`,String(US)],{stdio:`ignore`}),GS.unref();let e=GS;GS.on(`error`,t=>{K(`caffeinate spawn error: ${t.message}`),GS===e&&(GS=null)}),GS.on(`exit`,()=>{GS===e&&(GS=null)}),K(`Started caffeinate to prevent sleep`)}catch{GS=null}}}function tC(){if(GS!==null){let e=GS;GS=null;try{e.kill(`SIGKILL`),K(`Stopped caffeinate, allowing sleep`)}catch{}}}var nC=class{constructor(){d(this,`_status`,`idle`),d(this,`_generation`,0),d(this,`_changed`,Ke()),d(this,`subscribe`,this._changed.subscribe),d(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()}};cp(),zh(),xd(),Sh(),oc(),Gl(),Qu(),es(),H(),v_();function rC({name:e,color:t}){return(0,$.jsx)(U,{flexDirection:`row`,gap:1,children:(0,$.jsxs)(R,{color:Ia(t),children:[zt,` `,(0,$.jsxs)(R,{bold:!0,children:[`@`,e]})]})})}H();function iC({toolName:e,description:t}){let n=bi(),r=Ti(),i=Ei();return(0,$.jsxs)(U,{flexDirection:`column`,borderStyle:`round`,borderColor:`warning`,paddingX:1,children:[(0,$.jsxs)(U,{marginBottom:1,children:[(0,$.jsx)(Xd,{}),(0,$.jsxs)(R,{color:`warning`,bold:!0,children:[` `,`Waiting for team lead approval`]})]}),r&&i&&(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsx)(rC,{name:r,color:i})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Tool: `}),(0,$.jsx)(R,{children:e})]}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Action: `}),(0,$.jsx)(R,{children:t})]}),n&&(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`Permission request sent to team `,`"`,n,`"`,` leader`]})})]})}Xc();function aC(e,t=!1){let n=Z(e=>e.teamContext),r=(0,Q.useRef)(0),i=(0,Q.useRef)(void 0),a=(0,Q.useRef)(void 0),o=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{if(t)return;let s=e[0]?.uuid,c=r.current,l=a.current===void 0,u=s!==void 0&&!l&&s===a.current&&c<=e.length,d=s!==void 0&&!l&&s===a.current&&c>e.length,f=u?c:0;if(f===e.length)return;let p=f===0?e:e.slice(f),m=u?i.current:void 0,h=++o.current;if(Km(p,Hn()?{teamName:n?.teamName,agentName:n?.selfAgentName}:{},m,e).then(e=>{h===o.current&&e&&!u&&(i.current=e)}),u||l||d){let t=ra(p,e).findLast(Rp);t&&(i.current=t.uuid)}r.current=e.length,a.current=s},[e,t,n?.teamName,n?.selfAgentName])}function oC(e){return!e||typeof e!=`object`?!1:`behavior`in e&&(e.behavior===`allow`||e.behavior===`deny`)}function sC(e,t){if(typeof e.message==`string`&&e.message)return e.message;if(typeof t?.message==`string`&&t.message)return t.message;if(typeof e.error==`string`&&e.error)return e.error}function cC(e){let t=e.response;if(!t||typeof t!=`object`)return null;if(t.subtype===`success`&&`response`in t&&oC(t.response))return t.response;if(t.subtype!==`error`)return null;let n=`response`in t&&oC(t.response)?t.response:void 0,r=sC(t,n);return n?r?{...n,message:r}:n:r?{behavior:`deny`,message:r}:null}function lC(t){{let{pauseProactive:t}=(uv(),e($_));t()}t?.abort()}function uC(e,t){return e<t}function dC(e,t){return e&&t===0}function fC({hasHandle:e,isConnected:t,lastWrittenIndex:n,messageCount:r}){return!e||!t?!0:uC(n,r)}Rd();function pC(e){return{id:e.id,subject:e.subject,description:e.description,activeForm:e.activeForm,status:e.status,owner:e.owner,blocks:[...e.blocks],blockedBy:[...e.blockedBy]}}function mC(e,t){return e.id.localeCompare(t.id)}function hC(e,t){return{task_list_id:e,tasks:t.filter(e=>!e.metadata?._internal).map(pC).sort(mC)}}function gC(e,t){return JSON.stringify(hC(e,t))}function _C(e,t){let n=hC(e,t);return{type:`task_state`,uuid:AS(),...n}}H(),X(),q();var vC=50,yC=5e3,bC=1e4,xC=3;function SC(e,t,n,r,i){let a=(0,Q.useRef)(null),o=(0,Q.useRef)(void 0),s=(0,Q.useRef)(0),c=(0,Q.useRef)(!1),l=(0,Q.useRef)(!1),u=(0,Q.useRef)(new Set),d=(0,Q.useRef)(void 0),f=(0,Q.useRef)(0),p=Sa(),m=(0,Q.useRef)(r);m.current=r;let h=(0,Q.useRef)(i);h.current=i;let g=(0,Q.useRef)(e);g.current=e;let _=a_(),{addNotification:v}=Do(),y=Z(e=>e.replBridgeEnabled),b=Z(e=>e.replBridgeConnected),x=Z(e=>e.replBridgeSessionActive),S=Z(e=>e.replBridgeOutboundOnly),C=Z(e=>e.replBridgeInitialName);return(0,Q.useEffect)(()=>{{if(!y)return;let r=S;function i(e){r||v({key:`bridge-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`error`,children:`Remote Control failed`}),e&&(0,$.jsxs)(R,{dimColor:!0,children:[` · `,e]})]}),priority:`immediate`})}if(f.current>=xC){K(`[bridge:repl] Hook: ${f.current} consecutive init failures, not retrying this session`);let e=`disabled after repeated failures · restart to retry`;i(e),p(t=>t.replBridgeError===e&&!t.replBridgeEnabled?t:{...t,replBridgeError:e,replBridgeEnabled:!1});return}let b=!1,x=e.length;return(async()=>{try{if(o.current&&(K(`[bridge:repl] Hook: waiting for previous teardown to complete before re-init`),await o.current,o.current=void 0,K(`[bridge:repl] Hook: previous teardown complete, proceeding with re-init`)),b)return;let{initReplBridge:v}=await import(`./initReplBridge-DWpGy3aE.js`),{shouldShowAppUpgradeMessage:y}=await import(`./envLessBridgeConfig-CUTBQKDY.js`),S=!1;{let{isAssistantMode:e}=await import(`./assistant-BmM44yln.js`);S=e()}async function w(e){try{let t=Hy(e);if(!t)return;let{uuid:n}=t,{resolveAndPrepend:r}=await import(`./inboundAttachments-DxrrrqBW.js`),i=t.content,a=await r(e,i);K(`[bridge:repl] Injecting inbound user message: ${typeof a==`string`?a.slice(0,80):`[${a.length} content blocks]`}${n?` uuid=${n}`:``}`),dm({value:a,mode:`prompt`,uuid:n,skipSlashCommands:!0,bridgeOrigin:!0})}catch(e){K(`[bridge:repl] handleInboundMessage failed: ${e}`,{level:`error`})}}function T(e,n){if(b)return;if(r){K(`[bridge:repl] Mirror state=${e}${n?` detail=${n}`:``}`),e===`failed`?p(e=>e.replBridgeConnected?{...e,replBridgeConnected:!1}:e):(e===`ready`||e===`connected`)&&p(e=>e.replBridgeConnected?e:{...e,replBridgeConnected:!0});return}let o=a.current;switch(e){case`ready`:p(e=>{let t=o&&o.environmentId!==``?ff(o.environmentId,o.sessionIngressUrl):e.replBridgeConnectUrl,n=o?uf(o.bridgeSessionId,o.sessionIngressUrl):e.replBridgeSessionUrl,r=o?.environmentId,i=o?.bridgeSessionId;return e.replBridgeConnected&&!e.replBridgeSessionActive&&!e.replBridgeReconnecting&&e.replBridgeConnectUrl===t&&e.replBridgeSessionUrl===n&&e.replBridgeEnvironmentId===r&&e.replBridgeSessionId===i?e:{...e,replBridgeConnected:!0,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:t,replBridgeSessionUrl:n,replBridgeEnvironmentId:r,replBridgeSessionId:i,replBridgeError:void 0}});break;case`connected`:{let e=_.getState().replBridgeSessionActive;p(e=>e.replBridgeSessionActive?e:{...e,replBridgeConnected:!0,replBridgeSessionActive:!0,replBridgeReconnecting:!1,replBridgeError:void 0}),e||t(e=>[...e,Ad(`Remote Control 已连接。现在可以使用 PushNotification、SendUserFile、Brief 工具,请使用 SearchExtraTools 搜索发现。`,`info`)]),wn(`tengu_bridge_system_init`,!1)&&(async()=>{try{let e=await As(Mr());if(b)return;let t=_.getState();a.current?.writeSdkMessages([eb({tools:[],mcpClients:[],model:h.current,permissionMode:t.toolPermissionContext.mode,commands:m.current.filter(hd),agents:t.agentDefinitions.activeAgents,skills:e,plugins:[],fastMode:t.fastMode})])}catch(e){K(`[bridge:repl] Failed to send system/init: ${br(e)}`,{level:`error`})}})();break}case`reconnecting`:p(e=>e.replBridgeReconnecting?e:{...e,replBridgeReconnecting:!0,replBridgeSessionActive:!1});break;case`failed`:clearTimeout(d.current),i(n),p(e=>({...e,replBridgeError:n,replBridgeReconnecting:!1,replBridgeSessionActive:!1,replBridgeConnected:!1})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC);break}}let E=new Map;function D(e){let t=e.response?.request_id;if(!t)return;let n=E.get(t);if(!n){K(`[bridge:repl] No handler for control_response request_id=${t}`);return}let r=cC(e);if(!r){K(`[bridge:repl] Ignoring unrecognized control_response request_id=${t}`);return}E.delete(t),n(r)}let O=await v({outboundOnly:r,tags:r?[`ccr-mirror`]:void 0,onInboundMessage:w,onPermissionResponse:D,onInterrupt(){lC(n.current)},onSetModel(e){let t=e===`default`?null:e??null;gt(t),p(e=>e.mainLoopModelForSession===t?e:{...e,mainLoopModelForSession:t})},onSetMaxThinkingTokens(e){let t=e!==null;p(e=>e.thinkingEnabled===t?e:{...e,thinkingEnabled:t})},onSetPermissionMode(e){if(e===`bypassPermissions`){if(Nc())return{ok:!1,error:`Cannot set permission mode to bypassPermissions because it is disabled by settings or configuration`};if(!_.getState().toolPermissionContext.isBypassPermissionsModeAvailable)return{ok:!1,error:`Cannot set permission mode to bypassPermissions because the session was not launched with --dangerously-skip-permissions`}}if(e===`auto`&&!Xa()){let e=Pl();return{ok:!1,error:e?`Cannot set permission mode to auto: ${Bg(e)}`:`Cannot set permission mode to auto`}}return p(t=>{let n=t.toolPermissionContext.mode;if(n===e)return t;let r=To(n,e,t.toolPermissionContext);return{...t,toolPermissionContext:{...r,mode:e}}}),setImmediate(()=>{Cc()?.(e=>(e.forEach(e=>{e.recheckPermission()}),e))}),{ok:!0}},onStateChange:T,initialMessages:e.length>0?e:void 0,getMessages:()=>g.current,previouslyFlushedUUIDs:u.current,initialName:C,perpetual:S}),k=O?{...O,markTranscriptReset(){l.current=!0,c.current=!1,s.current=0}}:null;if(b){K(`[bridge:repl] Hook: init cancelled during flight, tearing down${k?` env=${k.environmentId}`:``}`),k&&k.teardown();return}if(!k){f.current++,K(`[bridge:repl] Init returned null (precondition or session creation failed); consecutive failures: ${f.current}`),clearTimeout(d.current),p(e=>({...e,replBridgeError:e.replBridgeError??`check debug logs for details`})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC);return}if(a.current=k,Wm(k),f.current=0,s.current=x,r)p(e=>e.replBridgeConnected&&e.replBridgeSessionId===k.bridgeSessionId?e:{...e,replBridgeConnected:!0,replBridgeSessionId:k.bridgeSessionId,replBridgeSessionUrl:void 0,replBridgeConnectUrl:void 0,replBridgeError:void 0}),K(`[bridge:repl] Mirror initialized, session=${k.bridgeSessionId}`);else{let e={sendRequest(e,t,n,r,i,a,o){k.sendControlRequest({type:`control_request`,request_id:e,request:{subtype:`can_use_tool`,tool_name:t,input:n,tool_use_id:r,description:i,...a?{permission_suggestions:a}:{},...o?{blocked_path:o}:{}}})},sendResponse(e,t){let n={...t};k.sendControlResponse({type:`control_response`,response:{subtype:`success`,request_id:e,response:n}})},cancelRequest(e){k.sendControlCancelRequest(e)},onResponse(e,t){return E.set(e,t),()=>{E.delete(e)}}};p(t=>({...t,replBridgePermissionCallbacks:e}));let n=uf(k.bridgeSessionId,k.sessionIngressUrl),r=k.environmentId===``?void 0:ff(k.environmentId,k.sessionIngressUrl);p(e=>e.replBridgeConnected&&e.replBridgeSessionUrl===n?e:{...e,replBridgeConnected:!0,replBridgeSessionUrl:n,replBridgeConnectUrl:r??e.replBridgeConnectUrl,replBridgeEnvironmentId:k.environmentId,replBridgeSessionId:k.bridgeSessionId,replBridgeError:void 0});let i=S?!1:await y().catch(()=>!1);if(b)return;t(e=>[...e,yf(n,i?`Please upgrade to the latest version of the Claude mobile app to see your Remote Control sessions.`:void 0)]),K(`[bridge:repl] Hook initialized, session=${k.bridgeSessionId}`)}}catch(e){if(b)return;f.current++;let n=br(e);K(`[bridge:repl] Init failed: ${n}; consecutive failures: ${f.current}`),clearTimeout(d.current),i(n),p(e=>({...e,replBridgeError:n})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC),r||t(e=>[...e,Ad(`Remote Control failed to connect: ${n}`,`warning`)])}})(),()=>{b=!0,clearTimeout(d.current),d.current=void 0,a.current&&(K(`[bridge:repl] Hook cleanup: starting teardown for env=${a.current.environmentId} session=${a.current.bridgeSessionId}`),o.current=a.current.teardown(),a.current=null,Wm(null)),p(e=>!e.replBridgeConnected&&!e.replBridgeSessionActive&&!e.replBridgeError?e:{...e,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:void 0,replBridgeSessionUrl:void 0,replBridgeEnvironmentId:void 0,replBridgeSessionId:void 0,replBridgeError:void 0,replBridgePermissionCallbacks:void 0}),s.current=0,c.current=!1,l.current=!1}}},[y,S,p,t,v]),(0,Q.useEffect)(()=>{{if(!b)return;let t=a.current;if(!t)return;s.current>e.length&&K(`[bridge:repl] Compaction detected: lastWrittenIndex=${s.current} > messages.length=${e.length}, clamping`);let n=Math.min(s.current,e.length),r=[];for(let t=n;t<e.length;t++){let n=e[t];n&&(n.type===`user`||n.type===`assistant`||n.type===`system`&&n.subtype===`local_command`)&&r.push(n)}if(s.current=e.length,r.length>0&&(t.writeMessages(r),l.current=!1),c.current&&dC(l.current,e.length)){l.current=!1,c.current=!1,t.sendResult();return}c.current&&!l.current&&(c.current=!1,t.sendResult())}},[e,b]),(0,Q.useEffect)(()=>{{if(!x||S)return;let e=!1,t,n,r=null,i=null,o=null,s=null,c=e=>{if(!(e===i&&r!==null)){r?.close(),r=null,i=e;try{r=OS(e,u),r.unref()}catch{}}},l=async()=>{let t=a.current;if(!t)return;let n=Dv();c(Ov(n));try{let r=await Tv(n);if(e||a.current!==t)return;let i=gC(n,r);if(i===o&&t===s)return;t.writeSdkMessages([_C(n,r)]),o=i,s=t}catch(e){K(`[bridge:repl] Failed to publish task_state: ${br(e)}`,{level:`error`})}},u=()=>{t&&clearTimeout(t),t=setTimeout(()=>{t=void 0,l()},vC),t.unref?.()};l();let d=Ev(u);return n=setInterval(()=>{l()},yC),n.unref?.(),()=>{e=!0,d(),t&&clearTimeout(t),n&&clearInterval(n),r?.close()}}},[x,S]),{sendBridgeResult:(0,Q.useCallback)(()=>{{let e=a.current;if(!e){c.current=!0;return}if(dC(l.current,g.current.length)){l.current=!1,c.current=!1,e.sendResult();return}if(l.current||fC({hasHandle:!0,isConnected:b,lastWrittenIndex:s.current,messageCount:g.current.length})){c.current=!0;return}e.sendResult()}},[b])}}ty(),tb();var CC=Hi(()=>b({method:v(`log_event`),params:b({eventName:_(),eventData:b({}).passthrough()})}));function wC(e){(0,Q.useEffect)(()=>{if(!e.length)return;let t=Xi(e);t&&t.client.setNotificationHandler(CC(),e=>{let{eventName:t,eventData:n}=e.params;Y(`tengu_ide_${t}`,n)})},[e])}ot(),H();var TC=6e3;function EC(){return Date.now()-et()}function DC(e){return EC()<e}function OC(e){return!DC(e)}function kC(e,t){let n=A();(0,Q.useEffect)(()=>{We(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{OC(6e3)&&!r&&(r=!0,clearInterval(i),e_({message:e,notificationType:t},n))},TC);return()=>clearInterval(i)},[e,t,n])}Md(),Gp(),Ec(),ha(),io(),Eb(),H(),Ks();var AC={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function jC(e){return jp().syntaxHighlightingDisabled?(0,$.jsx)(NC,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(NC,{...e,highlight:null}),children:(0,$.jsx)(MC,{...e})})}function MC(e){let t=(0,Q.use)(ql());return(0,$.jsx)(NC,{...e,highlight:t})}function NC({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=k(),[s]=ae(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>ns(e,s,a),[e,s,a]).split(`
1
+ import{a as e,n as t,o as n,r}from"./chunk-DR8-3Aex.js";import{f as i,l as a,n as o,s,u as c}from"./envUtils-BWeoiL4Y.js";import{g as l}from"./client-_sjL0I7A.js";import{n as u,t as d}from"./defineProperty-80gRi2ZW.js";import{n as f,t as p}from"./figures-gfT9mM8P.js";import{n as m,t as h}from"./axios-DhfaybwJ.js";import{Cn as g,Ln as _,un as v,vt as y,wn as b,yn as x}from"./schemas-BGAvj1T4.js";import{i as S,r as C,t as w}from"./v4-f1i_CNUT.js";import{A as T,B as E,Cn as D,Ct as O,F as k,Ft as A,I as j,In as M,K as N,Kt as P,L as ee,Ln as F,Lt as te,M as ne,O as I,Q as re,Rn as L,St as ie,T as ae,Tn as oe,Tt as se,U as ce,Ut as le,Wt as ue,Yt as de,Z as fe,at as pe,b as R,ct as me,en as z,f as B,g as he,gn as ge,h as _e,k as ve,m as ye,nt as V,ot as be,p as xe,qt as Se,t as H,tn as Ce,tt as we,v as Te,wn as Ee,wt as De,x as U,xt as Oe,z as ke,zt as Ae}from"./src-Di342QoJ.js";import{t as je}from"./jsx-runtime-D-D469L8.js";import{A as Me,Ar as Ne,Bt as Pe,Ct as Fe,Dt as Ie,Fr as Le,G as Re,Ht as ze,Jt as Be,K as Ve,Kt as He,Lt as Ue,Mr as We,Nt as Ge,Pr as Ke,Qt as qe,Rt as Je,S as Ye,Sn as Xe,U as Ze,Vt as Qe,W as $e,X as et,Xt as tt,Yt as nt,Zt as rt,an as it,bn as at,cn as ot,er as st,jn as ct,jr as lt,ln as ut,or as dt,ot as ft,qt as pt,rn as mt,sr as ht,tr as gt,tt as _t,ut as vt,vt as yt,xn as bt,y as xt,yn as St,zn as Ct,zt as wt}from"./state-sIHsFpDu.js";import{$s as Tt,Ac as Et,Ao as Dt,Br as Ot,Bs as kt,Cc as At,Ci as jt,Da as Mt,Dr as Nt,Ei as Pt,Et as Ft,Fa as It,Gs as Lt,Hr as Rt,Hs as zt,Ht as Bt,Io as Vt,Is as Ht,J as Ut,Ka as Wt,Ki as Gt,Kt,Lr as qt,Mo as Jt,Mr as Yt,Ms as Xt,Na as Zt,No as Qt,Ns as $t,Oa as en,Oo as tn,Ot as nn,Pc as rn,Po as an,Pr as on,Ps as sn,Pt as cn,Qa as ln,Ro as un,Rr as dn,S as fn,Sc as pn,Si as mn,St as hn,Ti as gn,Us as W,Ut as _n,Vo as vn,Vs as yn,Wr as bn,Xt as xn,Z as Sn,Zc as Cn,_ as wn,_a as Tn,a as En,ar as Dn,bi as On,bl as kn,bt as An,cn as jn,ct as Mn,d as Nn,dn as Pn,dr as Fn,ds as In,el as Ln,fl as Rn,gc as zn,gn as Bn,h as Vn,it as Hn,jo as Un,jr as Wn,ka as Gn,kt as Kn,lo as qn,mi as Jn,ml as Yn,nc as Xn,no as Zn,on as Qn,oo as $n,or as er,pl as tr,qi as nr,rt as rr,s as ir,tn as ar,ut as or,vi as sr,w as cr,wi as lr,wt as ur,xi as dr,xn as fr,xs as G,ya as pr,yi as mr,yl as hr,yn as gr,zs as _r}from"./paths-D9CVAtXU.js";import{E as vr,K as yr,L as br,T as xr,U as Sr,V as Cr,X as wr,Y as Tr,d as K,h as Er,k as Dr,p as Or,s as q,w as kr,y as Ar}from"./debug-UI3T040K.js";import{n as J,r as Y}from"./analytics-DqMQntaB.js";import{n as jr,t as Mr}from"./cwd--iizewsn.js";import{t as Nr}from"./sdk-DEtgRZvI.js";import{F as Pr,P as Fr,a as Ir,f as Lr,i as Rr,v as zr}from"./git-CN3qtTb_.js";import{l as Br,u as Vr}from"./oauth-CdZEzMww.js";import{n as Hr,t as Ur}from"./bundledMode-kSQejuY4.js";import{n as Wr,t as Gr}from"./which-DqSAIvp2.js";import{a as Kr,i as qr,n as Jr}from"./env-chR0gV31.js";import{E as Yr,H as Xr,J as Zr,K as Qr,L as $r,N as ei,V as ti,W as ni,et as ri,o as ii,s as ai}from"./log-CzsijfHZ.js";import{i as oi,o as si}from"./platform-CuyedWpe.js";import{n as ci,t as li}from"./memoize-DxwLawI2.js";import{i as ui,n as di,o as fi,r as pi}from"./path-B3lx7yHn.js";import{r as mi,t as hi}from"./execFileNoThrow-CuQN1sz8.js";import{s as gi,u as _i}from"./types-Csi32ZXh.js";import{S as vi,_ as yi,a as bi,b as xi,d as Si,f as Ci,l as wi,n as Ti,o as Ei,r as Di,u as Oi,v as ki,x as Ai}from"./teammate-DMYOtLTK.js";import{c as ji,n as Mi,s as Ni,t as Pi}from"./intl-Pse97ORk.js";import{E as Fi,b as Ii,d as Li,f as Ri,m as zi,p as Bi,x as Vi}from"./startupProfiler-DnXZaX4A.js";import{n as Hi,t as Ui}from"./lazySchema-2sOku3cX.js";import{$ as Wi,$D as Gi,$E as Ki,$S as qi,$T as Ji,$a as Yi,$b as Xi,$d as Zi,$f as Qi,$h as $i,$i as ea,$l as ta,$m as na,$n as ra,$p as ia,$r as aa,$u as oa,$v as sa,$x as ca,$y as la,AE as ua,AS as da,Af as fa,Ag as pa,Ah as ma,Am as ha,Ap as ga,Ar as _a,As as va,Au as ya,Ay as ba,BO as xa,BS as Sa,Ba as Ca,Bc as wa,Bd as Ta,Bf as Ea,Bh as Da,Bl as Oa,Bm as ka,Bn as Aa,Bp as ja,Bs as Ma,Bu as Na,Bv as Pa,Bx as Fa,By as Ia,CD as La,CE as Ra,CO as za,CS as Ba,Cd as Va,Cg as Ha,Ch as Ua,Cl as Wa,Co as Ga,Cu as Ka,Cv as qa,Cw as Ja,Cy as Ya,D as Xa,DA as Za,DD as Qa,DE as $a,DO as eo,DS as to,DT as no,Dk as ro,Dm as io,Dn as ao,Do as oo,Dp as so,Du as co,Dy as lo,EA as uo,ED as fo,EE as po,EO as mo,ES as ho,ET as go,E_ as _o,Ec as vo,Eh as yo,Eo as bo,Ep as xo,Es as So,Eu as Co,Ey as wo,F as To,FO as Eo,FS as Do,Fa as Oo,Fd as ko,Ff as Ao,Fg as jo,Fh as Mo,Fk as No,Fl as Po,Fm as Fo,Fn as Io,Fr as Lo,Fs as Ro,Fx as zo,G as Bo,GD as Vo,Gd as Ho,Gg as Uo,Gh as Wo,Gi as Go,Go as Ko,Gu as qo,Gv as Jo,Gx as Yo,Gy as Xo,HD as Zo,HE as Qo,H_ as $o,Hd as es,Hf as ts,Hg as ns,Hh as rs,Hi as is,Hl as as,Hp as os,Hs as ss,Hv as cs,Hx as ls,Hy as us,IE as ds,IO as fs,Ia as ps,Id as ms,If as hs,Ig as gs,Ih as _s,Ii as vs,Ik as ys,Il as bs,Im as xs,Is as Ss,Ix as Cs,J as ws,JD as Ts,JS as Es,Ja as Ds,Jd as Os,Jh as ks,Ji as As,Jp as js,Js as Ms,Ju as Ns,Jv as Ps,Jx as Fs,Jy as Is,K as Ls,KD as Rs,Kd as zs,Kh as Bs,Ko as Vs,Kp as Hs,Ks as Us,Ku as Ws,Kv as Gs,Kw as Ks,Kx as qs,Ky as Js,LE as Ys,LO as Xs,LS as X,Ld as Zs,Lf as Qs,Lh as $s,Ll as ec,Lm as tc,Lo as nc,Lp as rc,Ls as ic,Lx as ac,Ly as oc,MA as sc,MO as cc,MS as lc,Mc as uc,Mf as dc,Mg as fc,Mh as pc,Mk as mc,Mm as hc,Mp as gc,My as _c,N as vc,NA as yc,NE as bc,NO as xc,NS as Sc,Nd as Cc,Nf as wc,Nh as Tc,Nm as Ec,No as Dc,Np as Oc,Nr as kc,Nt as Ac,Nx as jc,Ny as Mc,O as Nc,OD as Pc,OE as Fc,OS as Ic,O_ as Lc,Oc as Rc,Og as zc,Oh as Bc,Om as Vc,On as Hc,Oo as Uc,Op as Wc,Ou as Gc,Ov as Kc,Oy as qc,P as Jc,PS as Yc,Pd as Xc,Pf as Zc,Ph as Qc,Pk as $c,Pm as el,Pn as tl,Po as nl,Px as rl,Py as il,Q as al,QS as ol,QT as sl,Qa as cl,Qd as ll,Qh as ul,Qm as dl,Qo as fl,Qp as pl,Qs as ml,Qt as hl,Qx as gl,Qy as _l,RE as vl,RS as Z,Ra as yl,Rb as bl,Rc as xl,Rd as Sl,Rf as Cl,Rh as wl,Ri as Tl,Rl as El,Rn as Dl,Ro as Ol,Rp as kl,Rs as Al,Rv as jl,Rx as Ml,Ry as Nl,S as Pl,SD as Fl,SE as Il,SO as Ll,SS as Rl,ST as zl,Sd as Bl,Sg as Vl,Sh as Hl,Si as Ul,Su as Wl,Sy as Gl,TA as Kl,TD as ql,TE as Jl,TO as Yl,Tk as Xl,Tl as Zl,Tm as Ql,To as $l,Tr as eu,Tu as tu,Ty as nu,UD as ru,U_ as iu,Ud as au,Uf as ou,Ug as su,Uh as cu,Ul as lu,Up as uu,Ut as du,Uu as fu,Uv as pu,Uw as mu,Ux as hu,VO as gu,Vc as _u,Vd as vu,Vf as yu,Vg as bu,Vh as xu,Vl as Su,Vm as Cu,Vn as wu,Vp as Tu,Vs as Eu,Vy as Du,WD as Ou,Wd as ku,Wg as Au,Wh as ju,Wi as Mu,Wp as Nu,Wv as Pu,Wx as Fu,XA as Iu,XE as Lu,XO as Ru,XS as zu,Xb as Bu,Xd as Vu,Xh as Hu,Xi as Uu,Xp as Wu,Xu as Gu,Xx as Ku,Xy as qu,Y as Ju,YA as Yu,YS as Xu,Yb as Zu,Yd as Qu,Yh as $u,Yi as ed,Yn as td,Yp as nd,Yt as rd,Yu as id,Yv as ad,Yw as od,Yx as sd,Yy as cd,Z as ld,ZE as ud,ZS as dd,ZT as fd,Zd as pd,Zh as md,Zi as hd,Zp as gd,Zs as _d,Zu as vd,Zw as yd,Zx as bd,Zy as xd,_C as Sd,_E as Cd,_O as wd,_S as Td,_d as Ed,_i as Dd,_k as Od,_l as kd,_o as Ad,_x as jd,aC as Md,aD as Nd,aS as Pd,aT as Fd,ab as Id,ac as Ld,ad as Rd,ah as zd,au as Bd,ax as Vd,ay as Hd,bC as Ud,bD as Wd,bE as Gd,bO as Kd,bS as qd,bT as Jd,bo as Yd,by as Xd,cC as Zd,cD as Qd,c_ as $d,ca as ef,cb as tf,cd as nf,ch as rf,ci as af,cl as of,cm as sf,cs as cf,dD as lf,dE as uf,dO as df,db as ff,dd as pf,dh as mf,di as hf,dj as gf,dk as _f,dm as vf,do as yf,dr as bf,dt as xf,du as Sf,dy as Cf,eC as wf,eS as Tf,ea as Ef,eb as Df,ed as Of,ef as kf,eg as Af,eh as jf,ek as Mf,em as Nf,eo as Pf,ep as Ff,es as If,ex as Lf,fD as Rf,fE as zf,fO as Bf,f_ as Vf,fh as Hf,fi as Uf,fj as Wf,fo as Gf,fs as Kf,ft as qf,fu as Jf,gD as Yf,gE as Xf,gO as Zf,gS as Qf,gd as $f,gl as ep,gm as tp,gs as np,gx as rp,hA as ip,hD as ap,hO as op,hS as sp,hb as cp,hd as lp,hj as up,hl as dp,hm as fp,ho as pp,hp as mp,hr as hp,hu as gp,hx as _p,hy as vp,iD as yp,iS as bp,iT as xp,ia as Sp,ib as Cp,if as wp,ih as Tp,iu as Ep,ix as Dp,iy as Op,jA as kp,jE as Ap,jS as jp,jc as Mp,jf as Np,jg as Pp,jh as Fp,jm as Ip,jp as Lp,jr as Rp,ju as zp,jy as Bp,kD as Vp,kE as Hp,kS as Up,kc as Wp,kg as Gp,kh as Kp,km as qp,kp as Jp,ku as Yp,kv as Xp,kx as Zp,ky as Qp,lC as $p,lD as em,la as tm,ld as nm,lh as rm,lk as im,ll as am,lm as om,lo as sm,lv as cm,lx as lm,mE as um,mO as dm,mS as fm,ma as pm,mb as mm,mh as hm,mi as gm,mj as _m,mk as vm,mm as ym,mp as bm,mu as xm,mx as Sm,my as Cm,nC as wm,nO as Tm,nS as Em,nT as Dm,na as Om,nb as km,nd as Am,ng as jm,nj as Mm,nr as Nm,nt as Pm,nu as Fm,o as Im,oC as Lm,oD as Rm,oS as zm,oT as Bm,oa as Vm,ob as Hm,oc as Um,od as Wm,oh as Gm,oi as Km,ol as qm,oo as Jm,or as Ym,os as Xm,ot as Zm,ov as Qm,oy as $m,pA as eh,pD as th,pE as nh,pO as rh,p_ as ih,pa as ah,pb as oh,pd as sh,ph as ch,pj as lh,pk as uh,pm as dh,pu as fh,px as ph,qD as mh,qd as hh,qh as gh,qp as _h,qr as vh,qu as yh,qw as bh,qx as xh,qy as Sh,rT as Ch,ra as wh,rd as Th,rf as Eh,rg as Dh,rj as Oh,rt as kh,ru as Ah,rx as jh,ry as Mh,sA as Nh,sD as Ph,sS as Fh,sT as Ih,s_ as Lh,sa as Rh,sb as zh,sh as Bh,sl as Vh,so as Hh,sv as Uh,sx as Wh,sy as Gh,tC as Kh,tO as qh,tS as Jh,tT as Yh,ta as Xh,tb as Zh,td as Qh,tg as $h,th as eg,tm as tg,to as ng,tt as rg,tv as ig,ty as ag,u as og,uA as sg,uD as cg,ua as lg,ub as ug,uh as dg,ul as fg,um as pg,un as mg,uo as hg,uu as gg,ux as _g,uy as vg,vC as yg,vD as bg,vE as xg,vO as Sg,vS as Cg,vb as wg,vd as Tg,vk as Eg,vm as Dg,vo as Og,vs as kg,w as Ag,wD as jg,wO as Mg,wi as Ng,wo as Pg,wr as Fg,wt as Ig,wv as Lg,ww as Rg,wy as zg,x as Bg,xC as Vg,xD as Hg,xE as Ug,xO as Wg,xS as Gg,xi as Kg,xt as qg,xu as Jg,xx as Yg,xy as Xg,yD as Zg,yE as Qg,yS as $g,yb as e_,yk as t_,yn as n_,ys as r_,yy as i_,zS as a_,zb as o_,zc as s_,zf as c_,zg as l_,zh as u_,zi as d_,zl as f_,zn as p_,zp as m_,zs as h_,zu as g_,zx as __,zy as v_}from"./loadAgentsDir-D-xcJ22-.js";import{An as y_,Bn as b_,Dn as x_,Fn as S_,In as C_,It as w_,J as T_,Lt as E_,M as D_,Mt as O_,On as k_,P as A_,V as j_,Vn as M_,en as N_,in as P_,jn as F_,jt as I_,mt as L_,tn as R_,xn as z_,zn as B_}from"./prompt-C69iv9cI.js";import{a as V_,n as H_,r as U_,v as W_}from"./companion-Cf_kYtOD.js";import{r as G_,t as K_}from"./xml-K_hNNh2b.js";import{a as q_,i as J_,r as Y_}from"./shellQuote-DgjT8KBA.js";import{a as X_,o as Z_,s as Q_}from"./fileStateCache-C7-TxF8G.js";import{C as $_,N as ev,S as tv,T as nv,X as rv,b as iv,d as av,f as ov,j as sv,w as cv,x as lv,y as uv}from"./rcDebugLog-CTOZ2K3E.js";import{T as dv,c as fv,r as pv,w as mv}from"./sessionTracing-_obALZbi.js";import{i as hv,n as gv,r as _v}from"./parser-CmngCwjB.js";import{c as vv,l as yv}from"./commitAttribution-CUqUEjsh.js";import{n as bv,t as xv}from"./poorMode-D7WXWZtJ.js";import{A as Sv,E as Cv,H as wv,I as Tv,L as Ev,M as Dv,N as Ov,P as kv,V as Av,_ as jv,a as Mv,b as Nv,d as Pv,g as Fv,h as Iv,m as Lv,o as Rv,u as zv,x as Bv}from"./teamHelpers-CbFFdvPw.js";import{a as Vv,f as Hv,l as Uv,o as Wv}from"./api-nHsRf03G.js";import{n as Gv,t as Kv}from"./browser-fLRXxIsQ.js";import{t as qv}from"./useKeybinding-FsOnjW6T.js";import{c as Jv,u as Yv}from"./common-CMCv4N_v.js";import{i as Xv,m as Zv,n as Qv,p as $v}from"./terminalSetup-BLU99dau.js";import{d as ey,l as ty,u as ny}from"./referral-D26orIXE.js";import{a as ry,c as iy,o as ay,s as oy}from"./constants-41VpZw2G.js";import{n as sy,t as cy}from"./SentryErrorBoundary-CmewX8Dv.js";import{i as ly,r as uy}from"./bridgeEnabled-D01faWms.js";import{i as dy,n as fy,t as py}from"./voiceModeEnabled-BpLBjY2-.js";import{o as my,r as hy,s as gy}from"./detection-CQsNad64.js";import{n as _y,r as vy}from"./undercover-j27F8p49.js";import{t as yy}from"./lib-B4Q0Nrpb.js";import{t as by}from"./Dialog-DYFGqyDs.js";import{n as xy,t as Sy}from"./mappers-CO6koWDa.js";import{n as Cy,r as wy}from"./sessionTitle-BafqFHLc.js";import{t as Ty}from"./bridgeMessaging-BZMDSZAN.js";import{a as Ey,i as Dy,r as Oy,t as ky}from"./pipeTransport-wjeyTgon.js";import{t as Ay}from"./useManagePlugins-DDKeDfIv.js";import{c as jy,n as My,o as Ny}from"./channelNotification-t6Kgu-vX.js";import{a as Py,c as Fy,n as Iy,o as Ly,s as Ry,t as zy}from"./MCPConnectionManager-D2eAGUME.js";import{c as By,i as Vy,l as Hy,n as Uy,o as Wy,r as Gy,s as Ky,u as qy}from"./cronJitterConfig-IGWCRDrv.js";import{i as Jy,n as Yy}from"./toolPool-CN1cPGQz.js";import{a as Xy,c as Zy,i as Qy,l as $y,o as eb,r as tb,t as nb,u as rb}from"./MessageSelector-Bzq8CYAH.js";import{n as ib,t as ab}from"./sideQuestion-CI5pyoQF.js";import{a as ob,n as sb,o as cb,r as lb,s as ub,t as db}from"./skillChangeDetector-BOH-fyEn.js";import{n as fb,t as pb}from"./refresh-BeSXaVya.js";import{i as mb,n as hb,r as gb,t as _b}from"./directoryCompletion-D7EGwonO.js";import{r as vb,t as yb}from"./PromptInputFooterSuggestions-CYWSLCgA.js";import{n as bb,t as xb}from"./useMergedTools-CC3XwtOR.js";import{a as Sb,i as Cb,n as wb,o as Tb,r as Eb,t as Db}from"./promptEditor-BZqpLrcZ.js";import{n as Ob,t as kb}from"./useMainLoopModel-X1PW9z5A.js";import{i as Ab,n as jb,r as Mb,t as Nb}from"./PermissionDialog-5MlJf7ew.js";import{n as Pb,t as Fb}from"./RemoteCallout-WWO84za-.js";import{i as Ib,n as Lb,r as Rb,t as zb}from"./sprites-B-V9otkt.js";import{a as Bb,n as Vb,t as Hb}from"./setup-C_GrS0Rd.js";import{a as Ub,c as Wb,i as Gb,o as Kb,r as qb,s as Jb}from"./caches-BuSzLvN9.js";import{n as Yb,t as Xb}from"./conversation-C3NWyOB3.js";import{a as Zb,i as Qb,n as $b,o as ex,r as tx,s as nx,t as rx}from"./extraUsage-CIrG_Lbw.js";import{n as ix,t as ax}from"./useSearchInput-DNpNG36H.js";import{n as ox,t as sx}from"./useSettingsErrors-vGzCYpIA.js";import{n as cx,t as lx}from"./shadowedRuleDetection-CwMwv9uM.js";import{n as ux,t as dx}from"./ExitFlow-DJLYN-Bd.js";import{a as fx,c as px,i as mx,l as hx,n as gx,o as _x,r as vx,s as yx,t as bx}from"./Messages-uRxxAMW-.js";import{n as xx,t as Sx}from"./exportRenderer-CyTuZFFF.js";import{i as Cx,n as wx,t as Tx}from"./bypassPermissionsKillswitch-B9Qz9zKO.js";import{a as Ex,i as Dx,r as Ox,t as kx}from"./fast-NEKXVZqQ.js";import{n as Ax,r as jx}from"./Feedback-CpfhqIEv.js";import{a as Mx,i as Nx,n as Px,r as Fx,t as Ix}from"./PromptInputHelpMenu-BsYNhZCw.js";import{n as Lx,r as Rx}from"./language-CRIdgj2F.js";import{n as zx,r as Bx}from"./pluginAutoupdate-DCc5qDvo.js";import{n as Vx,r as Hx}from"./autoModeDenials-Cp6VFdsm.js";import{n as Ux,t as Wx}from"./generateSessionName-EbB2vl9t.js";import{n as Gx,t as Kx}from"./fuse-Ch_OAlm3.js";import{a as qx,c as Jx,i as Yx,l as Xx,n as Zx,o as Qx,r as $x,s as eS,t as tS}from"./BackgroundTasksDialog-5RpkAbJz.js";import{r as nS,t as rS}from"./useVoice-DmObXoAh.js";import{n as iS}from"./fpsMetrics-DeezdcwV.js";import{t as aS}from"./earlyInput-tRkbxFv2.js";import{a as oS,c as sS,f as cS,i as lS,l as uS,o as dS,r as fS,s as pS,t as mS}from"./RemoteSessionManager-Dx2skKnM.js";import{n as hS,t as gS}from"./backgroundHousekeeping-BkfWgzIP.js";import{homedir as _S,tmpdir as vS}from"os";import*as yS from"path";import{basename as bS,dirname as xS,extname as SS,join as CS,relative as wS,sep as TS}from"path";import{dirname as ES,join as DS}from"node:path";import{watch as OS}from"fs";import{createHash as kS}from"node:crypto";import{randomUUID as AS}from"crypto";import{readFile as jS,stat as MS,writeFile as NS}from"fs/promises";import{spawn as PS,spawnSync as FS}from"child_process";import{mkdir as IS,readFile as LS,rename as RS,writeFile as zS}from"node:fs/promises";s(),u(),h(),w(),F(),Ee(),O(),f(),Le(),ot(),hr(),J(),jr(),Tr(),Nr(),Cr(),kr(),Er(),q(),Fr(),Vr(),Ur(),Gr(),Kr(),tr(),ri(),ii(),si(),li(),ui(),Ln(),mi(),zr(),gi(),Et(),Ai(),Ni(),Vi(),Xn(),Ui(),Lt(),$t(),G(),un(),Un(),$n(),It(),Gn(),pr(),nr(),sr(),on(),Fn(),Qn(),nn(),ur(),rr(),yi(),wi(),Ut(),fn(),En(),_m(),Oh(),M_(),C_(),F_(),z_(),yc(),uo(),P_(),ip(),sg(),R_(),E_(),O_(),L_(),j_(),D_(),ys(),mc(),Z_(),ro(),t_(),uh(),Mf(),xa(),Xs(),xc(),Wg(),Gi(),Vo(),Vp(),Qa(),mv(),_v(),Y_(),Hg(),ap(),cg(),yp(),ud(),ds(),bc(),Hp(),ev(),Jl(),G_(),Il(),Cd(),zf(),kv(),Ji(),Kv(),Ih(),Bm(),xp(),Dm(),qv(),yd(),mu(),Jv(),Rg(),yg(),$p(),Kh(),zu(),Es(),X(),Yc(),lc(),da(),Ic(),$v(),Xv(),qd(),bp(),bd(),ey(),sd(),qs(),ls(),Fa(),zo(),rl(),Zp(),jd(),Dp(),Cp(),km(),_l(),Js(),Nv(),iy(),Mv(),Mc(),lo(),Gh(),Ps(),jl(),Kc(),iu(),Lc(),su(),bu(),Pp(),sy(),cu(),$s(),ma(),Ua(),hm(),Gm(),na(),Cu(),xs(),tp(),vf(),Nu(),ja(),kl(),Oc(),Lp(),Wc(),so(),mp(),uy(),ou(),Cl(),hs(),wc(),Np(),fy(),uv(),nf(),Am(),yh(),g_(),Co(),Ka(),gp(),fh(),fv(),Fm(),ta(),as(),Po(),Wa(),dp(),am(),Vh(),_u(),xl(),Mp(),Wp(),Ld(),ml(),Eu(),So(),kg(),Kf(),Xm(),nc(),yl(),pm(),Uu(),_a(),Dl(),ao(),n_(),rg(),al(),ws(),Ls(),Ag(),Wy(),Gy(),Sb(),Ab(),jb(),ax(),gx(),Sx(),Ax();var Q=n(L(),1);H(),Cm();var $=je();function BS({onDone:e}){return(0,$.jsxs)(B,{title:`You've spent $5 on the Anthropic API this session.`,onCancel:e,children:[(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(R,{children:`Learn more about how to monitor your spending:`}),(0,$.jsx)(re,{url:`https://code.claude.com/docs/en/costs`})]}),(0,$.jsx)(jc,{options:[{value:`ok`,label:`Got it, thanks!`}],onChange:e})]})}H(),Cm();function VS({idleMinutes:e,totalInputTokens:t,onDone:n}){return(0,$.jsxs)(B,{title:`You've been away ${HS(e)} and this conversation is ${Ii(t)} tokens.`,onCancel:()=>n(`dismiss`),children:[(0,$.jsx)(U,{flexDirection:`column`,children:(0,$.jsx)(R,{children:`If this is a new task, clearing context will save usage and be faster.`})}),(0,$.jsx)(jc,{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 HS(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`}wg();var US=300,WS=240*1e3,GS=null,KS=null,qS=0,JS=!1;function YS(){qS++,qS===1&&(eC(),QS())}function XS(){qS>0&&qS--,qS===0&&($S(),tC())}function ZS(){qS=0,$S(),tC()}function QS(){process.platform===`darwin`&&KS===null&&(KS=setInterval(()=>{qS>0&&(K(`Restarting caffeinate to maintain sleep prevention`),tC(),eC())},WS),KS.unref())}function $S(){KS!==null&&(clearInterval(KS),KS=null)}function eC(){if(process.platform===`darwin`&&GS===null){JS||(JS=!0,wr(async()=>{ZS()}));try{GS=PS(`caffeinate`,[`-i`,`-t`,String(US)],{stdio:`ignore`}),GS.unref();let e=GS;GS.on(`error`,t=>{K(`caffeinate spawn error: ${t.message}`),GS===e&&(GS=null)}),GS.on(`exit`,()=>{GS===e&&(GS=null)}),K(`Started caffeinate to prevent sleep`)}catch{GS=null}}}function tC(){if(GS!==null){let e=GS;GS=null;try{e.kill(`SIGKILL`),K(`Stopped caffeinate, allowing sleep`)}catch{}}}var nC=class{constructor(){d(this,`_status`,`idle`),d(this,`_generation`,0),d(this,`_changed`,Ke()),d(this,`subscribe`,this._changed.subscribe),d(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()}};cp(),zh(),xd(),Sh(),oc(),Gl(),Qu(),es(),H(),v_();function rC({name:e,color:t}){return(0,$.jsx)(U,{flexDirection:`row`,gap:1,children:(0,$.jsxs)(R,{color:Ia(t),children:[zt,` `,(0,$.jsxs)(R,{bold:!0,children:[`@`,e]})]})})}H();function iC({toolName:e,description:t}){let n=bi(),r=Ti(),i=Ei();return(0,$.jsxs)(U,{flexDirection:`column`,borderStyle:`round`,borderColor:`warning`,paddingX:1,children:[(0,$.jsxs)(U,{marginBottom:1,children:[(0,$.jsx)(Xd,{}),(0,$.jsxs)(R,{color:`warning`,bold:!0,children:[` `,`Waiting for team lead approval`]})]}),r&&i&&(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsx)(rC,{name:r,color:i})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Tool: `}),(0,$.jsx)(R,{children:e})]}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Action: `}),(0,$.jsx)(R,{children:t})]}),n&&(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`Permission request sent to team `,`"`,n,`"`,` leader`]})})]})}Xc();function aC(e,t=!1){let n=Z(e=>e.teamContext),r=(0,Q.useRef)(0),i=(0,Q.useRef)(void 0),a=(0,Q.useRef)(void 0),o=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{if(t)return;let s=e[0]?.uuid,c=r.current,l=a.current===void 0,u=s!==void 0&&!l&&s===a.current&&c<=e.length,d=s!==void 0&&!l&&s===a.current&&c>e.length,f=u?c:0;if(f===e.length)return;let p=f===0?e:e.slice(f),m=u?i.current:void 0,h=++o.current;if(Km(p,Hn()?{teamName:n?.teamName,agentName:n?.selfAgentName}:{},m,e).then(e=>{h===o.current&&e&&!u&&(i.current=e)}),u||l||d){let t=ra(p,e).findLast(Rp);t&&(i.current=t.uuid)}r.current=e.length,a.current=s},[e,t,n?.teamName,n?.selfAgentName])}function oC(e){return!e||typeof e!=`object`?!1:`behavior`in e&&(e.behavior===`allow`||e.behavior===`deny`)}function sC(e,t){if(typeof e.message==`string`&&e.message)return e.message;if(typeof t?.message==`string`&&t.message)return t.message;if(typeof e.error==`string`&&e.error)return e.error}function cC(e){let t=e.response;if(!t||typeof t!=`object`)return null;if(t.subtype===`success`&&`response`in t&&oC(t.response))return t.response;if(t.subtype!==`error`)return null;let n=`response`in t&&oC(t.response)?t.response:void 0,r=sC(t,n);return n?r?{...n,message:r}:n:r?{behavior:`deny`,message:r}:null}function lC(t){{let{pauseProactive:t}=(uv(),e($_));t()}t?.abort()}function uC(e,t){return e<t}function dC(e,t){return e&&t===0}function fC({hasHandle:e,isConnected:t,lastWrittenIndex:n,messageCount:r}){return!e||!t?!0:uC(n,r)}Rd();function pC(e){return{id:e.id,subject:e.subject,description:e.description,activeForm:e.activeForm,status:e.status,owner:e.owner,blocks:[...e.blocks],blockedBy:[...e.blockedBy]}}function mC(e,t){return e.id.localeCompare(t.id)}function hC(e,t){return{task_list_id:e,tasks:t.filter(e=>!e.metadata?._internal).map(pC).sort(mC)}}function gC(e,t){return JSON.stringify(hC(e,t))}function _C(e,t){let n=hC(e,t);return{type:`task_state`,uuid:AS(),...n}}H(),X(),q();var vC=50,yC=5e3,bC=1e4,xC=3;function SC(e,t,n,r,i){let a=(0,Q.useRef)(null),o=(0,Q.useRef)(void 0),s=(0,Q.useRef)(0),c=(0,Q.useRef)(!1),l=(0,Q.useRef)(!1),u=(0,Q.useRef)(new Set),d=(0,Q.useRef)(void 0),f=(0,Q.useRef)(0),p=Sa(),m=(0,Q.useRef)(r);m.current=r;let h=(0,Q.useRef)(i);h.current=i;let g=(0,Q.useRef)(e);g.current=e;let _=a_(),{addNotification:v}=Do(),y=Z(e=>e.replBridgeEnabled),b=Z(e=>e.replBridgeConnected),x=Z(e=>e.replBridgeSessionActive),S=Z(e=>e.replBridgeOutboundOnly),C=Z(e=>e.replBridgeInitialName);return(0,Q.useEffect)(()=>{{if(!y)return;let r=S;function i(e){r||v({key:`bridge-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`error`,children:`Remote Control failed`}),e&&(0,$.jsxs)(R,{dimColor:!0,children:[` · `,e]})]}),priority:`immediate`})}if(f.current>=xC){K(`[bridge:repl] Hook: ${f.current} consecutive init failures, not retrying this session`);let e=`disabled after repeated failures · restart to retry`;i(e),p(t=>t.replBridgeError===e&&!t.replBridgeEnabled?t:{...t,replBridgeError:e,replBridgeEnabled:!1});return}let b=!1,x=e.length;return(async()=>{try{if(o.current&&(K(`[bridge:repl] Hook: waiting for previous teardown to complete before re-init`),await o.current,o.current=void 0,K(`[bridge:repl] Hook: previous teardown complete, proceeding with re-init`)),b)return;let{initReplBridge:v}=await import(`./initReplBridge-3CfmzjJL.js`),{shouldShowAppUpgradeMessage:y}=await import(`./envLessBridgeConfig-CpW0G4Eh.js`),S=!1;{let{isAssistantMode:e}=await import(`./assistant-Dvx-UrTi.js`);S=e()}async function w(e){try{let t=Hy(e);if(!t)return;let{uuid:n}=t,{resolveAndPrepend:r}=await import(`./inboundAttachments-N5DKbZSl.js`),i=t.content,a=await r(e,i);K(`[bridge:repl] Injecting inbound user message: ${typeof a==`string`?a.slice(0,80):`[${a.length} content blocks]`}${n?` uuid=${n}`:``}`),dm({value:a,mode:`prompt`,uuid:n,skipSlashCommands:!0,bridgeOrigin:!0})}catch(e){K(`[bridge:repl] handleInboundMessage failed: ${e}`,{level:`error`})}}function T(e,n){if(b)return;if(r){K(`[bridge:repl] Mirror state=${e}${n?` detail=${n}`:``}`),e===`failed`?p(e=>e.replBridgeConnected?{...e,replBridgeConnected:!1}:e):(e===`ready`||e===`connected`)&&p(e=>e.replBridgeConnected?e:{...e,replBridgeConnected:!0});return}let o=a.current;switch(e){case`ready`:p(e=>{let t=o&&o.environmentId!==``?ff(o.environmentId,o.sessionIngressUrl):e.replBridgeConnectUrl,n=o?uf(o.bridgeSessionId,o.sessionIngressUrl):e.replBridgeSessionUrl,r=o?.environmentId,i=o?.bridgeSessionId;return e.replBridgeConnected&&!e.replBridgeSessionActive&&!e.replBridgeReconnecting&&e.replBridgeConnectUrl===t&&e.replBridgeSessionUrl===n&&e.replBridgeEnvironmentId===r&&e.replBridgeSessionId===i?e:{...e,replBridgeConnected:!0,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:t,replBridgeSessionUrl:n,replBridgeEnvironmentId:r,replBridgeSessionId:i,replBridgeError:void 0}});break;case`connected`:{let e=_.getState().replBridgeSessionActive;p(e=>e.replBridgeSessionActive?e:{...e,replBridgeConnected:!0,replBridgeSessionActive:!0,replBridgeReconnecting:!1,replBridgeError:void 0}),e||t(e=>[...e,Ad(`Remote Control 已连接。现在可以使用 PushNotification、SendUserFile、Brief 工具,请使用 SearchExtraTools 搜索发现。`,`info`)]),wn(`tengu_bridge_system_init`,!1)&&(async()=>{try{let e=await As(Mr());if(b)return;let t=_.getState();a.current?.writeSdkMessages([eb({tools:[],mcpClients:[],model:h.current,permissionMode:t.toolPermissionContext.mode,commands:m.current.filter(hd),agents:t.agentDefinitions.activeAgents,skills:e,plugins:[],fastMode:t.fastMode})])}catch(e){K(`[bridge:repl] Failed to send system/init: ${br(e)}`,{level:`error`})}})();break}case`reconnecting`:p(e=>e.replBridgeReconnecting?e:{...e,replBridgeReconnecting:!0,replBridgeSessionActive:!1});break;case`failed`:clearTimeout(d.current),i(n),p(e=>({...e,replBridgeError:n,replBridgeReconnecting:!1,replBridgeSessionActive:!1,replBridgeConnected:!1})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC);break}}let E=new Map;function D(e){let t=e.response?.request_id;if(!t)return;let n=E.get(t);if(!n){K(`[bridge:repl] No handler for control_response request_id=${t}`);return}let r=cC(e);if(!r){K(`[bridge:repl] Ignoring unrecognized control_response request_id=${t}`);return}E.delete(t),n(r)}let O=await v({outboundOnly:r,tags:r?[`ccr-mirror`]:void 0,onInboundMessage:w,onPermissionResponse:D,onInterrupt(){lC(n.current)},onSetModel(e){let t=e===`default`?null:e??null;gt(t),p(e=>e.mainLoopModelForSession===t?e:{...e,mainLoopModelForSession:t})},onSetMaxThinkingTokens(e){let t=e!==null;p(e=>e.thinkingEnabled===t?e:{...e,thinkingEnabled:t})},onSetPermissionMode(e){if(e===`bypassPermissions`){if(Nc())return{ok:!1,error:`Cannot set permission mode to bypassPermissions because it is disabled by settings or configuration`};if(!_.getState().toolPermissionContext.isBypassPermissionsModeAvailable)return{ok:!1,error:`Cannot set permission mode to bypassPermissions because the session was not launched with --dangerously-skip-permissions`}}if(e===`auto`&&!Xa()){let e=Pl();return{ok:!1,error:e?`Cannot set permission mode to auto: ${Bg(e)}`:`Cannot set permission mode to auto`}}return p(t=>{let n=t.toolPermissionContext.mode;if(n===e)return t;let r=To(n,e,t.toolPermissionContext);return{...t,toolPermissionContext:{...r,mode:e}}}),setImmediate(()=>{Cc()?.(e=>(e.forEach(e=>{e.recheckPermission()}),e))}),{ok:!0}},onStateChange:T,initialMessages:e.length>0?e:void 0,getMessages:()=>g.current,previouslyFlushedUUIDs:u.current,initialName:C,perpetual:S}),k=O?{...O,markTranscriptReset(){l.current=!0,c.current=!1,s.current=0}}:null;if(b){K(`[bridge:repl] Hook: init cancelled during flight, tearing down${k?` env=${k.environmentId}`:``}`),k&&k.teardown();return}if(!k){f.current++,K(`[bridge:repl] Init returned null (precondition or session creation failed); consecutive failures: ${f.current}`),clearTimeout(d.current),p(e=>({...e,replBridgeError:e.replBridgeError??`check debug logs for details`})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC);return}if(a.current=k,Wm(k),f.current=0,s.current=x,r)p(e=>e.replBridgeConnected&&e.replBridgeSessionId===k.bridgeSessionId?e:{...e,replBridgeConnected:!0,replBridgeSessionId:k.bridgeSessionId,replBridgeSessionUrl:void 0,replBridgeConnectUrl:void 0,replBridgeError:void 0}),K(`[bridge:repl] Mirror initialized, session=${k.bridgeSessionId}`);else{let e={sendRequest(e,t,n,r,i,a,o){k.sendControlRequest({type:`control_request`,request_id:e,request:{subtype:`can_use_tool`,tool_name:t,input:n,tool_use_id:r,description:i,...a?{permission_suggestions:a}:{},...o?{blocked_path:o}:{}}})},sendResponse(e,t){let n={...t};k.sendControlResponse({type:`control_response`,response:{subtype:`success`,request_id:e,response:n}})},cancelRequest(e){k.sendControlCancelRequest(e)},onResponse(e,t){return E.set(e,t),()=>{E.delete(e)}}};p(t=>({...t,replBridgePermissionCallbacks:e}));let n=uf(k.bridgeSessionId,k.sessionIngressUrl),r=k.environmentId===``?void 0:ff(k.environmentId,k.sessionIngressUrl);p(e=>e.replBridgeConnected&&e.replBridgeSessionUrl===n?e:{...e,replBridgeConnected:!0,replBridgeSessionUrl:n,replBridgeConnectUrl:r??e.replBridgeConnectUrl,replBridgeEnvironmentId:k.environmentId,replBridgeSessionId:k.bridgeSessionId,replBridgeError:void 0});let i=S?!1:await y().catch(()=>!1);if(b)return;t(e=>[...e,yf(n,i?`Please upgrade to the latest version of the Claude mobile app to see your Remote Control sessions.`:void 0)]),K(`[bridge:repl] Hook initialized, session=${k.bridgeSessionId}`)}}catch(e){if(b)return;f.current++;let n=br(e);K(`[bridge:repl] Init failed: ${n}; consecutive failures: ${f.current}`),clearTimeout(d.current),i(n),p(e=>({...e,replBridgeError:n})),d.current=setTimeout(()=>{b||(d.current=void 0,p(e=>e.replBridgeError?{...e,replBridgeEnabled:!1,replBridgeError:void 0}:e))},bC),r||t(e=>[...e,Ad(`Remote Control failed to connect: ${n}`,`warning`)])}})(),()=>{b=!0,clearTimeout(d.current),d.current=void 0,a.current&&(K(`[bridge:repl] Hook cleanup: starting teardown for env=${a.current.environmentId} session=${a.current.bridgeSessionId}`),o.current=a.current.teardown(),a.current=null,Wm(null)),p(e=>!e.replBridgeConnected&&!e.replBridgeSessionActive&&!e.replBridgeError?e:{...e,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:void 0,replBridgeSessionUrl:void 0,replBridgeEnvironmentId:void 0,replBridgeSessionId:void 0,replBridgeError:void 0,replBridgePermissionCallbacks:void 0}),s.current=0,c.current=!1,l.current=!1}}},[y,S,p,t,v]),(0,Q.useEffect)(()=>{{if(!b)return;let t=a.current;if(!t)return;s.current>e.length&&K(`[bridge:repl] Compaction detected: lastWrittenIndex=${s.current} > messages.length=${e.length}, clamping`);let n=Math.min(s.current,e.length),r=[];for(let t=n;t<e.length;t++){let n=e[t];n&&(n.type===`user`||n.type===`assistant`||n.type===`system`&&n.subtype===`local_command`)&&r.push(n)}if(s.current=e.length,r.length>0&&(t.writeMessages(r),l.current=!1),c.current&&dC(l.current,e.length)){l.current=!1,c.current=!1,t.sendResult();return}c.current&&!l.current&&(c.current=!1,t.sendResult())}},[e,b]),(0,Q.useEffect)(()=>{{if(!x||S)return;let e=!1,t,n,r=null,i=null,o=null,s=null,c=e=>{if(!(e===i&&r!==null)){r?.close(),r=null,i=e;try{r=OS(e,u),r.unref()}catch{}}},l=async()=>{let t=a.current;if(!t)return;let n=Dv();c(Ov(n));try{let r=await Tv(n);if(e||a.current!==t)return;let i=gC(n,r);if(i===o&&t===s)return;t.writeSdkMessages([_C(n,r)]),o=i,s=t}catch(e){K(`[bridge:repl] Failed to publish task_state: ${br(e)}`,{level:`error`})}},u=()=>{t&&clearTimeout(t),t=setTimeout(()=>{t=void 0,l()},vC),t.unref?.()};l();let d=Ev(u);return n=setInterval(()=>{l()},yC),n.unref?.(),()=>{e=!0,d(),t&&clearTimeout(t),n&&clearInterval(n),r?.close()}}},[x,S]),{sendBridgeResult:(0,Q.useCallback)(()=>{{let e=a.current;if(!e){c.current=!0;return}if(dC(l.current,g.current.length)){l.current=!1,c.current=!1,e.sendResult();return}if(l.current||fC({hasHandle:!0,isConnected:b,lastWrittenIndex:s.current,messageCount:g.current.length})){c.current=!0;return}e.sendResult()}},[b])}}ty(),tb();var CC=Hi(()=>b({method:v(`log_event`),params:b({eventName:_(),eventData:b({}).passthrough()})}));function wC(e){(0,Q.useEffect)(()=>{if(!e.length)return;let t=Xi(e);t&&t.client.setNotificationHandler(CC(),e=>{let{eventName:t,eventData:n}=e.params;Y(`tengu_ide_${t}`,n)})},[e])}ot(),H();var TC=6e3;function EC(){return Date.now()-et()}function DC(e){return EC()<e}function OC(e){return!DC(e)}function kC(e,t){let n=A();(0,Q.useEffect)(()=>{We(!0)},[]),(0,Q.useEffect)(()=>{let r=!1,i=setInterval(()=>{OC(6e3)&&!r&&(r=!0,clearInterval(i),e_({message:e,notificationType:t},n))},TC);return()=>clearInterval(i)},[e,t,n])}Md(),Gp(),Ec(),ha(),io(),Eb(),H(),Ks();var AC={topLeft:`┌`,topRight:`┐`,bottomLeft:`└`,bottomRight:`┘`,horizontal:`─`,vertical:`│`,teeLeft:`├`,teeRight:`┤`};function jC(e){return jp().syntaxHighlightingDisabled?(0,$.jsx)(NC,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(NC,{...e,highlight:null}),children:(0,$.jsx)(MC,{...e})})}function MC(e){let t=(0,Q.use)(ql());return(0,$.jsx)(NC,{...e,highlight:t})}function NC({content:e,maxLines:t,minHeight:n,minWidth:r=40,maxWidth:i,highlight:a}){let{columns:o}=k(),[s]=ae(),c=i??o-4,l=t??20,u=(0,Q.useMemo)(()=>ns(e,s,a),[e,s,a]).split(`
2
2
  `),d=u.length>l,f=d?u.slice(0,l):u,p=Math.max(0,Math.min(n??0,l)-f.length-+!!d),m=p>0?[...f,...Array(p).fill(``)]:f,h=Math.max(r,...m.map(e=>D(e))),g=Math.min(h+4,c),_=g-4,v=`${AC.topLeft}${AC.horizontal.repeat(g-2)}${AC.topRight}`,y=`${AC.bottomLeft}${AC.horizontal.repeat(g-2)}${AC.bottomRight}`,b=d?(()=>{let e=u.length-l,t=`${AC.horizontal.repeat(3)} \u2702 ${AC.horizontal.repeat(3)} ${e} lines hidden `,n=D(t),r=Math.max(0,g-2-n);return`${AC.teeLeft}${t}${AC.horizontal.repeat(r)}${AC.teeRight}`})():null;return(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(R,{dimColor:!0,children:v}),m.map((e,t)=>{let n=D(e)>_?bh(e,0,_):e,r=` `.repeat(Math.max(0,_-D(n)));return(0,$.jsxs)(U,{flexDirection:`row`,children:[(0,$.jsxs)(R,{dimColor:!0,children:[AC.vertical,` `]}),(0,$.jsx)(fe,{children:n}),(0,$.jsxs)(R,{dimColor:!0,children:[r,` `,AC.vertical]})]},t)}),b&&(0,$.jsx)(R,{color:`warning`,children:b}),(0,$.jsx)(R,{dimColor:!0,children:y})]})}mu(),H(),Vi();function PC({questions:e,currentQuestionIndex:t,answers:n,hideSubmitTab:r=!1}){let{columns:i}=k(),a=(0,Q.useMemo)(()=>{let n=r?``:` ${p.tick} Submit `,a=i-(D(`← `)+D(` →`)+D(n));if(a<=0)return e.map((e,n)=>{let r=e?.header||`Q${n+1}`;return n===t?r.slice(0,3):``});let o=e.map((e,t)=>e?.header||`Q${t+1}`);if(o.map(e=>4+D(e)).reduce((e,t)=>e+t,0)<=a)return o;let s=4+D(o[t]||``),c=Math.min(s,a/2),l=a-c,u=e.length-1,d=Math.max(6,Math.floor(l/Math.max(u,1)));return o.map((e,n)=>n===t?Fi(e,c-2-2):Fi(e,d-2-2))},[e,t,i,r]),o=e.length===1&&r;return(0,$.jsxs)(U,{flexDirection:`row`,marginBottom:1,children:[!o&&(0,$.jsx)(R,{color:t===0?`inactive`:void 0,children:`← `}),e.map((e,r)=>{let i=r===t,o=e?.question&&n[e.question]?p.checkboxOn:p.checkboxOff,s=a[r]||e?.header||`Q${r+1}`;return(0,$.jsx)(U,{children:i?(0,$.jsxs)(R,{backgroundColor:`permission`,color:`inverseText`,children:[` `,o,` `,s,` `]}):(0,$.jsxs)(R,{children:[` `,o,` `,s,` `]})},e?.question||`question-${r}`)}),!r&&(0,$.jsx)(U,{children:t===e.length?(0,$.jsxs)(R,{backgroundColor:`permission`,color:`inverseText`,children:[` `,p.tick,` Submit`,` `]}):(0,$.jsxs)(R,{children:[` `,p.tick,` Submit `]})},`submit`),!o&&(0,$.jsx)(R,{color:t===e.length?`inactive`:void 0,children:` →`})]})}f(),mu(),H(),X(),Dp();function FC({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,minContentHeight:o,minContentWidth:s,onUpdateQuestionState:c,onAnswer:l,onTextInputFocus:u,onCancel:d,onTabPrev:f,onTabNext:m,onRespondToClaude:h,onFinishPlanInterview:g}){let _=Z(e=>e.toolPermissionContext.mode)===`plan`,[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(0),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(0),E=Cb(),D=E?ph(E):null,O=e.question,A=i[O],j=e.options,[M,N]=(0,Q.useState)(0),P=(0,Q.useRef)(O);if(P.current!==O){P.current=O;let e=A?.selectedValue,t=e?j.findIndex(t=>t.label===e):-1;N(t>=0?t:0)}let ee=j[M],F=A?.selectedValue,te=A?.textInputValue||``,ne=(0,Q.useCallback)(e=>{let t=j[e];t&&(N(e),c(O,{selectedValue:t.label},!1),l(O,t.label))},[j,O,c,l]),I=(0,Q.useCallback)(e=>{if(S)return;let t;t=typeof e==`number`?e:e===`up`?M>0?M-1:M:M<j.length-1?M+1:M,t>=0&&t<j.length&&N(t)},[M,j.length,S]);we(`chat:externalEditor`,async()=>{let e=A?.textInputValue||``,t=await wb(e);t.content!==null&&t.content!==e&&c(O,{textInputValue:t.content},!1)},{context:`Chat`,isActive:S&&!!E}),V({"tabs:previous":()=>f?.(),"tabs:next":()=>m?.()},{context:`Tabs`,isActive:!S&&!v});let re=(0,Q.useCallback)(()=>{C(!1),u(!1),F&&l(O,F)},[F,O,l,u]),L=(0,Q.useCallback)(()=>{y(!0)},[]),ie=(0,Q.useCallback)(()=>{y(!1)},[]),ae=(0,Q.useCallback)(e=>{if(v){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),b===0?ie():x(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),_&&b===0&&x(1);return}if(e.key===`return`){e.preventDefault(),b===0?h():g();return}e.key===`escape`&&(e.preventDefault(),d());return}if(S){e.key===`escape`&&(e.preventDefault(),re());return}if(e.key===`up`||e.ctrl&&e.key===`p`)e.preventDefault(),M>0&&I(`up`);else if(e.key===`down`||e.ctrl&&e.key===`n`)e.preventDefault(),M===j.length-1?L():I(`down`);else if(e.key===`return`)e.preventDefault(),ne(M);else if(e.key===`n`&&!e.ctrl&&!e.meta)e.preventDefault(),C(!0),u(!0);else if(e.key===`escape`)e.preventDefault(),d();else if(e.key.length===1&&e.key>=`1`&&e.key<=`9`){e.preventDefault();let t=parseInt(e.key,10)-1;t<j.length&&I(t)}},[v,b,_,S,M,j.length,ie,L,I,ne,re,h,g,d,u]),oe=ee?.preview||null,{columns:se}=k(),ce=se-30-4,le=(0,Q.useMemo)(()=>o?Math.max(1,o-11):void 0,[o]);return(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:ae,children:[(0,$.jsx)(ye,{color:`inactive`}),(0,$.jsxs)(U,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(PC,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(Mb,{title:e.question,color:`text`}),(0,$.jsxs)(U,{flexDirection:`column`,minHeight:o,children:[(0,$.jsxs)(U,{marginTop:1,flexDirection:`row`,gap:4,children:[(0,$.jsx)(U,{flexDirection:`column`,width:30,children:j.map((e,t)=>{let n=M===t,r=F===e.label;return(0,$.jsxs)(U,{flexDirection:`row`,children:[n?(0,$.jsx)(R,{color:`suggestion`,children:p.pointer}):(0,$.jsx)(R,{children:` `}),(0,$.jsxs)(R,{dimColor:!0,children:[` `,t+1,`.`]}),(0,$.jsxs)(R,{color:r?`success`:n?`suggestion`:void 0,bold:n,children:[` `,e.label]}),r&&(0,$.jsxs)(R,{color:`success`,children:[` `,p.tick]})]},e.label)})}),(0,$.jsxs)(U,{flexDirection:`column`,flexGrow:1,children:[(0,$.jsx)(jC,{content:oe||`No preview available`,maxLines:le,minWidth:s,maxWidth:ce}),(0,$.jsxs)(U,{marginTop:1,flexDirection:`row`,gap:1,children:[(0,$.jsx)(R,{color:`suggestion`,children:`Notes:`}),S?(0,$.jsx)(__,{value:te,placeholder:`Add notes on this design…`,onChange:e=>{c(O,{textInputValue:e},!1)},onSubmit:re,onExit:re,focus:!0,showCursor:!0,columns:60,cursorOffset:w,onChangeCursorOffset:T}):(0,$.jsx)(R,{dimColor:!0,italic:!0,children:te||`press n to add notes`})]})]})]}),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(ye,{color:`inactive`}),(0,$.jsxs)(U,{flexDirection:`row`,gap:1,children:[v&&b===0?(0,$.jsx)(R,{color:`suggestion`,children:p.pointer}):(0,$.jsx)(R,{children:` `}),(0,$.jsx)(R,{color:v&&b===0?`suggestion`:void 0,children:`Chat about this`})]}),_&&(0,$.jsxs)(U,{flexDirection:`row`,gap:1,children:[v&&b===1?(0,$.jsx)(R,{color:`suggestion`,children:p.pointer}):(0,$.jsx)(R,{children:` `}),(0,$.jsx)(R,{color:v&&b===1?`suggestion`:void 0,children:`Skip interview and plan immediately`})]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{color:`inactive`,dimColor:!0,children:[`Enter to select · `,p.arrowUp,`/`,p.arrowDown,` to navigate · n to add notes`,t.length>1&&(0,$.jsx)($.Fragment,{children:` · Tab to switch questions`}),S&&D&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,D]}),` · Esc to cancel`]})})]})]})]})}f(),H(),X(),Sb(),Dp(),Eb(),Cm(),Ab();function IC({question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a=!1,planFilePath:o,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:l,onAnswer:u,onTextInputFocus:d,onCancel:f,onSubmit:m,onTabPrev:h,onTabNext:g,onRespondToClaude:_,onFinishPlanInterview:v,onImagePaste:y,pastedContents:b,onRemoveImage:x}){let S=Z(e=>e.toolPermissionContext.mode)===`plan`,[C,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(0),[D,O]=(0,Q.useState)(!1),k=Cb(),A=k?ph(k):null,j=(0,Q.useCallback)(e=>{let t=e===`__other__`;O(t),d(t)},[d]),M=(0,Q.useCallback)(()=>{w(!0)},[]),N=(0,Q.useCallback)(()=>{w(!1)},[]),P=(0,Q.useCallback)(e=>{if(C){if(e.key===`up`||e.ctrl&&e.key===`p`){e.preventDefault(),T===0?N():E(0);return}if(e.key===`down`||e.ctrl&&e.key===`n`){e.preventDefault(),S&&T===0&&E(1);return}if(e.key===`return`){e.preventDefault(),T===0?_():v();return}e.key===`escape`&&(e.preventDefault(),f())}},[C,T,S,N,_,v,f]),ee=e.options.map(e=>({type:`text`,value:e.label,label:e.label,description:e.description})),F=e.question,te=i[F],ne=(0,Q.useCallback)(async(t,n)=>{let r=await wb(t);r.content!==null&&r.content!==t&&(n(r.content),l(F,{textInputValue:r.content},e.multiSelect??!1))},[F,l,e.multiSelect]),I={type:`input`,value:`__other__`,label:`Other`,placeholder:e.multiSelect?`Type something`:`Type something.`,initialValue:te?.textInputValue??``,onChange:t=>{l(F,{textInputValue:t},e.multiSelect??!1)}},re=[...ee,I];return!e.multiSelect&&e.options.some(e=>e.preview)?(0,$.jsx)(FC,{question:e,questions:t,currentQuestionIndex:n,answers:r,questionStates:i,hideSubmitTab:a,minContentHeight:s,minContentWidth:c,onUpdateQuestionState:l,onAnswer:u,onTextInputFocus:d,onCancel:f,onTabPrev:h,onTabNext:g,onRespondToClaude:_,onFinishPlanInterview:v}):(0,$.jsxs)(U,{flexDirection:`column`,marginTop:0,tabIndex:0,autoFocus:!0,onKeyDown:P,children:[S&&o&&(0,$.jsxs)(U,{flexDirection:`column`,gap:0,children:[(0,$.jsx)(ye,{color:`inactive`}),(0,$.jsxs)(R,{color:`inactive`,children:[`Planning: `,(0,$.jsx)(zc,{filePath:o})]})]}),(0,$.jsx)(U,{marginTop:-1,children:(0,$.jsx)(ye,{color:`inactive`})}),(0,$.jsxs)(U,{flexDirection:`column`,paddingTop:0,children:[(0,$.jsx)(PC,{questions:t,currentQuestionIndex:n,answers:r,hideSubmitTab:a}),(0,$.jsx)(Mb,{title:e.question,color:`text`}),(0,$.jsxs)(U,{flexDirection:`column`,minHeight:s,children:[(0,$.jsx)(U,{marginTop:1,children:e.multiSelect?(0,$.jsx)(vp,{options:re,defaultValue:i[e.question]?.selectedValue,onChange:e=>{l(F,{selectedValue:e},!0);let t=e.includes(`__other__`)?i[F]?.textInputValue:void 0;u(F,e.filter(e=>e!==`__other__`).concat(t?[t]:[]),void 0,!1)},onFocus:j,onCancel:f,submitButtonText:n===t.length-1?`Submit`:`Next`,onSubmit:m,onDownFromLastItem:M,isDisabled:C,onOpenEditor:ne,onImagePaste:y,pastedContents:b,onRemoveImage:x},e.question):(0,$.jsx)(jc,{options:re,defaultValue:i[e.question]?.selectedValue,onChange:e=>{l(F,{selectedValue:e},!1),u(F,e,e===`__other__`?i[F]?.textInputValue:void 0)},onFocus:j,onCancel:f,onDownFromLastItem:M,isDisabled:C,layout:`compact-vertical`,onOpenEditor:ne,onImagePaste:y,pastedContents:b,onRemoveImage:x},e.question)}),(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(ye,{color:`inactive`}),(0,$.jsxs)(U,{flexDirection:`row`,gap:1,children:[C&&T===0?(0,$.jsx)(R,{color:`suggestion`,children:p.pointer}):(0,$.jsx)(R,{children:` `}),(0,$.jsxs)(R,{color:C&&T===0?`suggestion`:void 0,children:[re.length+1,`. Chat about this`]})]}),S&&(0,$.jsxs)(U,{flexDirection:`row`,gap:1,children:[C&&T===1?(0,$.jsx)(R,{color:`suggestion`,children:p.pointer}):(0,$.jsx)(R,{children:` `}),(0,$.jsxs)(R,{color:C&&T===1?`suggestion`:void 0,children:[re.length+2,`. Skip interview and plan immediately`]})]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{color:`inactive`,dimColor:!0,children:[`Enter to select ·`,` `,t.length===1?(0,$.jsxs)($.Fragment,{children:[p.arrowUp,`/`,p.arrowDown,` to navigate`]}):`Tab/Arrow keys to navigate`,D&&A&&(0,$.jsxs)($.Fragment,{children:[` · ctrl+g to edit in `,A]}),` · Esc to cancel`]})})]})]})]})}function LC(e,t){if(!e)return null;if(e.type===`classifier`)return e.classifier===`auto-mode`?{reasonString:`Auto mode classifier requires confirmation for this ${t}.\n${e.reason}`,configString:void 0,themeColor:`error`}:{reasonString:`Classifier ${M.bold(e.classifier)} requires confirmation for this ${t}.\n${e.reason}`,configString:void 0};switch(e.type){case`rule`:return{reasonString:`Permission rule ${M.bold(vn(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?` ${M.dim(`[${e.hookSource}]`)}`:``;return{reasonString:`Hook ${M.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 RC({permissionResult:e,toolType:t}){let n=Z(e=>e.toolPermissionContext.mode),r=LC(e?.decisionReason,t);if(!r)return null;let i=r.themeColor??(e?.decisionReason?.type===`hook`&&n===`auto`?`warning`:void 0);return(0,zC.jsxs)(U,{marginBottom:1,flexDirection:`column`,children:[i?(0,zC.jsx)(R,{color:i,children:r.reasonString}):(0,zC.jsx)(R,{children:(0,zC.jsx)(fe,{children:r.reasonString})}),r.configString&&(0,zC.jsx)(R,{dimColor:!0,children:r.configString})]})}var zC,BC=t((()=>{L(),H(),X(),zC=je()}));f(),H(),Cm(),Ab(),BC();function VC({questions:e,currentQuestionIndex:t,answers:n,allQuestionsAnswered:r,permissionResult:i,minContentHeight:a,onFinalResponse:o}){return(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(ye,{color:`inactive`}),(0,$.jsxs)(U,{flexDirection:`column`,borderTop:!0,borderColor:`inactive`,paddingTop:0,children:[(0,$.jsx)(PC,{questions:e,currentQuestionIndex:t,answers:n}),(0,$.jsx)(Mb,{title:`Review your answers`,color:`text`}),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,minHeight:a,children:[!r&&(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsxs)(R,{color:`warning`,children:[p.warning,` You have not answered all questions`]})}),Object.keys(n).length>0&&(0,$.jsx)(U,{flexDirection:`column`,marginBottom:1,children:e.filter(e=>e?.question&&n[e.question]).map(e=>{let t=n[e?.question];return(0,$.jsxs)(U,{flexDirection:`column`,marginLeft:1,children:[(0,$.jsxs)(R,{children:[p.bullet,` `,e?.question||`Question`]}),(0,$.jsx)(U,{marginLeft:2,children:(0,$.jsxs)(R,{color:`success`,children:[p.arrowRight,` `,t]})})]},e?.question||`answer`)})}),(0,$.jsx)(RC,{permissionResult:i,toolType:`tool`}),(0,$.jsx)(R,{color:`inactive`,children:`Ready to submit your answers?`}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(jc,{options:[{type:`text`,label:`Submit answers`,value:`submit`},{type:`text`,label:`Cancel`,value:`cancel`}],onChange:e=>o(e),onCancel:()=>o(`cancel`)})})]})]})]})}function HC(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 UC={currentQuestionIndex:0,answers:{},questionStates:{},isInTextInput:!1};function WC(){let[e,t]=(0,Q.useReducer)(HC,UC),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}}da(),mu(),H(),qv(),J(),X(),Qa(),su();var GC=12,KC=40,qC=15;function JC(e){return jp().syntaxHighlightingDisabled?(0,$.jsx)(XC,{...e,highlight:null}):(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(XC,{...e,highlight:null}),children:(0,$.jsx)(YC,{...e})})}function YC(e){let t=(0,Q.use)(ql());return(0,$.jsx)(XC,{...e,highlight:t})}function XC({toolUseConfirm:e,onDone:t,onReject:n,highlight:r}){let i=(0,Q.useMemo)(()=>Ao.inputSchema.safeParse(e.input),[e.input]),a=i.success&&i.data.questions||[],{rows:o}=k(),[s]=ae(),{globalContentHeight:c,globalContentWidth:l}=(0,Q.useMemo)(()=>{let e=0,t=0,n=Math.max(GC,o-qC);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=ns(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,D(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,GC),n),globalContentWidth:Math.max(t,KC)}},[a,o,s,r]),u=i.success?i.data.metadata?.source:void 0,[d,f]=(0,Q.useState)({}),p=(0,Q.useRef)(0);function m(e,t,n,r,i,a){let o=p.current++,s={id:o,type:`image`,content:t,mediaType:n||`image/png`,filename:r||`Pasted image`,dimensions:i};wm(s),Lm(s),f(t=>({...t,[e]:{...t[e]??{},[o]:s}}))}let h=(0,Q.useCallback)((e,t)=>{f(n=>{let r={...n[e]??{}};return delete r[t],{...n,[e]:r}})},[]),g=Object.values(d).flatMap(e=>Object.values(e)).filter(e=>e.type===`image`),_=Z(e=>e.toolPermissionContext.mode)===`plan`,v=_?Jo():void 0,{currentQuestionIndex:y,answers:b,questionStates:x,isInTextInput:S,nextQuestion:C,prevQuestion:w,updateQuestionState:T,setAnswer:E,setTextInputMode:O}=WC(),A=y<(a?.length||0)?a?.[y]:null,j=y===(a?.length||0),M=a?.every(e=>e?.question&&!!b[e.question])??!1,N=a.length===1&&!a[0]?.multiSelect,P=(0,Q.useCallback)(()=>{u&&Y(`tengu_ask_user_question_rejected`,{source:u,questionCount:a.length,isInPlanMode:_,interviewPhaseEnabled:_&&Zc()}),t(),n(),e.onReject()},[t,n,e,u,a.length,_]),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.
@@ -68,7 +68,7 @@ Parse the user's input into ISO 8601 format. Return ONLY the formatted string, o
68
68
  `)&&(a+=`
69
69
  `),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-(ji(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 AA(e,t,n){let r=t===1?n.cursor.startOfLastLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=DA(n.cursor,r,`G`,e,t);kA(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`G`,count:t})}function jA(e,t,n){let r=t===1?n.cursor.startOfFirstLine():n.cursor.goToLine(t);if(r.equals(n.cursor))return;let i=DA(n.cursor,r,`gg`,e,t);kA(e,i.from,i.to,n,i.linewise),n.recordChange({type:`operator`,op:e,motion:`gg`,count:t})}var MA={d:`delete`,c:`change`,y:`yank`};function NA(e){return e in MA}var PA=new Set([`h`,`l`,`j`,`k`,`w`,`b`,`e`,`W`,`B`,`E`,`0`,`^`,`$`]),FA=new Set([`f`,`F`,`t`,`T`]),IA={i:`inner`,a:`around`};function LA(e){return e in IA}var RA=new Set([`w`,`W`,`"`,`'`,"`",`(`,`)`,`b`,`[`,`]`,`{`,`}`,`B`,`<`,`>`]),zA=1e4;function BA(){return{mode:`INSERT`,insertedText:``}}function VA(){return{lastChange:null,lastFind:null,register:``,registerIsLinewise:!1}}function HA(e,t,n){switch(e.type){case`idle`:return GA(t,n);case`count`:return KA(e,t,n);case`operator`:return qA(e,t,n);case`operatorCount`:return JA(e,t,n);case`operatorFind`:return YA(e,t,n);case`operatorTextObj`:return XA(e,t,n);case`find`:return ZA(e,t,n);case`g`:return QA(e,t,n);case`operatorG`:return $A(e,t,n);case`replace`:return ej(e,t,n);case`indent`:return tj(e,t,n)}}function UA(e,t,n){return NA(e)?{next:{type:`operator`,op:MA[e],count:t}}:PA.has(e)?{execute:()=>{let r=oA(e,n.cursor,t);n.setOffset(r.offset)}}:FA.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:()=>xA(t,n)}:e===`x`?{execute:()=>yA(t,n)}:e===`J`?{execute:()=>SA(t,n)}:e===`p`||e===`P`?{execute:()=>CA(e===`p`,t,n)}:e===`D`?{execute:()=>hA(`delete`,`$`,1,n)}:e===`C`?{execute:()=>hA(`change`,`$`,1,n)}:e===`Y`?{execute:()=>vA(`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:()=>nj(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:()=>TA(`below`,n)}:e===`O`?{execute:()=>TA(`above`,n)}:null}function WA(e,t,n,r){return LA(n)?{next:{type:`operatorTextObj`,op:e,count:t,scope:IA[n]}}:FA.has(n)?{next:{type:`operatorFind`,op:e,count:t,find:n}}:PA.has(n)?{execute:()=>hA(e,n,t,r)}:n===`G`?{execute:()=>AA(e,t,r)}:n===`g`?{next:{type:`operatorG`,op:e,count:t}}:null}function GA(e,t){return/[1-9]/.test(e)?{next:{type:`count`,digits:e}}:e===`0`?{execute:()=>t.setOffset(t.cursor.startOfLogicalLine().offset)}:UA(e,1,t)||{}}function KA(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t;return{next:{type:`count`,digits:String(Math.min(parseInt(n,10),zA))}}}return UA(t,parseInt(e.digits,10),n)||{next:{type:`idle`}}}function qA(e,t,n){return t===e.op[0]?{execute:()=>vA(e.op,e.count,n)}:/[0-9]/.test(t)?{next:{type:`operatorCount`,op:e.op,count:e.count,digits:t}}:WA(e.op,e.count,t,n)||{next:{type:`idle`}}}function JA(e,t,n){if(/[0-9]/.test(t)){let n=e.digits+t,r=Math.min(parseInt(n,10),zA);return{next:{...e,digits:String(r)}}}let r=parseInt(e.digits,10),i=e.count*r;return WA(e.op,i,t,n)||{next:{type:`idle`}}}function YA(e,t,n){return{execute:()=>gA(e.op,e.find,t,e.count,n)}}function XA(e,t,n){return RA.has(t)?{execute:()=>_A(e.op,e.scope,t,e.count,n)}:{next:{type:`idle`}}}function ZA(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 QA(e,t,n){return t===`j`||t===`k`?{execute:()=>{let r=oA(`g${t}`,n.cursor,e.count);n.setOffset(r.offset)}}:t===`g`?e.count>1?{execute:()=>{let t=n.text.split(`
70
70
  `),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 $A(e,t,n){return t===`j`||t===`k`?{execute:()=>hA(e.op,`g${t}`,e.count,n)}:t===`g`?{execute:()=>jA(e.op,e.count,n)}:{next:{type:`idle`}}}function ej(e,t,n){return t===``?{next:{type:`idle`}}:{execute:()=>bA(t,e.count,n)}}function tj(e,t,n){return t===e.dir?{execute:()=>wA(e.dir,e.count,n)}:{next:{type:`idle`}}}function nj(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)}bp(),Ni();function rj(e){let t=Q.useRef(BA()),[n,r]=(0,Q.useState)(`INSERT`),i=Q.useRef(VA()),a=Ku({...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]!==`
71
- `&&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=Em.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`:yA(t.count,r);break;case`replace`:bA(t.char,t.count,r);break;case`toggleCase`:xA(t.count,r);break;case`indent`:wA(t.dir,t.count,r);break;case`join`:SA(t.count,r);break;case`openLine`:TA(t.direction,r);break;case`operator`:hA(t.op,t.motion,t.count,r);break;case`operatorFind`:gA(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:_A(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=Em.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,-(ji(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=HA(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}}F(),H();function ij(e){let[t]=ae(),n=le();Sc(n,!!e.onImagePaste);let r=rj({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?M.inverse:e=>e,themeText:Te(`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)(U,{flexDirection:`column`,children:(0,$.jsx)(Yo,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}yv(),_y(),Ig(),Oy(),Fx(),s();function aj(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 oj(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function sj(e){let t=kS(`sha256`).update(e).digest(`hex`).slice(0,16);return DS(o(),`cache-stats`,`${t}.json`)}var cj={version:1,signature:null,lastResetAt:null,lastHitRate:null};function lj(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 uj(e){try{let t=await LS(e,`utf8`),n=JSON.parse(t);return lj(n)?n:{...cj}}catch{return{...cj}}}async function dj(e,t){await IS(ES(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await zS(n,JSON.stringify(t),`utf8`),await RS(n,e)}catch{}}var fj={signature:null,lastResetAt:null,lastHitRate:null},pj=null;async function mj(e){pj=e;let t=await uj(sj(e));fj={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function hj(e){let t=oj(e),n=aj(e);return t!==fj.signature&&(fj={signature:t,lastResetAt:Date.now(),lastHitRate:n},pj!==null&&dj(sj(pj),{version:1,signature:t,lastResetAt:fj.lastResetAt,lastHitRate:n})),{...fj}}function gj(){return{...fj}}H(),Vi(),mu();function _j(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 vj(){return(0,$.jsx)(R,{dimColor:!0,children:` │ `})}function yj({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=k(),[s,c]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(!((a.five_hour?.resets_at??0)||(a.seven_day?.resets_at??0)))return;let e=setInterval(()=>c(e=>e+1),6e4);return()=>clearInterval(e)},[a.five_hour?.resets_at,a.seven_day?.resets_at]);let l=e.split(` `),u=l.length>=2?`${l[0]} ${l[1]}`:e,d=o<60,f=a.five_hour!=null,p=a.seven_day!=null,m=f?Math.round(a.five_hour.utilization*100):0,h=p?Math.round(a.seven_day.utilization*100):0,g=`${Ii(n)}/${Ii(r)}`;return(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{children:u}),(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Context `}),(0,$.jsxs)(R,{children:[t,`%`]}),!d&&(0,$.jsxs)(R,{dimColor:!0,children:[` (`,g,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Session `}),(0,$.jsxs)(R,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,_j(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(R,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,_j(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{children:dh(i)})]})]})}var bj=Q.memo(yj);J(),X(),ot(),Yc(),tp(),kb(),da(),H(),Et(),Fn(),jr(),q(),bd(),nc(),on(),_a(),uh();var xj=3600*1e3;function Sj(e){return String(Math.floor(e)).padStart(2,`0`)}function Cj(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${Sj(t)}:${Sj(n)}`}function wj({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=_f(e),o=(0,Q.useRef)(null);if(a!==null){let e=oj(a);e!==o.current&&(o.current=e,hj(a))}let{lastResetAt:s,lastHitRate:c}=gj(),l=s===null?null:t-s,u=l===null?null:xj-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,mj(Fe()))},[]);let h=a===null?c:aj(a);if(h===null&&s===null)return(0,$.jsx)(R,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:Cj(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{dimColor:!0,children:` Cache `}),(0,$.jsx)(R,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(R,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function Tj(e){return Ve()||e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function Ej(e,t,n,r,i,a,o){let s=_t(),c=qg(),l=Wn({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=_f(r),f=er(l,yt()),p=Dn(d,f),m=hp(Fe()),h=cc(),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{...Ac(),...m&&{session_name:m},model:{id:l,display_name:Rt(l)},workspace:{current_dir:Mr(),project_dir:ft(),added_dirs:i},version:`2.6.9`,output_style:{name:u},cost:{total_cost_usd:Ue(),total_duration_ms:Je(),total_api_duration_ms:Ge(),total_lines_added:Pe(),total_lines_removed:Qe()},context_window:{total_input_tokens:wt(),total_output_tokens:ze(),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},...Mx()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...$e()&&{remote:{session_id:Fe()}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function Dj(e){return oo(e)?.uuid??null}function Oj({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=Z(e=>e.toolPermissionContext.mode),a=Z(e=>e.toolPermissionContext.additionalWorkingDirectories),o=Z(e=>e.statusLineText),s=Sa(),c=jp(),{addNotification:l}=Do(),u=Ob(),d=(0,Q.useRef)(c);d.current=c;let f=(0,Q.useRef)(n);f.current=n;let p=(0,Q.useRef)(i);p.current=i;let m=(0,Q.useRef)(a);m.current=a;let h=(0,Q.useRef)(u);h.current=u;let g=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),_=(0,Q.useRef)(void 0),v=(0,Q.useRef)(!0),y=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=v.current;if(v.current=!1,d.current?.statusLine?.command)try{let e=g.current.exceeds200kTokens,r=Dj(n);r!==g.current.messageId&&(e=im(n),g.current.messageId=r,g.current.exceeds200kTokens=e);let a=await hl(Ej(p.current,e,d.current,n,Array.from(m.current.keys()),h.current,f.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),b=(0,Q.useCallback)(()=>{_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout((e,t)=>{e.current=void 0,t()},300,_,y)},[y]);(0,Q.useEffect)(()=>{(t!==g.current.messageId||i!==g.current.permissionMode||n!==g.current.vimMode||u!==g.current.mainLoopModel)&&(g.current.permissionMode=i,g.current.vimMode=n,g.current.mainLoopModel=u,b())},[t,i,n,u,b]);let x=c?.statusLine?.command,S=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(S.current){S.current=!1;return}v.current=!0,y()},[x,y]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(Y(`tengu_status_line_mount`,{command_length:e.command.length,padding:e.padding}),c.disableAllHooks===!0&&K(`Status line is configured but disableAllHooks is true`,{level:`warn`}),zn()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),K(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(y(),()=>{r.current?.abort(),_.current!==void 0&&clearTimeout(_.current)}),[]);let C=c?.statusLine?.padding??0,w=Wn({permissionMode:i,mainLoopModel:u,exceeds200kTokens:g.current.exceeds200kTokens}),T=er(w,yt()),E=_f(e.current),D=E?E.input_tokens+E.cache_creation_input_tokens+E.cache_read_input_tokens:0,O=E?Math.round(Dn(E,T).used??0):0,k=cc(),A={...k.five_hour&&{five_hour:{utilization:k.five_hour.utilization,resets_at:k.five_hour.resets_at}},...k.seven_day&&{seven_day:{utilization:k.seven_day.utilization,resets_at:k.seven_day.resets_at}}},j=c?.statusLineEnabled===!0,M=!!c?.statusLine?.command;return(0,$.jsxs)(U,{flexDirection:`column`,paddingX:C,children:[j&&(0,$.jsxs)(U,{gap:2,children:[(0,$.jsx)(bj,{modelName:Rt(w),contextUsedPct:O,usedTokens:D,contextWindowSize:T,totalCostUsd:Ue(),rateLimits:A}),(0,$.jsx)(wj,{messages:e.current})]}),o?(0,$.jsx)(R,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(fe,{children:o})}):M&&ca()?(0,$.jsx)(R,{children:` `}):null]})}var kj=(0,Q.memo)(Oj);pc();function Aj(e,t,n,r,i=!0){let a=e.length;if(a===0)return{startIndex:0,endIndex:0,showLeftArrow:!1,showRightArrow:!1};let o=Math.max(0,Math.min(r,a-1));if(e.reduce((e,t)=>e+t,0)<=t)return{startIndex:0,endIndex:a,showLeftArrow:!1,showRightArrow:!1};let s=[0];for(let t=0;t<a;t++)s.push(s[t]+e[t]);function c(e,t){let n=s[t]-s[e];return i&&e>0?n-1:n}function l(e,r){let i=t;return e>0&&(i-=n),r<a&&(i-=n),i}let u=0,d=1;for(;d<a&&c(u,d+1)<=l(u,d+1);)d++;if(o>=u&&o<d)return{startIndex:u,endIndex:d,showLeftArrow:u>0,showRightArrow:d<a};if(o>=d)for(d=o+1,u=o;u>0&&c(u-1,d)<=l(u-1,d);)u--;else for(u=o,d=o+1;d<a&&c(u,d+1)<=l(u,d+1);)d++;return{startIndex:u,endIndex:d,showLeftArrow:u>0,showRightArrow:d<a}}f(),mu(),H(),X(),Jx(),Co(),km(),$x();function jj({tasksSelected:e,isViewingTeammate:t,teammateFooterIndex:n=0,isLeaderIdle:r=!1,onOpenDialog:i}){let a=Sa(),{columns:o}=k(),s=Z(e=>e.tasks),c=Z(e=>e.viewingAgentTaskId),l=(0,Q.useMemo)(()=>Object.values(s??{}).filter(e=>Nl(e)&&!(process.env.USER_TYPE===`ant`&&Gc(e))),[s]),u=Z(e=>e.expandedView)===`teammates`,d=!u&&l.length>0&&l.every(e=>e.type===`in_process_teammate`),f=(0,Q.useMemo)(()=>l.filter(e=>e.type===`in_process_teammate`).sort((e,t)=>e.identity.agentName.localeCompare(t.identity.agentName)),[l]),m=(0,Q.useMemo)(()=>{let t={name:`main`,color:void 0,isIdle:r,taskId:void 0},n=f.map(e=>({name:e.identity.agentName,color:Pj(e.identity.color),isIdle:e.isIdle,taskId:e.id}));return e||n.sort((e,t)=>e.isIdle===t.isIdle?0:e.isIdle?1:-1),[t,...n].map((e,t)=>({...e,idx:t}))},[f,r,e]),h=(0,Q.useMemo)(()=>m.map((e,t)=>D(`@${e.name}`)+ +(t>0)),[m]);if(d||!u&&t){let t=e?n:-1,r=c?f.findIndex(e=>e.id===c)+1:0,{startIndex:i,endIndex:s,showLeftArrow:l,showRightArrow:u}=Aj(h,Math.max(20,o-20-4),2,t>=0?t:0),d=m.slice(i,s);return(0,$.jsxs)($.Fragment,{children:[l&&(0,$.jsxs)(R,{dimColor:!0,children:[p.arrowLeft,` `]}),d.map((e,n)=>{let i=n>0;return(0,$.jsxs)(Q.Fragment,{children:[i&&(0,$.jsx)(R,{children:` `}),(0,$.jsx)(Mj,{name:e.name,color:e.color,isSelected:t===e.idx,isViewed:r===e.idx,isIdle:e.isIdle,onClick:()=>e.taskId?Qx(e.taskId,a):eS(a)})]},e.name)}),u&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,p.arrowRight]}),(0,$.jsxs)(R,{dimColor:!0,children:[` · `,(0,$.jsx)(he,{shortcut:`shift + ↓`,action:`expand`})]})]})}return qx(s??{},u)||l.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Nj,{selected:e,onClick:i,children:Fp(l)}),Tc(l)&&(0,$.jsxs)(R,{dimColor:!0,children:[` · `,p.arrowDown,` to view`]})]})}function Mj({name:e,color:t,isSelected:n,isViewed:r,isIdle:i,onClick:a}){let[o,s]=(0,Q.useState)(!1),c=n||o,l;return l=c?t?(0,$.jsxs)(R,{backgroundColor:t,color:`inverseText`,bold:r,children:[`@`,e]}):(0,$.jsxs)(R,{color:`background`,inverse:!0,bold:r,children:[`@`,e]}):i?(0,$.jsxs)(R,{dimColor:!0,bold:r,children:[`@`,e]}):r?(0,$.jsxs)(R,{color:t,bold:!0,children:[`@`,e]}):(0,$.jsxs)(R,{color:t,dimColor:!t,children:[`@`,e]}),a?(0,$.jsx)(U,{onClick:a,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:l}):l}function Nj({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(R,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(U,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}function Pj(e){if(e&&la.includes(e))return Df[e]}H(),X();function Fj({teamsSelected:e,showHint:t}){let n=Z(e=>e.teamContext),r=n?Object.values(n.teammates).filter(e=>e.name!==`team-lead`).length:0;if(r===0)return null;let i=t&&e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{dimColor:!0,children:`· `}),(0,$.jsx)(R,{dimColor:!0,children:`Enter to view`})]}):null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`background`,inverse:e,children:`${r} ${r===1?`teammate`:`teammates`}`},e?`selected`:`normal`),i?(0,$.jsxs)(R,{children:[` `,i]}):null]})}H(),Fa();function Ij({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(U,{gap:1,children:[(0,$.jsx)(R,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(__,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:D(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}mi(),zr(),kr();var Lj=5e3;function Rj(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function zj(){if(!await Lr())return null;let[e,t]=await Promise.all([Rr(),Ir()]);if(e===t)return null;let{stdout:n,code:r}=await hi(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:Lj,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=xr(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:Rj(e.isDraft,e.reviewDecision)}}catch{return null}}ot();var Bj=6e4,Vj=4e3,Hj=60*6e4,Uj={number:null,url:null,reviewState:null,lastUpdated:0};function Wj(e,t=!0){let[n,r]=(0,Q.useState)(Uj),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=et();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=Hj)return;let l=Date.now(),u=await zj();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>Vj){a.current=!0;return}e||(i.current=setTimeout(c,Bj))}}let l=Date.now()-o.current;return l>=Bj?c():i.current=setTimeout(c,Bj-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}H(),f(),Fx(),Dm(),$t(),oc(),Co(),Ai(),$x(),rr(),Bl(),X(),ot(),mu(),Vi(),qD(),kD(),zu(),bd(),Et(),si(),Mo();var Gj=(um(),e(nh)),Kj=(uv(),e($_)),qj=e=>()=>{},Jj=()=>null,Yj=3,Xj=5e3;function Zj(){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=Ri(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,Xj);return()=>clearInterval(n)},[]),e}function Qj(){let e=(0,Q.useSyncExternalStore)(Kj?.subscribeToProactiveChanges??qj,Kj?.getNextTickAt??Jj,Jj),[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(e===null){n(null);return}function t(){n(Math.max(0,Math.ceil((e-Date.now())/1e3)))}t();let r=setInterval(t,1e3);return()=>clearInterval(r)},[e]),t===null?null:(0,$.jsxs)(R,{dimColor:!0,children:[`waiting `,Li(t*1e3,{mostSignificantOnly:!0})]})}function $j({exitMessage:e,vimMode:t,mode:n,toolPermissionContext:r,suppressHint:i,isLoading:a,tasksSelected:o,teamsSelected:s,tmuxSelected:c,teammateFooterIndex:l,isPasting:u,isSearching:d,historyQuery:f,setHistoryQuery:p,historyFailedMatch:m,onOpenTasksDialog:h}){if(e.show)return(0,$.jsxs)(R,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(u)return(0,$.jsx)(R,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let g=Mx()&&t===`INSERT`&&!d;return(0,$.jsxs)(U,{justifyContent:`flex-start`,gap:1,children:[d&&(0,$.jsx)(Ij,{value:f,onChange:p,historyFailedMatch:m}),g?(0,$.jsx)(R,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(eM,{mode:n,toolPermissionContext:r,showHint:!i&&!g,isLoading:a,tasksSelected:o,teamsSelected:s,teammateFooterIndex:l,tmuxSelected:c,onOpenTasksDialog:h})]})}function eM({mode:e,toolPermissionContext:t,showHint:n,isLoading:r,tasksSelected:i,teamsSelected:a,tmuxSelected:o,teammateFooterIndex:s,onOpenTasksDialog:c}){let{columns:l}=k(),u=Ch(`chat:cycleMode`,`Chat`,`shift+tab`),d=Z(e=>e.tasks),f=Z(e=>e.teamContext),m=a_(),[h]=(0,Q.useState)(()=>m.getState().remoteSessionUrl),g=Z(e=>e.viewSelectionMode),_=Z(e=>e.viewingAgentTaskId),v=Z(e=>e.expandedView),y=v===`teammates`,b=Wj(r,nM()),x=Z(e=>process.env.USER_TYPE===`ant`&&e.tungstenActiveSession!==void 0),S=(0,Q.useSyncExternalStore)(Kj?.subscribeToProactiveChanges??qj,Kj?.getNextTickAt??Jj,Jj),C=DD(),w=qi(e=>e.voiceState),T=qi(e=>e.voiceWarmingUp),E=j(),D=ee().getState,O=S!==null,A=Gj?.isCoordinatorMode()===!0,M=(0,Q.useMemo)(()=>xi(Object.values(d),e=>Nl(e)&&!(process.env.USER_TYPE===`ant`&&Gc(e))),[d]),N=Is(),P=N!==void 0&&N.length>0,F=Ch(`chat:cancel`,`Chat`,`esc`).toLowerCase(),te=Ch(`app:toggleTodos`,`Global`,`ctrl+t`),ne=Ch(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),I=Ch(`voice:pushToTalk`,`Chat`,`Space`),[L]=(0,Q.useState)(()=>(pn().voiceFooterHintSeenCount??0)<Yj),ie=L,ae=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{{if(!C||!ie||ae?.current)return;ae&&(ae.current=!0);let e=(pn().voiceFooterHintSeenCount??0)+1;rn(t=>(t.voiceFooterHintSeenCount??0)>=e?t:{...t,voiceFooterHintSeenCount:e})}},[C,ie]);let oe=Z(e=>e.notifications.current?.key===`kill-agents-confirm`),se=Zj(),ce=Hn()&&!Va()&&f!==void 0&&xi(Object.values(f.teammates),e=>e.name!==`team-lead`)>0;if(e===`bash`)return(0,$.jsx)(R,{color:`bashBorder`,children:`! for bash mode`});let le=t?.mode,ue=!sn(le),fe=_?d[_]:void 0,pe=g===`viewing-agent`&&fe?.type===`in_process_teammate`,me=pe&&fe!=null&&fe.status!==`running`,z=M>0||pe,B=(A||ue?1:0)+ +!!z+ +!!ce,ge=nM()&&b.number!==null&&b.reviewState!==null&&b.url!==null&&B<2&&(B===0||l>=80),ve=B<2,ye=!y&&z&&Object.values(d).some(e=>e.type===`in_process_teammate`)||!y&&pe,V=le&&ue&&!$e()?(0,$.jsxs)(R,{color:Xt(le),children:[_r(le),` `,kt(le).toLowerCase(),` on`,ve&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,(0,$.jsx)(he,{shortcut:u,action:`cycle`,parens:!0})]})]},`mode`):null,be=[...h?[(0,$.jsx)(re,{url:h,children:(0,$.jsxs)(R,{color:`ide`,children:[p.circleDouble,` remote`]})},`remote`)]:[],...process.env.USER_TYPE===`ant`&&x?[(0,$.jsx)(TungstenPill,{selected:o},`tmux`)]:[],...Hn()&&ce?[(0,$.jsx)(Fj,{teamsSelected:a,showHint:n&&!z},`teams`)]:[],...ge?[(0,$.jsx)(Qc,{number:b.number,url:b.url,reviewState:b.reviewState},`pr-status`)]:[],...se?[(0,$.jsxs)(R,{dimColor:se.level===`normal`,color:se.level===`error`?`error`:se.level===`warning`?`warning`:void 0,children:[se.text,` · pid:`,process.pid]},`rss`)]:[]],xe=Object.values(d).some(e=>e.type===`in_process_teammate`&&e.status===`running`),Se=Object.values(d).some(e=>e.type===`local_agent`&&e.status===`running`),H=n?tM(r,F,te,ne,P,v,xe,Se,oe):[];if(me?be.push((0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:F,action:`return to team lead`})},`esc-return`)):O?be.push((0,$.jsx)(Qj,{},`proactive`)):!ye&&n&&be.push(...H),ye){let e=[...V?[V]:[],...be,...me?[]:H];return(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(U,{children:(0,$.jsx)(jj,{tasksSelected:i,isViewingTeammate:pe,teammateFooterIndex:s,isLeaderIdle:!r,onOpenDialog:c})}),e.length>0&&(0,$.jsx)(U,{children:(0,$.jsx)(_e,{children:e})})]})}let Ce=process.env.USER_TYPE===`ant`&&Hk(d).length>0,we=z&&!ye&&!qx(d,y)?(0,$.jsx)(jj,{tasksSelected:i,isViewingTeammate:pe,teammateFooterIndex:s,isLeaderIdle:!r,onOpenDialog:c}):null;be.length===0&&!we&&!V&&n&&be.push((0,$.jsx)(R,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let Te=pn().copyOnSelect??!0,Ee=E&&(!Te||de());if(C&&T)be.push((0,$.jsx)(VD,{},`voice-warmup`));else if(ca()&&Ee){let e=oi()===`macos`,t=e&&(D()?.lastPressHadAlt??!1);be.push((0,$.jsx)(R,{dimColor:!0,children:(0,$.jsxs)(_e,{children:[!Te&&(0,$.jsx)(he,{shortcut:`ctrl+c`,action:`copy`}),de()&&(t?(0,$.jsx)(R,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(he,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}else be.length>0&&n&&C&&w===`idle`&&H.length===0&&ie&&be.push((0,$.jsxs)(R,{dimColor:!0,children:[`hold `,I,` to speak`]},`voice-hint`));return(we||Ce)&&n&&!ce&&be.push((0,$.jsx)(R,{dimColor:!0,children:i?(0,$.jsx)(he,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(he,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),be.length===0&&!we&&!V?ca()?(0,$.jsx)(R,{children:` `}):null:(0,$.jsxs)(U,{height:1,overflow:`hidden`,children:[V&&(0,$.jsxs)(U,{flexShrink:0,children:[V,(we||be.length>0)&&(0,$.jsx)(R,{dimColor:!0,children:` · `})]}),we&&(0,$.jsxs)(U,{flexShrink:0,children:[we,be.length>0&&(0,$.jsx)(R,{dimColor:!0,children:` · `})]}),be.length>0&&(0,$.jsx)(R,{wrap:`truncate`,children:(0,$.jsx)(_e,{children:be})})]})}function tM(e,t,n,r,i,a,o,s,c){let l;if(o)switch(a){case`none`:l=`show tasks`;break;case`tasks`:l=`show teammates`;break;case`teammates`:l=`hide`;break}else l=a===`tasks`?`hide tasks`:`show tasks`;let u=i||o;return[...e?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&s&&!c?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...u?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:n,action:l})},`toggle-tasks`)]:[]]}function nM(){return pn().prStatusFooterEnabled??!0}cp(),da(),mu(),H(),zo(),X(),bd(),vb(),Px();function rM({apiKeyStatus:e,debug:t,exitMessage:n,vimMode:r,mode:i,autoUpdaterResult:a,isAutoUpdating:o,verbose:s,onAutoUpdaterResult:c,onChangeIsUpdating:l,suggestions:u,selectedSuggestion:d,maxColumnWidth:f,toolPermissionContext:p,helpOpen:m,suppressHint:h,isLoading:g,tasksSelected:_,teamsSelected:v,bridgeSelected:y,tmuxSelected:b,teammateFooterIndex:x,ideSelection:S,mcpClients:C,isPasting:w=!1,isInputWrapped:T=!1,messages:E,isSearching:D,historyQuery:O,setHistoryQuery:A,historyFailedMatch:j,onOpenTasksDialog:M}){let N=jp(),{columns:P,rows:ee}=k(),F=(0,Q.useRef)(E);F.current=E;let te=(0,Q.useMemo)(()=>Dj(E),[E]),ne=P<80,I=ca(),re=I&&ee<24,L=Wk(),ie=Z(e=>e.coordinatorTaskIndex),ae=_&&(L===0||ie<0),oe=h||Tj(N)||D;return px((0,Q.useMemo)(()=>I&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[I,u,d,f])),u.length&&!I?(0,$.jsx)(U,{paddingX:2,paddingY:0,children:(0,$.jsx)(yb,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(Ix,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(U,{flexDirection:ne?`column`:`row`,justifyContent:ne?`flex-start`:`space-between`,paddingX:2,gap:+!ne,children:[(0,$.jsxs)(U,{flexDirection:`column`,flexShrink:+!ne,children:[i===`prompt`&&!re&&!n.show&&!w&&Tj(N)&&(0,$.jsx)(kj,{messagesRef:F,lastAssistantMessageId:te,vimMode:r}),(0,$.jsx)(oM,{}),(0,$.jsx)($j,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:oe,isLoading:g,tasksSelected:ae,teamsSelected:v,teammateFooterIndex:x,tmuxSelected:b,isPasting:w,isSearching:D,historyQuery:O,setHistoryQuery:A,historyFailedMatch:j,onOpenTasksDialog:M})]}),(0,$.jsxs)(U,{flexShrink:1,gap:1,children:[I?null:(0,$.jsx)(XD,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:E,onAutoUpdaterResult:c,onChangeIsUpdating:l,ideSelection:S,mcpClients:C,isInputWrapped:T,isNarrow:ne}),process.env.USER_TYPE===`ant`&&vy()&&(0,$.jsx)(R,{dimColor:!0,children:`undercover`}),(0,$.jsx)(aM,{bridgeSelected:y})]})]}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(Uk,{})]})}var iM=(0,Q.memo)(rM);function aM({bridgeSelected:e}){let t=Z(e=>e.replBridgeEnabled),n=Z(e=>e.replBridgeConnected),r=Z(e=>e.replBridgeSessionActive),i=Z(e=>e.replBridgeReconnecting),a=Z(e=>e.replBridgeExplicit);if(!ly()||!t)return null;let o=mm({error:void 0,connected:n,sessionActive:r,reconnecting:i});return!a&&o.label!==`Remote Control reconnecting`?null:(0,$.jsxs)(R,{color:e?`background`:o.color,inverse:e,wrap:`truncate`,children:[o.label,e&&(0,$.jsx)(R,{dimColor:!0,children:` · Enter to view`})]})}function oM(){return null}f(),H(),km(),wi(),rr();function sM(){if(!Hn())return;let e=Ei();if(e&&la.includes(e))return Df[e]}function cM({isLoading:e,themeColor:t}){let n=t,r=process.env.USER_TYPE===`ant`;return(0,$.jsxs)(R,{color:n??(r?`subtle`:void 0),dimColor:e,children:[p.pointer,`\xA0`]})}function lM({mode:e,isLoading:t,viewingAgentName:n,viewingAgentColor:r}){let i=sM(),a=r?Df[r]:void 0;return(0,$.jsx)(U,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:n?(0,$.jsx)(cM,{isLoading:t,themeColor:a}):e===`bash`?(0,$.jsx)(R,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(cM,{isLoading:t,themeColor:Hn()?i:void 0})})}H(),X(),Ha(),Wg(),nc(),kr(),Bc();var uM=new Set;function dM(e){try{return xr(e)?.type===`idle_notification`}catch{return!1}}var fM=3;function pM(e){return`<${ni}>
71
+ `&&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=Em.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`:yA(t.count,r);break;case`replace`:bA(t.char,t.count,r);break;case`toggleCase`:xA(t.count,r);break;case`indent`:wA(t.dir,t.count,r);break;case`join`:SA(t.count,r);break;case`openLine`:TA(t.direction,r);break;case`operator`:hA(t.op,t.motion,t.count,r);break;case`operatorFind`:gA(t.op,t.find,t.char,t.count,r);break;case`operatorTextObj`:_A(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=Em.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,-(ji(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=HA(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}}F(),H();function ij(e){let[t]=ae(),n=le();Sc(n,!!e.onImagePaste);let r=rj({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?M.inverse:e=>e,themeText:Te(`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)(U,{flexDirection:`column`,children:(0,$.jsx)(Yo,{inputState:r,terminalFocus:n,highlights:e.highlights,...e})})}yv(),_y(),Ig(),Oy(),Fx(),s();function aj(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 oj(e){return`${e.input_tokens}|${e.cache_creation_input_tokens}|${e.cache_read_input_tokens}`}function sj(e){let t=kS(`sha256`).update(e).digest(`hex`).slice(0,16);return DS(o(),`cache-stats`,`${t}.json`)}var cj={version:1,signature:null,lastResetAt:null,lastHitRate:null};function lj(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 uj(e){try{let t=await LS(e,`utf8`),n=JSON.parse(t);return lj(n)?n:{...cj}}catch{return{...cj}}}async function dj(e,t){await IS(ES(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{await zS(n,JSON.stringify(t),`utf8`),await RS(n,e)}catch{}}var fj={signature:null,lastResetAt:null,lastHitRate:null},pj=null;async function mj(e){pj=e;let t=await uj(sj(e));fj={signature:t.signature,lastResetAt:t.lastResetAt,lastHitRate:t.lastHitRate}}function hj(e){let t=oj(e),n=aj(e);return t!==fj.signature&&(fj={signature:t,lastResetAt:Date.now(),lastHitRate:n},pj!==null&&dj(sj(pj),{version:1,signature:t,lastResetAt:fj.lastResetAt,lastHitRate:n})),{...fj}}function gj(){return{...fj}}H(),Vi(),mu();function _j(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 vj(){return(0,$.jsx)(R,{dimColor:!0,children:` │ `})}function yj({modelName:e,contextUsedPct:t,usedTokens:n,contextWindowSize:r,totalCostUsd:i,rateLimits:a}){let{columns:o}=k(),[s,c]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(!((a.five_hour?.resets_at??0)||(a.seven_day?.resets_at??0)))return;let e=setInterval(()=>c(e=>e+1),6e4);return()=>clearInterval(e)},[a.five_hour?.resets_at,a.seven_day?.resets_at]);let l=e.split(` `),u=l.length>=2?`${l[0]} ${l[1]}`:e,d=o<60,f=a.five_hour!=null,p=a.seven_day!=null,m=f?Math.round(a.five_hour.utilization*100):0,h=p?Math.round(a.seven_day.utilization*100):0,g=`${Ii(n)}/${Ii(r)}`;return(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{children:u}),(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Context `}),(0,$.jsxs)(R,{children:[t,`%`]}),!d&&(0,$.jsxs)(R,{dimColor:!0,children:[` (`,g,`)`]}),f&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Session `}),(0,$.jsxs)(R,{children:[m,`%`]}),!d&&a.five_hour.resets_at>0&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,_j(a.five_hour.resets_at)]})]}),p&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{dimColor:!0,children:`Weekly `}),(0,$.jsxs)(R,{children:[h,`%`]}),!d&&a.seven_day.resets_at>0&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,_j(a.seven_day.resets_at)]})]}),i>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vj,{}),(0,$.jsx)(R,{children:dh(i)})]})]})}var bj=Q.memo(yj);J(),X(),ot(),Yc(),tp(),kb(),da(),H(),Et(),Fn(),jr(),q(),bd(),nc(),on(),_a(),uh();var xj=3600*1e3;function Sj(e){return String(Math.floor(e)).padStart(2,`0`)}function Cj(e){if(e<=0)return`exp`;let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${Sj(t)}:${Sj(n)}`}function wj({messages:e}){let[t,n]=(0,Q.useState)(()=>Date.now()),[r,i]=(0,Q.useState)(!0),a=_f(e),o=(0,Q.useRef)(null);if(a!==null){let e=oj(a);e!==o.current&&(o.current=e,hj(a))}let{lastResetAt:s,lastHitRate:c}=gj(),l=s===null?null:t-s,u=l===null?null:xj-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,mj(Fe()))},[]);let h=a===null?c:aj(a);if(h===null&&s===null)return(0,$.jsx)(R,{dimColor:!0,children:` Cache --% --:--`});let g=u===null?`--:--`:Cj(u),_=h===null?`--%`:`${h}%`,v;return v=f||d===null?`inactive`:d<20?`success`:d<40?`warning`:`error`,(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{dimColor:!0,children:` Cache `}),(0,$.jsx)(R,{color:h!==null&&h>=50?`success`:`inactive`,children:_}),(0,$.jsxs)(R,{color:v,dimColor:p&&!r,children:[` `,g]})]})}function Tj(e){return Ve()||e?.statusLineEnabled===!1?!1:e?.statusLineEnabled===!0||!!e?.statusLine?.command}function Ej(e,t,n,r,i,a,o){let s=_t(),c=qg(),l=Wn({permissionMode:e,mainLoopModel:a,exceeds200kTokens:t}),u=n?.outputStyle||`default`,d=_f(r),f=er(l,yt()),p=Dn(d,f),m=hp(Fe()),h=cc(),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{...Ac(),...m&&{session_name:m},model:{id:l,display_name:Rt(l)},workspace:{current_dir:Mr(),project_dir:ft(),added_dirs:i},version:`2.6.11`,output_style:{name:u},cost:{total_cost_usd:Ue(),total_duration_ms:Je(),total_api_duration_ms:Ge(),total_lines_added:Pe(),total_lines_removed:Qe()},context_window:{total_input_tokens:wt(),total_output_tokens:ze(),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},...Mx()&&{vim:{mode:o??`INSERT`}},...s&&{agent:{name:s}},...$e()&&{remote:{session_id:Fe()}},...c&&{worktree:{name:c.worktreeName,path:c.worktreePath,branch:c.worktreeBranch,original_cwd:c.originalCwd,original_branch:c.originalBranch}}}}function Dj(e){return oo(e)?.uuid??null}function Oj({messagesRef:e,lastAssistantMessageId:t,vimMode:n}){let r=(0,Q.useRef)(void 0),i=Z(e=>e.toolPermissionContext.mode),a=Z(e=>e.toolPermissionContext.additionalWorkingDirectories),o=Z(e=>e.statusLineText),s=Sa(),c=jp(),{addNotification:l}=Do(),u=Ob(),d=(0,Q.useRef)(c);d.current=c;let f=(0,Q.useRef)(n);f.current=n;let p=(0,Q.useRef)(i);p.current=i;let m=(0,Q.useRef)(a);m.current=a;let h=(0,Q.useRef)(u);h.current=u;let g=(0,Q.useRef)({messageId:null,exceeds200kTokens:!1,permissionMode:i,vimMode:n,mainLoopModel:u}),_=(0,Q.useRef)(void 0),v=(0,Q.useRef)(!0),y=(0,Q.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;let n=e.current,i=v.current;if(v.current=!1,d.current?.statusLine?.command)try{let e=g.current.exceeds200kTokens,r=Dj(n);r!==g.current.messageId&&(e=im(n),g.current.messageId=r,g.current.exceeds200kTokens=e);let a=await hl(Ej(p.current,e,d.current,n,Array.from(m.current.keys()),h.current,f.current),t.signal,void 0,i);t.signal.aborted||s(e=>e.statusLineText===a?e:{...e,statusLineText:a})}catch{}},[e,s]),b=(0,Q.useCallback)(()=>{_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout((e,t)=>{e.current=void 0,t()},300,_,y)},[y]);(0,Q.useEffect)(()=>{(t!==g.current.messageId||i!==g.current.permissionMode||n!==g.current.vimMode||u!==g.current.mainLoopModel)&&(g.current.permissionMode=i,g.current.vimMode=n,g.current.mainLoopModel=u,b())},[t,i,n,u,b]);let x=c?.statusLine?.command,S=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>{if(S.current){S.current=!1;return}v.current=!0,y()},[x,y]),(0,Q.useEffect)(()=>{let e=c?.statusLine;e&&(Y(`tengu_status_line_mount`,{command_length:e.command.length,padding:e.padding}),c.disableAllHooks===!0&&K(`Status line is configured but disableAllHooks is true`,{level:`warn`}),zn()||(l({key:`statusline-trust-blocked`,text:`statusline skipped · restart to fix`,color:`warning`,priority:`low`}),K(`Status line command skipped: workspace trust not accepted`,{level:`warn`})))},[]),(0,Q.useEffect)(()=>(y(),()=>{r.current?.abort(),_.current!==void 0&&clearTimeout(_.current)}),[]);let C=c?.statusLine?.padding??0,w=Wn({permissionMode:i,mainLoopModel:u,exceeds200kTokens:g.current.exceeds200kTokens}),T=er(w,yt()),E=_f(e.current),D=E?E.input_tokens+E.cache_creation_input_tokens+E.cache_read_input_tokens:0,O=E?Math.round(Dn(E,T).used??0):0,k=cc(),A={...k.five_hour&&{five_hour:{utilization:k.five_hour.utilization,resets_at:k.five_hour.resets_at}},...k.seven_day&&{seven_day:{utilization:k.seven_day.utilization,resets_at:k.seven_day.resets_at}}},j=c?.statusLineEnabled===!0,M=!!c?.statusLine?.command;return(0,$.jsxs)(U,{flexDirection:`column`,paddingX:C,children:[j&&(0,$.jsxs)(U,{gap:2,children:[(0,$.jsx)(bj,{modelName:Rt(w),contextUsedPct:O,usedTokens:D,contextWindowSize:T,totalCostUsd:Ue(),rateLimits:A}),(0,$.jsx)(wj,{messages:e.current})]}),o?(0,$.jsx)(R,{dimColor:!0,wrap:`truncate`,children:(0,$.jsx)(fe,{children:o})}):M&&ca()?(0,$.jsx)(R,{children:` `}):null]})}var kj=(0,Q.memo)(Oj);pc();function Aj(e,t,n,r,i=!0){let a=e.length;if(a===0)return{startIndex:0,endIndex:0,showLeftArrow:!1,showRightArrow:!1};let o=Math.max(0,Math.min(r,a-1));if(e.reduce((e,t)=>e+t,0)<=t)return{startIndex:0,endIndex:a,showLeftArrow:!1,showRightArrow:!1};let s=[0];for(let t=0;t<a;t++)s.push(s[t]+e[t]);function c(e,t){let n=s[t]-s[e];return i&&e>0?n-1:n}function l(e,r){let i=t;return e>0&&(i-=n),r<a&&(i-=n),i}let u=0,d=1;for(;d<a&&c(u,d+1)<=l(u,d+1);)d++;if(o>=u&&o<d)return{startIndex:u,endIndex:d,showLeftArrow:u>0,showRightArrow:d<a};if(o>=d)for(d=o+1,u=o;u>0&&c(u-1,d)<=l(u-1,d);)u--;else for(u=o,d=o+1;d<a&&c(u,d+1)<=l(u,d+1);)d++;return{startIndex:u,endIndex:d,showLeftArrow:u>0,showRightArrow:d<a}}f(),mu(),H(),X(),Jx(),Co(),km(),$x();function jj({tasksSelected:e,isViewingTeammate:t,teammateFooterIndex:n=0,isLeaderIdle:r=!1,onOpenDialog:i}){let a=Sa(),{columns:o}=k(),s=Z(e=>e.tasks),c=Z(e=>e.viewingAgentTaskId),l=(0,Q.useMemo)(()=>Object.values(s??{}).filter(e=>Nl(e)&&!(process.env.USER_TYPE===`ant`&&Gc(e))),[s]),u=Z(e=>e.expandedView)===`teammates`,d=!u&&l.length>0&&l.every(e=>e.type===`in_process_teammate`),f=(0,Q.useMemo)(()=>l.filter(e=>e.type===`in_process_teammate`).sort((e,t)=>e.identity.agentName.localeCompare(t.identity.agentName)),[l]),m=(0,Q.useMemo)(()=>{let t={name:`main`,color:void 0,isIdle:r,taskId:void 0},n=f.map(e=>({name:e.identity.agentName,color:Pj(e.identity.color),isIdle:e.isIdle,taskId:e.id}));return e||n.sort((e,t)=>e.isIdle===t.isIdle?0:e.isIdle?1:-1),[t,...n].map((e,t)=>({...e,idx:t}))},[f,r,e]),h=(0,Q.useMemo)(()=>m.map((e,t)=>D(`@${e.name}`)+ +(t>0)),[m]);if(d||!u&&t){let t=e?n:-1,r=c?f.findIndex(e=>e.id===c)+1:0,{startIndex:i,endIndex:s,showLeftArrow:l,showRightArrow:u}=Aj(h,Math.max(20,o-20-4),2,t>=0?t:0),d=m.slice(i,s);return(0,$.jsxs)($.Fragment,{children:[l&&(0,$.jsxs)(R,{dimColor:!0,children:[p.arrowLeft,` `]}),d.map((e,n)=>{let i=n>0;return(0,$.jsxs)(Q.Fragment,{children:[i&&(0,$.jsx)(R,{children:` `}),(0,$.jsx)(Mj,{name:e.name,color:e.color,isSelected:t===e.idx,isViewed:r===e.idx,isIdle:e.isIdle,onClick:()=>e.taskId?Qx(e.taskId,a):eS(a)})]},e.name)}),u&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,p.arrowRight]}),(0,$.jsxs)(R,{dimColor:!0,children:[` · `,(0,$.jsx)(he,{shortcut:`shift + ↓`,action:`expand`})]})]})}return qx(s??{},u)||l.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Nj,{selected:e,onClick:i,children:Fp(l)}),Tc(l)&&(0,$.jsxs)(R,{dimColor:!0,children:[` · `,p.arrowDown,` to view`]})]})}function Mj({name:e,color:t,isSelected:n,isViewed:r,isIdle:i,onClick:a}){let[o,s]=(0,Q.useState)(!1),c=n||o,l;return l=c?t?(0,$.jsxs)(R,{backgroundColor:t,color:`inverseText`,bold:r,children:[`@`,e]}):(0,$.jsxs)(R,{color:`background`,inverse:!0,bold:r,children:[`@`,e]}):i?(0,$.jsxs)(R,{dimColor:!0,bold:r,children:[`@`,e]}):r?(0,$.jsxs)(R,{color:t,bold:!0,children:[`@`,e]}):(0,$.jsxs)(R,{color:t,dimColor:!t,children:[`@`,e]}),a?(0,$.jsx)(U,{onClick:a,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:l}):l}function Nj({selected:e,onClick:t,children:n}){let[r,i]=(0,Q.useState)(!1),a=(0,$.jsx)(R,{color:`background`,inverse:e||r,children:n});return t?(0,$.jsx)(U,{onClick:t,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:a}):a}function Pj(e){if(e&&la.includes(e))return Df[e]}H(),X();function Fj({teamsSelected:e,showHint:t}){let n=Z(e=>e.teamContext),r=n?Object.values(n.teammates).filter(e=>e.name!==`team-lead`).length:0;if(r===0)return null;let i=t&&e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{dimColor:!0,children:`· `}),(0,$.jsx)(R,{dimColor:!0,children:`Enter to view`})]}):null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`background`,inverse:e,children:`${r} ${r===1?`teammate`:`teammates`}`},e?`selected`:`normal`),i?(0,$.jsxs)(R,{children:[` `,i]}):null]})}H(),Fa();function Ij({value:e,onChange:t,historyFailedMatch:n}){return(0,$.jsxs)(U,{gap:1,children:[(0,$.jsx)(R,{dimColor:!0,children:n?`no matching prompt:`:`search prompts:`}),(0,$.jsx)(__,{value:e,onChange:t,cursorOffset:e.length,onChangeCursorOffset:()=>{},columns:D(e)+1,focus:!0,showCursor:!0,multiline:!1,dimColor:!0})]})}mi(),zr(),kr();var Lj=5e3;function Rj(e,t){if(e)return`draft`;switch(t){case`APPROVED`:return`approved`;case`CHANGES_REQUESTED`:return`changes_requested`;default:return`pending`}}async function zj(){if(!await Lr())return null;let[e,t]=await Promise.all([Rr(),Ir()]);if(e===t)return null;let{stdout:n,code:r}=await hi(`gh`,[`pr`,`view`,`--json`,`number,url,reviewDecision,isDraft,headRefName,state`],{timeout:Lj,preserveOutputOnError:!1});if(r!==0||!n.trim())return null;try{let e=xr(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:Rj(e.isDraft,e.reviewDecision)}}catch{return null}}ot();var Bj=6e4,Vj=4e3,Hj=60*6e4,Uj={number:null,url:null,reviewState:null,lastUpdated:0};function Wj(e,t=!0){let[n,r]=(0,Q.useState)(Uj),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=et();if(n!==t)n=t,s=Date.now();else if(Date.now()-s>=Hj)return;let l=Date.now(),u=await zj();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>Vj){a.current=!0;return}e||(i.current=setTimeout(c,Bj))}}let l=Date.now()-o.current;return l>=Bj?c():i.current=setTimeout(c,Bj-l),()=>{e=!0,i.current&&(clearTimeout(i.current),i.current=null)}},[e,t]),n}H(),f(),Fx(),Dm(),$t(),oc(),Co(),Ai(),$x(),rr(),Bl(),X(),ot(),mu(),Vi(),qD(),kD(),zu(),bd(),Et(),si(),Mo();var Gj=(um(),e(nh)),Kj=(uv(),e($_)),qj=e=>()=>{},Jj=()=>null,Yj=3,Xj=5e3;function Zj(){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=Ri(e*1024*1024);t(e=>e?.text===r?e:{text:r,level:n})}e();let n=setInterval(e,Xj);return()=>clearInterval(n)},[]),e}function Qj(){let e=(0,Q.useSyncExternalStore)(Kj?.subscribeToProactiveChanges??qj,Kj?.getNextTickAt??Jj,Jj),[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(e===null){n(null);return}function t(){n(Math.max(0,Math.ceil((e-Date.now())/1e3)))}t();let r=setInterval(t,1e3);return()=>clearInterval(r)},[e]),t===null?null:(0,$.jsxs)(R,{dimColor:!0,children:[`waiting `,Li(t*1e3,{mostSignificantOnly:!0})]})}function $j({exitMessage:e,vimMode:t,mode:n,toolPermissionContext:r,suppressHint:i,isLoading:a,tasksSelected:o,teamsSelected:s,tmuxSelected:c,teammateFooterIndex:l,isPasting:u,isSearching:d,historyQuery:f,setHistoryQuery:p,historyFailedMatch:m,onOpenTasksDialog:h}){if(e.show)return(0,$.jsxs)(R,{dimColor:!0,children:[`Press `,e.key,` again to exit`]},`exit-message`);if(u)return(0,$.jsx)(R,{dimColor:!0,children:`Pasting text…`},`pasting-message`);let g=Mx()&&t===`INSERT`&&!d;return(0,$.jsxs)(U,{justifyContent:`flex-start`,gap:1,children:[d&&(0,$.jsx)(Ij,{value:f,onChange:p,historyFailedMatch:m}),g?(0,$.jsx)(R,{dimColor:!0,children:`-- INSERT --`},`vim-insert`):null,(0,$.jsx)(eM,{mode:n,toolPermissionContext:r,showHint:!i&&!g,isLoading:a,tasksSelected:o,teamsSelected:s,teammateFooterIndex:l,tmuxSelected:c,onOpenTasksDialog:h})]})}function eM({mode:e,toolPermissionContext:t,showHint:n,isLoading:r,tasksSelected:i,teamsSelected:a,tmuxSelected:o,teammateFooterIndex:s,onOpenTasksDialog:c}){let{columns:l}=k(),u=Ch(`chat:cycleMode`,`Chat`,`shift+tab`),d=Z(e=>e.tasks),f=Z(e=>e.teamContext),m=a_(),[h]=(0,Q.useState)(()=>m.getState().remoteSessionUrl),g=Z(e=>e.viewSelectionMode),_=Z(e=>e.viewingAgentTaskId),v=Z(e=>e.expandedView),y=v===`teammates`,b=Wj(r,nM()),x=Z(e=>process.env.USER_TYPE===`ant`&&e.tungstenActiveSession!==void 0),S=(0,Q.useSyncExternalStore)(Kj?.subscribeToProactiveChanges??qj,Kj?.getNextTickAt??Jj,Jj),C=DD(),w=qi(e=>e.voiceState),T=qi(e=>e.voiceWarmingUp),E=j(),D=ee().getState,O=S!==null,A=Gj?.isCoordinatorMode()===!0,M=(0,Q.useMemo)(()=>xi(Object.values(d),e=>Nl(e)&&!(process.env.USER_TYPE===`ant`&&Gc(e))),[d]),N=Is(),P=N!==void 0&&N.length>0,F=Ch(`chat:cancel`,`Chat`,`esc`).toLowerCase(),te=Ch(`app:toggleTodos`,`Global`,`ctrl+t`),ne=Ch(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),I=Ch(`voice:pushToTalk`,`Chat`,`Space`),[L]=(0,Q.useState)(()=>(pn().voiceFooterHintSeenCount??0)<Yj),ie=L,ae=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{{if(!C||!ie||ae?.current)return;ae&&(ae.current=!0);let e=(pn().voiceFooterHintSeenCount??0)+1;rn(t=>(t.voiceFooterHintSeenCount??0)>=e?t:{...t,voiceFooterHintSeenCount:e})}},[C,ie]);let oe=Z(e=>e.notifications.current?.key===`kill-agents-confirm`),se=Zj(),ce=Hn()&&!Va()&&f!==void 0&&xi(Object.values(f.teammates),e=>e.name!==`team-lead`)>0;if(e===`bash`)return(0,$.jsx)(R,{color:`bashBorder`,children:`! for bash mode`});let le=t?.mode,ue=!sn(le),fe=_?d[_]:void 0,pe=g===`viewing-agent`&&fe?.type===`in_process_teammate`,me=pe&&fe!=null&&fe.status!==`running`,z=M>0||pe,B=(A||ue?1:0)+ +!!z+ +!!ce,ge=nM()&&b.number!==null&&b.reviewState!==null&&b.url!==null&&B<2&&(B===0||l>=80),ve=B<2,ye=!y&&z&&Object.values(d).some(e=>e.type===`in_process_teammate`)||!y&&pe,V=le&&ue&&!$e()?(0,$.jsxs)(R,{color:Xt(le),children:[_r(le),` `,kt(le).toLowerCase(),` on`,ve&&(0,$.jsxs)(R,{dimColor:!0,children:[` `,(0,$.jsx)(he,{shortcut:u,action:`cycle`,parens:!0})]})]},`mode`):null,be=[...h?[(0,$.jsx)(re,{url:h,children:(0,$.jsxs)(R,{color:`ide`,children:[p.circleDouble,` remote`]})},`remote`)]:[],...process.env.USER_TYPE===`ant`&&x?[(0,$.jsx)(TungstenPill,{selected:o},`tmux`)]:[],...Hn()&&ce?[(0,$.jsx)(Fj,{teamsSelected:a,showHint:n&&!z},`teams`)]:[],...ge?[(0,$.jsx)(Qc,{number:b.number,url:b.url,reviewState:b.reviewState},`pr-status`)]:[],...se?[(0,$.jsxs)(R,{dimColor:se.level===`normal`,color:se.level===`error`?`error`:se.level===`warning`?`warning`:void 0,children:[se.text,` · pid:`,process.pid]},`rss`)]:[]],xe=Object.values(d).some(e=>e.type===`in_process_teammate`&&e.status===`running`),Se=Object.values(d).some(e=>e.type===`local_agent`&&e.status===`running`),H=n?tM(r,F,te,ne,P,v,xe,Se,oe):[];if(me?be.push((0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:F,action:`return to team lead`})},`esc-return`)):O?be.push((0,$.jsx)(Qj,{},`proactive`)):!ye&&n&&be.push(...H),ye){let e=[...V?[V]:[],...be,...me?[]:H];return(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(U,{children:(0,$.jsx)(jj,{tasksSelected:i,isViewingTeammate:pe,teammateFooterIndex:s,isLeaderIdle:!r,onOpenDialog:c})}),e.length>0&&(0,$.jsx)(U,{children:(0,$.jsx)(_e,{children:e})})]})}let Ce=process.env.USER_TYPE===`ant`&&Hk(d).length>0,we=z&&!ye&&!qx(d,y)?(0,$.jsx)(jj,{tasksSelected:i,isViewingTeammate:pe,teammateFooterIndex:s,isLeaderIdle:!r,onOpenDialog:c}):null;be.length===0&&!we&&!V&&n&&be.push((0,$.jsx)(R,{dimColor:!0,children:`? for shortcuts`},`shortcuts-hint`));let Te=pn().copyOnSelect??!0,Ee=E&&(!Te||de());if(C&&T)be.push((0,$.jsx)(VD,{},`voice-warmup`));else if(ca()&&Ee){let e=oi()===`macos`,t=e&&(D()?.lastPressHadAlt??!1);be.push((0,$.jsx)(R,{dimColor:!0,children:(0,$.jsxs)(_e,{children:[!Te&&(0,$.jsx)(he,{shortcut:`ctrl+c`,action:`copy`}),de()&&(t?(0,$.jsx)(R,{children:`set macOptionClickForcesSelection in VS Code settings`}):(0,$.jsx)(he,{shortcut:e?`option+click`:`shift+click`,action:`native select`}))]})},`selection-copy`))}else be.length>0&&n&&C&&w===`idle`&&H.length===0&&ie&&be.push((0,$.jsxs)(R,{dimColor:!0,children:[`hold `,I,` to speak`]},`voice-hint`));return(we||Ce)&&n&&!ce&&be.push((0,$.jsx)(R,{dimColor:!0,children:i?(0,$.jsx)(he,{shortcut:`Enter`,action:`view tasks`}):(0,$.jsx)(he,{shortcut:`↓`,action:`manage`})},`manage-tasks`)),be.length===0&&!we&&!V?ca()?(0,$.jsx)(R,{children:` `}):null:(0,$.jsxs)(U,{height:1,overflow:`hidden`,children:[V&&(0,$.jsxs)(U,{flexShrink:0,children:[V,(we||be.length>0)&&(0,$.jsx)(R,{dimColor:!0,children:` · `})]}),we&&(0,$.jsxs)(U,{flexShrink:0,children:[we,be.length>0&&(0,$.jsx)(R,{dimColor:!0,children:` · `})]}),be.length>0&&(0,$.jsx)(R,{wrap:`truncate`,children:(0,$.jsx)(_e,{children:be})})]})}function tM(e,t,n,r,i,a,o,s,c){let l;if(o)switch(a){case`none`:l=`show tasks`;break;case`tasks`:l=`show teammates`;break;case`teammates`:l=`hide`;break}else l=a===`tasks`?`hide tasks`:`show tasks`;let u=i||o;return[...e?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:t,action:`interrupt`})},`esc`)]:[],...!e&&s&&!c?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:r,action:`stop agents`})},`kill-agents`)]:[],...u?[(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:n,action:l})},`toggle-tasks`)]:[]]}function nM(){return pn().prStatusFooterEnabled??!0}cp(),da(),mu(),H(),zo(),X(),bd(),vb(),Px();function rM({apiKeyStatus:e,debug:t,exitMessage:n,vimMode:r,mode:i,autoUpdaterResult:a,isAutoUpdating:o,verbose:s,onAutoUpdaterResult:c,onChangeIsUpdating:l,suggestions:u,selectedSuggestion:d,maxColumnWidth:f,toolPermissionContext:p,helpOpen:m,suppressHint:h,isLoading:g,tasksSelected:_,teamsSelected:v,bridgeSelected:y,tmuxSelected:b,teammateFooterIndex:x,ideSelection:S,mcpClients:C,isPasting:w=!1,isInputWrapped:T=!1,messages:E,isSearching:D,historyQuery:O,setHistoryQuery:A,historyFailedMatch:j,onOpenTasksDialog:M}){let N=jp(),{columns:P,rows:ee}=k(),F=(0,Q.useRef)(E);F.current=E;let te=(0,Q.useMemo)(()=>Dj(E),[E]),ne=P<80,I=ca(),re=I&&ee<24,L=Wk(),ie=Z(e=>e.coordinatorTaskIndex),ae=_&&(L===0||ie<0),oe=h||Tj(N)||D;return px((0,Q.useMemo)(()=>I&&u.length?{suggestions:u,selectedSuggestion:d,maxColumnWidth:f}:null,[I,u,d,f])),u.length&&!I?(0,$.jsx)(U,{paddingX:2,paddingY:0,children:(0,$.jsx)(yb,{suggestions:u,selectedSuggestion:d,maxColumnWidth:f})}):m?(0,$.jsx)(Ix,{dimColor:!0,fixedWidth:!0,paddingX:2}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(U,{flexDirection:ne?`column`:`row`,justifyContent:ne?`flex-start`:`space-between`,paddingX:2,gap:+!ne,children:[(0,$.jsxs)(U,{flexDirection:`column`,flexShrink:+!ne,children:[i===`prompt`&&!re&&!n.show&&!w&&Tj(N)&&(0,$.jsx)(kj,{messagesRef:F,lastAssistantMessageId:te,vimMode:r}),(0,$.jsx)(oM,{}),(0,$.jsx)($j,{exitMessage:n,vimMode:r,mode:i,toolPermissionContext:p,suppressHint:oe,isLoading:g,tasksSelected:ae,teamsSelected:v,teammateFooterIndex:x,tmuxSelected:b,isPasting:w,isSearching:D,historyQuery:O,setHistoryQuery:A,historyFailedMatch:j,onOpenTasksDialog:M})]}),(0,$.jsxs)(U,{flexShrink:1,gap:1,children:[I?null:(0,$.jsx)(XD,{apiKeyStatus:e,autoUpdaterResult:a,debug:t,isAutoUpdating:o,verbose:s,messages:E,onAutoUpdaterResult:c,onChangeIsUpdating:l,ideSelection:S,mcpClients:C,isInputWrapped:T,isNarrow:ne}),process.env.USER_TYPE===`ant`&&vy()&&(0,$.jsx)(R,{dimColor:!0,children:`undercover`}),(0,$.jsx)(aM,{bridgeSelected:y})]})]}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(Uk,{})]})}var iM=(0,Q.memo)(rM);function aM({bridgeSelected:e}){let t=Z(e=>e.replBridgeEnabled),n=Z(e=>e.replBridgeConnected),r=Z(e=>e.replBridgeSessionActive),i=Z(e=>e.replBridgeReconnecting),a=Z(e=>e.replBridgeExplicit);if(!ly()||!t)return null;let o=mm({error:void 0,connected:n,sessionActive:r,reconnecting:i});return!a&&o.label!==`Remote Control reconnecting`?null:(0,$.jsxs)(R,{color:e?`background`:o.color,inverse:e,wrap:`truncate`,children:[o.label,e&&(0,$.jsx)(R,{dimColor:!0,children:` · Enter to view`})]})}function oM(){return null}f(),H(),km(),wi(),rr();function sM(){if(!Hn())return;let e=Ei();if(e&&la.includes(e))return Df[e]}function cM({isLoading:e,themeColor:t}){let n=t,r=process.env.USER_TYPE===`ant`;return(0,$.jsxs)(R,{color:n??(r?`subtle`:void 0),dimColor:e,children:[p.pointer,`\xA0`]})}function lM({mode:e,isLoading:t,viewingAgentName:n,viewingAgentColor:r}){let i=sM(),a=r?Df[r]:void 0;return(0,$.jsx)(U,{alignItems:`flex-start`,alignSelf:`flex-start`,flexWrap:`nowrap`,justifyContent:`flex-start`,children:n?(0,$.jsx)(cM,{isLoading:t,themeColor:a}):e===`bash`?(0,$.jsx)(R,{color:`bashBorder`,dimColor:t,children:`!\xA0`}):(0,$.jsx)(cM,{isLoading:t,themeColor:Hn()?i:void 0})})}H(),X(),Ha(),Wg(),nc(),kr(),Bc();var uM=new Set;function dM(e){try{return xr(e)?.type===`idle_notification`}catch{return!1}}var fM=3;function pM(e){return`<${ni}>
72
72
  <${Xr}>+${e} more tasks completed</${Xr}>
73
73
  <${ti}>completed</${ti}>
74
74
  </${ni}>`}function mM(e){let t=e.filter(e=>typeof e.value!=`string`||!dM(e.value)),n=t.filter(e=>e.mode===`task-notification`),r=t.filter(e=>e.mode!==`task-notification`);if(n.length<=fM)return[...r,...n];let i=n.slice(0,fM-1),a={value:pM(n.length-(fM-1)),mode:`task-notification`};return[...r,...i,a]}function hM(){let e=iD(),t=Z(e=>!!e.viewingAgentTaskId),n=Z(e=>e.isBriefOnly),r=(0,Q.useMemo)(()=>{if(e.length===0)return null;let t=e.filter(za);return t.length===0?null:Ko(mM(t).map(e=>{let t=e.value;return e.mode===`bash`&&typeof t==`string`&&(t=`<bash-input>${t}</bash-input>`),Yd({content:t})}))},[e]);return t||r===null?null:(0,$.jsx)(U,{marginTop:1,flexDirection:`column`,children:r.map((e,t)=>(0,$.jsx)(Vl,{isFirst:t===0,useBriefLayout:n,children:(0,$.jsx)(yo,{message:e,lookups:Ds,addMargin:!1,tools:[],commands:[],verbose:!1,inProgressToolUseIDs:uM,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,isTranscriptMode:!1,isStatic:!0})},t))})}var gM=Q.memo(hM);u_(),f(),H();function _M({hasStash:e}){return e?(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsxs)(R,{dimColor:!0,children:[p.pointerSmall,` Stashed (auto-restores after submit)`]})}):null}qd();var vM=1e4,yM=1e3;function bM(e,t){if(e.length<=vM)return{truncatedText:e,placeholderContent:``};let n=Math.floor(yM/2),r=Math.floor(yM/2),i=e.slice(0,n),a=e.slice(-r),o=e.slice(n,-r);return{truncatedText:i+xM(t,$g(o))+a,placeholderContent:o}}function xM(e,t){return`[...Truncated text #${e} +${t} lines...]`}function SM(e,t){let n=Object.keys(t).map(Number),r=n.length>0?Math.max(...n)+1:1,{truncatedText:i,placeholderContent:a}=bM(e,r);return a?{newInput:i,newPastedContents:{...t,[r]:{id:r,type:`text`,content:a}}}:{newInput:e,newPastedContents:t}}function CM({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}=SM(e,t);n(s),r(s.length),i(c),o(!0)},[e,a,t,n,i,r]),(0,Q.useEffect)(()=>{e===``&&o(!1)},[e])}X(),Et(),Wg();var wM=(uv(),e($_)),TM=3,EM=20;function DM({input:e,submitCount:t,viewingAgentName:n}){let r=iD(),i=Z(e=>e.promptSuggestionEnabled);return(0,Q.useMemo)(()=>{if(e===``){if(n)return`Message @${n.length>EM?n.slice(0,EM-3)+`...`:n}…`;if(r.some(Ll)&&(pn().queuedCommandUpHintCount||0)<TM)return`Press up to edit queued messages`;if(t<1&&i&&!wM?.isProactiveActive())return uS()}},[e,r,t,i,n])}var OM=5e3,kM=!1;function AM(e){let[t,n]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{if(kM||!e)return;kM=!0,n(!0);let t=setTimeout(n,OM,!1);return()=>{clearTimeout(t),n(!1)}},[e]),t}wi();function jM(e){if(!bi())return e.standaloneAgentContext?.name}X(),km(),hy(),Bl(),iy(),wi();function MM(){let e=Z(e=>e.teamContext),t=Z(e=>e.standaloneAgentContext),n=Z(e=>e.agent);Z(e=>e.viewingAgentTaskId);let r=a_(),[i,a]=Q.useState(null);Q.useEffect(()=>{my().then(a)},[]);let o=r.getState();if(Ci()&&!ki()){let t=Ti();if(t&&bi())return{text:`@${t}`,bgColor:NM(e?.selfAgentColor??Ei())}}if(e?.teamName&&e.teammates&&Object.keys(e.teammates).length>0){let e=wo(o),t=NM(e?.identity.color),n=Va(),r=Tg(),a=r?.isNative??!1,s=r?.backend.type;if(i===!1&&!n&&!a)return{text:s===`windows-terminal`?`View teammates in the Windows Terminal tabs spawned for each teammate`:`View teammates: \`tmux -L ${oy()} a\``,bgColor:t};if((i===!0||n||a)&&e)return{text:`@${e.identity.agentName}`,bgColor:t}}let s=nu(o);if(s.type===`named_agent`){let e=s.task,t;for(let[n,r]of o.agentNameRegistry)if(r===e.id){t=n;break}return{text:t?`@${t}`:e.description,bgColor:Zh(e.agentType)??`cyan_FOR_SUBAGENTS_ONLY`}}let c=jM(o),l=t?.color;return c||l?{text:c??``,bgColor:NM(l)}:n?{text:n,bgColor:NM(o.agentDefinitions.activeAgents.find(e=>e.agentType===n)?.color,`promptBorder`)}:null}function NM(e,t=`cyan_FOR_SUBAGENTS_ONLY`){return e&&la.includes(e)?Df[e]:t}F(),Yc(),J(),X(),jr(),Wg(),Uu(),zo(),yx(),qd(),kb(),mu(),H(),xp(),Bm(),qv(),Hp(),lo(),Jx(),Co(),oc(),km(),rr(),Ai(),bp(),Et(),q(),Kr(),Cr(),bd(),Md(),ii(),on(),si(),Eb(),Bl(),Mv(),wi(),yi(),cu(),Kh(),Fa(),$x(),Ic(),Fx();var PM=5,FM=3;function IM({debug:e,ideSelection:t,toolPermissionContext:n,setToolPermissionContext:r,apiKeyStatus:i,commands:a,agents:o,isLoading:s,verbose:c,messages:l,onAutoUpdaterResult:u,autoUpdaterResult:d,input:f,onInputChange:p,mode:m,onModeChange:h,stashedPrompt:g,setStashedPrompt:_,submitCount:v,onShowMessageSelector:y,onMessageActionsEnter:b,mcpClients:x,pastedContents:S,setPastedContents:C,vimMode:w,setVimMode:T,showBashesDialog:E,setShowBashesDialog:O,onExit:A,getToolUseContext:j,onSubmit:M,onAgentSubmit:N,isSearchingHistory:P,setIsSearchingHistory:ee,onDismissSideQuestion:F,isSideQuestionVisible:te,helpOpen:I,setHelpOpen:re,hasSuppressedDialogs:L,isLocalJSXCommandActive:ie=!1,insertTextRef:ae,voiceInterimRange:se}){let ce=Ob(),le=Cs()||ie,[ue,de]=(0,Q.useState)(!1),[fe,me]=(0,Q.useState)({show:!1}),[z,B]=(0,Q.useState)(f.length),he=Q.useRef(f);f!==he.current&&(B(f.length),he.current=f);let ge=Q.useCallback(e=>{he.current=e,p(e)},[p]);ae&&(ae.current={cursorOffset:z,insert:e=>{let t=z===f.length&&f.length>0&&!/\s$/.test(f)?` `+e:e,n=f.slice(0,z)+t+f.slice(z);he.current=n,p(n),B(z+t.length)},setInputWithCursor:(e,t)=>{he.current=e,p(e),B(t)}});let _e=a_(),ve=Sa(),ye=Z(e=>e.tasks),be=Z(e=>e.replBridgeConnected),xe=Z(e=>e.replBridgeExplicit),Se=Z(e=>e.replBridgeReconnecting),H=be&&(xe||Se),Ce=Z(e=>process.env.USER_TYPE===`ant`&&e.tungstenActiveSession!==void 0),Te=process.env.USER_TYPE===`ant`&&Ce,Ee=Z(e=>!1),De=Z(e=>e.teamContext),ke=iD(),Ae=Z(e=>e.promptSuggestion),je=Z(e=>e.speculation),Me=Z(e=>e.speculationSessionTimeSavedMs),Ne=Z(e=>e.viewingAgentTaskId),Pe=Z(e=>e.viewSelectionMode),Fe=Z(e=>e.expandedView)===`teammates`,{companion:Ie,companionMuted:Le}=pn(),Re=!!Ie&&!Le,ze=Z(e=>e.isBriefOnly)&&!Ne,Be=Z(e=>e.mainLoopModel),Ve=Z(e=>e.mainLoopModelForSession),He=Z(e=>e.thinkingEnabled),Ue=Z(e=>dr()?e.fastMode:!1),We=Z(e=>e.effortValue),Ge=wo(_e.getState()),Ke=Ge?.identity.agentName,qe=Ge?.identity.color&&la.includes(Ge.identity.color)?Ge.identity.color:void 0,Je=(0,Q.useMemo)(()=>_c(ye),[ye]),Ye=Je.length>0||Ge!==void 0,Xe=(0,Q.useMemo)(()=>Ge?{...n,mode:Ge.permissionMode}:n,[Ge,n]),{historyQuery:Ze,setHistoryQuery:Qe,historyMatch:$e,historyFailedMatch:et}=aO(e=>{C(e.pastedContents),Bn(e.display)},f,ge,B,z,h,m,P,ee,C,S),tt=(0,Q.useRef)(-1);tt.current===-1&&(tt.current=LM(l));let nt=(0,Q.useRef)(!1),[rt,it]=(0,Q.useState)(!1),[at,ot]=(0,Q.useState)(!1),[st,ct]=(0,Q.useState)(0),lt=Z(e=>e.coordinatorTaskIndex),ut=Z(e=>e.selectedBgAgentIndex),dt=(0,Q.useCallback)(e=>ve(t=>{let n=typeof e==`function`?e(t.selectedBgAgentIndex):e;return n===t.selectedBgAgentIndex?t:{...t,selectedBgAgentIndex:n}}),[ve]),ft=(0,Q.useCallback)(e=>ve(t=>{let n=typeof e==`function`?e(t.coordinatorTaskIndex):e;return n===t.coordinatorTaskIndex?t:{...t,coordinatorTaskIndex:n}}),[ve]),pt=Wk(),mt=(0,Q.useMemo)(()=>Object.values(ye).some(e=>Nl(e)&&!(process.env.USER_TYPE===`ant`&&Gc(e))),[ye])?-1:0;(0,Q.useEffect)(()=>{lt>=pt?ft(Math.max(mt,pt-1)):lt<mt&&ft(mt)},[pt,lt,mt]);let[ht,gt]=(0,Q.useState)(!1),[_t,vt]=(0,Q.useState)(!1),[yt,bt]=(0,Q.useState)(!1),[xt,St]=(0,Q.useState)(!1),[Ct,wt]=(0,Q.useState)(!1),[Tt,Et]=(0,Q.useState)(!1),[Dt,Ot]=(0,Q.useState)(!1),[kt,At]=(0,Q.useState)(!1),jt=(0,Q.useMemo)(()=>{let e=f.indexOf(`
@@ -86,12 +86,12 @@ Server disconnected.
86
86
 
87
87
  `),S=()=>{o(e=>({...e,inbox:{messages:[...e.inbox.messages,...b.map(e=>({id:AS(),from:e.from,text:e.text,timestamp:e.timestamp,status:`pending`,color:e.color,summary:e.summary}))]}}))};!t&&!n?(K(`[InboxPoller] Session idle, submitting immediately`),i(x)||(K(`[InboxPoller] Submission rejected, queuing for later delivery`),S())):(K(`[InboxPoller] Session busy, queuing for later delivery`),S()),u()},[e,t,n,i,o,c,a]);(0,Q.useEffect)(()=>{if(!e||t||n)return;let r=a.getState();if(!SP(r))return;let s=r.inbox.messages.filter(e=>e.status===`pending`),c=r.inbox.messages.filter(e=>e.status===`processed`);if(c.length>0){K(`[InboxPoller] Cleaning up ${c.length} processed message(s) that were delivered mid-turn`);let e=new Set(c.map(e=>e.id));o(t=>({...t,inbox:{messages:t.inbox.messages.filter(t=>!e.has(t.id))}}))}if(s.length!==0)if(K(`[InboxPoller] Session idle, delivering ${s.length} pending message(s)`),i(s.map(e=>{let t=e.color?` color="${e.color}"`:``,n=e.summary?` summary="${e.summary}"`:``;return`<teammate-message teammate_id="${e.from}"${t}${n}>\n${e.text}\n</teammate-message>`}).join(`
88
88
 
89
- `))){let e=new Set(s.map(e=>e.id));o(t=>({...t,inbox:{messages:t.inbox.messages.filter(t=>!e.has(t.id))}}))}else K(`[InboxPoller] Submission rejected, keeping messages queued`)},[e,t,n,i,o,s,a]),se(()=>void l(),e&&SP(a.getState())?CP:null);let u=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{e&&(u.current||SP(a.getState())&&(u.current=!0,l()))},[e,l,a])}q(),kv();var TP=1e3;function EP({taskListId:e,isLoading:t,onSubmitTask:n}){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(null),a=(0,Q.useRef)(t);a.current=t;let o=(0,Q.useRef)(n);o.current=n;let s=e!==void 0,c=e??`tasklist`,l=(0,Q.useRef)(async()=>{});l.current=async()=>{if(!s||a.current)return;let t=await Tv(e);if(r.current!==null){let e=t.find(e=>e.id===r.current);if(!e||e.status===`completed`)K(`[TaskListWatcher] Task #${r.current} is marked complete, ready for next task`),r.current=null;else return}let n=DP(t);if(!n)return;K(`[TaskListWatcher] Found available task #${n.id}: ${n.subject}`);let i=await Cv(e,n.id,c);if(!i.success){K(`[TaskListWatcher] Failed to claim task #${n.id}: ${i.reason}`);return}r.current=n.id;let l=OP(n);K(`[TaskListWatcher] Submitting task #${n.id} as prompt`),o.current(l)||(K(`[TaskListWatcher] Failed to submit task #${n.id}, releasing claim`),await wv(e,n.id,{owner:void 0}),r.current=null)};let u=(0,Q.useRef)(()=>{});(0,Q.useEffect)(()=>{if(!s)return;Sv(e);let t=Ov(e),n=null,r=()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(e=>void e.current(),TP,l)};u.current=r;try{n=OS(t,r),n.unref(),K(`[TaskListWatcher] Watching for tasks in ${t}`)}catch(e){K(`[TaskListWatcher] Failed to watch ${t}: ${e}`)}return r(),()=>{u.current=()=>{},n&&n.close(),i.current&&clearTimeout(i.current)}},[s,e]),(0,Q.useEffect)(()=>{s&&(t||u.current())},[s,t])}function DP(e){let t=new Set(e.filter(e=>e.status!==`completed`).map(e=>e.id));return e.find(e=>e.status!==`pending`||e.owner?!1:e.blockedBy.every(e=>!t.has(e)))}function OP(e){let t=`Complete all open tasks. Start with task #${e.id}: \n\n ${e.subject}`;return e.description&&(t+=`\n\n${e.description}`),t}Et(),s(),Dp();function kP({autoConnectIdeFlag:e,ideToInstallExtension:t,setDynamicMcpConfig:n,setShowIdeOnboarding:r,setIDEInstallationState:i}){(0,Q.useEffect)(()=>{function o(r){r&&(pn().autoConnectIde||e||lm()||process.env.CLAUDE_CODE_SSE_PORT||t||c(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!a(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)&&n(e=>e?.ide?e:{...e,ide:{type:r.url.startsWith(`ws:`)?`ws-ide`:`sse-ide`,url:r.url,ideName:r.name,authToken:r.authToken,ideRunningInWindows:r.ideRunningInWindows,scope:`dynamic`}})}Vd(o,t,()=>r(!0),e=>i(e))},[e,t,n,r,i])}ux(),ey(),H(),qv(),Dm(),X(),Et(),Kr(),s();function AP({onBackgroundSession:e,isLoading:t}){let n=Sa(),r=a_(),[i,a]=(0,Q.useState)(!1),o=ne(a,e,()=>{}),s=(0,Q.useCallback)(()=>{c(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS)||(Wl(r.getState())?(Jg(()=>r.getState(),n),pn().hasUsedBackgroundTask||rn(e=>e.hasUsedBackgroundTask?e:{...e,hasUsedBackgroundTask:!0})):c(`false`)&&t&&o())},[n,r,t,o]),l=Z(Wl),u=c(`false`);we(`task:background`,s,{context:`Task`,isActive:l||u&&t});let d=Ch(`task:background`,`Task`,`ctrl+b`),f=Jr.terminal===`tmux`&&d===`ctrl+b`?`ctrl+b ctrl+b`:d;return!t||!i?null:(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:f,action:`background`})})})}X();function jP({setMessages:e,setIsLoading:t,resetLoadingState:n,setAbortController:r,onBackgroundQuery:i}){let a=Z(e=>e.foregroundedTaskId),o=Z(e=>e.foregroundedTaskId?e.tasks[e.foregroundedTaskId]:void 0),s=Sa(),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||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}}_p(),H(),Qn(),Et(),on(),$n(),rl(),nx(),jb();var MP=3e4;function NP({model:e,onDone:t}){let n=Mm(),r=(0,Q.useRef)(t);(0,Q.useEffect)(()=>{r.current=t});let i=(0,Q.useCallback)(()=>{r.current(`dismiss`)},[]);(0,Q.useEffect)(()=>{LP()},[]),(0,Q.useEffect)(()=>{let e=setTimeout(i,MP);return()=>clearTimeout(e)},[i]);let a=Iu(e),o=a?Yu(a):`high`,s=(0,Q.useCallback)(e=>{qn(`userSettings`,{effortLevel:gf(e===o?void 0:e)}),r.current(e)},[o]),c=[{label:(0,$.jsx)(FP,{level:`medium`,text:`Medium (recommended)`}),value:`medium`},{label:(0,$.jsx)(FP,{level:`high`,text:`High`}),value:`high`},{label:(0,$.jsx)(FP,{level:`low`,text:`Low`}),value:`low`}];return(0,$.jsx)(Nb,{title:n.dialogTitle,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,flexDirection:`column`,children:(0,$.jsx)(R,{children:n.dialogDescription})}),(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[(0,$.jsx)(PP,{level:`low`}),` low `,`·`,` `,(0,$.jsx)(PP,{level:`medium`}),` medium `,`·`,` `,(0,$.jsx)(PP,{level:`high`}),` high`]})}),(0,$.jsx)(jc,{options:c,onChange:s,onCancel:i})]})})}function PP({level:e}){return(0,$.jsx)(R,{color:`suggestion`,children:Zb(e)})}function FP({level:e,text:t}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(PP,{level:e}),` `,t]})}function IP(e){if(!Ot(e).toLowerCase().includes(`opus-4-6`))return!1;let t=pn();return t.effortCalloutV2Dismissed?!1:t.numStartups<=1?(LP(),!1):gr()?t.effortCalloutDismissed?(LP(),!1):Mm().enabled:Bn()||fr()?Mm().enabled:(LP(),!1)}function LP(){rn(e=>e.effortCalloutV2Dismissed?e:{...e,effortCalloutV2Dismissed:!0})}Iy(),Pb(),fn();function RP(e,t){let[n,r]=Q.useState(t);return Q.useEffect(()=>{Vn(e,t).then(r)},[e,t]),n}async function zP(e,t,n){try{K(`Collecting transcript for sharing`,{level:`info`});let r=Vs(e),i=await vh(Ym(e)),a;try{let e=eu(),{size:t}=await MS(e);t<=52428800?a=await jS(e,`utf-8`):K(`Skipping raw transcript read: file too large (${t} bytes)`,{level:`warn`})}catch{}let o=jx(vr({trigger:t,version:`2.6.9`,platform:process.platform,transcript:r,subagentTranscripts:Object.keys(i).length>0?i:void 0,rawTranscriptJsonl:a}));await cn();let s=An();if(s.error)return{success:!1};let c={"Content-Type":`application/json`,"User-Agent":hn(),...s.headers},l=await m.post(`https://api.anthropic.com/api/claude_code_shared_session_transcripts`,{content:o,appearance_id:n},{headers:c,timeout:3e4});if(l.status===200||l.status===201){let e=l.data;return K(`Transcript shared successfully`,{level:`info`}),{success:!0,transcriptId:e?.transcript_id}}return{success:!1}}catch(e){return K(br(e),{level:`error`}),{success:!1}}}var BP=t((()=>{h(),Qn(),q(),Cr(),nc(),_a(),kr()}));Mn(),BP();function VP({hideThanksAfterMs:e,onOpen:t,onSelect:n,shouldShowTranscriptPrompt:r,onTranscriptPromptShown:i,onTranscriptSelect:a}){let[o,s]=(0,Q.useState)(`closed`),[c,l]=(0,Q.useState)(null),u=(0,Q.useRef)(AS()),d=(0,Q.useRef)(null),f=(0,Q.useCallback)(()=>{s(`thanks`),setTimeout((e,t)=>{e(`closed`),t(null)},e,s,l)},[e]),p=(0,Q.useCallback)(()=>{s(`submitted`),setTimeout(s,e,`closed`)},[e]);return{state:o,lastResponse:c,open:(0,Q.useCallback)(()=>{o===`closed`&&(s(`open`),u.current=AS(),t(u.current))},[o,t]),handleSelect:(0,Q.useCallback)(e=>{if(l(e),d.current=e,n(u.current,e),e===`dismissed`)s(`closed`),l(null);else if(r?.(e))return s(`transcript_prompt`),i?.(u.current,e),!0;else f();return!1},[f,n,r,i]),handleTranscriptSelect:(0,Q.useCallback)(e=>{switch(e){case`yes`:s(`submitting`),(async()=>{try{await a?.(u.current,e,d.current)?p():f()}catch{f()}})();break;case`no`:case`dont_ask_again`:a?.(u.current,e,d.current),f();break}},[f,p,a])}}J(),Et(),s(),nc(),on(),$n();var HP={minTimeBeforeFeedbackMs:6e5,minTimeBetweenFeedbackMs:36e5,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3e3,onForModels:[`*`],probability:.005},UP={probability:0};function WP(e,t,n,r=`session`,i=!1){let a=(0,Q.useRef)(`unknown`);a.current=oo(e)?.message?.id||`unknown`;let[o,s]=(0,Q.useState)(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),l=RP(`tengu_feedback_survey_config`,HP),u=RP(`tengu_bad_survey_transcript_ask_config`,UP),d=RP(`tengu_good_survey_transcript_ask_config`,UP),f=Wt().feedbackSurveyRate,p=(0,Q.useRef)(Date.now()),m=(0,Q.useRef)(n),h=(0,Q.useRef)(n);h.current=n;let g=(0,Q.useRef)(e);g.current=e;let _=(0,Q.useRef)(!1),v=(0,Q.useRef)(null),y=(0,Q.useCallback)((e,t)=>{s(n=>n.timeLastShown===e&&n.submitCountAtLastAppearance===t?n:{timeLastShown:e,submitCountAtLastAppearance:t}),pn().feedbackSurveyState?.lastShownTime!==e&&rn(t=>({...t,feedbackSurveyState:{lastShownTime:e}}))},[]),b=(0,Q.useCallback)(e=>{y(Date.now(),h.current),Y(`tengu_feedback_survey_event`,{event_type:`appeared`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:r})},[y,r]),x=(0,Q.useCallback)((e,t)=>{y(Date.now(),h.current),Y(`tengu_feedback_survey_event`,{event_type:`responded`,appearance_id:e,response:t,last_assistant_message_id:a.current,survey_type:r}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:r})},[y,r]),S=(0,Q.useCallback)(e=>{if(e!==`bad`&&e!==`good`||pn().transcriptShareDismissed||!Ca(`allow_product_feedback`))return!1;let t=e===`bad`?u.probability:d.probability;return Math.random()<=t},[u.probability,d.probability]),C=(0,Q.useCallback)((e,t)=>{let n=t===`good`?`good_feedback_survey`:`bad_feedback_survey`;Y(`tengu_feedback_survey_event`,{event_type:`transcript_prompt_appeared`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r,trigger:n}),dv(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:r})},[r]),w=(0,Q.useCallback)(async(e,t,n)=>{let i=n===`good`?`good_feedback_survey`:`bad_feedback_survey`;if(Y(`tengu_feedback_survey_event`,{event_type:`transcript_share_${t}`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r,trigger:i}),t===`dont_ask_again`&&rn(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await zP(g.current,i,e);return Y(`tengu_feedback_survey_event`,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:i}),t.success}return!1},[r]),{state:T,lastResponse:E,open:D,handleSelect:O,handleTranscriptSelect:k}=VP({hideThanksAfterMs:l.hideThanksAfterMs,onOpen:b,onSelect:x,shouldShowTranscriptPrompt:S,onTranscriptPromptShown:C,onTranscriptSelect:w}),A=Nt(),j=(0,Q.useMemo)(()=>l.onForModels.length===0?!1:l.onForModels.includes(`*`)?!0:l.onForModels.includes(A),[l.onForModels,A]),M=(0,Q.useMemo)(()=>{if(T!==`closed`||t||i)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!o.timeLastShown)return!0;if(!j||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||or()||!Ca(`allow_product_feedback`))return!1;if(o.timeLastShown){if(Date.now()-o.timeLastShown<l.minTimeBetweenFeedbackMs||o.submitCountAtLastAppearance!==null&&n<o.submitCountAtLastAppearance+l.minUserTurnsBetweenFeedback)return!1}else if(Date.now()-p.current<l.minTimeBeforeFeedbackMs||n<m.current+l.minUserTurnsBeforeFeedback)return!1;if(v.current!==n&&(v.current=n,_.current=Math.random()<=(f??l.probability)),!_.current)return!1;let e=pn().feedbackSurveyState;return!(e?.lastShownTime&&Date.now()-e.lastShownTime<l.minTimeBetweenGlobalFeedbackMs)},[T,t,i,j,o.timeLastShown,o.submitCountAtLastAppearance,n,l.minTimeBetweenFeedbackMs,l.minTimeBetweenGlobalFeedbackMs,l.minUserTurnsBetweenFeedback,l.minTimeBeforeFeedbackMs,l.minUserTurnsBeforeFeedback,l.probability,f]);return(0,Q.useEffect)(()=>{M&&D()},[M,D]),{state:T,lastResponse:E,handleSelect:O,handleTranscriptSelect:k}}Mn(),fn(),J(),yl(),Et(),s(),nc(),mv(),BP();var GP=3e3,KP=`tengu_dunwich_bell`,qP=`tengu_memory_survey_event`,JP=.2,YP=`memory_survey`,XP=/\bmemor(?:y|ies)\b/i;function ZP(e){for(let t of e){if(t.type!==`assistant`)continue;let e=t.message.content;if(Array.isArray(e))for(let t of e){if(t.type!==`tool_use`||t.name!==`Read`)continue;let e=t.input;if(typeof e.file_path==`string`&&Na(e.file_path))return!0}}return!1}function QP(e,t,n=!1,{enabled:r=!0}={}){let i=(0,Q.useRef)(new Set),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(e);o.current=e;let{state:s,lastResponse:l,open:u,handleSelect:d,handleTranscriptSelect:f}=VP({hideThanksAfterMs:GP,onOpen:(0,Q.useCallback)(e=>{Y(qP,{event_type:`appeared`,appearance_id:e}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`memory`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{Y(qP,{event_type:`responded`,appearance_id:e,response:t}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`memory`})},[]),shouldShowTranscriptPrompt:(0,Q.useCallback)(e=>!(process.env.USER_TYPE!==`ant`||e!==`bad`&&e!==`good`||pn().transcriptShareDismissed||!Ca(`allow_product_feedback`)),[]),onTranscriptPromptShown:(0,Q.useCallback)(e=>{Y(qP,{event_type:`transcript_prompt_appeared`,appearance_id:e,trigger:YP}),dv(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:`memory`})},[]),onTranscriptSelect:(0,Q.useCallback)(async(e,t)=>{if(Y(qP,{event_type:`transcript_share_${t}`,appearance_id:e,trigger:YP}),t===`dont_ask_again`&&rn(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await zP(o.current,YP,e);return Y(qP,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:YP}),t.success}return!1},[])}),p=(0,Q.useMemo)(()=>oo(e),[e]);return(0,Q.useEffect)(()=>{if(!r)return;if(e.length===0){a.current=!1,i.current.clear();return}if(s!==`closed`||t||n||!wn(KP,!1)||!ir()||or()||!Ca(`allow_product_feedback`)||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||!p||i.current.has(p.uuid))return;let o=Ga(Array.isArray(p.message.content)?p.message.content:[],` `);XP.test(o)&&(i.current.add(p.uuid),a.current||(a.current=ZP(e)),a.current&&Math.random()<JP&&u())},[r,s,t,n,p,e,u]),{state:s,lastResponse:l,handleSelect:d,handleTranscriptSelect:f}}Mn(),fn(),J(),s(),nc(),mv();var $P=3e3,eF=`tengu_post_compact_survey`,tF=.2;function nF(e,t){let n=e.findIndex(e=>e.uuid===t);if(n===-1)return!1;for(let t=n+1;t<e.length;t++){let n=e[t];if(n&&(n.type===`user`||n.type===`assistant`))return!0}return!1}function rF(e,t,n=!1,{enabled:r=!0}={}){let[i,a]=(0,Q.useState)(null),o=(0,Q.useRef)(new Set),s=(0,Q.useRef)(null),{state:l,lastResponse:u,open:d,handleSelect:f}=VP({hideThanksAfterMs:$P,onOpen:(0,Q.useCallback)(e=>{Y(`tengu_post_compact_survey_event`,{event_type:`appeared`,appearance_id:e,session_memory_compaction_enabled:fg()}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`post_compact`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{Y(`tengu_post_compact_survey_event`,{event_type:`responded`,appearance_id:e,response:t,session_memory_compaction_enabled:fg()}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`post_compact`})},[])});(0,Q.useEffect)(()=>{r&&a(Nn(eF))},[r]);let p=(0,Q.useMemo)(()=>new Set(e.filter(e=>Ol(e)).map(e=>e.uuid)),[e]);return(0,Q.useEffect)(()=>{if(!r||l!==`closed`||t||n||i!==!0||or()||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(s.current!==null&&nF(e,s.current)){s.current=null,Math.random()<tF&&d();return}let a=Array.from(p).filter(e=>!o.current.has(e));a.length>0&&(o.current=new Set(p),s.current=a[a.length-1])},[r,p,l,t,n,i,e,d]),{state:l,lastResponse:u,handleSelect:f}}Lt(),H();var iF=[`1`,`2`,`3`],aF={1:`yes`,2:`no`,3:`dont_ask_again`},oF=e=>iF.includes(e);function sF({onSelect:e,inputValue:t,setInputValue:n}){return gN({inputValue:t,setInputValue:n,isValidDigit:oF,onDigit:t=>e(aF[t])}),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsxs)(U,{children:[(0,$.jsxs)(R,{color:`ansi:cyan`,children:[zt,` `]}),(0,$.jsx)(R,{bold:!0,children:`Can Anthropic look at your session transcript to help us improve Claude Code?`})]}),(0,$.jsx)(U,{marginLeft:2,children:(0,$.jsx)(R,{dimColor:!0,children:`Learn more: https://code.claude.com/docs/en/data-usage#session-quality-surveys`})}),(0,$.jsxs)(U,{marginLeft:2,children:[(0,$.jsx)(U,{width:10,children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`1`}),`: Yes`]})}),(0,$.jsx)(U,{width:10,children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`2`}),`: No`]})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`3`}),`: Don't ask again`]})})]})]})}J(),H();function cF({state:e,lastResponse:t,handleSelect:n,handleTranscriptSelect:r,inputValue:i,setInputValue:a,onRequestFeedback:o,message:s}){return e===`closed`?null:e===`thanks`?(0,$.jsx)(uF,{lastResponse:t,inputValue:i,setInputValue:a,onRequestFeedback:o}):e===`submitted`?(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{color:`success`,children:[`✓`,` Thanks for sharing your transcript!`]})}):e===`submitting`?(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`Sharing transcript`,`…`]})}):e===`transcript_prompt`?!r||i&&![`1`,`2`,`3`].includes(i)?null:(0,$.jsx)(sF,{onSelect:r,inputValue:i,setInputValue:a}):i&&!yN(i)?null:(0,$.jsx)(xN,{onSelect:n,inputValue:i,setInputValue:a,message:s})}var lF=e=>e===`1`;function uF({lastResponse:e,inputValue:t,setInputValue:n,onRequestFeedback:r}){let i=r&&e===`good`;gN({inputValue:t,setInputValue:n,isValidDigit:lF,enabled:!!i,once:!0,onDigit:()=>{Y(`tengu_feedback_survey_event`,{event_type:`followup_accepted`,response:e}),r?.()}});let a=process.env.USER_TYPE===`ant`?`/issue`:`/feedback`;return(0,$.jsxs)(U,{marginTop:1,flexDirection:`column`,children:[(0,$.jsx)(R,{color:`success`,children:`Thanks for the feedback!`}),i?(0,$.jsxs)(R,{dimColor:!0,children:[`(Optional) Press [`,(0,$.jsx)(R,{color:`ansi:cyan`,children:`1`}),`] to tell us what went well `,` · `,a]}):e===`bad`?(0,$.jsx)(R,{dimColor:!0,children:`Use /issue to report model behavior issues.`}):(0,$.jsxs)(R,{dimColor:!0,children:[`Use `,a,` to share detailed feedback anytime.`]})]})}zl(),bl(),ot(),Yc(),ii();function dF(e){let{addNotification:t}=Do(),n=(0,Q.useRef)(!1),r=(0,Q.useRef)(e);r.current=e,(0,Q.useEffect)(()=>{$e()||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(ai))},[t])}function fF(){dF(async()=>(await o_()).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`}}))}Nr(),M_(),q(),nc(),on(),Xs(),Rx(),rg(),ot();var pF=30,mF=`The user stepped away and is coming back. Write exactly 1-3 short sentences. Start by stating the high-level task — what they are building or debugging, not implementation details. Next: the concrete next step. Skip status reports and commit recaps.`,hF=`用户离开后回来了。用中文写 1-3 句话。先说明用户在做什么(高层目标,不是实现细节),然后说明下一步具体操作。不要写状态报告或提交总结。`;function gF(e){return`${e?`Session memory (broader context):\n${e}\n\n`:``}${Lx()===`zh`?hF:mF}`}async function _F(e,t){if(e.length===0)return null;let n=Yt(),r=Qo()?Ys({sessionId:Fe(),model:n,provider:Zt(),name:`away-summary`}):null;try{let i=await Ru(),a=e.slice(-pF);a.push(Yd({content:gF(i)}));let o=await kh({messages:a,systemPrompt:rv([]),thinkingConfig:{type:`disabled`},tools:[],signal:t,options:{getToolPermissionContext:async()=>b_(),model:n,toolChoice:void 0,isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,agents:[],querySource:`away_summary`,mcpTools:[],skipCacheWrite:!0,langfuseTrace:r}});return o.isApiErrorMessage?(K(`[awaySummary] API error: ${$l(o)}`),vl(r,void 0,`error`),null):(vl(r),$l(o))}catch(e){return e instanceof l||t.aborted?null:(K(`[awaySummary] generation failed: ${e}`),vl(r,void 0,`error`),null)}}H(),fn(),nc();var vF=5*6e4;function yF(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`user`&&!n.isMeta&&!n.isCompactSummary)return!1;if(n.type===`system`&&n.subtype===`away_summary`)return!0}return!1}function bF(e,t,n){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(null),a=(0,Q.useRef)(e),o=(0,Q.useRef)(n),s=(0,Q.useRef)(!1),c=(0,Q.useRef)(null);a.current=e,o.current=n;let l=wn(`tengu_sedge_lantern`,!1);(0,Q.useEffect)(()=>{if(!l)return;function e(){r.current!==null&&(clearTimeout(r.current),r.current=null)}function n(){i.current?.abort(),i.current=null}async function u(){if(s.current=!1,yF(a.current))return;n();let e=new AbortController;i.current=e;let r=await _F(a.current,e.signal);e.signal.aborted||r===null||t(e=>[...e,hg(r)])}function d(){if(r.current=null,o.current){s.current=!0;return}u()}function f(){let t=ue();t===`blurred`||t===`unknown`?(e(),r.current=setTimeout(d,vF)):t===`focused`&&(e(),n(),s.current=!1)}let p=P(f);return f(),c.current=u,()=>{p(),e(),n(),c.current=null}},[l,t]),(0,Q.useEffect)(()=>{if(n||!s.current)return;let e=ue();e!==`blurred`&&e!==`unknown`||c.current?.()},[n]),(0,Q.useEffect)(()=>{ue()===`unknown`&&l&&(n?(r.current!==null&&(clearTimeout(r.current),r.current=null),i.current?.abort(),i.current=null,s.current=!1):(r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>{if(r.current=null,o.current){s.current=!0;return}c.current?.()},vF)))},[n,l])}H(),Qn(),Hb(),s();function xF(){if(process.argv.includes(`--chrome`))return!0;if(process.argv.includes(`--no-chrome`))return!1}function SF(){dF(async()=>{let e=xF();return Bb(e)?process.env.USER_TYPE!==`ant`&&!Pn()?{key:`chrome-requires-subscription`,jsx:(0,$.jsx)(R,{color:`error`,children:`Claude in Chrome requires a claude.ai subscription`}),priority:`immediate`,timeoutMs:5e3}:!await Vb()&&!i()?{key:`chrome-extension-not-detected`,jsx:(0,$.jsx)(R,{color:`warning`,children:`Chrome extension not detected · https://claude.ai/chrome to install`}),priority:`immediate`,timeoutMs:3e3}:e===void 0?{key:`claude-in-chrome-default-enabled`,text:`Claude in Chrome enabled · /chrome`,priority:`low`}:null:null})}fn(),J(),Et(),q(),s(),Cr(),ii();function CF(){return c(process.env.CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var wF={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600*1e3,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:10080*60*1e3};function TF(e){let t=wF.INITIAL_DELAY_MS*wF.BACKOFF_MULTIPLIER**e;return Math.min(t,wF.MAX_DELAY_MS)}function EF(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>=wF.MAX_ATTEMPTS||t===`policy_blocked`||r&&i<r?!1:t===`unknown`||t===`git_unavailable`||t===`gcs_unavailable`||t===void 0}async function DF(){let e=pn();if(!EF(e)){let t=e.officialMarketplaceAutoInstallFailReason??`already_attempted`;return K(`Official marketplace auto-install skipped: ${t}`),{installed:!1,skipped:!0,reason:t}}try{if(CF())return K(`Official marketplace auto-install disabled via env var, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};if((await ss())[`claude-plugins-official`])return K(`Official marketplace '${kp}' already installed, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:`already_installed`};if(!Um(sc))return K(`Official marketplace blocked by enterprise policy, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};let t=h_(),n=CS(t,kp);if(await _d(n,t)!==null){let e=await ss();return e[kp]={source:sc,installLocation:n,lastUpdated:new Date().toISOString()},await Ms(e),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),Y(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!wn(`tengu_plugin_official_mkt_git_fallback`,!0)){K(`Official marketplace GCS failed; git fallback disabled by flag — skipping install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+TF(t);return rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`gcs_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,gcs_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`gcs_unavailable`}}if(!await Kl()){K(`Git not available, skipping official marketplace auto-install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+TF(t),i=!1;try{rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`git_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r}))}catch(e){i=!0,ai(yr(e)),K(`Failed to save marketplace auto-install git_unavailable state: ${e}`,{level:`error`})}return Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`git_unavailable`,configSaveFailed:i}}K(`Attempting to auto-install official marketplace`),await Ro(sc),K(`Successfully auto-installed official marketplace`);let r=e.officialMarketplaceAutoInstallRetryCount||0;return rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),Y(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,retry_count:r}),{installed:!0,skipped:!1}}catch(t){let n=t instanceof Error?t.message:String(t);if(n.includes(`xcrun: error:`))return Za(),K(`Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable`),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:`git_unavailable`};K(`Failed to auto-install official marketplace: ${n}`,{level:`error`}),ai(yr(t));let r=(e.officialMarketplaceAutoInstallRetryCount||0)+1,i=Date.now(),a=i+TF(r),o=!1;try{rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`unknown`,officialMarketplaceAutoInstallRetryCount:r,officialMarketplaceAutoInstallLastAttemptTime:i,officialMarketplaceAutoInstallNextRetryTime:a}))}catch(e){o=!0,ai(yr(e)),K(`Failed to save marketplace auto-install failure state: ${e}`,{level:`error`})}return Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,failed:!0,retry_count:r}),{installed:!1,skipped:!0,reason:`unknown`,configSaveFailed:o}}}H(),q();function OF(){dF(async()=>{let e=await DF(),t=[];return e.configSaveFailed&&(K(`Showing marketplace config save failure notification`),t.push({key:`marketplace-config-save-failed`,jsx:(0,$.jsx)(R,{color:`error`,children:`Failed to save marketplace retry info · Check ~/.claude.json permissions`}),priority:`immediate`,timeoutMs:1e4})),e.installed?(K(`Showing marketplace installation success notification`),t.push({key:`marketplace-installed`,jsx:(0,$.jsx)(R,{color:`success`,children:`✓ Anthropic marketplace installed · /plugin to see available plugins`}),priority:`immediate`,timeoutMs:7e3})):e.skipped&&e.reason===`unknown`&&(K(`Showing marketplace installation failure notification`),t.push({key:`marketplace-install-failed`,jsx:(0,$.jsx)(R,{color:`warning`,children:`Failed to install Anthropic marketplace · Will retry on next startup`}),priority:`immediate`,timeoutMs:8e3})),t})}ii(),w(),Ui(),Wg();var kF=Hi(()=>b({method:v(`notifications/message`),params:b({prompt:_(),image:b({type:v(`base64`),media_type:y([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]),data:_()}).optional(),tabId:g().optional()})}));function AF(e,t){let n=(0,Q.useRef)(void 0);(0,Q.useEffect)(()=>{if(process.env.USER_TYPE!==`ant`)return;let t=jF(e);n.current!==t&&(n.current=t),t&&t.client.setNotificationHandler(kF(),e=>{if(n.current!==t)return;let{tabId:r,prompt:i,image:a}=e.params;if(!(typeof r!=`number`||!Yv(r)))try{op(a?{value:[{type:`text`,text:i},{type:`image`,source:{type:a.type,media_type:a.media_type,data:a.data}}],mode:`prompt`}:{value:i,mode:`prompt`})}catch(e){ai(e)}})},[e]),(0,Q.useEffect)(()=>{let n=jF(e);n&&Yg(`set_permission_mode`,{mode:t===`bypassPermissions`?`skip_all_permission_checks`:`ask`},n)},[e,t])}function jF(e){return e.find(e=>e.type===`connected`&&e.name===`claude-in-chrome`)}$n(),J();function MF(e){if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(e=>({tip:e,sessions:lS(e.id)}));return t.sort((e,t)=>t.sessions-e.sessions),t[0]?.tip}async function NF(e){if(Zn().spinnerTipsEnabled===!1)return;let t=await fS(e);if(t.length!==0)return MF(t)}function PF(e){oS(e.id),Y(`tengu_tip_shown`,{tipIdLength:e.id,cooldownSessions:e.cooldownSessions})}wx(),Gh();function FF(e,t,n){let r=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{!ag()||r.current||(r.current=!0,e&&Hd(e,n))},[t,e,n])}H(),sg(),J(),rl(),jb();function IF({hostPattern:{host:e},onUserResponse:t}){function n(n){switch(process.env.USER_TYPE===`ant`&&Y(`tengu_sandbox_network_dialog_result`,{host:e,result:n}),n){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`},...eh()?[]:[{label:(0,$.jsxs)(R,{children:[`Yes, and don't ask again for `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`yes-dont-ask-again`}],{label:(0,$.jsxs)(R,{children:[`No, and tell Claude what to do differently `,(0,$.jsx)(R,{bold:!0,children:`(esc)`})]}),value:`no`}];return(0,$.jsx)(Nb,{title:`Network request outside of sandbox`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Host:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Do you want to allow this connection?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:r,onChange:n,onCancel:()=>{process.env.USER_TYPE===`ant`&&Y(`tengu_sandbox_network_dialog_result`,{host:e,result:`cancel`}),t({allow:!1,persistToSettings:!1})}})})]})})}H(),sg(),si();function LF(e){return`${e.getHours()%12||12}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}${e.getHours()<12?`am`:`pm`}`}function RF(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(0);return(0,Q.useEffect)(()=>{let e=Nh.getSandboxViolationStore();return e.subscribe(n=>{t(n.slice(-10)),r(e.getTotalCount())})},[]),!Nh.isSandboxingEnabled()||oi()===`linux`||n===0?null:(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(U,{marginLeft:0,children:(0,$.jsxs)(R,{color:`permission`,children:[`⧈ Sandbox blocked `,n,` total `,n===1?`operation`:`operations`]})}),e.map((e,t)=>(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsxs)(R,{dimColor:!0,children:[LF(e.timestamp),e.command?` ${e.command}:`:``,` `,e.line]})},`${e.timestamp.getTime()}-${t}`)),(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsxs)(R,{dimColor:!0,children:[`… showing last `,Math.min(10,e.length),` of `,n]})})]})}sx(),Yc(),ot(),H();var zF=[];function BF({mcpClients:e=zF}){let{addNotification:t}=Do();(0,Q.useEffect)(()=>{if($e())return;let n=e.filter(e=>e.type===`failed`&&e.config.type!==`sse-ide`&&e.config.type!==`ws-ide`&&e.config.type!==`claudeai-proxy`),r=e.filter(e=>e.type===`failed`&&e.config.type===`claudeai-proxy`&&Ja(e.name)),i=e.filter(e=>e.type===`needs-auth`&&e.config.type!==`claudeai-proxy`),a=e.filter(e=>e.type===`needs-auth`&&e.config.type===`claudeai-proxy`&&Ja(e.name));n.length===0&&r.length===0&&i.length===0&&a.length===0||(n.length>0&&t({key:`mcp-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[n.length,` MCP `,n.length===1?`server`:`servers`,` failed`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),r.length>0&&t({key:`mcp-claudeai-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[r.length,` claude.ai `,r.length===1?`connector`:`connectors`,` `,`unavailable`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),i.length>0&&t({key:`mcp-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`warning`,children:[i.length,` MCP `,i.length===1?`server needs`:`servers need`,` `,`auth`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),a.length>0&&t({key:`mcp-claudeai-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`warning`,children:[a.length,` claude.ai`,` `,a.length===1?`connector needs`:`connectors need`,` auth`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}))},[t,e])}H(),$n(),Cm();var VF=`Auto mode lets Claude handle permission prompts automatically — Claude checks each tool call for risky actions and prompt injection before executing. Actions Claude identifies as safe are executed, while actions Claude identifies as risky are blocked and Claude may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Claude can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.`;O(),ot(),Yc(),H(),X(),q(),s();var HF=5e3;function UF(){let{addNotification:e}=Do(),t=Sa(),[n,r]=Q.useState(()=>c(`true`)),i=Q.useRef(new Set),a=Q.useCallback((n,r)=>{let a=`${n}:${r}`;if(i.current.has(a))return;i.current.add(a),K(`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)(R,{color:`error`,children:[`LSP for `,o,` failed`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`,timeoutMs:8e3})},[e,t]),o=Q.useCallback(()=>{if($e()||Re())return;let e=Hf();if(e.status===`failed`){a(`lsp-manager`,e.error.message),r(!1);return}if(e.status===`pending`||e.status===`not-started`)return;let t=ch();if(t){let e=t.getAllServers();for(let[t,n]of e)n.state===`error`&&n.lastError&&a(t,n.lastError.message)}},[a]);se(o,n?HF:null),Q.useEffect(()=>{$e()||!n||o()},[o,n])}q();var WF=new Map;async function GF(e){if(!e||!e.trim())return K(`[binaryCheck] Empty command provided, returning false`),!1;let t=e.trim(),n=WF.get(t);if(n!==void 0)return K(`[binaryCheck] Cache hit for '${t}': ${n}`),n;let r=!1;return await Wr(t).catch(()=>null)&&(r=!0),WF.set(t,r),K(`[binaryCheck] Binary '${t}' ${r?`found`:`not found`}`),r}Et(),q(),Eu();var KF=5;function qF(e){return In.has(e.toLowerCase())}function JF(e){if(!e)return null;if(typeof e==`string`)return K(`[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=XF(t);if(e)return e}return null}return XF(e)}function YF(e){return typeof e==`object`&&!!e}function XF(e){let t=new Set,n=null;for(let[r,i]of Object.entries(e)){if(!YF(i))continue;!n&&typeof i.command==`string`&&(n=i.command);let e=i.extensionToLanguage;if(YF(e))for(let n of Object.keys(e))t.add(n.toLowerCase())}return!n||t.size===0?null:{extensions:t,command:n}}async function ZF(){let e=new Map;try{let t=await ss();for(let n of Object.keys(t))try{let t=await Al(n),r=qF(n);for(let i of t.plugins){if(!i.lspServers)continue;let t=JF(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){K(`[lspRecommendation] Failed to load marketplace ${n}: ${e}`)}}catch(e){K(`[lspRecommendation] Failed to load marketplaces config: ${e}`)}return e}async function QF(e){if(tI())return K(`[lspRecommendation] Recommendations are disabled`),[];let t=SS(e).toLowerCase();if(!t)return K(`[lspRecommendation] No file extension found`),[];K(`[lspRecommendation] Looking for LSP plugins for ${t}`);let n=await ZF(),r=pn().lspRecommendationNeverPlugins??[],i=[];for(let[e,a]of n)if(a.extensions.has(t)){if(r.includes(e)){K(`[lspRecommendation] Skipping ${e} (in never suggest list)`);continue}if(va(e)){K(`[lspRecommendation] Skipping ${e} (already installed)`);continue}i.push({info:a,pluginId:e})}let a=[];for(let{info:e,pluginId:t}of i)await GF(e.command)?(a.push({info:e,pluginId:t}),K(`[lspRecommendation] Binary '${e.command}' found for ${t}`)):K(`[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 $F(e){rn(t=>{let n=t.lspRecommendationNeverPlugins??[];return n.includes(e)?t:{...t,lspRecommendationNeverPlugins:[...n,e]}}),K(`[lspRecommendation] Added ${e} to never suggest`)}function eI(){rn(e=>{let t=(e.lspRecommendationIgnoredCount??0)+1;return{...e,lspRecommendationIgnoredCount:t}}),K(`[lspRecommendation] Incremented ignored count`)}function tI(){let e=pn();return e.lspRecommendationDisabled===!0||(e.lspRecommendationIgnoredCount??0)>=KF}f(),ot(),H(),ii(),Eu();function nI(){let[e,t]=Q.useState(null),n=Q.useRef(!1),r=Q.useCallback(r=>{$e()||e||n.current||(n.current=!0,r().then(e=>{e&&t(e)}).catch(ai).finally(()=>{n.current=!1}))},[e]);return{recommendation:e,clearRecommendation:Q.useCallback(()=>t(null),[]),tryResolve:r}}async function rI(e,t,n,r,i){try{let a=await Ma(e);if(!a)throw Error(`Plugin ${e} not found in marketplace`);await i(a),r({key:`${n}-installed`,jsx:(0,$.jsxs)(R,{color:`success`,children:[p.tick,` `,t,` installed · restart to apply`]}),priority:`immediate`,timeoutMs:5e3})}catch(e){ai(e),r({key:`${n}-install-failed`,jsx:(0,$.jsxs)(R,{color:`error`,children:[`Failed to install `,t]}),priority:`immediate`,timeoutMs:5e3})}}ot(),Yc(),X(),Et(),q(),ii(),$n();var iI=28e3;function aI(){let e=Z(e=>e.fileHistory.trackedFiles),{addNotification:t}=Do(),n=Q.useRef(new Set),{recommendation:r,clearRecommendation:i,tryResolve:a}=nI();return Q.useEffect(()=>{a(async()=>{if(it())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 QF(e))[0];if(t)return K(`[useLspPluginRecommendation] Found match: ${t.pluginName} for ${e}`),st(!0),{pluginId:t.pluginId,pluginName:t.pluginName,pluginDescription:t.description,fileExtension:SS(e),shownAt:Date.now()}}catch(e){ai(e)}return null})},[e,a]),{recommendation:r,handleResponse:Q.useCallback(e=>{if(!r)return;let{pluginId:n,pluginName:a,shownAt:o}=r;switch(K(`[useLspPluginRecommendation] User response: ${e} for ${a}`),e){case`yes`:rI(n,a,`lsp-plugin`,t,async e=>{K(`[useLspPluginRecommendation] Installing plugin: ${n}`);let t=typeof e.entry.source==`string`?CS(e.marketplaceInstallLocation,e.entry.source):void 0;await np(n,e.entry,`user`,void 0,t),qn(`userSettings`,{enabledPlugins:{...ln(`userSettings`)?.enabledPlugins,[n]:!0}}),K(`[useLspPluginRecommendation] Plugin installed: ${n}`)});break;case`no`:{let e=Date.now()-o;e>=iI&&(K(`[useLspPluginRecommendation] Timeout detected (${e}ms), incrementing ignored count`),eI());break}case`never`:$F(n);break;case`disable`:rn(e=>e.lspRecommendationDisabled?e:{...e,lspRecommendationDisabled:!0});break}i()},[r,t,i])}}H(),rl(),jb();var oI=3e4;function sI({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`),oI,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)(Nb,{title:`LSP Plugin Recommendation`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsx)(R,{dimColor:!0,children:`LSP provides code intelligence like go-to-definition and error checking`})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),t&&(0,$.jsx)(U,{children:(0,$.jsx)(R,{dimColor:!0,children:t})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Triggered by:`}),(0,$.jsxs)(R,{children:[` `,n,` files`]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Would you like to install this LSP plugin?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:[{label:(0,$.jsxs)(R,{children:[`Yes, install `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`yes`},{label:`No, not now`,value:`no`},{label:(0,$.jsxs)(R,{children:[`Never for `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`never`},{label:`Disable all LSP recommendations`,value:`disable`}],onChange:a,onCancel:()=>r(`no`)})})]})})}Yc(),J(),q(),kg();function cI(){let e=Q.useSyncExternalStore(rf,zd),{addNotification:t}=Do(),{recommendation:n,clearRecommendation:r,tryResolve:i}=nI();return Q.useEffect(()=>{e&&i(async()=>{let t=await eg(e);return t&&(K(`[useClaudeCodeHintRecommendation] surfacing ${t.pluginId} from ${t.sourceCommand}`),Bh()),zd()===e&&Tp(),t})},[e,i]),{recommendation:n,handleResponse:Q.useCallback(e=>{if(n){switch(jf(n.pluginId),Y(`tengu_plugin_hint_response`,{_PROTO_plugin_name:n.pluginName,_PROTO_marketplace_name:n.marketplaceName,response:e}),e){case`yes`:{let{pluginId:e,pluginName:r,marketplaceName:i}=n;rI(e,r,`hint-plugin`,t,async t=>{let n=await r_({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`:dl();break;case`no`:break}r()}},[n,t,r])}}H(),rl(),jb();var lI=3e4;function uI({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`),lI,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)(Nb,{title:`Plugin Recommendation`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`The `,(0,$.jsx)(R,{bold:!0,children:r}),` command suggests installing a plugin.`]})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Marketplace:`}),(0,$.jsxs)(R,{children:[` `,n]})]}),t&&(0,$.jsx)(U,{children:(0,$.jsx)(R,{dimColor:!0,children:t})}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Would you like to install it?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:[{label:(0,$.jsxs)(R,{children:[`Yes, install `,(0,$.jsx)(R,{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`)})})]})})}rl(),jb();var dI=3e4;function fI({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(),dI,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)(Nb,{title:`Tool Recommendation`,children:(0,$.jsx)(jc,{options:a,onChange:e=>{e===`__dismiss__`?i.current():(i.current(),r.current(e))}})})}f_();var pI=.15,mI=3;function hI(){let e=Q.useSyncExternalStore(Oa,El),t=Q.useMemo(()=>e.length===0?[]:e.slice(0,mI).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)>=pI,handleSelect:Q.useCallback(e=>{ec()},[]),handleDismiss:Q.useCallback(()=>{ec()},[])}}ot(),Yc(),H(),X(),q(),Un();function gI(){let{addNotification:e}=Do(),t=Z(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(!$e()){if(!t){K(`No installation status to monitor`);return}n!==0&&(K(`Plugin installation status: ${r} failed marketplaces, ${i} failed plugins`),n!==0&&(K(`Adding notification for ${n} failed installations`),e({key:`plugin-install-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[n,` `,an(n,`plugin`),` failed to install`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`})))}},[e,n,r,i])}ot(),Yc(),H(),q(),zx();function _I(){let{addNotification:e}=Do(),[t,n]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{if(!$e())return Bx(e=>{K(`Plugin autoupdate notification: ${e.length} plugin(s) updated`),n(e)})},[]),(0,Q.useEffect)(()=>{if($e()||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)(R,{color:`success`,children:[n.length===1?`Plugin`:`Plugins`,` updated: `,r]}),(0,$.jsx)(R,{dimColor:!0,children:` · Run /reload-plugins to apply`})]}),priority:`low`,timeoutMs:1e4}),K(`Showing plugin autoupdate notification for: ${n.join(`, `)}`)},[t,e])}q(),ii(),Eu(),pb(),J();function vI(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 yI(e){K(`performBackgroundPluginInstallations called`);try{let t=Ky(ic(),await ss().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;K(`Installing ${n.length} marketplace(s) in background`);let r=await By({onProgress:t=>{switch(t.type){case`installing`:vI(e,t.name,`installing`);break;case`installed`:vI(e,t.name,`installed`);break;case`failed`:vI(e,t.name,`failed`,t.error);break}}}),i={installed_count:r.installed.length,updated_count:r.updated.length,failed_count:r.failed.length,up_to_date_count:r.upToDate.length};if(Y(`tengu_marketplace_background_install`,i),Pr(`info`,`tengu_marketplace_background_install`,i),r.installed.length>0){Ss(),K(`Auto-refreshing plugins after ${r.installed.length} new marketplace(s) installed`);try{await fb(e)}catch(t){ai(t),K(`Auto-refresh failed, falling back to needsRefresh: ${t}`,{level:`warn`}),cf(`performBackgroundPluginInstallations: auto-refresh failed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})}}else r.updated.length>0&&(Ss(),cf(`performBackgroundPluginInstallations: marketplaces reconciled`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}}))}catch(e){ai(e)}}Et(),q(),Eu(),Kf();async function bI(e){if(K(`performStartupChecks called`),!zn()){K(`Trust not accepted for current directory - skipping plugin installations`);return}try{K(`Starting background plugin installations`),await Us()&&(Ss(),cf(`performStartupChecks: seed marketplaces changed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})),await yI(e)}catch(e){K(`Error initiating background plugin installations: ${e}`)}}H();var xI=/https?:\/\/\S+/;function SI(){let[e,t]=(0,Q.useState)(Gt.getInstance().getStatus());return(0,Q.useEffect)(()=>Gt.getInstance().subscribe(t),[]),!e.isAuthenticating&&!e.error&&e.output.length===0||!e.isAuthenticating&&!e.error?null:(0,$.jsxs)(U,{flexDirection:`column`,borderStyle:`round`,borderColor:`permission`,paddingX:1,marginY:1,children:[(0,$.jsx)(R,{bold:!0,color:`permission`,children:`Cloud Authentication`}),e.output.length>0&&(0,$.jsx)(U,{flexDirection:`column`,marginTop:1,children:e.output.slice(-5).map((e,t)=>{let n=e.match(xI);if(!n)return(0,$.jsx)(R,{dimColor:!0,children:e},t);let r=n[0],i=n.index??0,a=e.slice(0,i),o=e.slice(i+r.length);return(0,$.jsxs)(R,{dimColor:!0,children:[a,(0,$.jsx)(re,{url:r,children:r}),o]},t)})}),e.error&&(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{color:`error`,children:e.error})})]})}Yc(),H(),xc(),jo(),Qn(),Gn(),ot();function CI(e){let{addNotification:t}=Do(),n=gs(),r=(0,Q.useMemo)(()=>Eo(n,e),[n,e]),i=(0,Q.useMemo)(()=>fs(n),[n]),a=(0,Q.useRef)(null),o=ar(),s=Mt(),c=o===`team`||o===`enterprise`,[l,u]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{$e()||(n.isUsingOverage&&!l&&(!c||s)?(t({key:`limit-reached`,text:i,priority:`immediate`}),u(!0)):!n.isUsingOverage&&l&&u(!1))},[n.isUsingOverage,i,l,t,s,c]),(0,Q.useEffect)(()=>{$e()||r&&r!==a.current&&(a.current=r,t({key:`rate-limit-warning`,jsx:(0,$.jsx)(R,{children:(0,$.jsx)(R,{color:`warning`,children:r})}),priority:`high`}))},[r,t])}Yc(),ot();function wI(e){let{addNotification:t}=Do(),n=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if($e())return;let r=sS(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])}s();var TI=``;function EI(){dF(async()=>Hr()||c(process.env.DISABLE_INSTALLATION_CHECKS)||await Jd()===`development`?null:{timeoutMs:15e3,key:`npm-deprecation-warning`,text:TI,color:`warning`,priority:`high`})}Yc(),H(),Et(),Dp(),ot();var DI=5;function OI({ideSelection:e,mcpClients:t,ideInstallationStatus:n}){let{addNotification:r,removeNotification:i}=Do(),{status:a,ideName:o}=ED(t),s=(0,Q.useRef)(!1),c=n?Wh(n?.ideType):!1,l=n?.error||c,u=a===`connected`&&(e?.filePath||e?.text&&e.lineCount>0),d=a===`connected`&&!u,f=l&&!c&&!d&&!u,p=l&&c&&!d&&!u;(0,Q.useEffect)(()=>{if($e())return;if(lm()||a!==null||p){i(`ide-status-hint`);return}if(s.current||(pn().ideHintShownCount??0)>=DI)return;let e=setTimeout((e,t)=>{Bu(!0).then(n=>{let r=n[0]?.name;r&&!e.current&&(e.current=!0,rn(e=>({...e,ideHintShownCount:(e.ideHintShownCount??0)+1})),t({key:`ide-status-hint`,jsx:(0,$.jsxs)(R,{dimColor:!0,children:[`/ide for `,(0,$.jsx)(R,{color:`ide`,children:r})]}),priority:`low`}))})},3e3,s,r);return()=>clearTimeout(e)},[r,i,a,p]),(0,Q.useEffect)(()=>{if(!$e()){if(f||p||a!==`disconnected`||!o){i(`ide-status-disconnected`);return}r({key:`ide-status-disconnected`,text:`${o} disconnected`,color:`error`,priority:`medium`})}},[r,i,a,o,f,p]),(0,Q.useEffect)(()=>{if(!$e()){if(!p){i(`ide-status-jetbrains-disconnected`);return}r({key:`ide-status-jetbrains-disconnected`,text:`IDE plugin not connected · /status for info`,priority:`medium`})}},[r,i,p]),(0,Q.useEffect)(()=>{if(!$e()){if(!f){i(`ide-status-install-error`);return}r({key:`ide-status-install-error`,text:`IDE extension install failed (see /status for info)`,color:`error`,priority:`medium`})}},[r,i,f])}Et();var kI=[e=>{if(jI(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(jI(e.legacyOpusMigrationTimestamp??e.opusProMigrationTimestamp))return{key:`opus-pro-update`,text:t?`Model updated to Opus 4.7 · Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out`:`Model updated to Opus 4.7`,color:`suggestion`,priority:`high`,timeoutMs:t?8e3:3e3}}];function AI(){dF(()=>{let e=pn(),t=[];for(let n of kI){let r=n(e);r&&t.push(r)}return t.length>0?t:null})}function jI(e){return e!==void 0&&Date.now()-e<3e3}Qn(),H(),J(),Et();var MI=3;function NI(){dF(async()=>{if((pn().subscriptionNoticeCount??0)>=MI)return null;let e=await PI();return e===null?null:(rn(e=>({...e,subscriptionNoticeCount:(e.subscriptionNoticeCount??0)+1})),Y(`tengu_switch_to_subscription_notice_shown`,{}),{key:`switch-to-subscription`,jsx:(0,$.jsxs)(R,{color:`suggestion`,children:[`Use your existing Claude `,e,` plan with Claude Code`,(0,$.jsxs)(R,{color:`text`,dimColor:!0,children:[` `,`· /login to activate`]})]}),priority:`low`})})}async function PI(){if(Pn())return null;let e=await Tn();return e?e.account.has_claude_max?`Max`:e.account.has_claude_pro?`Pro`:null:null}ot(),Yc(),X(),Cp();function FI(e){if(!(`text`in e))return 1;let t=e.text.match(/^(\d+)/);return t?.[1]?parseInt(t[1],10):1}function II(e,t){return LI(FI(e)+1)}function LI(e){return{key:`teammate-spawn`,text:e===1?`1 agent spawned`:`${e} agents spawned`,priority:`low`,timeoutMs:5e3,fold:II}}function RI(e,t){return zI(FI(e)+1)}function zI(e){return{key:`teammate-shutdown`,text:e===1?`1 agent shut down`:`${e} agents shut down`,priority:`low`,timeoutMs:5e3,fold:RI}}function BI(){let e=Z(e=>e.tasks),{addNotification:t}=Do(),n=(0,Q.useRef)(new Set),r=(0,Q.useRef)(new Set);(0,Q.useEffect)(()=>{if(!$e())for(let[i,a]of Object.entries(e))Id(a)&&(a.status===`running`&&!n.current.has(i)&&(n.current.add(i),t(LI(1))),a.status===`completed`&&!r.current.has(i)&&(r.current.add(i),t(zI(1))))},[e,t])}Yc(),X(),sr(),Vi(),ot();var VI=`fast-mode-cooldown-started`,HI=`fast-mode-cooldown-expired`,UI=`fast-mode-org-changed`,WI=`fast-mode-overage-rejected`;function GI(){let{addNotification:e}=Do(),t=Z(e=>e.fastMode),n=Sa();(0,Q.useEffect)(()=>{if(!$e()&&dr())return Pt(r=>{r?e({key:UI,color:`fastMode`,priority:`immediate`,text:`Fast mode is now available · /fast to turn on`}):t&&(n(e=>({...e,fastMode:!1})),e({key:UI,color:`warning`,priority:`immediate`,text:`Fast mode has been disabled by your organization`}))})},[e,t,n]),(0,Q.useEffect)(()=>{if(!$e()&&dr())return gn(t=>{n(e=>({...e,fastMode:!1})),e({key:WI,color:`warning`,priority:`immediate`,text:t})})},[e,n]),(0,Q.useEffect)(()=>{if($e()||!t)return;let n=lr((t,n)=>{let r=KI(n,Li(t-Date.now(),{hideTrailingZeros:!0}));e({key:VI,invalidates:[HI],text:r,color:`warning`,priority:`immediate`})}),r=jt(()=>{e({key:HI,invalidates:[VI],color:`fastMode`,text:`Fast limit reset · now using fast mode`,priority:`immediate`})});return()=>{n(),r()}},[e,t])}function KI(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}`}}H(),qv();function qI({onRun:e,onCancel:t,reason:n}){let r=(0,Q.useRef)(!1);return we(`confirm:no`,t,{context:`Confirmation`}),(0,Q.useEffect)(()=>{r.current||(r.current=!0,e())},[e]),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(U,{children:(0,$.jsx)(R,{bold:!0,children:`Running feedback capture...`})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{dimColor:!0,children:[`Press `,(0,$.jsx)(he,{shortcut:`Esc`,action:`cancel`}),` anytime`]})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{dimColor:!0,children:[`Reason: `,n]})})]})}function JI(e){if(process.env.USER_TYPE!==`ant`)return!1;switch(e){case`feedback_survey_bad`:return!1;case`feedback_survey_good`:return!1;default:return!1}}function YI(e){return process.env.USER_TYPE===`ant`&&e===`feedback_survey_good`?`/good-claude`:`/issue`}function XI(e){switch(e){case`feedback_survey_bad`:return`You responded "Bad" to the feedback survey`;case`feedback_survey_good`:return`You responded "Good" to the feedback survey`;default:return`Unknown reason`}}var ZI=()=>null;Lt(),H();function QI(){return process.env.USER_TYPE===`ant`?(0,$.jsxs)(U,{flexDirection:`row`,marginTop:1,width:`100%`,children:[(0,$.jsx)(U,{minWidth:2,children:(0,$.jsx)(R,{color:`warning`,children:`⚑`})}),(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{dimColor:!0,children:`[ANT-ONLY] `}),(0,$.jsx)(R,{color:`warning`,bold:!0,children:`Something off with Claude?`}),(0,$.jsx)(R,{dimColor:!0,children:` /issue to report it`})]})]}):null}C_(),nc();var $I=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],eL=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i];function tL(e){for(let t of e){if(t.type!==`assistant`)continue;let e=t.message.content;if(Array.isArray(e))for(let t of e){if(t.type!==`tool_use`||!(`name`in t))continue;let e=t.name;if(e.startsWith(`mcp__`))return!1;if(e===`Bash`){let e=t.input?.command||``;if($I.some(t=>t.test(e)))return!1}}}return!0}function nL(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type!==`user`)continue;let r=Dc(n);if(r)return eL.some(e=>e.test(r))}return!1}var rL=3,iL=1800*1e3;function aL(e,t){let n=(0,Q.useRef)(0),r=(0,Q.useRef)(-1),i=(0,Q.useMemo)(()=>tL(e)&&nL(e),[e]);return process.env.USER_TYPE===`ant`?r.current===t?!0:Date.now()-n.current<iL||t<rL||!i?!1:(n.current=Date.now(),r.current=t,!0):!1}ot(),H();function oL(){return process.env.USER_TYPE===`ant`}function sL(){let[e,t]=(0,Q.useState)(Ie);return ke(()=>{t(Ie())},oL()?500:null),!oL()||e.length===0?null:(0,$.jsxs)(R,{wrap:`truncate-end`,color:`warning`,children:[`[ANT-ONLY] slow sync: `,e.slice(-3).map(e=>`${e.operation} (${Math.round(e.durationMs)}ms)`).join(` · `)]})}f(),H(),mu(),rl(),by(),X(),ot(),Yb(),nc(),Wg(),Jl(),jr(),ui(),_a(),zo();var cL=24,lL=11;function uL(){return new Date().toISOString().split(`T`)[0]}function dL({plan:e,sessionId:t,taskId:n,setMessages:r,readFileState:i,memorySelector:a,getAppState:o,setConversationId:s,resultDedupState:c}){Ml(`ultraplan-choice`);let l=Sa(),{rows:u,columns:d}=k(),f=Q.useMemo(()=>Math.min(cL,Math.max(1,Math.floor(u/2)-lL)),[u]),m=Q.useMemo(()=>ge(e,Math.max(1,d-4),`wrap`).split(`
89
+ `))){let e=new Set(s.map(e=>e.id));o(t=>({...t,inbox:{messages:t.inbox.messages.filter(t=>!e.has(t.id))}}))}else K(`[InboxPoller] Submission rejected, keeping messages queued`)},[e,t,n,i,o,s,a]),se(()=>void l(),e&&SP(a.getState())?CP:null);let u=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{e&&(u.current||SP(a.getState())&&(u.current=!0,l()))},[e,l,a])}q(),kv();var TP=1e3;function EP({taskListId:e,isLoading:t,onSubmitTask:n}){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(null),a=(0,Q.useRef)(t);a.current=t;let o=(0,Q.useRef)(n);o.current=n;let s=e!==void 0,c=e??`tasklist`,l=(0,Q.useRef)(async()=>{});l.current=async()=>{if(!s||a.current)return;let t=await Tv(e);if(r.current!==null){let e=t.find(e=>e.id===r.current);if(!e||e.status===`completed`)K(`[TaskListWatcher] Task #${r.current} is marked complete, ready for next task`),r.current=null;else return}let n=DP(t);if(!n)return;K(`[TaskListWatcher] Found available task #${n.id}: ${n.subject}`);let i=await Cv(e,n.id,c);if(!i.success){K(`[TaskListWatcher] Failed to claim task #${n.id}: ${i.reason}`);return}r.current=n.id;let l=OP(n);K(`[TaskListWatcher] Submitting task #${n.id} as prompt`),o.current(l)||(K(`[TaskListWatcher] Failed to submit task #${n.id}, releasing claim`),await wv(e,n.id,{owner:void 0}),r.current=null)};let u=(0,Q.useRef)(()=>{});(0,Q.useEffect)(()=>{if(!s)return;Sv(e);let t=Ov(e),n=null,r=()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(e=>void e.current(),TP,l)};u.current=r;try{n=OS(t,r),n.unref(),K(`[TaskListWatcher] Watching for tasks in ${t}`)}catch(e){K(`[TaskListWatcher] Failed to watch ${t}: ${e}`)}return r(),()=>{u.current=()=>{},n&&n.close(),i.current&&clearTimeout(i.current)}},[s,e]),(0,Q.useEffect)(()=>{s&&(t||u.current())},[s,t])}function DP(e){let t=new Set(e.filter(e=>e.status!==`completed`).map(e=>e.id));return e.find(e=>e.status!==`pending`||e.owner?!1:e.blockedBy.every(e=>!t.has(e)))}function OP(e){let t=`Complete all open tasks. Start with task #${e.id}: \n\n ${e.subject}`;return e.description&&(t+=`\n\n${e.description}`),t}Et(),s(),Dp();function kP({autoConnectIdeFlag:e,ideToInstallExtension:t,setDynamicMcpConfig:n,setShowIdeOnboarding:r,setIDEInstallationState:i}){(0,Q.useEffect)(()=>{function o(r){r&&(pn().autoConnectIde||e||lm()||process.env.CLAUDE_CODE_SSE_PORT||t||c(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!a(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)&&n(e=>e?.ide?e:{...e,ide:{type:r.url.startsWith(`ws:`)?`ws-ide`:`sse-ide`,url:r.url,ideName:r.name,authToken:r.authToken,ideRunningInWindows:r.ideRunningInWindows,scope:`dynamic`}})}Vd(o,t,()=>r(!0),e=>i(e))},[e,t,n,r,i])}ux(),ey(),H(),qv(),Dm(),X(),Et(),Kr(),s();function AP({onBackgroundSession:e,isLoading:t}){let n=Sa(),r=a_(),[i,a]=(0,Q.useState)(!1),o=ne(a,e,()=>{}),s=(0,Q.useCallback)(()=>{c(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS)||(Wl(r.getState())?(Jg(()=>r.getState(),n),pn().hasUsedBackgroundTask||rn(e=>e.hasUsedBackgroundTask?e:{...e,hasUsedBackgroundTask:!0})):c(`false`)&&t&&o())},[n,r,t,o]),l=Z(Wl),u=c(`false`);we(`task:background`,s,{context:`Task`,isActive:l||u&&t});let d=Ch(`task:background`,`Task`,`ctrl+b`),f=Jr.terminal===`tmux`&&d===`ctrl+b`?`ctrl+b ctrl+b`:d;return!t||!i?null:(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsx)(R,{dimColor:!0,children:(0,$.jsx)(he,{shortcut:f,action:`background`})})})}X();function jP({setMessages:e,setIsLoading:t,resetLoadingState:n,setAbortController:r,onBackgroundQuery:i}){let a=Z(e=>e.foregroundedTaskId),o=Z(e=>e.foregroundedTaskId?e.tasks[e.foregroundedTaskId]:void 0),s=Sa(),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||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}}_p(),H(),Qn(),Et(),on(),$n(),rl(),nx(),jb();var MP=3e4;function NP({model:e,onDone:t}){let n=Mm(),r=(0,Q.useRef)(t);(0,Q.useEffect)(()=>{r.current=t});let i=(0,Q.useCallback)(()=>{r.current(`dismiss`)},[]);(0,Q.useEffect)(()=>{LP()},[]),(0,Q.useEffect)(()=>{let e=setTimeout(i,MP);return()=>clearTimeout(e)},[i]);let a=Iu(e),o=a?Yu(a):`high`,s=(0,Q.useCallback)(e=>{qn(`userSettings`,{effortLevel:gf(e===o?void 0:e)}),r.current(e)},[o]),c=[{label:(0,$.jsx)(FP,{level:`medium`,text:`Medium (recommended)`}),value:`medium`},{label:(0,$.jsx)(FP,{level:`high`,text:`High`}),value:`high`},{label:(0,$.jsx)(FP,{level:`low`,text:`Low`}),value:`low`}];return(0,$.jsx)(Nb,{title:n.dialogTitle,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,flexDirection:`column`,children:(0,$.jsx)(R,{children:n.dialogDescription})}),(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[(0,$.jsx)(PP,{level:`low`}),` low `,`·`,` `,(0,$.jsx)(PP,{level:`medium`}),` medium `,`·`,` `,(0,$.jsx)(PP,{level:`high`}),` high`]})}),(0,$.jsx)(jc,{options:c,onChange:s,onCancel:i})]})})}function PP({level:e}){return(0,$.jsx)(R,{color:`suggestion`,children:Zb(e)})}function FP({level:e,text:t}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(PP,{level:e}),` `,t]})}function IP(e){if(!Ot(e).toLowerCase().includes(`opus-4-6`))return!1;let t=pn();return t.effortCalloutV2Dismissed?!1:t.numStartups<=1?(LP(),!1):gr()?t.effortCalloutDismissed?(LP(),!1):Mm().enabled:Bn()||fr()?Mm().enabled:(LP(),!1)}function LP(){rn(e=>e.effortCalloutV2Dismissed?e:{...e,effortCalloutV2Dismissed:!0})}Iy(),Pb(),fn();function RP(e,t){let[n,r]=Q.useState(t);return Q.useEffect(()=>{Vn(e,t).then(r)},[e,t]),n}async function zP(e,t,n){try{K(`Collecting transcript for sharing`,{level:`info`});let r=Vs(e),i=await vh(Ym(e)),a;try{let e=eu(),{size:t}=await MS(e);t<=52428800?a=await jS(e,`utf-8`):K(`Skipping raw transcript read: file too large (${t} bytes)`,{level:`warn`})}catch{}let o=jx(vr({trigger:t,version:`2.6.11`,platform:process.platform,transcript:r,subagentTranscripts:Object.keys(i).length>0?i:void 0,rawTranscriptJsonl:a}));await cn();let s=An();if(s.error)return{success:!1};let c={"Content-Type":`application/json`,"User-Agent":hn(),...s.headers},l=await m.post(`https://api.anthropic.com/api/claude_code_shared_session_transcripts`,{content:o,appearance_id:n},{headers:c,timeout:3e4});if(l.status===200||l.status===201){let e=l.data;return K(`Transcript shared successfully`,{level:`info`}),{success:!0,transcriptId:e?.transcript_id}}return{success:!1}}catch(e){return K(br(e),{level:`error`}),{success:!1}}}var BP=t((()=>{h(),Qn(),q(),Cr(),nc(),_a(),kr()}));Mn(),BP();function VP({hideThanksAfterMs:e,onOpen:t,onSelect:n,shouldShowTranscriptPrompt:r,onTranscriptPromptShown:i,onTranscriptSelect:a}){let[o,s]=(0,Q.useState)(`closed`),[c,l]=(0,Q.useState)(null),u=(0,Q.useRef)(AS()),d=(0,Q.useRef)(null),f=(0,Q.useCallback)(()=>{s(`thanks`),setTimeout((e,t)=>{e(`closed`),t(null)},e,s,l)},[e]),p=(0,Q.useCallback)(()=>{s(`submitted`),setTimeout(s,e,`closed`)},[e]);return{state:o,lastResponse:c,open:(0,Q.useCallback)(()=>{o===`closed`&&(s(`open`),u.current=AS(),t(u.current))},[o,t]),handleSelect:(0,Q.useCallback)(e=>{if(l(e),d.current=e,n(u.current,e),e===`dismissed`)s(`closed`),l(null);else if(r?.(e))return s(`transcript_prompt`),i?.(u.current,e),!0;else f();return!1},[f,n,r,i]),handleTranscriptSelect:(0,Q.useCallback)(e=>{switch(e){case`yes`:s(`submitting`),(async()=>{try{await a?.(u.current,e,d.current)?p():f()}catch{f()}})();break;case`no`:case`dont_ask_again`:a?.(u.current,e,d.current),f();break}},[f,p,a])}}J(),Et(),s(),nc(),on(),$n();var HP={minTimeBeforeFeedbackMs:6e5,minTimeBetweenFeedbackMs:36e5,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3e3,onForModels:[`*`],probability:.005},UP={probability:0};function WP(e,t,n,r=`session`,i=!1){let a=(0,Q.useRef)(`unknown`);a.current=oo(e)?.message?.id||`unknown`;let[o,s]=(0,Q.useState)(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),l=RP(`tengu_feedback_survey_config`,HP),u=RP(`tengu_bad_survey_transcript_ask_config`,UP),d=RP(`tengu_good_survey_transcript_ask_config`,UP),f=Wt().feedbackSurveyRate,p=(0,Q.useRef)(Date.now()),m=(0,Q.useRef)(n),h=(0,Q.useRef)(n);h.current=n;let g=(0,Q.useRef)(e);g.current=e;let _=(0,Q.useRef)(!1),v=(0,Q.useRef)(null),y=(0,Q.useCallback)((e,t)=>{s(n=>n.timeLastShown===e&&n.submitCountAtLastAppearance===t?n:{timeLastShown:e,submitCountAtLastAppearance:t}),pn().feedbackSurveyState?.lastShownTime!==e&&rn(t=>({...t,feedbackSurveyState:{lastShownTime:e}}))},[]),b=(0,Q.useCallback)(e=>{y(Date.now(),h.current),Y(`tengu_feedback_survey_event`,{event_type:`appeared`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:r})},[y,r]),x=(0,Q.useCallback)((e,t)=>{y(Date.now(),h.current),Y(`tengu_feedback_survey_event`,{event_type:`responded`,appearance_id:e,response:t,last_assistant_message_id:a.current,survey_type:r}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:r})},[y,r]),S=(0,Q.useCallback)(e=>{if(e!==`bad`&&e!==`good`||pn().transcriptShareDismissed||!Ca(`allow_product_feedback`))return!1;let t=e===`bad`?u.probability:d.probability;return Math.random()<=t},[u.probability,d.probability]),C=(0,Q.useCallback)((e,t)=>{let n=t===`good`?`good_feedback_survey`:`bad_feedback_survey`;Y(`tengu_feedback_survey_event`,{event_type:`transcript_prompt_appeared`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r,trigger:n}),dv(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:r})},[r]),w=(0,Q.useCallback)(async(e,t,n)=>{let i=n===`good`?`good_feedback_survey`:`bad_feedback_survey`;if(Y(`tengu_feedback_survey_event`,{event_type:`transcript_share_${t}`,appearance_id:e,last_assistant_message_id:a.current,survey_type:r,trigger:i}),t===`dont_ask_again`&&rn(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await zP(g.current,i,e);return Y(`tengu_feedback_survey_event`,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:i}),t.success}return!1},[r]),{state:T,lastResponse:E,open:D,handleSelect:O,handleTranscriptSelect:k}=VP({hideThanksAfterMs:l.hideThanksAfterMs,onOpen:b,onSelect:x,shouldShowTranscriptPrompt:S,onTranscriptPromptShown:C,onTranscriptSelect:w}),A=Nt(),j=(0,Q.useMemo)(()=>l.onForModels.length===0?!1:l.onForModels.includes(`*`)?!0:l.onForModels.includes(A),[l.onForModels,A]),M=(0,Q.useMemo)(()=>{if(T!==`closed`||t||i)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!o.timeLastShown)return!0;if(!j||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||or()||!Ca(`allow_product_feedback`))return!1;if(o.timeLastShown){if(Date.now()-o.timeLastShown<l.minTimeBetweenFeedbackMs||o.submitCountAtLastAppearance!==null&&n<o.submitCountAtLastAppearance+l.minUserTurnsBetweenFeedback)return!1}else if(Date.now()-p.current<l.minTimeBeforeFeedbackMs||n<m.current+l.minUserTurnsBeforeFeedback)return!1;if(v.current!==n&&(v.current=n,_.current=Math.random()<=(f??l.probability)),!_.current)return!1;let e=pn().feedbackSurveyState;return!(e?.lastShownTime&&Date.now()-e.lastShownTime<l.minTimeBetweenGlobalFeedbackMs)},[T,t,i,j,o.timeLastShown,o.submitCountAtLastAppearance,n,l.minTimeBetweenFeedbackMs,l.minTimeBetweenGlobalFeedbackMs,l.minUserTurnsBetweenFeedback,l.minTimeBeforeFeedbackMs,l.minUserTurnsBeforeFeedback,l.probability,f]);return(0,Q.useEffect)(()=>{M&&D()},[M,D]),{state:T,lastResponse:E,handleSelect:O,handleTranscriptSelect:k}}Mn(),fn(),J(),yl(),Et(),s(),nc(),mv(),BP();var GP=3e3,KP=`tengu_dunwich_bell`,qP=`tengu_memory_survey_event`,JP=.2,YP=`memory_survey`,XP=/\bmemor(?:y|ies)\b/i;function ZP(e){for(let t of e){if(t.type!==`assistant`)continue;let e=t.message.content;if(Array.isArray(e))for(let t of e){if(t.type!==`tool_use`||t.name!==`Read`)continue;let e=t.input;if(typeof e.file_path==`string`&&Na(e.file_path))return!0}}return!1}function QP(e,t,n=!1,{enabled:r=!0}={}){let i=(0,Q.useRef)(new Set),a=(0,Q.useRef)(!1),o=(0,Q.useRef)(e);o.current=e;let{state:s,lastResponse:l,open:u,handleSelect:d,handleTranscriptSelect:f}=VP({hideThanksAfterMs:GP,onOpen:(0,Q.useCallback)(e=>{Y(qP,{event_type:`appeared`,appearance_id:e}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`memory`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{Y(qP,{event_type:`responded`,appearance_id:e,response:t}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`memory`})},[]),shouldShowTranscriptPrompt:(0,Q.useCallback)(e=>!(process.env.USER_TYPE!==`ant`||e!==`bad`&&e!==`good`||pn().transcriptShareDismissed||!Ca(`allow_product_feedback`)),[]),onTranscriptPromptShown:(0,Q.useCallback)(e=>{Y(qP,{event_type:`transcript_prompt_appeared`,appearance_id:e,trigger:YP}),dv(`feedback_survey`,{event_type:`transcript_prompt_appeared`,appearance_id:e,survey_type:`memory`})},[]),onTranscriptSelect:(0,Q.useCallback)(async(e,t)=>{if(Y(qP,{event_type:`transcript_share_${t}`,appearance_id:e,trigger:YP}),t===`dont_ask_again`&&rn(e=>({...e,transcriptShareDismissed:!0})),t===`yes`){let t=await zP(o.current,YP,e);return Y(qP,{event_type:t.success?`transcript_share_submitted`:`transcript_share_failed`,appearance_id:e,trigger:YP}),t.success}return!1},[])}),p=(0,Q.useMemo)(()=>oo(e),[e]);return(0,Q.useEffect)(()=>{if(!r)return;if(e.length===0){a.current=!1,i.current.clear();return}if(s!==`closed`||t||n||!wn(KP,!1)||!ir()||or()||!Ca(`allow_product_feedback`)||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY)||!p||i.current.has(p.uuid))return;let o=Ga(Array.isArray(p.message.content)?p.message.content:[],` `);XP.test(o)&&(i.current.add(p.uuid),a.current||(a.current=ZP(e)),a.current&&Math.random()<JP&&u())},[r,s,t,n,p,e,u]),{state:s,lastResponse:l,handleSelect:d,handleTranscriptSelect:f}}Mn(),fn(),J(),s(),nc(),mv();var $P=3e3,eF=`tengu_post_compact_survey`,tF=.2;function nF(e,t){let n=e.findIndex(e=>e.uuid===t);if(n===-1)return!1;for(let t=n+1;t<e.length;t++){let n=e[t];if(n&&(n.type===`user`||n.type===`assistant`))return!0}return!1}function rF(e,t,n=!1,{enabled:r=!0}={}){let[i,a]=(0,Q.useState)(null),o=(0,Q.useRef)(new Set),s=(0,Q.useRef)(null),{state:l,lastResponse:u,open:d,handleSelect:f}=VP({hideThanksAfterMs:$P,onOpen:(0,Q.useCallback)(e=>{Y(`tengu_post_compact_survey_event`,{event_type:`appeared`,appearance_id:e,session_memory_compaction_enabled:fg()}),dv(`feedback_survey`,{event_type:`appeared`,appearance_id:e,survey_type:`post_compact`})},[]),onSelect:(0,Q.useCallback)((e,t)=>{Y(`tengu_post_compact_survey_event`,{event_type:`responded`,appearance_id:e,response:t,session_memory_compaction_enabled:fg()}),dv(`feedback_survey`,{event_type:`responded`,appearance_id:e,response:t,survey_type:`post_compact`})},[])});(0,Q.useEffect)(()=>{r&&a(Nn(eF))},[r]);let p=(0,Q.useMemo)(()=>new Set(e.filter(e=>Ol(e)).map(e=>e.uuid)),[e]);return(0,Q.useEffect)(()=>{if(!r||l!==`closed`||t||n||i!==!0||or()||c(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(s.current!==null&&nF(e,s.current)){s.current=null,Math.random()<tF&&d();return}let a=Array.from(p).filter(e=>!o.current.has(e));a.length>0&&(o.current=new Set(p),s.current=a[a.length-1])},[r,p,l,t,n,i,e,d]),{state:l,lastResponse:u,handleSelect:f}}Lt(),H();var iF=[`1`,`2`,`3`],aF={1:`yes`,2:`no`,3:`dont_ask_again`},oF=e=>iF.includes(e);function sF({onSelect:e,inputValue:t,setInputValue:n}){return gN({inputValue:t,setInputValue:n,isValidDigit:oF,onDigit:t=>e(aF[t])}),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsxs)(U,{children:[(0,$.jsxs)(R,{color:`ansi:cyan`,children:[zt,` `]}),(0,$.jsx)(R,{bold:!0,children:`Can Anthropic look at your session transcript to help us improve Claude Code?`})]}),(0,$.jsx)(U,{marginLeft:2,children:(0,$.jsx)(R,{dimColor:!0,children:`Learn more: https://code.claude.com/docs/en/data-usage#session-quality-surveys`})}),(0,$.jsxs)(U,{marginLeft:2,children:[(0,$.jsx)(U,{width:10,children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`1`}),`: Yes`]})}),(0,$.jsx)(U,{width:10,children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`2`}),`: No`]})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{color:`ansi:cyan`,children:`3`}),`: Don't ask again`]})})]})]})}J(),H();function cF({state:e,lastResponse:t,handleSelect:n,handleTranscriptSelect:r,inputValue:i,setInputValue:a,onRequestFeedback:o,message:s}){return e===`closed`?null:e===`thanks`?(0,$.jsx)(uF,{lastResponse:t,inputValue:i,setInputValue:a,onRequestFeedback:o}):e===`submitted`?(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{color:`success`,children:[`✓`,` Thanks for sharing your transcript!`]})}):e===`submitting`?(0,$.jsx)(U,{marginTop:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`Sharing transcript`,`…`]})}):e===`transcript_prompt`?!r||i&&![`1`,`2`,`3`].includes(i)?null:(0,$.jsx)(sF,{onSelect:r,inputValue:i,setInputValue:a}):i&&!yN(i)?null:(0,$.jsx)(xN,{onSelect:n,inputValue:i,setInputValue:a,message:s})}var lF=e=>e===`1`;function uF({lastResponse:e,inputValue:t,setInputValue:n,onRequestFeedback:r}){let i=r&&e===`good`;gN({inputValue:t,setInputValue:n,isValidDigit:lF,enabled:!!i,once:!0,onDigit:()=>{Y(`tengu_feedback_survey_event`,{event_type:`followup_accepted`,response:e}),r?.()}});let a=process.env.USER_TYPE===`ant`?`/issue`:`/feedback`;return(0,$.jsxs)(U,{marginTop:1,flexDirection:`column`,children:[(0,$.jsx)(R,{color:`success`,children:`Thanks for the feedback!`}),i?(0,$.jsxs)(R,{dimColor:!0,children:[`(Optional) Press [`,(0,$.jsx)(R,{color:`ansi:cyan`,children:`1`}),`] to tell us what went well `,` · `,a]}):e===`bad`?(0,$.jsx)(R,{dimColor:!0,children:`Use /issue to report model behavior issues.`}):(0,$.jsxs)(R,{dimColor:!0,children:[`Use `,a,` to share detailed feedback anytime.`]})]})}zl(),bl(),ot(),Yc(),ii();function dF(e){let{addNotification:t}=Do(),n=(0,Q.useRef)(!1),r=(0,Q.useRef)(e);r.current=e,(0,Q.useEffect)(()=>{$e()||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(ai))},[t])}function fF(){dF(async()=>(await o_()).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`}}))}Nr(),M_(),q(),nc(),on(),Xs(),Rx(),rg(),ot();var pF=30,mF=`The user stepped away and is coming back. Write exactly 1-3 short sentences. Start by stating the high-level task — what they are building or debugging, not implementation details. Next: the concrete next step. Skip status reports and commit recaps.`,hF=`用户离开后回来了。用中文写 1-3 句话。先说明用户在做什么(高层目标,不是实现细节),然后说明下一步具体操作。不要写状态报告或提交总结。`;function gF(e){return`${e?`Session memory (broader context):\n${e}\n\n`:``}${Lx()===`zh`?hF:mF}`}async function _F(e,t){if(e.length===0)return null;let n=Yt(),r=Qo()?Ys({sessionId:Fe(),model:n,provider:Zt(),name:`away-summary`}):null;try{let i=await Ru(),a=e.slice(-pF);a.push(Yd({content:gF(i)}));let o=await kh({messages:a,systemPrompt:rv([]),thinkingConfig:{type:`disabled`},tools:[],signal:t,options:{getToolPermissionContext:async()=>b_(),model:n,toolChoice:void 0,isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,agents:[],querySource:`away_summary`,mcpTools:[],skipCacheWrite:!0,langfuseTrace:r}});return o.isApiErrorMessage?(K(`[awaySummary] API error: ${$l(o)}`),vl(r,void 0,`error`),null):(vl(r),$l(o))}catch(e){return e instanceof l||t.aborted?null:(K(`[awaySummary] generation failed: ${e}`),vl(r,void 0,`error`),null)}}H(),fn(),nc();var vF=5*6e4;function yF(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`user`&&!n.isMeta&&!n.isCompactSummary)return!1;if(n.type===`system`&&n.subtype===`away_summary`)return!0}return!1}function bF(e,t,n){let r=(0,Q.useRef)(null),i=(0,Q.useRef)(null),a=(0,Q.useRef)(e),o=(0,Q.useRef)(n),s=(0,Q.useRef)(!1),c=(0,Q.useRef)(null);a.current=e,o.current=n;let l=wn(`tengu_sedge_lantern`,!1);(0,Q.useEffect)(()=>{if(!l)return;function e(){r.current!==null&&(clearTimeout(r.current),r.current=null)}function n(){i.current?.abort(),i.current=null}async function u(){if(s.current=!1,yF(a.current))return;n();let e=new AbortController;i.current=e;let r=await _F(a.current,e.signal);e.signal.aborted||r===null||t(e=>[...e,hg(r)])}function d(){if(r.current=null,o.current){s.current=!0;return}u()}function f(){let t=ue();t===`blurred`||t===`unknown`?(e(),r.current=setTimeout(d,vF)):t===`focused`&&(e(),n(),s.current=!1)}let p=P(f);return f(),c.current=u,()=>{p(),e(),n(),c.current=null}},[l,t]),(0,Q.useEffect)(()=>{if(n||!s.current)return;let e=ue();e!==`blurred`&&e!==`unknown`||c.current?.()},[n]),(0,Q.useEffect)(()=>{ue()===`unknown`&&l&&(n?(r.current!==null&&(clearTimeout(r.current),r.current=null),i.current?.abort(),i.current=null,s.current=!1):(r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>{if(r.current=null,o.current){s.current=!0;return}c.current?.()},vF)))},[n,l])}H(),Qn(),Hb(),s();function xF(){if(process.argv.includes(`--chrome`))return!0;if(process.argv.includes(`--no-chrome`))return!1}function SF(){dF(async()=>{let e=xF();return Bb(e)?process.env.USER_TYPE!==`ant`&&!Pn()?{key:`chrome-requires-subscription`,jsx:(0,$.jsx)(R,{color:`error`,children:`Claude in Chrome requires a claude.ai subscription`}),priority:`immediate`,timeoutMs:5e3}:!await Vb()&&!i()?{key:`chrome-extension-not-detected`,jsx:(0,$.jsx)(R,{color:`warning`,children:`Chrome extension not detected · https://claude.ai/chrome to install`}),priority:`immediate`,timeoutMs:3e3}:e===void 0?{key:`claude-in-chrome-default-enabled`,text:`Claude in Chrome enabled · /chrome`,priority:`low`}:null:null})}fn(),J(),Et(),q(),s(),Cr(),ii();function CF(){return c(process.env.CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var wF={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600*1e3,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:10080*60*1e3};function TF(e){let t=wF.INITIAL_DELAY_MS*wF.BACKOFF_MULTIPLIER**e;return Math.min(t,wF.MAX_DELAY_MS)}function EF(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>=wF.MAX_ATTEMPTS||t===`policy_blocked`||r&&i<r?!1:t===`unknown`||t===`git_unavailable`||t===`gcs_unavailable`||t===void 0}async function DF(){let e=pn();if(!EF(e)){let t=e.officialMarketplaceAutoInstallFailReason??`already_attempted`;return K(`Official marketplace auto-install skipped: ${t}`),{installed:!1,skipped:!0,reason:t}}try{if(CF())return K(`Official marketplace auto-install disabled via env var, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};if((await ss())[`claude-plugins-official`])return K(`Official marketplace '${kp}' already installed, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:`already_installed`};if(!Um(sc))return K(`Official marketplace blocked by enterprise policy, skipping`),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`policy_blocked`})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:`policy_blocked`};let t=h_(),n=CS(t,kp);if(await _d(n,t)!==null){let e=await ss();return e[kp]={source:sc,installLocation:n,lastUpdated:new Date().toISOString()},await Ms(e),rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),Y(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!wn(`tengu_plugin_official_mkt_git_fallback`,!0)){K(`Official marketplace GCS failed; git fallback disabled by flag — skipping install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+TF(t);return rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`gcs_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r})),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,gcs_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`gcs_unavailable`}}if(!await Kl()){K(`Git not available, skipping official marketplace auto-install`);let t=(e.officialMarketplaceAutoInstallRetryCount||0)+1,n=Date.now(),r=n+TF(t),i=!1;try{rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`git_unavailable`,officialMarketplaceAutoInstallRetryCount:t,officialMarketplaceAutoInstallLastAttemptTime:n,officialMarketplaceAutoInstallNextRetryTime:r}))}catch(e){i=!0,ai(yr(e)),K(`Failed to save marketplace auto-install git_unavailable state: ${e}`,{level:`error`})}return Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,retry_count:t}),{installed:!1,skipped:!0,reason:`git_unavailable`,configSaveFailed:i}}K(`Attempting to auto-install official marketplace`),await Ro(sc),K(`Successfully auto-installed official marketplace`);let r=e.officialMarketplaceAutoInstallRetryCount||0;return rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),Y(`tengu_official_marketplace_auto_install`,{installed:!0,skipped:!1,retry_count:r}),{installed:!0,skipped:!1}}catch(t){let n=t instanceof Error?t.message:String(t);if(n.includes(`xcrun: error:`))return Za(),K(`Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable`),Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:`git_unavailable`};K(`Failed to auto-install official marketplace: ${n}`,{level:`error`}),ai(yr(t));let r=(e.officialMarketplaceAutoInstallRetryCount||0)+1,i=Date.now(),a=i+TF(r),o=!1;try{rn(e=>({...e,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:`unknown`,officialMarketplaceAutoInstallRetryCount:r,officialMarketplaceAutoInstallLastAttemptTime:i,officialMarketplaceAutoInstallNextRetryTime:a}))}catch(e){o=!0,ai(yr(e)),K(`Failed to save marketplace auto-install failure state: ${e}`,{level:`error`})}return Y(`tengu_official_marketplace_auto_install`,{installed:!1,skipped:!0,failed:!0,retry_count:r}),{installed:!1,skipped:!0,reason:`unknown`,configSaveFailed:o}}}H(),q();function OF(){dF(async()=>{let e=await DF(),t=[];return e.configSaveFailed&&(K(`Showing marketplace config save failure notification`),t.push({key:`marketplace-config-save-failed`,jsx:(0,$.jsx)(R,{color:`error`,children:`Failed to save marketplace retry info · Check ~/.claude.json permissions`}),priority:`immediate`,timeoutMs:1e4})),e.installed?(K(`Showing marketplace installation success notification`),t.push({key:`marketplace-installed`,jsx:(0,$.jsx)(R,{color:`success`,children:`✓ Anthropic marketplace installed · /plugin to see available plugins`}),priority:`immediate`,timeoutMs:7e3})):e.skipped&&e.reason===`unknown`&&(K(`Showing marketplace installation failure notification`),t.push({key:`marketplace-install-failed`,jsx:(0,$.jsx)(R,{color:`warning`,children:`Failed to install Anthropic marketplace · Will retry on next startup`}),priority:`immediate`,timeoutMs:8e3})),t})}ii(),w(),Ui(),Wg();var kF=Hi(()=>b({method:v(`notifications/message`),params:b({prompt:_(),image:b({type:v(`base64`),media_type:y([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]),data:_()}).optional(),tabId:g().optional()})}));function AF(e,t){let n=(0,Q.useRef)(void 0);(0,Q.useEffect)(()=>{if(process.env.USER_TYPE!==`ant`)return;let t=jF(e);n.current!==t&&(n.current=t),t&&t.client.setNotificationHandler(kF(),e=>{if(n.current!==t)return;let{tabId:r,prompt:i,image:a}=e.params;if(!(typeof r!=`number`||!Yv(r)))try{op(a?{value:[{type:`text`,text:i},{type:`image`,source:{type:a.type,media_type:a.media_type,data:a.data}}],mode:`prompt`}:{value:i,mode:`prompt`})}catch(e){ai(e)}})},[e]),(0,Q.useEffect)(()=>{let n=jF(e);n&&Yg(`set_permission_mode`,{mode:t===`bypassPermissions`?`skip_all_permission_checks`:`ask`},n)},[e,t])}function jF(e){return e.find(e=>e.type===`connected`&&e.name===`claude-in-chrome`)}$n(),J();function MF(e){if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(e=>({tip:e,sessions:lS(e.id)}));return t.sort((e,t)=>t.sessions-e.sessions),t[0]?.tip}async function NF(e){if(Zn().spinnerTipsEnabled===!1)return;let t=await fS(e);if(t.length!==0)return MF(t)}function PF(e){oS(e.id),Y(`tengu_tip_shown`,{tipIdLength:e.id,cooldownSessions:e.cooldownSessions})}wx(),Gh();function FF(e,t,n){let r=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{!ag()||r.current||(r.current=!0,e&&Hd(e,n))},[t,e,n])}H(),sg(),J(),rl(),jb();function IF({hostPattern:{host:e},onUserResponse:t}){function n(n){switch(process.env.USER_TYPE===`ant`&&Y(`tengu_sandbox_network_dialog_result`,{host:e,result:n}),n){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`},...eh()?[]:[{label:(0,$.jsxs)(R,{children:[`Yes, and don't ask again for `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`yes-dont-ask-again`}],{label:(0,$.jsxs)(R,{children:[`No, and tell Claude what to do differently `,(0,$.jsx)(R,{bold:!0,children:`(esc)`})]}),value:`no`}];return(0,$.jsx)(Nb,{title:`Network request outside of sandbox`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Host:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Do you want to allow this connection?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:r,onChange:n,onCancel:()=>{process.env.USER_TYPE===`ant`&&Y(`tengu_sandbox_network_dialog_result`,{host:e,result:`cancel`}),t({allow:!1,persistToSettings:!1})}})})]})})}H(),sg(),si();function LF(e){return`${e.getHours()%12||12}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}${e.getHours()<12?`am`:`pm`}`}function RF(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(0);return(0,Q.useEffect)(()=>{let e=Nh.getSandboxViolationStore();return e.subscribe(n=>{t(n.slice(-10)),r(e.getTotalCount())})},[]),!Nh.isSandboxingEnabled()||oi()===`linux`||n===0?null:(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(U,{marginLeft:0,children:(0,$.jsxs)(R,{color:`permission`,children:[`⧈ Sandbox blocked `,n,` total `,n===1?`operation`:`operations`]})}),e.map((e,t)=>(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsxs)(R,{dimColor:!0,children:[LF(e.timestamp),e.command?` ${e.command}:`:``,` `,e.line]})},`${e.timestamp.getTime()}-${t}`)),(0,$.jsx)(U,{paddingLeft:2,children:(0,$.jsxs)(R,{dimColor:!0,children:[`… showing last `,Math.min(10,e.length),` of `,n]})})]})}sx(),Yc(),ot(),H();var zF=[];function BF({mcpClients:e=zF}){let{addNotification:t}=Do();(0,Q.useEffect)(()=>{if($e())return;let n=e.filter(e=>e.type===`failed`&&e.config.type!==`sse-ide`&&e.config.type!==`ws-ide`&&e.config.type!==`claudeai-proxy`),r=e.filter(e=>e.type===`failed`&&e.config.type===`claudeai-proxy`&&Ja(e.name)),i=e.filter(e=>e.type===`needs-auth`&&e.config.type!==`claudeai-proxy`),a=e.filter(e=>e.type===`needs-auth`&&e.config.type===`claudeai-proxy`&&Ja(e.name));n.length===0&&r.length===0&&i.length===0&&a.length===0||(n.length>0&&t({key:`mcp-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[n.length,` MCP `,n.length===1?`server`:`servers`,` failed`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),r.length>0&&t({key:`mcp-claudeai-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[r.length,` claude.ai `,r.length===1?`connector`:`connectors`,` `,`unavailable`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),i.length>0&&t({key:`mcp-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`warning`,children:[i.length,` MCP `,i.length===1?`server needs`:`servers need`,` `,`auth`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}),a.length>0&&t({key:`mcp-claudeai-needs-auth`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`warning`,children:[a.length,` claude.ai`,` `,a.length===1?`connector needs`:`connectors need`,` auth`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /mcp`})]}),priority:`medium`}))},[t,e])}H(),$n(),Cm();var VF=`Auto mode lets Claude handle permission prompts automatically — Claude checks each tool call for risky actions and prompt injection before executing. Actions Claude identifies as safe are executed, while actions Claude identifies as risky are blocked and Claude may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Claude can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.`;O(),ot(),Yc(),H(),X(),q(),s();var HF=5e3;function UF(){let{addNotification:e}=Do(),t=Sa(),[n,r]=Q.useState(()=>c(`true`)),i=Q.useRef(new Set),a=Q.useCallback((n,r)=>{let a=`${n}:${r}`;if(i.current.has(a))return;i.current.add(a),K(`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)(R,{color:`error`,children:[`LSP for `,o,` failed`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`,timeoutMs:8e3})},[e,t]),o=Q.useCallback(()=>{if($e()||Re())return;let e=Hf();if(e.status===`failed`){a(`lsp-manager`,e.error.message),r(!1);return}if(e.status===`pending`||e.status===`not-started`)return;let t=ch();if(t){let e=t.getAllServers();for(let[t,n]of e)n.state===`error`&&n.lastError&&a(t,n.lastError.message)}},[a]);se(o,n?HF:null),Q.useEffect(()=>{$e()||!n||o()},[o,n])}q();var WF=new Map;async function GF(e){if(!e||!e.trim())return K(`[binaryCheck] Empty command provided, returning false`),!1;let t=e.trim(),n=WF.get(t);if(n!==void 0)return K(`[binaryCheck] Cache hit for '${t}': ${n}`),n;let r=!1;return await Wr(t).catch(()=>null)&&(r=!0),WF.set(t,r),K(`[binaryCheck] Binary '${t}' ${r?`found`:`not found`}`),r}Et(),q(),Eu();var KF=5;function qF(e){return In.has(e.toLowerCase())}function JF(e){if(!e)return null;if(typeof e==`string`)return K(`[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=XF(t);if(e)return e}return null}return XF(e)}function YF(e){return typeof e==`object`&&!!e}function XF(e){let t=new Set,n=null;for(let[r,i]of Object.entries(e)){if(!YF(i))continue;!n&&typeof i.command==`string`&&(n=i.command);let e=i.extensionToLanguage;if(YF(e))for(let n of Object.keys(e))t.add(n.toLowerCase())}return!n||t.size===0?null:{extensions:t,command:n}}async function ZF(){let e=new Map;try{let t=await ss();for(let n of Object.keys(t))try{let t=await Al(n),r=qF(n);for(let i of t.plugins){if(!i.lspServers)continue;let t=JF(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){K(`[lspRecommendation] Failed to load marketplace ${n}: ${e}`)}}catch(e){K(`[lspRecommendation] Failed to load marketplaces config: ${e}`)}return e}async function QF(e){if(tI())return K(`[lspRecommendation] Recommendations are disabled`),[];let t=SS(e).toLowerCase();if(!t)return K(`[lspRecommendation] No file extension found`),[];K(`[lspRecommendation] Looking for LSP plugins for ${t}`);let n=await ZF(),r=pn().lspRecommendationNeverPlugins??[],i=[];for(let[e,a]of n)if(a.extensions.has(t)){if(r.includes(e)){K(`[lspRecommendation] Skipping ${e} (in never suggest list)`);continue}if(va(e)){K(`[lspRecommendation] Skipping ${e} (already installed)`);continue}i.push({info:a,pluginId:e})}let a=[];for(let{info:e,pluginId:t}of i)await GF(e.command)?(a.push({info:e,pluginId:t}),K(`[lspRecommendation] Binary '${e.command}' found for ${t}`)):K(`[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 $F(e){rn(t=>{let n=t.lspRecommendationNeverPlugins??[];return n.includes(e)?t:{...t,lspRecommendationNeverPlugins:[...n,e]}}),K(`[lspRecommendation] Added ${e} to never suggest`)}function eI(){rn(e=>{let t=(e.lspRecommendationIgnoredCount??0)+1;return{...e,lspRecommendationIgnoredCount:t}}),K(`[lspRecommendation] Incremented ignored count`)}function tI(){let e=pn();return e.lspRecommendationDisabled===!0||(e.lspRecommendationIgnoredCount??0)>=KF}f(),ot(),H(),ii(),Eu();function nI(){let[e,t]=Q.useState(null),n=Q.useRef(!1),r=Q.useCallback(r=>{$e()||e||n.current||(n.current=!0,r().then(e=>{e&&t(e)}).catch(ai).finally(()=>{n.current=!1}))},[e]);return{recommendation:e,clearRecommendation:Q.useCallback(()=>t(null),[]),tryResolve:r}}async function rI(e,t,n,r,i){try{let a=await Ma(e);if(!a)throw Error(`Plugin ${e} not found in marketplace`);await i(a),r({key:`${n}-installed`,jsx:(0,$.jsxs)(R,{color:`success`,children:[p.tick,` `,t,` installed · restart to apply`]}),priority:`immediate`,timeoutMs:5e3})}catch(e){ai(e),r({key:`${n}-install-failed`,jsx:(0,$.jsxs)(R,{color:`error`,children:[`Failed to install `,t]}),priority:`immediate`,timeoutMs:5e3})}}ot(),Yc(),X(),Et(),q(),ii(),$n();var iI=28e3;function aI(){let e=Z(e=>e.fileHistory.trackedFiles),{addNotification:t}=Do(),n=Q.useRef(new Set),{recommendation:r,clearRecommendation:i,tryResolve:a}=nI();return Q.useEffect(()=>{a(async()=>{if(it())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 QF(e))[0];if(t)return K(`[useLspPluginRecommendation] Found match: ${t.pluginName} for ${e}`),st(!0),{pluginId:t.pluginId,pluginName:t.pluginName,pluginDescription:t.description,fileExtension:SS(e),shownAt:Date.now()}}catch(e){ai(e)}return null})},[e,a]),{recommendation:r,handleResponse:Q.useCallback(e=>{if(!r)return;let{pluginId:n,pluginName:a,shownAt:o}=r;switch(K(`[useLspPluginRecommendation] User response: ${e} for ${a}`),e){case`yes`:rI(n,a,`lsp-plugin`,t,async e=>{K(`[useLspPluginRecommendation] Installing plugin: ${n}`);let t=typeof e.entry.source==`string`?CS(e.marketplaceInstallLocation,e.entry.source):void 0;await np(n,e.entry,`user`,void 0,t),qn(`userSettings`,{enabledPlugins:{...ln(`userSettings`)?.enabledPlugins,[n]:!0}}),K(`[useLspPluginRecommendation] Plugin installed: ${n}`)});break;case`no`:{let e=Date.now()-o;e>=iI&&(K(`[useLspPluginRecommendation] Timeout detected (${e}ms), incrementing ignored count`),eI());break}case`never`:$F(n);break;case`disable`:rn(e=>e.lspRecommendationDisabled?e:{...e,lspRecommendationDisabled:!0});break}i()},[r,t,i])}}H(),rl(),jb();var oI=3e4;function sI({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`),oI,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)(Nb,{title:`LSP Plugin Recommendation`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsx)(R,{dimColor:!0,children:`LSP provides code intelligence like go-to-definition and error checking`})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),t&&(0,$.jsx)(U,{children:(0,$.jsx)(R,{dimColor:!0,children:t})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Triggered by:`}),(0,$.jsxs)(R,{children:[` `,n,` files`]})]}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Would you like to install this LSP plugin?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:[{label:(0,$.jsxs)(R,{children:[`Yes, install `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`yes`},{label:`No, not now`,value:`no`},{label:(0,$.jsxs)(R,{children:[`Never for `,(0,$.jsx)(R,{bold:!0,children:e})]}),value:`never`},{label:`Disable all LSP recommendations`,value:`disable`}],onChange:a,onCancel:()=>r(`no`)})})]})})}Yc(),J(),q(),kg();function cI(){let e=Q.useSyncExternalStore(rf,zd),{addNotification:t}=Do(),{recommendation:n,clearRecommendation:r,tryResolve:i}=nI();return Q.useEffect(()=>{e&&i(async()=>{let t=await eg(e);return t&&(K(`[useClaudeCodeHintRecommendation] surfacing ${t.pluginId} from ${t.sourceCommand}`),Bh()),zd()===e&&Tp(),t})},[e,i]),{recommendation:n,handleResponse:Q.useCallback(e=>{if(n){switch(jf(n.pluginId),Y(`tengu_plugin_hint_response`,{_PROTO_plugin_name:n.pluginName,_PROTO_marketplace_name:n.marketplaceName,response:e}),e){case`yes`:{let{pluginId:e,pluginName:r,marketplaceName:i}=n;rI(e,r,`hint-plugin`,t,async t=>{let n=await r_({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`:dl();break;case`no`:break}r()}},[n,t,r])}}H(),rl(),jb();var lI=3e4;function uI({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`),lI,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)(Nb,{title:`Plugin Recommendation`,children:(0,$.jsxs)(U,{flexDirection:`column`,paddingX:2,paddingY:1,children:[(0,$.jsx)(U,{marginBottom:1,children:(0,$.jsxs)(R,{dimColor:!0,children:[`The `,(0,$.jsx)(R,{bold:!0,children:r}),` command suggests installing a plugin.`]})}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Plugin:`}),(0,$.jsxs)(R,{children:[` `,e]})]}),(0,$.jsxs)(U,{children:[(0,$.jsx)(R,{dimColor:!0,children:`Marketplace:`}),(0,$.jsxs)(R,{children:[` `,n]})]}),t&&(0,$.jsx)(U,{children:(0,$.jsx)(R,{dimColor:!0,children:t})}),(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{children:`Would you like to install it?`})}),(0,$.jsx)(U,{children:(0,$.jsx)(jc,{options:[{label:(0,$.jsxs)(R,{children:[`Yes, install `,(0,$.jsx)(R,{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`)})})]})})}rl(),jb();var dI=3e4;function fI({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(),dI,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)(Nb,{title:`Tool Recommendation`,children:(0,$.jsx)(jc,{options:a,onChange:e=>{e===`__dismiss__`?i.current():(i.current(),r.current(e))}})})}f_();var pI=.15,mI=3;function hI(){let e=Q.useSyncExternalStore(Oa,El),t=Q.useMemo(()=>e.length===0?[]:e.slice(0,mI).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)>=pI,handleSelect:Q.useCallback(e=>{ec()},[]),handleDismiss:Q.useCallback(()=>{ec()},[])}}ot(),Yc(),H(),X(),q(),Un();function gI(){let{addNotification:e}=Do(),t=Z(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(!$e()){if(!t){K(`No installation status to monitor`);return}n!==0&&(K(`Plugin installation status: ${r} failed marketplaces, ${i} failed plugins`),n!==0&&(K(`Adding notification for ${n} failed installations`),e({key:`plugin-install-failed`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{color:`error`,children:[n,` `,an(n,`plugin`),` failed to install`]}),(0,$.jsx)(R,{dimColor:!0,children:` · /plugin for details`})]}),priority:`medium`})))}},[e,n,r,i])}ot(),Yc(),H(),q(),zx();function _I(){let{addNotification:e}=Do(),[t,n]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{if(!$e())return Bx(e=>{K(`Plugin autoupdate notification: ${e.length} plugin(s) updated`),n(e)})},[]),(0,Q.useEffect)(()=>{if($e()||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)(R,{color:`success`,children:[n.length===1?`Plugin`:`Plugins`,` updated: `,r]}),(0,$.jsx)(R,{dimColor:!0,children:` · Run /reload-plugins to apply`})]}),priority:`low`,timeoutMs:1e4}),K(`Showing plugin autoupdate notification for: ${n.join(`, `)}`)},[t,e])}q(),ii(),Eu(),pb(),J();function vI(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 yI(e){K(`performBackgroundPluginInstallations called`);try{let t=Ky(ic(),await ss().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;K(`Installing ${n.length} marketplace(s) in background`);let r=await By({onProgress:t=>{switch(t.type){case`installing`:vI(e,t.name,`installing`);break;case`installed`:vI(e,t.name,`installed`);break;case`failed`:vI(e,t.name,`failed`,t.error);break}}}),i={installed_count:r.installed.length,updated_count:r.updated.length,failed_count:r.failed.length,up_to_date_count:r.upToDate.length};if(Y(`tengu_marketplace_background_install`,i),Pr(`info`,`tengu_marketplace_background_install`,i),r.installed.length>0){Ss(),K(`Auto-refreshing plugins after ${r.installed.length} new marketplace(s) installed`);try{await fb(e)}catch(t){ai(t),K(`Auto-refresh failed, falling back to needsRefresh: ${t}`,{level:`warn`}),cf(`performBackgroundPluginInstallations: auto-refresh failed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})}}else r.updated.length>0&&(Ss(),cf(`performBackgroundPluginInstallations: marketplaces reconciled`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}}))}catch(e){ai(e)}}Et(),q(),Eu(),Kf();async function bI(e){if(K(`performStartupChecks called`),!zn()){K(`Trust not accepted for current directory - skipping plugin installations`);return}try{K(`Starting background plugin installations`),await Us()&&(Ss(),cf(`performStartupChecks: seed marketplaces changed`),e(e=>e.plugins.needsRefresh?e:{...e,plugins:{...e.plugins,needsRefresh:!0}})),await yI(e)}catch(e){K(`Error initiating background plugin installations: ${e}`)}}H();var xI=/https?:\/\/\S+/;function SI(){let[e,t]=(0,Q.useState)(Gt.getInstance().getStatus());return(0,Q.useEffect)(()=>Gt.getInstance().subscribe(t),[]),!e.isAuthenticating&&!e.error&&e.output.length===0||!e.isAuthenticating&&!e.error?null:(0,$.jsxs)(U,{flexDirection:`column`,borderStyle:`round`,borderColor:`permission`,paddingX:1,marginY:1,children:[(0,$.jsx)(R,{bold:!0,color:`permission`,children:`Cloud Authentication`}),e.output.length>0&&(0,$.jsx)(U,{flexDirection:`column`,marginTop:1,children:e.output.slice(-5).map((e,t)=>{let n=e.match(xI);if(!n)return(0,$.jsx)(R,{dimColor:!0,children:e},t);let r=n[0],i=n.index??0,a=e.slice(0,i),o=e.slice(i+r.length);return(0,$.jsxs)(R,{dimColor:!0,children:[a,(0,$.jsx)(re,{url:r,children:r}),o]},t)})}),e.error&&(0,$.jsx)(U,{marginTop:1,children:(0,$.jsx)(R,{color:`error`,children:e.error})})]})}Yc(),H(),xc(),jo(),Qn(),Gn(),ot();function CI(e){let{addNotification:t}=Do(),n=gs(),r=(0,Q.useMemo)(()=>Eo(n,e),[n,e]),i=(0,Q.useMemo)(()=>fs(n),[n]),a=(0,Q.useRef)(null),o=ar(),s=Mt(),c=o===`team`||o===`enterprise`,[l,u]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{$e()||(n.isUsingOverage&&!l&&(!c||s)?(t({key:`limit-reached`,text:i,priority:`immediate`}),u(!0)):!n.isUsingOverage&&l&&u(!1))},[n.isUsingOverage,i,l,t,s,c]),(0,Q.useEffect)(()=>{$e()||r&&r!==a.current&&(a.current=r,t({key:`rate-limit-warning`,jsx:(0,$.jsx)(R,{children:(0,$.jsx)(R,{color:`warning`,children:r})}),priority:`high`}))},[r,t])}Yc(),ot();function wI(e){let{addNotification:t}=Do(),n=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if($e())return;let r=sS(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])}s();var TI=``;function EI(){dF(async()=>Hr()||c(process.env.DISABLE_INSTALLATION_CHECKS)||await Jd()===`development`?null:{timeoutMs:15e3,key:`npm-deprecation-warning`,text:TI,color:`warning`,priority:`high`})}Yc(),H(),Et(),Dp(),ot();var DI=5;function OI({ideSelection:e,mcpClients:t,ideInstallationStatus:n}){let{addNotification:r,removeNotification:i}=Do(),{status:a,ideName:o}=ED(t),s=(0,Q.useRef)(!1),c=n?Wh(n?.ideType):!1,l=n?.error||c,u=a===`connected`&&(e?.filePath||e?.text&&e.lineCount>0),d=a===`connected`&&!u,f=l&&!c&&!d&&!u,p=l&&c&&!d&&!u;(0,Q.useEffect)(()=>{if($e())return;if(lm()||a!==null||p){i(`ide-status-hint`);return}if(s.current||(pn().ideHintShownCount??0)>=DI)return;let e=setTimeout((e,t)=>{Bu(!0).then(n=>{let r=n[0]?.name;r&&!e.current&&(e.current=!0,rn(e=>({...e,ideHintShownCount:(e.ideHintShownCount??0)+1})),t({key:`ide-status-hint`,jsx:(0,$.jsxs)(R,{dimColor:!0,children:[`/ide for `,(0,$.jsx)(R,{color:`ide`,children:r})]}),priority:`low`}))})},3e3,s,r);return()=>clearTimeout(e)},[r,i,a,p]),(0,Q.useEffect)(()=>{if(!$e()){if(f||p||a!==`disconnected`||!o){i(`ide-status-disconnected`);return}r({key:`ide-status-disconnected`,text:`${o} disconnected`,color:`error`,priority:`medium`})}},[r,i,a,o,f,p]),(0,Q.useEffect)(()=>{if(!$e()){if(!p){i(`ide-status-jetbrains-disconnected`);return}r({key:`ide-status-jetbrains-disconnected`,text:`IDE plugin not connected · /status for info`,priority:`medium`})}},[r,i,p]),(0,Q.useEffect)(()=>{if(!$e()){if(!f){i(`ide-status-install-error`);return}r({key:`ide-status-install-error`,text:`IDE extension install failed (see /status for info)`,color:`error`,priority:`medium`})}},[r,i,f])}Et();var kI=[e=>{if(jI(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(jI(e.legacyOpusMigrationTimestamp??e.opusProMigrationTimestamp))return{key:`opus-pro-update`,text:t?`Model updated to Opus 4.7 · Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out`:`Model updated to Opus 4.7`,color:`suggestion`,priority:`high`,timeoutMs:t?8e3:3e3}}];function AI(){dF(()=>{let e=pn(),t=[];for(let n of kI){let r=n(e);r&&t.push(r)}return t.length>0?t:null})}function jI(e){return e!==void 0&&Date.now()-e<3e3}Qn(),H(),J(),Et();var MI=3;function NI(){dF(async()=>{if((pn().subscriptionNoticeCount??0)>=MI)return null;let e=await PI();return e===null?null:(rn(e=>({...e,subscriptionNoticeCount:(e.subscriptionNoticeCount??0)+1})),Y(`tengu_switch_to_subscription_notice_shown`,{}),{key:`switch-to-subscription`,jsx:(0,$.jsxs)(R,{color:`suggestion`,children:[`Use your existing Claude `,e,` plan with Claude Code`,(0,$.jsxs)(R,{color:`text`,dimColor:!0,children:[` `,`· /login to activate`]})]}),priority:`low`})})}async function PI(){if(Pn())return null;let e=await Tn();return e?e.account.has_claude_max?`Max`:e.account.has_claude_pro?`Pro`:null:null}ot(),Yc(),X(),Cp();function FI(e){if(!(`text`in e))return 1;let t=e.text.match(/^(\d+)/);return t?.[1]?parseInt(t[1],10):1}function II(e,t){return LI(FI(e)+1)}function LI(e){return{key:`teammate-spawn`,text:e===1?`1 agent spawned`:`${e} agents spawned`,priority:`low`,timeoutMs:5e3,fold:II}}function RI(e,t){return zI(FI(e)+1)}function zI(e){return{key:`teammate-shutdown`,text:e===1?`1 agent shut down`:`${e} agents shut down`,priority:`low`,timeoutMs:5e3,fold:RI}}function BI(){let e=Z(e=>e.tasks),{addNotification:t}=Do(),n=(0,Q.useRef)(new Set),r=(0,Q.useRef)(new Set);(0,Q.useEffect)(()=>{if(!$e())for(let[i,a]of Object.entries(e))Id(a)&&(a.status===`running`&&!n.current.has(i)&&(n.current.add(i),t(LI(1))),a.status===`completed`&&!r.current.has(i)&&(r.current.add(i),t(zI(1))))},[e,t])}Yc(),X(),sr(),Vi(),ot();var VI=`fast-mode-cooldown-started`,HI=`fast-mode-cooldown-expired`,UI=`fast-mode-org-changed`,WI=`fast-mode-overage-rejected`;function GI(){let{addNotification:e}=Do(),t=Z(e=>e.fastMode),n=Sa();(0,Q.useEffect)(()=>{if(!$e()&&dr())return Pt(r=>{r?e({key:UI,color:`fastMode`,priority:`immediate`,text:`Fast mode is now available · /fast to turn on`}):t&&(n(e=>({...e,fastMode:!1})),e({key:UI,color:`warning`,priority:`immediate`,text:`Fast mode has been disabled by your organization`}))})},[e,t,n]),(0,Q.useEffect)(()=>{if(!$e()&&dr())return gn(t=>{n(e=>({...e,fastMode:!1})),e({key:WI,color:`warning`,priority:`immediate`,text:t})})},[e,n]),(0,Q.useEffect)(()=>{if($e()||!t)return;let n=lr((t,n)=>{let r=KI(n,Li(t-Date.now(),{hideTrailingZeros:!0}));e({key:VI,invalidates:[HI],text:r,color:`warning`,priority:`immediate`})}),r=jt(()=>{e({key:HI,invalidates:[VI],color:`fastMode`,text:`Fast limit reset · now using fast mode`,priority:`immediate`})});return()=>{n(),r()}},[e,t])}function KI(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}`}}H(),qv();function qI({onRun:e,onCancel:t,reason:n}){let r=(0,Q.useRef)(!1);return we(`confirm:no`,t,{context:`Confirmation`}),(0,Q.useEffect)(()=>{r.current||(r.current=!0,e())},[e]),(0,$.jsxs)(U,{flexDirection:`column`,marginTop:1,children:[(0,$.jsx)(U,{children:(0,$.jsx)(R,{bold:!0,children:`Running feedback capture...`})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{dimColor:!0,children:[`Press `,(0,$.jsx)(he,{shortcut:`Esc`,action:`cancel`}),` anytime`]})}),(0,$.jsx)(U,{children:(0,$.jsxs)(R,{dimColor:!0,children:[`Reason: `,n]})})]})}function JI(e){if(process.env.USER_TYPE!==`ant`)return!1;switch(e){case`feedback_survey_bad`:return!1;case`feedback_survey_good`:return!1;default:return!1}}function YI(e){return process.env.USER_TYPE===`ant`&&e===`feedback_survey_good`?`/good-claude`:`/issue`}function XI(e){switch(e){case`feedback_survey_bad`:return`You responded "Bad" to the feedback survey`;case`feedback_survey_good`:return`You responded "Good" to the feedback survey`;default:return`Unknown reason`}}var ZI=()=>null;Lt(),H();function QI(){return process.env.USER_TYPE===`ant`?(0,$.jsxs)(U,{flexDirection:`row`,marginTop:1,width:`100%`,children:[(0,$.jsx)(U,{minWidth:2,children:(0,$.jsx)(R,{color:`warning`,children:`⚑`})}),(0,$.jsxs)(R,{children:[(0,$.jsx)(R,{dimColor:!0,children:`[ANT-ONLY] `}),(0,$.jsx)(R,{color:`warning`,bold:!0,children:`Something off with Claude?`}),(0,$.jsx)(R,{dimColor:!0,children:` /issue to report it`})]})]}):null}C_(),nc();var $I=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],eL=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i];function tL(e){for(let t of e){if(t.type!==`assistant`)continue;let e=t.message.content;if(Array.isArray(e))for(let t of e){if(t.type!==`tool_use`||!(`name`in t))continue;let e=t.name;if(e.startsWith(`mcp__`))return!1;if(e===`Bash`){let e=t.input?.command||``;if($I.some(t=>t.test(e)))return!1}}}return!0}function nL(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type!==`user`)continue;let r=Dc(n);if(r)return eL.some(e=>e.test(r))}return!1}var rL=3,iL=1800*1e3;function aL(e,t){let n=(0,Q.useRef)(0),r=(0,Q.useRef)(-1),i=(0,Q.useMemo)(()=>tL(e)&&nL(e),[e]);return process.env.USER_TYPE===`ant`?r.current===t?!0:Date.now()-n.current<iL||t<rL||!i?!1:(n.current=Date.now(),r.current=t,!0):!1}ot(),H();function oL(){return process.env.USER_TYPE===`ant`}function sL(){let[e,t]=(0,Q.useState)(Ie);return ke(()=>{t(Ie())},oL()?500:null),!oL()||e.length===0?null:(0,$.jsxs)(R,{wrap:`truncate-end`,color:`warning`,children:[`[ANT-ONLY] slow sync: `,e.slice(-3).map(e=>`${e.operation} (${Math.round(e.durationMs)}ms)`).join(` · `)]})}f(),H(),mu(),rl(),by(),X(),ot(),Yb(),nc(),Wg(),Jl(),jr(),ui(),_a(),zo();var cL=24,lL=11;function uL(){return new Date().toISOString().split(`T`)[0]}function dL({plan:e,sessionId:t,taskId:n,setMessages:r,readFileState:i,memorySelector:a,getAppState:o,setConversationId:s,resultDedupState:c}){Ml(`ultraplan-choice`);let l=Sa(),{rows:u,columns:d}=k(),f=Q.useMemo(()=>Math.min(cL,Math.max(1,Math.floor(u/2)-lL)),[u]),m=Q.useMemo(()=>ge(e,Math.max(1,d-4),`wrap`).split(`
90
90
  `),[e,d]),h=Math.max(0,m.length-f),[g,_]=Q.useState(0);Q.useEffect(()=>{_(e=>Math.min(e,h))},[h]);let v=m.length>f;Oe((e,t)=>{if(!v)return;let n=Math.max(1,Math.floor(f/2));if(t.ctrl&&e===`d`||t.wheelDown){let e=t.wheelDown?3:n;_(t=>Math.min(t+e,h))}else if(t.ctrl&&e===`u`||t.wheelUp){let e=t.wheelUp?3:n;_(t=>Math.max(t-e,0))}});let y=m.slice(g,g+f).join(`
91
91
  `),b=g>0,x=g<h,S=Q.useCallback(async a=>{switch(a){case`here`:op({value:[`Ultraplan approved in browser. Here is the plan:`,``,`<ultraplan>`,e,`</ultraplan>`,``,`The user approved this plan in the remote session. Give them a brief summary, then start implementing.`].join(`
92
- `),mode:`task-notification`});break;case`fresh`:let t=Fe(),n=await MS(eu()).then(()=>!0,()=>!1);await Xb({setMessages:r,readFileState:i,getAppState:o,setAppState:l,setConversationId:s}),n&&r(e=>[...e,Ad(`Previous session saved · resume with: claude --resume ${t}`,`suggestion`)]),op({value:`Here is the approved implementation plan:\n\n${e}\n\nImplement this plan.`,mode:`prompt`});break;case`cancel`:{let t=CS(Mr(),`${uL()}-ultraplan.md`);await NS(t,e,{encoding:`utf-8`}),r(e=>[...e,Ad(`Ultraplan rejected · Plan saved to ${fi(t)}`,`suggestion`)]);break}}po(n,l,e=>e.status===`running`?{...e,status:`completed`,endTime:Date.now()}:e),l(e=>e.ultraplanPendingChoice?{...e,ultraplanPendingChoice:void 0,ultraplanSessionUrl:void 0}:e),Uh(t)},[e,t,n,r,o,l,i,s]),C=Q.useMemo(()=>[{label:`Implement here`,value:`here`,description:`Inject plan into the current conversation`},{label:`Start new session`,value:`fresh`,description:`Clear conversation and start with only the plan`},{label:`Cancel`,value:`cancel`,description:`Don't implement — save plan and return`}],[]);return(0,$.jsx)(B,{title:`Ultraplan approved`,subtitle:`How should the plan be implemented?`,onCancel:()=>{},hideInputGuide:!0,children:(0,$.jsxs)(U,{flexDirection:`column`,marginBottom:1,children:[(0,$.jsxs)(U,{flexDirection:`column`,marginBottom:1,children:[(0,$.jsx)(R,{children:y}),v&&(0,$.jsxs)(R,{dimColor:!0,children:[b?p.arrowUp:` `,x?p.arrowDown:` `,` `,g+1,`–`,Math.min(g+f,m.length),` of `,m.length,` · ctrl+u/ctrl+d to scroll`]})]}),(0,$.jsx)(jc,{options:C,onChange:e=>void S(e)})]})})}H(),rl(),by(),X(),Et(),wh();function fL(){return!pn().hasSeenUltraplanTerms}function pL(){return Rh()}function mL({onChoice:e}){let[t]=Q.useState(fL),[n]=Q.useState(pL),r=Q.useMemo(()=>Vm(n),[n]),i=Z(e=>e.replBridgeEnabled),a=Sa(),o=Q.useCallback(r=>{let o=r===`run`&&i;o&&a(e=>e.replBridgeEnabled?{...e,replBridgeEnabled:!1,replBridgeExplicit:!1,replBridgeOutboundOnly:!1}:e),r!==`cancel`&&t&&rn(e=>e.hasSeenUltraplanTerms?e:{...e,hasSeenUltraplanTerms:!0}),e(r,{disconnectedBridge:o,promptIdentifier:n})},[e,i,a,t]),s=Q.useCallback(()=>{o(`cancel`)},[o]),c=[{label:`Run ultraplan`,value:`run`,description:i?`Disable remote control and launch in Claude Code on the web`:`launch in Claude Code on the web`},{label:`Not now`,value:`cancel`}];return(0,$.jsx)(B,{title:`Run ultraplan in the cloud?`,subtitle:r.timeEstimate,onCancel:s,children:(0,$.jsxs)(U,{flexDirection:`column`,gap:1,children:[(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(R,{dimColor:!0,children:r.dialogBody}),t?(0,$.jsxs)(R,{dimColor:!0,children:[`For more information on Claude Code on the web:`,(0,$.jsx)(re,{url:Om,children:Om})]}):null]}),(0,$.jsx)(R,{dimColor:!0,children:i?`This will disable Remote Control for this session.`:r.dialogPipeline}),(0,$.jsx)(jc,{options:c,onChange:o})]})})}fx(),H(),Et(),Js();function hL(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||!(pn().copyOnSelect??!0))return;let a=e.copySelectionNoClear();if(!a||!a.trim()){r.current=!0;return}r.current=!0,i.current?.(a)})},[t,e])}function gL(e){let[t]=ae();(0,Q.useEffect)(()=>{e.setSelectionBgColor(Xo(t).selectionBg)},[e,t])}Yc(),H(),qv(),q();var _L=40,vL=.3,yL=6,bL=200,xL=15,SL=15,CL=3,wL=1500,TL=150,EL=5,DL=5,OL=80,kL=3,AL=6,jL=500;function ML(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 NL(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 PL(e,t,n){if(!e.xtermJs){if(e.wheelMode&&n-e.time>wL&&(e.wheelMode=!1,e.burstCount=0,e.mult=e.base),e.pendingFlip){if(e.pendingFlip=!1,t!==e.dir||n-e.time>bL)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<DL)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/TL),n=Math.max(SL,e.base*2),i=1+(e.mult-1)*t+xL*t;return e.mult=Math.min(n,i,e.mult+CL),Math.floor(e.mult)}if(r>_L)e.mult=e.base;else{let t=Math.max(yL,e.base*2);e.mult=Math.min(t,e.mult+vL)}return Math.floor(e.mult)}let r=n-e.time,i=t===e.dir;if(e.time=n,e.dir=t,i&&r<DL)return 1;if(!i||r>jL)e.mult=2,e.frac=0;else{let t=.5**(r/TL);e.mult=Math.min(r>=OL?kL:AL,1+(e.mult-1)*t+EL*t)}let a=e.mult+e.frac,o=Math.floor(a);return e.frac=a-o,o}function FL(){let e=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!e)return 1;let t=parseFloat(e);return Number.isNaN(t)||t<=0?1:Math.min(t,20)}function IL(e=!1,t=1){return{time:0,mult:t,dir:0,xtermJs:e,frac:0,base:t,pendingFlip:!1,wheelMode:!1,burstCount:0}}function LL(){let e=de(),t=FL();return K(`wheel accel: ${e?`decay (xterm.js)`:`window (native)`} · base=${t} · TERM_PROGRAM=${process.env.TERM_PROGRAM??`unset`}`),IL(e,t)}var RL=2,zL=50,BL=200;function VL({scrollRef:e,isActive:t,onScroll:n,isModal:r=!1}){let i=ee(),{addNotification:a}=Do(),o=(0,Q.useRef)(null);function s(e){let t=z(),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 V({"scroll:pageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=WL(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=WL(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=LL()),KL(t,PL(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=LL());let r=GL(t,PL(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}),V({"scroll:halfPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=WL(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=WL(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=WL(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=WL(t,r);n?.(i,t)}},{context:`Scroll`,isActive:t}),Oe((t,r,i)=>{let a=e.current;if(!a)return;let o=JL(a,qL(t,r),e=>l(a,e));o!==null&&(n?.(o,a),i.stopImmediatePropagation())},{isActive:t&&r}),Oe((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=NL(t);if(r){i.moveFocus(r),n.stopImmediatePropagation();return}ML(t)&&i.clearSelection()},{isActive:t}),HL(e,i,t,n),hL(i,t,s),gL(i),null}function HL(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>BL){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(RL,i.getScrollTop());t.captureScrolledRows(u-e+1,u,`below`),t.shiftAnchor(e,0,u),i.scrollBy(-RL)}else{let e=Math.max(0,i.getScrollHeight()-i.getViewportHeight());if(i.getScrollTop()>=e){r();return}let n=Math.min(RL,e-i.getScrollTop());t.captureScrolledRows(l,l+n-1,`above`),t.shiftAnchor(-n,l,u),i.scrollBy(RL)}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,zL)))}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=UL(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 UL(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 WL(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 GL(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 KL(e,t){if(e.getScrollTop()+e.getPendingDelta()-t<=0){e.scrollTo(0);return}e.scrollBy(-t)}function qL(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 JL(e,t,n){switch(t){case null:return null;case`lineUp`:case`lineDown`:{let r=t===`lineDown`?1:-1;return n(r),WL(e,r)}case`halfPageUp`:case`halfPageDown`:{let r=Math.max(1,Math.floor(e.getViewportHeight()/2)),i=t===`halfPageDown`?r:-r;return n(i),WL(e,i)}case`fullPageUp`:case`fullPageDown`:{let r=Math.max(1,e.getViewportHeight()),i=t===`fullPageDown`?r:-r;return n(i),WL(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}}}var YL=r({VoiceKeybindingHandler:()=>$L,useVoiceIntegration:()=>ZL,useVoiceKeybindingHandler:()=>QL});function XL(e,t){return!((e.key===`space`?` `:e.key===`return`?`enter`:e.key.toLowerCase())!==t.key||e.ctrl!==t.ctrl||e.shift!==t.shift||e.meta!==(t.alt||t.meta)||e.superKey!==t.super)}function ZL({setInputValueRaw:e,inputValueRef:t,insertTextRef:n}){let{addNotification:r}=Do(),i=(0,eR.useRef)(null),a=(0,eR.useRef)(``),o=(0,eR.useRef)(null),s=(0,eR.useCallback)((r,{char:s=` `,anchor:c=!1,floor:l=0}={})=>{let u=t.current,d=n.current?.cursorOffset??u.length,f=u.slice(0,d),p=u.slice(d),m=s===` `?Qt(f):f,h=0;for(;h<m.length&&m[m.length-1-h]===s;)h++;let g=Math.max(0,Math.min(h-l,r)),_=h-g,v=f.slice(0,f.length-g),y=``;c&&(i.current=v,a.current=p,p.length>0&&!/^\s/.test(p)&&(y=` `));let b=v+y+p;return c&&(o.current=b),b===u&&g===0||(n.current?n.current.setInputWithCursor(b,v.length):e(b)),_},[e,t,n]),c=(0,eR.useCallback)(()=>{let t=i.current;if(t===null)return;let r=a.current;i.current=null,a.current=``;let o=t+r;n.current?n.current.setInputWithCursor(o,t.length):e(o)},[e,n]),l=DD(),u=qi(e=>e.voiceState),d=qi(e=>e.voiceInterimTranscript);(0,eR.useEffect)(()=>{if(u===`recording`&&i.current===null){let e=t.current,r=n.current?.cursorOffset??e.length;i.current=e.slice(0,r),a.current=e.slice(r),o.current=e}u===`idle`&&(i.current=null,a.current=``,o.current=null)},[u,t,n]),(0,eR.useEffect)(()=>{if(i.current===null)return;let r=i.current,s=a.current;if(t.current!==o.current)return;let c=r.length>0&&!/\s$/.test(r)&&d.length>0,l=s.length>0&&!/^\s/.test(s),u=c?` `:``,f=l?` `:``,p=r+u+d+f+s,m=r.length+u.length+d.length;n.current?n.current.setInputWithCursor(p,m):e(p),o.current=p},[d,e,t,n]);let f=(0,eR.useCallback)(r=>{let s=i.current;if(s===null)return;let c=a.current;if(t.current!==o.current)return;let l=s.length>0&&!/\s$/.test(s)&&r.length>0,u=c.length>0&&!/^\s/.test(c)&&r.length>0,d=l?` `:``,f=u?` `:``,p=s+d+r+f+c,m=s.length+d.length+r.length;n.current?n.current.setInputWithCursor(p,m):e(p),o.current=p,i.current=s+d+r},[e,t,n]),p=tR.useVoice({onTranscript:f,onError:e=>{r({key:`voice-error`,text:e,color:`error`,priority:`immediate`,timeoutMs:1e4})},enabled:l,focusMode:!1}),m=(0,eR.useMemo)(()=>{if(i.current===null||d.length===0)return null;let e=i.current,t=e.length>0&&!/\s$/.test(e)&&d.length>0,n=e.length+ +!!t;return{start:n,end:n+d.length}},[d]);return{stripTrailing:s,resetAnchor:c,handleKeyEvent:p.handleKeyEvent,interimRange:m}}function QL({voiceHandleKeyEvent:e,stripTrailing:t,resetAnchor:n,isActive:r}){let i=dd(),a=ol(),o=pe(),s=Cs(),c=DD(),l=qi(e=>e.voiceState),u=(0,eR.useMemo)(()=>{if(!o)return oR;let e=null;for(let t of o.bindings){if(t.context!==`Chat`||t.chord.length!==1)continue;let n=t.chord[0];n&&(t.action===`voice:pushToTalk`?e=n:e!==null&&me(n,e)&&(e=null))}return e},[o]),d=u!==null&&u.key.length===1&&!u.ctrl&&!u.alt&&!u.shift&&!u.meta&&!u.super?u.key:null,f=(0,eR.useRef)(0),p=(0,eR.useRef)(0),m=(0,eR.useRef)(0),h=(0,eR.useRef)(!1),g=(0,eR.useRef)(null);(0,eR.useEffect)(()=>{l!==`recording`&&(h.current=!1,f.current=0,p.current=0,m.current=0,a(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e))},[l,a]);let _=o=>{if(!c||!r||s||u===null)return;let l;if(d!==null){if(o.ctrl||o.meta||o.shift)return;let e=d===` `?Qt(o.key):o.key;if(e[0]!==d||e.length>1&&e!==d.repeat(e.length))return;l=e.length}else{if(!XL(o,u))return;l=1}let _=i().voiceState;if(h.current&&_!==`idle`){o.stopImmediatePropagation(),d!==null&&t(l,{char:d,floor:m.current}),e();return}if(_!==`idle`){d===null&&o.stopImmediatePropagation();return}let v=f.current;if(f.current+=l,d===null||f.current>=iR){o.stopImmediatePropagation(),g.current&&(clearTimeout(g.current),g.current=null),f.current=0,h.current=!0,a(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e),d===null?(t(0,{anchor:!0}),e(rR)):(m.current=t(p.current+l,{char:d,anchor:!0}),p.current=0,e()),i().voiceState===`idle`&&(h.current=!1,n());return}v>=aR?(o.stopImmediatePropagation(),t(l,{char:d,floor:p.current})):p.current+=l,f.current>=aR&&a(e=>e.voiceWarmingUp?e:{...e,voiceWarmingUp:!0}),g.current&&clearTimeout(g.current),g.current=setTimeout((e,t,n,r)=>{e.current=null,t.current=0,n.current=0,r(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e)},nR,g,f,p,a)};return Oe((e,t,n)=>{let r=new Ae(n.keypress);_(r),r.didStopImmediatePropagation()&&n.stopImmediatePropagation()},{isActive:r}),{handleKeyDown:_}}function $L(e){return QL(e),null}var eR,tR,nR,rR,iR,aR,oR,sR=t((()=>{eR=n(L(),1),Yc(),zo(),zu(),H(),xp(),Un(),kD(),tR=(rS(),e(nS)),nR=120,rR=2e3,iR=5,aR=2,oR={key:` `,ctrl:!1,alt:!1,shift:!1,meta:!1,super:!1}})),cR=r({useFrustrationDetection:()=>uR});function lR(e){return e.filter(e=>e.isApiErrorMessage).length>=2}function uR(e,t,n,r){let[i,a]=(0,dR.useState)(`closed`),o=pn(),s=Ca(`product_feedback`),c=o.transcriptShareDismissed||!s||t||n||r,l=lR(e);return{state:c?`closed`:l&&i===`closed`?`transcript_prompt`:i,handleTranscriptSelect:t=>{c||(t===`yes`?(zP(e,`frustration`,crypto.randomUUID()),a(`submitted`)):(rn(e=>({...e,transcriptShareDismissed:!0})),a(`closed`)))}}}var dR,fR=t((()=>{dR=n(L(),1),Et(),yl(),BP()})),pR=r({useAntOrgWarningNotification:()=>mR});function mR(){}var hR=t((()=>{})),gR=r({useProactive:()=>_R});function _R(e){let t=(0,vR.useRef)(e);t.current=e,(0,vR.useEffect)(()=>{if(!lv())return;let e=null,n=!1,r=!1;function i(){cv(Date.now()+yR),e=setTimeout(()=>{if(e=null,!nv()){i();return}let{isLoading:a,queuedCommandsLength:o,hasActiveLocalJsxUI:s,isInPlanMode:c}=t.current;if(a||c||s||o>0||r){i();return}r=!0,(async()=>{let e=await Ts({basePrompt:`<${Zr}>${new Date().toLocaleTimeString()}</${Zr}>`,currentDir:Mr(),shouldCreate:()=>!n});if(n){await Zo({commands:e});return}let r=[];try{for(let n of e)t.current.onQueueTick(n),r.push(n)}catch(t){throw await Zo({commands:e.filter(e=>!r.includes(e))}),t}})().catch(e=>K(`[Proactive] failed to create tick: ${e}`,{level:`error`})).finally(()=>{r=!1}),i()},yR)}return i(),()=>{n=!0,e!==null&&(clearTimeout(e),e=null),cv(null)}},[lv(),tv(),iv()])}var vR,yR,bR=t((()=>{vR=n(L(),1),ri(),jr(),Vo(),q(),yR=3e4})),xR=r({createScheduledTaskQueuedCommand:()=>SR,useScheduledTasks:()=>CR});async function SR(e,t){let n=await mh({basePrompt:e.prompt,trigger:`scheduled-task`,rootDir:t?.rootDir,currentDir:t?.currentDir??Mr(),sourceId:e.id,sourceLabel:e.prompt,workload:Ft,shouldCreate:t?.shouldCreate});return n||K(`[ScheduledTasks] skipping ${e.id}: previous run still queued or running`),n}function CR({isLoading:e,assistantMode:t=!1,setMessages:n}){let r=(0,TR.useRef)(e);r.current=e;let i=a_(),a=Sa();(0,TR.useEffect)(()=>{if(!A_())return;let e=!1,o=async t=>{let n=await Rs({basePrompt:t,trigger:`scheduled-task`,currentDir:Mr(),workload:Ft,shouldCreate:()=>!e});if(n){if(e){await qh(n.autonomy.runId,n.autonomy.rootDir);return}op(n)}},s=Vy({onFire:e=>{o(e).catch(e=>K(`[ScheduledTasks] failed to enqueue missed task prompt: ${e}`,{level:`error`}))},onFireTask:t=>{(async()=>{if(t.agentId){let n=ba(t.agentId,i.getState().tasks);if(n&&!Hc(n.status)){let r=await SR(t,{shouldCreate:()=>!e});if(!r)return;if(e){await qh(r.autonomy.runId,r.autonomy.rootDir);return}!il(n.id,r.value,{autonomyRunId:r.autonomy?.runId,autonomyRootDir:r.autonomy?.rootDir,origin:r.origin},a)&&r.autonomy?.runId&&await Tm(r.autonomy.runId,`Teammate ${t.agentId} exited before the scheduled message could be delivered.`,r.autonomy.rootDir);return}K(`[ScheduledTasks] teammate ${t.agentId} gone, removing orphaned cron ${t.id}`),T_([t.id]);return}let r=await SR(t,{shouldCreate:()=>!e});if(!r)return;if(e){await qh(r.autonomy.runId,r.autonomy.rootDir);return}let o=pp(`Running scheduled task (${wR(new Date)})`);n(e=>[...e,o]),op(r)})().catch(e=>K(`[ScheduledTasks] failed to enqueue task ${t.id}: ${e}`,{level:`error`}))},isLoading:()=>r.current,assistantMode:t,getJitterConfig:Uy,isKilled:()=>!A_()});return s.start(),()=>{e=!0,s.stop()}},[t])}function wR(e){return e.toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}).replace(/,? at |, /,` `).replace(/ ([AP]M)/,(e,t)=>t.toLowerCase())}var TR,ER=t((()=>{TR=n(L(),1),X(),Mc(),jr(),Gi(),q(),Wg(),nc(),nn()})),DR=r({AntModelSwitchCallout:()=>OR,shouldShowModelSwitchCallout:()=>kR});function OR(e){return null}function kR(){return!1}var AR=t((()=>{})),jR=r({UndercoverAutoCallout:()=>MR});function MR({onDone:e}){return(0,NR.useEffect)(()=>{e()},[e]),null}var NR,PR=t((()=>{NR=n(L(),1)}));ot(),as(),Ai(),f(),H(),mu(),Sb(),Yc(),wg(),q(),s(),Vi(),Vo(),Mv(),Qu(),es(),wi(),Mc(),Co(),Xc(),Uu(),tb(),Gl(),tp(),qd(),Ic(),Dm(),Bm(),Cr(),ii(),jr(),cg(),Ag(),Dl(),fh(),Et(),Gn(),J(),fn(),nc(),wy(),ri(),Ji(),Fm(),Oy(),Sh(),n_(),yh(),kb(),X(),Ps(),_a(),Gh(),Cp(),rr(),Dp(),Ig(),Wg(),Hp(),Vp(),sg(),wh(),bd();var FR=(sR(),e(YL)).useVoiceIntegration,IR=(sR(),e(YL)).VoiceKeybindingHandler,LR=process.env.USER_TYPE===`ant`?(fR(),e(cR)).useFrustrationDetection:()=>({state:`closed`,handleTranscriptSelect:()=>{}}),RR=process.env.USER_TYPE===`ant`?(hR(),e(pR)).useAntOrgWarningNotification:()=>{},zR=(um(),e(nh)).getCoordinatorUserContext,BR=(uv(),e($_)),VR=e=>()=>{},HR=()=>!1,UR=()=>null,WR=(e,t)=>!1,GR=(bR(),e(gR)).useProactive,KR=(ER(),e(xR)).useScheduledTasks,qR=()=>({relayPipeMessage:()=>!1,pipeReturnHadErrorRef:{current:!1}}),JR=()=>({routeToSelectedPipes:()=>!1}),YR=process.env.USER_TYPE===`ant`?(AR(),e(DR)).AntModelSwitchCallout:null,XR=process.env.USER_TYPE===`ant`?(AR(),e(DR)).shouldShowModelSwitchCallout:()=>!1,ZR=process.env.USER_TYPE===`ant`?(PR(),e(jR)).UndercoverAutoCallout:null,QR=[],$R=3e3;function ez(e){let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2==0?Math.round((t[n-1]+t[n])/2):t[n]}function tz({showAllInTranscript:e,virtualScroll:t,searchBadge:n,suppressShowAll:r=!1,status:i}){let a=Ch(`app:toggleTranscript`,`Global`,`ctrl+o`),o=Ch(`transcript:toggleShowAll`,`Transcript`,`ctrl+e`);return(0,$.jsxs)(U,{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)(R,{dimColor:!0,children:[`Showing detailed transcript · `,a,` to toggle`,n?` · n/N to navigate`:t?` · ${p.arrowUp}${p.arrowDown} scroll · home/end top/bottom`:r?``:` · ${o} to ${e?`collapse`:`show all`}`]}),i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{flexGrow:1}),(0,$.jsxs)(R,{children:[i,` `]})]}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{flexGrow:1}),(0,$.jsxs)(R,{dimColor:!0,children:[n.current,`/`,n.count,` `]})]}):null]})}function nz({jumpRef:e,count:t,current:n,onClose:r,onCancel:i,setHighlight:a,initialQuery:o}){let{query:s,cursorOffset:c}=ix({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)(U,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,noSelect:!0,children:[(0,$.jsx)(R,{children:`/`}),(0,$.jsx)(R,{children:s.slice(0,f)}),(0,$.jsx)(R,{inverse:!0,children:p}),f<s.length&&(0,$.jsx)(R,{children:s.slice(f+1)}),(0,$.jsx)(U,{flexGrow:1}),l===`building`?(0,$.jsx)(R,{dimColor:!0,children:`indexing… `}):l?(0,$.jsxs)(R,{dimColor:!0,children:[`indexed in `,l.ms,`ms `]}):t===0&&s?(0,$.jsx)(R,{color:`error`,children:`no matches `}):t>0?(0,$.jsxs)(R,{dimColor:!0,children:[n,`/`,t,` `]}):null]})}var rz=[`⠂`,`⠐`],iz=`✳`,az=960;function oz({isAnimating:e,title:t,disabled:n,noPrefix:r}){let i=le(),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(n||r||!e||!i)return;let t=setInterval(e=>e(e=>(e+1)%rz.length),az,o);return()=>clearInterval(t)},[n,r,e,i]);let s=e?rz[a]??iz:iz;return ve(n?null:r?t:`${s} ${t}`),null}var sz=`<${ei}>`;function cz(e){return e.type===`text`&&typeof e.text==`string`&&e.text.includes(sz)}function lz({commands:t,debug:n,initialTools:r,initialMessages:i,pendingHookMessages:a,initialFileHistorySnapshots:o,initialContentReplacements:s,initialAgentName:l,initialAgentColor:u,mcpClients:d,dynamicMcpConfig:f,autoConnectIdeFlag:p,strictMcpConfig:m=!1,systemPrompt:h,appendSystemPrompt:g,onBeforeQuery:_,onTurnComplete:v,disabled:y=!1,mainThreadAgentDefinition:b,disableSlashCommands:x=!1,taskListId:S,remoteSessionConfig:C,directConnectConfig:w,sshSession:E,thinkingConfig:D}){let O=!!C,j=(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),M=(0,Q.useMemo)(()=>process.env.USER_TYPE===`ant`&&c(process.env.CLAUDE_MORERIGHT),[]),N=(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]);(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS),[]),(0,Q.useEffect)(()=>(K(`[REPL:mount] REPL mounted, disabled=${y}`),()=>K(`[REPL:unmount] REPL unmounting`)),[y]);let[P,ee]=(0,Q.useState)(b),F=Z(e=>e.toolPermissionContext),te=Z(e=>e.verbose),ne=Z(e=>e.mcp),re=Z(e=>e.plugins),L=Z(e=>e.agentDefinitions),oe=Z(e=>e.fileHistory),se=Z(e=>e.initialMessage),ue=iD(),de=Z(e=>e.spinnerTip),fe=Z(e=>e.expandedView)===`tasks`,pe=Z(e=>e.pendingWorkerRequest),me=Z(e=>e.pendingSandboxRequest),z=Z(e=>e.teamContext),B=Z(e=>e.tasks),he=Z(e=>e.workerSandboxPermissions),ge=Z(e=>e.elicitation),_e=Z(e=>e.ultraplanPendingChoice),ve=Z(e=>e.ultraplanLaunchPending),ye=Z(e=>e.viewingAgentTaskId),V=Sa(),be=ye?B[ye]:void 0,xe=co(be)&&be.retain&&!be.diskLoaded;(0,Q.useEffect)(()=>{if(!ye||!xe)return;let e=ye;bf(Gd(e)).then(t=>{V(n=>{let r=n.tasks[e];if(!co(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}}}})})},[ye,xe,V]);let H=a_(),we=A(),Te=Ob(),[Ee,De]=(0,Q.useState)(t);hP(O?void 0:vt(),De);let ke=Q.useSyncExternalStore(BR?.subscribeToProactiveChanges??VR,BR?.isProactiveActive??HR),Ae=Q.useSyncExternalStore(BR?.subscribeToProactiveChanges??VR,BR?.getNextTickAt??UR),je=Z(e=>e.isBriefOnly),Pe=(0,Q.useMemo)(()=>Ws(F),[F,ke,je]);Cx();let[Ie,Le]=(0,Q.useState)(f),Re=(0,Q.useCallback)(e=>{Le(e)},[Le]),[ze,Ve]=(0,Q.useState)(`prompt`),[Ge,Ke]=(0,Q.useState)(!1),[Je,Ze]=(0,Q.useState)(!1),[Qe,$e]=(0,Q.useState)(``),it=(0,Q.useRef)(0),ot=(0,Q.useRef)(void 0),st=(0,Q.useRef)(!1),{addNotification:ut,removeNotification:dt}=Do(),mt=WR,ht=pP(d,ne.clients),[gt,_t]=(0,Q.useState)(void 0),[yt,xt]=(0,Q.useState)(null),[Ct,Tt]=(0,Q.useState)(null),[Et,Dt]=(0,Q.useState)(!1),[Ot,kt]=(0,Q.useState)(()=>process.env.USER_TYPE===`ant`?XR():!1),[jt,Mt]=(0,Q.useState)(()=>IP(Te)),Nt=Z(e=>e.showRemoteCallout),[Pt,Ft]=(0,Q.useState)(()=>pS());AI(),NI(),OI({ideSelection:gt,mcpClients:ht,ideInstallationStatus:Ct}),BF({mcpClients:ht}),gI(),_I(),ox(),CI(Te),GI(),wI(Te),EI(),RR(),fF(),SF(),OF(),UF(),BI();let{recommendation:It,handleResponse:Lt}=aI(),{recommendation:Rt,handleResponse:zt}=cI(),Bt=hI(),Vt=(0,Q.useMemo)(()=>[...Pe,...r],[Pe,r]);Ay({enabled:!O});let Ht=cd();(0,Q.useEffect)(()=>{O||bI(V)},[V,O]),AF(O?QR:ht,F.mode),BN(V,i,{enabled:!O});let Ut=bb(Vt,ne.tools,F),{tools:Wt,allowedAgentTypes:Gt}=(0,Q.useMemo)(()=>{if(!P)return{tools:Ut,allowedAgentTypes:void 0};let e=$d(P,Ut,!1,!0);return{tools:e.resolvedTools,allowedAgentTypes:e.allowedAgentTypes}},[P,Ut]),Kt=mP(mP(Ee,re.commands),ne.commands),qt=(0,Q.useMemo)(()=>x?[]:Kt,[x,Kt]);wC(O?QR:ne.clients),vP(O?QR:ne.clients,_t);let[Jt,Yt]=(0,Q.useState)(`responding`),Xt=(0,Q.useRef)(Jt);Xt.current=Jt;let[Zt,Qt]=(0,Q.useState)([]),[$t,tn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if($t&&!$t.isStreaming&&$t.streamingEndedAt){let e=3e4-(Date.now()-$t.streamingEndedAt);if(e>0){let t=setTimeout(tn,e,null);return()=>clearTimeout(t)}else tn(null)}},[$t]);let[nn,an]=(0,Q.useState)(null),on=(0,Q.useRef)(null);on.current=nn;let sn=(0,Q.useRef)(()=>{}),cn=(0,Q.useRef)(()=>{}),ln=(0,Q.useRef)(null),un=(0,Q.useRef)(null),dn=(0,Q.useRef)(0),fn=Q.useRef(new nC).current,mn=Q.useSyncExternalStore(fn.subscribe,fn.getSnapshot),[hn,gn]=Q.useState(C?.hasInitialPrompt??!1),W=mn||hn,[_n,vn]=Q.useState(void 0),yn=Q.useRef(0),bn=Q.useRef(!1),xn=Q.useRef(0),Sn=Q.useRef(0),Cn=Q.useRef(null),Tn=Q.useCallback(()=>{xn.current=Date.now(),Sn.current=0,Cn.current=null},[]),En=Q.useRef(!1);mn&&!En.current&&Tn(),En.current=mn;let Dn=Q.useCallback(e=>{gn(e),e&&Tn()},[Tn]),On=Q.useRef(null),kn=Q.useRef(void 0),An=Q.useRef(void 0),[jn,Mn]=Q.useState(!1),[Nn,Pn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{Nn?.notifications&&Nn.notifications.forEach(e=>{ut({key:`auto-updater-notification`,text:e,priority:`low`})})},[Nn,ut]),(0,Q.useEffect)(()=>{ca()&&Jh().then(e=>{e&&ut({key:`tmux-mouse-hint`,text:e,priority:`low`})})},[]);let[Fn,In]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{process.env.USER_TYPE===`ant`&&(async()=>{let{isInternalModelRepo:e}=await import(`./commitAttribution-B4DOgUS7.js`);await e();let{shouldShowUndercoverAutoNotice:t}=await import(`./undercover-DUrQYxYo.js`);t()&&In(!0)})()},[]);let[Ln,Rn]=(0,Q.useState)(null),zn=(0,Q.useRef)(null),Bn=(0,Q.useCallback)(e=>{if(e?.isLocalJSXCommand){let{clearLocalJSX:t,...n}=e;zn.current={...n,isLocalJSXCommand:!0},Rn(n);return}if(zn.current){if(e?.clearLocalJSX){zn.current=null,Rn(null);return}return}if(e?.clearLocalJSX){Rn(null);return}Rn(e)},[]),[Vn,Un]=(0,Q.useState)([]),[Wn,Gn]=(0,Q.useState)(null),[Kn,qn]=(0,Q.useState)([]),[Jn,Yn]=(0,Q.useState)([]),Xn=(0,Q.useRef)(new Map),Zn=Z(e=>e.settings.terminalTitleFromRename)===!1?void 0:hp(Fe()),[Qn,$n]=(0,Q.useState)(),er=(0,Q.useRef)((i?.length??0)>0),tr=P?.agentType,nr=Zn??tr??Qn??`Claude Code`,rr=Vn.length>0||Jn.length>0||pe||me,ir=Ln?.isLocalJSXCommand===!0&&Ln?.jsx!=null,ar=W&&!rr&&!ir;(0,Q.useEffect)(()=>{if(W&&!rr&&!ir)return YS(),()=>XS()},[W,rr,ir]);let or=rr||ir?`waiting`:W?`busy`:`idle`,sr=or===`waiting`?Vn.length>0?`approve ${Vn[0].tool.name}`:pe?`worker request`:me?`sandbox request`:ir?`dialog open`:`input needed`:void 0;(0,Q.useEffect)(()=>{pf({status:or,waitingFor:sr})},[or,sr]);let cr=wn(`tengu_terminal_sidebar`,!1)&&(pn().showStatusInTerminalTab??!1);T(j||!cr?null:or),(0,Q.useEffect)(()=>(ms(Un),()=>Sl()),[Un]);let[lr,ur]=(0,Q.useState)(i??[]),dr=(0,Q.useRef)(lr),fr=(0,Q.useRef)(!1),G=(0,Q.useCallback)(e=>{let t=dr.current,n=typeof e==`function`?e(dr.current):e;if(dr.current=n,n.length<yn.current)yn.current=0;else if(n.length>t.length&&bn.current){let e=n.length-t.length;(t.length===0||n[0]===t[0]?n.slice(-e):n.slice(0,e)).some(uc)?bn.current=!1:yn.current=n.length}ur(n)},[]),pr=(0,Q.useCallback)(e=>{e===void 0?bn.current=!1:(yn.current=dr.current.length,bn.current=!0),vn(e)},[]),{dividerIndex:mr,dividerYRef:hr,onScrollAway:gr,onRepin:_r,jumpToNew:vr,shiftDivider:xr}=_x(lr.length);bF(lr,G,W);let[Sr,Cr]=(0,Q.useState)(null),wr=(0,Q.useRef)(null),Tr=(0,Q.useMemo)(()=>mx(lr,mr),[mr,lr.length]),Er=(0,Q.useCallback)(()=>{ln.current?.scrollToBottom(),_r(),Cr(null)},[_r,Cr]),Dr=lr.at(-1),Or=Dr!=null&&uc(Dr);(0,Q.useEffect)(()=>{Or&&Er()},[Or,Dr,Er]);let{maybeLoadOlder:q}=mN({config:C,setMessages:G,scrollRef:ln,onPrepend:xr}),kr=(0,Q.useCallback)((e,t)=>{dn.current=Date.now(),e?_r():(gr(t),q(t),V(e=>e.companionReaction===void 0?e:{...e,companionReaction:void 0}))},[_r,gr,q,V]),Ar=AN(a,G),J=(0,Q.useDeferredValue)(Q.useMemo(()=>lr.length>500?lr.slice(-500):lr,[lr])),jr=lr.length-J.length;jr>0&&K(`[useDeferredValue] Messages deferred by ${jr} (${J.length}→${lr.length})`);let[Nr,Pr]=(0,Q.useState)(null),[Fr,Ir]=(0,Q.useState)(()=>aS()),Lr=(0,Q.useRef)(Fr);Lr.current=Fr;let Rr=(0,Q.useRef)(null),zr=(0,Q.useCallback)(e=>{mt(Lr.current,e)||(Lr.current===``&&e!==``&&Date.now()-dn.current>=$R&&Er(),Lr.current=e,Ir(e),Mn(e.trim().length>0))},[Mn,Er,mt]);(0,Q.useEffect)(()=>{if(Fr.trim().length===0)return;let e=setTimeout(Mn,1500,!1);return()=>clearTimeout(e)},[Fr]);let[Br,Vr]=(0,Q.useState)(`prompt`),[Hr,Ur]=(0,Q.useState)(),Wr=(0,Q.useCallback)(e=>{let t=new Set(e);De(e=>e.filter(e=>t.has(e.name)||vs.has(e)))},[De]),[Gr,Kr]=(0,Q.useState)(new Set),qr=(0,Q.useRef)(!1),Jr=$M({config:C,setMessages:G,setIsLoading:Dn,onInit:Wr,setToolUseConfirmQueue:Un,tools:Vt,setStreamingToolUses:Qt,setStreamMode:Yt,setInProgressToolUseIDs:Kr}),Yr=nN({config:w,setMessages:G,setIsLoading:Dn,setToolUseConfirmQueue:Un,tools:Vt}),Xr=rN({session:E,setMessages:G,setIsLoading:Dn,setToolUseConfirmQueue:Un,tools:Vt}),Zr=Xr.isRemoteMode?Xr:Yr.isRemoteMode?Yr:Jr,[Qr,ei]=(0,Q.useState)({}),[ti,ni]=(0,Q.useState)(0),ri=(0,Q.useRef)(0),ii=(0,Q.useRef)([]),oi=(0,Q.useCallback)(e=>{let t=ri.current;if(ri.current=e(t),ri.current>t){let e=ii.current;if(e.length>0){let t=e.at(-1);t.lastTokenTime=Date.now(),t.endResponseLength=ri.current}}},[]),[si,ci]=(0,Q.useState)(null),li=!(Z(e=>e.settings.prefersReducedMotion)??!1)&&!Se(),ui=(0,Q.useCallback)(e=>{li&&ci(e)},[li]),di=si&&li&&si.substring(0,si.lastIndexOf(`
93
- `)+1)||null,[fi,pi]=(0,Q.useState)(0),[mi,hi]=(0,Q.useState)(null),[gi,_i]=(0,Q.useState)(null),[vi,yi]=(0,Q.useState)(null),[Si,Ci]=(0,Q.useState)(!1),[wi,Ei]=(0,Q.useState)(void 0),[Di,Oi]=(0,Q.useState)(!1),[ki,Ai]=(0,Q.useState)(AS()),[ji,Mi]=(0,Q.useState)(null),Ni=(0,Q.useRef)(!1),Pi=(0,Q.useRef)(fi);Pi.current=fi;let[Li]=(0,Q.useState)(()=>({current:Ud(i,s)}));ep(()=>{Li.current=Sd()});let[Ri,zi]=(0,Q.useState)(pn().hasAcknowledgedCostThreshold),[Bi,Vi]=(0,Q.useState)(`INSERT`),[Hi,Ui]=(0,Q.useState)(!1),[Wi,Gi]=(0,Q.useState)(!1),[Ki,qi]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{_e&&Hi&&Ui(!1)},[_e,Hi]);let Ji=le(),Yi=(0,Q.useRef)(Ji);Yi.current=Ji;let[Qi]=ae(),$i=Q.useRef(!1),ea=(0,Q.useCallback)(()=>{if($i.current)return;$i.current=!0;let e=dr.current.slice(Oa.current);for(let t of ua(e))Da.current.add(t);Oa.current=dr.current.length,NF({theme:Qi,readFileState:Ea.current,bashTools:Da.current}).then(async e=>{if(e){let t=await e.content({theme:Qi});V(e=>({...e,spinnerTip:t})),PF(e)}else V(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[V,Qi]),ta=(0,Q.useCallback)(()=>{Dn(!1),pr(void 0),ri.current=0,ii.current=[],ci(null),Qt([]),hi(null),_i(null),yi(null),ea(),pv(),gg()},[ea]),na=(0,Q.useMemo)(()=>Bp(B).some(e=>e.status===`running`),[B]);(0,Q.useEffect)(()=>{if(!na&&On.current!==null){let e=Date.now()-On.current,t=kn.current;On.current=null,kn.current=void 0,G(n=>[...n,Og(e,t,xi(n,Lo))])}},[na,G]);let ra=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{{if(F.mode!==`auto`){ra.current=!1;return}if(ra.current||(pn().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,rn(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,Ad(VF,`warning`)])},800,ra,G);return()=>clearTimeout(e)}},[F.mode,G]);let ia=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(ia.current)return;let e=qg();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;ia.current=!0;let t=Math.round(e.creationDurationMs/1e3);G(e=>[...e,Ad(`Worktree creation took ${t}s. For large repos, set \`worktree.sparsePaths\` in .claude/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,`info`)])},[G]);let oa=(0,Q.useMemo)(()=>{let e=lr.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`&&Gr.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[lr,Gr]),{onBeforeQuery:la,onTurnComplete:da,render:fa}=DN({enabled:M,setMessages:G,inputValue:Fr,setInputValue:zr,setToolJSX:Bn}),pa=(!Ln||Ln.showSpinner===!0)&&Vn.length===0&&Jn.length===0&&(W||_n||na||wd()>0)&&!pe&&!oa&&(!di||je),ma=Vn.length>0||Jn.length>0||Kn.length>0||ge.queue.length>0||he.queue.length>0,ha=WP(lr,W,ti,`session`,ma),ga=EN(G),va=aL(lr,ti),ya=(0,Q.useMemo)(()=>({...ha,handleSelect:e=>{Ia.current=!1;let t=ha.handleSelect(e);e===`bad`&&!t&&JI(`feedback_survey_bad`)&&(Fa(`feedback_survey_bad`),Ia.current=!0)}}),[ha]),ba=rF(lr,W,ma,{enabled:!O}),xa=QP(lr,W,ma,{enabled:!O}),Ca=LR(lr,W,ma,ya.state!==`closed`||ba.state!==`closed`||xa.state!==`closed`);kP({autoConnectIdeFlag:p,ideToInstallExtension:yt,setDynamicMcpConfig:Le,setShowIdeOnboarding:Dt,setIDEInstallationState:Tt}),FF(o,oe,e=>V(t=>({...t,fileHistory:e})));let wa=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=qa(n.messages);{let t=(um(),e(nh)).matchSessionMode(n.mode);if(t){let{getAgentDefinitionsWithOverrides:n,getActiveAgentsFromList:r}=(Im(),e(og));n.cache.clear?.();let i=await n(ft());V(e=>({...e,agentDefinitions:{...i,allAgents:i.allAgents,activeAgents:r(i.allAgents)}})),a.push(Ad(t,`warning`))}}let o=mg();await rd(`resume`,{getAppState:()=>H.getState(),setAppState:V,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await Xp(`resume`,{sessionId:t,agentType:P?.agentType,model:Te});a.push(...s),r===`fork`?cs(n,Ug(t)):pu(n,Ug(t)),cb(n,V),n.fileHistorySnapshots&&sa(n);let{agentDefinition:c}=ob(n.agentSetting,b,L);ee(c),V(e=>({...e,agent:c?.agentType})),V(e=>({...e,standaloneAgentContext:sb(n.agentName,n.agentColor)})),sh(n.agentName),ja(a,n.projectPath??ft()),ta(),an(null),Ai(t);let l=fp(t);Dg(),St(),lt(Ug(t),n.fullPath?xS(n.fullPath):null);let{renameRecordingForSession:u}=await import(`./asciicast-C3nf97NR.js`);if(await u(),await hf(),Nm(),Uf(n),er.current=!0,$n(void 0),r!==`fork`)lb(),ub(n.worktreeSession),td(),Qm({abortController:new AbortController,getAppState:()=>H.getState(),setAppState:V});else{let e=qg();e&&Kg(e)}{let{saveMode:t}=(_a(),e(Ng)),{isCoordinatorMode:n}=(um(),e(nh));t(n()?`coordinator`:`normal`)}l&&ct(l),Li.current&&r!==`fork`&&(Li.current=Vg(a,n.contentReplacements??[])),G(()=>a),Bn(null),zr(``),Y(`tengu_session_resumed`,{entrypoint:r,success:!0,resume_duration_ms:Math.round(performance.now()-i)})}catch(e){throw Y(`tengu_session_resumed`,{entrypoint:r,success:!1}),e}},[ta,V]),[Ta]=(0,Q.useState)(()=>X_(100)),Ea=(0,Q.useRef)(Ta),Da=(0,Q.useRef)(new Set),Oa=(0,Q.useRef)(0),ka=(0,Q.useRef)(new Set),Aa=(0,Q.useRef)(new Set),ja=(0,Q.useCallback)((e,t)=>{let n=Ap(e,t,100);Ea.current=Q_(Ea.current,n);for(let t of ua(e))Da.current.add(t)},[]);(0,Q.useEffect)(()=>{i&&i.length>0&&(ja(i,ft()),Qm({abortController:new AbortController,getAppState:()=>H.getState(),setAppState:V}))},[]);let{status:Ma,reverify:Na}=jN(),[Pa,Fa]=(0,Q.useState)(null),Ia=(0,Q.useRef)(!1),[La,Ra]=(0,Q.useState)(null),[za,Va]=(0,Q.useState)(!1),Ha=!W&&Di;function Ua(){if(za||La)return;if(Si)return`message-selector`;if(jn)return;if(Kn[0])return`sandbox-permission`;let e=!Ln||Ln.shouldContinueAnimation;if(e&&Vn[0])return`tool-permission`;if(e&&Jn[0])return`prompt`;if(e&&he.queue[0])return`worker-sandbox-permission`;if(e&&ge.queue[0])return`elicitation`;if(e&&Ha)return`cost`;if(e&&ji)return`idle-return`;if(e&&!W&&_e)return`ultraplan-choice`;if(e&&!W&&ve)return`ultraplan-launch`;if(e&&Et)return`ide-onboarding`;if(process.env.USER_TYPE===`ant`&&e&&Ot)return`model-switch`;if(process.env.USER_TYPE===`ant`&&e&&Fn)return`undercover-callout`;if(e&&jt)return`effort-callout`;if(e&&Nt)return`remote-callout`;if(e&&It)return`lsp-recommendation`;if(e&&Rt)return`plugin-hint`;if(e&&Bt.visible)return`search-extra-tools-hint`;if(e&&Pt)return`desktop-upsell`}let Wa=Ua(),Ga=jn&&(Kn[0]||Vn[0]||Jn[0]||he.queue[0]||ge.queue[0]||Ha);An.current=Wa,(0,Q.useEffect)(()=>{if(!W)return;let e=Wa===`tool-permission`,t=Date.now();e&&Cn.current===null?Cn.current=t:!e&&Cn.current!==null&&(Sn.current+=t-Cn.current,Cn.current=null)},[Wa,W]);let Ka=(0,Q.useRef)(Wa);(0,Q.useLayoutEffect)(()=>{Ka.current===`tool-permission`!=(Wa===`tool-permission`)&&Er(),Ka.current=Wa},[Wa,Er]);function Ja(){if(Wa!==`elicitation`){if(K(`[onCancel] focusedInputDialog=${Wa} streamMode=${Jt}`),BR?.pauseProactive(),fn.forceEnd(),Ni.current=!1,si?.trim()&&G(e=>[...e,sm({content:si})]),ta(),Ne(null),Wa===`tool-permission`)Vn[0]?.onAbort(),Un([]);else if(Wa===`prompt`){for(let e of Jn)e.reject(Error(`Prompt cancelled by user`));Yn([]),nn?.abort(`user-cancel`)}else Zr.isRemoteMode?Zr.cancelRequest():nn?.abort(`user-cancel`);an(null),da(dr.current,!0)}}let Ya=(0,Q.useCallback)(()=>{let e=Yl(Fr,0);e&&(zr(e.text),Vr(`prompt`),e.images.length>0&&ei(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[zr,Vr,Fr,ei]),Xa={setToolUseConfirmQueue:Un,onCancel:Ja,onAgentsKilled:()=>G(e=>[...e,Jm()]),isMessageSelectorVisible:Si||!!Hi,screen:ze,abortSignal:nn?.signal,popCommandFromQueue:Ya,vimMode:Bi,isLocalJSXCommand:Ln?.isLocalJSXCommand,isSearchingHistory:Wi,isHelpOpen:Ki,inputMode:Br,inputValue:Fr,streamMode:Jt};(0,Q.useEffect)(()=>{Ue()>=5&&!Di&&!Ri&&(Y(`tengu_cost_threshold_reached`,{}),zi(!0),en()&&Oi(!0))},[lr,Di,Ri]);let Za=(0,Q.useCallback)(async e=>{if(Hn()&&Vu()){let t=Os(),n=await Zi(e.host,t);return new Promise(r=>{if(!n){qn(t=>[...t,{hostPattern:e,resolvePromise:r}]);return}zs({requestId:t,host:e.host,resolve:r}),V(n=>({...n,pendingSandboxRequest:{requestId:t,host:e.host}}))})}return new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}qn(t=>[...t,{hostPattern:e,resolvePromise:r}]);{let t=H.getState().replBridgePermissionCallbacks;if(t){let n=AS();t.sendRequest(n,qy,{host:e.host},AS(),`Allow network connection to ${e.host}?`);let r=t.onResponse(n,t=>{r();let n=t.behavior===`allow`;qn(t=>(t.filter(t=>t.hostPattern.host===e.host).forEach(e=>e.resolvePromise(n)),t.filter(t=>t.hostPattern.host!==e.host)));let i=Xn.current.get(e.host);if(i){for(let e of i)e();Xn.current.delete(e.host)}}),i=()=>{r(),t.cancelRequest(n)},a=Xn.current.get(e.host)??[];a.push(i),Xn.current.set(e.host,a)}}})},[V,H]);(0,Q.useEffect)(()=>{let e=Nh.getSandboxUnavailableReason();if(e){if(Nh.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),sl(1,`other`);return}K(`sandbox disabled: ${e}`,{level:`warn`}),ut({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(R,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[ut]),Nh.isSandboxingEnabled()&&Nh.initialize(Za).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${br(e)}\n`),sl(1,`other`)});let Qa=(0,Q.useCallback)((e,t)=>{V(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},Un)},[V,Un]);(0,Q.useEffect)(()=>(ko(Qa),()=>Zs()),[Qa]);let $a=iP(Un,Qa),eo=(0,Q.useCallback)((e,t,r,i)=>{let a=H.getState(),o=()=>{let e=H.getState(),t=Jy(Vt,fu(e.toolPermissionContext,e.mcp.tools),e.toolPermissionContext.mode);return P?$d(P,t,!1,!0).resolvedTools:t};return{abortController:r,options:{commands:qt,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:D,mcpClients:fP(d,a.mcp.clients),mcpResources:a.mcp.resources,ideInstallationStatus:Ct,isNonInteractiveSession:!1,dynamicMcpConfig:Ie,theme:Qi,agentDefinitions:Gt?{...a.agentDefinitions,allowedAgentTypes:Gt}:a.agentDefinitions,customSystemPrompt:h,appendSystemPrompt:g,refreshTools:o},getAppState:()=>H.getState(),setAppState:V,messages:e,setMessages:G,updateFileHistoryState(e){V(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){V(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{y||Ci(!0)},onChangeAPIKey:Na,readFileState:Ea.current,setToolJSX:Bn,addNotification:ut,appendSystemMessage:e=>G(t=>[...t,e]),sendOSNotification:e=>{e_(e,we)},onChangeDynamicMcpConfig:Re,onInstallIDEExtension:xt,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Aa.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:ka.current,setResponseLength:oi,pushApiMetricsEntry:process.env.USER_TYPE===`ant`?e=>{let t=Date.now(),n=ri.current;ii.current.push({ttftMs:e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})}:void 0,setStreamMode:Yt,onCompactProgress:e=>{switch(e.type){case`hooks_start`:_i(`claudeBlue_FOR_SYSTEM_SPINNER`),yi(`claudeBlueShimmer_FOR_SYSTEM_SPINNER`),hi(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:hi(`Compacting conversation`);break;case`compact_end`:hi(null),_i(null),yi(null);break}},setInProgressToolUseIDs:Kr,setHasInterruptibleToolInProgress:e=>{qr.current=e},resume:wa,setConversationId:Ai,requestPrompt:void 0,contentReplacementState:Li.current}},[qt,Vt,P,n,d,Ct,Ie,Qi,Gt,H,V,Na,ut,G,Re,wa,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{Yn(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),y,h,g,Ai]),{handleBackgroundSession:to}=jP({setMessages:G,setIsLoading:Dn,resetLoadingState:ta,setAbortController:an,onBackgroundQuery:(0,Q.useCallback)(()=>{nn?.abort(`background`);let e=mo(e=>e.mode===`task-notification`);(async()=>{let t=eo(dr.current,[],new AbortController,Te),[n,r,i]=await Promise.all([xf(t.options.tools,Te,Array.from(F.additionalWorkingDirectories.keys()),t.options.mcpClients),Eg(),Od()]),a=Of({mainThreadAgentDefinition:P,toolUseContext:t,customSystemPrompt:h,defaultSystemPrompt:n,appendSystemPrompt:g});t.renderedSystemPrompt=a;let o=(await Rc(e).catch(()=>[])).map(vo),s=new Set;for(let e of dr.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)));Th({messages:[...dr.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:$a,toolUseContext:t,querySource:xg()},description:nr,setAppState:V,agentDefinition:P})})()},[nn,Te,F,P,eo,h,g,$a,V])}),no=(0,Q.useCallback)(e=>{nl(e,e=>{Ol(e)?(ca()?G(t=>{let n=Uc(t,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,e]}):G(()=>[e]),Ai(AS()),BR?.setContextBlocked(!1)):e.type===`progress`&&kc(e.data?.type)?G(t=>{let n=e.data;for(let r=t.length-1;r>=0;r--){let i=t[r];if(i.type!==`progress`)break;let a=i.data;if(i.parentToolUseID===e.parentToolUseID&&a?.type===n.type){let n=t.slice();return n[r]=e,n}}return[...t,e]}):G(t=>[...t,e]),e.type===`assistant`&&`isApiErrorMessage`in e&&e.isApiErrorMessage?BR?.setContextBlocked(!0):e.type===`assistant`&&BR?.setContextBlocked(!1)},e=>{oi(t=>t+e.length)},Yt,Qt,e=>{G(t=>t.filter(t=>t!==e)),af(e.uuid)},tn,e=>{let t=Date.now(),n=ri.current;ii.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},ui)},[G,oi,Yt,Qt,tn,ui]),ro=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{if(r){let e=fP(d,H.getState().mcp.clients);_s.handleQueryStart(e);let t=Xi(e);t&&Zu(t)}if(Zv(),!j&&!Zn&&!tr&&!er.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?bo(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(er.current=!0,Cy(n,new AbortController().signal).then(e=>{e?$n(e):er.current=!1},()=>{er.current=!1}))}if(H.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(Ol)&&(Ai(AS()),BR?.setContextBlocked(!1)),ta(),an(null);return}let s=eo(e,t,n,a),{tools:c,mcpClients:l}=s.options;if(o!==void 0){let e=s.getAppState;s.getAppState=()=>({...e(),effortValue:o})}Ep(`query_context_loading_start`);let[,,u,f,p]=await Promise.all([void 0,Tx(F,V,H.getState().fastMode),xf(c,a,Array.from(F.additionalWorkingDirectories.keys()),l),Eg(),Od()]),m={...f,...zR(l,p_()?Io():void 0),...BR?.isProactiveActive()&&!Yi.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};Ep(`query_context_loading_end`);let _=Of({mainThreadAgentDefinition:P,toolUseContext:s,customSystemPrompt:h,defaultSystemPrompt:u,appendSystemPrompt:g});s.renderedSystemPrompt=_,Ep(`query_query_start`),bt(),Xe(),at();for await(let t of bs({messages:e,systemPrompt:_,userContext:m,systemContext:p,canUseTool:$a,toolUseContext:s,querySource:xg()}))no(t);if(typeof globalThis.fireCompanionObserver==`function`){let e=globalThis.fireCompanionObserver;e(dr.current,e=>V(t=>t.companionReaction===e?t:{...t,companionReaction:e}))}if(Ep(`query_end`),process.env.USER_TYPE===`ant`&&ii.current.length>0){let e=ii.current,t=e.map(e=>e.ttftMs),n=e.map(e=>{let t=Math.round((e.endResponseLength-e.responseLengthBaseline)/4),n=e.lastTokenTime-e.firstTokenTime;return n>0?Math.round(t/(n/1e3)):0}),r=e.length>1,i=nt(),a=Be(),o=qe(),s=rt(),c=pt(),l=He(),u=Date.now()-xn.current;G(e=>[...e,Hh({ttftMs:r?ez(t):t[0],otps:r?ez(n):n[0],isP50:r,hookDurationMs:i>0?i:void 0,hookCount:a>0?a:void 0,turnDurationMs:u>0?u:void 0,toolDurationMs:o>0?o:void 0,toolCount:s>0?s:void 0,classifierDurationMs:c>0?c:void 0,classifierCount:l>0?l:void 0,configWriteCount:At()})])}ta(),Ah(),await v?.(dr.current)},[d,ta,eo,F,V,h,v,g,$a,P,no,Zn,j]),io=(0,Q.useCallback)(async(e,t,n,r,i,a,o,s)=>{if(Hn()){let e=bi(),t=Ti();e&&t&&Lv(e,t,!0)}let c=fn.tryStart();if(c===null)return Y(`tengu_concurrent_onquery_detected`,{}),e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>bo(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{dm({value:e,mode:`prompt`}),t===0&&Y(`tengu_concurrent_onquery_enqueued`,{})}),!1;try{No.current=!1,Tn(),G(t=>[...t,...e]),ri.current=0,Ne((o?lu(o):null)??Me()),ii.current=[],Qt([]),ci(null);let c=dr.current;if(o&&await la(o,c,e.length),a&&o&&!await a(o,c))return!0;try{await ro(c,e,t,n,r,i,s)}catch(e){throw e}}finally{if(fn.end(c)){pi(Date.now()),Ni.current=!1,ta(),await da(dr.current,t.signal.aborted),sn.current(),process.env.USER_TYPE===`ant`&&!t.signal.aborted&&V(e=>e.tungstenActiveSession===void 0||e.tungstenPanelAutoHidden===!0?e:{...e,tungstenPanelAutoHidden:!0});let e;Me()!==null&&Me()>0&&!t.signal.aborted&&(e={tokens:tt(),limit:Me(),nudges:Ye()}),Ne(null);let n=Date.now()-xn.current-Sn.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!ke&&(Bp(H.getState().tasks).some(e=>e.status===`running`)?(On.current===null&&(On.current=xn.current),e&&(kn.current=e)):G(t=>[...t,Og(n,e,xi(t,Lo))])),an(null)}if(t.signal.reason===`user-cancel`&&!fn.isActive&&Lr.current===``&&wd()===0&&!H.getState().viewingAgentTaskId){let e=dr.current,t=e.findLast(Xy);t&&Qy(e,e.lastIndexOf(t))&&(Ba(),cn.current(t))}}return!0},[ro,V,ta,fn,la,da]),ao=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=se;if(!e||W||ao.current)return;ao.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?Gs():void 0,{clearConversation:n}=await import(`./conversation-C23rDJe3.js`);await n({setMessages:G,readFileState:Ea.current,discoveredSkillNames:ka.current,loadedNestedMemoryPaths:Aa.current,getAppState:()=>H.getState(),setAppState:V,setConversationId:Ai}),er.current=!1,$n(void 0),Da.current.clear(),Oa.current=0,t&&ad(Fe(),t)}V(t=>{let n=e.mode?Ph(t.toolPermissionContext,LT(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=Jc({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),ag()&&Op(e=>{V(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Ar();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)oo(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=Pc();an(t),io([e.message],t,!0,[],Te)}setTimeout(e=>{e.current=!1},100,ao)}t(e)},[se,W,G,V,io,Te,Wt]);let oo=(0,Q.useCallback)(async(e,t,n,r)=>{if(Er(),BR?.resumeProactive(),Fo(e)){let n=Yd({content:e});G(e=>[...e,n]),r?.fromKeybinding||fm({display:Up(e,Br),pastedContents:Qr}),zr(``),t.setCursorOffset(0),t.clearBuffer(),ei({}),Vr(`prompt`),_t(void 0);return}if(!n&&e.trim().startsWith(`/`)){let n=sp(e,Qr).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=qt.find(e=>lg(e)&&(e.name===a||e.aliases?.includes(a)||tm(e)===a));s?.name===`clear`&&fr.current&&(Y(`tengu_idle_return_action`,{action:`hint_converted`,variant:fr.current,idleMinutes:Math.round((Date.now()-Pi.current)/6e4),messageCount:dr.current.length,totalInputTokens:wt()}),fr.current=!1);let c=fn.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===Lr.current.trim()&&(zr(``),t.setCursorOffset(0),t.clearBuffer(),ei({}));let n=Rl(e).filter(e=>Qr[e.id]?.type===`text`),i=n.length;Y(`tengu_paste_text`,{pastedTextCount:i,pastedTextBytes:n.reduce((e,t)=>e+(Qr[t.id]?.content.length??0),0)}),Y(`tengu_immediate_command_executed`,{commandName:s.name,fromKeybinding:r?.fromKeybinding??!1}),(async()=>{let e=!1,n=(n,r)=>{e=!0,Bn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];n&&r?.display!==`skip`&&(ut({key:`immediate-${s.name}`,text:n,priority:`immediate`}),ca()||i.push(Gf(Pg(tm(s),o)),Gf(`<${$r}>${K_(n)}</${$r}>`))),r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>Yd({content:e,isMeta:!0}))),i.length&&G(e=>[...e,...i]),Hr!==void 0&&(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0))},r=eo(dr.current,[],Pc(),Te),i=await(await s.load()).call(n,r,o);i&&!e&&Bn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(Zr.isRemoteMode&&!e.trim())return;{let r=wn(`tengu_willow_mode`,`off`),i=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),a=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(r!==`off`&&!pn().idleReturnDismissed&&!Ni.current&&!n&&!e.trim().startsWith(`/`)&&Pi.current>0&&wt()>=a){let n=(Date.now()-Pi.current)/6e4;if(n>=i&&r===`dialog`){Mi({input:e,idleMinutes:n}),zr(``),t.setCursorOffset(0),t.clearBuffer();return}}}r?.fromKeybinding||(fm({display:n?e:Up(e,Br),pastedContents:n?{}:Qr}),Br===`bash`&&BO(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!W||n||Zr.isRemoteMode;if(Hr!==void 0&&!i&&a?(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0)):a&&(r?.fromKeybinding||(zr(``),t.setCursorOffset(0)),ei({})),a&&(Vr(`prompt`),_t(void 0),ni(e=>e+1),t.clearBuffer(),$i.current=!1,!i&&Br===`prompt`&&!n&&!Zr.isRemoteMode&&(pr(e),Tn()),V(e=>({...e,attribution:vv(e.attribution,e=>{aa(e).catch(e=>{K(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await Fc(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:G,readFileState:Ea,cwd:ft()});if(t){let e=Pc();an(e),io([],e,!0,[],Te)}return}if(Zr.isRemoteMode&&!(i&&qt.find(t=>{let n=e.trim().slice(1).split(/\s/)[0];return lg(t)&&(t.name===n||t.aliases?.includes(n)||tm(t)===n)})?.type===`local-jsx`)){let t=Object.values(Qr),n=t.filter(e=>e.type===`image`),r=n.length>0?n.map(e=>e.id):void 0,i=e.trim(),a=e.trim();if(t.length>0){let n=[],r=[],o=e.trim();o&&(n.push({type:`text`,text:o}),r.push({type:`text`,text:o}));for(let e of t)if(e.type===`image`){let t={type:`base64`,media_type:e.mediaType??`image/png`,data:e.content};n.push({type:`image`,source:t}),r.push({type:`image`,source:t})}else n.push({type:`text`,text:e.content}),r.push({type:`text`,text:e.content});i=n,a=r}let o=Yd({content:i,imagePasteIds:r});G(e=>[...e,o]),await Zr.sendMessage(a,{uuid:o.uuid});return}await Ar(),await oP({input:e,helpers:t,queryGuard:fn,isExternalLoading:hn,mode:Br,commands:qt,onInputChange:zr,setPastedContents:ei,setToolJSX:Bn,getToolUseContext:eo,messages:dr.current,mainLoopModel:Te,pastedContents:Qr,ideSelection:gt,setUserInputOnProcessing:pr,setAbortController:an,abortController:nn,onQuery:io,setAppState:V,querySource:xg(),onBeforeQuery:_,canUseTool:$a,addNotification:ut,setMessages:G,streamMode:Xt.current,hasInterruptibleToolInProgress:qr.current}),(i||W)&&Hr!==void 0&&(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0))},[fn,W,hn,Br,qt,zr,Vr,ei,ni,_t,Bn,eo,Te,Qr,gt,pr,an,ut,io,Hr,Ur,V,_,$a,Jr,G,Ar,Er]),so=(0,Q.useCallback)(async(e,t,n)=>{co(t)?(tu(t.id,Yd({content:e}),V),t.status===`running`?zp(t.id,e,V):vd({agentId:t.id,prompt:e,toolUseContext:eo(dr.current,[],new AbortController,Te),canUseTool:$a}).catch(e=>{K(`resumeAgentBackground failed: ${br(e)}`),ut({key:`resume-agent-failed-${t.id}`,jsx:(0,$.jsxs)(R,{color:`error`,children:[`Failed to resume agent: `,br(e)]}),priority:`low`})})):il(t.id,e,void 0,V),zr(``),n.setCursorOffset(0),n.clearBuffer()},[V,zr,eo,$a,Te,ut]),lo=(0,Q.useCallback)(()=>{let e=Pa?YI(Pa):`/issue`;Fa(null),oo(e,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(t=>{K(`Auto-run ${e} failed: ${br(t)}`)})},[oo,Pa]),uo=(0,Q.useCallback)(()=>{Fa(null)},[]),fo=(0,Q.useCallback)(()=>{oo(process.env.USER_TYPE===`ant`?`/issue`:`/feedback`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(e=>{K(`Survey feedback request failed: ${e instanceof Error?e.message:String(e)}`)})},[oo]),po=(0,Q.useRef)(oo);po.current=oo;let ho=(0,Q.useCallback)(()=>{po.current(`/rate-limit-options`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})},[]),go=(0,Q.useCallback)(async()=>{if(Va(!0),nm()){FS(`tmux`,[`detach-client`],{stdio:`ignore`}),Va(!1);return}if(qg()!==null){Ra((0,$.jsx)(dx,{showWorktree:!0,onDone:()=>{},onCancel:()=>{Ra(null),Va(!1)}}));return}let e=await(await ah.load()).call(()=>{});Ra(e),e===null&&Va(!1)},[]),_o=(0,Q.useCallback)(()=>{Ci(e=>!e)},[]),yo=(0,Q.useCallback)(e=>{let t=dr.current,n=t.lastIndexOf(e);if(n===-1)return;Y(`tengu_conversation_rewind`,{preRewindMessageCount:t.length,postRewindMessageCount:n,messagesRemoved:t.length-n,rewindToMessageIndex:n}),G(t.slice(0,n)),Ai(AS()),$c();let r=e.permissionMode;V(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}}))},[G,V]),xo=(0,Q.useCallback)(e=>{yo(e);let t=fl(e);if(t&&(zr(t.text),Vr(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}}}),ei(n)}}},[yo,zr]);cn.current=xo;let So=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),xo,e)},[xo]),Co=e=>{let t=e.slice(0,24);return lr.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:wo,handlers:To}=Yh(Sr,Cr,wr,{copy:e=>void Ce(e).then(e=>{e&&process.stdout.write(e),ut({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=Co(e.uuid),n=t>=0?lr[t]:void 0;if(!n||!Xy(n))return;let r=!await Mh(oe,n.uuid),i=Qy(lr,t);r&&i?(Ja(),So(n)):(Ei(n),Ci(!0))}});async function Eo(){Na();let e=await Xl();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
92
+ `),mode:`task-notification`});break;case`fresh`:let t=Fe(),n=await MS(eu()).then(()=>!0,()=>!1);await Xb({setMessages:r,readFileState:i,getAppState:o,setAppState:l,setConversationId:s}),n&&r(e=>[...e,Ad(`Previous session saved · resume with: claude --resume ${t}`,`suggestion`)]),op({value:`Here is the approved implementation plan:\n\n${e}\n\nImplement this plan.`,mode:`prompt`});break;case`cancel`:{let t=CS(Mr(),`${uL()}-ultraplan.md`);await NS(t,e,{encoding:`utf-8`}),r(e=>[...e,Ad(`Ultraplan rejected · Plan saved to ${fi(t)}`,`suggestion`)]);break}}po(n,l,e=>e.status===`running`?{...e,status:`completed`,endTime:Date.now()}:e),l(e=>e.ultraplanPendingChoice?{...e,ultraplanPendingChoice:void 0,ultraplanSessionUrl:void 0}:e),Uh(t)},[e,t,n,r,o,l,i,s]),C=Q.useMemo(()=>[{label:`Implement here`,value:`here`,description:`Inject plan into the current conversation`},{label:`Start new session`,value:`fresh`,description:`Clear conversation and start with only the plan`},{label:`Cancel`,value:`cancel`,description:`Don't implement — save plan and return`}],[]);return(0,$.jsx)(B,{title:`Ultraplan approved`,subtitle:`How should the plan be implemented?`,onCancel:()=>{},hideInputGuide:!0,children:(0,$.jsxs)(U,{flexDirection:`column`,marginBottom:1,children:[(0,$.jsxs)(U,{flexDirection:`column`,marginBottom:1,children:[(0,$.jsx)(R,{children:y}),v&&(0,$.jsxs)(R,{dimColor:!0,children:[b?p.arrowUp:` `,x?p.arrowDown:` `,` `,g+1,`–`,Math.min(g+f,m.length),` of `,m.length,` · ctrl+u/ctrl+d to scroll`]})]}),(0,$.jsx)(jc,{options:C,onChange:e=>void S(e)})]})})}H(),rl(),by(),X(),Et(),wh();function fL(){return!pn().hasSeenUltraplanTerms}function pL(){return Rh()}function mL({onChoice:e}){let[t]=Q.useState(fL),[n]=Q.useState(pL),r=Q.useMemo(()=>Vm(n),[n]),i=Z(e=>e.replBridgeEnabled),a=Sa(),o=Q.useCallback(r=>{let o=r===`run`&&i;o&&a(e=>e.replBridgeEnabled?{...e,replBridgeEnabled:!1,replBridgeExplicit:!1,replBridgeOutboundOnly:!1}:e),r!==`cancel`&&t&&rn(e=>e.hasSeenUltraplanTerms?e:{...e,hasSeenUltraplanTerms:!0}),e(r,{disconnectedBridge:o,promptIdentifier:n})},[e,i,a,t]),s=Q.useCallback(()=>{o(`cancel`)},[o]),c=[{label:`Run ultraplan`,value:`run`,description:i?`Disable remote control and launch in Claude Code on the web`:`launch in Claude Code on the web`},{label:`Not now`,value:`cancel`}];return(0,$.jsx)(B,{title:`Run ultraplan in the cloud?`,subtitle:r.timeEstimate,onCancel:s,children:(0,$.jsxs)(U,{flexDirection:`column`,gap:1,children:[(0,$.jsxs)(U,{flexDirection:`column`,children:[(0,$.jsx)(R,{dimColor:!0,children:r.dialogBody}),t?(0,$.jsxs)(R,{dimColor:!0,children:[`For more information on Claude Code on the web:`,(0,$.jsx)(re,{url:Om,children:Om})]}):null]}),(0,$.jsx)(R,{dimColor:!0,children:i?`This will disable Remote Control for this session.`:r.dialogPipeline}),(0,$.jsx)(jc,{options:c,onChange:o})]})})}fx(),H(),Et(),Js();function hL(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||!(pn().copyOnSelect??!0))return;let a=e.copySelectionNoClear();if(!a||!a.trim()){r.current=!0;return}r.current=!0,i.current?.(a)})},[t,e])}function gL(e){let[t]=ae();(0,Q.useEffect)(()=>{e.setSelectionBgColor(Xo(t).selectionBg)},[e,t])}Yc(),H(),qv(),q();var _L=40,vL=.3,yL=6,bL=200,xL=15,SL=15,CL=3,wL=1500,TL=150,EL=5,DL=5,OL=80,kL=3,AL=6,jL=500;function ML(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 NL(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 PL(e,t,n){if(!e.xtermJs){if(e.wheelMode&&n-e.time>wL&&(e.wheelMode=!1,e.burstCount=0,e.mult=e.base),e.pendingFlip){if(e.pendingFlip=!1,t!==e.dir||n-e.time>bL)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<DL)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/TL),n=Math.max(SL,e.base*2),i=1+(e.mult-1)*t+xL*t;return e.mult=Math.min(n,i,e.mult+CL),Math.floor(e.mult)}if(r>_L)e.mult=e.base;else{let t=Math.max(yL,e.base*2);e.mult=Math.min(t,e.mult+vL)}return Math.floor(e.mult)}let r=n-e.time,i=t===e.dir;if(e.time=n,e.dir=t,i&&r<DL)return 1;if(!i||r>jL)e.mult=2,e.frac=0;else{let t=.5**(r/TL);e.mult=Math.min(r>=OL?kL:AL,1+(e.mult-1)*t+EL*t)}let a=e.mult+e.frac,o=Math.floor(a);return e.frac=a-o,o}function FL(){let e=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!e)return 1;let t=parseFloat(e);return Number.isNaN(t)||t<=0?1:Math.min(t,20)}function IL(e=!1,t=1){return{time:0,mult:t,dir:0,xtermJs:e,frac:0,base:t,pendingFlip:!1,wheelMode:!1,burstCount:0}}function LL(){let e=de(),t=FL();return K(`wheel accel: ${e?`decay (xterm.js)`:`window (native)`} · base=${t} · TERM_PROGRAM=${process.env.TERM_PROGRAM??`unset`}`),IL(e,t)}var RL=2,zL=50,BL=200;function VL({scrollRef:e,isActive:t,onScroll:n,isModal:r=!1}){let i=ee(),{addNotification:a}=Do(),o=(0,Q.useRef)(null);function s(e){let t=z(),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 V({"scroll:pageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=WL(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=WL(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=LL()),KL(t,PL(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=LL());let r=GL(t,PL(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}),V({"scroll:halfPageUp":()=>{let t=e.current;if(!t)return;let r=-Math.max(1,Math.floor(t.getViewportHeight()/2));l(t,r);let i=WL(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=WL(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=WL(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=WL(t,r);n?.(i,t)}},{context:`Scroll`,isActive:t}),Oe((t,r,i)=>{let a=e.current;if(!a)return;let o=JL(a,qL(t,r),e=>l(a,e));o!==null&&(n?.(o,a),i.stopImmediatePropagation())},{isActive:t&&r}),Oe((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=NL(t);if(r){i.moveFocus(r),n.stopImmediatePropagation();return}ML(t)&&i.clearSelection()},{isActive:t}),HL(e,i,t,n),hL(i,t,s),gL(i),null}function HL(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>BL){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(RL,i.getScrollTop());t.captureScrolledRows(u-e+1,u,`below`),t.shiftAnchor(e,0,u),i.scrollBy(-RL)}else{let e=Math.max(0,i.getScrollHeight()-i.getViewportHeight());if(i.getScrollTop()>=e){r();return}let n=Math.min(RL,e-i.getScrollTop());t.captureScrolledRows(l,l+n-1,`above`),t.shiftAnchor(-n,l,u),i.scrollBy(RL)}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,zL)))}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=UL(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 UL(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 WL(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 GL(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 KL(e,t){if(e.getScrollTop()+e.getPendingDelta()-t<=0){e.scrollTo(0);return}e.scrollBy(-t)}function qL(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 JL(e,t,n){switch(t){case null:return null;case`lineUp`:case`lineDown`:{let r=t===`lineDown`?1:-1;return n(r),WL(e,r)}case`halfPageUp`:case`halfPageDown`:{let r=Math.max(1,Math.floor(e.getViewportHeight()/2)),i=t===`halfPageDown`?r:-r;return n(i),WL(e,i)}case`fullPageUp`:case`fullPageDown`:{let r=Math.max(1,e.getViewportHeight()),i=t===`fullPageDown`?r:-r;return n(i),WL(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}}}var YL=r({VoiceKeybindingHandler:()=>$L,useVoiceIntegration:()=>ZL,useVoiceKeybindingHandler:()=>QL});function XL(e,t){return!((e.key===`space`?` `:e.key===`return`?`enter`:e.key.toLowerCase())!==t.key||e.ctrl!==t.ctrl||e.shift!==t.shift||e.meta!==(t.alt||t.meta)||e.superKey!==t.super)}function ZL({setInputValueRaw:e,inputValueRef:t,insertTextRef:n}){let{addNotification:r}=Do(),i=(0,eR.useRef)(null),a=(0,eR.useRef)(``),o=(0,eR.useRef)(null),s=(0,eR.useCallback)((r,{char:s=` `,anchor:c=!1,floor:l=0}={})=>{let u=t.current,d=n.current?.cursorOffset??u.length,f=u.slice(0,d),p=u.slice(d),m=s===` `?Qt(f):f,h=0;for(;h<m.length&&m[m.length-1-h]===s;)h++;let g=Math.max(0,Math.min(h-l,r)),_=h-g,v=f.slice(0,f.length-g),y=``;c&&(i.current=v,a.current=p,p.length>0&&!/^\s/.test(p)&&(y=` `));let b=v+y+p;return c&&(o.current=b),b===u&&g===0||(n.current?n.current.setInputWithCursor(b,v.length):e(b)),_},[e,t,n]),c=(0,eR.useCallback)(()=>{let t=i.current;if(t===null)return;let r=a.current;i.current=null,a.current=``;let o=t+r;n.current?n.current.setInputWithCursor(o,t.length):e(o)},[e,n]),l=DD(),u=qi(e=>e.voiceState),d=qi(e=>e.voiceInterimTranscript);(0,eR.useEffect)(()=>{if(u===`recording`&&i.current===null){let e=t.current,r=n.current?.cursorOffset??e.length;i.current=e.slice(0,r),a.current=e.slice(r),o.current=e}u===`idle`&&(i.current=null,a.current=``,o.current=null)},[u,t,n]),(0,eR.useEffect)(()=>{if(i.current===null)return;let r=i.current,s=a.current;if(t.current!==o.current)return;let c=r.length>0&&!/\s$/.test(r)&&d.length>0,l=s.length>0&&!/^\s/.test(s),u=c?` `:``,f=l?` `:``,p=r+u+d+f+s,m=r.length+u.length+d.length;n.current?n.current.setInputWithCursor(p,m):e(p),o.current=p},[d,e,t,n]);let f=(0,eR.useCallback)(r=>{let s=i.current;if(s===null)return;let c=a.current;if(t.current!==o.current)return;let l=s.length>0&&!/\s$/.test(s)&&r.length>0,u=c.length>0&&!/^\s/.test(c)&&r.length>0,d=l?` `:``,f=u?` `:``,p=s+d+r+f+c,m=s.length+d.length+r.length;n.current?n.current.setInputWithCursor(p,m):e(p),o.current=p,i.current=s+d+r},[e,t,n]),p=tR.useVoice({onTranscript:f,onError:e=>{r({key:`voice-error`,text:e,color:`error`,priority:`immediate`,timeoutMs:1e4})},enabled:l,focusMode:!1}),m=(0,eR.useMemo)(()=>{if(i.current===null||d.length===0)return null;let e=i.current,t=e.length>0&&!/\s$/.test(e)&&d.length>0,n=e.length+ +!!t;return{start:n,end:n+d.length}},[d]);return{stripTrailing:s,resetAnchor:c,handleKeyEvent:p.handleKeyEvent,interimRange:m}}function QL({voiceHandleKeyEvent:e,stripTrailing:t,resetAnchor:n,isActive:r}){let i=dd(),a=ol(),o=pe(),s=Cs(),c=DD(),l=qi(e=>e.voiceState),u=(0,eR.useMemo)(()=>{if(!o)return oR;let e=null;for(let t of o.bindings){if(t.context!==`Chat`||t.chord.length!==1)continue;let n=t.chord[0];n&&(t.action===`voice:pushToTalk`?e=n:e!==null&&me(n,e)&&(e=null))}return e},[o]),d=u!==null&&u.key.length===1&&!u.ctrl&&!u.alt&&!u.shift&&!u.meta&&!u.super?u.key:null,f=(0,eR.useRef)(0),p=(0,eR.useRef)(0),m=(0,eR.useRef)(0),h=(0,eR.useRef)(!1),g=(0,eR.useRef)(null);(0,eR.useEffect)(()=>{l!==`recording`&&(h.current=!1,f.current=0,p.current=0,m.current=0,a(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e))},[l,a]);let _=o=>{if(!c||!r||s||u===null)return;let l;if(d!==null){if(o.ctrl||o.meta||o.shift)return;let e=d===` `?Qt(o.key):o.key;if(e[0]!==d||e.length>1&&e!==d.repeat(e.length))return;l=e.length}else{if(!XL(o,u))return;l=1}let _=i().voiceState;if(h.current&&_!==`idle`){o.stopImmediatePropagation(),d!==null&&t(l,{char:d,floor:m.current}),e();return}if(_!==`idle`){d===null&&o.stopImmediatePropagation();return}let v=f.current;if(f.current+=l,d===null||f.current>=iR){o.stopImmediatePropagation(),g.current&&(clearTimeout(g.current),g.current=null),f.current=0,h.current=!0,a(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e),d===null?(t(0,{anchor:!0}),e(rR)):(m.current=t(p.current+l,{char:d,anchor:!0}),p.current=0,e()),i().voiceState===`idle`&&(h.current=!1,n());return}v>=aR?(o.stopImmediatePropagation(),t(l,{char:d,floor:p.current})):p.current+=l,f.current>=aR&&a(e=>e.voiceWarmingUp?e:{...e,voiceWarmingUp:!0}),g.current&&clearTimeout(g.current),g.current=setTimeout((e,t,n,r)=>{e.current=null,t.current=0,n.current=0,r(e=>e.voiceWarmingUp?{...e,voiceWarmingUp:!1}:e)},nR,g,f,p,a)};return Oe((e,t,n)=>{let r=new Ae(n.keypress);_(r),r.didStopImmediatePropagation()&&n.stopImmediatePropagation()},{isActive:r}),{handleKeyDown:_}}function $L(e){return QL(e),null}var eR,tR,nR,rR,iR,aR,oR,sR=t((()=>{eR=n(L(),1),Yc(),zo(),zu(),H(),xp(),Un(),kD(),tR=(rS(),e(nS)),nR=120,rR=2e3,iR=5,aR=2,oR={key:` `,ctrl:!1,alt:!1,shift:!1,meta:!1,super:!1}})),cR=r({useFrustrationDetection:()=>uR});function lR(e){return e.filter(e=>e.isApiErrorMessage).length>=2}function uR(e,t,n,r){let[i,a]=(0,dR.useState)(`closed`),o=pn(),s=Ca(`product_feedback`),c=o.transcriptShareDismissed||!s||t||n||r,l=lR(e);return{state:c?`closed`:l&&i===`closed`?`transcript_prompt`:i,handleTranscriptSelect:t=>{c||(t===`yes`?(zP(e,`frustration`,crypto.randomUUID()),a(`submitted`)):(rn(e=>({...e,transcriptShareDismissed:!0})),a(`closed`)))}}}var dR,fR=t((()=>{dR=n(L(),1),Et(),yl(),BP()})),pR=r({useAntOrgWarningNotification:()=>mR});function mR(){}var hR=t((()=>{})),gR=r({useProactive:()=>_R});function _R(e){let t=(0,vR.useRef)(e);t.current=e,(0,vR.useEffect)(()=>{if(!lv())return;let e=null,n=!1,r=!1;function i(){cv(Date.now()+yR),e=setTimeout(()=>{if(e=null,!nv()){i();return}let{isLoading:a,queuedCommandsLength:o,hasActiveLocalJsxUI:s,isInPlanMode:c}=t.current;if(a||c||s||o>0||r){i();return}r=!0,(async()=>{let e=await Ts({basePrompt:`<${Zr}>${new Date().toLocaleTimeString()}</${Zr}>`,currentDir:Mr(),shouldCreate:()=>!n});if(n){await Zo({commands:e});return}let r=[];try{for(let n of e)t.current.onQueueTick(n),r.push(n)}catch(t){throw await Zo({commands:e.filter(e=>!r.includes(e))}),t}})().catch(e=>K(`[Proactive] failed to create tick: ${e}`,{level:`error`})).finally(()=>{r=!1}),i()},yR)}return i(),()=>{n=!0,e!==null&&(clearTimeout(e),e=null),cv(null)}},[lv(),tv(),iv()])}var vR,yR,bR=t((()=>{vR=n(L(),1),ri(),jr(),Vo(),q(),yR=3e4})),xR=r({createScheduledTaskQueuedCommand:()=>SR,useScheduledTasks:()=>CR});async function SR(e,t){let n=await mh({basePrompt:e.prompt,trigger:`scheduled-task`,rootDir:t?.rootDir,currentDir:t?.currentDir??Mr(),sourceId:e.id,sourceLabel:e.prompt,workload:Ft,shouldCreate:t?.shouldCreate});return n||K(`[ScheduledTasks] skipping ${e.id}: previous run still queued or running`),n}function CR({isLoading:e,assistantMode:t=!1,setMessages:n}){let r=(0,TR.useRef)(e);r.current=e;let i=a_(),a=Sa();(0,TR.useEffect)(()=>{if(!A_())return;let e=!1,o=async t=>{let n=await Rs({basePrompt:t,trigger:`scheduled-task`,currentDir:Mr(),workload:Ft,shouldCreate:()=>!e});if(n){if(e){await qh(n.autonomy.runId,n.autonomy.rootDir);return}op(n)}},s=Vy({onFire:e=>{o(e).catch(e=>K(`[ScheduledTasks] failed to enqueue missed task prompt: ${e}`,{level:`error`}))},onFireTask:t=>{(async()=>{if(t.agentId){let n=ba(t.agentId,i.getState().tasks);if(n&&!Hc(n.status)){let r=await SR(t,{shouldCreate:()=>!e});if(!r)return;if(e){await qh(r.autonomy.runId,r.autonomy.rootDir);return}!il(n.id,r.value,{autonomyRunId:r.autonomy?.runId,autonomyRootDir:r.autonomy?.rootDir,origin:r.origin},a)&&r.autonomy?.runId&&await Tm(r.autonomy.runId,`Teammate ${t.agentId} exited before the scheduled message could be delivered.`,r.autonomy.rootDir);return}K(`[ScheduledTasks] teammate ${t.agentId} gone, removing orphaned cron ${t.id}`),T_([t.id]);return}let r=await SR(t,{shouldCreate:()=>!e});if(!r)return;if(e){await qh(r.autonomy.runId,r.autonomy.rootDir);return}let o=pp(`Running scheduled task (${wR(new Date)})`);n(e=>[...e,o]),op(r)})().catch(e=>K(`[ScheduledTasks] failed to enqueue task ${t.id}: ${e}`,{level:`error`}))},isLoading:()=>r.current,assistantMode:t,getJitterConfig:Uy,isKilled:()=>!A_()});return s.start(),()=>{e=!0,s.stop()}},[t])}function wR(e){return e.toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}).replace(/,? at |, /,` `).replace(/ ([AP]M)/,(e,t)=>t.toLowerCase())}var TR,ER=t((()=>{TR=n(L(),1),X(),Mc(),jr(),Gi(),q(),Wg(),nc(),nn()})),DR=r({AntModelSwitchCallout:()=>OR,shouldShowModelSwitchCallout:()=>kR});function OR(e){return null}function kR(){return!1}var AR=t((()=>{})),jR=r({UndercoverAutoCallout:()=>MR});function MR({onDone:e}){return(0,NR.useEffect)(()=>{e()},[e]),null}var NR,PR=t((()=>{NR=n(L(),1)}));ot(),as(),Ai(),f(),H(),mu(),Sb(),Yc(),wg(),q(),s(),Vi(),Vo(),Mv(),Qu(),es(),wi(),Mc(),Co(),Xc(),Uu(),tb(),Gl(),tp(),qd(),Ic(),Dm(),Bm(),Cr(),ii(),jr(),cg(),Ag(),Dl(),fh(),Et(),Gn(),J(),fn(),nc(),wy(),ri(),Ji(),Fm(),Oy(),Sh(),n_(),yh(),kb(),X(),Ps(),_a(),Gh(),Cp(),rr(),Dp(),Ig(),Wg(),Hp(),Vp(),sg(),wh(),bd();var FR=(sR(),e(YL)).useVoiceIntegration,IR=(sR(),e(YL)).VoiceKeybindingHandler,LR=process.env.USER_TYPE===`ant`?(fR(),e(cR)).useFrustrationDetection:()=>({state:`closed`,handleTranscriptSelect:()=>{}}),RR=process.env.USER_TYPE===`ant`?(hR(),e(pR)).useAntOrgWarningNotification:()=>{},zR=(um(),e(nh)).getCoordinatorUserContext,BR=(uv(),e($_)),VR=e=>()=>{},HR=()=>!1,UR=()=>null,WR=(e,t)=>!1,GR=(bR(),e(gR)).useProactive,KR=(ER(),e(xR)).useScheduledTasks,qR=()=>({relayPipeMessage:()=>!1,pipeReturnHadErrorRef:{current:!1}}),JR=()=>({routeToSelectedPipes:()=>!1}),YR=process.env.USER_TYPE===`ant`?(AR(),e(DR)).AntModelSwitchCallout:null,XR=process.env.USER_TYPE===`ant`?(AR(),e(DR)).shouldShowModelSwitchCallout:()=>!1,ZR=process.env.USER_TYPE===`ant`?(PR(),e(jR)).UndercoverAutoCallout:null,QR=[],$R=3e3;function ez(e){let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2==0?Math.round((t[n-1]+t[n])/2):t[n]}function tz({showAllInTranscript:e,virtualScroll:t,searchBadge:n,suppressShowAll:r=!1,status:i}){let a=Ch(`app:toggleTranscript`,`Global`,`ctrl+o`),o=Ch(`transcript:toggleShowAll`,`Transcript`,`ctrl+e`);return(0,$.jsxs)(U,{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)(R,{dimColor:!0,children:[`Showing detailed transcript · `,a,` to toggle`,n?` · n/N to navigate`:t?` · ${p.arrowUp}${p.arrowDown} scroll · home/end top/bottom`:r?``:` · ${o} to ${e?`collapse`:`show all`}`]}),i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{flexGrow:1}),(0,$.jsxs)(R,{children:[i,` `]})]}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{flexGrow:1}),(0,$.jsxs)(R,{dimColor:!0,children:[n.current,`/`,n.count,` `]})]}):null]})}function nz({jumpRef:e,count:t,current:n,onClose:r,onCancel:i,setHighlight:a,initialQuery:o}){let{query:s,cursorOffset:c}=ix({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)(U,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,marginTop:1,paddingLeft:2,width:`100%`,noSelect:!0,children:[(0,$.jsx)(R,{children:`/`}),(0,$.jsx)(R,{children:s.slice(0,f)}),(0,$.jsx)(R,{inverse:!0,children:p}),f<s.length&&(0,$.jsx)(R,{children:s.slice(f+1)}),(0,$.jsx)(U,{flexGrow:1}),l===`building`?(0,$.jsx)(R,{dimColor:!0,children:`indexing… `}):l?(0,$.jsxs)(R,{dimColor:!0,children:[`indexed in `,l.ms,`ms `]}):t===0&&s?(0,$.jsx)(R,{color:`error`,children:`no matches `}):t>0?(0,$.jsxs)(R,{dimColor:!0,children:[n,`/`,t,` `]}):null]})}var rz=[`⠂`,`⠐`],iz=`✳`,az=960;function oz({isAnimating:e,title:t,disabled:n,noPrefix:r}){let i=le(),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{if(n||r||!e||!i)return;let t=setInterval(e=>e(e=>(e+1)%rz.length),az,o);return()=>clearInterval(t)},[n,r,e,i]);let s=e?rz[a]??iz:iz;return ve(n?null:r?t:`${s} ${t}`),null}var sz=`<${ei}>`;function cz(e){return e.type===`text`&&typeof e.text==`string`&&e.text.includes(sz)}function lz({commands:t,debug:n,initialTools:r,initialMessages:i,pendingHookMessages:a,initialFileHistorySnapshots:o,initialContentReplacements:s,initialAgentName:l,initialAgentColor:u,mcpClients:d,dynamicMcpConfig:f,autoConnectIdeFlag:p,strictMcpConfig:m=!1,systemPrompt:h,appendSystemPrompt:g,onBeforeQuery:_,onTurnComplete:v,disabled:y=!1,mainThreadAgentDefinition:b,disableSlashCommands:x=!1,taskListId:S,remoteSessionConfig:C,directConnectConfig:w,sshSession:E,thinkingConfig:D}){let O=!!C,j=(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),M=(0,Q.useMemo)(()=>process.env.USER_TYPE===`ant`&&c(process.env.CLAUDE_MORERIGHT),[]),N=(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]);(0,Q.useMemo)(()=>c(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS),[]),(0,Q.useEffect)(()=>(K(`[REPL:mount] REPL mounted, disabled=${y}`),()=>K(`[REPL:unmount] REPL unmounting`)),[y]);let[P,ee]=(0,Q.useState)(b),F=Z(e=>e.toolPermissionContext),te=Z(e=>e.verbose),ne=Z(e=>e.mcp),re=Z(e=>e.plugins),L=Z(e=>e.agentDefinitions),oe=Z(e=>e.fileHistory),se=Z(e=>e.initialMessage),ue=iD(),de=Z(e=>e.spinnerTip),fe=Z(e=>e.expandedView)===`tasks`,pe=Z(e=>e.pendingWorkerRequest),me=Z(e=>e.pendingSandboxRequest),z=Z(e=>e.teamContext),B=Z(e=>e.tasks),he=Z(e=>e.workerSandboxPermissions),ge=Z(e=>e.elicitation),_e=Z(e=>e.ultraplanPendingChoice),ve=Z(e=>e.ultraplanLaunchPending),ye=Z(e=>e.viewingAgentTaskId),V=Sa(),be=ye?B[ye]:void 0,xe=co(be)&&be.retain&&!be.diskLoaded;(0,Q.useEffect)(()=>{if(!ye||!xe)return;let e=ye;bf(Gd(e)).then(t=>{V(n=>{let r=n.tasks[e];if(!co(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}}}})})},[ye,xe,V]);let H=a_(),we=A(),Te=Ob(),[Ee,De]=(0,Q.useState)(t);hP(O?void 0:vt(),De);let ke=Q.useSyncExternalStore(BR?.subscribeToProactiveChanges??VR,BR?.isProactiveActive??HR),Ae=Q.useSyncExternalStore(BR?.subscribeToProactiveChanges??VR,BR?.getNextTickAt??UR),je=Z(e=>e.isBriefOnly),Pe=(0,Q.useMemo)(()=>Ws(F),[F,ke,je]);Cx();let[Ie,Le]=(0,Q.useState)(f),Re=(0,Q.useCallback)(e=>{Le(e)},[Le]),[ze,Ve]=(0,Q.useState)(`prompt`),[Ge,Ke]=(0,Q.useState)(!1),[Je,Ze]=(0,Q.useState)(!1),[Qe,$e]=(0,Q.useState)(``),it=(0,Q.useRef)(0),ot=(0,Q.useRef)(void 0),st=(0,Q.useRef)(!1),{addNotification:ut,removeNotification:dt}=Do(),mt=WR,ht=pP(d,ne.clients),[gt,_t]=(0,Q.useState)(void 0),[yt,xt]=(0,Q.useState)(null),[Ct,Tt]=(0,Q.useState)(null),[Et,Dt]=(0,Q.useState)(!1),[Ot,kt]=(0,Q.useState)(()=>process.env.USER_TYPE===`ant`?XR():!1),[jt,Mt]=(0,Q.useState)(()=>IP(Te)),Nt=Z(e=>e.showRemoteCallout),[Pt,Ft]=(0,Q.useState)(()=>pS());AI(),NI(),OI({ideSelection:gt,mcpClients:ht,ideInstallationStatus:Ct}),BF({mcpClients:ht}),gI(),_I(),ox(),CI(Te),GI(),wI(Te),EI(),RR(),fF(),SF(),OF(),UF(),BI();let{recommendation:It,handleResponse:Lt}=aI(),{recommendation:Rt,handleResponse:zt}=cI(),Bt=hI(),Vt=(0,Q.useMemo)(()=>[...Pe,...r],[Pe,r]);Ay({enabled:!O});let Ht=cd();(0,Q.useEffect)(()=>{O||bI(V)},[V,O]),AF(O?QR:ht,F.mode),BN(V,i,{enabled:!O});let Ut=bb(Vt,ne.tools,F),{tools:Wt,allowedAgentTypes:Gt}=(0,Q.useMemo)(()=>{if(!P)return{tools:Ut,allowedAgentTypes:void 0};let e=$d(P,Ut,!1,!0);return{tools:e.resolvedTools,allowedAgentTypes:e.allowedAgentTypes}},[P,Ut]),Kt=mP(mP(Ee,re.commands),ne.commands),qt=(0,Q.useMemo)(()=>x?[]:Kt,[x,Kt]);wC(O?QR:ne.clients),vP(O?QR:ne.clients,_t);let[Jt,Yt]=(0,Q.useState)(`responding`),Xt=(0,Q.useRef)(Jt);Xt.current=Jt;let[Zt,Qt]=(0,Q.useState)([]),[$t,tn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{if($t&&!$t.isStreaming&&$t.streamingEndedAt){let e=3e4-(Date.now()-$t.streamingEndedAt);if(e>0){let t=setTimeout(tn,e,null);return()=>clearTimeout(t)}else tn(null)}},[$t]);let[nn,an]=(0,Q.useState)(null),on=(0,Q.useRef)(null);on.current=nn;let sn=(0,Q.useRef)(()=>{}),cn=(0,Q.useRef)(()=>{}),ln=(0,Q.useRef)(null),un=(0,Q.useRef)(null),dn=(0,Q.useRef)(0),fn=Q.useRef(new nC).current,mn=Q.useSyncExternalStore(fn.subscribe,fn.getSnapshot),[hn,gn]=Q.useState(C?.hasInitialPrompt??!1),W=mn||hn,[_n,vn]=Q.useState(void 0),yn=Q.useRef(0),bn=Q.useRef(!1),xn=Q.useRef(0),Sn=Q.useRef(0),Cn=Q.useRef(null),Tn=Q.useCallback(()=>{xn.current=Date.now(),Sn.current=0,Cn.current=null},[]),En=Q.useRef(!1);mn&&!En.current&&Tn(),En.current=mn;let Dn=Q.useCallback(e=>{gn(e),e&&Tn()},[Tn]),On=Q.useRef(null),kn=Q.useRef(void 0),An=Q.useRef(void 0),[jn,Mn]=Q.useState(!1),[Nn,Pn]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{Nn?.notifications&&Nn.notifications.forEach(e=>{ut({key:`auto-updater-notification`,text:e,priority:`low`})})},[Nn,ut]),(0,Q.useEffect)(()=>{ca()&&Jh().then(e=>{e&&ut({key:`tmux-mouse-hint`,text:e,priority:`low`})})},[]);let[Fn,In]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{process.env.USER_TYPE===`ant`&&(async()=>{let{isInternalModelRepo:e}=await import(`./commitAttribution-BZupnGMc.js`);await e();let{shouldShowUndercoverAutoNotice:t}=await import(`./undercover-bx8TwG9W.js`);t()&&In(!0)})()},[]);let[Ln,Rn]=(0,Q.useState)(null),zn=(0,Q.useRef)(null),Bn=(0,Q.useCallback)(e=>{if(e?.isLocalJSXCommand){let{clearLocalJSX:t,...n}=e;zn.current={...n,isLocalJSXCommand:!0},Rn(n);return}if(zn.current){if(e?.clearLocalJSX){zn.current=null,Rn(null);return}return}if(e?.clearLocalJSX){Rn(null);return}Rn(e)},[]),[Vn,Un]=(0,Q.useState)([]),[Wn,Gn]=(0,Q.useState)(null),[Kn,qn]=(0,Q.useState)([]),[Jn,Yn]=(0,Q.useState)([]),Xn=(0,Q.useRef)(new Map),Zn=Z(e=>e.settings.terminalTitleFromRename)===!1?void 0:hp(Fe()),[Qn,$n]=(0,Q.useState)(),er=(0,Q.useRef)((i?.length??0)>0),tr=P?.agentType,nr=Zn??tr??Qn??`Claude Code`,rr=Vn.length>0||Jn.length>0||pe||me,ir=Ln?.isLocalJSXCommand===!0&&Ln?.jsx!=null,ar=W&&!rr&&!ir;(0,Q.useEffect)(()=>{if(W&&!rr&&!ir)return YS(),()=>XS()},[W,rr,ir]);let or=rr||ir?`waiting`:W?`busy`:`idle`,sr=or===`waiting`?Vn.length>0?`approve ${Vn[0].tool.name}`:pe?`worker request`:me?`sandbox request`:ir?`dialog open`:`input needed`:void 0;(0,Q.useEffect)(()=>{pf({status:or,waitingFor:sr})},[or,sr]);let cr=wn(`tengu_terminal_sidebar`,!1)&&(pn().showStatusInTerminalTab??!1);T(j||!cr?null:or),(0,Q.useEffect)(()=>(ms(Un),()=>Sl()),[Un]);let[lr,ur]=(0,Q.useState)(i??[]),dr=(0,Q.useRef)(lr),fr=(0,Q.useRef)(!1),G=(0,Q.useCallback)(e=>{let t=dr.current,n=typeof e==`function`?e(dr.current):e;if(dr.current=n,n.length<yn.current)yn.current=0;else if(n.length>t.length&&bn.current){let e=n.length-t.length;(t.length===0||n[0]===t[0]?n.slice(-e):n.slice(0,e)).some(uc)?bn.current=!1:yn.current=n.length}ur(n)},[]),pr=(0,Q.useCallback)(e=>{e===void 0?bn.current=!1:(yn.current=dr.current.length,bn.current=!0),vn(e)},[]),{dividerIndex:mr,dividerYRef:hr,onScrollAway:gr,onRepin:_r,jumpToNew:vr,shiftDivider:xr}=_x(lr.length);bF(lr,G,W);let[Sr,Cr]=(0,Q.useState)(null),wr=(0,Q.useRef)(null),Tr=(0,Q.useMemo)(()=>mx(lr,mr),[mr,lr.length]),Er=(0,Q.useCallback)(()=>{ln.current?.scrollToBottom(),_r(),Cr(null)},[_r,Cr]),Dr=lr.at(-1),Or=Dr!=null&&uc(Dr);(0,Q.useEffect)(()=>{Or&&Er()},[Or,Dr,Er]);let{maybeLoadOlder:q}=mN({config:C,setMessages:G,scrollRef:ln,onPrepend:xr}),kr=(0,Q.useCallback)((e,t)=>{dn.current=Date.now(),e?_r():(gr(t),q(t),V(e=>e.companionReaction===void 0?e:{...e,companionReaction:void 0}))},[_r,gr,q,V]),Ar=AN(a,G),J=(0,Q.useDeferredValue)(Q.useMemo(()=>lr.length>500?lr.slice(-500):lr,[lr])),jr=lr.length-J.length;jr>0&&K(`[useDeferredValue] Messages deferred by ${jr} (${J.length}→${lr.length})`);let[Nr,Pr]=(0,Q.useState)(null),[Fr,Ir]=(0,Q.useState)(()=>aS()),Lr=(0,Q.useRef)(Fr);Lr.current=Fr;let Rr=(0,Q.useRef)(null),zr=(0,Q.useCallback)(e=>{mt(Lr.current,e)||(Lr.current===``&&e!==``&&Date.now()-dn.current>=$R&&Er(),Lr.current=e,Ir(e),Mn(e.trim().length>0))},[Mn,Er,mt]);(0,Q.useEffect)(()=>{if(Fr.trim().length===0)return;let e=setTimeout(Mn,1500,!1);return()=>clearTimeout(e)},[Fr]);let[Br,Vr]=(0,Q.useState)(`prompt`),[Hr,Ur]=(0,Q.useState)(),Wr=(0,Q.useCallback)(e=>{let t=new Set(e);De(e=>e.filter(e=>t.has(e.name)||vs.has(e)))},[De]),[Gr,Kr]=(0,Q.useState)(new Set),qr=(0,Q.useRef)(!1),Jr=$M({config:C,setMessages:G,setIsLoading:Dn,onInit:Wr,setToolUseConfirmQueue:Un,tools:Vt,setStreamingToolUses:Qt,setStreamMode:Yt,setInProgressToolUseIDs:Kr}),Yr=nN({config:w,setMessages:G,setIsLoading:Dn,setToolUseConfirmQueue:Un,tools:Vt}),Xr=rN({session:E,setMessages:G,setIsLoading:Dn,setToolUseConfirmQueue:Un,tools:Vt}),Zr=Xr.isRemoteMode?Xr:Yr.isRemoteMode?Yr:Jr,[Qr,ei]=(0,Q.useState)({}),[ti,ni]=(0,Q.useState)(0),ri=(0,Q.useRef)(0),ii=(0,Q.useRef)([]),oi=(0,Q.useCallback)(e=>{let t=ri.current;if(ri.current=e(t),ri.current>t){let e=ii.current;if(e.length>0){let t=e.at(-1);t.lastTokenTime=Date.now(),t.endResponseLength=ri.current}}},[]),[si,ci]=(0,Q.useState)(null),li=!(Z(e=>e.settings.prefersReducedMotion)??!1)&&!Se(),ui=(0,Q.useCallback)(e=>{li&&ci(e)},[li]),di=si&&li&&si.substring(0,si.lastIndexOf(`
93
+ `)+1)||null,[fi,pi]=(0,Q.useState)(0),[mi,hi]=(0,Q.useState)(null),[gi,_i]=(0,Q.useState)(null),[vi,yi]=(0,Q.useState)(null),[Si,Ci]=(0,Q.useState)(!1),[wi,Ei]=(0,Q.useState)(void 0),[Di,Oi]=(0,Q.useState)(!1),[ki,Ai]=(0,Q.useState)(AS()),[ji,Mi]=(0,Q.useState)(null),Ni=(0,Q.useRef)(!1),Pi=(0,Q.useRef)(fi);Pi.current=fi;let[Li]=(0,Q.useState)(()=>({current:Ud(i,s)}));ep(()=>{Li.current=Sd()});let[Ri,zi]=(0,Q.useState)(pn().hasAcknowledgedCostThreshold),[Bi,Vi]=(0,Q.useState)(`INSERT`),[Hi,Ui]=(0,Q.useState)(!1),[Wi,Gi]=(0,Q.useState)(!1),[Ki,qi]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{_e&&Hi&&Ui(!1)},[_e,Hi]);let Ji=le(),Yi=(0,Q.useRef)(Ji);Yi.current=Ji;let[Qi]=ae(),$i=Q.useRef(!1),ea=(0,Q.useCallback)(()=>{if($i.current)return;$i.current=!0;let e=dr.current.slice(Oa.current);for(let t of ua(e))Da.current.add(t);Oa.current=dr.current.length,NF({theme:Qi,readFileState:Ea.current,bashTools:Da.current}).then(async e=>{if(e){let t=await e.content({theme:Qi});V(e=>({...e,spinnerTip:t})),PF(e)}else V(e=>e.spinnerTip===void 0?e:{...e,spinnerTip:void 0})})},[V,Qi]),ta=(0,Q.useCallback)(()=>{Dn(!1),pr(void 0),ri.current=0,ii.current=[],ci(null),Qt([]),hi(null),_i(null),yi(null),ea(),pv(),gg()},[ea]),na=(0,Q.useMemo)(()=>Bp(B).some(e=>e.status===`running`),[B]);(0,Q.useEffect)(()=>{if(!na&&On.current!==null){let e=Date.now()-On.current,t=kn.current;On.current=null,kn.current=void 0,G(n=>[...n,Og(e,t,xi(n,Lo))])}},[na,G]);let ra=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{{if(F.mode!==`auto`){ra.current=!1;return}if(ra.current||(pn().autoPermissionsNotificationCount??0)>=3)return;let e=setTimeout((e,t)=>{e.current=!0,rn(e=>{let t=e.autoPermissionsNotificationCount??0;return t>=3?e:{...e,autoPermissionsNotificationCount:t+1}}),t(e=>[...e,Ad(VF,`warning`)])},800,ra,G);return()=>clearTimeout(e)}},[F.mode,G]);let ia=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(ia.current)return;let e=qg();if(!e?.creationDurationMs||e.usedSparsePaths||e.creationDurationMs<15e3)return;ia.current=!0;let t=Math.round(e.creationDurationMs/1e3);G(e=>[...e,Ad(`Worktree creation took ${t}s. For large repos, set \`worktree.sparsePaths\` in .claude/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,`info`)])},[G]);let oa=(0,Q.useMemo)(()=>{let e=lr.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`&&Gr.has(e.id));return n.length>0&&n.every(e=>e.type===`tool_use`&&e.name===`Sleep`)},[lr,Gr]),{onBeforeQuery:la,onTurnComplete:da,render:fa}=DN({enabled:M,setMessages:G,inputValue:Fr,setInputValue:zr,setToolJSX:Bn}),pa=(!Ln||Ln.showSpinner===!0)&&Vn.length===0&&Jn.length===0&&(W||_n||na||wd()>0)&&!pe&&!oa&&(!di||je),ma=Vn.length>0||Jn.length>0||Kn.length>0||ge.queue.length>0||he.queue.length>0,ha=WP(lr,W,ti,`session`,ma),ga=EN(G),va=aL(lr,ti),ya=(0,Q.useMemo)(()=>({...ha,handleSelect:e=>{Ia.current=!1;let t=ha.handleSelect(e);e===`bad`&&!t&&JI(`feedback_survey_bad`)&&(Fa(`feedback_survey_bad`),Ia.current=!0)}}),[ha]),ba=rF(lr,W,ma,{enabled:!O}),xa=QP(lr,W,ma,{enabled:!O}),Ca=LR(lr,W,ma,ya.state!==`closed`||ba.state!==`closed`||xa.state!==`closed`);kP({autoConnectIdeFlag:p,ideToInstallExtension:yt,setDynamicMcpConfig:Le,setShowIdeOnboarding:Dt,setIDEInstallationState:Tt}),FF(o,oe,e=>V(t=>({...t,fileHistory:e})));let wa=(0,Q.useCallback)(async(t,n,r)=>{let i=performance.now();try{let a=qa(n.messages);{let t=(um(),e(nh)).matchSessionMode(n.mode);if(t){let{getAgentDefinitionsWithOverrides:n,getActiveAgentsFromList:r}=(Im(),e(og));n.cache.clear?.();let i=await n(ft());V(e=>({...e,agentDefinitions:{...i,allAgents:i.allAgents,activeAgents:r(i.allAgents)}})),a.push(Ad(t,`warning`))}}let o=mg();await rd(`resume`,{getAppState:()=>H.getState(),setAppState:V,signal:AbortSignal.timeout(o),timeoutMs:o});let s=await Xp(`resume`,{sessionId:t,agentType:P?.agentType,model:Te});a.push(...s),r===`fork`?cs(n,Ug(t)):pu(n,Ug(t)),cb(n,V),n.fileHistorySnapshots&&sa(n);let{agentDefinition:c}=ob(n.agentSetting,b,L);ee(c),V(e=>({...e,agent:c?.agentType})),V(e=>({...e,standaloneAgentContext:sb(n.agentName,n.agentColor)})),sh(n.agentName),ja(a,n.projectPath??ft()),ta(),an(null),Ai(t);let l=fp(t);Dg(),St(),lt(Ug(t),n.fullPath?xS(n.fullPath):null);let{renameRecordingForSession:u}=await import(`./asciicast-C3nf97NR.js`);if(await u(),await hf(),Nm(),Uf(n),er.current=!0,$n(void 0),r!==`fork`)lb(),ub(n.worktreeSession),td(),Qm({abortController:new AbortController,getAppState:()=>H.getState(),setAppState:V});else{let e=qg();e&&Kg(e)}{let{saveMode:t}=(_a(),e(Ng)),{isCoordinatorMode:n}=(um(),e(nh));t(n()?`coordinator`:`normal`)}l&&ct(l),Li.current&&r!==`fork`&&(Li.current=Vg(a,n.contentReplacements??[])),G(()=>a),Bn(null),zr(``),Y(`tengu_session_resumed`,{entrypoint:r,success:!0,resume_duration_ms:Math.round(performance.now()-i)})}catch(e){throw Y(`tengu_session_resumed`,{entrypoint:r,success:!1}),e}},[ta,V]),[Ta]=(0,Q.useState)(()=>X_(100)),Ea=(0,Q.useRef)(Ta),Da=(0,Q.useRef)(new Set),Oa=(0,Q.useRef)(0),ka=(0,Q.useRef)(new Set),Aa=(0,Q.useRef)(new Set),ja=(0,Q.useCallback)((e,t)=>{let n=Ap(e,t,100);Ea.current=Q_(Ea.current,n);for(let t of ua(e))Da.current.add(t)},[]);(0,Q.useEffect)(()=>{i&&i.length>0&&(ja(i,ft()),Qm({abortController:new AbortController,getAppState:()=>H.getState(),setAppState:V}))},[]);let{status:Ma,reverify:Na}=jN(),[Pa,Fa]=(0,Q.useState)(null),Ia=(0,Q.useRef)(!1),[La,Ra]=(0,Q.useState)(null),[za,Va]=(0,Q.useState)(!1),Ha=!W&&Di;function Ua(){if(za||La)return;if(Si)return`message-selector`;if(jn)return;if(Kn[0])return`sandbox-permission`;let e=!Ln||Ln.shouldContinueAnimation;if(e&&Vn[0])return`tool-permission`;if(e&&Jn[0])return`prompt`;if(e&&he.queue[0])return`worker-sandbox-permission`;if(e&&ge.queue[0])return`elicitation`;if(e&&Ha)return`cost`;if(e&&ji)return`idle-return`;if(e&&!W&&_e)return`ultraplan-choice`;if(e&&!W&&ve)return`ultraplan-launch`;if(e&&Et)return`ide-onboarding`;if(process.env.USER_TYPE===`ant`&&e&&Ot)return`model-switch`;if(process.env.USER_TYPE===`ant`&&e&&Fn)return`undercover-callout`;if(e&&jt)return`effort-callout`;if(e&&Nt)return`remote-callout`;if(e&&It)return`lsp-recommendation`;if(e&&Rt)return`plugin-hint`;if(e&&Bt.visible)return`search-extra-tools-hint`;if(e&&Pt)return`desktop-upsell`}let Wa=Ua(),Ga=jn&&(Kn[0]||Vn[0]||Jn[0]||he.queue[0]||ge.queue[0]||Ha);An.current=Wa,(0,Q.useEffect)(()=>{if(!W)return;let e=Wa===`tool-permission`,t=Date.now();e&&Cn.current===null?Cn.current=t:!e&&Cn.current!==null&&(Sn.current+=t-Cn.current,Cn.current=null)},[Wa,W]);let Ka=(0,Q.useRef)(Wa);(0,Q.useLayoutEffect)(()=>{Ka.current===`tool-permission`!=(Wa===`tool-permission`)&&Er(),Ka.current=Wa},[Wa,Er]);function Ja(){if(Wa!==`elicitation`){if(K(`[onCancel] focusedInputDialog=${Wa} streamMode=${Jt}`),BR?.pauseProactive(),fn.forceEnd(),Ni.current=!1,si?.trim()&&G(e=>[...e,sm({content:si})]),ta(),Ne(null),Wa===`tool-permission`)Vn[0]?.onAbort(),Un([]);else if(Wa===`prompt`){for(let e of Jn)e.reject(Error(`Prompt cancelled by user`));Yn([]),nn?.abort(`user-cancel`)}else Zr.isRemoteMode?Zr.cancelRequest():nn?.abort(`user-cancel`);an(null),da(dr.current,!0)}}let Ya=(0,Q.useCallback)(()=>{let e=Yl(Fr,0);e&&(zr(e.text),Vr(`prompt`),e.images.length>0&&ei(t=>{let n={...t};for(let t of e.images)n[t.id]=t;return n}))},[zr,Vr,Fr,ei]),Xa={setToolUseConfirmQueue:Un,onCancel:Ja,onAgentsKilled:()=>G(e=>[...e,Jm()]),isMessageSelectorVisible:Si||!!Hi,screen:ze,abortSignal:nn?.signal,popCommandFromQueue:Ya,vimMode:Bi,isLocalJSXCommand:Ln?.isLocalJSXCommand,isSearchingHistory:Wi,isHelpOpen:Ki,inputMode:Br,inputValue:Fr,streamMode:Jt};(0,Q.useEffect)(()=>{Ue()>=5&&!Di&&!Ri&&(Y(`tengu_cost_threshold_reached`,{}),zi(!0),en()&&Oi(!0))},[lr,Di,Ri]);let Za=(0,Q.useCallback)(async e=>{if(Hn()&&Vu()){let t=Os(),n=await Zi(e.host,t);return new Promise(r=>{if(!n){qn(t=>[...t,{hostPattern:e,resolvePromise:r}]);return}zs({requestId:t,host:e.host,resolve:r}),V(n=>({...n,pendingSandboxRequest:{requestId:t,host:e.host}}))})}return new Promise(t=>{let n=!1;function r(e){n||(n=!0,t(e))}qn(t=>[...t,{hostPattern:e,resolvePromise:r}]);{let t=H.getState().replBridgePermissionCallbacks;if(t){let n=AS();t.sendRequest(n,qy,{host:e.host},AS(),`Allow network connection to ${e.host}?`);let r=t.onResponse(n,t=>{r();let n=t.behavior===`allow`;qn(t=>(t.filter(t=>t.hostPattern.host===e.host).forEach(e=>e.resolvePromise(n)),t.filter(t=>t.hostPattern.host!==e.host)));let i=Xn.current.get(e.host);if(i){for(let e of i)e();Xn.current.delete(e.host)}}),i=()=>{r(),t.cancelRequest(n)},a=Xn.current.get(e.host)??[];a.push(i),Xn.current.set(e.host,a)}}})},[V,H]);(0,Q.useEffect)(()=>{let e=Nh.getSandboxUnavailableReason();if(e){if(Nh.isSandboxRequired()){process.stderr.write(`\nError: sandbox required but unavailable: ${e}\n sandbox.failIfUnavailable is set — refusing to start without a working sandbox.\n\n`),sl(1,`other`);return}K(`sandbox disabled: ${e}`,{level:`warn`}),ut({key:`sandbox-unavailable`,jsx:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{color:`warning`,children:`sandbox disabled`}),(0,$.jsx)(R,{dimColor:!0,children:` · /sandbox`})]}),priority:`medium`})}},[ut]),Nh.isSandboxingEnabled()&&Nh.initialize(Za).catch(e=>{process.stderr.write(`\n❌ Sandbox Error: ${br(e)}\n`),sl(1,`other`)});let Qa=(0,Q.useCallback)((e,t)=>{V(n=>({...n,toolPermissionContext:{...e,mode:t?.preserveMode?n.toolPermissionContext.mode:e.mode}})),setImmediate(e=>{e(e=>(e.forEach(e=>{e.recheckPermission()}),e))},Un)},[V,Un]);(0,Q.useEffect)(()=>(ko(Qa),()=>Zs()),[Qa]);let $a=iP(Un,Qa),eo=(0,Q.useCallback)((e,t,r,i)=>{let a=H.getState(),o=()=>{let e=H.getState(),t=Jy(Vt,fu(e.toolPermissionContext,e.mcp.tools),e.toolPermissionContext.mode);return P?$d(P,t,!1,!0).resolvedTools:t};return{abortController:r,options:{commands:qt,tools:o(),debug:n,verbose:a.verbose,mainLoopModel:i,thinkingConfig:a.thinkingEnabled===!1?{type:`disabled`}:D,mcpClients:fP(d,a.mcp.clients),mcpResources:a.mcp.resources,ideInstallationStatus:Ct,isNonInteractiveSession:!1,dynamicMcpConfig:Ie,theme:Qi,agentDefinitions:Gt?{...a.agentDefinitions,allowedAgentTypes:Gt}:a.agentDefinitions,customSystemPrompt:h,appendSystemPrompt:g,refreshTools:o},getAppState:()=>H.getState(),setAppState:V,messages:e,setMessages:G,updateFileHistoryState(e){V(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState(e){V(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},openMessageSelector:()=>{y||Ci(!0)},onChangeAPIKey:Na,readFileState:Ea.current,setToolJSX:Bn,addNotification:ut,appendSystemMessage:e=>G(t=>[...t,e]),sendOSNotification:e=>{e_(e,we)},onChangeDynamicMcpConfig:Re,onInstallIDEExtension:xt,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Aa.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:ka.current,setResponseLength:oi,pushApiMetricsEntry:process.env.USER_TYPE===`ant`?e=>{let t=Date.now(),n=ri.current;ii.current.push({ttftMs:e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})}:void 0,setStreamMode:Yt,onCompactProgress:e=>{switch(e.type){case`hooks_start`:_i(`claudeBlue_FOR_SYSTEM_SPINNER`),yi(`claudeBlueShimmer_FOR_SYSTEM_SPINNER`),hi(e.hookType===`pre_compact`?`Running PreCompact hooks…`:e.hookType===`post_compact`?`Running PostCompact hooks…`:`Running SessionStart hooks…`);break;case`compact_start`:hi(`Compacting conversation`);break;case`compact_end`:hi(null),_i(null),yi(null);break}},setInProgressToolUseIDs:Kr,setHasInterruptibleToolInProgress:e=>{qr.current=e},resume:wa,setConversationId:Ai,requestPrompt:void 0,contentReplacementState:Li.current}},[qt,Vt,P,n,d,Ct,Ie,Qi,Gt,H,V,Na,ut,G,Re,wa,(0,Q.useCallback)((e,t)=>n=>new Promise((r,i)=>{Yn(a=>[...a,{request:n,title:e,toolInputSummary:t,resolve:r,reject:i}])}),[]),y,h,g,Ai]),{handleBackgroundSession:to}=jP({setMessages:G,setIsLoading:Dn,resetLoadingState:ta,setAbortController:an,onBackgroundQuery:(0,Q.useCallback)(()=>{nn?.abort(`background`);let e=mo(e=>e.mode===`task-notification`);(async()=>{let t=eo(dr.current,[],new AbortController,Te),[n,r,i]=await Promise.all([xf(t.options.tools,Te,Array.from(F.additionalWorkingDirectories.keys()),t.options.mcpClients),Eg(),Od()]),a=Of({mainThreadAgentDefinition:P,toolUseContext:t,customSystemPrompt:h,defaultSystemPrompt:n,appendSystemPrompt:g});t.renderedSystemPrompt=a;let o=(await Rc(e).catch(()=>[])).map(vo),s=new Set;for(let e of dr.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)));Th({messages:[...dr.current,...c],queryParams:{systemPrompt:a,userContext:r,systemContext:i,canUseTool:$a,toolUseContext:t,querySource:xg()},description:nr,setAppState:V,agentDefinition:P})})()},[nn,Te,F,P,eo,h,g,$a,V])}),no=(0,Q.useCallback)(e=>{nl(e,e=>{Ol(e)?(ca()?G(t=>{let n=Uc(t,{includeSnipped:!0});return[...n.length>500?n.slice(-500):n,e]}):G(()=>[e]),Ai(AS()),BR?.setContextBlocked(!1)):e.type===`progress`&&kc(e.data?.type)?G(t=>{let n=e.data;for(let r=t.length-1;r>=0;r--){let i=t[r];if(i.type!==`progress`)break;let a=i.data;if(i.parentToolUseID===e.parentToolUseID&&a?.type===n.type){let n=t.slice();return n[r]=e,n}}return[...t,e]}):G(t=>[...t,e]),e.type===`assistant`&&`isApiErrorMessage`in e&&e.isApiErrorMessage?BR?.setContextBlocked(!0):e.type===`assistant`&&BR?.setContextBlocked(!1)},e=>{oi(t=>t+e.length)},Yt,Qt,e=>{G(t=>t.filter(t=>t!==e)),af(e.uuid)},tn,e=>{let t=Date.now(),n=ri.current;ii.current.push({...e,firstTokenTime:t,lastTokenTime:t,responseLengthBaseline:n,endResponseLength:n})},ui)},[G,oi,Yt,Qt,tn,ui]),ro=(0,Q.useCallback)(async(e,t,n,r,i,a,o)=>{if(r){let e=fP(d,H.getState().mcp.clients);_s.handleQueryStart(e);let t=Xi(e);t&&Zu(t)}if(Zv(),!j&&!Zn&&!tr&&!er.current){let e=t.find(e=>e.type===`user`&&!e.isMeta),n=e?.type===`user`?bo(e.message.content):null;n&&!n.startsWith(`<local-command-stdout>`)&&!n.startsWith(`<command-message>`)&&!n.startsWith(`<command-name>`)&&!n.startsWith(`<bash-input>`)&&(er.current=!0,Cy(n,new AbortController().signal).then(e=>{e?$n(e):er.current=!1},()=>{er.current=!1}))}if(H.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(Ol)&&(Ai(AS()),BR?.setContextBlocked(!1)),ta(),an(null);return}let s=eo(e,t,n,a),{tools:c,mcpClients:l}=s.options;if(o!==void 0){let e=s.getAppState;s.getAppState=()=>({...e(),effortValue:o})}Ep(`query_context_loading_start`);let[,,u,f,p]=await Promise.all([void 0,Tx(F,V,H.getState().fastMode),xf(c,a,Array.from(F.additionalWorkingDirectories.keys()),l),Eg(),Od()]),m={...f,...zR(l,p_()?Io():void 0),...BR?.isProactiveActive()&&!Yi.current?{terminalFocus:`The terminal is unfocused — the user is not actively watching.`}:{}};Ep(`query_context_loading_end`);let _=Of({mainThreadAgentDefinition:P,toolUseContext:s,customSystemPrompt:h,defaultSystemPrompt:u,appendSystemPrompt:g});s.renderedSystemPrompt=_,Ep(`query_query_start`),bt(),Xe(),at();for await(let t of bs({messages:e,systemPrompt:_,userContext:m,systemContext:p,canUseTool:$a,toolUseContext:s,querySource:xg()}))no(t);if(typeof globalThis.fireCompanionObserver==`function`){let e=globalThis.fireCompanionObserver;e(dr.current,e=>V(t=>t.companionReaction===e?t:{...t,companionReaction:e}))}if(Ep(`query_end`),process.env.USER_TYPE===`ant`&&ii.current.length>0){let e=ii.current,t=e.map(e=>e.ttftMs),n=e.map(e=>{let t=Math.round((e.endResponseLength-e.responseLengthBaseline)/4),n=e.lastTokenTime-e.firstTokenTime;return n>0?Math.round(t/(n/1e3)):0}),r=e.length>1,i=nt(),a=Be(),o=qe(),s=rt(),c=pt(),l=He(),u=Date.now()-xn.current;G(e=>[...e,Hh({ttftMs:r?ez(t):t[0],otps:r?ez(n):n[0],isP50:r,hookDurationMs:i>0?i:void 0,hookCount:a>0?a:void 0,turnDurationMs:u>0?u:void 0,toolDurationMs:o>0?o:void 0,toolCount:s>0?s:void 0,classifierDurationMs:c>0?c:void 0,classifierCount:l>0?l:void 0,configWriteCount:At()})])}ta(),Ah(),await v?.(dr.current)},[d,ta,eo,F,V,h,v,g,$a,P,no,Zn,j]),io=(0,Q.useCallback)(async(e,t,n,r,i,a,o,s)=>{if(Hn()){let e=bi(),t=Ti();e&&t&&Lv(e,t,!0)}let c=fn.tryStart();if(c===null)return Y(`tengu_concurrent_onquery_detected`,{}),e.filter(e=>e.type===`user`&&!e.isMeta).map(e=>bo(e.message.content)).filter(e=>e!==null).forEach((e,t)=>{dm({value:e,mode:`prompt`}),t===0&&Y(`tengu_concurrent_onquery_enqueued`,{})}),!1;try{No.current=!1,Tn(),G(t=>[...t,...e]),ri.current=0,Ne((o?lu(o):null)??Me()),ii.current=[],Qt([]),ci(null);let c=dr.current;if(o&&await la(o,c,e.length),a&&o&&!await a(o,c))return!0;try{await ro(c,e,t,n,r,i,s)}catch(e){throw e}}finally{if(fn.end(c)){pi(Date.now()),Ni.current=!1,ta(),await da(dr.current,t.signal.aborted),sn.current(),process.env.USER_TYPE===`ant`&&!t.signal.aborted&&V(e=>e.tungstenActiveSession===void 0||e.tungstenPanelAutoHidden===!0?e:{...e,tungstenPanelAutoHidden:!0});let e;Me()!==null&&Me()>0&&!t.signal.aborted&&(e={tokens:tt(),limit:Me(),nudges:Ye()}),Ne(null);let n=Date.now()-xn.current-Sn.current;(n>3e4||e!==void 0)&&!t.signal.aborted&&!ke&&(Bp(H.getState().tasks).some(e=>e.status===`running`)?(On.current===null&&(On.current=xn.current),e&&(kn.current=e)):G(t=>[...t,Og(n,e,xi(t,Lo))])),an(null)}if(t.signal.reason===`user-cancel`&&!fn.isActive&&Lr.current===``&&wd()===0&&!H.getState().viewingAgentTaskId){let e=dr.current,t=e.findLast(Xy);t&&Qy(e,e.lastIndexOf(t))&&(Ba(),cn.current(t))}}return!0},[ro,V,ta,fn,la,da]),ao=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{let e=se;if(!e||W||ao.current)return;ao.current=!0;async function t(e){if(e.clearContext){let t=e.message.planContent?Gs():void 0,{clearConversation:n}=await import(`./conversation-oX932vBQ.js`);await n({setMessages:G,readFileState:Ea.current,discoveredSkillNames:ka.current,loadedNestedMemoryPaths:Aa.current,getAppState:()=>H.getState(),setAppState:V,setConversationId:Ai}),er.current=!1,$n(void 0),Da.current.clear(),Oa.current=0,t&&ad(Fe(),t)}V(t=>{let n=e.mode?Ph(t.toolPermissionContext,LT(e.mode,e.allowedPrompts)):t.toolPermissionContext;return e.mode===`auto`&&(n=Jc({...n,mode:`auto`,prePlanMode:void 0})),{...t,initialMessage:null,toolPermissionContext:n}}),ag()&&Op(e=>{V(t=>({...t,fileHistory:e(t.fileHistory)}))},e.message.uuid),await Ar();let t=e.message.message.content;if(typeof t==`string`&&!e.message.planContent)oo(t,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let t=Pc();an(t),io([e.message],t,!0,[],Te)}setTimeout(e=>{e.current=!1},100,ao)}t(e)},[se,W,G,V,io,Te,Wt]);let oo=(0,Q.useCallback)(async(e,t,n,r)=>{if(Er(),BR?.resumeProactive(),Fo(e)){let n=Yd({content:e});G(e=>[...e,n]),r?.fromKeybinding||fm({display:Up(e,Br),pastedContents:Qr}),zr(``),t.setCursorOffset(0),t.clearBuffer(),ei({}),Vr(`prompt`),_t(void 0);return}if(!n&&e.trim().startsWith(`/`)){let n=sp(e,Qr).trim(),i=n.indexOf(` `),a=i===-1?n.slice(1):n.slice(1,i),o=i===-1?``:n.slice(i+1).trim(),s=qt.find(e=>lg(e)&&(e.name===a||e.aliases?.includes(a)||tm(e)===a));s?.name===`clear`&&fr.current&&(Y(`tengu_idle_return_action`,{action:`hint_converted`,variant:fr.current,idleMinutes:Math.round((Date.now()-Pi.current)/6e4),messageCount:dr.current.length,totalInputTokens:wt()}),fr.current=!1);let c=fn.isActive&&(s?.immediate||r?.fromKeybinding);if(s&&c&&s.type===`local-jsx`){e.trim()===Lr.current.trim()&&(zr(``),t.setCursorOffset(0),t.clearBuffer(),ei({}));let n=Rl(e).filter(e=>Qr[e.id]?.type===`text`),i=n.length;Y(`tengu_paste_text`,{pastedTextCount:i,pastedTextBytes:n.reduce((e,t)=>e+(Qr[t.id]?.content.length??0),0)}),Y(`tengu_immediate_command_executed`,{commandName:s.name,fromKeybinding:r?.fromKeybinding??!1}),(async()=>{let e=!1,n=(n,r)=>{e=!0,Bn({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let i=[];n&&r?.display!==`skip`&&(ut({key:`immediate-${s.name}`,text:n,priority:`immediate`}),ca()||i.push(Gf(Pg(tm(s),o)),Gf(`<${$r}>${K_(n)}</${$r}>`))),r?.metaMessages?.length&&i.push(...r.metaMessages.map(e=>Yd({content:e,isMeta:!0}))),i.length&&G(e=>[...e,...i]),Hr!==void 0&&(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0))},r=eo(dr.current,[],Pc(),Te),i=await(await s.load()).call(n,r,o);i&&!e&&Bn({jsx:i,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(Zr.isRemoteMode&&!e.trim())return;{let r=wn(`tengu_willow_mode`,`off`),i=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),a=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(r!==`off`&&!pn().idleReturnDismissed&&!Ni.current&&!n&&!e.trim().startsWith(`/`)&&Pi.current>0&&wt()>=a){let n=(Date.now()-Pi.current)/6e4;if(n>=i&&r===`dialog`){Mi({input:e,idleMinutes:n}),zr(``),t.setCursorOffset(0),t.clearBuffer();return}}}r?.fromKeybinding||(fm({display:n?e:Up(e,Br),pastedContents:n?{}:Qr}),Br===`bash`&&BO(e.trim()));let i=!n&&e.trim().startsWith(`/`),a=!W||n||Zr.isRemoteMode;if(Hr!==void 0&&!i&&a?(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0)):a&&(r?.fromKeybinding||(zr(``),t.setCursorOffset(0)),ei({})),a&&(Vr(`prompt`),_t(void 0),ni(e=>e+1),t.clearBuffer(),$i.current=!1,!i&&Br===`prompt`&&!n&&!Zr.isRemoteMode&&(pr(e),Tn()),V(e=>({...e,attribution:vv(e.attribution,e=>{aa(e).catch(e=>{K(`Attribution: Failed to save snapshot: ${e}`)})})}))),n){let{queryRequired:t}=await Fc(n.state,n.speculationSessionTimeSavedMs,n.setAppState,e,{setMessages:G,readFileState:Ea,cwd:ft()});if(t){let e=Pc();an(e),io([],e,!0,[],Te)}return}if(Zr.isRemoteMode&&!(i&&qt.find(t=>{let n=e.trim().slice(1).split(/\s/)[0];return lg(t)&&(t.name===n||t.aliases?.includes(n)||tm(t)===n)})?.type===`local-jsx`)){let t=Object.values(Qr),n=t.filter(e=>e.type===`image`),r=n.length>0?n.map(e=>e.id):void 0,i=e.trim(),a=e.trim();if(t.length>0){let n=[],r=[],o=e.trim();o&&(n.push({type:`text`,text:o}),r.push({type:`text`,text:o}));for(let e of t)if(e.type===`image`){let t={type:`base64`,media_type:e.mediaType??`image/png`,data:e.content};n.push({type:`image`,source:t}),r.push({type:`image`,source:t})}else n.push({type:`text`,text:e.content}),r.push({type:`text`,text:e.content});i=n,a=r}let o=Yd({content:i,imagePasteIds:r});G(e=>[...e,o]),await Zr.sendMessage(a,{uuid:o.uuid});return}await Ar(),await oP({input:e,helpers:t,queryGuard:fn,isExternalLoading:hn,mode:Br,commands:qt,onInputChange:zr,setPastedContents:ei,setToolJSX:Bn,getToolUseContext:eo,messages:dr.current,mainLoopModel:Te,pastedContents:Qr,ideSelection:gt,setUserInputOnProcessing:pr,setAbortController:an,abortController:nn,onQuery:io,setAppState:V,querySource:xg(),onBeforeQuery:_,canUseTool:$a,addNotification:ut,setMessages:G,streamMode:Xt.current,hasInterruptibleToolInProgress:qr.current}),(i||W)&&Hr!==void 0&&(zr(Hr.text),t.setCursorOffset(Hr.cursorOffset),ei(Hr.pastedContents),Ur(void 0))},[fn,W,hn,Br,qt,zr,Vr,ei,ni,_t,Bn,eo,Te,Qr,gt,pr,an,ut,io,Hr,Ur,V,_,$a,Jr,G,Ar,Er]),so=(0,Q.useCallback)(async(e,t,n)=>{co(t)?(tu(t.id,Yd({content:e}),V),t.status===`running`?zp(t.id,e,V):vd({agentId:t.id,prompt:e,toolUseContext:eo(dr.current,[],new AbortController,Te),canUseTool:$a}).catch(e=>{K(`resumeAgentBackground failed: ${br(e)}`),ut({key:`resume-agent-failed-${t.id}`,jsx:(0,$.jsxs)(R,{color:`error`,children:[`Failed to resume agent: `,br(e)]}),priority:`low`})})):il(t.id,e,void 0,V),zr(``),n.setCursorOffset(0),n.clearBuffer()},[V,zr,eo,$a,Te,ut]),lo=(0,Q.useCallback)(()=>{let e=Pa?YI(Pa):`/issue`;Fa(null),oo(e,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(t=>{K(`Auto-run ${e} failed: ${br(t)}`)})},[oo,Pa]),uo=(0,Q.useCallback)(()=>{Fa(null)},[]),fo=(0,Q.useCallback)(()=>{oo(process.env.USER_TYPE===`ant`?`/issue`:`/feedback`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch(e=>{K(`Survey feedback request failed: ${e instanceof Error?e.message:String(e)}`)})},[oo]),po=(0,Q.useRef)(oo);po.current=oo;let ho=(0,Q.useCallback)(()=>{po.current(`/rate-limit-options`,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})},[]),go=(0,Q.useCallback)(async()=>{if(Va(!0),nm()){FS(`tmux`,[`detach-client`],{stdio:`ignore`}),Va(!1);return}if(qg()!==null){Ra((0,$.jsx)(dx,{showWorktree:!0,onDone:()=>{},onCancel:()=>{Ra(null),Va(!1)}}));return}let e=await(await ah.load()).call(()=>{});Ra(e),e===null&&Va(!1)},[]),_o=(0,Q.useCallback)(()=>{Ci(e=>!e)},[]),yo=(0,Q.useCallback)(e=>{let t=dr.current,n=t.lastIndexOf(e);if(n===-1)return;Y(`tengu_conversation_rewind`,{preRewindMessageCount:t.length,postRewindMessageCount:n,messagesRemoved:t.length-n,rewindToMessageIndex:n}),G(t.slice(0,n)),Ai(AS()),$c();let r=e.permissionMode;V(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}}))},[G,V]),xo=(0,Q.useCallback)(e=>{yo(e);let t=fl(e);if(t&&(zr(t.text),Vr(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}}}),ei(n)}}},[yo,zr]);cn.current=xo;let So=(0,Q.useCallback)(async e=>{setImmediate((e,t)=>e(t),xo,e)},[xo]),Co=e=>{let t=e.slice(0,24);return lr.findIndex(e=>e.uuid.slice(0,24)===t)},{enter:wo,handlers:To}=Yh(Sr,Cr,wr,{copy:e=>void Ce(e).then(e=>{e&&process.stdout.write(e),ut({key:`selection-copied`,text:`copied`,color:`success`,priority:`immediate`,timeoutMs:2e3})}),edit:async e=>{let t=Co(e.uuid),n=t>=0?lr[t]:void 0;if(!n||!Xy(n))return;let r=!await Mh(oe,n.uuid),i=Qy(lr,t);r&&i?(Ja(),So(n)):(Ei(n),Ci(!0))}});async function Eo(){Na();let e=await Xl();if(e.length>0){let t=e.map(e=>` [${e.type}] ${e.path} (${e.content.length} chars)${e.parent?` (included by ${e.parent})`:``}`).join(`
94
94
  `);K(`Loaded ${e.length} CLAUDE.md/rules files:\n${t}`)}else K(`No CLAUDE.md/rules files found`);for(let t of e)Ea.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})}ON(iS()),aC(lr,lr.length===i?.length);let{sendBridgeResult:Oo}=SC(lr,G,on,qt,Te);sn.current=Oo,kN();let Ao=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(ue.length<1){Ao.current=!1;return}Ao.current||(Ao.current=!0,rn(e=>({...e,promptQueueUseCount:(e.promptQueueUseCount??0)+1})))},[ue.length]),uP({executeQueuedInput:(0,Q.useCallback)(async e=>{await oP({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:fn,commands:qt,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:Bn,getToolUseContext:eo,messages:lr,mainLoopModel:Te,ideSelection:gt,setUserInputOnProcessing:pr,setAbortController:an,onQuery:io,setAppState:V,querySource:xg(),onBeforeQuery:_,canUseTool:$a,addNotification:ut,setMessages:G,queuedCommands:e})},[fn,qt,Bn,eo,lr,Te,gt,pr,$a,an,io,ut,V,_]),hasActiveLocalJsxUI:ir,queryGuard:fn}),(0,Q.useEffect)(()=>{Hm.recordUserActivity(),We(!0)},[Fr,ti]),(0,Q.useEffect)(()=>{ti===1&&gS()},[ti]),(0,Q.useEffect)(()=>{if(W||ti===0||fi===0)return;let e=setTimeout((e,t,n,r,i)=>{if(et()>e)return;let a=Date.now()-e;!t&&!n&&r.current===void 0&&a>=pn().messageIdleNotifThresholdMs&&e_({message:`Claude is waiting for your input`,notificationType:`idle_prompt`},i)},pn().messageIdleNotifThresholdMs,fi,W,Ln,An,we);return()=>clearTimeout(e)},[W,Ln,ti,fi,we]),(0,Q.useEffect)(()=>{if(fi===0||W)return;let e=wn(`tengu_willow_mode`,`off`);if(e!==`hint`&&e!==`hint_v2`||pn().idleReturnDismissed)return;let t=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(wt()<t)return;let n=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75)*6e4-(Date.now()-fi),r=setTimeout((e,t,n,r,i)=>{if(n.current.length===0)return;let a=wt(),o=Ii(a),s=(Date.now()-e)/6e4;t({key:`idle-return-hint`,jsx:r===`hint_v2`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{dimColor:!0,children:`new task? `}),(0,$.jsx)(R,{color:`suggestion`,children:`/clear`}),(0,$.jsx)(R,{dimColor:!0,children:` to save `}),(0,$.jsxs)(R,{color:`suggestion`,children:[o,` tokens`]})]}):(0,$.jsxs)(R,{color:`warning`,children:[`new task? /clear to save `,o,` tokens`]}),priority:`medium`,timeoutMs:2147483647}),i.current=r,Y(`tengu_idle_return_action`,{action:`hint_shown`,variant:r,idleMinutes:Math.round(s),messageCount:n.current.length,totalInputTokens:a})},Math.max(0,n),fi,ut,dr,e,fr);return()=>{clearTimeout(r),dt(`idle-return-hint`),fr.current=!1}},[fi,W,ut,dt]);let jo=(0,Q.useCallback)((e,t)=>{if(fn.isActive||Zf().some(e=>e.mode===`prompt`||e.mode===`bash`))return!1;let n=typeof e==`string`?{value:e,mode:`prompt`,isMeta:t?.isMeta?!0:void 0}:e;return(async()=>{let e=await ru([n]),t=e.attachmentCommands[0];if(!t)return;let r=Pc();an(r);let i=Yd({content:t.value,isMeta:t.isMeta?!0:void 0,origin:t.origin}),a=!1;try{a=await io([i],r,!0,[],Te)!==!1}catch(t){try{await Ou({commands:e.claimedCommands,outcome:{type:`failed`,error:t},currentDir:Mr(),priority:`later`})}catch(e){ai(yr(e))}ai(yr(t));return}if(a)try{let t=await Ou({commands:e.claimedCommands,outcome:{type:`completed`},currentDir:Mr(),priority:`later`});for(let e of t)dm(e)}catch(e){ai(yr(e))}})().catch(e=>{ai(yr(e))}),!0},[io,Te,H]),{relayPipeMessage:Mo,pipeReturnHadErrorRef:No}=qR(),Po=FR({setInputValueRaw:Ir,inputValueRef:Lr,insertTextRef:Rr});wP({enabled:Hn(),isLoading:W,focusedInputDialog:Wa,onSubmitMessage:jo}),dP({isLoading:W,onSubmitMessage:jo}),Z(e=>ky(e));let{routeToSelectedPipes:Fo}=JR({store:H,setAppState:V,addNotification:ut});{let e=H.getState().kairosEnabled;KR({isLoading:W,assistantMode:e,setMessages:G})}process.env.USER_TYPE===`ant`&&EP({taskListId:S,isLoading:W,onSubmitTask:jo}),GR?.({isLoading:W||se!==null,queuedCommandsLength:ue.length,hasActiveLocalJsxUI:ir,isInPlanMode:F.mode===`plan`,onQueueTick:e=>dm(e)}),(0,Q.useEffect)(()=>{if(!ke){ov(null);return}if(!W){if(Ae!==null&&ue.length===0&&!ir&&F.mode!==`plan`&&se===null){ov({enabled:!0,phase:`standby`,next_tick_at:Ae,sleep_until:null});return}ov({enabled:!0,phase:null,next_tick_at:null,sleep_until:null})}},[se,W,ir,ke,Ae,ue.length,F.mode]),(0,Q.useEffect)(()=>{ue.some(e=>e.priority===`now`)&&on.current?.abort(`interrupt`)},[ue]);let Ro=(0,Q.useRef)(Eo);Ro.current=Eo;let zo=(0,Q.useRef)(_s);zo.current=_s,(0,Q.useEffect)(()=>(Ro.current(),()=>{zo.current.shutdown()}),[]);let{internal_eventEmitter:Bo}=ie(),[Vo,Ho]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let e=()=>{process.stdout.write(`
95
95
  Claude Code has been suspended. Run \`fg\` to bring Claude Code back.
96
96
  Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
97
- `)},t=()=>{Ho(e=>e+1)};return Bo?.on(`suspend`,e),Bo?.on(`resume`,t),()=>{Bo?.off(`suspend`,e),Bo?.off(`resume`,t)}},[Bo]);let Uo=(0,Q.useMemo)(()=>{if(!W)return null;let e=lr.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||lr.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=xi(lr,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`;if(process.env.USER_TYPE===`ant`){let e=n[i]?.data.command,t=e?` '${Fi(e,40)}'`:``;return r===1?`running ${o} hook${t}`:`running ${o} hook${t}\u2026 ${i}/${r}`}return r===1?`running ${o} hook`:`running stop hooks… ${i}/${r}`},[lr,W]),Wo=(0,Q.useCallback)(()=>{Pr({messagesLength:lr.length,streamingToolUsesLength:Zt.length})},[lr.length,Zt.length]),Go=(0,Q.useCallback)(()=>{Pr(null)},[]),Ko=ca()&&!N,qo=(0,Q.useRef)(null),[Jo,Yo]=(0,Q.useState)(!1),[Xo,Zo]=(0,Q.useState)(``),[Qo,$o]=(0,Q.useState)(0),[es,ts]=(0,Q.useState)(0),ns=(0,Q.useCallback)((e,t)=>{$o(e),ts(t)},[]);Oe((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){qo.current?.setAnchor(),Yo(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&Qo>0){let t=r===`n`?qo.current?.nextMatch:qo.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:ze===`transcript`&&Ko&&!Jo&&!Je});let{setQuery:rs,scanElement:is,setPositions:as}=I(),os=k().columns,ss=Q.useRef(os);Q.useEffect(()=>{ss.current!==os&&(ss.current=os,(Xo||Jo)&&(Yo(!1),Zo(``),$o(0),ts(0),qo.current?.disarmSearch(),rs(``)))},[os,Xo,Jo,rs]),Oe((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){Go(),n.stopImmediatePropagation();return}if(e===`[`&&!Je)Ze(!0),Ke(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),st.current)return;st.current=!0;let e=it.current,t=t=>{e===it.current&&(clearTimeout(ot.current),$e(t))};t(`rendering ${J.length} messages…`),(async()=>{try{let e=(await xx(J,Wt,Math.max(80,(process.stdout.columns??80)-6))).replace(/[ \t]+$/gm,``),n=CS(vS(),`cc-transcript-${Date.now()}.txt`);await NS(n,e),t(Tb(n)?`opening ${n}`:`wrote ${n} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}st.current=!1,e===it.current&&(ot.current=setTimeout(e=>e(``),4e3,$e))})()}}},{isActive:ze===`transcript`&&Ko&&!Jo});let ls=ze===`transcript`&&Ko;(0,Q.useEffect)(()=>{ls||(Zo(``),$o(0),ts(0),Yo(!1),it.current++,clearTimeout(ot.current),Ze(!1),$e(``))},[ls]),(0,Q.useEffect)(()=>{rs(ls?Xo:``),ls||as(null)},[ls,Xo,rs,as]);let us={screen:ze,setScreen:Ve,showAllInTranscript:Ge,setShowAllInTranscript:Ke,messageCount:lr.length,onEnterTranscript:Wo,onExitTranscript:Go,virtualScrollActive:Ko,searchBarOpen:Jo},ds=Nr?J.slice(0,Nr.messagesLength):J,fs=Nr?Zt.slice(0,Nr.streamingToolUsesLength):Zt;RN({onOpenBackgroundTasks:ir?void 0:()=>Ui(!0),onTogglePipeSelector:()=>{V(e=>{let t=e.pipeIpc??{};return{...e,pipeIpc:{...t,selectorOpen:!t.selectorOpen}}})}}),VN();let ps=ye?B[ye]:void 0,hs=ps&&Id(ps)?ps:void 0,gs=hs??(ps&&co(ps)?ps:void 0),ys=li||!W,xs=gs?.messages,Ss=(0,Q.useMemo)(()=>{if(!gs)return;let e=xs??[];if(!co(gs)||gs.agentType!==`fork`||!gs.prompt)return e;let t=gs.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(cz))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=>!cz(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=Yd({content:gs.prompt,timestamp:new Date(gs.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[gs,xs]),Cs=gs?Ss??[]:ys?lr:J;if(ze===`transcript`){let e=ca()&&!N&&!Je?ln:void 0,t=(0,$.jsx)(bx,{messages:ds,tools:Wt,commands:qt,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:Gr,isMessageSelectorVisible:!1,conversationId:ki,screen:ze,agentDefinitions:L,streamingToolUses:fs,showAllInTranscript:Ge,onOpenRateLimitOptions:ho,isLoading:W,hidePastThinking:!0,streamingThinking:$t,scrollRef:e,jumpRef:qo,onSearchMatchesChange:ns,scanElement:is,setPositions:as,disableRenderCap:Je}),n=Ln&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),r=(0,$.jsxs)(vg,{children:[(0,$.jsx)(oz,{isAnimating:ar,title:nr,disabled:j,noPrefix:cr}),(0,$.jsx)(MN,{...us}),(0,$.jsx)(IR,{voiceHandleKeyEvent:Po.handleKeyEvent,stripTrailing:Po.stripTrailing,resetAnchor:Po.resetAnchor,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(PN,{onSubmit:oo,isActive:!Ln?.isLocalJSXCommand}),e?(0,$.jsx)(VL,{scrollRef:ln,isActive:Wa!==`ultraplan-choice`,isModal:!Jo,onScroll:()=>qo.current?.disarmSearch()}):null,(0,$.jsx)(IN,{...Xa}),e?(0,$.jsx)(vx,{scrollRef:ln,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RF,{})]}),bottom:Jo?(0,$.jsx)(nz,{jumpRef:qo,initialQuery:``,count:Qo,current:es,onClose:e=>{Zo(Qo>0?e:``),Yo(!1),e||($o(0),ts(0),qo.current?.setSearchQuery(``))},onCancel:()=>{Yo(!1),qo.current?.setSearchQuery(``),qo.current?.setSearchQuery(Xo),rs(Xo)},setHighlight:rs}):(0,$.jsx)(tz,{showAllInTranscript:Ge,virtualScroll:!0,status:Qe||void 0,searchBadge:Xo&&Qo>0?{current:es,count:Qo}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RF,{}),(0,$.jsx)(tz,{showAllInTranscript:Ge,virtualScroll:!1,suppressShowAll:Je,status:Qe||void 0})]})]});return e?(0,$.jsx)(ce,{mouseTracking:Tf(),children:r}):r}let ws=_n&&!gs&&Cs.length<=yn.current?_n:void 0,Ts=Wa===`tool-permission`?(0,$.jsx)(NE,{onDone:()=>Un(([e,...t])=>t),onReject:Ya,toolUseConfirm:Vn[0],toolUseContext:eo(lr,lr,nn??Pc(),Te),verbose:te,workerBadge:Vn[0]?.workerBadge,setStickyFooter:ca()?Gn:void 0},Vn[0]?.toolUseID):null,Es=os<100,Ds=!Ln?.shouldHidePromptInput&&!Wa&&!Hi,ks=ca()&&Ln?.isLocalJSXCommand===!0,As=ks?Ln.jsx:null,js=(0,$.jsxs)(vg,{children:[(0,$.jsx)(oz,{isAnimating:ar,title:nr,disabled:j,noPrefix:cr}),(0,$.jsx)(MN,{...us}),(0,$.jsx)(IR,{voiceHandleKeyEvent:Po.handleKeyEvent,stripTrailing:Po.stripTrailing,resetAnchor:Po.resetAnchor,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(PN,{onSubmit:oo,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(VL,{scrollRef:ln,isActive:ca()&&(As!=null||!Wa||Wa===`tool-permission`),onScroll:kr}),null,(0,$.jsx)(IN,{...Xa}),(0,$.jsx)(zy,{dynamicMcpConfig:Ie,isStrictMcpConfig:m,children:(0,$.jsx)(vx,{scrollRef:ln,overlay:Ts,bottomFloat:Ds&&!Es?(0,$.jsx)(TD,{}):void 0,modal:As,modalScrollRef:un,dividerYRef:hr,hidePill:!!gs,hideSticky:!!hs,newMessageCount:Tr?.count??0,onPillClick:()=>{Cr(null),vr(ln.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(gP,{}),(0,$.jsx)(bx,{messages:Cs,tools:Wt,commands:qt,verbose:te,toolJSX:Ln,toolUseConfirmQueue:Vn,inProgressToolUseIDs:hs?hs.inProgressToolUseIDs??new Set:Gr,isMessageSelectorVisible:Si,conversationId:ki,screen:ze,streamingToolUses:Zt,showAllInTranscript:Ge,agentDefinitions:L,onOpenRateLimitOptions:ho,isLoading:W,streamingText:W&&!gs?di:null,isBriefOnly:gs?!1:je,unseenDivider:gs?void 0:Tr,scrollRef:ca()?ln:void 0,trackStickyPrompt:ca()?!0:void 0,cursor:Sr,setCursor:Cr,cursorNavRef:wr}),(0,$.jsx)(SI,{}),!y&&ws&&!As&&(0,$.jsx)(wl,{param:{text:ws,type:`text`},addMargin:!0,verbose:te}),Ln&&!(Ln.isLocalJSXCommand&&Ln.isImmediate)&&!ks&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(ZI,{}),(0,$.jsx)(U,{flexGrow:1}),pa&&(0,$.jsx)(Xg,{mode:Jt,spinnerTip:de,responseLengthRef:ri,apiMetricsRef:ii,overrideMessage:mi,spinnerSuffix:Uo,verbose:te,loadingStartTimeRef:xn,totalPausedMsRef:Sn,pauseStartTimeRef:Cn,overrideColor:gi,overrideShimmerColor:vi,hasActiveTools:Gr.size>0,leaderIsIdle:!W}),!pa&&!W&&!_n&&!na&&je&&!gs&&(0,$.jsx)(i_,{}),ca()&&(0,$.jsx)(gM,{})]}),bottom:(0,$.jsxs)(U,{flexDirection:Es?`column`:`row`,width:`100%`,alignItems:Es?void 0:`flex-end`,children:[Es&&ca()&&Ds?(0,$.jsx)(wD,{}):null,(0,$.jsxs)(U,{flexDirection:`column`,flexGrow:1,children:[Wn,Ln?.isLocalJSXCommand&&Ln.isImmediate&&!ks&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),!pa&&!Ln?.isLocalJSXCommand&&fe&&Ht&&Ht.length>0&&(0,$.jsx)(U,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(qu,{tasks:Ht,isStandalone:!0})}),Wa===`sandbox-permission`&&(0,$.jsx)(IF,{hostPattern:Kn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=Kn[0];if(!r)return;let i=r.hostPattern.host;if(n){let e={type:`addRules`,rules:[{toolName:`WebFetch`,ruleContent:`domain:${i}`}],behavior:t?`allow`:`deny`,destination:`localSettings`};V(t=>({...t,toolPermissionContext:Rm(t.toolPermissionContext,e)})),lf(e),Nh.refreshConfig()}qn(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)));let a=Xn.current.get(i);if(a){for(let e of a)e();Xn.current.delete(i)}}},Kn[0].hostPattern.host),Wa===`prompt`&&(0,$.jsx)(rD,{title:Jn[0].title,toolInputSummary:Jn[0].toolInputSummary,request:Jn[0].request,onRespond:e=>{let t=Jn[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),Yn(([,...e])=>e))},onAbort:()=>{let e=Jn[0];e&&(e.reject(Error(`Prompt cancelled by user`)),Yn(([,...e])=>e))}},Jn[0].request.prompt),pe&&(0,$.jsx)(iC,{toolName:pe.toolName,description:pe.description}),me&&(0,$.jsx)(iC,{toolName:`Network Access`,description:`Waiting for leader to approve network access to ${me.host}`}),Wa===`worker-sandbox-permission`&&(0,$.jsx)(IF,{hostPattern:{host:he.queue[0].host,port:void 0},onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=he.queue[0];if(!r)return;let i=r.host;if(kf(r.workerName,r.requestId,i,t,z?.teamName),n&&t){let e={type:`addRules`,rules:[{toolName:`WebFetch`,ruleContent:`domain:${i}`}],behavior:`allow`,destination:`localSettings`};V(t=>({...t,toolPermissionContext:Rm(t.toolPermissionContext,e)})),lf(e),Nh.refreshConfig()}V(e=>({...e,workerSandboxPermissions:{...e.workerSandboxPermissions,queue:e.workerSandboxPermissions.queue.slice(1)}}))}},he.queue[0].requestId),Wa===`elicitation`&&(0,$.jsx)(eD,{event:ge.queue[0],onResponse:(e,t)=>{let n=ge.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||V(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=ge.queue[0];V(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},ge.queue[0].serverName+`:`+String(ge.queue[0].requestId)),Wa===`cost`&&(0,$.jsx)(BS,{onDone:()=>{Oi(!1),zi(!0),rn(e=>({...e,hasAcknowledgedCostThreshold:!0})),Y(`tengu_cost_threshold_acknowledged`,{})}}),Wa===`idle-return`&&ji&&(0,$.jsx)(VS,{idleMinutes:ji.idleMinutes,totalInputTokens:wt(),onDone:async e=>{let t=ji;if(Mi(null),Y(`tengu_idle_return_action`,{action:e,idleMinutes:Math.round(t.idleMinutes),messageCount:dr.current.length,totalInputTokens:wt()}),e===`dismiss`){zr(t.input);return}if(e===`never`&&rn(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-C23rDJe3.js`);await e({setMessages:G,readFileState:Ea.current,discoveredSkillNames:ka.current,loadedNestedMemoryPaths:Aa.current,getAppState:()=>H.getState(),setAppState:V,setConversationId:Ai}),er.current=!1,$n(void 0),Da.current.clear(),Oa.current=0}Ni.current=!0,po.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),Wa===`ide-onboarding`&&(0,$.jsx)(Sm,{onDone:()=>Dt(!1),installationStatus:Ct}),process.env.USER_TYPE===`ant`&&Wa===`model-switch`&&YR&&(0,$.jsx)(YR,{onDone:(e,t)=>{kt(!1),e===`switch`&&t&&V(e=>({...e,mainLoopModel:t,mainLoopModelForSession:null}))}}),process.env.USER_TYPE===`ant`&&Wa===`undercover-callout`&&ZR&&(0,$.jsx)(ZR,{onDone:()=>In(!1)}),Wa===`effort-callout`&&(0,$.jsx)(NP,{model:Te,onDone:e=>{Mt(!1),e!==`dismiss`&&V(t=>({...t,effortValue:e}))}}),Wa===`remote-callout`&&(0,$.jsx)(Fb,{onDone:e=>{V(t=>t.showRemoteCallout?{...t,showRemoteCallout:!1,...e===`enable`&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}:t)}}),La,Wa===`plugin-hint`&&Rt&&(0,$.jsx)(uI,{pluginName:Rt.pluginName,pluginDescription:Rt.pluginDescription,marketplaceName:Rt.marketplaceName,sourceCommand:Rt.sourceCommand,onResponse:zt}),Wa===`search-extra-tools-hint`&&Bt.visible&&(0,$.jsx)(fI,{tools:Bt.tools,onSelect:Bt.handleSelect,onDismiss:Bt.handleDismiss}),Wa===`lsp-recommendation`&&It&&(0,$.jsx)(sI,{pluginName:It.pluginName,pluginDescription:It.pluginDescription,fileExtension:It.fileExtension,onResponse:Lt}),Wa===`desktop-upsell`&&(0,$.jsx)(dS,{onDone:()=>Ft(!1)}),Wa===`ultraplan-choice`&&_e&&(0,$.jsx)(dL,{plan:_e.plan,sessionId:_e.sessionId,taskId:_e.taskId,setMessages:G,readFileState:Ea.current,getAppState:()=>H.getState(),setConversationId:Ai}),Wa===`ultraplan-launch`&&ve&&(0,$.jsx)(mL,{onChoice:(e,t)=>{let n=ve.blurb;if(V(e=>e.ultraplanLaunchPending?{...e,ultraplanLaunchPending:void 0}:e),e===`cancel`)return;G(e=>[...e,Gf(Pg(`ultraplan`,n))]);let r=e=>G(t=>[...t,Gf(`<local-command-stdout>${K_(e)}</local-command-stdout>`)]);Sp({blurb:n,promptIdentifier:t?.promptIdentifier,getAppState:()=>H.getState(),setAppState:V,signal:Pc().signal,disconnectedBridge:t?.disconnectedBridge,onSessionReady:e=>{if(!fn.isActive){r(e);return}let t=fn.subscribe(()=>{fn.isActive||(t(),H.getState().ultraplanSessionUrl&&r(e))})}}).then(r).catch(ai)}}),fa(),!Ln?.shouldHidePromptInput&&!Wa&&!za&&!y&&!Sr&&(0,$.jsxs)($.Fragment,{children:[Pa&&(0,$.jsx)(qI,{onRun:lo,onCancel:uo,reason:XI(Pa)}),ba.state===`closed`?xa.state===`closed`?(0,$.jsx)(cF,{state:ya.state,lastResponse:ya.lastResponse,handleSelect:ya.handleSelect,handleTranscriptSelect:ya.handleTranscriptSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:Ia.current?void 0:fo}):(0,$.jsx)(cF,{state:xa.state,lastResponse:xa.lastResponse,handleSelect:xa.handleSelect,handleTranscriptSelect:xa.handleTranscriptSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:fo,message:`How well did Claude use its memory? (optional)`}):(0,$.jsx)(cF,{state:ba.state,lastResponse:ba.lastResponse,handleSelect:ba.handleSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:fo}),Ca.state!==`closed`&&(0,$.jsx)(cF,{state:Ca.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:Ca.handleTranscriptSelect,inputValue:Fr,setInputValue:zr}),ga.suggestion&&(0,$.jsx)(SN,{isOpen:ga.isOpen,skillName:ga.suggestion.skillName,updates:ga.suggestion.updates,handleSelect:ga.handleSelect,inputValue:Fr,setInputValue:zr}),va&&(0,$.jsx)(QI,{}),(0,$.jsx)(zM,{debug:n,ideSelection:gt,hasSuppressedDialogs:!!Ga,isLocalJSXCommandActive:ir,getToolUseContext:eo,toolPermissionContext:F,setToolPermissionContext:Qa,apiKeyStatus:Ma,commands:qt,agents:L.activeAgents,isLoading:W,onExit:go,verbose:te,messages:lr,onAutoUpdaterResult:Pn,autoUpdaterResult:Nn,input:Fr,onInputChange:zr,mode:Br,onModeChange:Vr,stashedPrompt:Hr,setStashedPrompt:Ur,submitCount:ti,onShowMessageSelector:_o,onMessageActionsEnter:void 0,mcpClients:ht,pastedContents:Qr,setPastedContents:ei,vimMode:Bi,setVimMode:Vi,showBashesDialog:Hi,setShowBashesDialog:Ui,onSubmit:oo,onAgentSubmit:so,isSearchingHistory:Wi,setIsSearchingHistory:Gi,helpOpen:Ki,setHelpOpen:qi,insertTextRef:Rr,voiceInterimRange:Po.interimRange}),(0,$.jsx)(AP,{onBackgroundSession:to,isLoading:W}),(0,$.jsx)(xP,{})]}),Sr&&(0,$.jsx)(od,{cursor:Sr}),Wa===`message-selector`&&(0,$.jsx)(nb,{messages:lr,preselectedMessage:wi,onPreRestore:Ja,onRestoreCode:async e=>{await $m(e=>{V(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=Uc(lr),i=r.indexOf(e);if(i===-1){G(e=>[...e,Ad(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=eo(r,[],Pc(),Te),o=a.getAppState(),s=await xf(a.options.tools,a.options.mainLoopModel,Array.from(o.toolPermissionContext.additionalWorkingDirectories.keys()),a.options.mcpClients),c=Of({mainThreadAgentDefinition:void 0,toolUseContext:a,customSystemPrompt:a.options.customSystemPrompt,defaultSystemPrompt:s,appendSystemPrompt:a.options.appendSystemPrompt}),[l,u]=await Promise.all([Eg(),Od()]),d=await Zl(r,i,a,{systemPrompt:c,userContext:l,systemContext:u,toolUseContext:a,forkContextMessages:r},t,n),f=d.messagesToKeep??[],p=n===`up_to`?[...d.summaryMessages,...f]:[...f,...d.summaryMessages],m=[d.boundaryMarker,...p,...d.attachments,...d.hookResults];if(ca()&&n===`from`?G(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...m]}):G(m),BR?.setContextBlocked(!1),Ai(AS()),kd(a.options.querySource),n===`from`){let t=fl(e);t&&(zr(t.text),Vr(t.mode))}ut({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${Fd(`app:toggleTranscript`,`Global`,`ctrl+o`)} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:So,onClose:()=>{Ci(!1),Ei(void 0)}}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(sL,{})]}),!(Es&&ca())&&Ds?(0,$.jsx)(wD,{}):null]})})},Vo)]});return ca()?(0,$.jsx)(ce,{mouseTracking:Tf(),children:js}):js}export{lz as t};
97
+ `)},t=()=>{Ho(e=>e+1)};return Bo?.on(`suspend`,e),Bo?.on(`resume`,t),()=>{Bo?.off(`suspend`,e),Bo?.off(`resume`,t)}},[Bo]);let Uo=(0,Q.useMemo)(()=>{if(!W)return null;let e=lr.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||lr.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=xi(lr,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`;if(process.env.USER_TYPE===`ant`){let e=n[i]?.data.command,t=e?` '${Fi(e,40)}'`:``;return r===1?`running ${o} hook${t}`:`running ${o} hook${t}\u2026 ${i}/${r}`}return r===1?`running ${o} hook`:`running stop hooks… ${i}/${r}`},[lr,W]),Wo=(0,Q.useCallback)(()=>{Pr({messagesLength:lr.length,streamingToolUsesLength:Zt.length})},[lr.length,Zt.length]),Go=(0,Q.useCallback)(()=>{Pr(null)},[]),Ko=ca()&&!N,qo=(0,Q.useRef)(null),[Jo,Yo]=(0,Q.useState)(!1),[Xo,Zo]=(0,Q.useState)(``),[Qo,$o]=(0,Q.useState)(0),[es,ts]=(0,Q.useState)(0),ns=(0,Q.useCallback)((e,t)=>{$o(e),ts(t)},[]);Oe((e,t,n)=>{if(t.ctrl||t.meta)return;if(e===`/`){qo.current?.setAnchor(),Yo(!0),n.stopImmediatePropagation();return}let r=e[0];if((r===`n`||r===`N`)&&e===r.repeat(e.length)&&Qo>0){let t=r===`n`?qo.current?.nextMatch:qo.current?.prevMatch;if(t)for(let n=0;n<e.length;n++)t();n.stopImmediatePropagation()}},{isActive:ze===`transcript`&&Ko&&!Jo&&!Je});let{setQuery:rs,scanElement:is,setPositions:as}=I(),os=k().columns,ss=Q.useRef(os);Q.useEffect(()=>{ss.current!==os&&(ss.current=os,(Xo||Jo)&&(Yo(!1),Zo(``),$o(0),ts(0),qo.current?.disarmSearch(),rs(``)))},[os,Xo,Jo,rs]),Oe((e,t,n)=>{if(!(t.ctrl||t.meta)){if(e===`q`){Go(),n.stopImmediatePropagation();return}if(e===`[`&&!Je)Ze(!0),Ke(!0),n.stopImmediatePropagation();else if(e===`v`){if(n.stopImmediatePropagation(),st.current)return;st.current=!0;let e=it.current,t=t=>{e===it.current&&(clearTimeout(ot.current),$e(t))};t(`rendering ${J.length} messages…`),(async()=>{try{let e=(await xx(J,Wt,Math.max(80,(process.stdout.columns??80)-6))).replace(/[ \t]+$/gm,``),n=CS(vS(),`cc-transcript-${Date.now()}.txt`);await NS(n,e),t(Tb(n)?`opening ${n}`:`wrote ${n} · no $VISUAL/$EDITOR set`)}catch(e){t(`render failed: ${e instanceof Error?e.message:String(e)}`)}st.current=!1,e===it.current&&(ot.current=setTimeout(e=>e(``),4e3,$e))})()}}},{isActive:ze===`transcript`&&Ko&&!Jo});let ls=ze===`transcript`&&Ko;(0,Q.useEffect)(()=>{ls||(Zo(``),$o(0),ts(0),Yo(!1),it.current++,clearTimeout(ot.current),Ze(!1),$e(``))},[ls]),(0,Q.useEffect)(()=>{rs(ls?Xo:``),ls||as(null)},[ls,Xo,rs,as]);let us={screen:ze,setScreen:Ve,showAllInTranscript:Ge,setShowAllInTranscript:Ke,messageCount:lr.length,onEnterTranscript:Wo,onExitTranscript:Go,virtualScrollActive:Ko,searchBarOpen:Jo},ds=Nr?J.slice(0,Nr.messagesLength):J,fs=Nr?Zt.slice(0,Nr.streamingToolUsesLength):Zt;RN({onOpenBackgroundTasks:ir?void 0:()=>Ui(!0),onTogglePipeSelector:()=>{V(e=>{let t=e.pipeIpc??{};return{...e,pipeIpc:{...t,selectorOpen:!t.selectorOpen}}})}}),VN();let ps=ye?B[ye]:void 0,hs=ps&&Id(ps)?ps:void 0,gs=hs??(ps&&co(ps)?ps:void 0),ys=li||!W,xs=gs?.messages,Ss=(0,Q.useMemo)(()=>{if(!gs)return;let e=xs??[];if(!co(gs)||gs.agentType!==`fork`||!gs.prompt)return e;let t=gs.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(cz))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=>!cz(e))}});if(i)return a;let o=n===-1?r+1:n+1,s=Yd({content:gs.prompt,timestamp:new Date(gs.startTime).toISOString()});return[...a.slice(0,o),s,...a.slice(o)]},[gs,xs]),Cs=gs?Ss??[]:ys?lr:J;if(ze===`transcript`){let e=ca()&&!N&&!Je?ln:void 0,t=(0,$.jsx)(bx,{messages:ds,tools:Wt,commands:qt,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:Gr,isMessageSelectorVisible:!1,conversationId:ki,screen:ze,agentDefinitions:L,streamingToolUses:fs,showAllInTranscript:Ge,onOpenRateLimitOptions:ho,isLoading:W,hidePastThinking:!0,streamingThinking:$t,scrollRef:e,jumpRef:qo,onSearchMatchesChange:ns,scanElement:is,setPositions:as,disableRenderCap:Je}),n=Ln&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),r=(0,$.jsxs)(vg,{children:[(0,$.jsx)(oz,{isAnimating:ar,title:nr,disabled:j,noPrefix:cr}),(0,$.jsx)(MN,{...us}),(0,$.jsx)(IR,{voiceHandleKeyEvent:Po.handleKeyEvent,stripTrailing:Po.stripTrailing,resetAnchor:Po.resetAnchor,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(PN,{onSubmit:oo,isActive:!Ln?.isLocalJSXCommand}),e?(0,$.jsx)(VL,{scrollRef:ln,isActive:Wa!==`ultraplan-choice`,isModal:!Jo,onScroll:()=>qo.current?.disarmSearch()}):null,(0,$.jsx)(IN,{...Xa}),e?(0,$.jsx)(vx,{scrollRef:ln,scrollable:(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RF,{})]}),bottom:Jo?(0,$.jsx)(nz,{jumpRef:qo,initialQuery:``,count:Qo,current:es,onClose:e=>{Zo(Qo>0?e:``),Yo(!1),e||($o(0),ts(0),qo.current?.setSearchQuery(``))},onCancel:()=>{Yo(!1),qo.current?.setSearchQuery(``),qo.current?.setSearchQuery(Xo),rs(Xo)},setHighlight:rs}):(0,$.jsx)(tz,{showAllInTranscript:Ge,virtualScroll:!0,status:Qe||void 0,searchBadge:Xo&&Qo>0?{current:es,count:Qo}:void 0})}):(0,$.jsxs)($.Fragment,{children:[t,n,(0,$.jsx)(RF,{}),(0,$.jsx)(tz,{showAllInTranscript:Ge,virtualScroll:!1,suppressShowAll:Je,status:Qe||void 0})]})]});return e?(0,$.jsx)(ce,{mouseTracking:Tf(),children:r}):r}let ws=_n&&!gs&&Cs.length<=yn.current?_n:void 0,Ts=Wa===`tool-permission`?(0,$.jsx)(NE,{onDone:()=>Un(([e,...t])=>t),onReject:Ya,toolUseConfirm:Vn[0],toolUseContext:eo(lr,lr,nn??Pc(),Te),verbose:te,workerBadge:Vn[0]?.workerBadge,setStickyFooter:ca()?Gn:void 0},Vn[0]?.toolUseID):null,Es=os<100,Ds=!Ln?.shouldHidePromptInput&&!Wa&&!Hi,ks=ca()&&Ln?.isLocalJSXCommand===!0,As=ks?Ln.jsx:null,js=(0,$.jsxs)(vg,{children:[(0,$.jsx)(oz,{isAnimating:ar,title:nr,disabled:j,noPrefix:cr}),(0,$.jsx)(MN,{...us}),(0,$.jsx)(IR,{voiceHandleKeyEvent:Po.handleKeyEvent,stripTrailing:Po.stripTrailing,resetAnchor:Po.resetAnchor,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(PN,{onSubmit:oo,isActive:!Ln?.isLocalJSXCommand}),(0,$.jsx)(VL,{scrollRef:ln,isActive:ca()&&(As!=null||!Wa||Wa===`tool-permission`),onScroll:kr}),null,(0,$.jsx)(IN,{...Xa}),(0,$.jsx)(zy,{dynamicMcpConfig:Ie,isStrictMcpConfig:m,children:(0,$.jsx)(vx,{scrollRef:ln,overlay:Ts,bottomFloat:Ds&&!Es?(0,$.jsx)(TD,{}):void 0,modal:As,modalScrollRef:un,dividerYRef:hr,hidePill:!!gs,hideSticky:!!hs,newMessageCount:Tr?.count??0,onPillClick:()=>{Cr(null),vr(ln.current)},scrollable:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(gP,{}),(0,$.jsx)(bx,{messages:Cs,tools:Wt,commands:qt,verbose:te,toolJSX:Ln,toolUseConfirmQueue:Vn,inProgressToolUseIDs:hs?hs.inProgressToolUseIDs??new Set:Gr,isMessageSelectorVisible:Si,conversationId:ki,screen:ze,streamingToolUses:Zt,showAllInTranscript:Ge,agentDefinitions:L,onOpenRateLimitOptions:ho,isLoading:W,streamingText:W&&!gs?di:null,isBriefOnly:gs?!1:je,unseenDivider:gs?void 0:Tr,scrollRef:ca()?ln:void 0,trackStickyPrompt:ca()?!0:void 0,cursor:Sr,setCursor:Cr,cursorNavRef:wr}),(0,$.jsx)(SI,{}),!y&&ws&&!As&&(0,$.jsx)(wl,{param:{text:ws,type:`text`},addMargin:!0,verbose:te}),Ln&&!(Ln.isLocalJSXCommand&&Ln.isImmediate)&&!ks&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(ZI,{}),(0,$.jsx)(U,{flexGrow:1}),pa&&(0,$.jsx)(Xg,{mode:Jt,spinnerTip:de,responseLengthRef:ri,apiMetricsRef:ii,overrideMessage:mi,spinnerSuffix:Uo,verbose:te,loadingStartTimeRef:xn,totalPausedMsRef:Sn,pauseStartTimeRef:Cn,overrideColor:gi,overrideShimmerColor:vi,hasActiveTools:Gr.size>0,leaderIsIdle:!W}),!pa&&!W&&!_n&&!na&&je&&!gs&&(0,$.jsx)(i_,{}),ca()&&(0,$.jsx)(gM,{})]}),bottom:(0,$.jsxs)(U,{flexDirection:Es?`column`:`row`,width:`100%`,alignItems:Es?void 0:`flex-end`,children:[Es&&ca()&&Ds?(0,$.jsx)(wD,{}):null,(0,$.jsxs)(U,{flexDirection:`column`,flexGrow:1,children:[Wn,Ln?.isLocalJSXCommand&&Ln.isImmediate&&!ks&&(0,$.jsx)(U,{flexDirection:`column`,width:`100%`,children:Ln.jsx}),!pa&&!Ln?.isLocalJSXCommand&&fe&&Ht&&Ht.length>0&&(0,$.jsx)(U,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(qu,{tasks:Ht,isStandalone:!0})}),Wa===`sandbox-permission`&&(0,$.jsx)(IF,{hostPattern:Kn[0].hostPattern,onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=Kn[0];if(!r)return;let i=r.hostPattern.host;if(n){let e={type:`addRules`,rules:[{toolName:`WebFetch`,ruleContent:`domain:${i}`}],behavior:t?`allow`:`deny`,destination:`localSettings`};V(t=>({...t,toolPermissionContext:Rm(t.toolPermissionContext,e)})),lf(e),Nh.refreshConfig()}qn(e=>(e.filter(e=>e.hostPattern.host===i).forEach(e=>e.resolvePromise(t)),e.filter(e=>e.hostPattern.host!==i)));let a=Xn.current.get(i);if(a){for(let e of a)e();Xn.current.delete(i)}}},Kn[0].hostPattern.host),Wa===`prompt`&&(0,$.jsx)(rD,{title:Jn[0].title,toolInputSummary:Jn[0].toolInputSummary,request:Jn[0].request,onRespond:e=>{let t=Jn[0];t&&(t.resolve({prompt_response:t.request.prompt,selected:e}),Yn(([,...e])=>e))},onAbort:()=>{let e=Jn[0];e&&(e.reject(Error(`Prompt cancelled by user`)),Yn(([,...e])=>e))}},Jn[0].request.prompt),pe&&(0,$.jsx)(iC,{toolName:pe.toolName,description:pe.description}),me&&(0,$.jsx)(iC,{toolName:`Network Access`,description:`Waiting for leader to approve network access to ${me.host}`}),Wa===`worker-sandbox-permission`&&(0,$.jsx)(IF,{hostPattern:{host:he.queue[0].host,port:void 0},onUserResponse:e=>{let{allow:t,persistToSettings:n}=e,r=he.queue[0];if(!r)return;let i=r.host;if(kf(r.workerName,r.requestId,i,t,z?.teamName),n&&t){let e={type:`addRules`,rules:[{toolName:`WebFetch`,ruleContent:`domain:${i}`}],behavior:`allow`,destination:`localSettings`};V(t=>({...t,toolPermissionContext:Rm(t.toolPermissionContext,e)})),lf(e),Nh.refreshConfig()}V(e=>({...e,workerSandboxPermissions:{...e.workerSandboxPermissions,queue:e.workerSandboxPermissions.queue.slice(1)}}))}},he.queue[0].requestId),Wa===`elicitation`&&(0,$.jsx)(eD,{event:ge.queue[0],onResponse:(e,t)=>{let n=ge.queue[0];n&&(n.respond({action:e,content:t}),n.params.mode===`url`&&e===`accept`||V(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})))},onWaitingDismiss:e=>{let t=ge.queue[0];V(e=>({...e,elicitation:{queue:e.elicitation.queue.slice(1)}})),t?.onWaitingDismiss?.(e)}},ge.queue[0].serverName+`:`+String(ge.queue[0].requestId)),Wa===`cost`&&(0,$.jsx)(BS,{onDone:()=>{Oi(!1),zi(!0),rn(e=>({...e,hasAcknowledgedCostThreshold:!0})),Y(`tengu_cost_threshold_acknowledged`,{})}}),Wa===`idle-return`&&ji&&(0,$.jsx)(VS,{idleMinutes:ji.idleMinutes,totalInputTokens:wt(),onDone:async e=>{let t=ji;if(Mi(null),Y(`tengu_idle_return_action`,{action:e,idleMinutes:Math.round(t.idleMinutes),messageCount:dr.current.length,totalInputTokens:wt()}),e===`dismiss`){zr(t.input);return}if(e===`never`&&rn(e=>e.idleReturnDismissed?e:{...e,idleReturnDismissed:!0}),e===`clear`){let{clearConversation:e}=await import(`./conversation-oX932vBQ.js`);await e({setMessages:G,readFileState:Ea.current,discoveredSkillNames:ka.current,loadedNestedMemoryPaths:Aa.current,getAppState:()=>H.getState(),setAppState:V,setConversationId:Ai}),er.current=!1,$n(void 0),Da.current.clear(),Oa.current=0}Ni.current=!0,po.current(t.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),Wa===`ide-onboarding`&&(0,$.jsx)(Sm,{onDone:()=>Dt(!1),installationStatus:Ct}),process.env.USER_TYPE===`ant`&&Wa===`model-switch`&&YR&&(0,$.jsx)(YR,{onDone:(e,t)=>{kt(!1),e===`switch`&&t&&V(e=>({...e,mainLoopModel:t,mainLoopModelForSession:null}))}}),process.env.USER_TYPE===`ant`&&Wa===`undercover-callout`&&ZR&&(0,$.jsx)(ZR,{onDone:()=>In(!1)}),Wa===`effort-callout`&&(0,$.jsx)(NP,{model:Te,onDone:e=>{Mt(!1),e!==`dismiss`&&V(t=>({...t,effortValue:e}))}}),Wa===`remote-callout`&&(0,$.jsx)(Fb,{onDone:e=>{V(t=>t.showRemoteCallout?{...t,showRemoteCallout:!1,...e===`enable`&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}:t)}}),La,Wa===`plugin-hint`&&Rt&&(0,$.jsx)(uI,{pluginName:Rt.pluginName,pluginDescription:Rt.pluginDescription,marketplaceName:Rt.marketplaceName,sourceCommand:Rt.sourceCommand,onResponse:zt}),Wa===`search-extra-tools-hint`&&Bt.visible&&(0,$.jsx)(fI,{tools:Bt.tools,onSelect:Bt.handleSelect,onDismiss:Bt.handleDismiss}),Wa===`lsp-recommendation`&&It&&(0,$.jsx)(sI,{pluginName:It.pluginName,pluginDescription:It.pluginDescription,fileExtension:It.fileExtension,onResponse:Lt}),Wa===`desktop-upsell`&&(0,$.jsx)(dS,{onDone:()=>Ft(!1)}),Wa===`ultraplan-choice`&&_e&&(0,$.jsx)(dL,{plan:_e.plan,sessionId:_e.sessionId,taskId:_e.taskId,setMessages:G,readFileState:Ea.current,getAppState:()=>H.getState(),setConversationId:Ai}),Wa===`ultraplan-launch`&&ve&&(0,$.jsx)(mL,{onChoice:(e,t)=>{let n=ve.blurb;if(V(e=>e.ultraplanLaunchPending?{...e,ultraplanLaunchPending:void 0}:e),e===`cancel`)return;G(e=>[...e,Gf(Pg(`ultraplan`,n))]);let r=e=>G(t=>[...t,Gf(`<local-command-stdout>${K_(e)}</local-command-stdout>`)]);Sp({blurb:n,promptIdentifier:t?.promptIdentifier,getAppState:()=>H.getState(),setAppState:V,signal:Pc().signal,disconnectedBridge:t?.disconnectedBridge,onSessionReady:e=>{if(!fn.isActive){r(e);return}let t=fn.subscribe(()=>{fn.isActive||(t(),H.getState().ultraplanSessionUrl&&r(e))})}}).then(r).catch(ai)}}),fa(),!Ln?.shouldHidePromptInput&&!Wa&&!za&&!y&&!Sr&&(0,$.jsxs)($.Fragment,{children:[Pa&&(0,$.jsx)(qI,{onRun:lo,onCancel:uo,reason:XI(Pa)}),ba.state===`closed`?xa.state===`closed`?(0,$.jsx)(cF,{state:ya.state,lastResponse:ya.lastResponse,handleSelect:ya.handleSelect,handleTranscriptSelect:ya.handleTranscriptSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:Ia.current?void 0:fo}):(0,$.jsx)(cF,{state:xa.state,lastResponse:xa.lastResponse,handleSelect:xa.handleSelect,handleTranscriptSelect:xa.handleTranscriptSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:fo,message:`How well did Claude use its memory? (optional)`}):(0,$.jsx)(cF,{state:ba.state,lastResponse:ba.lastResponse,handleSelect:ba.handleSelect,inputValue:Fr,setInputValue:zr,onRequestFeedback:fo}),Ca.state!==`closed`&&(0,$.jsx)(cF,{state:Ca.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:Ca.handleTranscriptSelect,inputValue:Fr,setInputValue:zr}),ga.suggestion&&(0,$.jsx)(SN,{isOpen:ga.isOpen,skillName:ga.suggestion.skillName,updates:ga.suggestion.updates,handleSelect:ga.handleSelect,inputValue:Fr,setInputValue:zr}),va&&(0,$.jsx)(QI,{}),(0,$.jsx)(zM,{debug:n,ideSelection:gt,hasSuppressedDialogs:!!Ga,isLocalJSXCommandActive:ir,getToolUseContext:eo,toolPermissionContext:F,setToolPermissionContext:Qa,apiKeyStatus:Ma,commands:qt,agents:L.activeAgents,isLoading:W,onExit:go,verbose:te,messages:lr,onAutoUpdaterResult:Pn,autoUpdaterResult:Nn,input:Fr,onInputChange:zr,mode:Br,onModeChange:Vr,stashedPrompt:Hr,setStashedPrompt:Ur,submitCount:ti,onShowMessageSelector:_o,onMessageActionsEnter:void 0,mcpClients:ht,pastedContents:Qr,setPastedContents:ei,vimMode:Bi,setVimMode:Vi,showBashesDialog:Hi,setShowBashesDialog:Ui,onSubmit:oo,onAgentSubmit:so,isSearchingHistory:Wi,setIsSearchingHistory:Gi,helpOpen:Ki,setHelpOpen:qi,insertTextRef:Rr,voiceInterimRange:Po.interimRange}),(0,$.jsx)(AP,{onBackgroundSession:to,isLoading:W}),(0,$.jsx)(xP,{})]}),Sr&&(0,$.jsx)(od,{cursor:Sr}),Wa===`message-selector`&&(0,$.jsx)(nb,{messages:lr,preselectedMessage:wi,onPreRestore:Ja,onRestoreCode:async e=>{await $m(e=>{V(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)},onSummarize:async(e,t,n=`from`)=>{let r=Uc(lr),i=r.indexOf(e);if(i===-1){G(e=>[...e,Ad(`That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.`,`warning`)]);return}let a=eo(r,[],Pc(),Te),o=a.getAppState(),s=await xf(a.options.tools,a.options.mainLoopModel,Array.from(o.toolPermissionContext.additionalWorkingDirectories.keys()),a.options.mcpClients),c=Of({mainThreadAgentDefinition:void 0,toolUseContext:a,customSystemPrompt:a.options.customSystemPrompt,defaultSystemPrompt:s,appendSystemPrompt:a.options.appendSystemPrompt}),[l,u]=await Promise.all([Eg(),Od()]),d=await Zl(r,i,a,{systemPrompt:c,userContext:l,systemContext:u,toolUseContext:a,forkContextMessages:r},t,n),f=d.messagesToKeep??[],p=n===`up_to`?[...d.summaryMessages,...f]:[...f,...d.summaryMessages],m=[d.boundaryMarker,...p,...d.attachments,...d.hookResults];if(ca()&&n===`from`?G(t=>{let n=t.findIndex(t=>t.uuid===e.uuid);return[...t.slice(0,n===-1?0:n),...m]}):G(m),BR?.setContextBlocked(!1),Ai(AS()),kd(a.options.querySource),n===`from`){let t=fl(e);t&&(zr(t.text),Vr(t.mode))}ut({key:`summarize-ctrl-o-hint`,text:`Conversation summarized (${Fd(`app:toggleTranscript`,`Global`,`ctrl+o`)} for history)`,priority:`medium`,timeoutMs:8e3})},onRestoreMessage:So,onClose:()=>{Ci(!1),Ei(void 0)}}),process.env.USER_TYPE===`ant`&&(0,$.jsx)(sL,{})]}),!(Es&&ca())&&Ds?(0,$.jsx)(wD,{}):null]})})},Vo)]});return ca()?(0,$.jsx)(ce,{mouseTracking:Tf(),children:js}):js}export{lz as t};