@readmagic/workmate 0.0.15 → 0.0.17

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 (274) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-DcVnvL_u.js → AddWorkspaceDirectory-YAhnVwyN.js} +1 -1
  2. package/dist/chunks/AgentsMdExternalIncludesDialog--D4BeNAN.js +1 -0
  3. package/dist/chunks/{AgentsMdExternalIncludesDialog-D6DopTxc.js → AgentsMdExternalIncludesDialog-Ba4GYFl3.js} +1 -1
  4. package/dist/chunks/{App-BoI5EJry.js → App-mri25OrC.js} +1 -1
  5. package/dist/chunks/{ApproveApiKey-BjlQDcMx.js → ApproveApiKey-DCw6d7dm.js} +1 -1
  6. package/dist/chunks/ApproveApiKey-lv4Sg0RR.js +1 -0
  7. package/dist/chunks/{BackgroundTasksDialog-ClSMkcGp.js → BackgroundTasksDialog-CZND8e_Z.js} +1 -1
  8. package/dist/chunks/{BypassPermissionsModeDialog-KCZv-PXl.js → BypassPermissionsModeDialog-B5QBJTB4.js} +1 -1
  9. package/dist/chunks/{DiffDialog-BGBkuVIn.js → DiffDialog-Bd-DcTsK.js} +1 -1
  10. package/dist/chunks/{Doctor-CI04juFO.js → Doctor-C9t7udHN.js} +2 -2
  11. package/dist/chunks/Doctor-V-JLC4e3.js +1 -0
  12. package/dist/chunks/ExitFlow-CShdrKmr.js +2 -0
  13. package/dist/chunks/{Grove-B-M3DWD3.js → Grove-CClEZT2e.js} +1 -1
  14. package/dist/chunks/{HybridTransport-n5jji6SI.js → HybridTransport-DyEuslQB.js} +1 -1
  15. package/dist/chunks/{InvalidConfigDialog-By-j6fHE.js → InvalidConfigDialog-Wyrk_cXR.js} +1 -1
  16. package/dist/chunks/{InvalidSettingsDialog-C_reeMzL.js → InvalidSettingsDialog-Cr9fmSyh.js} +1 -1
  17. package/dist/chunks/MCPConnectionManager-BnUw0nYN.js +1 -0
  18. package/dist/chunks/{MCPToolListView-jw0tITfc.js → MCPToolListView-CY2EezWF.js} +1 -1
  19. package/dist/chunks/{McpParsingWarnings-BeZ3Bn8N.js → McpParsingWarnings-BF4np2Y3.js} +1 -1
  20. package/dist/chunks/{MessageSelector-Ci6N-gCw.js → MessageSelector-Dtt2Sf65.js} +1 -1
  21. package/dist/chunks/Messages-D5Uuapmf.js +10 -0
  22. package/dist/chunks/{Onboarding-DDkVEq-G.js → Onboarding-BAJXV7Ay.js} +1 -1
  23. package/dist/chunks/{PromptInputFooterSuggestions-BlhZuQ5F.js → PromptInputFooterSuggestions-Cm4WN3qd.js} +1 -1
  24. package/dist/chunks/PromptInputHelpMenu-ESj8sOpK.js +1 -0
  25. package/dist/chunks/QueryEngine-B79JLwG4.js +1 -0
  26. package/dist/chunks/REPL-B7evbhvN.js +1 -0
  27. package/dist/chunks/REPL-cAXdORs2.js +128 -0
  28. package/dist/chunks/{RemoteSessionManager-mWVrdNfS.js → RemoteSessionManager-C5pAD0Lh.js} +2 -2
  29. package/dist/chunks/{ResumeConversation-BzTn_1jS.js → ResumeConversation-NSVT3gn7.js} +1 -1
  30. package/dist/chunks/{SSETransport-D86IVNn1.js → SSETransport-CDGMGrxN.js} +1 -1
  31. package/dist/chunks/SearchExtraToolsTool-CddjJcAH.js +1 -0
  32. package/dist/chunks/Settings-_b5Yxt_9.js +2 -0
  33. package/dist/chunks/{TeleportProgress-CW8mLRy2.js → TeleportProgress-8cS6aHVO.js} +1 -1
  34. package/dist/chunks/{TeleportRepoMismatchDialog-DZD32R-l.js → TeleportRepoMismatchDialog-B0epkMgp.js} +1 -1
  35. package/dist/chunks/{TeleportResumeWrapper-BhuUE1aq.js → TeleportResumeWrapper-Bb14JeEk.js} +1 -1
  36. package/dist/chunks/{ThemePicker-ByQZgIbH.js → ThemePicker-CnX8faYA.js} +1 -1
  37. package/dist/chunks/{TrustDialog-BzwibD_8.js → TrustDialog-6wJF3W6K.js} +1 -1
  38. package/dist/chunks/{add-dir-BQ-ljgk6.js → add-dir-LLAv-rGS.js} +1 -1
  39. package/dist/chunks/{agentDisplay-tRprY4gB.js → agentDisplay-QqGqcHGz.js} +1 -1
  40. package/dist/chunks/{agents-DMyQUXwl.js → agents-C8wRUTNV.js} +6 -6
  41. package/dist/chunks/{agents-Dq4BCf0H.js → agents-DFPEienW.js} +1 -1
  42. package/dist/chunks/{allErrors-CQWZ6BPw.js → allErrors-DUYYPpdH.js} +1 -1
  43. package/dist/chunks/{api-ClAyS7cQ.js → api-B3Wnozaf.js} +1 -1
  44. package/dist/chunks/api-BAT--5sp.js +1 -0
  45. package/dist/chunks/auth-CQGJitIV.js +10 -0
  46. package/dist/chunks/auth-DaJXqwN5.js +1 -0
  47. package/dist/chunks/auth-DkhPycBL.js +1 -0
  48. package/dist/chunks/{backgroundHousekeeping-rzQFJiND.js → backgroundHousekeeping-Bjb_Jc7L.js} +2 -2
  49. package/dist/chunks/backgroundHousekeeping-V-dg2j2E.js +1 -0
  50. package/dist/chunks/{branch-BWbCrXBJ.js → branch-BWq5ynjm.js} +1 -1
  51. package/dist/chunks/{bridgeConfig-CPHAyzdg.js → bridgeConfig-B3mR0kJ0.js} +1 -1
  52. package/dist/chunks/bridgeConfig-D31i4BRi.js +1 -0
  53. package/dist/chunks/{bridgeMessaging-vR7uQXB9.js → bridgeMessaging-wZ5EKxW_.js} +1 -1
  54. package/dist/chunks/{bridgeStatusUtil-CHTx7XwJ.js → bridgeStatusUtil-mvVQSVN-.js} +1 -1
  55. package/dist/chunks/{btw-IGcgP-Qq.js → btw-XNgXHnNr.js} +1 -1
  56. package/dist/chunks/{caches-FP8mGB4k.js → caches-ByLjTvdy.js} +1 -1
  57. package/dist/chunks/caches-ckqJ4Qso.js +1 -0
  58. package/dist/chunks/{ccrClient--8aPutWE.js → ccrClient-EisctZbc.js} +1 -1
  59. package/dist/chunks/{clear-CF-FZwpe.js → clear-BjtPf2Jb.js} +1 -1
  60. package/dist/chunks/client-Bb2eZnuq.js +1 -0
  61. package/dist/chunks/client-Bl43xcRk.js +1 -0
  62. package/dist/chunks/client-DNEVh6Wu.js +1 -0
  63. package/dist/chunks/client-Pap_HyZZ.js +1 -0
  64. package/dist/chunks/client-zhozU2ws.js +1 -0
  65. package/dist/chunks/commands-BDhn7EPO.js +1 -0
  66. package/dist/chunks/{compact-BrJGpEFZ.js → compact-w8AhLkr6.js} +1 -1
  67. package/dist/chunks/config-CbAvTdZ7.js +1 -0
  68. package/dist/chunks/{context-DADnwl4t.js → context-Btn2JU2y.js} +1 -1
  69. package/dist/chunks/{context-noninteractive-kACWzgS1.js → context-noninteractive-044464Vs.js} +1 -1
  70. package/dist/chunks/context-noninteractive-ulRLlYg5.js +1 -0
  71. package/dist/chunks/conversation-D08lU377.js +1 -0
  72. package/dist/chunks/{conversation-C8w1DtXk.js → conversation-a82khZ_n.js} +1 -1
  73. package/dist/chunks/{createSSHSession-B71Plec6.js → createSSHSession-C0KSI0fJ.js} +1 -1
  74. package/dist/chunks/{createSession-BJeDECzt.js → createSession-8ScCWTKb.js} +1 -1
  75. package/dist/chunks/createSession-CnlPXXkA.js +1 -0
  76. package/dist/chunks/{crossProjectResume-B1I6YzXr.js → crossProjectResume-BCN462Wa.js} +1 -1
  77. package/dist/chunks/{datadog-C9uqPA6N.js → datadog-BqINRWAW.js} +1 -1
  78. package/dist/chunks/{diff-CzChvQyK.js → diff-CcrSQNvQ.js} +1 -1
  79. package/dist/chunks/doctor-DRFDBrH1.js +1 -0
  80. package/dist/chunks/{entry-BoL8sy1Y.js → entry-oVZ7Z59B.js} +2 -2
  81. package/dist/chunks/{esm-DtcV71xh.js → esm-BZciQG9N.js} +1 -1
  82. package/dist/chunks/exit-jikLI2Zh.js +1 -0
  83. package/dist/chunks/extraUsage-BT3in1Aj.js +1 -0
  84. package/dist/chunks/extractMemories-BsQU2bVO.js +1 -0
  85. package/dist/chunks/fast-B9vVL3sY.js +1 -0
  86. package/dist/chunks/fast-CKhtBOx7.js +1 -0
  87. package/dist/chunks/fetchModelList-BeL40TyR.js +1 -0
  88. package/dist/chunks/fetchModelList-DmaMgpa2.js +1 -0
  89. package/dist/chunks/{fileSuggestions-DU7gmksK.js → fileSuggestions-BfG3sbET.js} +1 -1
  90. package/dist/chunks/firstPartyEventLogger-6GwZ6VLr.js +1 -0
  91. package/dist/chunks/{firstPartyEventLogger-7pAyUdbp.js → firstPartyEventLogger-Q3fMF0BR.js} +2 -2
  92. package/dist/chunks/{flushGate-4DfYr-Ru.js → flushGate-COa_KO98.js} +1 -1
  93. package/dist/chunks/{gemini-Cll4fVQn.js → gemini-L8Gj2B4H.js} +1 -1
  94. package/dist/chunks/{generateSessionName-BgGMwpps.js → generateSessionName-cAL5T7pG.js} +1 -1
  95. package/dist/chunks/{goal-D4E2WQVn.js → goal-D-x2WXm7.js} +1 -1
  96. package/dist/chunks/grok-DtypRM4d.js +1 -0
  97. package/dist/chunks/{grove-Bck1zFaD.js → grove-CSivzrhe.js} +1 -1
  98. package/dist/chunks/{help-DJp61Job.js → help-DKZhC0lL.js} +1 -1
  99. package/dist/chunks/{hooks-CJ17byYD.js → hooks-D_afUDcs.js} +1 -1
  100. package/dist/chunks/hooks-DvVuNKRx.js +1 -0
  101. package/dist/chunks/initReplBridge-sTaq4a0K.js +1 -0
  102. package/dist/chunks/{install-Dd5fw0cA.js → install-BWe3Jz4M.js} +1 -1
  103. package/dist/chunks/{instrumentation-jsPu6qqs.js → instrumentation-IljwxX0V.js} +4 -4
  104. package/dist/chunks/{job-BHhkQbvu.js → job-N25KhSUu.js} +1 -1
  105. package/dist/chunks/keybindings-DLEorhlY.js +1 -0
  106. package/dist/chunks/{launchLocalMemory-DsaijVcO.js → launchLocalMemory-DJsuNLIf.js} +1 -1
  107. package/dist/chunks/{launchOnboarding-DHOylaqn.js → launchOnboarding-CVvuxeH-.js} +1 -1
  108. package/dist/chunks/{loadAgentsDir-CwEfQDOw.js → loadAgentsDir-CbtNPJV3.js} +569 -569
  109. package/dist/chunks/loadAgentsDir-D0gl_H2S.js +1 -0
  110. package/dist/chunks/{loadPluginHooks-C-Yk5KlI.js → loadPluginHooks-BxkDBFd6.js} +1 -1
  111. package/dist/chunks/{localSearch-BEnlgSB7.js → localSearch-B5mTHBwK.js} +1 -1
  112. package/dist/chunks/localSearch-D3UrYUre.js +1 -0
  113. package/dist/chunks/{logoV2Utils-DG9GwFjl.js → logoV2Utils-D5nRpirL.js} +1 -1
  114. package/dist/chunks/{magicDocs-qGHR3Cqh.js → magicDocs-C9aIo4Oe.js} +2 -2
  115. package/dist/chunks/{main-CBVQ8bRm.js → main-DeUt_aE2.js} +26 -26
  116. package/dist/chunks/managedEnv-ADMKY7-G.js +1 -0
  117. package/dist/chunks/{managedEnv-3MbOWrVs.js → managedEnv-CDxyrUw1.js} +1 -1
  118. package/dist/chunks/{mappers-CdY45PDA.js → mappers-Del1KoA7.js} +1 -1
  119. package/dist/chunks/{mcp-DvY_FibT.js → mcp-Bh3MNBIj.js} +3 -3
  120. package/dist/chunks/{mcp-DI8pGrqi.js → mcp-D7vMhEOV.js} +1 -1
  121. package/dist/chunks/{mcp-BA8XQ6h1.js → mcp-nnBVM5Lt.js} +1 -1
  122. package/dist/chunks/{memory-C2U7CCmM.js → memory-DtqQhHu8.js} +1 -1
  123. package/dist/chunks/{mode-ByV6NqmB.js → mode-DPbrxU32.js} +1 -1
  124. package/dist/chunks/model-B50j-O5v.js +1 -0
  125. package/dist/chunks/model-DLG1nrnf.js +1 -0
  126. package/dist/chunks/{model-CeG-iOKF.js → model-DlLO7TSx.js} +1 -1
  127. package/dist/chunks/modelOptions-SMq3one0.js +1 -0
  128. package/dist/chunks/{nativeInstaller-CXFD8LDV.js → nativeInstaller-DTJ4clp-.js} +1 -1
  129. package/dist/chunks/{omit-B65XeX8r.js → omit-CMldTqqy.js} +1 -1
  130. package/dist/chunks/{onChangeAppState-EtUxsgYz.js → onChangeAppState-EAnsmOuo.js} +1 -1
  131. package/dist/chunks/openai-CR3CcjCE.js +17 -0
  132. package/dist/chunks/{openai-Dx5mvMjY.js → openai-D9KvLMrj.js} +2 -2
  133. package/dist/chunks/{partition-8vZDG3rY.js → partition-B8Y4jvjW.js} +1 -1
  134. package/dist/chunks/{permissions-CJUBfBTr.js → permissions-cDtIZRM1.js} +2 -2
  135. package/dist/chunks/{pidLock-tjm2n1Nd.js → pidLock-Br3_YNi_.js} +2 -2
  136. package/dist/chunks/{plan-eFur8bdH.js → plan-dG2H4eQl.js} +1 -1
  137. package/dist/chunks/{plugin-fYLRLdOY.js → plugin-CzQHuIlP.js} +1 -1
  138. package/dist/chunks/{pluginAutoupdate-B4w7SSYc.js → pluginAutoupdate-B9W_vxOG.js} +1 -1
  139. package/dist/chunks/{pluginBlocklist-CMwb7gmY.js → pluginBlocklist-BvdBsnJG.js} +1 -1
  140. package/dist/chunks/{pluginCliCommands-3YCj7Y3Q.js → pluginCliCommands-NKIgFTUF.js} +1 -1
  141. package/dist/chunks/{pluginFlagging-srvq9H7p.js → pluginFlagging-C0PtAJEg.js} +1 -1
  142. package/dist/chunks/{pluginOperations-C7BCR7pw.js → pluginOperations-wUUdFpu9.js} +1 -1
  143. package/dist/chunks/pluginStartupCheck-hDT6pEAd.js +1 -0
  144. package/dist/chunks/{pluginStartupCheck-BLc0U7W7.js → pluginStartupCheck-p0njap1l.js} +1 -1
  145. package/dist/chunks/{plugins-CPtmmDDi.js → plugins-B9WBqOAW.js} +1 -1
  146. package/dist/chunks/print-G3DgPTxy.js +14 -0
  147. package/dist/chunks/{processBashCommand-C9-FonuX.js → processBashCommand-zLWgCRws.js} +1 -1
  148. package/dist/chunks/{processSlashCommand-Bi8_1MRC.js → processSlashCommand-BHBnHBjj.js} +2 -2
  149. package/dist/chunks/{prompt-Bm2EEG4F.js → prompt-BRGC5U9Y.js} +1 -1
  150. package/dist/chunks/prompt-Ct3Ryb3C.js +1 -0
  151. package/dist/chunks/prompt-TZJKyomz.js +1 -0
  152. package/dist/chunks/{promptEditor-DQ9fpdQD.js → promptEditor-CRIw6vJS.js} +1 -1
  153. package/dist/chunks/{reconciler-DgQ4y1Vn.js → reconciler-DiU1RvGD.js} +1 -1
  154. package/dist/chunks/{refresh-CayVRWUY.js → refresh-DEXe3Lmx.js} +1 -1
  155. package/dist/chunks/{reload-plugins-6xcH3dLg.js → reload-plugins-Cl6wvT6V.js} +1 -1
  156. package/dist/chunks/{remoteBridgeCore-BnZYGaMH.js → remoteBridgeCore-DnFZoXaw.js} +1 -1
  157. package/dist/chunks/{remoteManagedSettings-CfFmrRze.js → remoteManagedSettings-BboLJ46D.js} +1 -1
  158. package/dist/chunks/{rename-mDtCTbnD.js → rename-CdzxOzN5.js} +1 -1
  159. package/dist/chunks/{resume-DRvz4QFs.js → resume-DgFXYWTN.js} +1 -1
  160. package/dist/chunks/{runtimeObserver-Ba6SM-sI.js → runtimeObserver-CwtRE2cj.js} +1 -1
  161. package/dist/chunks/{runtimeObserver-Dt5sGJVb.js → runtimeObserver-Dov-m2dl.js} +2 -2
  162. package/dist/chunks/sandbox-adapter-CtEngx-6.js +1 -0
  163. package/dist/chunks/{sandbox-toggle-DKcw3SbO.js → sandbox-toggle-DWCrG9zV.js} +1 -1
  164. package/dist/chunks/searchExtraTools-zFMN5MqY.js +1 -0
  165. package/dist/chunks/{session-COVyD8UU.js → session-L5191BSn.js} +1 -1
  166. package/dist/chunks/sessionFileAccessHooks-C2VjT-PU.js +1 -0
  167. package/dist/chunks/sessionObserver-BuhXr3FP.js +1 -0
  168. package/dist/chunks/{sessionObserver-iAgSetlC.js → sessionObserver-DpY0DOjI.js} +1 -1
  169. package/dist/chunks/{sessionState-zhvcDpb2.js → sessionState-BlbRQ3Y6.js} +2 -2
  170. package/dist/chunks/sessionStorage-CiYSwyY3.js +1 -0
  171. package/dist/chunks/sessionTitle-k4wpUS5l.js +2 -0
  172. package/dist/chunks/{sessionTracing-C4uqAdud.js → sessionTracing-DqVx8aFD.js} +1 -1
  173. package/dist/chunks/{settingsSync-BGo6dHJo.js → settingsSync-BhlegQAU.js} +1 -1
  174. package/dist/chunks/setup-DvnKMqDy.js +3 -0
  175. package/dist/chunks/{shadowedRuleDetection-CzRAzcC1.js → shadowedRuleDetection-Gerk3t93.js} +1 -1
  176. package/dist/chunks/{sideQuestion-oIYrx5ar.js → sideQuestion-RndkXExy.js} +1 -1
  177. package/dist/chunks/sinks-Cf4vx9UX.js +1 -0
  178. package/dist/chunks/{sinks-Bje3hCkR.js → sinks-CfzgqLH5.js} +1 -1
  179. package/dist/chunks/skillChangeDetector-BQx4xe_b.js +1 -0
  180. package/dist/chunks/{skillGapStore-CJjt3IW7.js → skillGapStore-CLxhWLyq.js} +2 -2
  181. package/dist/chunks/{skillLifecycle-BsgH84vl.js → skillLifecycle-CSNX2qOH.js} +2 -2
  182. package/dist/chunks/{skillSearchPanel-CneXymsb.js → skillSearchPanel-CsQDjy_E.js} +4 -4
  183. package/dist/chunks/{skills-DZRBy7vT.js → skills-DM9ACPW-.js} +1 -1
  184. package/dist/chunks/status-C3z0CSBw.js +1 -0
  185. package/dist/chunks/{status-BP_R8051.js → status-C5v7KsX4.js} +2 -2
  186. package/dist/chunks/{statusNoticeHelpers-ODrnrLAZ.js → statusNoticeHelpers-BY_8pK19.js} +1 -1
  187. package/dist/chunks/switcher-C9VsM-ip.js +1 -0
  188. package/dist/chunks/{switcher-BkGOeIzI.js → switcher-CnBKuiNp.js} +1 -1
  189. package/dist/chunks/syncCache-Dff4hbz4.js +1 -0
  190. package/dist/chunks/{tasks-CIUuwrX4.js → tasks-qVyXOLBf.js} +1 -1
  191. package/dist/chunks/{teleport-IzyDplC7.js → teleport-Deq_ecN9.js} +1 -1
  192. package/dist/chunks/{templateJobs-De57J461.js → templateJobs-CntPyct-.js} +1 -1
  193. package/dist/chunks/{theme-Nwii7354.js → theme-DVWYzSct.js} +1 -1
  194. package/dist/chunks/{toolEventObserver-Cq-uBb0-.js → toolEventObserver-BZn8ZJB5.js} +1 -1
  195. package/dist/chunks/toolPool-Dzp1ob3I.js +1 -0
  196. package/dist/chunks/trustedDevice-1Q4FTNyX.js +1 -0
  197. package/dist/chunks/{trustedDevice-DWZxDUxS.js → trustedDevice-CdLAZK6m.js} +1 -1
  198. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-D48aDPG9.js → useExitOnCtrlCDWithKeybindings-YSWYVWk6.js} +1 -1
  199. package/dist/chunks/useMainLoopModel-C1JRp4zE.js +1 -0
  200. package/dist/chunks/{useManagePlugins-EqoQELMT.js → useManagePlugins-DfuI4Nhd.js} +1 -1
  201. package/dist/chunks/{useMergedTools-BJ4L9QSK.js → useMergedTools-B4qRVJ8b.js} +1 -1
  202. package/dist/chunks/{useSearchInput-DkVER3cm.js → useSearchInput-DfUNYhqC.js} +1 -1
  203. package/dist/chunks/{useSettingsErrors-D3MlQ1GF.js → useSettingsErrors-Bls74ocI.js} +1 -1
  204. package/dist/chunks/{userAgent-aoe_xVAb.js → userAgent-CNPTS7ix.js} +1 -1
  205. package/dist/chunks/{util-g-5UX5gH.js → util-6aJHnBQ_.js} +1 -1
  206. package/dist/chunks/{validatePlugin-CSE8zjZn.js → validatePlugin-BajM6yNf.js} +1 -1
  207. package/dist/chunks/{workerRegistry-DGwy0YHB.js → workerRegistry-BwJ54Lzk.js} +2 -2
  208. package/dist/chunks/worktree-BFP10vim.js +1 -0
  209. package/dist/cli.js +1 -1
  210. package/package.json +1 -1
  211. package/dist/chunks/AgentsMdExternalIncludesDialog-0Qdg3Rh7.js +0 -1
  212. package/dist/chunks/ApproveApiKey-PWFcscjY.js +0 -1
  213. package/dist/chunks/Doctor-DCrqcW68.js +0 -1
  214. package/dist/chunks/ExitFlow-qrCDVA9i.js +0 -2
  215. package/dist/chunks/MCPConnectionManager-BNG7iSlw.js +0 -1
  216. package/dist/chunks/Messages-D6CRTH2m.js +0 -10
  217. package/dist/chunks/PromptInputHelpMenu-kKyPIMau.js +0 -1
  218. package/dist/chunks/QueryEngine-DXpS0Ytq.js +0 -1
  219. package/dist/chunks/REPL-D1BCm7cR.js +0 -128
  220. package/dist/chunks/REPL-JQgCrSEv.js +0 -1
  221. package/dist/chunks/SearchExtraToolsTool-BXIja1MR.js +0 -1
  222. package/dist/chunks/Settings-D_i8HzEW.js +0 -2
  223. package/dist/chunks/api-CpD5jeKe.js +0 -1
  224. package/dist/chunks/auth-CWAvPfX7.js +0 -10
  225. package/dist/chunks/auth-DG5bkWDc.js +0 -1
  226. package/dist/chunks/auth-DuHfQBuH.js +0 -1
  227. package/dist/chunks/backgroundHousekeeping-kf_v7Vfr.js +0 -1
  228. package/dist/chunks/bridgeConfig-CABsoOum.js +0 -1
  229. package/dist/chunks/caches-Dj1YhqrG.js +0 -1
  230. package/dist/chunks/client-B7WkO81L.js +0 -17
  231. package/dist/chunks/client-BCzhAEd0.js +0 -1
  232. package/dist/chunks/client-BU7upHOb.js +0 -1
  233. package/dist/chunks/commands-Cr1p7OPH.js +0 -1
  234. package/dist/chunks/config-BohF3_IV.js +0 -1
  235. package/dist/chunks/context-noninteractive-BAbzwNxu.js +0 -1
  236. package/dist/chunks/conversation-Ds7zRD0x.js +0 -1
  237. package/dist/chunks/createSession-Bozo4Bu8.js +0 -1
  238. package/dist/chunks/doctor-DdvdGkNX.js +0 -1
  239. package/dist/chunks/exit-Af27f74w.js +0 -1
  240. package/dist/chunks/extraUsage-DsFwXMAj.js +0 -1
  241. package/dist/chunks/extractMemories-B1KbTMY0.js +0 -1
  242. package/dist/chunks/fast-BGU8p2uY.js +0 -1
  243. package/dist/chunks/fast-CuUjONVV.js +0 -1
  244. package/dist/chunks/firstPartyEventLogger-sMeCTEUW.js +0 -1
  245. package/dist/chunks/grok-HF1PHxXb.js +0 -1
  246. package/dist/chunks/hooks-CjR3Eq0Z.js +0 -1
  247. package/dist/chunks/initReplBridge-D09JEKHt.js +0 -1
  248. package/dist/chunks/keybindings-Ch5lzNB8.js +0 -1
  249. package/dist/chunks/loadAgentsDir-8FioUEwX.js +0 -1
  250. package/dist/chunks/localSearch-LcgRjjl3.js +0 -1
  251. package/dist/chunks/managedEnv-B4YV3A_y.js +0 -1
  252. package/dist/chunks/model-C73ETGu9.js +0 -1
  253. package/dist/chunks/model-CVG_RRTy.js +0 -1
  254. package/dist/chunks/modelOptions-A5jrCUBp.js +0 -1
  255. package/dist/chunks/pluginStartupCheck-nzVDPI1k.js +0 -1
  256. package/dist/chunks/print-BCud0ukQ.js +0 -14
  257. package/dist/chunks/prompt-CX_v9F3s.js +0 -1
  258. package/dist/chunks/prompt-V0WQJrkO2.js +0 -1
  259. package/dist/chunks/sandbox-adapter-Cmrd6tBj.js +0 -1
  260. package/dist/chunks/searchExtraTools-DIgC0CFB.js +0 -1
  261. package/dist/chunks/sessionFileAccessHooks-yAPDTrbm.js +0 -1
  262. package/dist/chunks/sessionObserver-BizdPx8P.js +0 -1
  263. package/dist/chunks/sessionStorage-LMY409Ji.js +0 -1
  264. package/dist/chunks/sessionTitle-QPRly1tZ.js +0 -14
  265. package/dist/chunks/setup-Bjw5VS6x.js +0 -3
  266. package/dist/chunks/sinks-FaljTZ-c.js +0 -1
  267. package/dist/chunks/skillChangeDetector-v6mAYzXX.js +0 -1
  268. package/dist/chunks/status-CZYD3NGb.js +0 -1
  269. package/dist/chunks/switcher-DwKN9daN.js +0 -1
  270. package/dist/chunks/syncCache-CpmpvjfC.js +0 -1
  271. package/dist/chunks/toolPool-BBU4ll_p.js +0 -1
  272. package/dist/chunks/trustedDevice-BKzkA7fq.js +0 -1
  273. package/dist/chunks/useMainLoopModel-89eUU13X.js +0 -1
  274. package/dist/chunks/worktree-jjuORs7p.js +0 -1
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./figures-5ThXQEtq.js";import{$_ as r,La as i,U_ as a,V_ as o,ev as s,ka as c}from"./loadAgentsDir-CwEfQDOw.js";import{I as l,P as u,s as d,t as f}from"./src-DL3w8VPk2.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{cn as m,ln as h,wn as g,xn as _}from"./settings-CvhsRFaT.js";import{_ as v,v as y}from"./startupProfiler-2sjXZkIP.js";import{Et as b,Ot as x,Xt as S,an as C,in as w,nn as T}from"./prompt-Bm2EEG4F.js";import{n as E,t as D}from"./staticRender-D9AbnQFr.js";function O(e){let t=[];return k(e,t),A(e,t),M(e,t),N(e,t),ee(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=v(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 b: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 ${v(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 N(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=>`${_(e.path)} (${v(e.tokens)})`).join(`, `);t.push({severity:`info`,title:`Memory files using ${v(n)} tokens (${r.toFixed(0)}%)`,detail:`Largest: ${i}. Use /memory to review and prune stale entries.`,savingsTokens:Math.floor(n*.3)})}}function ee(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(),x(),g(),y(),P=15,F=1e4,I=5,L=80,R=5,z=5e3}));function V({suggestions:e}){return e.length===0?null:(0,H.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(u,{bold:!0,children:`Suggestions`}),e.map((e,t)=>(0,H.jsxs)(l,{flexDirection:`column`,marginTop:t===0?0:1,children:[(0,H.jsxs)(l,{children:[(0,H.jsx)(d,{status:e.severity,withSpace:!0}),(0,H.jsx)(u,{bold:!0,children:e.title}),e.savingsTokens?(0,H.jsxs)(u,{dimColor:!0,children:[` `,n.arrowRight,` save ~`,v(e.savingsTokens)]}):null]}),(0,H.jsx)(l,{marginLeft:2,children:(0,H.jsx)(u,{dimColor:!0,children:e.detail})})]},t))]})}var H,U=e((()=>{t(),f(),y(),H=p()}));function W(){return null}function G(e){let t=new Map;for(let n of e){let e=m(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:r,percentage:i,gridRows:a,model:o,memoryFiles:s,mcpTools:c,deferredBuiltinTools:d=[],agents:f,skills:p,cacheHitRate:m,cacheThreshold:h}=e,g=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==J&&!e.isDeferred),y=t.some(e=>e.isDeferred&&e.name.includes(`MCP`)),b=t.find(e=>e.name===J);return(0,q.jsxs)(l,{flexDirection:`column`,paddingLeft:1,children:[(0,q.jsx)(u,{bold:!0,children:`Context Usage`}),(0,q.jsxs)(l,{flexDirection:`row`,gap:2,children:[(0,q.jsx)(l,{flexDirection:`column`,flexShrink:0,children:a.map((e,t)=>(0,q.jsx)(l,{flexDirection:`row`,marginLeft:-1,children:e.map((e,t)=>e.categoryName===`Free space`?(0,q.jsx)(u,{dimColor:!0,children:`⛶ `},t):e.categoryName===J?(0,q.jsx)(u,{color:e.color,children:`⛝ `},t):(0,q.jsx)(u,{color:e.color,children:e.squareFullness>=.7?`⛁ `:`⛀ `},t))},t))}),(0,q.jsxs)(l,{flexDirection:`column`,gap:0,flexShrink:0,children:[(0,q.jsxs)(u,{dimColor:!0,children:[o,` · `,v(n),`/`,v(r),` tokens (`,i,`%)`]}),(0,q.jsx)(W,{}),m!==void 0&&h!==void 0&&(0,q.jsxs)(u,{color:m<h?`warning`:void 0,children:[`Cache hit rate: `,m.toFixed(0),`%`,m<h?` (below ${h}% threshold)`:``]}),(0,q.jsx)(u,{children:` `}),(0,q.jsx)(u,{dimColor:!0,italic:!0,children:`Estimated usage by category`}),g.map((e,t)=>{let n=v(e.tokens),i=e.isDeferred?`N/A`:`${(e.tokens/r*100).toFixed(1)}%`,a=e.name===J,o=e.name,s=e.isDeferred?` `:a?`⛝`:`⛁`;return(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{color:e.color,children:s}),(0,q.jsxs)(u,{children:[` `,o,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[n,` tokens (`,i,`)`]})]},t)}),(t.find(e=>e.name===`Free space`)?.tokens??0)>0&&(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{dimColor:!0,children:`⛶`}),(0,q.jsx)(u,{children:` Free space: `}),(0,q.jsxs)(u,{dimColor:!0,children:[v(t.find(e=>e.name===`Free space`)?.tokens||0),` (`,((t.find(e=>e.name===`Free space`)?.tokens||0)/r*100).toFixed(1),`%)`]})]}),b&&b.tokens>0&&(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{color:b.color,children:`⛝`}),(0,q.jsxs)(u,{dimColor:!0,children:[` `,b.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(b.tokens),` tokens (`,(b.tokens/r*100).toFixed(1),`%)`]})]})]})]}),(0,q.jsxs)(l,{flexDirection:`column`,marginLeft:-1,children:[c.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`MCP tools`}),(0,q.jsxs)(u,{dimColor:!0,children:[` · /mcp`,y?` (loaded on-demand)`:``]})]}),c.some(e=>e.isLoaded)&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:`Loaded`}),c.filter(e=>e.isLoaded).map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),y&&c.some(e=>!e.isLoaded)&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:`Available`}),c.filter(e=>!e.isLoaded).map((e,t)=>(0,q.jsx)(l,{children:(0,q.jsxs)(u,{dimColor:!0,children:[`└ `,e.name]})},t))]}),!y&&c.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),f.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Custom agents`}),(0,q.jsx)(u,{dimColor:!0,children:` · /agents`})]}),Array.from(G(f).entries()).map(([e,t])=>(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.agentType,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]},e))]}),s.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Memory files`}),(0,q.jsx)(u,{dimColor:!0,children:` · /memory`})]}),s.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,_(e.path),`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),p&&p.tokens>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Skills`}),(0,q.jsx)(u,{dimColor:!0,children:` · /skills`})]}),Array.from(G(p.skillFrontmatter).entries()).map(([e,t])=>(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]},e))]})]}),(0,q.jsx)(V,{suggestions:O(e)})]})}var q,J,Y,X=e((()=>{f(),B(),g(),y(),h(),U(),q=p(),J=`Autocompact buffer`,Y=[`Project`,`User`,`Managed`,`Plugin`,`Built-in`]}));function Z(e){return c(e)}async function Q(e,t){let{messages:n,getAppState:r,options:{mainLoopModel:i,tools:a}}=t,c=Z(n),{messages:l}=await s(c),u=process.stdout.columns||80,d=r();return e(await E((0,$.jsx)(K,{data:await o(l,i,async()=>d.toolPermissionContext,a,d.agentDefinitions,u,t,void 0,c)}))),null}var $;e((()=>{X(),r(),a(),i(),D(),$=p()}))();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{$_ as r,La as i,U_ as a,V_ as o,ev as s,ka as c}from"./loadAgentsDir-CbtNPJV3.js";import{I as l,P as u,s as d,t as f}from"./src-DL3w8VPk2.js";import{t as p}from"./jsx-runtime-Bb4Xn-E0.js";import{cn as m,ln as h,wn as g,xn as _}from"./settings-CvhsRFaT.js";import{_ as v,v as y}from"./startupProfiler-2sjXZkIP.js";import{Et as b,Ot as x,Xt as S,an as C,in as w,nn as T}from"./prompt-BRGC5U9Y.js";import{n as E,t as D}from"./staticRender-D9AbnQFr.js";function O(e){let t=[];return k(e,t),A(e,t),M(e,t),N(e,t),ee(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=v(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 b: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 ${v(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 N(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=>`${_(e.path)} (${v(e.tokens)})`).join(`, `);t.push({severity:`info`,title:`Memory files using ${v(n)} tokens (${r.toFixed(0)}%)`,detail:`Largest: ${i}. Use /memory to review and prune stale entries.`,savingsTokens:Math.floor(n*.3)})}}function ee(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(),x(),g(),y(),P=15,F=1e4,I=5,L=80,R=5,z=5e3}));function V({suggestions:e}){return e.length===0?null:(0,H.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(u,{bold:!0,children:`Suggestions`}),e.map((e,t)=>(0,H.jsxs)(l,{flexDirection:`column`,marginTop:t===0?0:1,children:[(0,H.jsxs)(l,{children:[(0,H.jsx)(d,{status:e.severity,withSpace:!0}),(0,H.jsx)(u,{bold:!0,children:e.title}),e.savingsTokens?(0,H.jsxs)(u,{dimColor:!0,children:[` `,n.arrowRight,` save ~`,v(e.savingsTokens)]}):null]}),(0,H.jsx)(l,{marginLeft:2,children:(0,H.jsx)(u,{dimColor:!0,children:e.detail})})]},t))]})}var H,U=e((()=>{t(),f(),y(),H=p()}));function W(){return null}function G(e){let t=new Map;for(let n of e){let e=m(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:r,percentage:i,gridRows:a,model:o,memoryFiles:s,mcpTools:c,deferredBuiltinTools:d=[],agents:f,skills:p,cacheHitRate:m,cacheThreshold:h}=e,g=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==J&&!e.isDeferred),y=t.some(e=>e.isDeferred&&e.name.includes(`MCP`)),b=t.find(e=>e.name===J);return(0,q.jsxs)(l,{flexDirection:`column`,paddingLeft:1,children:[(0,q.jsx)(u,{bold:!0,children:`Context Usage`}),(0,q.jsxs)(l,{flexDirection:`row`,gap:2,children:[(0,q.jsx)(l,{flexDirection:`column`,flexShrink:0,children:a.map((e,t)=>(0,q.jsx)(l,{flexDirection:`row`,marginLeft:-1,children:e.map((e,t)=>e.categoryName===`Free space`?(0,q.jsx)(u,{dimColor:!0,children:`⛶ `},t):e.categoryName===J?(0,q.jsx)(u,{color:e.color,children:`⛝ `},t):(0,q.jsx)(u,{color:e.color,children:e.squareFullness>=.7?`⛁ `:`⛀ `},t))},t))}),(0,q.jsxs)(l,{flexDirection:`column`,gap:0,flexShrink:0,children:[(0,q.jsxs)(u,{dimColor:!0,children:[o,` · `,v(n),`/`,v(r),` tokens (`,i,`%)`]}),(0,q.jsx)(W,{}),m!==void 0&&h!==void 0&&(0,q.jsxs)(u,{color:m<h?`warning`:void 0,children:[`Cache hit rate: `,m.toFixed(0),`%`,m<h?` (below ${h}% threshold)`:``]}),(0,q.jsx)(u,{children:` `}),(0,q.jsx)(u,{dimColor:!0,italic:!0,children:`Estimated usage by category`}),g.map((e,t)=>{let n=v(e.tokens),i=e.isDeferred?`N/A`:`${(e.tokens/r*100).toFixed(1)}%`,a=e.name===J,o=e.name,s=e.isDeferred?` `:a?`⛝`:`⛁`;return(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{color:e.color,children:s}),(0,q.jsxs)(u,{children:[` `,o,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[n,` tokens (`,i,`)`]})]},t)}),(t.find(e=>e.name===`Free space`)?.tokens??0)>0&&(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{dimColor:!0,children:`⛶`}),(0,q.jsx)(u,{children:` Free space: `}),(0,q.jsxs)(u,{dimColor:!0,children:[v(t.find(e=>e.name===`Free space`)?.tokens||0),` (`,((t.find(e=>e.name===`Free space`)?.tokens||0)/r*100).toFixed(1),`%)`]})]}),b&&b.tokens>0&&(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{color:b.color,children:`⛝`}),(0,q.jsxs)(u,{dimColor:!0,children:[` `,b.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(b.tokens),` tokens (`,(b.tokens/r*100).toFixed(1),`%)`]})]})]})]}),(0,q.jsxs)(l,{flexDirection:`column`,marginLeft:-1,children:[c.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`MCP tools`}),(0,q.jsxs)(u,{dimColor:!0,children:[` · /mcp`,y?` (loaded on-demand)`:``]})]}),c.some(e=>e.isLoaded)&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:`Loaded`}),c.filter(e=>e.isLoaded).map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),y&&c.some(e=>!e.isLoaded)&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:`Available`}),c.filter(e=>!e.isLoaded).map((e,t)=>(0,q.jsx)(l,{children:(0,q.jsxs)(u,{dimColor:!0,children:[`└ `,e.name]})},t))]}),!y&&c.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),f.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Custom agents`}),(0,q.jsx)(u,{dimColor:!0,children:` · /agents`})]}),Array.from(G(f).entries()).map(([e,t])=>(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.agentType,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]},e))]}),s.length>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Memory files`}),(0,q.jsx)(u,{dimColor:!0,children:` · /memory`})]}),s.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,_(e.path),`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]}),p&&p.tokens>0&&(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(l,{children:[(0,q.jsx)(u,{bold:!0,children:`Skills`}),(0,q.jsx)(u,{dimColor:!0,children:` · /skills`})]}),Array.from(G(p.skillFrontmatter).entries()).map(([e,t])=>(0,q.jsxs)(l,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(u,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(l,{children:[(0,q.jsxs)(u,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(u,{dimColor:!0,children:[v(e.tokens),` tokens`]})]},t))]},e))]})]}),(0,q.jsx)(V,{suggestions:O(e)})]})}var q,J,Y,X=e((()=>{f(),B(),g(),y(),h(),U(),q=p(),J=`Autocompact buffer`,Y=[`Project`,`User`,`Managed`,`Plugin`,`Built-in`]}));function Z(e){return c(e)}async function Q(e,t){let{messages:n,getAppState:r,options:{mainLoopModel:i,tools:a}}=t,c=Z(n),{messages:l}=await s(c),u=process.stdout.columns||80,d=r();return e(await E((0,$.jsx)(K,{data:await o(l,i,async()=>d.toolPermissionContext,a,d.agentDefinitions,u,t,void 0,c)}))),null}var $;e((()=>{X(),r(),a(),i(),D(),$=p()}))();export{Q as call};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{$_ as t,La as n,U_ as r,V_ as i,ev as a,ka as o}from"./loadAgentsDir-CwEfQDOw.js";import{cn as s,ln as c}from"./settings-CvhsRFaT.js";import{_ as l,v as u}from"./startupProfiler-2sjXZkIP.js";async function d(e){let{messages:t,getAppState:n,options:{mainLoopModel:r,tools:s,agentDefinitions:c,customSystemPrompt:l,appendSystemPrompt:u}}=e,d=o(t),{messages:f}=await a(d),p=n();return i(f,r,async()=>p.toolPermissionContext,s,c,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:n,rawMaxTokens:r,percentage:i,model:a,memoryFiles:o,mcpTools:c,agents:u,skills:d}=e,f=`## Context Usage
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{$_ as t,La as n,U_ as r,V_ as i,ev as a,ka as o}from"./loadAgentsDir-CbtNPJV3.js";import{cn as s,ln as c}from"./settings-CvhsRFaT.js";import{_ as l,v as u}from"./startupProfiler-2sjXZkIP.js";async function d(e){let{messages:t,getAppState:n,options:{mainLoopModel:r,tools:s,agentDefinitions:c,customSystemPrompt:l,appendSystemPrompt:u}}=e,d=o(t),{messages:f}=await a(d),p=n();return i(f,r,async()=>p.toolPermissionContext,s,c,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:n,rawMaxTokens:r,percentage:i,model:a,memoryFiles:o,mcpTools:c,agents:u,skills:d}=e,f=`## Context Usage
2
2
 
3
3
  `;f+=`**Model:** ${a} \n`,f+=`**Tokens:** ${l(n)} / ${l(r)} (${i}%)\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-044464Vs.js";t();export{n as call,e as collectContextData};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./conversation-a82khZ_n.js";e();export{t as clearConversation};
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Ch as n,Dn as r,FC as i,Fg as a,Kn as o,Lg as s,Ls as c,Mg as l,On as u,PC as d,Rs as f,St as p,Th as m,Tn as h,YT as g,br as _,di as v,h_ as y,hc as b,hn as x,jg as S,m_ as C,mi as w,nE as T,qt as E,sn as D,ti as O,tr as k,yt as A}from"./loadAgentsDir-CwEfQDOw.js";import{Dn as j,G as M,Qt as N,Tn as P,Wt as F,en as I,et as L,wn as R}from"./state-BPFYBqm1.js";import{o as z,s as B}from"./log-BlJ7CcKG.js";import{n as V,r as H}from"./analytics-DJobLaWP.js";import{at as U,ut as W}from"./sessionState-zhvcDpb2.js";import{n as G,t as K}from"./caches-FP8mGB4k.js";import{randomUUID as q}from"crypto";function J(){return Y}var Y,X=t((()=>{b(),Y=null}));function Z(){let e=J();if(!e)return;e.markTranscriptReset?.();let t={type:`status`,subtype:`status`,status:`conversation_cleared`,message:`conversation_cleared`,uuid:q()};e.writeSdkMessages([t])}async function Q({setMessages:t,readFileState:s,discoveredSkillNames:c,loadedNestedMemoryPaths:u,getAppState:d,setAppState:p,setConversationId:m}){let b=D();await E(`clear`,{getAppState:d,setAppState:p,signal:AbortSignal.timeout(b),timeoutMs:b});let x=M();x&&H(`tengu_cache_eviction_hint`,{scope:`conversation_clear`,last_request_id:x});let S=new Set,C=[],T=e=>`isBackgrounded`in e&&e.isBackgrounded===!1;if(d)for(let e of Object.values(d().tasks))T(e)||f(e)&&(S.add(e.agentId),C.push(e));t(()=>[]),Z();let{setContextBlocked:F}=(U(),e(W));F(!1),m&&m(q()),K(S),R(null),P(null),j(null),I(),i(L()),s.clear(),c?.clear(),u?.clear(),p&&p(e=>{let t={};for(let[n,r]of Object.entries(e.tasks)){if(!T(r)){t[n]=r;continue}try{r.status===`running`&&(l(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){B(e)}h(n)}return{...e,tasks:t,attribution:n(),standaloneAgentContext:void 0,fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:e.mcp.pluginReconnectKey}}}),g(),o(),N({setCurrentAsParent:!0}),await O();for(let e of C)e.status===`running`&&r(e.id,k(a(e.agentId)));let{saveMode:z}=(_(),e(w));z(`normal`);let V=A();V&&v(V);let G=await y(`clear`);G.length>0&&t(()=>G)}var $=t((()=>{X(),F(),V(),c(),S(),s(),m(),x(),z(),T(),d(),C(),_(),u(),p(),G()}));export{$ as n,Q as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Ch as n,Dn as r,FC as i,Fg as a,Kn as o,Lg as s,Ls as c,Mg as l,On as u,PC as d,Rs as f,St as p,Th as m,Tn as h,br as g,di as _,eE as v,h_ as y,hc as b,hn as x,jg as S,m_ as C,mi as w,qT as T,qt as E,sn as D,ti as O,tr as k,yt as A}from"./loadAgentsDir-CbtNPJV3.js";import{Dn as j,G as M,Qt as N,Tn as P,Wt as F,en as I,et as L,wn as R}from"./state-BPFYBqm1.js";import{o as z,s as B}from"./log-BlJ7CcKG.js";import{n as V,r as H}from"./analytics-DJobLaWP.js";import{at as U,ut as W}from"./sessionState-BlbRQ3Y6.js";import{n as G,t as K}from"./caches-ByLjTvdy.js";import{randomUUID as q}from"crypto";function J(){return Y}var Y,X=t((()=>{b(),Y=null}));function Z(){let e=J();if(!e)return;e.markTranscriptReset?.();let t={type:`status`,subtype:`status`,status:`conversation_cleared`,message:`conversation_cleared`,uuid:q()};e.writeSdkMessages([t])}async function Q({setMessages:t,readFileState:s,discoveredSkillNames:c,loadedNestedMemoryPaths:u,getAppState:d,setAppState:p,setConversationId:m}){let v=D();await E(`clear`,{getAppState:d,setAppState:p,signal:AbortSignal.timeout(v),timeoutMs:v});let b=M();b&&H(`tengu_cache_eviction_hint`,{scope:`conversation_clear`,last_request_id:b});let x=new Set,S=[],C=e=>`isBackgrounded`in e&&e.isBackgrounded===!1;if(d)for(let e of Object.values(d().tasks))C(e)||f(e)&&(x.add(e.agentId),S.push(e));t(()=>[]),Z();let{setContextBlocked:F}=(U(),e(W));F(!1),m&&m(q()),K(x),R(null),P(null),j(null),I(),i(L()),s.clear(),c?.clear(),u?.clear(),p&&p(e=>{let t={};for(let[n,r]of Object.entries(e.tasks)){if(!C(r)){t[n]=r;continue}try{r.status===`running`&&(l(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){B(e)}h(n)}return{...e,tasks:t,attribution:n(),standaloneAgentContext:void 0,fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:e.mcp.pluginReconnectKey}}}),T(),o(),N({setCurrentAsParent:!0}),await O();for(let e of S)e.status===`running`&&r(e.id,k(a(e.agentId)));let{saveMode:z}=(g(),e(w));z(`normal`);let V=A();V&&_(V);let G=await y(`clear`);G.length>0&&t(()=>G)}var $=t((()=>{X(),F(),V(),c(),S(),s(),m(),x(),z(),v(),d(),C(),g(),u(),p(),G()}));export{$ as n,Q as t};
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{C as n,S as r,c as i,i as a,x as o}from"./debug-BQj6h99Q.js";import{l as s,u as c}from"./oauth-D38aRTUb.js";import{Bt as l,Ot as u}from"./model-CeG-iOKF.js";import{t as d}from"./cliLaunch-xIVvtPZy.js";import{resolve as f}from"path";import{existsSync as p,unlinkSync as m}from"fs";import{randomUUID as h}from"crypto";a(),o(),e();function g(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`}var _=2e3,v=15e3,y=3,b=class{constructor(e,n){t(this,`proc`,void 0),t(this,`options`,void 0),t(this,`connected`,!1),t(this,`disconnected`,!1),t(this,`readLoopAbort`,null),t(this,`reconnectAttempt`,0),t(this,`maxReconnectAttempts`,void 0),t(this,`userInitiatedDisconnect`,!1),t(this,`reconnecting`,!1),this.proc=e,this.options=n,this.maxReconnectAttempts=n.maxReconnectAttempts??y}connect(){this.connected||(this.readLoopAbort=new AbortController,this.startReadLoop(),this.monitorExit(),this.connected=!0,this.options.onConnected())}async startReadLoop(){let e=this.proc.stdout;if(!e){this.options.onError(Error(`SSH process stdout is not available`));return}let t=e.getReader(),n=new TextDecoder,r=``;try{for(;!this.disconnected;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a=r.split(`
1
+ import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{C as n,S as r,c as i,i as a,x as o}from"./debug-BQj6h99Q.js";import{l as s,u as c}from"./oauth-D38aRTUb.js";import{Pt as l,St as u}from"./model-DlLO7TSx.js";import{t as d}from"./cliLaunch-xIVvtPZy.js";import{resolve as f}from"path";import{existsSync as p,unlinkSync as m}from"fs";import{randomUUID as h}from"crypto";a(),o(),e();function g(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`}var _=2e3,v=15e3,y=3,b=class{constructor(e,n){t(this,`proc`,void 0),t(this,`options`,void 0),t(this,`connected`,!1),t(this,`disconnected`,!1),t(this,`readLoopAbort`,null),t(this,`reconnectAttempt`,0),t(this,`maxReconnectAttempts`,void 0),t(this,`userInitiatedDisconnect`,!1),t(this,`reconnecting`,!1),this.proc=e,this.options=n,this.maxReconnectAttempts=n.maxReconnectAttempts??y}connect(){this.connected||(this.readLoopAbort=new AbortController,this.startReadLoop(),this.monitorExit(),this.connected=!0,this.options.onConnected())}async startReadLoop(){let e=this.proc.stdout;if(!e){this.options.onError(Error(`SSH process stdout is not available`));return}let t=e.getReader(),n=new TextDecoder,r=``;try{for(;!this.disconnected;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a=r.split(`
2
2
  `);r=a.pop()??``;for(let e of a){let t=e.trim();t&&this.processLine(t)}}}catch(e){this.disconnected||this.options.onError(e instanceof Error?e:Error(String(e)))}finally{t.releaseLock(),!this.disconnected&&!this.userInitiatedDisconnect&&this.handleProcessExit()}}monitorExit(){if(this.proc.exitCode!==null){this.userInitiatedDisconnect||this.handleProcessExit();return}this.proc.exited.then(()=>{!this.disconnected&&!this.userInitiatedDisconnect&&this.handleProcessExit()}).catch(()=>{!this.disconnected&&!this.userInitiatedDisconnect&&this.handleProcessExit()})}async handleProcessExit(){if(!(this.disconnected||this.reconnecting)){if(this.connected=!1,!this.options.reconnect){this.disconnected=!0,this.options.onDisconnected();return}if(this.reconnectAttempt>=this.maxReconnectAttempts){this.disconnected=!0,this.options.onDisconnected();return}this.reconnecting=!0;try{await this.attemptReconnect()}finally{this.reconnecting=!1}}}async attemptReconnect(){let e=this.options.reconnect;for(;this.reconnectAttempt<this.maxReconnectAttempts;){this.reconnectAttempt++,this.options.onReconnecting(this.reconnectAttempt,this.maxReconnectAttempts);let t=Math.min(_*2**(this.reconnectAttempt-1),v);if(await new Promise(e=>setTimeout(e,t)),this.userInitiatedDisconnect)return;try{let t=await e();this.proc=t,this.reconnectAttempt=0,this.connected=!0,this.startReadLoop(),this.monitorExit(),this.options.onConnected();return}catch(e){i(`[SSH] reconnect attempt ${this.reconnectAttempt} failed: ${e instanceof Error?e.message:String(e)}`)}}this.disconnected=!0,this.options.onDisconnected()}processLine(e){let t;try{t=r(e)}catch{return}if(!g(t))return;let n=t;if(n.type===`control_request`){let e=n;e.request.subtype===`can_use_tool`?this.options.onPermissionRequest(e.request,e.request_id):(i(`[SSH] Unsupported control request subtype: ${e.request.subtype}`),this.sendErrorResponse(e.request_id,`Unsupported control request subtype: ${e.request.subtype}`));return}n.type!==`control_response`&&n.type!==`keep_alive`&&n.type!==`control_cancel_request`&&n.type!==`streamlined_text`&&n.type!==`streamlined_tool_use_summary`&&!(n.type===`system`&&n.subtype===`post_turn_summary`)&&this.options.onMessage(n)}writeToStdin(e){try{let t=this.proc.stdin;if(!t||typeof t==`number`||this.disconnected)return!1;let n=new TextEncoder().encode(`${e}\n`);return t.write(n),t.flush?.(),!0}catch{return!1}}async sendMessage(e){let t=n({type:`user`,message:{role:`user`,content:e},parent_tool_use_id:null,session_id:``});return this.writeToStdin(t)}sendInterrupt(){let e=n({type:`control_request`,request_id:crypto.randomUUID(),request:{subtype:`interrupt`}});this.writeToStdin(e)}respondToPermissionRequest(e,t){let r=n({type:`control_response`,response:{subtype:`success`,request_id:e,response:{behavior:t.behavior,...t.behavior===`allow`?{updatedInput:t.updatedInput}:{message:t.message}}}});this.writeToStdin(r)}sendErrorResponse(e,t){let r=n({type:`control_response`,response:{subtype:`error`,request_id:e,error:t}});this.writeToStdin(r)}disconnect(){if(!this.disconnected){this.userInitiatedDisconnect=!0,this.disconnected=!0,this.connected=!1,this.readLoopAbort?.abort();try{let e=this.proc.stdin;e&&typeof e!=`number`&&e.end?.()}catch{}try{this.proc.kill()}catch{}}}isConnected(){return this.connected&&!this.disconnected}};l(),c(),a();var x=process.platform===`win32`;function S(){let e=process.env.ANTHROPIC_API_KEY;if(e)return{"x-api-key":e};let t=u();return t?.accessToken?{Authorization:`Bearer ${t.accessToken}`}:{}}function C(){return process.env.ANTHROPIC_BASE_URL||s().BASE_API_URL}async function w(e,t){if(t&&e.headers.get(`x-auth-nonce`)!==t)return new Response(`Forbidden`,{status:403});let n=C(),r=new URL(e.url),a=`${n}${r.pathname}${r.search}`,o=S();if(Object.keys(o).length===0)return new Response(JSON.stringify({error:`No API credentials available on local machine`}),{status:401,headers:{"content-type":`application/json`}});let s=new Headers(e.headers);for(let[e,t]of Object.entries(o))s.set(e,t);s.delete(`host`),s.delete(`x-auth-nonce`),i(`[SSHAuthProxy] ${e.method} ${r.pathname} -> ${a}`);try{let t=await fetch(a,{method:e.method,headers:s,body:e.body,duplex:`half`}),n=new Headers(t.headers);return n.delete(`content-encoding`),n.delete(`content-length`),new Response(t.body,{status:t.status,statusText:t.statusText,headers:n})}catch(e){let t=e instanceof Error?e.message:String(e);return i(`[SSHAuthProxy] upstream error: ${t}`),new Response(JSON.stringify({error:`Proxy upstream error: ${t}`}),{status:502,headers:{"content-type":`application/json`}})}}async function T(){let e=h();return x?D(e):E(e)}async function E(e){let t=`/tmp/claude-ssh-auth-${e}.sock`,n=Bun.serve({unix:t,fetch:e=>w(e,null)});return i(`[SSHAuthProxy] listening on unix:${t}`),{proxy:{stop(){n.stop(!0);try{m(t)}catch{}}},localAddress:t,authEnv:{ANTHROPIC_AUTH_SOCKET:t}}}async function D(e){let t=h(),n=Bun.serve({port:0,hostname:`127.0.0.1`,fetch:e=>w(e,t)}),r=n.port;return i(`[SSHAuthProxy] listening on TCP 127.0.0.1:${r} (nonce-protected)`),{proxy:{stop(){n.stop(!0)}},localAddress:`127.0.0.1:${r}`,authEnv:{ANTHROPIC_BASE_URL:`http://127.0.0.1:${r}`,ANTHROPIC_AUTH_NONCE:t}}}a();var O=15e3,k=class extends Error{constructor(e){super(e),this.name=`SSHProbeError`}};async function A(e,t){t?.(`Probing remote host…`);let n=Bun.spawn([`ssh`,`-o`,`BatchMode=yes`,`-o`,`ConnectTimeout=10`,e,`CLAUDE_BIN=$(test -x "$HOME/.local/bin/claude" && echo "$HOME/.local/bin/claude" || command -v claude 2>/dev/null); echo "$CLAUDE_BIN"; $CLAUDE_BIN --version 2>/dev/null; uname -sm; pwd`],{stdin:`ignore`,stdout:`pipe`,stderr:`pipe`}),r=await Promise.race([n.exited,new Promise((e,t)=>setTimeout(()=>t(new k(`SSH probe timed out after ${O/1e3}s`)),O))]),a=await new Response(n.stdout).text(),o=await new Response(n.stderr).text();if(r!==0)throw new k(`SSH probe failed: ${o.trim()||`exit code ${r}`}`);let s=a.split(`
3
3
  `).map(e=>e.trim()).filter(Boolean);i(`[SSHProbe] raw lines: ${JSON.stringify(s)}`);let c=s.findIndex(e=>/^(Linux|Darwin)\s/.test(e));if(c===-1)throw new k(`Could not detect remote platform (uname output missing)`);let l=c>=2&&s[c-2]||null,u=c>=1&&s[c-1]||null,d=u&&/^\d+\.\d+/.test(u)?u:null,f=l?.startsWith(`/`)??!1,p=s[c+1]||`/`,[m,h]=s[c].split(/\s+/),g=m===`Darwin`?`darwin`:`linux`,_=h===`aarch64`||h===`arm64`?`arm64`:`x64`;return t?.(`Detected ${g}/${_}`),{hasBinary:f&&d!==null,remoteVersion:d,remotePlatform:g,remoteArch:_,defaultCwd:p,binaryPath:f?l:null}}a();var j=6e4,M=`~/.local/bin`,N=`claude-code-cli.js`,P=`claude`;async function F(e,t,n=j){let r=Bun.spawn([`ssh`,`-o`,`ConnectTimeout=10`,e,t],{stdout:`pipe`,stderr:`pipe`}),i=setTimeout(()=>r.kill(),n);try{let[e,t]=await Promise.all([new Response(r.stdout).text(),new Response(r.stderr).text()]),n=await r.exited;return{stdout:e.trim(),stderr:t.trim(),exitCode:n}}finally{clearTimeout(i)}}function I(){let e=f(import.meta.dir,`../..`),t=f(e,`dist/cli.js`);if(p(t))return t;let n=f(e,`src/entrypoints/cli.tsx`);if(p(n))return n;throw Error("Cannot find local CLI binary to deploy. Run `bun run build` first.")}async function L(e){let{host:t,remotePlatform:n,remoteArch:r,localVersion:a,onProgress:o}=e;if(n!==`linux`&&n!==`darwin`)throw Error(`Remote platform "${n}" is not supported. Only linux and darwin are supported.`);i(`[SSHDeploy] deploying to ${t} (${n}/${r}, v${a})`);let s=I();i(`[SSHDeploy] local binary: ${s}`),o?.(`Creating remote directory...`);let c=await F(t,`mkdir -p ${M}`);if(c.exitCode!==0)throw Error(`Failed to create remote directory: ${c.stderr}`);o?.(`Uploading binary...`);let l=`${M}/${N}`,u=Bun.spawn([`scp`,`-o`,`ConnectTimeout=10`,s,`${t}:${l}`],{stdout:`pipe`,stderr:`pipe`}),d=setTimeout(()=>u.kill(),j),f=await new Response(u.stderr).text(),p=await u.exited;if(clearTimeout(d),p!==0)throw Error(`SCP upload failed (exit ${p}): ${f.trim()}`);o?.(`Installing wrapper script...`);let m=await F(t,[`cat > ${M}/${P} << 'WRAPPER'`,`#!/bin/sh`,`exec bun ${M}/${N} "$@"`,`WRAPPER`,`chmod +x ${M}/${P}`].join(`
4
4
  `));if(m.exitCode!==0)throw Error(`Failed to install wrapper script: ${m.stderr}`);o?.(`Verifying installation...`);let h=await F(t,`${M}/${P} --version`);if(h.exitCode!==0)throw Error(`Binary deployed but verification failed (exit ${h.exitCode}): ${h.stderr}`);return i(`[SSHDeploy] deployed successfully, remote version: ${h.stdout}`),o?.(`Deployed v${h.stdout}`),`${M}/${P}`}a(),o();var R=3e4,z=20,B=class extends Error{constructor(e){super(e),this.name=`SSHSessionError`}};async function V(e,t){let{host:n,localVersion:r,extraCliArgs:a,remoteBin:o}=e,s=t?.onProgress,c,l=`/`;if(o){s?.(`Using custom remote binary, skipping probe/deploy…`),c=o,i(`[SSH] custom remoteBin: ${o}`);try{let e=Bun.spawn([`ssh`,`-o`,`BatchMode=yes`,`-o`,`ConnectTimeout=5`,n,`pwd`],{stdin:`ignore`,stdout:`pipe`,stderr:`ignore`});await e.exited;let t=(await new Response(e.stdout).text()).trim();t.startsWith(`/`)&&(l=t)}catch{}}else{let e=await A(n,s);i(`[SSH] probe result: ${JSON.stringify(e)}`),l=e.defaultCwd,c=e.binaryPath??`~/.local/bin/claude`,(!e.hasBinary||e.remoteVersion!==r)&&(s?.(e.hasBinary?`Updating remote binary (${e.remoteVersion} → ${r})…`:`Deploying binary to remote…`),c=await L({host:n,remotePlatform:e.remotePlatform,remoteArch:e.remoteArch,localVersion:r,onProgress:s}))}let{proxy:u,localAddress:d,authEnv:f}=await T();i(`[SSH] auth proxy listening on ${d}`);let p=h().slice(0,8),m=process.platform===`win32`,g=[];for(let[e,t]of Object.entries(f))g.push(`${e}=${t}`);g.push(c,`--output-format`,`stream-json`,`--input-format`,`stream-json`,`--verbose`,`-p`),e.cwd&&g.push(`--cwd`,e.cwd),e.permissionMode&&g.push(`--permission-mode`,e.permissionMode),e.dangerouslySkipPermissions&&g.push(`--dangerously-skip-permissions`),g.push(...a);let _=[`ssh`];if(m){let e=d.split(`:`)[1],t=1e4+Math.floor(Math.random()*5e4);_.push(`-R`,`${t}:127.0.0.1:${e}`);let n=g.findIndex(e=>e.startsWith(`ANTHROPIC_BASE_URL=`));n!==-1&&(g[n]=`ANTHROPIC_BASE_URL=http://127.0.0.1:${t}`)}else{let e=`/tmp/claude-ssh-auth-${p}.sock`;_.push(`-R`,`${e}:${d}`),_.push(`-o`,`StreamLocalBindUnlink=yes`);let t=g.indexOf(`ANTHROPIC_AUTH_SOCKET=${f.ANTHROPIC_AUTH_SOCKET}`);t!==-1&&(g[t]=`ANTHROPIC_AUTH_SOCKET=${e}`)}_.push(n,g.join(` `)),s?.(`Starting remote session…`),i(`[SSH] spawning: ${_.join(` `)}`);let v;try{v=Bun.spawn(_,{stdin:`pipe`,stdout:`pipe`,stderr:`pipe`})}catch(e){throw u.stop(),new B(`Failed to spawn SSH process: ${e instanceof Error?e.message:String(e)}`)}let y=[];W(v,y);let x;if(o){let t=await Promise.race([v.exited.then(e=>e),new Promise(e=>setTimeout(()=>e(null),3e3))]);if(t!==null){u.stop();let e=y.join(``).trim();throw new B(`Remote process exited immediately (code ${t})${e?`: ${e}`:``}`)}x=e.cwd||l||`/`}else try{x=await U(v,e.cwd||l)}catch(e){throw u.stop(),v.kill(),e}i(`[SSH] remote session initialized, remoteCwd=${x}`);let S=v,C=async()=>{i(`[SSH] reconnect: re-spawning SSH process with --continue`);let e=[..._],t=e.length-1,n=e[t];n.includes(`--continue`)||(e[t]=n.replace(/ -p(?:\s|$)/,` -p --continue `));let r=Bun.spawn(e,{stdin:`pipe`,stdout:`pipe`,stderr:`pipe`}),a=[];return W(r,a),await U(r,x),S=r,y.length=0,y.push(...a),r};return{remoteCwd:x,get proc(){return S},proxy:u,createManager(e){return new b(S,{...e,reconnect:C})},getStderrTail(){return y.slice(-20).join(``)}}}async function H(e){let{proxy:t,authEnv:n}=await T(),r=[`--output-format`,`stream-json`,`--input-format`,`stream-json`,`-p`];e.cwd&&r.push(`--cwd`,e.cwd),e.permissionMode&&r.push(`--permission-mode`,e.permissionMode),e.dangerouslySkipPermissions&&r.push(`--dangerously-skip-permissions`);let a=d(r),o;try{o=Bun.spawn([a.execPath,...a.args],{stdin:`pipe`,stdout:`pipe`,stderr:`pipe`,env:{...a.env,...n}})}catch(e){throw t.stop(),new B(`Failed to spawn local CLI process: ${e instanceof Error?e.message:String(e)}`)}i(`[SSH] local session spawned, waiting for init message...`);let s=[];W(o,s);let c;try{c=await U(o,e.cwd)}catch(e){throw t.stop(),o.kill(),e}i(`[SSH] local session initialized, remoteCwd=${c}`);let l=o,u=async()=>{i(`[SSH] local reconnect: re-spawning CLI with --continue`);let e=[...r];e.includes(`--continue`)||e.push(`--continue`);let t=d(e),a=Bun.spawn([t.execPath,...t.args],{stdin:`pipe`,stdout:`pipe`,stderr:`pipe`,env:{...t.env,...n}}),o=[];return W(a,o),await U(a,c),l=a,s.length=0,s.push(...o),a};return{remoteCwd:c,get proc(){return l},proxy:t,createManager(e){return new b(l,{...e,reconnect:u})},getStderrTail(){return s.slice(-20).join(``)}}}async function U(e,t){let n=e.stdout;if(!n)throw new B(`Child process stdout is not readable`);let i=n.getReader(),a=new TextDecoder,o=``,s=Date.now()+R;try{for(;Date.now()<s;){let e=s-Date.now(),n=await Promise.race([i.read(),new Promise((t,n)=>setTimeout(()=>n(new B(`Remote CLI did not initialize within 30 seconds. Check SSH connectivity and remote binary.`)),e))]);if(n.done)throw new B(`Child process exited before sending init message`);o+=a.decode(n.value,{stream:!0});let c=o.split(`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{P as t,R as n,c as r,i}from"./debug-BQj6h99Q.js";import{i as a,t as o}from"./sessionIdCompat-Dgp6PW_1.js";import{i as s,o as c}from"./debugUtils-B86DM1Sp.js";async function l({environmentId:e,title:n,events:i,gitRepoUrl:a,branch:o,signal:c,baseUrl:l,getAccessToken:u,permissionMode:d}){let{getClaudeAIOAuthTokens:f}=await import(`./auth-DG5bkWDc.js`),{getOrganizationUUID:p}=await import(`./client-BU7upHOb.js`),{getOauthConfig:m}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:h}=await import(`./api-CpD5jeKe.js`),{parseGitHubRepository:g}=await import(`./detectRepository-tRUoPOKy.js`),{getDefaultBranch:_}=await import(`./git-BaSq69E7.js`),{getMainLoopModel:v}=await import(`./model-CVG_RRTy.js`),{default:y}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:b}=await import(`./bridgeConfig-CABsoOum.js`),x=u?.()??f()?.accessToken;if(!x)return r(`[bridge] No access token for session creation`),null;let S=b()?`self-hosted`:await p();if(!S)return r(`[bridge] No org UUID for session creation`),null;let C=null,w=null;if(a){let{parseGitRemote:e}=await import(`./detectRepository-tRUoPOKy.js`),t=e(a);if(t){let{host:e,owner:n,name:r}=t,i=o||await _()||void 0;C={type:`git_repository`,url:`https://${e}/${n}/${r}`,revision:i},w={type:`git_repository`,git_info:{type:`github`,repo:`${n}/${r}`,branches:[`claude/${o||`task`}`]}}}else{let e=g(a);if(e){let[t,n]=e.split(`/`);if(t&&n){let e=o||await _()||void 0;C={type:`git_repository`,url:`https://github.com/${t}/${n}`,revision:e},w={type:`git_repository`,git_info:{type:`github`,repo:`${t}/${n}`,branches:[`claude/${o||`task`}`]}}}}}}let T={...n!==void 0&&{title:n},events:i,session_context:{sources:C?[C]:[],outcomes:w?[w]:[],model:v()},environment_id:e,source:`remote-control`,...d&&{permission_mode:d}},E={...h(x),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":S},D=`${l??m().BASE_API_URL}/v1/sessions`,O;try{O=await y.post(D,T,{headers:E,signal:c,validateStatus:e=>e<500})}catch(e){return r(`[bridge] Session creation request failed: ${t(e)}`),null}if(!(O.status===200||O.status===201)){let e=s(O.data);return r(`[bridge] Session creation failed with status ${O.status}${e?`: ${e}`:``}`),null}let k=O.data;return!k||typeof k!=`object`||!(`id`in k)||typeof k.id!=`string`?(r(`[bridge] No session ID in response`),null):k.id}async function u(e,n){let{getClaudeAIOAuthTokens:i}=await import(`./auth-DG5bkWDc.js`),{getOrganizationUUID:a}=await import(`./client-BU7upHOb.js`),{getOauthConfig:o}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:c}=await import(`./api-CpD5jeKe.js`),{default:l}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:u}=await import(`./bridgeConfig-CABsoOum.js`),d=n?.getAccessToken?.()??i()?.accessToken;if(!d)return r(`[bridge] No access token for session fetch`),null;let f=u()?`self-hosted`:await a();if(!f)return r(`[bridge] No org UUID for session fetch`),null;let p={...c(d),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":f},m=`${n?.baseUrl??o().BASE_API_URL}/v1/sessions/${e}`;r(`[bridge] Fetching session ${e}`);let h;try{h=await l.get(m,{headers:p,timeout:1e4,validateStatus:e=>e<500})}catch(e){return r(`[bridge] Session fetch request failed: ${t(e)}`),null}if(h.status!==200){let e=s(h.data);return r(`[bridge] Session fetch failed with status ${h.status}${e?`: ${e}`:``}`),null}return h.data}async function d(e,t){let{getClaudeAIOAuthTokens:n}=await import(`./auth-DG5bkWDc.js`),{getOrganizationUUID:i}=await import(`./client-BU7upHOb.js`),{getOauthConfig:a}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:o}=await import(`./api-CpD5jeKe.js`),{default:c}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:l}=await import(`./bridgeConfig-CABsoOum.js`),u=t?.getAccessToken?.()??n()?.accessToken;if(!u){r(`[bridge] No access token for session archive`);return}let d=l()?`self-hosted`:await i();if(!d){r(`[bridge] No org UUID for session archive`);return}let f={...o(u),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":d},p=`${t?.baseUrl??a().BASE_API_URL}/v1/sessions/${e}/archive`;r(`[bridge] Archiving session ${e}`);let m=await c.post(p,{},{headers:f,timeout:t?.timeoutMs??1e4,validateStatus:e=>e<500});if(m.status===200)r(`[bridge] Session ${e} archived successfully`);else{let e=s(m.data);r(`[bridge] Session archive failed with status ${m.status}${e?`: ${e}`:``}`)}}async function f(e,n,i){let{getClaudeAIOAuthTokens:o}=await import(`./auth-DG5bkWDc.js`),{getOrganizationUUID:c}=await import(`./client-BU7upHOb.js`),{getOauthConfig:l}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:u}=await import(`./api-CpD5jeKe.js`),{default:d}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:f}=await import(`./bridgeConfig-CABsoOum.js`),p=i?.getAccessToken?.()??o()?.accessToken;if(!p){r(`[bridge] No access token for session title update`);return}let m=f()?`self-hosted`:await c();if(!m){r(`[bridge] No org UUID for session title update`);return}let h={...u(p),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":m},g=a(e),_=`${i?.baseUrl??l().BASE_API_URL}/v1/sessions/${g}`;r(`[bridge] Updating session title: ${g} → ${n}`);try{let e=await d.patch(_,{title:n},{headers:h,timeout:1e4,validateStatus:e=>e<500});if(e.status===200)r(`[bridge] Session title updated successfully`);else{let t=s(e.data);r(`[bridge] Session title update failed with status ${e.status}${t?`: ${t}`:``}`)}}catch(e){r(`[bridge] Session title update request failed: ${t(e)}`)}}var p=e((()=>{i(),n(),c(),o()}));export{f as a,p as i,l as n,u as r,d as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{P as t,R as n,c as r,i}from"./debug-BQj6h99Q.js";import{i as a,t as o}from"./sessionIdCompat-Dgp6PW_1.js";import{i as s,o as c}from"./debugUtils-B86DM1Sp.js";async function l({environmentId:e,title:n,events:i,gitRepoUrl:a,branch:o,signal:c,baseUrl:l,getAccessToken:u,permissionMode:d}){let{getClaudeAIOAuthTokens:f}=await import(`./auth-DkhPycBL.js`),{getOrganizationUUID:p}=await import(`./client-Bl43xcRk.js`),{getOauthConfig:m}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:h}=await import(`./api-BAT--5sp.js`),{parseGitHubRepository:g}=await import(`./detectRepository-tRUoPOKy.js`),{getDefaultBranch:_}=await import(`./git-BaSq69E7.js`),{getMainLoopModel:v}=await import(`./model-DLG1nrnf.js`),{default:y}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:b}=await import(`./bridgeConfig-D31i4BRi.js`),x=u?.()??f()?.accessToken;if(!x)return r(`[bridge] No access token for session creation`),null;let S=b()?`self-hosted`:await p();if(!S)return r(`[bridge] No org UUID for session creation`),null;let C=null,w=null;if(a){let{parseGitRemote:e}=await import(`./detectRepository-tRUoPOKy.js`),t=e(a);if(t){let{host:e,owner:n,name:r}=t,i=o||await _()||void 0;C={type:`git_repository`,url:`https://${e}/${n}/${r}`,revision:i},w={type:`git_repository`,git_info:{type:`github`,repo:`${n}/${r}`,branches:[`claude/${o||`task`}`]}}}else{let e=g(a);if(e){let[t,n]=e.split(`/`);if(t&&n){let e=o||await _()||void 0;C={type:`git_repository`,url:`https://github.com/${t}/${n}`,revision:e},w={type:`git_repository`,git_info:{type:`github`,repo:`${t}/${n}`,branches:[`claude/${o||`task`}`]}}}}}}let T={...n!==void 0&&{title:n},events:i,session_context:{sources:C?[C]:[],outcomes:w?[w]:[],model:v()},environment_id:e,source:`remote-control`,...d&&{permission_mode:d}},E={...h(x),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":S},D=`${l??m().BASE_API_URL}/v1/sessions`,O;try{O=await y.post(D,T,{headers:E,signal:c,validateStatus:e=>e<500})}catch(e){return r(`[bridge] Session creation request failed: ${t(e)}`),null}if(!(O.status===200||O.status===201)){let e=s(O.data);return r(`[bridge] Session creation failed with status ${O.status}${e?`: ${e}`:``}`),null}let k=O.data;return!k||typeof k!=`object`||!(`id`in k)||typeof k.id!=`string`?(r(`[bridge] No session ID in response`),null):k.id}async function u(e,n){let{getClaudeAIOAuthTokens:i}=await import(`./auth-DkhPycBL.js`),{getOrganizationUUID:a}=await import(`./client-Bl43xcRk.js`),{getOauthConfig:o}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:c}=await import(`./api-BAT--5sp.js`),{default:l}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:u}=await import(`./bridgeConfig-D31i4BRi.js`),d=n?.getAccessToken?.()??i()?.accessToken;if(!d)return r(`[bridge] No access token for session fetch`),null;let f=u()?`self-hosted`:await a();if(!f)return r(`[bridge] No org UUID for session fetch`),null;let p={...c(d),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":f},m=`${n?.baseUrl??o().BASE_API_URL}/v1/sessions/${e}`;r(`[bridge] Fetching session ${e}`);let h;try{h=await l.get(m,{headers:p,timeout:1e4,validateStatus:e=>e<500})}catch(e){return r(`[bridge] Session fetch request failed: ${t(e)}`),null}if(h.status!==200){let e=s(h.data);return r(`[bridge] Session fetch failed with status ${h.status}${e?`: ${e}`:``}`),null}return h.data}async function d(e,t){let{getClaudeAIOAuthTokens:n}=await import(`./auth-DkhPycBL.js`),{getOrganizationUUID:i}=await import(`./client-Bl43xcRk.js`),{getOauthConfig:a}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:o}=await import(`./api-BAT--5sp.js`),{default:c}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:l}=await import(`./bridgeConfig-D31i4BRi.js`),u=t?.getAccessToken?.()??n()?.accessToken;if(!u){r(`[bridge] No access token for session archive`);return}let d=l()?`self-hosted`:await i();if(!d){r(`[bridge] No org UUID for session archive`);return}let f={...o(u),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":d},p=`${t?.baseUrl??a().BASE_API_URL}/v1/sessions/${e}/archive`;r(`[bridge] Archiving session ${e}`);let m=await c.post(p,{},{headers:f,timeout:t?.timeoutMs??1e4,validateStatus:e=>e<500});if(m.status===200)r(`[bridge] Session ${e} archived successfully`);else{let e=s(m.data);r(`[bridge] Session archive failed with status ${m.status}${e?`: ${e}`:``}`)}}async function f(e,n,i){let{getClaudeAIOAuthTokens:o}=await import(`./auth-DkhPycBL.js`),{getOrganizationUUID:c}=await import(`./client-Bl43xcRk.js`),{getOauthConfig:l}=await import(`./oauth-U649LV5H.js`),{getOAuthHeaders:u}=await import(`./api-BAT--5sp.js`),{default:d}=await import(`./axios-BHBm_hhU.js`),{isSelfHostedBridge:f}=await import(`./bridgeConfig-D31i4BRi.js`),p=i?.getAccessToken?.()??o()?.accessToken;if(!p){r(`[bridge] No access token for session title update`);return}let m=f()?`self-hosted`:await c();if(!m){r(`[bridge] No org UUID for session title update`);return}let h={...u(p),"anthropic-beta":`ccr-byoc-2025-07-29`,"x-organization-uuid":m},g=a(e),_=`${i?.baseUrl??l().BASE_API_URL}/v1/sessions/${g}`;r(`[bridge] Updating session title: ${g} → ${n}`);try{let e=await d.patch(_,{title:n},{headers:h,timeout:1e4,validateStatus:e=>e<500});if(e.status===200)r(`[bridge] Session title updated successfully`);else{let t=s(e.data);r(`[bridge] Session title update failed with status ${e.status}${t?`: ${t}`:``}`)}}catch(e){r(`[bridge] Session title update request failed: ${t(e)}`)}}var p=e((()=>{i(),n(),c(),o()}));export{f as a,p as i,l as n,u as r,d as t};
@@ -0,0 +1 @@
1
+ import{a as e,i as t,n,r}from"./createSession-8ScCWTKb.js";t();export{n as createBridgeSession,r as getBridgeSession,e as updateBridgeSessionTitle};
@@ -1,4 +1,4 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{$u as n,Ci as r,Dp as i,Gc as a,Hu as o,Jw as s,Mu as c,Nr as l,Op as u,Pu as d,Qu as f,Si as ee,Sr as te,Uu as p,Yw as m,br as h,cd as ne,fr as g,hC as _,ir as v,ld as re,oi as ie,qc as ae,wr as y,xC as oe}from"./loadAgentsDir-CwEfQDOw.js";import{C as se,D as b,Gr as x,H as ce,I as S,P as C,T as w,Wt as le,Xn as ue,ai as T,di as E,fi as de,hn as fe,k as pe,oi as me,ot as he,p as D,t as ge}from"./src-DL3w8VPk2.js";import{t as O}from"./jsx-runtime-Bb4Xn-E0.js";import{Wt as _e,et as ve,pt as ye}from"./state-BPFYBqm1.js";import{S as k,c as A,i as be,x as xe}from"./debug-BQj6h99Q.js";import{Ln as j,Rn as Se}from"./settings-CvhsRFaT.js";import{i as Ce,m as we}from"./git-DplvjXEY.js";import{a as Te,o as Ee,s as De}from"./log-BlJ7CcKG.js";import{n as Oe,r as M}from"./analytics-DJobLaWP.js";import{C as ke,d as Ae,m as je,v as Me}from"./startupProfiler-2sjXZkIP.js";import{_ as N,h as P}from"./model-CeG-iOKF.js";import{i as Ne,r as Pe}from"./shellQuote-D3Ocv_U-.js";import{n as Fe,t as Ie}from"./useExitOnCtrlCDWithKeybindings-D48aDPG9.js";import{t as Le}from"./SearchBox-CwwV0W-w.js";import{n as Re,t as ze}from"./useSearchInput-DkVER3cm.js";import{n as F,t as Be}from"./Messages-D6CRTH2m.js";function Ve({log:e,onExit:t,onSelect:n}){let[r,o]=I.useState(null);I.useEffect(()=>{o(null),y(e)&&l(e).then(o)},[e]);let s=y(e)&&r===null,c=r??e,u=g(c)||``,d=a();return le(`confirm:no`,t,{context:`Confirmation`}),le(`confirm:yes`,(0,I.useCallback)(()=>{n(r??e)},[n,r,e]),{context:`Confirmation`}),s?(0,L.jsxs)(S,{flexDirection:`column`,padding:1,children:[(0,L.jsx)(D,{message:`Loading session…`}),(0,L.jsx)(C,{dimColor:!0,children:(0,L.jsx)(w,{children:(0,L.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,L.jsxs)(S,{flexDirection:`column`,children:[(0,L.jsx)(Be,{messages:c.messages,tools:d,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:u,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,L.jsxs)(S,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,L.jsxs)(C,{children:[je(c.modified),` · `,c.messageCount,` messages`,c.gitBranch?` · ${c.gitBranch}`:``]}),(0,L.jsx)(C,{dimColor:!0,children:(0,L.jsxs)(w,{children:[(0,L.jsx)(b,{shortcut:`Enter`,action:`resume`}),(0,L.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var I,L,He=e((()=>{I=t(T(),1),ge(),_(),ae(),Me(),h(),u(),F(),L=O()}));function R(e,t){if(e===B)return 5;let n=x(e),r=t?Math.min(n,t-V-H):n;return Math.max(0,r)+V+H}function Ue(e,t){let n=t-V-H;return x(e)<=n?e:n<=1?e.charAt(0):ke(e,n)}function We({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,o=Math.max(Ye,W),s=n-a-o-2,c=Math.max(0,Math.min(t,e.length-1)),l=Math.max(20,Math.floor(s/2)),u=e.map(e=>R(e,l)),d=0,f=e.length;if(u.reduce((e,t,n)=>e+t+ +(n<u.length-1),0)>s){let t=s-Je,n=u[c]??0;for(d=c,f=c+1;d>0||f<e.length;){let r=d>0,i=f<e.length;if(r){let e=(u[d-1]??0)+1;if(n+e<=t){d--,n+=e;continue}}if(i){let e=(u[f]??0)+1;if(n+e<=t){f++,n+=e;continue}}break}}let ee=d,te=e.length-f,p=e.slice(d,f),m=p.map((e,t)=>d+t);return(0,z.jsxs)(S,{flexDirection:`row`,gap:1,children:[(0,z.jsx)(C,{color:`suggestion`,children:i}),ee>0&&(0,z.jsxs)(C,{dimColor:!0,children:[U,ee]}),p.map((e,t)=>{let n=m[t]===c,r=e===B?e:`#${Ue(e,l-V)}`;return(0,z.jsxs)(C,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),te>0?(0,z.jsxs)(C,{dimColor:!0,children:[Ge,te,Ke]}):(0,z.jsx)(C,{dimColor:!0,children:qe})]})}var z,B,V,H,U,Ge,Ke,qe,Je,Ye,W,G=e((()=>{ge(),Me(),z=O(),B=`All`,V=2,H=1,U=`← `,Ge=`→`,Ke=` (tab to cycle)`,qe=`(tab to cycle)`,Je=5,Ye=18,W=14}));function Xe({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:o=`expanded`,isDisabled:s=!1,hideIndexes:c=!1,isNodeExpanded:l,onExpand:u,onCollapse:d,getParentPrefix:ee,getChildPrefix:te,onUpFromFirstItem:p}){let[m,h]=K.useState(new Set),ne=K.useRef(!1),g=K.useRef(null),_=K.useCallback(e=>l?l(e):m.has(e),[l,m]),v=K.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=K.useCallback(e=>e?`▼ `:`▶ `,[]),ie=K.useCallback(e=>` ▸ `,[]),ae=ee??re,y=te??ie,oe=K.useCallback(e=>{let t=``;return e.hasChildren?t=ae(e.isExpanded):e.depth>0&&(t=y(e.depth)),t+e.node.label},[ae,y]),se=K.useMemo(()=>v.map(e=>({label:oe(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[v,oe]),b=K.useMemo(()=>{let e=new Map;return v.forEach(t=>e.set(t.node.id,t.node)),e},[v]),x=K.useCallback(e=>v.find(t=>t.node.id===e),[v]),ce=K.useCallback((e,t)=>{x(e)?.hasChildren&&(t?u?u(e):h(t=>new Set(t).add(e)):d?d(e):h(t=>{let n=new Set(t);return n.delete(e),n}))},[x,u,d]);return(0,Ze.jsx)(S,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||s)return;let t=x(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),ce(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),ce(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),ne.current=!0,ce(t.parentId,!1),r)){let e=b.get(t.parentId);e&&r(e)}}}},children:(0,Ze.jsx)(f,{options:se,onChange:K.useCallback(e=>{let n=b.get(e);n&&t(n)},[b,t]),onFocus:K.useCallback(e=>{if(ne.current){ne.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=b.get(e);t&&r(t)}},[r,b]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:o,isDisabled:s,hideIndexes:c,onUpFromFirstItem:p})})}var K,Ze,Qe=e((()=>{K=t(T(),1),ge(),n(),Ze=O()}));function $e(e,t){return ke(e.replace(/\s+/g,` `).trim(),t)}function et({before:e,match:t,after:n},r){return E.dim(e)+r(t)+E.dim(n)}function tt(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 nt(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?lt:i?ut:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${$e(Te(e),l)}${c}${s}`}function rt(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=Ae(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function it({logs:e,maxHeight:t=1/0,forceWidth:n,onCancel:r,onSelect:a,onLogsChanged:s,onLoadMore:l,initialSearchQuery:u,showAllProjects:d=!1,onToggleAllProjects:p,onAgenticSearch:m}){let h=he(),_=n===void 0?h.columns:n,re=Fe(r),ae=ue(),y=te(),[oe]=ce(),x=o(oe),T=q.useMemo(()=>e=>me(e,x.warning),[x.warning]),[E,de]=q.useState(null),[D,ge]=q.useState(!1),[O,_e]=q.useState(!1),[k,A]=q.useState(!1),be=q.useMemo(()=>ve(),[]),[xe,j]=q.useState(``),[Se,we]=q.useState(0),[Ee,De]=q.useState(new Set),[Oe,ke]=q.useState(null),[je,Me]=q.useState(1),[N,P]=q.useState(`list`),[Ne,Pe]=q.useState(null),Ie=q.useRef(null),[Le,ze]=q.useState(0),[F,Be]=q.useState({status:`idle`}),[I,L]=q.useState(!1),He=q.useRef(null),{query:R,setQuery:Ue,cursorOffset:z}=Re({isActive:N===`search`&&F.status!==`searching`,onExit:()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},onExitUp:()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},passthroughCtrlKeys:[`n`],initialQuery:u||``}),B=q.useDeferredValue(R),[V,H]=q.useState(``);q.useEffect(()=>{if(!B){H(``);return}let e=setTimeout(H,300,B);return()=>clearTimeout(e)},[B]);let[U,Ge]=q.useState(null),[Ke,qe]=q.useState(!1);q.useEffect(()=>{Ce().then(e=>de(e)),ee(be).then(e=>{A(e.length>1)})},[be]);let Je=q.useMemo(()=>new Map(e.map(e=>[e,ot(e)])),[e]),Ye=q.useMemo(()=>null,[e,Je,!1]),W=q.useMemo(()=>ct(e),[e]),G=W.length>0,K=q.useMemo(()=>G?[`All`,...W]:[],[G,W]),Ze=K.length>0&&Le<K.length?Le:0,Qe=K[Ze],it=Qe===`All`?void 0:Qe,at=+!!G,lt=q.useMemo(()=>{let t=e;return y&&(t=e.filter(e=>{let t=ye(),n=g(e);return!!(t&&n===t||e.customTitle||v(e.messages)||e.firstPrompt||e.customTitle)})),it!==void 0&&(t=t.filter(e=>e.tag===it)),D&&E&&(t=t.filter(e=>e.gitBranch===E)),k&&!O&&(t=t.filter(e=>e.projectPath===be)),t},[e,y,it,D,E,k,O,be]),ut=q.useMemo(()=>{if(!R)return lt;let e=R.toLowerCase();return lt.filter(t=>{let n=Te(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)})},[lt,R]);q.useEffect(()=>{},[B,V,!1]),q.useEffect(()=>{Ge(null),qe(!1)},[V,Ye,!1]);let{filteredLogs:Y,snippets:X}=q.useMemo(()=>{let e=new Map,t=ut;if(U&&V&&U.query===V){for(let t of U.results)if(t.searchableText){let n=tt(t.searchableText,V,dt);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=U.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ut,U,V]),Z=q.useMemo(()=>F.status===`results`&&F.results.length>0?F.results:Y,[F,Y]),Q=Math.max(30,_-4),ft=q.useMemo(()=>{if(!y)return[];let e=st(Z);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Z.indexOf(n),i=X.get(n),a=i?et(i,T):null;if(t.length===1){let t=rt(n,{showProjectPath:d});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:nt(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?et(i,T):null,o=rt(t,{isChild:!0,showProjectPath:d});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:nt(t,Q,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=rt(n,{showProjectPath:d});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:nt(n,Q,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[y,Z,Q,d,X,T]),pt=q.useMemo(()=>y?[]:Z.map((e,t)=>{let n=$e(Te(e)+(e.isSidechain?` (sidechain)`:``),Q),r=Ae(e),i=d&&e.projectPath?` · ${e.projectPath}`:``,a=X.get(e),o=a?et(a,T):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[y,Z,T,Q,d,X]),$=Oe?.value.log??null,mt=()=>{if(!y||!$)return``;let e=g($);if(!e)return``;let t=Z.filter(t=>g(t)===e);if(!(t.length>1))return``;let n=Ee.has(e);return t.indexOf($)>0||n?`← to collapse`:`→ to expand`},ht=q.useCallback(async()=>{let e=$?g($):void 0;if(!$||!e){P(`list`),j(``);return}xe.trim()&&(await ie(e,xe.trim(),$.fullPath),y&&s&&s()),P(`list`),j(``)},[$,xe,s,y]),gt=q.useCallback(()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},[]),_t=q.useCallback(()=>{P(`search`),M(`tengu_session_search_toggled`,{enabled:!0})},[]),vt=q.useCallback(async()=>{if(!R.trim()||!m||!0)return;He.current?.abort();let t=new AbortController;He.current=t,Be({status:`searching`}),M(`tengu_agentic_search_started`,{query_length:R.length});try{let n=await m(R,e,t.signal);if(t.signal.aborted)return;Be({status:`results`,results:n,query:R}),M(`tengu_agentic_search_completed`,{query_length:R.length,results_count:n.length})}catch(e){if(t.signal.aborted)return;Be({status:`error`,message:e instanceof Error?e.message:`Search failed`}),M(`tengu_agentic_search_error`,{query_length:R.length})}},[R,m,!1,e]);q.useEffect(()=>{F.status!==`idle`&&F.status!==`searching`&&(F.status===`results`&&F.query!==R||F.status===`error`)&&Be({status:`idle`})},[R,F]),q.useEffect(()=>()=>{He.current?.abort()},[]);let yt=q.useRef(F.status);q.useEffect(()=>{let e=yt.current;if(yt.current=F.status,e===`searching`&&F.status===`results`){if(y&&ft.length>0)ke(ft[0]);else if(!y&&Z.length>0){let e=Z[0];ke({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[F.status,y,ft,Z]);let bt=q.useCallback(e=>{let t=parseInt(e,10),n=Z[t];!n||Ie.current===t.toString()||(Ie.current=t.toString(),ke({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Me(t+1))},[Z]),xt=q.useCallback(e=>{ke(e);let t=Z.findIndex(t=>g(t)===g(e.value.log));t>=0&&Me(t+1)},[Z]);le(`confirm:no`,()=>{He.current?.abort(),Be({status:`idle`}),M(`tengu_agentic_search_cancelled`,{})},{context:`Confirmation`,isActive:N!==`preview`&&F.status===`searching`}),le(`confirm:no`,()=>{P(`list`),j(``)},{context:`Settings`,isActive:N===`rename`&&F.status!==`searching`}),le(`confirm:no`,()=>{Ue(``),L(!1),r?.()},{context:`Confirmation`,isActive:N!==`preview`&&N!==`rename`&&N!==`search`&&I&&F.status!==`searching`}),fe((e,t)=>{if(N!==`preview`&&F.status!==`searching`&&N!==`rename`)if(N===`search`)e.toLowerCase()===`n`&&t.ctrl?gt():(t.return||t.downArrow)&&R.trim();else{if(I){if(t.return){vt(),L(!1);return}else if(t.downArrow){L(!1);return}else if(t.upArrow){P(`search`),L(!1);return}}if(G&&t.tab){let e=t.shift?-1:1;ze(t=>{let n=((t<K.length?t:0)+K.length+e)%K.length,r=K[n];return M(`tengu_session_tag_filter_changed`,{is_all:r===`All`,tag_count:W.length}),n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();if(r===`a`&&t.ctrl&&p)p(),M(`tengu_session_all_projects_toggled`,{enabled:!d});else if(r===`b`&&t.ctrl){let e=!D;ge(e),M(`tengu_session_branch_filter_toggled`,{enabled:e})}else if(r===`w`&&t.ctrl&&k){let e=!O;_e(e),M(`tengu_session_worktree_filter_toggled`,{enabled:e})}else r===`/`&&n?(P(`search`),M(`tengu_session_search_toggled`,{enabled:!0})):r===`r`&&t.ctrl&&$?(P(`rename`),j(``),M(`tengu_session_rename_started`,{})):r===`v`&&t.ctrl&&$?(Pe($),P(`preview`),M(`tengu_session_preview_opened`,{messageCount:$.messageCount})):$&&n&&e.length>0&&!/^\s+$/.test(e)&&(P(`search`),Ue(e),M(`tengu_session_search_toggled`,{enabled:!0}))}},{isActive:!0});let St=[];D&&E&&St.push(E),k&&!O&&St.push(`current worktree`);let Ct=8+ +(St.length>0&&N!==`search`)+at,wt=Math.max(1,Math.floor((t-Ct-2)/3));return q.useEffect(()=>{if(!l)return;let e=wt*2;je+e>=Z.length&&l(wt*3)},[je,wt,Z.length,l]),e.length===0?null:N===`preview`&&Ne&&y?(0,J.jsx)(Ve,{log:Ne,onExit:()=>{P(`list`),Pe(null)},onSelect:a}):(0,J.jsxs)(S,{flexDirection:`column`,height:t-1,children:[(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(se,{color:`suggestion`})}),(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(C,{children:` `})}),G?(0,J.jsx)(We,{tabs:K,selectedIndex:Ze,availableWidth:_,showAllProjects:d}):(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsxs)(C,{bold:!0,color:`suggestion`,children:[`Resume Session`,N===`list`&&Z.length>wt&&(0,J.jsxs)(C,{dimColor:!0,children:[` `,`(`,je,` of `,Z.length,`)`]})]})}),(0,J.jsx)(pe,{query:R,isFocused:N===`search`,isTerminalFocused:ae,cursorOffset:z}),St.length>0&&N!==`search`&&(0,J.jsx)(S,{flexShrink:0,paddingLeft:2,children:(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsx)(w,{children:St})})}),(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(C,{children:` `})}),F.status===`searching`&&(0,J.jsxs)(S,{paddingLeft:1,flexShrink:0,children:[(0,J.jsx)(c,{}),(0,J.jsx)(C,{children:` Searching…`})]}),F.status===`results`&&F.results.length>0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`Work Mate found these results:`})}),F.status===`results`&&F.results.length===0&&Y.length===0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),F.status===`error`&&Y.length===0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!R.trim()&&m&&!1,F.status===`searching`?null:N===`rename`&&$?(0,J.jsxs)(S,{paddingLeft:2,flexDirection:`column`,children:[(0,J.jsx)(C,{bold:!0,children:`Rename session:`}),(0,J.jsx)(S,{paddingTop:1,children:(0,J.jsx)(ne,{value:xe,onChange:j,onSubmit:ht,placeholder:Te($,`Enter new session name`),columns:_,cursorOffset:Se,onChangeCursorOffset:we,showCursor:!0})})]}):y?(0,J.jsx)(Xe,{nodes:ft,onSelect:e=>{a(e.value.log)},onFocus:xt,onCancel:r,focusNodeId:Oe?.id,visibleOptionCount:wt,layout:`expanded`,isDisabled:N===`search`||I,hideIndexes:!1,isNodeExpanded:e=>{if(N===`search`||D)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?Ee.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&(De(e=>new Set(e).add(t)),M(`tengu_session_group_expanded`,{}))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&De(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:_t}):(0,J.jsx)(f,{options:pt,onChange:e=>{let t=Z[parseInt(e,10)];t&&a(t)},visibleOptionCount:wt,onCancel:r,onFocus:bt,defaultFocusValue:Oe?.id.toString(),layout:`expanded`,isDisabled:N===`search`||I,onUpFromFirstItem:_t}),(0,J.jsx)(S,{paddingLeft:2,children:re.pending?(0,J.jsxs)(C,{dimColor:!0,children:[`Press `,re.keyName,` again to exit`]}):N===`rename`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(b,{shortcut:`Enter`,action:`save`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):F.status===`searching`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(C,{children:`Searching with Work Mate…`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):I?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(b,{shortcut:`Enter`,action:`search`}),(0,J.jsx)(b,{shortcut:`↓`,action:`skip`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):N===`search`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(C,{children:`Type to Search`}),(0,J.jsx)(b,{shortcut:`Enter`,action:`select`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[p&&(0,J.jsx)(b,{shortcut:`Ctrl+A`,action:`show ${d?`current dir`:`all projects`}`}),E&&(0,J.jsx)(b,{shortcut:`Ctrl+B`,action:`toggle branch`}),k&&(0,J.jsx)(b,{shortcut:`Ctrl+W`,action:`show ${O?`current worktree`:`all worktrees`}`}),(0,J.jsx)(b,{shortcut:`Ctrl+V`,action:`preview`}),(0,J.jsx)(b,{shortcut:`Ctrl+R`,action:`rename`}),(0,J.jsx)(C,{children:`Type to search`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),mt()&&(0,J.jsx)(C,{children:mt()})]})})})]})}function at(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 ot(e){let t=(e.messages.length<=Y?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-1e3)]).map(at).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 st(e){let t=new Map;for(let n of e){let e=g(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 ct(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 q,J,lt,ut,Y,X,Z,dt,Q=e((()=>{de(),q=t(T(),1),_e(),Ie(),ze(),oe(),ge(),_(),Oe(),Me(),r(),we(),Ee(),h(),p(),u(),n(),Le(),He(),d(),G(),re(),Qe(),J=O(),lt=2,ut=4,Y=2e3,X=1e3,Z=5e4,dt=50}));function ft(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 pt(e){if(e.length===0)return``;let t=(e.length<=gt?e:[...e.slice(0,gt/2),...e.slice(-100/2)]).map(ft).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>ht?`${t.slice(0,ht)}…`:t}function $(e,t){return!!(Te(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&&pt(e.messages).toLowerCase().includes(t))}async function mt(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>$(e,r)),a;if(i.length>=_t)a=i.slice(0,_t);else{let e=t.filter(e=>!$(e,r)),n=_t-i.length;a=[...i,...e.slice(0,n)]}A(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${j(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(y(e))try{return await l(e)}catch(t){return De(t),e}return e}),s=await Promise.all(o);A(`Agentic search: loaded ${j(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{$u as n,Ci as r,Dp as i,Gc as a,Hu as o,Jw as s,Mu as c,Nr as l,Op as u,Pu as d,Qu as f,Si as ee,Sr as te,Uu as p,Yw as m,br as h,cd as ne,fr as g,hC as _,ir as v,ld as re,oi as ie,qc as ae,wr as y,xC as oe}from"./loadAgentsDir-CbtNPJV3.js";import{C as se,D as b,Gr as x,H as ce,I as S,P as C,T as w,Wt as le,Xn as ue,ai as T,di as E,fi as de,hn as fe,k as pe,oi as me,ot as he,p as D,t as ge}from"./src-DL3w8VPk2.js";import{t as O}from"./jsx-runtime-Bb4Xn-E0.js";import{Wt as _e,et as ve,pt as ye}from"./state-BPFYBqm1.js";import{S as k,c as A,i as be,x as xe}from"./debug-BQj6h99Q.js";import{Ln as j,Rn as Se}from"./settings-CvhsRFaT.js";import{i as Ce,m as we}from"./git-DplvjXEY.js";import{a as Te,o as Ee,s as De}from"./log-BlJ7CcKG.js";import{n as Oe,r as M}from"./analytics-DJobLaWP.js";import{C as ke,d as Ae,m as je,v as Me}from"./startupProfiler-2sjXZkIP.js";import{_ as N,h as P}from"./model-DlLO7TSx.js";import{i as Ne,r as Pe}from"./shellQuote-D3Ocv_U-.js";import{n as Fe,t as Ie}from"./useExitOnCtrlCDWithKeybindings-YSWYVWk6.js";import{t as Le}from"./SearchBox-CwwV0W-w.js";import{n as Re,t as ze}from"./useSearchInput-DfUNYhqC.js";import{n as F,t as Be}from"./Messages-D5Uuapmf.js";function Ve({log:e,onExit:t,onSelect:n}){let[r,o]=I.useState(null);I.useEffect(()=>{o(null),y(e)&&l(e).then(o)},[e]);let s=y(e)&&r===null,c=r??e,u=g(c)||``,d=a();return le(`confirm:no`,t,{context:`Confirmation`}),le(`confirm:yes`,(0,I.useCallback)(()=>{n(r??e)},[n,r,e]),{context:`Confirmation`}),s?(0,L.jsxs)(S,{flexDirection:`column`,padding:1,children:[(0,L.jsx)(D,{message:`Loading session…`}),(0,L.jsx)(C,{dimColor:!0,children:(0,L.jsx)(w,{children:(0,L.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,L.jsxs)(S,{flexDirection:`column`,children:[(0,L.jsx)(Be,{messages:c.messages,tools:d,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:u,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,L.jsxs)(S,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,L.jsxs)(C,{children:[je(c.modified),` · `,c.messageCount,` messages`,c.gitBranch?` · ${c.gitBranch}`:``]}),(0,L.jsx)(C,{dimColor:!0,children:(0,L.jsxs)(w,{children:[(0,L.jsx)(b,{shortcut:`Enter`,action:`resume`}),(0,L.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var I,L,He=e((()=>{I=t(T(),1),ge(),_(),ae(),Me(),h(),u(),F(),L=O()}));function R(e,t){if(e===B)return 5;let n=x(e),r=t?Math.min(n,t-V-H):n;return Math.max(0,r)+V+H}function Ue(e,t){let n=t-V-H;return x(e)<=n?e:n<=1?e.charAt(0):ke(e,n)}function We({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,o=Math.max(Ye,W),s=n-a-o-2,c=Math.max(0,Math.min(t,e.length-1)),l=Math.max(20,Math.floor(s/2)),u=e.map(e=>R(e,l)),d=0,f=e.length;if(u.reduce((e,t,n)=>e+t+ +(n<u.length-1),0)>s){let t=s-Je,n=u[c]??0;for(d=c,f=c+1;d>0||f<e.length;){let r=d>0,i=f<e.length;if(r){let e=(u[d-1]??0)+1;if(n+e<=t){d--,n+=e;continue}}if(i){let e=(u[f]??0)+1;if(n+e<=t){f++,n+=e;continue}}break}}let ee=d,te=e.length-f,p=e.slice(d,f),m=p.map((e,t)=>d+t);return(0,z.jsxs)(S,{flexDirection:`row`,gap:1,children:[(0,z.jsx)(C,{color:`suggestion`,children:i}),ee>0&&(0,z.jsxs)(C,{dimColor:!0,children:[U,ee]}),p.map((e,t)=>{let n=m[t]===c,r=e===B?e:`#${Ue(e,l-V)}`;return(0,z.jsxs)(C,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),te>0?(0,z.jsxs)(C,{dimColor:!0,children:[Ge,te,Ke]}):(0,z.jsx)(C,{dimColor:!0,children:qe})]})}var z,B,V,H,U,Ge,Ke,qe,Je,Ye,W,G=e((()=>{ge(),Me(),z=O(),B=`All`,V=2,H=1,U=`← `,Ge=`→`,Ke=` (tab to cycle)`,qe=`(tab to cycle)`,Je=5,Ye=18,W=14}));function Xe({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:o=`expanded`,isDisabled:s=!1,hideIndexes:c=!1,isNodeExpanded:l,onExpand:u,onCollapse:d,getParentPrefix:ee,getChildPrefix:te,onUpFromFirstItem:p}){let[m,h]=K.useState(new Set),ne=K.useRef(!1),g=K.useRef(null),_=K.useCallback(e=>l?l(e):m.has(e),[l,m]),v=K.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=K.useCallback(e=>e?`▼ `:`▶ `,[]),ie=K.useCallback(e=>` ▸ `,[]),ae=ee??re,y=te??ie,oe=K.useCallback(e=>{let t=``;return e.hasChildren?t=ae(e.isExpanded):e.depth>0&&(t=y(e.depth)),t+e.node.label},[ae,y]),se=K.useMemo(()=>v.map(e=>({label:oe(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[v,oe]),b=K.useMemo(()=>{let e=new Map;return v.forEach(t=>e.set(t.node.id,t.node)),e},[v]),x=K.useCallback(e=>v.find(t=>t.node.id===e),[v]),ce=K.useCallback((e,t)=>{x(e)?.hasChildren&&(t?u?u(e):h(t=>new Set(t).add(e)):d?d(e):h(t=>{let n=new Set(t);return n.delete(e),n}))},[x,u,d]);return(0,Ze.jsx)(S,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||s)return;let t=x(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),ce(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),ce(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),ne.current=!0,ce(t.parentId,!1),r)){let e=b.get(t.parentId);e&&r(e)}}}},children:(0,Ze.jsx)(f,{options:se,onChange:K.useCallback(e=>{let n=b.get(e);n&&t(n)},[b,t]),onFocus:K.useCallback(e=>{if(ne.current){ne.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=b.get(e);t&&r(t)}},[r,b]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:o,isDisabled:s,hideIndexes:c,onUpFromFirstItem:p})})}var K,Ze,Qe=e((()=>{K=t(T(),1),ge(),n(),Ze=O()}));function $e(e,t){return ke(e.replace(/\s+/g,` `).trim(),t)}function et({before:e,match:t,after:n},r){return E.dim(e)+r(t)+E.dim(n)}function tt(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 nt(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?lt:i?ut:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${$e(Te(e),l)}${c}${s}`}function rt(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=Ae(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function it({logs:e,maxHeight:t=1/0,forceWidth:n,onCancel:r,onSelect:a,onLogsChanged:s,onLoadMore:l,initialSearchQuery:u,showAllProjects:d=!1,onToggleAllProjects:p,onAgenticSearch:m}){let h=he(),_=n===void 0?h.columns:n,re=Fe(r),ae=ue(),y=te(),[oe]=ce(),x=o(oe),T=q.useMemo(()=>e=>me(e,x.warning),[x.warning]),[E,de]=q.useState(null),[D,ge]=q.useState(!1),[O,_e]=q.useState(!1),[k,A]=q.useState(!1),be=q.useMemo(()=>ve(),[]),[xe,j]=q.useState(``),[Se,we]=q.useState(0),[Ee,De]=q.useState(new Set),[Oe,ke]=q.useState(null),[je,Me]=q.useState(1),[N,P]=q.useState(`list`),[Ne,Pe]=q.useState(null),Ie=q.useRef(null),[Le,ze]=q.useState(0),[F,Be]=q.useState({status:`idle`}),[I,L]=q.useState(!1),He=q.useRef(null),{query:R,setQuery:Ue,cursorOffset:z}=Re({isActive:N===`search`&&F.status!==`searching`,onExit:()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},onExitUp:()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},passthroughCtrlKeys:[`n`],initialQuery:u||``}),B=q.useDeferredValue(R),[V,H]=q.useState(``);q.useEffect(()=>{if(!B){H(``);return}let e=setTimeout(H,300,B);return()=>clearTimeout(e)},[B]);let[U,Ge]=q.useState(null),[Ke,qe]=q.useState(!1);q.useEffect(()=>{Ce().then(e=>de(e)),ee(be).then(e=>{A(e.length>1)})},[be]);let Je=q.useMemo(()=>new Map(e.map(e=>[e,ot(e)])),[e]),Ye=q.useMemo(()=>null,[e,Je,!1]),W=q.useMemo(()=>ct(e),[e]),G=W.length>0,K=q.useMemo(()=>G?[`All`,...W]:[],[G,W]),Ze=K.length>0&&Le<K.length?Le:0,Qe=K[Ze],it=Qe===`All`?void 0:Qe,at=+!!G,lt=q.useMemo(()=>{let t=e;return y&&(t=e.filter(e=>{let t=ye(),n=g(e);return!!(t&&n===t||e.customTitle||v(e.messages)||e.firstPrompt||e.customTitle)})),it!==void 0&&(t=t.filter(e=>e.tag===it)),D&&E&&(t=t.filter(e=>e.gitBranch===E)),k&&!O&&(t=t.filter(e=>e.projectPath===be)),t},[e,y,it,D,E,k,O,be]),ut=q.useMemo(()=>{if(!R)return lt;let e=R.toLowerCase();return lt.filter(t=>{let n=Te(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)})},[lt,R]);q.useEffect(()=>{},[B,V,!1]),q.useEffect(()=>{Ge(null),qe(!1)},[V,Ye,!1]);let{filteredLogs:Y,snippets:X}=q.useMemo(()=>{let e=new Map,t=ut;if(U&&V&&U.query===V){for(let t of U.results)if(t.searchableText){let n=tt(t.searchableText,V,dt);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=U.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[ut,U,V]),Z=q.useMemo(()=>F.status===`results`&&F.results.length>0?F.results:Y,[F,Y]),Q=Math.max(30,_-4),ft=q.useMemo(()=>{if(!y)return[];let e=st(Z);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Z.indexOf(n),i=X.get(n),a=i?et(i,T):null;if(t.length===1){let t=rt(n,{showProjectPath:d});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:nt(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?et(i,T):null,o=rt(t,{isChild:!0,showProjectPath:d});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:nt(t,Q,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=rt(n,{showProjectPath:d});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:nt(n,Q,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[y,Z,Q,d,X,T]),pt=q.useMemo(()=>y?[]:Z.map((e,t)=>{let n=$e(Te(e)+(e.isSidechain?` (sidechain)`:``),Q),r=Ae(e),i=d&&e.projectPath?` · ${e.projectPath}`:``,a=X.get(e),o=a?et(a,T):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[y,Z,T,Q,d,X]),$=Oe?.value.log??null,mt=()=>{if(!y||!$)return``;let e=g($);if(!e)return``;let t=Z.filter(t=>g(t)===e);if(!(t.length>1))return``;let n=Ee.has(e);return t.indexOf($)>0||n?`← to collapse`:`→ to expand`},ht=q.useCallback(async()=>{let e=$?g($):void 0;if(!$||!e){P(`list`),j(``);return}xe.trim()&&(await ie(e,xe.trim(),$.fullPath),y&&s&&s()),P(`list`),j(``)},[$,xe,s,y]),gt=q.useCallback(()=>{P(`list`),M(`tengu_session_search_toggled`,{enabled:!1})},[]),_t=q.useCallback(()=>{P(`search`),M(`tengu_session_search_toggled`,{enabled:!0})},[]),vt=q.useCallback(async()=>{if(!R.trim()||!m||!0)return;He.current?.abort();let t=new AbortController;He.current=t,Be({status:`searching`}),M(`tengu_agentic_search_started`,{query_length:R.length});try{let n=await m(R,e,t.signal);if(t.signal.aborted)return;Be({status:`results`,results:n,query:R}),M(`tengu_agentic_search_completed`,{query_length:R.length,results_count:n.length})}catch(e){if(t.signal.aborted)return;Be({status:`error`,message:e instanceof Error?e.message:`Search failed`}),M(`tengu_agentic_search_error`,{query_length:R.length})}},[R,m,!1,e]);q.useEffect(()=>{F.status!==`idle`&&F.status!==`searching`&&(F.status===`results`&&F.query!==R||F.status===`error`)&&Be({status:`idle`})},[R,F]),q.useEffect(()=>()=>{He.current?.abort()},[]);let yt=q.useRef(F.status);q.useEffect(()=>{let e=yt.current;if(yt.current=F.status,e===`searching`&&F.status===`results`){if(y&&ft.length>0)ke(ft[0]);else if(!y&&Z.length>0){let e=Z[0];ke({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[F.status,y,ft,Z]);let bt=q.useCallback(e=>{let t=parseInt(e,10),n=Z[t];!n||Ie.current===t.toString()||(Ie.current=t.toString(),ke({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Me(t+1))},[Z]),xt=q.useCallback(e=>{ke(e);let t=Z.findIndex(t=>g(t)===g(e.value.log));t>=0&&Me(t+1)},[Z]);le(`confirm:no`,()=>{He.current?.abort(),Be({status:`idle`}),M(`tengu_agentic_search_cancelled`,{})},{context:`Confirmation`,isActive:N!==`preview`&&F.status===`searching`}),le(`confirm:no`,()=>{P(`list`),j(``)},{context:`Settings`,isActive:N===`rename`&&F.status!==`searching`}),le(`confirm:no`,()=>{Ue(``),L(!1),r?.()},{context:`Confirmation`,isActive:N!==`preview`&&N!==`rename`&&N!==`search`&&I&&F.status!==`searching`}),fe((e,t)=>{if(N!==`preview`&&F.status!==`searching`&&N!==`rename`)if(N===`search`)e.toLowerCase()===`n`&&t.ctrl?gt():(t.return||t.downArrow)&&R.trim();else{if(I){if(t.return){vt(),L(!1);return}else if(t.downArrow){L(!1);return}else if(t.upArrow){P(`search`),L(!1);return}}if(G&&t.tab){let e=t.shift?-1:1;ze(t=>{let n=((t<K.length?t:0)+K.length+e)%K.length,r=K[n];return M(`tengu_session_tag_filter_changed`,{is_all:r===`All`,tag_count:W.length}),n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();if(r===`a`&&t.ctrl&&p)p(),M(`tengu_session_all_projects_toggled`,{enabled:!d});else if(r===`b`&&t.ctrl){let e=!D;ge(e),M(`tengu_session_branch_filter_toggled`,{enabled:e})}else if(r===`w`&&t.ctrl&&k){let e=!O;_e(e),M(`tengu_session_worktree_filter_toggled`,{enabled:e})}else r===`/`&&n?(P(`search`),M(`tengu_session_search_toggled`,{enabled:!0})):r===`r`&&t.ctrl&&$?(P(`rename`),j(``),M(`tengu_session_rename_started`,{})):r===`v`&&t.ctrl&&$?(Pe($),P(`preview`),M(`tengu_session_preview_opened`,{messageCount:$.messageCount})):$&&n&&e.length>0&&!/^\s+$/.test(e)&&(P(`search`),Ue(e),M(`tengu_session_search_toggled`,{enabled:!0}))}},{isActive:!0});let St=[];D&&E&&St.push(E),k&&!O&&St.push(`current worktree`);let Ct=8+ +(St.length>0&&N!==`search`)+at,wt=Math.max(1,Math.floor((t-Ct-2)/3));return q.useEffect(()=>{if(!l)return;let e=wt*2;je+e>=Z.length&&l(wt*3)},[je,wt,Z.length,l]),e.length===0?null:N===`preview`&&Ne&&y?(0,J.jsx)(Ve,{log:Ne,onExit:()=>{P(`list`),Pe(null)},onSelect:a}):(0,J.jsxs)(S,{flexDirection:`column`,height:t-1,children:[(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(se,{color:`suggestion`})}),(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(C,{children:` `})}),G?(0,J.jsx)(We,{tabs:K,selectedIndex:Ze,availableWidth:_,showAllProjects:d}):(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsxs)(C,{bold:!0,color:`suggestion`,children:[`Resume Session`,N===`list`&&Z.length>wt&&(0,J.jsxs)(C,{dimColor:!0,children:[` `,`(`,je,` of `,Z.length,`)`]})]})}),(0,J.jsx)(pe,{query:R,isFocused:N===`search`,isTerminalFocused:ae,cursorOffset:z}),St.length>0&&N!==`search`&&(0,J.jsx)(S,{flexShrink:0,paddingLeft:2,children:(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsx)(w,{children:St})})}),(0,J.jsx)(S,{flexShrink:0,children:(0,J.jsx)(C,{children:` `})}),F.status===`searching`&&(0,J.jsxs)(S,{paddingLeft:1,flexShrink:0,children:[(0,J.jsx)(c,{}),(0,J.jsx)(C,{children:` Searching…`})]}),F.status===`results`&&F.results.length>0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`Work Mate found these results:`})}),F.status===`results`&&F.results.length===0&&Y.length===0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),F.status===`error`&&Y.length===0&&(0,J.jsx)(S,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(C,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!R.trim()&&m&&!1,F.status===`searching`?null:N===`rename`&&$?(0,J.jsxs)(S,{paddingLeft:2,flexDirection:`column`,children:[(0,J.jsx)(C,{bold:!0,children:`Rename session:`}),(0,J.jsx)(S,{paddingTop:1,children:(0,J.jsx)(ne,{value:xe,onChange:j,onSubmit:ht,placeholder:Te($,`Enter new session name`),columns:_,cursorOffset:Se,onChangeCursorOffset:we,showCursor:!0})})]}):y?(0,J.jsx)(Xe,{nodes:ft,onSelect:e=>{a(e.value.log)},onFocus:xt,onCancel:r,focusNodeId:Oe?.id,visibleOptionCount:wt,layout:`expanded`,isDisabled:N===`search`||I,hideIndexes:!1,isNodeExpanded:e=>{if(N===`search`||D)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?Ee.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&(De(e=>new Set(e).add(t)),M(`tengu_session_group_expanded`,{}))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&De(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:_t}):(0,J.jsx)(f,{options:pt,onChange:e=>{let t=Z[parseInt(e,10)];t&&a(t)},visibleOptionCount:wt,onCancel:r,onFocus:bt,defaultFocusValue:Oe?.id.toString(),layout:`expanded`,isDisabled:N===`search`||I,onUpFromFirstItem:_t}),(0,J.jsx)(S,{paddingLeft:2,children:re.pending?(0,J.jsxs)(C,{dimColor:!0,children:[`Press `,re.keyName,` again to exit`]}):N===`rename`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(b,{shortcut:`Enter`,action:`save`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):F.status===`searching`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(C,{children:`Searching with Work Mate…`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):I?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(b,{shortcut:`Enter`,action:`search`}),(0,J.jsx)(b,{shortcut:`↓`,action:`skip`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):N===`search`?(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[(0,J.jsx)(C,{children:`Type to Search`}),(0,J.jsx)(b,{shortcut:`Enter`,action:`select`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,J.jsx)(C,{dimColor:!0,children:(0,J.jsxs)(w,{children:[p&&(0,J.jsx)(b,{shortcut:`Ctrl+A`,action:`show ${d?`current dir`:`all projects`}`}),E&&(0,J.jsx)(b,{shortcut:`Ctrl+B`,action:`toggle branch`}),k&&(0,J.jsx)(b,{shortcut:`Ctrl+W`,action:`show ${O?`current worktree`:`all worktrees`}`}),(0,J.jsx)(b,{shortcut:`Ctrl+V`,action:`preview`}),(0,J.jsx)(b,{shortcut:`Ctrl+R`,action:`rename`}),(0,J.jsx)(C,{children:`Type to search`}),(0,J.jsx)(i,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),mt()&&(0,J.jsx)(C,{children:mt()})]})})})]})}function at(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 ot(e){let t=(e.messages.length<=Y?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-1e3)]).map(at).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 st(e){let t=new Map;for(let n of e){let e=g(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 ct(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 q,J,lt,ut,Y,X,Z,dt,Q=e((()=>{de(),q=t(T(),1),_e(),Ie(),ze(),oe(),ge(),_(),Oe(),Me(),r(),we(),Ee(),h(),p(),u(),n(),Le(),He(),d(),G(),re(),Qe(),J=O(),lt=2,ut=4,Y=2e3,X=1e3,Z=5e4,dt=50}));function ft(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 pt(e){if(e.length===0)return``;let t=(e.length<=gt?e:[...e.slice(0,gt/2),...e.slice(-100/2)]).map(ft).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>ht?`${t.slice(0,ht)}…`:t}function $(e,t){return!!(Te(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&&pt(e.messages).toLowerCase().includes(t))}async function mt(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>$(e,r)),a;if(i.length>=_t)a=i.slice(0,_t);else{let e=t.filter(e=>!$(e,r)),n=_t-i.length;a=[...i,...e.slice(0,n)]}A(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${j(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(y(e))try{return await l(e)}catch(t){return De(t),e}return e}),s=await Promise.all(o);A(`Agentic search: loaded ${j(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
2
2
  ${s.map((e,t)=>{let n=[`${t}:`],r=Te(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=pt(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{n as t,t as n}from"./memoize-BK3gG5ob.js";import{n as r,t as i}from"./axios-DaWTGg7G.js";import{d as a,h as o}from"./config-BSkuQZNf.js";import{o as s,s as c}from"./log-BlJ7CcKG.js";import{W as l,_ as u,ii as d,oi as f,r as p,z as m}from"./model-CeG-iOKF.js";import{Z as h,et as g}from"./esm-DtcV71xh.js";import{f as _,p as v}from"./firstPartyEventLogger-7pAyUdbp.js";import{createHash as y}from"crypto";function b(e){return e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}async function x(){if(N.length===0)return;let e=N;N=[];try{await r.post(E,e,{headers:{"Content-Type":`application/json`,"DD-API-KEY":D},timeout:A})}catch(e){c(e)}}function S(){P||(P=setTimeout(()=>{P=null,x()},T()).unref())}async function C(){P&&(clearTimeout(P),P=null),await x()}async function w(e,t){if(d()!==`firstParty`)return;let n=F;if(n===null&&(n=await I()),!(!n||!j.has(e)))try{let{envContext:n,...r}=await h({model:t.model,betas:t.betas}),i={...r,...n,...t,userBucket:R()};if(typeof i.toolName==`string`&&i.toolName.startsWith(`mcp__`)&&(i.toolName=`mcp`),typeof i.model==`string`){let e=p(i.model.replace(/\[1m]$/i,``));i.model=e in m?e:`other`}if(typeof i.version==`string`&&(i.version=i.version.replace(/^(\d+\.\d+\.\d+-dev\.\d{8})\.t\d+\.sha[a-f0-9]+$/,`$1`)),i.status!==void 0&&i.status!==null){let e=String(i.status);i.http_status=e;let t=e.charAt(0);t>=`1`&&t<=`5`&&(i.http_status_range=`${t}xx`),delete i.status}let a=i,o={ddsource:`nodejs`,ddtags:[`event:${e}`,...M.filter(e=>a[e]!==void 0&&a[e]!==null).map(e=>`${b(e)}:${a[e]}`)].join(`,`),message:e,service:`workmate`,hostname:`workmate`,env:process.env.USER_TYPE};for(let[e,t]of Object.entries(i))t!=null&&(o[b(e)]=t);N.push(o),N.length>=k?(P&&(clearTimeout(P),P=null),x()):S()}catch(e){c(e)}}function T(){return parseInt(process.env.CLAUDE_CODE_DATADOG_FLUSH_INTERVAL_MS||``,10)||O}var E,D,O,k,A,j,M,N,P,F,I,L,R,z=e((()=>{i(),n(),o(),s(),u(),f(),l(),_(),g(),E=process.env.DATADOG_LOGS_ENDPOINT??``,D=process.env.DATADOG_API_KEY??``,O=15e3,k=100,A=5e3,j=new Set(`tengu_api_error.tengu_api_success.tengu_cancel.tengu_compact_failed.tengu_exit.tengu_flicker.tengu_init.tengu_model_fallback_triggered.tengu_oauth_error.tengu_oauth_success.tengu_oauth_token_refresh_failure.tengu_oauth_token_refresh_success.tengu_oauth_token_refresh_lock_acquiring.tengu_oauth_token_refresh_lock_acquired.tengu_oauth_token_refresh_starting.tengu_oauth_token_refresh_completed.tengu_oauth_token_refresh_lock_releasing.tengu_oauth_token_refresh_lock_released.tengu_query_error.tengu_session_file_read.tengu_started.tengu_tool_use_error.tengu_tool_use_granted_in_prompt_permanent.tengu_tool_use_granted_in_prompt_temporary.tengu_tool_use_rejected_in_prompt.tengu_tool_use_success.tengu_uncaught_exception.tengu_unhandled_rejection.tengu_voice_recording_started.tengu_voice_toggled.tengu_team_mem_sync_pull.tengu_team_mem_sync_push.tengu_team_mem_sync_started.tengu_team_mem_entries_capped`.split(`.`)),M=[`arch`,`clientType`,`errorType`,`http_status_range`,`http_status`,`model`,`platform`,`provider`,`skillMode`,`subscriptionType`,`toolName`,`userBucket`,`userType`,`version`,`versionBase`],N=[],P=null,F=null,I=t(async()=>{if(v()||!E||!D)return F=!1,!1;try{return F=!0,!0}catch(e){return c(e),F=!1,!1}}),L=30,R=t(()=>{let e=a(),t=y(`sha256`).update(e).digest(`hex`);return parseInt(t.slice(0,8),16)%L})}));export{C as n,w as r,z as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./memoize-BK3gG5ob.js";import{n as r,t as i}from"./axios-DaWTGg7G.js";import{d as a,h as o}from"./config-BSkuQZNf.js";import{o as s,s as c}from"./log-BlJ7CcKG.js";import{$r as l,N as u,R as d,_ as f,r as p,ti as m}from"./model-DlLO7TSx.js";import{Z as h,et as g}from"./esm-BZciQG9N.js";import{f as _,p as v}from"./firstPartyEventLogger-Q3fMF0BR.js";import{createHash as y}from"crypto";function b(e){return e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)}async function x(){if(N.length===0)return;let e=N;N=[];try{await r.post(E,e,{headers:{"Content-Type":`application/json`,"DD-API-KEY":D},timeout:A})}catch(e){c(e)}}function S(){P||(P=setTimeout(()=>{P=null,x()},T()).unref())}async function C(){P&&(clearTimeout(P),P=null),await x()}async function w(e,t){if(l()!==`firstParty`)return;let n=F;if(n===null&&(n=await I()),!(!n||!j.has(e)))try{let{envContext:n,...r}=await h({model:t.model,betas:t.betas}),i={...r,...n,...t,userBucket:R()};if(typeof i.toolName==`string`&&i.toolName.startsWith(`mcp__`)&&(i.toolName=`mcp`),typeof i.model==`string`){let e=p(i.model.replace(/\[1m]$/i,``));i.model=e in u?e:`other`}if(typeof i.version==`string`&&(i.version=i.version.replace(/^(\d+\.\d+\.\d+-dev\.\d{8})\.t\d+\.sha[a-f0-9]+$/,`$1`)),i.status!==void 0&&i.status!==null){let e=String(i.status);i.http_status=e;let t=e.charAt(0);t>=`1`&&t<=`5`&&(i.http_status_range=`${t}xx`),delete i.status}let a=i,o={ddsource:`nodejs`,ddtags:[`event:${e}`,...M.filter(e=>a[e]!==void 0&&a[e]!==null).map(e=>`${b(e)}:${a[e]}`)].join(`,`),message:e,service:`workmate`,hostname:`workmate`,env:process.env.USER_TYPE};for(let[e,t]of Object.entries(i))t!=null&&(o[b(e)]=t);N.push(o),N.length>=k?(P&&(clearTimeout(P),P=null),x()):S()}catch(e){c(e)}}function T(){return parseInt(process.env.CLAUDE_CODE_DATADOG_FLUSH_INTERVAL_MS||``,10)||O}var E,D,O,k,A,j,M,N,P,F,I,L,R,z=e((()=>{i(),n(),o(),s(),f(),m(),d(),_(),g(),E=process.env.DATADOG_LOGS_ENDPOINT??``,D=process.env.DATADOG_API_KEY??``,O=15e3,k=100,A=5e3,j=new Set(`tengu_api_error.tengu_api_success.tengu_cancel.tengu_compact_failed.tengu_exit.tengu_flicker.tengu_init.tengu_model_fallback_triggered.tengu_oauth_error.tengu_oauth_success.tengu_oauth_token_refresh_failure.tengu_oauth_token_refresh_success.tengu_oauth_token_refresh_lock_acquiring.tengu_oauth_token_refresh_lock_acquired.tengu_oauth_token_refresh_starting.tengu_oauth_token_refresh_completed.tengu_oauth_token_refresh_lock_releasing.tengu_oauth_token_refresh_lock_released.tengu_query_error.tengu_session_file_read.tengu_started.tengu_tool_use_error.tengu_tool_use_granted_in_prompt_permanent.tengu_tool_use_granted_in_prompt_temporary.tengu_tool_use_rejected_in_prompt.tengu_tool_use_success.tengu_uncaught_exception.tengu_unhandled_rejection.tengu_voice_recording_started.tengu_voice_toggled.tengu_team_mem_sync_pull.tengu_team_mem_sync_push.tengu_team_mem_sync_started.tengu_team_mem_entries_capped`.split(`.`)),M=[`arch`,`clientType`,`errorType`,`http_status_range`,`http_status`,`model`,`platform`,`provider`,`skillMode`,`subscriptionType`,`toolName`,`userBucket`,`userType`,`version`,`versionBase`],N=[],P=null,F=null,I=t(async()=>{if(v()||!E||!D)return F=!1,!1;try{return F=!0,!0}catch(e){return c(e),F=!1,!1}}),L=30,R=t(()=>{let e=a(),t=y(`sha256`).update(e).digest(`hex`);return parseInt(t.slice(0,8),16)%L})}));export{C as n,w as r,z as t};
@@ -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-BGBkuVIn.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-Bd-DcTsK.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-C9t7udHN.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{$y as n,B as r,Cu as i,Kc as a,Li as o,Mi as s,Qs as c,V as l,Yy as u,Zs as d,ar as f,br as p,gf as m,hf as h,i as g,o as _,qc as v,wu as y}from"./loadAgentsDir-CwEfQDOw.js";import{A as b,C as x,M as S,O as C,P as w,b as T,j as E,l as ee,m as D,p as O,v as k,w as A}from"./external-CEp-aPkt.js";import{r as te}from"./lazySchema-B4D4qJVE.js";import{Bn as ne,Wt as j,_r as re,et as ie,gr as ae,ht as oe,or as M}from"./state-BPFYBqm1.js";import{f as se,g as ce}from"./settings-CvhsRFaT.js";import{h as le,r as ue}from"./config-BSkuQZNf.js";import{l as de,p as fe,r as pe}from"./sessionStoragePortable-x0Yn02-G.js";import{_ as me,u as he}from"./model-CeG-iOKF.js";import{vn as ge,yn as _e}from"./prompt-Bm2EEG4F.js";import{n as ve,r as ye}from"./managedEnv-3MbOWrVs.js";import{t as be}from"./QueryEngine-DXpS0Ytq.js";import{n as xe,t as Se}from"./modelOptions-A5jrCUBp.js";import{dirname as Ce}from"node:path";import{randomUUID as N}from"node:crypto";import{Readable as we,Writable as Te}from"node:stream";import{unlink as Ee}from"node:fs/promises";import*as P from"node:path/posix";import{isAbsolute as De,resolve as Oe}from"node:path/posix";te();var F={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`},I={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`},ke=A({_meta:C(b(),S()).nullish(),terminal:D().optional().default(!1)}),Ae=A({_meta:C(b(),S()).nullish(),label:b().nullish(),name:b(),optional:D().optional().default(!1),secret:D().optional().default(!0)}),je=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:b(),name:b()}),Me=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:b(),link:b().nullish(),name:b(),vars:O(Ae)}),Ne=A({_meta:C(b(),S()).nullish(),args:O(b()).optional(),description:b().nullish(),env:C(b(),b()).optional(),id:b(),name:b()}),Pe=E([Me.and(A({type:T(`env_var`)})),Ne.and(A({type:T(`terminal`)})),je]),Fe=A({_meta:C(b(),S()).nullish(),methodId:b()}),Ie=A({_meta:C(b(),S()).nullish()}),Le=A({_meta:C(b(),S()).nullish(),blob:b(),mimeType:b().nullish(),uri:b()}),Re=A({default:D().nullish(),description:b().nullish(),title:b().nullish()}),ze=A({_meta:C(b(),S()).nullish()}),Be=A({_meta:C(b(),S()).nullish()}),Ve=A({amount:x(),currency:b()}),He=A({_meta:C(b(),S()).nullish(),terminalId:b()}),Ue=A({_meta:C(b(),S()).nullish(),newText:b(),oldText:b().nullish(),path:b()}),We=E([b(),x(),x(),D(),O(b())]),Ge=k(E([A({content:C(b(),We).nullish()}).and(A({action:T(`accept`)})),A({action:T(`decline`)}),A({action:T(`cancel`)})]),A({_meta:C(b(),S()).nullish()})),Ke=A({_meta:C(b(),S()).nullish()}),qe=b(),Je=A({_meta:C(b(),S()).nullish(),elicitationId:qe}),Ye=T(`object`),Xe=T(`string`),Ze=A({_meta:C(b(),S()).nullish()}),Qe=A({_meta:C(b(),S()).nullish(),form:Ke.nullish(),url:Ze.nullish()}),$e=A({const:b(),title:b()}),et=A({_meta:C(b(),S()).nullish(),name:b(),value:b()}),tt=A({code:E([T(-32700),T(-32600),T(-32601),T(-32602),T(-32603),T(-32800),T(-32e3),T(-32002),T(-32042),x().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:S().optional(),message:b()}),nt=S(),rt=S(),it=S(),at=A({_meta:C(b(),S()).nullish(),readTextFile:D().optional().default(!1),writeTextFile:D().optional().default(!1)}),ot=A({_meta:C(b(),S()).nullish(),name:b(),value:b()}),st=A({_meta:C(b(),S()).nullish(),name:b(),title:b().nullish(),version:b()}),ct=A({default:x().nullish(),description:b().nullish(),maximum:x().nullish(),minimum:x().nullish(),title:b().nullish()}),lt=A({_meta:C(b(),S()).nullish()}),ut=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cursor:b().nullish(),cwd:b().nullish()}),dt=A({_meta:C(b(),S()).nullish()}),ft=A({_meta:C(b(),S()).nullish(),logout:dt.nullish()}),pt=A({_meta:C(b(),S()).nullish()}),mt=A({_meta:C(b(),S()).nullish()}),ht=A({_meta:C(b(),S()).nullish(),http:D().optional().default(!1),sse:D().optional().default(!1)}),gt=A({_meta:C(b(),S()).nullish(),headers:O(ot),name:b(),url:b()}),_t=A({_meta:C(b(),S()).nullish(),headers:O(ot),name:b(),url:b()}),vt=A({_meta:C(b(),S()).nullish(),args:O(b()),command:b(),env:O(et),name:b()}),L=E([gt.and(A({type:T(`http`)})),_t.and(A({type:T(`sse`)})),vt]),yt=b(),bt=A({_meta:C(b(),S()).nullish(),description:b().nullish(),modelId:yt,name:b()}),xt=E([T(`error`),T(`warning`),T(`information`),T(`hint`)]),St=A({_meta:C(b(),S()).nullish()}),Ct=A({_meta:C(b(),S()).nullish()}),wt=A({_meta:C(b(),S()).nullish()}),Tt=A({_meta:C(b(),S()).nullish()}),Et=A({_meta:C(b(),S()).nullish()}),Dt=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Ot=A({diff:b(),uri:b()}),kt=A({endLine:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:b()}),At=A({_meta:C(b(),S()).nullish()}),jt=A({_meta:C(b(),S()).nullish()}),Mt=A({languageId:b(),text:b(),uri:b()}),Nt=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Pt=E([T(`rejected`),T(`ignored`),T(`replaced`),T(`cancelled`)]),Ft=A({excerpts:O(kt),uri:b()}),It=A({_meta:C(b(),S()).nullish()}),Lt=A({_meta:C(b(),S()).nullish()}),Rt=A({name:b(),owner:b(),remoteUrl:b()}),zt=A({_meta:C(b(),S()).nullish()}),Bt=A({_meta:C(b(),S()).nullish(),jump:At.nullish(),rename:Lt.nullish(),searchAndReplace:zt.nullish()}),Vt=A({id:b(),isRegex:D().nullish(),replace:b(),search:b(),uri:b()}),Ht=E([T(`automatic`),T(`diagnostic`),T(`manual`)]),Ut=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Wt=A({_meta:C(b(),S()).nullish(),diagnostics:St.nullish(),editHistory:Dt.nullish(),openFiles:jt.nullish(),recentFiles:Nt.nullish(),relatedSnippets:It.nullish(),userActions:Ut.nullish()}),Gt=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L)}),Kt=A({default:x().nullish(),description:b().nullish(),maximum:x().nullish(),minimum:x().nullish(),title:b().nullish()}),qt=b(),Jt=E([T(`allow_once`),T(`allow_always`),T(`reject_once`),T(`reject_always`)]),Yt=A({_meta:C(b(),S()).nullish(),kind:Jt,name:b(),optionId:qt}),Xt=E([T(`high`),T(`medium`),T(`low`)]),Zt=E([T(`pending`),T(`in_progress`),T(`completed`)]),Qt=A({_meta:C(b(),S()).nullish(),content:b(),priority:Xt,status:Zt}),$t=A({_meta:C(b(),S()).nullish(),entries:O(Qt)}),R=A({character:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),en=A({id:b(),position:R,uri:b()}),tn=A({id:b(),newName:b(),position:R,uri:b()}),nn=A({action:b(),position:R,timestampMs:x(),uri:b()}),rn=E([T(`utf-16`),T(`utf-32`),T(`utf-8`)]),an=A({_meta:C(b(),S()).nullish(),auth:ke.optional().default({terminal:!1}),elicitation:Qe.nullish(),fs:at.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Bt.nullish(),positionEncodings:O(rn).optional(),terminal:D().optional().default(!1)}),on=A({_meta:C(b(),S()).nullish(),audio:D().optional().default(!1),embeddedContext:D().optional().default(!1),image:D().optional().default(!1)}),sn=x().int().gte(0).lte(65535),cn=A({_meta:C(b(),S()).nullish(),clientCapabilities:an.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:st.nullish(),protocolVersion:sn}),z=A({end:R,start:R}),ln=A({message:b(),range:z,severity:xt,uri:b()}),un=A({languageId:b(),lastFocusedMs:x().nullish(),uri:b(),visibleRange:z.nullish()}),dn=A({_meta:C(b(),S()).nullish(),diagnostics:O(ln).nullish(),editHistory:O(Ot).nullish(),openFiles:O(un).nullish(),recentFiles:O(Mt).nullish(),relatedSnippets:O(Ft).nullish(),userActions:O(nn).nullish()}),fn=A({newText:b(),range:z}),pn=E([A({cursorPosition:R.nullish(),edits:O(fn),id:b(),uri:b()}).and(A({kind:T(`edit`)})),en.and(A({kind:T(`jump`)})),tn.and(A({kind:T(`rename`)})),Vt.and(A({kind:T(`searchAndReplace`)}))]),mn=A({_meta:C(b(),S()).nullish(),content:b()}),hn=A({_meta:C(b(),S()).nullish()}),B=E([x(),b()]).nullable();A({_meta:C(b(),S()).nullish(),requestId:B});var gn=A({requestId:B}),_n=ee([`assistant`,`user`]),V=A({_meta:C(b(),S()).nullish(),audience:O(_n).nullish(),lastModified:b().nullish(),priority:x().nullish()}),vn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),data:b(),mimeType:b()}),yn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),data:b(),mimeType:b(),uri:b().nullish()}),bn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),description:b().nullish(),mimeType:b().nullish(),name:b(),size:x().nullish(),title:b().nullish(),uri:b()}),xn=A({_meta:C(b(),S()).nullish(),optionId:qt}),Sn=E([A({outcome:T(`cancelled`)}),xn.and(A({outcome:T(`selected`)}))]),Cn=A({_meta:C(b(),S()).nullish(),outcome:Sn}),wn=A({_meta:C(b(),S()).nullish()}),Tn=A({_meta:C(b(),S()).nullish()}),En=A({currentValue:D()}),Dn=b(),On=b(),kn=E([T(`mode`),T(`model`),T(`thought_level`),b()]),An=b(),jn=A({_meta:C(b(),S()).nullish(),description:b().nullish(),name:b(),value:An}),Mn=A({_meta:C(b(),S()).nullish(),group:Dn,name:b(),options:O(jn)}),H=k(E([A({currentValue:An,options:E([O(jn),O(Mn)])}).and(A({type:T(`select`)})),En.and(A({type:T(`boolean`)}))]),A({_meta:C(b(),S()).nullish(),category:kn.nullish(),description:b().nullish(),id:On,name:b()})),Nn=A({_meta:C(b(),S()).nullish(),configOptions:O(H)}),Pn=A({_meta:C(b(),S()).nullish()}),U=b(),Fn=A({_meta:C(b(),S()).nullish(),id:b(),sessionId:U}),In=A({_meta:C(b(),S()).nullish(),sessionId:U}),Ln=A({_meta:C(b(),S()).nullish(),sessionId:U}),Rn=A({_meta:C(b(),S()).nullish(),sessionId:U}),zn=A({_meta:C(b(),S()).nullish(),args:O(b()).optional(),command:b(),cwd:b().nullish(),env:O(et).optional(),outputByteLimit:x().nullish(),sessionId:U}),Bn=A({_meta:C(b(),S()).nullish(),sessionId:U,uri:b()}),Vn=A({_meta:C(b(),S()).nullish(),position:R,sessionId:U,uri:b(),version:x(),visibleRange:z}),Hn=A({_meta:C(b(),S()).nullish(),languageId:b(),sessionId:U,text:b(),uri:b(),version:x()}),Un=A({_meta:C(b(),S()).nullish(),sessionId:U,uri:b()}),Wn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L).optional(),sessionId:U}),Gn=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),Kn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L),sessionId:U}),qn=A({_meta:C(b(),S()).nullish(),limit:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:b(),sessionId:U}),Jn=A({_meta:C(b(),S()).nullish(),id:b(),reason:Pt.nullish(),sessionId:U}),Yn=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),Xn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L).optional(),sessionId:U}),Zn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),sessionId:U,title:b().nullish(),updatedAt:b().nullish()}),Qn=A({_meta:C(b(),S()).nullish(),nextCursor:b().nullish(),sessions:O(Zn)}),$n=A({_meta:C(b(),S()).nullish(),title:b().nullish(),updatedAt:b().nullish()}),er=A({_meta:C(b(),S()).nullish()}),W=b(),tr=A({_meta:C(b(),S()).nullish(),currentModeId:W}),nr=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:W,name:b()}),G=A({_meta:C(b(),S()).nullish(),availableModes:O(nr),currentModeId:W}),K=A({_meta:C(b(),S()).nullish(),availableModels:O(bt),currentModelId:yt}),rr=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish(),sessionId:U}),ir=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish()}),ar=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish(),sessionId:U}),or=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish()}),sr=A({_meta:C(b(),S()).nullish()}),cr=A({_meta:C(b(),S()).nullish(),additionalDirectories:wn.nullish(),close:Tn.nullish(),fork:Pn.nullish(),list:er.nullish(),resume:sr.nullish()}),lr=k(E([A({type:T(`boolean`),value:D()}),A({value:An})]),A({_meta:C(b(),S()).nullish(),configId:On,sessionId:U})),ur=A({_meta:C(b(),S()).nullish(),configOptions:O(H)}),dr=A({_meta:C(b(),S()).nullish(),modeId:W,sessionId:U}),fr=A({_meta:C(b(),S()).nullish()}),pr=A({_meta:C(b(),S()).nullish(),modelId:yt,sessionId:U}),mr=A({_meta:C(b(),S()).nullish()}),hr=A({_meta:C(b(),S()).nullish(),sessionId:U}),gr=E([T(`end_turn`),T(`max_tokens`),T(`max_turn_requests`),T(`refusal`),T(`cancelled`)]),_r=E([T(`email`),T(`uri`),T(`date`),T(`date-time`)]),vr=A({default:b().nullish(),description:b().nullish(),enum:O(b()).nullish(),format:_r.nullish(),maxLength:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:O($e).nullish(),pattern:b().nullish(),title:b().nullish()}),yr=A({_meta:C(b(),S()).nullish(),context:dn.nullish(),position:R,selection:z.nullish(),sessionId:U,triggerKind:Ht,uri:b(),version:x()}),br=A({_meta:C(b(),S()).nullish(),suggestions:O(pn)}),xr=A({_meta:C(b(),S()).nullish(),terminalId:b()}),Sr=A({_meta:C(b(),S()).nullish(),exitCode:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:b().nullish()}),Cr=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),wr=A({_meta:C(b(),S()).nullish(),exitStatus:Sr.nullish(),output:b(),truncated:D()}),Tr=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),text:b()}),Er=A({range:z.nullish(),text:b()}),Dr=A({_meta:C(b(),S()).nullish(),contentChanges:O(Er),sessionId:U,uri:b(),version:x()});A({method:b(),params:E([In,Hn,Dr,Bn,Un,Vn,Fn,Jn,nt]).nullish()});var Or=E([T(`full`),T(`incremental`)]),kr=A({_meta:C(b(),S()).nullish(),syncKind:Or}),Ar=A({_meta:C(b(),S()).nullish(),didChange:kr.nullish(),didClose:Ct.nullish(),didFocus:wt.nullish(),didOpen:Tt.nullish(),didSave:Et.nullish()}),jr=A({_meta:C(b(),S()).nullish(),document:Ar.nullish()}),Mr=A({_meta:C(b(),S()).nullish(),context:Wt.nullish(),events:jr.nullish()}),Nr=A({_meta:C(b(),S()).nullish(),auth:ft.optional().default({}),loadSession:D().optional().default(!1),mcpCapabilities:ht.optional().default({http:!1,sse:!1}),nes:Mr.nullish(),positionEncoding:rn.nullish(),promptCapabilities:on.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:cr.optional().default({})}),Pr=A({_meta:C(b(),S()).nullish(),agentCapabilities:Nr.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:st.nullish(),authMethods:O(Pe).optional().default([]),protocolVersion:sn}),Fr=E([A({_meta:C(b(),S()).nullish(),mimeType:b().nullish(),text:b(),uri:b()}),Le]),Ir=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),resource:Fr}),Lr=E([Tr.and(A({type:T(`text`)})),yn.and(A({type:T(`image`)})),vn.and(A({type:T(`audio`)})),bn.and(A({type:T(`resource_link`)})),Ir.and(A({type:T(`resource`)}))]),Rr=A({_meta:C(b(),S()).nullish(),content:Lr}),zr=A({_meta:C(b(),S()).nullish(),content:Lr,messageId:b().nullish()}),Br=A({_meta:C(b(),S()).nullish(),messageId:b().nullish(),prompt:O(Lr),sessionId:U}),Vr=A({anyOf:O($e)}),Hr=E([Rr.and(A({type:T(`content`)})),Ue.and(A({type:T(`diff`)})),xr.and(A({type:T(`terminal`)}))]),Ur=b(),Wr=A({sessionId:U,toolCallId:Ur.nullish()}),Gr=k(E([Wr,gn]),A({elicitationId:qe,url:b().url()})),Kr=A({_meta:C(b(),S()).nullish(),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:b()}),qr=E([T(`pending`),T(`in_progress`),T(`completed`),T(`failed`)]),Jr=E([T(`read`),T(`edit`),T(`delete`),T(`move`),T(`search`),T(`execute`),T(`think`),T(`fetch`),T(`switch_mode`),T(`other`)]),Yr=A({_meta:C(b(),S()).nullish(),content:O(Hr).optional(),kind:Jr.optional(),locations:O(Kr).optional(),rawInput:S().optional(),rawOutput:S().optional(),status:qr.optional(),title:b(),toolCallId:Ur}),Xr=A({_meta:C(b(),S()).nullish(),content:O(Hr).nullish(),kind:Jr.nullish(),locations:O(Kr).nullish(),rawInput:S().optional(),rawOutput:S().optional(),status:qr.nullish(),title:b().nullish(),toolCallId:Ur}),Zr=A({_meta:C(b(),S()).nullish(),options:O(Yt),sessionId:U,toolCall:Xr}),Qr=A({_meta:C(b(),S()).nullish(),hint:b()}),$r=A({_meta:C(b(),S()).nullish(),description:b(),input:Qr.nullish(),name:b()}),ei=A({_meta:C(b(),S()).nullish(),availableCommands:O($r)}),ti=E([A({enum:O(b()),type:Xe}),Vr]),ni=A({default:O(b()).nullish(),description:b().nullish(),items:ti,maxItems:x().nullish(),minItems:x().nullish(),title:b().nullish()}),ri=E([vr.and(A({type:T(`string`)})),Kt.and(A({type:T(`number`)})),ct.and(A({type:T(`integer`)})),Re.and(A({type:T(`boolean`)})),ni.and(A({type:T(`array`)}))]),ii=A({description:b().nullish(),properties:C(b(),ri).optional().default({}),required:O(b()).nullish(),title:b().nullish(),type:Ye.optional().default(`object`)}),ai=k(E([k(E([Wr,gn]),A({requestedSchema:ii})).and(A({mode:T(`form`)})),Gr.and(A({mode:T(`url`)}))]),A({_meta:C(b(),S()).nullish(),message:b()})),oi=A({cachedReadTokens:x().nullish(),cachedWriteTokens:x().nullish(),inputTokens:x(),outputTokens:x(),thoughtTokens:x().nullish(),totalTokens:x()});E([A({id:B,result:E([Pr,Ie,mt,ar,ir,Qn,rr,or,Be,fr,ur,A({_meta:C(b(),S()).nullish(),stopReason:gr,usage:oi.nullish(),userMessageId:b().nullish()}),mr,hr,br,ze,it])}),A({error:tt,id:B})]);var si=A({_meta:C(b(),S()).nullish(),cost:Ve.nullish(),size:x(),used:x()}),ci=E([zr.and(A({sessionUpdate:T(`user_message_chunk`)})),zr.and(A({sessionUpdate:T(`agent_message_chunk`)})),zr.and(A({sessionUpdate:T(`agent_thought_chunk`)})),Yr.and(A({sessionUpdate:T(`tool_call`)})),Xr.and(A({sessionUpdate:T(`tool_call_update`)})),$t.and(A({sessionUpdate:T(`plan`)})),ei.and(A({sessionUpdate:T(`available_commands_update`)})),tr.and(A({sessionUpdate:T(`current_mode_update`)})),Nn.and(A({sessionUpdate:T(`config_option_update`)})),$n.and(A({sessionUpdate:T(`session_info_update`)})),si.and(A({sessionUpdate:T(`usage_update`)}))]),li=A({_meta:C(b(),S()).nullish(),sessionId:U,update:ci});A({method:b(),params:E([li,Je,nt]).nullish()});var ui=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),di=A({_meta:C(b(),S()).nullish(),exitCode:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:b().nullish()}),fi=A({name:b(),uri:b()}),pi=A({_meta:C(b(),S()).nullish(),repository:Rt.nullish(),workspaceFolders:O(fi).nullish(),workspaceUri:b().nullish()});A({id:B,method:b(),params:E([cn,Fe,pt,Gt,Kn,ut,Wn,Xn,Rn,dr,lr,Br,pr,pi,yr,Ln,rt]).nullish()});var mi=A({_meta:C(b(),S()).nullish(),content:b(),path:b(),sessionId:U});A({id:B,method:b(),params:E([mi,qn,Zr,zn,Cr,Yn,ui,Gn,ai,rt]).nullish()}),E([A({id:B,result:E([A({_meta:C(b(),S()).nullish()}),mn,Cn,He,wr,hn,di,lt,Ge,it])}),A({error:tt,id:B})]),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{$y as n,B as r,Cu as i,Kc as a,Li as o,Mi as s,Qs as c,V as l,Yy as u,Zs as d,ar as f,br as p,gf as m,hf as h,i as g,o as _,qc as v,wu as y}from"./loadAgentsDir-CbtNPJV3.js";import{A as b,C as x,M as S,O as C,P as w,b as T,j as E,l as ee,m as D,p as O,v as k,w as A}from"./external-CEp-aPkt.js";import{r as te}from"./lazySchema-B4D4qJVE.js";import{Bn as ne,Wt as j,_r as re,et as ie,gr as ae,ht as oe,or as M}from"./state-BPFYBqm1.js";import{f as se,g as ce}from"./settings-CvhsRFaT.js";import{h as le,r as ue}from"./config-BSkuQZNf.js";import{l as de,p as fe,r as pe}from"./sessionStoragePortable-x0Yn02-G.js";import{_ as me,u as he}from"./model-DlLO7TSx.js";import{vn as ge,yn as _e}from"./prompt-BRGC5U9Y.js";import{n as ve,r as ye}from"./managedEnv-CDxyrUw1.js";import{t as be}from"./QueryEngine-B79JLwG4.js";import{n as xe,r as Se}from"./modelOptions-SMq3one0.js";import{dirname as Ce}from"node:path";import{randomUUID as N}from"node:crypto";import{Readable as we,Writable as Te}from"node:stream";import{unlink as Ee}from"node:fs/promises";import*as P from"node:path/posix";import{isAbsolute as De,resolve as Oe}from"node:path/posix";te();var F={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`},I={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`},ke=A({_meta:C(b(),S()).nullish(),terminal:D().optional().default(!1)}),Ae=A({_meta:C(b(),S()).nullish(),label:b().nullish(),name:b(),optional:D().optional().default(!1),secret:D().optional().default(!0)}),je=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:b(),name:b()}),Me=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:b(),link:b().nullish(),name:b(),vars:O(Ae)}),Ne=A({_meta:C(b(),S()).nullish(),args:O(b()).optional(),description:b().nullish(),env:C(b(),b()).optional(),id:b(),name:b()}),Pe=E([Me.and(A({type:T(`env_var`)})),Ne.and(A({type:T(`terminal`)})),je]),Fe=A({_meta:C(b(),S()).nullish(),methodId:b()}),Ie=A({_meta:C(b(),S()).nullish()}),Le=A({_meta:C(b(),S()).nullish(),blob:b(),mimeType:b().nullish(),uri:b()}),Re=A({default:D().nullish(),description:b().nullish(),title:b().nullish()}),ze=A({_meta:C(b(),S()).nullish()}),Be=A({_meta:C(b(),S()).nullish()}),Ve=A({amount:x(),currency:b()}),He=A({_meta:C(b(),S()).nullish(),terminalId:b()}),Ue=A({_meta:C(b(),S()).nullish(),newText:b(),oldText:b().nullish(),path:b()}),We=E([b(),x(),x(),D(),O(b())]),Ge=k(E([A({content:C(b(),We).nullish()}).and(A({action:T(`accept`)})),A({action:T(`decline`)}),A({action:T(`cancel`)})]),A({_meta:C(b(),S()).nullish()})),Ke=A({_meta:C(b(),S()).nullish()}),qe=b(),Je=A({_meta:C(b(),S()).nullish(),elicitationId:qe}),Ye=T(`object`),Xe=T(`string`),Ze=A({_meta:C(b(),S()).nullish()}),Qe=A({_meta:C(b(),S()).nullish(),form:Ke.nullish(),url:Ze.nullish()}),$e=A({const:b(),title:b()}),et=A({_meta:C(b(),S()).nullish(),name:b(),value:b()}),tt=A({code:E([T(-32700),T(-32600),T(-32601),T(-32602),T(-32603),T(-32800),T(-32e3),T(-32002),T(-32042),x().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:S().optional(),message:b()}),nt=S(),rt=S(),it=S(),at=A({_meta:C(b(),S()).nullish(),readTextFile:D().optional().default(!1),writeTextFile:D().optional().default(!1)}),ot=A({_meta:C(b(),S()).nullish(),name:b(),value:b()}),st=A({_meta:C(b(),S()).nullish(),name:b(),title:b().nullish(),version:b()}),ct=A({default:x().nullish(),description:b().nullish(),maximum:x().nullish(),minimum:x().nullish(),title:b().nullish()}),lt=A({_meta:C(b(),S()).nullish()}),ut=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cursor:b().nullish(),cwd:b().nullish()}),dt=A({_meta:C(b(),S()).nullish()}),ft=A({_meta:C(b(),S()).nullish(),logout:dt.nullish()}),pt=A({_meta:C(b(),S()).nullish()}),mt=A({_meta:C(b(),S()).nullish()}),ht=A({_meta:C(b(),S()).nullish(),http:D().optional().default(!1),sse:D().optional().default(!1)}),gt=A({_meta:C(b(),S()).nullish(),headers:O(ot),name:b(),url:b()}),_t=A({_meta:C(b(),S()).nullish(),headers:O(ot),name:b(),url:b()}),vt=A({_meta:C(b(),S()).nullish(),args:O(b()),command:b(),env:O(et),name:b()}),L=E([gt.and(A({type:T(`http`)})),_t.and(A({type:T(`sse`)})),vt]),yt=b(),bt=A({_meta:C(b(),S()).nullish(),description:b().nullish(),modelId:yt,name:b()}),xt=E([T(`error`),T(`warning`),T(`information`),T(`hint`)]),St=A({_meta:C(b(),S()).nullish()}),Ct=A({_meta:C(b(),S()).nullish()}),wt=A({_meta:C(b(),S()).nullish()}),Tt=A({_meta:C(b(),S()).nullish()}),Et=A({_meta:C(b(),S()).nullish()}),Dt=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Ot=A({diff:b(),uri:b()}),kt=A({endLine:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:b()}),At=A({_meta:C(b(),S()).nullish()}),jt=A({_meta:C(b(),S()).nullish()}),Mt=A({languageId:b(),text:b(),uri:b()}),Nt=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Pt=E([T(`rejected`),T(`ignored`),T(`replaced`),T(`cancelled`)]),Ft=A({excerpts:O(kt),uri:b()}),It=A({_meta:C(b(),S()).nullish()}),Lt=A({_meta:C(b(),S()).nullish()}),Rt=A({name:b(),owner:b(),remoteUrl:b()}),zt=A({_meta:C(b(),S()).nullish()}),Bt=A({_meta:C(b(),S()).nullish(),jump:At.nullish(),rename:Lt.nullish(),searchAndReplace:zt.nullish()}),Vt=A({id:b(),isRegex:D().nullish(),replace:b(),search:b(),uri:b()}),Ht=E([T(`automatic`),T(`diagnostic`),T(`manual`)]),Ut=A({_meta:C(b(),S()).nullish(),maxCount:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Wt=A({_meta:C(b(),S()).nullish(),diagnostics:St.nullish(),editHistory:Dt.nullish(),openFiles:jt.nullish(),recentFiles:Nt.nullish(),relatedSnippets:It.nullish(),userActions:Ut.nullish()}),Gt=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L)}),Kt=A({default:x().nullish(),description:b().nullish(),maximum:x().nullish(),minimum:x().nullish(),title:b().nullish()}),qt=b(),Jt=E([T(`allow_once`),T(`allow_always`),T(`reject_once`),T(`reject_always`)]),Yt=A({_meta:C(b(),S()).nullish(),kind:Jt,name:b(),optionId:qt}),Xt=E([T(`high`),T(`medium`),T(`low`)]),Zt=E([T(`pending`),T(`in_progress`),T(`completed`)]),Qt=A({_meta:C(b(),S()).nullish(),content:b(),priority:Xt,status:Zt}),$t=A({_meta:C(b(),S()).nullish(),entries:O(Qt)}),R=A({character:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),en=A({id:b(),position:R,uri:b()}),tn=A({id:b(),newName:b(),position:R,uri:b()}),nn=A({action:b(),position:R,timestampMs:x(),uri:b()}),rn=E([T(`utf-16`),T(`utf-32`),T(`utf-8`)]),an=A({_meta:C(b(),S()).nullish(),auth:ke.optional().default({terminal:!1}),elicitation:Qe.nullish(),fs:at.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Bt.nullish(),positionEncodings:O(rn).optional(),terminal:D().optional().default(!1)}),on=A({_meta:C(b(),S()).nullish(),audio:D().optional().default(!1),embeddedContext:D().optional().default(!1),image:D().optional().default(!1)}),sn=x().int().gte(0).lte(65535),cn=A({_meta:C(b(),S()).nullish(),clientCapabilities:an.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:st.nullish(),protocolVersion:sn}),z=A({end:R,start:R}),ln=A({message:b(),range:z,severity:xt,uri:b()}),un=A({languageId:b(),lastFocusedMs:x().nullish(),uri:b(),visibleRange:z.nullish()}),dn=A({_meta:C(b(),S()).nullish(),diagnostics:O(ln).nullish(),editHistory:O(Ot).nullish(),openFiles:O(un).nullish(),recentFiles:O(Mt).nullish(),relatedSnippets:O(Ft).nullish(),userActions:O(nn).nullish()}),fn=A({newText:b(),range:z}),pn=E([A({cursorPosition:R.nullish(),edits:O(fn),id:b(),uri:b()}).and(A({kind:T(`edit`)})),en.and(A({kind:T(`jump`)})),tn.and(A({kind:T(`rename`)})),Vt.and(A({kind:T(`searchAndReplace`)}))]),mn=A({_meta:C(b(),S()).nullish(),content:b()}),hn=A({_meta:C(b(),S()).nullish()}),B=E([x(),b()]).nullable();A({_meta:C(b(),S()).nullish(),requestId:B});var gn=A({requestId:B}),_n=ee([`assistant`,`user`]),V=A({_meta:C(b(),S()).nullish(),audience:O(_n).nullish(),lastModified:b().nullish(),priority:x().nullish()}),vn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),data:b(),mimeType:b()}),yn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),data:b(),mimeType:b(),uri:b().nullish()}),bn=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),description:b().nullish(),mimeType:b().nullish(),name:b(),size:x().nullish(),title:b().nullish(),uri:b()}),xn=A({_meta:C(b(),S()).nullish(),optionId:qt}),Sn=E([A({outcome:T(`cancelled`)}),xn.and(A({outcome:T(`selected`)}))]),Cn=A({_meta:C(b(),S()).nullish(),outcome:Sn}),wn=A({_meta:C(b(),S()).nullish()}),Tn=A({_meta:C(b(),S()).nullish()}),En=A({currentValue:D()}),Dn=b(),On=b(),kn=E([T(`mode`),T(`model`),T(`thought_level`),b()]),An=b(),jn=A({_meta:C(b(),S()).nullish(),description:b().nullish(),name:b(),value:An}),Mn=A({_meta:C(b(),S()).nullish(),group:Dn,name:b(),options:O(jn)}),H=k(E([A({currentValue:An,options:E([O(jn),O(Mn)])}).and(A({type:T(`select`)})),En.and(A({type:T(`boolean`)}))]),A({_meta:C(b(),S()).nullish(),category:kn.nullish(),description:b().nullish(),id:On,name:b()})),Nn=A({_meta:C(b(),S()).nullish(),configOptions:O(H)}),Pn=A({_meta:C(b(),S()).nullish()}),U=b(),Fn=A({_meta:C(b(),S()).nullish(),id:b(),sessionId:U}),In=A({_meta:C(b(),S()).nullish(),sessionId:U}),Ln=A({_meta:C(b(),S()).nullish(),sessionId:U}),Rn=A({_meta:C(b(),S()).nullish(),sessionId:U}),zn=A({_meta:C(b(),S()).nullish(),args:O(b()).optional(),command:b(),cwd:b().nullish(),env:O(et).optional(),outputByteLimit:x().nullish(),sessionId:U}),Bn=A({_meta:C(b(),S()).nullish(),sessionId:U,uri:b()}),Vn=A({_meta:C(b(),S()).nullish(),position:R,sessionId:U,uri:b(),version:x(),visibleRange:z}),Hn=A({_meta:C(b(),S()).nullish(),languageId:b(),sessionId:U,text:b(),uri:b(),version:x()}),Un=A({_meta:C(b(),S()).nullish(),sessionId:U,uri:b()}),Wn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L).optional(),sessionId:U}),Gn=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),Kn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L),sessionId:U}),qn=A({_meta:C(b(),S()).nullish(),limit:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:b(),sessionId:U}),Jn=A({_meta:C(b(),S()).nullish(),id:b(),reason:Pt.nullish(),sessionId:U}),Yn=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),Xn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),mcpServers:O(L).optional(),sessionId:U}),Zn=A({_meta:C(b(),S()).nullish(),additionalDirectories:O(b()).optional(),cwd:b(),sessionId:U,title:b().nullish(),updatedAt:b().nullish()}),Qn=A({_meta:C(b(),S()).nullish(),nextCursor:b().nullish(),sessions:O(Zn)}),$n=A({_meta:C(b(),S()).nullish(),title:b().nullish(),updatedAt:b().nullish()}),er=A({_meta:C(b(),S()).nullish()}),W=b(),tr=A({_meta:C(b(),S()).nullish(),currentModeId:W}),nr=A({_meta:C(b(),S()).nullish(),description:b().nullish(),id:W,name:b()}),G=A({_meta:C(b(),S()).nullish(),availableModes:O(nr),currentModeId:W}),K=A({_meta:C(b(),S()).nullish(),availableModels:O(bt),currentModelId:yt}),rr=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish(),sessionId:U}),ir=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish()}),ar=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish(),sessionId:U}),or=A({_meta:C(b(),S()).nullish(),configOptions:O(H).nullish(),models:K.nullish(),modes:G.nullish()}),sr=A({_meta:C(b(),S()).nullish()}),cr=A({_meta:C(b(),S()).nullish(),additionalDirectories:wn.nullish(),close:Tn.nullish(),fork:Pn.nullish(),list:er.nullish(),resume:sr.nullish()}),lr=k(E([A({type:T(`boolean`),value:D()}),A({value:An})]),A({_meta:C(b(),S()).nullish(),configId:On,sessionId:U})),ur=A({_meta:C(b(),S()).nullish(),configOptions:O(H)}),dr=A({_meta:C(b(),S()).nullish(),modeId:W,sessionId:U}),fr=A({_meta:C(b(),S()).nullish()}),pr=A({_meta:C(b(),S()).nullish(),modelId:yt,sessionId:U}),mr=A({_meta:C(b(),S()).nullish()}),hr=A({_meta:C(b(),S()).nullish(),sessionId:U}),gr=E([T(`end_turn`),T(`max_tokens`),T(`max_turn_requests`),T(`refusal`),T(`cancelled`)]),_r=E([T(`email`),T(`uri`),T(`date`),T(`date-time`)]),vr=A({default:b().nullish(),description:b().nullish(),enum:O(b()).nullish(),format:_r.nullish(),maxLength:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:O($e).nullish(),pattern:b().nullish(),title:b().nullish()}),yr=A({_meta:C(b(),S()).nullish(),context:dn.nullish(),position:R,selection:z.nullish(),sessionId:U,triggerKind:Ht,uri:b(),version:x()}),br=A({_meta:C(b(),S()).nullish(),suggestions:O(pn)}),xr=A({_meta:C(b(),S()).nullish(),terminalId:b()}),Sr=A({_meta:C(b(),S()).nullish(),exitCode:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:b().nullish()}),Cr=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),wr=A({_meta:C(b(),S()).nullish(),exitStatus:Sr.nullish(),output:b(),truncated:D()}),Tr=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),text:b()}),Er=A({range:z.nullish(),text:b()}),Dr=A({_meta:C(b(),S()).nullish(),contentChanges:O(Er),sessionId:U,uri:b(),version:x()});A({method:b(),params:E([In,Hn,Dr,Bn,Un,Vn,Fn,Jn,nt]).nullish()});var Or=E([T(`full`),T(`incremental`)]),kr=A({_meta:C(b(),S()).nullish(),syncKind:Or}),Ar=A({_meta:C(b(),S()).nullish(),didChange:kr.nullish(),didClose:Ct.nullish(),didFocus:wt.nullish(),didOpen:Tt.nullish(),didSave:Et.nullish()}),jr=A({_meta:C(b(),S()).nullish(),document:Ar.nullish()}),Mr=A({_meta:C(b(),S()).nullish(),context:Wt.nullish(),events:jr.nullish()}),Nr=A({_meta:C(b(),S()).nullish(),auth:ft.optional().default({}),loadSession:D().optional().default(!1),mcpCapabilities:ht.optional().default({http:!1,sse:!1}),nes:Mr.nullish(),positionEncoding:rn.nullish(),promptCapabilities:on.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:cr.optional().default({})}),Pr=A({_meta:C(b(),S()).nullish(),agentCapabilities:Nr.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:st.nullish(),authMethods:O(Pe).optional().default([]),protocolVersion:sn}),Fr=E([A({_meta:C(b(),S()).nullish(),mimeType:b().nullish(),text:b(),uri:b()}),Le]),Ir=A({_meta:C(b(),S()).nullish(),annotations:V.nullish(),resource:Fr}),Lr=E([Tr.and(A({type:T(`text`)})),yn.and(A({type:T(`image`)})),vn.and(A({type:T(`audio`)})),bn.and(A({type:T(`resource_link`)})),Ir.and(A({type:T(`resource`)}))]),Rr=A({_meta:C(b(),S()).nullish(),content:Lr}),zr=A({_meta:C(b(),S()).nullish(),content:Lr,messageId:b().nullish()}),Br=A({_meta:C(b(),S()).nullish(),messageId:b().nullish(),prompt:O(Lr),sessionId:U}),Vr=A({anyOf:O($e)}),Hr=E([Rr.and(A({type:T(`content`)})),Ue.and(A({type:T(`diff`)})),xr.and(A({type:T(`terminal`)}))]),Ur=b(),Wr=A({sessionId:U,toolCallId:Ur.nullish()}),Gr=k(E([Wr,gn]),A({elicitationId:qe,url:b().url()})),Kr=A({_meta:C(b(),S()).nullish(),line:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:b()}),qr=E([T(`pending`),T(`in_progress`),T(`completed`),T(`failed`)]),Jr=E([T(`read`),T(`edit`),T(`delete`),T(`move`),T(`search`),T(`execute`),T(`think`),T(`fetch`),T(`switch_mode`),T(`other`)]),Yr=A({_meta:C(b(),S()).nullish(),content:O(Hr).optional(),kind:Jr.optional(),locations:O(Kr).optional(),rawInput:S().optional(),rawOutput:S().optional(),status:qr.optional(),title:b(),toolCallId:Ur}),Xr=A({_meta:C(b(),S()).nullish(),content:O(Hr).nullish(),kind:Jr.nullish(),locations:O(Kr).nullish(),rawInput:S().optional(),rawOutput:S().optional(),status:qr.nullish(),title:b().nullish(),toolCallId:Ur}),Zr=A({_meta:C(b(),S()).nullish(),options:O(Yt),sessionId:U,toolCall:Xr}),Qr=A({_meta:C(b(),S()).nullish(),hint:b()}),$r=A({_meta:C(b(),S()).nullish(),description:b(),input:Qr.nullish(),name:b()}),ei=A({_meta:C(b(),S()).nullish(),availableCommands:O($r)}),ti=E([A({enum:O(b()),type:Xe}),Vr]),ni=A({default:O(b()).nullish(),description:b().nullish(),items:ti,maxItems:x().nullish(),minItems:x().nullish(),title:b().nullish()}),ri=E([vr.and(A({type:T(`string`)})),Kt.and(A({type:T(`number`)})),ct.and(A({type:T(`integer`)})),Re.and(A({type:T(`boolean`)})),ni.and(A({type:T(`array`)}))]),ii=A({description:b().nullish(),properties:C(b(),ri).optional().default({}),required:O(b()).nullish(),title:b().nullish(),type:Ye.optional().default(`object`)}),ai=k(E([k(E([Wr,gn]),A({requestedSchema:ii})).and(A({mode:T(`form`)})),Gr.and(A({mode:T(`url`)}))]),A({_meta:C(b(),S()).nullish(),message:b()})),oi=A({cachedReadTokens:x().nullish(),cachedWriteTokens:x().nullish(),inputTokens:x(),outputTokens:x(),thoughtTokens:x().nullish(),totalTokens:x()});E([A({id:B,result:E([Pr,Ie,mt,ar,ir,Qn,rr,or,Be,fr,ur,A({_meta:C(b(),S()).nullish(),stopReason:gr,usage:oi.nullish(),userMessageId:b().nullish()}),mr,hr,br,ze,it])}),A({error:tt,id:B})]);var si=A({_meta:C(b(),S()).nullish(),cost:Ve.nullish(),size:x(),used:x()}),ci=E([zr.and(A({sessionUpdate:T(`user_message_chunk`)})),zr.and(A({sessionUpdate:T(`agent_message_chunk`)})),zr.and(A({sessionUpdate:T(`agent_thought_chunk`)})),Yr.and(A({sessionUpdate:T(`tool_call`)})),Xr.and(A({sessionUpdate:T(`tool_call_update`)})),$t.and(A({sessionUpdate:T(`plan`)})),ei.and(A({sessionUpdate:T(`available_commands_update`)})),tr.and(A({sessionUpdate:T(`current_mode_update`)})),Nn.and(A({sessionUpdate:T(`config_option_update`)})),$n.and(A({sessionUpdate:T(`session_info_update`)})),si.and(A({sessionUpdate:T(`usage_update`)}))]),li=A({_meta:C(b(),S()).nullish(),sessionId:U,update:ci});A({method:b(),params:E([li,Je,nt]).nullish()});var ui=A({_meta:C(b(),S()).nullish(),sessionId:U,terminalId:b()}),di=A({_meta:C(b(),S()).nullish(),exitCode:x().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:b().nullish()}),fi=A({name:b(),uri:b()}),pi=A({_meta:C(b(),S()).nullish(),repository:Rt.nullish(),workspaceFolders:O(fi).nullish(),workspaceUri:b().nullish()});A({id:B,method:b(),params:E([cn,Fe,pt,Gt,Kn,ut,Wn,Xn,Rn,dr,lr,Br,pr,pi,yr,Ln,rt]).nullish()});var mi=A({_meta:C(b(),S()).nullish(),content:b(),path:b(),sessionId:U});A({id:B,method:b(),params:E([mi,qn,Zr,zn,Cr,Yn,ui,Gn,ai,rt]).nullish()}),E([A({id:B,result:E([A({_meta:C(b(),S()).nullish()}),mn,Cn,He,wr,hn,di,lt,Ge,it])}),A({error:tt,id:B})]),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()}}})}}te();var gi,_i=class{constructor(e,n){t(this,`connection`,void 0);let r=e(this),i=async(e,t)=>{switch(e){case F.initialize:{let e=cn.parse(t);return r.initialize(e)}case F.session_new:{let e=Gt.parse(t);return r.newSession(e)}case F.session_load:{if(!r.loadSession)throw q.methodNotFound(e);let n=Kn.parse(t);return r.loadSession(n)}case F.session_list:{if(!r.listSessions)throw q.methodNotFound(e);let n=ut.parse(t);return r.listSessions(n)}case F.session_fork:{if(!r.unstable_forkSession)throw q.methodNotFound(e);let n=Wn.parse(t);return r.unstable_forkSession(n)}case F.session_resume:{if(!r.unstable_resumeSession)throw q.methodNotFound(e);let n=Xn.parse(t);return r.unstable_resumeSession(n)}case F.session_close:{if(!r.unstable_closeSession)throw q.methodNotFound(e);let n=Rn.parse(t);return r.unstable_closeSession(n)}case F.session_set_mode:{if(!r.setSessionMode)throw q.methodNotFound(e);let n=dr.parse(t);return await r.setSessionMode(n)??{}}case F.authenticate:{let e=Fe.parse(t);return await r.authenticate(e)??{}}case F.logout:{if(!r.unstable_logout)throw q.methodNotFound(e);let n=pt.parse(t);return await r.unstable_logout(n)??{}}case F.session_prompt:{let e=Br.parse(t);return r.prompt(e)}case F.session_set_model:{if(!r.unstable_setSessionModel)throw q.methodNotFound(e);let n=pr.parse(t);return await r.unstable_setSessionModel(n)??{}}case F.session_set_config_option:{if(!r.setSessionConfigOption)throw q.methodNotFound(e);let n=lr.parse(t);return r.setSessionConfigOption(n)}case F.nes_start:{if(!r.unstable_startNes)throw q.methodNotFound(e);let n=pi.parse(t);return r.unstable_startNes(n)}case F.nes_suggest:{if(!r.unstable_suggestNes)throw q.methodNotFound(e);let n=yr.parse(t);return r.unstable_suggestNes(n)}case F.nes_close:{if(!r.unstable_closeNes)throw q.methodNotFound(e);let n=Ln.parse(t);return await r.unstable_closeNes(n)??{}}default:if(r.extMethod)return r.extMethod(e,t);throw q.methodNotFound(e)}},a=async(e,t)=>{switch(e){case F.session_cancel:{let e=In.parse(t);return r.cancel(e)}case F.document_did_open:{if(!r.unstable_didOpenDocument)return;let e=Hn.parse(t);return r.unstable_didOpenDocument(e)}case F.document_did_change:{if(!r.unstable_didChangeDocument)return;let e=Dr.parse(t);return r.unstable_didChangeDocument(e)}case F.document_did_close:{if(!r.unstable_didCloseDocument)return;let e=Bn.parse(t);return r.unstable_didCloseDocument(e)}case F.document_did_save:{if(!r.unstable_didSaveDocument)return;let e=Un.parse(t);return r.unstable_didSaveDocument(e)}case F.document_did_focus:{if(!r.unstable_didFocusDocument)return;let e=Vn.parse(t);return r.unstable_didFocusDocument(e)}case F.nes_accept:{if(!r.unstable_acceptNes)return;let e=Fn.parse(t);return r.unstable_acceptNes(e)}case F.nes_reject:{if(!r.unstable_rejectNes)return;let e=Jn.parse(t);return r.unstable_rejectNes(e)}default:if(r.extNotification)return r.extNotification(e,t);throw q.methodNotFound(e)}};this.connection=new yi(i,a,n)}async sessionUpdate(e){return await this.connection.sendNotification(I.session_update,e)}async requestPermission(e){return await this.connection.sendRequest(I.session_request_permission,e)}async readTextFile(e){return await this.connection.sendRequest(I.fs_read_text_file,e)}async writeTextFile(e){return await this.connection.sendRequest(I.fs_write_text_file,e)??{}}async createTerminal(e){return new vi((await this.connection.sendRequest(I.terminal_create,e)).terminalId,e.sessionId,this.connection)}async unstable_createElicitation(e){return await this.connection.sendRequest(I.elicitation_create,e)}async unstable_completeElicitation(e){return await this.connection.sendNotification(I.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(I.terminal_output,{sessionId:this.sessionId,terminalId:this.id})}async waitForExit(){return await this.connection.sendRequest(I.terminal_wait_for_exit,{sessionId:this.sessionId,terminalId:this.id})}async kill(){return await this.connection.sendRequest(I.terminal_kill,{sessionId:this.sessionId,terminalId:this.id})??{}}async release(){return await this.connection.sendRequest(I.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 q)return e.toResult();if(e instanceof w)return q.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 q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof q)return e.toResult();if(e instanceof w)return q.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 q.internalError(t?JSON.parse(t):{}).toResult()}catch{return q.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 q(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}},q=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}}};ae(),j(),ce(),_e(),le(),n(),v(),c(),o(),l(),_(),ye();function J(e,t){if(e)return t?De(e)?e:Oe(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 Ei(e,t){if(!t)return e;let n=P.resolve(t),r=P.resolve(e);return r.startsWith(n+P.sep)||r===n?P.relative(n,r):e}function Di(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
  `)?``:`
@@ -9,5 +9,5 @@ import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{$y as n,B as r,Cu as i
9
9
 
10
10
  Compacting completed.`}}}));break;case`result`:{let t=g.usage;t&&(l.inputTokens+=t.input_tokens??0,l.outputTokens+=t.output_tokens??0,l.cachedReadTokens+=t.cache_read_input_tokens??0,l.cachedWriteTokens+=t.cache_creation_input_tokens??0);let i=g.modelUsage;if(i&&d){let e=Fi(i,d);e?.contextWindow&&(f=e.contextWindow)}u!==null&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`usage_update`,used:u,size:f}});let a=g.subtype,o=g.is_error;if(r.aborted){c=`cancelled`;break}switch(a){case`success`:{let e=g.stop_reason;c=e===`max_tokens`?`max_tokens`:e===`refusal`?`refusal`:`end_turn`,o&&(c=`end_turn`);break}case`error_during_execution`:c=g.stop_reason===`max_tokens`?`max_tokens`:`end_turn`;break;case`error_max_budget_usd`:case`error_max_turns`:case`error_max_structured_output_retries`:c=`max_turn_requests`;break}break}case`stream_event`:{let t=g.parent_tool_use_id;t===null&&m===null&&(m=N());let r=Ni(g,e,i,n,{clientCapabilities:a,cwd:o,messageId:t===null?m??void 0:void 0});for(let e of r)await n.sessionUpdate(e);p=!0;break}case`assistant`:{let t=g.message,r=g.parent_tool_use_id;if(t?.usage&&r===null){let e=t.usage;u=(typeof e.input_tokens==`number`?e.input_tokens:0)+(typeof e.output_tokens==`number`?e.output_tokens:0)+(typeof e.cache_read_input_tokens==`number`?e.cache_read_input_tokens:0)+(typeof e.cache_creation_input_tokens==`number`?e.cache_creation_input_tokens:0)}r===null&&t?.model&&t.model!==`<synthetic>`&&(d=t.model);let s;r===null&&(m===null&&(m=N()),s=m);let c=Mi(g,e,i,n,{clientCapabilities:a,cwd:o,parentToolUseId:r,streamingActive:p,messageId:s});for(let e of c)await n.sessionUpdate(e);r===null&&(m=null);break}case`user`:break;case`progress`:{let t=g.data;if(!t)break;let r=t.type;if(r===`agent_progress`||r===`skill_progress`){let r=t.message;if(r){let t=r.content;if(t)for(let r of t)r.type===`text`&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:r.text}}})}}break}case`tool_use_summary`:break;case`attachment`:break;case`compact_boundary`:u=0,await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:`
11
11
 
12
- Compacting completed.`}}});break;default:Ii.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function zi(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){Ii.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=N();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:N()});for(let e of t)await n.sessionUpdate(e)}}}function Bi(e,t,n,i,a,o,s,c){return async(n,l,u,d,f,p)=>{let m=Hi(i);if(n.name===`ExitPlanMode`)return Vi(e,t,f,l,m,a,o,s,c);if(p!==void 0)return p;try{let e=await r(n,l,u,d,f);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:f}}let h=Y({name:n.name,id:f,input:l},m,a),g={toolCallId:f,title:h.title,kind:h.kind,status:`pending`,rawInput:l},_=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:g,options:_});if(n.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:f};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:l}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function Vi(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n==="default"||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function Hi(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}me(),xe(),h(),de(),e(),y(),p();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`workmate`,title:`Work Mate`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{claudeCode:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||ie(),n=await pe(t),r=await m({dir:t}),i=[];for(let e of r){if(!e.cwd||await pe(e.cwd)!==n)continue;let t=Ti(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await Ui(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await fe(e.sessionId);if(t)try{await Ee(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw q.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function Ui(e){let t;try{let n=await f(e);n&&n.messages.length>0&&(t=i(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var Wi=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function Gi(e){return Wi.includes(e)}function Ki(e,t,n){if(t){let t=qi(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Xi())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return Ji(n)??`default`}function qi(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Si(e,t)}function Ji(e){if(e!=null)try{return Si(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Yi(e,t){return!!e&&Object.hasOwn(e,t)}function Xi(){return Zi()}function Zi(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid!=`function`||process.getuid()!==0}function Qi(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function $i(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function ea(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}j();function ta(){return se().permissions?.defaultMode}async function na(e,t={}){ue();let n=t.sessionId??N(),r=e.cwd;M(n,oe()),ne(r);let i=process.cwd(),o=!1;try{process.chdir(r),o=!0}catch{}re(),ve();try{let i=ge(),o=a(i),c=e._meta,l=Yi(c,`permissionMode`),f=Ki(l?c?.permissionMode:void 0,l,ta()),p=$(this),m=this.conn,h=Bi(m,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,p,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),_=Xi(),v={...d(),toolPermissionContext:{...i,mode:f,isBypassPermissionsModeAvailable:_}},[y,b]=await Promise.all([s(r),g(r)]);v.agentDefinitions=b;let x=new be({cwd:r,tools:o,commands:y,mcpClients:[],agents:b.activeAgents,canUseTool:h,getAppState:()=>v,setAppState:e=>{let t=e(v);Object.assign(v,t)},readFileCache:new u(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),S={currentModeId:f,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},..._?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},C=Se(),w=he(),T={availableModels:C.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:w};x.setModel(w);let E=Qi(S,T),ee={queryEngine:x,cancelled:!1,cancelGeneration:0,cwd:r,modes:S,models:T,configOptions:E,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:p,appState:v,commands:y,sessionFingerprint:Ci({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,ee),{sessionId:n,modes:S,models:T,configOptions:E}}finally{o&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:na}),y(),p(),j(),de();async function ra(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if(Ci({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await fe(e.sessionId,e.cwd);return M(e.sessionId,r?Ce(r.filePath):null),ne(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await fe(e.sessionId,e.cwd),a=r?Ce(r.filePath):null;M(e.sessionId,a),ne(e.cwd);let o;if(r)try{let t=await f(e.sessionId);t&&t.messages.length>0&&(o=i(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let s=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:o});if(t&&o&&o.length>0){let t=this.sessions.get(e.sessionId);t&&await zi(e.sessionId,o,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:s.sessionId,modes:s.modes,models:s.models,configOptions:s.configOptions}}async function ia(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function aa(e){try{let t=await f(e.sessionId);if(!t||t.messages.length===0)return;let n=i(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await zi(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function oa(e,t){if(!Gi(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function sa(e,t,n){let r=this.sessions.get(e);r&&(ea(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:ra,teardownSession:ia,replaySessionHistory:aa,applySessionMode:oa,updateConfigOption:sa});function ca(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(la(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
12
+ Compacting completed.`}}});break;default:Ii.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function zi(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){Ii.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=N();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:N()});for(let e of t)await n.sessionUpdate(e)}}}function Bi(e,t,n,i,a,o,s,c){return async(n,l,u,d,f,p)=>{let m=Hi(i);if(n.name===`ExitPlanMode`)return Vi(e,t,f,l,m,a,o,s,c);if(p!==void 0)return p;try{let e=await r(n,l,u,d,f);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:f}}let h=Y({name:n.name,id:f,input:l},m,a),g={toolCallId:f,title:h.title,kind:h.kind,status:`pending`,rawInput:l},_=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:g,options:_});if(n.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:f};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:l}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function Vi(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n==="default"||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function Hi(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}me(),Se(),h(),de(),e(),y(),p();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`workmate`,title:`Work Mate`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{claudeCode:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||ie(),n=await pe(t),r=await m({dir:t}),i=[];for(let e of r){if(!e.cwd||await pe(e.cwd)!==n)continue;let t=Ti(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await Ui(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await fe(e.sessionId);if(t)try{await Ee(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw q.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function Ui(e){let t;try{let n=await f(e);n&&n.messages.length>0&&(t=i(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var Wi=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function Gi(e){return Wi.includes(e)}function Ki(e,t,n){if(t){let t=qi(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Xi())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return Ji(n)??`default`}function qi(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Si(e,t)}function Ji(e){if(e!=null)try{return Si(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Yi(e,t){return!!e&&Object.hasOwn(e,t)}function Xi(){return Zi()}function Zi(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid!=`function`||process.getuid()!==0}function Qi(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function $i(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function ea(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}j();function ta(){return se().permissions?.defaultMode}async function na(e,t={}){ue();let n=t.sessionId??N(),r=e.cwd;M(n,oe()),ne(r);let i=process.cwd(),o=!1;try{process.chdir(r),o=!0}catch{}re(),ve();try{let i=ge(),o=a(i),c=e._meta,l=Yi(c,`permissionMode`),f=Ki(l?c?.permissionMode:void 0,l,ta()),p=$(this),m=this.conn,h=Bi(m,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,p,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),_=Xi(),v={...d(),toolPermissionContext:{...i,mode:f,isBypassPermissionsModeAvailable:_}},[y,b]=await Promise.all([s(r),g(r)]);v.agentDefinitions=b;let x=new be({cwd:r,tools:o,commands:y,mcpClients:[],agents:b.activeAgents,canUseTool:h,getAppState:()=>v,setAppState:e=>{let t=e(v);Object.assign(v,t)},readFileCache:new u(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),S={currentModeId:f,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},..._?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},C=xe(),w=he(),T={availableModels:C.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:w};x.setModel(w);let E=Qi(S,T),ee={queryEngine:x,cancelled:!1,cancelGeneration:0,cwd:r,modes:S,models:T,configOptions:E,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:p,appState:v,commands:y,sessionFingerprint:Ci({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,ee),{sessionId:n,modes:S,models:T,configOptions:E}}finally{o&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:na}),y(),p(),j(),de();async function ra(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if(Ci({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await fe(e.sessionId,e.cwd);return M(e.sessionId,r?Ce(r.filePath):null),ne(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await fe(e.sessionId,e.cwd),a=r?Ce(r.filePath):null;M(e.sessionId,a),ne(e.cwd);let o;if(r)try{let t=await f(e.sessionId);t&&t.messages.length>0&&(o=i(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let s=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:o});if(t&&o&&o.length>0){let t=this.sessions.get(e.sessionId);t&&await zi(e.sessionId,o,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:s.sessionId,modes:s.modes,models:s.models,configOptions:s.configOptions}}async function ia(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function aa(e){try{let t=await f(e.sessionId);if(!t||t.messages.length===0)return;let n=i(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await zi(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function oa(e,t){if(!Gi(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function sa(e,t,n){let r=this.sessions.get(e);r&&(ea(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:ra,teardownSession:ia,replaySessionHistory:aa,applySessionMode:oa,updateConfigOption:sa});function ca(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(la(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
13
13
  `)}function la(e,t){let n=[];return e&&e.length>0&&n.push(`name=${e}`),t&&t.length>0&&n.push(`uri=${t}`),n.length>0?`Resource link: ${n.join(`, `)}`:`Resource link`}function ua(e){for(;e.pendingQueueHead<e.pendingQueue.length;){let t=e.pendingQueue[e.pendingQueueHead++];if(!t)continue;let n=e.pendingMessages.get(t);if(n)return e.pendingMessages.delete(t),da(e),n}da(e)}function da(e){if(e.pendingQueueHead!==0){if(e.pendingQueueHead>=e.pendingQueue.length){e.pendingQueue=[],e.pendingQueueHead=0;return}e.pendingQueueHead>1024&&e.pendingQueueHead*2>e.pendingQueue.length&&(e.pendingQueue=e.pendingQueue.slice(e.pendingQueueHead),e.pendingQueueHead=0)}}j();async function fa(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session ${e.sessionId} not found`);let n=e.messageId??void 0,r=ca(e.prompt);if(!r.trim())throw Error(`Prompt content is empty`);let i=t.cancelGeneration;if(t.promptRunning){let e=N();if(await new Promise(n=>{t.pendingQueue.push(e),t.pendingMessages.set(e,{resolve:n})}))return{stopReason:`cancelled`}}if(t.cancelGeneration!==i)return{stopReason:`cancelled`};t.cancelled=!1,t.promptRunning=!0;try{t.queryEngine.resetAbortController(),M(e.sessionId,oe());let i=t.queryEngine.submitMessage(r),{stopReason:a,usage:o}=await Ri(e.sessionId,i,Q(this),t.queryEngine.getAbortSignal(),t.toolUseCache,$(this),t.cwd,()=>t.cancelled);if(t.cancelled)return{stopReason:`cancelled`};if(await ma(this,e.sessionId,r),o){let e={inputTokens:o.inputTokens,outputTokens:o.outputTokens,cachedReadTokens:o.cachedReadTokens,cachedWriteTokens:o.cachedWriteTokens,thoughtTokens:0,totalTokens:o.inputTokens+o.outputTokens+o.cachedReadTokens+o.cachedWriteTokens+0};return{stopReason:a,usage:e,...n?{userMessageId:n}:{},_meta:{claudeCode:{usage:e}}}}return{stopReason:a,...n?{userMessageId:n}:{}}}catch(n){let r=n instanceof Error&&(n.name===`AbortError`||/abort|cancelled|interrupt/i.test(n.message));if(t.cancelled||r)return{stopReason:`cancelled`};throw n instanceof Error&&(n.message.includes(`terminated`)||n.message.includes(`process exited`))?(await this.teardownSession(e.sessionId),Error(`The Work Mate Agent process exited unexpectedly. Please start a new session.`)):n}finally{let e=ua(t);e?(t.promptRunning=!0,e.resolve(!1)):t.promptRunning=!1}}async function pa(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);if(typeof e.value!=`string`)throw Error(`Invalid value for config option ${e.configId}: ${String(e.value)}`);let n=t.configOptions.find(t=>t.id===e.configId);if(!n)throw Error(`Unknown config option: ${e.configId}`);if(n.type===`select`){let t=$i(n.options);if(!t.includes(e.value))throw Error(`Invalid value '${e.value}' for config option ${e.configId}; must be one of: ${t.join(`, `)}`)}let r=e.value;return e.configId===`mode`?(this.applySessionMode(e.sessionId,r),await Q(this).sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:r}})):e.configId===`model`&&t.queryEngine.setModel(r),ea(this,t,e.configId,r),t.configOptions=t.configOptions.map(t=>t.id===e.configId&&typeof t.currentValue==`string`?{...t,currentValue:r}:t),{configOptions:t.configOptions}}async function ma(e,t,n){let r=e.sessions.get(t);if(!r)return;let i=r.toolUseCache;if(i.__sessionInfoTitleSent)return;i.__sessionInfoTitleSent=!0;let a=Ti(n).slice(0,100);try{await Q(e).sessionUpdate({sessionId:t,update:{sessionUpdate:`session_info_update`,...a?{title:a}:{},updatedAt:new Date().toISOString()}})}catch(e){console.error(`[ACP] Failed to send session_info_update:`,e)}}Object.assign(Z.prototype,{prompt:fa,setSessionConfigOption:pa}),le(),ye();function ha(e,t){let n=we.toWeb(e);return hi(Te.toWeb(t),n)}async function ga(){ue(),ve();let e=ha(process.stdin,process.stdout),t,n=new _i(e=>(t=new Z(e),t),e);console.log=console.error,console.info=console.error,console.warn=console.error,console.debug=console.error;async function r(){for(let[e]of t.sessions)try{await t.unstable_closeSession({sessionId:e})}catch{}process.exit(0)}n.closed.then(r).catch(r),process.on(`SIGTERM`,r),process.on(`SIGINT`,r),process.on(`unhandledRejection`,(e,t)=>{console.error(`Unhandled Rejection at:`,t,`reason:`,e)}),process.stdin.resume()}export{ga as runAcpAgent};