@readmagic/workmate 0.0.28 → 0.0.30

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 (305) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-Bmgh8VS3.js → AddWorkspaceDirectory-B03NZZuQ.js} +1 -1
  2. package/dist/chunks/AgentsMdExternalIncludesDialog-45Ize2zR.js +1 -0
  3. package/dist/chunks/{AgentsMdExternalIncludesDialog-BJfHqScU.js → AgentsMdExternalIncludesDialog-CIyefOzT.js} +1 -1
  4. package/dist/chunks/App-WBysAL0_.js +1 -0
  5. package/dist/chunks/{BackgroundTasksDialog-WkoL4g5Q.js → BackgroundTasksDialog-CvvrjBoq.js} +2 -2
  6. package/dist/chunks/{BypassPermissionsModeDialog-BT9yl0Qt.js → BypassPermissionsModeDialog-DdVbMyla.js} +1 -1
  7. package/dist/chunks/{CustomSelect-t4wXuXWH.js → CustomSelect-iSG1rbWU.js} +1 -1
  8. package/dist/chunks/{DiffDialog-CXZxnb7Y.js → DiffDialog-DSb46fzB.js} +5 -5
  9. package/dist/chunks/Doctor--yF3SBsD.js +1 -0
  10. package/dist/chunks/Doctor-dR71Dg_D.js +3 -0
  11. package/dist/chunks/ExitFlow-BiBi5Sqk.js +2 -0
  12. package/dist/chunks/{InvalidConfigDialog-riLYEaUP.js → InvalidConfigDialog-7MkDSXXj.js} +1 -1
  13. package/dist/chunks/{InvalidSettingsDialog-BGXl3V1A.js → InvalidSettingsDialog-D8Ves3Th.js} +1 -1
  14. package/dist/chunks/{KeybindingProviderSetup-syiDgtpB.js → KeybindingProviderSetup-DJSFdVYv.js} +1 -1
  15. package/dist/chunks/MCPConnectionManager-BZxRMdGO.js +1 -0
  16. package/dist/chunks/MCPToolListView-H_Kvvelz.js +1 -0
  17. package/dist/chunks/{McpParsingWarnings-Czze2JPd.js → McpParsingWarnings-D2xvaog9.js} +1 -1
  18. package/dist/chunks/MessageSelector-DQgIgPij.js +3 -0
  19. package/dist/chunks/Messages-DyQCr-od.js +10 -0
  20. package/dist/chunks/{Onboarding-CD_Uv5h9.js → Onboarding-DFufTPIY.js} +1 -1
  21. package/dist/chunks/{PromptInputFooterSuggestions-CHXJsTtQ.js → PromptInputFooterSuggestions-B9JRcHHE.js} +1 -1
  22. package/dist/chunks/{PromptInputHelpMenu-BZIVCV7V.js → PromptInputHelpMenu-DcGXK5lt.js} +1 -1
  23. package/dist/chunks/{ProviderSetup-CwMvjmjh.js → ProviderSetup-DJ_Z1BSe.js} +1 -1
  24. package/dist/chunks/QueryEngine-BQ5PSqKV.js +1 -0
  25. package/dist/chunks/{REPL-CtFtb35A.js → REPL-CjoJCy0g.js} +24 -24
  26. package/dist/chunks/REPL-DGieTVDl.js +1 -0
  27. package/dist/chunks/ResumeConversation-exTLviBY.js +1 -0
  28. package/dist/chunks/SearchExtraToolsTool-BBhWAuoA.js +1 -0
  29. package/dist/chunks/Settings-nM6-cXh0.js +2 -0
  30. package/dist/chunks/Spinner-ChT4lOOg.js +1 -0
  31. package/dist/chunks/{SpinnerGlyph-BR_SiV9L.js → SpinnerGlyph-4aVLQdJf.js} +1 -1
  32. package/dist/chunks/{TextInput-ou7ZhpVY.js → TextInput-CanSwT9J.js} +5 -5
  33. package/dist/chunks/{ThemePicker-CVFWqSc7.js → ThemePicker-CXzPiSy0.js} +1 -1
  34. package/dist/chunks/{TrustDialog-CGXv_LF4.js → TrustDialog-D0fJ-YIw.js} +1 -1
  35. package/dist/chunks/{ValidationErrorsList-CKeHoN2Z.js → ValidationErrorsList-29bQ0l-Q.js} +1 -1
  36. package/dist/chunks/{_baseEach-BYhqv77g.js → _baseEach-DPcnudh_.js} +1 -1
  37. package/dist/chunks/{add-dir-BSizpuef.js → add-dir-DbNz1SeY.js} +1 -1
  38. package/dist/chunks/{agentDisplay-JKfYFD1m.js → agentDisplay-Bif3eE1e.js} +1 -1
  39. package/dist/chunks/{agents-BDTCH6YB.js → agents-CbsNbPbp.js} +1 -1
  40. package/dist/chunks/{agents-MEaV8P2G.js → agents-yvC-VikU.js} +6 -6
  41. package/dist/chunks/allErrors-Bv1e8fra.js +1 -0
  42. package/dist/chunks/{appleTerminalBackup-CN8kS74J.js → appleTerminalBackup-Ct9hf1QQ.js} +1 -1
  43. package/dist/chunks/{backgroundHousekeeping-CsXlkIg3.js → backgroundHousekeeping-C75FgxW1.js} +1 -1
  44. package/dist/chunks/backgroundHousekeeping-d0qpqWHe.js +1 -0
  45. package/dist/chunks/banner-D5m9LUjl.js +2 -0
  46. package/dist/chunks/{branch-BllXcYwS.js → branch-DOQ3yNds.js} +2 -2
  47. package/dist/chunks/bridgeControl-DMUu37uO.js +2 -0
  48. package/dist/chunks/{btw-DzaRBa6o.js → btw-DUjuwyMH.js} +1 -1
  49. package/dist/chunks/{bundledMode-D9omqD3L.js → bundledMode-Dqe4pz0a.js} +1 -1
  50. package/dist/chunks/caches-BKAPMXp9.js +1 -0
  51. package/dist/chunks/caches-he4NeZSK.js +1 -0
  52. package/dist/chunks/channel-C8JmEI06.js +2 -0
  53. package/dist/chunks/{channel-Gw6skpUh.js → channel-TEYwDITo.js} +1 -1
  54. package/dist/chunks/{clear-CDQs9_5P.js → clear-BFlTcvMt.js} +1 -1
  55. package/dist/chunks/{client-pA7fKk0-.js → client-D3QmHVeI.js} +1 -1
  56. package/dist/chunks/client-dTKhXxBT.js +1 -0
  57. package/dist/chunks/{client-2w-g5kMx.js → client-q_uGYC2E.js} +1 -1
  58. package/dist/chunks/client-y_U1O4mI.js +1 -0
  59. package/dist/chunks/commands-BoGtXPAA.js +1 -0
  60. package/dist/chunks/compact-CyR7Sbo1.js +2 -0
  61. package/dist/chunks/config-B-hDBSL8.js +1 -0
  62. package/dist/chunks/config-Bjwat4P6.js +3 -0
  63. package/dist/chunks/config-DubkVeOw.js +1 -0
  64. package/dist/chunks/{context-TkdzCK3Y.js → context-Cm_gyngQ.js} +1 -1
  65. package/dist/chunks/{context-noninteractive-BcBo64vo.js → context-noninteractive-BDmFfPRt.js} +2 -2
  66. package/dist/chunks/context-noninteractive-CmOFpwwP.js +1 -0
  67. package/dist/chunks/conversation-B7YCvyCD.js +1 -0
  68. package/dist/chunks/conversation-CYZKYlWc.js +1 -0
  69. package/dist/chunks/{conversationRecovery-_hWC7JBO.js → conversationRecovery-BUqpxLl-.js} +1 -1
  70. package/dist/chunks/crossProjectResume-BCa2l0KZ.js +40 -0
  71. package/dist/chunks/{debug-2pVES-2G.js → debug-NBJH_NxR.js} +2 -2
  72. package/dist/chunks/{detectRepository--luIRv5H.js → detectRepository-Bu0he_XM.js} +1 -1
  73. package/dist/chunks/{diff-BzVUPO4Z.js → diff-BEvpLh_b.js} +1 -1
  74. package/dist/chunks/{directoryCompletion-BC0qRmrz.js → directoryCompletion-CwKPuwrS.js} +1 -1
  75. package/dist/chunks/doctor-DYKr9Reu.js +1 -0
  76. package/dist/chunks/{entry-333L52Lo.js → entry-JGyBs1p5.js} +3 -3
  77. package/dist/chunks/{execFileNoThrow-DXSEj8ZO.js → execFileNoThrow-7Ys9mO27.js} +1 -1
  78. package/dist/chunks/exit-DU2KGyDk.js +1 -0
  79. package/dist/chunks/{extraUsage-CmgRR-zH.js → extraUsage-cZx2XLx4.js} +1 -1
  80. package/dist/chunks/extractMemories-4wbv-mTc.js +1 -0
  81. package/dist/chunks/fast-BALHWqpd.js +1 -0
  82. package/dist/chunks/{fast-D7oNjaZ3.js → fast-DUJq6-QE.js} +1 -1
  83. package/dist/chunks/{fetchModelList-Cv1vWIpC.js → fetchModelList-Dn8OahtV.js} +1 -1
  84. package/dist/chunks/fetchModelList-OZ2sLDEx.js +1 -0
  85. package/dist/chunks/{fileSuggestions-DF3HTRKr.js → fileSuggestions-XLnnVLwx.js} +3 -3
  86. package/dist/chunks/{gemini-ou7_YyXc.js → gemini-qzPNGqOX.js} +2 -2
  87. package/dist/chunks/{generateSessionName-CeN9EZNY.js → generateSessionName-CA-cc58H.js} +1 -1
  88. package/dist/chunks/{genericProcessUtils-GqURdVAv.js → genericProcessUtils-XwqvFxyn.js} +1 -1
  89. package/dist/chunks/{goal-CCxo4Wyf.js → goal-x9Pkx5nv.js} +3 -3
  90. package/dist/chunks/{grok-BMmUcNbI.js → grok-36CpLjsq.js} +1 -1
  91. package/dist/chunks/{help-CYtogTZk.js → help-DwfAEV0X.js} +1 -1
  92. package/dist/chunks/{history-CUrqO9rV.js → history-PZLMYab7.js} +1 -1
  93. package/dist/chunks/hooks-BofA8GeO.js +1 -0
  94. package/dist/chunks/{hooks-ByVkvodY.js → hooks-DBmA-DWx.js} +2 -2
  95. package/dist/chunks/{install-DIxyfdXG.js → install-DF4ep6nb.js} +1 -1
  96. package/dist/chunks/{instrumentation-BmHivmxs.js → instrumentation-BAbhrE3f.js} +3 -3
  97. package/dist/chunks/{job-D534P26R.js → job-CFWKIjNl.js} +1 -1
  98. package/dist/chunks/{keybindings-CxgQqQJe.js → keybindings-CkiE_uBG.js} +1 -1
  99. package/dist/chunks/{launchLocalMemory-CWXLb3KF.js → launchLocalMemory-Cf8l-1fz.js} +2 -2
  100. package/dist/chunks/{launchOnboarding-CocPmwzz.js → launchOnboarding-8CDef-v1.js} +1 -1
  101. package/dist/chunks/loadAgentsDir-C-qRJlXH.js +1 -0
  102. package/dist/chunks/{loadAgentsDir-bmpKLPdG.js → loadAgentsDir-DnHL_5cU.js} +358 -358
  103. package/dist/chunks/loadPluginHooks-BuunKr9m.js +1 -0
  104. package/dist/chunks/{loader-BMAtuwRa.js → loader-DsEdsMHv.js} +1 -1
  105. package/dist/chunks/localSearch-BulDBrBk.js +1 -0
  106. package/dist/chunks/{localSearch-Da8cVYoI.js → localSearch-LFCzV7VE.js} +1 -1
  107. package/dist/chunks/{log-L1kqxa_P.js → log-D98mO6yJ.js} +1 -1
  108. package/dist/chunks/{logoUtils-qNuBc2nI.js → logoUtils-B8MIA7c5.js} +1 -1
  109. package/dist/chunks/{magicDocs-BsEiBLQl.js → magicDocs-BoxJusTI.js} +2 -2
  110. package/dist/chunks/{main-B31aPMPP.js → main-B9ciFYnO.js} +22 -22
  111. package/dist/chunks/{managedEnv-EZ2IirNa.js → managedEnv-B0mj-wgE.js} +1 -1
  112. package/dist/chunks/managedEnv-BFpXdDI8.js +1 -0
  113. package/dist/chunks/mcp-B3Ewo-_h.js +1 -0
  114. package/dist/chunks/mcp-CHlAZvpV.js +2 -0
  115. package/dist/chunks/{mcp-Dd8TBfQQ.js → mcp-DVKuOqvY.js} +3 -3
  116. package/dist/chunks/memory-Cr0d-s7U.js +1 -0
  117. package/dist/chunks/{mode-SM8doWgC.js → mode-DBNBDbVP.js} +2 -2
  118. package/dist/chunks/model-B2r1Ms0g.js +1 -0
  119. package/dist/chunks/model-C9ANf1-R.js +1 -0
  120. package/dist/chunks/{modelOptions-BQL4gbNk.js → modelOptions-B4BWYms0.js} +1 -1
  121. package/dist/chunks/{nativeInstaller-DMkZdsof.js → nativeInstaller-BDJxBAPV.js} +1 -1
  122. package/dist/chunks/{notifications-BwS1XsnZ.js → notifications-BV-VeXyJ.js} +1 -1
  123. package/dist/chunks/{onChangeAppState-C9cYQJPF.js → onChangeAppState-BGWWkhBg.js} +1 -1
  124. package/dist/chunks/openai-BL_IWBTr.js +2 -0
  125. package/dist/chunks/{overlayContext-C5WPACKC.js → overlayContext-DGUFuee9.js} +1 -1
  126. package/dist/chunks/{parser-CTnaXFVJ.js → parser-D2kggQDp.js} +1 -1
  127. package/dist/chunks/parser-DZUcp40d.js +1 -0
  128. package/dist/chunks/{partition-CKgWl7p4.js → partition-B2VCm4vu.js} +1 -1
  129. package/dist/chunks/{pasteStore-njJCBMKr.js → pasteStore-2RafnH7M.js} +1 -1
  130. package/dist/chunks/permissions-Bkj1UB1h.js +3 -0
  131. package/dist/chunks/{pidLock-CqkC3-nD.js → pidLock-CawSx6hb.js} +2 -2
  132. package/dist/chunks/{plan-Ce6wfjjI.js → plan-D7Ki5ADu.js} +1 -1
  133. package/dist/chunks/plugin-D7I6VZjh.js +17 -0
  134. package/dist/chunks/{pluginAutoupdate-ByokIVEs.js → pluginAutoupdate-Cr3jw-ky.js} +1 -1
  135. package/dist/chunks/pluginBlocklist-JG_kJSSK.js +1 -0
  136. package/dist/chunks/pluginCliCommands-BWIBBFJf.js +1 -0
  137. package/dist/chunks/{pluginFlagging-B2ZX5_oB.js → pluginFlagging-yFcXMVin.js} +1 -1
  138. package/dist/chunks/pluginOperations-6QXjdPOb.js +2 -0
  139. package/dist/chunks/pluginStartupCheck-B-nYb61N.js +1 -0
  140. package/dist/chunks/{pluginStartupCheck-QG0d95dE.js → pluginStartupCheck-CkjyJ4RS.js} +1 -1
  141. package/dist/chunks/plugins-CMDfjFp-.js +4 -0
  142. package/dist/chunks/{poorMode-CG2JNTD0.js → poorMode-BvypUTur.js} +1 -1
  143. package/dist/chunks/poorMode-CP6359Sz.js +1 -0
  144. package/dist/chunks/print-B6x_8O9w.js +13 -0
  145. package/dist/chunks/process-CewWh77C.js +1 -0
  146. package/dist/chunks/process-De2crvt4.js +1 -0
  147. package/dist/chunks/processBashCommand-D0BBcBHY.js +1 -0
  148. package/dist/chunks/processSlashCommand-BvjNuNyP.js +5 -0
  149. package/dist/chunks/{projectOnboardingState-D-_ijZnG.js → projectOnboardingState-ofkjp9FJ.js} +1 -1
  150. package/dist/chunks/prompt-Cpu4meqR.js +1 -0
  151. package/dist/chunks/{prompt-BnDapYGL.js → prompt-DDlkyIzV.js} +3 -3
  152. package/dist/chunks/prompt-HO8Docca.js +1 -0
  153. package/dist/chunks/{promptEditor-14TB3MYt.js → promptEditor-CyMqa_av.js} +1 -1
  154. package/dist/chunks/{protocolHandler-CJO3CRYW.js → protocolHandler-Bjmx7OmF.js} +1 -1
  155. package/dist/chunks/{proxy--_NfbJhm.js → proxy-MzIsnPd7.js} +1 -1
  156. package/dist/chunks/{reconciler-C_HKsocm.js → reconciler-CHbint0C.js} +1 -1
  157. package/dist/chunks/refresh-yut9uEfd.js +1 -0
  158. package/dist/chunks/{reject-Tug1RmkE.js → reject-CrNfit3M.js} +1 -1
  159. package/dist/chunks/{reload-plugins-CL9LWzpq.js → reload-plugins-labKy5Eh.js} +1 -1
  160. package/dist/chunks/rename-c8tElppw.js +1 -0
  161. package/dist/chunks/{renderOptions-B0RFpjRI.js → renderOptions-B3DyIbF6.js} +1 -1
  162. package/dist/chunks/{resume-BZ42SpS2.js → resume-C8xif2lo.js} +2 -2
  163. package/dist/chunks/ripgrep-CIIzTaSI.js +1 -0
  164. package/dist/chunks/{ripgrep-67m14ImZ.js → ripgrep-CnK9qx1e.js} +1 -1
  165. package/dist/chunks/{runtimeObserver-DT5P2_XL.js → runtimeObserver-DuJ8mRfr.js} +4 -4
  166. package/dist/chunks/{runtimeObserver-BLq2guVy.js → runtimeObserver-vmPplAGH.js} +1 -1
  167. package/dist/chunks/sandbox-adapter-BKnsdtVj.js +1 -0
  168. package/dist/chunks/{sandbox-toggle-DghmaJhK.js → sandbox-toggle-USHaZHD7.js} +1 -1
  169. package/dist/chunks/searchExtraTools-DV5iZPdw.js +1 -0
  170. package/dist/chunks/{select-CaxQ-BVq.js → select-BpiKdirZ.js} +1 -1
  171. package/dist/chunks/sessionFileAccessHooks-nq8C34WL.js +1 -0
  172. package/dist/chunks/sessionObserver-CKp3uqPg.js +1 -0
  173. package/dist/chunks/{sessionObserver-DBoZUvWL.js → sessionObserver-sO6PF7mV.js} +1 -1
  174. package/dist/chunks/sessionStorage-CuQf4d1y.js +1 -0
  175. package/dist/chunks/{sessionTracing-5a7HDF4e.js → sessionTracing-Bz89tYh5.js} +1 -1
  176. package/dist/chunks/settings-B3WqnPDo.js +1 -0
  177. package/dist/chunks/{settings-D4M13toi.js → settings-CA-5Px85.js} +2 -2
  178. package/dist/chunks/setup-B-FejaeH.js +3 -0
  179. package/dist/chunks/{shadowedRuleDetection-L3tnySui.js → shadowedRuleDetection-BI6Xz0pY.js} +1 -1
  180. package/dist/chunks/{sideQuestion-BJTVma-5.js → sideQuestion-BEpCuv_7.js} +3 -3
  181. package/dist/chunks/{sinks-CV0SWuZW.js → sinks-BvOPODnl.js} +1 -1
  182. package/dist/chunks/sinks-DLALCllz.js +1 -0
  183. package/dist/chunks/skillChangeDetector-D-fxaAMH.js +1 -0
  184. package/dist/chunks/{skillGapStore-Cposc03e.js → skillGapStore-A1FCr8Mf.js} +2 -2
  185. package/dist/chunks/{skillLifecycle-RXQp0JU7.js → skillLifecycle-CTVa34xO.js} +2 -2
  186. package/dist/chunks/{skillSearchPanel-B2pjskqk.js → skillSearchPanel-CjekGkrw.js} +4 -4
  187. package/dist/chunks/{skills-D2ZjMtv4.js → skills-110JHHbj.js} +1 -1
  188. package/dist/chunks/{sleep-xKMbXTJe.js → sleep-BGewNhNx.js} +1 -1
  189. package/dist/chunks/{startupProfiler-B9Qv2QGH.js → startupProfiler-C_xcIvEA.js} +1 -1
  190. package/dist/chunks/startupProfiler-uueg2S43.js +1 -0
  191. package/dist/chunks/status-D_b3UMke.js +1 -0
  192. package/dist/chunks/statusNoticeHelpers-C5BRU3lw.js +1 -0
  193. package/dist/chunks/{stringUtils-Cs6E5f-B.js → stringUtils-CtJhTszO.js} +1 -1
  194. package/dist/chunks/switcher-BFzvv7KT.js +1 -0
  195. package/dist/chunks/{switcher-rep86o4_.js → switcher-nLHGsxLw.js} +1 -1
  196. package/dist/chunks/{tasks-B4coTfrq.js → tasks-CjYr59Ak.js} +1 -1
  197. package/dist/chunks/{templateJobs-C5ukh6H3.js → templateJobs-ECX0rRRp.js} +1 -1
  198. package/dist/chunks/{terminalSetup-CaGbEVjB.js → terminalSetup-AptBNs_i.js} +1 -1
  199. package/dist/chunks/{terminalSetup-xe_P98fY.js → terminalSetup-CKO6eWhS.js} +1 -1
  200. package/dist/chunks/{theme-7RmvErYJ.js → theme-BCSx9irC.js} +1 -1
  201. package/dist/chunks/tipRegistry-CnQB3TaA.js +2 -0
  202. package/dist/chunks/{toolEventObserver-Dzwzi5Vi.js → toolEventObserver-Bqtypnkk.js} +1 -1
  203. package/dist/chunks/toolPool-B1sXN7SK.js +1 -0
  204. package/dist/chunks/{udsClient-CWeoNrm3.js → udsClient-COYqIvvr.js} +1 -1
  205. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-BT0nexZw.js → useExitOnCtrlCDWithKeybindings-DegJrysj.js} +1 -1
  206. package/dist/chunks/useMainLoopModel-CPnigpM1.js +1 -0
  207. package/dist/chunks/useManagePlugins-BW2Zj_jf.js +1 -0
  208. package/dist/chunks/useMergedTools-CTm1AU9b.js +1 -0
  209. package/dist/chunks/{useSearchInput-j12K4wEo.js → useSearchInput-DrY4BZKy.js} +1 -1
  210. package/dist/chunks/useSettingsErrors-2uIAF6H8.js +1 -0
  211. package/dist/chunks/{util-CCEK8oze.js → util-BUgUtaUV.js} +1 -1
  212. package/dist/chunks/validatePlugin-BGB8T9Mb.js +1 -0
  213. package/dist/chunks/{vim-BlO9V5_5.js → vim-DdxGarvY.js} +1 -1
  214. package/dist/chunks/worktree-DBZ7f9Lk.js +1 -0
  215. package/dist/cli.js +1 -1
  216. package/package.json +1 -1
  217. package/dist/chunks/AgentsMdExternalIncludesDialog-BjbUilCE.js +0 -1
  218. package/dist/chunks/App-COdpsR2w.js +0 -1
  219. package/dist/chunks/Doctor-B6isid5K.js +0 -1
  220. package/dist/chunks/Doctor-COj-tZBc.js +0 -3
  221. package/dist/chunks/ExitFlow-CcMYH5iI.js +0 -2
  222. package/dist/chunks/MCPConnectionManager-C7RmKzJh.js +0 -1
  223. package/dist/chunks/MCPToolListView-CewNLJus.js +0 -1
  224. package/dist/chunks/MessageSelector-Kc6JlnDX.js +0 -3
  225. package/dist/chunks/Messages-BvFYO4Zn.js +0 -10
  226. package/dist/chunks/QueryEngine-DAwfp_ht.js +0 -1
  227. package/dist/chunks/REPL-tFT1FGQF.js +0 -1
  228. package/dist/chunks/ResumeConversation-CERzSBvg.js +0 -1
  229. package/dist/chunks/SearchExtraToolsTool-ndh4aEwQ.js +0 -1
  230. package/dist/chunks/Settings-CPaqWNdP.js +0 -2
  231. package/dist/chunks/Spinner-C0qHjfIY.js +0 -1
  232. package/dist/chunks/allErrors-Dhnf6rqg.js +0 -1
  233. package/dist/chunks/backgroundHousekeeping-Bu-zRFCx.js +0 -1
  234. package/dist/chunks/banner-BKOzHotb.js +0 -2
  235. package/dist/chunks/bridgeControl-aDnUrYZR.js +0 -2
  236. package/dist/chunks/caches-CMF-MmR-.js +0 -1
  237. package/dist/chunks/caches-CW5YnYNS.js +0 -1
  238. package/dist/chunks/channel-DVx21qde.js +0 -1
  239. package/dist/chunks/client-B0ngS4Uu.js +0 -1
  240. package/dist/chunks/client-BP4DOH3K.js +0 -1
  241. package/dist/chunks/commands-CfYMwgP7.js +0 -1
  242. package/dist/chunks/compact-6F2tuItE.js +0 -2
  243. package/dist/chunks/config-BDkzWBnL.js +0 -1
  244. package/dist/chunks/config-Bio2EjUK.js +0 -3
  245. package/dist/chunks/config-C_AEhZrn.js +0 -1
  246. package/dist/chunks/context-noninteractive-oFcnY1Er.js +0 -1
  247. package/dist/chunks/conversation-CYZyg1U1.js +0 -1
  248. package/dist/chunks/conversation-DXzlRhNw.js +0 -1
  249. package/dist/chunks/crossProjectResume-CCo3iZrB.js +0 -40
  250. package/dist/chunks/doctor-B4jQbGQr.js +0 -1
  251. package/dist/chunks/exit-D5DYnRvR.js +0 -1
  252. package/dist/chunks/extractMemories-CVUrBFMj.js +0 -1
  253. package/dist/chunks/fast-CRhW9zha.js +0 -1
  254. package/dist/chunks/fetchModelList-DIa1HwAJ.js +0 -1
  255. package/dist/chunks/hooks-CBGUcyCs.js +0 -1
  256. package/dist/chunks/loadAgentsDir-Zw648oQO.js +0 -1
  257. package/dist/chunks/loadPluginHooks-BIfM53-_.js +0 -1
  258. package/dist/chunks/localSearch-Dbj8cXyO.js +0 -1
  259. package/dist/chunks/managedEnv-DCGLDTP_.js +0 -1
  260. package/dist/chunks/mcp-BMeWtYCx.js +0 -2
  261. package/dist/chunks/mcp-CYbesbfl.js +0 -1
  262. package/dist/chunks/memory-DtQQGyPS.js +0 -1
  263. package/dist/chunks/model-C2r-PaR4.js +0 -1
  264. package/dist/chunks/model-Dd3x121y.js +0 -1
  265. package/dist/chunks/openai-Bea4I2Od.js +0 -2
  266. package/dist/chunks/parser-Diihup2V.js +0 -1
  267. package/dist/chunks/permissions-Dv_PCfY0.js +0 -3
  268. package/dist/chunks/plugin-aK4tDrVg.js +0 -17
  269. package/dist/chunks/pluginBlocklist-ByRQaVPu.js +0 -1
  270. package/dist/chunks/pluginCliCommands-Dyk4HYHs.js +0 -1
  271. package/dist/chunks/pluginOperations-BCvJvfOC.js +0 -2
  272. package/dist/chunks/pluginStartupCheck-o_TC7wIt.js +0 -1
  273. package/dist/chunks/plugins-DzsTDNWJ.js +0 -4
  274. package/dist/chunks/poorMode-eMIFCAC_.js +0 -1
  275. package/dist/chunks/print-dUT7E1g9.js +0 -13
  276. package/dist/chunks/process-CNfq37LF.js +0 -1
  277. package/dist/chunks/process-gEbdy6uY.js +0 -1
  278. package/dist/chunks/processBashCommand-DtGCgTkF.js +0 -1
  279. package/dist/chunks/processSlashCommand-wXblpK2C.js +0 -5
  280. package/dist/chunks/prompt-BdH2zk0S.js +0 -1
  281. package/dist/chunks/prompt-D0TFER0A.js +0 -1
  282. package/dist/chunks/refresh-Cm4jZzLa.js +0 -1
  283. package/dist/chunks/rename-OfKJSazJ.js +0 -1
  284. package/dist/chunks/ripgrep-DB7KB8RZ.js +0 -1
  285. package/dist/chunks/sandbox-adapter-982rx2cm.js +0 -1
  286. package/dist/chunks/searchExtraTools-B4N1bpy0.js +0 -1
  287. package/dist/chunks/sessionFileAccessHooks-BqQ58T7e.js +0 -1
  288. package/dist/chunks/sessionObserver-qYpA90El.js +0 -1
  289. package/dist/chunks/sessionStorage-CC0v4zMs.js +0 -1
  290. package/dist/chunks/settings-Dfit5gGT.js +0 -1
  291. package/dist/chunks/setup-DVLnIlse.js +0 -3
  292. package/dist/chunks/sinks-C9NdbjLo.js +0 -1
  293. package/dist/chunks/skillChangeDetector-DlodgOyC.js +0 -1
  294. package/dist/chunks/startupProfiler-DWcM4QBl.js +0 -1
  295. package/dist/chunks/status-BcSkj9nE.js +0 -1
  296. package/dist/chunks/statusNoticeHelpers-DsrqBOQt.js +0 -1
  297. package/dist/chunks/switcher-BietN6il.js +0 -1
  298. package/dist/chunks/tipRegistry-BYpJZIjR.js +0 -2
  299. package/dist/chunks/toolPool-BGfiNj6h.js +0 -1
  300. package/dist/chunks/useMainLoopModel-QuE7VkgX.js +0 -1
  301. package/dist/chunks/useManagePlugins-pGaGzsEg.js +0 -1
  302. package/dist/chunks/useMergedTools-BLsIT3R_.js +0 -1
  303. package/dist/chunks/useSettingsErrors-C8VIzdws.js +0 -1
  304. package/dist/chunks/validatePlugin-CTVnWx9H.js +0 -1
  305. package/dist/chunks/worktree-BWL0vR4o.js +0 -1
@@ -1 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as n}from"./src-BX54x08P.js";import{t as r}from"./jsx-runtime-Bb4Xn-E0.js";import{et as i,nt as a}from"./settings-D4M13toi.js";import{Pt as o,at as s}from"./state-CXY-q5gr.js";import{$d as c,Bd as l,Bh as u,Fd as d,Hh as f,Id as p,Kd as m,Md as h,Nd as g,Rd as _,Vh as v,bf as y,cp as b,df as x,hf as S,ip as ee,jd as C,kd as w,lf as T,rp as E,sp as D,uf as O,yf as k,zh as A}from"./loadAgentsDir-bmpKLPdG.js";import{I as j,M,c as N,i as P}from"./debug-2pVES-2G.js";import{c as F,l as I,o as L}from"./log-L1kqxa_P.js";import{n as te}from"./analytics-COpjZpvd.js";import{i as ne,n as R,r as z,t as B}from"./reject-Tug1RmkE.js";import{n as V,t as H}from"./notifications-BwS1XsnZ.js";function U(e){let t=`plugin`in e?e.plugin:`no-plugin`;return`${e.type}:${e.source}:${t}`}function W(e,t){t.length!==0&&e(e=>{let n=new Set(e.plugins.errors.map(e=>U(e))),r=t.filter(e=>!n.has(U(e)));return r.length===0?e:{...e,plugins:{...e.plugins,errors:[...e.plugins.errors,...r]}}})}function G(e,t=!1){let n=v(),r=u(e=>e.mcp.pluginReconnectKey),a=f(),o=(0,q.useRef)(new Map),{addNotification:c}=V(),p=(0,q.useRef)([]),b=(0,q.useRef)(null),O=(0,q.useCallback)(()=>{b.current=null;let e=p.current;e.length!==0&&(p.current=[],a(t=>{let n=t.mcp;for(let t of e){let{tools:e,commands:r,resources:a,...o}=t,s=o.type===`disabled`||o.type===`failed`?e??[]:e,c=o.type===`disabled`||o.type===`failed`?r??[]:r,u=o.type===`disabled`||o.type===`failed`?a??[]:a,d=i(o.name),f=n.clients.findIndex(e=>e.name===o.name)===-1?[...n.clients,o]:n.clients.map(e=>e.name===o.name?o:e),p=s===void 0?n.tools:[...R(n.tools,e=>e.name?.startsWith(d)),...s],m=c===void 0?n.commands:[...R(n.commands,e=>l(e,o.name)),...c],h=u===void 0?n.resources:{...n.resources,...u.length>0?{[o.name]:u}:ne(n.resources,o.name)};n={...n,clients:f,tools:p,commands:m,resources:h}}return{...t,mcp:n}}))},[a]),k=(0,q.useCallback)(e=>{p.current.push(e),b.current===null&&(b.current=setTimeout(O,16))},[O]),A=(0,q.useCallback)(({client:e,tools:t,commands:n,resources:r})=>{switch(k({...e,tools:t,commands:n,resources:r}),e.type){case`connected`:y(e.client,e.name,a),e.client.onclose=()=>{let t=e.config.type??`stdio`;if(w(e.name,e.config).catch(()=>{N(`Failed to invalidate the server cache: ${e.name}`)}),x(e.name)){F(e.name,`Server is disabled, skipping automatic reconnection`);return}if(t!==`stdio`&&t!==`sdk`){let n=K(t);F(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(x(e.name)){F(e.name,`Server disabled during reconnection, stopping retry`),o.current.delete(e.name);return}k({...e,type:`pending`,reconnectAttempt:t,maxReconnectAttempts:J});let r=Date.now();try{let i=await _(e.name,e.config),a=Date.now()-r;if(i.client.type===`connected`){F(e.name,`${n} reconnection successful after ${a}ms (attempt ${t})`),o.current.delete(e.name),A(i);return}if(F(e.name,`${n} reconnection attempt ${t} completed with status: ${i.client.type}`),t===J){F(e.name,`Max reconnection attempts (${J}) reached, giving up`),o.current.delete(e.name),A(i);return}}catch(i){let a=Date.now()-r;if(I(e.name,`${n} reconnection attempt ${t} failed after ${a}ms: ${i}`),t===J){F(e.name,`Max reconnection attempts (${J}) reached, giving up`),o.current.delete(e.name),k({...e,type:`failed`});return}}let i=Math.min(Y*2**(t-1),X);F(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 k({...e,type:`failed`})},e.capabilities?.tools?.listChanged&&e.client.setNotificationHandler(D,async()=>{F(e.name,`Received tools/list_changed notification, refreshing tools`);try{let t=g.cache.get(e.name);g.cache.delete(e.name);let n=await g(e);n.length,t&&t.then(e=>{e.length},()=>{}),k({...e,tools:n})}catch(t){I(e.name,`Failed to refresh tools after list_changed notification: ${M(t)}`)}}),e.capabilities?.prompts?.listChanged&&e.client.setNotificationHandler(E,async()=>{F(e.name,`Received prompts/list_changed notification, refreshing prompts`);try{C.cache.delete(e.name);let t=await C(e);k({...e,commands:t})}catch(t){I(e.name,`Failed to refresh prompts after list_changed notification: ${M(t)}`)}}),e.capabilities?.resources?.listChanged&&e.client.setNotificationHandler(ee,async()=>{F(e.name,`Received resources/list_changed notification, refreshing resources`);try{h.cache.delete(e.name);let t=await h(e);k({...e,resources:t})}catch(t){I(e.name,`Failed to refresh resources after list_changed notification: ${M(t)}`)}});break;case`needs-auth`:case`failed`:case`pending`:case`disabled`:break}},[k]),j=s();return(0,q.useEffect)(()=>{async function n(){let{servers:n,errors:r}=t?{servers:{},errors:[]}:await T(e),i={...n,...e};W(a,r),a(e=>{let{stale:t,...n}=m(e.mcp,i);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,w(e.name,e.config).catch(()=>{}))}let r=new Set(n.clients.map(e=>e.name)),a=Object.entries(i).filter(([e])=>!r.has(e)).map(([e,t])=>({name:e,type:x(e)?`disabled`:`pending`,config:t}));return a.length===0&&t.length===0?e:{...e,mcp:{...e.mcp,...n,clients:[...n.clients,...a]}}})}n().catch(e=>{I(`useManageMCPConnections`,`Failed to initialize servers as pending: ${M(e)}`)})},[t,e,a,j,r]),(0,q.useEffect)(()=>{let n=!1;async function r(){let r=Promise.resolve({}),{servers:i,errors:o}=t?{servers:{},errors:[]}:await T(e,r);if(n)return;W(a,o);let s={...i,...e},c=Object.fromEntries(Object.entries(s).filter(([e])=>!x(e)));d(A,c).catch(e=>{I(`useManageMcpConnections`,`Failed to get MCP resources: ${M(e)}`)});let l={},u={...s,...l},f={enterprise:0,global:0,project:0,user:0,plugin:0,claudeai:0};for(let[e,t]of Object.entries(u))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,A,a,j,r]),(0,q.useEffect)(()=>{let e=o.current;return()=>{for(let t of e.values())clearTimeout(t);e.clear(),b.current!==null&&(clearTimeout(b.current),b.current=null,O())}},[O]),{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 _(e,t.config);return A(i),i},[n,A]),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)),S(e,!1),t.type===`connected`&&await w(e,t.config),k({name:e,type:`disabled`,config:t.config})}else{S(e,!0),k({name:e,type:`pending`,config:t.config});let n=await _(e,t.config);A(n)}},[n,k,A])}}function K(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),o(),p(),b(),z(),B(),te(),O(),P(),H(),A(),j(),L(),k(),a(),c(),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}=G(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-BX54x08P.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{$ as m,Q as h,nt as g}from"./settings-D4M13toi.js";import{$d as _,Bh as v,Gd as y,Hh as b,Id as x,Vd as ee,Wd as te,Xd as S,Yd as C,hd as w,kd as ne,md as T,qd as re,sf as E,uf as D,zh as O}from"./loadAgentsDir-bmpKLPdG.js";import{I as k,M as ie}from"./debug-2pVES-2G.js";import{n as ae}from"./analytics-COpjZpvd.js";import{l as A,n as oe,o as j}from"./stringUtils-Cs6E5f-B.js";import{i as M,n as N,r as P}from"./MCPConnectionManager-C7RmKzJh.js";import{n as F,t as I}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{t as L}from"./select-CaxQ-BVq.js";import{r as R,t as z}from"./Spinner-C0qHjfIY.js";import{t as B}from"./CustomSelect-t4wXuXWH.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=v(e=>e.mcp),g=b(),[_,x]=(0,q.useState)(!1),[S,w]=(0,q.useState)(null),E=P(),D=M(),O=oe(String(e.name)),k=C(h.commands,e.name).length,ae=q.useCallback(async()=>{let t=e.client.type!==`disabled`;try{await D(e.name),e.config.type,l()}catch(n){d?.(`Failed to ${t?`disable`:`enable`} MCP server '${e.name}': ${ie(n)}`)}},[e.client.type,e.config.type,e.name,D,l,d]);if(_)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 A=[];return e.client.type===`disabled`&&A.push({label:`Enable`,value:`toggle-enabled`}),e.client.type===`connected`&&t>0&&A.push({label:`View tools`,value:`tools`}),e.client.type!==`disabled`&&(e.client.type!==`needs-auth`&&A.push({label:`Reconnect`,value:`reconnectMcpServer`}),A.push({label:`Disable`,value:`toggle-enabled`})),A.length===0&&A.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:[O,` 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:ee(e.scope)})]}),e.client.type===`connected`&&(0,J.jsx)(V,{serverToolsCount:t,serverPromptsCount:k,serverResourcesCount:h.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`]})]})]}),S&&(0,J.jsx)(o,{marginTop:1,children:(0,J.jsxs)(s,{color:`error`,children:[`Error: `,S]})}),A.length>0&&(0,J.jsx)(o,{marginTop:1,children:(0,J.jsx)(L,{options:A,onChange:async t=>{switch(t){case`tools`:n();break;case`reconnectMcpServer`:x(!0),w(null);try{await ne(e.name,{...e.config,scope:e.scope}),g(t=>{let n=t.mcp.clients.map(t=>t.name===e.name?{...t,type:`pending`}:t),r=re(t.mcp.tools,e.name),i=te(t.mcp.commands,e.name),a=y(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{x(!1)}break;case`toggle-enabled`:await ae();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)(T,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var q,J,ce=e((()=>{n(),q=t(l(),1),ae(),I(),d(),x(),N(),_(),O(),k(),j(),w(),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(),h=v(e=>e.mcp),g=P(),_=M(),[y,b]=(0,Y.useState)(!1),x=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}': ${ie(n)}`)}},[e.client.type,e.name,_,l,d]),te=oe(String(e.name)),S=C(h.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`}),y?(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:[te,` 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:ee(E(e.name)?.scope??`dynamic`)})]}),e.client.type===`connected`&&(0,X.jsx)(V,{serverToolsCount:t,serverPromptsCount:S,serverResourcesCount:h.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`){b(!0);try{let{message:t}=W(await g(e.name),e.name);d?.(t)}catch(t){d?.(G(t,e.name))}finally{b(!1)}}else t===`toggle-enabled`?await x():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)(T,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`back`})]})})})]})}var Y,X,ue=e((()=>{n(),Y=t(l(),1),I(),d(),D(),N(),_(),O(),k(),j(),w(),B(),R(),U(),K(),X=p()}));function de({tool:e,server:t,onBack:n}){let[r,i]=Z.useState(``),a=m(e.name,t.name),c=h(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)(T,{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(),g(),w(),Q=p()}));function pe({server:e,onSelectTool:t,onBack:n}){let r=v(e=>e.mcp.tools),a=me.useMemo(()=>e.client.type===`connected`?S(r,e.name):[],[e,r]),o=a.map((t,n)=>{let r=m(t.name,e.name),i=h(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} ${A(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)(T,{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(),g(),_(),O(),j(),w(),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-BX54x08P.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{$n as m,Qn as h}from"./settings-D4M13toi.js";import{An as g,Pt as _}from"./state-CXY-q5gr.js";import{$h as v,$o as y,$x as b,Bh as x,Bu as S,Ix as C,Ji as w,Px as T,Qh as ee,Qo as E,Ru as D,Ub as O,Vb as k,Wb as A,Xx as j,_c as te,ag as M,by as ne,eg as re,gc as ie,hS as N,hc as ae,mn as P,nn as oe,sb as F,tb as se,ts as I,un as ce,wa as L,xa as le,yc as R,yy as ue,zh as de}from"./loadAgentsDir-bmpKLPdG.js";import{D as z,h as B,m as V,o as H,q as fe,s as U}from"./log-L1kqxa_P.js";import{n as W}from"./analytics-COpjZpvd.js";import{_ as pe,p as me,y as he}from"./startupProfiler-B9Qv2QGH.js";import{E as ge,T as _e,c as ve,d as ye,w as be}from"./sessionTracing-5a7HDF4e.js";import{n as xe,t as Se}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{n as Ce,t as we}from"./select-CaxQ-BVq.js";import{r as Te,t as Ee}from"./Spinner-C0qHjfIY.js";import*as G from"path";import{randomUUID as K}from"crypto";var q=t(u(),1),J=p();f(),_(),fe(),V(),H(),m(),W(),pe(),O(),ue(),be(),D(),ve(),te(),ae(),I(),w(),P();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();g(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:[b({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:[b({content:e,uuid:i,permissionMode:a,isMeta:o||void 0}),...r],shouldQuery:!0}}W(),w();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,v=_?.startsWith(`/`)&&!f;n===`prompt`&&_!==null&&!m&&!v&&s?.(_),R(`query_process_user_input_base_start`);let y=i.getAppState(),x=await Me(e,n,r,i,a,o,c,l,u,d,y.toolPermissionContext.mode,f,p,m,h,t,g);if(R(`query_process_user_input_base_end`),!x.shouldQuery)return x;R(`query_hooks_start`);let S=C(e)||``;for await(let t of oe(S,y.toolPermissionContext.mode,i,i.requestPrompt))if(t.message?.type!==`progress`){if(t.blockingError)return{messages:[j(`${ce(t.blockingError)}\n\nOriginal prompt: ${e}`,`warning`)],shouldQuery:!1,allowedTools:x.allowedTools};if(t.preventContinuation){let e=t.stopReason?`Operation stopped by hook: ${t.stopReason}`:`Operation stopped by hook`;return x.messages.push(b({content:e})),x.shouldQuery=!1,x}if(t.additionalContexts&&t.additionalContexts.length>0&&x.messages.push(E({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;x.messages.push({...t.message,attachment:{...t.message.attachment,content:je(t.message.attachment.content)}});break;default:x.messages.push(t.message);break}}return R(`query_hooks_end`),x}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 _=null,v=[],b=[],x=e;if(typeof e==`string`)_=e;else if(e.length>0){R(`query_image_processing_start`);let t=[];for(let n of e)if(n.type===`image`){let e=await A(n);if(e.dimensions){let t=k(e.dimensions);t&&b.push(t)}t.push(e.block)}else t.push(n);x=t,R(`query_image_processing_end`);let n=t[t.length-1];n?.type===`text`?(_=n.text,v=t.slice(0,-1)):v=t}if(_===null&&t!==`prompt`)throw Error(`Mode: ${t} requires a string input.`);let C=i?Object.values(i).filter(ne):[],w=C.map(e=>e.id),T=i?await S(i):new Map;R(`query_pasted_image_processing_start`);let ee=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 A(t),originalDimensions:e.dimensions,sourcePath:e.sourcePath??T.get(e.id)}})),E=[];for(let{resized:e,originalDimensions:t,sourcePath:n}of ee){if(e.dimensions){let t=k(e.dimensions,n);t&&b.push(t)}else if(t){let e=k(t,n);e&&b.push(e)}else n&&b.push(`[Image source: ${n}]`);E.push(e.block)}R(`query_pasted_image_processing_end`);let D=d,O=!m&&_!==null&&(t!==`prompt`||D||!_.startsWith(`/`));R(`query_attachment_loading_start`);let j=O?await ie(y(_,r,[],a,c)):[];if(R(`query_attachment_loading_end`),_!==null&&t===`bash`){let{processBashCommand:e}=await import(`./processBashCommand-DtGCgTkF.js`);return X(await e(_,v,j,r,n),b)}if(_!==null&&!D&&_.startsWith(`/`)){let{processSlashCommand:e}=await import(`./processSlashCommand-wXblpK2C.js`);return X(await e(_,v,E,j,r,n,o,s,l,g),b)}if(_!==null&&t===`prompt`){let e=_.trim(),t=j.find(e=>e.attachment.type===`agent_mention`);if(t){let n=`@agent-${t.attachment.agentType}`;e.startsWith(n)}}return X(ke(x,E,w,j,o,u,p),b)}function X(e,t){return t.length>0&&e.messages.push(b({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=x(e=>e.fileHistory),[m,h]=(0,q.useState)(void 0),g=v(),_=(0,q.useMemo)(K,[]),y=(0,q.useMemo)(()=>[...e.filter(Q),{...b({content:``}),uuid:_}],[e,_]),[S,C]=(0,q.useState)(y.length-1),w=Math.max(0,Math.min(S-Math.floor($/2),y.length-$)),T=y.length>1,[E,D]=(0,q.useState)(f),[O,k]=(0,q.useState)(void 0);(0,q.useEffect)(()=>{if(!f||!g)return;let e=!1;return re(p,f.uuid).then(t=>{e||k(t)}),()=>{e=!0}},[f,g,p]);let[A,j]=(0,q.useState)(!1),[te,M]=(0,q.useState)(null),[ne,ie]=(0,q.useState)(`both`),[N,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(!g){await oe(t);return}let r=await re(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=N.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(y.length-1,e+1)),[y.length]),R=(0,q.useCallback)(()=>C(0),[]),ue=(0,q.useCallback)(()=>C(y.length-1),[y.length]),de=(0,q.useCallback)(()=>{let e=y[S];e&&F(e)},[y,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":de},{context:`MessageSelector`,isActive:!A&&!m&&!E&&T});let[z,B]=(0,q.useState)({});(0,q.useEffect)(()=>{async function t(){g&&Promise.all(y.map(async(t,n)=>{if(t.uuid!==_){let r=ee(p,t.uuid),i=y.at(n+1),a=r?Ve(e,t.uuid,i?.uuid===_?void 0:i?.uuid):void 0;B(a===void 0?e=>({...e,[n]:void 0}):e=>({...e,[n]:a}))}}))}t()},[y,e,_,p,g]);let V=g&&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:ne,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=>ie(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:[g?(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:y.slice(w,w+$).map((e,t)=>{let n=w+t,r=n===S,a=e.uuid===_,o=n in z,l=z[n],u=l?.filesChanged?.length;return(0,J.jsxs)(s,{height:g?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})}),g&&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=B(typeof o==`string`?o.trim():l&&Pe(l)?l.text.trim():`(no prompt)`);if(le(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=T(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=T(u,z),r=T(u,`command-args`),i=T(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||!L(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=h(e.lines,e=>e.startsWith(`+`)),n=h(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)&&!L(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(),de(),M(),Se(),se(),w(),Ce(),Te(),F(),$=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-QyzA_cFM.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-BX54x08P.js";import{t as x}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as S,Wt as C,m as w,t as T}from"./settings-D4M13toi.js";import{$i as E,$u as D,$y as O,Bh as k,Cy as A,Du as ee,Dy as te,Eu as j,Ey as ne,Gx as re,Ji as M,KC as N,Mh as P,Ou as F,Px as ie,QS as ae,Qi as oe,Qy as se,Rx as ce,Sa as le,Tu as I,WC as ue,Xy as de,Yy as fe,ZS as L,Zy as pe,aC as me,aS as he,aa as ge,bm as R,bu as _e,da as ve,dd as ye,du as be,ea as xe,ed as Se,fu as Ce,ha as we,hg as Te,jh as z,ku as Ee,ky as De,la as Oe,na as ke,nb as Ae,oS as je,pa as Me,qy as Ne,ra as B,rb as Pe,sC as Fe,sS as Ie,sb as Le,ta as Re,ud as ze,uu as Be,vu as Ve,wu as He,xm as Ue,xu as We,yu as Ge,zh as Ke,zx as qe}from"./loadAgentsDir-bmpKLPdG.js";import{n as Je,t as Ye}from"./cwd-DrEEb4f5.js";import{a as Xe,c as Ze,i as Qe,n as $e,o as et}from"./debug-2pVES-2G.js";import{d as tt,h as nt,o as rt}from"./config-Bio2EjUK.js";import{B as it,L as at,R as ot,q as st}from"./log-L1kqxa_P.js";import{_ as ct,f as lt,p as ut,y as dt}from"./startupProfiler-B9Qv2QGH.js";import{l as ft,o as pt}from"./stringUtils-Cs6E5f-B.js";import{f as mt,h as ht,x as gt}from"./model-Dd3x121y.js";import{gn as _t,vn as vt}from"./prompt-BnDapYGL.js";import{a as yt,n as bt,r as xt,t as St}from"./projectOnboardingState-D-_ijZnG.js";import{n as Ct,t as wt}from"./sleep-xKMbXTJe.js";import{n as Tt,t as Et}from"./systemTheme-Ceakddth.js";import{a as Dt,c as Ot,i as kt}from"./SpinnerGlyph-BR_SiV9L.js";import{n as At,r as jt}from"./PromptInputFooterSuggestions-CHXJsTtQ.js";import{n as Mt,t as Nt}from"./useMainLoopModel-QuE7VkgX.js";import{n as Pt,t as Ft}from"./modalContext-sU2lfR08.js";import{n as It,r as Lt,t as Rt}from"./statusNoticeHelpers-DsrqBOQt.js";import{a as zt,c as Bt,i as Vt,l as Ht,n as Ut,o as Wt,r as Gt,t as Kt,u as qt}from"./logoUtils-qNuBc2nI.js";import{homedir as Jt}from"os";import{relative as Yt}from"path";import{fileURLToPath as Xt}from"url";function Zt(e,t){for(let n of e)if(!t.has(n))return!1;return!0}var Qt=e((()=>{}));function $t(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`)||ie(t.text,`status`)!==`completed`?!1:ie(t.text,`summary`)?.startsWith(`Background command `)??!1}function en(e,t){if(!P()||t)return e;let n=[],r=0;for(;r<e.length;){let t=e[r];if($t(t)){let i=0;for(;r<e.length&&$t(e[r]);)i++,r++;i===1?n.push(t):n.push({...t,message:{role:`user`,content:[{type:`text`,text:`<${it}><${at}>completed</${at}><${ot}>${i} background commands completed</${ot}></${it}>`}]}})}else n.push(t),r++}return n}var tn=e((()=>{st(),Te(),z(),M()}));function nn(e){return e.type===`system`&&e.subtype===`stop_hook_summary`&&e.hookLabel!==void 0}function rn(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(nn(r)){let i=r.hookLabel,a=[];for(;n<e.length;){let t=e[n];if(!nn(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 an=e((()=>{}));function on(e){let t=ln.get(e);return t||(t=new Set(e.filter(e=>e.renderGroupedToolUse).map(e=>e.name)),ln.set(e,t)),t}function sn(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 cn(e,t,n=!1){if(n)return{messages:e};let r=on(t),i=new Map;for(let t of e){let e=sn(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=sn(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=sn(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 ln,un=e((()=>{ln=new WeakMap}));function dn(e){let t=_n.get(e);if(t!==void 0)return t;let n=fn(e).toLowerCase();return _n.set(e,n),n}function fn(e){let t=``;switch(e.type){case`user`:{let n=e.message.content;if(typeof n==`string`)t=gn.has(n)?``:n;else{let r=[];for(let t of n??[])t.type===`text`?gn.has(t.text)||r.push(t.text):t.type===`tool_result`&&r.push(mn(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`?[pn(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(hn,r);if(e<0)break;n=n.slice(0,r)+n.slice(e+18),r=n.indexOf(`<system-reminder>`)}return n}function pn(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 mn(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 hn,gn,_n,vn=e((()=>{M(),hn=`</system-reminder>`,gn=new Set([je,Ie]),_n=new WeakMap}));function yn({pose:e=`default`}={}){return(0,bn.jsxs)(c,{flexDirection:`column`,alignItems:`center`,children:[(0,bn.jsx)(u,{color:`clawd_body`,children:` █████ `}),(0,bn.jsx)(u,{color:`clawd_body`,children:`██ ● ● ██`}),(0,bn.jsx)(u,{color:`clawd_body`,children:`██ ▄▄▄ ██`}),(0,bn.jsx)(u,{color:`clawd_body`,children:` █ █ █ █ `})]})}var bn,xn=e((()=>{y(),bn=x()}));function Sn(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 Cn({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,V.jsxs)(c,{flexDirection:`column`,width:t,children:[(0,V.jsx)(u,{bold:!0,color:`claude`,children:n}),o?(0,V.jsxs)(V.Fragment,{children:[o.content,i&&(0,V.jsx)(u,{dimColor:!0,italic:!0,children:dt(i,t)})]}):r.length===0&&a?(0,V.jsx)(u,{dimColor:!0,children:dt(a,t)}):(0,V.jsxs)(V.Fragment,{children:[r.map((e,n)=>{let r=Math.max(10,t-(l>0?l+2:0));return(0,V.jsxs)(u,{children:[l>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(u,{dimColor:!0,children:(e.timestamp||``).padEnd(l)}),` `]}),(0,V.jsx)(u,{children:dt(e.text,r)})]},n)}),i&&(0,V.jsx)(u,{dimColor:!0,italic:!0,children:dt(i,t)})]})]})}var V,wn=e((()=>{y(),ct(),V=x()}));function Tn({feeds:e,maxWidth:t}){let n=e.map(e=>Sn(e)),r=Math.max(...n),i=Math.min(r,t);return(0,Dn.jsx)(c,{flexDirection:`column`,children:e.map((t,n)=>(0,Dn.jsxs)(En.Fragment,{children:[(0,Dn.jsx)(Cn,{config:t,actualWidth:i}),n<e.length-1&&(0,Dn.jsx)(o,{color:`claude`,width:i})]},n))})}var En,Dn,On=e((()=>{En=t(p(),1),y(),wn(),Dn=x()}));function kn(e){let t=e.map(e=>{let t=ut(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 An(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=Ye()===Jt()?`Note: You have launched Work Mate 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 jn=e((()=>{i(),Je(),ct()}));function H(e,t,n){return Array.from({length:n},()=>({pose:e,offset:t}))}function Mn(){let{pose:e,bounceOffset:t,onClick:n}=Nn();return(0,Fn.jsx)(c,{height:Vn,flexDirection:`column`,onClick:n,children:(0,Fn.jsx)(c,{marginTop:t,flexShrink:0,children:(0,Fn.jsx)(yn,{pose:e})})})}function Nn(){let[e]=(0,Pn.useState)(()=>T().prefersReducedMotion??!1),[t,n]=(0,Pn.useState)(-1),r=(0,Pn.useRef)(In),i=()=>{e||t!==-1||(r.current=Ln[Math.floor(Math.random()*Ln.length)],n(0))};(0,Pn.useEffect)(()=>{if(t===-1)return;if(t>=r.current.length){n(-1);return}let e=setTimeout(n,zn,Bn);return()=>clearTimeout(e)},[t]);let a=r.current,o=t>=0&&t<a.length?a[t]:Rn;return{pose:o.pose,bounceOffset:o.offset,onClick:i}}var Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn=e((()=>{Pn=t(p(),1),y(),w(),xn(),Fn=x(),In=[...H(`default`,1,2),...H(`arms-up`,0,3),...H(`default`,0,1),...H(`default`,1,2),...H(`arms-up`,0,3),...H(`default`,0,1)],Ln=[In,[...H(`look-right`,0,5),...H(`look-left`,0,5),...H(`default`,0,1)]],Rn={pose:`default`,offset:0},zn=60,Bn=e=>e+1,Vn=3}));function Un(){let{columns:e}=v(),t=k(e=>e.agent),n=gt(Mt()),{version:r,cwd:i,billingType:a,agentName:o}=Wt(),l=t??o,d=Math.max(e-15,20),f=dt(r,Math.max(d-11,6)),{shouldSplit:p,truncatedModel:m,truncatedBilling:h}=Gt(n,a,d),g=l?d-1-s(l)-3:d,_=qt(i,Math.max(g,10));return(0,U.jsx)(R,{children:(0,U.jsxs)(c,{flexDirection:`row`,gap:2,alignItems:`center`,children:[P()?(0,U.jsx)(Mn,{}):(0,U.jsx)(yn,{}),(0,U.jsxs)(c,{flexDirection:`column`,children:[(0,U.jsxs)(u,{children:[(0,U.jsx)(u,{bold:!0,children:`Work Mate`}),` `,(0,U.jsxs)(u,{dimColor:!0,children:[`v`,f]})]}),p?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(u,{dimColor:!0,children:m}),(0,U.jsx)(u,{dimColor:!0,children:h})]}):(0,U.jsxs)(u,{dimColor:!0,children:[m,` · `,h]}),(0,U.jsx)(u,{dimColor:!0,children:l?`@${l} · ${_}`:_})]})]})})}var U,Wn=e((()=>{Nt(),Le(),y(),Ke(),ct(),z(),Ht(),mt(),Ue(),Hn(),xn(),U=x()}));function Gn(){let e=(0,qn.useMemo)(Kn,[]),t=(0,qn.useMemo)(()=>rt().lastShownEmergencyTip,[]),n=e.tip&&e.tip!==t;return(0,qn.useEffect)(()=>{n&&nt(t=>t.lastShownEmergencyTip===e.tip?t:{...t,lastShownEmergencyTip:e.tip})},[n,e.tip]),n?(0,Jn.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,Jn.jsx)(u,{...e.color===`warning`?{color:`warning`}:e.color===`error`?{color:`error`}:{dimColor:!0},children:e.tip})}):null}function Kn(){return Yn}var qn,Jn,Yn,Xn=e((()=>{qn=t(p(),1),y(),tt(),Jn=x(),Yn={tip:``,color:`dim`}}));function Zn({char:e=`✻`}){let[t]=(0,Qn.useState)(()=>T().prefersReducedMotion??!1),[n,r]=(0,Qn.useState)(t),i=(0,Qn.useRef)(null),[a,o]=_(n?null:50);return(0,Qn.useEffect)(()=>{if(n)return;let e=setTimeout(r,tr,!0);return()=>clearTimeout(e)},[n]),n?(0,$n.jsx)(c,{ref:a,children:(0,$n.jsx)(u,{color:nr,children:e})}):(i.current===null&&(i.current=o),(0,$n.jsx)(c,{ref:a,children:(0,$n.jsx)(u,{color:Ot(kt((o-i.current)/er*360%360)),children:e})}))}var Qn,$n,er,tr,nr,rr=e((()=>{Qn=t(p(),1),S(),y(),w(),Dt(),$n=x(),er=1500,tr=er*2,nr=Ot({r:153,g:153,b:153})}));function ir(){return ht()&&(rt().opus1mMergeNoticeSeenCount??0)<cr}function ar(){let[e]=(0,or.useState)(ir);return(0,or.useEffect)(()=>{if(!e)return;let t=(rt().opus1mMergeNoticeSeenCount??0)+1;nt(e=>(e.opus1mMergeNoticeSeenCount??0)>=t?e:{...e,opus1mMergeNoticeSeenCount:t})},[e]),e?(0,sr.jsxs)(c,{paddingLeft:2,children:[(0,sr.jsx)(Zn,{char:`↑`}),(0,sr.jsx)(u,{dimColor:!0,children:` Opus now defaults to 1M context · 5x more room, same pricing`})]}):null}var or,sr,cr,lr=e((()=>{or=t(p(),1),S(),y(),tt(),mt(),rr(),sr=x(),cr=6}));function ur(){let e=Bt(),{columns:t}=v(),r=yt(),i=me.isSandboxingEnabled(),a=k(e=>e.agent),o=rt(),[l]=(0,dr.useState)(()=>{let e=T().companyAnnouncements;if(!(!e||e.length===0))return o.numStartups===1?e[0]:e[Math.floor(Math.random()*e.length)]});(0,dr.useEffect)(()=>{r&&bt()},[r]),!r&&n(process.env.WORKMATE_FORCE_FULL_LOGO);let d=gt(Mt()),{version:f,cwd:p,billingType:m,agentName:h}=Wt(),_=a??h,y=dt(d,fr-20);if(!r&&!n(process.env.WORKMATE_FORCE_FULL_LOGO))return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Un,{}),(0,W.jsx)(ar,{}),Xe()&&(0,W.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,W.jsx)(u,{color:`warning`,children:`Debug mode enabled`}),(0,W.jsxs)(u,{dimColor:!0,children:[`Logging to: `,et()?`stderr`:$e()]})]}),(0,W.jsx)(Gn,{}),process.env.WORKMATE_TMUX_SESSION&&(0,W.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,W.jsxs)(u,{dimColor:!0,children:[`tmux session: `,process.env.WORKMATE_TMUX_SESSION]}),(0,W.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,W.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,W.jsx)(u,{children:l})})]});let b=zt(t),x=Tt(rt().theme),S=` ${g(`claude`,x)(`Work Mate`)} ${g(`inactive`,x)(`v${f}`)} `,C=g(`claude`,x)(` Work Mate `);if(b===`compact`){let e=Vt(null);s(e)>t-4&&(e=Vt(null));let n=_?t-4-1-s(_)-3:t-4,r=qt(p,Math.max(n,10));return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(R,{children:(0,W.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,W.jsx)(u,{bold:!0,children:e}),(0,W.jsx)(c,{marginY:1,children:(0,W.jsx)(yn,{})}),(0,W.jsx)(u,{dimColor:!0,children:y}),(0,W.jsx)(u,{dimColor:!0,children:m}),(0,W.jsx)(u,{dimColor:!0,children:_?`@${_} · ${r}`:r})]})}),(0,W.jsx)(ar,{}),i&&(0,W.jsx)(c,{marginTop:1,flexDirection:`column`,children:(0,W.jsx)(u,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})})]})}let w=Vt(null),E=`${y} · ${m}`,D=_?fr-1-s(_)-3:fr,O=qt(p,Math.max(D,10)),A=_?`@${_} · ${O}`:O,{leftWidth:ee,rightWidth:te}=Kt(t,b,Ut(w,A,E));return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(R,{children:(0,W.jsx)(c,{flexDirection:`column`,borderStyle:`round`,borderColor:`claude`,borderText:{content:S,position:`top`,align:`start`,offset:3},children:(0,W.jsxs)(c,{flexDirection:b===`horizontal`?`row`:`column`,paddingX:1,gap:1,children:[(0,W.jsxs)(c,{flexDirection:`column`,width:ee,justifyContent:`space-between`,alignItems:`center`,minHeight:9,children:[(0,W.jsx)(c,{marginTop:1,children:(0,W.jsx)(u,{bold:!0,children:w})}),(0,W.jsx)(yn,{}),(0,W.jsxs)(c,{flexDirection:`column`,alignItems:`center`,children:[(0,W.jsx)(u,{dimColor:!0,children:E}),(0,W.jsx)(u,{dimColor:!0,children:A})]})]}),b===`horizontal`&&(0,W.jsx)(c,{height:`100%`,borderStyle:`single`,borderColor:`claude`,borderDimColor:!0,borderTop:!1,borderBottom:!1,borderLeft:!1}),b===`horizontal`&&(0,W.jsx)(Tn,{feeds:r?[An(St()),kn(e)]:[kn(e)],maxWidth:te})]})})}),(0,W.jsx)(ar,{}),Xe()&&(0,W.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,W.jsx)(u,{color:`warning`,children:`Debug mode enabled`}),(0,W.jsxs)(u,{dimColor:!0,children:[`Logging to: `,et()?`stderr`:$e()]})]}),(0,W.jsx)(Gn,{}),process.env.WORKMATE_TMUX_SESSION&&(0,W.jsxs)(c,{paddingLeft:2,flexDirection:`column`,children:[(0,W.jsxs)(u,{dimColor:!0,children:[`tmux session: `,process.env.WORKMATE_TMUX_SESSION]}),(0,W.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,W.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,W.jsx)(u,{children:l})}),i&&(0,W.jsx)(c,{paddingLeft:2,flexDirection:`column`,children:(0,W.jsx)(u,{color:`warning`,children:`Your bash commands will be sandboxed. Disable with /sandbox.`})})]})}var dr,W,fr,pr=e((()=>{y(),Le(),Ht(),ct(),xn(),On(),jn(),tt(),Et(),w(),Qe(),dr=t(p(),1),xt(),Wn(),Ue(),r(),Xn(),lr(),Fe(),Ke(),Nt(),mt(),W=x(),fr=50}));function mr({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,hr.jsx)(c,{minWidth:s(i)+8,children:(0,hr.jsx)(u,{dimColor:!0,children:i})})}var hr,gr=e((()=>{y(),hr=x()}));function _r({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,vr.jsx)(c,{minWidth:s(n),children:(0,vr.jsx)(u,{dimColor:!0,children:n})})}var vr,yr=e((()=>{y(),vr=x()}));function br(e,t,n,r){for(let i=t+1;i<e.length;i++){let t=e[i];if(t?.type===`assistant`){let e=Dr(t.message.content);if(e?.type===`thinking`||e?.type===`redacted_thinking`||e?.type===`tool_use`&&(j(e.name,e.input,n).isCollapsible||r.has(e.id)))continue;return!0}if(!(t?.type===`system`||t?.type===`attachment`)&&!(t?.type===`user`&&Dr(t.message.content)?.type===`tool_result`)){if(t?.type===`grouped_tool_use`){let e=Dr(t.messages[0]?.message.content)?.input;if(j(t.toolName,e,n).isCollapsible)continue}return!0}}return!1}function xr({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&&(F(e,o)||m&&!n),x=v?e.displayMessage:y?I(e):e,S=v||y?[]:xe(e,h),C=Li(e,s,o,v||y?he:Re(e,h),l,h),w=!1;if(u)if(v)w=e.messages.some(e=>{let t=Dr(e.message.content);return t?.type===`tool_use`&&o.has(t.id)});else if(y)w=F(e,o);else{let t=qe(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,Er.jsx)(Be,{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,Er.jsx)(R,{children:(0,Er.jsxs)(c,{width:p,flexDirection:`column`,children:[(0,Er.jsxs)(c,{flexDirection:`row`,justifyContent:`flex-end`,gap:1,marginTop:1,children:[(0,Er.jsx)(_r,{message:x,isTranscriptMode:_}),(0,Er.jsx)(mr,{message:x,isTranscriptMode:_})]}),E]})}):(0,Er.jsx)(R,{children:E})}function Sr(e,t){if(e.type===`grouped_tool_use`)return e.messages.some(e=>{let n=Dr(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return ee(e).some(e=>t.has(e));let n=qe(e);return!!n&&t.has(n)}function Cr(e,t){if(e.type===`grouped_tool_use`)return e.messages.every(e=>{let n=Dr(e.message.content);return n?.type===`tool_use`&&t.has(n.id)});if(e.type===`collapsed_read_search`)return ee(e).every(e=>t.has(e));if(e.type===`assistant`){let n=Dr(e.message.content);if(n?.type===`server_tool_use`)return t.has(n.id)}let n=qe(e);return!n||t.has(n)}function wr(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&&be(t.message))return!1;let n=Sr(e.message,e.streamingToolUseIDs),r=Cr(e.message,e.lookups.resolvedToolUseIDs);return!(n||!r)}var Tr,Er,Dr,Or,kr=e((()=>{Tr=t(p(),1),y(),Ee(),M(),Ce(),Er=x(),gr(),Gi(),yr(),Ue(),Dr=e=>{if(!Array.isArray(e))return;let t=e[0];if(!(t==null||typeof t==`string`))return t},Or=Tr.memo(xr,wr)}));function Ar(e){return e.type===`attachment`&&jr.has(e.attachment.type)}var jr,Mr=e((()=>{jr=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 Nr(e){return Ir.filter(t=>t.isActive(e))}var G,Pr,Fr,Ir,Lr=e((()=>{y(),De(),i(),Je(),ct(),Lt(),G=x(),Pr={id:`large-memory-files`,type:`warning`,isActive:e=>ne(e.memoryFiles).length>0,render:e=>(0,G.jsx)(G.Fragment,{children:ne(e.memoryFiles).map(e=>{let t=e.path.startsWith(Ye())?Yt(Ye(),e.path):e.path;return(0,G.jsxs)(c,{flexDirection:`row`,children:[(0,G.jsx)(u,{color:`warning`,children:a.warning}),(0,G.jsxs)(u,{color:`warning`,children:[`Large `,(0,G.jsx)(u,{bold:!0,children:t}),` will impact performance (`,lt(e.content.length),` chars > `,lt(A),`)`,(0,G.jsx)(u,{dimColor:!0,children:` · /memory to edit`})]})]},e.path)})})},Fr={id:`large-agent-descriptions`,type:`warning`,isActive:e=>It(e.agentDefinitions)>Rt,render:e=>{let t=It(e.agentDefinitions);return(0,G.jsxs)(c,{flexDirection:`row`,children:[(0,G.jsx)(u,{color:`warning`,children:a.warning}),(0,G.jsxs)(u,{color:`warning`,children:[`Large cumulative agent descriptions will impact performance (~`,lt(t),` tokens > `,lt(Rt),`)`,(0,G.jsx)(u,{dimColor:!0,children:` · /agents to manage`})]})]})}},Ir=[Pr,Fr]}));function Rr({agentDefinitions:e}={}){let t={config:rt(),agentDefinitions:e,memoryFiles:(0,Br.use)(te())},n=Nr(t);return n.length===0?null:(0,Vr.jsx)(c,{flexDirection:`column`,paddingLeft:1,children:n.map(e=>(0,Vr.jsx)(zr.Fragment,{children:e.render(t)},e.id))})}var zr,Br,Vr,Hr=e((()=>{zr=t(p(),1),Br=t(p(),1),y(),De(),tt(),Lr(),Vr=x()}));function Ur(e,t,n){let r=(0,K.useRef)(new Map),i=(0,K.useRef)(0),a=(0,K.useRef)(0),o=(0,K.useRef)({arr:new Float64Array,version:-1,n:-1}),s=(0,K.useRef)(new Map),c=(0,K.useRef)(new Map),l=(0,K.useRef)(n),u=(0,K.useRef)(!1),d=(0,K.useRef)(null),f=(0,K.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,K.useRef)(0),h=(0,K.useRef)(null);(0,K.useSyncExternalStore)((0,K.useCallback)(t=>e.current?.subscribe(t)??Zr,[e]),()=>{let t=e.current;if(!t)return NaN;let n=t.getScrollTop()+t.getPendingDelta(),r=Math.floor(n/qr);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,K.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])??Wr);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-Kr),w=b;else{if(y){let e=v+Gr;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-Gr;{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*Gr,y=Math.min(b,C+Yr),S=0;for(w=C;w<y&&(S<h||x[w]<f+v+Gr);)S+=r.current.get(t[w])??Jr,w++}let e=v+2*Gr,n=Math.max(0,w-Yr),i=0;for(let e=C;e<w;e++)i+=r.current.get(t[e])??Jr;for(;C>n&&i<e;)C--,i+=r.current.get(t[C])??Jr;let o=d.current,c=Math.abs(g-a.current)+Math.abs(_);if(o&&c>v*2){let[e,t]=o;C<e-Xr&&(C=e-Xr),w>t+Xr&&(w=t+Xr),C>w&&(w=Math.min(C+Xr,b))}a.current=g}f.current>0?f.current--:d.current=[C,w];let T=(0,K.useDeferredValue)(C),E=(0,K.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>Yr){let e=(x[D]+x[O])/2;g-m.current<e?O=D+Yr:D=O-Yr}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,K.useLayoutEffect)(()=>{y?e.current?.setClampBounds(void 0,void 0):e.current?.setClampBounds(ee,te)}),(0,K.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 j=(0,K.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},[]),ne=(0,K.useCallback)(e=>{let n=s.current.get(t[e])?.yogaNode;return!n||n.getComputedWidth()===0?-1:n.getComputedTop()},[t]),re=(0,K.useCallback)(e=>s.current.get(t[e])??null,[t]),M=(0,K.useCallback)(e=>r.current.get(t[e]),[t]),N=(0,K.useCallback)(t=>{let n=o.current;t<0||t>=n.n||e.current?.scrollTo(n.arr[t]+m.current)},[e]),P=S-x[O];return{range:[D,O],topSpacer:A,bottomSpacer:P,measureRef:j,spacerRef:h,offsets:x,getItemTop:ne,getItemElement:re,getItemHeight:M,scrollToIndex:N}}var K,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr=e((()=>{K=t(p(),1),Wr=3,Gr=40,Kr=30,qr=20,Jr=1,Yr=200,Xr=25,Zr=()=>{}}));function $r({children:e}){let[t,n]=(0,q.useState)(null),[r,i]=(0,q.useState)(null);return(0,ii.jsx)(oi.Provider,{value:n,children:(0,ii.jsx)(ci.Provider,{value:i,children:(0,ii.jsx)(ai.Provider,{value:t,children:(0,ii.jsx)(si.Provider,{value:r,children:e})})})})}function ei(){return(0,q.useContext)(ai)}function ti(){return(0,q.useContext)(si)}function ni(e){let t=(0,q.useContext)(oi);(0,q.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}function ri(e){let t=(0,q.useContext)(ci);(0,q.useEffect)(()=>{if(t)return t(e),()=>t(null)},[t,e])}var q,ii,ai,oi,si,ci,li=e((()=>{q=t(p(),1),ii=x(),ai=(0,q.createContext)(null),oi=(0,q.createContext)(null),si=(0,q.createContext)(null),ci=(0,q.createContext)(null)}));function ui(e){let[t,n]=(0,J.useState)(null),r=(0,J.useRef)(e);r.current=e;let i=(0,J.useRef)(null),a=(0,J.useCallback)(()=>{n(null)},[]),o=(0,J.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,J.useCallback)(e=>{e&&e.scrollToBottom()},[]);return(0,J.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,J.useCallback)((e,t)=>{n(t=>t===null?null:t+e),i.current!==null&&(i.current+=t)},[])}}function di(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`&&!fi(t))continue;let a=t.type===`assistant`;a&&!r&&n++,r=a}return n}function fi(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 pi(e,t){if(t===null)return;let n=t;for(;n<e.length&&(e[n]?.type===`progress`||Ar(e[n]));)n++;let r=e[n]?.uuid;if(!r)return;let i=di(e,t);return{firstUnseenUuid:r,count:Math.max(1,i)}}function mi({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,J.useState)(null),x=(0,J.useMemo)(()=>({setStickyPrompt:y}),[]),S=(0,J.useSyncExternalStore)((0,J.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,J.useLayoutEffect)(()=>{if(!P())return;let e=f.get(process.stdout);if(e)return e.onHyperlinkClick=e=>{if(e.startsWith(`file:`))try{We(Xt(e))}catch{}else _e(e)},()=>{e.onHyperlinkClick=void 0}},[]),P()){let s=d?null:_,f=s!=null&&s!==`clicked`&&n==null?s:null,v=s!=null&&n==null;return(0,Y.jsxs)($r,{children:[(0,Y.jsx)(c,{flexDirection:`row`,flexGrow:1,overflow:`hidden`,width:`100%`,children:(0,Y.jsxs)(c,{flexDirection:`column`,flexGrow:1,width:g,overflow:`hidden`,children:[(0,Y.jsxs)(c,{flexGrow:1,flexDirection:`column`,overflow:`hidden`,children:[f&&(0,Y.jsx)(gi,{text:f.text,onClick:f.scrollTo}),(0,Y.jsxs)(b,{ref:o,flexGrow:1,flexDirection:`column`,paddingTop:+!v,stickyScroll:!0,children:[(0,Y.jsx)(bi,{value:x,children:e}),n]}),!l&&S&&n==null&&(0,Y.jsx)(hi,{count:p,onClick:m}),r!=null&&(0,Y.jsx)(c,{position:`absolute`,bottom:0,right:0,opaque:!0,children:r})]}),(0,Y.jsxs)(c,{flexDirection:`column`,flexShrink:0,width:`100%`,maxHeight:`50%`,children:[(0,Y.jsx)(_i,{}),(0,Y.jsx)(vi,{}),(0,Y.jsx)(c,{flexDirection:`column`,width:`100%`,flexGrow:1,overflowY:`hidden`,children:t})]})]})}),i!=null&&(0,Y.jsx)(Ft,{value:{rows:h-yi-1,columns:g-4,scrollRef:a??null},children:(0,Y.jsxs)(c,{position:`absolute`,bottom:0,left:0,right:0,maxHeight:h-yi,flexDirection:`column`,overflow:`hidden`,opaque:!0,children:[(0,Y.jsx)(c,{flexShrink:0,children:(0,Y.jsx)(u,{color:`permission`,children:`▔`.repeat(g)})}),(0,Y.jsx)(c,{flexDirection:`column`,paddingX:2,flexShrink:0,overflow:`hidden`,children:i})]})})]})}return(0,Y.jsxs)(Y.Fragment,{children:[e,t,n,i]})}function hi({count:e,onClick:t}){let[n,r]=(0,J.useState)(!1);return(0,Y.jsx)(c,{position:`absolute`,bottom:0,left:0,right:0,justifyContent:`center`,children:(0,Y.jsx)(c,{onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,Y.jsxs)(u,{backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,dimColor:!0,children:[` `,e>0?`${e} new ${ft(e,`message`)}`:`Jump to bottom`,` `,a.arrowDown,` `]})})})}function gi({text:e,onClick:t}){let[n,r]=(0,J.useState)(!1);return(0,Y.jsx)(c,{flexShrink:0,width:`100%`,height:1,paddingRight:1,backgroundColor:n?`userMessageBackgroundHover`:`userMessageBackground`,onClick:t,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:(0,Y.jsxs)(u,{color:`subtle`,wrap:`truncate-end`,children:[a.pointer,` `,e]})})}function _i(){let e=ei();return!e||e.suggestions.length===0?null:(0,Y.jsx)(c,{position:`absolute`,bottom:`100%`,left:0,right:0,paddingX:2,paddingTop:1,flexDirection:`column`,opaque:!0,children:(0,Y.jsx)(At,{suggestions:e.suggestions,selectedSuggestion:e.selectedSuggestion,maxColumnWidth:e.maxColumnWidth,overlay:!0})})}function vi(){let e=ti();return e?(0,Y.jsx)(c,{position:`absolute`,bottom:`100%`,left:0,right:0,opaque:!0,children:e}):null}var J,Y,yi,bi,xi=e((()=>{i(),J=t(p(),1),Pt(),li(),Le(),y(),Ge(),z(),pt(),Mr(),jt(),Y=x(),yi=2,bi=(0,J.createContext)({setStickyPrompt:()=>{}})}));function Si(e){let t=ki.get(e);if(t!==void 0)return t;let n=dn(e);return ki.set(e,n),n}function Ci(e){let t=ji.get(e);if(t!==void 0)return t;let n=wi(e);return ji.set(e,n),n}function wi(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=se(t);return n.startsWith(`<`)||n===``?null:n}function Ti({itemKey:e,msg:t,idx:n,measureRef:r,expanded:i,hovered:a,clickable:o,onClickK:s,onEnterK:u,onLeaveK:d,renderItem:f}){return(0,Z.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,Z.jsx)(l.Provider,{value:a&&!i?`text`:void 0,children:f(t,n)})})}function Ei({messages:e,scrollRef:t,columns:n,itemKey:r,renderItem:i,onItemClick:a,isItemClickable:o,isItemExpanded:s,extractSearchText:l=Si,trackStickyPrompt:u,selectedIndex:d,cursorNavRef:f,setCursor:p,jumpRef:m,onSearchMatchesChange:h,scanElement:g,setPositions:_}){let v=(0,X.useRef)([]),y=(0,X.useRef)(e),b=(0,X.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:w,measureRef:T,spacerRef:E,offsets:D,getItemTop:k,getItemElement:A,getItemHeight:ee,scrollToIndex:te}=Ur(t,x,n),[j,ne]=S,re=(0,X.useCallback)(t=>ee(t)!==0&&pe(e[t]),[ee,e]);(0,X.useImperativeHandle)(f,()=>{let n=e=>p?.({uuid:e.uuid,msgType:e.type,expanded:!1,toolName:O(e)?.name}),r=d??-1,i=(t,r,i=re)=>{for(let a=t;a>=0&&a<e.length;a+=r)if(i(a))return n(e[a]),!0;return!1},a=t=>re(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,re]);let M=(0,X.useRef)({offsets:D,start:j,getItemElement:A,getItemTop:k,messages:e,scrollToIndex:te});M.current={offsets:D,start:j,getItemElement:A,getItemTop:k,messages:e,scrollToIndex:te},(0,X.useEffect)(()=>{if(d===void 0)return;let e=M.current,n=e.getItemElement(d);n?t.current?.scrollToElement(n,1):e.scrollToIndex(d)},[d,t]);let N=(0,X.useRef)(null),P=(0,X.useRef)({msgIdx:-1,positions:[]}),F=(0,X.useRef)(-1),ie=(0,X.useRef)(0),ae=(0,X.useRef)(0),oe=(0,X.useRef)(()=>{}),se=(0,X.useRef)(()=>{}),ce=(0,X.useRef)({matches:[],ptr:0,screenOrd:0,prefixSum:[]}),le=(0,X.useRef)(-1),I=(0,X.useRef)(!1);function ue(e){let t=M.current.getItemTop(e);return Math.max(0,t-Oi)}function de(e){let n=t.current,{msgIdx:r,positions:i}=P.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=M.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),Ze(`highlight(i=${r}, ord=${a}/${i.length}): pos={row:${o.row},col:${o.col}} lo=${l} screenRow=${d} badge=${m}/${p}`)}se.current=de;let[fe,L]=(0,X.useState)(0),me=(0,X.useCallback)(()=>L(e=>e+1),[]);(0,X.useEffect)(()=>{let e=N.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}=M.current,l=o(n),u=l?.yogaNode?.getComputedHeight()??0;if(!l||u===0){if(i>1){N.current=null,Ze(`seek(i=${n}): no mount after scrollToIndex, skip`),oe.current(r?-1:1);return}N.current={idx:n,wantLast:r,tries:i+1},c(n),me();return}N.current=null,a.scrollTo(Math.max(0,s(n)-Oi));let d=g?.(l)??[];if(P.current={msgIdx:n,positions:d},Ze(`seek(i=${n} t=${i}): ${d.length} positions`),d.length===0){if(++ie.current>20){ie.current=0;return}oe.current(r?-1:1);return}ie.current=0;let f=r?d.length-1:0;ce.current.screenOrd=f,F.current=-1,se.current(f);let p=ae.current;p&&(ae.current=0,oe.current(p))},[fe]);function he(e,n){let r=t.current;if(!r)return;let i=M.current,{getItemElement:a,scrollToIndex:o}=i;if(e<0||e>=i.messages.length)return;_?.(null),P.current={msgIdx:-1,positions:[]},N.current={idx:e,wantLast:n,tries:0};let s=a(e),c=s?.yogaNode?.getComputedHeight()??0;s&&c>0?r.scrollTo(ue(e)):o(e),me()}function ge(e){let t=ce.current,{matches:n,prefixSum:r}=t,i=r.at(-1)??0;if(n.length===0)return;if(N.current){ae.current=e;return}F.current<0&&(F.current=t.ptr);let{positions:a}=P.current,o=t.screenOrd+e;if(o>=0&&o<a.length){t.screenOrd=o,de(o),F.current=-1;return}let s=(t.ptr+e+n.length)%n.length;if(s===F.current){_?.(null),F.current=-1,Ze(`step: wraparound at ptr=${s}, all ${n.length} msgs phantoms`);return}t.ptr=s,t.screenOrd=0,he(n[s],e<0);let c=e<0?r[s+1]??i:r[s]+1;h?.(i,c)}oe.current=ge,(0,X.useImperativeHandle)(m,()=>({jumpToIndex:e=>{let n=t.current;n&&n.scrollTo(ue(e))},setSearchQuery:e=>{N.current=null,P.current={msgIdx:-1,positions:[]},F.current=-1,_?.(null);let n=e.toLowerCase(),r=[],i=[0];if(n){let e=M.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}=M.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)}Ze(`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?he(r[o],!0):le.current>=0&&s&&s.scrollTo(le.current),h?.(a,r.length>0?i[o+1]??a:0)},nextMatch:()=>ge(1),prevMatch:()=>ge(-1),setAnchor:()=>{let e=t.current;e&&(le.current=e.getScrollTop())},disarmSearch:()=>{_?.(null),N.current=null,P.current={msgIdx:-1,positions:[]},F.current=-1},warmSearchIndex:async()=>{if(I.current)return 0;let e=M.current.messages,t=0,n=performance.now();for(let n=0;n<e.length;n+=500){await Ct(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 Ze(`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[R,_e]=(0,X.useState)(null),ve=(0,X.useRef)({onItemClick:a,setHoveredKey:_e});ve.current={onItemClick:a,setHoveredKey:_e};let ye=(0,X.useCallback)((e,t)=>{let n=ve.current;!t&&n.onItemClick&&n.onItemClick(e)},[]),be=(0,X.useCallback)(e=>{ve.current.setHoveredKey(e)},[]),xe=(0,X.useCallback)(e=>{ve.current.setHoveredKey(t=>t===e?null:t)},[]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(c,{ref:E,height:C,flexShrink:0}),e.slice(j,ne).map((e,t)=>{let n=j+t,r=x[n],c=!!a&&(o?.(e)??!0),l=c&&R===r,u=s?.(e);return(0,Z.jsx)(Ti,{itemKey:r,msg:e,idx:n,measureRef:T,expanded:u,hovered:l,clickable:c,onClickK:ye,onEnterK:be,onLeaveK:xe,renderItem:i},r)}),w>0&&(0,Z.jsx)(c,{height:w,flexShrink:0}),u&&(0,Z.jsx)(Di,{messages:e,start:j,end:ne,offsets:D,getItemTop:k,getItemElement:A,scrollRef:t})]})}function Di({messages:e,start:t,end:n,offsets:r,getItemTop:i,getItemElement:a,scrollRef:o}){let{setStickyPrompt:s}=(0,X.useContext)(bi);(0,X.useSyncExternalStore)((0,X.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=Ci(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,X.useRef)({idx:-1,tries:0}),_=(0,X.useRef)(`none`),v=(0,X.useRef)(-1);return(0,X.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,X.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 X,Z,Oi,ki,Ai,ji,Mi,Ni=e((()=>{X=t(p(),1),Qr(),y(),Ve(),xi(),Z=x(),Qe(),wt(),vn(),de(),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`?qe(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=qe(e);return i?t.has(i)||n.has(i)||B(i,`PostToolUse`,a)?!1:Zt(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),Qt(),S(),Le(),y(),Ae(),vt(),L(),tn(),an(),Ee(),tt(),r(),z(),un(),M(),pt(),vn(),pr(),ye(),kr(),de(),Se(),Mr(),Ue(),Hr(),$=x(),ue(),Ni(),zi=Ri.memo(function({agentDefinitions:e}){return(0,$.jsx)(R,{children:(0,$.jsxs)(c,{flexDirection:`column`,gap:1,children:[(0,$.jsx)(ur,{}),(0,$.jsx)(Ri.Suspense,{fallback:null,children:(0,$.jsx)(Rr,{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:S=!1,streamingThinking:w,streamingText:T,unseenDivider:O,scrollRef:k,trackStickyPrompt:A,jumpRef:ee,onSearchMatchesChange:te,scanElement:j,setPositions:ne,disableRenderCap:M=!1,cursor:F=null,setCursor:ie,cursorNavRef:se,renderRange:I})=>{let{columns:ue}=v(),de=Pe(`transcript:toggleShowAll`,`Transcript`,`Ctrl+E`),L=(0,Q.useMemo)(()=>Oe(e).filter(le),[e]),pe=(0,Q.useMemo)(()=>w?w.isStreaming?!0:w.streamingEndedAt?Date.now()-w.streamingEndedAt<3e4:!1:!1,[w]),{lastThinkingBlockId:me,latestBashOutputUUID:he}=(0,Q.useMemo)(()=>{let e=null,t=null,n=S&&!pe;S&&pe&&(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 S||(e=null),{lastThinkingBlockId:e,latestBashOutputUUID:t}},[L,S,pe]),R=(0,Q.useMemo)(()=>ke(L),[L]),_e=(0,Q.useMemo)(()=>g.filter(e=>!l.has(e.contentBlock.id)&&!R.has(e.contentBlock.id)),[g,l,R]),ye=(0,Q.useMemo)(()=>_e.flatMap(e=>{let t=re({content:[e.contentBlock]});return t.uuid=Me(e.contentBlock.id,0),Oe([t])}),[_e]),be=h===`transcript`,xe=(0,Q.useMemo)(()=>n(process.env.WORKMATE_DISABLE_VIRTUAL_SCROLL),[]),Se=k!=null&&!xe,Ce=be&&!_&&!Se,Te=(0,Q.useRef)(null),z=(0,Q.useRef)(null),{collapsed:Ee,lookups:De,hasTruncatedMessages:Ae,hiddenMessageCount:je}=(0,Q.useMemo)(()=>{let e=ve((i||P()?L:ce(L,{includeSnipped:!0})).filter(e=>e.type!==`progress`&&!Ar(e)&&we(e,be)),ye),n=Ce?e.slice(-30):e,r=Ce&&e.length>Bi,{messages:a}=cn(n,t,i),o=en(rn(He(a,t)),i),s=E(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=ge(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=oe(L,n),z.current={key:s,lookups:l,normalizedCount:L.length,messageCount:n.length,lastAssistantMsgId:c})}else l=oe(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,be,ye,Ce,t]),B=(0,Q.useMemo)(()=>{let e=!Se&&!M?Pi(Ee,Te):0;return I?Ee.slice(I[0],I[1]):e>0?Ee.slice(e):Ee},[Ee,I,Se,M]),Fe=(0,Q.useMemo)(()=>new Set(g.map(e=>e.contentBlock.id)),[g]),{dividerBeforeIndex:Ie,selectedIdx:Le}=(0,Q.useMemo)(()=>{if(!O&&!F)return{dividerBeforeIndex:-1,selectedIdx:-1};let e=-1,t=-1,n=O?.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}},[O,F,B]),[Re,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})},[]),Ue=(0,Q.useCallback)(e=>Re.size>0&&Re.has(Fi(e)),[Re]),We=(0,Q.useRef)(De);We.current=De;let Ge=(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&&ae(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=We.current.toolUseByToolUseID.get(n.tool_use_id??``)?.name;return(r?_t(t,r):void 0)?.isResultTruncated?.(e.toolUseResult)??!1},[t]),Ke=(!a||!!a.shouldContinueAnimation)&&!s.length&&!f,qe=l.size>0,{progress:Je}=d(),Ye=(0,Q.useRef)(null),Xe=rt().terminalProgressBarEnabled&&!N();(0,Q.useEffect)(()=>{let e=Xe?qe?`indeterminate`:`completed`:null;Ye.current!==e&&(Ye.current=e,Je(e))},[Je,Xe,qe]),(0,Q.useEffect)(()=>()=>Je(null),[Je]);let Ze=(0,Q.useCallback)(e=>`${e.uuid}-${p}`,[p]),Qe=(e,n)=>{let a=n>0?B[n-1]?.type:void 0,s=e.type===`user`&&a===`user`,u=e.type===`collapsed_read_search`&&(!!T||br(B,n,t,Fe)),d=B.length-1-n>0,f=Ze(e),p=(0,$.jsx)(Or,{message:e,isUserContinuation:s,hasContentAfter:u,tools:t,commands:r,verbose:i||Ue(e)||F?.expanded===!0&&n===Le,inProgressToolUseIDs:l,streamingToolUseIDs:Fe,screen:h,canAnimate:Ke,lastThinkingBlockId:me,latestBashOutputUUID:he,columns:ue,isLoading:x,lookups:De,shouldCollapseDiffs:d},f),m=(0,$.jsx)(fe.Provider,{value:n===Le,children:p},f);return O&&n===Ie?[(0,$.jsx)(c,{marginTop:1,children:(0,$.jsx)(o,{title:`${O.count} new ${ft(O.count,`message`)}`,width:ue,color:`inactive`})},`unseen-divider`),m]:m},$e=(0,Q.useRef)(new WeakMap),et=(0,Q.useCallback)(e=>{let n=$e.current.get(e);if(n!==void 0)return n;let r=dn(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=De.toolUseByToolUseID.get(n.tool_use_id),a=(i&&_t(t,i.name))?.extractSearchText?.(e.toolUseResult);a!==void 0&&(r=a)}}let i=r.toLowerCase();return $e.current.set(e,i),i},[t,De]);return(0,$.jsxs)($.Fragment,{children:[!b&&!(I&&I[0]>0)&&(0,$.jsx)(zi,{agentDefinitions:y}),Ae&&(0,$.jsx)(o,{title:`${de} to show ${m.bold(je)} previous messages`,width:ue}),be&&_&&je>0&&!M&&(0,$.jsx)(o,{title:`${de} to hide ${m.bold(je)} previous messages`,width:ue}),Se?(0,$.jsx)(Ne.Provider,{value:!0,children:(0,$.jsx)(Ei,{messages:B,scrollRef:k,columns:ue,itemKey:Ze,renderItem:Qe,onItemClick:Ve,isItemClickable:Ge,isItemExpanded:Ue,trackStickyPrompt:A,selectedIndex:Le>=0?Le:void 0,cursorNavRef:se,setCursor:ie,jumpRef:ee,onSearchMatchesChange:te,scanElement:j,setPositions:ne,extractSearchText:et})}):B.flatMap(Qe),T&&(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:C})}),(0,$.jsx)(c,{flexDirection:`column`,children:(0,$.jsx)(ze,{children:T})})]})}),pe&&w&&(0,$.jsx)(c,{marginTop:1,children:(0,$.jsx)(D,{param:{type:`thinking`,thinking:w.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{xi as a,ni as c,pi as i,ri as l,Gi as n,ui as o,mi as r,li as s,Wi as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-DaDcL9Zw.js";import{l as t,o as n,s as r}from"./envUtils-QyzA_cFM.js";import{n as i,t as a}from"./defineProperty-C-QyHrDq.js";import{Kr as o,qr as s}from"./src-BX54x08P.js";import{X as c,d as l,m as u,q as d}from"./settings-D4M13toi.js";import{Ft as ee,K as f,Pt as p,at as m,ft as h,gt as g,rt as _}from"./state-CXY-q5gr.js";import{$ as v,$h as te,AC as y,Ai as ne,Bv as b,Cs as x,DC as S,F_ as C,GS as w,Gu as T,Gv as E,Gx as D,I_ as O,Ia as re,Ji as k,Js as ie,Ju as ae,Mi as oe,Oa as A,P_ as se,Pa as ce,Ss as le,Ts as ue,Uv as j,Vp as M,Wr as N,X as de,Xn as P,Y as fe,_C as F,ag as I,bS as pe,bb as L,cw as me,dy as he,fa as ge,gn as _e,gr as ve,gw as ye,hn as be,hv as R,hw as xe,mv as Se,ng as Ce,ot as we,pS as Te,qS as z,qs as B,st as V,ty as Ee,vC as De,ws as Oe,xb as ke,zp as H,zv as U}from"./loadAgentsDir-bmpKLPdG.js";import{n as Ae,t as je}from"./cwd-DrEEb4f5.js";import{C as Me,S as Ne,d as W,o as Pe}from"./config-Bio2EjUK.js";import{i as Fe,o as Ie,q as Le}from"./log-L1kqxa_P.js";import{f as G,s as Re,v as ze}from"./model-Dd3x121y.js";import{at as K,bn as Be,nt as Ve,vn as He}from"./prompt-BnDapYGL.js";import{n as Ue,o as We,r as q}from"./MessageSelector-Kc6JlnDX.js";import{n as Ge,t as J}from"./systemTheme-Ceakddth.js";import{randomUUID as Y}from"crypto";n(),i(),o(),p(),Ae(),Ie(),u(),Me(),He(),W(),xe(),y(),F(),pe(),he(),K(),E(),R(),I(),M(),B(),ce(),k(),oe(),ve(),be(),de(),V(),O(),b(),G(),Ee(),T();async function Ke({tools:e,mainLoopModel:t,additionalWorkingDirectories:n,mcpClients:r,customSystemPrompt:i}){let[a,o,s]=await Promise.all([i===void 0?we(e,t,n,r):Promise.resolve([]),C(),i===void 0?se():Promise.resolve({})]);return{defaultSystemPrompt:a,userContext:o,systemContext:s}}async function qe({tools:e,commands:t,mcpClients:n,messages:r,readFileState:i,getAppState:a,setAppState:o,customSystemPrompt:s,appendSystemPrompt:c,thinkingConfig:l,agents:u}){let d=Re(),ee=a(),{defaultSystemPrompt:f,userContext:p,systemContext:m}=await Ke({tools:e,mainLoopModel:d,additionalWorkingDirectories:Array.from(ee.toolPermissionContext.additionalWorkingDirectories.keys()),mcpClients:n,customSystemPrompt:s}),h=w([...s===void 0?f:[s],...c?[c]:[]]),g=r.at(-1),_=g?.type===`assistant`&&g.message.stop_reason===null?r.slice(0,-1):r;return{systemPrompt:h,userContext:p,systemContext:m,toolUseContext:{options:{commands:t,debug:!1,mainLoopModel:d,tools:e,verbose:!1,thinkingConfig:l??(ae()===!1?{type:`disabled`}:{type:`adaptive`}),mcpClients:n,mcpResources:{},isNonInteractiveSession:!0,agentDefinitions:{activeAgents:u,allAgents:[]},customSystemPrompt:s,appendSystemPrompt:c},abortController:U(),readFileState:i,getAppState:a,setAppState:o,messages:_,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},updateAttributionState:()=>{}},forkContextMessages:_}}c(),L(),A(),J(),me();function X(e){return e.flatMap(e=>{if(!e)return[];switch(e.type){case`assistant`:return[{type:`assistant`,message:e.message,uuid:e.uuid,requestId:void 0,timestamp:new Date().toISOString()}];case`user`:return[{type:`user`,message:e.message,uuid:e.uuid??Y(),timestamp:e.timestamp??new Date().toISOString(),isMeta:e.isSynthetic}];default:return[]}})}function Je(e){let t=e.preservedSegment;return{trigger:e.trigger,pre_tokens:e.preTokens,...t&&{preserved_segment:{head_uuid:t.headUuid,anchor_uuid:t.anchorUuid,tail_uuid:t.tailUuid}}}}function Ye(e,t){let n=D({content:s(e).replace(/<local-command-stdout>([\s\S]*?)<\/local-command-stdout>/,`$1`).replace(/<local-command-stderr>([\s\S]*?)<\/local-command-stderr>/,`$1`).trim()});return{type:`assistant`,content:n.message?.content,message:n.message,parent_tool_use_id:null,session_id:m(),uuid:t}}function Z(e){if(e)return{type:`rate_limit`,status:e.status,...e.resetsAt!==void 0&&{resetsAt:e.resetsAt},...e.rateLimitType!==void 0&&{rateLimitType:e.rateLimitType},...e.utilization!==void 0&&{utilization:e.utilization},...e.overageStatus!==void 0&&{overageStatus:e.overageStatus},...e.overageResetsAt!==void 0&&{overageResetsAt:e.overageResetsAt},...e.overageDisabledReason!==void 0&&{overageDisabledReason:e.overageDisabledReason},...e.isUsingOverage!==void 0&&{isUsingOverage:e.isUsingOverage},...e.surpassedThreshold!==void 0&&{surpassedThreshold:e.surpassedThreshold}}}p();function Xe(e){return e===`Agent`?d:e}function Ze(e){let t=l()?.outputStyle??`default`,n={type:`system`,subtype:`init`,cwd:je(),session_id:m(),tools:e.tools.map(e=>Xe(e.name)),mcp_servers:e.mcpClients.map(e=>({name:e.name,status:e.type})),model:e.model,permissionMode:e.permissionMode,slash_commands:e.commands.filter(e=>e.userInvocable!==!1).map(e=>e.name),apiKeySource:process.env.ANTHROPIC_API_KEY?`ANTHROPIC_API_KEY`:`none`,betas:_(),claude_code_version:`0.0.28`,output_style:t,agents:e.agents.map(e=>e.agentType),skills:e.skills.filter(e=>e.userInvocable!==!1).map(e=>e.name),plugins:e.plugins.map(e=>({name:e.name,path:e.path,source:e.source})),uuid:Y()};return n.fast_mode_state=S(e.model,e.fastMode),n}p(),o(),Le(),b(),Ae(),y(),k(),G(),Ee(),T(),x();var Qe=()=>{try{return q(),e(Ue)}catch{return null}},Q=class{constructor(e){a(this,`config`,void 0),a(this,`mutableMessages`,void 0),a(this,`abortController`,void 0),a(this,`permissionDenials`,void 0),a(this,`totalUsage`,void 0),a(this,`hasHandledOrphanedPermission`,!1),a(this,`readFileState`,void 0),a(this,`discoveredSkillNames`,new Set),a(this,`loadedNestedMemoryPaths`,new Set),this.config=e,this.mutableMessages=e.initialMessages??[],this.abortController=e.abortController??U(),this.permissionDenials=[],this.readFileState=e.readFileCache,this.totalUsage=z}async*submitMessage(e,n){let{cwd:i,commands:a,tools:o,mcpClients:c,verbose:l=!1,thinkingConfig:u,maxTurns:d,maxBudgetUsd:p,taskBudget:_,canUseTool:y,customSystemPrompt:b,appendSystemPrompt:x,userSpecifiedModel:C,fallbackModel:T,jsonSchema:E,getAppState:D,setAppState:O,replayUserMessages:k=!1,includePartialMessages:oe=!1,agents:A=[],setSDKStatus:se,orphanedPermission:ce}=this.config;this.discoveredSkillNames.clear(),this.permissionDenials=[],ke(i);let j=!ee(),M=Date.now(),de=async(e,t,n,r,i,a)=>{let o=await y(e,t,n,r,i,a);return o.behavior!==`allow`&&this.permissionDenials.push({type:`permission_denial`,tool_name:Xe(e.name),tool_use_id:i,tool_input:t}),o},F=D(),I=C?ze(C):Re(),pe=u||(ae()===!1?{type:`disabled`}:{type:`adaptive`});H(`before_getSystemPrompt`);let L=typeof b==`string`?b:void 0,{defaultSystemPrompt:me,userContext:he,systemContext:ve}=await Ke({tools:o,mainLoopModel:I,additionalWorkingDirectories:Array.from(F.toolPermissionContext.additionalWorkingDirectories.keys()),mcpClients:c,customSystemPrompt:L});H(`after_getSystemPrompt`);let be={...he},R=L!==void 0&&Ne()?await ye():null,xe=w([...L===void 0?me:[L],...R?[R]:[],...x?[x]:[]]),we=o.some(e=>Be(e,Ve));E&&we&&_e(O,m());let B={messages:this.mutableMessages,setMessages:e=>{this.mutableMessages=e(this.mutableMessages)},onChangeAPIKey:()=>{},handleElicitation:this.config.handleElicitation,options:{commands:a,debug:!1,tools:o,verbose:l,mainLoopModel:I,thinkingConfig:pe,mcpClients:c,mcpResources:{},isNonInteractiveSession:!0,customSystemPrompt:b,appendSystemPrompt:x,agentDefinitions:{activeAgents:A,allAgents:[]},theme:Ge(Pe().theme),maxBudgetUsd:p},getAppState:D,setAppState:O,abortController:this.abortController,readFileState:this.readFileState,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:this.loadedNestedMemoryPaths,dynamicSkillDirTriggers:new Set,discoveredSkillNames:this.discoveredSkillNames,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:e=>{O(t=>{let n=e(t.fileHistory);return n===t.fileHistory?t:{...t,fileHistory:n}})},updateAttributionState:e=>{O(t=>{let n=e(t.attribution);return n===t.attribution?t:{...t,attribution:n}})},setSDKStatus:se};if(ce&&!this.hasHandledOrphanedPermission){this.hasHandledOrphanedPermission=!0;for await(let e of le(ce,o,this.mutableMessages,B))yield e}let{messages:V,shouldQuery:Ee,allowedTools:U,model:Ae,resultText:Me}=await We({input:e,mode:`prompt`,setToolJSX:()=>{},context:{...B,messages:this.mutableMessages},messages:this.mutableMessages,uuid:n?.uuid,isMeta:n?.isMeta,querySource:`sdk`});this.mutableMessages.push(...V);let W=[...this.mutableMessages];if(j&&V.length>0){let e=N(W);r()||(await e,(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P())}let Ie=Qe(),Le=V.filter(e=>e.type===`user`&&!e.isMeta&&!e.toolUseResult&&(Ie?.selectableUserMessagesFilter(e)??!0)||e.type===`system`&&e.subtype===`compact_boundary`),G=k?Le:[];O(e=>({...e,toolPermissionContext:{...e.toolPermissionContext,alwaysAllowRules:{...e.toolPermissionContext.alwaysAllowRules,command:U}}}));let K=Ae??I;B={messages:W,setMessages:()=>{},onChangeAPIKey:()=>{},handleElicitation:this.config.handleElicitation,options:{commands:a,debug:!1,tools:o,verbose:l,mainLoopModel:K,thinkingConfig:pe,mcpClients:c,mcpResources:{},isNonInteractiveSession:!0,customSystemPrompt:b,appendSystemPrompt:x,theme:Ge(Pe().theme),agentDefinitions:{activeAgents:A,allAgents:[]},maxBudgetUsd:p},getAppState:D,setAppState:O,abortController:this.abortController,readFileState:this.readFileState,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:this.loadedNestedMemoryPaths,dynamicSkillDirTriggers:new Set,discoveredSkillNames:this.discoveredSkillNames,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:B.updateFileHistoryState,updateAttributionState:B.updateAttributionState,setSDKStatus:se},H(`before_skills_plugins`);let[He,{enabled:Ue}]=await Promise.all([ne(je()),re()]);if(H(`after_skills_plugins`),yield Ze({tools:o,mcpClients:c,model:K,permissionMode:F.toolPermissionContext.mode,commands:a,agents:A,skills:He,plugins:Ue,fastMode:F.fastMode}),H(`system_message_yielded`),!Ee){for(let e of V)if(e.type===`user`&&typeof e.message.content==`string`&&(e.message.content.includes(`<local-command-stdout>`)||e.message.content.includes(`<local-command-stderr>`)||e.isCompactSummary)&&(yield{type:`user`,message:{...e.message,content:s(e.message.content)},session_id:m(),parent_tool_use_id:null,uuid:e.uuid,timestamp:e.timestamp,isReplay:!e.isCompactSummary,isSynthetic:e.isMeta||e.isVisibleInTranscriptOnly}),e.type===`system`&&e.subtype===`local_command`&&typeof e.content==`string`&&(e.content.includes(`<local-command-stdout>`)||e.content.includes(`<local-command-stderr>`))&&(yield Ye(e.content,e.uuid)),e.type===`system`&&e.subtype===`compact_boundary`){let t=e;yield{type:`system`,subtype:`compact_boundary`,session_id:m(),uuid:e.uuid,compact_metadata:Je(t.compactMetadata)}}j&&(await N(W),(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P()),yield{type:`result`,subtype:`success`,is_error:!1,duration_ms:Date.now()-M,duration_api_ms:h(),num_turns:W.length-1,result:Me??``,stop_reason:null,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,fast_mode_state:S(K,F.fastMode),uuid:Y()};return}if(te()&&j){let e=Qe()?.selectableUserMessagesFilter??(e=>!0);V.filter(e).forEach(e=>{Ce(e=>{O(t=>({...t,fileHistory:e(t.fileHistory)}))},e.uuid)})}let q=z,J=1,qe=!1,X,Z=null,Q=Fe().at(-1),$e=E?ge(this.mutableMessages,Ve):0;for await(let e of ie({messages:W,systemPrompt:xe,userContext:be,systemContext:ve,canUseTool:de,toolUseContext:B,fallbackModel:T,querySource:`sdk`,maxTurns:d,taskBudget:_})){if(e.type===`assistant`||e.type===`user`||e.type===`system`&&e.subtype===`compact_boundary`){if(j&&e.type===`system`&&e.subtype===`compact_boundary`){let t=e.compactMetadata?.preservedSegment?.tailUuid;if(t){let e=this.mutableMessages.findLastIndex(e=>e.uuid===t);e!==-1&&await N(this.mutableMessages.slice(0,e+1))}}if(W.push(e),j&&(e.type===`assistant`?N(W):await N(W)),!qe&&G.length>0){qe=!0;for(let e of G)e.type===`user`&&(yield{type:`user`,message:e.message,session_id:m(),parent_tool_use_id:null,uuid:e.uuid,timestamp:e.timestamp,isReplay:!0})}}switch(e.type===`user`&&J++,e.type){case`tombstone`:break;case`assistant`:{let t=e,n=t.message?.stop_reason;n!=null&&(Z=n),this.mutableMessages.push(t),yield*ue(t);break}case`progress`:{let t=e;this.mutableMessages.push(t),j&&(W.push(t),N(W)),yield*ue(t);break}case`user`:{let t=e;this.mutableMessages.push(t),yield*ue(t);break}case`stream_event`:{let t=e.event;if(t.type===`message_start`){q=z;let e=t.message;q=v(q,e.usage)}if(t.type===`message_delta`){q=v(q,t.usage);let e=t.delta;e.stop_reason!=null&&(Z=e.stop_reason)}t.type===`message_stop`&&(this.totalUsage=fe(this.totalUsage,q)),oe&&(yield{type:`stream_event`,event:t,session_id:m(),parent_tool_use_id:null,uuid:Y()});break}case`attachment`:{let n=e;this.mutableMessages.push(n),j&&(W.push(n),N(W));let r=n.attachment;if(r.type===`structured_output`)X=r.data;else if(r.type===`max_turns_reached`){j&&(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P(),yield{type:`result`,subtype:`error_max_turns`,duration_ms:Date.now()-M,duration_api_ms:h(),is_error:!0,num_turns:r.turnCount,stop_reason:Z,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,fast_mode_state:S(K,F.fastMode),uuid:Y(),errors:[`Reached maximum number of turns (${r.maxTurns})`]};return}else k&&r.type===`queued_command`&&(yield{type:`user`,message:{role:`user`,content:r.prompt},session_id:m(),parent_tool_use_id:null,uuid:r.source_uuid||n.uuid,timestamp:n.timestamp,isReplay:!0});break}case`stream_request_start`:break;case`system`:{let t=e,n=this.config.snipReplay?.(t,this.mutableMessages);if(n!==void 0){n.executed&&(this.mutableMessages.length=0,this.mutableMessages.push(...n.messages));break}if(this.mutableMessages.push(t),t.subtype===`compact_boundary`&&t.compactMetadata){let e=t,n=this.mutableMessages.length-1;n>0&&this.mutableMessages.splice(0,n);let r=W.length-1;r>0&&W.splice(0,r),yield{type:`system`,subtype:`compact_boundary`,session_id:m(),uuid:t.uuid,compact_metadata:Je(e.compactMetadata)}}if(t.subtype===`api_error`){let e=t;yield{type:`system`,subtype:`api_retry`,attempt:e.retryAttempt,max_retries:e.maxRetries,retry_delay_ms:e.retryInMs,error_status:e.error.status??null,error:Se(e.error),session_id:m(),uuid:t.uuid}}break}case`tool_use_summary`:{let t=e;yield{type:`tool_use_summary`,summary:t.summary,preceding_tool_use_ids:t.precedingToolUseIds,session_id:m(),uuid:t.uuid};break}}if(p!==void 0&&g()>=p){j&&(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P(),yield{type:`result`,subtype:`error_max_budget_usd`,duration_ms:Date.now()-M,duration_api_ms:h(),is_error:!0,num_turns:J,stop_reason:Z,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,fast_mode_state:S(K,F.fastMode),uuid:Y(),errors:[`Reached maximum budget ($${p}). Increase the limit with --max-budget-usd or start a new session.`]};return}if(e.type===`user`&&E){let e=ge(this.mutableMessages,Ve)-$e,n=parseInt(process.env.MAX_STRUCTURED_OUTPUT_RETRIES||`5`,10);if(e>=n){j&&(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P(),yield{type:`result`,subtype:`error_max_structured_output_retries`,duration_ms:Date.now()-M,duration_api_ms:h(),is_error:!0,num_turns:J,stop_reason:Z,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,fast_mode_state:S(K,F.fastMode),uuid:Y(),errors:[`Failed to provide valid structured output after ${n} attempts`]};return}}}let $=W.findLast(e=>e.type===`assistant`||e.type===`user`),et=$?.type??`undefined`,tt=$?.type===`assistant`?De($.message.content)?.type??`none`:`n/a`;if(j&&(t(process.env.WORKMATE_EAGER_FLUSH)||t(process.env.WORKMATE_IS_COWORK))&&await P(),!Oe($,Z)){yield{type:`result`,subtype:`error_during_execution`,duration_ms:Date.now()-M,duration_api_ms:h(),is_error:!0,num_turns:J,stop_reason:Z,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,fast_mode_state:S(K,F.fastMode),uuid:Y(),errors:(()=>{let e=Fe(),t=Q?e.lastIndexOf(Q)+1:0;return[`[ede_diagnostic] result_type=${et} last_content_type=${tt} stop_reason=${Z}`,...e.slice(t).map(e=>e.error)]})()};return}let nt=``,rt=!1;if($.type===`assistant`){let e=De($.message.content);e?.type===`text`&&!Te.has(e.text)&&(nt=e.text),rt=!!$.isApiErrorMessage}yield{type:`result`,subtype:`success`,is_error:rt,duration_ms:Date.now()-M,duration_api_ms:h(),num_turns:J,result:nt,stop_reason:Z,session_id:m(),total_cost_usd:g(),usage:this.totalUsage,modelUsage:f(),permission_denials:this.permissionDenials,structured_output:X,fast_mode_state:S(K,F.fastMode),uuid:Y()}}interrupt(){this.abortController.abort()}resetAbortController(){this.abortController=U()}getAbortSignal(){return this.abortController.signal}getMessages(){return this.mutableMessages}getReadFileState(){return this.readFileState}getSessionId(){return m()}setModel(e){this.config.userSpecifiedModel=e}};async function*$e({commands:e,prompt:t,promptUuid:n,isMeta:r,cwd:i,tools:a,mcpClients:o,verbose:s=!1,thinkingConfig:c,maxTurns:l,maxBudgetUsd:u,taskBudget:d,canUseTool:ee,mutableMessages:f=[],getReadFileCache:p,setReadFileCache:m,customSystemPrompt:h,appendSystemPrompt:g,userSpecifiedModel:_,fallbackModel:v,jsonSchema:te,getAppState:y,setAppState:ne,abortController:b,replayUserMessages:x=!1,includePartialMessages:S=!1,handleElicitation:C,agents:w=[],setSDKStatus:T,orphanedPermission:E}){let D=new Q({cwd:i,tools:a,commands:e,mcpClients:o,agents:w??[],canUseTool:ee,getAppState:y,setAppState:ne,initialMessages:f,readFileCache:j(p()),customSystemPrompt:h,appendSystemPrompt:g,userSpecifiedModel:_,fallbackModel:v,thinkingConfig:c,maxTurns:l,maxBudgetUsd:u,taskBudget:d,jsonSchema:te,verbose:s,handleElicitation:C,replayUserMessages:x,includePartialMessages:S,setSDKStatus:T,abortController:b,orphanedPermission:E});try{yield*D.submitMessage(t,{uuid:n,isMeta:r})}finally{m(D.getReadFileState())}}export{qe as a,Z as i,$e as n,X as r,Q as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./REPL-CtFtb35A.js";export{e as REPL};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{I as t,P as n,Wt as r,ai as i,dr as a,ot as o,t as s}from"./src-BX54x08P.js";import{t as c}from"./jsx-runtime-Bb4Xn-E0.js";import{Hn as l,Pt as u}from"./state-CXY-q5gr.js";import{Bh as ee,Cg as te,Er as ne,Hh as re,In as ie,Kn as ae,Rr as oe,Xr as se,Xs as d,Yr as f,dy as p,ec as m,fy as h,gr as g,jr as _,sb as v,tb as y,vr as b,wg as x,zh as S}from"./loadAgentsDir-bmpKLPdG.js";import{o as C,s as w}from"./log-L1kqxa_P.js";import{n as T}from"./analytics-COpjZpvd.js";import{n as E}from"./conversationRecovery-_hWC7JBO.js";import{r as D,t as O}from"./Spinner-C0qHjfIY.js";import{a as ce,n as le,s as ue}from"./skillChangeDetector-DlodgOyC.js";import{t as k}from"./REPL-CtFtb35A.js";import{a as A,i as j,n as M,o as N,r as P,t as F}from"./crossProjectResume-CCo3iZrB.js";import{dirname as I}from"path";var L=e(i(),1);v(),u(),N(),D(),p(),s(),y(),T(),S(),x(),j(),d(),M(),C(),g();var R=c();function z(e){let t=parseInt(e,10);if(!isNaN(t)&&t>0)return t;let n=e.match(/github\.com\/[^/]+\/[^/]+\/pull\/(\d+)/);return n?.[1]?parseInt(n[1],10):null}function B({commands:e,worktreePaths:r,initialTools:i,mcpClients:s,dynamicMcpConfig:c,debug:u,mainThreadAgentDefinition:d,strictMcpConfig:p=!1,systemPrompt:g,appendSystemPrompt:v,initialSearchQuery:y,disableSlashCommands:x=!1,forkSession:S,taskListId:C,filterByPr:T,thinkingConfig:D,onTurnComplete:j}){let{rows:M}=o(),N=ee(e=>e.agentDefinitions),B=re(),[U,W]=L.useState([]),[de,G]=L.useState(!0),[fe,pe]=L.useState(!1),[K,me]=L.useState(!1),[q,he]=L.useState(null),[J,ge]=L.useState(null),Y=L.useRef(null),X=L.useRef(0),Z=L.useMemo(()=>{let e=U.filter(e=>!e.isSidechain);if(T!==void 0){if(T===!0)e=e.filter(e=>e.prNumber!==void 0);else if(typeof T==`number`)e=e.filter(e=>e.prNumber===T);else if(typeof T==`string`){let t=z(T);t!==null&&(e=e.filter(e=>e.prNumber===t))}}return e},[U,T]),_e=b();L.useEffect(()=>{_(r).then(e=>{Y.current=e,X.current=e.logs.length,W(e.logs),G(!1)}).catch(e=>{w(e),G(!1)})},[r]);let Q=L.useCallback(e=>{let t=Y.current;!t||t.nextIndex>=t.allStatLogs.length||ae(t.allStatLogs,t.nextIndex,e).then(n=>{if(t.nextIndex=n.nextIndex,n.logs.length>0){let e=X.current;n.logs.forEach((t,n)=>{t.value=e+n}),W(e=>e.concat(n.logs)),X.current+=n.logs.length}else t.nextIndex<t.allStatLogs.length&&Q(e)})},[]),$=L.useCallback(e=>{G(!0),(e?ne():_(r)).then(e=>{Y.current=e,X.current=e.logs.length,W(e.logs)}).catch(e=>{w(e)}).finally(()=>{G(!1)})},[r]),ve=L.useCallback(()=>{let e=!K;me(e),$(e)},[K,$]);function ye(){process.exit(1)}async function be(e){pe(!0);let t=performance.now(),n=F(e,K);if(n.isCrossProject&&!n.isSameRepoWorktree){let e=n.command,t=await a(e);t&&process.stdout.write(t),ge(e);return}try{let n=await E(e,void 0);if(!n)throw Error(`Failed to load conversation`);n.sessionId&&!S?(l(te(n.sessionId),e.fullPath?I(e.fullPath):null),await f(),h(n.sessionId)):S&&n.contentReplacements?.length&&await oe(n.contentReplacements);let{agentDefinition:r}=ce(n.agentSetting,d,N);B(e=>({...e,agent:r?.agentType}));let i=le(n.agentName,n.agentColor);i&&B(e=>({...e,standaloneAgentContext:i})),m(n.agentName),se(S?{...n,worktreeSession:void 0}:n),S||(ue(n.worktreeSession),n.sessionId&&ie()),Math.round(performance.now()-t),W([]),he({messages:n.messages,fileHistorySnapshots:n.fileHistorySnapshots,contentReplacements:n.contentReplacements,agentName:n.agentName,agentColor:n.agentColor==="default"?void 0:n.agentColor,mainThreadAgentDefinition:r})}catch(e){throw w(e),e}}return J?(0,R.jsx)(H,{command:J}):q?(0,R.jsx)(k,{debug:u,commands:e,initialTools:i,initialMessages:q.messages,initialFileHistorySnapshots:q.fileHistorySnapshots,initialContentReplacements:q.contentReplacements,initialAgentName:q.agentName,initialAgentColor:q.agentColor,mcpClients:s,dynamicMcpConfig:c,strictMcpConfig:p,systemPrompt:g,appendSystemPrompt:v,mainThreadAgentDefinition:q.mainThreadAgentDefinition,disableSlashCommands:x,taskListId:C,thinkingConfig:D,onTurnComplete:j}):de?(0,R.jsxs)(t,{children:[(0,R.jsx)(O,{}),(0,R.jsx)(n,{children:` Loading conversations…`})]}):fe?(0,R.jsxs)(t,{children:[(0,R.jsx)(O,{}),(0,R.jsx)(n,{children:` Resuming conversation…`})]}):Z.length===0?(0,R.jsx)(V,{}):(0,R.jsx)(A,{logs:Z,maxHeight:M,onCancel:ye,onSelect:be,onLogsChanged:_e?()=>$(K):void 0,onLoadMore:Q,initialSearchQuery:y,showAllProjects:K,onToggleAllProjects:ve,onAgenticSearch:P})}function V(){return r(`app:interrupt`,()=>{process.exit(1)},{context:`Global`}),(0,R.jsxs)(t,{flexDirection:`column`,children:[(0,R.jsx)(n,{children:`No conversations found to resume.`}),(0,R.jsx)(n,{dimColor:!0,children:`Press Ctrl+C to exit and start a new conversation.`})]})}function H({command:e}){return L.useEffect(()=>{let e=setTimeout(()=>{process.exit(0)},100);return()=>clearTimeout(e)},[]),(0,R.jsxs)(t,{flexDirection:`column`,gap:1,children:[(0,R.jsx)(n,{children:`This conversation is from a different directory.`}),(0,R.jsxs)(t,{flexDirection:`column`,children:[(0,R.jsx)(n,{children:`To resume, run:`}),(0,R.jsxs)(n,{children:[` `,e]})]}),(0,R.jsx)(n,{dimColor:!0,children:`(Command copied to clipboard)`})]})}export{B as ResumeConversation};
@@ -1 +0,0 @@
1
- import{f_ as e,p_ as t}from"./loadAgentsDir-bmpKLPdG.js";t();export{e as clearSearchExtraToolsDescriptionCache};
@@ -1,2 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{l as n,n as r,o as i,t as a}from"./envUtils-QyzA_cFM.js";import{n as o,t as s}from"./figures-5ThXQEtq.js";import{D as c,Gt as ee,H as te,I as l,P as u,T as d,U as ne,Wt as re,Xn as ie,a as ae,ai as f,di as p,fi as oe,j as m,k as se,n as h,ot as ce,r as g,t as _,x as v,y as le}from"./src-BX54x08P.js";import{t as y}from"./jsx-runtime-Bb4Xn-E0.js";import{Ht as ue,In as b,It as de,Lt as fe,Nn as pe,Pt as x,Rt as me,Vt as he,i as ge,ln as _e,m as S,mn as ve,n as ye,s as be,t as xe,un as C,y as w}from"./settings-D4M13toi.js";import{Pt as Se,at as T}from"./state-CXY-q5gr.js";import{AC as E,Bh as D,CC as Ce,Cy as O,Da as k,Dy as we,Ea as Te,Ey as Ee,Hh as De,Mh as Oe,NC as ke,Oa as Ae,Oy as je,PC as Me,TC as Ne,Ty as Pe,Vh as Fe,b as A,er as j,gr as Ie,hd as Le,j as Re,jC as ze,jh as Be,ky as Ve,md as M,sb as N,tb as He,wC as Ue,zh as P}from"./loadAgentsDir-bmpKLPdG.js";import{n as We,t as Ge}from"./cwd-DrEEb4f5.js";import{a as Ke,d as qe,h as F,i as Je,o as I,r as Ye}from"./config-Bio2EjUK.js";import{o as Xe,s as Ze}from"./log-L1kqxa_P.js";import{n as Qe}from"./analytics-COpjZpvd.js";import{_ as $e,f as L}from"./startupProfiler-B9Qv2QGH.js";import{Mt as et,Pt as tt,f as R,g as nt,h as rt}from"./model-Dd3x121y.js";import{a as z,c as B,f as it,m as at}from"./proxy--_NfbJhm.js";import{n as ot,t as st}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{n as ct,t as lt}from"./TextInput-ou7ZhpVY.js";import{n as V,t as ut}from"./select-CaxQ-BVq.js";import{i as dt,n as ft,r as pt}from"./modalContext-sU2lfR08.js";import{g as mt,h as H}from"./pidLock-CqkC3-nD.js";import{n as ht,t as gt}from"./nativeInstaller-DMkZdsof.js";import{n as _t,t as U}from"./allErrors-Dhnf6rqg.js";import{t as W}from"./CustomSelect-t4wXuXWH.js";import{n as vt,t as yt}from"./ThemePicker-CVFWqSc7.js";import{i as bt,n as xt,r as St,t as Ct}from"./extraUsage-CmgRR-zH.js";import{n as wt,t as Tt}from"./AgentsMdExternalIncludesDialog-BJfHqScU.js";import{t as Et}from"./SearchBox-zA5QwIpO.js";import{n as Dt,t as Ot}from"./useSearchInput-j12K4wEo.js";function kt(){return[]}function At(e=[],t){let n=e.filter(e=>e.name!==`ide`);if(!n.length)return[];let r={connected:0,pending:0,needsAuth:0,failed:0};for(let e of n)e.type===`connected`?r.connected++:e.type===`pending`?r.pending++:e.type===`needs-auth`?r.needsAuth++:r.failed++;let i=[];return r.connected&&i.push(m(`success`,t)(`${r.connected} connected`)),r.needsAuth&&i.push(m(`warning`,t)(`${r.needsAuth} need auth`)),r.pending&&i.push(m(`inactive`,t)(`${r.pending} pending`)),r.failed&&i.push(m(`error`,t)(`${r.failed} failed`)),[{label:`MCP servers`,value:`${i.join(`, `)} ${m(`inactive`,t)(`· /mcp`)}`}]}async function jt(){let e=Ee(await we()),t=[];return e.forEach(e=>{let n=pe(e.path);t.push(`Large ${n} will impact performance (${L(e.content.length)} chars > ${L(O)})`)}),t}function Mt(){return[{label:`Setting sources`,value:_e().filter(e=>{let t=be(e);return t!==null&&Object.keys(t).length>0}).map(e=>{if(e===`policySettings`){let e=ge();if(e===null)return null;switch(e){case`plist`:return`Enterprise managed settings (plist)`;case`hklm`:return`Enterprise managed settings (HKLM)`;case`file`:{let{hasBase:e,hasDropIns:t}=ye();return e&&t?`Enterprise managed settings (file + drop-ins)`:t?`Enterprise managed settings (drop-ins)`:`Enterprise managed settings (file)`}case`hkcu`:return`Enterprise managed settings (HKCU)`}}return C(e)}).filter(e=>e!==null)}]}async function Nt(){return(await ht()).map(e=>e.message)}async function Pt(){let e=await H(),t=[],{errors:n}=U();if(n.length>0){let e=Array.from(new Set(n.map(e=>e.file))).join(`, `);t.push(`Found invalid settings files: ${e}. They will be ignored.`)}return e.warnings.forEach(e=>{t.push(e.issue)}),e.hasUpdatePermissions===!1&&t.push(`No write permissions for auto-updates (requires sudo)`),t}function Ft(){return[]}function It(){let e=et(),t=[];if(e!==`firstParty`){let n={bedrock:`AWS Bedrock`,vertex:`Google Vertex AI`,foundry:`Microsoft Foundry`,gemini:`Gemini API`,grok:`Grok API`,openai:`OpenAI API`}[e];t.push({label:`API provider`,value:n})}if(e===`firstParty`){let e=process.env.ANTHROPIC_BASE_URL;e&&t.push({label:`API base URL`,value:e})}else if(e===`bedrock`){let e=process.env.BEDROCK_BASE_URL;e&&t.push({label:`Bedrock base URL`,value:e}),t.push({label:`AWS region`,value:a()}),n(process.env.WORKMATE_SKIP_BEDROCK_AUTH)&&t.push({value:`AWS auth skipped`})}else if(e===`vertex`){let e=process.env.VERTEX_BASE_URL;e&&t.push({label:`Vertex base URL`,value:e});let i=process.env.ANTHROPIC_VERTEX_PROJECT_ID;i&&t.push({label:`GCP project`,value:i}),t.push({label:`Default region`,value:r()}),n(process.env.WORKMATE_SKIP_VERTEX_AUTH)&&t.push({value:`GCP auth skipped`})}else if(e===`foundry`){let e=process.env.ANTHROPIC_FOUNDRY_BASE_URL;e&&t.push({label:`Microsoft Foundry base URL`,value:e});let r=process.env.ANTHROPIC_FOUNDRY_RESOURCE;r&&t.push({label:`Microsoft Foundry resource`,value:r}),n(process.env.WORKMATE_SKIP_FOUNDRY_AUTH)&&t.push({value:`Microsoft Foundry auth skipped`})}else if(e===`gemini`){let e=process.env.GEMINI_BASE_URL||`https://generativelanguage.googleapis.com/v1beta`;t.push({label:`Gemini base URL`,value:e})}else if(e===`grok`){let e=process.env.GROK_BASE_URL;t.push({label:`Grok base URL`,value:e})}else if(e===`openai`){let e=process.env.OPENAI_BASE_URL;t.push({label:`OpenAI base URL`,value:e})}let i=z();i&&t.push({label:`Proxy`,value:i});let o=it();return process.env.NODE_EXTRA_CA_CERTS&&t.push({label:`Additional CA cert(s)`,value:process.env.NODE_EXTRA_CA_CERTS}),o&&(o.cert&&process.env.WORKMATE_CLIENT_CERT&&t.push({label:`mTLS client cert`,value:process.env.WORKMATE_CLIENT_CERT}),o.key&&process.env.WORKMATE_CLIENT_KEY&&t.push({label:`mTLS client key`,value:process.env.WORKMATE_CLIENT_KEY})),t}function Lt(e){return nt(e)}var Rt=e((()=>{_(),Ve(),mt(),i(),b(),$e(),R(),tt(),at(),gt(),B(),_t(),ve(),S()}));function zt(){let e=T();return[{label:`Version`,value:`0.0.28`},{label:`Session name`,value:j(e)??(0,G.jsx)(u,{dimColor:!0,children:`/rename to add a name`})},{label:`Session ID`,value:e},{label:`cwd`,value:Ge()},...Ft(),...It()]}function Bt({mainLoopModel:e,mcp:t,theme:n,context:r}){return[{label:`Model`,value:Lt(e)},...At(t.clients,n),...kt(),...Mt()]}async function Vt(){return[...await Nt(),...await Pt(),...await jt()]}function Ht({value:e}){return Array.isArray(e)?(0,G.jsx)(l,{flexWrap:`wrap`,columnGap:1,flexShrink:99,children:e.map((t,n)=>(0,G.jsxs)(u,{children:[t,n<e.length-1?`,`:``]},n))}):typeof e==`string`?(0,G.jsx)(u,{children:e}):e}function Ut({context:e,diagnosticsPromise:t}){let n=D(e=>e.mainLoopModel),r=D(e=>e.mcp),[i]=te(),a=Gt.useMemo(()=>[zt(),Bt({mainLoopModel:n,mcp:r,theme:i,context:e})],[n,r,i,e]),o=pt()?1:void 0;return(0,G.jsxs)(l,{flexDirection:`column`,flexGrow:o,children:[(0,G.jsxs)(l,{flexDirection:`column`,gap:1,flexGrow:o,children:[a.map((e,t)=>e.length>0&&(0,G.jsx)(l,{flexDirection:`column`,children:e.map(({label:e,value:t},n)=>(0,G.jsxs)(l,{flexDirection:`row`,gap:1,flexShrink:0,children:[e!==void 0&&(0,G.jsxs)(u,{bold:!0,children:[e,`:`]}),(0,G.jsx)(Ht,{value:t})]},n))},t)),(0,G.jsx)(Kt.Suspense,{fallback:null,children:(0,G.jsx)(Wt,{promise:t})})]}),(0,G.jsx)(u,{dimColor:!0,children:(0,G.jsx)(M,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`cancel`})})]})}function Wt({promise:e}){let t=(0,Kt.use)(e);return t.length===0?null:(0,G.jsxs)(l,{flexDirection:`column`,paddingBottom:1,children:[(0,G.jsx)(u,{bold:!0,children:`System Diagnostics`}),t.map((e,t)=>(0,G.jsxs)(l,{flexDirection:`row`,gap:1,paddingX:1,children:[(0,G.jsx)(u,{color:`error`,children:s.warning}),typeof e==`string`?(0,G.jsx)(u,{wrap:`wrap`,children:e}):e]},t))]})}var Gt,Kt,G,qt=e((()=>{o(),Gt=t(f(),1),Kt=t(f(),1),Se(),ft(),_(),P(),We(),Ie(),Rt(),Le(),G=y()}));function Jt({currentVersion:e,onChoice:t}){function n(e){t(e)}function r(){t(`cancel`)}return(0,K.jsxs)(le,{title:`Switch to Stable Channel`,onCancel:r,color:`permission`,hideBorder:!0,hideInputGuide:!0,children:[(0,K.jsxs)(u,{children:[`The stable channel may have an older version than what you're currently running (`,e,`).`]}),(0,K.jsx)(u,{dimColor:!0,children:`How would you like to handle this?`}),(0,K.jsx)(ut,{options:[{label:`Allow possible downgrade to stable version`,value:`downgrade`},{label:`Stay on current version (${e}) until stable catches up`,value:`stay`}],onChange:n})]})}var K,Yt=e((()=>{_(),W(),K=y()}));function Xt(e){return Object.entries(e).map(([e,t])=>({label:t?.name??$t,value:e,description:t?.description??en}))}function Zt({initialStyle:e,onComplete:t,onCancel:n,isStandaloneCommand:r}){let[i,a]=(0,Qt.useState)([]),[o,s]=(0,Qt.useState)(!0);(0,Qt.useEffect)(()=>{k(Ge()).then(e=>{let t=Xt(e);a(t),s(!1)}).catch(()=>{let e=Xt(Te);a(e),s(!1)})},[]);let c=(0,Qt.useCallback)(e=>{t(e)},[t]);return(0,q.jsx)(le,{title:`Preferred output style`,onCancel:n,hideInputGuide:!r,hideBorder:!r,children:(0,q.jsxs)(l,{flexDirection:`column`,gap:1,children:[(0,q.jsx)(l,{marginTop:1,children:(0,q.jsx)(u,{dimColor:!0,children:`This changes how Work Mate communicates with you`})}),o?(0,q.jsx)(u,{dimColor:!0,children:`Loading output styles…`}):(0,q.jsx)(ut,{options:i,onChange:c,visibleOptionCount:10,defaultValue:e})]})})}var Qt,q,$t,en,tn=e((()=>{Qt=t(f(),1),Ae(),_(),We(),V(),q=y(),$t=`Default`,en=`Work Mate completes coding tasks efficiently and provides concise responses`}));function nn({initialLanguage:e,onComplete:t,onCancel:n}){let[r,i]=(0,rn.useState)(e),[a,o]=(0,rn.useState)((e??``).length);re(`confirm:no`,n,{context:`Settings`});function c(){let e=r?.trim();t(e||void 0)}return(0,J.jsxs)(l,{flexDirection:`column`,gap:1,children:[(0,J.jsx)(u,{children:`Enter your preferred response and voice language:`}),(0,J.jsxs)(l,{flexDirection:`row`,gap:1,children:[(0,J.jsx)(u,{children:s.pointer}),(0,J.jsx)(lt,{value:r??``,onChange:i,onSubmit:c,focus:!0,showCursor:!0,placeholder:`e.g., Japanese, 日本語, Español${s.ellipsis}`,columns:60,cursorOffset:a,onChangeCursorOffset:o})]}),(0,J.jsx)(u,{dimColor:!0,children:`Leave empty for default (English)`})]})}var rn,J,an=e((()=>{o(),rn=t(f(),1),_(),He(),ct(),J=y()}));function on({onClose:e,context:t,setTabsHidden:r,onIsSearchModeChange:i,contentHeight:a}){let{headerFocused:o,focusHeader:f}=ae(),oe=pt(),[,m]=te(),h=ne(),[g,_]=(0,X.useState)(I()),v=Y.useRef(I()),[y,b]=(0,X.useState)(xe()),pe=Y.useRef(xe()),[x,ge]=(0,X.useState)(y?.outputStyle||`default`),_e=Y.useRef(x),[S,ve]=(0,X.useState)(y?.language),ye=Y.useRef(S),[C,Se]=(0,X.useState)(0),[T,E]=(0,X.useState)(0),[O,k]=(0,X.useState)(!1),Te=ie(),{rows:Ee}=ce(),Ae=a??Math.min(Math.floor(Ee*.8),30),A=Math.max(5,Ae-10),j=D(e=>e.mainLoopModel),Ie=D(e=>e.verbose),Le=D(e=>e.thinkingEnabled),Be=D(e=>ke()?e.fastMode:!1);D(e=>e.promptSuggestionEnabled);let Ve=fe(y?.permissions?.defaultMode??`default`),N=De(),[He,P]=(0,X.useState)({}),We=Y.useRef(Le),[Ge]=(0,X.useState)(()=>be(`localSettings`)),[qe]=(0,X.useState)(()=>be(`userSettings`)),Xe=Y.useRef(h),Qe=Fe(),[$e]=(0,X.useState)(()=>{let e=Qe.getState();return{mainLoopModel:e.mainLoopModel,mainLoopModelForSession:e.mainLoopModelForSession,verbose:e.verbose,thinkingEnabled:e.thinkingEnabled,fastMode:e.fastMode,promptSuggestionEnabled:e.promptSuggestionEnabled,settings:e.settings}}),L=Y.useRef(!1),[et,tt]=(0,X.useState)(!1),[R,z]=(0,X.useState)(null),{query:B,setQuery:it,cursorOffset:at}=Dt({isActive:O&&R===null&&!o,onExit:()=>k(!1),onExitUp:f,passthroughCtrlKeys:[`c`,`d`]}),ot=O&&!o;Y.useEffect(()=>{i?.(ot)},[ot,i]);let st=!n(process.env.WORKMATE_DISABLE_FILE_CHECKPOINTING),ct=Y.use(we(!0)),lt=je(ct),V=Je();function dt(e){N(t=>({...t,mainLoopModel:e,mainLoopModelForSession:null})),P(t=>{let n=nt(e)+(xt(e,!1,rt())?` · Billed as extra usage`:``);if(`model`in t){let{model:e,...r}=t;return{...r,model:n}}return{...t,model:n}})}function ft(e){F(t=>({...t,verbose:e})),_({...I(),verbose:e}),N(t=>({...t,verbose:e})),P(t=>{if(`verbose`in t){let{verbose:e,...n}=t;return n}return{...t,verbose:e}})}let mt=[{id:`autoCompactEnabled`,label:`Auto-compact`,value:g.autoCompactEnabled,type:`boolean`,onChange(e){F(t=>({...t,autoCompactEnabled:e})),_({...I(),autoCompactEnabled:e})}},{id:`spinnerTipsEnabled`,label:`Show tips`,value:y?.spinnerTipsEnabled??!0,type:`boolean`,onChange(e){w(`localSettings`,{spinnerTipsEnabled:e}),b(t=>({...t,spinnerTipsEnabled:e}))}},{id:`cacheWarningEnabled`,label:`Cache warnings`,value:y?.cacheWarningEnabled??!0,type:`boolean`,onChange(e){w(`localSettings`,{cacheWarningEnabled:e}),b(t=>({...t,cacheWarningEnabled:e}))}},{id:`prefersReducedMotion`,label:`Reduce motion`,value:y?.prefersReducedMotion??!1,type:`boolean`,onChange(e){w(`localSettings`,{prefersReducedMotion:e}),b(t=>({...t,prefersReducedMotion:e})),N(t=>({...t,settings:{...t.settings,prefersReducedMotion:e}}))}},{id:`thinkingEnabled`,label:`Thinking mode`,value:Le??!0,type:`boolean`,onChange(e){N(t=>({...t,thinkingEnabled:e})),w(`userSettings`,{alwaysThinkingEnabled:e?void 0:!1})}},...ke()&&ze()?[{id:`fastMode`,label:`Fast mode (${Ce} only)`,value:!!Be,type:`boolean`,onChange(e){Ue(),w(`userSettings`,{fastMode:e?!0:void 0}),e?(N(e=>({...e,mainLoopModel:Ne(),mainLoopModelForSession:null,fastMode:!0})),P(e=>({...e,model:Ne(),"Fast mode":`ON`}))):(N(e=>({...e,fastMode:!1})),P(e=>({...e,"Fast mode":`OFF`})))}}]:[],...st?[{id:`fileCheckpointingEnabled`,label:`Rewind code (checkpoints)`,value:g.fileCheckpointingEnabled,type:`boolean`,onChange(e){F(t=>({...t,fileCheckpointingEnabled:e})),_({...I(),fileCheckpointingEnabled:e})}}]:[],{id:`verbose`,label:`Verbose output`,value:Ie,type:`boolean`,onChange:ft},{id:`terminalProgressBarEnabled`,label:`Terminal progress bar`,value:g.terminalProgressBarEnabled,type:`boolean`,onChange(e){F(t=>({...t,terminalProgressBarEnabled:e})),_({...I(),terminalProgressBarEnabled:e})}},{id:`showTurnDuration`,label:`Show turn duration`,value:g.showTurnDuration,type:`boolean`,onChange(e){F(t=>({...t,showTurnDuration:e})),_({...I(),showTurnDuration:e})}},{id:`defaultPermissionMode`,label:`Default permission mode`,value:Ve,options:(()=>{let e=[`default`,`plan`];return[...e,...ue.filter(t=>!e.includes(t))]})(),type:`enum`,onChange(e){let t=fe(e),n=t===`auto`?t:de(t)?he(t):t,r=w(`userSettings`,{permissions:{...y?.permissions,defaultMode:n}});if(r.error){Ze(r.error);return}b(e=>({...e,permissions:{...e?.permissions,defaultMode:n}})),P(t=>({...t,defaultPermissionMode:e}))}},{id:`respectGitignore`,label:`Respect .gitignore in file picker`,value:g.respectGitignore,type:`boolean`,onChange(e){F(t=>({...t,respectGitignore:e})),_({...I(),respectGitignore:e})}},...Oe()?[{id:`copyOnSelect`,label:`Copy on select`,value:g.copyOnSelect??!0,type:`boolean`,onChange(e){F(t=>({...t,copyOnSelect:e})),_({...I(),copyOnSelect:e})}}]:[],V?{id:`autoUpdatesChannel`,label:`Auto-update channel`,value:`disabled`,type:`managedEnum`,onChange(){}}:{id:`autoUpdatesChannel`,label:`Auto-update channel`,value:y?.autoUpdatesChannel??`latest`,type:`managedEnum`,onChange(){}},{id:`theme`,label:`Theme`,value:h,type:`managedEnum`,onChange:m},{id:`notifChannel`,label:`Notifications`,value:g.preferredNotifChannel,options:[`auto`,`iterm2`,`terminal_bell`,`iterm2_with_bell`,`kitty`,`ghostty`,`notifications_disabled`],type:`enum`,onChange(e){F(t=>({...t,preferredNotifChannel:e})),_({...I(),preferredNotifChannel:e})}},{id:`outputStyle`,label:`Output style`,value:x,type:`managedEnum`,onChange:()=>{}},{id:`language`,label:`Language`,value:S??`Default (English)`,type:`managedEnum`,onChange:()=>{}},{id:`editorMode`,label:`Editor mode`,value:g.editorMode===`emacs`?`normal`:g.editorMode||`normal`,options:[`normal`,`vim`],type:`enum`,onChange(e){F(t=>({...t,editorMode:e})),_({...I(),editorMode:e})}},{id:`prStatusFooterEnabled`,label:`Show PR status footer`,value:g.prStatusFooterEnabled??!0,type:`boolean`,onChange(e){F(t=>t.prStatusFooterEnabled===e?t:{...t,prStatusFooterEnabled:e}),_({...I(),prStatusFooterEnabled:e})}},{id:`model`,label:`Model`,value:j===null?`Default (recommended)`:j,type:`managedEnum`,onChange:dt},...lt?[{id:`showExternalIncludesDialog`,label:`External AGENTS.md includes`,value:Ke().hasAgentsMdExternalIncludesApproved?`true`:`false`,type:`managedEnum`,onChange(){}}]:[]],H=Y.useMemo(()=>{if(!B)return mt;let e=B.toLowerCase();return mt.filter(t=>t.id.toLowerCase().includes(e)?!0:(`searchText`in t?t.searchText:t.label).toLowerCase().includes(e))},[mt,B]);Y.useEffect(()=>{if(C>=H.length){let e=Math.max(0,H.length-1);Se(e),E(Math.max(0,e-A+1));return}E(e=>C<e?C:C>=e+A?C-A+1:e)},[H.length,C,A]);let ht=(0,X.useCallback)(e=>{E(t=>e<t?e:e>=t+A?e-A+1:t)},[A]),gt=(0,X.useCallback)(()=>{if(R!==null)return;let t=Object.entries(He).map(([e,t])=>`Set ${e} to ${p.bold(t)}`);g.theme!==v.current.theme&&t.push(`Set theme to ${p.bold(g.theme)}`),g.preferredNotifChannel!==v.current.preferredNotifChannel&&t.push(`Set notifications to ${p.bold(g.preferredNotifChannel)}`),x!==_e.current&&t.push(`Set output style to ${p.bold(x)}`),S!==ye.current&&t.push(`Set response language to ${p.bold(S??`Default (English)`)}`),g.editorMode!==v.current.editorMode&&t.push(`Set editor mode to ${p.bold(g.editorMode||`emacs`)}`),g.diffTool!==v.current.diffTool&&t.push(`Set diff tool to ${p.bold(g.diffTool)}`),g.autoCompactEnabled!==v.current.autoCompactEnabled&&t.push(`${g.autoCompactEnabled?`Enabled`:`Disabled`} auto-compact`),g.respectGitignore!==v.current.respectGitignore&&t.push(`${g.respectGitignore?`Enabled`:`Disabled`} respect .gitignore in file picker`),g.copyOnSelect!==v.current.copyOnSelect&&t.push(`${g.copyOnSelect?`Enabled`:`Disabled`} copy on select`),g.terminalProgressBarEnabled!==v.current.terminalProgressBarEnabled&&t.push(`${g.terminalProgressBarEnabled?`Enabled`:`Disabled`} terminal progress bar`),g.showStatusInTerminalTab!==v.current.showStatusInTerminalTab&&t.push(`${g.showStatusInTerminalTab?`Enabled`:`Disabled`} terminal tab status`),g.showTurnDuration!==v.current.showTurnDuration&&t.push(`${g.showTurnDuration?`Enabled`:`Disabled`} turn duration`),y?.autoUpdatesChannel!==pe.current?.autoUpdatesChannel&&t.push(`Set auto-update channel to ${p.bold(y?.autoUpdatesChannel??`latest`)}`),t.length>0?e(t.join(`
2
- `)):e(`Config dialog dismissed`,{display:`system`})},[R,He,g,j,x,S,y?.autoUpdatesChannel,ke()?y?.fastMode:void 0,e]),_t=(0,X.useCallback)(()=>{h!==Xe.current&&m(Xe.current),F(()=>v.current);let e=Ge;w(`localSettings`,{spinnerTipsEnabled:e?.spinnerTipsEnabled,prefersReducedMotion:e?.prefersReducedMotion,defaultView:e?.defaultView,outputStyle:e?.outputStyle});let t=qe;w(`userSettings`,{alwaysThinkingEnabled:t?.alwaysThinkingEnabled,fastMode:t?.fastMode,promptSuggestionEnabled:t?.promptSuggestionEnabled,autoUpdatesChannel:t?.autoUpdatesChannel,minimumVersion:t?.minimumVersion,language:t?.language,syntaxHighlightingDisabled:t?.syntaxHighlightingDisabled,permissions:t?.permissions===void 0?void 0:{...t.permissions,defaultMode:t.permissions.defaultMode}});let n=$e;N(e=>({...e,mainLoopModel:n.mainLoopModel,mainLoopModelForSession:n.mainLoopModelForSession,verbose:n.verbose,thinkingEnabled:n.thinkingEnabled,fastMode:n.fastMode,promptSuggestionEnabled:n.promptSuggestionEnabled,settings:n.settings,toolPermissionContext:Re(e.toolPermissionContext)}))},[h,m,Ge,qe,$e,N]);re(`confirm:no`,(0,X.useCallback)(()=>{R===null&&(L.current&&_t(),e(`Config dialog dismissed`,{display:`system`}))},[R,_t,e]),{context:`Settings`,isActive:R===null&&!O&&!o}),re(`settings:close`,gt,{context:`Settings`,isActive:R===null&&!O&&!o});let U=(0,X.useCallback)(()=>{let e=H[C];if(e?.onChange){if(e.type===`boolean`){L.current=!0,e.onChange(!e.value),e.id===`thinkingEnabled`&&(!e.value===We.current?tt(!1):t.messages.some(e=>e.type===`assistant`)&&tt(!0));return}if(e.id===`theme`||e.id===`model`||e.id===`showExternalIncludesDialog`||e.id===`outputStyle`||e.id===`language`)switch(e.id){case`theme`:z(`Theme`),r(!0);return;case`model`:z(`Model`),r(!0);return;case`showExternalIncludesDialog`:z(`ExternalIncludes`),r(!0);return;case`outputStyle`:z(`OutputStyle`),r(!0);return;case`language`:z(`Language`),r(!0);return}if(e.id===`autoUpdatesChannel`){if(V){z(`EnableAutoUpdates`),r(!0);return}(y?.autoUpdatesChannel??`latest`)===`latest`?(z(`ChannelDowngrade`),r(!0)):(L.current=!0,w(`userSettings`,{autoUpdatesChannel:`latest`,minimumVersion:void 0}),b(e=>({...e,autoUpdatesChannel:`latest`,minimumVersion:void 0})));return}if(e.type===`enum`){L.current=!0;let t=(e.options.indexOf(e.value)+1)%e.options.length;e.onChange(e.options[t]);return}}},[V,H,C,y?.autoUpdatesChannel,r]),W=e=>{tt(!1);let t=Math.max(0,Math.min(H.length-1,C+e));Se(t),ht(t)};return ee({"select:previous":()=>{C===0?(tt(!1),k(!0),E(0)):W(-1)},"select:next":()=>W(1),"scroll:lineUp":()=>W(-1),"scroll:lineDown":()=>W(1),"select:accept":U,"select:previousValue":()=>U(),"select:nextValue":()=>U(),"settings:search":()=>{k(!0),it(``)}},{context:`Settings`,isActive:R===null&&!O&&!o}),(0,Z.jsx)(l,{flexDirection:`column`,width:`100%`,tabIndex:0,autoFocus:!0,onKeyDown:(0,X.useCallback)(e=>{if(R===null&&!o){if(O){if(e.key===`escape`){e.preventDefault(),B.length>0?it(``):k(!1);return}(e.key===`return`||e.key===`down`||e.key===`wheeldown`)&&(e.preventDefault(),k(!1),Se(0),E(0));return}if(e.key===`left`||e.key===`right`||e.key===`tab`){e.preventDefault(),U();return}e.ctrl||e.meta||e.key===`j`||e.key===`k`||e.key===`/`||e.key.length===1&&e.key!==` `&&(e.preventDefault(),k(!0),it(e.key))}},[R,o,O,B,it,U]),children:R===`Theme`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(yt,{onThemeSelect:e=>{L.current=!0,m(e),z(null),r(!1)},onCancel:()=>{z(null),r(!1)},hideEscToCancel:!0,skipExitHandling:!0}),(0,Z.jsx)(l,{children:(0,Z.jsx)(u,{dimColor:!0,italic:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`Enter`,action:`select`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})})]}):R===`Model`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(St,{initial:j,onSelect:e=>{L.current=!0,dt(e),z(null),r(!1)},onCancel:()=>{z(null),r(!1)},showFastModeNotice:ke()?Be&&Me(j)&&ze():!1}),(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`Enter`,action:`confirm`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]}):R===`ExternalIncludes`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Tt,{onDone:()=>{z(null),r(!1)},externalIncludes:Pe(ct)}),(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`Enter`,action:`confirm`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`disable external includes`})]})})]}):R===`OutputStyle`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Zt,{initialStyle:x,onComplete:e=>{L.current=!0,ge(e??`default`),z(null),r(!1),w(`localSettings`,{outputStyle:e})},onCancel:()=>{z(null),r(!1)}}),(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`Enter`,action:`confirm`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]}):R===`Language`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(nn,{initialLanguage:S,onComplete:e=>{L.current=!0,ve(e),z(null),r(!1),w(`userSettings`,{language:e})},onCancel:()=>{z(null),r(!1)}}),(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`Enter`,action:`confirm`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`cancel`})]})})]}):R===`EnableAutoUpdates`?(0,Z.jsx)(le,{title:`Enable Auto-Updates`,onCancel:()=>{z(null),r(!1)},hideBorder:!0,hideInputGuide:!0,children:V?.type===`config`?(0,Z.jsx)(ut,{options:[{label:`Enable with latest channel`,value:`latest`},{label:`Enable with stable channel`,value:`stable`}],onChange:e=>{L.current=!0,z(null),r(!1),F(e=>({...e,autoUpdates:!0})),_({...I(),autoUpdates:!0}),w(`userSettings`,{autoUpdatesChannel:e,minimumVersion:void 0}),b(t=>({...t,autoUpdatesChannel:e,minimumVersion:void 0}))}}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(u,{children:V?.type===`env`?`Auto-updates are controlled by an environment variable and cannot be changed here.`:`Auto-updates are disabled in development builds.`}),V?.type===`env`&&(0,Z.jsxs)(u,{dimColor:!0,children:[`Unset `,V.envVar,` to re-enable auto-updates.`]})]})}):R===`ChannelDowngrade`?(0,Z.jsx)(Jt,{currentVersion:`0.0.28`,onChoice:e=>{if(z(null),r(!1),e===`cancel`)return;L.current=!0;let t={autoUpdatesChannel:`stable`};e===`stay`&&(t.minimumVersion=`0.0.28`),w(`userSettings`,t),b(e=>({...e,...t}))}}):(0,Z.jsxs)(l,{flexDirection:`column`,gap:1,marginY:oe?void 0:1,children:[(0,Z.jsx)(se,{query:B,isFocused:O&&!o,isTerminalFocused:Te,cursorOffset:at,placeholder:`Search settings…`}),(0,Z.jsx)(l,{flexDirection:`column`,children:H.length===0?(0,Z.jsxs)(u,{dimColor:!0,italic:!0,children:[`No settings match "`,B,`"`]}):(0,Z.jsxs)(Z.Fragment,{children:[T>0&&(0,Z.jsxs)(u,{dimColor:!0,children:[s.arrowUp,` `,T,` more above`]}),H.slice(T,T+A).map((e,t)=>{let n=T+t===C&&!o&&!O;return(0,Z.jsx)(Y.Fragment,{children:(0,Z.jsxs)(l,{width:`100%`,children:[(0,Z.jsx)(l,{width:44,children:(0,Z.jsxs)(u,{color:n?`suggestion`:void 0,children:[n?s.pointer:` `,` `,e.label]})}),(0,Z.jsx)(l,{flexGrow:1,children:e.type===`boolean`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:e.value.toString()}),et&&e.id===`thinkingEnabled`&&(0,Z.jsxs)(u,{color:`warning`,children:[` `,`Changing thinking mode mid-conversation will increase latency and may reduce quality.`]})]}):e.id===`theme`?(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:cn[e.value.toString()]??e.value.toString()}):e.id===`notifChannel`?(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:(0,Z.jsx)(sn,{value:e.value.toString()})}):e.id===`defaultPermissionMode`?(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:me(e.value)}):e.id===`autoUpdatesChannel`&&V?(0,Z.jsxs)(l,{flexDirection:`column`,children:[(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:`disabled`}),(0,Z.jsxs)(u,{dimColor:!0,children:[`(`,Ye(V),`)`]})]}):(0,Z.jsx)(u,{color:n?`suggestion`:void 0,children:e.value.toString()})})]})},e.id)}),T+A<H.length&&(0,Z.jsxs)(u,{dimColor:!0,children:[s.arrowDown,` `,H.length-T-A,` more below`]})]})}),o?(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(c,{shortcut:`←/→ tab`,action:`switch`}),(0,Z.jsx)(c,{shortcut:`↓`,action:`return`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`close`})]})}):O?(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(u,{children:`Type to filter`}),(0,Z.jsx)(c,{shortcut:`Enter/↓`,action:`select`}),(0,Z.jsx)(c,{shortcut:`↑`,action:`tabs`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`clear`})]})}):(0,Z.jsx)(u,{dimColor:!0,children:(0,Z.jsxs)(d,{children:[(0,Z.jsx)(M,{action:`select:accept`,context:`Settings`,fallback:`Space`,description:`change`}),(0,Z.jsx)(M,{action:`settings:close`,context:`Settings`,fallback:`Enter`,description:`save`}),(0,Z.jsx)(M,{action:`settings:search`,context:`Settings`,fallback:`/`,description:`search`}),(0,Z.jsx)(M,{action:`confirm:no`,context:`Settings`,fallback:`Esc`,description:`cancel`})]})})]})})}function sn({value:e}){switch(e){case`auto`:return`Auto`;case`iterm2`:return(0,Z.jsxs)(u,{children:[`iTerm2 `,(0,Z.jsx)(u,{dimColor:!0,children:`(OSC 9)`})]});case`terminal_bell`:return(0,Z.jsxs)(u,{children:[`Terminal Bell `,(0,Z.jsx)(u,{dimColor:!0,children:`(\\a)`})]});case`kitty`:return(0,Z.jsxs)(u,{children:[`Kitty `,(0,Z.jsx)(u,{dimColor:!0,children:`(OSC 99)`})]});case`ghostty`:return(0,Z.jsxs)(u,{children:[`Ghostty `,(0,Z.jsx)(u,{dimColor:!0,children:`(OSC 777)`})]});case`iterm2_with_bell`:return`iTerm2 w/ Bell`;case`notifications_disabled`:return`Disabled`;default:return e}}var Y,X,Z,cn,ln=e((()=>{_(),Y=t(f(),1),X=t(f(),1),He(),o(),qe(),oe(),x(),A(),Xe(),Qe(),vt(),P(),bt(),R(),Ct(),wt(),Yt(),W(),tn(),an(),Ve(),Le(),ft(),Et(),S(),Ae(),i(),Ot(),N(),E(),Be(),Z=y(),cn={auto:`Auto (match terminal)`,dark:`Dark mode`,light:`Light mode`,"dark-daltonized":`Dark mode (colorblind-friendly)`,"light-daltonized":`Light mode (colorblind-friendly)`,"dark-ansi":`Dark mode (ANSI colors only)`,"light-ansi":`Light mode (ANSI colors only)`}}));function un({onClose:e,context:t,defaultTab:n}){let[r,i]=(0,Q.useState)(n),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1),ee=pt(),{rows:te}=dt(ce()),l=ee?te+1:Math.max(15,Math.min(Math.floor(te*.8),30)),[u]=(0,Q.useState)(()=>Vt().catch(()=>[]));return ot(),re(`confirm:no`,()=>{a||e(`Status dialog dismissed`,{display:`system`})},{context:`Settings`,isActive:!a&&!(r===`Config`&&s)}),(0,$.jsx)(v,{color:`permission`,children:(0,$.jsx)(g,{color:`permission`,selectedTab:r,onTabChange:i,hidden:a,initialHeaderFocused:n!==`Config`,contentHeight:a||ee?void 0:l,children:[(0,$.jsx)(h,{title:`Status`,children:(0,$.jsx)(Ut,{context:t,diagnosticsPromise:u})},`status`),(0,$.jsx)(h,{title:`Config`,children:(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(on,{context:t,onClose:e,setTabsHidden:o,onIsSearchModeChange:c,contentHeight:l})})},`config`)]})})}var Q,$,dn=e((()=>{Q=t(f(),1),He(),st(),N(),ft(),_(),qt(),ln(),$=y()}));export{dn as n,un as t};
@@ -1 +0,0 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./defineProperty-C-QyHrDq.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./classPrivateFieldSet2-D4U5K-I3.js";import{n as f,t as p}from"./classPrivateMethodInitSpec-BXQD0Vh4.js";import{n as m,t as h}from"./figures-5ThXQEtq.js";import{Gr as g,H as _,I as v,P as y,T as b,ai as x,mt as S,ot as ee,t as C}from"./src-BX54x08P.js";import{t as w}from"./jsx-runtime-Bb4Xn-E0.js";import{$n as T,Qn as E,m as te,t as D}from"./settings-D4M13toi.js";import{Gn as ne,Kn as re,Pt as O,m as k}from"./state-CXY-q5gr.js";import{Bh as ie,Fh as ae,Fy as oe,Hh as A,Ih as se,Iy as ce,Ly as le,My as ue,Ny as de,Py as fe,Ry as pe,Uy as j,Wy as me,mC as he,ms as ge,pC as _e,ps as ve,sb as M,zh as N}from"./loadAgentsDir-bmpKLPdG.js";import{d as ye,o as be}from"./config-Bio2EjUK.js";import{n as xe,o as Se}from"./intl-D2kgJmX7.js";import{S as Ce,_ as we,f as Te,l as Ee}from"./startupProfiler-B9Qv2QGH.js";import{o as De}from"./TextInput-ou7ZhpVY.js";import{a as Oe,c as ke,l as Ae,n as je,o as Me,r as Ne,s as Pe,t as Fe,u as Ie}from"./SpinnerGlyph-BR_SiV9L.js";import{watch as Le}from"fs";var Re,ze,Be=e((()=>{O(),n(),Re=class e{constructor(e){r(this,`activeOperations`,new Set),r(this,`lastUserActivityTime`,0),r(this,`lastCLIRecordedTime`,void 0),r(this,`isCLIActive`,!1),r(this,`USER_ACTIVITY_TIMEOUT_MS`,5e3),r(this,`getNow`,void 0),r(this,`getActiveTimeCounter`,void 0),this.getNow=e?.getNow??(()=>Date.now()),this.getActiveTimeCounter=e?.getActiveTimeCounter??k,this.lastCLIRecordedTime=this.getNow()}static getInstance(){return e.instance||(e.instance=new e),e.instance}static resetInstance(){e.instance=null}static createInstance(t){return e.instance=new e(t),e.instance}recordUserActivity(){if(!this.isCLIActive&&this.lastUserActivityTime!==0){let e=(this.getNow()-this.lastUserActivityTime)/1e3;if(e>0){let t=this.getActiveTimeCounter();t&&e<this.USER_ACTIVITY_TIMEOUT_MS/1e3&&t.add(e,{type:`user`})}}this.lastUserActivityTime=this.getNow()}startCLIActivity(e){this.activeOperations.has(e)&&this.endCLIActivity(e);let t=this.activeOperations.size===0;this.activeOperations.add(e),t&&(this.isCLIActive=!0,this.lastCLIRecordedTime=this.getNow())}endCLIActivity(e){if(this.activeOperations.delete(e),this.activeOperations.size===0){let e=this.getNow(),t=(e-this.lastCLIRecordedTime)/1e3;if(t>0){let e=this.getActiveTimeCounter();e&&e.add(t,{type:`cli`})}this.lastCLIRecordedTime=e,this.isCLIActive=!1}}async trackOperation(e,t){this.startCLIActivity(e);try{return await t()}finally{this.endCLIActivity(e)}}getActivityStates(){return{isUserActive:(this.getNow()-this.lastUserActivityTime)/1e3<this.USER_ACTIVITY_TIMEOUT_MS/1e3,isCLIActive:this.isCLIActive,activeOperationCount:this.activeOperations.size}}},r(Re,`instance`,null),ze=Re.getInstance()}));function Ve(){let e=D().spinnerVerbs;return e?e.mode===`replace`?e.verbs.length>0?e.verbs:He:[...He,...e.verbs]:He}var He,Ue=e((()=>{te(),He=`Accomplishing.Actioning.Actualizing.Architecting.Baking.Beaming.Beboppin'.Befuddling.Billowing.Blanching.Bloviating.Boogieing.Boondoggling.Booping.Bootstrapping.Brewing.Bunning.Burrowing.Calculating.Canoodling.Caramelizing.Cascading.Catapulting.Cerebrating.Channeling.Channelling.Choreographing.Churning.Clauding.Coalescing.Cogitating.Combobulating.Composing.Computing.Concocting.Considering.Contemplating.Cooking.Crafting.Creating.Crunching.Crystallizing.Cultivating.Deciphering.Deliberating.Determining.Dilly-dallying.Discombobulating.Doing.Doodling.Drizzling.Ebbing.Effecting.Elucidating.Embellishing.Enchanting.Envisioning.Evaporating.Fermenting.Fiddle-faddling.Finagling.Flambéing.Flibbertigibbeting.Flowing.Flummoxing.Fluttering.Forging.Forming.Frolicking.Frosting.Gallivanting.Galloping.Garnishing.Generating.Gesticulating.Germinating.Gitifying.Grooving.Gusting.Harmonizing.Hashing.Hatching.Herding.Honking.Hullaballooing.Hyperspacing.Ideating.Imagining.Improvising.Incubating.Inferring.Infusing.Ionizing.Jitterbugging.Julienning.Kneading.Leavening.Levitating.Lollygagging.Manifesting.Marinating.Meandering.Metamorphosing.Misting.Moonwalking.Moseying.Mulling.Mustering.Musing.Nebulizing.Nesting.Newspapering.Noodling.Nucleating.Orbiting.Orchestrating.Osmosing.Perambulating.Percolating.Perusing.Philosophising.Photosynthesizing.Pollinating.Pondering.Pontificating.Pouncing.Precipitating.Prestidigitating.Processing.Proofing.Propagating.Puttering.Puzzling.Quantumizing.Razzle-dazzling.Razzmatazzing.Recombobulating.Reticulating.Roosting.Ruminating.Sautéing.Scampering.Schlepping.Scurrying.Seasoning.Shenaniganing.Shimmying.Simmering.Skedaddling.Sketching.Slithering.Smooshing.Sock-hopping.Spelunking.Spinning.Sprouting.Stewing.Sublimating.Swirling.Swooping.Symbioting.Synthesizing.Tempering.Thinking.Thundering.Tinkering.Tomfoolering.Topsy-turvying.Transfiguring.Transmuting.Twisting.Undulating.Unfurling.Unravelling.Vibing.Waddling.Wandering.Warping.Whatchamacalliting.Whirlpooling.Whirring.Whisking.Wibbling.Working.Wrangling.Zesting.Zigzagging`.split(`.`)}));function P(e,t){let n=parseInt(e.id,10),r=parseInt(t.id,10);return!isNaN(n)&&!isNaN(r)?n-r:e.id.localeCompare(t.id)}function We({tasks:e,isStandalone:t=!1}){let[,n]=F.useState(0),{rows:r,columns:i}=ee(),a=F.useRef(new Map),o=F.useRef(null);o.current===null&&(o.current=new Set(e.filter(e=>e.status===`completed`).map(e=>e.id)));let s=r<=10?0:Math.min(10,Math.max(3,r-14)),c=new Set(e.filter(e=>e.status===`completed`).map(e=>e.id)),l=Date.now();for(let e of c)o.current.has(e)||a.current.set(e,l);for(let e of a.current.keys())c.has(e)||a.current.delete(e);if(o.current=c,F.useEffect(()=>{if(a.current.size===0)return;let e=Date.now(),t=1/0;for(let n of a.current.values()){let r=n+qe;r>e&&r<t&&(t=r)}if(t===1/0)return;let r=setTimeout(e=>e(e=>e+1),t-e,n);return()=>clearTimeout(r)},[e]),!oe()||e.length===0)return null;let u=E(e,e=>e.status===`completed`),d=E(e,e=>e.status===`pending`),f=e.length-u-d,p=new Set(e.filter(e=>e.status!==`completed`).map(e=>e.id)),m=e.length>s,h,g;if(m){let t=[],n=[];for(let r of e.filter(e=>e.status===`completed`)){let e=a.current.get(r.id);e&&l-e<qe?t.push(r):n.push(r)}t.sort(P),n.sort(P);let r=e.filter(e=>e.status===`in_progress`).sort(P),i=e.filter(e=>e.status===`pending`).sort((e,t)=>{let n=e.blockedBy.some(e=>p.has(e));return n===t.blockedBy.some(e=>p.has(e))?P(e,t):n?1:-1}),o=[...t,...r,...i,...n];h=o.slice(0,s),g=o.slice(s)}else h=[...e].sort(P),g=[];let _=``;if(g.length>0){let e=[],t=E(g,e=>e.status===`pending`),n=E(g,e=>e.status===`in_progress`),r=E(g,e=>e.status===`completed`);n>0&&e.push(`${n} in progress`),t>0&&e.push(`${t} pending`),r>0&&e.push(`${r} completed`),_=` … +${e.join(`, `)}`}let b=(0,I.jsxs)(I.Fragment,{children:[h.map(e=>(0,I.jsx)(Ke,{task:e,openBlockers:e.blockedBy.filter(e=>p.has(e)),columns:i},e.id)),s>0&&_&&(0,I.jsx)(y,{dimColor:!0,children:_})]});return t?(0,I.jsxs)(v,{flexDirection:`column`,marginTop:1,marginLeft:2,children:[(0,I.jsx)(v,{children:(0,I.jsxs)(y,{dimColor:!0,children:[(0,I.jsx)(y,{bold:!0,children:e.length}),` tasks (`,(0,I.jsx)(y,{bold:!0,children:u}),` done, `,f>0&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(y,{bold:!0,children:f}),` in progress, `]}),(0,I.jsx)(y,{bold:!0,children:d}),` open)`]})}),b]}):(0,I.jsx)(v,{flexDirection:`column`,children:b})}function Ge(e){switch(e){case`completed`:return{icon:h.tick,color:`success`};case`in_progress`:return{icon:h.squareSmallFilled,color:`claude`};case`pending`:return{icon:h.squareSmall,color:void 0}}}function Ke({task:e,openBlockers:t,columns:n}){let r=e.status===`completed`,i=e.status===`in_progress`,a=t.length>0,{icon:o,color:s}=Ge(e.status),c=Math.max(15,n-15),l=Ce(e.subject,c);return(0,I.jsx)(v,{flexDirection:`column`,children:(0,I.jsxs)(v,{children:[(0,I.jsxs)(y,{color:s,children:[o,` `]}),(0,I.jsx)(y,{bold:i,strikethrough:r,dimColor:r||a,children:l}),a&&(0,I.jsxs)(y,{dimColor:!0,children:[` `,h.pointerSmall,` blocked by`,` `,[...t].sort((e,t)=>parseInt(e,10)-parseInt(t,10)).map(e=>`#${e}`).join(`, `)]})]})})}var F,I,qe,Je=e((()=>{m(),F=t(x(),1),M(),C(),T(),we(),fe(),I=w(),qe=3e4}));function Ye(){l(st,this).emit()}function Xe(e){if(!(e===l(B,this)&&l(z,this)!==null)){l(z,this)?.close(),d(z,this,null),d(B,this,e);try{d(z,this,Le(e,l(J,this))),l(z,this).unref()}catch{}}}function Ze(e){d(V,this,null);let t=ue();t===e&&ce(t).then(async e=>{e.length>0&&e.every(e=>e.status===`completed`)&&(await pe(t),d(L,this,[]),d(R,this,!0)),i(q,this,Ye).call(this)})}function Qe(){l(V,this)&&(clearTimeout(l(V,this)),d(V,this,null))}function $e(){l(z,this)?.close(),d(z,this,null),d(B,this,null),l(W,this)?.call(this),d(W,this,null),i(q,this,Qe).call(this),l(H,this)&&clearTimeout(l(H,this)),l(U,this)&&clearTimeout(l(U,this)),d(H,this,null),d(U,this,null),d(K,this,!1)}function et(){return ut??(ut=new lt)}function tt(){let e=oe()?et():null;return(0,rt.useSyncExternalStore)(e?e.subscribe:ft,e?e.getSnapshot:pt)}function nt(){let e=tt(),t=A(),n=e===void 0;return(0,rt.useEffect)(()=>{n&&t(e=>e.expandedView===`tasks`?{...e,expandedView:`none`}:e)},[n,t]),e}var rt,it,at,ot,L,R,z,B,V,H,U,W,st,G,K,q,J,ct,lt,ut,dt,ft,pt,mt=e((()=>{rt=t(x(),1),N(),re(),fe(),f(),a(),n(),o(),s(),c(),it=5e3,at=50,ot=5e3,L=new WeakMap,R=new WeakMap,z=new WeakMap,B=new WeakMap,V=new WeakMap,H=new WeakMap,U=new WeakMap,W=new WeakMap,st=new WeakMap,G=new WeakMap,K=new WeakMap,q=new WeakSet,J=new WeakMap,ct=new WeakMap,lt=class{constructor(){p(this,q),u(this,L,void 0),u(this,R,!1),u(this,z,null),u(this,B,null),u(this,V,null),u(this,H,null),u(this,U,null),u(this,W,null),u(this,st,ne()),u(this,G,0),u(this,K,!1),r(this,`getSnapshot`,()=>l(R,this)?void 0:l(L,this)),r(this,`subscribe`,e=>{var t;let n=l(st,this).subscribe(e);d(G,this,(t=l(G,this),t++,t)),l(K,this)||(d(K,this,!0),d(W,this,le(l(J,this))),l(ct,this).call(this));let r=!1;return()=>{var e;r||(r=!0,n(),d(G,this,(e=l(G,this),e--,e)),l(G,this)===0&&i(q,this,$e).call(this))}}),u(this,J,()=>{l(H,this)&&clearTimeout(l(H,this)),d(H,this,setTimeout(()=>void l(ct,this).call(this),at)),l(H,this).unref()}),u(this,ct,async()=>{let e=ue();i(q,this,Xe).call(this,de(e));let t=(await ce(e)).filter(e=>!e.metadata?._internal);d(L,this,t);let n=t.some(e=>e.status!==`completed`);n||t.length===0?(d(R,this,t.length===0),i(q,this,Qe).call(this)):l(V,this)===null&&!l(R,this)&&(d(V,this,setTimeout(i(q,this,Ze).bind(this,e),it)),l(V,this).unref()),i(q,this,Ye).call(this),l(U,this)&&(clearTimeout(l(U,this)),d(U,this,null)),n&&(d(U,this,setTimeout(l(J,this),ot)),l(U,this).unref())})}},ut=null,dt=()=>{},ft=()=>dt,pt=()=>void 0})),ht=e((()=>{C(),Ie(),w()}));function gt({message:e,mode:t,messageColor:n,glimmerIndex:r,flashOpacity:i,shimmerColor:a,stalledIntensity:o=0}){let[s]=_(),c=Ae(s),{segments:l,messageWidth:u}=_t.useMemo(()=>{let t=[];for(let{segment:n}of xe().segment(e))t.push({segment:n,width:g(n)});return{segments:t,messageWidth:g(e)}},[e]);if(!e)return null;if(o>0){let t=c[n],r=t?Pe(t):null;if(r){let t=ke(Me(r,vt,o));return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{color:t,children:e}),(0,Y.jsx)(y,{color:t,children:` `})]})}let i=o>.5?`error`:n;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{color:i,children:e}),(0,Y.jsx)(y,{color:i,children:` `})]})}if(t===`tool-use`){let t=c[n],r=c[a],o=t?Pe(t):null,s=r?Pe(r):null;return o&&s?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{color:ke(Me(o,s,i)),children:e}),(0,Y.jsx)(y,{color:n,children:` `})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{color:i>.5?a:n,children:e}),(0,Y.jsx)(y,{color:n,children:` `})]})}let d=r-1,f=r+1;if(d>=u||f<0)return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{color:n,children:e}),(0,Y.jsx)(y,{color:n,children:` `})]});let p=Math.max(0,d),m=0,h=``,v=``,b=``;for(let{segment:e,width:t}of l)m+t<=p?h+=e:m>f?b+=e:v+=e,m+=t;return(0,Y.jsxs)(Y.Fragment,{children:[h&&(0,Y.jsx)(y,{color:n,children:h}),(0,Y.jsx)(y,{color:a,children:v}),b&&(0,Y.jsx)(y,{color:n,children:b}),(0,Y.jsx)(y,{color:n,children:` `})]})}var _t,Y,vt,yt=e((()=>{_t=t(x(),1),C(),Se(),Ie(),Oe(),Y=w(),vt={r:171,g:43,b:63}}));function bt(e,t,n){let r=e===`requesting`?50:200,[i,a]=S(n?null:r),o=(0,xt.useMemo)(()=>g(t),[t]);if(n)return[i,-100];let s=Math.floor(a/r),c=o+20;return e===`requesting`?[i,s%c-10]:[i,o+10-s%c]}var xt,St=e((()=>{xt=t(x(),1),C()}));function Ct(e,t,n=!1,r=!1){let i=(0,X.useRef)(e),a=(0,X.useRef)(t),o=(0,X.useRef)(e),s=(0,X.useRef)(0),c=(0,X.useRef)(e);t>a.current&&(i.current=e,a.current=t,s.current=0,c.current=e);let l;n?(l=0,i.current=e):l=t>0?e-i.current:e-o.current;let u=l>3e3&&!n,d=u?Math.min((l-3e3)/2e3,1):0;if(!r&&(d>0||s.current>0)){let t=e-c.current;if(t>=50){let n=Math.floor(t/50),r=s.current;for(let e=0;e<n;e++){let e=d-r;if(Math.abs(e)<.01){r=d;break}r+=e*.1}s.current=r,c.current=e}}else s.current=d,c.current=e;return{isStalled:u,stalledIntensity:r?d:s.current}}var X,wt=e((()=>{X=t(x(),1)})),Tt=e((()=>{ht(),yt(),De(),je(),St(),wt(),Oe()}));function Et({mode:e,reducedMotion:t,hasActiveTools:n,responseLengthRef:r,message:i,messageColor:a,shimmerColor:o,overrideColor:s,loadingStartTimeRef:c,totalPausedMsRef:l,pauseStartTimeRef:u,spinnerSuffix:d,verbose:f,columns:p,agentTokens:m,leaderIsIdle:_=!1,thinkingStatus:x}){let[ee,C]=S(t?null:50),w=Date.now(),T=u.current===null?w-c.current-l.current:u.current-c.current-l.current,E=r.current,{isStalled:te,stalledIntensity:D}=Ct(C,E,n||_,t),ne=t?0:Math.floor(C/120),re=e===`requesting`?50:200,O=(0,Ot.useMemo)(()=>g(i),[i]),k=O+20,ie=Math.floor(C/re),ae=t||te?-100:e===`requesting`?ie%k-10:O+10-ie%k,oe=t?0:e===`tool-use`?(Math.sin(C/1e3*Math.PI)+1)/2:0,A=(0,Ot.useRef)(E);if(t)A.current=E;else{let e=E-A.current;if(e>0){let t;t=e<70?3:e<200?Math.max(8,Math.ceil(e*.15)):50,A.current=Math.min(A.current+t,E)}}let se=A.current,ce=Math.round(se/4),le=Ee(T),ue=g(le),de=ce+m,fe=Te(de),pe=g(`${h.arrowDown} ${fe} tokens`),j=x===`thinking`?`thinking`:typeof x==`number`?`thought for ${Math.max(1,Math.round(x/1e3))}s`:null,me=j?g(j):0,he=O+2,ge=kt,_e=x!==null,ve=f||T>jt,M=p-he-5,N=_e&&M>me;!N&&_e&&x===`thinking`&&M>At&&(j=`thinking`,me=At,N=!0);let ye=N?me+ge:0,be=ve&&M>ye+ue,xe=ye+(be?ue+ge:0),Se=ve&&de>0&&M>xe+pe,Ce=N&&x===`thinking`&&!d&&!be&&!Se&&!0,we=(C-Pt)/1e3,De=C<Pt?0:(Math.sin(we*Math.PI*2/Ft)+1)/2,Oe=ke(Me(Mt,Nt,De)),Ae=[...d?[(0,Z.jsx)(y,{dimColor:!0,children:d},`suffix`)]:[],...be?[(0,Z.jsx)(y,{dimColor:!0,children:le},`elapsedTime`)]:[],...Se?[(0,Z.jsxs)(v,{flexDirection:`row`,children:[(0,Z.jsx)(Dt,{mode:e}),(0,Z.jsxs)(y,{dimColor:!0,children:[fe,` tokens`]})]},`tokens`)]:[],...N&&j?[x===`thinking`&&!t?(0,Z.jsx)(y,{color:Oe,children:Ce?`(${j})`:j},`thinking`):(0,Z.jsx)(y,{dimColor:!0,children:j},`thinking`)]:[]],je=Ae.length>0?Ce?(0,Z.jsx)(b,{children:Ae}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(y,{dimColor:!0,children:`(`}),(0,Z.jsx)(b,{children:Ae}),(0,Z.jsx)(y,{dimColor:!0,children:`)`})]}):null;return(0,Z.jsxs)(v,{ref:ee,flexDirection:`row`,flexWrap:`wrap`,marginTop:1,width:`100%`,children:[(0,Z.jsx)(Fe,{frame:ne,messageColor:a,stalledIntensity:s?0:D,reducedMotion:t,time:C}),(0,Z.jsx)(gt,{message:i,mode:e,messageColor:a,glimmerIndex:ae,flashOpacity:oe,shimmerColor:o,stalledIntensity:s?0:D}),je]})}function Dt({mode:e}){switch(e){case`tool-input`:case`tool-use`:case`responding`:case`thinking`:return(0,Z.jsx)(v,{width:2,children:(0,Z.jsx)(y,{dimColor:!0,children:h.arrowDown})});case`requesting`:return(0,Z.jsx)(v,{width:2,children:(0,Z.jsx)(y,{dimColor:!0,children:h.arrowUp})})}}var Ot,Z,kt,At,jt,Mt,Nt,Pt,Ft,It=e((()=>{m(),Ot=t(x(),1),C(),we(),yt(),je(),wt(),Oe(),Z=w(),kt=g(` · `),At=g(`thinking`),jt=3e4,Mt={r:153,g:153,b:153},Nt={r:185,g:185,b:185},Pt=3e3,Ft=2}));function Lt(e){return(0,$.jsx)(Rt,{...e})}function Rt({mode:e,loadingStartTimeRef:t,totalPausedMsRef:n,pauseStartTimeRef:r,spinnerTip:i,responseLengthRef:a,overrideColor:o,overrideShimmerColor:s,overrideMessage:c,spinnerSuffix:l,verbose:u,hasActiveTools:d=!1,leaderIsIdle:f=!1}){let p=se(),m=p.prefersReducedMotion??!1,h=ie(e=>e.tasks),g=ie(e=>e.expandedView)===`tasks`,{columns:_}=ee(),b=tt(),[x,S]=(0,Q.useState)(null),C=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{let t=null,n=null;if(e===`thinking`)C.current===null&&(C.current=Date.now(),S(`thinking`));else if(C.current!==null){let e=Date.now()-C.current,r=Date.now()-C.current,i=Math.max(0,2e3-r);C.current=null;let a=()=>{S(e),n=setTimeout(S,2e3,null)};i>0?t=setTimeout(a,i):a()}return()=>{t&&clearTimeout(t),n&&clearTimeout(n)}},[e]);let w=b?.find(e=>e.status!==`pending`&&e.status!==`completed`),T=Bt(b),[E]=(0,Q.useState)(()=>he(Ve())),te=`${c??w?.activeForm??w?.subject??E}…`;(0,Q.useEffect)(()=>{let t=`spinner-${e}`;return ze.startCLIActivity(t),()=>{ze.endCLIActivity(t)}},[e]);let D=0;for(let e of Object.values(h))e.status===`running`&&ge(e)&&e.progress?.tokenCount&&(D+=e.progress.tokenCount);let ne=r.current===null?Date.now()-t.current-n.current:r.current-t.current-n.current,re=o??`claude`,O=s??`workmateShimmer`,k=p.spinnerTipsEnabled!==!1,ae=k&&ne>18e5,oe=k&&ne>3e4&&!be().btwUseCount,A=ae&&!T?`Use /clear to start fresh when switching topics and free up context`:oe&&!T?`Use /btw to ask a quick side question without interrupting Work Mate's current work`:i;return(0,$.jsxs)(v,{flexDirection:`column`,width:`100%`,alignItems:`flex-start`,children:[(0,$.jsx)(Et,{mode:e,reducedMotion:m,hasActiveTools:d,responseLengthRef:a,message:te,messageColor:re,shimmerColor:O,overrideColor:o,loadingStartTimeRef:t,totalPausedMsRef:n,pauseStartTimeRef:r,spinnerSuffix:l,verbose:u,columns:_,agentTokens:D,leaderIsIdle:f,thinkingStatus:x}),g&&b&&b.length>0?(0,$.jsx)(v,{width:`100%`,flexDirection:`column`,children:(0,$.jsx)(j,{children:(0,$.jsx)(We,{tasks:b})})}):T||A?(0,$.jsxs)(v,{width:`100%`,flexDirection:`column`,children:[null,(T||A)&&(0,$.jsx)(j,{children:(0,$.jsx)(y,{dimColor:!0,children:T?`Next: ${T.subject}`:`Tip: ${A}`})})]}):null]})}function zt(){let e=se().prefersReducedMotion??!1,[t,n]=S(e?null:120);if(e)return(0,$.jsx)(v,{ref:t,flexWrap:`wrap`,height:1,width:2,children:(0,$.jsx)(y,{color:`text`,children:`●`})});let r=Math.floor(n/120)%Ht.length;return(0,$.jsx)(v,{ref:t,flexWrap:`wrap`,height:1,width:2,children:(0,$.jsx)(y,{color:`text`,children:Ht[r]})})}function Bt(e){if(!e)return;let t=e.filter(e=>e.status===`pending`);if(t.length===0)return;let n=new Set(e.filter(e=>e.status!==`completed`).map(e=>e.id));return t.find(e=>!e.blockedBy.some(e=>n.has(e)))??t[0]}var Q,$,Vt,Ht,Ut=e((()=>{C(),Q=t(x(),1),_e(),we(),Be(),Ue(),me(),Je(),mt(),N(),M(),Tt(),It(),ae(),ve(),O(),ye(),$=w(),Vt=Ne(),Ht=[...Vt,...[...Vt].reverse()]}));export{bt as a,nt as c,ze as d,Be as f,St as i,We as l,Lt as n,mt as o,Ut as r,tt as s,zt as t,Je as u};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{l as t,m as n}from"./settings-D4M13toi.js";import{cf as r,uf as i}from"./loadAgentsDir-bmpKLPdG.js";function a(){let e=t(),n=[`user`,`project`,`local`].flatMap(e=>r(e).errors);return{settings:e.settings,errors:[...e.errors,...n]}}var o=e((()=>{i(),n()}));export{o as n,a as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./backgroundHousekeeping-CsXlkIg3.js";export{e as startBackgroundHousekeeping};
@@ -1,2 +0,0 @@
1
- import{Hr as e,In as t,Vn as n,ii as r,qr as i,ti as a,zr as o}from"./settings-D4M13toi.js";import{Pt as s,q as c}from"./state-CXY-q5gr.js";import{c as l,i as u}from"./debug-2pVES-2G.js";import{d,h as f,o as p}from"./config-Bio2EjUK.js";import{_ as m,f as h,p as g}from"./startupProfiler-B9Qv2QGH.js";import{n as _,r as v}from"./detectRepository--luIRv5H.js";import{homedir as y}from"os";import{join as b,sep as x}from"path";import{realpath as S,stat as C}from"fs/promises";s(),d(),u(),v(),t(),r(),i();async function w(){try{let e=await _();if(!e){l(`Not in a GitHub repository, skipping path mapping update`);return}let t=c(),n=o(t)??t,r;try{r=(await S(n)).normalize(`NFC`)}catch{r=n}let i=e.toLowerCase(),a=p().githubRepoPaths?.[i]??[];if(a[0]===r){l(`Path ${r} already tracked for repo ${i}`);return}let s=a.filter(e=>e!==r),u=[r,...s];f(e=>({...e,githubRepoPaths:{...e.githubRepoPaths,[i]:u}})),l(`Added ${r} to tracked paths for repo ${i}`)}catch(e){l(`Error updating repo path mapping: ${e}`)}}function T(e){let t=p(),n=e.toLowerCase();return t.githubRepoPaths?.[n]??[]}async function E(e){let t=await Promise.all(e.map(n));return e.filter((e,n)=>t[n])}m(),r(),i();var D=10080*60*1e3,O=1e3;function k(e){let t=[`This session was opened by an external deep link in ${M(e.cwd)}`];if(e.repo){let n=e.lastFetch?g(e.lastFetch):`never`,r=!e.lastFetch||Date.now()-e.lastFetch.getTime()>D;t.push(`Resolved ${e.repo} from local clones · last fetched ${n}${r?` — AGENTS.md may be stale`:``}`)}return e.prefillLength&&t.push(e.prefillLength>O?`The prompt below (${h(e.prefillLength)} chars) was supplied by the link — scroll to review the entire prompt before pressing Enter.`:`The prompt below was supplied by the link — review carefully before pressing Enter.`),t.join(`
2
- `)}async function A(t){let n=await e(t);if(!n)return;let r=await a(n),[i,o]=await Promise.all([j(b(n,`FETCH_HEAD`)),r?j(b(r,`FETCH_HEAD`)):Promise.resolve(void 0)]);return i&&o?i>o?i:o:i??o}async function j(e){try{let{mtime:t}=await C(e);return t}catch{return}}function M(e){let t=y();return e===t?`~`:e.startsWith(t+x)?`~${e.slice(t.length)}`:e}export{w as a,T as i,A as n,E as r,k as t};
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{i as t,o as n}from"./envUtils-QyzA_cFM.js";import{Gi as r,Ni as i,Vi as a,Wi as o,ea as s,ia as c,oa as l,ta as u}from"./settings-D4M13toi.js";import{c as d,i as f}from"./debug-2pVES-2G.js";import{o as p,s as m}from"./log-L1kqxa_P.js";import{join as h}from"node:path";import{spawn as g,spawnSync as _}from"node:child_process";import{chmodSync as v,existsSync as y,mkdirSync as b,readFileSync as x,renameSync as S,writeFileSync as C}from"node:fs";function w(){return h(t(),`channel`)}function T(){return h(w(),`dingtalk.json`)}function E(){return M.parse({})}function D(){let e=T();try{if(!y(e))return E();let t=x(e,`utf8`),n=JSON.parse(t);return M.parse(n)}catch(e){return m(e),E()}}function O(e){let t=T(),n=e(D());b(w(),{recursive:!0});let r=`${t}.${process.pid}.tmp`;C(r,`${JSON.stringify(n,null,2)}\n`,{mode:384}),S(r,t);try{v(t,384)}catch{}return n}function k(e){return e.channel?.enabled===!0&&e.channel?.activePlugin===`dingtalk`}function A(e){return e.permissionMode}var j,M,N=e((()=>{i(),n(),p(),j=u({workmateSessionId:l(),lastActiveAt:s(),senderId:l().optional()}),M=u({corpid:l().default(``),appKey:l().default(``),appSecret:l().default(``),robotName:l().default(`workmate`),cardTemplateId:l().default(``),permissionMode:a([`default`,`acceptEdits`,`bypassPermissions`,`plan`,`dontAsk`,`auto`]).default(`acceptEdits`),sessionStrategy:a([`perConversation`,`perUser`,`shared`]).default(`perConversation`),confirmDangerous:r().default(!0),admins:o(l()).default([]),sessions:c(l(),j).default({})})}));function P(){let e=R();if(e)return d(`[channel] bridge 已在运行,pid=${e}`,{level:`debug`}),{pid:e,started:!1};let t=process.argv[1],n=t&&/\.(cjs|js|mjs)$/.test(t)?[t,`channel`,`start`]:[`channel`,`start`],r=g(process.execPath,n,{detached:!0,stdio:`ignore`,cwd:process.cwd()});r.unref();let i=r.pid;return i?(d(`[channel] bridge 已启动,pid=${i}`,{level:`debug`}),{pid:i,started:!0}):{pid:0,started:!1}}function F(){let e=R();if(!e)return!1;try{return process.kill(e,`SIGTERM`),d(`[channel] 已发 SIGTERM 给 bridge pid=${e}`,{level:`debug`}),!0}catch(e){return m(e),!1}}function I(){return R()!==null}function L(){return R()}function R(){let e=_(`pgrep`,[`-f`,z],{encoding:`utf8`});if(e.status!==0||!e.stdout.trim())return null;let t=e.stdout.trim().split(`
2
- `).map(Number).filter(e=>e&&e!==process.pid);return t.length?t[t.length-1]:null}var z,B=e((()=>{f(),p(),z=`channel start`}));export{F as a,N as c,P as i,k as l,B as n,D as o,I as r,A as s,L as t,O as u};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./caches-CW5YnYNS.js";e();export{t as clearSessionCaches};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ei as t,ii as n}from"./settings-D4M13toi.js";import{Pt as r,l as i,mn as a}from"./state-CXY-q5gr.js";import{Ay as o,Bi as s,Cb as c,Ci as l,F_ as u,G as d,I_ as f,Iu as p,L_ as m,Mi as h,Mp as g,N_ as _,P_ as v,R_ as y,Ru as b,Sb as x,Wi as S,hp as C,ky as w,lh as T,lm as E,ns as D,pp as O,q as k,sm as A,ts as j,uh as M,z_ as N}from"./loadAgentsDir-bmpKLPdG.js";import{a as P,n as F}from"./fileSuggestions-DF3HTRKr.js";import{r as I,t as L}from"./magicDocs-BsEiBLQl.js";import{r as R,t as z}from"./detectRepository--luIRv5H.js";function B(e=new Set){let n=e.size>0;u.cache.clear?.(),v.cache.clear?.(),_.cache.clear?.(),y.cache.clear?.(),F(),l(),n||C(),m(null),a(null),E(),D(),o(`session_start`),p(),z(),d(),i(e),t(),s(),M(),L(),x(),import(`./SearchExtraToolsTool-ndh4aEwQ.js`).then(({clearSearchExtraToolsDescriptionCache:e})=>e()),import(`./loadAgentsDir-Zw648oQO.js`).then(({clearAgentDefinitionsCache:e})=>e()),import(`./prompt-BdH2zk0S.js`).then(({clearPromptCache:e})=>e())}var V=e((()=>{r(),h(),N(),f(),P(),g(),O(),A(),T(),I(),S(),j(),k(),w(),R(),n(),b(),c()}));export{V as n,B as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{n,t as r}from"./axios-DaWTGg7G.js";import{n as i,r as a}from"./wrapper-DVKxC5fR.js";import{Pt as o,Vt as s}from"./settings-D4M13toi.js";import{c,i as l}from"./debug-2pVES-2G.js";import{d as u,o as d}from"./config-Bio2EjUK.js";import{o as f,s as p}from"./log-L1kqxa_P.js";import{c as m,l as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./bridgeControl-aDnUrYZR.js";import{createInterface as S}from"node:readline";import{spawn as C}from"node:child_process";import{randomUUID as w}from"node:crypto";import{EventEmitter as T}from"node:events";import E from"events";f(),m(),g(),l(),e();var D=`https://api.dingtalk.com`,O=`https://oapi.dingtalk.com`,k=`/gettoken`,A=`/v1.0/card/instances/createAndDeliver`,j=`/v1.0/card/streaming`,M=300*1e3,N=class{constructor(e){t(this,`opts`,void 0),t(this,`tokenCache`,null),this.opts=e}async getAccessToken(){if(this.tokenCache&&Date.now()<this.tokenCache.expiresAt-M)return this.tokenCache.token;let e=`${O}${k}?appkey=${encodeURIComponent(this.opts.appKey)}&appsecret=${encodeURIComponent(this.opts.appSecret)}`,t=await(await fetch(e)).json();if(t.errcode!==0||!t.access_token)throw Error(`gettoken 失败: errcode=${t.errcode} errmsg=${t.errmsg}`);return this.tokenCache={token:t.access_token,expiresAt:Date.now()+(t.expires_in??7200)*1e3},t.access_token}async createAndDeliverCard(e){let t=w(),n=e.conversationType===`2`,r=await this.getAccessToken(),i=n?`IM_GROUP`:`IM_ROBOT`,a=n?e.conversationId:e.senderStaffId,o={cardTemplateId:e.cardTemplateId,outTrackId:t,cardData:{cardParamMap:{content:e.initialMarkdown}},openSpaceId:`dtv1.card//${i}.${a}`};n?(o.imGroupOpenSpaceModel={supportForward:!0},o.imGroupOpenDeliverModel={robotCode:this.opts.robotCode}):(o.imRobotOpenSpaceModel={supportForward:!0},o.imRobotOpenDeliverModel={robotCode:this.opts.robotCode});let s=await fetch(`${D}${A}`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-acs-dingtalk-access-token":r},body:JSON.stringify(o)});if(!s.ok){let e=await s.text();throw Error(`createAndDeliver 失败: ${s.status} ${e}`)}return c(`[channel] 卡片已创建 outTrackId=${t} ${n?`群聊`:`单聊`}`,{level:`debug`}),t}async streamingUpdate(e,t,n={}){let r=await this.getAccessToken(),i={outTrackId:e,guid:w(),key:`content`,content:t,isFull:!0,isFinalize:n.finalize??!1,isError:n.error??!1},a=await fetch(`${D}${j}`,{method:`PUT`,headers:{"Content-Type":`application/json`,"x-acs-dingtalk-access-token":r},body:JSON.stringify(i)});if(!a.ok){let e=await a.text();throw Error(`streaming 失败: ${a.status} ${e}`)}c(`[channel] streaming 推送 finalize=${n.finalize??!1} len=${t.length}`,{level:`debug`})}},P=`https://api.dingtalk.com/v1.0/gateway/connections/open`,F=`https://oapi.dingtalk.com/gettoken`,I=`/v1.0/im/bot/messages/get`;i(),r(),e();var L={autoReconnect:!0,keepAlive:!1,ua:``,subscriptions:[{type:`EVENT`,topic:`*`}]},R=class extends E{constructor(e){if(super(),t(this,`debug`,!1),t(this,`connected`,!1),t(this,`registered`,!1),t(this,`reconnecting`,!1),t(this,`userDisconnect`,!1),t(this,`reconnectBaseInterval`,1e3),t(this,`reconnectMaxInterval`,6e4),t(this,`reconnectAttempts`,0),t(this,`heartbeat_interval`,8e3),t(this,`heartbeatIntervallId`,void 0),t(this,`reconnectTimerId`,void 0),t(this,`isConnecting`,!1),t(this,`sslopts`,{rejectUnauthorized:!0}),t(this,`config`,void 0),t(this,`socket`,void 0),t(this,`dw_url`,void 0),t(this,`isAlive`,!1),t(this,`onEventReceived`,e=>({status:`SUCCESS`})),this.config={...L,...e},!this.config.clientId||!this.config.clientSecret)throw console.error(`clientId or clientSecret is null`),Error(`clientId or clientSecret is null`);this.config.debug!==void 0&&(this.debug=this.config.debug)}getConfig(){return{...this.config}}printDebug(e){if(this.debug){let t=`[`+new Date().toISOString()+`]`;console.info(t,e)}}registerAllEventListener(e){return this.onEventReceived=e,this}registerCallbackListener(e,t){if(!e||!t)throw console.error(`registerCallbackListener: eventId and callback must be defined`),Error(`registerCallbackListener: eventId and callback must be defined`);return this.config.subscriptions.find(t=>t.topic===e&&t.type===`CALLBACK`)||this.config.subscriptions.push({type:`CALLBACK`,topic:e}),this.on(e,t),this}async getAccessToken(){let e=await n.get(`${F}?appkey=${this.config.clientId}&appsecret=${this.config.clientSecret}`);if(e.status===200&&e.data.access_token)return this.config.access_token=e.data.access_token,e.data.access_token;throw Error(`getAccessToken: get access_token failed`)}async getEndpoint(){this.printDebug(`get connect endpoint by config`),this.printDebug(this.config);let e=await n({url:P,method:`POST`,responseType:`json`,data:{clientId:this.config.clientId,clientSecret:this.config.clientSecret,ua:this.config.ua,subscriptions:this.config.subscriptions},headers:{Accept:`application/json`}});if(this.printDebug(`res.data `+JSON.stringify(e.data)),e.data){this.config.endpoint=e.data;let{endpoint:t,ticket:n}=e.data;if(!t||!n)throw this.printDebug(`endpoint or ticket is null`),Error(`endpoint or ticket is null`);return this.dw_url=`${t}?ticket=${n}`,this}else throw Error(`build: get endpoint failed`)}cleanup(){this.heartbeatIntervallId!==void 0&&(clearInterval(this.heartbeatIntervallId),this.heartbeatIntervallId=void 0),this.socket&&(this.socket.removeAllListeners(),(this.socket.readyState===a.OPEN||this.socket.readyState===a.CONNECTING)&&this.socket.terminate(),this.socket=void 0)}scheduleReconnect(){if(!this.config.autoReconnect||this.userDisconnect||this.isConnecting)return;let e=Math.min(this.reconnectBaseInterval*2**this.reconnectAttempts+Math.random()*1e3,this.reconnectMaxInterval);this.reconnecting=!0,this.printDebug(`Reconnecting in `+(e/1e3).toFixed(1)+` seconds... (attempt `+(this.reconnectAttempts+1)+`)`),this.reconnectTimerId&&clearTimeout(this.reconnectTimerId),this.reconnectTimerId=setTimeout(()=>{this.reconnectTimerId=void 0,this.connect()},e)}_connect(){return new Promise((e,t)=>{this.printDebug(`Connecting to dingtalk websocket @ `+this.dw_url);try{this.socket=new a(this.dw_url,this.sslopts)}catch(e){this.printDebug(`WebSocket constructor error`),console.warn(`ERROR`,e),t(e);return}let n=!1;this.socket.on(`open`,()=>{this.connected=!0,this.reconnectAttempts=0,console.info(`[`+new Date().toISOString()+`] connect success`),this.config.keepAlive&&(this.isAlive=!0,this.heartbeatIntervallId=setInterval(()=>{var e;if(this.isAlive===!1)return console.error(`TERMINATE SOCKET: Ping Pong does not transfer heartbeat within heartbeat intervall`),this.socket?.terminate();this.isAlive=!1,(e=this.socket)==null||e.ping(``,!0)},this.heartbeat_interval)),n=!0,e()}),this.socket.on(`pong`,()=>{this.heartbeat()}),this.socket.on(`message`,e=>{this.onDownStream(e)}),this.socket.on(`close`,()=>{this.printDebug(`Socket closed`),this.connected=!1,this.registered=!1,this.heartbeatIntervallId!==void 0&&(clearInterval(this.heartbeatIntervallId),this.heartbeatIntervallId=void 0),n&&this.scheduleReconnect()}),this.socket.on(`error`,e=>{var r;this.printDebug(`SOCKET ERROR`),console.warn(`ERROR`,e),(r=this.socket)==null||r.terminate(),n||(n=!0,t(e))})})}async connect(){if(this.isConnecting){this.printDebug(`connect() already in progress, skipping`);return}this.userDisconnect=!1,this.isConnecting=!0;try{if(this.cleanup(),await this.getEndpoint(),this.userDisconnect)return;await this._connect()}catch(e){this.printDebug(`Connect failed: `+(e instanceof Error?e.message:String(e))),this.userDisconnect||(this.reconnectAttempts++,this.isConnecting=!1,this.scheduleReconnect());return}finally{this.isConnecting=!1}}disconnect(){console.info(`Disconnecting.`),this.userDisconnect=!0,this.reconnectTimerId&&(clearTimeout(this.reconnectTimerId),this.reconnectTimerId=void 0),this.reconnecting=!1,this.reconnectAttempts=0,this.cleanup(),this.connected=!1,this.registered=!1}heartbeat(){this.isAlive=!0,this.printDebug(`CLIENT-SIDE HEARTBEAT`)}onDownStream(e){this.printDebug(`Received message from dingtalk websocket server`);let t=JSON.parse(e);switch(this.printDebug(t),t.type){case`SYSTEM`:this.onSystem(t);break;case`EVENT`:this.onEvent(t);break;case`CALLBACK`:this.onCallback(t);break}}onSystem(e){var t;switch(e.headers.topic){case`CONNECTED`:this.printDebug(`CONNECTED`);break;case`REGISTERED`:this.registered=!0,this.reconnecting=!1;break;case`disconnect`:this.connected=!1,this.registered=!1;break;case`KEEPALIVE`:this.heartbeat();break;case`ping`:this.printDebug(`PING`),(t=this.socket)==null||t.send(JSON.stringify({code:200,headers:e.headers,message:`OK`,data:e.data}));break}}onEvent(e){var t;this.printDebug(`received event, message=`+JSON.stringify(e));let n=this.onEventReceived(e);(t=this.socket)==null||t.send(JSON.stringify({code:200,headers:{contentType:`application/json`,messageId:e.headers.messageId},message:`OK`,data:JSON.stringify(n)}))}onCallback(e){this.emit(e.headers.topic,e)}send(e,t){var n;if(!e)throw console.error(`send: messageId must be defined`),Error(`send: messageId must be defined`);let r={code:200,headers:{contentType:`application/json`,messageId:e},message:`OK`,data:JSON.stringify(t)};(n=this.socket)==null||n.send(JSON.stringify(r))}socketCallBackResponse(e,t){this.send(e,{response:t})}sendGraphAPIResponse(e,t){var n;if(!e)throw console.error(`send: messageId must be defined`),Error(`send: messageId must be defined`);let r={code:200,headers:{contentType:`application/json`,messageId:e},message:`OK`,data:JSON.stringify(t)};(n=this.socket)==null||n.send(JSON.stringify(r))}};i(),l(),e();var z=class{constructor(e){t(this,`opts`,void 0),t(this,`client`,void 0),t(this,`messageHandler`,void 0),this.opts=e,this.client=new R({clientId:e.appKey,clientSecret:e.appSecret,debug:!1,keepAlive:!0})}onMessage(e){this.messageHandler=e,this.client.registerCallbackListener(I,e=>{this.handleDownstream(e)})}handleDownstream(e){try{let t=JSON.parse(e.data);if(c(`[channel] downstream 到达: msgtype=${t.msgtype} sender=${t.senderNick} conv=${t.conversationId}`,{level:`debug`}),t.msgtype!==`text`||!t.text?.content){c(`[channel] 丢弃: msgtype=${t.msgtype} 非文本或空 content`,{level:`debug`});return}let n=t.text.content.trim(),r=this.stripMention(n);if(!r){c(`[channel] 丢弃: 纯 @ 无正文`,{level:`debug`});return}c(`[channel] 派发消息: text="${r.slice(0,50)}" sender=${t.senderNick}`,{level:`debug`}),this.messageHandler?.({conversationId:t.conversationId,senderStaffId:t.senderStaffId,senderNick:t.senderNick,conversationType:t.conversationType,text:r,msgId:t.msgId,sessionWebhook:t.sessionWebhook,sessionWebhookExpiredTime:t.sessionWebhookExpiredTime,isAdmin:t.isAdmin})}catch(e){p(e)}try{this.client.socketCallBackResponse(e.headers.messageId,{status:`SUCCESS`,message:`OK`})}catch{}}stripMention(e){if(!this.opts.robotName)return e;let t=this.opts.robotName.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return e.replace(RegExp(`^@${t}\\s*`),``).trim()}async connect(){await this.client.connect(),c(`[channel] dingtalk stream 已连接`,{level:`debug`})}disconnect(){this.client.disconnect()}async sendText(e,t){if(e)try{await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({msgtype:`text`,text:{content:t}})})}catch(e){p(e)}}async sendMarkdown(e,t,n){if(e)try{await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({msgtype:`markdown`,markdown:{title:t,text:n}})})}catch(e){p(e)}}};l(),f(),o(),e();var B=1800*1e3;function V(e){let t=process.argv[1];return t&&/\.(cjs|js|mjs)$/.test(t)?{execPath:process.execPath,args:[t,...e]}:{execPath:process.execPath,args:e}}var H=class{constructor(e){t(this,`opts`,void 0),t(this,`proc`,null),t(this,`rl`,null),t(this,`emitter`,new T),t(this,`lastActiveAt`,Date.now()),t(this,`idleTimer`,null),t(this,`closed`,!1),this.opts=e}onEvent(e){this.emitter.on(`event`,e)}async start(){let e=[`--print`,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--verbose`,`--permission-mode`,s(this.opts.permissionMode)];this.opts.sessionId&&e.splice(1,0,`--resume`,this.opts.sessionId);let{execPath:t,args:n}=V(e);this.proc=C(t,n,{stdio:[`pipe`,`pipe`,`pipe`],env:{...process.env,WORKMATE_INCLUDE_PARTIAL_MESSAGES:`true`,WORKMATE_STREAMLINED_OUTPUT:`true`}}),this.proc.on(`exit`,e=>{this.closed=!0,this.emit({type:`exit`,code:e}),this.cleanup()}),this.proc.on(`error`,e=>{p(e),this.emit({type:`stderr`,data:String(e)})}),this.proc.stderr&&this.proc.stderr.on(`data`,e=>{let t=e.toString();c(`[channel] workmate stderr: ${t}`,{level:`debug`}),this.emit({type:`stderr`,data:t})}),this.proc.stdout&&(this.rl=S({input:this.proc.stdout,crlfDelay:1/0}),this.rl.on(`line`,e=>this.handleLine(e))),this.idleTimer=setInterval(()=>this.checkIdle(),6e4)}checkIdle(){this.closed||Date.now()-this.lastActiveAt>B&&(c(`[channel] workmate 子进程 idle 超时,回收`,{level:`debug`}),this.kill())}sendUserMessage(e){this.write({type:`user`,message:{role:`user`,content:e},parent_tool_use_id:null,priority:`now`}),this.lastActiveAt=Date.now()}respondPermission(e,t){this.write({type:`control_response`,response:{subtype:`success`,request_id:e,response:t}}),this.lastActiveAt=Date.now()}autoAllow(e){this.respondPermission(e,{behavior:`allow`})}interrupt(){this.write({type:`control_request`,request_id:w(),request:{subtype:`interrupt`}})}handleLine(e){let t=e.trim();if(!t)return;this.lastActiveAt=Date.now();let n;try{n=JSON.parse(t)}catch{return}switch(n.type){case`stream_event`:{let e=n.event;e?.type===`content_block_delta`&&e.delta?.type===`text_delta`&&typeof e.delta.text==`string`&&this.emit({type:`text`,text:e.delta.text});break}case`streamlined_text`:this.emit({type:`text`,text:String(n.text)});break;case`streamlined_tool_use_summary`:this.emit({type:`tool_summary`,summary:String(n.tool_summary)});break;case`control_request`:{let e=n.request;e?.subtype===`can_use_tool`&&this.emit({type:`permission_request`,requestId:String(n.request_id),toolName:String(e.tool_name??``),input:e.input??{},toolUseId:String(e.tool_use_id??``)});break}case`result`:this.emit({type:`turn_end`,subtype:n.subtype===`error`?`error`:`success`,resultText:typeof n.result==`string`?n.result:void 0,durationMs:typeof n.duration_ms==`number`?n.duration_ms:void 0,sessionId:typeof n.session_id==`string`?n.session_id:void 0});break;case`keep_alive`:break}}emit(e){this.emitter.emit(`event`,e)}write(e){!this.proc?.stdin?.writable||this.closed||this.proc.stdin.write(`${JSON.stringify(e)}\n`)}isAlive(){return!!this.proc&&!this.closed}kill(){if(!(this.closed||!this.proc)){try{this.proc.stdin?.end()}catch{}try{this.proc.kill(`SIGTERM`)}catch{}setTimeout(()=>{try{this.proc?.kill(`SIGKILL`)}catch{}},3e3)}}cleanup(){this.idleTimer&&(clearInterval(this.idleTimer),this.idleTimer=null),this.rl?.close(),this.rl=null,this.closed=!0}async stop(){this.kill(),this.proc&&await new Promise(e=>{if(this.closed)return e();this.proc.once(`exit`,()=>e()),setTimeout(e,5e3)}),this.cleanup()}};l(),f(),e();var U=400,W=300*1e3;function G(e,t){switch(t){case`perUser`:return`user:${e.senderStaffId}`;case`shared`:return`shared`;default:return`conv:${e.conversationId}`}}var K=class{constructor(e){t(this,`stream`,void 0),t(this,`sessions`,new Map),t(this,`config`,void 0),t(this,`running`,!1),t(this,`cardClient`,void 0),this.config=e??_(),this.stream=new z({appKey:this.config.appKey,appSecret:this.config.appSecret,robotName:this.config.robotName}),this.cardClient=this.config.cardTemplateId?new N({appKey:this.config.appKey,appSecret:this.config.appSecret,robotCode:this.config.appKey}):null}async start(){if(!this.config.appKey||!this.config.appSecret)throw Error(`钉钉 appKey/appSecret 未配置,请在 /channel 里填好`);this.stream.onMessage(e=>{this.handleMessage(e)}),await this.stream.connect(),this.running=!0;let e=()=>void this.stop();process.on(`SIGTERM`,e),process.on(`SIGINT`,e),c(`[channel] bridge 已启动,等待钉钉消息`,{level:`debug`})}async stop(){if(this.running){this.running=!1,this.stream.disconnect();for(let e of this.sessions.values())e.streamTimer&&clearTimeout(e.streamTimer),await e.driver.stop();this.sessions.clear(),c(`[channel] bridge 已停止`,{level:`debug`})}}async handleMessage(e){let t=G(e,this.config.sessionStrategy);c(`[channel] handleMessage: sender=${e.senderNick} conv=${e.conversationId} text="${e.text.slice(0,50)}"`,{level:`debug`});let n=this.sessions.get(t);if(n||(n=await this.createSession(t,e),this.sessions.set(t,n)),n.sessionWebhook=e.sessionWebhook,n.currentSenderStaffId=e.senderStaffId,n.pendingConfirm){let t=q(e.text);if(t!==null){let r=n.pendingConfirm;if(n.pendingConfirm=null,!this.canConfirm(e.senderStaffId,r.senderStaffId)){await this.stream.sendText(e.sessionWebhook,`⚠️ 只有任务发起人或管理员能确认`);return}n.driver.respondPermission(r.requestId,t),await this.stream.sendText(e.sessionWebhook,t.behavior===`allow`?`✅ 已同意,继续执行`:`❌ 已拒绝`);return}n.pendingConfirm=null}if(n.textBuffer=``,n.turnInProgress=!0,n.cardOutTrackId=null,this.cardClient)try{n.cardOutTrackId=await this.cardClient.createAndDeliverCard({conversationType:e.conversationType,conversationId:e.conversationId,senderStaffId:e.senderStaffId,cardTemplateId:this.config.cardTemplateId,initialMarkdown:` `})}catch(e){p(e),c(`[channel] 卡片创建失败,回退整段 sendText`,{level:`debug`}),n.cardOutTrackId=null}n.driver.sendUserMessage(e.text),c(`[channel] 已发 driver.sendUserMessage`,{level:`debug`})}async createSession(e,t){let n=this.config.sessions[e]?.workmateSessionId??``;c(`[channel] ${n?`复用`:`新建`}会话: ${e} sid=${n||`(待 workmate 分配)`}`,{level:`debug`});let r=new H({sessionId:n||null,permissionMode:y(this.config)});return await r.start(),r.onEvent(t=>{this.handleDriverEvent(e,t)}),{driver:r,workmateSessionId:n,sessionWebhook:t.sessionWebhook,currentSenderStaffId:t.senderStaffId,textBuffer:``,turnInProgress:!1,pendingConfirm:null,cardOutTrackId:null,streamTimer:null}}async handleDriverEvent(e,t){let n=this.sessions.get(e);if(n)switch(t.type){case`text`:n.textBuffer+=t.text,n.cardOutTrackId&&this.cardClient&&this.scheduleStreamPush(n);break;case`tool_summary`:break;case`turn_end`:{n.turnInProgress=!1;let r=t.sessionId;r&&r!==n.workmateSessionId&&(n.workmateSessionId=r,x(t=>({...t,sessions:{...t.sessions,[e]:{workmateSessionId:r,lastActiveAt:Date.now(),senderId:n.currentSenderStaffId}}})),this.config=_());let i=t.resultText||n.textBuffer;if(n.textBuffer=``,n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),c(`[channel] turn_end: subtype=${t.subtype} sid=${t.sessionId??`-`} card=${n.cardOutTrackId?`on`:`off`} reply=${i?`"${i.slice(0,50)}"`:`(空)`}`,{level:`debug`}),n.cardOutTrackId&&this.cardClient){let e=n.cardOutTrackId;n.cardOutTrackId=null;try{await this.cardClient.streamingUpdate(e,i,{finalize:!0})}catch(e){p(e),i.trim()&&await this.stream.sendText(n.sessionWebhook,i)}}else i.trim()&&await this.stream.sendText(n.sessionWebhook,i);break}case`permission_request`:await this.handlePermissionRequest(n,t);break;case`stderr`:break;case`exit`:c(`[channel] workmate 子进程退出 code=${t.code},清会话 ${e}`,{level:`debug`}),n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),this.sessions.delete(e);break}}async handlePermissionRequest(e,t){if(!this.config.confirmDangerous){e.driver.autoAllow(t.requestId);return}e.pendingConfirm={requestId:t.requestId,webhook:e.sessionWebhook,senderStaffId:e.currentSenderStaffId,toolName:t.toolName},c(`[channel] permission_request: tool=${t.toolName}`,{level:`debug`});let n=JSON.stringify(t.input,null,2).slice(0,500);await this.stream.sendMarkdown(e.sessionWebhook,`需要确认`,`### ⚠️ 需要确认\n\nworkmate 要执行 **${t.toolName}**\n\n参数:\n\`\`\`json\n${n}\n\`\`\`\n\n回复 **同意** 或 **拒绝**`),setTimeout(()=>{if(e.pendingConfirm?.requestId===t.requestId){e.pendingConfirm=null;try{e.driver.respondPermission(t.requestId,{behavior:`deny`,message:`确认超时`})}catch(e){p(e)}this.stream.sendText(e.sessionWebhook,`⏰ 确认超时,已拒绝执行`)}},W)}scheduleStreamPush(e){e.streamTimer||(e.streamTimer=setTimeout(()=>{e.streamTimer=null,!(!e.cardOutTrackId||!this.cardClient)&&this.cardClient.streamingUpdate(e.cardOutTrackId,e.textBuffer).catch(e=>p(e))},U))}canConfirm(e,t){return!!(this.config.admins.includes(e)||t&&e===t||!t)}};function q(e){let t=e.trim().toLowerCase();return[`同意`,`yes`,`y`,`确认`,`ok`,`allow`,`同意了`].includes(t)?{behavior:`allow`}:[`拒绝`,`no`,`n`,`cancel`,`deny`,`不同意`,`拒绝执行`].includes(t)?{behavior:`deny`,message:`用户在钉钉拒绝`}:null}m(),u(),f();async function J(e){let t=e[0]??`start`;switch(t){case`start`:await Y();break;case`status`:X();break;case`stop`:console.log(`请在 workmate 交互会话里用 /channel 停止 bridge`);break;default:console.error(`未知子命令: ${t}。可用: start | status`),process.exit(1)}}async function Y(){h(d())||(console.error(`channel 未启用。请在交互会话里运行 /channel,开启 channel 并选择 activePlugin=dingtalk`),process.exit(1));let e=new K;try{await e.start(),console.log(`[channel] bridge 已启动,Ctrl+C 退出`),await new Promise(()=>{})}catch(e){p(e),console.error(`bridge 启动失败: ${e instanceof Error?e.message:String(e)}`),process.exit(1)}}function X(){let e=v(),t=b(),n=_(),r=h(d());console.log(`channel.enabled: ${r}`),console.log(`bridge.running: ${e}`),t&&console.log(`bridge.pid: ${t}`),console.log(`dingtalk.appKey: ${n.appKey?`已配置`:`未配置`}`),console.log(`dingtalk.robotName: ${n.robotName}`),console.log(`dingtalk.permissionMode: ${n.permissionMode}`),console.log(`dingtalk.sessionStrategy: ${n.sessionStrategy}`),console.log(`dingtalk.confirmDangerous: ${n.confirmDangerous}`),console.log(`sessions: ${Object.keys(n.sessions).length} 个`)}export{J as channelMain};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./client-pA7fKk0-.js";e();export{t as getGrokClient};
@@ -1 +0,0 @@
1
- import{r as e,t}from"./client-2w-g5kMx.js";e();export{t as clearOpenAIClientCache};
@@ -1 +0,0 @@
1
- import{Ci as e,Di as t,Mi as n}from"./loadAgentsDir-bmpKLPdG.js";n();export{e as clearCommandsCache,t as getCommands};
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{di as t,fi as n}from"./src-BX54x08P.js";import{It as r,Pt as i}from"./state-CXY-q5gr.js";import{$_ as a,B_ as o,F_ as s,G_ as c,I_ as l,Jg as u,Ji as d,M_ as f,P_ as p,Rx as m,V_ as h,W_ as g,Xg as _,Zg as v,ab as y,av as b,j_ as x,lm as S,mn as C,mp as w,nd as T,nm as E,ob as D,ot as O,pp as k,qg as A,rm as j,sm as M,st as N,td as P}from"./loadAgentsDir-bmpKLPdG.js";import{F,I}from"./debug-2pVES-2G.js";import{o as L,s as R}from"./log-L1kqxa_P.js";function z(e,n){let r=P(`tip`),i=y(`app:toggleTranscript`,`Global`,`ctrl+o`),a=[...e.options.verbose?[]:[`(${i} to see full summary)`],...n?[n]:[],...r?[r]:[]];return t.dim(`Compacted ${a.join(`
2
- `)}`)}async function B(e,t){let n=e.getAppState(),r=await O(e.options.tools,e.options.mainLoopModel,Array.from(n.toolPermissionContext.additionalWorkingDirectories.keys()),e.options.mcpClients),i=x({mainThreadAgentDefinition:void 0,toolUseContext:e,customSystemPrompt:e.options.customSystemPrompt,defaultSystemPrompt:r,appendSystemPrompt:e.options.appendSystemPrompt}),[a,o]=await Promise.all([s(),p()]);return{systemPrompt:i,userContext:a,systemContext:o,toolUseContext:e,forkContextMessages:t}}var V;e((()=>{n(),i(),N(),l(),D(),k(),v(),g(),o(),M(),E(),a(),I(),C(),L(),d(),T(),f(),V=async(e,t)=>{let{abortController:n}=t,{messages:i}=t;if(i=m(i),i.length===0)throw Error(`No messages to compact`);let a=e.trim();try{if(!a){let e=await j(i,t.agentId);if(e)return s.cache.clear?.(),S(),w(t.options.querySource??`compact`,t.agentId),r(),c(),{type:`compact`,compactionResult:e,displayText:z(t)}}let e=(await h(i,t)).messages,n=await _(e,t,await B(t,e),!1,a,!1);return b(void 0),c(),s.cache.clear?.(),S(),{type:`compact`,compactionResult:n,displayText:z(t,n.userDisplayMessage)}}catch(e){throw n.signal.aborted?Error(`Compaction canceled.`):F(e,`Not enough messages to compact. Send a few more messages first, then try again.`)?Error(u):F(e,`Compaction interrupted · This may be due to network issues — please try again.`)?Error(A):(R(e),Error(`Error during compaction: ${e}`))}}}))();export{V as call};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{n,t as r}from"./Settings-CPaqWNdP.js";var i,a;e((()=>{n(),i=t(),a=async(e,t)=>(0,i.jsx)(r,{onClose:e,context:t,defaultTab:`Config`})}))();export{a as call};
@@ -1,3 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./isObject-C6qM3WEW.js";import{n as r,t as i}from"./memoize-BK3gG5ob.js";import{c as a,i as o,l as s,o as c}from"./envUtils-QyzA_cFM.js";import{Ai as l,Cn as u,Ei as d,In as ee,Kn as te,Rr as ne,Sn as re,Ti as ie,Xt as ae,Yt as f,bi as oe,bn as p,di as m,ki as se,kr as ce,m as le,mr as h,pr as ue,qr as de,rn as fe,s as g,t as pe,tn as me,ui as he,vn as ge,yi as _e}from"./settings-D4M13toi.js";import{Hr as ve,Jr as ye,Pt as be,Ur as xe,X as _,Xr as Se,Yr as Ce,Zr as we,_r as Te,ai as Ee,ar as De,cr as Oe,dr as ke,ei as Ae,fr as je,gr as Me,ii as Ne,ir as Pe,lr as Fe,pr as v,q as Ie,st as Le,ti as Re,ur as ze}from"./state-CXY-q5gr.js";import{n as Be,t as Ve}from"./cwd-DrEEb4f5.js";import{$ as He,C as y,I as Ue,N as b,O as x,S as We,c as S,et as Ge,f as Ke,i as qe,u as C,x as Je}from"./debug-2pVES-2G.js";import{d as Ye,o as Xe,s as Ze,u as Qe}from"./log-L1kqxa_P.js";import{n as $e}from"./analytics-COpjZpvd.js";import{i as et,n as tt}from"./lockfile-D_9vif6E.js";import{homedir as nt}from"os";import{basename as w,dirname as T,isAbsolute as rt,join as E,normalize as D,resolve as it,sep as at}from"path";import{unwatchFile as ot,watchFile as st}from"fs";import{randomBytes as ct}from"crypto";var O,lt=e((()=>{Ee(),oe(),Ce(),Se(),O=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Ne(t,ye(e)),e=_e(e);return t}:we}));function ut(e){return Ae(e,d,O)}var dt=e((()=>{Re(),lt(),ie()}));function ft(){let e=process.env.WORKMATE_DISABLE_AUTO_MEMORY;if(s(e))return!1;if(a(e))return!0;if(s(process.env.WORKMATE_SIMPLE)||s(process.env.WORKMATE_REMOTE)&&!process.env.WORKMATE_REMOTE_MEMORY_DIR)return!1;let t=pe();return t.autoMemoryEnabled===void 0||t.autoMemoryEnabled}function pt(){return!1}function mt(){return process.env.WORKMATE_REMOTE_MEMORY_DIR?process.env.WORKMATE_REMOTE_MEMORY_DIR:o()}function ht(e,t){if(!e)return;let n=e;if(t&&(n.startsWith(`~/`)||n.startsWith(`~\\`))){let e=n.slice(2),t=D(e||`.`);if(t===`.`||t===`..`)return;n=E(nt(),e)}let r=D(n).replace(/[/\\]+$/,``);if(!(!rt(r)||r.length<3||/^[A-Za-z]:$/.test(r)||r.startsWith(`\\\\`)||r.startsWith(`//`)||r.includes(`\0`)))return(r+at).normalize(`NFC`)}function gt(){return ht(process.env.WORKMATE_COWORK_MEMORY_PATH_OVERRIDE,!1)}function _t(){return ht(g(`policySettings`)?.autoMemoryDirectory??g(`flagSettings`)?.autoMemoryDirectory??g(`localSettings`)?.autoMemoryDirectory??g(`userSettings`)?.autoMemoryDirectory,!0)}function vt(){return gt()!==void 0}function yt(){return ne(_())??_()}function bt(){return E(k(),Ct)}function xt(e){return D(e).startsWith(k())}var St,Ct,k,A=e((()=>{i(),be(),c(),de(),ue(),le(),St=`memory`,Ct=`MEMORY.md`,k=r(()=>(gt()??_t())||(E(E(mt(),`projects`),ce(yt()),St)+at).normalize(`NFC`),()=>_())}));function j(e,n,r,i){if(!t(e))return e;n=je(n,e);for(var a=-1,o=n.length,s=o-1,c=e;c!=null&&++a<o;){var l=ke(n[a]),u=r;if(l===`__proto__`||l===`constructor`||l===`prototype`)return e;if(a!=s){var d=c[l];u=i?i(d,l,c):void 0,u===void 0&&(u=t(d)?d:xe(n[a+1])?[]:{})}se(c,l,u),c=c[l]}return e}var M=e((()=>{l(),v(),ve(),n(),ze()}));function wt(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Oe(e,o);n(s,o)&&j(a,je(o,e),s)}return a}var Tt=e((()=>{Fe(),M(),v()}));function N(e,t){if(e==null)return{};var n=Me(ut(e),function(e){return[e]});return t=Pe(t),wt(e,n,function(e,n){return t(e,n[0])})}var Et=e((()=>{Te(),De(),Tt(),dt()}));function P(){return{numStartups:0,installMethod:void 0,autoUpdates:void 0,theme:`dark`,preferredNotifChannel:`auto`,verbose:!1,editorMode:`normal`,autoCompactEnabled:!0,showTurnDuration:!0,hasSeenTasksHint:!1,hasUsedStash:!1,hasUsedBackgroundTask:!1,queuedCommandUpHintCount:0,diffTool:`auto`,env:{},tipsHistory:{},memoryUsageCount:0,promptQueueUseCount:0,btwUseCount:0,todoFeatureEnabled:!0,showExpandedTodos:!1,messageIdleNotifThresholdMs:6e4,fileCheckpointingEnabled:!0,terminalProgressBarEnabled:!0,cachedStatsigGates:{},cachedDynamicConfigs:{},respectGitignore:!0,channel:{enabled:!1,activePlugin:null}}}function Dt(){return G||(G=Ot())}function Ot(){if(Le())return!0;let e=z(),t=$();if(e.projects?.[t]?.hasTrustDialogAccepted)return!0;let n=h(Ve());for(;;){if(e.projects?.[n]?.hasTrustDialogAccepted)return!0;let t=h(it(n,`..`));if(t===n)break;n=t}return!1}function F(e){let t=K.config;return t?t.hasCompletedOnboarding===!0&&e.hasCompletedOnboarding!==!0:!1}function I(e){let t=null;try{Nt(f(),P,n=>{let r=e(n);return r===n?n:(t={...r,projects:At(n.projects)},t)})&&t&&R(t)}catch(n){S(`Failed to save config with lock: ${n}`,{level:`error`});let r=V(f(),P);if(F(r)){S(`saveGlobalConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.`,{level:`error`});return}let i=e(r);if(i===r)return;t={...i,projects:At(r.projects)},Mt(f(),t,W),R(t)}}function kt(){let e=J+Y;e>0&&J/e,J=0,Y=0}function L(e){if(e.installMethod!==void 0)return e;let t=e,n=`unknown`,r=e.autoUpdates??!0;switch(t.autoUpdaterStatus){case`migrated`:n=`local`;break;case`installed`:n=`native`;break;case`disabled`:r=!1;break;case`enabled`:case`no_permissions`:case`not_configured`:n=`global`;break;case void 0:break}return{...e,installMethod:n,autoUpdates:r}}function At(e){if(!e)return e;let t={},n=!1;for(let[r,i]of Object.entries(e)){let e=i;if(e.history!==void 0){n=!0;let{history:i,...a}=e;t[r]=a}else t[r]=i}return n?t:e}function jt(){if(Z)return;Z=!0;let e=f();st(e,{interval:qt,persistent:!1},t=>{t.mtimeMs<=K.mtime||C().readFile(e,{encoding:`utf-8`}).then(e=>{if(t.mtimeMs<=K.mtime)return;let n=p(u(e));typeof n!=`object`||!n||(K={config:L({...P(),...n}),mtime:t.mtimeMs},q={mtime:t.mtimeMs,size:t.size})}).catch(()=>{})}),Ge(async()=>{ot(e),Z=!1})}function R(e){K={config:e,mtime:Date.now()},q=null}function z(){if(K.config)return J++,K.config;Y++;try{let e=null;try{e=C().statSync(f())}catch{}let t=L(V(f(),P));return K={config:t,mtime:e?.mtimeMs??Date.now()},q=e?{mtime:e.mtimeMs,size:e.size}:null,jt(),t}catch{return L(V(f(),P))}}function Mt(e,t,n){let r=T(e);C().mkdirSync(r),te(e,y(N(t,(e,t)=>y(e)!==y(n[t])),null,2),{encoding:`utf-8`,mode:384}),e===f()&&X++}function Nt(e,t,n){let r=t(),i=T(e),a=C();a.mkdirSync(i);let o;try{let i=`${e}.lock`,s=Date.now();if(o=et(e,{lockfilePath:i,onCompromised:e=>{S(`Config lock compromised: ${e}`,{level:`error`})}}),Date.now()-s>100&&S(`Lock acquisition took longer than expected - another Work Mate instance may be running`),q&&e===f())try{let t=a.statSync(e);(t.mtimeMs!==q.mtime||t.size!==q.size)&&(q.mtime,t.mtimeMs,q.size,t.size)}catch(e){if(b(e)!==`ENOENT`)throw e}let c=V(e,t);if(e===f()&&F(c))return S(`saveConfigWithLock: re-read config is missing auth that cache has; refusing to write to avoid wiping ~/.workmate.json. See GH #3117.`,{level:`error`}),!1;let l=n(c);if(l===c)return!1;let u=N(l,(e,t)=>y(e)!==y(r[t]));try{let t=w(e),n=B();try{a.mkdirSync(n)}catch(e){if(b(e)!==`EEXIST`)throw e}let r=a.readdirStringSync(n).filter(e=>e.startsWith(`${t}.backup.`)).sort().reverse(),i=r[0],o=i?Number(i.split(`.backup.`).pop()):0,s=Number.isNaN(o)||Date.now()-o>=6e4;if(s){let r=E(n,`${t}.backup.${Date.now()}`);a.copyFileSync(e,r)}let c=s?a.readdirStringSync(n).filter(e=>e.startsWith(`${t}.backup.`)).sort().reverse():r;for(let e of c.slice(5))try{a.unlinkSync(E(n,e))}catch{}}catch(e){b(e)!==`ENOENT`&&S(`Failed to backup config: ${e}`,{level:`error`})}return te(e,y(u,null,2),{encoding:`utf-8`,mode:384}),e===f()&&X++,!0}finally{o&&o()}}function Pt(){if(Q)return;let e=Date.now();m(`info`,`enable_configs_started`),Q=!0,V(f(),P,!0),m(`info`,`enable_configs_completed`,{duration_ms:Date.now()-e})}function B(){return E(o(),`backups`)}function Ft(e){let t=C(),n=w(e),r=B();try{let e=t.readdirStringSync(r).filter(e=>e.startsWith(`${n}.backup.`)).sort().at(-1);if(e)return E(r,e)}catch{}let i=T(e);try{let r=t.readdirStringSync(i).filter(e=>e.startsWith(`${n}.backup.`)).sort().at(-1);if(r)return E(i,r);let a=`${e}.backup`;try{return t.statSync(a),a}catch{}}catch{}return null}function V(e,t,n){if(!Q)throw Error(`Config accessed before allowed.`);let r=C();try{let n=r.readFileSync(e,{encoding:`utf-8`});try{let e=We(u(n));return{...t(),...e}}catch(n){throw new x(n instanceof Error?n.message:String(n),e,t())}}catch(i){if(b(i)===`ENOENT`){let n=Ft(e);return n&&process.stderr.write(`\nWork Mate configuration file not found at: ${e}\nA backup file exists at: ${n}\nYou can manually restore it by running: cp "${n}" "${e}"\n\n`),t()}if(i instanceof x&&n)throw i;if(i instanceof x){if(S(`Config file corrupted, resetting to defaults: ${i.message}`,{level:`error`}),!H){H=!0;try{Ze(i);try{r.statSync(`${e}.backup`)}catch{}}finally{H=!1}}process.stderr.write(`\nWork Mate configuration file at ${e} is corrupted: ${i.message}\n`);let t=w(e),n=B();try{r.mkdirSync(n)}catch(e){if(b(e)!==`EEXIST`)throw e}let a=r.readdirStringSync(n).filter(e=>e.startsWith(`${t}.corrupted.`)),o,s=!1,c=r.readFileSync(e,{encoding:`utf-8`});for(let e of a)try{if(c===r.readFileSync(E(n,e),{encoding:`utf-8`})){s=!0;break}}catch{}if(!s){o=E(n,`${t}.corrupted.${Date.now()}`);try{r.copyFileSync(e,o),S(`Corrupted config backed up to: ${o}`,{level:`error`})}catch{}}let l=Ft(e);o?process.stderr.write(`The corrupted file has been backed up to: ${o}\n`):s&&process.stderr.write(`The corrupted file has already been backed up.
2
- `),l?process.stderr.write(`A backup file exists at: ${l}\nYou can manually restore it by running: cp "${l}" "${e}"\n\n`):process.stderr.write(`
3
- `)}return t()}}function It(){let e=$(),t=z();if(!t.projects)return U;let n=t.projects[e]??U;return typeof n.allowedTools==`string`&&(n.allowedTools=p(n.allowedTools)??[]),n}function Lt(e){let t=$(),n=null;try{Nt(f(),P,r=>{let i=r.projects?.[t]??U,a=e(i);return a===i?r:(n={...r,projects:{...r.projects,[t]:a}},n)})&&n&&R(n)}catch(r){S(`Failed to save config with lock: ${r}`,{level:`error`});let i=V(f(),P);if(F(i)){S(`saveCurrentProjectConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.`,{level:`error`});return}let a=i.projects?.[t]??U,o=e(a);if(o===a)return;n={...i,projects:{...i.projects,[t]:o}},Mt(f(),n,W),R(n)}}function Rt(){return Vt()!==null}function zt(){return Rt()&&!s(process.env.FORCE_AUTOUPDATE_PLUGINS)}function Bt(e){switch(e.type){case`development`:return`development build`;case`env`:return`${e.envVar} set`;case`config`:return`config`}}function Vt(){if(!s(process.env.ENABLE_AUTOUPDATER))return{type:`config`};if(s(process.env.DISABLE_AUTOUPDATER))return{type:`env`,envVar:`DISABLE_AUTOUPDATER`};let e=Qe();if(e)return{type:`env`,envVar:e};let t=z();return t.autoUpdates===!1&&(t.installMethod!==`native`||t.autoUpdatesProtectedForNative!==!0)?{type:`config`}:null}function Ht(){let e=z();if(e.userID)return e.userID;let t=ct(32).toString(`hex`);return I(e=>({...e,userID:t})),t}function Ut(){if(!z().firstStartTime){let e=new Date().toISOString();I(t=>({...t,firstStartTime:t.firstStartTime??e}))}}function Wt(e){let t=Ie();switch(e){case`User`:return E(o(),`AGENTS.md`);case`Local`:return E(t,`AGENTS.local.md`);case`Project`:return E(t,`AGENTS.md`);case`Managed`:return E(me(),`AGENTS.md`);case`AutoMem`:return bt();default:return E(o(),`AGENTS.md`)}}function Gt(){return E(me(),`.workmate`,`rules`)}function Kt(){return E(o(),`rules`)}var H,U,W,G,K,q,J,Y,X,qt,Z,Q,$,Jt=e((()=>{i(),Et(),be(),A(),$e(),Be(),He(),qe(),he(),ae(),c(),Ue(),ee(),Ke(),de(),ge(),re(),tt(),Xe(),ue(),Ye(),fe(),Je(),H=!1,U={allowedTools:[],mcpContextUris:[],mcpServers:{},enabledMcpjsonServers:[],disabledMcpjsonServers:[],hasTrustDialogAccepted:!1,projectOnboardingSeenCount:0,hasAgentsMdExternalIncludesApproved:!1,hasAgentsMdExternalIncludesWarningShown:!1},W=P(),G=!1,{...W},{...U},K={config:null,mtime:0},q=null,J=0,Y=0,X=0,Ge(async()=>{kt()}),qt=1e3,Z=!1,Q=!1,$=r(()=>{let e=Ie();return h(ne(e)||it(e))})}));export{lt as A,A as C,ut as D,pt as E,dt as O,vt as S,ft as T,j as _,It as a,k as b,Wt as c,Jt as d,Rt as f,zt as g,I as h,Vt as i,O as k,Ht as l,Lt as m,Pt as n,z as o,Ut as p,Bt as r,Gt as s,Dt as t,Kt as u,M as v,xt as w,mt as x,bt as y};
@@ -1 +0,0 @@
1
- import{d as e,n as t}from"./config-Bio2EjUK.js";e();export{t as enableConfigs};
@@ -1 +0,0 @@
1
- import{n as e,r as t,t as n}from"./context-noninteractive-BcBo64vo.js";t();export{n as call,e as collectContextData};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DaDcL9Zw.js";import{B as n,Pt as r,Ut as i,Vt as a,dn as o,pn as s,q as c,un as l}from"./state-CXY-q5gr.js";import{Cn as u,En as d,Qn as f,Sg as p,St as m,Tn as h,WC as g,Wn as _,YC as v,Yr as y,_g as b,ai as x,bb as S,ci as C,cw as w,dh as T,gg as E,gr as D,mn as O,ms as k,n_ as A,on as j,ph as M,ps as N,qt as P,t_ as F,tw as I,wg as L,xb as R,yt as z}from"./loadAgentsDir-bmpKLPdG.js";import{o as B,s as V}from"./log-L1kqxa_P.js";import{n as H}from"./analytics-COpjZpvd.js";import{n as U,t as W}from"./caches-CW5YnYNS.js";import{randomUUID as G}from"crypto";async function K({setMessages:t,readFileState:r,discoveredSkillNames:d,loadedNestedMemoryPaths:m,getAppState:S,setAppState:w,setConversationId:E}){let O=j();await P(`clear`,{getAppState:S,setAppState:w,signal:AbortSignal.timeout(O),timeoutMs:O}),n();let M=new Set,N=[],F=e=>`isBackgrounded`in e&&e.isBackgrounded===!1;if(S)for(let e of Object.values(S().tasks))F(e)||k(e)&&(M.add(e.agentId),N.push(e));t(()=>[]);let{setContextBlocked:L}=(g(),e(v));L(!1),E&&E(G()),W(M),l(null),o(null),s(null),i(),R(c()),r.clear(),d?.clear(),m?.clear(),w&&w(e=>{let t={};for(let[n,r]of Object.entries(e.tasks)){if(!F(r)){t[n]=r;continue}try{r.status===`running`&&(b(r)&&(r.shellCommand?.kill(),r.shellCommand?.cleanup(),r.cleanupTimeoutId&&clearTimeout(r.cleanupTimeoutId)),`abortController`in r&&r.abortController?.abort(),`unregisterCleanup`in r&&r.unregisterCleanup?.())}catch(e){V(e)}u(n)}return{...e,tasks:t,attribution:T(),standaloneAgentContext:void 0,fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:e.mcp.pluginReconnectKey}}}),I(),_(),a({setCurrentAsParent:!0}),await y();for(let e of N)e.status===`running`&&h(e.id,f(p(e.agentId)));let{saveMode:B}=(D(),e(C));B(`normal`);let H=z();H&&x(H);let U=await A(`clear`);U.length>0&&t(()=>U)}var q=t((()=>{r(),H(),N(),E(),L(),M(),O(),B(),w(),S(),F(),D(),d(),m(),U()}));export{q as n,K as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./conversation-CYZyg1U1.js";e();export{t as clearConversation};