@readmagic/workmate 0.0.26 → 0.0.27

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 (335) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-mS8iUoWY.js → AddWorkspaceDirectory-DqlPtsVK.js} +1 -1
  2. package/dist/chunks/AgentsMdExternalIncludesDialog-CgSethgo.js +1 -0
  3. package/dist/chunks/{AgentsMdExternalIncludesDialog-BHBkysy0.js → AgentsMdExternalIncludesDialog-rJS5l6yk.js} +1 -1
  4. package/dist/chunks/{App-D--vtCyq.js → App-DzRQpRKr.js} +1 -1
  5. package/dist/chunks/BackgroundTasksDialog-CBhSmdz_.js +2 -0
  6. package/dist/chunks/{BypassPermissionsModeDialog-DyqI98d2.js → BypassPermissionsModeDialog-zz-lnmJt.js} +1 -1
  7. package/dist/chunks/CustomSelect-CYmc4vRh.js +1 -0
  8. package/dist/chunks/{DiffDialog-BQAU2pJx.js → DiffDialog-CTUIAcEE.js} +6 -6
  9. package/dist/chunks/{Doctor-DJOMbSDE.js → Doctor-CLOYkPRR.js} +2 -2
  10. package/dist/chunks/Doctor-CiZNe_qx.js +1 -0
  11. package/dist/chunks/{ExitFlow-xBOnvhiW.js → ExitFlow-CATwJC4c.js} +1 -1
  12. package/dist/chunks/{InvalidConfigDialog-NiuhcaG5.js → InvalidConfigDialog-B-9Z58oD.js} +1 -1
  13. package/dist/chunks/{InvalidSettingsDialog-DrromC1I.js → InvalidSettingsDialog-B4EWjbp7.js} +1 -1
  14. package/dist/chunks/KeybindingProviderSetup-Dzg77_Xn.js +1 -0
  15. package/dist/chunks/MCPConnectionManager-CBY8nqdU.js +1 -0
  16. package/dist/chunks/MCPToolListView-C7HT6rrl.js +1 -0
  17. package/dist/chunks/{McpParsingWarnings-BYG2yqjO.js → McpParsingWarnings-Dj_Fu5o-.js} +1 -1
  18. package/dist/chunks/MessageSelector-Dw_ERK_Z.js +3 -0
  19. package/dist/chunks/Messages-RBfRELKn.js +10 -0
  20. package/dist/chunks/Onboarding-BRSXxc2E.js +1 -0
  21. package/dist/chunks/{PermissionDialog-tEMMa5-a.js → PermissionDialog-DjCRuzSm.js} +1 -1
  22. package/dist/chunks/{PressEnterToContinue-CPOaYnym.js → PressEnterToContinue-DE1RxMX_.js} +1 -1
  23. package/dist/chunks/{PromptInputFooterSuggestions-CwqAsTI2.js → PromptInputFooterSuggestions-ChpyD9B7.js} +1 -1
  24. package/dist/chunks/PromptInputHelpMenu-CrTT8MKE.js +1 -0
  25. package/dist/chunks/{ProviderSetup-J6Ty-Wj8.js → ProviderSetup-BEV95bnz.js} +1 -1
  26. package/dist/chunks/QueryEngine-BBBkZWu2.js +1 -0
  27. package/dist/chunks/REPL-BDnZnm__.js +124 -0
  28. package/dist/chunks/REPL-BHk0vZDf.js +1 -0
  29. package/dist/chunks/{ResumeConversation-Cmsbo5m7.js → ResumeConversation-BuSqBrm1.js} +1 -1
  30. package/dist/chunks/{SearchBox-DQBLKyzJ.js → SearchBox-zA5QwIpO.js} +1 -1
  31. package/dist/chunks/SearchExtraToolsTool-CdWB9sO8.js +1 -0
  32. package/dist/chunks/Settings-DYKmPdbd.js +2 -0
  33. package/dist/chunks/Spinner-DOI8qqZi.js +1 -0
  34. package/dist/chunks/SpinnerGlyph-BR_SiV9L.js +1 -0
  35. package/dist/chunks/{TextInput-BboKIug2.js → TextInput-ZKU-x_FD.js} +7 -7
  36. package/dist/chunks/{ThemePicker-DTpXbEY0.js → ThemePicker-B69oDgXN.js} +1 -1
  37. package/dist/chunks/TrustDialog-BSG8Ibh8.js +1 -0
  38. package/dist/chunks/{ValidationErrorsList-C_gDQfm1.js → ValidationErrorsList-BUYHEft4.js} +1 -1
  39. package/dist/chunks/{_baseEach-DGbaIpJA.js → _baseEach-P0u1zIx6.js} +1 -1
  40. package/dist/chunks/{add-dir-B576wzi9.js → add-dir-C8RmmyQK.js} +1 -1
  41. package/dist/chunks/{agentDisplay-ZuFoBZYu.js → agentDisplay-np7CH47m.js} +1 -1
  42. package/dist/chunks/{agents-Dy4_hDic.js → agents-DRQlR5M1.js} +1 -1
  43. package/dist/chunks/agents-DedoH0Q4.js +101 -0
  44. package/dist/chunks/allErrors-DvcU0w0F.js +1 -0
  45. package/dist/chunks/{appleTerminalBackup-C9kjzdM9.js → appleTerminalBackup-Bemd4RXh.js} +1 -1
  46. package/dist/chunks/backgroundHousekeeping-B56nFTzq.js +1 -0
  47. package/dist/chunks/{backgroundHousekeeping-PyLNnGdw.js → backgroundHousekeeping-BtEJ6TeC.js} +1 -1
  48. package/dist/chunks/banner-CuoceXzz.js +2 -0
  49. package/dist/chunks/branch-ClhlS7f8.js +2 -0
  50. package/dist/chunks/{break-cache-DL95nKZl.js → break-cache-B1nuWtD_.js} +2 -2
  51. package/dist/chunks/{btw-Y44ctueB.js → btw-B-FLxlx-.js} +1 -1
  52. package/dist/chunks/bundledMode-D9omqD3L.js +2 -0
  53. package/dist/chunks/caches-D7arwhaa.js +1 -0
  54. package/dist/chunks/caches-Dn8yrJmL.js +1 -0
  55. package/dist/chunks/{clear-DtTkA707.js → clear-BnWv0i65.js} +1 -1
  56. package/dist/chunks/{client-aJ2Nr_sh.js → client-2w-g5kMx.js} +1 -1
  57. package/dist/chunks/client-B0ngS4Uu.js +1 -0
  58. package/dist/chunks/client-BP4DOH3K.js +1 -0
  59. package/dist/chunks/{client-Bw_L3lSc.js → client-pA7fKk0-.js} +1 -1
  60. package/dist/chunks/commands-AcfFLgl5.js +1 -0
  61. package/dist/chunks/{compact-CvNOtu7J.js → compact-Banc-SNk.js} +1 -1
  62. package/dist/chunks/config-BDn2YIjC.js +3 -0
  63. package/dist/chunks/config-BhBcadjZ.js +1 -0
  64. package/dist/chunks/config-Bm5pVdCq.js +1 -0
  65. package/dist/chunks/{context-Opu4E8dL.js → context-BvDBAyJ9.js} +1 -1
  66. package/dist/chunks/context-noninteractive-BK2IDLSS.js +1 -0
  67. package/dist/chunks/{context-noninteractive-B1V2Mp26.js → context-noninteractive-CuHHniJn.js} +9 -9
  68. package/dist/chunks/conversation-B2dX3X4Z.js +1 -0
  69. package/dist/chunks/{conversation-CG_z7TLE.js → conversation-Cjaftrrw.js} +1 -1
  70. package/dist/chunks/conversationRecovery-NL05oJb1.js +1 -0
  71. package/dist/chunks/crossProjectResume-BzltC4NJ.js +40 -0
  72. package/dist/chunks/{debug-kBjDaVkQ.js → debug-2pVES-2G.js} +1 -1
  73. package/dist/chunks/detectRepository--luIRv5H.js +1 -0
  74. package/dist/chunks/{diff-Cv7tX2-P.js → diff--6gQCx_x.js} +1 -1
  75. package/dist/chunks/directoryCompletion-BC0qRmrz.js +1 -0
  76. package/dist/chunks/doctor-CQf8xPZH.js +1 -0
  77. package/dist/chunks/entry-DWYOrkFS.js +13 -0
  78. package/dist/chunks/{envUtils-DZ_SvEVz.js → envUtils-QyzA_cFM.js} +1 -1
  79. package/dist/chunks/{execFileNoThrow-BfZFnCGa.js → execFileNoThrow-DXSEj8ZO.js} +1 -1
  80. package/dist/chunks/{exit-OKEV_ddw.js → exit-uKtXb5U3.js} +1 -1
  81. package/dist/chunks/{extraUsage-BlRL3yeb.js → extraUsage-Dr0YXm1w.js} +1 -1
  82. package/dist/chunks/extractMemories-8yvMGZ1J.js +1 -0
  83. package/dist/chunks/fast-C5-lNCQi.js +1 -0
  84. package/dist/chunks/fast-aNkj6WvB.js +1 -0
  85. package/dist/chunks/fetchModelList-9w1E4Ue8.js +1 -0
  86. package/dist/chunks/fetchModelList-D2quBF6M.js +1 -0
  87. package/dist/chunks/fileSuggestions-BYD78vcF.js +3 -0
  88. package/dist/chunks/{fpsMetrics-Ixd0J4CH.js → fpsMetrics-DIpm2-xw.js} +1 -1
  89. package/dist/chunks/{gemini-BfVyavwQ.js → gemini-BNBptTET.js} +1 -1
  90. package/dist/chunks/generateSessionName-CO2484aJ.js +1 -0
  91. package/dist/chunks/{genericProcessUtils-CVtQOTO2.js → genericProcessUtils-GqURdVAv.js} +1 -1
  92. package/dist/chunks/{goal-BidR-GFa.js → goal-j0wdadwM.js} +1 -1
  93. package/dist/chunks/{grok-DLcuI-U7.js → grok-BpO1ZwK_.js} +1 -1
  94. package/dist/chunks/{help-CZuvYhXj.js → help-DwhA0qQ6.js} +1 -1
  95. package/dist/chunks/{history-BxPGftQw.js → history-CUrqO9rV.js} +1 -1
  96. package/dist/chunks/hooks-B5Wq-KxE.js +1 -0
  97. package/dist/chunks/{hooks-ehqfAM5F.js → hooks-DG4_WdZ2.js} +2 -2
  98. package/dist/chunks/install-BbmCNCuM.js +1 -0
  99. package/dist/chunks/{instrumentation-B9bfF2mA.js → instrumentation-DpPmDyNF.js} +4 -4
  100. package/dist/chunks/{job-Coztdn6A.js → job-GcmX1ALd.js} +1 -1
  101. package/dist/chunks/{keybindings-DwSdLpaE.js → keybindings-CxgQqQJe.js} +1 -1
  102. package/dist/chunks/{launchLocalMemory-DRzfpIOB.js → launchLocalMemory-CDgT5lst.js} +1 -1
  103. package/dist/chunks/{launchOnboarding-D2zFCJf-.js → launchOnboarding-uQ_ux9sS.js} +1 -1
  104. package/dist/chunks/loadAgentsDir-BBbIAiay.js +1 -0
  105. package/dist/chunks/{loadAgentsDir-DR5PVAc3.js → loadAgentsDir-uuZYOgKn.js} +392 -392
  106. package/dist/chunks/{loadPluginHooks-BiQgGfUJ.js → loadPluginHooks-QoVXsBjy.js} +1 -1
  107. package/dist/chunks/loader-BMAtuwRa.js +1 -0
  108. package/dist/chunks/localSearch-D6MhwvnR.js +1 -0
  109. package/dist/chunks/{localSearch-CzkxDuOR.js → localSearch-yVCDrVrf.js} +1 -1
  110. package/dist/chunks/{log-DWZny1vM.js → log-L1kqxa_P.js} +1 -1
  111. package/dist/chunks/{logoUtils-DR5T0pr3.js → logoUtils-B4wCDKs9.js} +1 -1
  112. package/dist/chunks/{magicDocs-BwBxjfLo.js → magicDocs-D53lV8b5.js} +2 -2
  113. package/dist/chunks/{main-Ryi27wYq.js → main-fy_XSXGj.js} +34 -34
  114. package/dist/chunks/{managedEnv-Do9fgLpk.js → managedEnv-B8YWmM4A.js} +1 -1
  115. package/dist/chunks/managedEnv-ulQBH73B.js +1 -0
  116. package/dist/chunks/{managedEnvConstants-CWcT7nYr.js → managedEnvConstants-BPY8yF1A.js} +1 -1
  117. package/dist/chunks/{mcp-BCpnF6wD.js → mcp--LmEVBRg.js} +1 -1
  118. package/dist/chunks/mcp-CZUVaPb3.js +5 -0
  119. package/dist/chunks/{mcp-CZBTxbhu.js → mcp-DCl-Tz-C.js} +1 -1
  120. package/dist/chunks/memory-Bu5ku7y9.js +1 -0
  121. package/dist/chunks/{modalContext-CBE8xuck.js → modalContext-sU2lfR08.js} +1 -1
  122. package/dist/chunks/{mode-wq70cR44.js → mode-Bteqe2QG.js} +1 -1
  123. package/dist/chunks/{model-DVk9-2dk.js → model-CHDU5yqH.js} +1 -1
  124. package/dist/chunks/model-CcHyMyBv.js +1 -0
  125. package/dist/chunks/modelOptions-CJV1R3Jt.js +1 -0
  126. package/dist/chunks/nativeInstaller-CIUYh1aD.js +1 -0
  127. package/dist/chunks/{notifications-dGBuNvFj.js → notifications-GLnjirCl.js} +1 -1
  128. package/dist/chunks/{observationStore-D0rm3GhP.js → observationStore-pnSSxec_.js} +1 -1
  129. package/dist/chunks/{onChangeAppState-B4K-rSaF.js → onChangeAppState-CxGW2d-l.js} +1 -1
  130. package/dist/chunks/{openai-DAwnAV9K.js → openai-BpGQT2Iv.js} +1 -1
  131. package/dist/chunks/{overlayContext-B6i_6y_0.js → overlayContext-7wgLio1O.js} +1 -1
  132. package/dist/chunks/{panel-C0CF3noE.js → panel-DNiXDhBX.js} +1 -1
  133. package/dist/chunks/{parser-DThLwgdM.js → parser-CTnaXFVJ.js} +1 -1
  134. package/dist/chunks/parser-Diihup2V.js +1 -0
  135. package/dist/chunks/{partition-BRQHofxD.js → partition-djFY9gGI.js} +1 -1
  136. package/dist/chunks/{pasteStore-BmehVo5j.js → pasteStore-njJCBMKr.js} +1 -1
  137. package/dist/chunks/permissions-DNedQyLg.js +3 -0
  138. package/dist/chunks/pidLock-CFUBtZck.js +3 -0
  139. package/dist/chunks/{plan-B6U3ioer.js → plan-DI0n7LIV.js} +1 -1
  140. package/dist/chunks/plugin-BQ8gRVYF.js +17 -0
  141. package/dist/chunks/pluginAutoupdate-CNrHb4RJ.js +1 -0
  142. package/dist/chunks/{pluginBlocklist-DAoUENwc.js → pluginBlocklist-CKCsgWdY.js} +1 -1
  143. package/dist/chunks/{pluginCliCommands-CaHnj0C_.js → pluginCliCommands-CACeyIwz.js} +1 -1
  144. package/dist/chunks/{pluginFlagging-BCj9LJP3.js → pluginFlagging-CUvkKGOB.js} +1 -1
  145. package/dist/chunks/pluginOperations-Ca_T-HYn.js +2 -0
  146. package/dist/chunks/pluginStartupCheck-DftTiXct.js +1 -0
  147. package/dist/chunks/pluginStartupCheck-Du9yx2P8.js +1 -0
  148. package/dist/chunks/{plugins-D7zyI9c4.js → plugins-Divl-P-X.js} +1 -1
  149. package/dist/chunks/{poorMode-Ocff_UT1.js → poorMode-CG2JNTD0.js} +1 -1
  150. package/dist/chunks/poorMode-eMIFCAC_.js +1 -0
  151. package/dist/chunks/print-DSHypGJa.js +13 -0
  152. package/dist/chunks/processBashCommand-BLcFmbyG.js +1 -0
  153. package/dist/chunks/processSlashCommand-Caif46Gi.js +5 -0
  154. package/dist/chunks/{projectContext-QN5U3Ggr.js → projectContext-BFfHgAMh.js} +1 -1
  155. package/dist/chunks/{projectContext-COeHKDrk.js → projectContext-DnJHynXv.js} +1 -1
  156. package/dist/chunks/{projectOnboardingState-KqcpRXls.js → projectOnboardingState-nTCycGCD.js} +1 -1
  157. package/dist/chunks/prompt-BZmu5CeK.js +1 -0
  158. package/dist/chunks/{prompt-CTByhpUI.js → prompt-BfXryFt-.js} +8 -8
  159. package/dist/chunks/prompt-Cogr_WZr.js +1 -0
  160. package/dist/chunks/promptEditor-14TB3MYt.js +4 -0
  161. package/dist/chunks/protocolHandler-VigBkAQQ.js +13 -0
  162. package/dist/chunks/{proxy-BtWuysHM.js → proxy--_NfbJhm.js} +1 -1
  163. package/dist/chunks/reconciler-B9XFdL4f.js +1 -0
  164. package/dist/chunks/{refresh-B4pqFp12.js → refresh-CBHbWTGg.js} +1 -1
  165. package/dist/chunks/reject-CBxnwckZ.js +1 -0
  166. package/dist/chunks/{reload-plugins-DXQqk7q6.js → reload-plugins-5eFWrQlL.js} +1 -1
  167. package/dist/chunks/{rename-D4XBmTBI.js → rename-Cw7cMerG.js} +1 -1
  168. package/dist/chunks/{renderOptions-DkP98P_d.js → renderOptions-B0RFpjRI.js} +1 -1
  169. package/dist/chunks/{resume-DzIev0JI.js → resume-U2D0ybfU.js} +1 -1
  170. package/dist/chunks/ripgrep-67m14ImZ.js +5 -0
  171. package/dist/chunks/ripgrep-DB7KB8RZ.js +1 -0
  172. package/dist/chunks/{runtimeObserver-BPqlbu0B.js → runtimeObserver-CWaYMJG8.js} +2 -2
  173. package/dist/chunks/{runtimeObserver-BUHs3qjs.js → runtimeObserver-DOYlxx9H.js} +1 -1
  174. package/dist/chunks/sandbox-adapter-Df7Wpt77.js +1 -0
  175. package/dist/chunks/sandbox-toggle-BtiPyjT3.js +1 -0
  176. package/dist/chunks/searchExtraTools-CbJVb_Zk.js +1 -0
  177. package/dist/chunks/select-BuTJbu_Q.js +1 -0
  178. package/dist/chunks/sessionFileAccessHooks-_mxyfQmn.js +1 -0
  179. package/dist/chunks/sessionObserver-BZVgzp3W.js +1 -0
  180. package/dist/chunks/{sessionObserver-B6xzxckA.js → sessionObserver-cfwD8pV8.js} +1 -1
  181. package/dist/chunks/sessionStorage-SC5RfnUP.js +1 -0
  182. package/dist/chunks/sessionTracing-DsdcOqvc.js +11 -0
  183. package/dist/chunks/settings-D4M13toi.js +104 -0
  184. package/dist/chunks/settings-Dfit5gGT.js +1 -0
  185. package/dist/chunks/setup-DR-KEmxL.js +3 -0
  186. package/dist/chunks/{shadowedRuleDetection-D6R2OeoH.js → shadowedRuleDetection-DiZUDzxU.js} +1 -1
  187. package/dist/chunks/{sideQuestion-5jcbOMsR.js → sideQuestion-CdgUarC2.js} +1 -1
  188. package/dist/chunks/{sinks-B-kFqjjd.js → sinks-Cy3NqVbk.js} +1 -1
  189. package/dist/chunks/sinks-D41OiGE4.js +1 -0
  190. package/dist/chunks/{skillChangeDetector-103-nEle.js → skillChangeDetector-CVFCJcG7.js} +1 -1
  191. package/dist/chunks/{skillGapStore-DOz1KCqo.js → skillGapStore-BJV8ZIB1.js} +2 -2
  192. package/dist/chunks/{skillLifecycle-D9NkIwFQ.js → skillLifecycle-iO_3s9Ff.js} +2 -2
  193. package/dist/chunks/{skillSearchPanel-DFiSZaJ4.js → skillSearchPanel-BL5gXTHU.js} +2 -2
  194. package/dist/chunks/skills-BEp3_RyT.js +1 -0
  195. package/dist/chunks/sleep-xKMbXTJe.js +1 -0
  196. package/dist/chunks/{src-WZ94ZKI3.js → src-BX54x08P.js} +1 -1
  197. package/dist/chunks/{src-Cy5_qH26.js → src-HB5wLari.js} +1 -1
  198. package/dist/chunks/{startupProfiler-DIM_Ihyp.js → startupProfiler-B9Qv2QGH.js} +1 -1
  199. package/dist/chunks/startupProfiler-DWcM4QBl.js +1 -0
  200. package/dist/chunks/{staticRender-RHUIg5ln.js → staticRender-Bt82RvGc.js} +1 -1
  201. package/dist/chunks/status-6JMz8jmM.js +1 -0
  202. package/dist/chunks/{statusNoticeHelpers-DI45AH-c.js → statusNoticeHelpers-BoloSeXY.js} +1 -1
  203. package/dist/chunks/{stringUtils-D_xPrwGQ.js → stringUtils-Cs6E5f-B.js} +1 -1
  204. package/dist/chunks/switcher-95d4TrQH.js +1 -0
  205. package/dist/chunks/{switcher-DhZCaAun.js → switcher-DSt2cVjA.js} +1 -1
  206. package/dist/chunks/{tasks-6suPhqsK.js → tasks-DyBUXnQb.js} +1 -1
  207. package/dist/chunks/{templateJobs-BKVEWCsb.js → templateJobs-BBnReWWj.js} +7 -7
  208. package/dist/chunks/{terminalSetup-7PUR4hfo.js → terminalSetup-CDpFfqqV.js} +1 -1
  209. package/dist/chunks/{terminalSetup-Cqy5_PhJ.js → terminalSetup-DedaY1P7.js} +4 -4
  210. package/dist/chunks/{theme-B-HG2PUs.js → theme-BZOy9Iqh.js} +1 -1
  211. package/dist/chunks/tipRegistry-Cl5sdLRX.js +2 -0
  212. package/dist/chunks/{toolEventObserver-BY3QVnr6.js → toolEventObserver-ClwWmVbH.js} +1 -1
  213. package/dist/chunks/{toolPool-BcwIF8Q_.js → toolPool-DSTbgGmX.js} +1 -1
  214. package/dist/chunks/{udsClient-CCxgLiZy.js → udsClient-CWeoNrm3.js} +1 -1
  215. package/dist/chunks/{useDoublePress-DQBLKyzJ.js → useDoublePress-zA5QwIpO.js} +1 -1
  216. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-BgJrnuDl.js → useExitOnCtrlCDWithKeybindings-ClN4NJnB.js} +1 -1
  217. package/dist/chunks/useMainLoopModel-Bgxpmn2Q.js +1 -0
  218. package/dist/chunks/useManagePlugins-CxHz-gUP.js +1 -0
  219. package/dist/chunks/useMergedTools-BUuWew0-.js +1 -0
  220. package/dist/chunks/{useSearchInput-BITV_Txn.js → useSearchInput-BIQN_-Hm.js} +1 -1
  221. package/dist/chunks/{useSettingsErrors-CO0fTNzn.js → useSettingsErrors-BDJCLei_.js} +1 -1
  222. package/dist/chunks/util-BHr5l6Bx.js +1 -0
  223. package/dist/chunks/validatePlugin-fx1Y8vam.js +1 -0
  224. package/dist/chunks/{vim-qgMS88ss.js → vim-CYjMtnwH.js} +1 -1
  225. package/dist/chunks/worktree-CGu_58ue.js +1 -0
  226. package/dist/cli.js +1 -1
  227. package/package.json +2 -2
  228. package/dist/chunks/AgentsMdExternalIncludesDialog-DuStmCjj.js +0 -1
  229. package/dist/chunks/BackgroundTasksDialog-mcDuiNGs.js +0 -2
  230. package/dist/chunks/CustomSelect-CpMbxYbt.js +0 -1
  231. package/dist/chunks/Doctor-BU69VQzw.js +0 -1
  232. package/dist/chunks/KeybindingProviderSetup-CSUkJHTT.js +0 -1
  233. package/dist/chunks/MCPConnectionManager-Bn1PDn3R.js +0 -1
  234. package/dist/chunks/MCPToolListView-BRxjOaOL.js +0 -1
  235. package/dist/chunks/MessageSelector-B7xAQqZI.js +0 -3
  236. package/dist/chunks/Messages-CxMsfjOa.js +0 -10
  237. package/dist/chunks/Onboarding-CkATe87e.js +0 -1
  238. package/dist/chunks/PromptInputHelpMenu-krq-hiFO.js +0 -1
  239. package/dist/chunks/QueryEngine-Mdi_kUaL.js +0 -1
  240. package/dist/chunks/REPL-BgzQtSFF.js +0 -1
  241. package/dist/chunks/REPL-rirm6s_7.js +0 -124
  242. package/dist/chunks/SearchExtraToolsTool-D1-7C04z.js +0 -1
  243. package/dist/chunks/SelectMulti-BpAjjhsn.js +0 -1
  244. package/dist/chunks/Settings-B6DImvca.js +0 -2
  245. package/dist/chunks/Spinner-DhhSOFcN.js +0 -1
  246. package/dist/chunks/SpinnerGlyph-CmVXC-_9.js +0 -1
  247. package/dist/chunks/TrustDialog-CZ8JpySm.js +0 -1
  248. package/dist/chunks/agents-HIOBiw4w.js +0 -101
  249. package/dist/chunks/allErrors-CxPNR2WN.js +0 -1
  250. package/dist/chunks/backgroundHousekeeping-ZCMPmQuU.js +0 -1
  251. package/dist/chunks/banner-DqFectPg.js +0 -2
  252. package/dist/chunks/branch-B_BL5N9N.js +0 -2
  253. package/dist/chunks/bundledMode-BxyD5cqq.js +0 -1
  254. package/dist/chunks/caches-5xZ4dSXt.js +0 -1
  255. package/dist/chunks/caches-Be9saXxV.js +0 -1
  256. package/dist/chunks/claudeDesktop-g8eUUY2E.js +0 -1
  257. package/dist/chunks/client-mnUISv_N.js +0 -1
  258. package/dist/chunks/client-wPqIdEVm.js +0 -1
  259. package/dist/chunks/commands-wfE12a4L.js +0 -1
  260. package/dist/chunks/config-D3K87Mm1.js +0 -3
  261. package/dist/chunks/config-DTga6Ku8.js +0 -1
  262. package/dist/chunks/config-DtmqWusU.js +0 -1
  263. package/dist/chunks/context-noninteractive-eIlneYiL.js +0 -1
  264. package/dist/chunks/conversation-CHesBfFZ.js +0 -1
  265. package/dist/chunks/conversationRecovery-OhitW-7g.js +0 -1
  266. package/dist/chunks/crossProjectResume-mmYx8PrZ.js +0 -40
  267. package/dist/chunks/detectRepository-M6K2wc7h.js +0 -1
  268. package/dist/chunks/directoryCompletion-BHyjyKAM.js +0 -1
  269. package/dist/chunks/doctor-DeBG5SL5.js +0 -1
  270. package/dist/chunks/entry-CbhyIWgj.js +0 -13
  271. package/dist/chunks/extractMemories-jnsv-_n_.js +0 -1
  272. package/dist/chunks/fast-4I_qPJCd.js +0 -1
  273. package/dist/chunks/fast-DiolM1M7.js +0 -1
  274. package/dist/chunks/fetchModelList-BRFTQim4.js +0 -1
  275. package/dist/chunks/fetchModelList-qPKAuu4m.js +0 -1
  276. package/dist/chunks/fileSuggestions-iWVXvvLB.js +0 -3
  277. package/dist/chunks/generateSessionName-CGaTTXCA.js +0 -1
  278. package/dist/chunks/hooks-Bg9WIjZQ.js +0 -1
  279. package/dist/chunks/install-ACGY0vhM.js +0 -1
  280. package/dist/chunks/loadAgentsDir-DqAbnpB-.js +0 -1
  281. package/dist/chunks/loader-6MqzNGmV.js +0 -1
  282. package/dist/chunks/localSearch-DW3JT2MA.js +0 -1
  283. package/dist/chunks/managedEnv-DCEJh3z3.js +0 -1
  284. package/dist/chunks/mcp-CJ6SDJEK.js +0 -6
  285. package/dist/chunks/memory-BQO6Y0ak.js +0 -1
  286. package/dist/chunks/model-D42epddJ.js +0 -1
  287. package/dist/chunks/modelOptions-beLgXORr.js +0 -1
  288. package/dist/chunks/nativeInstaller-ChGSz1lb.js +0 -1
  289. package/dist/chunks/parser-BZt0VFd_.js +0 -1
  290. package/dist/chunks/permissions-DkfWKN-B.js +0 -3
  291. package/dist/chunks/pidLock-YvAaIrIY.js +0 -3
  292. package/dist/chunks/platform-Vl9IynC3.js +0 -2
  293. package/dist/chunks/plugin-CTA2_-F7.js +0 -17
  294. package/dist/chunks/pluginAutoupdate-Dy5W3HWE.js +0 -1
  295. package/dist/chunks/pluginOperations-ClXNOOG6.js +0 -2
  296. package/dist/chunks/pluginStartupCheck-CiwMKGjx.js +0 -1
  297. package/dist/chunks/pluginStartupCheck-U8_xk25t.js +0 -1
  298. package/dist/chunks/poorMode-DtzWNhsY.js +0 -1
  299. package/dist/chunks/print-BzljdXem.js +0 -13
  300. package/dist/chunks/processBashCommand-RUkmyAl4.js +0 -1
  301. package/dist/chunks/processSlashCommand-DRLO-jNV.js +0 -5
  302. package/dist/chunks/prompt-DTpfW6yP.js +0 -1
  303. package/dist/chunks/prompt-D__eHY_5.js +0 -1
  304. package/dist/chunks/promptEditor-CpUFgGzc.js +0 -4
  305. package/dist/chunks/protocolHandler-BQSLVGnG.js +0 -13
  306. package/dist/chunks/reconciler-D6BUq8WB.js +0 -1
  307. package/dist/chunks/reject-C6IvUvBt.js +0 -1
  308. package/dist/chunks/ripgrep-CYP26Fhg.js +0 -1
  309. package/dist/chunks/ripgrep-D1f1pbCz.js +0 -5
  310. package/dist/chunks/sandbox-adapter-CumL75tU.js +0 -1
  311. package/dist/chunks/sandbox-toggle-CTtET6Xq.js +0 -1
  312. package/dist/chunks/searchExtraTools-BMCU2zEf.js +0 -1
  313. package/dist/chunks/select-FrwoTzuc.js +0 -1
  314. package/dist/chunks/sessionFileAccessHooks-WO8WTdT9.js +0 -1
  315. package/dist/chunks/sessionObserver-CBrM4opL.js +0 -1
  316. package/dist/chunks/sessionStorage-C1EAxDWG.js +0 -1
  317. package/dist/chunks/sessionTracing-UFK96PxT.js +0 -11
  318. package/dist/chunks/settings-BK6gCko-.js +0 -1
  319. package/dist/chunks/settings-YIDksG5Z.js +0 -24
  320. package/dist/chunks/setup-BBvZyrfz.js +0 -3
  321. package/dist/chunks/sinks-DB_D4lmu.js +0 -1
  322. package/dist/chunks/skills-DgeLr52a.js +0 -1
  323. package/dist/chunks/sleep-BbWr_FL1.js +0 -1
  324. package/dist/chunks/startupProfiler-FpGsKWYk.js +0 -1
  325. package/dist/chunks/status-CKLecQZV.js +0 -1
  326. package/dist/chunks/switcher-D2Z2ZNQ0.js +0 -1
  327. package/dist/chunks/tipRegistry-BR_lSGRw.js +0 -2
  328. package/dist/chunks/types-CD25a50S.js +0 -81
  329. package/dist/chunks/use-select-navigation-CW5alA9r.js +0 -1
  330. package/dist/chunks/useMainLoopModel-BVgJo4hN.js +0 -1
  331. package/dist/chunks/useManagePlugins-CrWjzESW.js +0 -1
  332. package/dist/chunks/useMergedTools-r6GQq5mI.js +0 -1
  333. package/dist/chunks/util-_zo3I1y8.js +0 -1
  334. package/dist/chunks/validatePlugin-DFGdRhA-.js +0 -1
  335. package/dist/chunks/worktree-CR_M6Qfy.js +0 -1
@@ -1,6 +1,6 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Bt as t,di as n,fi as r,j as i,t as a}from"./src-WZ94ZKI3.js";import{c as o,f as s,l as c}from"./types-CD25a50S.js";import{C as l,I as u,S as d,x as f,z as p}from"./debug-kBjDaVkQ.js";import{Kt as m,Ut as h}from"./settings-YIDksG5Z.js";import{d as g,h as _,o as v}from"./config-D3K87Mm1.js";import{o as y,s as b}from"./log-DWZny1vM.js";import{i as ee,t as x}from"./execFileNoThrow-BfZFnCGa.js";import{i as S,n as C}from"./platform-Vl9IynC3.js";import{i as w,r as T}from"./projectOnboardingState-KqcpRXls.js";import{a as E,i as D,n as O,r as k,t as A}from"./appleTerminalBackup-C9kjzdM9.js";import{homedir as j,platform as M}from"os";import{dirname as te,join as N}from"path";import{randomBytes as P}from"crypto";import{copyFile as F,mkdir as I,readFile as L,writeFile as R}from"fs/promises";import{pathToFileURL as z}from"url";function B(){let e=process.env.VSCODE_GIT_ASKPASS_MAIN??``,t=process.env.PATH??``;return e.includes(`.vscode-server`)||e.includes(`.cursor-server`)||e.includes(`.windsurf-server`)||t.includes(`.vscode-server`)||t.includes(`.cursor-server`)||t.includes(`.windsurf-server`)}function V(){return!h.terminal||!(h.terminal in $)?null:$[h.terminal]??null}function H(e){return t()?`\x1b]8;;${z(e).href}\x07${e}\x1b]8;;\x07`:e}function U(){return M()===`darwin`&&h.terminal===`Apple_Terminal`||h.terminal===`vscode`||h.terminal===`cursor`||h.terminal===`windsurf`||h.terminal===`alacritty`||h.terminal===`zed`}async function W(e){let t=``;switch(h.terminal){case`Apple_Terminal`:t=await ne(e);break;case`vscode`:t=await Y(`VSCode`,e);break;case`cursor`:t=await Y(`Cursor`,e);break;case`windsurf`:t=await Y(`Windsurf`,e);break;case`alacritty`:t=await re(e);break;case`zed`:t=await ie(e);break;case null:break}return _(e=>[`vscode`,`cursor`,`windsurf`,`alacritty`,`zed`].includes(h.terminal??``)?e.shiftEnterKeyBindingInstalled===!0?e:{...e,shiftEnterKeyBindingInstalled:!0}:h.terminal===`Apple_Terminal`?e.optionAsMetaKeyInstalled===!0?e:{...e,optionAsMetaKeyInstalled:!0}:e),w(),t}function G(){return v().shiftEnterKeyBindingInstalled===!0}function K(){return v().hasUsedBackslashReturn===!0}function q(){v().hasUsedBackslashReturn||_(e=>({...e,hasUsedBackslashReturn:!0}))}async function J(e,t,r){if(h.terminal&&h.terminal in $)return e(`Shift+Enter is natively supported in ${$[h.terminal]}.
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Bt as t,di as n,fi as r,j as i,t as a}from"./src-BX54x08P.js";import{Xt as o,_n as s,qt as c,vn as l,xn as u}from"./settings-D4M13toi.js";import{C as d,I as f,S as p,x as m,z as h}from"./debug-2pVES-2G.js";import{d as g,h as _,o as v}from"./config-BDn2YIjC.js";import{o as ee,s as y}from"./log-L1kqxa_P.js";import{i as b,t as x}from"./execFileNoThrow-DXSEj8ZO.js";import{i as S,o as C}from"./bundledMode-D9omqD3L.js";import{i as w,r as T}from"./projectOnboardingState-nTCycGCD.js";import{a as E,i as D,n as O,r as k,t as A}from"./appleTerminalBackup-Bemd4RXh.js";import{homedir as j,platform as M}from"os";import{dirname as te,join as N}from"path";import{randomBytes as P}from"crypto";import{copyFile as F,mkdir as I,readFile as L,writeFile as R}from"fs/promises";import{pathToFileURL as z}from"url";function B(){let e=process.env.VSCODE_GIT_ASKPASS_MAIN??``,t=process.env.PATH??``;return e.includes(`.vscode-server`)||e.includes(`.cursor-server`)||e.includes(`.windsurf-server`)||t.includes(`.vscode-server`)||t.includes(`.cursor-server`)||t.includes(`.windsurf-server`)}function V(){return!c.terminal||!(c.terminal in $)?null:$[c.terminal]??null}function H(e){return t()?`\x1b]8;;${z(e).href}\x07${e}\x1b]8;;\x07`:e}function U(){return M()===`darwin`&&c.terminal===`Apple_Terminal`||c.terminal===`vscode`||c.terminal===`cursor`||c.terminal===`windsurf`||c.terminal===`alacritty`||c.terminal===`zed`}async function W(e){let t=``;switch(c.terminal){case`Apple_Terminal`:t=await ne(e);break;case`vscode`:t=await Y(`VSCode`,e);break;case`cursor`:t=await Y(`Cursor`,e);break;case`windsurf`:t=await Y(`Windsurf`,e);break;case`alacritty`:t=await re(e);break;case`zed`:t=await ie(e);break;case null:break}return _(e=>[`vscode`,`cursor`,`windsurf`,`alacritty`,`zed`].includes(c.terminal??``)?e.shiftEnterKeyBindingInstalled===!0?e:{...e,shiftEnterKeyBindingInstalled:!0}:c.terminal===`Apple_Terminal`?e.optionAsMetaKeyInstalled===!0?e:{...e,optionAsMetaKeyInstalled:!0}:e),w(),t}function G(){return v().shiftEnterKeyBindingInstalled===!0}function K(){return v().hasUsedBackslashReturn===!0}function q(){v().hasUsedBackslashReturn||_(e=>({...e,hasUsedBackslashReturn:!0}))}async function J(e,t,r){if(c.terminal&&c.terminal in $)return e(`Shift+Enter is natively supported in ${$[c.terminal]}.
2
2
 
3
- No configuration needed. Just use Shift+Enter to add newlines.`),null;if(!U()){let t=h.terminal||`your current terminal`,r=C(),i=``;return r===`macos`?i=` • macOS: Apple Terminal
3
+ No configuration needed. Just use Shift+Enter to add newlines.`),null;if(!U()){let t=c.terminal||`your current terminal`,r=S(),i=``;return r===`macos`?i=` • macOS: Apple Terminal
4
4
  `:r===`windows`&&(i=` • Windows: Windows Terminal
5
5
  `),e(`Terminal setup cannot be run from ${t}.
6
6
 
@@ -21,12 +21,12 @@ ${n.dim(`Note: iTerm2, WezTerm, Ghostty, Kitty, and Warp support Shift+Enter nat
21
21
  "args": { "text": "\\u001b\\r" },
22
22
  "when": "terminalFocus"
23
23
  }
24
- ]`)}${Q}`;let r=e===`VSCode`?`Code`:e,a=N(j(),M()===`win32`?N(`AppData`,`Roaming`,r,`User`):M()===`darwin`?N(`Library`,`Application Support`,r,`User`):N(`.config`,r,`User`)),c=N(a,`keybindings.json`);try{await I(a,{recursive:!0});let r=`[]`,l=[],u=!1;try{r=await L(c,{encoding:`utf-8`}),u=!0,l=s(r)??[]}catch(e){if(!p(e))throw e}if(u){let r=`${c}.${P(4).toString(`hex`)}.bak`;try{await F(c,r)}catch{return`${i(`warning`,t)(`Error backing up existing ${e} terminal keybindings. Bailing out.`)}${Q}${n.dim(`See ${H(c)}`)}${Q}${n.dim(`Backup path: ${H(r)}`)}${Q}`}}return l.find(e=>e.key===`shift+enter`&&e.command===`workbench.action.terminal.sendSequence`&&e.when===`terminalFocus`)?`${i(`warning`,t)(`Found existing ${e} terminal Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(c)}`)}${Q}`:(await R(c,o(r,{key:`shift+enter`,command:`workbench.action.terminal.sendSequence`,args:{text:`\x1B\r`},when:`terminalFocus`}),{encoding:`utf-8`}),`${i(`success`,t)(`Installed ${e} terminal Shift+Enter key binding`)}${Q}${n.dim(`See ${H(c)}`)}${Q}`)}catch(t){throw b(t),Error(`Failed to install ${e} terminal Shift+Enter key binding`)}}async function X(e){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Add :'Window Settings':'${e}':useOptionAsMetaKey bool true`,k()]);if(t!==0){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Set :'Window Settings':'${e}':useOptionAsMetaKey true`,k()]);if(t!==0)return b(Error(`Failed to enable Option as Meta key for Terminal.app profile: ${e}`)),!1}return!0}async function Z(e){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Add :'Window Settings':'${e}':Bell bool false`,k()]);if(t!==0){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Set :'Window Settings':'${e}':Bell false`,k()]);if(t!==0)return b(Error(`Failed to disable audio bell for Terminal.app profile: ${e}`)),!1}return!0}async function ne(e){try{if(!await A())throw Error(`Failed to create backup of Terminal.app preferences, bailing out`);let{stdout:t,code:r}=await x(`defaults`,[`read`,`com.apple.Terminal`,`Default Window Settings`]);if(r!==0||!t.trim())throw Error(`Failed to read default Terminal.app profile`);let{stdout:a,code:o}=await x(`defaults`,[`read`,`com.apple.Terminal`,`Startup Window Settings`]);if(o!==0||!a.trim())throw Error(`Failed to read startup Terminal.app profile`);let s=!1,c=t.trim(),l=await X(c),u=await Z(c);(l||u)&&(s=!0);let d=a.trim();if(d!==c){let e=await X(d),t=await Z(d);(e||t)&&(s=!0)}if(!s)throw Error(`Failed to enable Option as Meta key or disable audio bell for any Terminal.app profile`);return await x(`killall`,[`cfprefsd`]),E(),`${i(`success`,e)(`Configured Terminal.app settings:`)}${Q}${i(`success`,e)(`- Enabled "Use Option as Meta key"`)}${Q}${i(`success`,e)(`- Switched to visual bell`)}${Q}${n.dim(`Option+Enter will now enter a newline.`)}${Q}${n.dim(`You must restart Terminal.app for changes to take effect.`,e)}${Q}`}catch(e){b(e);let t=await O(),n=`Failed to enable Option as Meta key for Terminal.app.`;throw t.status===`restored`?Error(`${n} Your settings have been restored from backup.`):t.status===`failed`?Error(`${n} Restoring from backup failed, try manually with: defaults import com.apple.Terminal ${t.backupPath}`):Error(`${n} No backup was available to restore from.`)}}async function re(e){let t=[],r=process.env.XDG_CONFIG_HOME;if(r?t.push(N(r,`alacritty`,`alacritty.toml`)):t.push(N(j(),`.config`,`alacritty`,`alacritty.toml`)),M()===`win32`){let e=process.env.APPDATA;e&&t.push(N(e,`alacritty`,`alacritty.toml`))}let a=null,o=``,s=!1;for(let e of t)try{o=await L(e,{encoding:`utf-8`}),a=e,s=!0;break}catch(e){if(!p(e))throw e}if(a||(a=t[0]??null),!a)throw Error(`No valid config path found for Alacritty`);try{if(s){if(o.includes(`mods = "Shift"`)&&o.includes(`key = "Return"`))return`${i(`warning`,e)(`Found existing Alacritty Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(a)}`)}${Q}`;let t=P(4).toString(`hex`),r=`${a}.${t}.bak`;try{await F(a,r)}catch{return`${i(`warning`,e)(`Error backing up existing Alacritty config. Bailing out.`)}${Q}${n.dim(`See ${H(a)}`)}${Q}${n.dim(`Backup path: ${H(r)}`)}${Q}`}}else await I(te(a),{recursive:!0});let t=o;return o&&!o.endsWith(`
24
+ ]`)}${Q}`;let r=e===`VSCode`?`Code`:e,a=N(j(),M()===`win32`?N(`AppData`,`Roaming`,r,`User`):M()===`darwin`?N(`Library`,`Application Support`,r,`User`):N(`.config`,r,`User`)),o=N(a,`keybindings.json`);try{await I(a,{recursive:!0});let r=`[]`,c=[],l=!1;try{r=await L(o,{encoding:`utf-8`}),l=!0,c=u(r)??[]}catch(e){if(!h(e))throw e}if(l){let r=`${o}.${P(4).toString(`hex`)}.bak`;try{await F(o,r)}catch{return`${i(`warning`,t)(`Error backing up existing ${e} terminal keybindings. Bailing out.`)}${Q}${n.dim(`See ${H(o)}`)}${Q}${n.dim(`Backup path: ${H(r)}`)}${Q}`}}return c.find(e=>e.key===`shift+enter`&&e.command===`workbench.action.terminal.sendSequence`&&e.when===`terminalFocus`)?`${i(`warning`,t)(`Found existing ${e} terminal Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(o)}`)}${Q}`:(await R(o,s(r,{key:`shift+enter`,command:`workbench.action.terminal.sendSequence`,args:{text:`\x1B\r`},when:`terminalFocus`}),{encoding:`utf-8`}),`${i(`success`,t)(`Installed ${e} terminal Shift+Enter key binding`)}${Q}${n.dim(`See ${H(o)}`)}${Q}`)}catch(t){throw y(t),Error(`Failed to install ${e} terminal Shift+Enter key binding`)}}async function X(e){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Add :'Window Settings':'${e}':useOptionAsMetaKey bool true`,k()]);if(t!==0){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Set :'Window Settings':'${e}':useOptionAsMetaKey true`,k()]);if(t!==0)return y(Error(`Failed to enable Option as Meta key for Terminal.app profile: ${e}`)),!1}return!0}async function Z(e){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Add :'Window Settings':'${e}':Bell bool false`,k()]);if(t!==0){let{code:t}=await x(`/usr/libexec/PlistBuddy`,[`-c`,`Set :'Window Settings':'${e}':Bell false`,k()]);if(t!==0)return y(Error(`Failed to disable audio bell for Terminal.app profile: ${e}`)),!1}return!0}async function ne(e){try{if(!await A())throw Error(`Failed to create backup of Terminal.app preferences, bailing out`);let{stdout:t,code:r}=await x(`defaults`,[`read`,`com.apple.Terminal`,`Default Window Settings`]);if(r!==0||!t.trim())throw Error(`Failed to read default Terminal.app profile`);let{stdout:a,code:o}=await x(`defaults`,[`read`,`com.apple.Terminal`,`Startup Window Settings`]);if(o!==0||!a.trim())throw Error(`Failed to read startup Terminal.app profile`);let s=!1,c=t.trim(),l=await X(c),u=await Z(c);(l||u)&&(s=!0);let d=a.trim();if(d!==c){let e=await X(d),t=await Z(d);(e||t)&&(s=!0)}if(!s)throw Error(`Failed to enable Option as Meta key or disable audio bell for any Terminal.app profile`);return await x(`killall`,[`cfprefsd`]),E(),`${i(`success`,e)(`Configured Terminal.app settings:`)}${Q}${i(`success`,e)(`- Enabled "Use Option as Meta key"`)}${Q}${i(`success`,e)(`- Switched to visual bell`)}${Q}${n.dim(`Option+Enter will now enter a newline.`)}${Q}${n.dim(`You must restart Terminal.app for changes to take effect.`,e)}${Q}`}catch(e){y(e);let t=await O(),n=`Failed to enable Option as Meta key for Terminal.app.`;throw t.status===`restored`?Error(`${n} Your settings have been restored from backup.`):t.status===`failed`?Error(`${n} Restoring from backup failed, try manually with: defaults import com.apple.Terminal ${t.backupPath}`):Error(`${n} No backup was available to restore from.`)}}async function re(e){let t=[],r=process.env.XDG_CONFIG_HOME;if(r?t.push(N(r,`alacritty`,`alacritty.toml`)):t.push(N(j(),`.config`,`alacritty`,`alacritty.toml`)),M()===`win32`){let e=process.env.APPDATA;e&&t.push(N(e,`alacritty`,`alacritty.toml`))}let a=null,o=``,s=!1;for(let e of t)try{o=await L(e,{encoding:`utf-8`}),a=e,s=!0;break}catch(e){if(!h(e))throw e}if(a||(a=t[0]??null),!a)throw Error(`No valid config path found for Alacritty`);try{if(s){if(o.includes(`mods = "Shift"`)&&o.includes(`key = "Return"`))return`${i(`warning`,e)(`Found existing Alacritty Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(a)}`)}${Q}`;let t=P(4).toString(`hex`),r=`${a}.${t}.bak`;try{await F(a,r)}catch{return`${i(`warning`,e)(`Error backing up existing Alacritty config. Bailing out.`)}${Q}${n.dim(`See ${H(a)}`)}${Q}${n.dim(`Backup path: ${H(r)}`)}${Q}`}}else await I(te(a),{recursive:!0});let t=o;return o&&!o.endsWith(`
25
25
  `)&&(t+=`
26
26
  `),t+=`
27
27
  [[keyboard.bindings]]
28
28
  key = "Return"
29
29
  mods = "Shift"
30
30
  chars = "\\u001B\\r"
31
- `,await R(a,t,{encoding:`utf-8`}),`${i(`success`,e)(`Installed Alacritty Shift+Enter key binding`)}${Q}${i(`success`,e)(`You may need to restart Alacritty for changes to take effect`)}${Q}${n.dim(`See ${H(a)}`)}${Q}`}catch(e){throw b(e),Error(`Failed to install Alacritty Shift+Enter key binding`)}}async function ie(e){let t=N(j(),`.config`,`zed`),r=N(t,`keymap.json`);try{await I(t,{recursive:!0});let a=`[]`,o=!1;try{a=await L(r,{encoding:`utf-8`}),o=!0}catch(e){if(!p(e))throw e}if(o){if(a.includes(`shift-enter`))return`${i(`warning`,e)(`Found existing Zed Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(r)}`)}${Q}`;let t=`${r}.${P(4).toString(`hex`)}.bak`;try{await F(r,t)}catch{return`${i(`warning`,e)(`Error backing up existing Zed keymap. Bailing out.`)}${Q}${n.dim(`See ${H(r)}`)}${Q}${n.dim(`Backup path: ${H(t)}`)}${Q}`}}let s;try{s=d(a),Array.isArray(s)||(s=[])}catch{s=[]}return s.push({context:`Terminal`,bindings:{"shift-enter":[`terminal::SendText`,`\x1B\r`]}}),await R(r,`${l(s,null,2)}\n`,{encoding:`utf-8`}),`${i(`success`,e)(`Installed Zed Shift+Enter key binding`)}${Q}${n.dim(`See ${H(r)}`)}${Q}`}catch(e){throw b(e),Error(`Failed to install Zed Shift+Enter key binding`)}}var Q,$,ae=e((()=>{r(),a(),T(),D(),g(),m(),u(),ee(),c(),y(),S(),f(),Q=`
31
+ `,await R(a,t,{encoding:`utf-8`}),`${i(`success`,e)(`Installed Alacritty Shift+Enter key binding`)}${Q}${i(`success`,e)(`You may need to restart Alacritty for changes to take effect`)}${Q}${n.dim(`See ${H(a)}`)}${Q}`}catch(e){throw y(e),Error(`Failed to install Alacritty Shift+Enter key binding`)}}async function ie(e){let t=N(j(),`.config`,`zed`),r=N(t,`keymap.json`);try{await I(t,{recursive:!0});let a=`[]`,o=!1;try{a=await L(r,{encoding:`utf-8`}),o=!0}catch(e){if(!h(e))throw e}if(o){if(a.includes(`shift-enter`))return`${i(`warning`,e)(`Found existing Zed Shift+Enter key binding. Remove it to continue.`)}${Q}${n.dim(`See ${H(r)}`)}${Q}`;let t=`${r}.${P(4).toString(`hex`)}.bak`;try{await F(r,t)}catch{return`${i(`warning`,e)(`Error backing up existing Zed keymap. Bailing out.`)}${Q}${n.dim(`See ${H(r)}`)}${Q}${n.dim(`Backup path: ${H(t)}`)}${Q}`}}let s;try{s=p(a),Array.isArray(s)||(s=[])}catch{s=[]}return s.push({context:`Terminal`,bindings:{"shift-enter":[`terminal::SendText`,`\x1B\r`]}}),await R(r,`${d(s,null,2)}\n`,{encoding:`utf-8`}),`${i(`success`,e)(`Installed Zed Shift+Enter key binding`)}${Q}${n.dim(`See ${H(r)}`)}${Q}`}catch(e){throw y(e),Error(`Failed to install Zed Shift+Enter key binding`)}}var Q,$,ae=e((()=>{r(),a(),T(),D(),g(),o(),f(),b(),l(),ee(),C(),m(),Q=`
32
32
  `,$={ghostty:`Ghostty`,kitty:`Kitty`,"iTerm.app":`iTerm2`,WezTerm:`WezTerm`,WarpTerminal:`Warp`}}));export{G as a,U as c,ae as i,V as n,q as o,K as r,W as s,J as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{H as t,t as n,x as r}from"./src-WZ94ZKI3.js";import{t as i}from"./jsx-runtime-Bb4Xn-E0.js";import{n as a,t as o}from"./ThemePicker-DTpXbEY0.js";function s({onDone:e}){let[,n]=t();return(0,c.jsx)(r,{color:`permission`,children:(0,c.jsx)(o,{onThemeSelect:t=>{n(t),e(`Theme set to ${t}`)},onCancel:()=>{e(`Theme picker dismissed`,{display:`system`})},skipExitHandling:!0})})}var c,l;e((()=>{n(),a(),c=i(),l=async(e,t)=>(0,c.jsx)(s,{onDone:e})}))();export{l as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{H as t,t as n,x as r}from"./src-BX54x08P.js";import{t as i}from"./jsx-runtime-Bb4Xn-E0.js";import{n as a,t as o}from"./ThemePicker-B69oDgXN.js";function s({onDone:e}){let[,n]=t();return(0,c.jsx)(r,{color:`permission`,children:(0,c.jsx)(o,{onThemeSelect:t=>{n(t),e(`Theme set to ${t}`)},onCancel:()=>{e(`Theme picker dismissed`,{display:`system`})},skipExitHandling:!0})})}var c,l;e((()=>{n(),a(),c=i(),l=async(e,t)=>(0,c.jsx)(s,{onDone:e})}))();export{l as call};
@@ -0,0 +1,2 @@
1
+ import{n as e,t}from"./memoize-BK3gG5ob.js";import{l as n,o as r}from"./envUtils-QyzA_cFM.js";import{di as i,fi as a,j as o,t as s}from"./src-BX54x08P.js";import{Gr as c,Jt as l,Kr as u,Ur as d,Xt as f,d as p,m,qr as h,qt as g,t as _}from"./settings-D4M13toi.js";import{Pt as v,at as y}from"./state-CXY-q5gr.js";import{$a as b,$h as x,Gv as S,Hv as C,Ya as w,_x as T,ab as E,ag as ee,fo as te,gr as ne,mC as D,ob as O,pC as k,uo as A,vr as j,yx as M}from"./loadAgentsDir-uuZYOgKn.js";import{n as N,t as P}from"./cwd-DrEEb4f5.js";import{c as F,i as I}from"./debug-2pVES-2G.js";import{a as L,d as R,h as z,l as B,m as V,o as H}from"./config-BDn2YIjC.js";import{r as U,t as W}from"./execa-CBhG1doD.js";import{o as G,s as K}from"./log-L1kqxa_P.js";import{i as q,n as J}from"./execFileNoThrow-DXSEj8ZO.js";import{i as Y,o as re}from"./bundledMode-D9omqD3L.js";import{Mt as X,Pt as ie}from"./model-CcHyMyBv.js";import{c as ae,i as oe}from"./terminalSetup-DedaY1P7.js";I(),G(),q(),h(),k(),U(),t(),v(),R(),N(),f(),r();async function se(){}e(e=>({deviceId:B(),sessionId:y(),email:void 0,appVersion:`0.0.27`,platform:l(),userType:process.env.USER_TYPE,...n(process.env.GITHUB_ACTIONS)&&{githubActionsMetadata:{actor:process.env.GITHUB_ACTOR,actorId:process.env.GITHUB_ACTOR_ID,repository:process.env.GITHUB_REPOSITORY,repositoryId:process.env.GITHUB_REPOSITORY_ID,repositoryOwner:process.env.GITHUB_REPOSITORY_OWNER,repositoryOwnerId:process.env.GITHUB_REPOSITORY_OWNER_ID}}}));var ce=e(async()=>{let e=await W(`git config --get user.email`,{shell:!0,reject:!1,cwd:P()});return e.exitCode===0&&e.stdout?e.stdout.trim():void 0});t(),N(),R(),f();var le=[/(?:^|\/)(?:package-lock\.json|yarn\.lock|bun\.lock|bun\.lockb|pnpm-lock\.yaml|Pipfile\.lock|poetry\.lock|Cargo\.lock|Gemfile\.lock|go\.sum|composer\.lock|uv\.lock)$/,/\.generated\./,/(?:^|\/)(?:dist|build|out|target|node_modules|\.next|__pycache__)\//,/\.(?:min\.js|min\.css|map|pyc|pyo)$/,/\.(?:json|ya?ml|toml|xml|ini|cfg|conf|env|lock|txt|md|mdx|rst|csv|log|svg)$/i,/(?:^|\/)\.?(?:eslintrc|prettierrc|babelrc|editorconfig|gitignore|gitattributes|dockerignore|npmrc)/,/(?:^|\/)(?:tsconfig|jsconfig|biome|vitest\.config|jest\.config|webpack\.config|vite\.config|rollup\.config)\.[a-z]+$/,/(?:^|\/)\.(?:github|vscode|idea|claude)\//,/(?:^|\/)(?:CHANGELOG|LICENSE|CONTRIBUTING|CODEOWNERS|README)(?:\.[a-z]+)?$/i];function ue(e){return!le.some(t=>t.test(e))}function de(e,t){let n=[],r=new Set,i=new Map;for(let a=1;n.length<t&&a<=t;a++)for(let o of e){if(n.length>=t)break;if(!ue(o))continue;let e=Math.max(o.lastIndexOf(`/`),o.lastIndexOf(`\\`)),s=e>=0?o.slice(e+1):o;if(!s||r.has(s))continue;let c=e>=0?o.slice(0,e):`.`;(i.get(c)??0)>=a||(n.push(s),r.add(s),i.set(c,(i.get(c)??0)+1))}return n.length>=t?n:[]}async function fe(){if(g.platform===`win32`||!await d())return[];try{let e=await ce(),t=[`log`,`-n`,`1000`,`--pretty=format:`,`--name-only`,`--diff-filter=M`],n=new Map,r=e=>{for(let t of e.split(`
2
+ `)){let e=t.trim();e&&n.set(e,(n.get(e)??0)+1)}};if(e){let{stdout:n}=await J(`git`,[...t,`--author=${e}`],{cwd:P()});r(n)}if(n.size<10){let{stdout:e}=await J(u(),t,{cwd:P()});r(e)}return de(Array.from(n.entries()).sort((e,t)=>t[1]-e[1]).map(([e])=>e),5)}catch(e){return K(e),[]}}var pe=10080*60*1e3,me=e(()=>{let e=L(),t=e.exampleFiles?.length?D(e.exampleFiles):`<filepath>`;return`Try "${D([`fix lint errors`,`fix typecheck errors`,`how does ${t} work?`,`refactor ${t}`,`how do I log an error?`,`edit ${t} to...`,`write a test for ${t}`,`create a util logging.py that...`])}"`}),he=e(async()=>{let e=L();Date.now()-(e.exampleFilesGeneratedAt??0)>pe&&(e.exampleFiles=[]),e.exampleFiles?.length||fe().then(e=>{e.length&&V(t=>({...t,exampleFiles:e,exampleFilesGeneratedAt:Date.now()}))})});ie();var ge={"claude-3-opus":{modelName:`Work Mate 3 Opus`,retirementDates:{firstParty:`January 5, 2026`,bedrock:`January 15, 2026`,vertex:`January 5, 2026`,foundry:`January 5, 2026`}},"claude-3-7-sonnet":{modelName:`Work Mate 3.7 Sonnet`,retirementDates:{firstParty:`February 19, 2026`,bedrock:`April 28, 2026`,vertex:`May 11, 2026`,foundry:`February 19, 2026`}},"claude-3-5-haiku":{modelName:`Work Mate 3.5 Haiku`,retirementDates:{firstParty:`February 19, 2026`,bedrock:null,vertex:null,foundry:null}}};function _e(e){let t=e.toLowerCase(),n=X();for(let[e,r]of Object.entries(ge)){let i=r.retirementDates[n];if(!(!t.includes(e)||!i))return{isDeprecated:!0,modelName:r.modelName,retirementDate:i}}return{isDeprecated:!1}}function ve(e){if(!e)return null;let t=_e(e);return t.isDeprecated?`⚠ ${t.modelName} will be retired on ${t.retirementDate}. Consider switching to a newer model.`:null}a(),s(),re(),m(),M(),O(),S(),ee(),A(),w(),ne(),oe(),R();function ye(e){let t=H().numStartups;z(n=>{let r=n.tipsHistory??{};return r[e]===t?n:{...n,tipsHistory:{...r,[e]:t}}})}function Z(e){let t=H(),n=t.tipsHistory?.[e];return n?t.numStartups-n:1/0}R(),f(),h();var Q;async function be(){return Q===void 0&&(Q=T in await te()),Q}async function $(e,t,n){if(!await be()||b(`${e}@claude-plugins-official`))return!1;let{bashTools:r}=t??{};return!!(n.cli&&r?.size&&n.cli.some(e=>r.has(e))||n.filePath&&t?.readFileState&&C(t.readFileState).some(e=>n.filePath.test(e)))}var xe=[{id:`new-user-warmup`,content:async()=>`Start with small features or bug fixes, tell Work Mate to propose a plan, and verify its suggested edits`,cooldownSessions:3,async isRelevant(){return H().numStartups<10}},{id:`plan-mode-for-complex-tasks`,content:async()=>`Use Plan Mode to prepare for a complex request before making changes. Press ${E(`chat:cycleMode`,`Chat`,`shift+tab`)} twice to enable.`,cooldownSessions:5,isRelevant:async()=>{let e=H();return(e.lastPlanModeUse?(Date.now()-e.lastPlanModeUse)/(1e3*60*60*24):1/0)>7}},{id:`default-permission-mode-config`,content:async()=>`Use /config to change your default permission mode (including Plan Mode)`,cooldownSessions:10,isRelevant:async()=>{try{let e=H(),t=p(),n=!!e.lastPlanModeUse,r=!!t?.permissions?.defaultMode;return n&&!r}catch(e){return F(`Failed to check default-permission-mode-config tip relevance: ${e}`,{level:`warn`}),!1}}},{id:`git-worktrees`,content:async()=>`Use git worktrees to run multiple Work Mate sessions in parallel.`,cooldownSessions:10,isRelevant:async()=>{try{let e=H();return await c()<=1&&e.numStartups>50}catch{return!1}}},{id:`terminal-setup`,content:async()=>g.terminal===`Apple_Terminal`?`Run /terminal-setup to enable convenient terminal integration like Option + Enter for new line and more`:`Run /terminal-setup to enable convenient terminal integration like Shift + Enter for new line and more`,cooldownSessions:10,async isRelevant(){let e=H();return g.terminal===`Apple_Terminal`?!e.optionAsMetaKeyInstalled:!e.shiftEnterKeyBindingInstalled}},{id:`shift-enter`,content:async()=>g.terminal===`Apple_Terminal`?`Press Option+Enter to send a multi-line message`:`Press Shift+Enter to send a multi-line message`,cooldownSessions:10,async isRelevant(){let e=H();return!!((g.terminal===`Apple_Terminal`?e.optionAsMetaKeyInstalled:e.shiftEnterKeyBindingInstalled)&&e.numStartups>3)}},{id:`shift-enter-setup`,content:async()=>g.terminal===`Apple_Terminal`?`Run /terminal-setup to enable Option+Enter for new lines`:`Run /terminal-setup to enable Shift+Enter for new lines`,cooldownSessions:10,async isRelevant(){if(!ae())return!1;let e=H();return!(g.terminal===`Apple_Terminal`?e.optionAsMetaKeyInstalled:e.shiftEnterKeyBindingInstalled)}},{id:`memory-command`,content:async()=>`Use /memory to view and manage Work Mate memory`,cooldownSessions:15,async isRelevant(){return H().memoryUsageCount<=0}},{id:`theme-command`,content:async()=>`Use /theme to change the color theme`,cooldownSessions:20,isRelevant:async()=>!0},{id:`colorterm-truecolor`,content:async()=>`Try setting environment variable COLORTERM=truecolor for richer colors`,cooldownSessions:30,isRelevant:async()=>!process.env.COLORTERM&&i.level<3},{id:`powershell-tool-env`,content:async()=>`Set WORKMATE_USE_POWERSHELL_TOOL=1 to enable the PowerShell tool (preview)`,cooldownSessions:10,isRelevant:async()=>Y()===`windows`&&process.env.WORKMATE_USE_POWERSHELL_TOOL===void 0},{id:`status-line`,content:async()=>`Use /statusline to set up a custom status line that will display beneath the input box`,cooldownSessions:25,isRelevant:async()=>p().statusLine===void 0},{id:`prompt-queue`,content:async()=>`Hit Enter to queue up additional messages while Work Mate is working.`,cooldownSessions:5,async isRelevant(){return H().promptQueueUseCount<=3}},{id:`enter-to-steer-in-relatime`,content:async()=>`Send messages to Work Mate while it works to steer Work Mate in real-time`,cooldownSessions:20,isRelevant:async()=>!0},{id:`todo-list`,content:async()=>`Ask Work Mate to create a todo list when working on complex tasks to track progress and remain on track`,cooldownSessions:20,isRelevant:async()=>!0},{id:`permissions`,content:async()=>`Use /permissions to pre-approve and pre-deny bash, edit, and MCP tools`,cooldownSessions:10,async isRelevant(){return H().numStartups>10}},{id:`drag-and-drop-images`,content:async()=>`Did you know you can drag and drop image files into your terminal?`,cooldownSessions:10,isRelevant:async()=>!g.isSSH()},{id:`paste-images-mac`,content:async()=>`Paste images into Work Mate using control+v (not cmd+v!)`,cooldownSessions:10,isRelevant:async()=>Y()===`macos`},{id:`double-esc`,content:async()=>`Double-tap esc to rewind the conversation to a previous point in time`,cooldownSessions:10,isRelevant:async()=>!x()},{id:`double-esc-code-restore`,content:async()=>`Double-tap esc to rewind the code and/or conversation to a previous point in time`,cooldownSessions:10,isRelevant:async()=>x()},{id:`continue`,content:async()=>`Run claude --continue or claude --resume to resume a conversation`,cooldownSessions:10,isRelevant:async()=>!0},{id:`rename-conversation`,content:async()=>`Name your conversations with /rename to find them easily in /resume later`,cooldownSessions:15,isRelevant:async()=>j()&&H().numStartups>10},{id:`custom-commands`,content:async()=>`Create skills by adding .md files to .workmate/skills/ in your project or ~/.workmate/skills/ for skills that work in any project`,cooldownSessions:15,async isRelevant(){return H().numStartups>10}},{id:`shift-tab`,content:async()=>`Hit ${E(`chat:cycleMode`,`Chat`,`shift+tab`)} to cycle between default, accept edits, plan, auto, and bypass modes`,cooldownSessions:10,isRelevant:async()=>!0},{id:`image-paste`,content:async()=>`Use ${E(`chat:imagePaste`,`Chat`,`ctrl+v`)} to paste images from your clipboard`,cooldownSessions:20,isRelevant:async()=>!0},{id:`custom-agents`,content:async()=>`Use /agents to optimize specific tasks. Eg. Software Architect, Code Writer, Code Reviewer`,cooldownSessions:15,async isRelevant(){return H().numStartups>5}},{id:`agent-flag`,content:async()=>`Use --agent <agent_name> to directly start a conversation with a subagent`,cooldownSessions:15,async isRelevant(){return H().numStartups>5}},{id:`frontend-design-plugin`,content:async e=>`Working with HTML/CSS? Install the frontend-design plugin:\n${o(`suggestion`,e?.theme??`dark`)(`/plugin install frontend-design@${T}`)}`,cooldownSessions:3,isRelevant:async e=>$(`frontend-design`,e,{filePath:/\.(html|css|htm)$/i})},{id:`vercel-plugin`,content:async e=>`Working with Vercel? Install the vercel plugin:\n${o(`suggestion`,e?.theme??`dark`)(`/plugin install vercel@${T}`)}`,cooldownSessions:3,isRelevant:async e=>$(`vercel`,e,{filePath:/(?:^|[/\\])vercel\.json$/i,cli:[`vercel`]})},{id:`subagent-fanout-nudge`,content:async e=>`Say ${o(`suggestion`,e?.theme??`dark`)(`"fan out subagents"`)} and Work Mate sends a team. Each one digs deep so nothing gets missed.`,cooldownSessions:3,isRelevant:async()=>!1}],Se=[];function Ce(){let e=_().spinnerTipsOverride;return e?.tips?.length?e.tips.map((e,t)=>({id:`custom-tip-${t}`,content:async()=>e,cooldownSessions:0,isRelevant:async()=>!0})):[]}async function we(e){let t=_().spinnerTipsOverride,n=Ce();if(t?.excludeDefault&&n.length>0)return n;let r=[...xe,...Se],i=await Promise.all(r.map(t=>t.isRelevant?.(e)??Promise.resolve(!0)));return[...r.filter((e,t)=>i[t]).filter(e=>Z(e.id)>=e.cooldownSessions),...n]}export{me as a,ve as i,Z as n,he as o,ye as r,se as s,we as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./debug-kBjDaVkQ.js";import{o as r,s as i}from"./log-DWZny1vM.js";import{r as a,t as o}from"./observationStore-D0rm3GhP.js";import{randomUUID as s}from"node:crypto";function c(){for(let[e,t]of T)if(t.size>x){let e=t.values(),n=t.size-S;for(let r=0;r<n;r++){let n=e.next();if(n.done)break;t.delete(n.value)}}if(T.size>C){let e=T.size-w,t=0;for(let n of T.keys()){if(t>=e)break;T.delete(n),t++}}}function l(e,t){let n=T.get(e)??new Set;n.add(t),T.delete(e),T.set(e,n),c()}function u(e,t){return T.get(e)?.has(t)??!1}function d(){T.clear()}function f(e){return{id:s(),sessionId:e.sessionId,projectId:e.projectId,projectName:e.projectName,cwd:e.cwd,timestamp:new Date().toISOString(),source:`tool-hook`,turn:e.turn}}function p(){return E||(E=Promise.all([import(`./projectContext-COeHKDrk.js`),import(`./featureCheck-JOur3pHb.js`),import(`./runtimeObserver-BUHs3qjs.js`)]).then(([e,t,n])=>({resolveProjectContext:e.resolveProjectContext,isSkillLearningEnabled:t.isSkillLearningEnabled,RUNTIME_SESSION_ID:n.RUNTIME_SESSION_ID,getRuntimeTurn:n.getRuntimeTurn}))),E}function m(){E=void 0}async function h(e,n,r,a){let o;try{let{resolveProjectContext:s,isSkillLearningEnabled:c,RUNTIME_SESSION_ID:l,getRuntimeTurn:u}=await p();if(!c())return a();let d=s(process.cwd());o={sessionId:r.sessionId??l,turn:r.turn??u(),projectId:d.projectId,projectName:d.projectName,cwd:d.cwd,project:d},g(o,e,n).catch(e=>{t(`skill-learning: recordToolStart error`),i(e)})}catch(e){t(`skill-learning: hook setup error`),i(e)}try{let n=await a();return o&&_(o,e,n,`success`).catch(e=>{t(`skill-learning: recordToolComplete error`),i(e)}),n}catch(n){throw o&&v(o,e,n).catch(e=>{t(`skill-learning: recordToolError error`),i(e)}),n}}async function g(e,t,n){return l(e.sessionId,e.turn),o({...f(e),event:`tool_start`,toolName:t,toolInput:b(n)},{project:e.project})}async function _(e,t,n,r=`success`){return l(e.sessionId,e.turn),o({...f(e),event:`tool_complete`,toolName:t,toolOutput:b(n),outcome:r},{project:e.project})}async function v(e,t,n){return l(e.sessionId,e.turn),o({...f(e),event:`tool_complete`,toolName:t,toolOutput:b(n),outcome:`failure`},{project:e.project})}async function y(e,t){return l(e.sessionId,e.turn),o({...f(e),event:`user_message`,messageText:t},{project:e.project})}function b(e){if(e!=null){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}}var x,S,C,w,T,E;e((()=>{a(),n(),r(),x=500,S=250,C=50,w=25,T=new Map}))();export{u as hasToolHookObservationsForTurn,c as pruneEmittedTurns,_ as recordToolComplete,v as recordToolError,g as recordToolStart,y as recordUserCorrection,d as resetToolHookBookkeeping,m as resetToolHookDepsCache,h as runToolCallWithSkillLearningHooks};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./debug-2pVES-2G.js";import{o as r,s as i}from"./log-L1kqxa_P.js";import{r as a,t as o}from"./observationStore-pnSSxec_.js";import{randomUUID as s}from"node:crypto";function c(){for(let[e,t]of T)if(t.size>x){let e=t.values(),n=t.size-S;for(let r=0;r<n;r++){let n=e.next();if(n.done)break;t.delete(n.value)}}if(T.size>C){let e=T.size-w,t=0;for(let n of T.keys()){if(t>=e)break;T.delete(n),t++}}}function l(e,t){let n=T.get(e)??new Set;n.add(t),T.delete(e),T.set(e,n),c()}function u(e,t){return T.get(e)?.has(t)??!1}function d(){T.clear()}function f(e){return{id:s(),sessionId:e.sessionId,projectId:e.projectId,projectName:e.projectName,cwd:e.cwd,timestamp:new Date().toISOString(),source:`tool-hook`,turn:e.turn}}function p(){return E||(E=Promise.all([import(`./projectContext-DnJHynXv.js`),import(`./featureCheck-JOur3pHb.js`),import(`./runtimeObserver-DOYlxx9H.js`)]).then(([e,t,n])=>({resolveProjectContext:e.resolveProjectContext,isSkillLearningEnabled:t.isSkillLearningEnabled,RUNTIME_SESSION_ID:n.RUNTIME_SESSION_ID,getRuntimeTurn:n.getRuntimeTurn}))),E}function m(){E=void 0}async function h(e,n,r,a){let o;try{let{resolveProjectContext:s,isSkillLearningEnabled:c,RUNTIME_SESSION_ID:l,getRuntimeTurn:u}=await p();if(!c())return a();let d=s(process.cwd());o={sessionId:r.sessionId??l,turn:r.turn??u(),projectId:d.projectId,projectName:d.projectName,cwd:d.cwd,project:d},g(o,e,n).catch(e=>{t(`skill-learning: recordToolStart error`),i(e)})}catch(e){t(`skill-learning: hook setup error`),i(e)}try{let n=await a();return o&&_(o,e,n,`success`).catch(e=>{t(`skill-learning: recordToolComplete error`),i(e)}),n}catch(n){throw o&&v(o,e,n).catch(e=>{t(`skill-learning: recordToolError error`),i(e)}),n}}async function g(e,t,n){return l(e.sessionId,e.turn),o({...f(e),event:`tool_start`,toolName:t,toolInput:b(n)},{project:e.project})}async function _(e,t,n,r=`success`){return l(e.sessionId,e.turn),o({...f(e),event:`tool_complete`,toolName:t,toolOutput:b(n),outcome:r},{project:e.project})}async function v(e,t,n){return l(e.sessionId,e.turn),o({...f(e),event:`tool_complete`,toolName:t,toolOutput:b(n),outcome:`failure`},{project:e.project})}async function y(e,t){return l(e.sessionId,e.turn),o({...f(e),event:`user_message`,messageText:t},{project:e.project})}function b(e){if(e!=null){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}}var x,S,C,w,T,E;e((()=>{a(),n(),r(),x=500,S=250,C=50,w=25,T=new Map}))();export{u as hasToolHookObservationsForTurn,c as pruneEmittedTurns,_ as recordToolComplete,v as recordToolError,g as recordToolStart,y as recordUserCorrection,d as resetToolHookBookkeeping,m as resetToolHookDepsCache,h as runToolCallWithSkillLearningHooks};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{$d as t,dC as n,ef as r,fC as i}from"./loadAgentsDir-DR5PVAc3.js";import{n as a,t as o}from"./partition-BRQHofxD.js";function s(e,t,n){let[o,s]=a(i([...e,...t],`name`),r),c=(e,t)=>e.name.localeCompare(t.name);return[...s.sort(c),...o.sort(c)]}var c=e((()=>{o(),n(),t()}));export{s as n,c as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{$d as t,dC as n,ef as r,fC as i}from"./loadAgentsDir-uuZYOgKn.js";import{n as a,t as o}from"./partition-djFY9gGI.js";function s(e,t,n){let[o,s]=a(i([...e,...t],`name`),r),c=(e,t)=>e.name.localeCompare(t.name);return[...s.sort(c),...o.sort(c)]}var c=e((()=>{o(),n(),t()}));export{s as n,c as t};
@@ -1 +1 @@
1
- import{i as e,o as t}from"./envUtils-DZ_SvEVz.js";import{I as n,M as r,S as i,c as a,i as o,x as s,z as c}from"./debug-kBjDaVkQ.js";import{o as l}from"./log-DWZny1vM.js";import{i as u,r as d}from"./genericProcessUtils-CVtQOTO2.js";import"os";import{join as f}from"path";import"crypto";import{readFile as p,readdir as m}from"fs/promises";import"node:string_decoder";t(),o(),d(),n(),s(),n(),l(),s(),t(),o(),n(),s();function h(){return f(e(),`sessions`)}async function g(){let e=h(),t;try{t=await m(e)}catch(e){return c(e)||a(`[udsClient] readdir failed: ${r(e)}`),[]}let n=[];for(let r of t){if(!/^\d+\.json$/.test(r))continue;let t=parseInt(r.slice(0,-5),10);if(u(t))try{let a=i(await p(f(e,r),`utf8`));n.push({pid:t,sessionId:a.sessionId,cwd:a.cwd,startedAt:a.startedAt,kind:a.kind,name:a.name,messagingSocketPath:a.messagingSocketPath,entrypoint:a.entrypoint,bridgeSessionId:a.bridgeSessionId,alive:!0})}catch{}}return n}export{g as listAllLiveSessions};
1
+ import{i as e,o as t}from"./envUtils-QyzA_cFM.js";import{I as n,M as r,S as i,c as a,i as o,x as s,z as c}from"./debug-2pVES-2G.js";import{o as l}from"./log-L1kqxa_P.js";import{i as u,r as d}from"./genericProcessUtils-GqURdVAv.js";import"os";import{join as f}from"path";import"crypto";import{readFile as p,readdir as m}from"fs/promises";import"node:string_decoder";t(),o(),d(),n(),s(),n(),l(),s(),t(),o(),n(),s();function h(){return f(e(),`sessions`)}async function g(){let e=h(),t;try{t=await m(e)}catch(e){return c(e)||a(`[udsClient] readdir failed: ${r(e)}`),[]}let n=[];for(let r of t){if(!/^\d+\.json$/.test(r))continue;let t=parseInt(r.slice(0,-5),10);if(u(t))try{let a=i(await p(f(e,r),`utf8`));n.push({pid:t,sessionId:a.sessionId,cwd:a.cwd,startedAt:a.startedAt,kind:a.kind,name:a.name,messagingSocketPath:a.messagingSocketPath,entrypoint:a.entrypoint,bridgeSessionId:a.bridgeSessionId,alive:!0})}catch{}}return n}export{g as listAllLiveSessions};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./src-WZ94ZKI3.js";var n=e((()=>{t()}));export{n as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./src-BX54x08P.js";var n=e((()=>{t()}));export{n as t};
@@ -1 +1 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,ai as r,et as i,t as a,vt as o}from"./src-WZ94ZKI3.js";import{tb as s}from"./loadAgentsDir-DR5PVAc3.js";import{t as c}from"./useDoublePress-DQBLKyzJ.js";function l(e,t,n,r=!0){let{exit:a}=o(),[s,c]=(0,u.useState)({pending:!1,keyName:null}),l=(0,u.useMemo)(()=>n??a,[n,a]),d=i(e=>c({pending:e,keyName:`Ctrl-C`}),l),f=i(e=>c({pending:e,keyName:`Ctrl-D`}),l),p=(0,u.useCallback)(()=>{t?.()||d()},[d,t]),m=(0,u.useCallback)(()=>{f()},[f]);return e((0,u.useMemo)(()=>({"app:interrupt":p,"app:exit":m}),[p,m]),{context:`Global`,isActive:r}),s}var u,d=e((()=>{u=t(r(),1),a(),c()}));function f(e,t,r){return l(n,t,e,r)}var p=e((()=>{s(),d()}));export{f as n,p as t};
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,ai as r,et as i,t as a,vt as o}from"./src-BX54x08P.js";import{tb as s}from"./loadAgentsDir-uuZYOgKn.js";import{t as c}from"./useDoublePress-zA5QwIpO.js";function l(e,t,n,r=!0){let{exit:a}=o(),[s,c]=(0,u.useState)({pending:!1,keyName:null}),l=(0,u.useMemo)(()=>n??a,[n,a]),d=i(e=>c({pending:e,keyName:`Ctrl-C`}),l),f=i(e=>c({pending:e,keyName:`Ctrl-D`}),l),p=(0,u.useCallback)(()=>{t?.()||d()},[d,t]),m=(0,u.useCallback)(()=>{f()},[f]);return e((0,u.useMemo)(()=>({"app:interrupt":p,"app:exit":m}),[p,m]),{context:`Global`,isActive:r}),s}var u,d=e((()=>{u=t(r(),1),a(),c()}));function f(e,t,r){return l(n,t,e,r)}var p=e((()=>{s(),d()}));export{f as n,p as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Bh as t,zh as n}from"./loadAgentsDir-uuZYOgKn.js";import{f as r,i,v as a}from"./model-CcHyMyBv.js";function o(){let e=t(e=>e.mainLoopModel);return a(t(e=>e.mainLoopModelForSession)??e??i())}var s=e((()=>{n(),r()}));export{o as n,s as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as t}from"./src-BX54x08P.js";import{$n as n,Qn as r,di as i,ui as a}from"./settings-D4M13toi.js";import{Bh as o,Fa as s,Go as c,Hh as l,Hm as u,Km as d,Ko as f,Pa as p,Wm as m,Xo as h,Zo as g,_f as _,c_ as v,qm as y,s_ as b,vf as x,zh as S}from"./loadAgentsDir-uuZYOgKn.js";import{I as C,V as w,c as T,i as E}from"./debug-2pVES-2G.js";import{o as D,s as O}from"./log-L1kqxa_P.js";import{n as k}from"./analytics-COpjZpvd.js";import{n as A,t as j}from"./notifications-GLnjirCl.js";import{n as M,r as N}from"./pluginFlagging-CUvkKGOB.js";import{t as P}from"./pluginBlocklist-CKCsgWdY.js";var F=e(t(),1);j(),k(),u(),S(),n(),E(),a(),C(),D(),h(),f(),b(),d(),_(),N(),p();function I({enabled:e=!0}={}){let t=l(),n=o(e=>e.plugins.needsRefresh),{addNotification:a}=A(),u=(0,F.useCallback)(async()=>{try{let{enabled:e,disabled:n,errors:i}=await s();await P();let o=M();Object.keys(o).length>0&&a({key:`plugin-delisted-flagged`,text:`Plugins flagged. Check /plugins`,color:`warning`,priority:`high`});let l=[],u=[];try{l=await c()}catch(e){let t=e instanceof Error?e.message:String(e);i.push({type:`generic-error`,source:`plugin-commands`,error:`Failed to load plugin commands: ${t}`})}try{u=await g()}catch(e){let t=e instanceof Error?e.message:String(e);i.push({type:`generic-error`,source:`plugin-agents`,error:`Failed to load plugin agents: ${t}`})}try{await v()}catch(e){let t=e instanceof Error?e.message:String(e);i.push({type:`generic-error`,source:`plugin-hooks`,error:`Failed to load plugin hooks: ${t}`})}let d=(await Promise.all(e.map(async e=>{if(e.mcpServers)return Object.keys(e.mcpServers).length;let t=await x(e,i);return t&&(e.mcpServers=t),t?Object.keys(t).length:0}))).reduce((e,t)=>e+t,0),f=(await Promise.all(e.map(async e=>{if(e.lspServers)return Object.keys(e.lspServers).length;let t=await y(e,i);return t&&(e.lspServers=t),t?Object.keys(t).length:0}))).reduce((e,t)=>e+t,0);m(),t(t=>{let r=t.plugins.errors.filter(e=>e.source===`lsp-manager`||e.source.startsWith(`plugin:`)),a=new Set(i.map(e=>e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`)),o=[...r.filter(e=>{let t=e.type===`generic-error`?`generic-error:${e.source}:${e.error}`:`${e.type}:${e.source}`;return!a.has(t)}),...i];return{...t,plugins:{...t.plugins,enabled:e,disabled:n,commands:l,errors:o}}}),T(`Loaded plugins - Enabled: ${e.length}, Disabled: ${n.length}, Commands: ${l.length}, Agents: ${u.length}, Errors: ${i.length}`);let p=e.reduce((e,t)=>t.hooksConfig?e+Object.values(t.hooksConfig).reduce((e,t)=>e+(t?.reduce((e,t)=>e+t.hooks.length,0)??0),0):e,0);return{enabled_count:e.length,disabled_count:n.length,inline_count:r(e,e=>e.source.endsWith(`@inline`)),marketplace_count:r(e,e=>!e.source.endsWith(`@inline`)),error_count:i.length,skill_count:l.length,agent_count:u.length,hook_count:p,mcp_count:d,lsp_count:f}}catch(e){let n=w(e);return O(n),T(`Error loading plugins: ${e}`),t(e=>{let t=e.plugins.errors.filter(e=>e.source===`lsp-manager`||e.source.startsWith(`plugin:`)),r={type:`generic-error`,source:`plugin-system`,error:n.message};return{...e,plugins:{...e.plugins,enabled:[],disabled:[],commands:[],errors:[...t,r]}}}),{enabled_count:0,disabled_count:0,inline_count:0,marketplace_count:0,error_count:1,skill_count:0,agent_count:0,hook_count:0,mcp_count:0,lsp_count:0,load_failed:!0,ant_enabled_names:void 0}}},[t,a]);(0,F.useEffect)(()=>{e&&u().then(e=>{let{ant_enabled_names:t,...n}=e,r={...n,has_custom_plugin_cache_dir:!!process.env.WORKMATE_PLUGIN_CACHE_DIR};({...r,...t!==void 0&&{enabled_names:t}}),i(`info`,`tengu_plugins_loaded`,r)})},[u,e]),(0,F.useEffect)(()=>{!e||!n||a({key:`plugin-reload-pending`,text:`Plugins changed. Run /reload-plugins to activate.`,color:`suggestion`,priority:`low`})},[e,n,a])}export{I as t};
@@ -0,0 +1 @@
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as n}from"./src-BX54x08P.js";import{Cc as r,Dc as i}from"./loadAgentsDir-uuZYOgKn.js";import{n as a,t as o}from"./toolPool-DSTbgGmX.js";function s(e,t,n){return(0,c.useMemo)(()=>a(e,r(n,t),n.mode),[e,t,n,!1,!1])}var c,l=e((()=>{c=t(n(),1),i(),o()}));export{s as n,l as t};
@@ -1 +1 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Vn as n,ai as r,hn as i,ot as a,t as o}from"./src-WZ94ZKI3.js";import{sb as s}from"./loadAgentsDir-DR5PVAc3.js";import{_ as c,b as l,d as u,g as d,h as f,l as p,u as m,v as h,y as g}from"./TextInput-BboKIug2.js";function _(e){return!!(e.ctrl&&(e.key===`k`||e.key===`u`||e.key===`w`)||e.meta&&e.key===`backspace`)}function v(e){return(e.ctrl||e.meta)&&e.key===`y`}function y({isActive:e,onExit:t,onCancel:r,onExitUp:o,columns:s,passthroughCtrlKeys:u=[],initialQuery:y=``,backspaceExitsOnEmpty:S=!0}){let{columns:C}=a(),w=s??C,[T,E]=(0,b.useState)(y),[D,O]=(0,b.useState)(y.length),k=(0,b.useCallback)(e=>{E(e),O(e.length)},[]),A=n=>{if(!e)return;let i=p.fromText(T,w,D);if(!(n.ctrl&&u.includes(n.key.toLowerCase()))){if(_(n)||c(),v(n)||h(),n.key===`return`||n.key===`down`){n.preventDefault(),t();return}if(n.key===`up`){n.preventDefault(),o&&o();return}if(n.key===`escape`){n.preventDefault(),r?r():T.length>0?(E(``),O(0)):t();return}if(n.key===`backspace`){if(n.preventDefault(),n.meta){let{cursor:e,killed:t}=i.deleteWordBefore();f(t,`prepend`),E(e.text),O(e.offset);return}if(T.length===0){S&&(r??t)();return}let e=i.backspace();E(e.text),O(e.offset);return}if(n.key===`delete`){n.preventDefault();let e=i.del();E(e.text),O(e.offset);return}if(n.key===`left`&&(n.ctrl||n.meta||n.fn)){n.preventDefault();let e=i.prevWord();O(e.offset);return}if(n.key===`right`&&(n.ctrl||n.meta||n.fn)){n.preventDefault();let e=i.nextWord();O(e.offset);return}if(n.key===`left`){n.preventDefault();let e=i.left();O(e.offset);return}if(n.key===`right`){n.preventDefault();let e=i.right();O(e.offset);return}if(n.key===`home`){n.preventDefault(),O(0);return}if(n.key===`end`){n.preventDefault(),O(T.length);return}if(n.ctrl){switch(n.preventDefault(),n.key.toLowerCase()){case`a`:O(0);return;case`e`:O(T.length);return;case`b`:O(i.left().offset);return;case`f`:O(i.right().offset);return;case`d`:{if(T.length===0){(r??t)();return}let e=i.del();E(e.text),O(e.offset);return}case`h`:{if(T.length===0){S&&(r??t)();return}let e=i.backspace();E(e.text),O(e.offset);return}case`k`:{let{cursor:e,killed:t}=i.deleteToLineEnd();f(t,`append`),E(e.text),O(e.offset);return}case`u`:{let{cursor:e,killed:t}=i.deleteToLineStart();f(t,`prepend`),E(e.text),O(e.offset);return}case`w`:{let{cursor:e,killed:t}=i.deleteWordBefore();f(t,`prepend`),E(e.text),O(e.offset);return}case`y`:{let e=m();if(e.length>0){let t=i.offset,n=i.insert(e);d(t,e.length),E(n.text),O(n.offset)}return}case`g`:case`c`:if(r){r();return}}return}if(n.meta){switch(n.preventDefault(),n.key.toLowerCase()){case`b`:O(i.prevWord().offset);return;case`f`:O(i.nextWord().offset);return;case`d`:{let e=i.deleteWordAfter();E(e.text),O(e.offset);return}case`y`:{let e=l();if(e){let{text:t,start:n,length:r}=e,i=T.slice(0,n),a=T.slice(n+r),o=i+t+a,s=n+t.length;g(t.length),E(o),O(s)}return}}return}if(n.key!==`tab`&&n.key.length>=1&&!x.has(n.key)){n.preventDefault();let e=i.insert(n.key);E(e.text),O(e.offset)}}};return i((e,t,r)=>{A(new n(r.keypress))},{isActive:e}),{query:T,setQuery:k,cursorOffset:D,handleKeyDown:A}}var b,x,S=e((()=>{b=t(r(),1),o(),u(),s(),x=new Set([`pageup`,`pagedown`,`insert`,`wheelup`,`wheeldown`,`mouse`,`f1`,`f2`,`f3`,`f4`,`f5`,`f6`,`f7`,`f8`,`f9`,`f10`,`f11`,`f12`])}));export{y as n,S as t};
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Vn as n,ai as r,hn as i,ot as a,t as o}from"./src-BX54x08P.js";import{sb as s}from"./loadAgentsDir-uuZYOgKn.js";import{_ as c,b as l,d as u,g as d,h as f,l as p,u as m,v as h,y as g}from"./TextInput-ZKU-x_FD.js";function _(e){return!!(e.ctrl&&(e.key===`k`||e.key===`u`||e.key===`w`)||e.meta&&e.key===`backspace`)}function v(e){return(e.ctrl||e.meta)&&e.key===`y`}function y({isActive:e,onExit:t,onCancel:r,onExitUp:o,columns:s,passthroughCtrlKeys:u=[],initialQuery:y=``,backspaceExitsOnEmpty:S=!0}){let{columns:C}=a(),w=s??C,[T,E]=(0,b.useState)(y),[D,O]=(0,b.useState)(y.length),k=(0,b.useCallback)(e=>{E(e),O(e.length)},[]),A=n=>{if(!e)return;let i=p.fromText(T,w,D);if(!(n.ctrl&&u.includes(n.key.toLowerCase()))){if(_(n)||c(),v(n)||h(),n.key===`return`||n.key===`down`){n.preventDefault(),t();return}if(n.key===`up`){n.preventDefault(),o&&o();return}if(n.key===`escape`){n.preventDefault(),r?r():T.length>0?(E(``),O(0)):t();return}if(n.key===`backspace`){if(n.preventDefault(),n.meta){let{cursor:e,killed:t}=i.deleteWordBefore();f(t,`prepend`),E(e.text),O(e.offset);return}if(T.length===0){S&&(r??t)();return}let e=i.backspace();E(e.text),O(e.offset);return}if(n.key===`delete`){n.preventDefault();let e=i.del();E(e.text),O(e.offset);return}if(n.key===`left`&&(n.ctrl||n.meta||n.fn)){n.preventDefault();let e=i.prevWord();O(e.offset);return}if(n.key===`right`&&(n.ctrl||n.meta||n.fn)){n.preventDefault();let e=i.nextWord();O(e.offset);return}if(n.key===`left`){n.preventDefault();let e=i.left();O(e.offset);return}if(n.key===`right`){n.preventDefault();let e=i.right();O(e.offset);return}if(n.key===`home`){n.preventDefault(),O(0);return}if(n.key===`end`){n.preventDefault(),O(T.length);return}if(n.ctrl){switch(n.preventDefault(),n.key.toLowerCase()){case`a`:O(0);return;case`e`:O(T.length);return;case`b`:O(i.left().offset);return;case`f`:O(i.right().offset);return;case`d`:{if(T.length===0){(r??t)();return}let e=i.del();E(e.text),O(e.offset);return}case`h`:{if(T.length===0){S&&(r??t)();return}let e=i.backspace();E(e.text),O(e.offset);return}case`k`:{let{cursor:e,killed:t}=i.deleteToLineEnd();f(t,`append`),E(e.text),O(e.offset);return}case`u`:{let{cursor:e,killed:t}=i.deleteToLineStart();f(t,`prepend`),E(e.text),O(e.offset);return}case`w`:{let{cursor:e,killed:t}=i.deleteWordBefore();f(t,`prepend`),E(e.text),O(e.offset);return}case`y`:{let e=m();if(e.length>0){let t=i.offset,n=i.insert(e);d(t,e.length),E(n.text),O(n.offset)}return}case`g`:case`c`:if(r){r();return}}return}if(n.meta){switch(n.preventDefault(),n.key.toLowerCase()){case`b`:O(i.prevWord().offset);return;case`f`:O(i.nextWord().offset);return;case`d`:{let e=i.deleteWordAfter();E(e.text),O(e.offset);return}case`y`:{let e=l();if(e){let{text:t,start:n,length:r}=e,i=T.slice(0,n),a=T.slice(n+r),o=i+t+a,s=n+t.length;g(t.length),E(o),O(s)}return}}return}if(n.key!==`tab`&&n.key.length>=1&&!x.has(n.key)){n.preventDefault();let e=i.insert(n.key);E(e.text),O(e.offset)}}};return i((e,t,r)=>{A(new n(r.keypress))},{isActive:e}),{query:T,setQuery:k,cursorOffset:D,handleKeyDown:A}}var b,x,S=e((()=>{b=t(r(),1),o(),u(),s(),x=new Set([`pageup`,`pagedown`,`insert`,`wheelup`,`wheeldown`,`mouse`,`f1`,`f2`,`f3`,`f4`,`f5`,`f6`,`f7`,`f8`,`f9`,`f10`,`f11`,`f12`])}));export{y as n,S as t};
@@ -1 +1 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as n}from"./src-WZ94ZKI3.js";import{Gh as r,Kh as i}from"./loadAgentsDir-DR5PVAc3.js";import{n as a,t as o}from"./notifications-dGBuNvFj.js";import{n as s,t as c}from"./allErrors-CxPNR2WN.js";function l(){let{addNotification:e,removeNotification:t}=a(),[n,r]=(0,u.useState)(()=>{let{errors:e}=c();return e});return i((0,u.useCallback)(()=>{let{errors:e}=c();r(e)},[])),(0,u.useEffect)(()=>{if(n.length>0){let t=`Found ${n.length} settings ${n.length===1?`issue`:`issues`} · /doctor for details`;e({key:d,text:t,color:`warning`,priority:`high`,timeoutMs:6e4})}else t(d)},[n,e,t]),n}var u,d,f=e((()=>{u=t(n(),1),o(),s(),r(),d=`settings-errors`}));export{l as n,f as t};
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as n}from"./src-BX54x08P.js";import{Gh as r,Kh as i}from"./loadAgentsDir-uuZYOgKn.js";import{n as a,t as o}from"./notifications-GLnjirCl.js";import{n as s,t as c}from"./allErrors-DvcU0w0F.js";function l(){let{addNotification:e,removeNotification:t}=a(),[n,r]=(0,u.useState)(()=>{let{errors:e}=c();return e});return i((0,u.useCallback)(()=>{let{errors:e}=c();r(e)},[])),(0,u.useEffect)(()=>{if(n.length>0){let t=`Found ${n.length} settings ${n.length===1?`issue`:`issues`} · /doctor for details`;e({key:d,text:t,color:`warning`,priority:`high`,timeoutMs:6e4})}else t(d)},[n,e,t]),n}var u,d,f=e((()=>{u=t(n(),1),o(),s(),r(),d=`settings-errors`}));export{l as n,f as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as t}from"./src-BX54x08P.js";import{t as n}from"./jsx-runtime-Bb4Xn-E0.js";import{Lh as r,zh as i}from"./loadAgentsDir-uuZYOgKn.js";import{n as a}from"./analytics-COpjZpvd.js";import{t as o}from"./useManagePlugins-CxHz-gUP.js";import{t as s}from"./KeybindingProviderSetup-Dzg77_Xn.js";import{n as c,t as l}from"./MCPConnectionManager-CBY8nqdU.js";import{cwd as u}from"process";var d=e(t(),1);a(),c(),i();var f=n(),p=d.lazy(()=>import(`./Doctor-CiZNe_qx.js`).then(e=>({default:e.Doctor})));function m({onDone:e}){return o(),(0,f.jsx)(d.Suspense,{fallback:null,children:(0,f.jsx)(p,{onDone:e})})}async function h(e){await new Promise(t=>{e.render((0,f.jsx)(r,{children:(0,f.jsx)(s,{children:(0,f.jsx)(l,{dynamicMcpConfig:void 0,isStrictMcpConfig:!1,children:(0,f.jsx)(m,{onDone:()=>{t()}})})})}))}),e.unmount(),process.exit(0)}async function g(e,t){let{setup:n}=await import(`./setup-DR-KEmxL.js`);await n(u(),`default`,!1,!1,void 0,!1);let{install:r}=await import(`./install-BbmCNCuM.js`);await new Promise(n=>{let i=[];e&&i.push(e),t.force&&i.push(`--force`),r.call(e=>{n(),process.exit(+!!e.includes(`failed`))},{},i)})}export{h as doctorHandler,g as installHandler};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./axios-DaWTGg7G.js";import{Ni as r,Wi as i,dt as a,gt as o,ht as s,mt as c,pt as l}from"./settings-D4M13toi.js";import{_w as u,bw as d,cx as f,gx as p,hx as m,lx as ee,mx as te,vw as h,xw as g}from"./loadAgentsDir-uuZYOgKn.js";import{C as _,I as v,M as y,N as b,R as x,S,c as C,f as w,i as T,u as E,x as D}from"./debug-2pVES-2G.js";import{o as ne,s as O}from"./log-L1kqxa_P.js";import{homedir as re}from"os";import*as k from"path";import{join as ie,resolve as ae}from"path";import{randomBytes as oe}from"crypto";import{readFile as A,readdir as j,rename as M,stat as N,unlink as P,writeFile as F}from"fs/promises";function I(){return ie(f(),U)}async function L(){let e=I();try{let t=S(await A(e,{encoding:`utf-8`}));if(typeof t!=`object`||!t||!(`version`in t)||!(`fetchedAt`in t)||!(`counts`in t))return C(`Install counts cache has invalid structure`),null;let n=t;if(n.version!==H)return C(`Install counts cache version mismatch (got ${n.version}, expected ${H})`),null;if(typeof n.fetchedAt!=`string`||!Array.isArray(n.counts))return C(`Install counts cache has invalid structure`),null;let r=new Date(n.fetchedAt).getTime();return Number.isNaN(r)?(C(`Install counts cache has invalid fetchedAt timestamp`),null):n.counts.every(e=>typeof e==`object`&&!!e&&typeof e.plugin==`string`&&typeof e.unique_installs==`number`)?Date.now()-r>G?(C(`Install counts cache is stale (>24h old)`),null):{version:n.version,fetchedAt:n.fetchedAt,counts:n.counts}:(C(`Install counts cache has malformed entries`),null)}catch(e){return b(e)!==`ENOENT`&&C(`Failed to load install counts cache: ${y(e)}`),null}}async function R(e){let t=I(),n=`${t}.${oe(8).toString(`hex`)}.tmp`;try{let r=f();await E().mkdir(r),await F(n,_(e,null,2),{encoding:`utf-8`,mode:384}),await M(n,t),C(`Install counts cache saved successfully`)}catch(e){O(e);try{await P(n)}catch{}}}async function z(){C(`Fetching install counts from ${W}`);let e=performance.now();try{let n=await t.get(W,{timeout:1e4});if(!n.data?.plugins||!Array.isArray(n.data.plugins))throw Error(`Invalid response format from install counts API`);return p(`install_counts`,W,`success`,performance.now()-e),n.data.plugins}catch(t){throw p(`install_counts`,W,`failure`,performance.now()-e,te(t)),t}}async function B(){let e=await L();if(e){C(`Using cached install counts`),p(`install_counts`,W,`cache_hit`,0);let t=new Map;for(let n of e.counts)t.set(n.plugin,n.unique_installs);return t}try{let e=await z();await R({version:H,fetchedAt:new Date().toISOString(),counts:e});let t=new Map;for(let n of e)t.set(n.plugin,n.unique_installs);return t}catch(e){return O(e),C(`Failed to fetch install counts: ${y(e)}`),null}}function V(e){if(e<1e3)return String(e);if(e<1e6){let t=(e/1e3).toFixed(1);return t.endsWith(`.0`)?`${t.slice(0,-2)}K`:`${t}K`}let t=(e/1e6).toFixed(1);return t.endsWith(`.0`)?`${t.slice(0,-2)}M`:`${t}M`}var H,U,W,G,K=e((()=>{n(),T(),v(),w(),ne(),D(),m(),ee(),H=1,U=`install-counts-cache.json`,W=`https://raw.githubusercontent.com/anthropics/claude-plugins-official/refs/heads/stats/stats/plugin-installs.json`,G=1440*60*1e3}));async function se(e){let t=e.trim(),n=E(),r=t.match(/^([a-zA-Z0-9._-]+@[^:]+:.+?(?:\.git)?)(#(.+))?$/);if(r?.[1]){let e=r[1],t=r[3];return t?{source:`git`,url:e,ref:t}:{source:`git`,url:e}}if(t.startsWith(`http://`)||t.startsWith(`https://`)){let e=t.match(/^([^#]+)(#(.+))?$/),n=e?.[1]||t,r=e?.[3];if(n.endsWith(`.git`)||n.includes(`/_git/`))return r?{source:`git`,url:n,ref:r}:{source:`git`,url:n};let i;try{i=new URL(n)}catch{return{source:`url`,url:n}}if((i.hostname===`github.com`||i.hostname===`www.github.com`)&&i.pathname.match(/^\/([^/]+\/[^/]+?)(\/|\.git|$)/)?.[1]){let e=n.endsWith(`.git`)?n:`${n}.git`;return r?{source:`git`,url:e,ref:r}:{source:`git`,url:e}}return{source:`url`,url:n}}let i=process.platform===`win32`&&(t.startsWith(`.\\`)||t.startsWith(`..\\`)||/^[a-zA-Z]:[/\\]/.test(t));if(t.startsWith(`./`)||t.startsWith(`../`)||t.startsWith(`/`)||t.startsWith(`~`)||i){let e=ae(t.startsWith(`~`)?t.replace(/^~/,re()):t),r;try{r=await n.stat(e)}catch(t){let n=b(t);return{error:n===`ENOENT`?`Path does not exist: ${e}`:`Cannot access path: ${e} (${n??t})`}}return r.isFile()?e.endsWith(`.json`)?{source:`file`,path:e}:{error:`File path must point to a .json file (marketplace.json), but got: ${e}`}:r.isDirectory()?{source:`directory`,path:e}:{error:`Path is neither a file nor a directory: ${e}`}}if(t.includes(`/`)&&!t.startsWith(`@`)){if(t.includes(`:`))return null;let e=t.match(/^([^#@]+)(?:[#@](.+))?$/),n=e?.[1]||t,r=e?.[2];return r?{source:`github`,repo:n,ref:r}:{source:`github`,repo:n}}return null}var ce=e((()=>{v(),w()}));function le(e){let t=k.basename(e),n=k.basename(k.dirname(e));return t===`plugin.json`?`plugin`:t===`marketplace.json`?`marketplace`:n===`.claude-plugin`?`plugin`:`unknown`}function q(e){return e.issues.map(e=>({path:e.path.join(`.`)||`root`,message:e.message,code:e.code}))}function J(e,t,n,r){e.includes(`..`)&&n.push({path:t,message:r?`Path contains "..": ${e}. ${r}`:`Path contains ".." which could be a path traversal attempt: ${e}`})}function ue(e){let t=e.replace(/^(\.\.\/)+/,``);return`Plugin source paths are resolved relative to the marketplace root (the directory containing .claude-plugin/), not relative to marketplace.json. Use "${t===e?`./plugins/my-plugin`:`./${t}`}" instead of "${e}".`}async function Y(e){let t=[],n=[],r=k.resolve(e),i;try{i=await A(r,{encoding:`utf-8`})}catch(e){let t=b(e),n;return n=t===`ENOENT`?`File not found: ${r}`:t===`EISDIR`?`Path is not a file: ${r}`:`Failed to read file: ${y(e)}`,{success:!1,errors:[{path:`file`,message:n,code:t}],warnings:[],filePath:r,fileType:`plugin`}}let a;try{a=S(i)}catch(e){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${y(e)}`}],warnings:[],filePath:r,fileType:`plugin`}}if(a&&typeof a==`object`){let e=a;e.commands&&(Array.isArray(e.commands)?e.commands:[e.commands]).forEach((e,n)=>{typeof e==`string`&&J(e,`commands[${n}]`,t)}),e.agents&&(Array.isArray(e.agents)?e.agents:[e.agents]).forEach((e,n)=>{typeof e==`string`&&J(e,`agents[${n}]`,t)}),e.skills&&(Array.isArray(e.skills)?e.skills:[e.skills]).forEach((e,n)=>{typeof e==`string`&&J(e,`skills[${n}]`,t)})}let o=a;if(typeof a==`object`&&a){let e=a,t=Object.keys(e).filter(e=>$.has(e));if(t.length>0){let r={...e};for(let e of t)delete r[e],n.push({path:e,message:`Field '${e}' belongs in the marketplace entry (marketplace.json), not plugin.json. It's harmless here but unused — Work Mate ignores it at load time.`});o=r}}let s=l().strict().safeParse(o);if(s.success||t.push(...q(s.error)),s.success){let e=s.data;/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e.name)||n.push({path:`name`,message:`Plugin name "${e.name}" is not kebab-case. Work Mate accepts it, but the Claude.ai marketplace sync requires kebab-case (lowercase letters, digits, and hyphens only, e.g., "my-plugin").`}),e.version||n.push({path:`version`,message:`No version specified. Consider adding a version following semver (e.g., "1.0.0")`}),e.description||n.push({path:`description`,message:`No description provided. Adding a description helps users understand what your plugin does`}),e.author||n.push({path:`author`,message:`No author information provided. Consider adding author details for plugin attribution`})}return{success:t.length===0,errors:t,warnings:n,filePath:r,fileType:`plugin`}}async function X(e){let t=[],n=[],r=k.resolve(e),a;try{a=await A(r,{encoding:`utf-8`})}catch(e){let t=b(e),n;return n=t===`ENOENT`?`File not found: ${r}`:t===`EISDIR`?`Path is not a file: ${r}`:`Failed to read file: ${y(e)}`,{success:!1,errors:[{path:`file`,message:n,code:t}],warnings:[],filePath:r,fileType:`marketplace`}}let o;try{o=S(a)}catch(e){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${y(e)}`}],warnings:[],filePath:r,fileType:`marketplace`}}if(o&&typeof o==`object`){let e=o;Array.isArray(e.plugins)&&e.plugins.forEach((e,n)=>{if(e&&typeof e==`object`&&`source`in e){let r=e.source;typeof r==`string`&&J(r,`plugins[${n}].source`,t,ue(r)),r&&typeof r==`object`&&`path`in r&&typeof r.path==`string`&&J(r.path,`plugins[${n}].source.path`,t)}})}let l=s().extend({plugins:i(c().strict())}).strict().safeParse(o);if(l.success||t.push(...q(l.error)),l.success){let e=l.data;if((!e.plugins||e.plugins.length===0)&&n.push({path:`plugins`,message:`Marketplace has no plugins defined`}),e.plugins){e.plugins.forEach((n,r)=>{e.plugins.filter(e=>e.name===n.name).length>1&&t.push({path:`plugins[${r}].name`,message:`Duplicate plugin name "${n.name}" found in marketplace`})});let i=k.dirname(r),a=k.basename(i)===`.claude-plugin`?k.dirname(i):i;for(let[t,r]of e.plugins.entries()){if(!r.version||typeof r.source!=`string`||!r.source.startsWith(`./`))continue;let e=k.join(a,r.source,`.claude-plugin`,`plugin.json`),i;try{let t=S(await A(e,{encoding:`utf-8`}));typeof t.version==`string`&&(i=t.version)}catch{continue}i&&i!==r.version&&n.push({path:`plugins[${t}].version`,message:`Entry declares version "${r.version}" but ${r.source}/.claude-plugin/plugin.json says "${i}". At install time, plugin.json wins (calculatePluginVersion precedence) — the entry version is silently ignored. Update this entry to "${i}" to match.`})}}e.metadata?.description||n.push({path:`metadata.description`,message:`No marketplace description provided. Adding a description helps users understand what this marketplace offers`})}return{success:t.length===0,errors:t,warnings:n,filePath:r,fileType:`marketplace`}}function de(e,t,n){let r=[],i=[],a=t.match(u);if(!a)return i.push({path:`frontmatter`,message:`No frontmatter block found. Add YAML frontmatter between --- delimiters at the top of the file to set description and other metadata.`}),{success:!0,errors:r,warnings:i,filePath:e,fileType:n};let o=a[1]||``,s;try{s=g(o)}catch(t){return r.push({path:`frontmatter`,message:`YAML frontmatter failed to parse: ${y(t)}. At runtime this ${n} loads with empty metadata (all frontmatter fields silently dropped).`}),{success:!1,errors:r,warnings:i,filePath:e,fileType:n}}if(typeof s!=`object`||!s||Array.isArray(s))return r.push({path:`frontmatter`,message:`Frontmatter must be a YAML mapping (key: value pairs), got ${Array.isArray(s)?`an array`:s===null?`null`:typeof s}.`}),{success:!1,errors:r,warnings:i,filePath:e,fileType:n};let c=s;if(c.description!==void 0){let e=c.description;typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`&&e!==null&&r.push({path:`description`,message:`description must be a string, got ${Array.isArray(e)?`array`:typeof e}. At runtime this value is dropped.`})}else i.push({path:`description`,message:`No description in frontmatter. A description helps users and Work Mate understand when to use this ${n}.`});c.name!==void 0&&c.name!==null&&typeof c.name!=`string`&&r.push({path:`name`,message:`name must be a string, got ${typeof c.name}.`});let l=c[`allowed-tools`];l!=null&&(typeof l!=`string`&&!Array.isArray(l)?r.push({path:`allowed-tools`,message:`allowed-tools must be a string or array of strings, got ${typeof l}.`}):Array.isArray(l)&&l.some(e=>typeof e!=`string`)&&r.push({path:`allowed-tools`,message:`allowed-tools array must contain only strings.`}));let d=c.shell;if(d!=null)if(typeof d!=`string`)r.push({path:`shell`,message:`shell must be a string, got ${typeof d}.`});else{let e=d.trim().toLowerCase();e!==`bash`&&e!==`powershell`&&r.push({path:`shell`,message:`shell must be 'bash' or 'powershell', got '${d}'.`})}return{success:r.length===0,errors:r,warnings:i,filePath:e,fileType:n}}async function Z(e){let t;try{t=await A(e,{encoding:`utf-8`})}catch(t){return b(t)===`ENOENT`?{success:!0,errors:[],warnings:[],filePath:e,fileType:`hooks`}:{success:!1,errors:[{path:`file`,message:`Failed to read file: ${y(t)}`}],warnings:[],filePath:e,fileType:`hooks`}}let n;try{n=S(t)}catch(t){return{success:!1,errors:[{path:`json`,message:`Invalid JSON syntax: ${y(t)}. At runtime this breaks the entire plugin load.`}],warnings:[],filePath:e,fileType:`hooks`}}let r=a().safeParse(n);return r.success?{success:!0,errors:[],warnings:[],filePath:e,fileType:`hooks`}:{success:!1,errors:q(r.error),warnings:[],filePath:e,fileType:`hooks`}}async function Q(e,t){let n;try{n=await j(e,{withFileTypes:!0})}catch(e){let t=b(e);if(t===`ENOENT`||t===`ENOTDIR`)return[];throw e}if(t)return n.filter(e=>e.isDirectory()).map(t=>k.join(e,t.name,`SKILL.md`));let r=[];for(let t of n){let n=k.join(e,t.name);t.isDirectory()?r.push(...await Q(n,!1)):t.isFile()&&t.name.toLowerCase().endsWith(`.md`)&&r.push(n)}return r}async function fe(e){let t=[],n=[[`skill`,k.join(e,`skills`)],[`agent`,k.join(e,`agents`)],[`command`,k.join(e,`commands`)]];for(let[e,r]of n){let n=await Q(r,e===`skill`);for(let r of n){let n;try{n=await A(r,{encoding:`utf-8`})}catch(n){if(x(n))continue;t.push({success:!1,errors:[{path:`file`,message:`Failed to read: ${y(n)}`}],warnings:[],filePath:r,fileType:e});continue}let i=de(r,n,e);(i.errors.length>0||i.warnings.length>0)&&t.push(i)}}let r=await Z(k.join(e,`hooks`,`hooks.json`));return(r.errors.length>0||r.warnings.length>0)&&t.push(r),t}async function pe(e){let t=k.resolve(e),n=null;try{n=await N(t)}catch(e){if(!x(e))throw e}if(n?.isDirectory()){let e=await X(k.join(t,`.claude-plugin`,`marketplace.json`));if(e.errors[0]?.code!==`ENOENT`)return e;let n=await Y(k.join(t,`.claude-plugin`,`plugin.json`));return n.errors[0]?.code===`ENOENT`?{success:!1,errors:[{path:`directory`,message:`No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json`}],warnings:[],filePath:t,fileType:`plugin`}:n}switch(le(e)){case`plugin`:return Y(e);case`marketplace`:return X(e);case`unknown`:try{let n=S(await A(t,{encoding:`utf-8`}));if(Array.isArray(n.plugins))return X(e)}catch(e){if(b(e)===`ENOENT`)return{success:!1,errors:[{path:`file`,message:`File not found: ${t}`}],warnings:[],filePath:t,fileType:`plugin`}}return Y(e)}}var $,me=e((()=>{r(),v(),h(),D(),d(),o(),$=new Set([`category`,`source`,`tags`,`strict`,`id`])}));export{se as a,K as c,ce as i,pe as n,V as o,fe as r,B as s,me as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{d as t,h as n,o as r}from"./config-D3K87Mm1.js";import{n as i}from"./analytics-COpjZpvd.js";var a;e((()=>{i(),t(),a=async()=>{let e=r().editorMode||`normal`;e===`emacs`&&(e=`normal`);let t=e===`normal`?`vim`:`normal`;return n(e=>({...e,editorMode:t})),{type:`text`,value:`Editor mode set to ${t}. ${t===`vim`?`Use Escape key to toggle between INSERT and NORMAL modes.`:`Using standard (readline) keyboard bindings.`}`}}}))();export{a as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{d as t,h as n,o as r}from"./config-BDn2YIjC.js";import{n as i}from"./analytics-COpjZpvd.js";var a;e((()=>{i(),t(),a=async()=>{let e=r().editorMode||`normal`;e===`emacs`&&(e=`normal`);let t=e===`normal`?`vim`:`normal`;return n(e=>({...e,editorMode:t})),{type:`text`,value:`Editor mode set to ${t}. ${t===`vim`?`Use Escape key to toggle between INSERT and NORMAL modes.`:`Using standard (readline) keyboard bindings.`}`}}}))();export{a as call};
@@ -0,0 +1 @@
1
+ import{St as e,_t as t}from"./loadAgentsDir-uuZYOgKn.js";e();export{t as execIntoTmuxWorktree};
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env bun
2
- import{l as e,o as t}from"./chunks/envUtils-DZ_SvEVz.js";var n=globalThis.performance,r=new Map,i=new Map;function a(){return n.now()}function o(e){return r.set(e,a()),{name:e,entryType:`mark`,startTime:r.get(e),duration:0}}function s(e,t,n){let o,s;if(typeof t==`string`){let e=r.get(t),i=n?r.get(n):a();o=e??a(),s=(i??a())-o}else t&&typeof t==`object`?(o=t.start??0,s=(t.end??a())-o):(o=0,s=a());i.set(e,{name:e,startTime:o,duration:s})}function c(e){return e===`mark`?[...r.entries()].map(([e,t])=>({name:e,entryType:`mark`,startTime:t,duration:0})):e===`measure`?[...i.values()].map(e=>({name:e.name,entryType:`measure`,startTime:e.startTime,duration:e.duration})):[]}function l(e,t){return c(t??`mark`).concat(t===void 0?c(`measure`):[]).filter(t=>t.name===e)}function u(e){e===void 0?r.clear():r.delete(e)}function d(e){e===void 0?i.clear():i.delete(e)}var f={now:a,mark:o,measure:s,getEntriesByType:c,getEntriesByName:l,clearMarks:u,clearMeasures:d,clearResourceTimings:(()=>{}),setResourceTimingBufferSize:(()=>{}),markResourceTiming:(()=>{}),get timeOrigin(){return n.timeOrigin},get onresourcetimingbufferfull(){return n.onresourcetimingbufferfull},set onresourcetimingbufferfull(e){},toJSON(){return n.toJSON()}};function p(){globalThis.__performanceShimInstalled||(globalThis.__performanceShimInstalled=!0,globalThis.performance=f)}if(p(),t(),globalThis.MACRO===void 0&&(globalThis.MACRO={VERSION:process.env.WORKMATE_VERSION||`2.1.888`,BUILD_TIME:new Date().toISOString(),FEEDBACK_CHANNEL:``,ISSUES_EXPLAINER:``,NATIVE_PACKAGE_URL:``,PACKAGE_URL:``,VERSION_CHANGELOG:``}),e(process.env.WORKMATE_FORCE_INTERACTIVE)){for(let e of[process.stdin,process.stdout,process.stderr])if(!e.isTTY)try{Object.defineProperty(e,"isTTY",{value:!0,configurable:!0})}catch{}}process.env.COREPACK_ENABLE_AUTO_PIN=`0`;async function m(){let e=process.argv.slice(2);if(e.length===1&&(e[0]===`--version`||e[0]===`-v`||e[0]===`-V`)){console.log(`0.0.26 (Work Mate)`);return}let{profileCheckpoint:t}=await import(`./chunks/startupProfiler-FpGsKWYk.js`);if(t(`cli_entry`),process.argv[2]===`--acp`){t(`cli_acp_path`);let{runAcpAgent:e}=await import(`./chunks/entry-CbhyIWgj.js`);await e();return}if(e[0]===`job`){t(`cli_templates_path`);let{templatesMain:n}=await import(`./chunks/templateJobs-BKVEWCsb.js`);await n(e.slice(1)),process.exit(0)}if(e[0]===`new`||e[0]===`list`||e[0]===`reply`){console.error(`[deprecated] Use: claude job ${e[0]} ${e.slice(1).join(` `)}`.trim()),t(`cli_templates_path`);let{templatesMain:n}=await import(`./chunks/templateJobs-BKVEWCsb.js`);await n(e),process.exit(0)}if((e.includes(`--tmux`)||e.includes(`--tmux=classic`))&&(e.includes(`-w`)||e.includes(`--worktree`)||e.some(e=>e.startsWith(`--worktree=`)))){t(`cli_tmux_worktree_fast_path`);let{enableConfigs:n}=await import(`./chunks/config-DtmqWusU.js`);n();let{isWorktreeModeEnabled:r}=await import(`./chunks/worktreeModeEnabled-D68iEHpC.js`);if(r()){let{execIntoTmuxWorktree:t}=await import(`./chunks/worktree-CR_M6Qfy.js`),n=await t(e);if(n.handled)return;if(n.error){let{exitWithError:e}=await import(`./chunks/process-CNfq37LF.js`);e(n.error)}}}e.includes(`--bare`)&&(process.env.WORKMATE_SIMPLE=`1`);let{startCapturingEarlyInput:n}=await import(`./chunks/earlyInput-BEjRkAtH.js`);n(),t(`cli_before_main_import`);let{main:r}=await import(`./chunks/main-Ryi27wYq.js`);t(`cli_after_main_import`),await r(),t(`cli_after_main_complete`)}await m();export{};
2
+ import{l as e,o as t}from"./chunks/envUtils-QyzA_cFM.js";var n=globalThis.performance,r=new Map,i=new Map;function a(){return n.now()}function o(e){return r.set(e,a()),{name:e,entryType:`mark`,startTime:r.get(e),duration:0}}function s(e,t,n){let o,s;if(typeof t==`string`){let e=r.get(t),i=n?r.get(n):a();o=e??a(),s=(i??a())-o}else t&&typeof t==`object`?(o=t.start??0,s=(t.end??a())-o):(o=0,s=a());i.set(e,{name:e,startTime:o,duration:s})}function c(e){return e===`mark`?[...r.entries()].map(([e,t])=>({name:e,entryType:`mark`,startTime:t,duration:0})):e===`measure`?[...i.values()].map(e=>({name:e.name,entryType:`measure`,startTime:e.startTime,duration:e.duration})):[]}function l(e,t){return c(t??`mark`).concat(t===void 0?c(`measure`):[]).filter(t=>t.name===e)}function u(e){e===void 0?r.clear():r.delete(e)}function d(e){e===void 0?i.clear():i.delete(e)}var f={now:a,mark:o,measure:s,getEntriesByType:c,getEntriesByName:l,clearMarks:u,clearMeasures:d,clearResourceTimings:(()=>{}),setResourceTimingBufferSize:(()=>{}),markResourceTiming:(()=>{}),get timeOrigin(){return n.timeOrigin},get onresourcetimingbufferfull(){return n.onresourcetimingbufferfull},set onresourcetimingbufferfull(e){},toJSON(){return n.toJSON()}};function p(){globalThis.__performanceShimInstalled||(globalThis.__performanceShimInstalled=!0,globalThis.performance=f)}if(p(),t(),globalThis.MACRO===void 0&&(globalThis.MACRO={VERSION:process.env.WORKMATE_VERSION||`2.1.888`,BUILD_TIME:new Date().toISOString(),FEEDBACK_CHANNEL:``,ISSUES_EXPLAINER:``,NATIVE_PACKAGE_URL:``,PACKAGE_URL:``,VERSION_CHANGELOG:``}),e(process.env.WORKMATE_FORCE_INTERACTIVE)){for(let e of[process.stdin,process.stdout,process.stderr])if(!e.isTTY)try{Object.defineProperty(e,"isTTY",{value:!0,configurable:!0})}catch{}}process.env.COREPACK_ENABLE_AUTO_PIN=`0`;async function m(){let e=process.argv.slice(2);if(e.length===1&&(e[0]===`--version`||e[0]===`-v`||e[0]===`-V`)){console.log(`0.0.27 (Work Mate)`);return}let{profileCheckpoint:t}=await import(`./chunks/startupProfiler-DWcM4QBl.js`);if(t(`cli_entry`),process.argv[2]===`--acp`){t(`cli_acp_path`);let{runAcpAgent:e}=await import(`./chunks/entry-DWYOrkFS.js`);await e();return}if(e[0]===`job`){t(`cli_templates_path`);let{templatesMain:n}=await import(`./chunks/templateJobs-BBnReWWj.js`);await n(e.slice(1)),process.exit(0)}if(e[0]===`new`||e[0]===`list`||e[0]===`reply`){console.error(`[deprecated] Use: wm job ${e[0]} ${e.slice(1).join(` `)}`.trim()),t(`cli_templates_path`);let{templatesMain:n}=await import(`./chunks/templateJobs-BBnReWWj.js`);await n(e),process.exit(0)}if((e.includes(`--tmux`)||e.includes(`--tmux=classic`))&&(e.includes(`-w`)||e.includes(`--worktree`)||e.some(e=>e.startsWith(`--worktree=`)))){t(`cli_tmux_worktree_fast_path`);let{enableConfigs:n}=await import(`./chunks/config-Bm5pVdCq.js`);n();let{isWorktreeModeEnabled:r}=await import(`./chunks/worktreeModeEnabled-D68iEHpC.js`);if(r()){let{execIntoTmuxWorktree:t}=await import(`./chunks/worktree-CGu_58ue.js`),n=await t(e);if(n.handled)return;if(n.error){let{exitWithError:e}=await import(`./chunks/process-CNfq37LF.js`);e(n.error)}}}e.includes(`--bare`)&&(process.env.WORKMATE_SIMPLE=`1`);let{startCapturingEarlyInput:n}=await import(`./chunks/earlyInput-BEjRkAtH.js`);n(),t(`cli_before_main_import`);let{main:r}=await import(`./chunks/main-fy_XSXGj.js`);t(`cli_after_main_import`),await r(),t(`cli_after_main_complete`)}await m();export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@readmagic/workmate",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "description": "workMate",
5
5
  "type": "module",
6
6
  "author": "Frandy",
@@ -80,7 +80,7 @@
80
80
  "@anthropic-ai/sandbox-runtime": "^0.0.44",
81
81
  "@anthropic-ai/sdk": "^0.81.0",
82
82
  "@anthropic-ai/vertex-sdk": "^0.16.0",
83
- "@anthropic/ink": "workspace:*",
83
+ "@readmagic/ink": "workspace:*",
84
84
  "@aws-sdk/client-bedrock": "^3.1037.0",
85
85
  "@aws-sdk/client-bedrock-runtime": "^3.1037.0",
86
86
  "@aws-sdk/credential-provider-node": "^3.972.36",
@@ -1 +0,0 @@
1
- import{n as e,t}from"./AgentsMdExternalIncludesDialog-BHBkysy0.js";e();export{t as AgentsMdExternalIncludesDialog};
@@ -1,2 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{D as i,Gt as a,H as o,I as s,P as c,T as l,ai as u,ot as d,t as f,y as p}from"./src-WZ94ZKI3.js";import{t as m}from"./jsx-runtime-Bb4Xn-E0.js";import{Bh as h,Dc as g,Ec as _,En as v,Gl as y,Hh as ee,Hl as b,Ji as x,Px as S,Ul as C,Wl as te,Xu as w,Yu as T,_u as E,fg as ne,fs as re,gu as D,hg as O,nb as k,ps as A,rb as ie,sb as j,tb as M,wn as N,zh as P}from"./loadAgentsDir-DR5PVAc3.js";import{_ as ae,f as oe}from"./debug-kBjDaVkQ.js";import{Bn as se,Vn as ce,zn as le}from"./settings-YIDksG5Z.js";import{S as ue,_ as F,f as de,l as fe,u as pe,y as I}from"./startupProfiler-DIM_Ihyp.js";import{l as L,o as R}from"./stringUtils-D_xPrwGQ.js";import{_n as me,gn as he,vn as ge}from"./prompt-CTByhpUI.js";import{i as _e,t as ve}from"./overlayContext-B6i_6y_0.js";function z(e,t,n=1e3,r=0,i){let a=()=>fe(Math.max(0,(i??Date.now())-e-r));return(0,B.useSyncExternalStore)((0,B.useCallback)(e=>{if(!t)return()=>{};let r=setInterval(e,n);return()=>clearInterval(r)},[t,n]),a,a)}var B,V=e((()=>{B=t(u(),1),F()}));function ye(e,t,n){let r=he(t,e.toolName);if(!r)return e.toolName;try{let t=r.inputSchema.safeParse(e.input),i=t.success?t.data:{},a=r.userFacingName(i);if(!a)return e.toolName;let o=r.renderToolUseMessage(i,{theme:n,verbose:!1});return o?(0,be.jsxs)(c,{children:[a,`(`,o,`)`]}):a}catch{return e.toolName}}var be,xe=e((()=>{f(),ge(),be=m()}));function Se(e,t){let{isIdle:n,awaitingApproval:i,hasError:a,shutdownRequested:o}=t??{};return a?r.cross:i?r.questionMarkPrefix:o?r.warning:e===`running`?n?r.ellipsis:r.play:e===`completed`?r.tick:e===`failed`||e===`killed`?r.cross:r.bullet}function Ce(e,t){let{isIdle:n,awaitingApproval:r,hasError:i,shutdownRequested:a}=t??{};return i?`error`:r||a?`warning`:n?`background`:e===`completed`?`success`:e===`failed`?`error`:e===`killed`?`warning`:`background`}function we(e,t){if(!t)return!1;let n=!1;for(let t of Object.values(e))if(E(t))return n=!0,!1;return n}var Te=e((()=>{n(),D()}));function Ee({agent:e,onDone:t,onKillAgent:n,onBack:r}){let[u]=o(),d=(0,De.useMemo)(()=>_(me()),[]),f=z(e.startTime,e.status===`running`,1e3,e.totalPausedMs??0);a({"confirm:yes":t},{context:`Confirmation`});let m=i=>{i.key===` `?(i.preventDefault(),t()):i.key===`left`&&r?(i.preventDefault(),r()):i.key===`x`&&e.status===`running`&&n&&(i.preventDefault(),n())},h=S(e.prompt,`plan`),g=e.prompt.length>300?`${e.prompt.substring(0,297)}…`:e.prompt,v=e.result?.totalTokens??e.progress?.tokenCount,y=e.result?.totalToolUseCount??e.progress?.toolUseCount;return(0,H.jsx)(s,{flexDirection:`column`,tabIndex:0,autoFocus:!0,onKeyDown:m,children:(0,H.jsx)(p,{title:(0,H.jsxs)(c,{children:[e.selectedAgent?.agentType??`agent`,` › `,e.description||`Async agent`]}),subtitle:(0,H.jsxs)(c,{children:[e.status!==`running`&&(0,H.jsxs)(c,{color:Ce(e.status),children:[Se(e.status),` `,e.status===`completed`?`Completed`:e.status===`failed`?`Failed`:`Stopped`,` · `]}),(0,H.jsxs)(c,{dimColor:!0,children:[f,v!==void 0&&v>0&&(0,H.jsxs)(H.Fragment,{children:[` · `,de(v),` tokens`]}),y!==void 0&&y>0&&(0,H.jsxs)(H.Fragment,{children:[` `,`· `,y,` `,y===1?`tool`:`tools`]})]})]}),onCancel:t,color:`background`,inputGuide:t=>t.pending?(0,H.jsxs)(c,{children:[`Press `,t.keyName,` again to exit`]}):(0,H.jsxs)(l,{children:[r&&(0,H.jsx)(i,{shortcut:`←`,action:`go back`}),(0,H.jsx)(i,{shortcut:`Esc/Enter/Space`,action:`close`}),e.status===`running`&&n&&(0,H.jsx)(i,{shortcut:`x`,action:`stop`})]}),children:(0,H.jsxs)(s,{flexDirection:`column`,children:[e.status===`running`&&e.progress?.recentActivities&&e.progress.recentActivities.length>0&&(0,H.jsxs)(s,{flexDirection:`column`,children:[(0,H.jsx)(c,{bold:!0,dimColor:!0,children:`Progress`}),e.progress.recentActivities.map((t,n)=>(0,H.jsxs)(c,{dimColor:n<e.progress.recentActivities.length-1,wrap:`truncate-end`,children:[n===e.progress.recentActivities.length-1?`› `:` `,ye(t,d,u)]},n))]}),h?(0,H.jsx)(s,{marginTop:1,children:(0,H.jsx)(T,{addMargin:!1,planContent:h})}):(0,H.jsxs)(s,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(c,{bold:!0,dimColor:!0,children:`Prompt`}),(0,H.jsx)(c,{wrap:`wrap`,children:g})]}),e.status===`failed`&&e.error&&(0,H.jsxs)(s,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(c,{bold:!0,color:`error`,children:`Error`}),(0,H.jsx)(c,{color:`error`,wrap:`wrap`,children:e.error})]})]})})})}var De,H,Oe=e((()=>{De=t(u(),1),V(),f(),M(),ge(),g(),F(),x(),w(),xe(),Te(),H=m()}));function U({status:e,label:t,suffix:n}){return(0,W.jsxs)(c,{color:e===`completed`?`success`:e===`failed`?`error`:e===`killed`?`warning`:void 0,dimColor:!0,children:[`(`,t??e,n,`)`]})}function ke({shell:e}){switch(e.status){case`completed`:return(0,W.jsx)(U,{status:`completed`,label:`done`});case`failed`:return(0,W.jsx)(U,{status:`failed`,label:`error`});case`killed`:return(0,W.jsx)(U,{status:`killed`,label:`stopped`});case`running`:case`pending`:return(0,W.jsx)(U,{status:`running`})}}var W,Ae=e((()=>{f(),W=m()}));function je({task:e,maxActivityWidth:t}){let n=t??40;switch(e.type){case`local_bash`:return(0,G.jsxs)(c,{children:[I(e.command,n,!0),` `,(0,G.jsx)(ke,{shell:e})]});case`local_agent`:return(0,G.jsxs)(c,{children:[I(e.description,n,!0),` `,(0,G.jsx)(U,{status:e.status,label:e.status===`completed`?`done`:void 0,suffix:e.status===`completed`&&!e.notified?`, unread`:void 0})]});case`local_workflow`:{let t=e;return(0,G.jsxs)(c,{children:[I(t.workflowName??e.summary??e.description,n,!0),` `,(0,G.jsx)(U,{status:e.status,label:e.status===`running`?`${t.agentCount} ${L(t.agentCount,`agent`)}`:e.status===`completed`?`done`:void 0,suffix:e.status===`completed`&&!e.notified?`, unread`:void 0})]})}case`dream`:{let t=e.filesTouched.length,n=e.phase===`updating`&&t>0?`${t} ${L(t,`file`)}`:`${e.sessionsReviewing} ${L(e.sessionsReviewing,`session`)}`;return(0,G.jsxs)(c,{children:[e.description,` `,(0,G.jsxs)(c,{dimColor:!0,children:[`· `,e.phase,` · `,n]}),` `,(0,G.jsx)(U,{status:e.status,label:e.status===`completed`?`done`:void 0,suffix:e.status===`completed`&&!e.notified?`, unread`:void 0})]})}}}var G,Me=e((()=>{f(),F(),R(),Ae(),G=m()}));function Ne({task:e,onDone:t,onBack:n,onKill:r}){let o=z(e.startTime,e.status===`running`,1e3,0);a({"confirm:yes":t},{context:`Confirmation`});let u=i=>{i.key===` `?(i.preventDefault(),t()):i.key===`left`&&n?(i.preventDefault(),n()):i.key===`x`&&e.status===`running`&&r&&(i.preventDefault(),r())},d=e.turns.filter(e=>e.text!==``),f=d.slice(-6),m=d.length-f.length;return(0,K.jsx)(s,{flexDirection:`column`,tabIndex:0,autoFocus:!0,onKeyDown:u,children:(0,K.jsx)(p,{title:`Memory consolidation`,subtitle:(0,K.jsxs)(c,{dimColor:!0,children:[o,` · reviewing `,e.sessionsReviewing,` `,L(e.sessionsReviewing,`session`),e.filesTouched.length>0&&(0,K.jsxs)(K.Fragment,{children:[` `,`· `,e.filesTouched.length,` `,L(e.filesTouched.length,`file`),` touched`]})]}),onCancel:t,color:`background`,inputGuide:t=>t.pending?(0,K.jsxs)(c,{children:[`Press `,t.keyName,` again to exit`]}):(0,K.jsxs)(l,{children:[n&&(0,K.jsx)(i,{shortcut:`←`,action:`go back`}),(0,K.jsx)(i,{shortcut:`Esc/Enter/Space`,action:`close`}),e.status===`running`&&r&&(0,K.jsx)(i,{shortcut:`x`,action:`stop`})]}),children:(0,K.jsxs)(s,{flexDirection:`column`,gap:1,children:[(0,K.jsxs)(c,{children:[(0,K.jsx)(c,{bold:!0,children:`Status:`}),` `,e.status===`running`?(0,K.jsx)(c,{color:`background`,children:`running`}):e.status===`completed`?(0,K.jsx)(c,{color:`success`,children:e.status}):(0,K.jsx)(c,{color:`error`,children:e.status})]}),f.length===0?(0,K.jsx)(c,{dimColor:!0,children:e.status===`running`?`Starting…`:`(no text output)`}):(0,K.jsxs)(K.Fragment,{children:[m>0&&(0,K.jsxs)(c,{dimColor:!0,children:[`(`,m,` earlier `,L(m,`turn`),`)`]}),f.map((e,t)=>(0,K.jsxs)(s,{flexDirection:`column`,children:[(0,K.jsx)(c,{wrap:`wrap`,children:e.text}),e.toolUseCount>0&&(0,K.jsxs)(c,{dimColor:!0,children:[` `,`(`,e.toolUseCount,` `,L(e.toolUseCount,`tool`),`)`]})]},t))]})]})})})}var K,Pe=e((()=>{V(),f(),M(),R(),K=m()}));async function Fe(e){let t=N(e.id);try{let e=await ae(t,Y);return{content:e.content,bytesTotal:e.bytesTotal}}catch{return{content:``,bytesTotal:0}}}function Ie({shell:e,onDone:t,onKillShell:n,onBack:r}){let{columns:o}=d(),[u,f]=(0,q.useState)(()=>Fe(e)),m=(0,q.useDeferredValue)(u);(0,q.useEffect)(()=>{if(e.status!==`running`)return;let t=setInterval((e,t)=>e(Fe(t)),1e3,f,e);return()=>clearInterval(t)},[e.id,e.status]);let h=()=>t(`Shell details dismissed`,{display:`system`});a({"confirm:yes":h},{context:`Confirmation`});let g=i=>{i.key===` `?(i.preventDefault(),t(`Shell details dismissed`,{display:`system`})):i.key===`left`&&r?(i.preventDefault(),r()):i.key===`x`&&e.status===`running`&&n&&(i.preventDefault(),n())},_=ue(e.command,280);return(0,J.jsx)(s,{flexDirection:`column`,tabIndex:0,autoFocus:!0,onKeyDown:g,children:(0,J.jsxs)(p,{title:`Shell details`,onCancel:h,color:`background`,inputGuide:t=>t.pending?(0,J.jsxs)(c,{children:[`Press `,t.keyName,` again to exit`]}):(0,J.jsxs)(l,{children:[r&&(0,J.jsx)(i,{shortcut:`←`,action:`go back`}),(0,J.jsx)(i,{shortcut:`Esc/Enter/Space`,action:`close`}),e.status===`running`&&n&&(0,J.jsx)(i,{shortcut:`x`,action:`stop`})]}),children:[(0,J.jsxs)(s,{flexDirection:`column`,children:[(0,J.jsxs)(c,{children:[(0,J.jsx)(c,{bold:!0,children:`Status:`}),` `,e.status===`running`?(0,J.jsxs)(c,{color:`background`,children:[e.status,e.result?.code!==void 0&&` (exit code: ${e.result.code})`]}):e.status===`completed`?(0,J.jsxs)(c,{color:`success`,children:[e.status,e.result?.code!==void 0&&` (exit code: ${e.result.code})`]}):(0,J.jsxs)(c,{color:`error`,children:[e.status,e.result?.code!==void 0&&` (exit code: ${e.result.code})`]})]}),(0,J.jsxs)(c,{children:[(0,J.jsx)(c,{bold:!0,children:`Runtime:`}),` `,fe((e.endTime??Date.now())-e.startTime)]}),(0,J.jsxs)(c,{wrap:`wrap`,children:[(0,J.jsx)(c,{bold:!0,children:`Command:`}),` `,_]})]}),(0,J.jsxs)(s,{flexDirection:`column`,children:[(0,J.jsx)(c,{bold:!0,children:`Output:`}),(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(c,{dimColor:!0,children:`Loading output…`}),children:(0,J.jsx)(Le,{outputPromise:m,columns:o})})]})]})})}function Le({outputPromise:e,columns:t}){let{content:n,bytesTotal:r}=(0,q.use)(e);if(!n)return(0,J.jsx)(c,{dimColor:!0,children:`No output available`});let i=[],a=n.length;for(let e=0;e<10&&a>0;e++){let e=n.lastIndexOf(`
2
- `,a-1);i.push(e+1),a=e}i.reverse();let o=r>n.length,l=[];for(let e=0;e<i.length;e++){let t=i[e],r=e<i.length-1?i[e+1]-1:n.length,a=n.slice(t,r);a&&l.push(a)}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(s,{borderStyle:`round`,paddingX:1,flexDirection:`column`,height:12,maxWidth:t-6,children:l.map((e,t)=>(0,J.jsx)(c,{wrap:`truncate-end`,children:e},t))}),(0,J.jsxs)(c,{dimColor:!0,italic:!0,children:[`Showing ${l.length} lines`,o?` of ${pe(r)}`:``]})]})}var q,J,Y,Re=e((()=>{q=t(u(),1),j(),f(),M(),F(),oe(),v(),J=m(),Y=8192}));function ze(e,t){return Object.values(e??{}).filter(E).filter(e=>!(e.type===`local_agent`&&e.id===t))}function Be({onDone:e,toolUseContext:t,initialDetailTaskId:n}){let r=h(e=>e.tasks),o=h(e=>e.foregroundedTaskId),u=ee(),d=ie(`chat:killAgents`,`Chat`,`ctrl+x ctrl+k`),f=r,m=(0,Z.useRef)(!1),[g,_]=(0,Z.useState)(()=>{if(n)return m.current=!0,{mode:`detail`,itemId:n};let e=ze(f,o);return e.length===1?(m.current=!0,{mode:`detail`,itemId:e[0].id}):{mode:`list`}}),[v,y]=(0,Z.useState)(0);_e(`background-tasks-dialog`);let{bashTasks:b,agentTasks:x,workflowTasks:S,dreamTasks:C,allSelectableItems:w}=(0,Z.useMemo)(()=>{let e=Object.values(f??{}).filter(E).map(Ve).sort((e,t)=>{let n=e.status,r=t.status;if(n===`running`&&r!==`running`)return-1;if(n!==`running`&&r===`running`)return 1;let i=`task`in e?e.task.startTime:0;return(`task`in t?t.task.startTime:0)-i}),t=e.filter(e=>e.type===`local_bash`),n=e.filter(e=>e.type===`local_agent`&&e.id!==o),r=e.filter(e=>e.type===`local_workflow`),i=e.filter(e=>e.type===`dream`);return{bashTasks:t,agentTasks:n,workflowTasks:r,dreamTasks:i,allSelectableItems:[...t,...n,...r,...i]}},[f,o]),T=w[v]??null;a({"confirm:previous":()=>y(e=>Math.max(0,e-1)),"confirm:next":()=>y(e=>Math.min(w.length-1,e+1)),"confirm:yes":()=>{let e=w[v];e&&_({mode:`detail`,itemId:e.id})}},{context:`Confirmation`,isActive:g.mode===`list`});let D=t=>{if(g.mode!==`list`)return;if(t.key===`left`){t.preventDefault(),e(`Background tasks dialog dismissed`,{display:`system`});return}let n=w[v];n&&t.key===`x`&&(t.preventDefault(),n.type===`local_bash`&&n.status===`running`?O(n.id):n.type===`local_agent`&&n.status===`running`?k(n.id):n.type===`local_workflow`&&n.status===`running`?$(n.id,u):n.type===`dream`&&n.status===`running`&&A(n.id))};async function O(e){await ne.kill(e,u)}async function k(e){await re.kill(e,u)}async function A(e){await te.kill(e,u)}let j=(0,Z.useEffectEvent)(e);(0,Z.useEffect)(()=>{if(g.mode!==`list`){let e=f?.[g.itemId];(!e||e.type!==`local_workflow`&&!E(e))&&(m.current?j(`Background tasks dialog dismissed`,{display:`system`}):_({mode:`list`}))}let e=w.length;v>=e&&e>0&&y(e-1)},[g,f,v,w,j]);let M=()=>{m.current&&w.length<=1?e(`Background tasks dialog dismissed`,{display:`system`}):(m.current=!1,_({mode:`list`}))};if(g.mode!==`list`&&f){let t=f[g.itemId];if(!t)return null;switch(t.type){case`local_bash`:return(0,Q.jsx)(Ie,{shell:t,onDone:e,onKillShell:()=>void O(t.id),onBack:M},`shell-${t.id}`);case`local_agent`:return(0,Q.jsx)(Ee,{agent:t,onDone:e,onKillAgent:()=>void k(t.id),onBack:M},`agent-${t.id}`);case`local_workflow`:{let e=t.status===`running`?()=>$(t.id,u):void 0;return(0,Q.jsx)(s,{flexDirection:`column`,tabIndex:0,borderStyle:`round`,onKeyDown:t=>{t.key===`left`?(t.preventDefault(),M()):t.key===`x`&&e&&(t.preventDefault(),e())},children:(0,Q.jsx)(p,{title:t.workflowName,subtitle:(0,Q.jsxs)(c,{dimColor:!0,children:[t.status,t.summary?` · ${t.summary}`:``]}),onCancel:M,inputGuide:()=>(0,Q.jsxs)(l,{children:[(0,Q.jsx)(i,{shortcut:`←`,action:`go back`}),(0,Q.jsx)(i,{shortcut:`Esc`,action:`close`}),e&&(0,Q.jsx)(i,{shortcut:`x`,action:`stop`})]}),children:t.status===`failed`&&t.error?(0,Q.jsxs)(c,{color:`error`,children:[`失败原因:`,t.error]}):null})},`workflow-${t.id}`)}case`dream`:return(0,Q.jsx)(Ne,{task:t,onDone:()=>e(`Background tasks dialog dismissed`,{display:`system`}),onBack:M,onKill:t.status===`running`?()=>void A(t.id):void 0},`dream-${t.id}`)}}let N=le(b,e=>e.status===`running`),P=le(x,e=>e.status===`running`),ae=ce([...N>0?[(0,Q.jsxs)(c,{children:[N,` `,N===1?`active shell`:`active shells`]},`shells`)]:[],...P>0?[(0,Q.jsxs)(c,{children:[P,` `,P===1?`active agent`:`active agents`]},`agents`)]:[]],e=>(0,Q.jsx)(c,{children:` · `},`separator-${e}`)),oe=[(0,Q.jsx)(i,{shortcut:`↑/↓`,action:`select`},`upDown`),(0,Q.jsx)(i,{shortcut:`Enter`,action:`view`},`enter`),...(T?.type===`local_bash`||T?.type===`local_agent`||T?.type===`local_workflow`||T?.type===`dream`)&&T.status===`running`?[(0,Q.jsx)(i,{shortcut:`x`,action:`stop`},`kill`)]:[],...x.some(e=>e.status===`running`)?[(0,Q.jsx)(i,{shortcut:d,action:`stop all agents`},`kill-all`)]:[],(0,Q.jsx)(i,{shortcut:`←/Esc`,action:`close`},`esc`)],se=()=>e(`Background tasks dialog dismissed`,{display:`system`});function ue(e){return e.pending?(0,Q.jsxs)(c,{children:[`Press `,e.keyName,` again to exit`]}):(0,Q.jsx)(l,{children:oe})}return(0,Q.jsx)(s,{flexDirection:`column`,tabIndex:0,autoFocus:!0,onKeyDown:D,children:(0,Q.jsx)(p,{title:`Background tasks`,subtitle:ae,onCancel:se,color:`background`,inputGuide:ue,children:w.length===0?(0,Q.jsx)(c,{dimColor:!0,children:`No tasks currently running`}):(0,Q.jsxs)(s,{flexDirection:`column`,children:[b.length>0&&(0,Q.jsxs)(s,{flexDirection:`column`,children:[x.length>0&&(0,Q.jsxs)(c,{dimColor:!0,children:[(0,Q.jsxs)(c,{bold:!0,children:[` `,`Shells`]}),` (`,b.length,`)`]}),(0,Q.jsx)(s,{flexDirection:`column`,children:b.map(e=>(0,Q.jsx)(X,{item:e,isSelected:e.id===T?.id},e.id))})]}),x.length>0&&(0,Q.jsxs)(s,{flexDirection:`column`,marginTop:+(b.length>0),children:[(0,Q.jsxs)(c,{dimColor:!0,children:[(0,Q.jsxs)(c,{bold:!0,children:[` `,`Local agents`]}),` (`,x.length,`)`]}),(0,Q.jsx)(s,{flexDirection:`column`,children:x.map(e=>(0,Q.jsx)(X,{item:e,isSelected:e.id===T?.id},e.id))})]}),S.length>0&&(0,Q.jsxs)(s,{flexDirection:`column`,marginTop:+(b.length>0||x.length>0),children:[(0,Q.jsxs)(c,{dimColor:!0,children:[(0,Q.jsxs)(c,{bold:!0,children:[` `,`Workflows`]}),` (`,S.length,`)`]}),(0,Q.jsx)(s,{flexDirection:`column`,children:S.map(e=>(0,Q.jsx)(X,{item:e,isSelected:e.id===T?.id},e.id))})]}),C.length>0&&(0,Q.jsx)(s,{flexDirection:`column`,marginTop:+(b.length>0||x.length>0||S.length>0),children:(0,Q.jsx)(s,{flexDirection:`column`,children:C.map(e=>(0,Q.jsx)(X,{item:e,isSelected:e.id===T?.id},e.id))})})]})})})}function Ve(e){switch(e.type){case`local_bash`:return{id:e.id,type:`local_bash`,label:e.command,status:e.status,task:e};case`local_agent`:return{id:e.id,type:`local_agent`,label:e.description,status:e.status,task:e};case`local_workflow`:return{id:e.id,type:`local_workflow`,label:e.summary??e.description,status:e.status,task:e};case`dream`:return{id:e.id,type:`dream`,label:e.description,status:e.status,task:e}}}function X({item:e,isSelected:t}){let{columns:n}=d(),i=Math.max(30,n-26);return(0,Q.jsxs)(s,{flexDirection:`row`,children:[(0,Q.jsx)(c,{children:t?`${r.pointer} `:` `}),(0,Q.jsx)(c,{color:t?`suggestion`:void 0,children:(0,Q.jsx)(je,{task:e.task,maxActivityWidth:i})})]})}var Z,Q,$,He=e((()=>{n(),Z=t(u(),1),j(),P(),y(),A(),O(),D(),se(),ve(),f(),M(),k(),Oe(),Me(),Pe(),Re(),b(),Q=m(),$=C}));export{V as a,we as i,He as n,z as o,Te as r,Be as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t}from"./SelectMulti-BpAjjhsn.js";import{n}from"./select-FrwoTzuc.js";var r=e((()=>{t(),n()}));export{r as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./Doctor-DJOMbSDE.js";e();export{t as Doctor};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Vt as t,ai as n,t as r}from"./src-WZ94ZKI3.js";import{t as i}from"./jsx-runtime-Bb4Xn-E0.js";import{c as a,i as o}from"./debug-kBjDaVkQ.js";import{Bn as s,zn as c}from"./settings-YIDksG5Z.js";import{l,o as u}from"./stringUtils-D_xPrwGQ.js";import{a as d,l as f,o as p,u as m}from"./sleep-BbWr_FL1.js";import{n as h,t as g}from"./notifications-dGBuNvFj.js";var _=e(n(),1);g(),s(),o(),u(),r(),d();var v=i();function y({children:e}){let{addNotification:n,removeNotification:r}=h();return(0,v.jsx)(t,{loadBindings:f,subscribeToChanges:m,initWatcher:p,onWarnings:(0,_.useCallback)((e,t)=>{let i=`keybinding-config-warning`;if(e.length===0){r(i);return}let a=c(e,e=>e.severity===`error`),o=c(e,e=>e.severity===`warning`),s;s=a>0&&o>0?`Found ${a} keybinding ${l(a,`error`)} and ${o} ${l(o,`warning`)}`:a>0?`Found ${a} keybinding ${l(a,`error`)}`:`Found ${o} keybinding ${l(o,`warning`)}`,s+=` · /doctor for details`,n({key:i,text:s,color:a>0?`error`:`warning`,priority:a>0?`immediate`:`high`,timeoutMs:6e4})},[n,r]),onDebugLog:a,children:e})}export{y as t};
@@ -1 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as n}from"./src-WZ94ZKI3.js";import{t as r}from"./jsx-runtime-Bb4Xn-E0.js";import{Pt as i,at as a}from"./state-CXY-q5gr.js";import{$d as o,Bd as s,Bh as c,Fd as l,Hh as u,Id as d,Kd as f,Md as p,Nd as m,Rd as h,Vh as g,bf as _,cp as v,df as y,hf as b,ip as x,jd as S,kd as C,lf as w,rp as ee,sp as T,uf as E,yf as D,zh as O}from"./loadAgentsDir-DR5PVAc3.js";import{I as k,M as A,c as te,i as j}from"./debug-kBjDaVkQ.js";import{et as M,nt as N}from"./settings-YIDksG5Z.js";import{c as P,l as F,o as I}from"./log-DWZny1vM.js";import{n as L}from"./analytics-COpjZpvd.js";import{i as R,n as z,r as B,t as V}from"./reject-C6IvUvBt.js";import{n as H,t as U}from"./notifications-dGBuNvFj.js";function W(e){let t=`plugin`in e?e.plugin:`no-plugin`;return`${e.type}:${e.source}:${t}`}function G(e,t){t.length!==0&&e(e=>{let n=new Set(e.plugins.errors.map(e=>W(e))),r=t.filter(e=>!n.has(W(e)));return r.length===0?e:{...e,plugins:{...e.plugins,errors:[...e.plugins.errors,...r]}}})}function K(e,t=!1){let n=g(),r=c(e=>e.mcp.pluginReconnectKey),i=u(),o=(0,q.useRef)(new Map),{addNotification:d}=H(),v=(0,q.useRef)([]),E=(0,q.useRef)(null),D=(0,q.useCallback)(()=>{E.current=null;let e=v.current;e.length!==0&&(v.current=[],i(t=>{let n=t.mcp;for(let t of e){let{tools:e,commands:r,resources:i,...a}=t,o=a.type===`disabled`||a.type===`failed`?e??[]:e,c=a.type===`disabled`||a.type===`failed`?r??[]:r,l=a.type===`disabled`||a.type===`failed`?i??[]:i,u=M(a.name),d=n.clients.findIndex(e=>e.name===a.name)===-1?[...n.clients,a]:n.clients.map(e=>e.name===a.name?a:e),f=o===void 0?n.tools:[...z(n.tools,e=>e.name?.startsWith(u)),...o],p=c===void 0?n.commands:[...z(n.commands,e=>s(e,a.name)),...c],m=l===void 0?n.resources:{...n.resources,...l.length>0?{[a.name]:l}:R(n.resources,a.name)};n={...n,clients:d,tools:f,commands:p,resources:m}}return{...t,mcp:n}}))},[i]),O=(0,q.useCallback)(e=>{v.current.push(e),E.current===null&&(E.current=setTimeout(D,16))},[D]),k=(0,q.useCallback)(({client:e,tools:t,commands:n,resources:r})=>{switch(O({...e,tools:t,commands:n,resources:r}),e.type){case`connected`:_(e.client,e.name,i),e.client.onclose=()=>{let t=e.config.type??`stdio`;if(C(e.name,e.config).catch(()=>{te(`Failed to invalidate the server cache: ${e.name}`)}),y(e.name)){P(e.name,`Server is disabled, skipping automatic reconnection`);return}if(t!==`stdio`&&t!==`sdk`){let n=ne(t);P(e.name,`${n} transport closed/disconnected, attempting automatic reconnection`);let r=o.current.get(e.name);r&&(clearTimeout(r),o.current.delete(e.name)),(async()=>{for(let t=1;t<=J;t++){if(y(e.name)){P(e.name,`Server disabled during reconnection, stopping retry`),o.current.delete(e.name);return}O({...e,type:`pending`,reconnectAttempt:t,maxReconnectAttempts:J});let r=Date.now();try{let i=await h(e.name,e.config),a=Date.now()-r;if(i.client.type===`connected`){P(e.name,`${n} reconnection successful after ${a}ms (attempt ${t})`),o.current.delete(e.name),k(i);return}if(P(e.name,`${n} reconnection attempt ${t} completed with status: ${i.client.type}`),t===J){P(e.name,`Max reconnection attempts (${J}) reached, giving up`),o.current.delete(e.name),k(i);return}}catch(i){let a=Date.now()-r;if(F(e.name,`${n} reconnection attempt ${t} failed after ${a}ms: ${i}`),t===J){P(e.name,`Max reconnection attempts (${J}) reached, giving up`),o.current.delete(e.name),O({...e,type:`failed`});return}}let i=Math.min(Y*2**(t-1),X);P(e.name,`Scheduling reconnection attempt ${t+1} in ${i}ms`),await new Promise(t=>{let n=setTimeout(t,i);o.current.set(e.name,n)})}})()}else O({...e,type:`failed`})},e.capabilities?.tools?.listChanged&&e.client.setNotificationHandler(T,async()=>{P(e.name,`Received tools/list_changed notification, refreshing tools`);try{let t=m.cache.get(e.name);m.cache.delete(e.name);let n=await m(e);n.length,t&&t.then(e=>{e.length},()=>{}),O({...e,tools:n})}catch(t){F(e.name,`Failed to refresh tools after list_changed notification: ${A(t)}`)}}),e.capabilities?.prompts?.listChanged&&e.client.setNotificationHandler(ee,async()=>{P(e.name,`Received prompts/list_changed notification, refreshing prompts`);try{S.cache.delete(e.name);let t=await S(e);O({...e,commands:t})}catch(t){F(e.name,`Failed to refresh prompts after list_changed notification: ${A(t)}`)}}),e.capabilities?.resources?.listChanged&&e.client.setNotificationHandler(x,async()=>{P(e.name,`Received resources/list_changed notification, refreshing resources`);try{p.cache.delete(e.name);let t=await p(e);O({...e,resources:t})}catch(t){F(e.name,`Failed to refresh resources after list_changed notification: ${A(t)}`)}});break;case`needs-auth`:case`failed`:case`pending`:case`disabled`:break}},[O]),j=a();return(0,q.useEffect)(()=>{async function n(){let{servers:n,errors:r}=t?{servers:{},errors:[]}:await w(e),a={...n,...e};G(i,r),i(e=>{let{stale:t,...n}=f(e.mcp,a);for(let e of t){let t=o.current.get(e.name);t&&(clearTimeout(t),o.current.delete(e.name)),e.type===`connected`&&(e.client.onclose=void 0,C(e.name,e.config).catch(()=>{}))}let r=new Set(n.clients.map(e=>e.name)),i=Object.entries(a).filter(([e])=>!r.has(e)).map(([e,t])=>({name:e,type:y(e)?`disabled`:`pending`,config:t}));return i.length===0&&t.length===0?e:{...e,mcp:{...e.mcp,...n,clients:[...n.clients,...i]}}})}n().catch(e=>{F(`useManageMCPConnections`,`Failed to initialize servers as pending: ${A(e)}`)})},[t,e,i,j,r]),(0,q.useEffect)(()=>{let n=!1;async function r(){let r=Promise.resolve({}),{servers:a,errors:o}=t?{servers:{},errors:[]}:await w(e,r);if(n)return;G(i,o);let s={...a,...e},c=Object.fromEntries(Object.entries(s).filter(([e])=>!y(e)));l(k,c).catch(e=>{F(`useManageMcpConnections`,`Failed to get MCP resources: ${A(e)}`)});let u={},d={...s,...u},f={enterprise:0,global:0,project:0,user:0,plugin:0,claudeai:0};for(let[e,t]of Object.entries(d))t.scope===`enterprise`?f.enterprise++:t.scope===`user`?f.global++:t.scope===`project`?f.project++:t.scope===`local`?f.user++:t.scope===`dynamic`?f.plugin++:t.scope===`claudeai`&&f.claudeai++;({...f})}return r(),()=>{n=!0}},[t,e,k,i,j,r]),(0,q.useEffect)(()=>{let e=o.current;return()=>{for(let t of e.values())clearTimeout(t);e.clear(),E.current!==null&&(clearTimeout(E.current),E.current=null,D())}},[D]),{reconnectMcpServer:(0,q.useCallback)(async e=>{let t=n.getState().mcp.clients.find(t=>t.name===e);if(!t)throw Error(`MCP server ${e} not found`);let r=o.current.get(e);r&&(clearTimeout(r),o.current.delete(e));let i=await h(e,t.config);return k(i),i},[n,k]),toggleMcpServer:(0,q.useCallback)(async e=>{let t=n.getState().mcp.clients.find(t=>t.name===e);if(!t)throw Error(`MCP server ${e} not found`);if(t.type!==`disabled`){let n=o.current.get(e);n&&(clearTimeout(n),o.current.delete(e)),b(e,!1),t.type===`connected`&&await C(e,t.config),O({name:e,type:`disabled`,config:t.config})}else{b(e,!0),O({name:e,type:`pending`,config:t.config});let n=await h(e,t.config);k(n)}},[n,O,k])}}function ne(e){switch(e){case`http`:return`HTTP`;case`ws`:case`ws-ide`:return`WebSocket`;default:return`SSE`}}var q,J,Y,X,re=e((()=>{q=t(n(),1),i(),d(),v(),B(),V(),L(),E(),j(),U(),O(),k(),I(),D(),N(),o(),J=5,Y=1e3,X=3e4}));function ie(){let e=(0,Z.useContext)($);if(!e)throw Error(`useMcpReconnect must be used within MCPConnectionManager`);return e.reconnectMcpServer}function ae(){let e=(0,Z.useContext)($);if(!e)throw Error(`useMcpToggleEnabled must be used within MCPConnectionManager`);return e.toggleMcpServer}function oe({children:e,dynamicMcpConfig:t,isStrictMcpConfig:n}){let{reconnectMcpServer:r,toggleMcpServer:i}=K(t,n),a=(0,Z.useMemo)(()=>({reconnectMcpServer:r,toggleMcpServer:i}),[r,i]);return(0,Q.jsx)($.Provider,{value:a,children:e})}var Z,Q,$,se=e((()=>{Z=t(n(),1),re(),Q=r(),$=(0,Z.createContext)(null)}));export{ae as i,se as n,ie as r,oe as t};
@@ -1 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{D as i,H as a,I as o,P as s,T as c,ai as l,j as u,t as d,y as f}from"./src-WZ94ZKI3.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{$d as m,Bh as h,Gd as g,Hh as ee,Id as _,Vd as te,Wd as ne,Xd as v,Yd as y,hd as b,kd as x,md as S,qd as re,sf as C,uf as w,zh as T}from"./loadAgentsDir-DR5PVAc3.js";import{I as E,M as D}from"./debug-kBjDaVkQ.js";import{$ as O,Q as k,nt as A}from"./settings-YIDksG5Z.js";import{n as j}from"./analytics-COpjZpvd.js";import{l as M,n as N,o as P}from"./stringUtils-D_xPrwGQ.js";import{i as ie,n as ae,r as oe}from"./MCPConnectionManager-Bn1PDn3R.js";import{n as F,t as I}from"./useExitOnCtrlCDWithKeybindings-BgJrnuDl.js";import{t as L}from"./select-FrwoTzuc.js";import{r as R,t as z}from"./Spinner-DhhSOFcN.js";import{t as B}from"./CustomSelect-CpMbxYbt.js";function V({serverToolsCount:e,serverPromptsCount:t,serverResourcesCount:n}){let r=[];return e>0&&r.push(`tools`),n>0&&r.push(`resources`),t>0&&r.push(`prompts`),(0,H.jsxs)(o,{children:[(0,H.jsx)(s,{bold:!0,children:`Capabilities: `}),(0,H.jsx)(s,{color:`text`,children:r.length>0?(0,H.jsx)(c,{children:r}):`none`})]})}var H,U=e((()=>{d(),H=p()}));function W(e,t){switch(e.client.type){case`connected`:return{message:`Reconnected to ${t}.`,success:!0};case`needs-auth`:return{message:`${t} requires authentication. Use the 'Authenticate' option.`,success:!1};case`failed`:return{message:`Failed to reconnect to ${t}.`,success:!1};default:return{message:`Unknown result when reconnecting to ${t}.`,success:!1}}}function G(e,t){return`Error reconnecting to ${t}: ${e instanceof Error?e.message:String(e)}`}var K=e((()=>{}));function se({server:e,serverToolsCount:t,onViewTools:n,onCancel:l,onComplete:d,borderless:f=!1}){let[p]=a(),m=F(),_=h(e=>e.mcp),v=ee(),[b,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(null),E=oe(),O=ie(),k=N(String(e.name)),A=y(_.commands,e.name).length,j=q.useCallback(async()=>{let t=e.client.type!==`disabled`;try{await O(e.name),e.config.type,l()}catch(n){d?.(`Failed to ${t?`disable`:`enable`} MCP server '${e.name}': ${D(n)}`)}},[e.client.type,e.config.type,e.name,O,l,d]);if(b)return(0,J.jsxs)(o,{flexDirection:`column`,gap:1,padding:1,children:[(0,J.jsxs)(s,{color:`text`,children:[`Connecting to `,(0,J.jsx)(s,{bold:!0,children:e.name}),`…`]}),(0,J.jsxs)(o,{children:[(0,J.jsx)(z,{}),(0,J.jsx)(s,{children:` Establishing connection to MCP server`})]}),(0,J.jsx)(s,{dimColor:!0,children:`This may take a few moments.`})]});let M=[];return e.client.type===`disabled`&&M.push({label:`Enable`,value:`toggle-enabled`}),e.client.type===`connected`&&t>0&&M.push({label:`View tools`,value:`tools`}),e.client.type!==`disabled`&&(e.client.type!==`needs-auth`&&M.push({label:`Reconnect`,value:`reconnectMcpServer`}),M.push({label:`Disable`,value:`toggle-enabled`})),M.length===0&&M.push({label:`Back`,value:`back`}),(0,J.jsxs)(o,{flexDirection:`column`,children:[(0,J.jsxs)(o,{flexDirection:`column`,paddingX:1,borderStyle:f?void 0:`round`,children:[(0,J.jsx)(o,{marginBottom:1,children:(0,J.jsxs)(s,{bold:!0,children:[k,` MCP Server`]})}),(0,J.jsxs)(o,{flexDirection:`column`,gap:0,children:[(0,J.jsxs)(o,{children:[(0,J.jsx)(s,{bold:!0,children:`Status: `}),e.client.type===`disabled`?(0,J.jsxs)(s,{children:[u(`inactive`,p)(r.radioOff),` disabled`]}):e.client.type===`connected`?(0,J.jsxs)(s,{children:[u(`success`,p)(r.tick),` connected`]}):e.client.type===`pending`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(s,{dimColor:!0,children:r.radioOff}),(0,J.jsx)(s,{children:` connecting…`})]}):e.client.type===`needs-auth`?(0,J.jsxs)(s,{children:[u(`warning`,p)(r.triangleUpOutline),` needs authentication`]}):(0,J.jsxs)(s,{children:[u(`error`,p)(r.cross),` failed`]})]}),(0,J.jsxs)(o,{children:[(0,J.jsx)(s,{bold:!0,children:`URL: `}),(0,J.jsx)(s,{dimColor:!0,children:e.config.url})]}),(0,J.jsxs)(o,{children:[(0,J.jsx)(s,{bold:!0,children:`Config location: `}),(0,J.jsx)(s,{dimColor:!0,children:te(e.scope)})]}),e.client.type===`connected`&&(0,J.jsx)(V,{serverToolsCount:t,serverPromptsCount:A,serverResourcesCount:_.resources[e.name]?.length||0}),e.client.type===`connected`&&t>0&&(0,J.jsxs)(o,{children:[(0,J.jsx)(s,{bold:!0,children:`Tools: `}),(0,J.jsxs)(s,{dimColor:!0,children:[t,` tools`]})]})]}),w&&(0,J.jsx)(o,{marginTop:1,children:(0,J.jsxs)(s,{color:`error`,children:[`Error: `,w]})}),M.length>0&&(0,J.jsx)(o,{marginTop:1,children:(0,J.jsx)(L,{options:M,onChange:async t=>{switch(t){case`tools`:n();break;case`reconnectMcpServer`:C(!0),T(null);try{await x(e.name,{...e.config,scope:e.scope}),v(t=>{let n=t.mcp.clients.map(t=>t.name===e.name?{...t,type:`pending`}:t),r=re(t.mcp.tools,e.name),i=ne(t.mcp.commands,e.name),a=g(t.mcp.resources,e.name);return{...t,mcp:{...t.mcp,clients:n,tools:r,commands:i,resources:a}}});let{message:t}=W(await E(e.name),e.name);d?.(t)}catch(t){d?.(G(t,e.name))}finally{C(!1)}break;case`toggle-enabled`:await j();break;case`back`:l();break}},onCancel:l})})]}),(0,J.jsx)(o,{marginTop:1,children:(0,J.jsx)(s,{dimColor:!0,italic:!0,children:m.pending?(0,J.jsxs)(J.Fragment,{children:[`Press `,m.keyName,` again to exit`]}):(0,J.jsxs)(c,{children:[(0,J.jsx)(i,{shortcut:`↑↓`,action:`navigate`}),(0,J.jsx)(i,{shortcut:`Enter`,action:`select`}),(0,J.jsx)(S,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var q,J,ce=e((()=>{n(),q=t(l(),1),j(),I(),d(),_(),ae(),m(),T(),E(),P(),b(),B(),R(),U(),K(),J=p()}));function le({server:e,serverToolsCount:t,onViewTools:n,onCancel:l,onComplete:d,borderless:f=!1}){let[p]=a(),m=F(),g=h(e=>e.mcp),ee=oe(),_=ie(),[ne,v]=(0,Y.useState)(!1),b=Y.useCallback(async()=>{let t=e.client.type!==`disabled`;try{await _(e.name),l()}catch(n){d(`Failed to ${t?`disable`:`enable`} MCP server '${e.name}': ${D(n)}`)}},[e.client.type,e.name,_,l,d]),x=N(String(e.name)),re=y(g.commands,e.name).length,w=[];return e.client.type!==`disabled`&&t>0&&w.push({label:`View tools`,value:`tools`}),e.client.type!==`disabled`&&w.push({label:`Reconnect`,value:`reconnectMcpServer`}),w.push({label:e.client.type===`disabled`?`Enable`:`Disable`,value:`toggle-enabled`}),w.length===0&&w.push({label:`Back`,value:`back`}),ne?(0,X.jsxs)(o,{flexDirection:`column`,gap:1,padding:1,children:[(0,X.jsxs)(s,{color:`text`,children:[`Reconnecting to `,(0,X.jsx)(s,{bold:!0,children:e.name})]}),(0,X.jsxs)(o,{children:[(0,X.jsx)(z,{}),(0,X.jsx)(s,{children:` Restarting MCP server process`})]}),(0,X.jsx)(s,{dimColor:!0,children:`This may take a few moments.`})]}):(0,X.jsxs)(o,{flexDirection:`column`,children:[(0,X.jsxs)(o,{flexDirection:`column`,paddingX:1,borderStyle:f?void 0:`round`,children:[(0,X.jsx)(o,{marginBottom:1,children:(0,X.jsxs)(s,{bold:!0,children:[x,` MCP Server`]})}),(0,X.jsxs)(o,{flexDirection:`column`,gap:0,children:[(0,X.jsxs)(o,{children:[(0,X.jsx)(s,{bold:!0,children:`Status: `}),e.client.type===`disabled`?(0,X.jsxs)(s,{children:[u(`inactive`,p)(r.radioOff),` disabled`]}):e.client.type===`connected`?(0,X.jsxs)(s,{children:[u(`success`,p)(r.tick),` connected`]}):e.client.type===`pending`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(s,{dimColor:!0,children:r.radioOff}),(0,X.jsx)(s,{children:` connecting…`})]}):(0,X.jsxs)(s,{children:[u(`error`,p)(r.cross),` failed`]})]}),(0,X.jsxs)(o,{children:[(0,X.jsx)(s,{bold:!0,children:`Command: `}),(0,X.jsx)(s,{dimColor:!0,children:e.config.command})]}),e.config.args&&e.config.args.length>0&&(0,X.jsxs)(o,{children:[(0,X.jsx)(s,{bold:!0,children:`Args: `}),(0,X.jsx)(s,{dimColor:!0,children:e.config.args.join(` `)})]}),(0,X.jsxs)(o,{children:[(0,X.jsx)(s,{bold:!0,children:`Config location: `}),(0,X.jsx)(s,{dimColor:!0,children:te(C(e.name)?.scope??`dynamic`)})]}),e.client.type===`connected`&&(0,X.jsx)(V,{serverToolsCount:t,serverPromptsCount:re,serverResourcesCount:g.resources[e.name]?.length||0}),e.client.type===`connected`&&t>0&&(0,X.jsxs)(o,{children:[(0,X.jsx)(s,{bold:!0,children:`Tools: `}),(0,X.jsxs)(s,{dimColor:!0,children:[t,` tools`]})]})]}),w.length>0&&(0,X.jsx)(o,{marginTop:1,children:(0,X.jsx)(L,{options:w,onChange:async t=>{if(t===`tools`)n();else if(t===`reconnectMcpServer`){v(!0);try{let{message:t}=W(await ee(e.name),e.name);d?.(t)}catch(t){d?.(G(t,e.name))}finally{v(!1)}}else t===`toggle-enabled`?await b():t===`back`&&l()},onCancel:l})})]}),(0,X.jsx)(o,{marginTop:1,children:(0,X.jsx)(s,{dimColor:!0,italic:!0,children:m.pending?(0,X.jsxs)(X.Fragment,{children:[`Press `,m.keyName,` again to exit`]}):(0,X.jsxs)(c,{children:[(0,X.jsx)(i,{shortcut:`↑↓`,action:`navigate`}),(0,X.jsx)(i,{shortcut:`Enter`,action:`select`}),(0,X.jsx)(S,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var Y,X,ue=e((()=>{n(),Y=t(l(),1),I(),d(),w(),ae(),m(),T(),E(),P(),b(),B(),R(),U(),K(),X=p()}));function de({tool:e,server:t,onBack:n}){let[r,i]=Z.useState(``),a=O(e.name,t.name),c=k(e.userFacingName?e.userFacingName({}):a),l=e.isReadOnly?.({})??!1,u=e.isDestructive?.({})??!1,d=e.isOpenWorld?.({})??!1;return Z.useEffect(()=>{async function t(){try{let t=await e.description({},{isNonInteractiveSession:!1,toolPermissionContext:{mode:`default`,additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1},tools:[]});i(t)}catch{i(`Failed to load description`)}}t()},[e]),(0,Q.jsx)(f,{title:(0,Q.jsxs)(Q.Fragment,{children:[c,l&&(0,Q.jsx)(s,{color:`success`,children:` [read-only]`}),u&&(0,Q.jsx)(s,{color:`error`,children:` [destructive]`}),d&&(0,Q.jsx)(s,{dimColor:!0,children:` [open-world]`})]}),subtitle:t.name,onCancel:n,inputGuide:e=>e.pending?(0,Q.jsxs)(s,{children:[`Press `,e.keyName,` again to exit`]}):(0,Q.jsx)(S,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`}),children:(0,Q.jsxs)(o,{flexDirection:`column`,children:[(0,Q.jsxs)(o,{children:[(0,Q.jsx)(s,{bold:!0,children:`Tool name: `}),(0,Q.jsx)(s,{dimColor:!0,children:a})]}),(0,Q.jsxs)(o,{children:[(0,Q.jsx)(s,{bold:!0,children:`Full name: `}),(0,Q.jsx)(s,{dimColor:!0,children:e.name})]}),r&&(0,Q.jsxs)(o,{flexDirection:`column`,marginTop:1,children:[(0,Q.jsx)(s,{bold:!0,children:`Description:`}),(0,Q.jsx)(s,{wrap:`wrap`,children:r})]}),e.inputJSONSchema?.properties&&Object.keys(e.inputJSONSchema.properties).length>0&&(0,Q.jsxs)(o,{flexDirection:`column`,marginTop:1,children:[(0,Q.jsx)(s,{bold:!0,children:`Parameters:`}),(0,Q.jsx)(o,{marginLeft:2,flexDirection:`column`,children:Object.entries(e.inputJSONSchema.properties).map(([t,n])=>{let r=(e.inputJSONSchema?.required)?.includes(t);return(0,Q.jsxs)(s,{children:[`• `,t,r&&(0,Q.jsx)(s,{dimColor:!0,children:` (required)`}),`:`,` `,(0,Q.jsx)(s,{dimColor:!0,children:typeof n==`object`&&n&&`type`in n?String(n.type):`unknown`}),typeof n==`object`&&n&&`description`in n&&(0,Q.jsxs)(s,{dimColor:!0,children:[` - `,String(n.description)]})]},t)})})]})]})})}var Z,Q,fe=e((()=>{Z=t(l(),1),d(),A(),b(),Q=p()}));function pe({server:e,onSelectTool:t,onBack:n}){let r=h(e=>e.mcp.tools),a=me.useMemo(()=>e.client.type===`connected`?v(r,e.name):[],[e,r]),o=a.map((t,n)=>{let r=O(t.name,e.name),i=k(t.userFacingName?t.userFacingName({}):r),a=t.isReadOnly?.({})??!1,o=t.isDestructive?.({})??!1,s=t.isOpenWorld?.({})??!1,c=[];return a&&c.push(`read-only`),o&&c.push(`destructive`),s&&c.push(`open-world`),{label:i,value:n.toString(),description:c.length>0?c.join(`, `):void 0,descriptionColor:o?`error`:a?`success`:void 0}});return(0,$.jsx)(f,{title:`Tools for ${e.name}`,subtitle:`${a.length} ${M(a.length,`tool`)}`,onCancel:n,inputGuide:e=>e.pending?(0,$.jsxs)(s,{children:[`Press `,e.keyName,` again to exit`]}):(0,$.jsxs)(c,{children:[(0,$.jsx)(i,{shortcut:`↑↓`,action:`navigate`}),(0,$.jsx)(i,{shortcut:`Enter`,action:`select`}),(0,$.jsx)(S,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]}),children:a.length===0?(0,$.jsx)(s,{dimColor:!0,children:`No tools available`}):(0,$.jsx)(L,{options:o,onChange:e=>{let n=parseInt(e,10),r=a[n];r&&t(r,n)},onCancel:n})})}var me,$,he=e((()=>{me=t(l(),1),d(),A(),m(),T(),P(),b(),B(),$=p()}));export{le as a,ce as c,fe as i,he as n,ue as o,de as r,se as s,pe as t};
@@ -1,3 +0,0 @@
1
- import{n as e,o as t,r as n}from"./rolldown-runtime-DaDcL9Zw.js";import{n as r,t as i}from"./figures-5ThXQEtq.js";import{C as a,Gt as o,I as s,P as c,Wt as l,ai as u,ot as d,t as f}from"./src-WZ94ZKI3.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{An as m,Pt as h}from"./state-CXY-q5gr.js";import{$h as g,$o as _,$x as v,Bh as y,Bu as b,Ix as x,Ji as S,Px as C,Qh as ee,Qo as w,Ru as T,Ub as E,Vb as D,Wb as O,Xx as k,_c as A,ag as j,by as te,eg as ne,gc as M,hS as N,hc as re,mn as ie,nn as ae,sb as P,tb as oe,ts as F,un as se,wa as I,xa as ce,yc as L,yy as le,zh as R}from"./loadAgentsDir-DR5PVAc3.js";import{Bn as ue,zn as z}from"./settings-YIDksG5Z.js";import{D as B,h as de,m as V,o as H,q as fe,s as U}from"./log-DWZny1vM.js";import{n as W}from"./analytics-COpjZpvd.js";import{_ as pe,p as me,y as he}from"./startupProfiler-DIM_Ihyp.js";import{E as ge,T as _e,c as ve,d as ye,w as be}from"./sessionTracing-UFK96PxT.js";import{n as xe,t as Se}from"./useExitOnCtrlCDWithKeybindings-BgJrnuDl.js";import{n as Ce,t as we}from"./select-FrwoTzuc.js";import{r as Te,t as Ee}from"./Spinner-DhhSOFcN.js";import*as G from"path";import{randomUUID as K}from"crypto";var q=t(u(),1),J=p();f(),h(),fe(),V(),H(),ue(),W(),pe(),E(),le(),be(),T(),ve(),A(),re(),F(),S(),ie();function De(e){let t=e.toLowerCase();return/\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horrible|awful|piss(ed|ing)? off|piece of (shit|crap|junk)|what the (fuck|hell)|fucking? (broken|useless|terrible|awful|horrible)|fuck you|screw (this|you)|so frustrating|this sucks|damn it)\b/.test(t)}function Oe(e){let t=e.toLowerCase().trim();return t===`continue`||/\b(keep going|go on)\b/.test(t)}function ke(e,t,n,r,i,a,o){let s=K();m(s);let c=typeof e==`string`?e:e.find(e=>e.type===`text`)?.text||``;ye(c);let l=typeof e==`string`?e:e.findLast(e=>e.type===`text`)?.text||``;return l&&_e(`user_prompt`,{prompt_length:String(l.length),prompt:ge(l),"prompt.id":s}),De(c),Oe(c),t.length>0?{messages:[v({content:[...typeof e==`string`?e.trim()?[{type:`text`,text:e}]:[]:e,...t],uuid:i,imagePasteIds:n.length>0?n:void 0,permissionMode:a,isMeta:o||void 0}),...r],shouldQuery:!0}:{messages:[v({content:e,uuid:i,permissionMode:a,isMeta:o||void 0}),...r],shouldQuery:!0}}W(),S();async function Ae({input:e,preExpansionInput:t,mode:n,setToolJSX:r,context:i,pastedContents:a,messages:o,setUserInputOnProcessing:s,uuid:c,isAlreadyProcessing:l,querySource:u,canUseTool:d,skipSlashCommands:f,bridgeOrigin:p,isMeta:m,skipAttachments:h,autonomy:g}){let _=typeof e==`string`?e:null,y=_?.startsWith(`/`)&&!f;n===`prompt`&&_!==null&&!m&&!y&&s?.(_),L(`query_process_user_input_base_start`);let b=i.getAppState(),S=await Me(e,n,r,i,a,o,c,l,u,d,b.toolPermissionContext.mode,f,p,m,h,t,g);if(L(`query_process_user_input_base_end`),!S.shouldQuery)return S;L(`query_hooks_start`);let C=x(e)||``;for await(let t of ae(C,b.toolPermissionContext.mode,i,i.requestPrompt))if(t.message?.type!==`progress`){if(t.blockingError)return{messages:[k(`${se(t.blockingError)}\n\nOriginal prompt: ${e}`,`warning`)],shouldQuery:!1,allowedTools:S.allowedTools};if(t.preventContinuation){let e=t.stopReason?`Operation stopped by hook: ${t.stopReason}`:`Operation stopped by hook`;return S.messages.push(v({content:e})),S.shouldQuery=!1,S}if(t.additionalContexts&&t.additionalContexts.length>0&&S.messages.push(w({type:`hook_additional_context`,content:t.additionalContexts.map(je),hookName:`UserPromptSubmit`,toolUseID:`hook-${K()}`,hookEvent:`UserPromptSubmit`})),t.message)switch(t.message.attachment.type){case`hook_success`:if(!t.message.attachment.content)break;S.messages.push({...t.message,attachment:{...t.message.attachment,content:je(t.message.attachment.content)}});break;default:S.messages.push(t.message);break}}return L(`query_hooks_end`),S}var Y=1e4;function je(e){return e.length>Y?`${e.substring(0,Y)}… [output truncated - exceeded ${Y} characters]`:e}async function Me(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let v=null,y=[],x=[],S=e;if(typeof e==`string`)v=e;else if(e.length>0){L(`query_image_processing_start`);let t=[];for(let n of e)if(n.type===`image`){let e=await O(n);if(e.dimensions){let t=D(e.dimensions);t&&x.push(t)}t.push(e.block)}else t.push(n);S=t,L(`query_image_processing_end`);let n=t[t.length-1];n?.type===`text`?(v=n.text,y=t.slice(0,-1)):y=t}if(v===null&&t!==`prompt`)throw Error(`Mode: ${t} requires a string input.`);let C=i?Object.values(i).filter(te):[],ee=C.map(e=>e.id),w=i?await b(i):new Map;L(`query_pasted_image_processing_start`);let T=await Promise.all(C.map(async e=>{let t={type:`image`,source:{type:`base64`,media_type:e.mediaType||`image/png`,data:e.content}};return e.content.length,{resized:await O(t),originalDimensions:e.dimensions,sourcePath:e.sourcePath??w.get(e.id)}})),E=[];for(let{resized:e,originalDimensions:t,sourcePath:n}of T){if(e.dimensions){let t=D(e.dimensions,n);t&&x.push(t)}else if(t){let e=D(t,n);e&&x.push(e)}else n&&x.push(`[Image source: ${n}]`);E.push(e.block)}L(`query_pasted_image_processing_end`);let k=d,A=!m&&v!==null&&(t!==`prompt`||k||!v.startsWith(`/`));L(`query_attachment_loading_start`);let j=A?await M(_(v,r,[],a,c)):[];if(L(`query_attachment_loading_end`),v!==null&&t===`bash`){let{processBashCommand:e}=await import(`./processBashCommand-RUkmyAl4.js`);return X(await e(v,y,j,r,n),x)}if(v!==null&&!k&&v.startsWith(`/`)){let{processSlashCommand:e}=await import(`./processSlashCommand-DRLO-jNV.js`);return X(await e(v,y,E,j,r,n,o,s,l,g),x)}if(v!==null&&t===`prompt`){let e=v.trim(),t=j.find(e=>e.attachment.type===`agent_mention`);if(t){let n=`@agent-${t.attachment.agentType}`;e.startsWith(n)}}return X(ke(S,E,ee,j,o,u,p),x)}function X(e,t){return t.length>0&&e.messages.push(v({content:t.map(e=>({type:`text`,text:e})),isMeta:!0})),e}var Ne=n({MessageSelector:()=>Fe,messagesAfterAreOnlySynthetic:()=>He,selectableUserMessagesFilter:()=>Q});function Pe(e){return e.type===`text`}function Z(e){return e===`summarize`}function Fe({messages:e,onPreRestore:t,onRestoreMessage:n,onRestoreCode:r,onSummarize:u,onClose:d,preselectedMessage:f}){let p=y(e=>e.fileHistory),[m,h]=(0,q.useState)(void 0),_=g(),b=(0,q.useMemo)(K,[]),x=(0,q.useMemo)(()=>[...e.filter(Q),{...v({content:``}),uuid:b}],[e,b]),[S,C]=(0,q.useState)(x.length-1),w=Math.max(0,Math.min(S-Math.floor($/2),x.length-$)),T=x.length>1,[E,D]=(0,q.useState)(f),[O,k]=(0,q.useState)(void 0);(0,q.useEffect)(()=>{if(!f||!_)return;let e=!1;return ne(p,f.uuid).then(t=>{e||k(t)}),()=>{e=!0}},[f,_,p]);let[A,j]=(0,q.useState)(!1),[te,M]=(0,q.useState)(null),[N,re]=(0,q.useState)(`both`),[ie,ae]=(0,q.useState)(``);function P(e){let t=e?[{value:`both`,label:`Restore code and conversation`},{value:`conversation`,label:`Restore conversation`},{value:`code`,label:`Restore code`}]:[{value:`conversation`,label:`Restore conversation`}];return t.push({value:`summarize`,label:`Summarize from here`,type:`input`,placeholder:`add context (optional)`,initialValue:``,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:`: `,onChange:ae}),t.push({value:`nevermind`,label:`Never mind`}),t}(0,q.useEffect)(()=>{},[]);async function oe(e){t(),j(!0);try{await n(e),j(!1),d()}catch(e){U(e),j(!1),h(`Failed to restore the conversation:\n${e}`)}}async function F(t){let n=e.indexOf(t);if(e.length-1-n,t.type,!e.includes(t)){d();return}if(!_){await oe(t);return}let r=await ne(p,t.uuid);D(t),k(r)}async function se(e){if(!E){h(`Message not found.`);return}if(e===`nevermind`){f?d():D(void 0);return}if(Z(e)){t(),j(!0),M(e),h(void 0);try{let e=ie.trim()||void 0;await u(E,e,`from`),j(!1),M(null),D(void 0),d()}catch(e){U(e),j(!1),M(null),D(void 0),h(`Failed to summarize:\n${e}`)}return}t(),j(!0),h(void 0);let i=null,a=null;if(e===`code`||e===`both`)try{await r(E)}catch(e){i=e,U(i)}if(e===`conversation`||e===`both`)try{await n(E)}catch(e){a=e,U(a)}j(!1),D(void 0),a&&i?h(`Failed to restore the conversation and code:\n${a}\n${i}`):a?h(`Failed to restore the conversation:\n${a}`):i?h(`Failed to restore the code:\n${i}`):d()}let I=xe(),ce=(0,q.useCallback)(()=>{if(E&&!f){D(void 0);return}d()},[d,E,f]),L=(0,q.useCallback)(()=>C(e=>Math.max(0,e-1)),[]),le=(0,q.useCallback)(()=>C(e=>Math.min(x.length-1,e+1)),[x.length]),R=(0,q.useCallback)(()=>C(0),[]),ue=(0,q.useCallback)(()=>C(x.length-1),[x.length]),z=(0,q.useCallback)(()=>{let e=x[S];e&&F(e)},[x,S,F]);l(`confirm:no`,ce,{context:`Confirmation`,isActive:!E}),o({"messageSelector:up":L,"messageSelector:down":le,"messageSelector:top":R,"messageSelector:bottom":ue,"messageSelector:select":z},{context:`MessageSelector`,isActive:!A&&!m&&!E&&T});let[B,de]=(0,q.useState)({});(0,q.useEffect)(()=>{async function t(){_&&Promise.all(x.map(async(t,n)=>{if(t.uuid!==b){let r=ee(p,t.uuid),i=x.at(n+1),a=r?Ve(e,t.uuid,i?.uuid===b?void 0:i?.uuid):void 0;de(a===void 0?e=>({...e,[n]:void 0}):e=>({...e,[n]:a}))}}))}t()},[x,e,b,p,_]);let V=_&&O?.filesChanged&&O.filesChanged.length>0,H=!m&&!E&&!f&&T;return(0,J.jsxs)(s,{flexDirection:`column`,width:`100%`,children:[(0,J.jsx)(a,{color:`suggestion`}),(0,J.jsxs)(s,{flexDirection:`column`,marginX:1,gap:1,children:[(0,J.jsx)(c,{bold:!0,color:`suggestion`,children:`Rewind`}),m&&(0,J.jsxs)(c,{color:`error`,children:[`Error: `,m]}),!T&&(0,J.jsx)(c,{children:`Nothing to rewind to yet.`}),!m&&E&&T&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(c,{children:[`Confirm you want to restore `,!O&&`the conversation `,`to the point before you sent this message:`]}),(0,J.jsxs)(s,{flexDirection:`column`,paddingLeft:1,borderStyle:`single`,borderRight:!1,borderTop:!1,borderBottom:!1,borderLeft:!0,borderLeftDimColor:!0,children:[(0,J.jsx)(Be,{userMessage:E,color:`text`,isCurrent:!1}),(0,J.jsxs)(c,{dimColor:!0,children:[`(`,me(new Date(E.timestamp)),`)`]})]}),(0,J.jsx)(Le,{selectedRestoreOption:N,canRestoreCode:!!V,diffStatsForRestore:O}),A&&Z(te)?(0,J.jsxs)(s,{flexDirection:`row`,gap:1,children:[(0,J.jsx)(Ee,{}),(0,J.jsx)(c,{children:`Summarizing…`})]}):(0,J.jsx)(we,{isDisabled:A,options:P(!!V),defaultFocusValue:V?`both`:`conversation`,onFocus:e=>re(e),onChange:e=>se(e),onCancel:()=>f?d():D(void 0)}),V&&(0,J.jsx)(s,{marginBottom:1,children:(0,J.jsxs)(c,{dimColor:!0,children:[i.warning,` Rewinding does not affect files edited manually or via bash.`]})})]}),H&&(0,J.jsxs)(J.Fragment,{children:[_?(0,J.jsx)(c,{children:`Restore the code and/or conversation to the point before…`}):(0,J.jsx)(c,{children:`Restore and fork the conversation to the point before…`}),(0,J.jsx)(s,{width:`100%`,flexDirection:`column`,children:x.slice(w,w+$).map((e,t)=>{let n=w+t,r=n===S,a=e.uuid===b,o=n in B,l=B[n],u=l?.filesChanged?.length;return(0,J.jsxs)(s,{height:_?3:2,overflow:`hidden`,width:`100%`,flexDirection:`row`,children:[(0,J.jsx)(s,{width:2,minWidth:2,children:r?(0,J.jsxs)(c,{color:`permission`,bold:!0,children:[i.pointer,` `]}):(0,J.jsx)(c,{children:` `})}),(0,J.jsxs)(s,{flexDirection:`column`,children:[(0,J.jsx)(s,{flexShrink:1,height:1,overflow:`hidden`,children:(0,J.jsx)(Be,{userMessage:e,color:r?`suggestion`:void 0,isCurrent:a,paddingRight:10})}),_&&o&&(0,J.jsx)(s,{height:1,flexDirection:`row`,children:l?(0,J.jsx)(c,{dimColor:!r,color:`inactive`,children:u?(0,J.jsxs)(J.Fragment,{children:[u===1&&l.filesChanged[0]?`${G.basename(l.filesChanged[0])} `:`${u} files changed `,(0,J.jsx)(ze,{diffStats:l})]}):(0,J.jsx)(J.Fragment,{children:`No code changes`})}):(0,J.jsxs)(c,{dimColor:!0,color:`warning`,children:[i.warning,` No code restore`]})})]})]},e.uuid)})})]}),!E&&(0,J.jsx)(c,{dimColor:!0,italic:!0,children:I.pending?(0,J.jsxs)(J.Fragment,{children:[`Press `,I.keyName,` again to exit`]}):(0,J.jsxs)(J.Fragment,{children:[!m&&T&&`Enter to continue · `,`Esc to exit`]})})]})]})}function Ie(e){switch(e){case`summarize`:return`Messages after this point will be summarized.`;case`both`:case`conversation`:return`The conversation will be forked.`;case`code`:case`nevermind`:return`The conversation will be unchanged.`}}function Le({selectedRestoreOption:e,canRestoreCode:t,diffStatsForRestore:n}){let r=t&&(e===`both`||e===`code`);return(0,J.jsxs)(s,{flexDirection:`column`,children:[(0,J.jsx)(c,{dimColor:!0,children:Ie(e)}),!Z(e)&&(r?(0,J.jsx)(Re,{diffStatsForRestore:n}):(0,J.jsx)(c,{dimColor:!0,children:`The code will be unchanged.`}))]})}function Re({diffStatsForRestore:e}){if(e===void 0)return;if(!e.filesChanged?.[0])return(0,J.jsx)(c,{dimColor:!0,children:`The code has not changed (nothing will be restored).`});let t=e.filesChanged.length,n=``;return n=t===1?G.basename(e.filesChanged[0]||``):t===2?`${G.basename(e.filesChanged[0]||``)} and ${G.basename(e.filesChanged[1]||``)}`:`${G.basename(e.filesChanged[0]||``)} and ${e.filesChanged.length-1} other files`,(0,J.jsxs)(c,{dimColor:!0,children:[`The code will be restored `,(0,J.jsx)(ze,{diffStats:e}),` in `,n,`.`]})}function ze({diffStats:e}){if(e?.filesChanged)return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(c,{color:`diffAddedWord`,children:[`+`,e.insertions,` `]}),(0,J.jsxs)(c,{color:`diffRemovedWord`,children:[`-`,e.deletions]})]})}function Be({userMessage:e,color:t,dimColor:n,isCurrent:r,paddingRight:i}){let{columns:a}=d();if(r)return(0,J.jsx)(s,{width:`100%`,children:(0,J.jsx)(c,{italic:!0,color:t,dimColor:n,children:`(current)`})});let o=e.message.content,l=typeof o==`string`?null:o[o.length-1],u=de(typeof o==`string`?o.trim():l&&Pe(l)?l.text.trim():`(no prompt)`);if(ce(u))return(0,J.jsx)(s,{flexDirection:`row`,width:`100%`,children:(0,J.jsx)(c,{italic:!0,color:t,dimColor:n,children:`((empty message))`})});if(u.includes(`<bash-input>`)){let e=C(u,`bash-input`);if(e)return(0,J.jsxs)(s,{flexDirection:`row`,width:`100%`,children:[(0,J.jsx)(c,{color:`bashBorder`,children:`!`}),(0,J.jsxs)(c,{color:t,dimColor:n,children:[` `,e]})]})}if(u.includes(`<command-message>`)){let e=C(u,B),r=C(u,`command-args`),i=C(u,`skill-format`)===`true`;if(e)return i?(0,J.jsx)(s,{flexDirection:`row`,width:`100%`,children:(0,J.jsxs)(c,{color:t,dimColor:n,children:[`Skill(`,e,`)`]})}):(0,J.jsx)(s,{flexDirection:`row`,width:`100%`,children:(0,J.jsxs)(c,{color:t,dimColor:n,children:[`/`,e,` `,r]})})}return(0,J.jsx)(s,{flexDirection:`row`,width:`100%`,children:(0,J.jsx)(c,{color:t,dimColor:n,children:i?he(u,a-i,!0):u.slice(0,500).split(`
2
- `).slice(0,4).join(`
3
- `)})})}function Ve(e,t,n){let r=e.findIndex(e=>e.uuid===t);if(r===-1)return;let i=n?e.findIndex(e=>e.uuid===n):e.length;i===-1&&(i=e.length);let a=[],o=0,s=0;for(let t=r+1;t<i;t++){let n=e[t];if(!n||!I(n))continue;let r=n.toolUseResult;if(!(!r?.filePath||!r.structuredPatch)){a.includes(r.filePath)||a.push(r.filePath);try{if(`type`in r&&r.type===`create`)o+=r.content.split(/\r?\n/).length;else for(let e of r.structuredPatch){let t=z(e.lines,e=>e.startsWith(`+`)),n=z(e.lines,e=>e.startsWith(`-`));o+=t,s+=n}}catch{}}}return{filesChanged:a,insertions:o,deletions:s}}function Q(e){if(e.type!==`user`||Array.isArray(e.message.content)&&e.message.content[0]?.type===`tool_result`||N(e)||e.isMeta||e.isCompactSummary||e.isVisibleInTranscriptOnly)return!1;let t=e.message.content,n=typeof t==`string`?null:t[t.length-1],r=typeof t==`string`?t.trim():n&&Pe(n)?n.text.trim():``;return!(r.indexOf(`<local-command-stdout>`)!==-1||r.indexOf(`<local-command-stderr>`)!==-1||r.indexOf(`<bash-stdout>`)!==-1||r.indexOf(`<bash-stderr>`)!==-1||r.indexOf(`<task-notification>`)!==-1||r.indexOf(`<tick>`)!==-1)}function He(e,t){for(let n=t+1;n<e.length;n++){let t=e[n];if(t&&!N(t)&&!I(t)&&t.type!==`progress`&&t.type!==`system`&&t.type!==`attachment`&&!(t.type===`user`&&t.isMeta)){if(t.type===`assistant`){let e=t.message.content;if(Array.isArray(e)&&e.some(e=>e.type===`text`&&e.text.trim()||e.type===`tool_use`))return!1;continue}if(t.type===`user`)return!1}}return!0}var $,Ue=e((()=>{r(),W(),R(),j(),Se(),oe(),S(),Ce(),Te(),P(),$=7}));export{Q as a,He as i,Ne as n,Ae as o,Ue as r,Fe as t};
@@ -1,10 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{l as n,o as r}from"./envUtils-DZ_SvEVz.js";import{n as i,t as a}from"./figures-5ThXQEtq.js";import{C as o,Gr as s,I as c,N as l,P as u,Pn as d,Rn as f,ai as p,di as m,fi as h,j as g,mt as _,ot as v,t as y,xt as b}from"./src-WZ94ZKI3.js";import{t as x}from"./jsx-runtime-Bb4Xn-E0.js";import{$i as S,$u as C,$y as w,Bh as T,Cy as E,Du as D,Dy as O,Eu as k,Ey as A,Gx as ee,Ji as te,KC as ne,Mh as re,Ou as ie,Px as j,QS as M,Qi as N,Qy as P,Rx as ae,Sa as oe,Tu as F,WC as se,Xy as ce,Yy as le,ZS as I,Zy as ue,aC as de,aS as L,aa as fe,bm as R,bu as pe,da as me,dd as he,du as ge,ea as _e,ed as ve,fu as ye,ha as be,hg as xe,jh as Se,ku as Ce,ky as we,la as Te,na as Ee,nb as z,oS as De,pa as Oe,qy as ke,ra as Ae,rb as je,sC as Me,sS as Ne,sb as B,ta as Pe,ud as Fe,uu as Ie,vu as Le,wu as Re,xm as ze,xu as Be,yu as Ve,zh as He,zx as Ue}from"./loadAgentsDir-DR5PVAc3.js";import{n as We,t as Ge}from"./cwd-DrEEb4f5.js";import{a as Ke,c as V,i as qe,n as Je,o as Ye}from"./debug-kBjDaVkQ.js";import{Bt as Xe,Vt as Ze,m as Qe,t as $e}from"./settings-YIDksG5Z.js";import{d as et,h as tt,o as nt}from"./config-D3K87Mm1.js";import{B as rt,L as it,R as at,q as ot}from"./log-DWZny1vM.js";import{_ as st,f as ct,p as lt,y as ut}from"./startupProfiler-DIM_Ihyp.js";import{l as dt,o as ft}from"./stringUtils-D_xPrwGQ.js";import{f as pt,h as mt,x as ht}from"./model-D42epddJ.js";import{gn as gt,vn as _t}from"./prompt-CTByhpUI.js";import{a as vt,n as yt,r as bt,t as xt}from"./projectOnboardingState-KqcpRXls.js";import{n as St,t as Ct}from"./sleep-BbWr_FL1.js";import{n as wt,t as Tt}from"./systemTheme-Ceakddth.js";import{a as Et,c as Dt,i as Ot}from"./SpinnerGlyph-CmVXC-_9.js";import{n as kt,r as At}from"./PromptInputFooterSuggestions-CwqAsTI2.js";import{n as jt,t as Mt}from"./useMainLoopModel-BVgJo4hN.js";import{n as Nt,t as Pt}from"./modalContext-CBE8xuck.js";import{n as Ft,r as It,t as Lt}from"./statusNoticeHelpers-DI45AH-c.js";import{a as Rt,c as zt,i as Bt,l as Vt,n as Ht,o as Ut,r as Wt,t as Gt,u as Kt}from"./logoUtils-DR5T0pr3.js";import{homedir as qt}from"os";import{relative as Jt}from"path";import{fileURLToPath as Yt}from"url";function Xt(e,t){for(let n of e)if(!t.has(n))return!1;return!0}var Zt=e((()=>{}));function Qt(e){if(e.type!==`user`)return!1;let t=Array.isArray(e.message.content)?e.message.content[0]:void 0;return!t||typeof t==`string`||t?.type!==`text`||!t.text.includes(`<task-notification`)||j(t.text,`status`)!==`completed`?!1:j(t.text,`summary`)?.startsWith(`Background command `)??!1}function $t(e,t){if(!re()||t)return e;let n=[],r=0;for(;r<e.length;){let t=e[r];if(Qt(t)){let i=0;for(;r<e.length&&Qt(e[r]);)i++,r++;i===1?n.push(t):n.push({...t,message:{role:`user`,content:[{type:`text`,text:`<${rt}><${it}>completed</${it}><${at}>${i} background commands completed</${at}></${rt}>`}]}})}else n.push(t),r++}return n}var en=e((()=>{ot(),xe(),Se(),te()}));function tn(e){return e.type===`system`&&e.subtype===`stop_hook_summary`&&e.hookLabel!==void 0}function nn(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(tn(r)){let i=r.hookLabel,a=[];for(;n<e.length;){let t=e[n];if(!tn(t)||t.hookLabel!==i)break;a.push(t),n++}a.length===1?t.push(r):t.push({...r,hookCount:a.reduce((e,t)=>e+t.hookCount,0),hookInfos:a.flatMap(e=>e.hookInfos),hookErrors:a.flatMap(e=>e.hookErrors),preventedContinuation:a.some(e=>e.preventedContinuation),hasOutput:a.some(e=>e.hasOutput),totalDurationMs:Math.max(...a.map(e=>e.totalDurationMs??0))})}else t.push(r),n++}return t}var rn=e((()=>{}));function an(e){let t=cn.get(e);return t||(t=new Set(e.filter(e=>e.renderGroupedToolUse).map(e=>e.name)),cn.set(e,t)),t}function on(e){if(e.type===`assistant`&&e.message?.content&&Array.isArray(e.message.content)&&e.message.content[0]?.type===`tool_use`){let t=e.message.content[0];return{messageId:e.message.id,toolUseId:t.id,toolName:t.name}}return null}function sn(e,t,n=!1){if(n)return{messages:e};let r=an(t),i=new Map;for(let t of e){let e=on(t);if(e&&r.has(e.toolName)){let n=`${e.messageId}:${e.toolName}`,r=i.get(n)??[];r.push(t),i.set(n,r)}}let a=new Map,o=new Set;for(let[e,t]of i)if(t.length>=2){a.set(e,t);for(let e of t){let t=on(e);t&&o.add(t.toolUseId)}}let s=new Map;for(let t of e)if(t.type===`user`&&t.message?.content&&Array.isArray(t.message.content))for(let e of t.message.content)e.type===`tool_result`&&o.has(e.tool_use_id)&&s.set(e.tool_use_id,t);let c=[],l=new Set;for(let t of e){let e=on(t);if(e){let t=`${e.messageId}:${e.toolName}`,n=a.get(t);if(n){if(!l.has(t)){l.add(t);let r=n[0],i=[];for(let e of n){let t=e.message.content[0].id,n=s.get(t);n&&i.push(n)}let a={type:`grouped_tool_use`,toolName:e.toolName,messages:n,results:i,displayMessage:r,uuid:`grouped-${r.uuid}`,timestamp:r.timestamp,messageId:e.messageId};c.push(a)}continue}}if(t.type===`user`&&t.message?.content&&Array.isArray(t.message.content)){let e=t.message.content.filter(e=>e.type===`tool_result`);if(e.length>0&&e.every(e=>o.has(e.tool_use_id)))continue}c.push(t)}return{messages:c}}var cn,ln=e((()=>{cn=new WeakMap}));function un(e){let t=gn.get(e);if(t!==void 0)return t;let n=dn(e).toLowerCase();return gn.set(e,n),n}function dn(e){let t=``;switch(e.type){case`user`:{let n=e.message.content;if(typeof n==`string`)t=hn.has(n)?``:n;else{let r=[];for(let t of n??[])t.type===`text`?hn.has(t.text)||r.push(t.text):t.type===`tool_result`&&r.push(pn(e.toolUseResult));t=r.join(`
2
- `)}break}case`assistant`:{let n=e.message.content;Array.isArray(n)&&(t=n.flatMap(e=>e.type===`text`?[e.text]:e.type===`tool_use`?[fn(e.input)]:[]).join(`
3
- `));break}case`attachment`:if(e.attachment.type===`relevant_memories`)t=(e.attachment.memories??[]).map(e=>e.content).join(`
4
- `);else if(e.attachment.type===`queued_command`&&e.attachment.commandMode!==`task-notification`&&!e.attachment.isMeta){let n=e.attachment.prompt;t=typeof n==`string`?n:n.flatMap(e=>e.type===`text`?[e.text]:[]).join(`
5
- `)}break;case`collapsed_read_search`:e.relevantMemories&&(t=e.relevantMemories.map(e=>e.content).join(`
6
- `));break;default:break}let n=t,r=n.indexOf(`<system-reminder>`);for(;r>=0;){let e=n.indexOf(mn,r);if(e<0)break;n=n.slice(0,r)+n.slice(e+18),r=n.indexOf(`<system-reminder>`)}return n}function fn(e){if(!e||typeof e!=`object`)return``;let t=e,n=[];for(let e of[`command`,`pattern`,`file_path`,`path`,`prompt`,`description`,`query`,`url`,`skill`]){let r=t[e];typeof r==`string`&&n.push(r)}for(let e of[`args`,`files`]){let r=t[e];Array.isArray(r)&&r.every(e=>typeof e==`string`)&&n.push(r.join(` `))}return n.join(`
7
- `)}function pn(e){if(!e||typeof e!=`object`)return typeof e==`string`?e:``;let t=e;if(typeof t.stdout==`string`){let e=typeof t.stderr==`string`?t.stderr:``;return t.stdout+(e?`\n${e}`:``)}if(t.file&&typeof t.file==`object`&&typeof t.file.content==`string`)return t.file.content;let n=[];for(let e of[`content`,`output`,`result`,`text`,`message`]){let r=t[e];typeof r==`string`&&n.push(r)}for(let e of[`filenames`,`lines`,`results`]){let r=t[e];Array.isArray(r)&&r.every(e=>typeof e==`string`)&&n.push(r.join(`
8
- `))}return n.join(`
9
- `)}var mn,hn,gn,_n=e((()=>{te(),mn=`</system-reminder>`,hn=new Set([De,Ne]),gn=new WeakMap}));function vn({pose:e=`default`}={}){return(0,yn.jsxs)(c,{flexDirection:`column`,alignItems:`center`,children:[(0,yn.jsx)(u,{color:`clawd_body`,children:` █████ `}),(0,yn.jsx)(u,{color:`clawd_body`,children:`██ ● ● ██`}),(0,yn.jsx)(u,{color:`clawd_body`,children:`██ ▄▄▄ ██`}),(0,yn.jsx)(u,{color:`clawd_body`,children:` █ █ █ █ `})]})}var yn,bn=e((()=>{y(),yn=x()}));function xn(e){let{title:t,lines:n,footer:r,emptyMessage:i,customContent:a}=e,o=s(t);if(a!==void 0)o=Math.max(o,a.width);else if(n.length===0&&i)o=Math.max(o,s(i));else{let e=Math.max(0,...n.map(e=>e.timestamp?s(e.timestamp):0));for(let t of n){let n=e>0?e:0,r=s(t.text)+(n>0?n+2:0);o=Math.max(o,r)}}return r&&(o=Math.max(o,s(r))),o}function Sn({config:e,actualWidth:t}){let{title:n,lines:r,footer:i,emptyMessage:a,customContent:o}=e,l=Math.max(0,...r.map(e=>e.timestamp?s(e.timestamp):0));return(0,H.jsxs)(c,{flexDirection:`column`,width:t,children:[(0,H.jsx)(u,{bold:!0,color:`claude`,children:n}),o?(0,H.jsxs)(H.Fragment,{children:[o.content,i&&(0,H.jsx)(u,{dimColor:!0,italic:!0,children:ut(i,t)})]}):r.length===0&&a?(0,H.jsx)(u,{dimColor:!0,children:ut(a,t)}):(0,H.jsxs)(H.Fragment,{children:[r.map((e,n)=>{let r=Math.max(10,t-(l>0?l+2:0));return(0,H.jsxs)(u,{children:[l>0&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(u,{dimColor:!0,children:(e.timestamp||``).padEnd(l)}),` `]}),(0,H.jsx)(u,{children:ut(e.text,r)})]},n)}),i&&(0,H.jsx)(u,{dimColor:!0,italic:!0,children:ut(i,t)})]})]})}var H,Cn=e((()=>{y(),st(),H=x()}));function wn({feeds:e,maxWidth:t}){let n=e.map(e=>xn(e)),r=Math.max(...n),i=Math.min(r,t);return(0,En.jsx)(c,{flexDirection:`column`,children:e.map((t,n)=>(0,En.jsxs)(Tn.Fragment,{children:[(0,En.jsx)(Sn,{config:t,actualWidth:i}),n<e.length-1&&(0,En.jsx)(o,{color:`claude`,width:i})]},n))})}var Tn,En,Dn=e((()=>{Tn=t(p(),1),y(),Cn(),En=x()}));function On(e){let t=e.map(e=>{let t=lt(e.modified);return{text:(e.summary&&e.summary!==`No prompt`?e.summary:e.firstPrompt)||``,timestamp:t}});return{title:`Recent activity`,lines:t,footer:t.length>0?`/resume for more`:void 0,emptyMessage:`No recent activity`}}function kn(e){let t=e.filter(({isEnabled:e})=>e).sort((e,t)=>Number(e.isComplete)-Number(t.isComplete)).map(({text:e,isComplete:t})=>({text:`${t?`${a.tick} `:``}${e}`})),n=Ge()===qt()?`Note: You have launched claude in your home directory. For the best experience, launch it in a project directory instead.`:void 0;return n&&t.push({text:n}),{title:`Tips for getting started`,lines:t}}var An=e((()=>{i(),We(),st()}));function U(e,t,n){return Array.from({length:n},()=>({pose:e,offset:t}))}function jn(){let{pose:e,bounceOffset:t,onClick:n}=Mn();return(0,Pn.jsx)(c,{height:Bn,flexDirection:`column`,onClick:n,children:(0,Pn.jsx)(c,{marginTop:t,flexShrink:0,children:(0,Pn.jsx)(vn,{pose:e})})})}function Mn(){let[e]=(0,Nn.useState)(()=>$e().prefersReducedMotion??!1),[t,n]=(0,Nn.useState)(-1),r=(0,Nn.useRef)(Fn),i=()=>{e||t!==-1||(r.current=In[Math.floor(Math.random()*In.length)],n(0))};(0,Nn.useEffect)(()=>{if(t===-1)return;if(t>=r.current.length){n(-1);return}let e=setTimeout(n,Rn,zn);return()=>clearTimeout(e)},[t]);let a=r.current,o=t>=0&&t<a.length?a[t]:Ln;return{pose:o.pose,bounceOffset:o.offset,onClick:i}}var Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn=e((()=>{Nn=t(p(),1),y(),Qe(),bn(),Pn=x(),Fn=[...U(`default`,1,2),...U(`arms-up`,0,3),...U(`default`,0,1),...U(`default`,1,2),...U(`arms-up`,0,3),...U(`default`,0,1)],In=[Fn,[...U(`look-right`,0,5),...U(`look-left`,0,5),...U(`default`,0,1)]],Ln={pose:`default`,offset:0},Rn=60,zn=e=>e+1,Bn=3}));function Hn(){let{columns:e}=v(),t=T(e=>e.agent),n=ht(jt()),{version:r,cwd:i,billingType:a,agentName:o}=Ut(),l=t??o,d=Math.max(e-15,20),f=ut(r,Math.max(d-11,6)),{shouldSplit:p,truncatedModel:m,truncatedBilling:h}=Wt(n,a,d),g=l?d-1-s(l)-3:d,_=Kt(i,Math.max(g,10));return(0,W.jsx)(R,{children:(0,W.jsxs)(c,{flexDirection:`row`,gap:2,alignItems:`center`,children:[re()?(0,W.jsx)(jn,{}):(0,W.jsx)(vn,{}),(0,W.jsxs)(c,{flexDirection:`column`,children:[(0,W.jsxs)(u,{children:[(0,W.jsx)(u,{bold:!0,children:`Work Mate`}),` `,(0,W.jsxs)(u,{dimColor:!0,children:[`v`,f]})]}),p?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(u,{dimColor:!0,children:m}),(0,W.jsx)(u,{dimColor:!0,children:h})]}):(0,W.jsxs)(u,{dimColor:!0,children:[m,` · `,h]}),(0,W.jsx)(u,{dimColor:!0,children:l?`@${l} · ${_}`:_})]})]})})}var W,Un=e((()=>{Mt(),B(),y(),He(),st(),Se(),Vt(),pt(),ze(),Vn(),bn(),W=x()}));function Wn(){let e=(0,Kn.useMemo)(Gn,[]),t=(0,Kn.useMemo)(()=>nt().lastShownEmergencyTip,[]),n=e.tip&&e.tip!==t;return(0,Kn.useEffect)(()=>{n&&tt(t=>t.lastShownEmergencyTip===e.tip?t:{...t,lastShownEmergencyTip:e.tip})},[n,e.tip]),n?(0,qn.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,qn.jsx)(u,{...e.color===`warning`?{color:`warning`}:e.color===`error`?{color:`error`}:{dimColor:!0},children:e.tip})}):null}function Gn(){return Jn}var Kn,qn,Jn,Yn=e((()=>{Kn=t(p(),1),y(),et(),qn=x(),Jn={tip:``,color:`dim`}}));function Xn({char:e=`✻`}){let[t]=(0,Zn.useState)(()=>$e().prefersReducedMotion??!1),[n,r]=(0,Zn.useState)(t),i=(0,Zn.useRef)(null),[a,o]=_(n?null:50);return(0,Zn.useEffect)(()=>{if(n)return;let e=setTimeout(r,er,!0);return()=>clearTimeout(e)},[n]),n?(0,Qn.jsx)(c,{ref:a,children:(0,Qn.jsx)(u,{color:tr,children:e})}):(i.current===null&&(i.current=o),(0,Qn.jsx)(c,{ref:a,children:(0,Qn.jsx)(u,{color:Dt(Ot((o-i.current)/$n*360%360)),children:e})}))}var Zn,Qn,$n,er,tr,nr=e((()=>{Zn=t(p(),1),Ze(),y(),Qe(),Et(),Qn=x(),$n=1500,er=$n*2,tr=Dt({r:153,g:153,b:153})}));function rr(){return mt()&&(nt().opus1mMergeNoticeSeenCount??0)<sr}function ir(){let[e]=(0,ar.useState)(rr);return(0,ar.useEffect)(()=>{if(!e)return;let t=(nt().opus1mMergeNoticeSeenCount??0)+1;tt(e=>(e.opus1mMergeNoticeSeenCount??0)>=t?e:{...e,opus1mMergeNoticeSeenCount:t})},[e]),e?(0,or.jsxs)(c,{paddingLeft:2,children:[(0,or.jsx)(Xn,{char:`↑`}),(0,or.jsx)(u,{dimColor:!0,children:` Opus now defaults to 1M context · 5x more room, same pricing`})]}):null}var ar,or,sr,cr=e((()=>{ar=t(p(),1),Ze(),y(),et(),pt(),nr(),or=x(),sr=6}));function lr(){let e=zt(),{columns:t}=v(),r=vt(),i=de.isSandboxingEnabled(),a=T(e=>e.agent),o=nt(),[l]=(0,ur.useState)(()=>{let e=$e().companyAnnouncements;if(!(!e||e.length===0))return o.numStartups===1?e[0]:e[Math.floor(Math.random()*e.length)]});(0,ur.useEffect)(()=>{r&&yt()},[r]),!r&&n(process.env.WORKMATE_FORCE_FULL_LOGO);let d=ht(jt()),{version:f,cwd:p,billingType:m,agentName:h}=Ut(),_=a??h,y=ut(d,dr-20);if(!r&&!n(process.env.WORKMATE_FORCE_FULL_LOGO))return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Hn,{}),(0,G.jsx)(ir,{}),Ke()&&(0,G.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(u,{color:`warning`,children:`Debug mode enabled`}),(0,G.jsxs)(u,{dimColor:!0,children:[`Logging to: `,Ye()?`stderr`:Je()]})]}),(0,G.jsx)(Wn,{}),process.env.WORKMATE_TMUX_SESSION&&(0,G.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsxs)(u,{dimColor:!0,children:[`tmux session: `,process.env.WORKMATE_TMUX_SESSION]}),(0,G.jsx)(u,{dimColor:!0,children:process.env.WORKMATE_TMUX_PREFIX_CONFLICTS?`Detach: ${process.env.WORKMATE_TMUX_PREFIX} ${process.env.WORKMATE_TMUX_PREFIX} d (press prefix twice - Work Mate uses ${process.env.WORKMATE_TMUX_PREFIX})`:`Detach: ${process.env.WORKMATE_TMUX_PREFIX} d`})]}),l&&(0,G.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(u,{children:l})})]});let b=Rt(t),x=wt(nt().theme),S=` ${g(`claude`,x)(`Work Mate`)} ${g(`inactive`,x)(`v${f}`)} `,C=g(`claude`,x)(` Work Mate `);if(b===`compact`){let e=Bt(null);s(e)>t-4&&(e=Bt(null));let n=_?t-4-1-s(_)-3:t-4,r=Kt(p,Math.max(n,10));return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(R,{children:(0,G.jsxs)(c,{flexDirection:`column`,borderStyle:`round`,borderColor:`claude`,borderText:{content:C,position:`top`,align:`start`,offset:1},paddingX:1,paddingY:1,alignItems:`center`,width:t,children:[(0,G.jsx)(u,{bold:!0,children:e}),(0,G.jsx)(c,{marginY:1,children:(0,G.jsx)(vn,{})}),(0,G.jsx)(u,{dimColor:!0,children:y}),(0,G.jsx)(u,{dimColor:!0,children:m}),(0,G.jsx)(u,{dimColor:!0,children:_?`@${_} · ${r}`:r})]})}),(0,G.jsx)(ir,{}),i&&(0,G.jsx)(c,{marginTop:1,flexDirection:`column`,children:(0,G.jsx)(u,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})})]})}let w=Bt(null),E=`${y} · ${m}`,D=_?dr-1-s(_)-3:dr,O=Kt(p,Math.max(D,10)),k=_?`@${_} · ${O}`:O,{leftWidth:A,rightWidth:ee}=Gt(t,b,Ht(w,k,E));return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(R,{children:(0,G.jsx)(c,{flexDirection:`column`,borderStyle:`round`,borderColor:`claude`,borderText:{content:S,position:`top`,align:`start`,offset:3},children:(0,G.jsxs)(c,{flexDirection:b===`horizontal`?`row`:`column`,paddingX:1,gap:1,children:[(0,G.jsxs)(c,{flexDirection:`column`,width:A,justifyContent:`space-between`,alignItems:`center`,minHeight:9,children:[(0,G.jsx)(c,{marginTop:1,children:(0,G.jsx)(u,{bold:!0,children:w})}),(0,G.jsx)(vn,{}),(0,G.jsxs)(c,{flexDirection:`column`,alignItems:`center`,children:[(0,G.jsx)(u,{dimColor:!0,children:E}),(0,G.jsx)(u,{dimColor:!0,children:k})]})]}),b===`horizontal`&&(0,G.jsx)(c,{height:`100%`,borderStyle:`single`,borderColor:`claude`,borderDimColor:!0,borderTop:!1,borderBottom:!1,borderLeft:!1}),b===`horizontal`&&(0,G.jsx)(wn,{feeds:r?[kn(xt()),On(e)]:[On(e)],maxWidth:ee})]})})}),(0,G.jsx)(ir,{}),Ke()&&(0,G.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsx)(u,{color:`warning`,children:`Debug mode enabled`}),(0,G.jsxs)(u,{dimColor:!0,children:[`Logging to: `,Ye()?`stderr`:Je()]})]}),(0,G.jsx)(Wn,{}),process.env.WORKMATE_TMUX_SESSION&&(0,G.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,G.jsxs)(u,{dimColor:!0,children:[`tmux session: `,process.env.WORKMATE_TMUX_SESSION]}),(0,G.jsx)(u,{dimColor:!0,children:process.env.WORKMATE_TMUX_PREFIX_CONFLICTS?`Detach: ${process.env.WORKMATE_TMUX_PREFIX} ${process.env.WORKMATE_TMUX_PREFIX} d (press prefix twice - Work Mate uses ${process.env.WORKMATE_TMUX_PREFIX})`:`Detach: ${process.env.WORKMATE_TMUX_PREFIX} d`})]}),l&&(0,G.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(u,{children:l})}),i&&(0,G.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,G.jsx)(u,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})})]})}var ur,G,dr,fr=e((()=>{y(),B(),Vt(),st(),bn(),Dn(),An(),et(),Tt(),Qe(),qe(),ur=t(p(),1),bt(),Un(),ze(),r(),Yn(),cr(),Me(),He(),Mt(),pt(),G=x(),dr=50}));function pr({message:e,isTranscriptMode:t}){let n=e.message?.content,r=Array.isArray(n)?n:[];if(!(t&&e.type===`assistant`&&e.message?.model&&r.some(e=>e?.type===`text`)))return null;let i=e.message.model;return(0,mr.jsx)(c,{minWidth:s(i)+8,children:(0,mr.jsx)(u,{dimColor:!0,children:i})})}var mr,hr=e((()=>{y(),mr=x()}));function gr({message:e,isTranscriptMode:t}){if(!(t&&e.timestamp&&e.type===`assistant`&&Array.isArray(e.message.content)&&e.message.content.some(e=>e.type===`text`)))return null;let n=new Date(e.timestamp).toLocaleTimeString(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!0});return(0,_r.jsx)(c,{minWidth:s(n),children:(0,_r.jsx)(u,{dimColor:!0,children:n})})}var _r,vr=e((()=>{y(),_r=x()}));function yr(e,t,n,r){for(let i=t+1;i<e.length;i++){let t=e[i];if(t?.type===`assistant`){let e=Er(t.message.content);if(e?.type===`thinking`||e?.type===`redacted_thinking`||e?.type===`tool_use`&&(k(e.name,e.input,n).isCollapsible||r.has(e.id)))continue;return!0}if(!(t?.type===`system`||t?.type===`attachment`)&&!(t?.type===`user`&&Er(t.message.content)?.type===`tool_result`)){if(t?.type===`grouped_tool_use`){let e=Er(t.messages[0]?.message.content)?.input;if(k(t.toolName,e,n).isCollapsible)continue}return!0}}return!1}function br({message:e,isUserContinuation:t,hasContentAfter:n,tools:r,commands:i,verbose:a,inProgressToolUseIDs:o,streamingToolUseIDs:s,screen:l,canAnimate:u,lastThinkingBlockId:d,latestBashOutputUUID:f,columns:p,isLoading:m,lookups:h,shouldCollapseDiffs:g}){let _=l===`transcript`,v=e.type===`grouped_tool_use`,y=e.type===`collapsed_read_search`,b=y&&(ie(e,o)||m&&!n),x=v?e.displayMessage:y?F(e):e,S=v||y?[]:_e(e,h),C=Li(e,s,o,v||y?L:Pe(e,h),l,h),w=!1;if(u)if(v)w=e.messages.some(e=>{let t=Er(e.message.content);return t?.type===`tool_use`&&o.has(t.id)});else if(y)w=ie(e,o);else{let t=Ue(e);w=!t||o.has(t)}let T=_&&x.type===`assistant`&&Array.isArray(x.message.content)&&x.message.content.some(e=>e.type===`text`)&&(x.timestamp||x.message.model),E=(0,Tr.jsx)(Ie,{message:e,lookups:h,addMargin:!T,containerWidth:T?void 0:p,tools:r,commands:i,verbose:a,inProgressToolUseIDs:o,progressMessagesForMessage:S,shouldAnimate:w,shouldShowDot:!0,isTranscriptMode:_,isStatic:C,isActiveCollapsedGroup:b,isUserContinuation:t,lastThinkingBlockId:d,latestBashOutputUUID:f,shouldCollapseDiffs:g});return T?(0,Tr.jsx)(R,{children:(0,Tr.jsxs)(c,{width:p,flexDirection:`column`,children:[(0,Tr.jsxs)(c,{flexDirection:`row`,justifyContent:`flex-end`,gap:1,marginTop:1,children:[(0,Tr.jsx)(gr,{message:x,isTranscriptMode:_}),(0,Tr.jsx)(pr,{message:x,isTranscriptMode:_})]}),E]})}):(0,Tr.jsx)(R,{children:E})}function xr(e,t){if(e.type===`grouped_tool_use`)return e.messages.some(e=>{let n=Er(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return D(e).some(e=>t.has(e));let n=Ue(e);return!!n&&t.has(n)}function Sr(e,t){if(e.type===`grouped_tool_use`)return e.messages.every(e=>{let n=Er(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return D(e).every(e=>t.has(e));if(e.type===`assistant`){let n=Er(e.message.content);if(n?.type===`server_tool_use`)return t.has(n.id)}let n=Ue(e);return!n||t.has(n)}function Cr(e,t){if(e.message!==t.message||e.screen!==t.screen||e.verbose!==t.verbose||e.message.type===`collapsed_read_search`&&t.screen!==`transcript`||e.columns!==t.columns||e.latestBashOutputUUID===e.message.uuid!=(t.latestBashOutputUUID===t.message.uuid)||e.lastThinkingBlockId!==t.lastThinkingBlockId&&ge(t.message))return!1;let n=xr(e.message,e.streamingToolUseIDs),r=Sr(e.message,e.lookups.resolvedToolUseIDs);return!(n||!r)}var wr,Tr,Er,Dr,Or=e((()=>{wr=t(p(),1),y(),Ce(),te(),ye(),Tr=x(),hr(),Gi(),vr(),ze(),Er=e=>{if(!Array.isArray(e))return;let t=e[0];if(!(t==null||typeof t==`string`))return t},Dr=wr.memo(br,Cr)}));function kr(e){return e.type===`attachment`&&Ar.has(e.attachment.type)}var Ar,jr=e((()=>{Ar=new Set(`hook_success.hook_additional_context.hook_cancelled.command_permissions.agent_mention.budget_usd.critical_system_reminder.edited_image_file.edited_text_file.opened_file_in_ide.output_style.plan_mode.plan_mode_exit.plan_mode_reentry.structured_output.todo_reminder.context_efficiency.deferred_tools_delta.mcp_instructions_delta.token_usage.max_turns_reached.task_reminder.auto_mode.auto_mode_exit.output_token_usage.verify_plan_reminder.current_session_memory.compaction_reminder.date_change`.split(`.`))}));function Mr(e){return Fr.filter(t=>t.isActive(e))}var K,Nr,Pr,Fr,Ir=e((()=>{y(),we(),i(),We(),st(),It(),K=x(),Nr={id:`large-memory-files`,type:`warning`,isActive:e=>A(e.memoryFiles).length>0,render:e=>(0,K.jsx)(K.Fragment,{children:A(e.memoryFiles).map(e=>{let t=e.path.startsWith(Ge())?Jt(Ge(),e.path):e.path;return(0,K.jsxs)(c,{flexDirection:`row`,children:[(0,K.jsx)(u,{color:`warning`,children:a.warning}),(0,K.jsxs)(u,{color:`warning`,children:[`Large `,(0,K.jsx)(u,{bold:!0,children:t}),` will impact performance (`,ct(e.content.length),` chars > `,ct(E),`)`,(0,K.jsx)(u,{dimColor:!0,children:` · /memory to edit`})]})]},e.path)})})},Pr={id:`large-agent-descriptions`,type:`warning`,isActive:e=>Ft(e.agentDefinitions)>Lt,render:e=>{let t=Ft(e.agentDefinitions);return(0,K.jsxs)(c,{flexDirection:`row`,children:[(0,K.jsx)(u,{color:`warning`,children:a.warning}),(0,K.jsxs)(u,{color:`warning`,children:[`Large cumulative agent descriptions will impact performance (~`,ct(t),` tokens > `,ct(Lt),`)`,(0,K.jsx)(u,{dimColor:!0,children:` · /agents to manage`})]})]})}},Fr=[Nr,Pr]}));function Lr({agentDefinitions:e}={}){let t={config:nt(),agentDefinitions:e,memoryFiles:(0,zr.use)(O())},n=Mr(t);return n.length===0?null:(0,Br.jsx)(c,{flexDirection:`column`,paddingLeft:1,children:n.map(e=>(0,Br.jsx)(Rr.Fragment,{children:e.render(t)},e.id))})}var Rr,zr,Br,Vr=e((()=>{Rr=t(p(),1),zr=t(p(),1),y(),we(),et(),Ir(),Br=x()}));function Hr(e,t,n){let r=(0,q.useRef)(new Map),i=(0,q.useRef)(0),a=(0,q.useRef)(0),o=(0,q.useRef)({arr:new Float64Array,version:-1,n:-1}),s=(0,q.useRef)(new Map),c=(0,q.useRef)(new Map),l=(0,q.useRef)(n),u=(0,q.useRef)(!1),d=(0,q.useRef)(null),f=(0,q.useRef)(0);if(l.current!==n){let e=l.current/n;l.current=n;for(let[t,n]of r.current)r.current.set(t,Math.max(1,Math.round(n*e)));i.current++,u.current=!0,f.current=2}let p=f.current>0?d.current:null,m=(0,q.useRef)(0),h=(0,q.useRef)(null);(0,q.useSyncExternalStore)((0,q.useCallback)(t=>e.current?.subscribe(t)??Xr,[e]),()=>{let t=e.current;if(!t)return NaN;let n=t.getScrollTop()+t.getPendingDelta(),r=Math.floor(n/Kr);return t.isSticky()?~r:r});let g=e.current?.getScrollTop()??-1,_=e.current?.getPendingDelta()??0,v=e.current?.getViewportHeight()??0,y=e.current?.isSticky()??!0;(0,q.useMemo)(()=>{let e=new Set(t),n=!1;for(let t of r.current.keys())e.has(t)||(r.current.delete(t),n=!0);for(let t of c.current.keys())e.has(t)||c.current.delete(t);n&&i.current++},[t]);let b=t.length;if(o.current.version!==i.current||o.current.n!==b){let e=o.current.arr.length>=b+1?o.current.arr:new Float64Array(b+1);e[0]=0;for(let n=0;n<b;n++)e[n+1]=e[n]+(r.current.get(t[n])??Ur);o.current={arr:e,version:i.current,n:b}}let x=o.current.arr,S=x[b],C,w;if(p)[C,w]=p,C=Math.min(C,b),w=Math.min(w,b);else if(v===0||g<0)C=Math.max(0,b-Gr),w=b;else{if(y){let e=v+Wr;for(C=b;C>0&&S-x[C-1]<e;)C--;w=b}else{let e=m.current,n=v*3,i=Math.min(g,g+_),a=Math.max(g,g+_),o=a-i,c=o>n&&_<0?a-n:i,l=c+Math.min(o,n),u=Math.max(0,c-e),f=l-e,p=u-Wr;{let e=0,t=b;for(;e<t;){let n=e+t>>1;x[n+1]<=p?e=n+1:t=n}C=e}{let e=d.current;if(e&&e[0]<C)for(let n=e[0];n<Math.min(C,e[1]);n++){let e=t[n];if(s.current.has(e)&&!r.current.has(e)){C=n;break}}}let h=v+2*Wr,y=Math.min(b,C+Jr),S=0;for(w=C;w<y&&(S<h||x[w]<f+v+Wr);)S+=r.current.get(t[w])??qr,w++}let e=v+2*Wr,n=Math.max(0,w-Jr),i=0;for(let e=C;e<w;e++)i+=r.current.get(t[e])??qr;for(;C>n&&i<e;)C--,i+=r.current.get(t[C])??qr;let o=d.current,c=Math.abs(g-a.current)+Math.abs(_);if(o&&c>v*2){let[e,t]=o;C<e-Yr&&(C=e-Yr),w>t+Yr&&(w=t+Yr),C>w&&(w=Math.min(C+Yr,b))}a.current=g}f.current>0?f.current--:d.current=[C,w];let T=(0,q.useDeferredValue)(C),E=(0,q.useDeferredValue)(w),D=C<T?T:C,O=w>E?E:w;if((D>O||y)&&(D=C,O=w),_>0&&(O=w),O-D>Jr){let e=(x[D]+x[O])/2;g-m.current<e?O=D+Jr:D=O-Jr}let k=m.current,A=x[D],ee=D===0?0:A+k,te=O===b?1/0:Math.max(A,x[O]-v)+k;(0,q.useLayoutEffect)(()=>{y?e.current?.setClampBounds(void 0,void 0):e.current?.setClampBounds(ee,te)}),(0,q.useLayoutEffect)(()=>{let e=h.current?.yogaNode;if(e&&e.getComputedWidth()>0&&(m.current=e.getComputedTop()),u.current){u.current=!1;return}let t=!1;for(let[e,n]of s.current){let i=n.yogaNode;if(!i)continue;let a=i.getComputedHeight(),o=r.current.get(e);a>0?o!==a&&(r.current.set(e,a),t=!0):i.getComputedWidth()>0&&o!==0&&(r.current.set(e,0),t=!0)}t&&i.current++});let ne=(0,q.useCallback)(e=>{let t=c.current.get(e);return t||(t=t=>{if(t)s.current.set(e,t);else{let t=s.current.get(e)?.yogaNode;if(t&&!u.current){let n=t.getComputedHeight();(n>0||t.getComputedWidth()>0)&&r.current.get(e)!==n&&(r.current.set(e,n),i.current++)}s.current.delete(e)}},c.current.set(e,t)),t},[]),re=(0,q.useCallback)(e=>{let n=s.current.get(t[e])?.yogaNode;return!n||n.getComputedWidth()===0?-1:n.getComputedTop()},[t]),ie=(0,q.useCallback)(e=>s.current.get(t[e])??null,[t]),j=(0,q.useCallback)(e=>r.current.get(t[e]),[t]),M=(0,q.useCallback)(t=>{let n=o.current;t<0||t>=n.n||e.current?.scrollTo(n.arr[t]+m.current)},[e]),N=S-x[O];return{range:[D,O],topSpacer:A,bottomSpacer:N,measureRef:ne,spacerRef:h,offsets:x,getItemTop:re,getItemElement:ie,getItemHeight:j,scrollToIndex:M}}var q,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr=e((()=>{q=t(p(),1),Ur=3,Wr=40,Gr=30,Kr=20,qr=1,Jr=200,Yr=25,Xr=()=>{}}));function Qr({children:e}){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(null);return(0,ri.jsx)(ai.Provider,{value:n,children:(0,ri.jsx)(si.Provider,{value:i,children:(0,ri.jsx)(ii.Provider,{value:t,children:(0,ri.jsx)(oi.Provider,{value:r,children:e})})})})}function $r(){return(0,J.useContext)(ii)}function ei(){return(0,J.useContext)(oi)}function ti(e){let t=(0,J.useContext)(ai);(0,J.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}function ni(e){let t=(0,J.useContext)(si);(0,J.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}var J,ri,ii,ai,oi,si,ci=e((()=>{J=t(p(),1),ri=x(),ii=(0,J.createContext)(null),ai=(0,J.createContext)(null),oi=(0,J.createContext)(null),si=(0,J.createContext)(null)}));function li(e){let[t,n]=(0,Y.useState)(null),r=(0,Y.useRef)(e);r.current=e;let i=(0,Y.useRef)(null),a=(0,Y.useCallback)(()=>{n(null)},[]),o=(0,Y.useCallback)(e=>{let t=Math.max(0,e.getScrollHeight()-e.getViewportHeight());e.getScrollTop()+e.getPendingDelta()>=t||i.current===null&&(i.current=e.getScrollHeight(),n(r.current))},[]),s=(0,Y.useCallback)(e=>{e&&e.scrollToBottom()},[]);return(0,Y.useEffect)(()=>{t===null?i.current=null:e<t&&(i.current=null,n(null))},[e,t]),{dividerIndex:t,dividerYRef:i,onScrollAway:o,onRepin:a,jumpToNew:s,shiftDivider:(0,Y.useCallback)((e,t)=>{n(t=>t===null?null:t+e),i.current!==null&&(i.current+=t)},[])}}function ui(e,t){let n=0,r=!1;for(let i=t;i<e.length;i++){let t=e[i];if(t.type===`progress`||t.type===`assistant`&&!di(t))continue;let a=t.type===`assistant`;a&&!r&&n++,r=a}return n}function di(e){if(e.type!==`assistant`||!Array.isArray(e.message.content))return!1;for(let t of e.message.content)if(typeof t!=`string`&&t.type===`text`&&t.text.trim()!==``)return!0;return!1}function fi(e,t){if(t===null)return;let n=t;for(;n<e.length&&(e[n]?.type===`progress`||kr(e[n]));)n++;let r=e[n]?.uuid;if(!r)return;let i=ui(e,t);return{firstUnseenUuid:r,count:Math.max(1,i)}}function pi({scrollable:e,bottom:t,overlay:n,bottomFloat:r,modal:i,modalScrollRef:a,scrollRef:o,dividerYRef:s,hidePill:l=!1,hideSticky:d=!1,newMessageCount:p=0,onPillClick:m}){let{rows:h,columns:g}=v(),[_,y]=(0,Y.useState)(null),x=(0,Y.useMemo)(()=>({setStickyPrompt:y}),[]),S=(0,Y.useSyncExternalStore)((0,Y.useCallback)(e=>o?.current?.subscribe(e)??(()=>{}),[o]),()=>{let e=o?.current,t=s?.current;return!e||t==null?!1:e.getScrollTop()+e.getPendingDelta()+e.getViewportHeight()<t});if((0,Y.useLayoutEffect)(()=>{if(!re())return;let e=f.get(process.stdout);if(e)return e.onHyperlinkClick=e=>{if(e.startsWith(`file:`))try{Be(Yt(e))}catch{}else pe(e)},()=>{e.onHyperlinkClick=void 0}},[]),re()){let s=d?null:_,f=s!=null&&s!==`clicked`&&n==null?s:null,v=s!=null&&n==null;return(0,X.jsxs)(Qr,{children:[(0,X.jsx)(c,{flexDirection:`row`,flexGrow:1,overflow:`hidden`,width:`100%`,children:(0,X.jsxs)(c,{flexDirection:`column`,flexGrow:1,width:g,overflow:`hidden`,children:[(0,X.jsxs)(c,{flexGrow:1,flexDirection:`column`,overflow:`hidden`,children:[f&&(0,X.jsx)(hi,{text:f.text,onClick:f.scrollTo}),(0,X.jsxs)(b,{ref:o,flexGrow:1,flexDirection:`column`,paddingTop:+!v,stickyScroll:!0,children:[(0,X.jsx)(yi,{value:x,children:e}),n]}),!l&&S&&n==null&&(0,X.jsx)(mi,{count:p,onClick:m}),r!=null&&(0,X.jsx)(c,{position:`absolute`,bottom:0,right:0,opaque:!0,children:r})]}),(0,X.jsxs)(c,{flexDirection:`column`,flexShrink:0,width:`100%`,maxHeight:`50%`,children:[(0,X.jsx)(gi,{}),(0,X.jsx)(_i,{}),(0,X.jsx)(c,{flexDirection:`column`,width:`100%`,flexGrow:1,overflowY:`hidden`,children:t})]})]})}),i!=null&&(0,X.jsx)(Pt,{value:{rows:h-vi-1,columns:g-4,scrollRef:a??null},children:(0,X.jsxs)(c,{position:`absolute`,bottom:0,left:0,right:0,maxHeight:h-vi,flexDirection:`column`,overflow:`hidden`,opaque:!0,children:[(0,X.jsx)(c,{flexShrink:0,children:(0,X.jsx)(u,{color:`permission`,children:`▔`.repeat(g)})}),(0,X.jsx)(c,{flexDirection:`column`,paddingX:2,flexShrink:0,overflow:`hidden`,children:i})]})})]})}return(0,X.jsxs)(X.Fragment,{children:[e,t,n,i]})}function mi({count:e,onClick:t}){let[n,r]=(0,Y.useState)(!1);return(0,X.jsx)(c,{position:`absolute`,bottom:0,left:0,right:0,justifyContent:`center`,children:(0,X.jsx)(c,{onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,X.jsxs)(u,{backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,dimColor:!0,children:[` `,e>0?`${e} new ${dt(e,`message`)}`:`Jump to bottom`,` `,a.arrowDown,` `]})})})}function hi({text:e,onClick:t}){let[n,r]=(0,Y.useState)(!1);return(0,X.jsx)(c,{flexShrink:0,width:`100%`,height:1,paddingRight:1,backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,X.jsxs)(u,{color:`subtle`,wrap:`truncate-end`,children:[a.pointer,` `,e]})})}function gi(){let e=$r();return!e||e.suggestions.length===0?null:(0,X.jsx)(c,{position:`absolute`,bottom:`100%`,left:0,right:0,paddingX:2,paddingTop:1,flexDirection:`column`,opaque:!0,children:(0,X.jsx)(kt,{suggestions:e.suggestions,selectedSuggestion:e.selectedSuggestion,maxColumnWidth:e.maxColumnWidth,overlay:!0})})}function _i(){let e=ei();return e?(0,X.jsx)(c,{position:`absolute`,bottom:`100%`,left:0,right:0,opaque:!0,children:e}):null}var Y,X,vi,yi,bi=e((()=>{i(),Y=t(p(),1),Nt(),ci(),B(),y(),Ve(),Se(),ft(),jr(),At(),X=x(),vi=2,yi=(0,Y.createContext)({setStickyPrompt:()=>{}})}));function xi(e){let t=ki.get(e);if(t!==void 0)return t;let n=un(e);return ki.set(e,n),n}function Si(e){let t=ji.get(e);if(t!==void 0)return t;let n=Ci(e);return ji.set(e,n),n}function Ci(e){let t=null;if(e.type===`user`){if(e.isMeta||e.isVisibleInTranscriptOnly)return null;let n=e.message.content[0];if(n?.type!==`text`)return null;t=n.text??null}else if(e.type===`attachment`&&e.attachment.type===`queued_command`&&e.attachment.commandMode!==`task-notification`&&!e.attachment.isMeta){let n=e.attachment.prompt;t=typeof n==`string`?n:n.flatMap(e=>e.type===`text`?[e.text??``]:[]).join(`
10
- `)}if(t===null)return null;let n=P(t);return n.startsWith(`<`)||n===``?null:n}function wi({itemKey:e,msg:t,idx:n,measureRef:r,expanded:i,hovered:a,clickable:o,onClickK:s,onEnterK:u,onLeaveK:d,renderItem:f}){return(0,Di.jsx)(c,{ref:r(e),flexDirection:`column`,backgroundColor:i?`userMessageBackgroundHover`:void 0,paddingBottom:i?1:void 0,onClick:o?e=>s(t,e.cellIsBlank):void 0,onMouseEnter:o?()=>u(e):void 0,onMouseLeave:o?()=>d(e):void 0,children:(0,Di.jsx)(l.Provider,{value:a&&!i?`text`:void 0,children:f(t,n)})})}function Ti({messages:e,scrollRef:t,columns:n,itemKey:r,renderItem:i,onItemClick:a,isItemClickable:o,isItemExpanded:s,extractSearchText:l=xi,trackStickyPrompt:u,selectedIndex:d,cursorNavRef:f,setCursor:p,jumpRef:m,onSearchMatchesChange:h,scanElement:g,setPositions:_}){let v=(0,Z.useRef)([]),y=(0,Z.useRef)(e),b=(0,Z.useRef)(r);if(b.current!==r||e.length<v.current.length||e[0]!==y.current[0])v.current=e.map(e=>r(e));else for(let t=v.current.length;t<e.length;t++)v.current.push(r(e[t]));y.current=e,b.current=r;let x=v.current,{range:S,topSpacer:C,bottomSpacer:T,measureRef:E,spacerRef:D,offsets:O,getItemTop:k,getItemElement:A,getItemHeight:ee,scrollToIndex:te}=Hr(t,x,n),[ne,re]=S,ie=(0,Z.useCallback)(t=>ee(t)!==0&&ue(e[t]),[ee,e]);(0,Z.useImperativeHandle)(f,()=>{let n=e=>p?.({uuid:e.uuid,msgType:e.type,expanded:!1,toolName:w(e)?.name}),r=d??-1,i=(t,r,i=ie)=>{for(let a=t;a>=0&&a<e.length;a+=r)if(i(a))return n(e[a]),!0;return!1},a=t=>ie(t)&&e[t].type===`user`;return{enterCursor:()=>i(e.length-1,-1,a),navigatePrev:()=>i(r-1,-1),navigateNext:()=>{i(r+1,1)||(t.current?.scrollToBottom(),p?.(null))},navigatePrevUser:()=>i(r-1,-1,a),navigateNextUser:()=>i(r+1,1,a),navigateTop:()=>i(0,1),navigateBottom:()=>i(e.length-1,-1),getSelected:()=>r>=0?e[r]??null:null}},[e,d,p,ie]);let j=(0,Z.useRef)({offsets:O,start:ne,getItemElement:A,getItemTop:k,messages:e,scrollToIndex:te});j.current={offsets:O,start:ne,getItemElement:A,getItemTop:k,messages:e,scrollToIndex:te},(0,Z.useEffect)(()=>{if(d===void 0)return;let e=j.current,n=e.getItemElement(d);n?t.current?.scrollToElement(n,1):e.scrollToIndex(d)},[d,t]);let M=(0,Z.useRef)(null),N=(0,Z.useRef)({msgIdx:-1,positions:[]}),P=(0,Z.useRef)(-1),ae=(0,Z.useRef)(0),oe=(0,Z.useRef)(0),F=(0,Z.useRef)(()=>{}),se=(0,Z.useRef)(()=>{}),ce=(0,Z.useRef)({matches:[],ptr:0,screenOrd:0,prefixSum:[]}),le=(0,Z.useRef)(-1),I=(0,Z.useRef)(!1);function de(e){let t=j.current.getItemTop(e);return Math.max(0,t-Oi)}function L(e){let n=t.current,{msgIdx:r,positions:i}=N.current;if(!n||i.length===0||r<0){_?.(null);return}let a=Math.max(0,Math.min(e,i.length-1)),o=i[a],s=j.current.getItemTop(r),c=n.getViewportTop(),l=s-n.getScrollTop(),u=n.getViewportHeight(),d=c+l+o.row;(d<c||d>=c+u)&&(n.scrollTo(Math.max(0,s+o.row-Oi)),l=s-n.getScrollTop(),d=c+l+o.row),_?.({positions:i,rowOffset:c+l,currentIdx:a});let f=ce.current,p=f.prefixSum.at(-1)??0,m=(f.prefixSum[f.ptr]??0)+a+1;h?.(p,m),V(`highlight(i=${r}, ord=${a}/${i.length}): pos={row:${o.row},col:${o.col}} lo=${l} screenRow=${d} badge=${m}/${p}`)}se.current=L;let[fe,R]=(0,Z.useState)(0),pe=(0,Z.useCallback)(()=>R(e=>e+1),[]);(0,Z.useEffect)(()=>{let e=M.current;if(!e)return;let{idx:n,wantLast:r,tries:i}=e,a=t.current;if(!a)return;let{getItemElement:o,getItemTop:s,scrollToIndex:c}=j.current,l=o(n),u=l?.yogaNode?.getComputedHeight()??0;if(!l||u===0){if(i>1){M.current=null,V(`seek(i=${n}): no mount after scrollToIndex, skip`),F.current(r?-1:1);return}M.current={idx:n,wantLast:r,tries:i+1},c(n),pe();return}M.current=null,a.scrollTo(Math.max(0,s(n)-Oi));let d=g?.(l)??[];if(N.current={msgIdx:n,positions:d},V(`seek(i=${n} t=${i}): ${d.length} positions`),d.length===0){if(++ae.current>20){ae.current=0;return}F.current(r?-1:1);return}ae.current=0;let f=r?d.length-1:0;ce.current.screenOrd=f,P.current=-1,se.current(f);let p=oe.current;p&&(oe.current=0,F.current(p))},[fe]);function me(e,n){let r=t.current;if(!r)return;let i=j.current,{getItemElement:a,scrollToIndex:o}=i;if(e<0||e>=i.messages.length)return;_?.(null),N.current={msgIdx:-1,positions:[]},M.current={idx:e,wantLast:n,tries:0};let s=a(e),c=s?.yogaNode?.getComputedHeight()??0;s&&c>0?r.scrollTo(de(e)):o(e),pe()}function he(e){let t=ce.current,{matches:n,prefixSum:r}=t,i=r.at(-1)??0;if(n.length===0)return;if(M.current){oe.current=e;return}P.current<0&&(P.current=t.ptr);let{positions:a}=N.current,o=t.screenOrd+e;if(o>=0&&o<a.length){t.screenOrd=o,L(o),P.current=-1;return}let s=(t.ptr+e+n.length)%n.length;if(s===P.current){_?.(null),P.current=-1,V(`step: wraparound at ptr=${s}, all ${n.length} msgs phantoms`);return}t.ptr=s,t.screenOrd=0,me(n[s],e<0);let c=e<0?r[s+1]??i:r[s]+1;h?.(i,c)}F.current=he,(0,Z.useImperativeHandle)(m,()=>({jumpToIndex:e=>{let n=t.current;n&&n.scrollTo(de(e))},setSearchQuery:e=>{M.current=null,N.current={msgIdx:-1,positions:[]},P.current=-1,_?.(null);let n=e.toLowerCase(),r=[],i=[0];if(n){let e=j.current.messages;for(let t=0;t<e.length;t++){let a=l(e[t]),o=a.indexOf(n),s=0;for(;o>=0;)s++,o=a.indexOf(n,o+n.length);s>0&&(r.push(t),i.push(i.at(-1)+s))}}let a=i.at(-1),o=0,s=t.current,{offsets:c,start:u,getItemTop:d}=j.current,f=d(u),p=f>=0?f-c[u]:0;if(r.length>0&&s){let t=le.current>=0?le.current:s.getScrollTop(),n=1/0;for(let e=0;e<r.length;e++){let i=Math.abs(p+c[r[e]]-t);i<=n&&(n=i,o=e)}V(`setSearchQuery('${e}'): ${r.length} msgs · ptr=${o} msgIdx=${r[o]} curTop=${t} origin=${p}`)}ce.current={matches:r,ptr:o,screenOrd:0,prefixSum:i},r.length>0?me(r[o],!0):le.current>=0&&s&&s.scrollTo(le.current),h?.(a,r.length>0?i[o+1]??a:0)},nextMatch:()=>he(1),prevMatch:()=>he(-1),setAnchor:()=>{let e=t.current;e&&(le.current=e.getScrollTop())},disarmSearch:()=>{_?.(null),M.current=null,N.current={msgIdx:-1,positions:[]},P.current=-1},warmSearchIndex:async()=>{if(I.current)return 0;let e=j.current.messages,t=0,n=performance.now();for(let n=0;n<e.length;n+=500){await St(0);let r=performance.now(),i=Math.min(n+500,e.length);for(let t=n;t<i;t++)l(e[t]);t+=performance.now()-r}let r=Math.round(performance.now()-n);return V(`warmSearchIndex: ${e.length} msgs · work=${Math.round(t)}ms wall=${r}ms chunks=${Math.ceil(e.length/500)}`),I.current=!0,Math.round(t)}}),[t]);let[ge,_e]=(0,Z.useState)(null),ve=(0,Z.useRef)({onItemClick:a,setHoveredKey:_e});ve.current={onItemClick:a,setHoveredKey:_e};let ye=(0,Z.useCallback)((e,t)=>{let n=ve.current;!t&&n.onItemClick&&n.onItemClick(e)},[]),be=(0,Z.useCallback)(e=>{ve.current.setHoveredKey(e)},[]),xe=(0,Z.useCallback)(e=>{ve.current.setHoveredKey(t=>t===e?null:t)},[]);return(0,Di.jsxs)(Di.Fragment,{children:[(0,Di.jsx)(c,{ref:D,height:C,flexShrink:0}),e.slice(ne,re).map((e,t)=>{let n=ne+t,r=x[n],c=!!a&&(o?.(e)??!0),l=c&&ge===r,u=s?.(e);return(0,Di.jsx)(wi,{itemKey:r,msg:e,idx:n,measureRef:E,expanded:u,hovered:l,clickable:c,onClickK:ye,onEnterK:be,onLeaveK:xe,renderItem:i},r)}),T>0&&(0,Di.jsx)(c,{height:T,flexShrink:0}),u&&(0,Di.jsx)(Ei,{messages:e,start:ne,end:re,offsets:O,getItemTop:k,getItemElement:A,scrollRef:t})]})}function Ei({messages:e,start:t,end:n,offsets:r,getItemTop:i,getItemElement:a,scrollRef:o}){let{setStickyPrompt:s}=(0,Z.useContext)(yi);(0,Z.useSyncExternalStore)((0,Z.useCallback)(e=>o.current?.subscribe(e)??Mi,[o]),()=>{let e=o.current;if(!e)return NaN;let t=e.getScrollTop()+e.getPendingDelta();return e.isSticky()?-1-t:t});let c=o.current?.isSticky()??!0,l=Math.max(0,(o.current?.getScrollTop()??0)+(o.current?.getPendingDelta()??0)),u=t,d=-1;for(let e=n-1;e>=t;e--){let t=i(e);if(t>=0){if(t<l)break;d=t}u=e}let f=-1,p=null;if(u>0&&!c)for(let t=u-1;t>=0;t--){let n=Si(e[t]);if(n===null)continue;let r=i(t);if(!(r>=0&&r+1>=l)){f=t,p=n;break}}let m=d>=0?d-r[u]:0,h=f>=0?Math.max(0,m+r[f]):-1,g=(0,Z.useRef)({idx:-1,tries:0}),_=(0,Z.useRef)(`none`),v=(0,Z.useRef)(-1);return(0,Z.useEffect)(()=>{if(g.current.idx>=0)return;if(_.current===`armed`){_.current=`force`;return}let e=_.current===`force`;if(_.current=`none`,!e&&v.current===f)return;if(v.current=f,p===null){s(null);return}let t=p.trimStart(),n=t.search(/\n\s*\n/),r=(n>=0?t.slice(0,n):t).slice(0,Ai).replace(/\s+/g,` `).trim();if(r===``){s(null);return}let i=f,c=h;s({text:r,scrollTo:()=>{s(`clicked`),_.current=`armed`;let e=a(i);e?o.current?.scrollToElement(e,1):(o.current?.scrollTo(c),g.current={idx:i,tries:0})}})}),(0,Z.useEffect)(()=>{if(g.current.idx<0)return;let e=a(g.current.idx);e?(o.current?.scrollToElement(e,1),g.current={idx:-1,tries:0}):++g.current.tries>5&&(g.current={idx:-1,tries:0})}),null}var Z,Di,Oi,ki,Ai,ji,Mi,Ni=e((()=>{Z=t(p(),1),Zr(),y(),Le(),bi(),Di=x(),qe(),Ct(),_n(),ce(),Oi=3,ki=new WeakMap,Ai=500,ji=new WeakMap,Mi=()=>{}}));function Pi(e,t,n=Vi,r=Hi){let i=t.current,a=i?e.findIndex(e=>e.uuid===i.uuid):-1,o=a>=0?a:i?Math.min(i.idx,Math.max(0,e.length-n)):0;e.length-o>n+r&&(o=e.length-n);let s=e[o];return s&&(i?.uuid!==s.uuid||i.idx!==o)?t.current={uuid:s.uuid,idx:o}:!s&&i&&(t.current=null),o}function Fi(e){return(e.type===`assistant`||e.type===`user`?Ue(e):null)??e.uuid}function Ii(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Li(e,t,n,r,i,a){if(i===`transcript`)return!0;switch(e.type){case`attachment`:case`user`:case`assistant`:{if(e.type===`assistant`){let t=e.message.content[0];if(t?.type===`server_tool_use`)return a.resolvedToolUseIDs.has(t.id)}let i=Ue(e);return i?t.has(i)||n.has(i)||Ae(i,`PostToolUse`,a)?!1:Xt(r,a.resolvedToolUseIDs):!0}case`system`:return e.subtype!==`api_error`;case`grouped_tool_use`:return e.messages.every(e=>{let t=e.message.content[0];return t?.type===`tool_use`&&a.resolvedToolUseIDs.has(t.id)});case`collapsed_read_search`:return!1;default:return!0}}var Ri,Q,$,zi,Bi,Vi,Hi,Ui,Wi,Gi=e((()=>{h(),Ri=t(p(),1),Q=t(p(),1),Zt(),Ze(),B(),y(),z(),_t(),I(),en(),rn(),Ce(),et(),r(),Se(),ln(),te(),ft(),_n(),fr(),he(),Or(),ce(),ve(),jr(),ze(),Vr(),$=x(),se(),Ni(),zi=Ri.memo(function({agentDefinitions:e}){return(0,$.jsx)(R,{children:(0,$.jsxs)(c,{flexDirection:`column`,gap:1,children:[(0,$.jsx)(lr,{}),(0,$.jsx)(Ri.Suspense,{fallback:null,children:(0,$.jsx)(Lr,{agentDefinitions:e})})]})})}),Bi=30,Vi=200,Hi=50,Ui=({messages:e,tools:t,commands:r,verbose:i,toolJSX:a,toolUseConfirmQueue:s,inProgressToolUseIDs:l,isMessageSelectorVisible:f,conversationId:p,screen:h,streamingToolUses:g,showAllInTranscript:_=!1,agentDefinitions:y,hideLogo:b=!1,isLoading:x,hidePastThinking:w=!1,streamingThinking:T,streamingText:E,unseenDivider:D,scrollRef:O,trackStickyPrompt:k,jumpRef:A,onSearchMatchesChange:te,scanElement:ie,setPositions:j,disableRenderCap:P=!1,cursor:F=null,setCursor:se,cursorNavRef:ce,renderRange:I})=>{let{columns:ue}=v(),de=je(`transcript:toggleShowAll`,`Transcript`,`Ctrl+E`),L=(0,Q.useMemo)(()=>Te(e).filter(oe),[e]),R=(0,Q.useMemo)(()=>T?T.isStreaming?!0:T.streamingEndedAt?Date.now()-T.streamingEndedAt<3e4:!1:!1,[T]),{lastThinkingBlockId:pe,latestBashOutputUUID:he}=(0,Q.useMemo)(()=>{let e=null,t=null,n=w&&!R;w&&R&&(e=`streaming`);for(let r=L.length-1;r>=0;r--){let i=L[r];if(i?.type===`user`){let r=i.message.content;if(!t){for(let e of r)if(e.type===`text`){let n=e.text??``;if(n.startsWith(`<bash-stdout`)||n.startsWith(`<bash-stderr`)){t=i.uuid;break}}}n&&!e&&(r.some(e=>e.type===`tool_result`)||(e=`no-thinking`))}else if(i?.type===`assistant`&&n&&!e){let t=i.message.content;for(let n=t.length-1;n>=0;n--)if(t[n]?.type===`thinking`){e=`${i.uuid}:${n}`;break}}if(e!==null&&t)break}return w||(e=null),{lastThinkingBlockId:e,latestBashOutputUUID:t}},[L,w,R]),ge=(0,Q.useMemo)(()=>Ee(L),[L]),_e=(0,Q.useMemo)(()=>g.filter(e=>!l.has(e.contentBlock.id)&&!ge.has(e.contentBlock.id)),[g,l,ge]),ve=(0,Q.useMemo)(()=>_e.flatMap(e=>{let t=ee({content:[e.contentBlock]});return t.uuid=Oe(e.contentBlock.id,0),Te([t])}),[_e]),ye=h===`transcript`,xe=(0,Q.useMemo)(()=>n(process.env.WORKMATE_DISABLE_VIRTUAL_SCROLL),[]),Se=O!=null&&!xe,Ce=ye&&!_&&!Se,we=(0,Q.useRef)(null),z=(0,Q.useRef)(null),{collapsed:De,lookups:Ae,hasTruncatedMessages:Me,hiddenMessageCount:Ne}=(0,Q.useMemo)(()=>{let e=me((i||re()?L:ae(L,{includeSnipped:!0})).filter(e=>e.type!==`progress`&&!kr(e)&&be(e,ye)),ve),n=Ce?e.slice(-30):e,r=Ce&&e.length>Bi,{messages:a}=sn(n,t,i),o=$t(nn(Re(a,t)),i),s=S(L,n),c=(()=>{let e=n.at(-1);return e?.type===`assistant`?e.message?.id:void 0})(),l;if(z.current&&z.current.key===s)l=z.current.lookups;else if(z.current&&L.length>=z.current.normalizedCount&&n.length>=z.current.messageCount&&z.current.lastAssistantMsgId===c){let e=fe(z.current.lookups,z.current.normalizedCount,z.current.messageCount,L,n);e?(l=e,z.current={key:s,lookups:l,normalizedCount:L.length,messageCount:n.length,lastAssistantMsgId:c}):(l=N(L,n),z.current={key:s,lookups:l,normalizedCount:L.length,messageCount:n.length,lastAssistantMsgId:c})}else l=N(L,n),z.current={key:s,lookups:l,normalizedCount:L.length,messageCount:n.length,lastAssistantMsgId:c};let u=e.length-Bi;return{collapsed:o,lookups:l,hasTruncatedMessages:r,hiddenMessageCount:u}},[i,L,ye,ve,Ce,t]),B=(0,Q.useMemo)(()=>{let e=!Se&&!P?Pi(De,we):0;return I?De.slice(I[0],I[1]):e>0?De.slice(e):De},[De,I,Se,P]),Pe=(0,Q.useMemo)(()=>new Set(g.map(e=>e.contentBlock.id)),[g]),{dividerBeforeIndex:Ie,selectedIdx:Le}=(0,Q.useMemo)(()=>{if(!D&&!F)return{dividerBeforeIndex:-1,selectedIdx:-1};let e=-1,t=-1,n=D?.firstUnseenUuid.slice(0,24);for(let r=0;r<B.length;r++){let i=B[r];if(e===-1&&n&&i.uuid.slice(0,24)===n&&(e=r),t===-1&&F&&i.uuid===F.uuid&&(t=r),e!==-1&&t!==-1)break}return{dividerBeforeIndex:e,selectedIdx:t}},[D,F,B]),[ze,Be]=(0,Q.useState)(()=>new Set),Ve=(0,Q.useCallback)(e=>{let t=Fi(e);Be(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},[]),He=(0,Q.useCallback)(e=>ze.size>0&&ze.has(Fi(e)),[ze]),Ue=(0,Q.useRef)(Ae);Ue.current=Ae;let We=(0,Q.useCallback)(e=>{if(e.type===`collapsed_read_search`)return!0;if(e.type===`assistant`){let t=e.message.content,n=Array.isArray(t)?t[0]:void 0;return n!=null&&M(n)&&n.type===`advisor_tool_result`&&n.content.type===`advisor_result`}if(e.type!==`user`)return!1;let n=e.message.content[0];if(n?.type!==`tool_result`||n.is_error||!e.toolUseResult)return!1;let r=Ue.current.toolUseByToolUseID.get(n.tool_use_id??``)?.name;return(r?gt(t,r):void 0)?.isResultTruncated?.(e.toolUseResult)??!1},[t]),Ge=(!a||!!a.shouldContinueAnimation)&&!s.length&&!f,Ke=l.size>0,{progress:V}=d(),qe=(0,Q.useRef)(null),Je=nt().terminalProgressBarEnabled&&!ne();(0,Q.useEffect)(()=>{let e=Je?Ke?`indeterminate`:`completed`:null;qe.current!==e&&(qe.current=e,V(e))},[V,Je,Ke]),(0,Q.useEffect)(()=>()=>V(null),[V]);let Ye=(0,Q.useCallback)(e=>`${e.uuid}-${p}`,[p]),Ze=(e,n)=>{let a=n>0?B[n-1]?.type:void 0,s=e.type===`user`&&a===`user`,u=e.type===`collapsed_read_search`&&(!!E||yr(B,n,t,Pe)),d=B.length-1-n>0,f=Ye(e),p=(0,$.jsx)(Dr,{message:e,isUserContinuation:s,hasContentAfter:u,tools:t,commands:r,verbose:i||He(e)||F?.expanded===!0&&n===Le,inProgressToolUseIDs:l,streamingToolUseIDs:Pe,screen:h,canAnimate:Ge,lastThinkingBlockId:pe,latestBashOutputUUID:he,columns:ue,isLoading:x,lookups:Ae,shouldCollapseDiffs:d},f),m=(0,$.jsx)(le.Provider,{value:n===Le,children:p},f);return D&&n===Ie?[(0,$.jsx)(c,{marginTop:1,children:(0,$.jsx)(o,{title:`${D.count} new ${dt(D.count,`message`)}`,width:ue,color:`inactive`})},`unseen-divider`),m]:m},Qe=(0,Q.useRef)(new WeakMap),$e=(0,Q.useCallback)(e=>{let n=Qe.current.get(e);if(n!==void 0)return n;let r=un(e);if(e.type===`user`&&e.toolUseResult&&Array.isArray(e.message.content)){let n=e.message.content.find(e=>e.type===`tool_result`);if(n&&`tool_use_id`in n){let i=Ae.toolUseByToolUseID.get(n.tool_use_id),a=(i&&gt(t,i.name))?.extractSearchText?.(e.toolUseResult);a!==void 0&&(r=a)}}let i=r.toLowerCase();return Qe.current.set(e,i),i},[t,Ae]);return(0,$.jsxs)($.Fragment,{children:[!b&&!(I&&I[0]>0)&&(0,$.jsx)(zi,{agentDefinitions:y}),Me&&(0,$.jsx)(o,{title:`${de} to show ${m.bold(Ne)} previous messages`,width:ue}),ye&&_&&Ne>0&&!P&&(0,$.jsx)(o,{title:`${de} to hide ${m.bold(Ne)} previous messages`,width:ue}),Se?(0,$.jsx)(ke.Provider,{value:!0,children:(0,$.jsx)(Ti,{messages:B,scrollRef:O,columns:ue,itemKey:Ye,renderItem:Ze,onItemClick:Ve,isItemClickable:We,isItemExpanded:He,trackStickyPrompt:k,selectedIndex:Le>=0?Le:void 0,cursorNavRef:ce,setCursor:se,jumpRef:A,onSearchMatchesChange:te,scanElement:ie,setPositions:j,extractSearchText:$e})}):B.flatMap(Ze),E&&(0,$.jsx)(c,{alignItems:`flex-start`,flexDirection:`row`,marginTop:1,width:`100%`,children:(0,$.jsxs)(c,{flexDirection:`row`,children:[(0,$.jsx)(c,{minWidth:2,children:(0,$.jsx)(u,{color:`text`,children:Xe})}),(0,$.jsx)(c,{flexDirection:`column`,children:(0,$.jsx)(Fe,{children:E})})]})}),R&&T&&(0,$.jsx)(c,{marginTop:1,children:(0,$.jsx)(C,{param:{type:`thinking`,thinking:T.thinking},addMargin:!1,isTranscriptMode:!0,verbose:i,hideInTranscript:!1})})]})},Wi=Ri.memo(Ui,(e,t)=>{let n=Object.keys(e);for(let r of n)if(!(r===`scrollRef`||r===`trackStickyPrompt`||r===`setCursor`||r===`cursorNavRef`||r===`jumpRef`||r===`onSearchMatchesChange`||r===`scanElement`||r===`setPositions`)&&e[r]!==t[r]){if(r===`streamingToolUses`){let n=e.streamingToolUses,r=t.streamingToolUses;if(n.length===r.length&&n.every((e,t)=>e.contentBlock===r[t]?.contentBlock))continue}if(r===`inProgressToolUseIDs`&&Ii(e.inProgressToolUseIDs,t.inProgressToolUseIDs))continue;if(r===`unseenDivider`){let n=e.unseenDivider,r=t.unseenDivider;if(n?.firstUnseenUuid===r?.firstUnseenUuid&&n?.count===r?.count)continue}if(r===`tools`){let n=e.tools,r=t.tools;if(n.length===r.length&&n.every((e,t)=>e.name===r[t]?.name))continue}return!1}return!0})}));export{bi as a,ti as c,fi as i,ni as l,Gi as n,li as o,pi as r,ci as s,Wi as t};