@readmagic/workmate 0.0.27 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-DqlPtsVK.js → AddWorkspaceDirectory-Bmgh8VS3.js} +1 -1
  2. package/dist/chunks/{AgentsMdExternalIncludesDialog-rJS5l6yk.js → AgentsMdExternalIncludesDialog-BJfHqScU.js} +1 -1
  3. package/dist/chunks/AgentsMdExternalIncludesDialog-BjbUilCE.js +1 -0
  4. package/dist/chunks/{App-DzRQpRKr.js → App-COdpsR2w.js} +1 -1
  5. package/dist/chunks/{BackgroundTasksDialog-CBhSmdz_.js → BackgroundTasksDialog-WkoL4g5Q.js} +1 -1
  6. package/dist/chunks/{BypassPermissionsModeDialog-zz-lnmJt.js → BypassPermissionsModeDialog-BT9yl0Qt.js} +1 -1
  7. package/dist/chunks/{CustomSelect-CYmc4vRh.js → CustomSelect-t4wXuXWH.js} +1 -1
  8. package/dist/chunks/{DiffDialog-CTUIAcEE.js → DiffDialog-CXZxnb7Y.js} +1 -1
  9. package/dist/chunks/Doctor-B6isid5K.js +1 -0
  10. package/dist/chunks/{Doctor-CLOYkPRR.js → Doctor-COj-tZBc.js} +1 -1
  11. package/dist/chunks/{ExitFlow-CATwJC4c.js → ExitFlow-CcMYH5iI.js} +1 -1
  12. package/dist/chunks/{InvalidConfigDialog-B-9Z58oD.js → InvalidConfigDialog-riLYEaUP.js} +1 -1
  13. package/dist/chunks/{InvalidSettingsDialog-B4EWjbp7.js → InvalidSettingsDialog-BGXl3V1A.js} +1 -1
  14. package/dist/chunks/{KeybindingProviderSetup-Dzg77_Xn.js → KeybindingProviderSetup-syiDgtpB.js} +1 -1
  15. package/dist/chunks/{MCPConnectionManager-CBY8nqdU.js → MCPConnectionManager-C7RmKzJh.js} +1 -1
  16. package/dist/chunks/{MCPToolListView-C7HT6rrl.js → MCPToolListView-CewNLJus.js} +1 -1
  17. package/dist/chunks/{McpParsingWarnings-Dj_Fu5o-.js → McpParsingWarnings-Czze2JPd.js} +1 -1
  18. package/dist/chunks/{MessageSelector-Dw_ERK_Z.js → MessageSelector-Kc6JlnDX.js} +1 -1
  19. package/dist/chunks/{Messages-RBfRELKn.js → Messages-BvFYO4Zn.js} +1 -1
  20. package/dist/chunks/{Onboarding-BRSXxc2E.js → Onboarding-CD_Uv5h9.js} +1 -1
  21. package/dist/chunks/{PromptInputFooterSuggestions-ChpyD9B7.js → PromptInputFooterSuggestions-CHXJsTtQ.js} +1 -1
  22. package/dist/chunks/{PromptInputHelpMenu-CrTT8MKE.js → PromptInputHelpMenu-BZIVCV7V.js} +1 -1
  23. package/dist/chunks/{ProviderSetup-BEV95bnz.js → ProviderSetup-CwMvjmjh.js} +1 -1
  24. package/dist/chunks/{QueryEngine-BBBkZWu2.js → QueryEngine-DAwfp_ht.js} +1 -1
  25. package/dist/chunks/{REPL-BDnZnm__.js → REPL-CtFtb35A.js} +4 -4
  26. package/dist/chunks/REPL-tFT1FGQF.js +1 -0
  27. package/dist/chunks/{ResumeConversation-BuSqBrm1.js → ResumeConversation-CERzSBvg.js} +1 -1
  28. package/dist/chunks/SearchExtraToolsTool-ndh4aEwQ.js +1 -0
  29. package/dist/chunks/{Settings-DYKmPdbd.js → Settings-CPaqWNdP.js} +2 -2
  30. package/dist/chunks/{Spinner-DOI8qqZi.js → Spinner-C0qHjfIY.js} +1 -1
  31. package/dist/chunks/{TextInput-ZKU-x_FD.js → TextInput-ou7ZhpVY.js} +1 -1
  32. package/dist/chunks/{ThemePicker-B69oDgXN.js → ThemePicker-CVFWqSc7.js} +1 -1
  33. package/dist/chunks/{TrustDialog-BSG8Ibh8.js → TrustDialog-CGXv_LF4.js} +1 -1
  34. package/dist/chunks/{ValidationErrorsList-BUYHEft4.js → ValidationErrorsList-CKeHoN2Z.js} +1 -1
  35. package/dist/chunks/{_baseEach-P0u1zIx6.js → _baseEach-BYhqv77g.js} +1 -1
  36. package/dist/chunks/{add-dir-C8RmmyQK.js → add-dir-BSizpuef.js} +1 -1
  37. package/dist/chunks/{agentDisplay-np7CH47m.js → agentDisplay-JKfYFD1m.js} +1 -1
  38. package/dist/chunks/{agents-DRQlR5M1.js → agents-BDTCH6YB.js} +1 -1
  39. package/dist/chunks/{agents-DedoH0Q4.js → agents-MEaV8P2G.js} +1 -1
  40. package/dist/chunks/{allErrors-DvcU0w0F.js → allErrors-Dhnf6rqg.js} +1 -1
  41. package/dist/chunks/{appleTerminalBackup-Bemd4RXh.js → appleTerminalBackup-CN8kS74J.js} +1 -1
  42. package/dist/chunks/backgroundHousekeeping-Bu-zRFCx.js +1 -0
  43. package/dist/chunks/{backgroundHousekeeping-BtEJ6TeC.js → backgroundHousekeeping-CsXlkIg3.js} +1 -1
  44. package/dist/chunks/{banner-CuoceXzz.js → banner-BKOzHotb.js} +1 -1
  45. package/dist/chunks/{branch-ClhlS7f8.js → branch-BllXcYwS.js} +1 -1
  46. package/dist/chunks/bridgeControl-aDnUrYZR.js +2 -0
  47. package/dist/chunks/{btw-B-FLxlx-.js → btw-DzaRBa6o.js} +1 -1
  48. package/dist/chunks/caches-CMF-MmR-.js +1 -0
  49. package/dist/chunks/{caches-Dn8yrJmL.js → caches-CW5YnYNS.js} +1 -1
  50. package/dist/chunks/channel-DVx21qde.js +1 -0
  51. package/dist/chunks/channel-Gw6skpUh.js +1 -0
  52. package/dist/chunks/{clear-BnWv0i65.js → clear-CDQs9_5P.js} +1 -1
  53. package/dist/chunks/commands-CfYMwgP7.js +1 -0
  54. package/dist/chunks/{compact-Banc-SNk.js → compact-6F2tuItE.js} +1 -1
  55. package/dist/chunks/config-BDkzWBnL.js +1 -0
  56. package/dist/chunks/{config-BDn2YIjC.js → config-Bio2EjUK.js} +1 -1
  57. package/dist/chunks/config-C_AEhZrn.js +1 -0
  58. package/dist/chunks/{context-BvDBAyJ9.js → context-TkdzCK3Y.js} +1 -1
  59. package/dist/chunks/{context-noninteractive-CuHHniJn.js → context-noninteractive-BcBo64vo.js} +1 -1
  60. package/dist/chunks/context-noninteractive-oFcnY1Er.js +1 -0
  61. package/dist/chunks/{conversation-Cjaftrrw.js → conversation-CYZyg1U1.js} +1 -1
  62. package/dist/chunks/conversation-DXzlRhNw.js +1 -0
  63. package/dist/chunks/{conversationRecovery-NL05oJb1.js → conversationRecovery-_hWC7JBO.js} +1 -1
  64. package/dist/chunks/{crossProjectResume-BzltC4NJ.js → crossProjectResume-CCo3iZrB.js} +1 -1
  65. package/dist/chunks/{diff--6gQCx_x.js → diff-BzVUPO4Z.js} +1 -1
  66. package/dist/chunks/doctor-B4jQbGQr.js +1 -0
  67. package/dist/chunks/{entry-DWYOrkFS.js → entry-333L52Lo.js} +1 -1
  68. package/dist/chunks/{exit-uKtXb5U3.js → exit-D5DYnRvR.js} +1 -1
  69. package/dist/chunks/{extraUsage-Dr0YXm1w.js → extraUsage-CmgRR-zH.js} +1 -1
  70. package/dist/chunks/extractMemories-CVUrBFMj.js +1 -0
  71. package/dist/chunks/fast-CRhW9zha.js +1 -0
  72. package/dist/chunks/{fast-C5-lNCQi.js → fast-D7oNjaZ3.js} +1 -1
  73. package/dist/chunks/{fetchModelList-9w1E4Ue8.js → fetchModelList-Cv1vWIpC.js} +1 -1
  74. package/dist/chunks/fetchModelList-DIa1HwAJ.js +1 -0
  75. package/dist/chunks/{fileSuggestions-BYD78vcF.js → fileSuggestions-DF3HTRKr.js} +1 -1
  76. package/dist/chunks/{gemini-BNBptTET.js → gemini-ou7_YyXc.js} +1 -1
  77. package/dist/chunks/{generateSessionName-CO2484aJ.js → generateSessionName-CeN9EZNY.js} +1 -1
  78. package/dist/chunks/{goal-j0wdadwM.js → goal-CCxo4Wyf.js} +1 -1
  79. package/dist/chunks/{grok-BpO1ZwK_.js → grok-BMmUcNbI.js} +1 -1
  80. package/dist/chunks/{help-DwhA0qQ6.js → help-CYtogTZk.js} +1 -1
  81. package/dist/chunks/{hooks-DG4_WdZ2.js → hooks-ByVkvodY.js} +1 -1
  82. package/dist/chunks/hooks-CBGUcyCs.js +1 -0
  83. package/dist/chunks/{install-BbmCNCuM.js → install-DIxyfdXG.js} +1 -1
  84. package/dist/chunks/{instrumentation-DpPmDyNF.js → instrumentation-BmHivmxs.js} +3 -3
  85. package/dist/chunks/{job-GcmX1ALd.js → job-D534P26R.js} +1 -1
  86. package/dist/chunks/{launchLocalMemory-CDgT5lst.js → launchLocalMemory-CWXLb3KF.js} +1 -1
  87. package/dist/chunks/{launchOnboarding-uQ_ux9sS.js → launchOnboarding-CocPmwzz.js} +1 -1
  88. package/dist/chunks/loadAgentsDir-Zw648oQO.js +1 -0
  89. package/dist/chunks/{loadAgentsDir-uuZYOgKn.js → loadAgentsDir-bmpKLPdG.js} +343 -343
  90. package/dist/chunks/{loadPluginHooks-QoVXsBjy.js → loadPluginHooks-BIfM53-_.js} +1 -1
  91. package/dist/chunks/{localSearch-yVCDrVrf.js → localSearch-Da8cVYoI.js} +1 -1
  92. package/dist/chunks/localSearch-Dbj8cXyO.js +1 -0
  93. package/dist/chunks/{logoUtils-B4wCDKs9.js → logoUtils-qNuBc2nI.js} +1 -1
  94. package/dist/chunks/{magicDocs-D53lV8b5.js → magicDocs-BsEiBLQl.js} +1 -1
  95. package/dist/chunks/{main-fy_XSXGj.js → main-B31aPMPP.js} +6 -6
  96. package/dist/chunks/managedEnv-DCGLDTP_.js +1 -0
  97. package/dist/chunks/{managedEnv-B8YWmM4A.js → managedEnv-EZ2IirNa.js} +1 -1
  98. package/dist/chunks/{mcp-DCl-Tz-C.js → mcp-BMeWtYCx.js} +1 -1
  99. package/dist/chunks/{mcp--LmEVBRg.js → mcp-CYbesbfl.js} +1 -1
  100. package/dist/chunks/{mcp-CZUVaPb3.js → mcp-Dd8TBfQQ.js} +1 -1
  101. package/dist/chunks/{memory-Bu5ku7y9.js → memory-DtQQGyPS.js} +1 -1
  102. package/dist/chunks/{mode-Bteqe2QG.js → mode-SM8doWgC.js} +1 -1
  103. package/dist/chunks/{model-CHDU5yqH.js → model-C2r-PaR4.js} +1 -1
  104. package/dist/chunks/{model-CcHyMyBv.js → model-Dd3x121y.js} +1 -1
  105. package/dist/chunks/{modelOptions-CJV1R3Jt.js → modelOptions-BQL4gbNk.js} +1 -1
  106. package/dist/chunks/{nativeInstaller-CIUYh1aD.js → nativeInstaller-DMkZdsof.js} +1 -1
  107. package/dist/chunks/{notifications-GLnjirCl.js → notifications-BwS1XsnZ.js} +1 -1
  108. package/dist/chunks/{onChangeAppState-CxGW2d-l.js → onChangeAppState-C9cYQJPF.js} +1 -1
  109. package/dist/chunks/{openai-BpGQT2Iv.js → openai-Bea4I2Od.js} +1 -1
  110. package/dist/chunks/{overlayContext-7wgLio1O.js → overlayContext-C5WPACKC.js} +1 -1
  111. package/dist/chunks/{partition-djFY9gGI.js → partition-CKgWl7p4.js} +1 -1
  112. package/dist/chunks/{permissions-DNedQyLg.js → permissions-Dv_PCfY0.js} +1 -1
  113. package/dist/chunks/{pidLock-CFUBtZck.js → pidLock-CqkC3-nD.js} +2 -2
  114. package/dist/chunks/{plan-DI0n7LIV.js → plan-Ce6wfjjI.js} +1 -1
  115. package/dist/chunks/{plugin-BQ8gRVYF.js → plugin-aK4tDrVg.js} +1 -1
  116. package/dist/chunks/{pluginAutoupdate-CNrHb4RJ.js → pluginAutoupdate-ByokIVEs.js} +1 -1
  117. package/dist/chunks/{pluginBlocklist-CKCsgWdY.js → pluginBlocklist-ByRQaVPu.js} +1 -1
  118. package/dist/chunks/{pluginCliCommands-CACeyIwz.js → pluginCliCommands-Dyk4HYHs.js} +1 -1
  119. package/dist/chunks/{pluginFlagging-CUvkKGOB.js → pluginFlagging-B2ZX5_oB.js} +1 -1
  120. package/dist/chunks/{pluginOperations-Ca_T-HYn.js → pluginOperations-BCvJvfOC.js} +1 -1
  121. package/dist/chunks/{pluginStartupCheck-DftTiXct.js → pluginStartupCheck-QG0d95dE.js} +1 -1
  122. package/dist/chunks/pluginStartupCheck-o_TC7wIt.js +1 -0
  123. package/dist/chunks/{plugins-Divl-P-X.js → plugins-DzsTDNWJ.js} +1 -1
  124. package/dist/chunks/{print-DSHypGJa.js → print-dUT7E1g9.js} +2 -2
  125. package/dist/chunks/{processBashCommand-BLcFmbyG.js → processBashCommand-DtGCgTkF.js} +1 -1
  126. package/dist/chunks/{processSlashCommand-Caif46Gi.js → processSlashCommand-wXblpK2C.js} +1 -1
  127. package/dist/chunks/{projectOnboardingState-nTCycGCD.js → projectOnboardingState-D-_ijZnG.js} +1 -1
  128. package/dist/chunks/prompt-BdH2zk0S.js +1 -0
  129. package/dist/chunks/{prompt-BfXryFt-.js → prompt-BnDapYGL.js} +1 -1
  130. package/dist/chunks/prompt-D0TFER0A.js +1 -0
  131. package/dist/chunks/{protocolHandler-VigBkAQQ.js → protocolHandler-CJO3CRYW.js} +1 -1
  132. package/dist/chunks/{reconciler-B9XFdL4f.js → reconciler-C_HKsocm.js} +1 -1
  133. package/dist/chunks/{refresh-CBHbWTGg.js → refresh-Cm4jZzLa.js} +1 -1
  134. package/dist/chunks/{reject-CBxnwckZ.js → reject-Tug1RmkE.js} +1 -1
  135. package/dist/chunks/{reload-plugins-5eFWrQlL.js → reload-plugins-CL9LWzpq.js} +1 -1
  136. package/dist/chunks/{rename-Cw7cMerG.js → rename-OfKJSazJ.js} +1 -1
  137. package/dist/chunks/{resume-U2D0ybfU.js → resume-BZ42SpS2.js} +1 -1
  138. package/dist/chunks/{runtimeObserver-DOYlxx9H.js → runtimeObserver-BLq2guVy.js} +1 -1
  139. package/dist/chunks/{runtimeObserver-CWaYMJG8.js → runtimeObserver-DT5P2_XL.js} +2 -2
  140. package/dist/chunks/sandbox-adapter-982rx2cm.js +1 -0
  141. package/dist/chunks/{sandbox-toggle-BtiPyjT3.js → sandbox-toggle-DghmaJhK.js} +1 -1
  142. package/dist/chunks/searchExtraTools-B4N1bpy0.js +1 -0
  143. package/dist/chunks/{select-BuTJbu_Q.js → select-CaxQ-BVq.js} +1 -1
  144. package/dist/chunks/sessionFileAccessHooks-BqQ58T7e.js +1 -0
  145. package/dist/chunks/{sessionObserver-cfwD8pV8.js → sessionObserver-DBoZUvWL.js} +1 -1
  146. package/dist/chunks/sessionObserver-qYpA90El.js +1 -0
  147. package/dist/chunks/sessionStorage-CC0v4zMs.js +1 -0
  148. package/dist/chunks/{sessionTracing-DsdcOqvc.js → sessionTracing-5a7HDF4e.js} +1 -1
  149. package/dist/chunks/{setup-DR-KEmxL.js → setup-DVLnIlse.js} +2 -2
  150. package/dist/chunks/{shadowedRuleDetection-DiZUDzxU.js → shadowedRuleDetection-L3tnySui.js} +1 -1
  151. package/dist/chunks/{sideQuestion-CdgUarC2.js → sideQuestion-BJTVma-5.js} +1 -1
  152. package/dist/chunks/sinks-C9NdbjLo.js +1 -0
  153. package/dist/chunks/{sinks-Cy3NqVbk.js → sinks-CV0SWuZW.js} +1 -1
  154. package/dist/chunks/{skillChangeDetector-CVFCJcG7.js → skillChangeDetector-DlodgOyC.js} +1 -1
  155. package/dist/chunks/{skillGapStore-BJV8ZIB1.js → skillGapStore-Cposc03e.js} +2 -2
  156. package/dist/chunks/{skillLifecycle-iO_3s9Ff.js → skillLifecycle-RXQp0JU7.js} +2 -2
  157. package/dist/chunks/{skillSearchPanel-BL5gXTHU.js → skillSearchPanel-B2pjskqk.js} +2 -2
  158. package/dist/chunks/{skills-BEp3_RyT.js → skills-D2ZjMtv4.js} +1 -1
  159. package/dist/chunks/status-BcSkj9nE.js +1 -0
  160. package/dist/chunks/{statusNoticeHelpers-BoloSeXY.js → statusNoticeHelpers-DsrqBOQt.js} +1 -1
  161. package/dist/chunks/switcher-BietN6il.js +1 -0
  162. package/dist/chunks/{switcher-DSt2cVjA.js → switcher-rep86o4_.js} +1 -1
  163. package/dist/chunks/{tasks-DyBUXnQb.js → tasks-B4coTfrq.js} +1 -1
  164. package/dist/chunks/{templateJobs-BBnReWWj.js → templateJobs-C5ukh6H3.js} +1 -1
  165. package/dist/chunks/{terminalSetup-CDpFfqqV.js → terminalSetup-CaGbEVjB.js} +1 -1
  166. package/dist/chunks/{terminalSetup-DedaY1P7.js → terminalSetup-xe_P98fY.js} +1 -1
  167. package/dist/chunks/{theme-BZOy9Iqh.js → theme-7RmvErYJ.js} +1 -1
  168. package/dist/chunks/{tipRegistry-Cl5sdLRX.js → tipRegistry-BYpJZIjR.js} +1 -1
  169. package/dist/chunks/{toolEventObserver-ClwWmVbH.js → toolEventObserver-Dzwzi5Vi.js} +1 -1
  170. package/dist/chunks/{toolPool-DSTbgGmX.js → toolPool-BGfiNj6h.js} +1 -1
  171. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-ClN4NJnB.js → useExitOnCtrlCDWithKeybindings-BT0nexZw.js} +1 -1
  172. package/dist/chunks/useMainLoopModel-QuE7VkgX.js +1 -0
  173. package/dist/chunks/{useManagePlugins-CxHz-gUP.js → useManagePlugins-pGaGzsEg.js} +1 -1
  174. package/dist/chunks/{useMergedTools-BUuWew0-.js → useMergedTools-BLsIT3R_.js} +1 -1
  175. package/dist/chunks/{useSearchInput-BIQN_-Hm.js → useSearchInput-j12K4wEo.js} +1 -1
  176. package/dist/chunks/{useSettingsErrors-BDJCLei_.js → useSettingsErrors-C8VIzdws.js} +1 -1
  177. package/dist/chunks/{util-BHr5l6Bx.js → util-CCEK8oze.js} +1 -1
  178. package/dist/chunks/{validatePlugin-fx1Y8vam.js → validatePlugin-CTVnWx9H.js} +1 -1
  179. package/dist/chunks/{vim-CYjMtnwH.js → vim-BlO9V5_5.js} +1 -1
  180. package/dist/chunks/worktree-BWL0vR4o.js +1 -0
  181. package/dist/chunks/wrapper-B-Q3Illb.js +1 -0
  182. package/dist/chunks/{wrapper-K8ZapJVu.js → wrapper-DVKxC5fR.js} +1 -1
  183. package/dist/cli.js +1 -1
  184. package/package.json +2 -1
  185. package/dist/chunks/AgentsMdExternalIncludesDialog-CgSethgo.js +0 -1
  186. package/dist/chunks/Doctor-CiZNe_qx.js +0 -1
  187. package/dist/chunks/REPL-BHk0vZDf.js +0 -1
  188. package/dist/chunks/SearchExtraToolsTool-CdWB9sO8.js +0 -1
  189. package/dist/chunks/backgroundHousekeeping-B56nFTzq.js +0 -1
  190. package/dist/chunks/caches-D7arwhaa.js +0 -1
  191. package/dist/chunks/commands-AcfFLgl5.js +0 -1
  192. package/dist/chunks/config-BhBcadjZ.js +0 -1
  193. package/dist/chunks/config-Bm5pVdCq.js +0 -1
  194. package/dist/chunks/context-noninteractive-BK2IDLSS.js +0 -1
  195. package/dist/chunks/conversation-B2dX3X4Z.js +0 -1
  196. package/dist/chunks/doctor-CQf8xPZH.js +0 -1
  197. package/dist/chunks/extractMemories-8yvMGZ1J.js +0 -1
  198. package/dist/chunks/fast-aNkj6WvB.js +0 -1
  199. package/dist/chunks/fetchModelList-D2quBF6M.js +0 -1
  200. package/dist/chunks/hooks-B5Wq-KxE.js +0 -1
  201. package/dist/chunks/loadAgentsDir-BBbIAiay.js +0 -1
  202. package/dist/chunks/localSearch-D6MhwvnR.js +0 -1
  203. package/dist/chunks/managedEnv-ulQBH73B.js +0 -1
  204. package/dist/chunks/pluginStartupCheck-Du9yx2P8.js +0 -1
  205. package/dist/chunks/prompt-BZmu5CeK.js +0 -1
  206. package/dist/chunks/prompt-Cogr_WZr.js +0 -1
  207. package/dist/chunks/sandbox-adapter-Df7Wpt77.js +0 -1
  208. package/dist/chunks/searchExtraTools-CbJVb_Zk.js +0 -1
  209. package/dist/chunks/sessionFileAccessHooks-_mxyfQmn.js +0 -1
  210. package/dist/chunks/sessionObserver-BZVgzp3W.js +0 -1
  211. package/dist/chunks/sessionStorage-SC5RfnUP.js +0 -1
  212. package/dist/chunks/sinks-D41OiGE4.js +0 -1
  213. package/dist/chunks/status-6JMz8jmM.js +0 -1
  214. package/dist/chunks/switcher-95d4TrQH.js +0 -1
  215. package/dist/chunks/useMainLoopModel-Bgxpmn2Q.js +0 -1
  216. package/dist/chunks/worktree-CGu_58ue.js +0 -1
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{I as n,P as r,ai as i,t as a}from"./src-BX54x08P.js";import{t as o}from"./jsx-runtime-Bb4Xn-E0.js";import{d as s,h as c,o as l}from"./config-Bio2EjUK.js";import{n as u,t as d}from"./select-CaxQ-BVq.js";import{a as f,c as p,i as m,n as h,o as g,r as _,t as v,u as y}from"./bridgeControl-aDnUrYZR.js";function b({onClose:e}){let[t,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(``),s=l(),u=g(),p=s.channel?.enabled===!0,h=s.channel?.activePlugin??null,b=_(),T=v();function E(){i(e=>e+1)}function D(e,t){c(n=>({...n,channel:{enabled:e,activePlugin:t}})),E()}function O(e,t,n){let r=t[(t.indexOf(e)+1)%t.length];n(r),E()}let k=[{label:(0,S.jsxs)(r,{children:[`Channel 开关:`,(0,S.jsx)(r,{bold:!0,children:p?`on`:`off`})]}),value:`toggle-enabled`},{label:(0,S.jsxs)(r,{children:[`激活渠道:`,(0,S.jsx)(r,{bold:!0,children:h??`(无)`})]}),value:`set-plugin`},{label:(0,S.jsxs)(r,{children:[`钉钉 corpid:`,(0,S.jsx)(r,{dimColor:!0,children:u.corpid||`(空) 编辑 dingtalk.json`})]}),value:`noop:corpid`},{label:(0,S.jsxs)(r,{children:[`钉钉 AppKey:`,(0,S.jsx)(r,{dimColor:!0,children:u.appKey?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:appKey`},{label:(0,S.jsxs)(r,{children:[`钉钉 AppSecret:`,(0,S.jsx)(r,{dimColor:!0,children:u.appSecret?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:appSecret`},{label:(0,S.jsxs)(r,{children:[`机器人名:`,(0,S.jsx)(r,{bold:!0,children:u.robotName})]}),value:`noop:robotName`},{label:(0,S.jsxs)(r,{children:[`AI 卡片模板:`,(0,S.jsx)(r,{dimColor:!0,children:u.cardTemplateId?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:cardTemplateId`},{label:(0,S.jsxs)(r,{children:[`权限模式:`,(0,S.jsx)(r,{bold:!0,children:u.permissionMode})]}),value:`cycle-permissionMode`},{label:(0,S.jsxs)(r,{children:[`会话策略:`,(0,S.jsx)(r,{bold:!0,children:u.sessionStrategy}),(0,S.jsx)(r,{dimColor:!0,children:` (perConversation=每群一会话 / perUser=每人一会话 / shared=共用)`})]}),value:`cycle-sessionStrategy`},{label:(0,S.jsxs)(r,{children:[`危险操作钉钉确认:`,(0,S.jsx)(r,{bold:!0,children:u.confirmDangerous?`on`:`off`})]}),value:`toggle-confirmDangerous`},{label:(0,S.jsxs)(r,{bold:b,children:[b?`▶ bridge 运行中`:`▶ 启动 bridge`,T?` (pid=${T})`:``]}),value:`action:start`},{label:(0,S.jsx)(r,{bold:b,children:`■ 停止 bridge`}),value:`action:stop`}];function A(e){switch(o(``),e){case`toggle-enabled`:D(!p,h??`dingtalk`);break;case`set-plugin`:D(!0,`dingtalk`);break;case`cycle-permissionMode`:O(u.permissionMode,C,e=>y(t=>({...t,permissionMode:e})));break;case`cycle-sessionStrategy`:O(u.sessionStrategy,w,e=>y(t=>({...t,sessionStrategy:e})));break;case`toggle-confirmDangerous`:y(e=>({...e,confirmDangerous:!e.confirmDangerous})),E();break;case`action:start`:{let e=m();o(e.started?`bridge 已启动 (pid=${e.pid})`:`bridge 已在运行 (pid=${e.pid})`),E();break}case`action:stop`:{let e=f();o(e?`已发停止信号`:`bridge 未运行`),E();break}default:e.startsWith(`noop:`)&&o(`请编辑 ~/.workmate/channel/dingtalk.json 填入该字段`)}}return(0,S.jsxs)(n,{flexDirection:`column`,padding:1,children:[(0,S.jsxs)(n,{marginBottom:1,flexDirection:`column`,children:[(0,S.jsx)(r,{bold:!0,children:`远程对话渠道(钉钉)`}),(0,S.jsx)(r,{dimColor:!0,children:`↑↓ 导航 · Enter 切换/执行 · Esc 退出`}),(0,S.jsx)(r,{dimColor:!0,children:`corpid/AppKey/AppSecret 请直接编辑 ~/.workmate/channel/dingtalk.json`})]}),(0,S.jsx)(d,{options:k,onChange:A,onCancel:e,visibleOptionCount:k.length},t),a&&(0,S.jsx)(n,{marginTop:1,children:(0,S.jsx)(r,{bold:!0,children:a})})]})}var x,S,C,w,T=e((()=>{a(),x=t(i(),1),u(),s(),p(),h(),S=o(),C=[`default`,`acceptEdits`,`bypassPermissions`,`plan`,`dontAsk`,`auto`],w=[`perConversation`,`perUser`,`shared`]})),E,D;e((()=>{T(),E=o(),D=async e=>(0,E.jsx)(b,{onClose:()=>e()})}))();export{D as call};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./conversation-Cjaftrrw.js";var r;e((()=>{t(),r=async(e,t)=>(await n(t),{type:`text`,value:``})}))();export{r as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./conversation-CYZyg1U1.js";var r;e((()=>{t(),r=async(e,t)=>(await n(t),{type:`text`,value:``})}))();export{r as call};
@@ -0,0 +1 @@
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 +1,2 @@
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-uuZYOgKn.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(`
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
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};
@@ -0,0 +1 @@
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 +1,3 @@
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}}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.
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
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
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};
@@ -0,0 +1 @@
1
+ import{d as e,n as t}from"./config-Bio2EjUK.js";e();export{t as enableConfigs};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./figures-5ThXQEtq.js";import{I as r,P as i,s as a,t as o}from"./src-BX54x08P.js";import{t as s}from"./jsx-runtime-Bb4Xn-E0.js";import{In as c,Nn as l,mn as u,pn as d}from"./settings-D4M13toi.js";import{A_ as f,B_ as p,Ji as m,O_ as h,Rx as g,V_ as _}from"./loadAgentsDir-uuZYOgKn.js";import{_ as v,g as y}from"./startupProfiler-B9Qv2QGH.js";import{At as b,Ot as x,Yt as S,in as C,rn as w,tn as T}from"./prompt-BfXryFt-.js";import{n as E,t as D}from"./staticRender-Bt82RvGc.js";function O(e){let t=[];return k(e,t),A(e,t),M(e,t),ee(e,t),N(e,t),t.sort((e,t)=>e.severity===t.severity?(t.savingsTokens??0)-(e.savingsTokens??0):e.severity===`warning`?-1:1),t}function k(e,t){e.percentage>=L&&t.push({severity:`warning`,title:`Context is ${e.percentage}% full`,detail:e.isAutoCompactEnabled?`Autocompact will trigger soon, which discards older messages. Use /compact now to control what gets kept.`:`Autocompact is disabled. Use /compact to free space, or enable autocompact in /config.`})}function A(e,t){if(e.messageBreakdown)for(let n of e.messageBreakdown.toolCallsByType){let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100;if(i<P||r<F)continue;let a=j(n.name,r,i);a&&t.push(a)}}function j(e,t,n){let r=y(t);switch(e){case w:return{severity:`warning`,title:`Bash results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Pipe output through head, tail, or grep to reduce result size. Avoid cat on large files — use Read with offset/limit instead.`,savingsTokens:Math.floor(t*.5)};case S:return{severity:`info`,title:`Read results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Use offset and limit parameters to read only the sections you need. Avoid re-reading entire files when you only need a few lines.`,savingsTokens:Math.floor(t*.3)};case x:return{severity:`info`,title:`Grep results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Add more specific patterns or use the glob or type parameter to narrow file types. Consider Glob for file discovery instead of Grep.`,savingsTokens:Math.floor(t*.3)};default:return n>=20?{severity:`info`,title:`${e} using ${r} tokens (${n.toFixed(0)}%)`,detail:`This tool is consuming a significant portion of context.`,savingsTokens:Math.floor(t*.2)}:null}}function M(e,t){if(!e.messageBreakdown)return;let n=e.messageBreakdown.toolCallsByType.find(e=>e.name===S);if(!n)return;let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100,a=n.resultTokens/e.rawMaxTokens*100;i>=P&&r>=F||a>=I&&n.resultTokens>=F&&t.push({severity:`info`,title:`File reads using ${y(n.resultTokens)} tokens (${a.toFixed(0)}%)`,detail:`If you are re-reading files, consider referencing earlier reads. Use offset/limit for large files.`,savingsTokens:Math.floor(n.resultTokens*.3)})}function ee(e,t){let n=e.memoryFiles.reduce((e,t)=>e+t.tokens,0),r=n/e.rawMaxTokens*100;if(r>=R&&n>=z){let i=[...e.memoryFiles].sort((e,t)=>t.tokens-e.tokens).slice(0,3).map(e=>`${l(e.path)} (${y(e.tokens)})`).join(`, `);t.push({severity:`info`,title:`Memory files using ${y(n)} tokens (${r.toFixed(0)}%)`,detail:`Largest: ${i}. Use /memory to review and prune stale entries.`,savingsTokens:Math.floor(n*.3)})}}function N(e,t){!e.isAutoCompactEnabled&&e.percentage>=50&&e.percentage<L&&t.push({severity:`info`,title:`Autocompact is disabled`,detail:`Without autocompact, you will hit context limits and lose the conversation. Enable it in /config or use /compact manually.`})}var P,F,I,L,R,z,B=e((()=>{C(),T(),b(),c(),v(),P=15,F=1e4,I=5,L=80,R=5,z=5e3}));function V({suggestions:e}){return e.length===0?null:(0,H.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(i,{bold:!0,children:`Suggestions`}),e.map((e,t)=>(0,H.jsxs)(r,{flexDirection:`column`,marginTop:t===0?0:1,children:[(0,H.jsxs)(r,{children:[(0,H.jsx)(a,{status:e.severity,withSpace:!0}),(0,H.jsx)(i,{bold:!0,children:e.title}),e.savingsTokens?(0,H.jsxs)(i,{dimColor:!0,children:[` `,n.arrowRight,` save ~`,y(e.savingsTokens)]}):null]}),(0,H.jsx)(r,{marginLeft:2,children:(0,H.jsx)(i,{dimColor:!0,children:e.detail})})]},t))]})}var H,U=e((()=>{t(),o(),v(),H=s()}));function W(){return null}function G(e){let t=new Map;for(let n of e){let e=d(n.source),r=t.get(e)||[];r.push(n),t.set(e,r)}for(let[e,n]of t.entries())t.set(e,n.sort((e,t)=>t.tokens-e.tokens));let n=new Map;for(let e of Y){let r=t.get(e);r&&n.set(e,r)}return n}function K({data:e}){let{categories:t,totalTokens:n,rawMaxTokens:a,percentage:o,gridRows:s,model:c,memoryFiles:u,mcpTools:d,deferredBuiltinTools:f=[],agents:p,skills:m,cacheHitRate:h,cacheThreshold:g}=e,_=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==J&&!e.isDeferred),v=t.some(e=>e.isDeferred&&e.name.includes(`MCP`)),b=t.find(e=>e.name===J);return(0,q.jsxs)(r,{flexDirection:`column`,paddingLeft:1,children:[(0,q.jsx)(i,{bold:!0,children:`Context Usage`}),(0,q.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,q.jsx)(r,{flexDirection:`column`,flexShrink:0,children:s.map((e,t)=>(0,q.jsx)(r,{flexDirection:`row`,marginLeft:-1,children:e.map((e,t)=>e.categoryName===`Free space`?(0,q.jsx)(i,{dimColor:!0,children:`⛶ `},t):e.categoryName===J?(0,q.jsx)(i,{color:e.color,children:`⛝ `},t):(0,q.jsx)(i,{color:e.color,children:e.squareFullness>=.7?`⛁ `:`⛀ `},t))},t))}),(0,q.jsxs)(r,{flexDirection:`column`,gap:0,flexShrink:0,children:[(0,q.jsxs)(i,{dimColor:!0,children:[c,` · `,y(n),`/`,y(a),` tokens (`,o,`%)`]}),(0,q.jsx)(W,{}),h!==void 0&&g!==void 0&&(0,q.jsxs)(i,{color:h<g?`warning`:void 0,children:[`Cache hit rate: `,h.toFixed(0),`%`,h<g?` (below ${g}% threshold)`:``]}),(0,q.jsx)(i,{children:` `}),(0,q.jsx)(i,{dimColor:!0,italic:!0,children:`Estimated usage by category`}),_.map((e,t)=>{let n=y(e.tokens),o=e.isDeferred?`N/A`:`${(e.tokens/a*100).toFixed(1)}%`,s=e.name===J,c=e.name,l=e.isDeferred?` `:s?`⛝`:`⛁`;return(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:e.color,children:l}),(0,q.jsxs)(i,{children:[` `,c,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[n,` tokens (`,o,`)`]})]},t)}),(t.find(e=>e.name===`Free space`)?.tokens??0)>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{dimColor:!0,children:`⛶`}),(0,q.jsx)(i,{children:` Free space: `}),(0,q.jsxs)(i,{dimColor:!0,children:[y(t.find(e=>e.name===`Free space`)?.tokens||0),` (`,((t.find(e=>e.name===`Free space`)?.tokens||0)/a*100).toFixed(1),`%)`]})]}),b&&b.tokens>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:b.color,children:`⛝`}),(0,q.jsxs)(i,{dimColor:!0,children:[` `,b.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(b.tokens),` tokens (`,(b.tokens/a*100).toFixed(1),`%)`]})]})]})]}),(0,q.jsxs)(r,{flexDirection:`column`,marginLeft:-1,children:[d.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`MCP tools`}),(0,q.jsxs)(i,{dimColor:!0,children:[` · /mcp`,v?` (loaded on-demand)`:``]})]}),d.some(e=>e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Loaded`}),d.filter(e=>e.isLoaded).map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),v&&d.some(e=>!e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Available`}),d.filter(e=>!e.isLoaded).map((e,t)=>(0,q.jsx)(r,{children:(0,q.jsxs)(i,{dimColor:!0,children:[`└ `,e.name]})},t))]}),!v&&d.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),p.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Custom agents`}),(0,q.jsx)(i,{dimColor:!0,children:` · /agents`})]}),Array.from(G(p).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.agentType,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]}),u.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Memory files`}),(0,q.jsx)(i,{dimColor:!0,children:` · /memory`})]}),u.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,l(e.path),`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),m&&m.tokens>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Skills`}),(0,q.jsx)(i,{dimColor:!0,children:` · /skills`})]}),Array.from(G(m.skillFrontmatter).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]})]}),(0,q.jsx)(V,{suggestions:O(e)})]})}var q,J,Y,X=e((()=>{o(),B(),c(),v(),u(),U(),q=s(),J=`Autocompact buffer`,Y=[`Project`,`User`,`Managed`,`Plugin`,`Built-in`]}));function Z(e){return g(e)}async function Q(e,t){let{messages:n,getAppState:r,options:{mainLoopModel:i,tools:a}}=t,o=Z(n),{messages:s}=await _(o),c=process.stdout.columns||80,l=r();return e(await E((0,$.jsx)(K,{data:await h(s,i,async()=>l.toolPermissionContext,a,l.agentDefinitions,c,t,void 0,o)}))),null}var $;e((()=>{X(),p(),f(),m(),D(),$=s()}))();export{Q as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./figures-5ThXQEtq.js";import{I as r,P as i,s as a,t as o}from"./src-BX54x08P.js";import{t as s}from"./jsx-runtime-Bb4Xn-E0.js";import{In as c,Nn as l,mn as u,pn as d}from"./settings-D4M13toi.js";import{A_ as f,B_ as p,Ji as m,O_ as h,Rx as g,V_ as _}from"./loadAgentsDir-bmpKLPdG.js";import{_ as v,g as y}from"./startupProfiler-B9Qv2QGH.js";import{At as b,Ot as x,Yt as S,in as C,rn as w,tn as T}from"./prompt-BnDapYGL.js";import{n as E,t as D}from"./staticRender-Bt82RvGc.js";function O(e){let t=[];return k(e,t),A(e,t),M(e,t),ee(e,t),N(e,t),t.sort((e,t)=>e.severity===t.severity?(t.savingsTokens??0)-(e.savingsTokens??0):e.severity===`warning`?-1:1),t}function k(e,t){e.percentage>=L&&t.push({severity:`warning`,title:`Context is ${e.percentage}% full`,detail:e.isAutoCompactEnabled?`Autocompact will trigger soon, which discards older messages. Use /compact now to control what gets kept.`:`Autocompact is disabled. Use /compact to free space, or enable autocompact in /config.`})}function A(e,t){if(e.messageBreakdown)for(let n of e.messageBreakdown.toolCallsByType){let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100;if(i<P||r<F)continue;let a=j(n.name,r,i);a&&t.push(a)}}function j(e,t,n){let r=y(t);switch(e){case w:return{severity:`warning`,title:`Bash results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Pipe output through head, tail, or grep to reduce result size. Avoid cat on large files — use Read with offset/limit instead.`,savingsTokens:Math.floor(t*.5)};case S:return{severity:`info`,title:`Read results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Use offset and limit parameters to read only the sections you need. Avoid re-reading entire files when you only need a few lines.`,savingsTokens:Math.floor(t*.3)};case x:return{severity:`info`,title:`Grep results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Add more specific patterns or use the glob or type parameter to narrow file types. Consider Glob for file discovery instead of Grep.`,savingsTokens:Math.floor(t*.3)};default:return n>=20?{severity:`info`,title:`${e} using ${r} tokens (${n.toFixed(0)}%)`,detail:`This tool is consuming a significant portion of context.`,savingsTokens:Math.floor(t*.2)}:null}}function M(e,t){if(!e.messageBreakdown)return;let n=e.messageBreakdown.toolCallsByType.find(e=>e.name===S);if(!n)return;let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100,a=n.resultTokens/e.rawMaxTokens*100;i>=P&&r>=F||a>=I&&n.resultTokens>=F&&t.push({severity:`info`,title:`File reads using ${y(n.resultTokens)} tokens (${a.toFixed(0)}%)`,detail:`If you are re-reading files, consider referencing earlier reads. Use offset/limit for large files.`,savingsTokens:Math.floor(n.resultTokens*.3)})}function ee(e,t){let n=e.memoryFiles.reduce((e,t)=>e+t.tokens,0),r=n/e.rawMaxTokens*100;if(r>=R&&n>=z){let i=[...e.memoryFiles].sort((e,t)=>t.tokens-e.tokens).slice(0,3).map(e=>`${l(e.path)} (${y(e.tokens)})`).join(`, `);t.push({severity:`info`,title:`Memory files using ${y(n)} tokens (${r.toFixed(0)}%)`,detail:`Largest: ${i}. Use /memory to review and prune stale entries.`,savingsTokens:Math.floor(n*.3)})}}function N(e,t){!e.isAutoCompactEnabled&&e.percentage>=50&&e.percentage<L&&t.push({severity:`info`,title:`Autocompact is disabled`,detail:`Without autocompact, you will hit context limits and lose the conversation. Enable it in /config or use /compact manually.`})}var P,F,I,L,R,z,B=e((()=>{C(),T(),b(),c(),v(),P=15,F=1e4,I=5,L=80,R=5,z=5e3}));function V({suggestions:e}){return e.length===0?null:(0,H.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(i,{bold:!0,children:`Suggestions`}),e.map((e,t)=>(0,H.jsxs)(r,{flexDirection:`column`,marginTop:t===0?0:1,children:[(0,H.jsxs)(r,{children:[(0,H.jsx)(a,{status:e.severity,withSpace:!0}),(0,H.jsx)(i,{bold:!0,children:e.title}),e.savingsTokens?(0,H.jsxs)(i,{dimColor:!0,children:[` `,n.arrowRight,` save ~`,y(e.savingsTokens)]}):null]}),(0,H.jsx)(r,{marginLeft:2,children:(0,H.jsx)(i,{dimColor:!0,children:e.detail})})]},t))]})}var H,U=e((()=>{t(),o(),v(),H=s()}));function W(){return null}function G(e){let t=new Map;for(let n of e){let e=d(n.source),r=t.get(e)||[];r.push(n),t.set(e,r)}for(let[e,n]of t.entries())t.set(e,n.sort((e,t)=>t.tokens-e.tokens));let n=new Map;for(let e of Y){let r=t.get(e);r&&n.set(e,r)}return n}function K({data:e}){let{categories:t,totalTokens:n,rawMaxTokens:a,percentage:o,gridRows:s,model:c,memoryFiles:u,mcpTools:d,deferredBuiltinTools:f=[],agents:p,skills:m,cacheHitRate:h,cacheThreshold:g}=e,_=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==J&&!e.isDeferred),v=t.some(e=>e.isDeferred&&e.name.includes(`MCP`)),b=t.find(e=>e.name===J);return(0,q.jsxs)(r,{flexDirection:`column`,paddingLeft:1,children:[(0,q.jsx)(i,{bold:!0,children:`Context Usage`}),(0,q.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,q.jsx)(r,{flexDirection:`column`,flexShrink:0,children:s.map((e,t)=>(0,q.jsx)(r,{flexDirection:`row`,marginLeft:-1,children:e.map((e,t)=>e.categoryName===`Free space`?(0,q.jsx)(i,{dimColor:!0,children:`⛶ `},t):e.categoryName===J?(0,q.jsx)(i,{color:e.color,children:`⛝ `},t):(0,q.jsx)(i,{color:e.color,children:e.squareFullness>=.7?`⛁ `:`⛀ `},t))},t))}),(0,q.jsxs)(r,{flexDirection:`column`,gap:0,flexShrink:0,children:[(0,q.jsxs)(i,{dimColor:!0,children:[c,` · `,y(n),`/`,y(a),` tokens (`,o,`%)`]}),(0,q.jsx)(W,{}),h!==void 0&&g!==void 0&&(0,q.jsxs)(i,{color:h<g?`warning`:void 0,children:[`Cache hit rate: `,h.toFixed(0),`%`,h<g?` (below ${g}% threshold)`:``]}),(0,q.jsx)(i,{children:` `}),(0,q.jsx)(i,{dimColor:!0,italic:!0,children:`Estimated usage by category`}),_.map((e,t)=>{let n=y(e.tokens),o=e.isDeferred?`N/A`:`${(e.tokens/a*100).toFixed(1)}%`,s=e.name===J,c=e.name,l=e.isDeferred?` `:s?`⛝`:`⛁`;return(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:e.color,children:l}),(0,q.jsxs)(i,{children:[` `,c,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[n,` tokens (`,o,`)`]})]},t)}),(t.find(e=>e.name===`Free space`)?.tokens??0)>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{dimColor:!0,children:`⛶`}),(0,q.jsx)(i,{children:` Free space: `}),(0,q.jsxs)(i,{dimColor:!0,children:[y(t.find(e=>e.name===`Free space`)?.tokens||0),` (`,((t.find(e=>e.name===`Free space`)?.tokens||0)/a*100).toFixed(1),`%)`]})]}),b&&b.tokens>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:b.color,children:`⛝`}),(0,q.jsxs)(i,{dimColor:!0,children:[` `,b.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(b.tokens),` tokens (`,(b.tokens/a*100).toFixed(1),`%)`]})]})]})]}),(0,q.jsxs)(r,{flexDirection:`column`,marginLeft:-1,children:[d.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`MCP tools`}),(0,q.jsxs)(i,{dimColor:!0,children:[` · /mcp`,v?` (loaded on-demand)`:``]})]}),d.some(e=>e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Loaded`}),d.filter(e=>e.isLoaded).map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),v&&d.some(e=>!e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Available`}),d.filter(e=>!e.isLoaded).map((e,t)=>(0,q.jsx)(r,{children:(0,q.jsxs)(i,{dimColor:!0,children:[`└ `,e.name]})},t))]}),!v&&d.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),p.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Custom agents`}),(0,q.jsx)(i,{dimColor:!0,children:` · /agents`})]}),Array.from(G(p).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.agentType,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]}),u.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Memory files`}),(0,q.jsx)(i,{dimColor:!0,children:` · /memory`})]}),u.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,l(e.path),`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),m&&m.tokens>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Skills`}),(0,q.jsx)(i,{dimColor:!0,children:` · /skills`})]}),Array.from(G(m.skillFrontmatter).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]})]}),(0,q.jsx)(V,{suggestions:O(e)})]})}var q,J,Y,X=e((()=>{o(),B(),c(),v(),u(),U(),q=s(),J=`Autocompact buffer`,Y=[`Project`,`User`,`Managed`,`Plugin`,`Built-in`]}));function Z(e){return g(e)}async function Q(e,t){let{messages:n,getAppState:r,options:{mainLoopModel:i,tools:a}}=t,o=Z(n),{messages:s}=await _(o),c=process.stdout.columns||80,l=r();return e(await E((0,$.jsx)(K,{data:await h(s,i,async()=>l.toolPermissionContext,a,l.agentDefinitions,c,t,void 0,o)}))),null}var $;e((()=>{X(),p(),f(),m(),D(),$=s()}))();export{Q as call};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from"./settings-D4M13toi.js";import{A_ as r,B_ as i,Ji as a,O_ as o,Rx as s,V_ as c}from"./loadAgentsDir-uuZYOgKn.js";import{_ as l,g as u}from"./startupProfiler-B9Qv2QGH.js";async function d(e){let{messages:t,getAppState:n,options:{mainLoopModel:r,tools:i,agentDefinitions:a,customSystemPrompt:l,appendSystemPrompt:u}}=e,d=s(t),{messages:f}=await c(d),p=n();return o(f,r,async()=>p.toolPermissionContext,i,a,void 0,{options:{customSystemPrompt:l,appendSystemPrompt:u}},void 0,d)}async function f(e,t){return{type:`text`,value:p(await d(t))}}function p(e){let{categories:t,totalTokens:r,rawMaxTokens:i,percentage:a,model:o,memoryFiles:s,mcpTools:c,agents:l,skills:d}=e,f=`## Context Usage
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from"./settings-D4M13toi.js";import{A_ as r,B_ as i,Ji as a,O_ as o,Rx as s,V_ as c}from"./loadAgentsDir-bmpKLPdG.js";import{_ as l,g as u}from"./startupProfiler-B9Qv2QGH.js";async function d(e){let{messages:t,getAppState:n,options:{mainLoopModel:r,tools:i,agentDefinitions:a,customSystemPrompt:l,appendSystemPrompt:u}}=e,d=s(t),{messages:f}=await c(d),p=n();return o(f,r,async()=>p.toolPermissionContext,i,a,void 0,{options:{customSystemPrompt:l,appendSystemPrompt:u}},void 0,d)}async function f(e,t){return{type:`text`,value:p(await d(t))}}function p(e){let{categories:t,totalTokens:r,rawMaxTokens:i,percentage:a,model:o,memoryFiles:s,mcpTools:c,agents:l,skills:d}=e,f=`## Context Usage
2
2
 
3
3
  `;f+=`**Model:** ${o} \n`,f+=`**Tokens:** ${u(r)} / ${u(i)} (${a}%)\n`,f+=`
4
4
  `;let p=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==`Autocompact buffer`);if(p.length>0){f+=`### Estimated usage by category
@@ -0,0 +1 @@
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 +1 @@
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-uuZYOgKn.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-Dn8yrJmL.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
+ 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};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./conversation-CYZyg1U1.js";e();export{t as clearConversation};
@@ -1 +1 @@
1
- import{Ht as e,Ut as t}from"./settings-D4M13toi.js";import{Pt as n,t as r}from"./state-CXY-q5gr.js";import{$x as i,Cg as a,Gr as o,Gx as s,Ji as c,Ln as l,Nr as u,Or as d,Zh as f,_a as p,ag as m,br as h,cS as g,cw as _,gr as v,is as y,kr as b,la as x,lr as S,n_ as C,nr as w,oa as T,rs as E,rw as D,t_ as O,ts as k,va as A,wa as j,wg as M,zn as N}from"./loadAgentsDir-uuZYOgKn.js";import{n as P,t as F}from"./cwd-DrEEb4f5.js";import{o as I,s as L}from"./log-L1kqxa_P.js";import{relative as R}from"path";P(),n(),M(),t(),k(),m(),I(),c(),_(),O(),v();function z(e){if(e.type!==`attachment`)return e;let t=e.attachment;if(t.type===`new_file`)return{...e,attachment:{...t,type:`file`,displayPath:R(F(),t.filename)}};if(t.type===`new_directory`)return{...e,attachment:{...t,type:`directory`,displayPath:R(F(),t.path)}};if(!(`displayPath`in t)){let n=`filename`in t?t.filename:`path`in t?t.path:`skillDir`in t?t.skillDir:void 0;if(n)return{...e,attachment:{...t,displayPath:R(F(),n)}}}return e}function B(e){return V(e).messages}function V(t){try{let n=t.map(z),r=new Set(e);for(let e of n)e.type===`user`&&e.permissionMode!==void 0&&!r.has(e.permissionMode)&&(e.permissionMode=void 0);let a=T(p(A(n))),o=H(a),c;if(o.kind===`interrupted_turn`){let[e]=x([i({content:`Continue from where you left off.`,isMeta:!0})]);a.push(e),c={kind:`interrupted_prompt`,message:e}}else c=o;let l=a.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`);return l!==-1&&a[l].type===`user`&&a.splice(l+1,0,s({content:g})),{messages:a,turnInterruptionState:c}}catch(e){throw L(e),e}}function H(e){if(e.length===0)return{kind:`none`};let t=e.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`&&!(e.type===`assistant`&&e.isApiErrorMessage)),n=t===-1?void 0:e[t];return!n||n.type===`assistant`?{kind:`none`}:n.type===`user`?n.isMeta||n.isCompactSummary?{kind:`none`}:j(n)?{kind:`interrupted_turn`}:{kind:`interrupted_prompt`,message:n}:n.type===`attachment`?{kind:`interrupted_turn`}:{kind:`none`}}function U(e){for(let t of e)if(t.type===`attachment`){if(t.attachment.type===`invoked_skills`){let e=t.attachment.skills;for(let t of e)t.name&&t.path&&t.content&&r(t.name,t.path,t.content,null)}t.attachment.type===`skill_listing`&&y()}y(),E()}async function W(e){let{messages:t,leafUuids:n}=await u(e),r=null,i=0;for(let e of t.values()){if(e.isSidechain||!n.has(e.uuid))continue;let t=new Date(e.timestamp).getTime();t>i&&(i=t,r=e)}return r?{messages:o(l(t,r)),sessionId:r.sessionId}:{messages:[],sessionId:void 0}}async function G(e,t){try{let n=null,r=null,i;if(e===void 0){let e=b(),t=new Set;try{let{listAllLiveSessions:e}=await import(`./udsClient-CWeoNrm3.js`),n=await e();t=new Set(n.flatMap(e=>e.kind&&e.kind!==`interactive`&&e.sessionId?[e.sessionId]:[]))}catch{}n=(await e).find(e=>{let n=S(e);return!n||!t.has(n)})??null}else if(t){let e=await W(t);r=e.messages,i=e.sessionId}else typeof e==`string`?(n=await w(e),i=e):n=e;if(!n&&!r)return null;n&&(h(n)&&(n=await d(n)),i||(i=S(n)),i&&await D(n,a(i)),f(n),r=n.messages,N(r)),U(r);let o=V(r);r=o.messages;let s=await C(`resume`,{sessionId:i});return r.push(...s),{messages:r,turnInterruptionState:o.turnInterruptionState,fileHistorySnapshots:n?.fileHistorySnapshots,attributionSnapshots:n?.attributionSnapshots,contentReplacements:n?.contentReplacements,contextCollapseCommits:n?.contextCollapseCommits,contextCollapseSnapshot:n?.contextCollapseSnapshot,sessionId:i,agentName:n?.agentName,agentColor:n?.agentColor,agentSetting:n?.agentSetting,customTitle:n?.customTitle,tag:n?.tag,mode:n?.mode,worktreeSession:n?.worktreeSession,prNumber:n?.prNumber,prUrl:n?.prUrl,prRepository:n?.prRepository,fullPath:n?.fullPath,goal:n?.goal}}catch(e){throw L(e),e}}export{G as n,B as t};
1
+ import{Ht as e,Ut as t}from"./settings-D4M13toi.js";import{Pt as n,t as r}from"./state-CXY-q5gr.js";import{$x as i,Cg as a,Gr as o,Gx as s,Ji as c,Ln as l,Nr as u,Or as d,Zh as f,_a as p,ag as m,br as h,cS as g,cw as _,gr as v,is as y,kr as b,la as x,lr as S,n_ as C,nr as w,oa as T,rs as E,rw as D,t_ as O,ts as k,va as A,wa as j,wg as M,zn as N}from"./loadAgentsDir-bmpKLPdG.js";import{n as P,t as F}from"./cwd-DrEEb4f5.js";import{o as I,s as L}from"./log-L1kqxa_P.js";import{relative as R}from"path";P(),n(),M(),t(),k(),m(),I(),c(),_(),O(),v();function z(e){if(e.type!==`attachment`)return e;let t=e.attachment;if(t.type===`new_file`)return{...e,attachment:{...t,type:`file`,displayPath:R(F(),t.filename)}};if(t.type===`new_directory`)return{...e,attachment:{...t,type:`directory`,displayPath:R(F(),t.path)}};if(!(`displayPath`in t)){let n=`filename`in t?t.filename:`path`in t?t.path:`skillDir`in t?t.skillDir:void 0;if(n)return{...e,attachment:{...t,displayPath:R(F(),n)}}}return e}function B(e){return V(e).messages}function V(t){try{let n=t.map(z),r=new Set(e);for(let e of n)e.type===`user`&&e.permissionMode!==void 0&&!r.has(e.permissionMode)&&(e.permissionMode=void 0);let a=T(p(A(n))),o=H(a),c;if(o.kind===`interrupted_turn`){let[e]=x([i({content:`Continue from where you left off.`,isMeta:!0})]);a.push(e),c={kind:`interrupted_prompt`,message:e}}else c=o;let l=a.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`);return l!==-1&&a[l].type===`user`&&a.splice(l+1,0,s({content:g})),{messages:a,turnInterruptionState:c}}catch(e){throw L(e),e}}function H(e){if(e.length===0)return{kind:`none`};let t=e.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`&&!(e.type===`assistant`&&e.isApiErrorMessage)),n=t===-1?void 0:e[t];return!n||n.type===`assistant`?{kind:`none`}:n.type===`user`?n.isMeta||n.isCompactSummary?{kind:`none`}:j(n)?{kind:`interrupted_turn`}:{kind:`interrupted_prompt`,message:n}:n.type===`attachment`?{kind:`interrupted_turn`}:{kind:`none`}}function U(e){for(let t of e)if(t.type===`attachment`){if(t.attachment.type===`invoked_skills`){let e=t.attachment.skills;for(let t of e)t.name&&t.path&&t.content&&r(t.name,t.path,t.content,null)}t.attachment.type===`skill_listing`&&y()}y(),E()}async function W(e){let{messages:t,leafUuids:n}=await u(e),r=null,i=0;for(let e of t.values()){if(e.isSidechain||!n.has(e.uuid))continue;let t=new Date(e.timestamp).getTime();t>i&&(i=t,r=e)}return r?{messages:o(l(t,r)),sessionId:r.sessionId}:{messages:[],sessionId:void 0}}async function G(e,t){try{let n=null,r=null,i;if(e===void 0){let e=b(),t=new Set;try{let{listAllLiveSessions:e}=await import(`./udsClient-CWeoNrm3.js`),n=await e();t=new Set(n.flatMap(e=>e.kind&&e.kind!==`interactive`&&e.sessionId?[e.sessionId]:[]))}catch{}n=(await e).find(e=>{let n=S(e);return!n||!t.has(n)})??null}else if(t){let e=await W(t);r=e.messages,i=e.sessionId}else typeof e==`string`?(n=await w(e),i=e):n=e;if(!n&&!r)return null;n&&(h(n)&&(n=await d(n)),i||(i=S(n)),i&&await D(n,a(i)),f(n),r=n.messages,N(r)),U(r);let o=V(r);r=o.messages;let s=await C(`resume`,{sessionId:i});return r.push(...s),{messages:r,turnInterruptionState:o.turnInterruptionState,fileHistorySnapshots:n?.fileHistorySnapshots,attributionSnapshots:n?.attributionSnapshots,contentReplacements:n?.contentReplacements,contextCollapseCommits:n?.contextCollapseCommits,contextCollapseSnapshot:n?.contextCollapseSnapshot,sessionId:i,agentName:n?.agentName,agentColor:n?.agentColor,agentSetting:n?.agentSetting,customTitle:n?.customTitle,tag:n?.tag,mode:n?.mode,worktreeSession:n?.worktreeSession,prNumber:n?.prNumber,prUrl:n?.prUrl,prRepository:n?.prRepository,fullPath:n?.fullPath,goal:n?.goal}}catch(e){throw L(e),e}}export{G as n,B as t};
@@ -1,4 +1,4 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{C as n,D as r,Gr as i,H as a,I as o,P as s,T as c,Wt as l,Xn as u,ai as d,di as f,fi as p,hn as m,k as ee,oi as te,ot as ne,p as h,t as g}from"./src-BX54x08P.js";import{t as _}from"./jsx-runtime-Bb4Xn-E0.js";import{$n as v,Br as re,Qn as y,qr as ie}from"./settings-D4M13toi.js";import{Pt as b,at as ae,q as oe}from"./state-CXY-q5gr.js";import{Dc as x,Or as se,Tb as S,Tc as ce,bi as le,br as C,ei as ue,gr as w,hd as de,lr as T,md as E,sb as D,tb as fe,tr as pe,vS as O,vr as me,wb as he,yS as k,yi as ge}from"./loadAgentsDir-uuZYOgKn.js";import{S as _e,c as A,i as ve,x as j}from"./debug-2pVES-2G.js";import{a as M,o as ye,s as be}from"./log-L1kqxa_P.js";import{n as xe}from"./analytics-COpjZpvd.js";import{S as Se,_ as N,d as Ce,p as we}from"./startupProfiler-B9Qv2QGH.js";import{f as Te,u as Ee}from"./model-CcHyMyBv.js";import{n as De,t as P}from"./useExitOnCtrlCDWithKeybindings-ClN4NJnB.js";import{n as F,t as Oe}from"./TextInput-ZKU-x_FD.js";import{n as ke,t as Ae}from"./select-BuTJbu_Q.js";import{r as je,t as Me}from"./Spinner-DOI8qqZi.js";import{l as Ne,u as Pe}from"./SpinnerGlyph-BR_SiV9L.js";import{t as Fe}from"./SearchBox-zA5QwIpO.js";import{n as Ie,t as Le}from"./useSearchInput-BIQN_-Hm.js";import{n as I,t as L}from"./Messages-RBfRELKn.js";function Re({log:e,onExit:t,onSelect:n}){let[i,a]=R.useState(null);R.useEffect(()=>{a(null),C(e)&&se(e).then(a)},[e]);let u=C(e)&&i===null,d=i??e,f=T(d)||``,p=ce();return l(`confirm:no`,t,{context:`Confirmation`}),l(`confirm:yes`,(0,R.useCallback)(()=>{n(i??e)},[n,i,e]),{context:`Confirmation`}),u?(0,z.jsxs)(o,{flexDirection:`column`,padding:1,children:[(0,z.jsx)(h,{message:`Loading session…`}),(0,z.jsx)(s,{dimColor:!0,children:(0,z.jsx)(c,{children:(0,z.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,z.jsxs)(o,{flexDirection:`column`,children:[(0,z.jsx)(L,{messages:d.messages,tools:p,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:f,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,z.jsxs)(o,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,z.jsxs)(s,{children:[we(d.modified),` · `,d.messageCount,` messages`,d.gitBranch?` · ${d.gitBranch}`:``]}),(0,z.jsx)(s,{dimColor:!0,children:(0,z.jsxs)(c,{children:[(0,z.jsx)(r,{shortcut:`Enter`,action:`resume`}),(0,z.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var R,z,ze=e((()=>{R=t(d(),1),g(),fe(),x(),N(),w(),de(),I(),z=_()}));function B(e,t){if(e===H)return 5;let n=i(e),r=t?Math.min(n,t-U-W):n;return Math.max(0,r)+U+W}function Be(e,t){let n=t-U-W;return i(e)<=n?e:n<=1?e.charAt(0):Se(e,n)}function Ve({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,c=Math.max(Ke,K),l=n-a-c-2,u=Math.max(0,Math.min(t,e.length-1)),d=Math.max(20,Math.floor(l/2)),f=e.map(e=>B(e,d)),p=0,m=e.length;if(f.reduce((e,t,n)=>e+t+ +(n<f.length-1),0)>l){let t=l-Ge,n=f[u]??0;for(p=u,m=u+1;p>0||m<e.length;){let r=p>0,i=m<e.length;if(r){let e=(f[p-1]??0)+1;if(n+e<=t){p--,n+=e;continue}}if(i){let e=(f[m]??0)+1;if(n+e<=t){m++,n+=e;continue}}break}}let ee=p,te=e.length-m,ne=e.slice(p,m),h=ne.map((e,t)=>p+t);return(0,V.jsxs)(o,{flexDirection:`row`,gap:1,children:[(0,V.jsx)(s,{color:`suggestion`,children:i}),ee>0&&(0,V.jsxs)(s,{dimColor:!0,children:[G,ee]}),ne.map((e,t)=>{let n=h[t]===u,r=e===H?e:`#${Be(e,d-U)}`;return(0,V.jsxs)(s,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),te>0?(0,V.jsxs)(s,{dimColor:!0,children:[He,te,Ue]}):(0,V.jsx)(s,{dimColor:!0,children:We})]})}var V,H,U,W,G,He,Ue,We,Ge,Ke,K,qe=e((()=>{g(),N(),V=_(),H=`All`,U=2,W=1,G=`← `,He=`→`,Ue=` (tab to cycle)`,We=`(tab to cycle)`,Ge=5,Ke=18,K=14}));function Je({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:s=`expanded`,isDisabled:c=!1,hideIndexes:l=!1,isNodeExpanded:u,onExpand:d,onCollapse:f,getParentPrefix:p,getChildPrefix:m,onUpFromFirstItem:ee}){let[te,ne]=q.useState(new Set),h=q.useRef(!1),g=q.useRef(null),_=q.useCallback(e=>u?u(e):te.has(e),[u,te]),v=q.useMemo(()=>{let t=[];function n(e,r,i){let a=!!e.children&&e.children.length>0,o=_(e.id);if(t.push({node:e,depth:r,isExpanded:o,hasChildren:a,parentId:i}),a&&o&&e.children)for(let t of e.children)n(t,r+1,e.id)}for(let t of e)n(t,0);return t},[e,_]),re=q.useCallback(e=>e?`▼ `:`▶ `,[]),y=q.useCallback(e=>` ▸ `,[]),ie=p??re,b=m??y,ae=q.useCallback(e=>{let t=``;return e.hasChildren?t=ie(e.isExpanded):e.depth>0&&(t=b(e.depth)),t+e.node.label},[ie,b]),oe=q.useMemo(()=>v.map(e=>({label:ae(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[v,ae]),x=q.useMemo(()=>{let e=new Map;return v.forEach(t=>e.set(t.node.id,t.node)),e},[v]),se=q.useCallback(e=>v.find(t=>t.node.id===e),[v]),S=q.useCallback((e,t)=>{se(e)?.hasChildren&&(t?d?d(e):ne(t=>new Set(t).add(e)):f?f(e):ne(t=>{let n=new Set(t);return n.delete(e),n}))},[se,d,f]);return(0,Ye.jsx)(o,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||c)return;let t=se(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),S(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),S(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),h.current=!0,S(t.parentId,!1),r)){let e=x.get(t.parentId);e&&r(e)}}}},children:(0,Ye.jsx)(Ae,{options:oe,onChange:q.useCallback(e=>{let n=x.get(e);n&&t(n)},[x,t]),onFocus:q.useCallback(e=>{if(h.current){h.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=x.get(e);t&&r(t)}},[r,x]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:s,isDisabled:c,hideIndexes:l,onUpFromFirstItem:ee})})}var q,Ye,Xe=e((()=>{q=t(d(),1),g(),ke(),Ye=_()}));function Ze(e,t){return Se(e.replace(/\s+/g,` `).trim(),t)}function Qe({before:e,match:t,after:n},r){return f.dim(e)+r(t)+f.dim(n)}function $e(e,t,n){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r===-1)return null;let i=r+t.length,a=Math.max(0,r-n),o=Math.min(e.length,i+n),s=e.slice(a,r),c=e.slice(r,i),l=e.slice(i,o);return{before:(a>0?`…`:``)+s.replace(/\s+/g,` `).trimStart(),match:c.trim(),after:l.replace(/\s+/g,` `).trimEnd()+(o<e.length?`…`:``)}}function et(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?st:i?ct:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${Ze(M(e),l)}${c}${s}`}function tt(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=Ce(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function nt({logs:e,maxHeight:t=1/0,forceWidth:i,onCancel:d,onSelect:f,onLogsChanged:p,onLoadMore:h,initialSearchQuery:g,showAllProjects:_=!1,onToggleAllProjects:v,onAgenticSearch:y}){let ie=ne(),b=i===void 0?ie.columns:i,x=De(d),se=u(),S=me(),[ce]=a(),le=Ne(ce),C=J.useMemo(()=>e=>te(e,le.warning),[le.warning]),[w,de]=J.useState(null),[D,fe]=J.useState(!1),[O,he]=J.useState(!1),[k,_e]=J.useState(!1),A=J.useMemo(()=>oe(),[]),[ve,j]=J.useState(``),[ye,be]=J.useState(0),[xe,Se]=J.useState(new Set),[N,we]=J.useState(null),[Te,Ee]=J.useState(1),[P,F]=J.useState(`list`),[ke,je]=J.useState(null),Pe=J.useRef(null),[Fe,Le]=J.useState(0),[I,L]=J.useState({status:`idle`}),[R,z]=J.useState(!1),ze=J.useRef(null),{query:B,setQuery:Be,cursorOffset:V}=Ie({isActive:P===`search`&&I.status!==`searching`,onExit:()=>{F(`list`)},onExitUp:()=>{F(`list`)},passthroughCtrlKeys:[`n`],initialQuery:g||``}),H=J.useDeferredValue(B),[U,W]=J.useState(``);J.useEffect(()=>{if(!H){W(``);return}let e=setTimeout(W,300,H);return()=>clearTimeout(e)},[H]);let[G,He]=J.useState(null),[Ue,We]=J.useState(!1);J.useEffect(()=>{re().then(e=>de(e)),ge(A).then(e=>{_e(e.length>1)})},[A]);let Ge=J.useMemo(()=>new Map(e.map(e=>[e,it(e)])),[e]),Ke=J.useMemo(()=>null,[e,Ge,!1]),K=J.useMemo(()=>ot(e),[e]),qe=K.length>0,q=J.useMemo(()=>qe?[`All`,...K]:[],[qe,K]),Ye=q.length>0&&Fe<q.length?Fe:0,Xe=q[Ye],nt=Xe===`All`?void 0:Xe,rt=+!!qe,st=J.useMemo(()=>{let t=e;return S&&(t=e.filter(e=>{let t=ae(),n=T(e);return!!(t&&n===t||e.customTitle||pe(e.messages)||e.firstPrompt||e.customTitle)})),nt!==void 0&&(t=t.filter(e=>e.tag===nt)),D&&w&&(t=t.filter(e=>e.gitBranch===w)),k&&!O&&(t=t.filter(e=>e.projectPath===A)),t},[e,S,nt,D,w,k,O,A]),ct=J.useMemo(()=>{if(!B)return st;let e=B.toLowerCase();return st.filter(t=>{let n=M(t).toLowerCase(),r=(t.gitBranch||``).toLowerCase(),i=(t.tag||``).toLowerCase(),a=t.prNumber?`pr #${t.prNumber} ${t.prRepository||``}`.toLowerCase():``;return n.includes(e)||r.includes(e)||i.includes(e)||a.includes(e)})},[st,B]);J.useEffect(()=>{},[H,U,!1]),J.useEffect(()=>{He(null),We(!1)},[U,Ke,!1]);let{filteredLogs:lt,snippets:X}=J.useMemo(()=>{let e=new Map,t=ct;if(G&&U&&G.query===U){for(let t of G.results)if(t.searchableText){let n=$e(t.searchableText,U,ut);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=G.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ct,G,U]),Z=J.useMemo(()=>I.status===`results`&&I.results.length>0?I.results:lt,[I,lt]),Q=Math.max(30,b-4),dt=J.useMemo(()=>{if(!S)return[];let e=at(Z);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Z.indexOf(n),i=X.get(n),a=i?Qe(i,C):null;if(t.length===1){let t=tt(n,{showProjectPath:_});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:et(n,Q),description:a?`${t}\n ${a}`:t,dimDescription:!0}}let o=t.length-1,s=t.slice(1).map((t,n)=>{let r=Z.indexOf(t),i=X.get(t),a=i?Qe(i,C):null,o=tt(t,{isChild:!0,showProjectPath:_});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:et(t,Q,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=tt(n,{showProjectPath:_});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:et(n,Q,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[S,Z,Q,_,X,C]),ft=J.useMemo(()=>S?[]:Z.map((e,t)=>{let n=Ze(M(e)+(e.isSidechain?` (sidechain)`:``),Q),r=Ce(e),i=_&&e.projectPath?` · ${e.projectPath}`:``,a=X.get(e),o=a?Qe(a,C):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[S,Z,C,Q,_,X]),$=N?.value.log??null,pt=()=>{if(!S||!$)return``;let e=T($);if(!e)return``;let t=Z.filter(t=>T(t)===e);if(!(t.length>1))return``;let n=xe.has(e);return t.indexOf($)>0||n?`← to collapse`:`→ to expand`},mt=J.useCallback(async()=>{let e=$?T($):void 0;if(!$||!e){F(`list`),j(``);return}ve.trim()&&(await ue(e,ve.trim(),$.fullPath),S&&p&&p()),F(`list`),j(``)},[$,ve,p,S]),ht=J.useCallback(()=>{F(`list`)},[]),gt=J.useCallback(()=>{F(`search`)},[]),_t=J.useCallback(async()=>{if(!B.trim()||!y||!0)return;ze.current?.abort();let t=new AbortController;ze.current=t,L({status:`searching`}),B.length;try{let n=await y(B,e,t.signal);if(t.signal.aborted)return;L({status:`results`,results:n,query:B}),B.length,n.length}catch(e){if(t.signal.aborted)return;L({status:`error`,message:e instanceof Error?e.message:`Search failed`}),B.length}},[B,y,!1,e]);J.useEffect(()=>{I.status!==`idle`&&I.status!==`searching`&&(I.status===`results`&&I.query!==B||I.status===`error`)&&L({status:`idle`})},[B,I]),J.useEffect(()=>()=>{ze.current?.abort()},[]);let vt=J.useRef(I.status);J.useEffect(()=>{let e=vt.current;if(vt.current=I.status,e===`searching`&&I.status===`results`){if(S&&dt.length>0)we(dt[0]);else if(!S&&Z.length>0){let e=Z[0];we({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[I.status,S,dt,Z]);let yt=J.useCallback(e=>{let t=parseInt(e,10),n=Z[t];!n||Pe.current===t.toString()||(Pe.current=t.toString(),we({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Ee(t+1))},[Z]),bt=J.useCallback(e=>{we(e);let t=Z.findIndex(t=>T(t)===T(e.value.log));t>=0&&Ee(t+1)},[Z]);l(`confirm:no`,()=>{ze.current?.abort(),L({status:`idle`})},{context:`Confirmation`,isActive:P!==`preview`&&I.status===`searching`}),l(`confirm:no`,()=>{F(`list`),j(``)},{context:`Settings`,isActive:P===`rename`&&I.status!==`searching`}),l(`confirm:no`,()=>{Be(``),z(!1),d?.()},{context:`Confirmation`,isActive:P!==`preview`&&P!==`rename`&&P!==`search`&&R&&I.status!==`searching`}),m((e,t)=>{if(P!==`preview`&&I.status!==`searching`&&P!==`rename`)if(P===`search`)e.toLowerCase()===`n`&&t.ctrl?ht():(t.return||t.downArrow)&&B.trim();else{if(R){if(t.return){_t(),z(!1);return}else if(t.downArrow){z(!1);return}else if(t.upArrow){F(`search`),z(!1);return}}if(qe&&t.tab){let e=t.shift?-1:1;Le(t=>{let n=((t<q.length?t:0)+q.length+e)%q.length;return q[n],K.length,n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();r===`a`&&t.ctrl&&v?v():r===`b`&&t.ctrl?fe(!D):r===`w`&&t.ctrl&&k?he(!O):r===`/`&&n?F(`search`):r===`r`&&t.ctrl&&$?(F(`rename`),j(``)):r===`v`&&t.ctrl&&$?(je($),F(`preview`),$.messageCount):$&&n&&e.length>0&&!/^\s+$/.test(e)&&(F(`search`),Be(e))}},{isActive:!0});let xt=[];D&&w&&xt.push(w),k&&!O&&xt.push(`current worktree`);let St=8+ +(xt.length>0&&P!==`search`)+rt,Ct=Math.max(1,Math.floor((t-St-2)/3));return J.useEffect(()=>{if(!h)return;let e=Ct*2;Te+e>=Z.length&&h(Ct*3)},[Te,Ct,Z.length,h]),e.length===0?null:P===`preview`&&ke&&S?(0,Y.jsx)(Re,{log:ke,onExit:()=>{F(`list`),je(null)},onSelect:f}):(0,Y.jsxs)(o,{flexDirection:`column`,height:t-1,children:[(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(n,{color:`suggestion`})}),(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(s,{children:` `})}),qe?(0,Y.jsx)(Ve,{tabs:q,selectedIndex:Ye,availableWidth:b,showAllProjects:_}):(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsxs)(s,{bold:!0,color:`suggestion`,children:[`Resume Session`,P===`list`&&Z.length>Ct&&(0,Y.jsxs)(s,{dimColor:!0,children:[` `,`(`,Te,` of `,Z.length,`)`]})]})}),(0,Y.jsx)(ee,{query:B,isFocused:P===`search`,isTerminalFocused:se,cursorOffset:V}),xt.length>0&&P!==`search`&&(0,Y.jsx)(o,{flexShrink:0,paddingLeft:2,children:(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsx)(c,{children:xt})})}),(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(s,{children:` `})}),I.status===`searching`&&(0,Y.jsxs)(o,{paddingLeft:1,flexShrink:0,children:[(0,Y.jsx)(Me,{}),(0,Y.jsx)(s,{children:` Searching…`})]}),I.status===`results`&&I.results.length>0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`Work Mate found these results:`})}),I.status===`results`&&I.results.length===0&&lt.length===0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),I.status===`error`&&lt.length===0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!B.trim()&&y&&!1,I.status===`searching`?null:P===`rename`&&$?(0,Y.jsxs)(o,{paddingLeft:2,flexDirection:`column`,children:[(0,Y.jsx)(s,{bold:!0,children:`Rename session:`}),(0,Y.jsx)(o,{paddingTop:1,children:(0,Y.jsx)(Oe,{value:ve,onChange:j,onSubmit:mt,placeholder:M($,`Enter new session name`),columns:b,cursorOffset:ye,onChangeCursorOffset:be,showCursor:!0})})]}):S?(0,Y.jsx)(Je,{nodes:dt,onSelect:e=>{f(e.value.log)},onFocus:bt,onCancel:d,focusNodeId:N?.id,visibleOptionCount:Ct,layout:`expanded`,isDisabled:P===`search`||R,hideIndexes:!1,isNodeExpanded:e=>{if(P===`search`||D)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?xe.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Se(e=>new Set(e).add(t))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Se(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:gt}):(0,Y.jsx)(Ae,{options:ft,onChange:e=>{let t=Z[parseInt(e,10)];t&&f(t)},visibleOptionCount:Ct,onCancel:d,onFocus:yt,defaultFocusValue:N?.id.toString(),layout:`expanded`,isDisabled:P===`search`||R,onUpFromFirstItem:gt}),(0,Y.jsx)(o,{paddingLeft:2,children:x.pending?(0,Y.jsxs)(s,{dimColor:!0,children:[`Press `,x.keyName,` again to exit`]}):P===`rename`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(r,{shortcut:`Enter`,action:`save`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):I.status===`searching`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(s,{children:`Searching with Work Mate…`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):R?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(r,{shortcut:`Enter`,action:`search`}),(0,Y.jsx)(r,{shortcut:`↓`,action:`skip`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):P===`search`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(s,{children:`Type to Search`}),(0,Y.jsx)(r,{shortcut:`Enter`,action:`select`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[v&&(0,Y.jsx)(r,{shortcut:`Ctrl+A`,action:`show ${_?`current dir`:`all projects`}`}),w&&(0,Y.jsx)(r,{shortcut:`Ctrl+B`,action:`toggle branch`}),k&&(0,Y.jsx)(r,{shortcut:`Ctrl+W`,action:`show ${O?`current worktree`:`all worktrees`}`}),(0,Y.jsx)(r,{shortcut:`Ctrl+V`,action:`preview`}),(0,Y.jsx)(r,{shortcut:`Ctrl+R`,action:`rename`}),(0,Y.jsx)(s,{children:`Type to search`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),pt()&&(0,Y.jsx)(s,{children:pt()})]})})})]})}function rt(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function it(e){let t=(e.messages.length<=lt?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-1e3)]).map(rt).filter(Boolean).join(` `),n=`${[e.customTitle,e.summary,e.firstPrompt,e.gitBranch,e.tag,e.prNumber?`PR #${e.prNumber}`:void 0,e.prRepository].filter(Boolean).join(` `)} ${t}`.trim();return n.length>Z?n.slice(0,Z):n}function at(e){let t=new Map;for(let n of e){let e=T(n);if(e){let r=t.get(e);r?r.push(n):t.set(e,[n])}}return t.forEach(e=>e.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime())),t}function ot(e){let t=new Set;for(let n of e)n.tag&&t.add(n.tag);return Array.from(t).sort((e,t)=>e.localeCompare(t))}var J,Y,st,ct,lt,X,Z,ut,Q=e((()=>{p(),J=t(d(),1),b(),P(),Le(),D(),g(),fe(),xe(),N(),le(),ie(),ye(),w(),Pe(),de(),ke(),Fe(),ze(),je(),qe(),F(),Xe(),Y=_(),st=2,ct=4,lt=2e3,X=1e3,Z=5e4,ut=50}));function dt(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function ft(e){if(e.length===0)return``;let t=(e.length<=ht?e:[...e.slice(0,ht/2),...e.slice(-100/2)]).map(dt).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>mt?`${t.slice(0,mt)}…`:t}function $(e,t){return!!(M(e).toLowerCase().includes(t)||e.customTitle?.toLowerCase().includes(t)||e.tag?.toLowerCase().includes(t)||e.gitBranch?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.firstPrompt?.toLowerCase().includes(t)||e.messages&&e.messages.length>0&&ft(e.messages).toLowerCase().includes(t))}async function pt(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>$(e,r)),a;if(i.length>=gt)a=i.slice(0,gt);else{let e=t.filter(e=>!$(e,r)),n=gt-i.length;a=[...i,...e.slice(0,n)]}A(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${y(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(C(e))try{return await se(e)}catch(t){return be(t),e}return e}),s=await Promise.all(o);A(`Agentic search: loaded ${y(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{C as n,D as r,Gr as i,H as a,I as o,P as s,T as c,Wt as l,Xn as u,ai as d,di as f,fi as p,hn as m,k as ee,oi as te,ot as ne,p as h,t as g}from"./src-BX54x08P.js";import{t as _}from"./jsx-runtime-Bb4Xn-E0.js";import{$n as v,Br as re,Qn as y,qr as ie}from"./settings-D4M13toi.js";import{Pt as b,at as ae,q as oe}from"./state-CXY-q5gr.js";import{Dc as x,Or as se,Tb as S,Tc as ce,bi as le,br as C,ei as ue,gr as w,hd as de,lr as T,md as E,sb as D,tb as fe,tr as pe,vS as O,vr as me,wb as he,yS as k,yi as ge}from"./loadAgentsDir-bmpKLPdG.js";import{S as _e,c as A,i as ve,x as j}from"./debug-2pVES-2G.js";import{a as M,o as ye,s as be}from"./log-L1kqxa_P.js";import{n as xe}from"./analytics-COpjZpvd.js";import{S as Se,_ as N,d as Ce,p as we}from"./startupProfiler-B9Qv2QGH.js";import{f as Te,u as Ee}from"./model-Dd3x121y.js";import{n as De,t as P}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{n as F,t as Oe}from"./TextInput-ou7ZhpVY.js";import{n as ke,t as Ae}from"./select-CaxQ-BVq.js";import{r as je,t as Me}from"./Spinner-C0qHjfIY.js";import{l as Ne,u as Pe}from"./SpinnerGlyph-BR_SiV9L.js";import{t as Fe}from"./SearchBox-zA5QwIpO.js";import{n as Ie,t as Le}from"./useSearchInput-j12K4wEo.js";import{n as I,t as L}from"./Messages-BvFYO4Zn.js";function Re({log:e,onExit:t,onSelect:n}){let[i,a]=R.useState(null);R.useEffect(()=>{a(null),C(e)&&se(e).then(a)},[e]);let u=C(e)&&i===null,d=i??e,f=T(d)||``,p=ce();return l(`confirm:no`,t,{context:`Confirmation`}),l(`confirm:yes`,(0,R.useCallback)(()=>{n(i??e)},[n,i,e]),{context:`Confirmation`}),u?(0,z.jsxs)(o,{flexDirection:`column`,padding:1,children:[(0,z.jsx)(h,{message:`Loading session…`}),(0,z.jsx)(s,{dimColor:!0,children:(0,z.jsx)(c,{children:(0,z.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,z.jsxs)(o,{flexDirection:`column`,children:[(0,z.jsx)(L,{messages:d.messages,tools:p,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:f,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,z.jsxs)(o,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,z.jsxs)(s,{children:[we(d.modified),` · `,d.messageCount,` messages`,d.gitBranch?` · ${d.gitBranch}`:``]}),(0,z.jsx)(s,{dimColor:!0,children:(0,z.jsxs)(c,{children:[(0,z.jsx)(r,{shortcut:`Enter`,action:`resume`}),(0,z.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var R,z,ze=e((()=>{R=t(d(),1),g(),fe(),x(),N(),w(),de(),I(),z=_()}));function B(e,t){if(e===H)return 5;let n=i(e),r=t?Math.min(n,t-U-W):n;return Math.max(0,r)+U+W}function Be(e,t){let n=t-U-W;return i(e)<=n?e:n<=1?e.charAt(0):Se(e,n)}function Ve({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,c=Math.max(Ke,K),l=n-a-c-2,u=Math.max(0,Math.min(t,e.length-1)),d=Math.max(20,Math.floor(l/2)),f=e.map(e=>B(e,d)),p=0,m=e.length;if(f.reduce((e,t,n)=>e+t+ +(n<f.length-1),0)>l){let t=l-Ge,n=f[u]??0;for(p=u,m=u+1;p>0||m<e.length;){let r=p>0,i=m<e.length;if(r){let e=(f[p-1]??0)+1;if(n+e<=t){p--,n+=e;continue}}if(i){let e=(f[m]??0)+1;if(n+e<=t){m++,n+=e;continue}}break}}let ee=p,te=e.length-m,ne=e.slice(p,m),h=ne.map((e,t)=>p+t);return(0,V.jsxs)(o,{flexDirection:`row`,gap:1,children:[(0,V.jsx)(s,{color:`suggestion`,children:i}),ee>0&&(0,V.jsxs)(s,{dimColor:!0,children:[G,ee]}),ne.map((e,t)=>{let n=h[t]===u,r=e===H?e:`#${Be(e,d-U)}`;return(0,V.jsxs)(s,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),te>0?(0,V.jsxs)(s,{dimColor:!0,children:[He,te,Ue]}):(0,V.jsx)(s,{dimColor:!0,children:We})]})}var V,H,U,W,G,He,Ue,We,Ge,Ke,K,qe=e((()=>{g(),N(),V=_(),H=`All`,U=2,W=1,G=`← `,He=`→`,Ue=` (tab to cycle)`,We=`(tab to cycle)`,Ge=5,Ke=18,K=14}));function Je({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:s=`expanded`,isDisabled:c=!1,hideIndexes:l=!1,isNodeExpanded:u,onExpand:d,onCollapse:f,getParentPrefix:p,getChildPrefix:m,onUpFromFirstItem:ee}){let[te,ne]=q.useState(new Set),h=q.useRef(!1),g=q.useRef(null),_=q.useCallback(e=>u?u(e):te.has(e),[u,te]),v=q.useMemo(()=>{let t=[];function n(e,r,i){let a=!!e.children&&e.children.length>0,o=_(e.id);if(t.push({node:e,depth:r,isExpanded:o,hasChildren:a,parentId:i}),a&&o&&e.children)for(let t of e.children)n(t,r+1,e.id)}for(let t of e)n(t,0);return t},[e,_]),re=q.useCallback(e=>e?`▼ `:`▶ `,[]),y=q.useCallback(e=>` ▸ `,[]),ie=p??re,b=m??y,ae=q.useCallback(e=>{let t=``;return e.hasChildren?t=ie(e.isExpanded):e.depth>0&&(t=b(e.depth)),t+e.node.label},[ie,b]),oe=q.useMemo(()=>v.map(e=>({label:ae(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[v,ae]),x=q.useMemo(()=>{let e=new Map;return v.forEach(t=>e.set(t.node.id,t.node)),e},[v]),se=q.useCallback(e=>v.find(t=>t.node.id===e),[v]),S=q.useCallback((e,t)=>{se(e)?.hasChildren&&(t?d?d(e):ne(t=>new Set(t).add(e)):f?f(e):ne(t=>{let n=new Set(t);return n.delete(e),n}))},[se,d,f]);return(0,Ye.jsx)(o,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||c)return;let t=se(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),S(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),S(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),h.current=!0,S(t.parentId,!1),r)){let e=x.get(t.parentId);e&&r(e)}}}},children:(0,Ye.jsx)(Ae,{options:oe,onChange:q.useCallback(e=>{let n=x.get(e);n&&t(n)},[x,t]),onFocus:q.useCallback(e=>{if(h.current){h.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=x.get(e);t&&r(t)}},[r,x]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:s,isDisabled:c,hideIndexes:l,onUpFromFirstItem:ee})})}var q,Ye,Xe=e((()=>{q=t(d(),1),g(),ke(),Ye=_()}));function Ze(e,t){return Se(e.replace(/\s+/g,` `).trim(),t)}function Qe({before:e,match:t,after:n},r){return f.dim(e)+r(t)+f.dim(n)}function $e(e,t,n){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r===-1)return null;let i=r+t.length,a=Math.max(0,r-n),o=Math.min(e.length,i+n),s=e.slice(a,r),c=e.slice(r,i),l=e.slice(i,o);return{before:(a>0?`…`:``)+s.replace(/\s+/g,` `).trimStart(),match:c.trim(),after:l.replace(/\s+/g,` `).trimEnd()+(o<e.length?`…`:``)}}function et(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?st:i?ct:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${Ze(M(e),l)}${c}${s}`}function tt(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=Ce(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function nt({logs:e,maxHeight:t=1/0,forceWidth:i,onCancel:d,onSelect:f,onLogsChanged:p,onLoadMore:h,initialSearchQuery:g,showAllProjects:_=!1,onToggleAllProjects:v,onAgenticSearch:y}){let ie=ne(),b=i===void 0?ie.columns:i,x=De(d),se=u(),S=me(),[ce]=a(),le=Ne(ce),C=J.useMemo(()=>e=>te(e,le.warning),[le.warning]),[w,de]=J.useState(null),[D,fe]=J.useState(!1),[O,he]=J.useState(!1),[k,_e]=J.useState(!1),A=J.useMemo(()=>oe(),[]),[ve,j]=J.useState(``),[ye,be]=J.useState(0),[xe,Se]=J.useState(new Set),[N,we]=J.useState(null),[Te,Ee]=J.useState(1),[P,F]=J.useState(`list`),[ke,je]=J.useState(null),Pe=J.useRef(null),[Fe,Le]=J.useState(0),[I,L]=J.useState({status:`idle`}),[R,z]=J.useState(!1),ze=J.useRef(null),{query:B,setQuery:Be,cursorOffset:V}=Ie({isActive:P===`search`&&I.status!==`searching`,onExit:()=>{F(`list`)},onExitUp:()=>{F(`list`)},passthroughCtrlKeys:[`n`],initialQuery:g||``}),H=J.useDeferredValue(B),[U,W]=J.useState(``);J.useEffect(()=>{if(!H){W(``);return}let e=setTimeout(W,300,H);return()=>clearTimeout(e)},[H]);let[G,He]=J.useState(null),[Ue,We]=J.useState(!1);J.useEffect(()=>{re().then(e=>de(e)),ge(A).then(e=>{_e(e.length>1)})},[A]);let Ge=J.useMemo(()=>new Map(e.map(e=>[e,it(e)])),[e]),Ke=J.useMemo(()=>null,[e,Ge,!1]),K=J.useMemo(()=>ot(e),[e]),qe=K.length>0,q=J.useMemo(()=>qe?[`All`,...K]:[],[qe,K]),Ye=q.length>0&&Fe<q.length?Fe:0,Xe=q[Ye],nt=Xe===`All`?void 0:Xe,rt=+!!qe,st=J.useMemo(()=>{let t=e;return S&&(t=e.filter(e=>{let t=ae(),n=T(e);return!!(t&&n===t||e.customTitle||pe(e.messages)||e.firstPrompt||e.customTitle)})),nt!==void 0&&(t=t.filter(e=>e.tag===nt)),D&&w&&(t=t.filter(e=>e.gitBranch===w)),k&&!O&&(t=t.filter(e=>e.projectPath===A)),t},[e,S,nt,D,w,k,O,A]),ct=J.useMemo(()=>{if(!B)return st;let e=B.toLowerCase();return st.filter(t=>{let n=M(t).toLowerCase(),r=(t.gitBranch||``).toLowerCase(),i=(t.tag||``).toLowerCase(),a=t.prNumber?`pr #${t.prNumber} ${t.prRepository||``}`.toLowerCase():``;return n.includes(e)||r.includes(e)||i.includes(e)||a.includes(e)})},[st,B]);J.useEffect(()=>{},[H,U,!1]),J.useEffect(()=>{He(null),We(!1)},[U,Ke,!1]);let{filteredLogs:lt,snippets:X}=J.useMemo(()=>{let e=new Map,t=ct;if(G&&U&&G.query===U){for(let t of G.results)if(t.searchableText){let n=$e(t.searchableText,U,ut);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=G.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ct,G,U]),Z=J.useMemo(()=>I.status===`results`&&I.results.length>0?I.results:lt,[I,lt]),Q=Math.max(30,b-4),dt=J.useMemo(()=>{if(!S)return[];let e=at(Z);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Z.indexOf(n),i=X.get(n),a=i?Qe(i,C):null;if(t.length===1){let t=tt(n,{showProjectPath:_});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:et(n,Q),description:a?`${t}\n ${a}`:t,dimDescription:!0}}let o=t.length-1,s=t.slice(1).map((t,n)=>{let r=Z.indexOf(t),i=X.get(t),a=i?Qe(i,C):null,o=tt(t,{isChild:!0,showProjectPath:_});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:et(t,Q,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=tt(n,{showProjectPath:_});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:et(n,Q,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[S,Z,Q,_,X,C]),ft=J.useMemo(()=>S?[]:Z.map((e,t)=>{let n=Ze(M(e)+(e.isSidechain?` (sidechain)`:``),Q),r=Ce(e),i=_&&e.projectPath?` · ${e.projectPath}`:``,a=X.get(e),o=a?Qe(a,C):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[S,Z,C,Q,_,X]),$=N?.value.log??null,pt=()=>{if(!S||!$)return``;let e=T($);if(!e)return``;let t=Z.filter(t=>T(t)===e);if(!(t.length>1))return``;let n=xe.has(e);return t.indexOf($)>0||n?`← to collapse`:`→ to expand`},mt=J.useCallback(async()=>{let e=$?T($):void 0;if(!$||!e){F(`list`),j(``);return}ve.trim()&&(await ue(e,ve.trim(),$.fullPath),S&&p&&p()),F(`list`),j(``)},[$,ve,p,S]),ht=J.useCallback(()=>{F(`list`)},[]),gt=J.useCallback(()=>{F(`search`)},[]),_t=J.useCallback(async()=>{if(!B.trim()||!y||!0)return;ze.current?.abort();let t=new AbortController;ze.current=t,L({status:`searching`}),B.length;try{let n=await y(B,e,t.signal);if(t.signal.aborted)return;L({status:`results`,results:n,query:B}),B.length,n.length}catch(e){if(t.signal.aborted)return;L({status:`error`,message:e instanceof Error?e.message:`Search failed`}),B.length}},[B,y,!1,e]);J.useEffect(()=>{I.status!==`idle`&&I.status!==`searching`&&(I.status===`results`&&I.query!==B||I.status===`error`)&&L({status:`idle`})},[B,I]),J.useEffect(()=>()=>{ze.current?.abort()},[]);let vt=J.useRef(I.status);J.useEffect(()=>{let e=vt.current;if(vt.current=I.status,e===`searching`&&I.status===`results`){if(S&&dt.length>0)we(dt[0]);else if(!S&&Z.length>0){let e=Z[0];we({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[I.status,S,dt,Z]);let yt=J.useCallback(e=>{let t=parseInt(e,10),n=Z[t];!n||Pe.current===t.toString()||(Pe.current=t.toString(),we({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Ee(t+1))},[Z]),bt=J.useCallback(e=>{we(e);let t=Z.findIndex(t=>T(t)===T(e.value.log));t>=0&&Ee(t+1)},[Z]);l(`confirm:no`,()=>{ze.current?.abort(),L({status:`idle`})},{context:`Confirmation`,isActive:P!==`preview`&&I.status===`searching`}),l(`confirm:no`,()=>{F(`list`),j(``)},{context:`Settings`,isActive:P===`rename`&&I.status!==`searching`}),l(`confirm:no`,()=>{Be(``),z(!1),d?.()},{context:`Confirmation`,isActive:P!==`preview`&&P!==`rename`&&P!==`search`&&R&&I.status!==`searching`}),m((e,t)=>{if(P!==`preview`&&I.status!==`searching`&&P!==`rename`)if(P===`search`)e.toLowerCase()===`n`&&t.ctrl?ht():(t.return||t.downArrow)&&B.trim();else{if(R){if(t.return){_t(),z(!1);return}else if(t.downArrow){z(!1);return}else if(t.upArrow){F(`search`),z(!1);return}}if(qe&&t.tab){let e=t.shift?-1:1;Le(t=>{let n=((t<q.length?t:0)+q.length+e)%q.length;return q[n],K.length,n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();r===`a`&&t.ctrl&&v?v():r===`b`&&t.ctrl?fe(!D):r===`w`&&t.ctrl&&k?he(!O):r===`/`&&n?F(`search`):r===`r`&&t.ctrl&&$?(F(`rename`),j(``)):r===`v`&&t.ctrl&&$?(je($),F(`preview`),$.messageCount):$&&n&&e.length>0&&!/^\s+$/.test(e)&&(F(`search`),Be(e))}},{isActive:!0});let xt=[];D&&w&&xt.push(w),k&&!O&&xt.push(`current worktree`);let St=8+ +(xt.length>0&&P!==`search`)+rt,Ct=Math.max(1,Math.floor((t-St-2)/3));return J.useEffect(()=>{if(!h)return;let e=Ct*2;Te+e>=Z.length&&h(Ct*3)},[Te,Ct,Z.length,h]),e.length===0?null:P===`preview`&&ke&&S?(0,Y.jsx)(Re,{log:ke,onExit:()=>{F(`list`),je(null)},onSelect:f}):(0,Y.jsxs)(o,{flexDirection:`column`,height:t-1,children:[(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(n,{color:`suggestion`})}),(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(s,{children:` `})}),qe?(0,Y.jsx)(Ve,{tabs:q,selectedIndex:Ye,availableWidth:b,showAllProjects:_}):(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsxs)(s,{bold:!0,color:`suggestion`,children:[`Resume Session`,P===`list`&&Z.length>Ct&&(0,Y.jsxs)(s,{dimColor:!0,children:[` `,`(`,Te,` of `,Z.length,`)`]})]})}),(0,Y.jsx)(ee,{query:B,isFocused:P===`search`,isTerminalFocused:se,cursorOffset:V}),xt.length>0&&P!==`search`&&(0,Y.jsx)(o,{flexShrink:0,paddingLeft:2,children:(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsx)(c,{children:xt})})}),(0,Y.jsx)(o,{flexShrink:0,children:(0,Y.jsx)(s,{children:` `})}),I.status===`searching`&&(0,Y.jsxs)(o,{paddingLeft:1,flexShrink:0,children:[(0,Y.jsx)(Me,{}),(0,Y.jsx)(s,{children:` Searching…`})]}),I.status===`results`&&I.results.length>0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`Work Mate found these results:`})}),I.status===`results`&&I.results.length===0&&lt.length===0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),I.status===`error`&&lt.length===0&&(0,Y.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,Y.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!B.trim()&&y&&!1,I.status===`searching`?null:P===`rename`&&$?(0,Y.jsxs)(o,{paddingLeft:2,flexDirection:`column`,children:[(0,Y.jsx)(s,{bold:!0,children:`Rename session:`}),(0,Y.jsx)(o,{paddingTop:1,children:(0,Y.jsx)(Oe,{value:ve,onChange:j,onSubmit:mt,placeholder:M($,`Enter new session name`),columns:b,cursorOffset:ye,onChangeCursorOffset:be,showCursor:!0})})]}):S?(0,Y.jsx)(Je,{nodes:dt,onSelect:e=>{f(e.value.log)},onFocus:bt,onCancel:d,focusNodeId:N?.id,visibleOptionCount:Ct,layout:`expanded`,isDisabled:P===`search`||R,hideIndexes:!1,isNodeExpanded:e=>{if(P===`search`||D)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?xe.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Se(e=>new Set(e).add(t))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Se(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:gt}):(0,Y.jsx)(Ae,{options:ft,onChange:e=>{let t=Z[parseInt(e,10)];t&&f(t)},visibleOptionCount:Ct,onCancel:d,onFocus:yt,defaultFocusValue:N?.id.toString(),layout:`expanded`,isDisabled:P===`search`||R,onUpFromFirstItem:gt}),(0,Y.jsx)(o,{paddingLeft:2,children:x.pending?(0,Y.jsxs)(s,{dimColor:!0,children:[`Press `,x.keyName,` again to exit`]}):P===`rename`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(r,{shortcut:`Enter`,action:`save`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):I.status===`searching`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(s,{children:`Searching with Work Mate…`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):R?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(r,{shortcut:`Enter`,action:`search`}),(0,Y.jsx)(r,{shortcut:`↓`,action:`skip`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):P===`search`?(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[(0,Y.jsx)(s,{children:`Type to Search`}),(0,Y.jsx)(r,{shortcut:`Enter`,action:`select`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,Y.jsx)(s,{dimColor:!0,children:(0,Y.jsxs)(c,{children:[v&&(0,Y.jsx)(r,{shortcut:`Ctrl+A`,action:`show ${_?`current dir`:`all projects`}`}),w&&(0,Y.jsx)(r,{shortcut:`Ctrl+B`,action:`toggle branch`}),k&&(0,Y.jsx)(r,{shortcut:`Ctrl+W`,action:`show ${O?`current worktree`:`all worktrees`}`}),(0,Y.jsx)(r,{shortcut:`Ctrl+V`,action:`preview`}),(0,Y.jsx)(r,{shortcut:`Ctrl+R`,action:`rename`}),(0,Y.jsx)(s,{children:`Type to search`}),(0,Y.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),pt()&&(0,Y.jsx)(s,{children:pt()})]})})})]})}function rt(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function it(e){let t=(e.messages.length<=lt?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-1e3)]).map(rt).filter(Boolean).join(` `),n=`${[e.customTitle,e.summary,e.firstPrompt,e.gitBranch,e.tag,e.prNumber?`PR #${e.prNumber}`:void 0,e.prRepository].filter(Boolean).join(` `)} ${t}`.trim();return n.length>Z?n.slice(0,Z):n}function at(e){let t=new Map;for(let n of e){let e=T(n);if(e){let r=t.get(e);r?r.push(n):t.set(e,[n])}}return t.forEach(e=>e.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime())),t}function ot(e){let t=new Set;for(let n of e)n.tag&&t.add(n.tag);return Array.from(t).sort((e,t)=>e.localeCompare(t))}var J,Y,st,ct,lt,X,Z,ut,Q=e((()=>{p(),J=t(d(),1),b(),P(),Le(),D(),g(),fe(),xe(),N(),le(),ie(),ye(),w(),Pe(),de(),ke(),Fe(),ze(),je(),qe(),F(),Xe(),Y=_(),st=2,ct=4,lt=2e3,X=1e3,Z=5e4,ut=50}));function dt(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function ft(e){if(e.length===0)return``;let t=(e.length<=ht?e:[...e.slice(0,ht/2),...e.slice(-100/2)]).map(dt).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>mt?`${t.slice(0,mt)}…`:t}function $(e,t){return!!(M(e).toLowerCase().includes(t)||e.customTitle?.toLowerCase().includes(t)||e.tag?.toLowerCase().includes(t)||e.gitBranch?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.firstPrompt?.toLowerCase().includes(t)||e.messages&&e.messages.length>0&&ft(e.messages).toLowerCase().includes(t))}async function pt(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>$(e,r)),a;if(i.length>=gt)a=i.slice(0,gt);else{let e=t.filter(e=>!$(e,r)),n=gt-i.length;a=[...i,...e.slice(0,n)]}A(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${y(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(C(e))try{return await se(e)}catch(t){return be(t),e}return e}),s=await Promise.all(o);A(`Agentic search: loaded ${y(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
2
2
  ${s.map((e,t)=>{let n=[`${t}:`],r=M(e);if(n.push(r),e.customTitle&&e.customTitle!==r&&n.push(`[custom title: ${e.customTitle}]`),e.tag&&n.push(`[tag: ${e.tag}]`),e.gitBranch&&n.push(`[branch: ${e.gitBranch}]`),e.summary&&n.push(`- Summary: ${e.summary}`),e.firstPrompt&&e.firstPrompt!==`No prompt`&&n.push(`- First message: ${e.firstPrompt.slice(0,300)}`),e.messages&&e.messages.length>0){let t=ft(e.messages);t&&n.push(`- Transcript: ${t}`)}return n.join(` `)}).join(`
3
3
  `)}
4
4
 
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-CTUIAcEE.js`);return(0,n.jsx)(r,{messages:t.messages,onDone:e})}}))();export{r as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-CXZxnb7Y.js`);return(0,n.jsx)(r,{messages:t.messages,onDone:e})}}))();export{r as call};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{n,t as r}from"./Doctor-COj-tZBc.js";var i,a;e((()=>{n(),i=t(),a=(e,t,n)=>Promise.resolve((0,i.jsx)(r,{onDone:e}))}))();export{a as call};
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{Gi as n,Ni as r,Or as i,Vi as a,Wi as o,Yi as s,Zi as c,ca as l,d as u,ea as d,ia as f,m as p,oa as m,sa as h,ta as g,ua as _,vr as v,wr as y}from"./settings-D4M13toi.js";import{$n as b,Hn as x,Pt as S,Qn as ee,Tn as C,ot as te,q as ne}from"./state-CXY-q5gr.js";import{B as re,Dc as ie,Di as ae,Ds as oe,Ec as se,Gv as ce,Mi as le,Os as ue,V as de,Vv as fe,Xl as pe,Yl as me,gr as he,i as ge,nr as w,o as _e}from"./loadAgentsDir-uuZYOgKn.js";import{d as ve,n as ye}from"./config-BDn2YIjC.js";import{f as be,s as xe}from"./model-CcHyMyBv.js";import{_n as Se,vn as Ce}from"./prompt-BfXryFt-.js";import{t as T}from"./conversationRecovery-NL05oJb1.js";import{t as we}from"./QueryEngine-BBBkZWu2.js";import{n as Te,r as Ee}from"./modelOptions-CJV1R3Jt.js";import{n as De,r as Oe}from"./managedEnv-B8YWmM4A.js";import{dirname as ke}from"node:path";import{randomUUID as E}from"node:crypto";import{Readable as Ae,Writable as je}from"node:stream";import{unlink as Me}from"node:fs/promises";import*as D from"node:path/posix";import{isAbsolute as Ne,resolve as Pe}from"node:path/posix";r();var O={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},k={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Fe=g({_meta:f(m(),l()).nullish(),terminal:n().optional().default(!1)}),Ie=g({_meta:f(m(),l()).nullish(),label:m().nullish(),name:m(),optional:n().optional().default(!1),secret:n().optional().default(!0)}),Le=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),name:m()}),Re=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),link:m().nullish(),name:m(),vars:o(Ie)}),ze=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),description:m().nullish(),env:f(m(),m()).optional(),id:m(),name:m()}),Be=h([Re.and(g({type:c(`env_var`)})),ze.and(g({type:c(`terminal`)})),Le]),Ve=g({_meta:f(m(),l()).nullish(),methodId:m()}),He=g({_meta:f(m(),l()).nullish()}),Ue=g({_meta:f(m(),l()).nullish(),blob:m(),mimeType:m().nullish(),uri:m()}),We=g({default:n().nullish(),description:m().nullish(),title:m().nullish()}),Ge=g({_meta:f(m(),l()).nullish()}),Ke=g({_meta:f(m(),l()).nullish()}),qe=g({amount:d(),currency:m()}),Je=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Ye=g({_meta:f(m(),l()).nullish(),newText:m(),oldText:m().nullish(),path:m()}),Xe=h([m(),d(),d(),n(),o(m())]),Ze=s(h([g({content:f(m(),Xe).nullish()}).and(g({action:c(`accept`)})),g({action:c(`decline`)}),g({action:c(`cancel`)})]),g({_meta:f(m(),l()).nullish()})),Qe=g({_meta:f(m(),l()).nullish()}),$e=m(),et=g({_meta:f(m(),l()).nullish(),elicitationId:$e}),tt=c(`object`),nt=c(`string`),rt=g({_meta:f(m(),l()).nullish()}),it=g({_meta:f(m(),l()).nullish(),form:Qe.nullish(),url:rt.nullish()}),at=g({const:m(),title:m()}),ot=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),st=g({code:h([c(-32700),c(-32600),c(-32601),c(-32602),c(-32603),c(-32800),c(-32e3),c(-32002),c(-32042),d().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:l().optional(),message:m()}),ct=l(),lt=l(),ut=l(),dt=g({_meta:f(m(),l()).nullish(),readTextFile:n().optional().default(!1),writeTextFile:n().optional().default(!1)}),ft=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),pt=g({_meta:f(m(),l()).nullish(),name:m(),title:m().nullish(),version:m()}),mt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),ht=g({_meta:f(m(),l()).nullish()}),gt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cursor:m().nullish(),cwd:m().nullish()}),_t=g({_meta:f(m(),l()).nullish()}),vt=g({_meta:f(m(),l()).nullish(),logout:_t.nullish()}),yt=g({_meta:f(m(),l()).nullish()}),bt=g({_meta:f(m(),l()).nullish()}),xt=g({_meta:f(m(),l()).nullish(),http:n().optional().default(!1),sse:n().optional().default(!1)}),St=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),Ct=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),wt=g({_meta:f(m(),l()).nullish(),args:o(m()),command:m(),env:o(ot),name:m()}),A=h([St.and(g({type:c(`http`)})),Ct.and(g({type:c(`sse`)})),wt]),j=m(),Tt=g({_meta:f(m(),l()).nullish(),description:m().nullish(),modelId:j,name:m()}),Et=h([c(`error`),c(`warning`),c(`information`),c(`hint`)]),Dt=g({_meta:f(m(),l()).nullish()}),Ot=g({_meta:f(m(),l()).nullish()}),kt=g({_meta:f(m(),l()).nullish()}),At=g({_meta:f(m(),l()).nullish()}),jt=g({_meta:f(m(),l()).nullish()}),Mt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Nt=g({diff:m(),uri:m()}),Pt=g({endLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:m()}),Ft=g({_meta:f(m(),l()).nullish()}),It=g({_meta:f(m(),l()).nullish()}),Lt=g({languageId:m(),text:m(),uri:m()}),Rt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),zt=h([c(`rejected`),c(`ignored`),c(`replaced`),c(`cancelled`)]),Bt=g({excerpts:o(Pt),uri:m()}),Vt=g({_meta:f(m(),l()).nullish()}),Ht=g({_meta:f(m(),l()).nullish()}),Ut=g({name:m(),owner:m(),remoteUrl:m()}),Wt=g({_meta:f(m(),l()).nullish()}),Gt=g({_meta:f(m(),l()).nullish(),jump:Ft.nullish(),rename:Ht.nullish(),searchAndReplace:Wt.nullish()}),Kt=g({id:m(),isRegex:n().nullish(),replace:m(),search:m(),uri:m()}),qt=h([c(`automatic`),c(`diagnostic`),c(`manual`)]),Jt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Yt=g({_meta:f(m(),l()).nullish(),diagnostics:Dt.nullish(),editHistory:Mt.nullish(),openFiles:It.nullish(),recentFiles:Rt.nullish(),relatedSnippets:Vt.nullish(),userActions:Jt.nullish()}),Xt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A)}),Zt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),Qt=m(),$t=h([c(`allow_once`),c(`allow_always`),c(`reject_once`),c(`reject_always`)]),en=g({_meta:f(m(),l()).nullish(),kind:$t,name:m(),optionId:Qt}),tn=h([c(`high`),c(`medium`),c(`low`)]),nn=h([c(`pending`),c(`in_progress`),c(`completed`)]),rn=g({_meta:f(m(),l()).nullish(),content:m(),priority:tn,status:nn}),an=g({_meta:f(m(),l()).nullish(),entries:o(rn)}),M=g({character:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),on=g({id:m(),position:M,uri:m()}),sn=g({id:m(),newName:m(),position:M,uri:m()}),cn=g({action:m(),position:M,timestampMs:d(),uri:m()}),ln=h([c(`utf-16`),c(`utf-32`),c(`utf-8`)]),un=g({_meta:f(m(),l()).nullish(),auth:Fe.optional().default({terminal:!1}),elicitation:it.nullish(),fs:dt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Gt.nullish(),positionEncodings:o(ln).optional(),terminal:n().optional().default(!1)}),dn=g({_meta:f(m(),l()).nullish(),audio:n().optional().default(!1),embeddedContext:n().optional().default(!1),image:n().optional().default(!1)}),fn=d().int().gte(0).lte(65535),pn=g({_meta:f(m(),l()).nullish(),clientCapabilities:un.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:pt.nullish(),protocolVersion:fn}),N=g({end:M,start:M}),mn=g({message:m(),range:N,severity:Et,uri:m()}),hn=g({languageId:m(),lastFocusedMs:d().nullish(),uri:m(),visibleRange:N.nullish()}),gn=g({_meta:f(m(),l()).nullish(),diagnostics:o(mn).nullish(),editHistory:o(Nt).nullish(),openFiles:o(hn).nullish(),recentFiles:o(Lt).nullish(),relatedSnippets:o(Bt).nullish(),userActions:o(cn).nullish()}),_n=g({newText:m(),range:N}),vn=h([g({cursorPosition:M.nullish(),edits:o(_n),id:m(),uri:m()}).and(g({kind:c(`edit`)})),on.and(g({kind:c(`jump`)})),sn.and(g({kind:c(`rename`)})),Kt.and(g({kind:c(`searchAndReplace`)}))]),yn=g({_meta:f(m(),l()).nullish(),content:m()}),bn=g({_meta:f(m(),l()).nullish()}),P=h([d(),m()]).nullable();g({_meta:f(m(),l()).nullish(),requestId:P});var xn=g({requestId:P}),Sn=a([`assistant`,`user`]),F=g({_meta:f(m(),l()).nullish(),audience:o(Sn).nullish(),lastModified:m().nullish(),priority:d().nullish()}),Cn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m()}),wn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m(),uri:m().nullish()}),Tn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),description:m().nullish(),mimeType:m().nullish(),name:m(),size:d().nullish(),title:m().nullish(),uri:m()}),En=g({_meta:f(m(),l()).nullish(),optionId:Qt}),Dn=h([g({outcome:c(`cancelled`)}),En.and(g({outcome:c(`selected`)}))]),On=g({_meta:f(m(),l()).nullish(),outcome:Dn}),kn=g({_meta:f(m(),l()).nullish()}),An=g({_meta:f(m(),l()).nullish()}),jn=g({currentValue:n()}),Mn=m(),Nn=m(),Pn=h([c(`mode`),c(`model`),c(`thought_level`),m()]),I=m(),Fn=g({_meta:f(m(),l()).nullish(),description:m().nullish(),name:m(),value:I}),In=g({_meta:f(m(),l()).nullish(),group:Mn,name:m(),options:o(Fn)}),L=s(h([g({currentValue:I,options:h([o(Fn),o(In)])}).and(g({type:c(`select`)})),jn.and(g({type:c(`boolean`)}))]),g({_meta:f(m(),l()).nullish(),category:Pn.nullish(),description:m().nullish(),id:Nn,name:m()})),Ln=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),Rn=g({_meta:f(m(),l()).nullish()}),R=m(),zn=g({_meta:f(m(),l()).nullish(),id:m(),sessionId:R}),Bn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Vn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Hn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Un=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),command:m(),cwd:m().nullish(),env:o(ot).optional(),outputByteLimit:d().nullish(),sessionId:R}),Wn=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),Gn=g({_meta:f(m(),l()).nullish(),position:M,sessionId:R,uri:m(),version:d(),visibleRange:N}),Kn=g({_meta:f(m(),l()).nullish(),languageId:m(),sessionId:R,text:m(),uri:m(),version:d()}),z=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),qn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),Jn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Yn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A),sessionId:R}),Xn=g({_meta:f(m(),l()).nullish(),limit:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m(),sessionId:R}),Zn=g({_meta:f(m(),l()).nullish(),id:m(),reason:zt.nullish(),sessionId:R}),Qn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),$n=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),er=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),sessionId:R,title:m().nullish(),updatedAt:m().nullish()}),tr=g({_meta:f(m(),l()).nullish(),nextCursor:m().nullish(),sessions:o(er)}),nr=g({_meta:f(m(),l()).nullish(),title:m().nullish(),updatedAt:m().nullish()}),rr=g({_meta:f(m(),l()).nullish()}),B=m(),ir=g({_meta:f(m(),l()).nullish(),currentModeId:B}),ar=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:B,name:m()}),V=g({_meta:f(m(),l()).nullish(),availableModes:o(ar),currentModeId:B}),H=g({_meta:f(m(),l()).nullish(),availableModels:o(Tt),currentModelId:j}),or=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),sr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),cr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),lr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),ur=g({_meta:f(m(),l()).nullish()}),dr=g({_meta:f(m(),l()).nullish(),additionalDirectories:kn.nullish(),close:An.nullish(),fork:Rn.nullish(),list:rr.nullish(),resume:ur.nullish()}),fr=s(h([g({type:c(`boolean`),value:n()}),g({value:I})]),g({_meta:f(m(),l()).nullish(),configId:Nn,sessionId:R})),pr=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),mr=g({_meta:f(m(),l()).nullish(),modeId:B,sessionId:R}),hr=g({_meta:f(m(),l()).nullish()}),gr=g({_meta:f(m(),l()).nullish(),modelId:j,sessionId:R}),_r=g({_meta:f(m(),l()).nullish()}),vr=g({_meta:f(m(),l()).nullish(),sessionId:R}),yr=h([c(`end_turn`),c(`max_tokens`),c(`max_turn_requests`),c(`refusal`),c(`cancelled`)]),br=h([c(`email`),c(`uri`),c(`date`),c(`date-time`)]),xr=g({default:m().nullish(),description:m().nullish(),enum:o(m()).nullish(),format:br.nullish(),maxLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:o(at).nullish(),pattern:m().nullish(),title:m().nullish()}),Sr=g({_meta:f(m(),l()).nullish(),context:gn.nullish(),position:M,selection:N.nullish(),sessionId:R,triggerKind:qt,uri:m(),version:d()}),Cr=g({_meta:f(m(),l()).nullish(),suggestions:o(vn)}),wr=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Tr=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),Er=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Dr=g({_meta:f(m(),l()).nullish(),exitStatus:Tr.nullish(),output:m(),truncated:n()}),Or=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),text:m()}),kr=g({range:N.nullish(),text:m()}),Ar=g({_meta:f(m(),l()).nullish(),contentChanges:o(kr),sessionId:R,uri:m(),version:d()});g({method:m(),params:h([Bn,Kn,Ar,Wn,z,Gn,zn,Zn,ct]).nullish()});var jr=h([c(`full`),c(`incremental`)]),Mr=g({_meta:f(m(),l()).nullish(),syncKind:jr}),Nr=g({_meta:f(m(),l()).nullish(),didChange:Mr.nullish(),didClose:Ot.nullish(),didFocus:kt.nullish(),didOpen:At.nullish(),didSave:jt.nullish()}),Pr=g({_meta:f(m(),l()).nullish(),document:Nr.nullish()}),Fr=g({_meta:f(m(),l()).nullish(),context:Yt.nullish(),events:Pr.nullish()}),Ir=g({_meta:f(m(),l()).nullish(),auth:vt.optional().default({}),loadSession:n().optional().default(!1),mcpCapabilities:xt.optional().default({http:!1,sse:!1}),nes:Fr.nullish(),positionEncoding:ln.nullish(),promptCapabilities:dn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:dr.optional().default({})}),Lr=g({_meta:f(m(),l()).nullish(),agentCapabilities:Ir.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:pt.nullish(),authMethods:o(Be).optional().default([]),protocolVersion:fn}),Rr=h([g({_meta:f(m(),l()).nullish(),mimeType:m().nullish(),text:m(),uri:m()}),Ue]),zr=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),resource:Rr}),U=h([Or.and(g({type:c(`text`)})),wn.and(g({type:c(`image`)})),Cn.and(g({type:c(`audio`)})),Tn.and(g({type:c(`resource_link`)})),zr.and(g({type:c(`resource`)}))]),Br=g({_meta:f(m(),l()).nullish(),content:U}),W=g({_meta:f(m(),l()).nullish(),content:U,messageId:m().nullish()}),Vr=g({_meta:f(m(),l()).nullish(),messageId:m().nullish(),prompt:o(U),sessionId:R}),Hr=g({anyOf:o(at)}),Ur=h([Br.and(g({type:c(`content`)})),Ye.and(g({type:c(`diff`)})),wr.and(g({type:c(`terminal`)}))]),G=m(),Wr=g({sessionId:R,toolCallId:G.nullish()}),Gr=s(h([Wr,xn]),g({elicitationId:$e,url:m().url()})),Kr=g({_meta:f(m(),l()).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m()}),qr=h([c(`pending`),c(`in_progress`),c(`completed`),c(`failed`)]),Jr=h([c(`read`),c(`edit`),c(`delete`),c(`move`),c(`search`),c(`execute`),c(`think`),c(`fetch`),c(`switch_mode`),c(`other`)]),Yr=g({_meta:f(m(),l()).nullish(),content:o(Ur).optional(),kind:Jr.optional(),locations:o(Kr).optional(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.optional(),title:m(),toolCallId:G}),Xr=g({_meta:f(m(),l()).nullish(),content:o(Ur).nullish(),kind:Jr.nullish(),locations:o(Kr).nullish(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.nullish(),title:m().nullish(),toolCallId:G}),Zr=g({_meta:f(m(),l()).nullish(),options:o(en),sessionId:R,toolCall:Xr}),Qr=g({_meta:f(m(),l()).nullish(),hint:m()}),$r=g({_meta:f(m(),l()).nullish(),description:m(),input:Qr.nullish(),name:m()}),ei=g({_meta:f(m(),l()).nullish(),availableCommands:o($r)}),ti=h([g({enum:o(m()),type:nt}),Hr]),ni=g({default:o(m()).nullish(),description:m().nullish(),items:ti,maxItems:d().nullish(),minItems:d().nullish(),title:m().nullish()}),ri=h([xr.and(g({type:c(`string`)})),Zt.and(g({type:c(`number`)})),mt.and(g({type:c(`integer`)})),We.and(g({type:c(`boolean`)})),ni.and(g({type:c(`array`)}))]),ii=g({description:m().nullish(),properties:f(m(),ri).optional().default({}),required:o(m()).nullish(),title:m().nullish(),type:tt.optional().default(`object`)}),ai=s(h([s(h([Wr,xn]),g({requestedSchema:ii})).and(g({mode:c(`form`)})),Gr.and(g({mode:c(`url`)}))]),g({_meta:f(m(),l()).nullish(),message:m()})),oi=g({cachedReadTokens:d().nullish(),cachedWriteTokens:d().nullish(),inputTokens:d(),outputTokens:d(),thoughtTokens:d().nullish(),totalTokens:d()});h([g({id:P,result:h([Lr,He,bt,cr,sr,tr,or,lr,Ke,hr,pr,g({_meta:f(m(),l()).nullish(),stopReason:yr,usage:oi.nullish(),userMessageId:m().nullish()}),_r,vr,Cr,Ge,ut])}),g({error:st,id:P})]);var si=g({_meta:f(m(),l()).nullish(),cost:qe.nullish(),size:d(),used:d()}),ci=h([W.and(g({sessionUpdate:c(`user_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_thought_chunk`)})),Yr.and(g({sessionUpdate:c(`tool_call`)})),Xr.and(g({sessionUpdate:c(`tool_call_update`)})),an.and(g({sessionUpdate:c(`plan`)})),ei.and(g({sessionUpdate:c(`available_commands_update`)})),ir.and(g({sessionUpdate:c(`current_mode_update`)})),Ln.and(g({sessionUpdate:c(`config_option_update`)})),nr.and(g({sessionUpdate:c(`session_info_update`)})),si.and(g({sessionUpdate:c(`usage_update`)}))]),li=g({_meta:f(m(),l()).nullish(),sessionId:R,update:ci});g({method:m(),params:h([li,et,ct]).nullish()});var ui=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),di=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),fi=g({name:m(),uri:m()}),pi=g({_meta:f(m(),l()).nullish(),repository:Ut.nullish(),workspaceFolders:o(fi).nullish(),workspaceUri:m().nullish()});g({id:P,method:m(),params:h([pn,Ve,yt,Xt,Yn,gt,qn,$n,Hn,mr,fr,Vr,gr,pi,Sr,Vn,lt]).nullish()});var mi=g({_meta:f(m(),l()).nullish(),content:m(),path:m(),sessionId:R});g({id:P,method:m(),params:h([mi,Xn,Zr,Un,Er,Qn,ui,Jn,ai,lt]).nullish()}),h([g({id:P,result:h([g({_meta:f(m(),l()).nullish()}),yn,On,Je,Dr,bn,di,ht,Ze,ut])}),g({error:st,id:P})]),e();function hi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
1
+ import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{Gi as n,Ni as r,Or as i,Vi as a,Wi as o,Yi as s,Zi as c,ca as l,d as u,ea as d,ia as f,m as p,oa as m,sa as h,ta as g,ua as _,vr as v,wr as y}from"./settings-D4M13toi.js";import{$n as b,Hn as x,Pt as S,Qn as ee,Tn as C,ot as te,q as ne}from"./state-CXY-q5gr.js";import{B as re,Dc as ie,Di as ae,Ds as oe,Ec as se,Gv as ce,Mi as le,Os as ue,V as de,Vv as fe,Xl as pe,Yl as me,gr as he,i as ge,nr as w,o as _e}from"./loadAgentsDir-bmpKLPdG.js";import{d as ve,n as ye}from"./config-Bio2EjUK.js";import{f as be,s as xe}from"./model-Dd3x121y.js";import{_n as Se,vn as Ce}from"./prompt-BnDapYGL.js";import{t as T}from"./conversationRecovery-_hWC7JBO.js";import{t as we}from"./QueryEngine-DAwfp_ht.js";import{n as Te,r as Ee}from"./modelOptions-BQL4gbNk.js";import{n as De,r as Oe}from"./managedEnv-EZ2IirNa.js";import{dirname as ke}from"node:path";import{randomUUID as E}from"node:crypto";import{Readable as Ae,Writable as je}from"node:stream";import{unlink as Me}from"node:fs/promises";import*as D from"node:path/posix";import{isAbsolute as Ne,resolve as Pe}from"node:path/posix";r();var O={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},k={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Fe=g({_meta:f(m(),l()).nullish(),terminal:n().optional().default(!1)}),Ie=g({_meta:f(m(),l()).nullish(),label:m().nullish(),name:m(),optional:n().optional().default(!1),secret:n().optional().default(!0)}),Le=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),name:m()}),Re=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),link:m().nullish(),name:m(),vars:o(Ie)}),ze=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),description:m().nullish(),env:f(m(),m()).optional(),id:m(),name:m()}),Be=h([Re.and(g({type:c(`env_var`)})),ze.and(g({type:c(`terminal`)})),Le]),Ve=g({_meta:f(m(),l()).nullish(),methodId:m()}),He=g({_meta:f(m(),l()).nullish()}),Ue=g({_meta:f(m(),l()).nullish(),blob:m(),mimeType:m().nullish(),uri:m()}),We=g({default:n().nullish(),description:m().nullish(),title:m().nullish()}),Ge=g({_meta:f(m(),l()).nullish()}),Ke=g({_meta:f(m(),l()).nullish()}),qe=g({amount:d(),currency:m()}),Je=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Ye=g({_meta:f(m(),l()).nullish(),newText:m(),oldText:m().nullish(),path:m()}),Xe=h([m(),d(),d(),n(),o(m())]),Ze=s(h([g({content:f(m(),Xe).nullish()}).and(g({action:c(`accept`)})),g({action:c(`decline`)}),g({action:c(`cancel`)})]),g({_meta:f(m(),l()).nullish()})),Qe=g({_meta:f(m(),l()).nullish()}),$e=m(),et=g({_meta:f(m(),l()).nullish(),elicitationId:$e}),tt=c(`object`),nt=c(`string`),rt=g({_meta:f(m(),l()).nullish()}),it=g({_meta:f(m(),l()).nullish(),form:Qe.nullish(),url:rt.nullish()}),at=g({const:m(),title:m()}),ot=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),st=g({code:h([c(-32700),c(-32600),c(-32601),c(-32602),c(-32603),c(-32800),c(-32e3),c(-32002),c(-32042),d().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:l().optional(),message:m()}),ct=l(),lt=l(),ut=l(),dt=g({_meta:f(m(),l()).nullish(),readTextFile:n().optional().default(!1),writeTextFile:n().optional().default(!1)}),ft=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),pt=g({_meta:f(m(),l()).nullish(),name:m(),title:m().nullish(),version:m()}),mt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),ht=g({_meta:f(m(),l()).nullish()}),gt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cursor:m().nullish(),cwd:m().nullish()}),_t=g({_meta:f(m(),l()).nullish()}),vt=g({_meta:f(m(),l()).nullish(),logout:_t.nullish()}),yt=g({_meta:f(m(),l()).nullish()}),bt=g({_meta:f(m(),l()).nullish()}),xt=g({_meta:f(m(),l()).nullish(),http:n().optional().default(!1),sse:n().optional().default(!1)}),St=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),Ct=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),wt=g({_meta:f(m(),l()).nullish(),args:o(m()),command:m(),env:o(ot),name:m()}),A=h([St.and(g({type:c(`http`)})),Ct.and(g({type:c(`sse`)})),wt]),j=m(),Tt=g({_meta:f(m(),l()).nullish(),description:m().nullish(),modelId:j,name:m()}),Et=h([c(`error`),c(`warning`),c(`information`),c(`hint`)]),Dt=g({_meta:f(m(),l()).nullish()}),Ot=g({_meta:f(m(),l()).nullish()}),kt=g({_meta:f(m(),l()).nullish()}),At=g({_meta:f(m(),l()).nullish()}),jt=g({_meta:f(m(),l()).nullish()}),Mt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Nt=g({diff:m(),uri:m()}),Pt=g({endLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:m()}),Ft=g({_meta:f(m(),l()).nullish()}),It=g({_meta:f(m(),l()).nullish()}),Lt=g({languageId:m(),text:m(),uri:m()}),Rt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),zt=h([c(`rejected`),c(`ignored`),c(`replaced`),c(`cancelled`)]),Bt=g({excerpts:o(Pt),uri:m()}),Vt=g({_meta:f(m(),l()).nullish()}),Ht=g({_meta:f(m(),l()).nullish()}),Ut=g({name:m(),owner:m(),remoteUrl:m()}),Wt=g({_meta:f(m(),l()).nullish()}),Gt=g({_meta:f(m(),l()).nullish(),jump:Ft.nullish(),rename:Ht.nullish(),searchAndReplace:Wt.nullish()}),Kt=g({id:m(),isRegex:n().nullish(),replace:m(),search:m(),uri:m()}),qt=h([c(`automatic`),c(`diagnostic`),c(`manual`)]),Jt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Yt=g({_meta:f(m(),l()).nullish(),diagnostics:Dt.nullish(),editHistory:Mt.nullish(),openFiles:It.nullish(),recentFiles:Rt.nullish(),relatedSnippets:Vt.nullish(),userActions:Jt.nullish()}),Xt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A)}),Zt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),Qt=m(),$t=h([c(`allow_once`),c(`allow_always`),c(`reject_once`),c(`reject_always`)]),en=g({_meta:f(m(),l()).nullish(),kind:$t,name:m(),optionId:Qt}),tn=h([c(`high`),c(`medium`),c(`low`)]),nn=h([c(`pending`),c(`in_progress`),c(`completed`)]),rn=g({_meta:f(m(),l()).nullish(),content:m(),priority:tn,status:nn}),an=g({_meta:f(m(),l()).nullish(),entries:o(rn)}),M=g({character:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),on=g({id:m(),position:M,uri:m()}),sn=g({id:m(),newName:m(),position:M,uri:m()}),cn=g({action:m(),position:M,timestampMs:d(),uri:m()}),ln=h([c(`utf-16`),c(`utf-32`),c(`utf-8`)]),un=g({_meta:f(m(),l()).nullish(),auth:Fe.optional().default({terminal:!1}),elicitation:it.nullish(),fs:dt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Gt.nullish(),positionEncodings:o(ln).optional(),terminal:n().optional().default(!1)}),dn=g({_meta:f(m(),l()).nullish(),audio:n().optional().default(!1),embeddedContext:n().optional().default(!1),image:n().optional().default(!1)}),fn=d().int().gte(0).lte(65535),pn=g({_meta:f(m(),l()).nullish(),clientCapabilities:un.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:pt.nullish(),protocolVersion:fn}),N=g({end:M,start:M}),mn=g({message:m(),range:N,severity:Et,uri:m()}),hn=g({languageId:m(),lastFocusedMs:d().nullish(),uri:m(),visibleRange:N.nullish()}),gn=g({_meta:f(m(),l()).nullish(),diagnostics:o(mn).nullish(),editHistory:o(Nt).nullish(),openFiles:o(hn).nullish(),recentFiles:o(Lt).nullish(),relatedSnippets:o(Bt).nullish(),userActions:o(cn).nullish()}),_n=g({newText:m(),range:N}),vn=h([g({cursorPosition:M.nullish(),edits:o(_n),id:m(),uri:m()}).and(g({kind:c(`edit`)})),on.and(g({kind:c(`jump`)})),sn.and(g({kind:c(`rename`)})),Kt.and(g({kind:c(`searchAndReplace`)}))]),yn=g({_meta:f(m(),l()).nullish(),content:m()}),bn=g({_meta:f(m(),l()).nullish()}),P=h([d(),m()]).nullable();g({_meta:f(m(),l()).nullish(),requestId:P});var xn=g({requestId:P}),Sn=a([`assistant`,`user`]),F=g({_meta:f(m(),l()).nullish(),audience:o(Sn).nullish(),lastModified:m().nullish(),priority:d().nullish()}),Cn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m()}),wn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m(),uri:m().nullish()}),Tn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),description:m().nullish(),mimeType:m().nullish(),name:m(),size:d().nullish(),title:m().nullish(),uri:m()}),En=g({_meta:f(m(),l()).nullish(),optionId:Qt}),Dn=h([g({outcome:c(`cancelled`)}),En.and(g({outcome:c(`selected`)}))]),On=g({_meta:f(m(),l()).nullish(),outcome:Dn}),kn=g({_meta:f(m(),l()).nullish()}),An=g({_meta:f(m(),l()).nullish()}),jn=g({currentValue:n()}),Mn=m(),Nn=m(),Pn=h([c(`mode`),c(`model`),c(`thought_level`),m()]),I=m(),Fn=g({_meta:f(m(),l()).nullish(),description:m().nullish(),name:m(),value:I}),In=g({_meta:f(m(),l()).nullish(),group:Mn,name:m(),options:o(Fn)}),L=s(h([g({currentValue:I,options:h([o(Fn),o(In)])}).and(g({type:c(`select`)})),jn.and(g({type:c(`boolean`)}))]),g({_meta:f(m(),l()).nullish(),category:Pn.nullish(),description:m().nullish(),id:Nn,name:m()})),Ln=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),Rn=g({_meta:f(m(),l()).nullish()}),R=m(),zn=g({_meta:f(m(),l()).nullish(),id:m(),sessionId:R}),Bn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Vn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Hn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Un=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),command:m(),cwd:m().nullish(),env:o(ot).optional(),outputByteLimit:d().nullish(),sessionId:R}),Wn=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),Gn=g({_meta:f(m(),l()).nullish(),position:M,sessionId:R,uri:m(),version:d(),visibleRange:N}),Kn=g({_meta:f(m(),l()).nullish(),languageId:m(),sessionId:R,text:m(),uri:m(),version:d()}),z=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),qn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),Jn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Yn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A),sessionId:R}),Xn=g({_meta:f(m(),l()).nullish(),limit:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m(),sessionId:R}),Zn=g({_meta:f(m(),l()).nullish(),id:m(),reason:zt.nullish(),sessionId:R}),Qn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),$n=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),er=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),sessionId:R,title:m().nullish(),updatedAt:m().nullish()}),tr=g({_meta:f(m(),l()).nullish(),nextCursor:m().nullish(),sessions:o(er)}),nr=g({_meta:f(m(),l()).nullish(),title:m().nullish(),updatedAt:m().nullish()}),rr=g({_meta:f(m(),l()).nullish()}),B=m(),ir=g({_meta:f(m(),l()).nullish(),currentModeId:B}),ar=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:B,name:m()}),V=g({_meta:f(m(),l()).nullish(),availableModes:o(ar),currentModeId:B}),H=g({_meta:f(m(),l()).nullish(),availableModels:o(Tt),currentModelId:j}),or=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),sr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),cr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),lr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),ur=g({_meta:f(m(),l()).nullish()}),dr=g({_meta:f(m(),l()).nullish(),additionalDirectories:kn.nullish(),close:An.nullish(),fork:Rn.nullish(),list:rr.nullish(),resume:ur.nullish()}),fr=s(h([g({type:c(`boolean`),value:n()}),g({value:I})]),g({_meta:f(m(),l()).nullish(),configId:Nn,sessionId:R})),pr=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),mr=g({_meta:f(m(),l()).nullish(),modeId:B,sessionId:R}),hr=g({_meta:f(m(),l()).nullish()}),gr=g({_meta:f(m(),l()).nullish(),modelId:j,sessionId:R}),_r=g({_meta:f(m(),l()).nullish()}),vr=g({_meta:f(m(),l()).nullish(),sessionId:R}),yr=h([c(`end_turn`),c(`max_tokens`),c(`max_turn_requests`),c(`refusal`),c(`cancelled`)]),br=h([c(`email`),c(`uri`),c(`date`),c(`date-time`)]),xr=g({default:m().nullish(),description:m().nullish(),enum:o(m()).nullish(),format:br.nullish(),maxLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:o(at).nullish(),pattern:m().nullish(),title:m().nullish()}),Sr=g({_meta:f(m(),l()).nullish(),context:gn.nullish(),position:M,selection:N.nullish(),sessionId:R,triggerKind:qt,uri:m(),version:d()}),Cr=g({_meta:f(m(),l()).nullish(),suggestions:o(vn)}),wr=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Tr=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),Er=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Dr=g({_meta:f(m(),l()).nullish(),exitStatus:Tr.nullish(),output:m(),truncated:n()}),Or=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),text:m()}),kr=g({range:N.nullish(),text:m()}),Ar=g({_meta:f(m(),l()).nullish(),contentChanges:o(kr),sessionId:R,uri:m(),version:d()});g({method:m(),params:h([Bn,Kn,Ar,Wn,z,Gn,zn,Zn,ct]).nullish()});var jr=h([c(`full`),c(`incremental`)]),Mr=g({_meta:f(m(),l()).nullish(),syncKind:jr}),Nr=g({_meta:f(m(),l()).nullish(),didChange:Mr.nullish(),didClose:Ot.nullish(),didFocus:kt.nullish(),didOpen:At.nullish(),didSave:jt.nullish()}),Pr=g({_meta:f(m(),l()).nullish(),document:Nr.nullish()}),Fr=g({_meta:f(m(),l()).nullish(),context:Yt.nullish(),events:Pr.nullish()}),Ir=g({_meta:f(m(),l()).nullish(),auth:vt.optional().default({}),loadSession:n().optional().default(!1),mcpCapabilities:xt.optional().default({http:!1,sse:!1}),nes:Fr.nullish(),positionEncoding:ln.nullish(),promptCapabilities:dn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:dr.optional().default({})}),Lr=g({_meta:f(m(),l()).nullish(),agentCapabilities:Ir.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:pt.nullish(),authMethods:o(Be).optional().default([]),protocolVersion:fn}),Rr=h([g({_meta:f(m(),l()).nullish(),mimeType:m().nullish(),text:m(),uri:m()}),Ue]),zr=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),resource:Rr}),U=h([Or.and(g({type:c(`text`)})),wn.and(g({type:c(`image`)})),Cn.and(g({type:c(`audio`)})),Tn.and(g({type:c(`resource_link`)})),zr.and(g({type:c(`resource`)}))]),Br=g({_meta:f(m(),l()).nullish(),content:U}),W=g({_meta:f(m(),l()).nullish(),content:U,messageId:m().nullish()}),Vr=g({_meta:f(m(),l()).nullish(),messageId:m().nullish(),prompt:o(U),sessionId:R}),Hr=g({anyOf:o(at)}),Ur=h([Br.and(g({type:c(`content`)})),Ye.and(g({type:c(`diff`)})),wr.and(g({type:c(`terminal`)}))]),G=m(),Wr=g({sessionId:R,toolCallId:G.nullish()}),Gr=s(h([Wr,xn]),g({elicitationId:$e,url:m().url()})),Kr=g({_meta:f(m(),l()).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m()}),qr=h([c(`pending`),c(`in_progress`),c(`completed`),c(`failed`)]),Jr=h([c(`read`),c(`edit`),c(`delete`),c(`move`),c(`search`),c(`execute`),c(`think`),c(`fetch`),c(`switch_mode`),c(`other`)]),Yr=g({_meta:f(m(),l()).nullish(),content:o(Ur).optional(),kind:Jr.optional(),locations:o(Kr).optional(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.optional(),title:m(),toolCallId:G}),Xr=g({_meta:f(m(),l()).nullish(),content:o(Ur).nullish(),kind:Jr.nullish(),locations:o(Kr).nullish(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.nullish(),title:m().nullish(),toolCallId:G}),Zr=g({_meta:f(m(),l()).nullish(),options:o(en),sessionId:R,toolCall:Xr}),Qr=g({_meta:f(m(),l()).nullish(),hint:m()}),$r=g({_meta:f(m(),l()).nullish(),description:m(),input:Qr.nullish(),name:m()}),ei=g({_meta:f(m(),l()).nullish(),availableCommands:o($r)}),ti=h([g({enum:o(m()),type:nt}),Hr]),ni=g({default:o(m()).nullish(),description:m().nullish(),items:ti,maxItems:d().nullish(),minItems:d().nullish(),title:m().nullish()}),ri=h([xr.and(g({type:c(`string`)})),Zt.and(g({type:c(`number`)})),mt.and(g({type:c(`integer`)})),We.and(g({type:c(`boolean`)})),ni.and(g({type:c(`array`)}))]),ii=g({description:m().nullish(),properties:f(m(),ri).optional().default({}),required:o(m()).nullish(),title:m().nullish(),type:tt.optional().default(`object`)}),ai=s(h([s(h([Wr,xn]),g({requestedSchema:ii})).and(g({mode:c(`form`)})),Gr.and(g({mode:c(`url`)}))]),g({_meta:f(m(),l()).nullish(),message:m()})),oi=g({cachedReadTokens:d().nullish(),cachedWriteTokens:d().nullish(),inputTokens:d(),outputTokens:d(),thoughtTokens:d().nullish(),totalTokens:d()});h([g({id:P,result:h([Lr,He,bt,cr,sr,tr,or,lr,Ke,hr,pr,g({_meta:f(m(),l()).nullish(),stopReason:yr,usage:oi.nullish(),userMessageId:m().nullish()}),_r,vr,Cr,Ge,ut])}),g({error:st,id:P})]);var si=g({_meta:f(m(),l()).nullish(),cost:qe.nullish(),size:d(),used:d()}),ci=h([W.and(g({sessionUpdate:c(`user_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_thought_chunk`)})),Yr.and(g({sessionUpdate:c(`tool_call`)})),Xr.and(g({sessionUpdate:c(`tool_call_update`)})),an.and(g({sessionUpdate:c(`plan`)})),ei.and(g({sessionUpdate:c(`available_commands_update`)})),ir.and(g({sessionUpdate:c(`current_mode_update`)})),Ln.and(g({sessionUpdate:c(`config_option_update`)})),nr.and(g({sessionUpdate:c(`session_info_update`)})),si.and(g({sessionUpdate:c(`usage_update`)}))]),li=g({_meta:f(m(),l()).nullish(),sessionId:R,update:ci});g({method:m(),params:h([li,et,ct]).nullish()});var ui=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),di=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),fi=g({name:m(),uri:m()}),pi=g({_meta:f(m(),l()).nullish(),repository:Ut.nullish(),workspaceFolders:o(fi).nullish(),workspaceUri:m().nullish()});g({id:P,method:m(),params:h([pn,Ve,yt,Xt,Yn,gt,qn,$n,Hn,mr,fr,Vr,gr,pi,Sr,Vn,lt]).nullish()});var mi=g({_meta:f(m(),l()).nullish(),content:m(),path:m(),sessionId:R});g({id:P,method:m(),params:h([mi,Xn,Zr,Un,Er,Qn,ui,Jn,ai,lt]).nullish()}),h([g({id:P,result:h([g({_meta:f(m(),l()).nullish()}),yn,On,Je,Dr,bn,di,ht,Ze,ut])}),g({error:st,id:P})]),e();function hi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
2
2
  `);n=o.pop()||``;for(let t of o){let n=t.trim();if(n)try{let t=JSON.parse(n);e.enqueue(t)}catch(e){console.error(`Failed to parse JSON message:`,n,e)}}}let t=n.trim();if(t)try{let n=JSON.parse(t);e.enqueue(n)}catch(e){console.error(`Failed to parse JSON message:`,t,e)}}catch(t){e.error(t);return}finally{i.releaseLock()}e.close()}}),writable:new WritableStream({async write(t){let r=JSON.stringify(t)+`
3
3
  `,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}r();var gi,_i=class{constructor(e,n){t(this,`connection`,void 0);let r=e(this),i=async(e,t)=>{switch(e){case O.initialize:{let e=pn.parse(t);return r.initialize(e)}case O.session_new:{let e=Xt.parse(t);return r.newSession(e)}case O.session_load:{if(!r.loadSession)throw K.methodNotFound(e);let n=Yn.parse(t);return r.loadSession(n)}case O.session_list:{if(!r.listSessions)throw K.methodNotFound(e);let n=gt.parse(t);return r.listSessions(n)}case O.session_fork:{if(!r.unstable_forkSession)throw K.methodNotFound(e);let n=qn.parse(t);return r.unstable_forkSession(n)}case O.session_resume:{if(!r.unstable_resumeSession)throw K.methodNotFound(e);let n=$n.parse(t);return r.unstable_resumeSession(n)}case O.session_close:{if(!r.unstable_closeSession)throw K.methodNotFound(e);let n=Hn.parse(t);return r.unstable_closeSession(n)}case O.session_set_mode:{if(!r.setSessionMode)throw K.methodNotFound(e);let n=mr.parse(t);return await r.setSessionMode(n)??{}}case O.authenticate:{let e=Ve.parse(t);return await r.authenticate(e)??{}}case O.logout:{if(!r.unstable_logout)throw K.methodNotFound(e);let n=yt.parse(t);return await r.unstable_logout(n)??{}}case O.session_prompt:{let e=Vr.parse(t);return r.prompt(e)}case O.session_set_model:{if(!r.unstable_setSessionModel)throw K.methodNotFound(e);let n=gr.parse(t);return await r.unstable_setSessionModel(n)??{}}case O.session_set_config_option:{if(!r.setSessionConfigOption)throw K.methodNotFound(e);let n=fr.parse(t);return r.setSessionConfigOption(n)}case O.nes_start:{if(!r.unstable_startNes)throw K.methodNotFound(e);let n=pi.parse(t);return r.unstable_startNes(n)}case O.nes_suggest:{if(!r.unstable_suggestNes)throw K.methodNotFound(e);let n=Sr.parse(t);return r.unstable_suggestNes(n)}case O.nes_close:{if(!r.unstable_closeNes)throw K.methodNotFound(e);let n=Vn.parse(t);return await r.unstable_closeNes(n)??{}}default:if(r.extMethod)return r.extMethod(e,t);throw K.methodNotFound(e)}},a=async(e,t)=>{switch(e){case O.session_cancel:{let e=Bn.parse(t);return r.cancel(e)}case O.document_did_open:{if(!r.unstable_didOpenDocument)return;let e=Kn.parse(t);return r.unstable_didOpenDocument(e)}case O.document_did_change:{if(!r.unstable_didChangeDocument)return;let e=Ar.parse(t);return r.unstable_didChangeDocument(e)}case O.document_did_close:{if(!r.unstable_didCloseDocument)return;let e=Wn.parse(t);return r.unstable_didCloseDocument(e)}case O.document_did_save:{if(!r.unstable_didSaveDocument)return;let e=z.parse(t);return r.unstable_didSaveDocument(e)}case O.document_did_focus:{if(!r.unstable_didFocusDocument)return;let e=Gn.parse(t);return r.unstable_didFocusDocument(e)}case O.nes_accept:{if(!r.unstable_acceptNes)return;let e=zn.parse(t);return r.unstable_acceptNes(e)}case O.nes_reject:{if(!r.unstable_rejectNes)return;let e=Zn.parse(t);return r.unstable_rejectNes(e)}default:if(r.extNotification)return r.extNotification(e,t);throw K.methodNotFound(e)}};this.connection=new yi(i,a,n)}async sessionUpdate(e){return await this.connection.sendNotification(k.session_update,e)}async requestPermission(e){return await this.connection.sendRequest(k.session_request_permission,e)}async readTextFile(e){return await this.connection.sendRequest(k.fs_read_text_file,e)}async writeTextFile(e){return await this.connection.sendRequest(k.fs_write_text_file,e)??{}}async createTerminal(e){return new vi((await this.connection.sendRequest(k.terminal_create,e)).terminalId,e.sessionId,this.connection)}async unstable_createElicitation(e){return await this.connection.sendRequest(k.elicitation_create,e)}async unstable_completeElicitation(e){return await this.connection.sendNotification(k.elicitation_complete,e)}async extMethod(e,t){return await this.connection.sendRequest(e,t)}async extNotification(e,t){return await this.connection.sendNotification(e,t)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}};gi=Symbol.asyncDispose;var vi=class{constructor(e,n,r){t(this,`id`,void 0),t(this,`sessionId`,void 0),t(this,`connection`,void 0),this.id=e,this.sessionId=n,this.connection=r}async currentOutput(){return await this.connection.sendRequest(k.terminal_output,{sessionId:this.sessionId,terminalId:this.id})}async waitForExit(){return await this.connection.sendRequest(k.terminal_wait_for_exit,{sessionId:this.sessionId,terminalId:this.id})}async kill(){return await this.connection.sendRequest(k.terminal_kill,{sessionId:this.sessionId,terminalId:this.id})??{}}async release(){return await this.connection.sendRequest(k.terminal_release,{sessionId:this.sessionId,terminalId:this.id})??{}}async[gi](){await this.release()}},yi=class{constructor(e,n,r){t(this,`pendingResponses`,new Map),t(this,`nextRequestId`,0),t(this,`requestHandler`,void 0),t(this,`notificationHandler`,void 0),t(this,`stream`,void 0),t(this,`writeQueue`,Promise.resolve()),t(this,`abortController`,new AbortController),t(this,`closedPromise`,void 0),this.requestHandler=e,this.notificationHandler=n,this.stream=r,this.closedPromise=new Promise(e=>{this.abortController.signal.addEventListener(`abort`,()=>e())}),this.receive()}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}async receive(){let e;try{let e=this.stream.readable.getReader();try{for(;!this.abortController.signal.aborted;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.processMessage(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.sendMessage({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{this.close(e)}}close(e){if(this.abortController.signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of this.pendingResponses.values())e.reject(t);this.pendingResponses.clear(),this.abortController.abort(t)}async processMessage(e){if(`method`in e&&`id`in e){let t=await this.tryCallRequestHandler(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.sendMessage({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.tryCallNotificationHandler(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else`id`in e?this.handleResponse(e):console.error(`Invalid message`,{message:e})}async tryCallRequestHandler(e,t){try{return{result:await this.requestHandler(e,t)??null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}handleResponse(e){let t=this.pendingResponses.get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new K(n,r,i))}this.pendingResponses.delete(e.id)}else console.error(`Got response to unknown request`,e.id)}sendRequest(e,t){this.throwIfClosed();let n=this.nextRequestId++,r=new Promise((e,t)=>{this.pendingResponses.set(n,{resolve:e,reject:t})});return r.catch(()=>{}),this.sendMessage({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){this.throwIfClosed(),await this.sendMessage({jsonrpc:`2.0`,method:e,params:t})}throwIfClosed(){if(this.abortController.signal.aborted)throw this.abortController.signal.reason??Error(`ACP connection closed`)}async sendMessage(e){return this.writeQueue=this.writeQueue.then(async()=>{let t=this.stream.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{this.close(e)}),this.writeQueue}},K=class e extends Error{constructor(e,n,r){super(n),t(this,`code`,void 0),t(this,`data`,void 0),this.code=e,this.name=`RequestError`,this.data=r}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};ee(),S(),p(),Ce(),ve(),ce(),ie(),ue(),le(),de(),_e(),Oe();function q(e,t){if(e)return t?Ne(e)?e:Pe(t,e):e}var bi=!(typeof process.geteuid==`function`?process.geteuid()===0:typeof process.getuid==`function`&&process.getuid()===0)||!!process.env.IS_SANDBOX,xi={auto:`auto`,default:`default`,acceptedits:`acceptEdits`,dontask:`dontAsk`,plan:`plan`,bypasspermissions:`bypassPermissions`,bypass:`bypassPermissions`};function Si(e,t=`permissions.defaultMode`){if(e===void 0)return`default`;if(typeof e!=`string`)throw Error(`Invalid ${t}: expected a string.`);let n=e.trim().toLowerCase();if(n===``)throw Error(`Invalid ${t}: expected a non-empty string.`);let r=xi[n];if(!r)throw Error(`Invalid ${t}: ${e}.`);if(r===`bypassPermissions`&&!bi)throw Error(`Invalid ${t}: bypassPermissions is not available when running as root.`);return r}function Ci(e){let t=[...e.mcpServers??[]].sort((e,t)=>e.name.localeCompare(t.name));return JSON.stringify({cwd:e.cwd,mcpServers:t})}var wi=256;function Ti(e){let t=e.replace(/[\r\n]+/g,` `).replace(/\s+/g,` `).trim();return t.length<=wi?t:`${t.slice(0,wi-1)}…`}function J(e,t){if(!t)return e;let n=D.resolve(t),r=D.resolve(e);return r.startsWith(n+D.sep)||r===n?D.relative(n,r):e}function Ei(e){let t="```";for(let n of e.matchAll(/^```+/gm)??[])for(;n[0].length>=t.length;)t+="`";return`${t}\n${e}${e.endsWith(`
4
4
  `)?``:`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{St as n,Xs as r,Zs as i,gi as a,mC as o,mi as s,pC as c,yt as l}from"./loadAgentsDir-uuZYOgKn.js";import{n as u,t as d}from"./ExitFlow-CATwJC4c.js";import{spawnSync as f}from"child_process";function p(){return o(g)??`Goodbye!`}async function m(e){if(i())return e(),f(`tmux`,[`detach-client`],{stdio:`ignore`}),null;let t=l()!==null;return t?(0,h.jsx)(d,{showWorktree:t,onDone:e,onCancel:()=>e()}):(e(p()),await s(0,`prompt_input_exit`),null)}var h,g;e((()=>{c(),u(),r(),a(),n(),h=t(),g=[`Goodbye!`,`See ya!`,`Bye!`,`Catch you later!`]}))();export{m as call};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{St as n,Xs as r,Zs as i,gi as a,mC as o,mi as s,pC as c,yt as l}from"./loadAgentsDir-bmpKLPdG.js";import{n as u,t as d}from"./ExitFlow-CcMYH5iI.js";import{spawnSync as f}from"child_process";function p(){return o(g)??`Goodbye!`}async function m(e){if(i())return e(),f(`tmux`,[`detach-client`],{stdio:`ignore`}),null;let t=l()!==null;return t?(0,h.jsx)(d,{showWorktree:t,onDone:e,onCancel:()=>e()}):(e(p()),await s(0,`prompt_input_exit`),null)}var h,g;e((()=>{c(),u(),r(),a(),n(),h=t(),g=[`Goodbye!`,`See ya!`,`Bye!`,`Catch you later!`]}))();export{m as call};
@@ -1 +1 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{D as n,Gt as r,I as i,P as a,T as o,ai as s,t as c,x as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{AC as d,Bh as f,CC as p,MC as m,NC as h,hd as g,jC as _,md as v,tb as y,zh as b}from"./loadAgentsDir-uuZYOgKn.js";import{at as x,f as S,g as C,it as w}from"./model-CcHyMyBv.js";import{n as T,t as E}from"./useExitOnCtrlCDWithKeybindings-ClN4NJnB.js";import{t as D}from"./select-BuTJbu_Q.js";import{n as O,r as k,t as A}from"./modelOptions-CJV1R3Jt.js";import{t as j}from"./CustomSelect-CYmc4vRh.js";import{n as M,t as N}from"./fetchModelList-9w1E4Ue8.js";function P({initial:e,sessionModel:t,onSelect:s,onCancel:c,isStandaloneCommand:u,showFastModeNotice:d,headerText:g}){let y=T(),b=e===null?L:e,[x,S]=(0,F.useState)(b),E=f(e=>h()?e.fastMode:!1),[k,j]=(0,F.useState)(()=>new Set(w(b)?[b.replace(/\[1m\]/i,``)]:[])),M=(0,F.useCallback)(()=>{if(!x||x===L)return;let e=x.replace(/\[1m\]/i,``);j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[x]),P=(0,F.useMemo)(()=>O(E??!1),[E]),[R,z]=(0,F.useState)(null),[B,V]=(0,F.useState)(!1);(0,F.useEffect)(()=>{let e=!1;return V(!1),N().then(t=>{if(!e){if(!t||t.length===0){z(null),V(!0);return}z(t)}}).catch(()=>{e||V(!0)}),()=>{e=!0}},[]);let H=(0,F.useMemo)(()=>R?A(R,E??!1):null,[R,E]),U=R===null&&!B,W=(0,F.useMemo)(()=>{let t=H??P;return e!==null&&!t.some(t=>t.value===e)?[...t,{value:e,label:C(e),description:`Current model`}]:t},[H,P,e]),G=(0,F.useMemo)(()=>W.map(e=>({...e,value:e.value===null?L:e.value})),[W]),K=(0,F.useMemo)(()=>G.some(e=>e.value===b)?b:G[0]?.value??void 0,[G,b]),q=Math.min(10,G.length),J=Math.max(0,G.length-q),Y=G.find(e=>e.value===x)?.label,X=x!==void 0&&x!==L&&k.has(x.replace(/\[1m\]/i,``)),Z=(0,F.useCallback)(e=>{S(e)},[]);r({"modelPicker:toggle1M":()=>M()},{context:`ModelPicker`});function Q(e){if(e===L){s(null);return}let t=e.replace(/\[1m\]/i,``);s(k.has(t)?`${t}[1m]`:t)}let $=(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{marginBottom:1,flexDirection:`column`,children:[(0,I.jsx)(a,{color:`remember`,bold:!0,children:`Select model`}),(0,I.jsx)(a,{dimColor:!0,children:g??`Choose a model for this and future sessions. Use Space to toggle 1M context.`}),t&&(0,I.jsxs)(a,{dimColor:!0,children:[`Currently using `,C(t),` for this session (set by plan mode). Selecting a model will undo this.`]})]}),(0,I.jsxs)(i,{flexDirection:`column`,marginBottom:1,children:[(0,I.jsx)(i,{flexDirection:`column`,children:(0,I.jsx)(D,{defaultValue:b,defaultFocusValue:K,options:G,onChange:Q,onFocus:Z,onCancel:c??(()=>{}),visibleOptionCount:q})}),J>0&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsxs)(a,{dimColor:!0,children:[`and `,J,` more…`]})}),U&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`正在从 API 拉取可用模型列表…`})}),B&&R===null&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`API 拉取失败,使用内置列表`})})]}),(0,I.jsx)(i,{marginBottom:1,flexDirection:`column`,children:X?(0,I.jsxs)(a,{dimColor:!0,children:[`1M context on`,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]}):(0,I.jsxs)(a,{color:`subtle`,children:[`1M context off`,Y?` for ${Y}`:``,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]})}),h()?d?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Fast mode is `,(0,I.jsx)(a,{bold:!0,children:`ON`}),` and available with `,p,` only (/fast). Switching to other models turn off fast mode.`]})}):_()&&!m()?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Use `,(0,I.jsx)(a,{bold:!0,children:`/fast`}),` to turn on Fast mode (`,p,` only).`]})}):null:null]}),u&&(0,I.jsx)(a,{dimColor:!0,italic:!0,children:y.pending?(0,I.jsxs)(I.Fragment,{children:[`Press `,y.keyName,` again to exit`]}):(0,I.jsxs)(o,{children:[(0,I.jsx)(n,{shortcut:`Enter`,action:`confirm`}),(0,I.jsx)(v,{action:`select:cancel`,context:`Select`,fallback:`Esc`,description:`exit`})]})})]});return u?(0,I.jsx)(l,{color:`permission`,children:$}):$}var F,I,L,R=e((()=>{F=t(s(),1),x(),E(),d(),c(),y(),b(),S(),k(),M(),g(),j(),I=u(),L=`__NO_PREFERENCE__`}));function z(e,t,n){return!1}var B=e((()=>{}));export{R as i,z as n,P as r,B as t};
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{D as n,Gt as r,I as i,P as a,T as o,ai as s,t as c,x as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{AC as d,Bh as f,CC as p,MC as m,NC as h,hd as g,jC as _,md as v,tb as y,zh as b}from"./loadAgentsDir-bmpKLPdG.js";import{at as x,f as S,g as C,it as w}from"./model-Dd3x121y.js";import{n as T,t as E}from"./useExitOnCtrlCDWithKeybindings-BT0nexZw.js";import{t as D}from"./select-CaxQ-BVq.js";import{n as O,r as k,t as A}from"./modelOptions-BQL4gbNk.js";import{t as j}from"./CustomSelect-t4wXuXWH.js";import{n as M,t as N}from"./fetchModelList-Cv1vWIpC.js";function P({initial:e,sessionModel:t,onSelect:s,onCancel:c,isStandaloneCommand:u,showFastModeNotice:d,headerText:g}){let y=T(),b=e===null?L:e,[x,S]=(0,F.useState)(b),E=f(e=>h()?e.fastMode:!1),[k,j]=(0,F.useState)(()=>new Set(w(b)?[b.replace(/\[1m\]/i,``)]:[])),M=(0,F.useCallback)(()=>{if(!x||x===L)return;let e=x.replace(/\[1m\]/i,``);j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[x]),P=(0,F.useMemo)(()=>O(E??!1),[E]),[R,z]=(0,F.useState)(null),[B,V]=(0,F.useState)(!1);(0,F.useEffect)(()=>{let e=!1;return V(!1),N().then(t=>{if(!e){if(!t||t.length===0){z(null),V(!0);return}z(t)}}).catch(()=>{e||V(!0)}),()=>{e=!0}},[]);let H=(0,F.useMemo)(()=>R?A(R,E??!1):null,[R,E]),U=R===null&&!B,W=(0,F.useMemo)(()=>{let t=H??P;return e!==null&&!t.some(t=>t.value===e)?[...t,{value:e,label:C(e),description:`Current model`}]:t},[H,P,e]),G=(0,F.useMemo)(()=>W.map(e=>({...e,value:e.value===null?L:e.value})),[W]),K=(0,F.useMemo)(()=>G.some(e=>e.value===b)?b:G[0]?.value??void 0,[G,b]),q=Math.min(10,G.length),J=Math.max(0,G.length-q),Y=G.find(e=>e.value===x)?.label,X=x!==void 0&&x!==L&&k.has(x.replace(/\[1m\]/i,``)),Z=(0,F.useCallback)(e=>{S(e)},[]);r({"modelPicker:toggle1M":()=>M()},{context:`ModelPicker`});function Q(e){if(e===L){s(null);return}let t=e.replace(/\[1m\]/i,``);s(k.has(t)?`${t}[1m]`:t)}let $=(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{marginBottom:1,flexDirection:`column`,children:[(0,I.jsx)(a,{color:`remember`,bold:!0,children:`Select model`}),(0,I.jsx)(a,{dimColor:!0,children:g??`Choose a model for this and future sessions. Use Space to toggle 1M context.`}),t&&(0,I.jsxs)(a,{dimColor:!0,children:[`Currently using `,C(t),` for this session (set by plan mode). Selecting a model will undo this.`]})]}),(0,I.jsxs)(i,{flexDirection:`column`,marginBottom:1,children:[(0,I.jsx)(i,{flexDirection:`column`,children:(0,I.jsx)(D,{defaultValue:b,defaultFocusValue:K,options:G,onChange:Q,onFocus:Z,onCancel:c??(()=>{}),visibleOptionCount:q})}),J>0&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsxs)(a,{dimColor:!0,children:[`and `,J,` more…`]})}),U&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`正在从 API 拉取可用模型列表…`})}),B&&R===null&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`API 拉取失败,使用内置列表`})})]}),(0,I.jsx)(i,{marginBottom:1,flexDirection:`column`,children:X?(0,I.jsxs)(a,{dimColor:!0,children:[`1M context on`,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]}):(0,I.jsxs)(a,{color:`subtle`,children:[`1M context off`,Y?` for ${Y}`:``,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]})}),h()?d?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Fast mode is `,(0,I.jsx)(a,{bold:!0,children:`ON`}),` and available with `,p,` only (/fast). Switching to other models turn off fast mode.`]})}):_()&&!m()?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Use `,(0,I.jsx)(a,{bold:!0,children:`/fast`}),` to turn on Fast mode (`,p,` only).`]})}):null:null]}),u&&(0,I.jsx)(a,{dimColor:!0,italic:!0,children:y.pending?(0,I.jsxs)(I.Fragment,{children:[`Press `,y.keyName,` again to exit`]}):(0,I.jsxs)(o,{children:[(0,I.jsx)(n,{shortcut:`Enter`,action:`confirm`}),(0,I.jsx)(v,{action:`select:cancel`,context:`Select`,fallback:`Esc`,description:`exit`})]})})]});return u?(0,I.jsx)(l,{color:`permission`,children:$}):$}var F,I,L,R=e((()=>{F=t(s(),1),x(),E(),d(),c(),y(),b(),S(),k(),M(),g(),j(),I=u(),L=`__NO_PREFERENCE__`}));function z(e,t,n){return!1}var B=e((()=>{}));export{R as i,z as n,P as r,B as t};
@@ -0,0 +1 @@
1
+ import{cc as e,dc as t,lc as n,uc as r}from"./loadAgentsDir-bmpKLPdG.js";t();export{e as drainPendingExtraction,n as executeExtractMemories,r as initExtractMemories};
@@ -0,0 +1 @@
1
+ import{n as e,r as t,t as n}from"./fast-D7oNjaZ3.js";t();export{n as FastModePicker,e as call};
@@ -1 +1 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,I as r,Lt as i,P as a,ai as o,di as s,fi as c,j as l,t as u,y as d}from"./src-BX54x08P.js";import{t as f}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as p,m,y as h}from"./settings-D4M13toi.js";import{AC as g,Bh as _,CC as v,EC as y,Hh as b,NC as x,OC as S,PC as C,TC as w,_y as T,gy as E,tb as D,vy as O,wC as k,zC as A,zh as j}from"./loadAgentsDir-uuZYOgKn.js";import{d as M,o as N}from"./config-BDn2YIjC.js";import{n as P}from"./analytics-COpjZpvd.js";import{_ as F,l as I}from"./startupProfiler-B9Qv2QGH.js";import{n as L,t as R}from"./systemTheme-Ceakddth.js";function z({cooldown:e}){return e?(0,V.jsx)(a,{color:`promptBorder`,dimColor:!0,children:`↯`}):(0,V.jsx)(a,{color:`fastMode`,children:`↯`})}function B(e=!0,t=!1){if(!e)return`↯`;let n=L(N().theme);return t?s.dim(l(`promptBorder`,n)(`↯`)):l(`fastMode`,n)(`↯`)}var V,H=e((()=>{c(),p(),u(),M(),R(),V=f()}));function U(e,t){k(),h(`userSettings`,{fastMode:e?!0:void 0}),t(e?e=>{let t=!C(e.mainLoopModel);return{...e,...t?{mainLoopModel:w(),mainLoopModelForSession:null}:{},fastMode:!0}}:e=>({...e,fastMode:!1}))}function W({onDone:e,unavailableReason:t}){let o=_(e=>e.mainLoopModel),s=_(e=>e.fastMode),c=b(),[l,u]=(0,q.useState)(s??!1),f=y(),p=f.status===`cooldown`,m=t!==null,h=E(T(!0));function g(){m||(U(l,c),l?e(`${B(l)} Fast mode ON${C(o)?``:` · model set to ${v}`} · ${h}`):(c(e=>({...e,fastMode:!1})),e(`Fast mode OFF`)))}function x(){if(m){s&&U(!1,c),e(`Fast mode OFF`,{display:`system`});return}e(s?`${B()} Kept Fast mode ON`:`Kept Fast mode OFF`,{display:`system`})}function S(){m||u(e=>!e)}return n({"confirm:yes":g,"confirm:nextField":S,"confirm:next":S,"confirm:previous":S,"confirm:cycleMode":S,"confirm:toggle":S},{context:`Confirmation`}),(0,J.jsxs)(d,{title:(0,J.jsxs)(a,{children:[(0,J.jsx)(z,{cooldown:p}),` Fast mode (research preview)`]}),subtitle:`High-speed mode for ${v}. Billed as extra usage at a premium rate. Separate rate limits apply.`,onCancel:x,color:`fastMode`,inputGuide:e=>e.pending?(0,J.jsxs)(a,{children:[`Press `,e.keyName,` again to exit`]}):m?(0,J.jsx)(a,{children:`Esc to cancel`}):(0,J.jsx)(a,{children:`Tab to toggle · Enter to confirm · Esc to cancel`}),children:[t?(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsx)(a,{color:`error`,children:t})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(r,{flexDirection:`column`,gap:0,marginLeft:2,children:(0,J.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,J.jsx)(a,{bold:!0,children:`Fast mode`}),(0,J.jsx)(a,{color:l?`fastMode`:void 0,bold:l,children:l?`ON `:`OFF`}),(0,J.jsx)(a,{dimColor:!0,children:h})]})}),p&&f.status===`cooldown`&&(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsxs)(a,{color:`warning`,children:[f.reason===`overloaded`?`Fast mode overloaded and is temporarily unavailable`:`You've hit your fast limit`,` · resets in `,I(f.resetAt-Date.now(),{hideTrailingZeros:!0})]})})]}),(0,J.jsxs)(a,{dimColor:!0,children:[`Learn more:`,` `,(0,J.jsx)(i,{url:`https://code.workmate.com/docs/en/fast-mode`,children:`https://code.workmate.com/docs/en/fast-mode`})]})]})}async function G(e,t,n){let r=S();if(r)return`Fast mode unavailable: ${r}`;let{mainLoopModel:i}=t();return U(e,n),e?`${B(!0)} Fast mode ON${C(i)?``:` · model set to ${v}`} · ${E(T(!0))}`:`Fast mode OFF`}async function K(e,t,n){if(!x())return null;await A();let r=n?.trim().toLowerCase();if(r===`on`||r===`off`)return e(await G(r===`on`,t.getAppState,t.setAppState)),null;let i=S();return(0,J.jsx)(W,{onDone:e,unavailableReason:i})}var q,J,Y=e((()=>{q=t(o(),1),u(),H(),D(),P(),j(),g(),F(),O(),m(),J=f()}));export{H as a,B as i,K as n,Y as r,W as t};
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,I as r,Lt as i,P as a,ai as o,di as s,fi as c,j as l,t as u,y as d}from"./src-BX54x08P.js";import{t as f}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as p,m,y as h}from"./settings-D4M13toi.js";import{AC as g,Bh as _,CC as v,EC as y,Hh as b,NC as x,OC as S,PC as C,TC as w,_y as T,gy as E,tb as D,vy as O,wC as k,zC as A,zh as j}from"./loadAgentsDir-bmpKLPdG.js";import{d as M,o as N}from"./config-Bio2EjUK.js";import{n as P}from"./analytics-COpjZpvd.js";import{_ as F,l as I}from"./startupProfiler-B9Qv2QGH.js";import{n as L,t as R}from"./systemTheme-Ceakddth.js";function z({cooldown:e}){return e?(0,V.jsx)(a,{color:`promptBorder`,dimColor:!0,children:`↯`}):(0,V.jsx)(a,{color:`fastMode`,children:`↯`})}function B(e=!0,t=!1){if(!e)return`↯`;let n=L(N().theme);return t?s.dim(l(`promptBorder`,n)(`↯`)):l(`fastMode`,n)(`↯`)}var V,H=e((()=>{c(),p(),u(),M(),R(),V=f()}));function U(e,t){k(),h(`userSettings`,{fastMode:e?!0:void 0}),t(e?e=>{let t=!C(e.mainLoopModel);return{...e,...t?{mainLoopModel:w(),mainLoopModelForSession:null}:{},fastMode:!0}}:e=>({...e,fastMode:!1}))}function W({onDone:e,unavailableReason:t}){let o=_(e=>e.mainLoopModel),s=_(e=>e.fastMode),c=b(),[l,u]=(0,q.useState)(s??!1),f=y(),p=f.status===`cooldown`,m=t!==null,h=E(T(!0));function g(){m||(U(l,c),l?e(`${B(l)} Fast mode ON${C(o)?``:` · model set to ${v}`} · ${h}`):(c(e=>({...e,fastMode:!1})),e(`Fast mode OFF`)))}function x(){if(m){s&&U(!1,c),e(`Fast mode OFF`,{display:`system`});return}e(s?`${B()} Kept Fast mode ON`:`Kept Fast mode OFF`,{display:`system`})}function S(){m||u(e=>!e)}return n({"confirm:yes":g,"confirm:nextField":S,"confirm:next":S,"confirm:previous":S,"confirm:cycleMode":S,"confirm:toggle":S},{context:`Confirmation`}),(0,J.jsxs)(d,{title:(0,J.jsxs)(a,{children:[(0,J.jsx)(z,{cooldown:p}),` Fast mode (research preview)`]}),subtitle:`High-speed mode for ${v}. Billed as extra usage at a premium rate. Separate rate limits apply.`,onCancel:x,color:`fastMode`,inputGuide:e=>e.pending?(0,J.jsxs)(a,{children:[`Press `,e.keyName,` again to exit`]}):m?(0,J.jsx)(a,{children:`Esc to cancel`}):(0,J.jsx)(a,{children:`Tab to toggle · Enter to confirm · Esc to cancel`}),children:[t?(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsx)(a,{color:`error`,children:t})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(r,{flexDirection:`column`,gap:0,marginLeft:2,children:(0,J.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,J.jsx)(a,{bold:!0,children:`Fast mode`}),(0,J.jsx)(a,{color:l?`fastMode`:void 0,bold:l,children:l?`ON `:`OFF`}),(0,J.jsx)(a,{dimColor:!0,children:h})]})}),p&&f.status===`cooldown`&&(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsxs)(a,{color:`warning`,children:[f.reason===`overloaded`?`Fast mode overloaded and is temporarily unavailable`:`You've hit your fast limit`,` · resets in `,I(f.resetAt-Date.now(),{hideTrailingZeros:!0})]})})]}),(0,J.jsxs)(a,{dimColor:!0,children:[`Learn more:`,` `,(0,J.jsx)(i,{url:`https://code.workmate.com/docs/en/fast-mode`,children:`https://code.workmate.com/docs/en/fast-mode`})]})]})}async function G(e,t,n){let r=S();if(r)return`Fast mode unavailable: ${r}`;let{mainLoopModel:i}=t();return U(e,n),e?`${B(!0)} Fast mode ON${C(i)?``:` · model set to ${v}`} · ${E(T(!0))}`:`Fast mode OFF`}async function K(e,t,n){if(!x())return null;await A();let r=n?.trim().toLowerCase();if(r===`on`||r===`off`)return e(await G(r===`on`,t.getAppState,t.setAppState)),null;let i=S();return(0,J.jsx)(W,{onDone:e,unavailableReason:i})}var q,J,Y=e((()=>{q=t(o(),1),u(),H(),D(),P(),j(),g(),F(),O(),m(),J=f()}));export{H as a,B as i,K as n,Y as r,W as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Yr as t,Zr as n}from"./settings-D4M13toi.js";import{c as r,i}from"./debug-2pVES-2G.js";import{Mt as a,Pt as o,W as s,dt as c,q as l,ut as u}from"./model-CcHyMyBv.js";import{n as d,r as f}from"./client-2w-g5kMx.js";async function p(){let e=a();try{switch(e){case`firstParty`:{let e=await u({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.display_name??n.id,description:n.id});return t.length>0?t:null}case`openai`:{let e=d({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.id,description:`via openai-compat`});return t.length>0?t:null}case`grok`:{let{getGrokClient:e}=await import(`./client-B0ngS4Uu.js`),t=e({maxRetries:1}),n=[];for await(let e of t.models.list())n.push({value:e.id,label:e.id,description:`via grok`});return n.length>0?n:null}case`bedrock`:{let e=(await s()).map(e=>({value:e,label:e,description:`Bedrock inference profile`}));return e.length>0?e:null}case`gemini`:case`vertex`:case`foundry`:return null}}catch(t){return r(`[fetchModelList] ${e} failed: ${t instanceof Error?t.message:`unknown`}`),null}return null}var m,h,g=e((()=>{c(),f(),i(),t(),l(),o(),m=300*1e3,h=n(p,m)}));export{g as n,h as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Yr as t,Zr as n}from"./settings-D4M13toi.js";import{c as r,i}from"./debug-2pVES-2G.js";import{Mt as a,Pt as o,W as s,dt as c,q as l,ut as u}from"./model-Dd3x121y.js";import{n as d,r as f}from"./client-2w-g5kMx.js";async function p(){let e=a();try{switch(e){case`firstParty`:{let e=await u({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.display_name??n.id,description:n.id});return t.length>0?t:null}case`openai`:{let e=d({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.id,description:`via openai-compat`});return t.length>0?t:null}case`grok`:{let{getGrokClient:e}=await import(`./client-B0ngS4Uu.js`),t=e({maxRetries:1}),n=[];for await(let e of t.models.list())n.push({value:e.id,label:e.id,description:`via grok`});return n.length>0?n:null}case`bedrock`:{let e=(await s()).map(e=>({value:e,label:e,description:`Bedrock inference profile`}));return e.length>0?e:null}case`gemini`:case`vertex`:case`foundry`:return null}}catch(t){return r(`[fetchModelList] ${e} failed: ${t instanceof Error?t.message:`unknown`}`),null}return null}var m,h,g=e((()=>{c(),f(),i(),t(),l(),o(),m=300*1e3,h=n(p,m)}));export{g as n,h as t};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./fetchModelList-Cv1vWIpC.js";e();export{t as fetchAvailableModels};