@readmagic/workmate 0.0.16 → 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 (247) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-DAtfMH4o.js → AddWorkspaceDirectory-YAhnVwyN.js} +1 -1
  2. package/dist/chunks/AgentsMdExternalIncludesDialog--D4BeNAN.js +1 -0
  3. package/dist/chunks/{AgentsMdExternalIncludesDialog-BTYgjY5c.js → AgentsMdExternalIncludesDialog-Ba4GYFl3.js} +1 -1
  4. package/dist/chunks/{App-HF0bvxi_.js → App-mri25OrC.js} +1 -1
  5. package/dist/chunks/{ApproveApiKey-BBFLw2B7.js → ApproveApiKey-DCw6d7dm.js} +1 -1
  6. package/dist/chunks/ApproveApiKey-lv4Sg0RR.js +1 -0
  7. package/dist/chunks/{BackgroundTasksDialog-Coc0ecUd.js → BackgroundTasksDialog-CZND8e_Z.js} +1 -1
  8. package/dist/chunks/{BypassPermissionsModeDialog--Gx9ARd4.js → BypassPermissionsModeDialog-B5QBJTB4.js} +1 -1
  9. package/dist/chunks/{DiffDialog-tlINuFS1.js → DiffDialog-Bd-DcTsK.js} +1 -1
  10. package/dist/chunks/{Doctor-Wh7z6CnF.js → Doctor-C9t7udHN.js} +1 -1
  11. package/dist/chunks/Doctor-V-JLC4e3.js +1 -0
  12. package/dist/chunks/{ExitFlow-B1zHTqQt.js → ExitFlow-CShdrKmr.js} +1 -1
  13. package/dist/chunks/{Grove-1Kf7xxIV.js → Grove-CClEZT2e.js} +1 -1
  14. package/dist/chunks/{HybridTransport-DWqWUZCH.js → HybridTransport-DyEuslQB.js} +1 -1
  15. package/dist/chunks/{InvalidConfigDialog-OZPFQSnC.js → InvalidConfigDialog-Wyrk_cXR.js} +1 -1
  16. package/dist/chunks/{InvalidSettingsDialog-BNCm-eyC.js → InvalidSettingsDialog-Cr9fmSyh.js} +1 -1
  17. package/dist/chunks/{MCPConnectionManager-7H84oi5n.js → MCPConnectionManager-BnUw0nYN.js} +1 -1
  18. package/dist/chunks/{MCPToolListView-CVgtg3Iq.js → MCPToolListView-CY2EezWF.js} +1 -1
  19. package/dist/chunks/{McpParsingWarnings-CN8f449l.js → McpParsingWarnings-BF4np2Y3.js} +1 -1
  20. package/dist/chunks/{MessageSelector-B9j6zZ5w.js → MessageSelector-Dtt2Sf65.js} +1 -1
  21. package/dist/chunks/{Messages-yz1m39eI.js → Messages-D5Uuapmf.js} +1 -1
  22. package/dist/chunks/{Onboarding-bFbgae8m.js → Onboarding-BAJXV7Ay.js} +1 -1
  23. package/dist/chunks/{PromptInputFooterSuggestions-CE_yVun1.js → PromptInputFooterSuggestions-Cm4WN3qd.js} +1 -1
  24. package/dist/chunks/{PromptInputHelpMenu-TPWuGwAy.js → PromptInputHelpMenu-ESj8sOpK.js} +1 -1
  25. package/dist/chunks/{QueryEngine-CRobcENE.js → QueryEngine-B79JLwG4.js} +1 -1
  26. package/dist/chunks/REPL-B7evbhvN.js +1 -0
  27. package/dist/chunks/{REPL-C33mMf_q.js → REPL-cAXdORs2.js} +5 -5
  28. package/dist/chunks/{RemoteSessionManager-BjVD918g.js → RemoteSessionManager-C5pAD0Lh.js} +1 -1
  29. package/dist/chunks/{ResumeConversation-CXd8d8po.js → ResumeConversation-NSVT3gn7.js} +1 -1
  30. package/dist/chunks/{SSETransport-BSilVN9e.js → SSETransport-CDGMGrxN.js} +1 -1
  31. package/dist/chunks/SearchExtraToolsTool-CddjJcAH.js +1 -0
  32. package/dist/chunks/{Settings-ClcLl0C1.js → Settings-_b5Yxt_9.js} +2 -2
  33. package/dist/chunks/{TeleportProgress-DonJUoPc.js → TeleportProgress-8cS6aHVO.js} +1 -1
  34. package/dist/chunks/{TeleportRepoMismatchDialog-ByOuSVVz.js → TeleportRepoMismatchDialog-B0epkMgp.js} +1 -1
  35. package/dist/chunks/{TeleportResumeWrapper-BBtELwF1.js → TeleportResumeWrapper-Bb14JeEk.js} +1 -1
  36. package/dist/chunks/{ThemePicker-1QQJFOEv.js → ThemePicker-CnX8faYA.js} +1 -1
  37. package/dist/chunks/{TrustDialog-DwJ9L_u4.js → TrustDialog-6wJF3W6K.js} +1 -1
  38. package/dist/chunks/{add-dir-DOKdPFT2.js → add-dir-LLAv-rGS.js} +1 -1
  39. package/dist/chunks/{agentDisplay-TX1bh-lX.js → agentDisplay-QqGqcHGz.js} +1 -1
  40. package/dist/chunks/{agents-CbRjX9Pj.js → agents-C8wRUTNV.js} +1 -1
  41. package/dist/chunks/{agents-C58tRxpi.js → agents-DFPEienW.js} +1 -1
  42. package/dist/chunks/{allErrors-DRiW7i6Y.js → allErrors-DUYYPpdH.js} +1 -1
  43. package/dist/chunks/{api-CazVavfB.js → api-B3Wnozaf.js} +1 -1
  44. package/dist/chunks/api-BAT--5sp.js +1 -0
  45. package/dist/chunks/{auth-CfrCl9BZ.js → auth-CQGJitIV.js} +1 -1
  46. package/dist/chunks/auth-DaJXqwN5.js +1 -0
  47. package/dist/chunks/auth-DkhPycBL.js +1 -0
  48. package/dist/chunks/{backgroundHousekeeping-CPLlaWcV.js → backgroundHousekeeping-Bjb_Jc7L.js} +2 -2
  49. package/dist/chunks/backgroundHousekeeping-V-dg2j2E.js +1 -0
  50. package/dist/chunks/{branch-pAa0oBaj.js → branch-BWq5ynjm.js} +1 -1
  51. package/dist/chunks/{bridgeConfig-DnFfCpGd.js → bridgeConfig-B3mR0kJ0.js} +1 -1
  52. package/dist/chunks/bridgeConfig-D31i4BRi.js +1 -0
  53. package/dist/chunks/{bridgeMessaging-B_hnuUHb.js → bridgeMessaging-wZ5EKxW_.js} +1 -1
  54. package/dist/chunks/{bridgeStatusUtil-Dwz4YHNA.js → bridgeStatusUtil-mvVQSVN-.js} +1 -1
  55. package/dist/chunks/{btw-CkVkYeRr.js → btw-XNgXHnNr.js} +1 -1
  56. package/dist/chunks/{caches-BLQUkrIG.js → caches-ByLjTvdy.js} +1 -1
  57. package/dist/chunks/caches-ckqJ4Qso.js +1 -0
  58. package/dist/chunks/{ccrClient-AfdUbWzY.js → ccrClient-EisctZbc.js} +1 -1
  59. package/dist/chunks/{clear-Ac3qYi_-.js → clear-BjtPf2Jb.js} +1 -1
  60. package/dist/chunks/client-Bl43xcRk.js +1 -0
  61. package/dist/chunks/commands-BDhn7EPO.js +1 -0
  62. package/dist/chunks/{compact-CXuDr5qM.js → compact-w8AhLkr6.js} +1 -1
  63. package/dist/chunks/config-CbAvTdZ7.js +1 -0
  64. package/dist/chunks/{context-C2plOqH4.js → context-Btn2JU2y.js} +1 -1
  65. package/dist/chunks/{context-noninteractive-fVQtwEkw.js → context-noninteractive-044464Vs.js} +1 -1
  66. package/dist/chunks/context-noninteractive-ulRLlYg5.js +1 -0
  67. package/dist/chunks/conversation-D08lU377.js +1 -0
  68. package/dist/chunks/{conversation-DQpS6nvg.js → conversation-a82khZ_n.js} +1 -1
  69. package/dist/chunks/{createSSHSession-CfyFuJMH.js → createSSHSession-C0KSI0fJ.js} +1 -1
  70. package/dist/chunks/{createSession-qk9C66lK.js → createSession-8ScCWTKb.js} +1 -1
  71. package/dist/chunks/createSession-CnlPXXkA.js +1 -0
  72. package/dist/chunks/{crossProjectResume-DY1ZBO5P.js → crossProjectResume-BCN462Wa.js} +1 -1
  73. package/dist/chunks/{datadog-Cr0VKbct.js → datadog-BqINRWAW.js} +1 -1
  74. package/dist/chunks/{diff-BNjcCXDr.js → diff-CcrSQNvQ.js} +1 -1
  75. package/dist/chunks/doctor-DRFDBrH1.js +1 -0
  76. package/dist/chunks/{entry-o9IZPS4g.js → entry-oVZ7Z59B.js} +1 -1
  77. package/dist/chunks/{esm-BI3tFLyy.js → esm-BZciQG9N.js} +1 -1
  78. package/dist/chunks/{exit-Dlyj7nY8.js → exit-jikLI2Zh.js} +1 -1
  79. package/dist/chunks/{extraUsage-5Ueiyw6W.js → extraUsage-BT3in1Aj.js} +1 -1
  80. package/dist/chunks/extractMemories-BsQU2bVO.js +1 -0
  81. package/dist/chunks/fast-B9vVL3sY.js +1 -0
  82. package/dist/chunks/{fast-ClOKONyD.js → fast-CKhtBOx7.js} +1 -1
  83. package/dist/chunks/fetchModelList-BeL40TyR.js +1 -0
  84. package/dist/chunks/{fetchModelList-gh_jFYai.js → fetchModelList-DmaMgpa2.js} +1 -1
  85. package/dist/chunks/{fileSuggestions-DK7W8kLF.js → fileSuggestions-BfG3sbET.js} +1 -1
  86. package/dist/chunks/firstPartyEventLogger-6GwZ6VLr.js +1 -0
  87. package/dist/chunks/{firstPartyEventLogger-BMnXb9cv.js → firstPartyEventLogger-Q3fMF0BR.js} +2 -2
  88. package/dist/chunks/{flushGate-n4kK6H1U.js → flushGate-COa_KO98.js} +1 -1
  89. package/dist/chunks/{gemini-C8-QHnsC.js → gemini-L8Gj2B4H.js} +1 -1
  90. package/dist/chunks/{generateSessionName-C8DnAVaa.js → generateSessionName-cAL5T7pG.js} +1 -1
  91. package/dist/chunks/{goal-DMmzlZOF.js → goal-D-x2WXm7.js} +1 -1
  92. package/dist/chunks/{grok-LLjpAwP_.js → grok-DtypRM4d.js} +1 -1
  93. package/dist/chunks/{grove-CQBCzeHf.js → grove-CSivzrhe.js} +1 -1
  94. package/dist/chunks/{help-JH7WzjZP.js → help-DKZhC0lL.js} +1 -1
  95. package/dist/chunks/{hooks-DD2jpRfx.js → hooks-D_afUDcs.js} +1 -1
  96. package/dist/chunks/hooks-DvVuNKRx.js +1 -0
  97. package/dist/chunks/{initReplBridge-BDaN0hpY.js → initReplBridge-sTaq4a0K.js} +1 -1
  98. package/dist/chunks/{install-CD4or0vj.js → install-BWe3Jz4M.js} +1 -1
  99. package/dist/chunks/{instrumentation-n-otwpYf.js → instrumentation-IljwxX0V.js} +3 -3
  100. package/dist/chunks/{job-B-pEWgXI.js → job-N25KhSUu.js} +1 -1
  101. package/dist/chunks/{keybindings-qed9q9tx.js → keybindings-DLEorhlY.js} +1 -1
  102. package/dist/chunks/{launchLocalMemory-cBovdGMT.js → launchLocalMemory-DJsuNLIf.js} +1 -1
  103. package/dist/chunks/{launchOnboarding-B__wtt7p.js → launchOnboarding-CVvuxeH-.js} +1 -1
  104. package/dist/chunks/{loadAgentsDir-PPiD2Mfq.js → loadAgentsDir-CbtNPJV3.js} +23 -23
  105. package/dist/chunks/loadAgentsDir-D0gl_H2S.js +1 -0
  106. package/dist/chunks/{loadPluginHooks-DUCuU3_8.js → loadPluginHooks-BxkDBFd6.js} +1 -1
  107. package/dist/chunks/{localSearch-Cvs9WfoX.js → localSearch-B5mTHBwK.js} +1 -1
  108. package/dist/chunks/localSearch-D3UrYUre.js +1 -0
  109. package/dist/chunks/{logoV2Utils-Bkj74dtY.js → logoV2Utils-D5nRpirL.js} +1 -1
  110. package/dist/chunks/{magicDocs-3U6peChg.js → magicDocs-C9aIo4Oe.js} +1 -1
  111. package/dist/chunks/{main-DkjxhBIC.js → main-DeUt_aE2.js} +9 -9
  112. package/dist/chunks/managedEnv-ADMKY7-G.js +1 -0
  113. package/dist/chunks/{managedEnv-BUrzwaD3.js → managedEnv-CDxyrUw1.js} +1 -1
  114. package/dist/chunks/{mappers-ZGgwqDOK.js → mappers-Del1KoA7.js} +1 -1
  115. package/dist/chunks/{mcp-COZxwgJZ.js → mcp-Bh3MNBIj.js} +2 -2
  116. package/dist/chunks/{mcp-CdyNeNzh.js → mcp-D7vMhEOV.js} +1 -1
  117. package/dist/chunks/{mcp-CysOyBIn.js → mcp-nnBVM5Lt.js} +1 -1
  118. package/dist/chunks/{memory-B5h2TTSS.js → memory-DtqQhHu8.js} +1 -1
  119. package/dist/chunks/{mode-D3yY1fdK.js → mode-DPbrxU32.js} +1 -1
  120. package/dist/chunks/{model-Bz4JHoU0.js → model-B50j-O5v.js} +1 -1
  121. package/dist/chunks/model-DLG1nrnf.js +1 -0
  122. package/dist/chunks/{model-sviY1inu.js → model-DlLO7TSx.js} +1 -1
  123. package/dist/chunks/{modelOptions-DYQqTLPi.js → modelOptions-SMq3one0.js} +1 -1
  124. package/dist/chunks/{nativeInstaller-N1xiUpCP.js → nativeInstaller-DTJ4clp-.js} +1 -1
  125. package/dist/chunks/{omit-BOILu8jW.js → omit-CMldTqqy.js} +1 -1
  126. package/dist/chunks/{onChangeAppState-COFFZAXb.js → onChangeAppState-EAnsmOuo.js} +1 -1
  127. package/dist/chunks/{openai-BHM5kEFo.js → openai-D9KvLMrj.js} +1 -1
  128. package/dist/chunks/{partition-C1SFDk_L.js → partition-B8Y4jvjW.js} +1 -1
  129. package/dist/chunks/{permissions-uy_NFbfy.js → permissions-cDtIZRM1.js} +1 -1
  130. package/dist/chunks/{pidLock-DuMVSwnN.js → pidLock-Br3_YNi_.js} +2 -2
  131. package/dist/chunks/{plan-DF9YSB5M.js → plan-dG2H4eQl.js} +1 -1
  132. package/dist/chunks/{plugin-GRPzqgTr.js → plugin-CzQHuIlP.js} +1 -1
  133. package/dist/chunks/{pluginAutoupdate-AMD-FvKB.js → pluginAutoupdate-B9W_vxOG.js} +1 -1
  134. package/dist/chunks/{pluginBlocklist-DNxkAxH6.js → pluginBlocklist-BvdBsnJG.js} +1 -1
  135. package/dist/chunks/{pluginCliCommands-BFoR1ZXx.js → pluginCliCommands-NKIgFTUF.js} +1 -1
  136. package/dist/chunks/{pluginFlagging-CW2IZWSI.js → pluginFlagging-C0PtAJEg.js} +1 -1
  137. package/dist/chunks/{pluginOperations-DlWE0idP.js → pluginOperations-wUUdFpu9.js} +1 -1
  138. package/dist/chunks/pluginStartupCheck-hDT6pEAd.js +1 -0
  139. package/dist/chunks/{pluginStartupCheck-AQGV0DCS.js → pluginStartupCheck-p0njap1l.js} +1 -1
  140. package/dist/chunks/{plugins-CwUSTE4E.js → plugins-B9WBqOAW.js} +1 -1
  141. package/dist/chunks/{print-9wR_ijrL.js → print-G3DgPTxy.js} +3 -3
  142. package/dist/chunks/{processBashCommand-Deqwq1IE.js → processBashCommand-zLWgCRws.js} +1 -1
  143. package/dist/chunks/{processSlashCommand-U9LJ4Keq.js → processSlashCommand-BHBnHBjj.js} +1 -1
  144. package/dist/chunks/{prompt-CQmEvnKN.js → prompt-BRGC5U9Y.js} +1 -1
  145. package/dist/chunks/prompt-Ct3Ryb3C.js +1 -0
  146. package/dist/chunks/prompt-TZJKyomz.js +1 -0
  147. package/dist/chunks/{promptEditor-Bf72KNF-.js → promptEditor-CRIw6vJS.js} +1 -1
  148. package/dist/chunks/{reconciler-Css9bs07.js → reconciler-DiU1RvGD.js} +1 -1
  149. package/dist/chunks/{refresh-B87z39Zs.js → refresh-DEXe3Lmx.js} +1 -1
  150. package/dist/chunks/{reload-plugins-BpmUIkfm.js → reload-plugins-Cl6wvT6V.js} +1 -1
  151. package/dist/chunks/{remoteBridgeCore-BCLIIygk.js → remoteBridgeCore-DnFZoXaw.js} +1 -1
  152. package/dist/chunks/{remoteManagedSettings-Ahgn2e80.js → remoteManagedSettings-BboLJ46D.js} +1 -1
  153. package/dist/chunks/{rename-BUt3PliQ.js → rename-CdzxOzN5.js} +1 -1
  154. package/dist/chunks/{resume-uZI9p_FE.js → resume-DgFXYWTN.js} +1 -1
  155. package/dist/chunks/{runtimeObserver-AKOWfdZ_.js → runtimeObserver-CwtRE2cj.js} +1 -1
  156. package/dist/chunks/{runtimeObserver-By59MZKJ.js → runtimeObserver-Dov-m2dl.js} +2 -2
  157. package/dist/chunks/sandbox-adapter-CtEngx-6.js +1 -0
  158. package/dist/chunks/{sandbox-toggle-BdvylnWS.js → sandbox-toggle-DWCrG9zV.js} +1 -1
  159. package/dist/chunks/searchExtraTools-zFMN5MqY.js +1 -0
  160. package/dist/chunks/{session-Tm2-rzBY.js → session-L5191BSn.js} +1 -1
  161. package/dist/chunks/sessionFileAccessHooks-C2VjT-PU.js +1 -0
  162. package/dist/chunks/sessionObserver-BuhXr3FP.js +1 -0
  163. package/dist/chunks/{sessionObserver-BAr8AWeL.js → sessionObserver-DpY0DOjI.js} +1 -1
  164. package/dist/chunks/{sessionState-BTFowSpR.js → sessionState-BlbRQ3Y6.js} +1 -1
  165. package/dist/chunks/sessionStorage-CiYSwyY3.js +1 -0
  166. package/dist/chunks/sessionTitle-k4wpUS5l.js +2 -0
  167. package/dist/chunks/{sessionTracing-CvY4udYI.js → sessionTracing-DqVx8aFD.js} +1 -1
  168. package/dist/chunks/{settingsSync-nxeaGM2-.js → settingsSync-BhlegQAU.js} +1 -1
  169. package/dist/chunks/{setup-D4FPeBnM.js → setup-DvnKMqDy.js} +2 -2
  170. package/dist/chunks/{shadowedRuleDetection-Co8m1q1D.js → shadowedRuleDetection-Gerk3t93.js} +1 -1
  171. package/dist/chunks/{sideQuestion-4TJYn-Az.js → sideQuestion-RndkXExy.js} +1 -1
  172. package/dist/chunks/sinks-Cf4vx9UX.js +1 -0
  173. package/dist/chunks/{sinks-Bb2i50kz.js → sinks-CfzgqLH5.js} +1 -1
  174. package/dist/chunks/{skillChangeDetector-BU9AFG0i.js → skillChangeDetector-BQx4xe_b.js} +1 -1
  175. package/dist/chunks/{skillGapStore-BcVP3ZUb.js → skillGapStore-CLxhWLyq.js} +2 -2
  176. package/dist/chunks/{skillLifecycle-CG2XmS8f.js → skillLifecycle-CSNX2qOH.js} +2 -2
  177. package/dist/chunks/{skillSearchPanel-DOJmUBXB.js → skillSearchPanel-CsQDjy_E.js} +2 -2
  178. package/dist/chunks/{skills-DIgCWvzX.js → skills-DM9ACPW-.js} +1 -1
  179. package/dist/chunks/status-C3z0CSBw.js +1 -0
  180. package/dist/chunks/{status-Ber2xOXc.js → status-C5v7KsX4.js} +1 -1
  181. package/dist/chunks/{statusNoticeHelpers-CYkrPUpN.js → statusNoticeHelpers-BY_8pK19.js} +1 -1
  182. package/dist/chunks/switcher-C9VsM-ip.js +1 -0
  183. package/dist/chunks/{switcher-BIP3rbQn.js → switcher-CnBKuiNp.js} +1 -1
  184. package/dist/chunks/{syncCache-AMQMQ_HR.js → syncCache-Dff4hbz4.js} +1 -1
  185. package/dist/chunks/{tasks-BKERIO4G.js → tasks-qVyXOLBf.js} +1 -1
  186. package/dist/chunks/{teleport-DOXbf2sQ.js → teleport-Deq_ecN9.js} +1 -1
  187. package/dist/chunks/{templateJobs-dg2F45ZJ.js → templateJobs-CntPyct-.js} +1 -1
  188. package/dist/chunks/{theme-BGxytGjA.js → theme-DVWYzSct.js} +1 -1
  189. package/dist/chunks/{toolEventObserver-CJhg_p3P.js → toolEventObserver-BZn8ZJB5.js} +1 -1
  190. package/dist/chunks/{toolPool-C0d7Bznl.js → toolPool-Dzp1ob3I.js} +1 -1
  191. package/dist/chunks/trustedDevice-1Q4FTNyX.js +1 -0
  192. package/dist/chunks/{trustedDevice-BtXHXu-T.js → trustedDevice-CdLAZK6m.js} +1 -1
  193. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-C9orgrub.js → useExitOnCtrlCDWithKeybindings-YSWYVWk6.js} +1 -1
  194. package/dist/chunks/useMainLoopModel-C1JRp4zE.js +1 -0
  195. package/dist/chunks/{useManagePlugins-Bt-DYAnX.js → useManagePlugins-DfuI4Nhd.js} +1 -1
  196. package/dist/chunks/{useMergedTools-CZeQBdky.js → useMergedTools-B4qRVJ8b.js} +1 -1
  197. package/dist/chunks/{useSearchInput-DdKrVHJS.js → useSearchInput-DfUNYhqC.js} +1 -1
  198. package/dist/chunks/{useSettingsErrors-BR9Wws7D.js → useSettingsErrors-Bls74ocI.js} +1 -1
  199. package/dist/chunks/{userAgent-DUt0q-Vl.js → userAgent-CNPTS7ix.js} +1 -1
  200. package/dist/chunks/{util-h-Hmdke_.js → util-6aJHnBQ_.js} +1 -1
  201. package/dist/chunks/{validatePlugin-mWVKNtJa.js → validatePlugin-BajM6yNf.js} +1 -1
  202. package/dist/chunks/{workerRegistry-dlfqtySm.js → workerRegistry-BwJ54Lzk.js} +2 -2
  203. package/dist/chunks/worktree-BFP10vim.js +1 -0
  204. package/dist/cli.js +1 -1
  205. package/package.json +1 -1
  206. package/dist/chunks/AgentsMdExternalIncludesDialog-C6VH6JG6.js +0 -1
  207. package/dist/chunks/ApproveApiKey-B7mKgSqY.js +0 -1
  208. package/dist/chunks/Doctor-BJf49FWX.js +0 -1
  209. package/dist/chunks/REPL-BhCC0JP6.js +0 -1
  210. package/dist/chunks/SearchExtraToolsTool-DoiCI2uJ.js +0 -1
  211. package/dist/chunks/api-C8uOHD-v.js +0 -1
  212. package/dist/chunks/auth-BL238vgr.js +0 -1
  213. package/dist/chunks/auth-D3GkU6d7.js +0 -1
  214. package/dist/chunks/backgroundHousekeeping-Du2tN2WE.js +0 -1
  215. package/dist/chunks/bridgeConfig-joBqeK0j.js +0 -1
  216. package/dist/chunks/caches-DsFl83sh.js +0 -1
  217. package/dist/chunks/client-BX0r6K3I.js +0 -1
  218. package/dist/chunks/commands-BKLsl6gK.js +0 -1
  219. package/dist/chunks/config-DrY1SvhQ.js +0 -1
  220. package/dist/chunks/context-noninteractive-DpVlZ-wP.js +0 -1
  221. package/dist/chunks/conversation-C0yysXds.js +0 -1
  222. package/dist/chunks/createSession-CmBawnsh.js +0 -1
  223. package/dist/chunks/doctor-BkCtT7H1.js +0 -1
  224. package/dist/chunks/extractMemories-DnTBWFOW.js +0 -1
  225. package/dist/chunks/fast-B3fRp1xO.js +0 -1
  226. package/dist/chunks/fetchModelList-B8KG79EK.js +0 -1
  227. package/dist/chunks/firstPartyEventLogger-YYOb8aIo.js +0 -1
  228. package/dist/chunks/hooks-COhKt_pF.js +0 -1
  229. package/dist/chunks/loadAgentsDir-qvqrTVuS.js +0 -1
  230. package/dist/chunks/localSearch-CDk_stXJ.js +0 -1
  231. package/dist/chunks/managedEnv-XOUMOtEF.js +0 -1
  232. package/dist/chunks/model-g6XBcNAG.js +0 -1
  233. package/dist/chunks/pluginStartupCheck-DWpquqxx.js +0 -1
  234. package/dist/chunks/prompt-BBeDQXIs.js +0 -1
  235. package/dist/chunks/prompt-CXhdqgB7.js +0 -1
  236. package/dist/chunks/sandbox-adapter-D4Uho1vF.js +0 -1
  237. package/dist/chunks/searchExtraTools-BHMkqGBf.js +0 -1
  238. package/dist/chunks/sessionFileAccessHooks-BaWZ8sqn.js +0 -1
  239. package/dist/chunks/sessionObserver-KB1UL_n2.js +0 -1
  240. package/dist/chunks/sessionStorage-D6nlmaI-.js +0 -1
  241. package/dist/chunks/sessionTitle-SCqmSDYM.js +0 -14
  242. package/dist/chunks/sinks-D1opmy_x.js +0 -1
  243. package/dist/chunks/status-CVcXPoOZ.js +0 -1
  244. package/dist/chunks/switcher-zbG6T9dN.js +0 -1
  245. package/dist/chunks/trustedDevice-hw3iq84W.js +0 -1
  246. package/dist/chunks/useMainLoopModel-BigVcn2T.js +0 -1
  247. package/dist/chunks/worktree-IxcFe7g-.js +0 -1
@@ -1 +1 @@
1
- import{n as e,o as t,r as n}from"./rolldown-runtime-DaDcL9Zw.js";import{n as r,t as i}from"./memoize-BK3gG5ob.js";import{d as a,i as o,l as s,o as c,r as ee,s as l,t as u}from"./envUtils-DcaKZlRU.js";import{n as te,t as d}from"./defineProperty-C-QyHrDq.js";import{n as f,t as p}from"./axios-DaWTGg7G.js";import{di as ne,fi as re}from"./src-DL3w8VPk2.js";import{A as ie,C as ae,p as oe,w as se}from"./external-CEp-aPkt.js";import{n as ce,r as le,t as ue}from"./lazySchema-B4D4qJVE.js";import{$ as de,In as fe,Ir as pe,J as me,Lr as he,Wt as m,Z as ge,Zt as _e,dt as ve,lr as ye,pt as be,sn as xe,ur as Se,vn as Ce,y as we,z as h,zn as Te}from"./state-BPFYBqm1.js";import{B as Ee,C as De,F as Oe,G as ke,P as g,R as Ae,S as je,T as Me,W as Ne,c as _,f as Pe,i as v,o as Fe,s as Ie,u as Le,x as Re}from"./debug-BQj6h99Q.js";import{Wt as ze,c as y,f as b,g as x,n as Be,x as Ve}from"./settings-CvhsRFaT.js";import{C as He,S as Ue,c as S,h as We,n as C,y as w}from"./config-BSkuQZNf.js";import{a as Ge,c as Ke,i as qe,o as Je,r as Ye,s as Xe,t as Ze}from"./execFileNoThrow-DYm1GeGn.js";import{d as Qe,f as $e,o as et,s as T}from"./log-BlJ7CcKG.js";import{r as tt,t as nt}from"./memoize-_2f7NWDv.js";import{s as rt,u as it}from"./types-BomO8WUz.js";import{n as at,r as E}from"./analytics-DJobLaWP.js";import{l as D,n as ot,r as st,s as ct,t as lt,u as O}from"./oauth-D38aRTUb.js";import{n as ut,t as dt}from"./bundledMode--fG1S62b.js";import{n as ft,o as pt}from"./stringUtils-BjnclTLB.js";import{a as mt,i as ht,l as gt}from"./proxy-C0j74LqT.js";import{userInfo as _t}from"os";import{join as vt}from"path";import{chmodSync as yt,mkdirSync as bt,readFileSync as xt,writeFileSync as St}from"fs";import{createHash as Ct,randomUUID as wt}from"crypto";import{mkdir as Tt,stat as Et,writeFile as Dt}from"fs/promises";import{exec as Ot,execFile as kt}from"child_process";import{AsyncLocalStorage as At}from"async_hooks";function k(e=Be()){let t=e.modelType;return t===`openai`?`openai`:t===`gemini`?`gemini`:t===`grok`?`grok`:s(process.env.CLAUDE_CODE_USE_BEDROCK)?`bedrock`:s(process.env.CLAUDE_CODE_USE_VERTEX)?`vertex`:s(process.env.CLAUDE_CODE_USE_FOUNDRY)?`foundry`:s(process.env.CLAUDE_CODE_USE_OPENAI)?`openai`:s(process.env.CLAUDE_CODE_USE_GEMINI)?`gemini`:s(process.env.CLAUDE_CODE_USE_GROK)?`grok`:`firstParty`}function jt(){return k()}function Mt(){let e=process.env.ANTHROPIC_BASE_URL;if(!e)return!0;try{return new URL(e).host===`api.anthropic.com`}catch{return!1}}var A=e((()=>{x(),c()}));function Nt(){return Ft.getStore()?.workload}function Pt(e,t){return Ft.run({workload:e},t)}var Ft,It=e((()=>{Ft=new At}));function Lt(e){let t=[],n=!1;async function r(){if(!n&&t.length!==0){for(n=!0;t.length>0;){let{args:n,resolve:r,reject:i,context:a}=t.shift();try{r(await e.apply(a,n))}catch(e){i(e)}}n=!1,t.length>0&&r()}}return function(...e){return new Promise((n,i)=>{t.push({args:e,resolve:n,reject:i,context:this}),r()})}}var Rt=e((()=>{}));function zt(e,t){return e.find(e=>e.includes(t))??null}async function Bt(){let{BedrockClient:e}=await import(`./dist-es-yHGBqhBe.js`),t=u(),n=s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),r={region:t,...process.env.ANTHROPIC_BEDROCK_BASE_URL&&{endpoint:process.env.ANTHROPIC_BEDROCK_BASE_URL},...await ht(),...n&&{requestHandler:new(await(import(`./dist-es-C7vygWzp.js`))).NodeHttpHandler,httpAuthSchemes:[{schemeId:`smithy.api#noAuth`,identityProvider:()=>async()=>({}),signer:new(await(import(`./dist-es-gUzZ_7Vf.js`))).NoAuthSigner}],httpAuthSchemeProvider:()=>[{schemeId:`smithy.api#noAuth`}]}};if(!n&&!process.env.AWS_BEARER_TOKEN_BEDROCK){let e=await U();e&&(r.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken})}return new e(r)}async function Vt(){let{BedrockRuntimeClient:e}=await import(`./dist-es-Gt_DpXlP.js`),t=u(),n=s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),r={region:t,...process.env.ANTHROPIC_BEDROCK_BASE_URL&&{endpoint:process.env.ANTHROPIC_BEDROCK_BASE_URL},...await ht(),...n&&{requestHandler:new(await(import(`./dist-es-C7vygWzp.js`))).NodeHttpHandler,httpAuthSchemes:[{schemeId:`smithy.api#noAuth`,identityProvider:()=>async()=>({}),signer:new(await(import(`./dist-es-gUzZ_7Vf.js`))).NoAuthSigner}],httpAuthSchemeProvider:()=>[{schemeId:`smithy.api#noAuth`}]}};if(!n&&!process.env.AWS_BEARER_TOKEN_BEDROCK){let e=await U();e&&(r.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken})}return new e(r)}function Ht(e){return e.startsWith(`anthropic.`)}function Ut(e){if(!e.startsWith(`arn:`))return e;let t=e.lastIndexOf(`/`);return t===-1?e:e.substring(t+1)}function Wt(e){let t=Ut(e);for(let e of Jt)if(t.startsWith(`${e}.anthropic.`))return e}function Gt(e,t){let n=Wt(e);return n?e.replace(`${n}.`,`${t}.`):Ht(e)?`${t}.${e}`:e}var Kt,qt,Jt,Yt=e((()=>{i(),G(),c(),et(),gt(),Kt=r(async()=>{let[e,{ListInferenceProfilesCommand:t}]=await Promise.all([Bt(),import(`./dist-es-yHGBqhBe.js`)]),n=[],r;try{do{let i=new t({...r&&{nextToken:r},typeEquals:`SYSTEM_DEFINED`}),a=await e.send(i);a.inferenceProfileSummaries&&n.push(...a.inferenceProfileSummaries),r=a.nextToken}while(r);return n.filter(e=>e.inferenceProfileId?.includes(`anthropic`)).map(e=>e.inferenceProfileId).filter(Boolean)}catch(e){throw T(e),e}}),qt=r(async e=>{try{let[t,{GetInferenceProfileCommand:n}]=await Promise.all([Bt(),import(`./dist-es-yHGBqhBe.js`)]),r=new n({inferenceProfileIdentifier:e}),i=await t.send(r);if(!i.models||i.models.length===0)return null;let a=i.models[0];if(!a?.modelArn)return null;let o=a.modelArn.lastIndexOf(`/`);return o>=0?a.modelArn.substring(o+1):a.modelArn}catch(e){return T(e),null}}),Jt=[`us`,`eu`,`apac`,`global`]})),Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn=e((()=>{Xt={firstParty:`claude-3-7-sonnet-20250219`,bedrock:`us.anthropic.claude-3-7-sonnet-20250219-v1:0`,vertex:`claude-3-7-sonnet@20250219`,foundry:`claude-3-7-sonnet`,openai:`claude-3-7-sonnet-20250219`,gemini:`claude-3-7-sonnet-20250219`,grok:`claude-3-7-sonnet-20250219`},Zt={firstParty:`claude-3-5-sonnet-20241022`,bedrock:`anthropic.claude-3-5-sonnet-20241022-v2:0`,vertex:`claude-3-5-sonnet-v2@20241022`,foundry:`claude-3-5-sonnet`,openai:`claude-3-5-sonnet-20241022`,gemini:`claude-3-5-sonnet-20241022`,grok:`claude-3-5-sonnet-20241022`},Qt={firstParty:`claude-3-5-haiku-20241022`,bedrock:`us.anthropic.claude-3-5-haiku-20241022-v1:0`,vertex:`claude-3-5-haiku@20241022`,foundry:`claude-3-5-haiku`,openai:`claude-3-5-haiku-20241022`,gemini:`claude-3-5-haiku-20241022`,grok:`claude-3-5-haiku-20241022`},$t={firstParty:`claude-haiku-4-5-20251001`,bedrock:`us.anthropic.claude-haiku-4-5-20251001-v1:0`,vertex:`claude-haiku-4-5@20251001`,foundry:`claude-haiku-4-5`,openai:`claude-haiku-4-5-20251001`,gemini:`claude-haiku-4-5-20251001`,grok:`claude-haiku-4-5-20251001`},en={firstParty:`claude-sonnet-4-20250514`,bedrock:`us.anthropic.claude-sonnet-4-20250514-v1:0`,vertex:`claude-sonnet-4@20250514`,foundry:`claude-sonnet-4`,openai:`claude-sonnet-4-20250514`,gemini:`claude-sonnet-4-20250514`,grok:`claude-sonnet-4-20250514`},tn={firstParty:`claude-sonnet-4-5-20250929`,bedrock:`us.anthropic.claude-sonnet-4-5-20250929-v1:0`,vertex:`claude-sonnet-4-5@20250929`,foundry:`claude-sonnet-4-5`,openai:`claude-sonnet-4-5-20250929`,gemini:`claude-sonnet-4-5-20250929`,grok:`claude-sonnet-4-5-20250929`},nn={firstParty:`claude-opus-4-20250514`,bedrock:`us.anthropic.claude-opus-4-20250514-v1:0`,vertex:`claude-opus-4@20250514`,foundry:`claude-opus-4`,openai:`claude-opus-4-20250514`,gemini:`claude-opus-4-20250514`,grok:`claude-opus-4-20250514`},rn={firstParty:`claude-opus-4-1-20250805`,bedrock:`us.anthropic.claude-opus-4-1-20250805-v1:0`,vertex:`claude-opus-4-1@20250805`,foundry:`claude-opus-4-1`,openai:`claude-opus-4-1-20250805`,gemini:`claude-opus-4-1-20250805`,grok:`claude-opus-4-1-20250805`},an={firstParty:`claude-opus-4-5-20251101`,bedrock:`us.anthropic.claude-opus-4-5-20251101-v1:0`,vertex:`claude-opus-4-5@20251101`,foundry:`claude-opus-4-5`,openai:`claude-opus-4-5-20251101`,gemini:`claude-opus-4-5-20251101`,grok:`claude-opus-4-5-20251101`},on={firstParty:`claude-opus-4-6`,bedrock:`us.anthropic.claude-opus-4-6-v1`,vertex:`claude-opus-4-6`,foundry:`claude-opus-4-6`,openai:`claude-opus-4-6`,gemini:`claude-opus-4-6`,grok:`claude-opus-4-6`},sn={firstParty:`claude-opus-4-7`,bedrock:`us.anthropic.claude-opus-4-7-v1`,vertex:`claude-opus-4-7`,foundry:`claude-opus-4-7`,openai:`claude-opus-4-7`,gemini:`claude-opus-4-7`,grok:`claude-opus-4-7`},cn={firstParty:`claude-sonnet-4-6`,bedrock:`us.anthropic.claude-sonnet-4-6`,vertex:`claude-sonnet-4-6`,foundry:`claude-sonnet-4-6`,openai:`claude-sonnet-4-6`,gemini:`claude-sonnet-4-6`,grok:`claude-sonnet-4-6`},ln={haiku35:Qt,haiku45:$t,sonnet35:Zt,sonnet37:Xt,sonnet40:en,sonnet45:tn,sonnet46:cn,opus40:nn,opus41:rn,opus45:an,opus46:on,opus47:sn},Object.values(ln).map(e=>e.firstParty),un=Object.fromEntries(Object.entries(ln).map(([e,t])=>[t.firstParty,e]))}));function fn(e){let t={};for(let n of vn)t[n]=ln[n][e];return t}async function pn(){let e=fn(`bedrock`),t;try{t=await Kt()}catch(t){return T(t),e}if(!t?.length)return e;let n={};for(let r of vn){let i=ln[r].firstParty;n[r]=zt(t,i)||e[r]}return n}function mn(e){let t=Be().modelOverrides;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=un[e];t&&r&&(n[t]=r)}return n}function hn(e){let t;try{t=Be().modelOverrides}catch{return e}if(!t)return e;for(let[n,r]of Object.entries(t))if(r===e)return n;return e}function gn(){if(ge()===null){if(k()!==`bedrock`){fe(fn(k()));return}yn()}}function j(){let e=ge();return e===null?(gn(),mn(fn(k()))):mn(e)}async function _n(){if(ge()===null){if(k()!==`bedrock`){fe(fn(k()));return}await yn()}}var vn,yn,bn=e((()=>{m(),et(),Rt(),x(),Yt(),dn(),A(),vn=Object.keys(ln),yn=Lt(async()=>{if(ge()===null)try{fe(await pn())}catch(e){T(e)}})}));async function xn(){let e=S().oauthAccount?.accountUuid,t=ea();if(!e||!t)return;let n=`${D().BASE_API_URL}/api/claude_cli_profile`;try{return(await f.get(n,{headers:{"x-api-key":t,"anthropic-beta":ct},params:{account_uuid:e},timeout:1e4})).data}catch(e){T(e)}}async function Sn(e){let t=`${D().BASE_API_URL}/api/oauth/profile`;try{return(await f.get(t,{headers:{Authorization:`Bearer ${e}`,"Content-Type":`application/json`},timeout:1e4})).data}catch(e){T(e)}}var Cn=e((()=>{p(),O(),G(),We(),et()}));function wn(e){return!!e?.includes(ot)}function Tn(e){return e?.split(` `).filter(Boolean)??[]}function En({codeChallenge:e,state:t,port:n,isManual:r,loginWithClaudeAi:i,inferenceOnly:a,orgUUID:o,loginHint:s,loginMethod:c}){let ee=i?D().CLAUDE_AI_AUTHORIZE_URL:D().CONSOLE_AUTHORIZE_URL,l=new URL(ee);l.searchParams.append(`code`,`true`),l.searchParams.append(`client_id`,D().CLIENT_ID),l.searchParams.append(`response_type`,`code`),l.searchParams.append(`redirect_uri`,r?D().MANUAL_REDIRECT_URL:`http://localhost:${n}/callback`);let u=a?[ot]:lt;return l.searchParams.append(`scope`,u.join(` `)),l.searchParams.append(`code_challenge`,e),l.searchParams.append(`code_challenge_method`,`S256`),l.searchParams.append(`state`,t),o&&l.searchParams.append(`orgUUID`,o),s&&l.searchParams.append(`login_hint`,s),c&&l.searchParams.append(`login_method`,c),l.toString()}async function Dn(e,t,n,r,i=!1,a){let o={grant_type:`authorization_code`,code:e,redirect_uri:i?D().MANUAL_REDIRECT_URL:`http://localhost:${r}/callback`,client_id:D().CLIENT_ID,code_verifier:n,state:t};a!==void 0&&(o.expires_in=a);let s=await f.post(D().TOKEN_URL,o,{headers:{"Content-Type":`application/json`},timeout:15e3});if(s.status!==200)throw Error(s.status===401?`Authentication failed: Invalid authorization code`:`Token exchange failed (${s.status}): ${s.statusText}`);return E(`tengu_oauth_token_exchange_success`,{}),s.data}async function On(e,{scopes:t}={}){let n={grant_type:`refresh_token`,refresh_token:e,client_id:D().CLIENT_ID,scope:(t?.length?t:st).join(` `)};try{let t=await f.post(D().TOKEN_URL,n,{headers:{"Content-Type":`application/json`},timeout:15e3});if(t.status!==200)throw Error(`Token refresh failed: ${t.statusText}`);let r=t.data,{access_token:i,refresh_token:a=e,expires_in:o}=r,s=Date.now()+o*1e3,c=Tn(r.scope);E(`tengu_oauth_token_refresh_success`,{});let ee=S(),l=W(),u=ee.oauthAccount?.billingType!==void 0&&ee.oauthAccount?.accountCreatedAt!==void 0&&ee.oauthAccount?.subscriptionCreatedAt!==void 0&&l?.subscriptionType!=null&&l?.rateLimitTier!=null?null:await Mn(i);if(u&&ee.oauthAccount){let e={};u.displayName!==void 0&&(e.displayName=u.displayName),typeof u.hasExtraUsageEnabled==`boolean`&&(e.hasExtraUsageEnabled=u.hasExtraUsageEnabled),u.billingType!==null&&(e.billingType=u.billingType),u.accountCreatedAt!==void 0&&(e.accountCreatedAt=u.accountCreatedAt),u.subscriptionCreatedAt!==void 0&&(e.subscriptionCreatedAt=u.subscriptionCreatedAt),Object.keys(e).length>0&&w(t=>({...t,oauthAccount:t.oauthAccount?{...t.oauthAccount,...e}:t.oauthAccount}))}return{accessToken:i,refreshToken:a,expiresAt:s,scopes:c,subscriptionType:u?.subscriptionType??l?.subscriptionType??null,rateLimitTier:u?.rateLimitTier??l?.rateLimitTier??null,profile:u?.rawProfile,tokenAccount:r.account?{uuid:r.account.uuid,emailAddress:r.account.email_address,organizationUuid:r.organization?.uuid}:void 0}}catch(e){let t=f.isAxiosError(e)&&e.response?.data?JSON.stringify(e.response.data):void 0;throw E(`tengu_oauth_token_refresh_failure`,{error:e.message,...t&&{responseBody:t}}),e}}async function kn(e){let t=await f.get(D().ROLES_URL,{headers:{Authorization:`Bearer ${e}`}});if(t.status!==200)throw Error(`Failed to fetch user roles: ${t.statusText}`);let n=t.data;if(!S().oauthAccount)throw Error(`OAuth account information not found in config`);w(e=>({...e,oauthAccount:e.oauthAccount?{...e.oauthAccount,organizationRole:n.organization_role,workspaceRole:n.workspace_role,organizationName:n.organization_name}:e.oauthAccount})),E(`tengu_oauth_roles_stored`,{org_role:n.organization_role})}async function An(e){try{let t=await f.post(D().API_KEY_URL,null,{headers:{Authorization:`Bearer ${e}`}}),n=t.data?.raw_key;return n?(await ka(n),E(`tengu_oauth_api_key`,{status:`success`,statusCode:t.status}),n):null}catch(e){throw E(`tengu_oauth_api_key`,{status:`failure`,error:e instanceof Error?e.message:String(e)}),e}}function jn(e){return e!==null&&Date.now()+300*1e3>=e}async function Mn(e){let t=await Sn(e),n=t?.organization?.organization_type,r=null;switch(n){case`claude_max`:r=`max`;break;case`claude_pro`:r=`pro`;break;case`claude_enterprise`:r=`enterprise`;break;case`claude_team`:r=`team`;break;default:r=null;break}let i={subscriptionType:r,rateLimitTier:t?.organization?.rate_limit_tier??null,hasExtraUsageEnabled:t?.organization?.has_extra_usage_enabled??null,billingType:t?.organization?.billing_type??null};return t?.account?.display_name&&(i.displayName=t.account.display_name),t?.account?.created_at&&(i.accountCreatedAt=t.account.created_at),t?.organization?.subscription_created_at&&(i.subscriptionCreatedAt=t.organization.subscription_created_at),E(`tengu_oauth_profile_fetch_success`,{}),{...i,rawProfile:t}}async function Nn(){let e=S().oauthAccount?.organizationUuid;if(e)return e;let t=W()?.accessToken;return t===void 0||!Va()?null:(await Sn(t))?.organization?.uuid||null}async function Pn(){let e=process.env.CLAUDE_CODE_ACCOUNT_UUID,t=process.env.CLAUDE_CODE_USER_EMAIL,n=process.env.CLAUDE_CODE_ORGANIZATION_UUID,r=!!(e&&t&&n);e&&t&&n&&(S().oauthAccount||Fn({accountUuid:e,emailAddress:t,organizationUuid:n})),await za();let i=S();if(i.oauthAccount&&i.oauthAccount.billingType!==void 0&&i.oauthAccount.accountCreatedAt!==void 0&&i.oauthAccount.subscriptionCreatedAt!==void 0||!R()||!Va())return!1;let a=W();if(a?.accessToken){let e=await Sn(a.accessToken);if(e)return r&&_(`OAuth profile fetch succeeded, overriding env var account info`,{level:`info`}),Fn({accountUuid:e.account.uuid,emailAddress:e.account.email,organizationUuid:e.organization.uuid,displayName:e.account.display_name||void 0,hasExtraUsageEnabled:e.organization.has_extra_usage_enabled??!1,billingType:e.organization.billing_type??void 0,accountCreatedAt:e.account.created_at,subscriptionCreatedAt:e.organization.subscription_created_at??void 0}),!0}return!1}function Fn({accountUuid:e,emailAddress:t,organizationUuid:n,displayName:r,hasExtraUsageEnabled:i,billingType:a,accountCreatedAt:o,subscriptionCreatedAt:s}){let c={accountUuid:e,emailAddress:t,organizationUuid:n,hasExtraUsageEnabled:i,billingType:a,accountCreatedAt:o,subscriptionCreatedAt:s};r&&(c.displayName=r),w(e=>e.oauthAccount?.accountUuid===c.accountUuid&&e.oauthAccount?.emailAddress===c.emailAddress&&e.oauthAccount?.organizationUuid===c.organizationUuid&&e.oauthAccount?.displayName===c.displayName&&e.oauthAccount?.hasExtraUsageEnabled===c.hasExtraUsageEnabled&&e.oauthAccount?.billingType===c.billingType&&e.oauthAccount?.accountCreatedAt===c.accountCreatedAt&&e.oauthAccount?.subscriptionCreatedAt===c.subscriptionCreatedAt?e:{...e,oauthAccount:c})}var In=e((()=>{p(),at(),O(),G(),We(),v(),Cn()}));function Ln(e,t,n){if(s(process.env.CLAUDE_CODE_REMOTE))try{bt(Hn,{recursive:!0,mode:448}),St(e,t,{encoding:`utf8`,mode:384}),_(`Persisted ${n} to ${e} for subprocess access`)}catch(e){_(`Failed to persist ${n} to disk (non-fatal): ${g(e)}`,{level:`error`})}}function Rn(e,t){try{let n=Le().readFileSync(e,{encoding:`utf8`}).trim();return n?(_(`Read ${t} from well-known file ${e}`),n):null}catch(n){return Ee(n)||_(`Failed to read ${t} from ${e}: ${g(n)}`,{level:`debug`}),null}}function zn({envVar:e,wellKnownPath:t,label:n,getCached:r,setCached:i}){let a=r();if(a!==void 0)return a;let o=process.env[e];if(!o){let e=Rn(t,n);return i(e),e}let s=parseInt(o,10);if(Number.isNaN(s))return _(`${e} must be a valid file descriptor number, got: ${o}`,{level:`error`}),i(null),null;try{let e=Le(),r=process.platform===`darwin`||process.platform===`freebsd`?`/dev/fd/${s}`:`/proc/self/fd/${s}`,a=e.readFileSync(r,{encoding:`utf8`}).trim();return a?(_(`Successfully read ${n} from file descriptor ${s}`),i(a),Ln(t,a,n),a):(_(`File descriptor contained empty ${n}`,{level:`error`}),i(null),null)}catch(e){_(`Failed to read ${n} from file descriptor ${s}: ${g(e)}`,{level:`error`});let r=Rn(t,n);return i(r),r}}function Bn(){return zn({envVar:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,wellKnownPath:Un,label:`OAuth token`,getCached:de,setCached:Te})}function Vn(){return zn({envVar:`CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR`,wellKnownPath:Wn,label:`API key`,getCached:we,setCached:xe})}var Hn,Un,Wn,Gn,Kn=e((()=>{m(),v(),c(),Ae(),Pe(),Hn=`/home/claude/.workmate/remote`,Un=`${Hn}/.oauth_token`,Wn=`${Hn}/.api_key`,Gn=`${Hn}/.session_ingress_token`}));function M(e=``){let t=o(),n=process.env.WORKMATE_CONFIG_DIR?`-${Ct(`sha256`).update(t).digest(`hex`).substring(0,8)}`:``;return`Claude Code${D().OAUTH_FILE_SUFFIX}${e}${n}`}function qn(){try{return process.env.USER||_t().username}catch{return`claude-code-user`}}function N(){P.cache={data:null,cachedAt:0},P.generation++,P.readInFlight=null}function Jn(e){if(P.cache.cachedAt!==0)return;let t=null;if(e)try{t=JSON.parse(e)}catch{return}P.cache={data:t,cachedAt:Date.now()}}var Yn,P,Xn=e((()=>{O(),c(),Yn=`-credentials`,P={cache:{data:null,cachedAt:0},generation:0,readInFlight:null}}));async function Zn(){if(process.platform===`darwin`&&(await Je(`security delete-generic-password -a $USER -s "${M()}"`,{shell:!0,reject:!1})).exitCode!==0)throw Error(`Failed to delete keychain entry`)}function Qn(e){return e.slice(-20)}var $n=e((()=>{Ke(),Xn()}));function er(e){return e?.name===`CredentialsProviderError`}function tr(e){if(!e||typeof e!=`object`)return!1;let t=e;if(!t.Credentials||typeof t.Credentials!=`object`)return!1;let n=t.Credentials;return typeof n.AccessKeyId==`string`&&typeof n.SecretAccessKey==`string`&&typeof n.SessionToken==`string`&&n.AccessKeyId.length>0&&n.SecretAccessKey.length>0&&n.SessionToken.length>0}async function nr(){let{STSClient:e,GetCallerIdentityCommand:t}=await import(`./dist-es-C-OjW2Ao.js`);await new e().send(new t({}))}async function rr(){try{_(`Clearing AWS credential provider cache`);let{fromIni:e}=await import(`./dist-es-CIULjvtA2.js`);await e({ignoreCache:!0})(),_(`AWS credential provider cache refreshed`)}catch{_(`Failed to clear AWS credential cache (this is expected if no credentials are configured)`)}}var ir=e((()=>{v()})),ar,or=e((()=>{Se(),te(),ar=class e{constructor(){d(this,`status`,{isAuthenticating:!1,output:[]}),d(this,`changed`,ye()),d(this,`subscribe`,this.changed.subscribe)}static getInstance(){return e.instance||(e.instance=new e),e.instance}getStatus(){return{...this.status,output:[...this.status.output]}}startAuthentication(){this.status={isAuthenticating:!0,output:[]},this.changed.emit(this.getStatus())}addOutput(e){this.status.output.push(e),this.changed.emit(this.getStatus())}setError(e){this.status.error=e,this.changed.emit(this.getStatus())}endAuthentication(e){e?this.status={isAuthenticating:!1,output:[]}:this.status.isAuthenticating=!1,this.changed.emit(this.getStatus())}static reset(){e.instance&&(e.instance.changed.clear(),e.instance=null)}},d(ar,`instance`,null)})),sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br=e((()=>{sr=`claude-code-20250219`,cr=`interleaved-thinking-2025-05-14`,lr=`context-1m-2025-08-07`,ur=`context-management-2025-06-27`,dr=`structured-outputs-2025-12-15`,fr=`tool-search-tool-2025-10-19`,pr=`task-budgets-2026-03-13`,mr=`prompt-caching-scope-2026-01-05`,hr=`fast-mode-2026-02-01`,gr=`redact-thinking-2026-02-12`,_r=`advisor-tool-2026-03-01`,vr=new Set([cr,lr,fr]),yr=new Set([sr,cr,ur])}));function xr(e,t){return pe(e,t)}var Sr=e((()=>{he()}));function Cr(){let e=process.env.CLAUDE_AGENT_SDK_VERSION?`, agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`:``,t=process.env.CLAUDE_AGENT_SDK_CLIENT_APP?`, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`:``,n=Nt(),r=n?`, workload/${n}`:``;return`claude-cli/0.0.16 (external, ${process.env.CLAUDE_CODE_ENTRYPOINT??`cli`}${e}${t}${r})`}function wr(){let e=[];return process.env.CLAUDE_CODE_ENTRYPOINT&&e.push(process.env.CLAUDE_CODE_ENTRYPOINT),process.env.CLAUDE_AGENT_SDK_VERSION&&e.push(`agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`),process.env.CLAUDE_AGENT_SDK_CLIENT_APP&&e.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`),`workmate/0.0.16${e.length>0?` (${e.join(`, `)})`:``}`}function Tr(){if(R()){let e=W();return e?.accessToken?{headers:{Authorization:`Bearer ${e.accessToken}`,"anthropic-beta":ct}}:{headers:{},error:`No OAuth token available`}}let e=ea();return e?{headers:{"x-api-key":e}}:{headers:{},error:`No API key available`}}async function Er(e,t){try{return await e()}catch(n){if(!f.isAxiosError(n))throw n;let r=n.response?.status;if(!(r===401||t?.also403Revoked&&r===403&&typeof n.response?.data==`string`&&n.response.data.includes(`OAuth token has been revoked`)))throw n;let i=W()?.accessToken;if(!i)throw n;return await Ia(i),await e()}}var Dr=e((()=>{p(),O(),G(),It()}));function Or(){return{error:(e,...t)=>console.error(`[SDK ERROR]`,e,...t),warn:(e,...t)=>console.error(`[SDK WARN]`,e,...t),info:(e,...t)=>console.error(`[SDK INFO]`,e,...t),debug:(e,...t)=>console.error(`[SDK DEBUG]`,e,...t)}}async function kr({apiKey:e,maxRetries:n,model:r,fetchOverride:i,source:a}){let o=process.env.CLAUDE_CODE_CONTAINER_ID,c=process.env.CLAUDE_CODE_REMOTE_SESSION_ID,l=process.env.CLAUDE_AGENT_SDK_CLIENT_APP,te=jr(),d={"x-app":`cli`,"User-Agent":Cr(),"X-Claude-Code-Session-Id":be(),...te,...o?{"x-claude-remote-container-id":o}:{},...c?{"x-claude-remote-session-id":c}:{},...l?{"x-client-app":l}:{},...process.env.ANTHROPIC_AUTH_NONCE?{"x-auth-nonce":process.env.ANTHROPIC_AUTH_NONCE}:{}};_(`[API:request] Creating client, ANTHROPIC_CUSTOM_HEADERS present: ${!!process.env.ANTHROPIC_CUSTOM_HEADERS}, has Authorization header: ${!!te.Authorization}`),s(process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION)&&(d[`x-anthropic-additional-protection`]=`true`),_(`[API:auth] OAuth token check starting`),await za(),_(`[API:auth] OAuth token check complete`),R()||await Ar(d,h());let f=Mr(i,a),p={defaultHeaders:d,maxRetries:n,timeout:parseInt(process.env.API_TIMEOUT_MS||`600000`,10),dangerouslyAllowBrowser:!0,fetchOptions:mt({forAnthropicAPI:!0}),...f&&{fetch:f}};if(s(process.env.CLAUDE_CODE_USE_BEDROCK)){let{BedrockClient:e}=await import(`./bedrockClient-DxE_mHFI.js`),t=r===js()&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:u(),n={...p,awsRegion:t,...s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)&&{skipAuth:!0},...Fe()&&{logger:Or()}};if(process.env.AWS_BEARER_TOKEN_BEDROCK)n.skipAuth=!0,n.defaultHeaders={...n.defaultHeaders,Authorization:`Bearer ${process.env.AWS_BEARER_TOKEN_BEDROCK}`};else if(!s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)){let e=await U();e&&(n.awsAccessKey=e.accessKeyId,n.awsSecretKey=e.secretAccessKey,n.awsSessionToken=e.sessionToken)}return new e(n)}if(s(process.env.CLAUDE_CODE_USE_FOUNDRY)){let{AnthropicFoundry:e}=await import(`./foundry-sdk-BdeF2aBu.js`),t;if(!process.env.ANTHROPIC_FOUNDRY_API_KEY)if(s(process.env.CLAUDE_CODE_SKIP_FOUNDRY_AUTH))t=()=>Promise.resolve(``);else{let{DefaultAzureCredential:e,getBearerTokenProvider:n}=await import(`./esm-CGx9qY3q.js`);t=n(new e,`https://cognitiveservices.azure.com/.default`)}return new e({...p,...t&&{azureADTokenProvider:t},...Fe()&&{logger:Or()}})}if(s(process.env.CLAUDE_CODE_USE_VERTEX)){s(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)||await mo();let[{AnthropicVertex:e},{GoogleAuth:n}]=await Promise.all([import(`./vertex-sdk-DjXcZ2J7.js`),import(`./src-CiJCsqUl.js`).then(e=>t(e.default,1))]),i=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,a=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,o=s(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{getClient:()=>({getRequestHeaders:()=>({})})}:new n({scopes:[`https://www.googleapis.com/auth/cloud-platform`],...i||a?{}:{projectId:process.env.ANTHROPIC_VERTEX_PROJECT_ID}});return new e({...p,region:ee(r),googleAuth:o,...Fe()&&{logger:Or()}})}return new ke({apiKey:R()?null:e||ea(),authToken:R()?W()?.accessToken:void 0,...p,...Fe()&&{logger:Or()}})}async function Ar(e,t){let n=process.env.ANTHROPIC_AUTH_TOKEN||await ua(t);n&&(e.Authorization=`Bearer ${n}`)}function jr(){let e={},t=process.env.ANTHROPIC_CUSTOM_HEADERS;if(!t)return e;let n=t.split(/\n|\r\n/);for(let t of n){if(!t.trim())continue;let n=t.indexOf(`:`);if(n===-1)continue;let r=t.slice(0,n).trim(),i=t.slice(n+1).trim();r&&(e[r]=i)}return e}function Mr(e,t){let n=e??globalThis.fetch,r=k()===`firstParty`&&Mt();return(e,i)=>{let a=new Headers(i?.headers);r&&!a.has(`x-client-request-id`)&&a.set(Nr,wt());try{let n=e instanceof Request?e.url:String(e),r=a.get(Nr);_(`[API REQUEST] ${new URL(n).pathname}${r?` ${Nr}=${r}`:``} source=${t??`unknown`}`)}catch{}return n(e,{...i,headers:a})}}var Nr,Pr=e((()=>{Ne(),G(),Dr(),rc(),A(),gt(),m(),v(),c(),Nr=`x-client-request-id`}));function Fr(){return vt(o(),`cache`)}function Ir(){return vt(Fr(),`model-capabilities.json`)}function Lr(){return!(k()!==`firstParty`||!Mt())}function Rr(e){return[...e].sort((e,t)=>t.id.length-e.id.length||e.id.localeCompare(t.id))}function zr(e){if(!Lr())return;let t=Ur(Ir());if(!t||t.length===0)return;let n=e.toLowerCase();return t.find(e=>e.id.toLowerCase()===n)||t.find(e=>n.includes(e.id.toLowerCase()))}async function Br(){if(Lr()&&!$e())try{let e=await kr({maxRetries:1}),t=R()?[ct]:void 0,n=[];for await(let r of e.models.list({betas:t})){let e=Vr().safeParse(r);e.success&&n.push(e.data)}if(n.length===0)return;let r=Ir(),i=Rr(n);if(xr(Ur(r),i)){_(`[modelCapabilities] cache unchanged, skipping write`);return}await Tt(Fr(),{recursive:!0}),await Dt(r,De({models:i,timestamp:Date.now()}),{encoding:`utf-8`,mode:384}),Ur.cache.delete(r),_(`[modelCapabilities] cached ${i.length} models`)}catch(e){_(`[modelCapabilities] fetch failed: ${e instanceof Error?e.message:`unknown`}`)}}var Vr,Hr,Ur,Wr=e((()=>{Sr(),i(),le(),O(),Pr(),G(),v(),c(),rt(),ue(),Qe(),Re(),A(),Vr=ce(()=>se({id:ie(),max_input_tokens:ae().optional(),max_tokens:ae().optional()}).strip()),Hr=ce(()=>se({models:oe(Vr()),timestamp:ae()})),Ur=r(e=>{try{let t=xt(e,`utf-8`),n=Hr().safeParse(it(t,!1));return n.success?n.data.models:null}catch{return null}},e=>e)}));function Gr(){return s(process.env.CLAUDE_CODE_DISABLE_1M_CONTEXT)}function F(e){return!Gr()&&/\[1m\]/i.test(e)}function Kr(e){if(Gr())return!1;let t=Q(e);return t.includes(`claude-sonnet-4`)||t.includes(`opus-4-6`)||t.includes(`opus-4-7`)}function qr(e,t){if(F(e))return 1e6;let n=zr(e);return n?.max_input_tokens&&n.max_input_tokens>=1e5?n.max_input_tokens>2e5&&Gr()?Qr:n.max_input_tokens:t?.includes(`context-1m-2025-08-07`)&&Kr(e)||Jr(e)?1e6:Qr}function Jr(e){return Gr()||F(e)||!Q(e).includes(`sonnet-4-6`)?!1:S().clientDataCache?.coral_reef_sonnet===`true`}function Yr(e,t){if(!e)return{used:null,remaining:null};let n=e.input_tokens+e.cache_creation_input_tokens+e.cache_read_input_tokens;if(n===0)return{used:null,remaining:null};let r=Math.round(n/t*100),i=Math.min(100,Math.max(0,r));return{used:i,remaining:100-i}}function Xr(e){let t,n,r=Q(e);r.includes(`opus-4-7`)||r.includes(`opus-4-6`)?(t=64e3,n=128e3):r.includes(`sonnet-4-6`)?(t=32e3,n=128e3):r.includes(`opus-4-5`)||r.includes(`sonnet-4`)||r.includes(`haiku-4`)?(t=32e3,n=64e3):r.includes(`opus-4-1`)||r.includes(`opus-4`)?(t=32e3,n=32e3):r.includes(`claude-3-opus`)?(t=4096,n=4096):r.includes(`claude-3-sonnet`)?(t=8192,n=8192):r.includes(`claude-3-haiku`)?(t=4096,n=4096):r.includes(`3-5-sonnet`)||r.includes(`3-5-haiku`)?(t=8192,n=8192):r.includes(`3-7-sonnet`)?(t=32e3,n=64e3):(t=ei,n=ti);let i=zr(e);return i?.max_tokens&&i.max_tokens>=4096&&(n=i.max_tokens,t=Math.min(t,n)),{default:t,upperLimit:n}}function Zr(e){return Xr(e).upperLimit-1}var Qr,$r,ei,ti,ni,ri=e((()=>{br(),We(),c(),rc(),Wr(),Qr=2e5,$r=2e4,ei=32e3,ti=64e3,ni=8e3})),ii,ai,oi,si=e((()=>{i(),A(),ii=[{modelEnvVar:`ANTHROPIC_DEFAULT_OPUS_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`ANTHROPIC_DEFAULT_SONNET_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`ANTHROPIC_DEFAULT_HAIKU_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES`}],ai=[{modelEnvVar:`OPENAI_DEFAULT_OPUS_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`OPENAI_DEFAULT_SONNET_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`OPENAI_DEFAULT_HAIKU_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES`}],oi=r((e,t)=>{if(k()===`firstParty`)return;let n=e.toLowerCase(),r=k()===`openai`?ai:ii;for(let e of r){let r=process.env[e.modelEnvVar],i=process.env[e.capabilitiesEnvVar];if(!(!r||i===void 0)&&n===r.toLowerCase())return i.toLowerCase().split(`,`).map(e=>e.trim()).includes(t)}},(e,t)=>`${e.toLowerCase()}:${t}`)}));function ci(e){let t=[],n=[];for(let r of e)vi.includes(r)?t.push(r):n.push(r);return{allowed:t,disallowed:n}}function li(e){if(!e||e.length===0)return;if(R()){console.warn(`Warning: Custom betas are only available for API key users. Ignoring provided betas.`);return}let{allowed:t,disallowed:n}=ci(e);for(let e of n)console.warn(`Warning: Beta header '${e}' is not allowed. Only the following betas are supported: ${vi.join(`, `)}`);return t.length>0?t:void 0}function ui(e){let t=oi(e,`interleaved_thinking`);if(t!==void 0)return t;let n=Q(e),r=k();return r===`foundry`?!0:r===`firstParty`?!n.includes(`claude-3-`):n.includes(`claude-opus-4`)||n.includes(`claude-sonnet-4`)}function di(e){let t=Q(e),n=k();return n===`foundry`?!0:n===`firstParty`?!t.includes(`claude-3-`):t.includes(`claude-opus-4`)||t.includes(`claude-sonnet-4`)||t.includes(`claude-haiku-4`)}function fi(e){let t=Q(e),n=k();return n!==`firstParty`&&n!==`foundry`?!1:t.includes(`claude-sonnet-4-6`)||t.includes(`claude-sonnet-4-5`)||t.includes(`claude-opus-4-1`)||t.includes(`claude-opus-4-5`)||t.includes(`claude-opus-4-6`)||t.includes(`claude-opus-4-7`)||t.includes(`claude-haiku-4-5`)}function pi(e){return!0}function mi(){return(k()===`firstParty`||k()===`foundry`)&&!s(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)&&Mt()}function hi(){return k()===`firstParty`&&!s(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)}function gi(e,t){let n=[...bi(e)];t?.isAgenticQuery&&(n.includes(`claude-code-20250219`)||n.push(sr));let r=ve();return!r||r.length===0?n:[...n,...r.filter(e=>!n.includes(e))]}function _i(){yi.cache?.clear?.(),bi.cache?.clear?.(),xi.cache?.clear?.()}var vi,yi,bi,xi,Si=e((()=>{i(),m(),br(),O(),G(),ri(),c(),rc(),si(),A(),x(),vi=[lr],yi=r(e=>{let t=[],n=Q(e).includes(`haiku`);k();let r=mi();n||t.push(sr),R()&&t.push(ct),F(e)&&t.push(lr),!s(process.env.DISABLE_INTERLEAVED_THINKING)&&ui(e)&&t.push(cr),r&&ui(e)&&!h()&&Be().showThinkingSummaries!==!0&&t.push(gr);let i=s(process.env.USE_API_CONTEXT_MANAGEMENT)||di(e),a=di(e);return mi()&&(i||a)&&t.push(ur),r&&fi(e),r&&t.push(mr),process.env.ANTHROPIC_BETAS&&t.push(...process.env.ANTHROPIC_BETAS.split(`,`).map(e=>e.trim()).filter(Boolean)),t}),bi=r(e=>{let t=yi(e);return k()===`bedrock`?t.filter(e=>!vr.has(e)):t}),xi=r(e=>yi(e).filter(e=>vr.has(e)))}));function Ci(e,t){return{name:`${e.name}-with-${t.name}-fallback`,read(){return e.read()??(t.read()||{})},async readAsync(){return await e.readAsync()??(await t.readAsync()||{})},update(n){let r=e.read(),i=e.update(n);if(i.success)return r===null&&t.delete(),i;let a=t.update(n);return a.success?(r!==null&&e.delete(),{success:!0,warning:a.warning}):{success:!1}},delete(){let n=e.delete(),r=t.delete();return n||r}}}var wi=e((()=>{}));async function Ti(){try{let e=M(Yn),{stdout:t,code:n}=await Ze(`security`,[`find-generic-password`,`-a`,qn(),`-w`,`-s`,e],{useCwd:!1,preserveOutputOnError:!1});if(n===0&&t)return je(t.trim())}catch{}return null}function Ei(){if(ki!==void 0)return ki;if(process.platform!==`darwin`)return ki=!1,!1;try{ki=Xe(`security`,[`show-keychain-info`],{reject:!1,stdio:[`ignore`,`pipe`,`pipe`]}).exitCode===36}catch{ki=!1}return ki}var Di,Oi,ki,Ai=e((()=>{Ke(),v(),Ye(),Ge(),Re(),Xn(),Di=4032,Oi={name:`keychain`,read(){let e=P.cache;if(Date.now()-e.cachedAt<3e4)return e.data;try{let e=M(Yn),t=qe(`security find-generic-password -a "${qn()}" -w -s "${e}"`);if(t){let e=je(t);return P.cache={data:e,cachedAt:Date.now()},e}}catch{}return e.data===null?(P.cache={data:null,cachedAt:Date.now()},null):(_(`[keychain] read failed; serving stale cache`,{level:`warn`}),P.cache={data:e.data,cachedAt:Date.now()},e.data)},async readAsync(){let e=P.cache;if(Date.now()-e.cachedAt<3e4)return e.data;if(P.readInFlight)return P.readInFlight;let t=P.generation,n=Ti().then(n=>{if(t===P.generation){n===null&&e.data!==null&&_(`[keychain] readAsync failed; serving stale cache`,{level:`warn`});let t=n??e.data;return P.cache={data:t,cachedAt:Date.now()},P.readInFlight=null,t}return n});return P.readInFlight=n,n},update(e){N();try{let t=M(Yn),n=qn(),r=De(e),i=Buffer.from(r,`utf-8`).toString(`hex`),a=`add-generic-password -U -a "${n}" -s "${t}" -X "${i}"\n`,o;return a.length<=Di?o=Xe(`security`,[`-i`],{input:a,stdio:[`pipe`,`pipe`,`pipe`],reject:!1}):(_(`Keychain payload (${r.length}B JSON) exceeds security -i stdin limit; using argv`,{level:`warn`}),o=Xe(`security`,[`add-generic-password`,`-U`,`-a`,n,`-s`,t,`-X`,i],{stdio:[`ignore`,`pipe`,`pipe`],reject:!1})),o.exitCode===0?(P.cache={data:e,cachedAt:Date.now()},{success:!0}):{success:!1}}catch{return{success:!1}}},delete(){N();try{let e=M(Yn);return qe(`security delete-generic-password -a "${qn()}" -s "${e}"`),!0}catch{return!1}}}}));function ji(){let e=o();return{storageDir:e,storagePath:vt(e,`.credentials.json`)}}var Mi,Ni=e((()=>{c(),Ae(),Pe(),Re(),Mi={name:`plaintext`,read(){let{storagePath:e}=ji();try{return je(Le().readFileSync(e,{encoding:`utf8`}))}catch{return null}},async readAsync(){let{storagePath:e}=ji();try{return je(await Le().readFile(e,{encoding:`utf8`}))}catch{return null}},update(e){try{let{storageDir:t,storagePath:n}=ji();try{Le().mkdirSync(t)}catch(e){if(Oe(e)!==`EEXIST`)throw e}return Me(n,De(e),{encoding:`utf8`,flush:!1}),yt(n,384),{success:!0,warning:`Warning: Storing credentials in plaintext.`}}catch{return{success:!1}}},delete(){let{storagePath:e}=ji();try{return Le().unlinkSync(e),!0}catch(e){return Oe(e)===`ENOENT`}}}}));function Pi(){return process.platform===`darwin`?Ci(Oi,Mi):Mi}var Fi=e((()=>{wi(),Ai(),Ni()}));function Ii(e){return new Promise(t=>{kt(`security`,[`find-generic-password`,`-a`,qn(),`-w`,`-s`,e],{encoding:`utf-8`,timeout:Vi},(e,n)=>{t({stdout:e?null:n?.trim()||null,timedOut:!!(e&&`killed`in e&&e.killed)})})})}function Li(){if(process.platform!==`darwin`||Ui||l())return;let e=Ii(M(Yn)),t=Ii(M());Ui=Promise.all([e,t]).then(([e,t])=>{e.timedOut||Jn(e.stdout),t.timedOut||(Hi={stdout:t.stdout})})}async function Ri(){Ui&&await Ui}function zi(){return Hi}function Bi(){Hi=null}var Vi,Hi,Ui,Wi=e((()=>{c(),Xn(),Vi=1e4,Hi=null,Ui=null}));function Gi(e,t,n){return new Promise((r,i)=>{if(t?.aborted){n?.throwOnAbort||n?.abortError?i(n.abortError?.()??Error(`aborted`)):r();return}let a=setTimeout((e,t,n)=>{e?.removeEventListener(`abort`,t),n()},e,t,o,r);function o(){clearTimeout(a),n?.throwOnAbort||n?.abortError?i(n.abortError?.()??Error(`aborted`)):r()}t?.addEventListener(`abort`,o,{once:!0}),n?.unref&&a.unref()})}var Ki=e((()=>{}));function qi(){return Yi}function Ji(){Yi.clear()}var Yi,Xi=e((()=>{Yi=new Map})),Zi=n({calculateApiKeyHelperTTL:()=>ca,checkAndRefreshOAuthTokenIfNeeded:()=>za,checkGcpCredentialsValid:()=>Sa,clearApiKeyHelperCache:()=>ma,clearAwsCredentialsCache:()=>ya,clearGcpCredentialsCache:()=>Ta,clearOAuthTokenCache:()=>Pa,getAccountInformation:()=>ao,getAnthropicApiKey:()=>ea,getAnthropicApiKeyWithSource:()=>na,getApiKeyFromApiKeyHelper:()=>ua,getApiKeyFromApiKeyHelperCached:()=>pa,getApiKeyFromConfigOrMacOSKeychain:()=>ho,getApiKeyHelperElapsedMs:()=>la,getAuthTokenSource:()=>$i,getClaudeAIOAuthTokens:()=>W,getClaudeAIOAuthTokensAsync:()=>Ra,getConfiguredApiKeyHelper:()=>L,getOauthAccountInfo:()=>Ua,getOtelHeadersFromHelper:()=>no,getRateLimitTier:()=>Za,getSubscriptionName:()=>Qa,getSubscriptionType:()=>z,handleOAuth401Error:()=>Ia,hasAnthropicApiKeyAuth:()=>ta,hasOpusAccess:()=>Ga,hasProfileScope:()=>Va,is1PApiCustomer:()=>Ha,isAnthropicAuthEnabled:()=>I,isAwsAuthRefreshFromProjectSettings:()=>aa,isAwsCredentialExportFromProjectSettings:()=>sa,isClaudeAISubscriber:()=>R,isConsumerSubscriber:()=>io,isCustomApiKeyApproved:()=>Aa,isEnterpriseSubscriber:()=>Ya,isGcpAuthRefreshFromProjectSettings:()=>xa,isMaxSubscriber:()=>Ka,isOtelHeadersHelperFromProjectOrLocalSettings:()=>to,isOverageProvisioningAllowed:()=>Wa,isProSubscriber:()=>Xa,isTeamPremiumSubscriber:()=>Ja,isTeamSubscriber:()=>qa,isUsing3PServices:()=>$a,prefetchApiKeyFromApiKeyHelperIfSafe:()=>ha,prefetchAwsCredentialsAndBedRockInfoIfSafe:()=>Da,prefetchGcpCredentialsIfSafe:()=>Ea,refreshAndGetAwsCredentials:()=>U,refreshAwsAuth:()=>_a,refreshGcpAuth:()=>wa,refreshGcpCredentialsIfNeeded:()=>mo,removeApiKey:()=>ja,saveApiKey:()=>ka,saveOAuthTokensIfNeeded:()=>Na,validateForceLoginOrg:()=>oo});function Qi(){return s(process.env.CLAUDE_CODE_REMOTE)||process.env.CLAUDE_CODE_ENTRYPOINT===`claude-desktop`}function I(){if(l())return!1;if(process.env.ANTHROPIC_UNIX_SOCKET)return!!process.env.CLAUDE_CODE_OAUTH_TOKEN;let e=b()||{},t=s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||e.modelType===`openai`||e.modelType===`gemini`||!!process.env.OPENAI_BASE_URL||!!process.env.GEMINI_BASE_URL,n=e.apiKeyHelper,r=process.env.ANTHROPIC_AUTH_TOKEN||n||process.env.CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR,{source:i}=na({skipRetrievingKeyFromApiKeyHelper:!0}),a=i===`ANTHROPIC_API_KEY`||i===`apiKeyHelper`;return!(t||r&&!Qi()||a&&!Qi())}function $i(){if(l())return L()?{source:`apiKeyHelper`,hasToken:!0}:{source:`none`,hasToken:!1};if(process.env.ANTHROPIC_AUTH_TOKEN&&!Qi())return{source:`ANTHROPIC_AUTH_TOKEN`,hasToken:!0};if(process.env.CLAUDE_CODE_OAUTH_TOKEN)return{source:`CLAUDE_CODE_OAUTH_TOKEN`,hasToken:!0};if(Bn())return process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR?{source:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,hasToken:!0}:{source:`CCR_OAUTH_TOKEN_FILE`,hasToken:!0};if(L()&&!Qi())return{source:`apiKeyHelper`,hasToken:!0};let e=W();return wn(e?.scopes)&&e?.accessToken?{source:`claude.ai`,hasToken:!0}:{source:`none`,hasToken:!1}}function ea(){let{key:e}=na();return e}function ta(){let{key:e,source:t}=na({skipRetrievingKeyFromApiKeyHelper:!0});return e!==null&&t!==`none`}function na(e={}){if(l())return process.env.ANTHROPIC_API_KEY?{key:process.env.ANTHROPIC_API_KEY,source:`ANTHROPIC_API_KEY`}:L()?{key:e.skipRetrievingKeyFromApiKeyHelper?null:pa(),source:`apiKeyHelper`}:{key:null,source:`none`};let t=a()?void 0:process.env.ANTHROPIC_API_KEY;if(_e()&&t)return{key:t,source:`ANTHROPIC_API_KEY`};if(s(process.env.CI)){let e=Vn();if(e)return{key:e,source:`ANTHROPIC_API_KEY`};if(!t&&!process.env.CLAUDE_CODE_OAUTH_TOKEN&&!process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR)throw Error(`ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN env var is required`);return t?{key:t,source:`ANTHROPIC_API_KEY`}:{key:null,source:`none`}}if(t&&S().customApiKeyResponses?.approved?.includes(Qn(t)))return{key:t,source:`ANTHROPIC_API_KEY`};let n=Vn();return n?{key:n,source:`ANTHROPIC_API_KEY`}:L()?e.skipRetrievingKeyFromApiKeyHelper?{key:null,source:`apiKeyHelper`}:{key:pa(),source:`apiKeyHelper`}:ho()||{key:null,source:`none`}}function L(){return l()?y(`flagSettings`)?.apiKeyHelper:(b()||{}).apiKeyHelper}function ra(){let e=L();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.apiKeyHelper===e||n?.apiKeyHelper===e}function ia(){return(b()||{}).awsAuthRefresh}function aa(){let e=ia();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.awsAuthRefresh===e||n?.awsAuthRefresh===e}function oa(){return(b()||{}).awsCredentialExport}function sa(){let e=oa();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.awsCredentialExport===e||n?.awsCredentialExport===e}function ca(){let e=process.env.CLAUDE_CODE_API_KEY_HELPER_TTL_MS;if(e){let t=parseInt(e,10);if(!Number.isNaN(t)&&t>=0)return t;_(`Found CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var, but it was not a valid number. Got ${e}`,{level:`error`})}return so}function la(){let e=V?.startedAt;return e?Date.now()-e:0}async function ua(e){if(!L())return null;let t=ca();return B?(Date.now()-B.timestamp<t||V||(V={promise:da(e,!1,H),startedAt:null}),B.value):(V||(V={promise:da(e,!0,H),startedAt:Date.now()}),V.promise)}async function da(e,t,n){try{let t=await fa(e);return n===H&&t!==null&&(B={value:t,timestamp:Date.now()}),t}catch(e){if(n!==H)return` `;let r=e instanceof Error?e.message:String(e);return console.error(ne.red(`apiKeyHelper failed: ${r}`)),_(`Error getting API key from apiKeyHelper: ${r}`,{level:`error`}),!t&&B&&B.value!==` `?(B={...B,timestamp:Date.now()},B.value):(B={value:` `,timestamp:Date.now()},` `)}finally{n===H&&(V=null)}}async function fa(e){let t=L();if(!t)return null;if(ra()&&!C()&&!e)return Ie(`apiKeyHelper invoked before trust check`,Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_apiKeyHelper_missing_trust11`,{}),null;let n=await Je(t,{shell:!0,timeout:600*1e3,reject:!1});if(n.failed){let e=n.timedOut?`timed out`:`exited ${n.exitCode}`,t=n.stderr?.trim();throw Error(t?`${e}: ${t}`:e)}let r=n.stdout?.trim();if(!r)throw Error(`did not return a value`);return r}function pa(){return B?.value??null}function ma(){H++,B=null,V=null}function ha(e){ra()&&!C()||ua(e)}async function ga(){let e=ia();if(!e)return!1;if(aa()&&!C()&&!h())return Ie(`awsAuthRefresh invoked before trust check`,Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_awsAuthRefresh_missing_trust`,{}),!1;try{return _(`Fetching AWS caller identity for AWS auth refresh command`),await nr(),_(`Fetched AWS caller identity, skipping AWS auth refresh command`),!1}catch{return _a(e)}}function _a(e){_(`Running AWS auth refresh command`);let t=ar.getInstance();return t.startAuthentication(),new Promise(n=>{let r=Ot(e,{timeout:lo});r.stdout.on(`data`,e=>{let n=e.toString().trim();n&&(t.addOutput(n),_(n,{level:`debug`}))}),r.stderr.on(`data`,e=>{let n=e.toString().trim();n&&(t.setError(n),_(n,{level:`error`}))}),r.on(`close`,(e,r)=>{if(e===0)_(`AWS auth refresh completed successfully`),t.endAuthentication(!0),n(!0);else{let e=r===`SIGTERM`?ne.red(`AWS auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.`):ne.red(`Error running awsAuthRefresh (in settings or ~/.workmate.json):`);console.error(e),t.endAuthentication(!1),n(!1)}})})}async function va(){let e=oa();if(!e)return null;if(sa()&&!C()&&!h())return Ie(`awsCredentialExport invoked before trust check`,Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_awsCredentialExport_missing_trust`,{}),null;try{return _(`Fetching AWS caller identity for credential export command`),await nr(),_(`Fetched AWS caller identity, skipping AWS credential export command`),null}catch{try{_(`Running AWS credential export command`);let t=await Je(e,{shell:!0,reject:!1});if(t.exitCode!==0||!t.stdout)throw Error(`awsCredentialExport did not return a valid value`);let n=je(t.stdout.trim());if(!tr(n))throw Error(`awsCredentialExport did not return valid AWS STS output structure`);return _(`AWS credentials retrieved from awsCredentialExport`),{accessKeyId:n.Credentials.AccessKeyId,secretAccessKey:n.Credentials.SecretAccessKey,sessionToken:n.Credentials.SessionToken}}catch(e){let t=ne.red(`Error getting AWS credentials from awsCredentialExport (in settings or ~/.workmate.json):`);return e instanceof Error?console.error(t,e.message):console.error(t,e),null}}}function ya(){U.cache.clear()}function ba(){return(b()||{}).gcpAuthRefresh}function xa(){let e=ba();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.gcpAuthRefresh===e||n?.gcpAuthRefresh===e}async function Sa(){try{let{GoogleAuth:e}=await import(`./src-CiJCsqUl.js`).then(e=>t(e.default,1)),n=new e({scopes:[`https://www.googleapis.com/auth/cloud-platform`]}),r=(async()=>{await(await n.getClient()).getAccessToken()})(),i=Gi(uo).then(()=>{throw new So(`GCP credentials check timed out`)});return await Promise.race([r,i]),!0}catch{return!1}}async function Ca(){let e=ba();if(!e)return!1;if(xa()&&!C()&&!h())return Ie(`gcpAuthRefresh invoked before trust check`,Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_gcpAuthRefresh_missing_trust`,{}),!1;try{if(_(`Checking GCP credentials validity for auth refresh`),await Sa())return _(`GCP credentials are valid, skipping auth refresh command`),!1}catch{}return wa(e)}function wa(e){_(`Running GCP auth refresh command`);let t=ar.getInstance();return t.startAuthentication(),new Promise(n=>{let r=Ot(e,{timeout:po});r.stdout.on(`data`,e=>{let n=e.toString().trim();n&&(t.addOutput(n),_(n,{level:`debug`}))}),r.stderr.on(`data`,e=>{let n=e.toString().trim();n&&(t.setError(n),_(n,{level:`error`}))}),r.on(`close`,(e,r)=>{if(e===0)_(`GCP auth refresh completed successfully`),t.endAuthentication(!0),n(!0);else{let e=r===`SIGTERM`?ne.red(`GCP auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.`):ne.red(`Error running gcpAuthRefresh (in settings or ~/.workmate.json):`);console.error(e),t.endAuthentication(!1),n(!1)}})})}function Ta(){mo.cache.clear()}function Ea(){ba()&&(xa()&&!C()&&!h()||mo())}function Da(){let e=ia(),t=oa();!e&&!t||(aa()||sa())&&!C()&&!h()||(U(),j())}function Oa(e){return/^[a-zA-Z0-9-_]+$/.test(e)}async function ka(e){if(!Oa(e))throw Error(`Invalid API key format. API key must contain only alphanumeric characters, dashes, and underscores.`);await Ma();let t=!1;if(process.platform===`darwin`)try{let n=M();await Je(`security`,[`-i`],{input:`add-generic-password -U -a "${qn()}" -s "${n}" -X "${Buffer.from(e,`utf-8`).toString(`hex`)}"\n`,reject:!1}),E(`tengu_api_key_saved_to_keychain`,{}),t=!0}catch(e){T(e),E(`tengu_api_key_keychain_error`,{error:g(e)}),E(`tengu_api_key_saved_to_config`,{})}else E(`tengu_api_key_saved_to_config`,{});let n=Qn(e);w(r=>{let i=r.customApiKeyResponses?.approved??[];return{...r,primaryApiKey:t?r.primaryApiKey:e,customApiKeyResponses:{...r.customApiKeyResponses,approved:i.includes(n)?i:[...i,n],rejected:r.customApiKeyResponses?.rejected??[]}}}),ho.cache.clear?.(),Bi()}function Aa(e){let t=S(),n=Qn(e);return t.customApiKeyResponses?.approved?.includes(n)??!1}async function ja(){await Ma(),w(e=>({...e,primaryApiKey:void 0})),ho.cache.clear?.(),Bi()}async function Ma(){try{await Zn()}catch(e){T(e)}}function Na(e){if(!wn(e.scopes))return E(`tengu_oauth_tokens_not_claude_ai`,{}),{success:!0};if(!e.refreshToken||!e.expiresAt)return E(`tengu_oauth_tokens_inference_only`,{}),{success:!0};let t=Pi(),n=t.name;try{let r=t.read()||{},i=r.claudeAiOauth;r.claudeAiOauth={accessToken:e.accessToken,refreshToken:e.refreshToken,expiresAt:e.expiresAt,scopes:e.scopes,subscriptionType:e.subscriptionType??i?.subscriptionType??null,rateLimitTier:e.rateLimitTier??i?.rateLimitTier??null};let a=t.update(r);return a.success?E(`tengu_oauth_tokens_saved`,{storageBackend:n}):E(`tengu_oauth_tokens_save_failed`,{storageBackend:n}),W.cache?.clear?.(),_i(),Ji(),a}catch(e){return T(e),E(`tengu_oauth_tokens_save_exception`,{storageBackend:n,error:g(e)}),{success:!1,warning:`Failed to save OAuth tokens`}}}function Pa(){W.cache?.clear?.(),N()}async function Fa(){try{let{mtimeMs:e}=await Et(vt(o(),`.credentials.json`));e!==go&&(go=e,Pa())}catch{W.cache?.clear?.()}}function Ia(e){let t=_o.get(e);if(t)return t;let n=La(e).finally(()=>{_o.delete(e)});return _o.set(e,n),n}async function La(e){Pa();let t=await Ra();return t?.refreshToken?t.accessToken===e?za(0,!0):(E(`tengu_oauth_401_recovered_from_keychain`,{}),!0):!1}async function Ra(){if(l())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN||Bn())return W();try{let e=(await Pi().readAsync())?.claudeAiOauth;return e?.accessToken?e:null}catch(e){return T(e),null}}function za(e=0,t=!1){return e===0&&!t?vo||(vo=Ba(e,t).finally(()=>{vo=null}),vo):Ba(e,t)}async function Ba(e,t){await Fa();let n=W();if(!t&&(!n?.refreshToken||!jn(n.expiresAt))||!n?.refreshToken||!wn(n.scopes))return!1;W.cache?.clear?.(),N();let r=await Ra();if(!r?.refreshToken||!jn(r.expiresAt))return!1;let i=o();await Tt(i,{recursive:!0});let a;try{E(`tengu_oauth_token_refresh_lock_acquiring`,{}),a=await He(i),E(`tengu_oauth_token_refresh_lock_acquired`,{})}catch(n){return n.code===`ELOCKED`?e<5?(E(`tengu_oauth_token_refresh_lock_retry`,{retryCount:e+1}),await Gi(1e3+Math.random()*1e3),Ba(e+1,t)):(E(`tengu_oauth_token_refresh_lock_retry_limit_reached`,{maxRetries:5}),!1):(T(n),E(`tengu_oauth_token_refresh_lock_error`,{error:g(n)}),!1)}try{W.cache?.clear?.(),N();let e=await Ra();return!e?.refreshToken||!jn(e.expiresAt)?(E(`tengu_oauth_token_refresh_race_resolved`,{}),!1):(E(`tengu_oauth_token_refresh_starting`,{}),Na(await On(e.refreshToken,{scopes:wn(e.scopes)?void 0:e.scopes})),W.cache?.clear?.(),N(),!0)}catch(e){T(e),W.cache?.clear?.(),N();let t=await Ra();return t&&!jn(t.expiresAt)?(E(`tengu_oauth_token_refresh_race_recovered`,{}),!0):!1}finally{E(`tengu_oauth_token_refresh_lock_releasing`,{}),await a(),E(`tengu_oauth_token_refresh_lock_released`,{})}}function R(){return I()?wn(W()?.scopes):!1}function Va(){return W()?.scopes?.includes(`user:profile`)??!1}function Ha(){return!(s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||R())}function Ua(){return I()?S().oauthAccount:void 0}function Wa(){let e=Ua()?.billingType;return!(!R()||!e||e!==`stripe_subscription`&&e!==`stripe_subscription_contracted`&&e!==`apple_subscription`&&e!==`google_play_subscription`)}function Ga(){let e=z();return e===`max`||e===`enterprise`||e===`team`||e===`pro`||e===null}function z(){if(!I())return null;let e=W();return e?e.subscriptionType??null:null}function Ka(){return z()===`max`}function qa(){return z()===`team`}function Ja(){return z()===`team`&&Za()===`default_claude_max_5x`}function Ya(){return z()===`enterprise`}function Xa(){return z()===`pro`}function Za(){if(!I())return null;let e=W();return e?e.rateLimitTier??null:null}function Qa(){switch(z()){case`enterprise`:return`Work Mate Enterprise`;case`team`:return`Work Mate Team`;case`max`:return`Claude Max`;case`pro`:return`Claude Pro`;default:return`Work Mate API`}}function $a(){return!!(s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||s(process.env.CLAUDE_CODE_USE_OPENAI)||s(process.env.CLAUDE_CODE_USE_GEMINI)||s(process.env.CLAUDE_CODE_USE_GROK))}function eo(){return(b()||{}).otelHeadersHelper}function to(){let e=eo();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.otelHeadersHelper===e||n?.otelHeadersHelper===e}function no(){let e=eo();if(!e)return{};let t=parseInt(process.env.CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS||xo.toString(),10);if(yo&&Date.now()-bo<t)return yo;if(to()&&!C())return{};try{let t=qe(e,{timeout:3e4})?.toString().trim();if(!t)throw Error(`otelHeadersHelper did not return a valid value`);let n=je(t);if(typeof n!=`object`||!n||Array.isArray(n))throw Error(`otelHeadersHelper must return a JSON object with string key-value pairs`);for(let[e,t]of Object.entries(n))if(typeof t!=`string`)throw Error(`otelHeadersHelper returned non-string value for key "${e}": ${typeof t}`);return yo=n,bo=Date.now(),yo}catch(e){throw T(Error(`Error getting OpenTelemetry headers from otelHeadersHelper (in settings): ${g(e)}`)),e}}function ro(e){return e===`max`||e===`pro`}function io(){let e=z();return R()&&e!==null&&ro(e)}function ao(){if(k()!==`firstParty`)return;let{source:e}=$i(),t={};e===`CLAUDE_CODE_OAUTH_TOKEN`||e===`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`?t.tokenSource=e:R()?t.subscription=Qa():t.tokenSource=e;let{key:n,source:r}=na();if(n&&(t.apiKeySource=r),e===`claude.ai`||r===`/login managed key`){let e=Ua()?.organizationName;e&&(t.organization=e)}let i=Ua()?.emailAddress;return(e===`claude.ai`||r===`/login managed key`)&&i&&(t.email=i),t}async function oo(){if(process.env.ANTHROPIC_UNIX_SOCKET||!I())return{valid:!0};let e=y(`policySettings`)?.forceLoginOrgUUID;if(!e)return{valid:!0};await za();let t=W();if(!t)return{valid:!0};let{source:n}=$i(),r=n===`CLAUDE_CODE_OAUTH_TOKEN`||n===`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,i=await Sn(t.accessToken);if(!i)return{valid:!1,message:`Unable to verify organization for the current authentication token.\nThis machine requires organization ${e} but the profile could not be fetched.\nThis may be a network error, or the token may lack the user:profile scope required for\nverification.\nTry again, or obtain a full-scope token.`};let a=i.organization.uuid;return a===e?{valid:!0}:r?{valid:!1,message:`The ${n===`CLAUDE_CODE_OAUTH_TOKEN`?`CLAUDE_CODE_OAUTH_TOKEN`:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`} environment variable provides a token for a\ndifferent organization than required by this machine's managed settings.\n\nRequired organization: ${e}\nToken organization: ${a}\n\nRemove the environment variable or obtain a token for the correct organization.`}:{valid:!1,message:`Your authentication token belongs to organization ${a},\nbut this machine requires organization ${e}.\n\nAuthentication token belongs to the wrong organization.`}}var so,B,V,H,co,lo,U,uo,fo,po,mo,ho,W,go,_o,vo,yo,bo,xo,So,G=e((()=>{re(),Ke(),i(),O(),at(),bn(),A(),m(),In(),Cn(),Kn(),$n(),ir(),or(),Si(),We(),v(),c(),Ae(),Ye(),Ue(),et(),nt(),Fi(),Wi(),Xn(),x(),Ki(),Re(),Xi(),so=300*1e3,B=null,V=null,H=0,co=3600*1e3,lo=180*1e3,U=tt(async()=>{let e=await ga(),t=await va();return(e||t)&&await rr(),t},co),uo=5e3,fo=3600*1e3,po=180*1e3,mo=tt(async()=>await Ca(),fo),ho=r(()=>{if(l())return null;if(process.platform===`darwin`){let e=zi();if(e){if(e.stdout)return{key:e.stdout,source:`/login managed key`}}else{let e=M();try{let t=qe(`security find-generic-password -a $USER -w -s "${e}"`);if(t)return{key:t,source:`/login managed key`}}catch(e){T(e)}}}let e=S();return e.primaryApiKey?{key:e.primaryApiKey,source:`/login managed key`}:null}),W=r(()=>{if(l())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN)return{accessToken:process.env.CLAUDE_CODE_OAUTH_TOKEN,refreshToken:null,expiresAt:null,scopes:[`user:inference`],subscriptionType:null,rateLimitTier:null};let e=Bn();if(e)return{accessToken:e,refreshToken:null,expiresAt:null,scopes:[`user:inference`],subscriptionType:null,rateLimitTier:null};try{let e=Pi().read()?.claudeAiOauth;return e?.accessToken?e:null}catch(e){return T(e),null}}),go=0,_o=new Map,vo=null,yo=null,bo=0,xo=1740*1e3,So=class extends Error{}}));function K(){return!s(process.env.CLAUDE_CODE_DISABLE_FAST_MODE)}function Co(){return K()?To()===null:!1}function wo(e,t){switch(e){case`free`:return t===`oauth`?`Fast mode requires a paid subscription`:`Fast mode unavailable during evaluation. Please purchase credits.`;case`preference`:return`Fast mode has been disabled by your organization`;case`extra_usage_disabled`:return`Fast mode requires extra usage billing · enable it at claude.ai/settings/usage`;case`network_error`:return`Fast mode unavailable due to network connectivity issues`;case`unknown`:return`Fast mode is currently unavailable`}}function To(){if(!K())return`Fast mode is not available`;if(ut(),h()&&_e()&&!y(`flagSettings`)?.fastMode){let e=`Fast mode is not available in the Agent SDK`;return _(`Fast mode unavailable: ${e}`),e}if(k()!==`firstParty`){let e=`Fast mode is not available on Bedrock, Vertex, or Foundry`;return _(`Fast mode unavailable: ${e}`),e}if(J.status===`disabled`){if((J.reason===`network_error`||J.reason===`unknown`)&&s(process.env.CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS))return null;let e=W()===null?`api-key`:`oauth`,t=wo(J.reason,e);return _(`Fast mode unavailable: ${t}`),t}return null}function Eo(){return`opus${Ks()?`[1m]`:``}`}function Do(e){if(!K()||!Co()||!Oo(e))return!1;let t=Be();return!t.fastModePerSessionOptIn&&t.fastMode===!0}function Oo(e){if(!K())return!1;let t=$(e??Vs());return t.toLowerCase().includes(`opus-4-7`)||t.toLowerCase().includes(`opus-4-6`)}function ko(){return q.status===`cooldown`&&Date.now()>=q.resetAt&&(K()&&!Ho&&(_(`Fast mode cooldown expired, re-enabling fast mode`),Ho=!0,Wo.emit()),q={status:`active`}),q}function Ao(e,t){if(!K())return;q={status:`cooldown`,resetAt:e,reason:t},Ho=!1;let n=e-Date.now();_(`Fast mode cooldown triggered (${t}), duration ${Math.round(n/1e3)}s`),E(`tengu_fast_mode_fallback_triggered`,{cooldown_duration_ms:n,cooldown_reason:t}),Uo.emit(e,t)}function jo(){q={status:`active`}}function Mo(){J.status!==`disabled`&&(J={status:`disabled`,reason:`preference`},Ve(`userSettings`,{fastMode:void 0}),w(e=>({...e,penguinModeOrgEnabled:!1})),Yo.emit(!1))}function No(e){switch(e){case`out_of_credits`:return`Fast mode disabled · extra usage credits exhausted`;case`org_level_disabled`:case`org_service_level_disabled`:return`Fast mode disabled · extra usage disabled by your organization`;case`org_level_disabled_until`:return`Fast mode disabled · extra usage spending cap reached`;case`member_level_disabled`:return`Fast mode disabled · extra usage disabled for your account`;case`seat_tier_level_disabled`:case`seat_tier_zero_credit_limit`:case`member_zero_credit_limit`:return`Fast mode disabled · extra usage not available for your plan`;case`overage_not_provisioned`:case`no_limits_configured`:return`Fast mode requires extra usage billing · enable it at claude.ai/settings/usage`;default:return`Fast mode disabled · extra usage not available`}}function Po(e){return e===`org_level_disabled_until`||e===`out_of_credits`}function Fo(e){let t=No(e);_(`Fast mode overage rejection: ${e??`unknown`} — ${t}`),E(`tengu_fast_mode_overage_rejected`,{overage_disabled_reason:e??`unknown`}),Po(e)||(Ve(`userSettings`,{fastMode:void 0}),w(e=>({...e,penguinModeOrgEnabled:!1}))),qo.emit(t)}function Io(){return ko().status===`cooldown`}function Lo(e,t){let n=K()&&Co()&&!!t&&Oo(e);return n&&Io()?`cooldown`:n?`on`:`off`}async function Ro(e){let t=`${D().BASE_API_URL}/api/claude_code_penguin_mode`,n=`accessToken`in e?{Authorization:`Bearer ${e.accessToken}`,"anthropic-beta":ct}:{"x-api-key":e.apiKey};return(await f.get(t,{headers:n})).data}function zo(){K()&&J.status===`pending`&&(J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`unknown`})}async function Bo(){if($e()||!K())return;if($o)return _(`Fast mode prefetch in progress, returning in-flight promise`),$o;let e=ea();if(!(W()?.accessToken&&Va())&&!e){J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`preference`};return}let t=Date.now();if(t-Qo<Zo){_(`Skipping fast mode prefetch, fetched recently`);return}Qo=t;let n=async()=>{let t=W(),n=t?.accessToken&&Va()?{accessToken:t.accessToken}:e?{apiKey:e}:null;if(!n)throw Error(`No auth available`);return Ro(n)};async function r(){try{let e;try{e=await n()}catch(t){if(f.isAxiosError(t)&&(t.response?.status===401||t.response?.status===403&&typeof t.response?.data==`string`&&t.response.data.includes(`OAuth token has been revoked`))){let r=W()?.accessToken;if(r)await Ia(r),e=await n();else throw t}else throw t}let t=J.status===`pending`?S().penguinModeOrgEnabled:J.status===`enabled`;J=e.enabled?{status:`enabled`}:{status:`disabled`,reason:e.disabled_reason??`preference`},t!==e.enabled&&(e.enabled||Ve(`userSettings`,{fastMode:void 0}),w(t=>({...t,penguinModeOrgEnabled:e.enabled})),Yo.emit(e.enabled)),_(`Org fast mode: ${e.enabled?`enabled`:`disabled (${e.disabled_reason??`preference`})`}`)}catch(e){J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`network_error`},_(`Failed to fetch org fast mode status, defaulting to ${J.status===`enabled`?`enabled (cached)`:`disabled (network_error)`}: ${e}`,{level:`error`}),E(`tengu_org_penguin_mode_fetch_failed`,{})}finally{$o=null}}return $o=r(),$o}var Vo,q,Ho,Uo,Wo,Go,Ko,qo,Jo,J,Yo,Xo,Zo,Qo,$o,es=e((()=>{p(),O(),m(),at(),G(),dt(),We(),v(),c(),rc(),A(),Qe(),x(),Se(),Vo=`Opus 4.7`,q={status:`active`},Ho=!1,Uo=ye(),Wo=ye(),Go=Uo.subscribe,Ko=Wo.subscribe,qo=ye(),Jo=qo.subscribe,J={status:`pending`},Yo=ye(),Xo=Yo.subscribe,Zo=3e4,Qo=0,$o=null}));function ts(e){return K()&&e?ds:us}function ns(e,t){return t.input_tokens/1e6*e.inputTokens+t.output_tokens/1e6*e.outputTokens+(t.cache_read_input_tokens??0)/1e6*e.promptCacheReadTokens+(t.cache_creation_input_tokens??0)/1e6*e.promptCacheWriteTokens+(t.server_tool_use?.web_search_requests??0)*e.webSearchRequests}function rs(e,t){let n=Q(e);return n===Z(on.firstParty)?ts(t.speed===`fast`):hs[n]||(is(e,n),hs[Q(Vs())]??ms)}function is(e,t){E(`tengu_unknown_model_cost`,{model:e,shortName:t}),Ce()}function as(e,t){return ns(rs(e,t),t)}function os(e,t){return as(e,{input_tokens:t.inputTokens,output_tokens:t.outputTokens,cache_read_input_tokens:t.cacheReadInputTokens,cache_creation_input_tokens:t.cacheCreationInputTokens})}function ss(e){return Number.isInteger(e)?`$${e}`:`$${e.toFixed(2)}`}function cs(e){return`${ss(e.inputTokens)}/${ss(e.outputTokens)} per Mtok`}var Y,ls,us,ds,fs,ps,ms,hs,gs=e((()=>{at(),m(),es(),dn(),rc(),Y={inputTokens:3,outputTokens:15,promptCacheWriteTokens:3.75,promptCacheReadTokens:.3,webSearchRequests:.01},ls={inputTokens:15,outputTokens:75,promptCacheWriteTokens:18.75,promptCacheReadTokens:1.5,webSearchRequests:.01},us={inputTokens:5,outputTokens:25,promptCacheWriteTokens:6.25,promptCacheReadTokens:.5,webSearchRequests:.01},ds={inputTokens:30,outputTokens:150,promptCacheWriteTokens:37.5,promptCacheReadTokens:3,webSearchRequests:.01},fs={inputTokens:.8,outputTokens:4,promptCacheWriteTokens:1,promptCacheReadTokens:.08,webSearchRequests:.01},ps={inputTokens:1,outputTokens:5,promptCacheWriteTokens:1.25,promptCacheReadTokens:.1,webSearchRequests:.01},ms=us,hs={[Z(Qt.firstParty)]:fs,[Z($t.firstParty)]:ps,[Z(Zt.firstParty)]:Y,[Z(Xt.firstParty)]:Y,[Z(en.firstParty)]:Y,[Z(tn.firstParty)]:Y,[Z(cn.firstParty)]:Y,[Z(nn.firstParty)]:ls,[Z(rn.firstParty)]:ls,[Z(an.firstParty)]:us,[Z(on.firstParty)]:us}}));function X(e){return vs.includes(e)}function _s(e){return ys.includes(e)}var vs,ys,bs=e((()=>{vs=[`sonnet`,`opus`,`haiku`,`best`,`sonnet[1m]`,`opus[1m]`,`opusplan`],ys=[`sonnet`,`opus`,`haiku`]}));function xs(e,t){return e.includes(t)?!0:X(e)?$(e).toLowerCase().includes(t):!1}function Ss(e,t){return e.startsWith(t)?e.length===t.length||e[t.length]===`-`:!1}function Cs(e,t){let n=X(e)?$(e).toLowerCase():e;return!!(Ss(n,t)||!t.startsWith(`claude-`)&&Ss(n,`claude-${t}`))}function ws(e,t){for(let n of t){if(_s(n))continue;let t=n.indexOf(e);if(t===-1)continue;let r=t+e.length;if(r===n.length||n[r]===`-`)return!0}return!1}function Ts(e){let{availableModels:t}=b()||{};if(!t)return!0;if(t.length===0)return!1;let n=hn(e).trim().toLowerCase(),r=t.map(e=>e.trim().toLowerCase());if(r.includes(n)&&(!_s(n)||!ws(n,r)))return!0;for(let e of r)if(_s(e)&&!ws(e,r)&&xs(n,e))return!0;if(X(n)){let e=$(n).toLowerCase();if(r.includes(e))return!0}for(let e of r)if(!_s(e)&&X(e)&&$(e).toLowerCase()===n)return!0;for(let e of r)if(!_s(e)&&!X(e)&&Cs(n,e))return!0;return!1}var Es=e((()=>{x(),bs(),rc(),bn()}));function Ds(){return process.env.OPENAI_AUTH_MODE===`chatgpt`}var Os,ks,As=e((()=>{Os=`gpt-5.5`,ks=`gpt-5.4-mini`}));function js(){let e=k();return e===`openai`&&Ds()?process.env.OPENAI_SMALL_FAST_MODEL??`gpt-5.4-mini`:e===`openai`&&process.env.OPENAI_SMALL_FAST_MODEL?process.env.OPENAI_SMALL_FAST_MODEL:e===`gemini`&&process.env.GEMINI_SMALL_FAST_MODEL?process.env.GEMINI_SMALL_FAST_MODEL:process.env.ANTHROPIC_SMALL_FAST_MODEL||zs()}function Ms(e){return e===j().opus40||e===j().opus41||e===j().opus45||e===j().opus46||e===j().opus47}function Ns(){let e,t=me();if(t!==void 0)e=t;else{let t=b()||{};e=process.env.ANTHROPIC_MODEL||t.model||void 0}if(!(e&&!Ts(e)))return e}function Ps(){let e=Ns();return e==null?Hs():$(e)}function Fs(){return Ls()}function Is(){let e=k();if(e===`openai`)return process.env.OPENAI_MODEL;if(e===`gemini`)return process.env.GEMINI_MODEL;if(e===`grok`)return process.env.GROK_MODEL}function Ls(){let e=k();return e===`openai`&&Ds()?Os:e===`openai`&&process.env.OPENAI_DEFAULT_OPUS_MODEL?process.env.OPENAI_DEFAULT_OPUS_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_OPUS_MODEL?process.env.GEMINI_DEFAULT_OPUS_MODEL:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL?process.env.ANTHROPIC_DEFAULT_OPUS_MODEL:Is()||j().opus47}function Rs(){let e=k();return e===`openai`&&Ds()?Os:e===`openai`&&process.env.OPENAI_DEFAULT_SONNET_MODEL?process.env.OPENAI_DEFAULT_SONNET_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_SONNET_MODEL?process.env.GEMINI_DEFAULT_SONNET_MODEL:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL?process.env.ANTHROPIC_DEFAULT_SONNET_MODEL:Is()||(e===`firstParty`?j().sonnet46:j().sonnet45)}function zs(){let e=k();return e===`openai`&&Ds()?ks:e===`openai`&&process.env.OPENAI_DEFAULT_HAIKU_MODEL?process.env.OPENAI_DEFAULT_HAIKU_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_HAIKU_MODEL?process.env.GEMINI_DEFAULT_HAIKU_MODEL:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL?process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL:Is()||j().haiku45}function Bs(e){let{permissionMode:t,mainLoopModel:n,exceeds200kTokens:r=!1}=e;return Ns()===`opusplan`&&t===`plan`&&!r?Ls():Ns()===`haiku`&&t===`plan`?Rs():n}function Vs(){return Ka()||Ja()?Ls()+(Ks()?`[1m]`:``):Rs()}function Hs(){return $(Vs())}function Z(e){if(e=e.toLowerCase(),e.includes(`claude-opus-4-7`))return`claude-opus-4-7`;if(e.includes(`claude-opus-4-6`))return`claude-opus-4-6`;if(e.includes(`claude-opus-4-5`))return`claude-opus-4-5`;if(e.includes(`claude-opus-4-1`))return`claude-opus-4-1`;if(e.includes(`claude-opus-4`))return`claude-opus-4`;if(e.includes(`claude-sonnet-4-6`))return`claude-sonnet-4-6`;if(e.includes(`claude-sonnet-4-5`))return`claude-sonnet-4-5`;if(e.includes(`claude-sonnet-4`))return`claude-sonnet-4`;if(e.includes(`claude-haiku-4-5`))return`claude-haiku-4-5`;if(e.includes(`claude-3-7-sonnet`))return`claude-3-7-sonnet`;if(e.includes(`claude-3-5-sonnet`))return`claude-3-5-sonnet`;if(e.includes(`claude-3-5-haiku`))return`claude-3-5-haiku`;if(e.includes(`claude-3-opus`))return`claude-3-opus`;if(e.includes(`claude-3-sonnet`))return`claude-3-sonnet`;if(e.includes(`claude-3-haiku`))return`claude-3-haiku`;let t=e.match(/(claude-(\d+-\d+-)?\w+)/);return t?.[1]?t[1]:e}function Q(e){return Z(hn(e))}function Us(e=!1){return Ka()||Ja()?Ks()?`Opus 4.7 with 1M context · Most capable for complex work${e?Gs(!0):``}`:`Opus 4.7 · Most capable for complex work${e?Gs(!0):``}`:`Sonnet 4.6 · Best for everyday tasks`}function Ws(e){return e===`opusplan`?`Opus 4.7 in plan mode, else Sonnet 4.6`:Ys($(e))}function Gs(e){if(k()!==`firstParty`)return``;let t=cs(ts(e));return` ·${e?` (↯)`:``} ${t}`}function Ks(){return!(Gr()||Xa()||k()!==`firstParty`||!Mt()||R()&&z()===null)}function qs(e){return e===`opusplan`?`Opus Plan`:X(e)?ft(e):Ys(e)}function Js(e){switch(e){case j().opus47:return`Opus 4.7`;case`${j().opus47}[1m]`:return`Opus 4.7 (1M context)`;case j().opus46:return`Opus 4.6`;case`${j().opus46}[1m]`:return`Opus 4.6 (1M context)`;case j().opus45:return`Opus 4.5`;case j().opus41:return`Opus 4.1`;case j().opus40:return`Opus 4`;case`${j().sonnet46}[1m]`:return`Sonnet 4.6 (1M context)`;case j().sonnet46:return`Sonnet 4.6`;case`${j().sonnet45}[1m]`:return`Sonnet 4.5 (1M context)`;case j().sonnet45:return`Sonnet 4.5`;case j().sonnet40:return`Sonnet 4`;case`${j().sonnet40}[1m]`:return`Sonnet 4 (1M context)`;case j().sonnet37:return`Sonnet 3.7`;case j().sonnet35:return`Sonnet 3.5`;case j().haiku45:return`Haiku 4.5`;case j().haiku35:return`Haiku 3.5`;default:return null}}function Ys(e){return Js(e)||e}function $(e){let t=e.trim(),n=t.toLowerCase(),r=F(n),i=r?n.replace(/\[1m]$/i,``).trim():n;if(X(i))switch(i){case`opusplan`:return Rs()+(r?`[1m]`:``);case`sonnet`:return Rs()+(r?`[1m]`:``);case`haiku`:return zs()+(r?`[1m]`:``);case`opus`:return Ls()+(r?`[1m]`:``);case`best`:return Fs();default:}return k()===`firstParty`&&Zs(i)&&Qs()?Ls()+(r?`[1m]`:``):r?`${t.replace(/\[1m\]$/i,``).trim()}[1m]`:t}function Xs(e,t){return F(e)||!F(t)?e:Kr($(e))?`${e}[1m]`:e}function Zs(e){return nc.includes(e)}function Qs(){return!s(process.env.CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP)}function $s(e){if(e===null)return R()?`Default (${Us()})`:`Default (${Hs()})`;let t=$(e);return e===t?t:`${e} (${t})`}function ec(e){if(k()===`foundry`)return;let t=e.toLowerCase().includes(`[1m]`),n=Q(e);if(n.includes(`claude-opus-4-7`))return t?`Opus 4.7 (with 1M context)`:`Opus 4.7`;if(n.includes(`claude-opus-4-6`))return t?`Opus 4.6 (with 1M context)`:`Opus 4.6`;if(n.includes(`claude-opus-4-5`))return`Opus 4.5`;if(n.includes(`claude-opus-4-1`))return`Opus 4.1`;if(n.includes(`claude-opus-4`))return`Opus 4`;if(n.includes(`claude-sonnet-4-6`))return t?`Sonnet 4.6 (with 1M context)`:`Sonnet 4.6`;if(n.includes(`claude-sonnet-4-5`))return t?`Sonnet 4.5 (with 1M context)`:`Sonnet 4.5`;if(n.includes(`claude-sonnet-4`))return t?`Sonnet 4 (with 1M context)`:`Sonnet 4`;if(n.includes(`claude-3-7-sonnet`))return`Work Mate 3.7 Sonnet`;if(n.includes(`claude-3-5-sonnet`))return`Work Mate 3.5 Sonnet`;if(n.includes(`claude-haiku-4-5`))return`Haiku 4.5`;if(n.includes(`claude-3-5-haiku`))return`Work Mate 3.5 Haiku`}function tc(e){return e.replace(/\[(1|2)m\]/gi,``)}var nc,rc=e((()=>{m(),G(),ri(),c(),bn(),gs(),x(),A(),ze(),Es(),bs(),pt(),As(),nc=[`claude-opus-4-20250514`,`claude-opus-4-1-20250805`,`claude-opus-4-0`,`claude-opus-4-1`]}));export{Ko as $,xr as $n,k as $r,Ea as $t,vs as A,oi as An,Tn as Ar,Ia as At,jo as B,ri as Bn,bn as Br,io as Bt,$ as C,gi as Cn,An as Cr,Ra as Ct,Xs as D,fi as Dn,Nn as Dr,Za as Dt,qs as E,pi as En,Mn as Er,no as Et,as as F,qr as Fn,xn as Fr,Ha as Ft,Do as G,kr as Gn,qt as Gr,to as Gt,ko as H,Wr as Hn,Vt as Hr,Ya as Ht,cs as I,Zr as In,Sn as Ir,I as It,es as J,wr as Jn,Rt as Jr,Ja as Jt,Fo as K,Pr as Kn,Yt as Kr,Wa as Kt,ts as L,Xr as Ln,Cn as Lr,aa as Lt,Y as M,ni as Mn,On as Mr,Ga as Mt,hs as N,$r as Nn,wn as Nr,Va as Nt,Es as O,mi as On,In as Or,Qa as Ot,os as P,Yr as Pn,Fn as Pr,G as Pt,Oo as Q,Sr as Qn,Pt as Qr,Da as Qt,gs as R,Jr as Rn,_n as Rr,sa as Rt,tc as S,xi as Sn,En as Sr,W as St,Ys as T,Si as Tn,kn as Tr,Ua as Tt,Lo as U,Br as Un,Kt as Ur,xa as Ut,Eo as V,Gr as Vn,Gt as Vr,Aa as Vt,To as W,Nr as Wn,Wt as Wr,Ka as Wt,Io as X,Dr as Xn,Nt as Xr,$a as Xt,Co as Y,Cr as Yn,Lt as Yr,qa as Yt,K as Z,Er as Zn,It as Zr,ha as Zt,rc as _,Fi as _n,Xn as _r,ua as _t,zs as a,ka as an,gr as ar,Ao as at,Ks as b,_i as bn,Ln as br,la as bt,Ls as c,Ji as cn,yr as cr,za as ct,ec as d,Ki as dn,or as dr,ya as dt,jt as ei,U as en,_r as er,Go as et,Gs as f,Gi as fn,ir as fr,Ta as ft,Ns as g,Pi as gn,N as gr,na as gt,js as h,Li as hn,Qn as hr,ea as ht,Us as i,ja as in,mr as ir,zo as it,bs as j,si as jn,Pn as jr,ta as jt,Ts as k,hi as kn,jn as kr,z as kt,Rs as l,qi as ln,br as lr,Sa as lt,Bs as m,Wi as mn,$n as mr,ao as mt,Fs as n,Mt as ni,wa as nn,ur as nr,Xo as nt,Hs as o,Na as on,dr as or,Zi as ot,Js as p,Ri as pn,er as pr,Pa as pt,Mo as q,Tr as qn,Ht as qr,Xa as qt,Q as r,mo as rn,hr as rr,Bo as rt,Vs as s,oo as sn,pr as sr,ca as st,Z as t,A as ti,_a as tn,lr as tr,Jo as tt,Ps as u,Xi as un,ar as ur,ma as ut,Qs as v,Ai as vn,Gn as vr,pa as vt,Ws as w,bi as wn,Dn as wr,L as wt,$s as x,li as xn,Rn as xr,$i as xt,Ms as y,Ei as yn,Kn as yr,ho as yt,Vo as z,F as zn,j as zr,R as zt};
1
+ import{n as e,o as t,r as n}from"./rolldown-runtime-DaDcL9Zw.js";import{n as r,t as i}from"./memoize-BK3gG5ob.js";import{d as a,i as o,l as s,o as c,r as ee,s as l,t as u}from"./envUtils-DcaKZlRU.js";import{n as te,t as d}from"./defineProperty-C-QyHrDq.js";import{n as f,t as p}from"./axios-DaWTGg7G.js";import{di as ne,fi as re}from"./src-DL3w8VPk2.js";import{A as ie,C as ae,p as oe,w as se}from"./external-CEp-aPkt.js";import{n as ce,r as le,t as ue}from"./lazySchema-B4D4qJVE.js";import{$ as de,In as fe,Ir as pe,J as me,Lr as he,Wt as m,Z as ge,Zt as _e,dt as ve,lr as ye,pt as be,sn as xe,ur as Se,vn as Ce,y as we,z as h,zn as Te}from"./state-BPFYBqm1.js";import{B as Ee,C as De,F as Oe,G as ke,P as g,R as Ae,S as je,T as Me,W as Ne,c as _,f as Pe,i as v,o as Fe,s as Ie,u as Le,x as Re}from"./debug-BQj6h99Q.js";import{Wt as ze,c as y,f as b,g as x,n as Be,x as Ve}from"./settings-CvhsRFaT.js";import{C as He,S as Ue,c as S,h as We,n as C,y as w}from"./config-BSkuQZNf.js";import{a as Ge,c as Ke,i as qe,o as Je,r as Ye,s as Xe,t as Ze}from"./execFileNoThrow-DYm1GeGn.js";import{d as Qe,f as $e,o as et,s as T}from"./log-BlJ7CcKG.js";import{r as tt,t as nt}from"./memoize-_2f7NWDv.js";import{s as rt,u as it}from"./types-BomO8WUz.js";import{n as at,r as E}from"./analytics-DJobLaWP.js";import{l as D,n as ot,r as st,s as ct,t as lt,u as O}from"./oauth-D38aRTUb.js";import{n as ut,t as dt}from"./bundledMode--fG1S62b.js";import{n as ft,o as pt}from"./stringUtils-BjnclTLB.js";import{a as mt,i as ht,l as gt}from"./proxy-C0j74LqT.js";import{userInfo as _t}from"os";import{join as vt}from"path";import{chmodSync as yt,mkdirSync as bt,readFileSync as xt,writeFileSync as St}from"fs";import{createHash as Ct,randomUUID as wt}from"crypto";import{mkdir as Tt,stat as Et,writeFile as Dt}from"fs/promises";import{exec as Ot,execFile as kt}from"child_process";import{AsyncLocalStorage as At}from"async_hooks";function k(e=Be()){let t=e.modelType;return t===`openai`?`openai`:t===`gemini`?`gemini`:t===`grok`?`grok`:s(process.env.CLAUDE_CODE_USE_BEDROCK)?`bedrock`:s(process.env.CLAUDE_CODE_USE_VERTEX)?`vertex`:s(process.env.CLAUDE_CODE_USE_FOUNDRY)?`foundry`:s(process.env.CLAUDE_CODE_USE_OPENAI)?`openai`:s(process.env.CLAUDE_CODE_USE_GEMINI)?`gemini`:s(process.env.CLAUDE_CODE_USE_GROK)?`grok`:`firstParty`}function jt(){return k()}function Mt(){let e=process.env.ANTHROPIC_BASE_URL;if(!e)return!0;try{return new URL(e).host===`api.anthropic.com`}catch{return!1}}var A=e((()=>{x(),c()}));function Nt(){return Ft.getStore()?.workload}function Pt(e,t){return Ft.run({workload:e},t)}var Ft,It=e((()=>{Ft=new At}));function Lt(e){let t=[],n=!1;async function r(){if(!n&&t.length!==0){for(n=!0;t.length>0;){let{args:n,resolve:r,reject:i,context:a}=t.shift();try{r(await e.apply(a,n))}catch(e){i(e)}}n=!1,t.length>0&&r()}}return function(...e){return new Promise((n,i)=>{t.push({args:e,resolve:n,reject:i,context:this}),r()})}}var Rt=e((()=>{}));function zt(e,t){return e.find(e=>e.includes(t))??null}async function Bt(){let{BedrockClient:e}=await import(`./dist-es-yHGBqhBe.js`),t=u(),n=s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),r={region:t,...process.env.ANTHROPIC_BEDROCK_BASE_URL&&{endpoint:process.env.ANTHROPIC_BEDROCK_BASE_URL},...await ht(),...n&&{requestHandler:new(await(import(`./dist-es-C7vygWzp.js`))).NodeHttpHandler,httpAuthSchemes:[{schemeId:`smithy.api#noAuth`,identityProvider:()=>async()=>({}),signer:new(await(import(`./dist-es-gUzZ_7Vf.js`))).NoAuthSigner}],httpAuthSchemeProvider:()=>[{schemeId:`smithy.api#noAuth`}]}};if(!n&&!process.env.AWS_BEARER_TOKEN_BEDROCK){let e=await U();e&&(r.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken})}return new e(r)}async function Vt(){let{BedrockRuntimeClient:e}=await import(`./dist-es-Gt_DpXlP.js`),t=u(),n=s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),r={region:t,...process.env.ANTHROPIC_BEDROCK_BASE_URL&&{endpoint:process.env.ANTHROPIC_BEDROCK_BASE_URL},...await ht(),...n&&{requestHandler:new(await(import(`./dist-es-C7vygWzp.js`))).NodeHttpHandler,httpAuthSchemes:[{schemeId:`smithy.api#noAuth`,identityProvider:()=>async()=>({}),signer:new(await(import(`./dist-es-gUzZ_7Vf.js`))).NoAuthSigner}],httpAuthSchemeProvider:()=>[{schemeId:`smithy.api#noAuth`}]}};if(!n&&!process.env.AWS_BEARER_TOKEN_BEDROCK){let e=await U();e&&(r.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken})}return new e(r)}function Ht(e){return e.startsWith(`anthropic.`)}function Ut(e){if(!e.startsWith(`arn:`))return e;let t=e.lastIndexOf(`/`);return t===-1?e:e.substring(t+1)}function Wt(e){let t=Ut(e);for(let e of Jt)if(t.startsWith(`${e}.anthropic.`))return e}function Gt(e,t){let n=Wt(e);return n?e.replace(`${n}.`,`${t}.`):Ht(e)?`${t}.${e}`:e}var Kt,qt,Jt,Yt=e((()=>{i(),G(),c(),et(),gt(),Kt=r(async()=>{let[e,{ListInferenceProfilesCommand:t}]=await Promise.all([Bt(),import(`./dist-es-yHGBqhBe.js`)]),n=[],r;try{do{let i=new t({...r&&{nextToken:r},typeEquals:`SYSTEM_DEFINED`}),a=await e.send(i);a.inferenceProfileSummaries&&n.push(...a.inferenceProfileSummaries),r=a.nextToken}while(r);return n.filter(e=>e.inferenceProfileId?.includes(`anthropic`)).map(e=>e.inferenceProfileId).filter(Boolean)}catch(e){throw T(e),e}}),qt=r(async e=>{try{let[t,{GetInferenceProfileCommand:n}]=await Promise.all([Bt(),import(`./dist-es-yHGBqhBe.js`)]),r=new n({inferenceProfileIdentifier:e}),i=await t.send(r);if(!i.models||i.models.length===0)return null;let a=i.models[0];if(!a?.modelArn)return null;let o=a.modelArn.lastIndexOf(`/`);return o>=0?a.modelArn.substring(o+1):a.modelArn}catch(e){return T(e),null}}),Jt=[`us`,`eu`,`apac`,`global`]})),Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn=e((()=>{Xt={firstParty:`claude-3-7-sonnet-20250219`,bedrock:`us.anthropic.claude-3-7-sonnet-20250219-v1:0`,vertex:`claude-3-7-sonnet@20250219`,foundry:`claude-3-7-sonnet`,openai:`claude-3-7-sonnet-20250219`,gemini:`claude-3-7-sonnet-20250219`,grok:`claude-3-7-sonnet-20250219`},Zt={firstParty:`claude-3-5-sonnet-20241022`,bedrock:`anthropic.claude-3-5-sonnet-20241022-v2:0`,vertex:`claude-3-5-sonnet-v2@20241022`,foundry:`claude-3-5-sonnet`,openai:`claude-3-5-sonnet-20241022`,gemini:`claude-3-5-sonnet-20241022`,grok:`claude-3-5-sonnet-20241022`},Qt={firstParty:`claude-3-5-haiku-20241022`,bedrock:`us.anthropic.claude-3-5-haiku-20241022-v1:0`,vertex:`claude-3-5-haiku@20241022`,foundry:`claude-3-5-haiku`,openai:`claude-3-5-haiku-20241022`,gemini:`claude-3-5-haiku-20241022`,grok:`claude-3-5-haiku-20241022`},$t={firstParty:`claude-haiku-4-5-20251001`,bedrock:`us.anthropic.claude-haiku-4-5-20251001-v1:0`,vertex:`claude-haiku-4-5@20251001`,foundry:`claude-haiku-4-5`,openai:`claude-haiku-4-5-20251001`,gemini:`claude-haiku-4-5-20251001`,grok:`claude-haiku-4-5-20251001`},en={firstParty:`claude-sonnet-4-20250514`,bedrock:`us.anthropic.claude-sonnet-4-20250514-v1:0`,vertex:`claude-sonnet-4@20250514`,foundry:`claude-sonnet-4`,openai:`claude-sonnet-4-20250514`,gemini:`claude-sonnet-4-20250514`,grok:`claude-sonnet-4-20250514`},tn={firstParty:`claude-sonnet-4-5-20250929`,bedrock:`us.anthropic.claude-sonnet-4-5-20250929-v1:0`,vertex:`claude-sonnet-4-5@20250929`,foundry:`claude-sonnet-4-5`,openai:`claude-sonnet-4-5-20250929`,gemini:`claude-sonnet-4-5-20250929`,grok:`claude-sonnet-4-5-20250929`},nn={firstParty:`claude-opus-4-20250514`,bedrock:`us.anthropic.claude-opus-4-20250514-v1:0`,vertex:`claude-opus-4@20250514`,foundry:`claude-opus-4`,openai:`claude-opus-4-20250514`,gemini:`claude-opus-4-20250514`,grok:`claude-opus-4-20250514`},rn={firstParty:`claude-opus-4-1-20250805`,bedrock:`us.anthropic.claude-opus-4-1-20250805-v1:0`,vertex:`claude-opus-4-1@20250805`,foundry:`claude-opus-4-1`,openai:`claude-opus-4-1-20250805`,gemini:`claude-opus-4-1-20250805`,grok:`claude-opus-4-1-20250805`},an={firstParty:`claude-opus-4-5-20251101`,bedrock:`us.anthropic.claude-opus-4-5-20251101-v1:0`,vertex:`claude-opus-4-5@20251101`,foundry:`claude-opus-4-5`,openai:`claude-opus-4-5-20251101`,gemini:`claude-opus-4-5-20251101`,grok:`claude-opus-4-5-20251101`},on={firstParty:`claude-opus-4-6`,bedrock:`us.anthropic.claude-opus-4-6-v1`,vertex:`claude-opus-4-6`,foundry:`claude-opus-4-6`,openai:`claude-opus-4-6`,gemini:`claude-opus-4-6`,grok:`claude-opus-4-6`},sn={firstParty:`claude-opus-4-7`,bedrock:`us.anthropic.claude-opus-4-7-v1`,vertex:`claude-opus-4-7`,foundry:`claude-opus-4-7`,openai:`claude-opus-4-7`,gemini:`claude-opus-4-7`,grok:`claude-opus-4-7`},cn={firstParty:`claude-sonnet-4-6`,bedrock:`us.anthropic.claude-sonnet-4-6`,vertex:`claude-sonnet-4-6`,foundry:`claude-sonnet-4-6`,openai:`claude-sonnet-4-6`,gemini:`claude-sonnet-4-6`,grok:`claude-sonnet-4-6`},ln={haiku35:Qt,haiku45:$t,sonnet35:Zt,sonnet37:Xt,sonnet40:en,sonnet45:tn,sonnet46:cn,opus40:nn,opus41:rn,opus45:an,opus46:on,opus47:sn},Object.values(ln).map(e=>e.firstParty),un=Object.fromEntries(Object.entries(ln).map(([e,t])=>[t.firstParty,e]))}));function fn(e){let t={};for(let n of vn)t[n]=ln[n][e];return t}async function pn(){let e=fn(`bedrock`),t;try{t=await Kt()}catch(t){return T(t),e}if(!t?.length)return e;let n={};for(let r of vn){let i=ln[r].firstParty;n[r]=zt(t,i)||e[r]}return n}function mn(e){let t=Be().modelOverrides;if(!t)return e;let n={...e};for(let[e,r]of Object.entries(t)){let t=un[e];t&&r&&(n[t]=r)}return n}function hn(e){let t;try{t=Be().modelOverrides}catch{return e}if(!t)return e;for(let[n,r]of Object.entries(t))if(r===e)return n;return e}function gn(){if(ge()===null){if(k()!==`bedrock`){fe(fn(k()));return}yn()}}function j(){let e=ge();return e===null?(gn(),mn(fn(k()))):mn(e)}async function _n(){if(ge()===null){if(k()!==`bedrock`){fe(fn(k()));return}await yn()}}var vn,yn,bn=e((()=>{m(),et(),Rt(),x(),Yt(),dn(),A(),vn=Object.keys(ln),yn=Lt(async()=>{if(ge()===null)try{fe(await pn())}catch(e){T(e)}})}));async function xn(){let e=S().oauthAccount?.accountUuid,t=ea();if(!e||!t)return;let n=`${D().BASE_API_URL}/api/claude_cli_profile`;try{return(await f.get(n,{headers:{"x-api-key":t,"anthropic-beta":ct},params:{account_uuid:e},timeout:1e4})).data}catch(e){T(e)}}async function Sn(e){let t=`${D().BASE_API_URL}/api/oauth/profile`;try{return(await f.get(t,{headers:{Authorization:`Bearer ${e}`,"Content-Type":`application/json`},timeout:1e4})).data}catch(e){T(e)}}var Cn=e((()=>{p(),O(),G(),We(),et()}));function wn(e){return!!e?.includes(ot)}function Tn(e){return e?.split(` `).filter(Boolean)??[]}function En({codeChallenge:e,state:t,port:n,isManual:r,loginWithClaudeAi:i,inferenceOnly:a,orgUUID:o,loginHint:s,loginMethod:c}){let ee=i?D().CLAUDE_AI_AUTHORIZE_URL:D().CONSOLE_AUTHORIZE_URL,l=new URL(ee);l.searchParams.append(`code`,`true`),l.searchParams.append(`client_id`,D().CLIENT_ID),l.searchParams.append(`response_type`,`code`),l.searchParams.append(`redirect_uri`,r?D().MANUAL_REDIRECT_URL:`http://localhost:${n}/callback`);let u=a?[ot]:lt;return l.searchParams.append(`scope`,u.join(` `)),l.searchParams.append(`code_challenge`,e),l.searchParams.append(`code_challenge_method`,`S256`),l.searchParams.append(`state`,t),o&&l.searchParams.append(`orgUUID`,o),s&&l.searchParams.append(`login_hint`,s),c&&l.searchParams.append(`login_method`,c),l.toString()}async function Dn(e,t,n,r,i=!1,a){let o={grant_type:`authorization_code`,code:e,redirect_uri:i?D().MANUAL_REDIRECT_URL:`http://localhost:${r}/callback`,client_id:D().CLIENT_ID,code_verifier:n,state:t};a!==void 0&&(o.expires_in=a);let s=await f.post(D().TOKEN_URL,o,{headers:{"Content-Type":`application/json`},timeout:15e3});if(s.status!==200)throw Error(s.status===401?`Authentication failed: Invalid authorization code`:`Token exchange failed (${s.status}): ${s.statusText}`);return E(`tengu_oauth_token_exchange_success`,{}),s.data}async function On(e,{scopes:t}={}){let n={grant_type:`refresh_token`,refresh_token:e,client_id:D().CLIENT_ID,scope:(t?.length?t:st).join(` `)};try{let t=await f.post(D().TOKEN_URL,n,{headers:{"Content-Type":`application/json`},timeout:15e3});if(t.status!==200)throw Error(`Token refresh failed: ${t.statusText}`);let r=t.data,{access_token:i,refresh_token:a=e,expires_in:o}=r,s=Date.now()+o*1e3,c=Tn(r.scope);E(`tengu_oauth_token_refresh_success`,{});let ee=S(),l=W(),u=ee.oauthAccount?.billingType!==void 0&&ee.oauthAccount?.accountCreatedAt!==void 0&&ee.oauthAccount?.subscriptionCreatedAt!==void 0&&l?.subscriptionType!=null&&l?.rateLimitTier!=null?null:await Mn(i);if(u&&ee.oauthAccount){let e={};u.displayName!==void 0&&(e.displayName=u.displayName),typeof u.hasExtraUsageEnabled==`boolean`&&(e.hasExtraUsageEnabled=u.hasExtraUsageEnabled),u.billingType!==null&&(e.billingType=u.billingType),u.accountCreatedAt!==void 0&&(e.accountCreatedAt=u.accountCreatedAt),u.subscriptionCreatedAt!==void 0&&(e.subscriptionCreatedAt=u.subscriptionCreatedAt),Object.keys(e).length>0&&w(t=>({...t,oauthAccount:t.oauthAccount?{...t.oauthAccount,...e}:t.oauthAccount}))}return{accessToken:i,refreshToken:a,expiresAt:s,scopes:c,subscriptionType:u?.subscriptionType??l?.subscriptionType??null,rateLimitTier:u?.rateLimitTier??l?.rateLimitTier??null,profile:u?.rawProfile,tokenAccount:r.account?{uuid:r.account.uuid,emailAddress:r.account.email_address,organizationUuid:r.organization?.uuid}:void 0}}catch(e){let t=f.isAxiosError(e)&&e.response?.data?JSON.stringify(e.response.data):void 0;throw E(`tengu_oauth_token_refresh_failure`,{error:e.message,...t&&{responseBody:t}}),e}}async function kn(e){let t=await f.get(D().ROLES_URL,{headers:{Authorization:`Bearer ${e}`}});if(t.status!==200)throw Error(`Failed to fetch user roles: ${t.statusText}`);let n=t.data;if(!S().oauthAccount)throw Error(`OAuth account information not found in config`);w(e=>({...e,oauthAccount:e.oauthAccount?{...e.oauthAccount,organizationRole:n.organization_role,workspaceRole:n.workspace_role,organizationName:n.organization_name}:e.oauthAccount})),E(`tengu_oauth_roles_stored`,{org_role:n.organization_role})}async function An(e){try{let t=await f.post(D().API_KEY_URL,null,{headers:{Authorization:`Bearer ${e}`}}),n=t.data?.raw_key;return n?(await ka(n),E(`tengu_oauth_api_key`,{status:`success`,statusCode:t.status}),n):null}catch(e){throw E(`tengu_oauth_api_key`,{status:`failure`,error:e instanceof Error?e.message:String(e)}),e}}function jn(e){return e!==null&&Date.now()+300*1e3>=e}async function Mn(e){let t=await Sn(e),n=t?.organization?.organization_type,r=null;switch(n){case`claude_max`:r=`max`;break;case`claude_pro`:r=`pro`;break;case`claude_enterprise`:r=`enterprise`;break;case`claude_team`:r=`team`;break;default:r=null;break}let i={subscriptionType:r,rateLimitTier:t?.organization?.rate_limit_tier??null,hasExtraUsageEnabled:t?.organization?.has_extra_usage_enabled??null,billingType:t?.organization?.billing_type??null};return t?.account?.display_name&&(i.displayName=t.account.display_name),t?.account?.created_at&&(i.accountCreatedAt=t.account.created_at),t?.organization?.subscription_created_at&&(i.subscriptionCreatedAt=t.organization.subscription_created_at),E(`tengu_oauth_profile_fetch_success`,{}),{...i,rawProfile:t}}async function Nn(){let e=S().oauthAccount?.organizationUuid;if(e)return e;let t=W()?.accessToken;return t===void 0||!Va()?null:(await Sn(t))?.organization?.uuid||null}async function Pn(){let e=process.env.CLAUDE_CODE_ACCOUNT_UUID,t=process.env.CLAUDE_CODE_USER_EMAIL,n=process.env.CLAUDE_CODE_ORGANIZATION_UUID,r=!!(e&&t&&n);e&&t&&n&&(S().oauthAccount||Fn({accountUuid:e,emailAddress:t,organizationUuid:n})),await za();let i=S();if(i.oauthAccount&&i.oauthAccount.billingType!==void 0&&i.oauthAccount.accountCreatedAt!==void 0&&i.oauthAccount.subscriptionCreatedAt!==void 0||!R()||!Va())return!1;let a=W();if(a?.accessToken){let e=await Sn(a.accessToken);if(e)return r&&_(`OAuth profile fetch succeeded, overriding env var account info`,{level:`info`}),Fn({accountUuid:e.account.uuid,emailAddress:e.account.email,organizationUuid:e.organization.uuid,displayName:e.account.display_name||void 0,hasExtraUsageEnabled:e.organization.has_extra_usage_enabled??!1,billingType:e.organization.billing_type??void 0,accountCreatedAt:e.account.created_at,subscriptionCreatedAt:e.organization.subscription_created_at??void 0}),!0}return!1}function Fn({accountUuid:e,emailAddress:t,organizationUuid:n,displayName:r,hasExtraUsageEnabled:i,billingType:a,accountCreatedAt:o,subscriptionCreatedAt:s}){let c={accountUuid:e,emailAddress:t,organizationUuid:n,hasExtraUsageEnabled:i,billingType:a,accountCreatedAt:o,subscriptionCreatedAt:s};r&&(c.displayName=r),w(e=>e.oauthAccount?.accountUuid===c.accountUuid&&e.oauthAccount?.emailAddress===c.emailAddress&&e.oauthAccount?.organizationUuid===c.organizationUuid&&e.oauthAccount?.displayName===c.displayName&&e.oauthAccount?.hasExtraUsageEnabled===c.hasExtraUsageEnabled&&e.oauthAccount?.billingType===c.billingType&&e.oauthAccount?.accountCreatedAt===c.accountCreatedAt&&e.oauthAccount?.subscriptionCreatedAt===c.subscriptionCreatedAt?e:{...e,oauthAccount:c})}var In=e((()=>{p(),at(),O(),G(),We(),v(),Cn()}));function Ln(e,t,n){if(s(process.env.CLAUDE_CODE_REMOTE))try{bt(Hn,{recursive:!0,mode:448}),St(e,t,{encoding:`utf8`,mode:384}),_(`Persisted ${n} to ${e} for subprocess access`)}catch(e){_(`Failed to persist ${n} to disk (non-fatal): ${g(e)}`,{level:`error`})}}function Rn(e,t){try{let n=Le().readFileSync(e,{encoding:`utf8`}).trim();return n?(_(`Read ${t} from well-known file ${e}`),n):null}catch(n){return Ee(n)||_(`Failed to read ${t} from ${e}: ${g(n)}`,{level:`debug`}),null}}function zn({envVar:e,wellKnownPath:t,label:n,getCached:r,setCached:i}){let a=r();if(a!==void 0)return a;let o=process.env[e];if(!o){let e=Rn(t,n);return i(e),e}let s=parseInt(o,10);if(Number.isNaN(s))return _(`${e} must be a valid file descriptor number, got: ${o}`,{level:`error`}),i(null),null;try{let e=Le(),r=process.platform===`darwin`||process.platform===`freebsd`?`/dev/fd/${s}`:`/proc/self/fd/${s}`,a=e.readFileSync(r,{encoding:`utf8`}).trim();return a?(_(`Successfully read ${n} from file descriptor ${s}`),i(a),Ln(t,a,n),a):(_(`File descriptor contained empty ${n}`,{level:`error`}),i(null),null)}catch(e){_(`Failed to read ${n} from file descriptor ${s}: ${g(e)}`,{level:`error`});let r=Rn(t,n);return i(r),r}}function Bn(){return zn({envVar:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,wellKnownPath:Un,label:`OAuth token`,getCached:de,setCached:Te})}function Vn(){return zn({envVar:`CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR`,wellKnownPath:Wn,label:`API key`,getCached:we,setCached:xe})}var Hn,Un,Wn,Gn,Kn=e((()=>{m(),v(),c(),Ae(),Pe(),Hn=`/home/claude/.workmate/remote`,Un=`${Hn}/.oauth_token`,Wn=`${Hn}/.api_key`,Gn=`${Hn}/.session_ingress_token`}));function M(e=``){let t=o(),n=process.env.WORKMATE_CONFIG_DIR?`-${Ct(`sha256`).update(t).digest(`hex`).substring(0,8)}`:``;return`Claude Code${D().OAUTH_FILE_SUFFIX}${e}${n}`}function qn(){try{return process.env.USER||_t().username}catch{return`claude-code-user`}}function N(){P.cache={data:null,cachedAt:0},P.generation++,P.readInFlight=null}function Jn(e){if(P.cache.cachedAt!==0)return;let t=null;if(e)try{t=JSON.parse(e)}catch{return}P.cache={data:t,cachedAt:Date.now()}}var Yn,P,Xn=e((()=>{O(),c(),Yn=`-credentials`,P={cache:{data:null,cachedAt:0},generation:0,readInFlight:null}}));async function Zn(){if(process.platform===`darwin`&&(await Je(`security delete-generic-password -a $USER -s "${M()}"`,{shell:!0,reject:!1})).exitCode!==0)throw Error(`Failed to delete keychain entry`)}function Qn(e){return e.slice(-20)}var $n=e((()=>{Ke(),Xn()}));function er(e){return e?.name===`CredentialsProviderError`}function tr(e){if(!e||typeof e!=`object`)return!1;let t=e;if(!t.Credentials||typeof t.Credentials!=`object`)return!1;let n=t.Credentials;return typeof n.AccessKeyId==`string`&&typeof n.SecretAccessKey==`string`&&typeof n.SessionToken==`string`&&n.AccessKeyId.length>0&&n.SecretAccessKey.length>0&&n.SessionToken.length>0}async function nr(){let{STSClient:e,GetCallerIdentityCommand:t}=await import(`./dist-es-C-OjW2Ao.js`);await new e().send(new t({}))}async function rr(){try{_(`Clearing AWS credential provider cache`);let{fromIni:e}=await import(`./dist-es-CIULjvtA2.js`);await e({ignoreCache:!0})(),_(`AWS credential provider cache refreshed`)}catch{_(`Failed to clear AWS credential cache (this is expected if no credentials are configured)`)}}var ir=e((()=>{v()})),ar,or=e((()=>{Se(),te(),ar=class e{constructor(){d(this,`status`,{isAuthenticating:!1,output:[]}),d(this,`changed`,ye()),d(this,`subscribe`,this.changed.subscribe)}static getInstance(){return e.instance||(e.instance=new e),e.instance}getStatus(){return{...this.status,output:[...this.status.output]}}startAuthentication(){this.status={isAuthenticating:!0,output:[]},this.changed.emit(this.getStatus())}addOutput(e){this.status.output.push(e),this.changed.emit(this.getStatus())}setError(e){this.status.error=e,this.changed.emit(this.getStatus())}endAuthentication(e){e?this.status={isAuthenticating:!1,output:[]}:this.status.isAuthenticating=!1,this.changed.emit(this.getStatus())}static reset(){e.instance&&(e.instance.changed.clear(),e.instance=null)}},d(ar,`instance`,null)})),sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br=e((()=>{sr=`claude-code-20250219`,cr=`interleaved-thinking-2025-05-14`,lr=`context-1m-2025-08-07`,ur=`context-management-2025-06-27`,dr=`structured-outputs-2025-12-15`,fr=`tool-search-tool-2025-10-19`,pr=`task-budgets-2026-03-13`,mr=`prompt-caching-scope-2026-01-05`,hr=`fast-mode-2026-02-01`,gr=`redact-thinking-2026-02-12`,_r=`advisor-tool-2026-03-01`,vr=new Set([cr,lr,fr]),yr=new Set([sr,cr,ur])}));function xr(e,t){return pe(e,t)}var Sr=e((()=>{he()}));function Cr(){let e=process.env.CLAUDE_AGENT_SDK_VERSION?`, agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`:``,t=process.env.CLAUDE_AGENT_SDK_CLIENT_APP?`, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`:``,n=Nt(),r=n?`, workload/${n}`:``;return`claude-cli/0.0.17 (external, ${process.env.CLAUDE_CODE_ENTRYPOINT??`cli`}${e}${t}${r})`}function wr(){let e=[];return process.env.CLAUDE_CODE_ENTRYPOINT&&e.push(process.env.CLAUDE_CODE_ENTRYPOINT),process.env.CLAUDE_AGENT_SDK_VERSION&&e.push(`agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`),process.env.CLAUDE_AGENT_SDK_CLIENT_APP&&e.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`),`workmate/0.0.17${e.length>0?` (${e.join(`, `)})`:``}`}function Tr(){if(R()){let e=W();return e?.accessToken?{headers:{Authorization:`Bearer ${e.accessToken}`,"anthropic-beta":ct}}:{headers:{},error:`No OAuth token available`}}let e=ea();return e?{headers:{"x-api-key":e}}:{headers:{},error:`No API key available`}}async function Er(e,t){try{return await e()}catch(n){if(!f.isAxiosError(n))throw n;let r=n.response?.status;if(!(r===401||t?.also403Revoked&&r===403&&typeof n.response?.data==`string`&&n.response.data.includes(`OAuth token has been revoked`)))throw n;let i=W()?.accessToken;if(!i)throw n;return await Ia(i),await e()}}var Dr=e((()=>{p(),O(),G(),It()}));function Or(){return{error:(e,...t)=>console.error(`[SDK ERROR]`,e,...t),warn:(e,...t)=>console.error(`[SDK WARN]`,e,...t),info:(e,...t)=>console.error(`[SDK INFO]`,e,...t),debug:(e,...t)=>console.error(`[SDK DEBUG]`,e,...t)}}async function kr({apiKey:e,maxRetries:n,model:r,fetchOverride:i,source:a}){let o=process.env.CLAUDE_CODE_CONTAINER_ID,c=process.env.CLAUDE_CODE_REMOTE_SESSION_ID,l=process.env.CLAUDE_AGENT_SDK_CLIENT_APP,te=jr(),d={"x-app":`cli`,"User-Agent":Cr(),"X-Claude-Code-Session-Id":be(),...te,...o?{"x-claude-remote-container-id":o}:{},...c?{"x-claude-remote-session-id":c}:{},...l?{"x-client-app":l}:{},...process.env.ANTHROPIC_AUTH_NONCE?{"x-auth-nonce":process.env.ANTHROPIC_AUTH_NONCE}:{}};_(`[API:request] Creating client, ANTHROPIC_CUSTOM_HEADERS present: ${!!process.env.ANTHROPIC_CUSTOM_HEADERS}, has Authorization header: ${!!te.Authorization}`),s(process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION)&&(d[`x-anthropic-additional-protection`]=`true`),_(`[API:auth] OAuth token check starting`),await za(),_(`[API:auth] OAuth token check complete`),R()||await Ar(d,h());let f=Mr(i,a),p={defaultHeaders:d,maxRetries:n,timeout:parseInt(process.env.API_TIMEOUT_MS||`600000`,10),dangerouslyAllowBrowser:!0,fetchOptions:mt({forAnthropicAPI:!0}),...f&&{fetch:f}};if(s(process.env.CLAUDE_CODE_USE_BEDROCK)){let{BedrockClient:e}=await import(`./bedrockClient-DxE_mHFI.js`),t=r===js()&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:u(),n={...p,awsRegion:t,...s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)&&{skipAuth:!0},...Fe()&&{logger:Or()}};if(process.env.AWS_BEARER_TOKEN_BEDROCK)n.skipAuth=!0,n.defaultHeaders={...n.defaultHeaders,Authorization:`Bearer ${process.env.AWS_BEARER_TOKEN_BEDROCK}`};else if(!s(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)){let e=await U();e&&(n.awsAccessKey=e.accessKeyId,n.awsSecretKey=e.secretAccessKey,n.awsSessionToken=e.sessionToken)}return new e(n)}if(s(process.env.CLAUDE_CODE_USE_FOUNDRY)){let{AnthropicFoundry:e}=await import(`./foundry-sdk-BdeF2aBu.js`),t;if(!process.env.ANTHROPIC_FOUNDRY_API_KEY)if(s(process.env.CLAUDE_CODE_SKIP_FOUNDRY_AUTH))t=()=>Promise.resolve(``);else{let{DefaultAzureCredential:e,getBearerTokenProvider:n}=await import(`./esm-CGx9qY3q.js`);t=n(new e,`https://cognitiveservices.azure.com/.default`)}return new e({...p,...t&&{azureADTokenProvider:t},...Fe()&&{logger:Or()}})}if(s(process.env.CLAUDE_CODE_USE_VERTEX)){s(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)||await mo();let[{AnthropicVertex:e},{GoogleAuth:n}]=await Promise.all([import(`./vertex-sdk-DjXcZ2J7.js`),import(`./src-CiJCsqUl.js`).then(e=>t(e.default,1))]),i=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,a=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,o=s(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{getClient:()=>({getRequestHeaders:()=>({})})}:new n({scopes:[`https://www.googleapis.com/auth/cloud-platform`],...i||a?{}:{projectId:process.env.ANTHROPIC_VERTEX_PROJECT_ID}});return new e({...p,region:ee(r),googleAuth:o,...Fe()&&{logger:Or()}})}return new ke({apiKey:R()?null:e||ea(),authToken:R()?W()?.accessToken:void 0,...p,...Fe()&&{logger:Or()}})}async function Ar(e,t){let n=process.env.ANTHROPIC_AUTH_TOKEN||await ua(t);n&&(e.Authorization=`Bearer ${n}`)}function jr(){let e={},t=process.env.ANTHROPIC_CUSTOM_HEADERS;if(!t)return e;let n=t.split(/\n|\r\n/);for(let t of n){if(!t.trim())continue;let n=t.indexOf(`:`);if(n===-1)continue;let r=t.slice(0,n).trim(),i=t.slice(n+1).trim();r&&(e[r]=i)}return e}function Mr(e,t){let n=e??globalThis.fetch,r=k()===`firstParty`&&Mt();return(e,i)=>{let a=new Headers(i?.headers);r&&!a.has(`x-client-request-id`)&&a.set(Nr,wt());try{let n=e instanceof Request?e.url:String(e),r=a.get(Nr);_(`[API REQUEST] ${new URL(n).pathname}${r?` ${Nr}=${r}`:``} source=${t??`unknown`}`)}catch{}return n(e,{...i,headers:a})}}var Nr,Pr=e((()=>{Ne(),G(),Dr(),rc(),A(),gt(),m(),v(),c(),Nr=`x-client-request-id`}));function Fr(){return vt(o(),`cache`)}function Ir(){return vt(Fr(),`model-capabilities.json`)}function Lr(){return!(k()!==`firstParty`||!Mt())}function Rr(e){return[...e].sort((e,t)=>t.id.length-e.id.length||e.id.localeCompare(t.id))}function zr(e){if(!Lr())return;let t=Ur(Ir());if(!t||t.length===0)return;let n=e.toLowerCase();return t.find(e=>e.id.toLowerCase()===n)||t.find(e=>n.includes(e.id.toLowerCase()))}async function Br(){if(Lr()&&!$e())try{let e=await kr({maxRetries:1}),t=R()?[ct]:void 0,n=[];for await(let r of e.models.list({betas:t})){let e=Vr().safeParse(r);e.success&&n.push(e.data)}if(n.length===0)return;let r=Ir(),i=Rr(n);if(xr(Ur(r),i)){_(`[modelCapabilities] cache unchanged, skipping write`);return}await Tt(Fr(),{recursive:!0}),await Dt(r,De({models:i,timestamp:Date.now()}),{encoding:`utf-8`,mode:384}),Ur.cache.delete(r),_(`[modelCapabilities] cached ${i.length} models`)}catch(e){_(`[modelCapabilities] fetch failed: ${e instanceof Error?e.message:`unknown`}`)}}var Vr,Hr,Ur,Wr=e((()=>{Sr(),i(),le(),O(),Pr(),G(),v(),c(),rt(),ue(),Qe(),Re(),A(),Vr=ce(()=>se({id:ie(),max_input_tokens:ae().optional(),max_tokens:ae().optional()}).strip()),Hr=ce(()=>se({models:oe(Vr()),timestamp:ae()})),Ur=r(e=>{try{let t=xt(e,`utf-8`),n=Hr().safeParse(it(t,!1));return n.success?n.data.models:null}catch{return null}},e=>e)}));function Gr(){return s(process.env.CLAUDE_CODE_DISABLE_1M_CONTEXT)}function F(e){return!Gr()&&/\[1m\]/i.test(e)}function Kr(e){if(Gr())return!1;let t=Q(e);return t.includes(`claude-sonnet-4`)||t.includes(`opus-4-6`)||t.includes(`opus-4-7`)}function qr(e,t){if(F(e))return 1e6;let n=zr(e);return n?.max_input_tokens&&n.max_input_tokens>=1e5?n.max_input_tokens>2e5&&Gr()?Qr:n.max_input_tokens:t?.includes(`context-1m-2025-08-07`)&&Kr(e)||Jr(e)?1e6:Qr}function Jr(e){return Gr()||F(e)||!Q(e).includes(`sonnet-4-6`)?!1:S().clientDataCache?.coral_reef_sonnet===`true`}function Yr(e,t){if(!e)return{used:null,remaining:null};let n=e.input_tokens+e.cache_creation_input_tokens+e.cache_read_input_tokens;if(n===0)return{used:null,remaining:null};let r=Math.round(n/t*100),i=Math.min(100,Math.max(0,r));return{used:i,remaining:100-i}}function Xr(e){let t,n,r=Q(e);r.includes(`opus-4-7`)||r.includes(`opus-4-6`)?(t=64e3,n=128e3):r.includes(`sonnet-4-6`)?(t=32e3,n=128e3):r.includes(`opus-4-5`)||r.includes(`sonnet-4`)||r.includes(`haiku-4`)?(t=32e3,n=64e3):r.includes(`opus-4-1`)||r.includes(`opus-4`)?(t=32e3,n=32e3):r.includes(`claude-3-opus`)?(t=4096,n=4096):r.includes(`claude-3-sonnet`)?(t=8192,n=8192):r.includes(`claude-3-haiku`)?(t=4096,n=4096):r.includes(`3-5-sonnet`)||r.includes(`3-5-haiku`)?(t=8192,n=8192):r.includes(`3-7-sonnet`)?(t=32e3,n=64e3):(t=ei,n=ti);let i=zr(e);return i?.max_tokens&&i.max_tokens>=4096&&(n=i.max_tokens,t=Math.min(t,n)),{default:t,upperLimit:n}}function Zr(e){return Xr(e).upperLimit-1}var Qr,$r,ei,ti,ni,ri=e((()=>{br(),We(),c(),rc(),Wr(),Qr=2e5,$r=2e4,ei=32e3,ti=64e3,ni=8e3})),ii,ai,oi,si=e((()=>{i(),A(),ii=[{modelEnvVar:`ANTHROPIC_DEFAULT_OPUS_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`ANTHROPIC_DEFAULT_SONNET_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`ANTHROPIC_DEFAULT_HAIKU_MODEL`,capabilitiesEnvVar:`ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES`}],ai=[{modelEnvVar:`OPENAI_DEFAULT_OPUS_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`OPENAI_DEFAULT_SONNET_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES`},{modelEnvVar:`OPENAI_DEFAULT_HAIKU_MODEL`,capabilitiesEnvVar:`OPENAI_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES`}],oi=r((e,t)=>{if(k()===`firstParty`)return;let n=e.toLowerCase(),r=k()===`openai`?ai:ii;for(let e of r){let r=process.env[e.modelEnvVar],i=process.env[e.capabilitiesEnvVar];if(!(!r||i===void 0)&&n===r.toLowerCase())return i.toLowerCase().split(`,`).map(e=>e.trim()).includes(t)}},(e,t)=>`${e.toLowerCase()}:${t}`)}));function ci(e){let t=[],n=[];for(let r of e)vi.includes(r)?t.push(r):n.push(r);return{allowed:t,disallowed:n}}function li(e){if(!e||e.length===0)return;if(R()){console.warn(`Warning: Custom betas are only available for API key users. Ignoring provided betas.`);return}let{allowed:t,disallowed:n}=ci(e);for(let e of n)console.warn(`Warning: Beta header '${e}' is not allowed. Only the following betas are supported: ${vi.join(`, `)}`);return t.length>0?t:void 0}function ui(e){let t=oi(e,`interleaved_thinking`);if(t!==void 0)return t;let n=Q(e),r=k();return r===`foundry`?!0:r===`firstParty`?!n.includes(`claude-3-`):n.includes(`claude-opus-4`)||n.includes(`claude-sonnet-4`)}function di(e){let t=Q(e),n=k();return n===`foundry`?!0:n===`firstParty`?!t.includes(`claude-3-`):t.includes(`claude-opus-4`)||t.includes(`claude-sonnet-4`)||t.includes(`claude-haiku-4`)}function fi(e){let t=Q(e),n=k();return n!==`firstParty`&&n!==`foundry`?!1:t.includes(`claude-sonnet-4-6`)||t.includes(`claude-sonnet-4-5`)||t.includes(`claude-opus-4-1`)||t.includes(`claude-opus-4-5`)||t.includes(`claude-opus-4-6`)||t.includes(`claude-opus-4-7`)||t.includes(`claude-haiku-4-5`)}function pi(e){return!0}function mi(){return(k()===`firstParty`||k()===`foundry`)&&!s(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)&&Mt()}function hi(){return k()===`firstParty`&&!s(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)}function gi(e,t){let n=[...bi(e)];t?.isAgenticQuery&&(n.includes(`claude-code-20250219`)||n.push(sr));let r=ve();return!r||r.length===0?n:[...n,...r.filter(e=>!n.includes(e))]}function _i(){yi.cache?.clear?.(),bi.cache?.clear?.(),xi.cache?.clear?.()}var vi,yi,bi,xi,Si=e((()=>{i(),m(),br(),O(),G(),ri(),c(),rc(),si(),A(),x(),vi=[lr],yi=r(e=>{let t=[],n=Q(e).includes(`haiku`);k();let r=mi();n||t.push(sr),R()&&t.push(ct),F(e)&&t.push(lr),!s(process.env.DISABLE_INTERLEAVED_THINKING)&&ui(e)&&t.push(cr),r&&ui(e)&&!h()&&Be().showThinkingSummaries!==!0&&t.push(gr);let i=s(process.env.USE_API_CONTEXT_MANAGEMENT)||di(e),a=di(e);return mi()&&(i||a)&&t.push(ur),r&&fi(e),r&&t.push(mr),process.env.ANTHROPIC_BETAS&&t.push(...process.env.ANTHROPIC_BETAS.split(`,`).map(e=>e.trim()).filter(Boolean)),t}),bi=r(e=>{let t=yi(e);return k()===`bedrock`?t.filter(e=>!vr.has(e)):t}),xi=r(e=>yi(e).filter(e=>vr.has(e)))}));function Ci(e,t){return{name:`${e.name}-with-${t.name}-fallback`,read(){return e.read()??(t.read()||{})},async readAsync(){return await e.readAsync()??(await t.readAsync()||{})},update(n){let r=e.read(),i=e.update(n);if(i.success)return r===null&&t.delete(),i;let a=t.update(n);return a.success?(r!==null&&e.delete(),{success:!0,warning:a.warning}):{success:!1}},delete(){let n=e.delete(),r=t.delete();return n||r}}}var wi=e((()=>{}));async function Ti(){try{let e=M(Yn),{stdout:t,code:n}=await Ze(`security`,[`find-generic-password`,`-a`,qn(),`-w`,`-s`,e],{useCwd:!1,preserveOutputOnError:!1});if(n===0&&t)return je(t.trim())}catch{}return null}function Ei(){if(ki!==void 0)return ki;if(process.platform!==`darwin`)return ki=!1,!1;try{ki=Xe(`security`,[`show-keychain-info`],{reject:!1,stdio:[`ignore`,`pipe`,`pipe`]}).exitCode===36}catch{ki=!1}return ki}var Di,Oi,ki,Ai=e((()=>{Ke(),v(),Ye(),Ge(),Re(),Xn(),Di=4032,Oi={name:`keychain`,read(){let e=P.cache;if(Date.now()-e.cachedAt<3e4)return e.data;try{let e=M(Yn),t=qe(`security find-generic-password -a "${qn()}" -w -s "${e}"`);if(t){let e=je(t);return P.cache={data:e,cachedAt:Date.now()},e}}catch{}return e.data===null?(P.cache={data:null,cachedAt:Date.now()},null):(_(`[keychain] read failed; serving stale cache`,{level:`warn`}),P.cache={data:e.data,cachedAt:Date.now()},e.data)},async readAsync(){let e=P.cache;if(Date.now()-e.cachedAt<3e4)return e.data;if(P.readInFlight)return P.readInFlight;let t=P.generation,n=Ti().then(n=>{if(t===P.generation){n===null&&e.data!==null&&_(`[keychain] readAsync failed; serving stale cache`,{level:`warn`});let t=n??e.data;return P.cache={data:t,cachedAt:Date.now()},P.readInFlight=null,t}return n});return P.readInFlight=n,n},update(e){N();try{let t=M(Yn),n=qn(),r=De(e),i=Buffer.from(r,`utf-8`).toString(`hex`),a=`add-generic-password -U -a "${n}" -s "${t}" -X "${i}"\n`,o;return a.length<=Di?o=Xe(`security`,[`-i`],{input:a,stdio:[`pipe`,`pipe`,`pipe`],reject:!1}):(_(`Keychain payload (${r.length}B JSON) exceeds security -i stdin limit; using argv`,{level:`warn`}),o=Xe(`security`,[`add-generic-password`,`-U`,`-a`,n,`-s`,t,`-X`,i],{stdio:[`ignore`,`pipe`,`pipe`],reject:!1})),o.exitCode===0?(P.cache={data:e,cachedAt:Date.now()},{success:!0}):{success:!1}}catch{return{success:!1}}},delete(){N();try{let e=M(Yn);return qe(`security delete-generic-password -a "${qn()}" -s "${e}"`),!0}catch{return!1}}}}));function ji(){let e=o();return{storageDir:e,storagePath:vt(e,`.credentials.json`)}}var Mi,Ni=e((()=>{c(),Ae(),Pe(),Re(),Mi={name:`plaintext`,read(){let{storagePath:e}=ji();try{return je(Le().readFileSync(e,{encoding:`utf8`}))}catch{return null}},async readAsync(){let{storagePath:e}=ji();try{return je(await Le().readFile(e,{encoding:`utf8`}))}catch{return null}},update(e){try{let{storageDir:t,storagePath:n}=ji();try{Le().mkdirSync(t)}catch(e){if(Oe(e)!==`EEXIST`)throw e}return Me(n,De(e),{encoding:`utf8`,flush:!1}),yt(n,384),{success:!0,warning:`Warning: Storing credentials in plaintext.`}}catch{return{success:!1}}},delete(){let{storagePath:e}=ji();try{return Le().unlinkSync(e),!0}catch(e){return Oe(e)===`ENOENT`}}}}));function Pi(){return process.platform===`darwin`?Ci(Oi,Mi):Mi}var Fi=e((()=>{wi(),Ai(),Ni()}));function Ii(e){return new Promise(t=>{kt(`security`,[`find-generic-password`,`-a`,qn(),`-w`,`-s`,e],{encoding:`utf-8`,timeout:Vi},(e,n)=>{t({stdout:e?null:n?.trim()||null,timedOut:!!(e&&`killed`in e&&e.killed)})})})}function Li(){if(process.platform!==`darwin`||Ui||l())return;let e=Ii(M(Yn)),t=Ii(M());Ui=Promise.all([e,t]).then(([e,t])=>{e.timedOut||Jn(e.stdout),t.timedOut||(Hi={stdout:t.stdout})})}async function Ri(){Ui&&await Ui}function zi(){return Hi}function Bi(){Hi=null}var Vi,Hi,Ui,Wi=e((()=>{c(),Xn(),Vi=1e4,Hi=null,Ui=null}));function Gi(e,t,n){return new Promise((r,i)=>{if(t?.aborted){n?.throwOnAbort||n?.abortError?i(n.abortError?.()??Error(`aborted`)):r();return}let a=setTimeout((e,t,n)=>{e?.removeEventListener(`abort`,t),n()},e,t,o,r);function o(){clearTimeout(a),n?.throwOnAbort||n?.abortError?i(n.abortError?.()??Error(`aborted`)):r()}t?.addEventListener(`abort`,o,{once:!0}),n?.unref&&a.unref()})}var Ki=e((()=>{}));function qi(){return Yi}function Ji(){Yi.clear()}var Yi,Xi=e((()=>{Yi=new Map})),Zi=n({calculateApiKeyHelperTTL:()=>ca,checkAndRefreshOAuthTokenIfNeeded:()=>za,checkGcpCredentialsValid:()=>Sa,clearApiKeyHelperCache:()=>ma,clearAwsCredentialsCache:()=>ya,clearGcpCredentialsCache:()=>Ta,clearOAuthTokenCache:()=>Pa,getAccountInformation:()=>ao,getAnthropicApiKey:()=>ea,getAnthropicApiKeyWithSource:()=>na,getApiKeyFromApiKeyHelper:()=>ua,getApiKeyFromApiKeyHelperCached:()=>pa,getApiKeyFromConfigOrMacOSKeychain:()=>ho,getApiKeyHelperElapsedMs:()=>la,getAuthTokenSource:()=>$i,getClaudeAIOAuthTokens:()=>W,getClaudeAIOAuthTokensAsync:()=>Ra,getConfiguredApiKeyHelper:()=>L,getOauthAccountInfo:()=>Ua,getOtelHeadersFromHelper:()=>no,getRateLimitTier:()=>Za,getSubscriptionName:()=>Qa,getSubscriptionType:()=>z,handleOAuth401Error:()=>Ia,hasAnthropicApiKeyAuth:()=>ta,hasOpusAccess:()=>Ga,hasProfileScope:()=>Va,is1PApiCustomer:()=>Ha,isAnthropicAuthEnabled:()=>I,isAwsAuthRefreshFromProjectSettings:()=>aa,isAwsCredentialExportFromProjectSettings:()=>sa,isClaudeAISubscriber:()=>R,isConsumerSubscriber:()=>io,isCustomApiKeyApproved:()=>Aa,isEnterpriseSubscriber:()=>Ya,isGcpAuthRefreshFromProjectSettings:()=>xa,isMaxSubscriber:()=>Ka,isOtelHeadersHelperFromProjectOrLocalSettings:()=>to,isOverageProvisioningAllowed:()=>Wa,isProSubscriber:()=>Xa,isTeamPremiumSubscriber:()=>Ja,isTeamSubscriber:()=>qa,isUsing3PServices:()=>$a,prefetchApiKeyFromApiKeyHelperIfSafe:()=>ha,prefetchAwsCredentialsAndBedRockInfoIfSafe:()=>Da,prefetchGcpCredentialsIfSafe:()=>Ea,refreshAndGetAwsCredentials:()=>U,refreshAwsAuth:()=>_a,refreshGcpAuth:()=>wa,refreshGcpCredentialsIfNeeded:()=>mo,removeApiKey:()=>ja,saveApiKey:()=>ka,saveOAuthTokensIfNeeded:()=>Na,validateForceLoginOrg:()=>oo});function Qi(){return s(process.env.CLAUDE_CODE_REMOTE)||process.env.CLAUDE_CODE_ENTRYPOINT===`claude-desktop`}function I(){if(l())return!1;if(process.env.ANTHROPIC_UNIX_SOCKET)return!!process.env.CLAUDE_CODE_OAUTH_TOKEN;let e=b()||{},t=s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||e.modelType===`openai`||e.modelType===`gemini`||!!process.env.OPENAI_BASE_URL||!!process.env.GEMINI_BASE_URL,n=e.apiKeyHelper,r=process.env.ANTHROPIC_AUTH_TOKEN||n||process.env.CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR,{source:i}=na({skipRetrievingKeyFromApiKeyHelper:!0}),a=i===`ANTHROPIC_API_KEY`||i===`apiKeyHelper`;return!(t||r&&!Qi()||a&&!Qi())}function $i(){if(l())return L()?{source:`apiKeyHelper`,hasToken:!0}:{source:`none`,hasToken:!1};if(process.env.ANTHROPIC_AUTH_TOKEN&&!Qi())return{source:`ANTHROPIC_AUTH_TOKEN`,hasToken:!0};if(process.env.CLAUDE_CODE_OAUTH_TOKEN)return{source:`CLAUDE_CODE_OAUTH_TOKEN`,hasToken:!0};if(Bn())return process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR?{source:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,hasToken:!0}:{source:`CCR_OAUTH_TOKEN_FILE`,hasToken:!0};if(L()&&!Qi())return{source:`apiKeyHelper`,hasToken:!0};let e=W();return wn(e?.scopes)&&e?.accessToken?{source:`claude.ai`,hasToken:!0}:{source:`none`,hasToken:!1}}function ea(){let{key:e}=na();return e}function ta(){let{key:e,source:t}=na({skipRetrievingKeyFromApiKeyHelper:!0});return e!==null&&t!==`none`}function na(e={}){if(l())return process.env.ANTHROPIC_API_KEY?{key:process.env.ANTHROPIC_API_KEY,source:`ANTHROPIC_API_KEY`}:L()?{key:e.skipRetrievingKeyFromApiKeyHelper?null:pa(),source:`apiKeyHelper`}:{key:null,source:`none`};let t=a()?void 0:process.env.ANTHROPIC_API_KEY;if(_e()&&t)return{key:t,source:`ANTHROPIC_API_KEY`};if(s(process.env.CI)){let e=Vn();if(e)return{key:e,source:`ANTHROPIC_API_KEY`};if(!t&&!process.env.CLAUDE_CODE_OAUTH_TOKEN&&!process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR)throw Error(`ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN env var is required`);return t?{key:t,source:`ANTHROPIC_API_KEY`}:{key:null,source:`none`}}if(t&&S().customApiKeyResponses?.approved?.includes(Qn(t)))return{key:t,source:`ANTHROPIC_API_KEY`};let n=Vn();return n?{key:n,source:`ANTHROPIC_API_KEY`}:L()?e.skipRetrievingKeyFromApiKeyHelper?{key:null,source:`apiKeyHelper`}:{key:pa(),source:`apiKeyHelper`}:ho()||{key:null,source:`none`}}function L(){return l()?y(`flagSettings`)?.apiKeyHelper:(b()||{}).apiKeyHelper}function ra(){let e=L();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.apiKeyHelper===e||n?.apiKeyHelper===e}function ia(){return(b()||{}).awsAuthRefresh}function aa(){let e=ia();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.awsAuthRefresh===e||n?.awsAuthRefresh===e}function oa(){return(b()||{}).awsCredentialExport}function sa(){let e=oa();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.awsCredentialExport===e||n?.awsCredentialExport===e}function ca(){let e=process.env.CLAUDE_CODE_API_KEY_HELPER_TTL_MS;if(e){let t=parseInt(e,10);if(!Number.isNaN(t)&&t>=0)return t;_(`Found CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var, but it was not a valid number. Got ${e}`,{level:`error`})}return so}function la(){let e=V?.startedAt;return e?Date.now()-e:0}async function ua(e){if(!L())return null;let t=ca();return B?(Date.now()-B.timestamp<t||V||(V={promise:da(e,!1,H),startedAt:null}),B.value):(V||(V={promise:da(e,!0,H),startedAt:Date.now()}),V.promise)}async function da(e,t,n){try{let t=await fa(e);return n===H&&t!==null&&(B={value:t,timestamp:Date.now()}),t}catch(e){if(n!==H)return` `;let r=e instanceof Error?e.message:String(e);return console.error(ne.red(`apiKeyHelper failed: ${r}`)),_(`Error getting API key from apiKeyHelper: ${r}`,{level:`error`}),!t&&B&&B.value!==` `?(B={...B,timestamp:Date.now()},B.value):(B={value:` `,timestamp:Date.now()},` `)}finally{n===H&&(V=null)}}async function fa(e){let t=L();if(!t)return null;if(ra()&&!C()&&!e)return Ie(`apiKeyHelper invoked before trust check`,Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_apiKeyHelper_missing_trust11`,{}),null;let n=await Je(t,{shell:!0,timeout:600*1e3,reject:!1});if(n.failed){let e=n.timedOut?`timed out`:`exited ${n.exitCode}`,t=n.stderr?.trim();throw Error(t?`${e}: ${t}`:e)}let r=n.stdout?.trim();if(!r)throw Error(`did not return a value`);return r}function pa(){return B?.value??null}function ma(){H++,B=null,V=null}function ha(e){ra()&&!C()||ua(e)}async function ga(){let e=ia();if(!e)return!1;if(aa()&&!C()&&!h())return Ie(`awsAuthRefresh invoked before trust check`,Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_awsAuthRefresh_missing_trust`,{}),!1;try{return _(`Fetching AWS caller identity for AWS auth refresh command`),await nr(),_(`Fetched AWS caller identity, skipping AWS auth refresh command`),!1}catch{return _a(e)}}function _a(e){_(`Running AWS auth refresh command`);let t=ar.getInstance();return t.startAuthentication(),new Promise(n=>{let r=Ot(e,{timeout:lo});r.stdout.on(`data`,e=>{let n=e.toString().trim();n&&(t.addOutput(n),_(n,{level:`debug`}))}),r.stderr.on(`data`,e=>{let n=e.toString().trim();n&&(t.setError(n),_(n,{level:`error`}))}),r.on(`close`,(e,r)=>{if(e===0)_(`AWS auth refresh completed successfully`),t.endAuthentication(!0),n(!0);else{let e=r===`SIGTERM`?ne.red(`AWS auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.`):ne.red(`Error running awsAuthRefresh (in settings or ~/.workmate.json):`);console.error(e),t.endAuthentication(!1),n(!1)}})})}async function va(){let e=oa();if(!e)return null;if(sa()&&!C()&&!h())return Ie(`awsCredentialExport invoked before trust check`,Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_awsCredentialExport_missing_trust`,{}),null;try{return _(`Fetching AWS caller identity for credential export command`),await nr(),_(`Fetched AWS caller identity, skipping AWS credential export command`),null}catch{try{_(`Running AWS credential export command`);let t=await Je(e,{shell:!0,reject:!1});if(t.exitCode!==0||!t.stdout)throw Error(`awsCredentialExport did not return a valid value`);let n=je(t.stdout.trim());if(!tr(n))throw Error(`awsCredentialExport did not return valid AWS STS output structure`);return _(`AWS credentials retrieved from awsCredentialExport`),{accessKeyId:n.Credentials.AccessKeyId,secretAccessKey:n.Credentials.SecretAccessKey,sessionToken:n.Credentials.SessionToken}}catch(e){let t=ne.red(`Error getting AWS credentials from awsCredentialExport (in settings or ~/.workmate.json):`);return e instanceof Error?console.error(t,e.message):console.error(t,e),null}}}function ya(){U.cache.clear()}function ba(){return(b()||{}).gcpAuthRefresh}function xa(){let e=ba();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.gcpAuthRefresh===e||n?.gcpAuthRefresh===e}async function Sa(){try{let{GoogleAuth:e}=await import(`./src-CiJCsqUl.js`).then(e=>t(e.default,1)),n=new e({scopes:[`https://www.googleapis.com/auth/cloud-platform`]}),r=(async()=>{await(await n.getClient()).getAccessToken()})(),i=Gi(uo).then(()=>{throw new So(`GCP credentials check timed out`)});return await Promise.race([r,i]),!0}catch{return!1}}async function Ca(){let e=ba();if(!e)return!1;if(xa()&&!C()&&!h())return Ie(`gcpAuthRefresh invoked before trust check`,Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in .`)),E(`tengu_gcpAuthRefresh_missing_trust`,{}),!1;try{if(_(`Checking GCP credentials validity for auth refresh`),await Sa())return _(`GCP credentials are valid, skipping auth refresh command`),!1}catch{}return wa(e)}function wa(e){_(`Running GCP auth refresh command`);let t=ar.getInstance();return t.startAuthentication(),new Promise(n=>{let r=Ot(e,{timeout:po});r.stdout.on(`data`,e=>{let n=e.toString().trim();n&&(t.addOutput(n),_(n,{level:`debug`}))}),r.stderr.on(`data`,e=>{let n=e.toString().trim();n&&(t.setError(n),_(n,{level:`error`}))}),r.on(`close`,(e,r)=>{if(e===0)_(`GCP auth refresh completed successfully`),t.endAuthentication(!0),n(!0);else{let e=r===`SIGTERM`?ne.red(`GCP auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.`):ne.red(`Error running gcpAuthRefresh (in settings or ~/.workmate.json):`);console.error(e),t.endAuthentication(!1),n(!1)}})})}function Ta(){mo.cache.clear()}function Ea(){ba()&&(xa()&&!C()&&!h()||mo())}function Da(){let e=ia(),t=oa();!e&&!t||(aa()||sa())&&!C()&&!h()||(U(),j())}function Oa(e){return/^[a-zA-Z0-9-_]+$/.test(e)}async function ka(e){if(!Oa(e))throw Error(`Invalid API key format. API key must contain only alphanumeric characters, dashes, and underscores.`);await Ma();let t=!1;if(process.platform===`darwin`)try{let n=M();await Je(`security`,[`-i`],{input:`add-generic-password -U -a "${qn()}" -s "${n}" -X "${Buffer.from(e,`utf-8`).toString(`hex`)}"\n`,reject:!1}),E(`tengu_api_key_saved_to_keychain`,{}),t=!0}catch(e){T(e),E(`tengu_api_key_keychain_error`,{error:g(e)}),E(`tengu_api_key_saved_to_config`,{})}else E(`tengu_api_key_saved_to_config`,{});let n=Qn(e);w(r=>{let i=r.customApiKeyResponses?.approved??[];return{...r,primaryApiKey:t?r.primaryApiKey:e,customApiKeyResponses:{...r.customApiKeyResponses,approved:i.includes(n)?i:[...i,n],rejected:r.customApiKeyResponses?.rejected??[]}}}),ho.cache.clear?.(),Bi()}function Aa(e){let t=S(),n=Qn(e);return t.customApiKeyResponses?.approved?.includes(n)??!1}async function ja(){await Ma(),w(e=>({...e,primaryApiKey:void 0})),ho.cache.clear?.(),Bi()}async function Ma(){try{await Zn()}catch(e){T(e)}}function Na(e){if(!wn(e.scopes))return E(`tengu_oauth_tokens_not_claude_ai`,{}),{success:!0};if(!e.refreshToken||!e.expiresAt)return E(`tengu_oauth_tokens_inference_only`,{}),{success:!0};let t=Pi(),n=t.name;try{let r=t.read()||{},i=r.claudeAiOauth;r.claudeAiOauth={accessToken:e.accessToken,refreshToken:e.refreshToken,expiresAt:e.expiresAt,scopes:e.scopes,subscriptionType:e.subscriptionType??i?.subscriptionType??null,rateLimitTier:e.rateLimitTier??i?.rateLimitTier??null};let a=t.update(r);return a.success?E(`tengu_oauth_tokens_saved`,{storageBackend:n}):E(`tengu_oauth_tokens_save_failed`,{storageBackend:n}),W.cache?.clear?.(),_i(),Ji(),a}catch(e){return T(e),E(`tengu_oauth_tokens_save_exception`,{storageBackend:n,error:g(e)}),{success:!1,warning:`Failed to save OAuth tokens`}}}function Pa(){W.cache?.clear?.(),N()}async function Fa(){try{let{mtimeMs:e}=await Et(vt(o(),`.credentials.json`));e!==go&&(go=e,Pa())}catch{W.cache?.clear?.()}}function Ia(e){let t=_o.get(e);if(t)return t;let n=La(e).finally(()=>{_o.delete(e)});return _o.set(e,n),n}async function La(e){Pa();let t=await Ra();return t?.refreshToken?t.accessToken===e?za(0,!0):(E(`tengu_oauth_401_recovered_from_keychain`,{}),!0):!1}async function Ra(){if(l())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN||Bn())return W();try{let e=(await Pi().readAsync())?.claudeAiOauth;return e?.accessToken?e:null}catch(e){return T(e),null}}function za(e=0,t=!1){return e===0&&!t?vo||(vo=Ba(e,t).finally(()=>{vo=null}),vo):Ba(e,t)}async function Ba(e,t){await Fa();let n=W();if(!t&&(!n?.refreshToken||!jn(n.expiresAt))||!n?.refreshToken||!wn(n.scopes))return!1;W.cache?.clear?.(),N();let r=await Ra();if(!r?.refreshToken||!jn(r.expiresAt))return!1;let i=o();await Tt(i,{recursive:!0});let a;try{E(`tengu_oauth_token_refresh_lock_acquiring`,{}),a=await He(i),E(`tengu_oauth_token_refresh_lock_acquired`,{})}catch(n){return n.code===`ELOCKED`?e<5?(E(`tengu_oauth_token_refresh_lock_retry`,{retryCount:e+1}),await Gi(1e3+Math.random()*1e3),Ba(e+1,t)):(E(`tengu_oauth_token_refresh_lock_retry_limit_reached`,{maxRetries:5}),!1):(T(n),E(`tengu_oauth_token_refresh_lock_error`,{error:g(n)}),!1)}try{W.cache?.clear?.(),N();let e=await Ra();return!e?.refreshToken||!jn(e.expiresAt)?(E(`tengu_oauth_token_refresh_race_resolved`,{}),!1):(E(`tengu_oauth_token_refresh_starting`,{}),Na(await On(e.refreshToken,{scopes:wn(e.scopes)?void 0:e.scopes})),W.cache?.clear?.(),N(),!0)}catch(e){T(e),W.cache?.clear?.(),N();let t=await Ra();return t&&!jn(t.expiresAt)?(E(`tengu_oauth_token_refresh_race_recovered`,{}),!0):!1}finally{E(`tengu_oauth_token_refresh_lock_releasing`,{}),await a(),E(`tengu_oauth_token_refresh_lock_released`,{})}}function R(){return I()?wn(W()?.scopes):!1}function Va(){return W()?.scopes?.includes(`user:profile`)??!1}function Ha(){return!(s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||R())}function Ua(){return I()?S().oauthAccount:void 0}function Wa(){let e=Ua()?.billingType;return!(!R()||!e||e!==`stripe_subscription`&&e!==`stripe_subscription_contracted`&&e!==`apple_subscription`&&e!==`google_play_subscription`)}function Ga(){let e=z();return e===`max`||e===`enterprise`||e===`team`||e===`pro`||e===null}function z(){if(!I())return null;let e=W();return e?e.subscriptionType??null:null}function Ka(){return z()===`max`}function qa(){return z()===`team`}function Ja(){return z()===`team`&&Za()===`default_claude_max_5x`}function Ya(){return z()===`enterprise`}function Xa(){return z()===`pro`}function Za(){if(!I())return null;let e=W();return e?e.rateLimitTier??null:null}function Qa(){switch(z()){case`enterprise`:return`Work Mate Enterprise`;case`team`:return`Work Mate Team`;case`max`:return`Claude Max`;case`pro`:return`Claude Pro`;default:return`Work Mate API`}}function $a(){return!!(s(process.env.CLAUDE_CODE_USE_BEDROCK)||s(process.env.CLAUDE_CODE_USE_VERTEX)||s(process.env.CLAUDE_CODE_USE_FOUNDRY)||s(process.env.CLAUDE_CODE_USE_OPENAI)||s(process.env.CLAUDE_CODE_USE_GEMINI)||s(process.env.CLAUDE_CODE_USE_GROK))}function eo(){return(b()||{}).otelHeadersHelper}function to(){let e=eo();if(!e)return!1;let t=y(`projectSettings`),n=y(`localSettings`);return t?.otelHeadersHelper===e||n?.otelHeadersHelper===e}function no(){let e=eo();if(!e)return{};let t=parseInt(process.env.CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS||xo.toString(),10);if(yo&&Date.now()-bo<t)return yo;if(to()&&!C())return{};try{let t=qe(e,{timeout:3e4})?.toString().trim();if(!t)throw Error(`otelHeadersHelper did not return a valid value`);let n=je(t);if(typeof n!=`object`||!n||Array.isArray(n))throw Error(`otelHeadersHelper must return a JSON object with string key-value pairs`);for(let[e,t]of Object.entries(n))if(typeof t!=`string`)throw Error(`otelHeadersHelper returned non-string value for key "${e}": ${typeof t}`);return yo=n,bo=Date.now(),yo}catch(e){throw T(Error(`Error getting OpenTelemetry headers from otelHeadersHelper (in settings): ${g(e)}`)),e}}function ro(e){return e===`max`||e===`pro`}function io(){let e=z();return R()&&e!==null&&ro(e)}function ao(){if(k()!==`firstParty`)return;let{source:e}=$i(),t={};e===`CLAUDE_CODE_OAUTH_TOKEN`||e===`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`?t.tokenSource=e:R()?t.subscription=Qa():t.tokenSource=e;let{key:n,source:r}=na();if(n&&(t.apiKeySource=r),e===`claude.ai`||r===`/login managed key`){let e=Ua()?.organizationName;e&&(t.organization=e)}let i=Ua()?.emailAddress;return(e===`claude.ai`||r===`/login managed key`)&&i&&(t.email=i),t}async function oo(){if(process.env.ANTHROPIC_UNIX_SOCKET||!I())return{valid:!0};let e=y(`policySettings`)?.forceLoginOrgUUID;if(!e)return{valid:!0};await za();let t=W();if(!t)return{valid:!0};let{source:n}=$i(),r=n===`CLAUDE_CODE_OAUTH_TOKEN`||n===`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`,i=await Sn(t.accessToken);if(!i)return{valid:!1,message:`Unable to verify organization for the current authentication token.\nThis machine requires organization ${e} but the profile could not be fetched.\nThis may be a network error, or the token may lack the user:profile scope required for\nverification.\nTry again, or obtain a full-scope token.`};let a=i.organization.uuid;return a===e?{valid:!0}:r?{valid:!1,message:`The ${n===`CLAUDE_CODE_OAUTH_TOKEN`?`CLAUDE_CODE_OAUTH_TOKEN`:`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR`} environment variable provides a token for a\ndifferent organization than required by this machine's managed settings.\n\nRequired organization: ${e}\nToken organization: ${a}\n\nRemove the environment variable or obtain a token for the correct organization.`}:{valid:!1,message:`Your authentication token belongs to organization ${a},\nbut this machine requires organization ${e}.\n\nAuthentication token belongs to the wrong organization.`}}var so,B,V,H,co,lo,U,uo,fo,po,mo,ho,W,go,_o,vo,yo,bo,xo,So,G=e((()=>{re(),Ke(),i(),O(),at(),bn(),A(),m(),In(),Cn(),Kn(),$n(),ir(),or(),Si(),We(),v(),c(),Ae(),Ye(),Ue(),et(),nt(),Fi(),Wi(),Xn(),x(),Ki(),Re(),Xi(),so=300*1e3,B=null,V=null,H=0,co=3600*1e3,lo=180*1e3,U=tt(async()=>{let e=await ga(),t=await va();return(e||t)&&await rr(),t},co),uo=5e3,fo=3600*1e3,po=180*1e3,mo=tt(async()=>await Ca(),fo),ho=r(()=>{if(l())return null;if(process.platform===`darwin`){let e=zi();if(e){if(e.stdout)return{key:e.stdout,source:`/login managed key`}}else{let e=M();try{let t=qe(`security find-generic-password -a $USER -w -s "${e}"`);if(t)return{key:t,source:`/login managed key`}}catch(e){T(e)}}}let e=S();return e.primaryApiKey?{key:e.primaryApiKey,source:`/login managed key`}:null}),W=r(()=>{if(l())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN)return{accessToken:process.env.CLAUDE_CODE_OAUTH_TOKEN,refreshToken:null,expiresAt:null,scopes:[`user:inference`],subscriptionType:null,rateLimitTier:null};let e=Bn();if(e)return{accessToken:e,refreshToken:null,expiresAt:null,scopes:[`user:inference`],subscriptionType:null,rateLimitTier:null};try{let e=Pi().read()?.claudeAiOauth;return e?.accessToken?e:null}catch(e){return T(e),null}}),go=0,_o=new Map,vo=null,yo=null,bo=0,xo=1740*1e3,So=class extends Error{}}));function K(){return!s(process.env.CLAUDE_CODE_DISABLE_FAST_MODE)}function Co(){return K()?To()===null:!1}function wo(e,t){switch(e){case`free`:return t===`oauth`?`Fast mode requires a paid subscription`:`Fast mode unavailable during evaluation. Please purchase credits.`;case`preference`:return`Fast mode has been disabled by your organization`;case`extra_usage_disabled`:return`Fast mode requires extra usage billing · enable it at claude.ai/settings/usage`;case`network_error`:return`Fast mode unavailable due to network connectivity issues`;case`unknown`:return`Fast mode is currently unavailable`}}function To(){if(!K())return`Fast mode is not available`;if(ut(),h()&&_e()&&!y(`flagSettings`)?.fastMode){let e=`Fast mode is not available in the Agent SDK`;return _(`Fast mode unavailable: ${e}`),e}if(k()!==`firstParty`){let e=`Fast mode is not available on Bedrock, Vertex, or Foundry`;return _(`Fast mode unavailable: ${e}`),e}if(J.status===`disabled`){if((J.reason===`network_error`||J.reason===`unknown`)&&s(process.env.CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS))return null;let e=W()===null?`api-key`:`oauth`,t=wo(J.reason,e);return _(`Fast mode unavailable: ${t}`),t}return null}function Eo(){return`opus${Ks()?`[1m]`:``}`}function Do(e){if(!K()||!Co()||!Oo(e))return!1;let t=Be();return!t.fastModePerSessionOptIn&&t.fastMode===!0}function Oo(e){if(!K())return!1;let t=$(e??Vs());return t.toLowerCase().includes(`opus-4-7`)||t.toLowerCase().includes(`opus-4-6`)}function ko(){return q.status===`cooldown`&&Date.now()>=q.resetAt&&(K()&&!Ho&&(_(`Fast mode cooldown expired, re-enabling fast mode`),Ho=!0,Wo.emit()),q={status:`active`}),q}function Ao(e,t){if(!K())return;q={status:`cooldown`,resetAt:e,reason:t},Ho=!1;let n=e-Date.now();_(`Fast mode cooldown triggered (${t}), duration ${Math.round(n/1e3)}s`),E(`tengu_fast_mode_fallback_triggered`,{cooldown_duration_ms:n,cooldown_reason:t}),Uo.emit(e,t)}function jo(){q={status:`active`}}function Mo(){J.status!==`disabled`&&(J={status:`disabled`,reason:`preference`},Ve(`userSettings`,{fastMode:void 0}),w(e=>({...e,penguinModeOrgEnabled:!1})),Yo.emit(!1))}function No(e){switch(e){case`out_of_credits`:return`Fast mode disabled · extra usage credits exhausted`;case`org_level_disabled`:case`org_service_level_disabled`:return`Fast mode disabled · extra usage disabled by your organization`;case`org_level_disabled_until`:return`Fast mode disabled · extra usage spending cap reached`;case`member_level_disabled`:return`Fast mode disabled · extra usage disabled for your account`;case`seat_tier_level_disabled`:case`seat_tier_zero_credit_limit`:case`member_zero_credit_limit`:return`Fast mode disabled · extra usage not available for your plan`;case`overage_not_provisioned`:case`no_limits_configured`:return`Fast mode requires extra usage billing · enable it at claude.ai/settings/usage`;default:return`Fast mode disabled · extra usage not available`}}function Po(e){return e===`org_level_disabled_until`||e===`out_of_credits`}function Fo(e){let t=No(e);_(`Fast mode overage rejection: ${e??`unknown`} — ${t}`),E(`tengu_fast_mode_overage_rejected`,{overage_disabled_reason:e??`unknown`}),Po(e)||(Ve(`userSettings`,{fastMode:void 0}),w(e=>({...e,penguinModeOrgEnabled:!1}))),qo.emit(t)}function Io(){return ko().status===`cooldown`}function Lo(e,t){let n=K()&&Co()&&!!t&&Oo(e);return n&&Io()?`cooldown`:n?`on`:`off`}async function Ro(e){let t=`${D().BASE_API_URL}/api/claude_code_penguin_mode`,n=`accessToken`in e?{Authorization:`Bearer ${e.accessToken}`,"anthropic-beta":ct}:{"x-api-key":e.apiKey};return(await f.get(t,{headers:n})).data}function zo(){K()&&J.status===`pending`&&(J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`unknown`})}async function Bo(){if($e()||!K())return;if($o)return _(`Fast mode prefetch in progress, returning in-flight promise`),$o;let e=ea();if(!(W()?.accessToken&&Va())&&!e){J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`preference`};return}let t=Date.now();if(t-Qo<Zo){_(`Skipping fast mode prefetch, fetched recently`);return}Qo=t;let n=async()=>{let t=W(),n=t?.accessToken&&Va()?{accessToken:t.accessToken}:e?{apiKey:e}:null;if(!n)throw Error(`No auth available`);return Ro(n)};async function r(){try{let e;try{e=await n()}catch(t){if(f.isAxiosError(t)&&(t.response?.status===401||t.response?.status===403&&typeof t.response?.data==`string`&&t.response.data.includes(`OAuth token has been revoked`))){let r=W()?.accessToken;if(r)await Ia(r),e=await n();else throw t}else throw t}let t=J.status===`pending`?S().penguinModeOrgEnabled:J.status===`enabled`;J=e.enabled?{status:`enabled`}:{status:`disabled`,reason:e.disabled_reason??`preference`},t!==e.enabled&&(e.enabled||Ve(`userSettings`,{fastMode:void 0}),w(t=>({...t,penguinModeOrgEnabled:e.enabled})),Yo.emit(e.enabled)),_(`Org fast mode: ${e.enabled?`enabled`:`disabled (${e.disabled_reason??`preference`})`}`)}catch(e){J=S().penguinModeOrgEnabled===!0?{status:`enabled`}:{status:`disabled`,reason:`network_error`},_(`Failed to fetch org fast mode status, defaulting to ${J.status===`enabled`?`enabled (cached)`:`disabled (network_error)`}: ${e}`,{level:`error`}),E(`tengu_org_penguin_mode_fetch_failed`,{})}finally{$o=null}}return $o=r(),$o}var Vo,q,Ho,Uo,Wo,Go,Ko,qo,Jo,J,Yo,Xo,Zo,Qo,$o,es=e((()=>{p(),O(),m(),at(),G(),dt(),We(),v(),c(),rc(),A(),Qe(),x(),Se(),Vo=`Opus 4.7`,q={status:`active`},Ho=!1,Uo=ye(),Wo=ye(),Go=Uo.subscribe,Ko=Wo.subscribe,qo=ye(),Jo=qo.subscribe,J={status:`pending`},Yo=ye(),Xo=Yo.subscribe,Zo=3e4,Qo=0,$o=null}));function ts(e){return K()&&e?ds:us}function ns(e,t){return t.input_tokens/1e6*e.inputTokens+t.output_tokens/1e6*e.outputTokens+(t.cache_read_input_tokens??0)/1e6*e.promptCacheReadTokens+(t.cache_creation_input_tokens??0)/1e6*e.promptCacheWriteTokens+(t.server_tool_use?.web_search_requests??0)*e.webSearchRequests}function rs(e,t){let n=Q(e);return n===Z(on.firstParty)?ts(t.speed===`fast`):hs[n]||(is(e,n),hs[Q(Vs())]??ms)}function is(e,t){E(`tengu_unknown_model_cost`,{model:e,shortName:t}),Ce()}function as(e,t){return ns(rs(e,t),t)}function os(e,t){return as(e,{input_tokens:t.inputTokens,output_tokens:t.outputTokens,cache_read_input_tokens:t.cacheReadInputTokens,cache_creation_input_tokens:t.cacheCreationInputTokens})}function ss(e){return Number.isInteger(e)?`$${e}`:`$${e.toFixed(2)}`}function cs(e){return`${ss(e.inputTokens)}/${ss(e.outputTokens)} per Mtok`}var Y,ls,us,ds,fs,ps,ms,hs,gs=e((()=>{at(),m(),es(),dn(),rc(),Y={inputTokens:3,outputTokens:15,promptCacheWriteTokens:3.75,promptCacheReadTokens:.3,webSearchRequests:.01},ls={inputTokens:15,outputTokens:75,promptCacheWriteTokens:18.75,promptCacheReadTokens:1.5,webSearchRequests:.01},us={inputTokens:5,outputTokens:25,promptCacheWriteTokens:6.25,promptCacheReadTokens:.5,webSearchRequests:.01},ds={inputTokens:30,outputTokens:150,promptCacheWriteTokens:37.5,promptCacheReadTokens:3,webSearchRequests:.01},fs={inputTokens:.8,outputTokens:4,promptCacheWriteTokens:1,promptCacheReadTokens:.08,webSearchRequests:.01},ps={inputTokens:1,outputTokens:5,promptCacheWriteTokens:1.25,promptCacheReadTokens:.1,webSearchRequests:.01},ms=us,hs={[Z(Qt.firstParty)]:fs,[Z($t.firstParty)]:ps,[Z(Zt.firstParty)]:Y,[Z(Xt.firstParty)]:Y,[Z(en.firstParty)]:Y,[Z(tn.firstParty)]:Y,[Z(cn.firstParty)]:Y,[Z(nn.firstParty)]:ls,[Z(rn.firstParty)]:ls,[Z(an.firstParty)]:us,[Z(on.firstParty)]:us}}));function X(e){return vs.includes(e)}function _s(e){return ys.includes(e)}var vs,ys,bs=e((()=>{vs=[`sonnet`,`opus`,`haiku`,`best`,`sonnet[1m]`,`opus[1m]`,`opusplan`],ys=[`sonnet`,`opus`,`haiku`]}));function xs(e,t){return e.includes(t)?!0:X(e)?$(e).toLowerCase().includes(t):!1}function Ss(e,t){return e.startsWith(t)?e.length===t.length||e[t.length]===`-`:!1}function Cs(e,t){let n=X(e)?$(e).toLowerCase():e;return!!(Ss(n,t)||!t.startsWith(`claude-`)&&Ss(n,`claude-${t}`))}function ws(e,t){for(let n of t){if(_s(n))continue;let t=n.indexOf(e);if(t===-1)continue;let r=t+e.length;if(r===n.length||n[r]===`-`)return!0}return!1}function Ts(e){let{availableModels:t}=b()||{};if(!t)return!0;if(t.length===0)return!1;let n=hn(e).trim().toLowerCase(),r=t.map(e=>e.trim().toLowerCase());if(r.includes(n)&&(!_s(n)||!ws(n,r)))return!0;for(let e of r)if(_s(e)&&!ws(e,r)&&xs(n,e))return!0;if(X(n)){let e=$(n).toLowerCase();if(r.includes(e))return!0}for(let e of r)if(!_s(e)&&X(e)&&$(e).toLowerCase()===n)return!0;for(let e of r)if(!_s(e)&&!X(e)&&Cs(n,e))return!0;return!1}var Es=e((()=>{x(),bs(),rc(),bn()}));function Ds(){return process.env.OPENAI_AUTH_MODE===`chatgpt`}var Os,ks,As=e((()=>{Os=`gpt-5.5`,ks=`gpt-5.4-mini`}));function js(){let e=k();return e===`openai`&&Ds()?process.env.OPENAI_SMALL_FAST_MODEL??`gpt-5.4-mini`:e===`openai`&&process.env.OPENAI_SMALL_FAST_MODEL?process.env.OPENAI_SMALL_FAST_MODEL:e===`gemini`&&process.env.GEMINI_SMALL_FAST_MODEL?process.env.GEMINI_SMALL_FAST_MODEL:process.env.ANTHROPIC_SMALL_FAST_MODEL||zs()}function Ms(e){return e===j().opus40||e===j().opus41||e===j().opus45||e===j().opus46||e===j().opus47}function Ns(){let e,t=me();if(t!==void 0)e=t;else{let t=b()||{};e=process.env.ANTHROPIC_MODEL||t.model||void 0}if(!(e&&!Ts(e)))return e}function Ps(){let e=Ns();return e==null?Hs():$(e)}function Fs(){return Ls()}function Is(){let e=k();if(e===`openai`)return process.env.OPENAI_MODEL;if(e===`gemini`)return process.env.GEMINI_MODEL;if(e===`grok`)return process.env.GROK_MODEL}function Ls(){let e=k();return e===`openai`&&Ds()?Os:e===`openai`&&process.env.OPENAI_DEFAULT_OPUS_MODEL?process.env.OPENAI_DEFAULT_OPUS_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_OPUS_MODEL?process.env.GEMINI_DEFAULT_OPUS_MODEL:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL?process.env.ANTHROPIC_DEFAULT_OPUS_MODEL:Is()||j().opus47}function Rs(){let e=k();return e===`openai`&&Ds()?Os:e===`openai`&&process.env.OPENAI_DEFAULT_SONNET_MODEL?process.env.OPENAI_DEFAULT_SONNET_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_SONNET_MODEL?process.env.GEMINI_DEFAULT_SONNET_MODEL:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL?process.env.ANTHROPIC_DEFAULT_SONNET_MODEL:Is()||(e===`firstParty`?j().sonnet46:j().sonnet45)}function zs(){let e=k();return e===`openai`&&Ds()?ks:e===`openai`&&process.env.OPENAI_DEFAULT_HAIKU_MODEL?process.env.OPENAI_DEFAULT_HAIKU_MODEL:e===`gemini`&&process.env.GEMINI_DEFAULT_HAIKU_MODEL?process.env.GEMINI_DEFAULT_HAIKU_MODEL:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL?process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL:Is()||j().haiku45}function Bs(e){let{permissionMode:t,mainLoopModel:n,exceeds200kTokens:r=!1}=e;return Ns()===`opusplan`&&t===`plan`&&!r?Ls():Ns()===`haiku`&&t===`plan`?Rs():n}function Vs(){return Ka()||Ja()?Ls()+(Ks()?`[1m]`:``):Rs()}function Hs(){return $(Vs())}function Z(e){if(e=e.toLowerCase(),e.includes(`claude-opus-4-7`))return`claude-opus-4-7`;if(e.includes(`claude-opus-4-6`))return`claude-opus-4-6`;if(e.includes(`claude-opus-4-5`))return`claude-opus-4-5`;if(e.includes(`claude-opus-4-1`))return`claude-opus-4-1`;if(e.includes(`claude-opus-4`))return`claude-opus-4`;if(e.includes(`claude-sonnet-4-6`))return`claude-sonnet-4-6`;if(e.includes(`claude-sonnet-4-5`))return`claude-sonnet-4-5`;if(e.includes(`claude-sonnet-4`))return`claude-sonnet-4`;if(e.includes(`claude-haiku-4-5`))return`claude-haiku-4-5`;if(e.includes(`claude-3-7-sonnet`))return`claude-3-7-sonnet`;if(e.includes(`claude-3-5-sonnet`))return`claude-3-5-sonnet`;if(e.includes(`claude-3-5-haiku`))return`claude-3-5-haiku`;if(e.includes(`claude-3-opus`))return`claude-3-opus`;if(e.includes(`claude-3-sonnet`))return`claude-3-sonnet`;if(e.includes(`claude-3-haiku`))return`claude-3-haiku`;let t=e.match(/(claude-(\d+-\d+-)?\w+)/);return t?.[1]?t[1]:e}function Q(e){return Z(hn(e))}function Us(e=!1){return Ka()||Ja()?Ks()?`Opus 4.7 with 1M context · Most capable for complex work${e?Gs(!0):``}`:`Opus 4.7 · Most capable for complex work${e?Gs(!0):``}`:`Sonnet 4.6 · Best for everyday tasks`}function Ws(e){return e===`opusplan`?`Opus 4.7 in plan mode, else Sonnet 4.6`:Ys($(e))}function Gs(e){if(k()!==`firstParty`)return``;let t=cs(ts(e));return` ·${e?` (↯)`:``} ${t}`}function Ks(){return!(Gr()||Xa()||k()!==`firstParty`||!Mt()||R()&&z()===null)}function qs(e){return e===`opusplan`?`Opus Plan`:X(e)?ft(e):Ys(e)}function Js(e){switch(e){case j().opus47:return`Opus 4.7`;case`${j().opus47}[1m]`:return`Opus 4.7 (1M context)`;case j().opus46:return`Opus 4.6`;case`${j().opus46}[1m]`:return`Opus 4.6 (1M context)`;case j().opus45:return`Opus 4.5`;case j().opus41:return`Opus 4.1`;case j().opus40:return`Opus 4`;case`${j().sonnet46}[1m]`:return`Sonnet 4.6 (1M context)`;case j().sonnet46:return`Sonnet 4.6`;case`${j().sonnet45}[1m]`:return`Sonnet 4.5 (1M context)`;case j().sonnet45:return`Sonnet 4.5`;case j().sonnet40:return`Sonnet 4`;case`${j().sonnet40}[1m]`:return`Sonnet 4 (1M context)`;case j().sonnet37:return`Sonnet 3.7`;case j().sonnet35:return`Sonnet 3.5`;case j().haiku45:return`Haiku 4.5`;case j().haiku35:return`Haiku 3.5`;default:return null}}function Ys(e){return Js(e)||e}function $(e){let t=e.trim(),n=t.toLowerCase(),r=F(n),i=r?n.replace(/\[1m]$/i,``).trim():n;if(X(i))switch(i){case`opusplan`:return Rs()+(r?`[1m]`:``);case`sonnet`:return Rs()+(r?`[1m]`:``);case`haiku`:return zs()+(r?`[1m]`:``);case`opus`:return Ls()+(r?`[1m]`:``);case`best`:return Fs();default:}return k()===`firstParty`&&Zs(i)&&Qs()?Ls()+(r?`[1m]`:``):r?`${t.replace(/\[1m\]$/i,``).trim()}[1m]`:t}function Xs(e,t){return F(e)||!F(t)?e:Kr($(e))?`${e}[1m]`:e}function Zs(e){return nc.includes(e)}function Qs(){return!s(process.env.CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP)}function $s(e){if(e===null)return R()?`Default (${Us()})`:`Default (${Hs()})`;let t=$(e);return e===t?t:`${e} (${t})`}function ec(e){if(k()===`foundry`)return;let t=e.toLowerCase().includes(`[1m]`),n=Q(e);if(n.includes(`claude-opus-4-7`))return t?`Opus 4.7 (with 1M context)`:`Opus 4.7`;if(n.includes(`claude-opus-4-6`))return t?`Opus 4.6 (with 1M context)`:`Opus 4.6`;if(n.includes(`claude-opus-4-5`))return`Opus 4.5`;if(n.includes(`claude-opus-4-1`))return`Opus 4.1`;if(n.includes(`claude-opus-4`))return`Opus 4`;if(n.includes(`claude-sonnet-4-6`))return t?`Sonnet 4.6 (with 1M context)`:`Sonnet 4.6`;if(n.includes(`claude-sonnet-4-5`))return t?`Sonnet 4.5 (with 1M context)`:`Sonnet 4.5`;if(n.includes(`claude-sonnet-4`))return t?`Sonnet 4 (with 1M context)`:`Sonnet 4`;if(n.includes(`claude-3-7-sonnet`))return`Work Mate 3.7 Sonnet`;if(n.includes(`claude-3-5-sonnet`))return`Work Mate 3.5 Sonnet`;if(n.includes(`claude-haiku-4-5`))return`Haiku 4.5`;if(n.includes(`claude-3-5-haiku`))return`Work Mate 3.5 Haiku`}function tc(e){return e.replace(/\[(1|2)m\]/gi,``)}var nc,rc=e((()=>{m(),G(),ri(),c(),bn(),gs(),x(),A(),ze(),Es(),bs(),pt(),As(),nc=[`claude-opus-4-20250514`,`claude-opus-4-1-20250805`,`claude-opus-4-0`,`claude-opus-4-1`]}));export{Ko as $,xr as $n,k as $r,Ea as $t,vs as A,oi as An,Tn as Ar,Ia as At,jo as B,ri as Bn,bn as Br,io as Bt,$ as C,gi as Cn,An as Cr,Ra as Ct,Xs as D,fi as Dn,Nn as Dr,Za as Dt,qs as E,pi as En,Mn as Er,no as Et,as as F,qr as Fn,xn as Fr,Ha as Ft,Do as G,kr as Gn,qt as Gr,to as Gt,ko as H,Wr as Hn,Vt as Hr,Ya as Ht,cs as I,Zr as In,Sn as Ir,I as It,es as J,wr as Jn,Rt as Jr,Ja as Jt,Fo as K,Pr as Kn,Yt as Kr,Wa as Kt,ts as L,Xr as Ln,Cn as Lr,aa as Lt,Y as M,ni as Mn,On as Mr,Ga as Mt,hs as N,$r as Nn,wn as Nr,Va as Nt,Es as O,mi as On,In as Or,Qa as Ot,os as P,Yr as Pn,Fn as Pr,G as Pt,Oo as Q,Sr as Qn,Pt as Qr,Da as Qt,gs as R,Jr as Rn,_n as Rr,sa as Rt,tc as S,xi as Sn,En as Sr,W as St,Ys as T,Si as Tn,kn as Tr,Ua as Tt,Lo as U,Br as Un,Kt as Ur,xa as Ut,Eo as V,Gr as Vn,Gt as Vr,Aa as Vt,To as W,Nr as Wn,Wt as Wr,Ka as Wt,Io as X,Dr as Xn,Nt as Xr,$a as Xt,Co as Y,Cr as Yn,Lt as Yr,qa as Yt,K as Z,Er as Zn,It as Zr,ha as Zt,rc as _,Fi as _n,Xn as _r,ua as _t,zs as a,ka as an,gr as ar,Ao as at,Ks as b,_i as bn,Ln as br,la as bt,Ls as c,Ji as cn,yr as cr,za as ct,ec as d,Ki as dn,or as dr,ya as dt,jt as ei,U as en,_r as er,Go as et,Gs as f,Gi as fn,ir as fr,Ta as ft,Ns as g,Pi as gn,N as gr,na as gt,js as h,Li as hn,Qn as hr,ea as ht,Us as i,ja as in,mr as ir,zo as it,bs as j,si as jn,Pn as jr,ta as jt,Ts as k,hi as kn,jn as kr,z as kt,Rs as l,qi as ln,br as lr,Sa as lt,Bs as m,Wi as mn,$n as mr,ao as mt,Fs as n,Mt as ni,wa as nn,ur as nr,Xo as nt,Hs as o,Na as on,dr as or,Zi as ot,Js as p,Ri as pn,er as pr,Pa as pt,Mo as q,Tr as qn,Ht as qr,Xa as qt,Q as r,mo as rn,hr as rr,Bo as rt,Vs as s,oo as sn,pr as sr,ca as st,Z as t,A as ti,_a as tn,lr as tr,Jo as tt,Ps as u,Xi as un,ar as ur,ma as ut,Qs as v,Ai as vn,Gn as vr,pa as vt,Ws as w,bi as wn,Dn as wr,L as wt,$s as x,li as xn,Rn as xr,$i as xt,Ms as y,Ei as yn,Kn as yr,ho as yt,Vo as z,F as zn,j as zr,R as zt};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{F as t,Wt as n}from"./state-BPFYBqm1.js";import{f as r,g as i}from"./settings-CvhsRFaT.js";import{c as a,h as o}from"./config-BSkuQZNf.js";import{$r as s,I as c,M as l,O as u,Pt as d,R as f,_ as p,g as m,i as h,k as g,s as _,ti as v,w as y,zt as b}from"./model-sviY1inu.js";function x(e=!1){if(b())return{value:null,label:`Default (recommended)`,description:h(e)};let t=s()!==`firstParty`;return{value:null,label:`Default (recommended)`,description:`Use the default model (currently ${y(_())})${t?``:` · ${c(l)}`}`}}function S(e=!1){let n=[x(e)],r=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;r&&!n.some(e=>e.value===r)&&n.push({value:r,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??r,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Custom model (${r})`});for(let e of a().additionalModelOptionsCache??[])n.some(t=>t.value===e.value)||n.push(e);let i=null,o=m(),s=t();return o==null?s!==null&&(i=s):i=o,i!==null&&!n.some(e=>e.value===i)&&n.push({value:i,label:i,description:`Custom model`}),C(n)}function C(e){return(r()||{}).availableModels?e.filter(e=>e.value===null||e.value!==null&&g(e.value)):e}function w(e,t){return e.length===0?null:C([x(t),...e])}var T=e((()=>{n(),o(),d(),f(),i(),u(),p(),v()}));export{S as n,T as r,w as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{F as t,Wt as n}from"./state-BPFYBqm1.js";import{f as r,g as i}from"./settings-CvhsRFaT.js";import{c as a,h as o}from"./config-BSkuQZNf.js";import{$r as s,I as c,M as l,O as u,Pt as d,R as f,_ as p,g as m,i as h,k as g,s as _,ti as v,w as y,zt as b}from"./model-DlLO7TSx.js";function x(e=!1){if(b())return{value:null,label:`Default (recommended)`,description:h(e)};let t=s()!==`firstParty`;return{value:null,label:`Default (recommended)`,description:`Use the default model (currently ${y(_())})${t?``:` · ${c(l)}`}`}}function S(e=!1){let n=[x(e)],r=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;r&&!n.some(e=>e.value===r)&&n.push({value:r,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??r,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Custom model (${r})`});for(let e of a().additionalModelOptionsCache??[])n.some(t=>t.value===e.value)||n.push(e);let i=null,o=m(),s=t();return o==null?s!==null&&(i=s):i=o,i!==null&&!n.some(e=>e.value===i)&&n.push({value:i,label:i,description:`Custom model`}),C(n)}function C(e){return(r()||{}).availableModels?e.filter(e=>e.value===null||e.value!==null&&g(e.value)):e}function w(e,t){return e.length===0?null:C([x(t),...e])}var T=e((()=>{n(),o(),d(),f(),i(),u(),p(),v()}));export{S as n,T as r,w as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{l as t,o as n}from"./envUtils-DcaKZlRU.js";import{n as r,t as i}from"./axios-DaWTGg7G.js";import{B as a,F as o,P as s,R as c,U as l,c as u,f as d,i as f,nt as p,tt as ee,u as te,x as ne}from"./debug-BQj6h99Q.js";import{Kt as re,Yt as ie}from"./settings-CvhsRFaT.js";import{C as m,S as ae,c as oe,h as se,x as ce,y as le}from"./config-BSkuQZNf.js";import{n as h,r as g}from"./execFileNoThrow-DYm1GeGn.js";import{o as _,s as v}from"./log-BlJ7CcKG.js";import{n as y,r as b}from"./analytics-DJobLaWP.js";import{dn as x,fn as ue}from"./model-sviY1inu.js";import{_t as de,gt as fe,vt as pe}from"./sessionState-BTFowSpR.js";import{ft as me,ut as he}from"./esm-BI3tFLyy.js";import{C as ge,E as _e,S as ve,T as ye,_ as be,a as S,b as xe,c as Se,d as Ce,f as we,g as Te,i as Ee,l as De,m as Oe,n as ke,o as C,p as Ae,s as je,t as Me,u as Ne,v as Pe,w as Fe,x as w,y as Ie}from"./pidLock-DuMVSwnN.js";import{homedir as T}from"os";import{basename as Le,delimiter as Re,dirname as E,join as D,resolve as O}from"path";import{constants as ze}from"fs";import{createHash as Be}from"crypto";import{access as k,chmod as A,copyFile as j,mkdir as M,readdir as N,readlink as P,rename as F,rm as I,rmdir as Ve,stat as L,symlink as He,unlink as R,writeFile as z}from"fs/promises";async function Ue(e=`latest`,t,n){let i=Date.now();try{let a=await r.get(`${t}/${e}`,{timeout:3e4,responseType:`text`,...n});return b(`tengu_version_check_success`,{latency_ms:Date.now()-i}),a.data.trim()}catch(n){let a=Date.now()-i,o=n instanceof Error?n.message:String(n),s;r.isAxiosError(n)&&n.response&&(s=n.response.status),b(`tengu_version_check_failure`,{latency_ms:a,http_status:s,is_timeout:o.includes(`timeout`)});let c=Error(`Failed to fetch version from ${t}/${e}: ${o}`);throw v(c),c}}async function We(e){if(/^v?\d+\.\d+\.\d+(-\S+)?$/.test(e)){let t=e.startsWith(`v`)?e.slice(1):e;if(/^99\.99\./.test(t))throw Error(`Version ${t} is not available for installation. Use 'stable' or 'latest'.`);return t}let t=e;if(t!==`stable`&&t!==`latest`)throw Error(`Invalid channel: ${e}. Use 'stable' or 'latest'`);return Ue(t,B)}function Ge(){return Number(process.env.CLAUDE_CODE_STALL_TIMEOUT_MS_FOR_TESTING)||V}async function Ke(e,t,n,i={}){let a;for(let o=1;o<=3;o++){let s=new AbortController,c,d=()=>{c&&(clearTimeout(c),c=void 0)},f=()=>{d(),c=setTimeout(e=>e.abort(),Ge(),s)};try{f();let a=await r.get(e,{timeout:5*6e4,responseType:`arraybuffer`,signal:s.signal,onDownloadProgress:()=>{f()},...i});d();let o=Be(`sha256`);o.update(a.data);let c=o.digest(`hex`);if(c!==t)throw Error(`Checksum mismatch: expected ${t}, got ${c}`);await z(n,Buffer.from(a.data)),await A(n,493);return}catch(e){d();let t=r.isCancel(e);if(a=t?new H:l(e),t&&o<3){u(`Download stalled on attempt ${o}/3, retrying...`),await ue(1e3);continue}throw a}}throw a??Error(`Download failed after all retries`)}async function qe(e,t,n,i){let a=te();await a.rm(t,{recursive:!0,force:!0});let o=U(),s=Date.now();b(`tengu_binary_download_attempt`,{});let c;try{c=(await r.get(`${n}/${e}/manifest.json`,{timeout:1e4,responseType:`json`,...i})).data}catch(t){let i=Date.now()-s,a=t instanceof Error?t.message:String(t),o;throw r.isAxiosError(t)&&t.response&&(o=t.response.status),b(`tengu_binary_manifest_fetch_failure`,{latency_ms:i,http_status:o,is_timeout:a.includes(`timeout`)}),v(Error(`Failed to fetch manifest from ${n}/${e}/manifest.json: ${a}`)),t}let l=c.platforms[o];if(!l)throw b(`tengu_binary_platform_not_found`,{}),Error(`Platform ${o} not found in manifest for version ${e}`);let u=l.checksum,d=W(o),f=`${n}/${e}/${o}/${d}`;await a.mkdir(t);let p=D(t,d);try{await Ke(f,u,p,i||{}),b(`tengu_binary_download_success`,{latency_ms:Date.now()-s})}catch(e){let t=Date.now()-s,n=e instanceof Error?e.message:String(e),i;throw r.isAxiosError(e)&&e.response&&(i=e.response.status),b(`tengu_binary_download_failure`,{latency_ms:t,http_status:i,is_timeout:n.includes(`timeout`),is_checksum_mismatch:n.includes(`Checksum mismatch`)}),v(Error(`Failed to download binary from ${f}: ${n}`)),e}}async function Je(e,t){return await qe(e,t,B),`binary`}var B,V,H,Ye=e((()=>{i(),y(),f(),c(),g(),d(),_(),x(),ne(),$(),B=`https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases`,V=6e4,H=class extends Error{constructor(){super(`Download stalled: no data received for 60 seconds`),this.name=`StallTimeoutError`}}}));function U(){let e=re.platform,t=process.arch===`x64`?`x64`:process.arch===`arm64`?`arm64`:null;if(!t){let e=Error(`Unsupported architecture: ${process.arch}`);throw u(`Native installer does not support architecture: ${process.arch}`,{level:`error`}),e}return e===`linux`&&he.isMuslEnvironment()?`linux-${t}-musl`:`${e}-${t}`}function W(e){return e.startsWith(`win32`)?`claude.exe`:`claude`}function G(){let e=W(U());return{versions:D(Ce(),`claude`,`versions`),staging:D(Ne(),`claude`,`staging`),locks:D(we(),`claude`,`locks`),executable:D(De(),e)}}async function K(e){try{let t=await L(e);return!t.isFile()||t.size===0?!1:(await k(e,ze.X_OK),!0)}catch{return!1}}async function q(e){let t=G(),n=[t.versions,t.staging,t.locks];await Promise.all(n.map(e=>M(e,{recursive:!0}))),await M(E(t.executable),{recursive:!0});let r=D(t.versions,e);try{await L(r)}catch{await z(r,``,{encoding:`utf8`})}return{stagingPath:D(t.staging,e),installPath:r}}async function Xe(e,t,n=0){let r=G(),i=J(r,e);if(await M(r.locks,{recursive:!0}),C()){let r=0,a=n+1,o=n>0?1e3:100,s=n>0?5e3:500;for(;r<a;){if(await Se(e,i,async()=>{try{await t()}catch(e){throw v(e),e}}))return b(`tengu_version_lock_acquired`,{is_pid_based:!0,is_lifetime_lock:!1,attempts:r+1}),!0;r++,r<a&&await ue(Math.min(o*2**(r-1),s))}return b(`tengu_version_lock_failed`,{is_pid_based:!0,is_lifetime_lock:!1,attempts:a}),Y(e,Error(`Lock held by another process`)),!1}let a=null;try{try{a=await m(e,{stale:Z,retries:{retries:n,minTimeout:n>0?1e3:100,maxTimeout:n>0?5e3:500},lockfilePath:i,onCompromised:e=>{u(`NON-FATAL: Version lock was compromised during operation: ${e.message}`,{level:`info`})}})}catch(t){return b(`tengu_version_lock_failed`,{is_pid_based:!1,is_lifetime_lock:!1}),Y(e,t),!1}try{return await t(),b(`tengu_version_lock_acquired`,{is_pid_based:!1,is_lifetime_lock:!1}),!0}catch(e){throw v(e),e}}finally{a&&await a()}}async function Ze(e,t){await M(E(t),{recursive:!0});let n=`${t}.tmp.${process.pid}.${Date.now()}`;try{await j(e,n),await A(n,493),await F(n,t),u(`Atomically installed binary to ${t}`)}catch(e){try{await R(n)}catch{}throw e}}async function Qe(e,t){try{let n=D(e,`node_modules`,`@anthropic-ai`),r=(await N(n)).find(e=>e.startsWith(`claude-cli-native-`));if(!r)throw b(`tengu_native_install_package_failure`,{stage_find_package:!0,error_package_not_found:!0}),Error(`Could not find platform-specific native package`);let i=D(n,r,`cli`);try{await L(i)}catch{throw b(`tengu_native_install_package_failure`,{stage_binary_exists:!0,error_binary_not_found:!0}),Error(`Native binary not found in staged package`)}await Ze(i,t),await I(e,{recursive:!0,force:!0}),b(`tengu_native_install_package_success`,{})}catch(e){let t=s(e);throw!t.includes(`Could not find platform-specific`)&&!t.includes(`Native binary not found`)&&b(`tengu_native_install_package_failure`,{stage_atomic_move:!0,error_move_failed:!0}),v(l(e)),e}}async function $e(e,t){try{let n=D(e,W(U()));try{await L(n)}catch{throw b(`tengu_native_install_binary_failure`,{stage_binary_exists:!0,error_binary_not_found:!0}),Error(`Staged binary not found`)}await Ze(n,t),await I(e,{recursive:!0,force:!0}),b(`tengu_native_install_binary_success`,{})}catch(e){throw s(e).includes(`Staged binary not found`)||b(`tengu_native_install_binary_failure`,{stage_atomic_move:!0,error_move_failed:!0}),v(l(e)),e}}async function et(e,t,n){n===`npm`?await Qe(e,t):await $e(e,t)}async function tt(e,n){let{stagingPath:r,installPath:i}=await q(e),{executable:a}=G(),o=t(process.env.ENABLE_LOCKLESS_UPDATES)?`${r}.${process.pid}.${Date.now()}`:r,s=!await nt(e)||n;if(s?(u(n?`Force reinstalling native installer version ${e}`:`Downloading native installer version ${e}`),await et(o,i,await Je(e,o))):u(`Version ${e} already installed, updating symlink`),await it(a),await at(a,i),!await K(a)){let e=!1;try{await L(i),e=!0}catch{}throw Error(`Failed to create executable at ${a}. Source file exists: ${e}. Check write permissions to ${a}.`)}return s}async function nt(e){let{installPath:t}=await q(e);return K(t)}async function rt(e,n=!1){let r=Date.now(),i=await We(e),{executable:a}=G();if(u(`Checking for native installer update to version ${i}`),!n){let e=await be();if(e&&fe(i,e)){if(u(`Native installer: maxVersion ${e} is set, capping update from ${i} to ${e}`),de(`0.0.16`,e))return u(`Native installer: current version 0.0.16 is already at or above maxVersion ${e}, skipping update`),b(`tengu_native_update_skipped_max_version`,{latency_ms:Date.now()-r,max_version:e,available_version:i}),{success:!0,latestVersion:i};i=e}}if(!n&&i===`0.0.16`&&await nt(i)&&await K(a))return u(`Found ${i} at ${a}, skipping install`),b(`tengu_native_update_complete`,{latency_ms:Date.now()-r,was_new_install:!1,was_force_reinstall:!1,was_already_running:!0}),{success:!0,latestVersion:i};if(!n&&Ie(i))return b(`tengu_native_update_skipped_minimum_version`,{latency_ms:Date.now()-r,target_version:i}),{success:!0,latestVersion:i};let o=!1,s;if(t(process.env.ENABLE_LOCKLESS_UPDATES))o=await tt(i,n),s=Date.now()-r;else{let{installPath:e}=await q(i);n&&await dt(e);let t=await Xe(e,async()=>{o=await tt(i,n)},3);if(s=Date.now()-r,!t){let t=G(),n;if(C()){let r=J(t,e);S(r)&&(n=je(r)?.pid)}return b(`tengu_native_update_lock_failed`,{latency_ms:s,lock_holder_pid:n}),{success:!1,latestVersion:i,lockFailed:!0,lockHolderPid:n}}}return b(`tengu_native_update_complete`,{latency_ms:s,was_new_install:o,was_force_reinstall:n}),u(`Successfully updated to version ${i}`),{success:!0,latestVersion:i}}async function it(e){try{await Ve(e),u(`Removed empty directory at ${e}`)}catch(t){let n=o(t);n!==`ENOTDIR`&&n!==`ENOENT`&&n!==`ENOTEMPTY`&&u(`Could not remove directory at ${e}: ${t}`)}}async function at(e,t){if(U().startsWith(`win32`))try{await M(E(e),{recursive:!0});let n;try{n=await L(e)}catch{}if(n){try{let e=await L(t);if(n.size===e.size)return!1}catch{}let r=`${e}.old.${Date.now()}`;await F(e,r);try{await j(t,e);try{await R(r)}catch{}}catch(t){try{await F(r,e)}catch(e){let n=Error(`Failed to restore old executable: ${e}`,{cause:t});throw v(n),n}throw t}}else try{await j(t,e)}catch(e){throw a(e)?Error(`Source file does not exist: ${t}`):e}return!0}catch(n){return v(Error(`Failed to copy executable from ${t} to ${e}: ${n}`)),!1}let n=E(e);try{await M(n,{recursive:!0}),u(`Created directory ${n} for symlink`)}catch(e){return v(Error(`Failed to create directory ${n}: ${e}`)),!1}try{let n=!1;try{await L(e),n=!0}catch{}if(n){try{let n=await P(e);if(O(E(e),n)===O(t))return!1}catch{}await R(e)}}catch(e){v(Error(`Failed to check/remove existing symlink: ${e}`))}let r=`${e}.tmp.${process.pid}.${Date.now()}`;try{return await He(t,r),await F(r,e),u(`Atomically updated symlink ${e} -> ${t}`),!0}catch(n){try{await R(r)}catch{}return v(Error(`Failed to create symlink from ${e} to ${t}: ${n}`)),!1}}async function ot(e=!1){if(t(process.env.DISABLE_INSTALLATION_CHECKS))return[];let n=await Oe();if(n===`development`||!(e||n===`native`))return[];let r=G(),i=[],o=E(r.executable),s=O(o),c=U().startsWith(`win32`);try{await k(o)}catch{i.push({message:`installMethod is native, but directory ${o} does not exist`,userActionRequired:!0,type:`error`})}if(c)await K(r.executable)||i.push({message:`installMethod is native, but claude command is missing or invalid at ${r.executable}`,userActionRequired:!0,type:`error`});else try{let e=await P(r.executable);await K(O(E(r.executable),e))||i.push({message:`Work Mate symlink points to missing or invalid binary: ${e}`,userActionRequired:!0,type:`error`})}catch(e){a(e)?i.push({message:`installMethod is native, but claude command not found at ${r.executable}`,userActionRequired:!0,type:`error`}):await K(r.executable)||i.push({message:`${r.executable} exists but is not a valid Work Mate binary`,userActionRequired:!0,type:`error`})}if(!(process.env.PATH||``).split(Re).some(e=>{try{let t=O(e);return c?t.toLowerCase()===s.toLowerCase():t===s}catch{return!1}}))if(c){let e=o.replace(/\//g,`\\`);i.push({message:`Native installation exists but ${e} is not in your PATH. Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.`,userActionRequired:!0,type:`path`})}else{let e=ye(),t=w()[e],n=t?t.replace(T(),`~`):`your shell config file`;i.push({message:`Native installation exists but ~/.local/bin is not in your PATH. Run:\n\necho 'export PATH="$HOME/.local/bin:$PATH"' >> ${n} && source ${n}`,userActionRequired:!0,type:`path`})}return i}function st(e,t=!1){if(t)return ct(e,t);if(Q)return u(`installLatest: joining in-flight call`),Q;let n=ct(e,t);Q=n;let r=()=>{Q=null};return n.then(r,r),n}async function ct(e,t=!1){let n=await rt(e,t);return n.success?(oe().installMethod!==`native`&&(le(e=>({...e,installMethod:`native`,autoUpdates:!1,autoUpdatesProtectedForNative:!0})),u(`Native installer: Set installMethod to "native" and disabled legacy auto-updater for protection`)),X(),{latestVersion:n.latestVersion,wasUpdated:n.success,lockFailed:!1}):{latestVersion:null,wasUpdated:!1,lockFailed:n.lockFailed,lockHolderPid:n.lockHolderPid}}async function lt(e){try{let t=await P(e),n=O(E(e),t);if(await K(n))return n}catch{}return null}function J(e,t){let n=Le(t);return D(e.locks,`${n}.lock`)}async function ut(){let e=G();if(!process.execPath.includes(e.versions))return;let t=O(process.execPath);try{let n=J(e,t);if(await M(e.locks,{recursive:!0}),C()){if(!await Me(t,n)){b(`tengu_version_lock_failed`,{is_pid_based:!0,is_lifetime_lock:!0}),Y(t,Error(`Lock already held by another process`));return}b(`tengu_version_lock_acquired`,{is_pid_based:!0,is_lifetime_lock:!0}),u(`Acquired PID lock on running version: ${t}`)}else{let e;try{e=await m(t,{stale:Z,retries:0,lockfilePath:n,onCompromised:e=>{u(`NON-FATAL: Lock on running version was compromised: ${e.message}`,{level:`info`})}}),b(`tengu_version_lock_acquired`,{is_pid_based:!1,is_lifetime_lock:!0}),u(`Acquired mtime-based lock on running version: ${t}`),p(async()=>{try{await e?.()}catch{}})}catch(e){if(a(e)){u(`Cannot lock current version - file does not exist: ${t}`,{level:`info`});return}b(`tengu_version_lock_failed`,{is_pid_based:!1,is_lifetime_lock:!0}),Y(t,e);return}}}catch(e){if(a(e)){u(`Cannot lock current version - file does not exist: ${t}`,{level:`info`});return}u(`NON-FATAL: Failed to lock current version during execution ${s(e)}`,{level:`info`})}}function Y(e,t){v(Error(`NON-FATAL: Lock acquisition failed for ${e} (expected in multi-process scenarios)`,{cause:t}))}async function dt(e){let t=J(G(),e);try{await R(t),u(`Force-removed lock file at ${t}`)}catch(e){u(`Failed to force-remove lock file: ${s(e)}`)}}async function X(){await Promise.resolve();let e=G(),t=Date.now()-36e5;if(U().startsWith(`win32`)){let t=E(e.executable);try{let e=await N(t),n=0;for(let r of e)if(/^claude\.exe\.old\.\d+$/.test(r))try{await R(D(t,r)),n++}catch{}n>0&&u(`Cleaned up ${n} old Windows executables on startup`)}catch(e){a(e)||u(`Failed to clean up old Windows executables: ${e}`)}}try{let n=await N(e.staging),r=0;for(let i of n){let n=D(e.staging,i);try{(await L(n)).mtime.getTime()<t&&(await I(n,{recursive:!0,force:!0}),r++,u(`Cleaned up old staging directory: ${i}`))}catch{}}r>0&&(u(`Cleaned up ${r} orphaned staging directories`),b(`tengu_native_staging_cleanup`,{cleaned_count:r}))}catch(e){a(e)||u(`Failed to clean up staging directories: ${e}`)}if(C()){let t=ke(e.locks);t>0&&(u(`Cleaned up ${t} stale version locks`),b(`tengu_native_stale_locks_cleanup`,{cleaned_count:t}))}let n;try{n=await N(e.versions)}catch(e){a(e)||u(`Failed to readdir versions directory: ${e}`);return}let r=[],i=0;for(let a of n){let n=D(e.versions,a);if(/\.tmp\.\d+\.\d+$/.test(a)){try{(await L(n)).mtime.getTime()<t&&(await R(n),i++,u(`Cleaned up orphaned temp install file: ${a}`))}catch{}continue}try{let e=await L(n);if(!e.isFile()||process.platform!==`win32`&&e.size>0&&!(e.mode&73))continue;r.push({name:a,path:n,resolvedPath:O(n),mtime:e.mtime})}catch{}}if(i>0&&(u(`Cleaned up ${i} orphaned temp install files`),b(`tengu_native_temp_files_cleanup`,{cleaned_count:i})),r.length!==0)try{let t=process.execPath,n=new Set;t?.includes(e.versions)&&n.add(O(t));let i=await lt(e.executable);i&&n.add(i);for(let t of r){if(n.has(t.resolvedPath))continue;let r=J(e,t.resolvedPath),i=!1;if(C())i=S(r);else try{i=await ce(t.resolvedPath,{stale:Z,lockfilePath:r})}catch{i=!1}i&&(n.add(t.resolvedPath),u(`Protecting locked version from cleanup: ${t.name}`))}let a=r.filter(e=>!n.has(e.resolvedPath)).sort((e,t)=>t.mtime.getTime()-e.mtime.getTime()).slice(2);if(a.length===0){b(`tengu_native_version_cleanup`,{total_count:r.length,deleted_count:0,protected_count:n.size,retained_count:2,lock_failed_count:0,error_count:0});return}let o=0,s=0,c=0;await Promise.all(a.map(async e=>{try{await Xe(e.path,async()=>{await R(e.path)})?o++:(s++,u(`Skipping deletion of ${e.name} - locked by another process`))}catch(t){c++,v(Error(`Failed to delete version ${e.name}: ${t}`))}})),b(`tengu_native_version_cleanup`,{total_count:r.length,deleted_count:o,protected_count:n.size,retained_count:2,lock_failed_count:s,error_count:c})}catch(e){a(e)||v(Error(`Version cleanup failed: ${e}`))}}async function ft(){let e=[],t=w();for(let[n,r]of Object.entries(t))try{let t=await ge(r);if(!t)continue;let{filtered:i,hadAlias:a}=xe(t);a&&(await Fe(r,i),e.push({message:`Removed claude alias from ${r}. Run: unalias claude`,userActionRequired:!0,type:`alias`}),u(`Cleaned up claude alias from ${n} config`))}catch(t){v(t),e.push({message:`Failed to clean up ${r}: ${t}`,userActionRequired:!1,type:`error`})}return e}async function pt(e){try{let t=await h(`npm`,[`config`,`get`,`prefix`]);if(t.code!==0||!t.stdout)return{success:!1,error:`Failed to get npm global prefix`};let n=t.stdout.trim(),r=!1;async function i(e,t){try{return await R(e),u(`Manually removed ${t}: ${e}`),!0}catch{return!1}}if(U().startsWith(`win32`)){let e=D(n,`claude.cmd`),t=D(n,`claude.ps1`),a=D(n,`claude`);await i(e,`bin script`)&&(r=!0),await i(t,`PowerShell script`)&&(r=!0),await i(a,`bin executable`)&&(r=!0)}else await i(D(n,`bin`,`claude`),`bin symlink`)&&(r=!0);return r?(u(`Successfully removed ${e} manually`),{success:!0,warning:`${e} executables removed, but node_modules directory was left intact for safety. You may manually delete it later at: ${U().startsWith(`win32`)?D(n,`node_modules`,e):D(n,`lib`,`node_modules`,e)}`}):{success:!1}}catch(e){return u(`Manual removal failed: ${e}`,{level:`error`}),{success:!1,error:`Manual removal failed: ${e}`}}}async function mt(e){let{code:t,stderr:n}=await h(`npm`,[`uninstall`,`-g`,e],{cwd:process.cwd()});if(t===0)return u(`Removed global npm installation of ${e}`),{success:!0};if(n&&!n.includes(`npm ERR! code E404`)){if(n.includes(`npm error code ENOTEMPTY`)){u(`Failed to uninstall global npm package ${e}: ${n}`,{level:`error`}),u(`Attempting manual removal due to ENOTEMPTY error`);let t=await pt(e);if(t.success)return{success:!0,warning:t.warning};if(t.error)return{success:!1,error:`Failed to remove global npm installation of ${e}: ${n}. Manual removal also failed: ${t.error}`}}return u(`Failed to uninstall global npm package ${e}: ${n}`,{level:`error`}),{success:!1,error:`Failed to remove global npm installation of ${e}: ${n}`}}return{success:!1}}async function ht(){let e=[],t=[],n=0,r=await mt(`@anthropic-ai/workmate`);r.success?(n++,r.warning&&t.push(r.warning)):r.error&&e.push(r.error);let i=D(T(),`.workmate`,`local`);try{await I(i,{recursive:!0}),n++,u(`Removed local installation at ${i}`)}catch(t){a(t)||(e.push(`Failed to remove ${i}: ${t}`),u(`Failed to remove local installation: ${t}`,{level:`error`}))}return{removed:n,errors:e,warnings:t}}var Z,Q,$=e((()=>{y(),Pe(),ee(),se(),f(),Te(),ie(),me(),n(),c(),g(),_e(),ae(),_(),pe(),ve(),x(),Ae(),Ye(),Ee(),Z=10080*60*1e3,Q=null})),gt=e((()=>{$()}));export{ft as a,ut as c,X as i,ot as n,$ as o,ht as r,st as s,gt as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{l as t,o as n}from"./envUtils-DcaKZlRU.js";import{n as r,t as i}from"./axios-DaWTGg7G.js";import{B as a,F as o,P as s,R as c,U as l,c as u,f as d,i as f,nt as p,tt as ee,u as te,x as ne}from"./debug-BQj6h99Q.js";import{Kt as re,Yt as ie}from"./settings-CvhsRFaT.js";import{C as m,S as ae,c as oe,h as se,x as ce,y as le}from"./config-BSkuQZNf.js";import{n as h,r as g}from"./execFileNoThrow-DYm1GeGn.js";import{o as _,s as v}from"./log-BlJ7CcKG.js";import{n as y,r as b}from"./analytics-DJobLaWP.js";import{dn as x,fn as ue}from"./model-DlLO7TSx.js";import{_t as de,gt as fe,vt as pe}from"./sessionState-BlbRQ3Y6.js";import{ft as me,ut as he}from"./esm-BZciQG9N.js";import{C as ge,E as _e,S as ve,T as ye,_ as be,a as S,b as xe,c as Se,d as Ce,f as we,g as Te,i as Ee,l as De,m as Oe,n as ke,o as C,p as Ae,s as je,t as Me,u as Ne,v as Pe,w as Fe,x as w,y as Ie}from"./pidLock-Br3_YNi_.js";import{homedir as T}from"os";import{basename as Le,delimiter as Re,dirname as E,join as D,resolve as O}from"path";import{constants as ze}from"fs";import{createHash as Be}from"crypto";import{access as k,chmod as A,copyFile as j,mkdir as M,readdir as N,readlink as P,rename as F,rm as I,rmdir as Ve,stat as L,symlink as He,unlink as R,writeFile as z}from"fs/promises";async function Ue(e=`latest`,t,n){let i=Date.now();try{let a=await r.get(`${t}/${e}`,{timeout:3e4,responseType:`text`,...n});return b(`tengu_version_check_success`,{latency_ms:Date.now()-i}),a.data.trim()}catch(n){let a=Date.now()-i,o=n instanceof Error?n.message:String(n),s;r.isAxiosError(n)&&n.response&&(s=n.response.status),b(`tengu_version_check_failure`,{latency_ms:a,http_status:s,is_timeout:o.includes(`timeout`)});let c=Error(`Failed to fetch version from ${t}/${e}: ${o}`);throw v(c),c}}async function We(e){if(/^v?\d+\.\d+\.\d+(-\S+)?$/.test(e)){let t=e.startsWith(`v`)?e.slice(1):e;if(/^99\.99\./.test(t))throw Error(`Version ${t} is not available for installation. Use 'stable' or 'latest'.`);return t}let t=e;if(t!==`stable`&&t!==`latest`)throw Error(`Invalid channel: ${e}. Use 'stable' or 'latest'`);return Ue(t,B)}function Ge(){return Number(process.env.CLAUDE_CODE_STALL_TIMEOUT_MS_FOR_TESTING)||V}async function Ke(e,t,n,i={}){let a;for(let o=1;o<=3;o++){let s=new AbortController,c,d=()=>{c&&(clearTimeout(c),c=void 0)},f=()=>{d(),c=setTimeout(e=>e.abort(),Ge(),s)};try{f();let a=await r.get(e,{timeout:5*6e4,responseType:`arraybuffer`,signal:s.signal,onDownloadProgress:()=>{f()},...i});d();let o=Be(`sha256`);o.update(a.data);let c=o.digest(`hex`);if(c!==t)throw Error(`Checksum mismatch: expected ${t}, got ${c}`);await z(n,Buffer.from(a.data)),await A(n,493);return}catch(e){d();let t=r.isCancel(e);if(a=t?new H:l(e),t&&o<3){u(`Download stalled on attempt ${o}/3, retrying...`),await ue(1e3);continue}throw a}}throw a??Error(`Download failed after all retries`)}async function qe(e,t,n,i){let a=te();await a.rm(t,{recursive:!0,force:!0});let o=U(),s=Date.now();b(`tengu_binary_download_attempt`,{});let c;try{c=(await r.get(`${n}/${e}/manifest.json`,{timeout:1e4,responseType:`json`,...i})).data}catch(t){let i=Date.now()-s,a=t instanceof Error?t.message:String(t),o;throw r.isAxiosError(t)&&t.response&&(o=t.response.status),b(`tengu_binary_manifest_fetch_failure`,{latency_ms:i,http_status:o,is_timeout:a.includes(`timeout`)}),v(Error(`Failed to fetch manifest from ${n}/${e}/manifest.json: ${a}`)),t}let l=c.platforms[o];if(!l)throw b(`tengu_binary_platform_not_found`,{}),Error(`Platform ${o} not found in manifest for version ${e}`);let u=l.checksum,d=W(o),f=`${n}/${e}/${o}/${d}`;await a.mkdir(t);let p=D(t,d);try{await Ke(f,u,p,i||{}),b(`tengu_binary_download_success`,{latency_ms:Date.now()-s})}catch(e){let t=Date.now()-s,n=e instanceof Error?e.message:String(e),i;throw r.isAxiosError(e)&&e.response&&(i=e.response.status),b(`tengu_binary_download_failure`,{latency_ms:t,http_status:i,is_timeout:n.includes(`timeout`),is_checksum_mismatch:n.includes(`Checksum mismatch`)}),v(Error(`Failed to download binary from ${f}: ${n}`)),e}}async function Je(e,t){return await qe(e,t,B),`binary`}var B,V,H,Ye=e((()=>{i(),y(),f(),c(),g(),d(),_(),x(),ne(),$(),B=`https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases`,V=6e4,H=class extends Error{constructor(){super(`Download stalled: no data received for 60 seconds`),this.name=`StallTimeoutError`}}}));function U(){let e=re.platform,t=process.arch===`x64`?`x64`:process.arch===`arm64`?`arm64`:null;if(!t){let e=Error(`Unsupported architecture: ${process.arch}`);throw u(`Native installer does not support architecture: ${process.arch}`,{level:`error`}),e}return e===`linux`&&he.isMuslEnvironment()?`linux-${t}-musl`:`${e}-${t}`}function W(e){return e.startsWith(`win32`)?`claude.exe`:`claude`}function G(){let e=W(U());return{versions:D(Ce(),`claude`,`versions`),staging:D(Ne(),`claude`,`staging`),locks:D(we(),`claude`,`locks`),executable:D(De(),e)}}async function K(e){try{let t=await L(e);return!t.isFile()||t.size===0?!1:(await k(e,ze.X_OK),!0)}catch{return!1}}async function q(e){let t=G(),n=[t.versions,t.staging,t.locks];await Promise.all(n.map(e=>M(e,{recursive:!0}))),await M(E(t.executable),{recursive:!0});let r=D(t.versions,e);try{await L(r)}catch{await z(r,``,{encoding:`utf8`})}return{stagingPath:D(t.staging,e),installPath:r}}async function Xe(e,t,n=0){let r=G(),i=J(r,e);if(await M(r.locks,{recursive:!0}),C()){let r=0,a=n+1,o=n>0?1e3:100,s=n>0?5e3:500;for(;r<a;){if(await Se(e,i,async()=>{try{await t()}catch(e){throw v(e),e}}))return b(`tengu_version_lock_acquired`,{is_pid_based:!0,is_lifetime_lock:!1,attempts:r+1}),!0;r++,r<a&&await ue(Math.min(o*2**(r-1),s))}return b(`tengu_version_lock_failed`,{is_pid_based:!0,is_lifetime_lock:!1,attempts:a}),Y(e,Error(`Lock held by another process`)),!1}let a=null;try{try{a=await m(e,{stale:Z,retries:{retries:n,minTimeout:n>0?1e3:100,maxTimeout:n>0?5e3:500},lockfilePath:i,onCompromised:e=>{u(`NON-FATAL: Version lock was compromised during operation: ${e.message}`,{level:`info`})}})}catch(t){return b(`tengu_version_lock_failed`,{is_pid_based:!1,is_lifetime_lock:!1}),Y(e,t),!1}try{return await t(),b(`tengu_version_lock_acquired`,{is_pid_based:!1,is_lifetime_lock:!1}),!0}catch(e){throw v(e),e}}finally{a&&await a()}}async function Ze(e,t){await M(E(t),{recursive:!0});let n=`${t}.tmp.${process.pid}.${Date.now()}`;try{await j(e,n),await A(n,493),await F(n,t),u(`Atomically installed binary to ${t}`)}catch(e){try{await R(n)}catch{}throw e}}async function Qe(e,t){try{let n=D(e,`node_modules`,`@anthropic-ai`),r=(await N(n)).find(e=>e.startsWith(`claude-cli-native-`));if(!r)throw b(`tengu_native_install_package_failure`,{stage_find_package:!0,error_package_not_found:!0}),Error(`Could not find platform-specific native package`);let i=D(n,r,`cli`);try{await L(i)}catch{throw b(`tengu_native_install_package_failure`,{stage_binary_exists:!0,error_binary_not_found:!0}),Error(`Native binary not found in staged package`)}await Ze(i,t),await I(e,{recursive:!0,force:!0}),b(`tengu_native_install_package_success`,{})}catch(e){let t=s(e);throw!t.includes(`Could not find platform-specific`)&&!t.includes(`Native binary not found`)&&b(`tengu_native_install_package_failure`,{stage_atomic_move:!0,error_move_failed:!0}),v(l(e)),e}}async function $e(e,t){try{let n=D(e,W(U()));try{await L(n)}catch{throw b(`tengu_native_install_binary_failure`,{stage_binary_exists:!0,error_binary_not_found:!0}),Error(`Staged binary not found`)}await Ze(n,t),await I(e,{recursive:!0,force:!0}),b(`tengu_native_install_binary_success`,{})}catch(e){throw s(e).includes(`Staged binary not found`)||b(`tengu_native_install_binary_failure`,{stage_atomic_move:!0,error_move_failed:!0}),v(l(e)),e}}async function et(e,t,n){n===`npm`?await Qe(e,t):await $e(e,t)}async function tt(e,n){let{stagingPath:r,installPath:i}=await q(e),{executable:a}=G(),o=t(process.env.ENABLE_LOCKLESS_UPDATES)?`${r}.${process.pid}.${Date.now()}`:r,s=!await nt(e)||n;if(s?(u(n?`Force reinstalling native installer version ${e}`:`Downloading native installer version ${e}`),await et(o,i,await Je(e,o))):u(`Version ${e} already installed, updating symlink`),await it(a),await at(a,i),!await K(a)){let e=!1;try{await L(i),e=!0}catch{}throw Error(`Failed to create executable at ${a}. Source file exists: ${e}. Check write permissions to ${a}.`)}return s}async function nt(e){let{installPath:t}=await q(e);return K(t)}async function rt(e,n=!1){let r=Date.now(),i=await We(e),{executable:a}=G();if(u(`Checking for native installer update to version ${i}`),!n){let e=await be();if(e&&fe(i,e)){if(u(`Native installer: maxVersion ${e} is set, capping update from ${i} to ${e}`),de(`0.0.17`,e))return u(`Native installer: current version 0.0.17 is already at or above maxVersion ${e}, skipping update`),b(`tengu_native_update_skipped_max_version`,{latency_ms:Date.now()-r,max_version:e,available_version:i}),{success:!0,latestVersion:i};i=e}}if(!n&&i===`0.0.17`&&await nt(i)&&await K(a))return u(`Found ${i} at ${a}, skipping install`),b(`tengu_native_update_complete`,{latency_ms:Date.now()-r,was_new_install:!1,was_force_reinstall:!1,was_already_running:!0}),{success:!0,latestVersion:i};if(!n&&Ie(i))return b(`tengu_native_update_skipped_minimum_version`,{latency_ms:Date.now()-r,target_version:i}),{success:!0,latestVersion:i};let o=!1,s;if(t(process.env.ENABLE_LOCKLESS_UPDATES))o=await tt(i,n),s=Date.now()-r;else{let{installPath:e}=await q(i);n&&await dt(e);let t=await Xe(e,async()=>{o=await tt(i,n)},3);if(s=Date.now()-r,!t){let t=G(),n;if(C()){let r=J(t,e);S(r)&&(n=je(r)?.pid)}return b(`tengu_native_update_lock_failed`,{latency_ms:s,lock_holder_pid:n}),{success:!1,latestVersion:i,lockFailed:!0,lockHolderPid:n}}}return b(`tengu_native_update_complete`,{latency_ms:s,was_new_install:o,was_force_reinstall:n}),u(`Successfully updated to version ${i}`),{success:!0,latestVersion:i}}async function it(e){try{await Ve(e),u(`Removed empty directory at ${e}`)}catch(t){let n=o(t);n!==`ENOTDIR`&&n!==`ENOENT`&&n!==`ENOTEMPTY`&&u(`Could not remove directory at ${e}: ${t}`)}}async function at(e,t){if(U().startsWith(`win32`))try{await M(E(e),{recursive:!0});let n;try{n=await L(e)}catch{}if(n){try{let e=await L(t);if(n.size===e.size)return!1}catch{}let r=`${e}.old.${Date.now()}`;await F(e,r);try{await j(t,e);try{await R(r)}catch{}}catch(t){try{await F(r,e)}catch(e){let n=Error(`Failed to restore old executable: ${e}`,{cause:t});throw v(n),n}throw t}}else try{await j(t,e)}catch(e){throw a(e)?Error(`Source file does not exist: ${t}`):e}return!0}catch(n){return v(Error(`Failed to copy executable from ${t} to ${e}: ${n}`)),!1}let n=E(e);try{await M(n,{recursive:!0}),u(`Created directory ${n} for symlink`)}catch(e){return v(Error(`Failed to create directory ${n}: ${e}`)),!1}try{let n=!1;try{await L(e),n=!0}catch{}if(n){try{let n=await P(e);if(O(E(e),n)===O(t))return!1}catch{}await R(e)}}catch(e){v(Error(`Failed to check/remove existing symlink: ${e}`))}let r=`${e}.tmp.${process.pid}.${Date.now()}`;try{return await He(t,r),await F(r,e),u(`Atomically updated symlink ${e} -> ${t}`),!0}catch(n){try{await R(r)}catch{}return v(Error(`Failed to create symlink from ${e} to ${t}: ${n}`)),!1}}async function ot(e=!1){if(t(process.env.DISABLE_INSTALLATION_CHECKS))return[];let n=await Oe();if(n===`development`||!(e||n===`native`))return[];let r=G(),i=[],o=E(r.executable),s=O(o),c=U().startsWith(`win32`);try{await k(o)}catch{i.push({message:`installMethod is native, but directory ${o} does not exist`,userActionRequired:!0,type:`error`})}if(c)await K(r.executable)||i.push({message:`installMethod is native, but claude command is missing or invalid at ${r.executable}`,userActionRequired:!0,type:`error`});else try{let e=await P(r.executable);await K(O(E(r.executable),e))||i.push({message:`Work Mate symlink points to missing or invalid binary: ${e}`,userActionRequired:!0,type:`error`})}catch(e){a(e)?i.push({message:`installMethod is native, but claude command not found at ${r.executable}`,userActionRequired:!0,type:`error`}):await K(r.executable)||i.push({message:`${r.executable} exists but is not a valid Work Mate binary`,userActionRequired:!0,type:`error`})}if(!(process.env.PATH||``).split(Re).some(e=>{try{let t=O(e);return c?t.toLowerCase()===s.toLowerCase():t===s}catch{return!1}}))if(c){let e=o.replace(/\//g,`\\`);i.push({message:`Native installation exists but ${e} is not in your PATH. Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.`,userActionRequired:!0,type:`path`})}else{let e=ye(),t=w()[e],n=t?t.replace(T(),`~`):`your shell config file`;i.push({message:`Native installation exists but ~/.local/bin is not in your PATH. Run:\n\necho 'export PATH="$HOME/.local/bin:$PATH"' >> ${n} && source ${n}`,userActionRequired:!0,type:`path`})}return i}function st(e,t=!1){if(t)return ct(e,t);if(Q)return u(`installLatest: joining in-flight call`),Q;let n=ct(e,t);Q=n;let r=()=>{Q=null};return n.then(r,r),n}async function ct(e,t=!1){let n=await rt(e,t);return n.success?(oe().installMethod!==`native`&&(le(e=>({...e,installMethod:`native`,autoUpdates:!1,autoUpdatesProtectedForNative:!0})),u(`Native installer: Set installMethod to "native" and disabled legacy auto-updater for protection`)),X(),{latestVersion:n.latestVersion,wasUpdated:n.success,lockFailed:!1}):{latestVersion:null,wasUpdated:!1,lockFailed:n.lockFailed,lockHolderPid:n.lockHolderPid}}async function lt(e){try{let t=await P(e),n=O(E(e),t);if(await K(n))return n}catch{}return null}function J(e,t){let n=Le(t);return D(e.locks,`${n}.lock`)}async function ut(){let e=G();if(!process.execPath.includes(e.versions))return;let t=O(process.execPath);try{let n=J(e,t);if(await M(e.locks,{recursive:!0}),C()){if(!await Me(t,n)){b(`tengu_version_lock_failed`,{is_pid_based:!0,is_lifetime_lock:!0}),Y(t,Error(`Lock already held by another process`));return}b(`tengu_version_lock_acquired`,{is_pid_based:!0,is_lifetime_lock:!0}),u(`Acquired PID lock on running version: ${t}`)}else{let e;try{e=await m(t,{stale:Z,retries:0,lockfilePath:n,onCompromised:e=>{u(`NON-FATAL: Lock on running version was compromised: ${e.message}`,{level:`info`})}}),b(`tengu_version_lock_acquired`,{is_pid_based:!1,is_lifetime_lock:!0}),u(`Acquired mtime-based lock on running version: ${t}`),p(async()=>{try{await e?.()}catch{}})}catch(e){if(a(e)){u(`Cannot lock current version - file does not exist: ${t}`,{level:`info`});return}b(`tengu_version_lock_failed`,{is_pid_based:!1,is_lifetime_lock:!0}),Y(t,e);return}}}catch(e){if(a(e)){u(`Cannot lock current version - file does not exist: ${t}`,{level:`info`});return}u(`NON-FATAL: Failed to lock current version during execution ${s(e)}`,{level:`info`})}}function Y(e,t){v(Error(`NON-FATAL: Lock acquisition failed for ${e} (expected in multi-process scenarios)`,{cause:t}))}async function dt(e){let t=J(G(),e);try{await R(t),u(`Force-removed lock file at ${t}`)}catch(e){u(`Failed to force-remove lock file: ${s(e)}`)}}async function X(){await Promise.resolve();let e=G(),t=Date.now()-36e5;if(U().startsWith(`win32`)){let t=E(e.executable);try{let e=await N(t),n=0;for(let r of e)if(/^claude\.exe\.old\.\d+$/.test(r))try{await R(D(t,r)),n++}catch{}n>0&&u(`Cleaned up ${n} old Windows executables on startup`)}catch(e){a(e)||u(`Failed to clean up old Windows executables: ${e}`)}}try{let n=await N(e.staging),r=0;for(let i of n){let n=D(e.staging,i);try{(await L(n)).mtime.getTime()<t&&(await I(n,{recursive:!0,force:!0}),r++,u(`Cleaned up old staging directory: ${i}`))}catch{}}r>0&&(u(`Cleaned up ${r} orphaned staging directories`),b(`tengu_native_staging_cleanup`,{cleaned_count:r}))}catch(e){a(e)||u(`Failed to clean up staging directories: ${e}`)}if(C()){let t=ke(e.locks);t>0&&(u(`Cleaned up ${t} stale version locks`),b(`tengu_native_stale_locks_cleanup`,{cleaned_count:t}))}let n;try{n=await N(e.versions)}catch(e){a(e)||u(`Failed to readdir versions directory: ${e}`);return}let r=[],i=0;for(let a of n){let n=D(e.versions,a);if(/\.tmp\.\d+\.\d+$/.test(a)){try{(await L(n)).mtime.getTime()<t&&(await R(n),i++,u(`Cleaned up orphaned temp install file: ${a}`))}catch{}continue}try{let e=await L(n);if(!e.isFile()||process.platform!==`win32`&&e.size>0&&!(e.mode&73))continue;r.push({name:a,path:n,resolvedPath:O(n),mtime:e.mtime})}catch{}}if(i>0&&(u(`Cleaned up ${i} orphaned temp install files`),b(`tengu_native_temp_files_cleanup`,{cleaned_count:i})),r.length!==0)try{let t=process.execPath,n=new Set;t?.includes(e.versions)&&n.add(O(t));let i=await lt(e.executable);i&&n.add(i);for(let t of r){if(n.has(t.resolvedPath))continue;let r=J(e,t.resolvedPath),i=!1;if(C())i=S(r);else try{i=await ce(t.resolvedPath,{stale:Z,lockfilePath:r})}catch{i=!1}i&&(n.add(t.resolvedPath),u(`Protecting locked version from cleanup: ${t.name}`))}let a=r.filter(e=>!n.has(e.resolvedPath)).sort((e,t)=>t.mtime.getTime()-e.mtime.getTime()).slice(2);if(a.length===0){b(`tengu_native_version_cleanup`,{total_count:r.length,deleted_count:0,protected_count:n.size,retained_count:2,lock_failed_count:0,error_count:0});return}let o=0,s=0,c=0;await Promise.all(a.map(async e=>{try{await Xe(e.path,async()=>{await R(e.path)})?o++:(s++,u(`Skipping deletion of ${e.name} - locked by another process`))}catch(t){c++,v(Error(`Failed to delete version ${e.name}: ${t}`))}})),b(`tengu_native_version_cleanup`,{total_count:r.length,deleted_count:o,protected_count:n.size,retained_count:2,lock_failed_count:s,error_count:c})}catch(e){a(e)||v(Error(`Version cleanup failed: ${e}`))}}async function ft(){let e=[],t=w();for(let[n,r]of Object.entries(t))try{let t=await ge(r);if(!t)continue;let{filtered:i,hadAlias:a}=xe(t);a&&(await Fe(r,i),e.push({message:`Removed claude alias from ${r}. Run: unalias claude`,userActionRequired:!0,type:`alias`}),u(`Cleaned up claude alias from ${n} config`))}catch(t){v(t),e.push({message:`Failed to clean up ${r}: ${t}`,userActionRequired:!1,type:`error`})}return e}async function pt(e){try{let t=await h(`npm`,[`config`,`get`,`prefix`]);if(t.code!==0||!t.stdout)return{success:!1,error:`Failed to get npm global prefix`};let n=t.stdout.trim(),r=!1;async function i(e,t){try{return await R(e),u(`Manually removed ${t}: ${e}`),!0}catch{return!1}}if(U().startsWith(`win32`)){let e=D(n,`claude.cmd`),t=D(n,`claude.ps1`),a=D(n,`claude`);await i(e,`bin script`)&&(r=!0),await i(t,`PowerShell script`)&&(r=!0),await i(a,`bin executable`)&&(r=!0)}else await i(D(n,`bin`,`claude`),`bin symlink`)&&(r=!0);return r?(u(`Successfully removed ${e} manually`),{success:!0,warning:`${e} executables removed, but node_modules directory was left intact for safety. You may manually delete it later at: ${U().startsWith(`win32`)?D(n,`node_modules`,e):D(n,`lib`,`node_modules`,e)}`}):{success:!1}}catch(e){return u(`Manual removal failed: ${e}`,{level:`error`}),{success:!1,error:`Manual removal failed: ${e}`}}}async function mt(e){let{code:t,stderr:n}=await h(`npm`,[`uninstall`,`-g`,e],{cwd:process.cwd()});if(t===0)return u(`Removed global npm installation of ${e}`),{success:!0};if(n&&!n.includes(`npm ERR! code E404`)){if(n.includes(`npm error code ENOTEMPTY`)){u(`Failed to uninstall global npm package ${e}: ${n}`,{level:`error`}),u(`Attempting manual removal due to ENOTEMPTY error`);let t=await pt(e);if(t.success)return{success:!0,warning:t.warning};if(t.error)return{success:!1,error:`Failed to remove global npm installation of ${e}: ${n}. Manual removal also failed: ${t.error}`}}return u(`Failed to uninstall global npm package ${e}: ${n}`,{level:`error`}),{success:!1,error:`Failed to remove global npm installation of ${e}: ${n}`}}return{success:!1}}async function ht(){let e=[],t=[],n=0,r=await mt(`@anthropic-ai/workmate`);r.success?(n++,r.warning&&t.push(r.warning)):r.error&&e.push(r.error);let i=D(T(),`.workmate`,`local`);try{await I(i,{recursive:!0}),n++,u(`Removed local installation at ${i}`)}catch(t){a(t)||(e.push(`Failed to remove ${i}: ${t}`),u(`Failed to remove local installation: ${t}`,{level:`error`}))}return{removed:n,errors:e,warnings:t}}var Z,Q,$=e((()=>{y(),Pe(),ee(),se(),f(),Te(),ie(),me(),n(),c(),g(),_e(),ae(),_(),pe(),ve(),x(),Ae(),Ye(),Ee(),Z=10080*60*1e3,Q=null})),gt=e((()=>{$()}));export{ft as a,ut as c,X as i,ot as n,$ as o,ht as r,st as s,gt as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{a as t,o as n}from"./isObject-C6qM3WEW.js";import{AT as r,CT as i,_E as a,gE as o,kT as s,wT as c}from"./loadAgentsDir-PPiD2Mfq.js";import{Ar as l,Ci as u,Dr as d,Er as f,Fr as p,Or as m,Pr as h,Si as g,bi as _,di as v,jr as y,kr as b,ui as x,xi as S}from"./state-BPFYBqm1.js";import{$n as C,Er as w,Qn as T,Tr as E,Zn as D,er as O,nr as k,tr as A}from"./settings-CvhsRFaT.js";import{I as j,L as M}from"./config-BSkuQZNf.js";function N(e){return S(e)||v(e)||!!(P&&e&&e[P])}var P,F=e((()=>{n(),x(),_(),P=t?t.isConcatSpreadable:void 0}));function I(e,t,n,r,i){var a=-1,o=e.length;for(n||(n=N),i||(i=[]);++a<o;){var s=e[a];t>0&&n(s)?t>1?I(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}var L=e((()=>{u(),F()}));function R(e){return e!=null&&e.length?I(e,1):[]}var z=e((()=>{L()}));function B(e){return T(O(e,void 0,R),e+``)}var V=e((()=>{z(),C(),D()}));function H(e,t){return t.length<2?e:f(e,s(t,0,-1))}var U=e((()=>{d(),r()}));function W(e,t){t=l(t,e);var n=-1,r=t.length;if(!r)return!0;for(;++n<r;){var i=b(t[n]);if(i===`__proto__`&&!G.call(e,`__proto__`)||(i===`constructor`||i===`prototype`)&&n<r-1)return!1}var a=H(e,t);return a==null||delete a[b(c(t))]}var G,K=e((()=>{y(),i(),U(),m(),G=Object.prototype.hasOwnProperty}));function q(e){return k(e)?void 0:e}var J=e((()=>{A()})),Y,X,Z,Q,$=e((()=>{p(),a(),K(),y(),w(),J(),V(),M(),Y=1,X=2,Z=4,Q=B(function(e,t){var n={};if(e==null)return n;var r=!1;t=h(t,function(t){return t=l(t,e),r||(r=t.length>1),t}),E(e,j(e),n),r&&(n=o(n,Y|X|Z,q));for(var i=t.length;i--;)W(n,t[i]);return n})}));export{Q as n,$ as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{a as t,o as n}from"./isObject-C6qM3WEW.js";import{AT as r,CT as i,_E as a,gE as o,kT as s,wT as c}from"./loadAgentsDir-CbtNPJV3.js";import{Ar as l,Ci as u,Dr as d,Er as f,Fr as p,Or as m,Pr as h,Si as g,bi as _,di as v,jr as y,kr as b,ui as x,xi as S}from"./state-BPFYBqm1.js";import{$n as C,Er as w,Qn as T,Tr as E,Zn as D,er as O,nr as k,tr as A}from"./settings-CvhsRFaT.js";import{I as j,L as M}from"./config-BSkuQZNf.js";function N(e){return S(e)||v(e)||!!(P&&e&&e[P])}var P,F=e((()=>{n(),x(),_(),P=t?t.isConcatSpreadable:void 0}));function I(e,t,n,r,i){var a=-1,o=e.length;for(n||(n=N),i||(i=[]);++a<o;){var s=e[a];t>0&&n(s)?t>1?I(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}var L=e((()=>{u(),F()}));function R(e){return e!=null&&e.length?I(e,1):[]}var z=e((()=>{L()}));function B(e){return T(O(e,void 0,R),e+``)}var V=e((()=>{z(),C(),D()}));function H(e,t){return t.length<2?e:f(e,s(t,0,-1))}var U=e((()=>{d(),r()}));function W(e,t){t=l(t,e);var n=-1,r=t.length;if(!r)return!0;for(;++n<r;){var i=b(t[n]);if(i===`__proto__`&&!G.call(e,`__proto__`)||(i===`constructor`||i===`prototype`)&&n<r-1)return!1}var a=H(e,t);return a==null||delete a[b(c(t))]}var G,K=e((()=>{y(),i(),U(),m(),G=Object.prototype.hasOwnProperty}));function q(e){return k(e)?void 0:e}var J=e((()=>{A()})),Y,X,Z,Q,$=e((()=>{p(),a(),K(),y(),w(),J(),V(),M(),Y=1,X=2,Z=4,Q=B(function(e,t){var n={};if(e==null)return n;var r=!1;t=h(t,function(t){return t=l(t,e),r||(r=t.length>1),t}),E(e,j(e),n),r&&(n=o(n,Y|X|Z,q));for(var i=t.length;i--;)W(n,t[i]);return n})}));export{Q as n,$ as t};
@@ -1 +1 @@
1
- import{Mn as e,Wt as t}from"./state-BPFYBqm1.js";import{R as n,U as r}from"./debug-BQj6h99Q.js";import{Ft as i,Mt as a,zt as o}from"./settings-CvhsRFaT.js";import{c as s,h as c,y as l}from"./config-BSkuQZNf.js";import{o as u,s as d}from"./log-BlJ7CcKG.js";import{Pt as f,dt as p,ft as m,ut as h}from"./model-sviY1inu.js";import{a as g,i as _,n as v}from"./sessionState-BTFowSpR.js";import{r as y,t as b}from"./managedEnv-BUrzwaD3.js";t(),f(),c(),n(),u(),y(),a(),v();function x(e){return t=>({...t,...typeof e.permission_mode==`string`?{toolPermissionContext:{...t.toolPermissionContext,mode:i(e.permission_mode)}}:{}})}function S({newState:t,oldState:n}){let i=n.toolPermissionContext.mode,a=t.toolPermissionContext.mode;if(i!==a){let e=o(i),t=o(a);e!==t&&g({permission_mode:t}),_(a)}if(t.mainLoopModel!==n.mainLoopModel&&e(t.mainLoopModel),t.expandedView!==n.expandedView){let e=t.expandedView===`tasks`;s().showExpandedTodos!==e&&l(t=>({...t,showExpandedTodos:e}))}if(t.verbose!==n.verbose&&s().verbose!==t.verbose){let e=t.verbose;l(t=>({...t,verbose:e}))}if(t.settings!==n.settings)try{h(),p(),m(),t.settings.env!==n.settings.env&&b()}catch(e){d(r(e))}}export{S as n,x as t};
1
+ import{Mn as e,Wt as t}from"./state-BPFYBqm1.js";import{R as n,U as r}from"./debug-BQj6h99Q.js";import{Ft as i,Mt as a,zt as o}from"./settings-CvhsRFaT.js";import{c as s,h as c,y as l}from"./config-BSkuQZNf.js";import{o as u,s as d}from"./log-BlJ7CcKG.js";import{Pt as f,dt as p,ft as m,ut as h}from"./model-DlLO7TSx.js";import{a as g,i as _,n as v}from"./sessionState-BlbRQ3Y6.js";import{r as y,t as b}from"./managedEnv-CDxyrUw1.js";t(),f(),c(),n(),u(),y(),a(),v();function x(e){return t=>({...t,...typeof e.permission_mode==`string`?{toolPermissionContext:{...t.toolPermissionContext,mode:i(e.permission_mode)}}:{}})}function S({newState:t,oldState:n}){let i=n.toolPermissionContext.mode,a=t.toolPermissionContext.mode;if(i!==a){let e=o(i),t=o(a);e!==t&&g({permission_mode:t}),_(a)}if(t.mainLoopModel!==n.mainLoopModel&&e(t.mainLoopModel),t.expandedView!==n.expandedView){let e=t.expandedView===`tasks`;s().showExpandedTodos!==e&&l(t=>({...t,showExpandedTodos:e}))}if(t.verbose!==n.verbose&&s().verbose!==t.verbose){let e=t.verbose;l(t=>({...t,verbose:e}))}if(t.settings!==n.settings)try{h(),p(),m(),t.settings.env!==n.settings.env&&b()}catch(e){d(r(e))}}export{S as n,x as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,l as n,o as r}from"./envUtils-DcaKZlRU.js";import{F_ as i,Ka as a,La as o,N_ as s,Ny as c,P_ as l,Sa as u,Wa as d,it as ee,ky as f,pa as p,tt as m}from"./loadAgentsDir-PPiD2Mfq.js";import{c as h,i as g}from"./debug-BQj6h99Q.js";import{Bn as _,F as te,Ln as v,R as y}from"./model-sviY1inu.js";import{i as ne,r as b,t as x,vn as re,xn as ie,yn as S}from"./prompt-CQmEvnKN.js";import{E as C,O as w,T,Z as E,j as D,k as ae}from"./sessionState-BTFowSpR.js";import{n as oe,r as O}from"./client-Bb2eZnuq.js";import{n as se,t as k}from"./openaiShared-G2-w4gJt.js";import{homedir as A}from"os";import{join as j}from"path";import{randomUUID as M}from"crypto";import{chmod as ce,mkdir as N,readFile as P,writeFile as F}from"fs/promises";function I(){return j(L(),J)}function L(){return(process.env.WORKMATE_CONFIG_DIR??j(A(),`.workmate`)).normalize(`NFC`)}function R(){return j(process.env.CODEX_HOME??j(process.env.HOME??``,`.codex`),`auth.json`)}function z(e){return typeof e==`string`&&e.length>0?e:void 0}function B(e){try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}}function V(e){let[,t]=e.split(`.`);if(!t)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=e.padEnd(e.length+(4-e.length%4)%4,`=`);return B(Buffer.from(n,`base64`).toString(`utf8`))}catch{return null}}function H(e){let t=V(e),n=t?.[`https://api.openai.com/auth`];return n&&typeof n==`object`?n:t??{}}function U(e){let t=V(e)?.exp;return typeof t==`number`?t*1e3:null}function W(e){if(e.accountId)return e.accountId;for(let t of[e.idToken,e.accessToken]){if(!t)continue;let e=H(t),n=z(e.chatgpt_account_id)??z(e.chatgpt_account_user_id)??z(e.account_id);if(n)return n}}async function G(e){try{let t=await P(e,`utf8`),n=JSON.parse(t),r=n.tokens,i=r?.id_token,a=r?.access_token,o=r?.refresh_token;return!i||!a||!o?null:{idToken:i,accessToken:a,refreshToken:o,accountId:W({idToken:i,accessToken:a,accountId:r.account_id}),lastRefresh:n.last_refresh}}catch{return null}}async function le(e){let t=I();await N(L(),{recursive:!0});let n={auth_mode:`chatgpt`,tokens:{id_token:e.idToken,access_token:e.accessToken,refresh_token:e.refreshToken,account_id:W(e)},last_refresh:new Date().toISOString()};await F(t,`${JSON.stringify(n,null,2)}\n`,{mode:384}),await ce(t,384).catch(()=>void 0)}async function ue(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text().catch(()=>``);throw Error(`ChatGPT token request failed (${n.status})${e?`: ${e}`:``}`)}return await n.json()}async function de(e){let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:q,scope:`openid profile email offline_access api.connectors.read api.connectors.invoke`}),n=await ue(`${K}/oauth/token`,t);return{idToken:n.id_token,accessToken:n.access_token,refreshToken:n.refresh_token??e.refreshToken,accountId:W({idToken:n.id_token,accessToken:n.access_token,accountId:e.accountId})}}function fe(){return process.env.OPENAI_AUTH_MODE===`chatgpt`}async function pe(){let e=await G(I());if(e||(e=await G(R()),e&&h(`[OpenAI] Using ChatGPT auth from Codex auth.json`)),!e)throw Error(`ChatGPT account is not logged in.`);let t=U(e.accessToken);return t!==null&&t<=Date.now()+Y&&(e=await de(e),await le(e)),{accessToken:e.accessToken,accountId:e.accountId??W(e)}}var K,q,J,Y,X=e((()=>{g(),K=`https://auth.openai.com`,q=`app_EMoamEEZ73f0CkXaXp7hrann`,J=`openai-chatgpt-auth.json`,Y=300*1e3}));function Z(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return``;let t=e;return typeof t.text==`string`?t.text:``}).filter(Boolean).join(`
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,l as n,o as r}from"./envUtils-DcaKZlRU.js";import{F_ as i,Ka as a,La as o,N_ as s,Ny as c,P_ as l,Sa as u,Wa as d,it as ee,ky as f,pa as p,tt as m}from"./loadAgentsDir-CbtNPJV3.js";import{c as h,i as g}from"./debug-BQj6h99Q.js";import{Bn as _,F as te,Ln as v,R as y}from"./model-DlLO7TSx.js";import{i as ne,r as b,t as x,vn as re,xn as ie,yn as S}from"./prompt-BRGC5U9Y.js";import{E as C,O as w,T,Z as E,j as D,k as ae}from"./sessionState-BlbRQ3Y6.js";import{n as oe,r as O}from"./client-Bb2eZnuq.js";import{n as se,t as k}from"./openaiShared-G2-w4gJt.js";import{homedir as A}from"os";import{join as j}from"path";import{randomUUID as M}from"crypto";import{chmod as ce,mkdir as N,readFile as P,writeFile as F}from"fs/promises";function I(){return j(L(),J)}function L(){return(process.env.WORKMATE_CONFIG_DIR??j(A(),`.workmate`)).normalize(`NFC`)}function R(){return j(process.env.CODEX_HOME??j(process.env.HOME??``,`.codex`),`auth.json`)}function z(e){return typeof e==`string`&&e.length>0?e:void 0}function B(e){try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}}function V(e){let[,t]=e.split(`.`);if(!t)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=e.padEnd(e.length+(4-e.length%4)%4,`=`);return B(Buffer.from(n,`base64`).toString(`utf8`))}catch{return null}}function H(e){let t=V(e),n=t?.[`https://api.openai.com/auth`];return n&&typeof n==`object`?n:t??{}}function U(e){let t=V(e)?.exp;return typeof t==`number`?t*1e3:null}function W(e){if(e.accountId)return e.accountId;for(let t of[e.idToken,e.accessToken]){if(!t)continue;let e=H(t),n=z(e.chatgpt_account_id)??z(e.chatgpt_account_user_id)??z(e.account_id);if(n)return n}}async function G(e){try{let t=await P(e,`utf8`),n=JSON.parse(t),r=n.tokens,i=r?.id_token,a=r?.access_token,o=r?.refresh_token;return!i||!a||!o?null:{idToken:i,accessToken:a,refreshToken:o,accountId:W({idToken:i,accessToken:a,accountId:r.account_id}),lastRefresh:n.last_refresh}}catch{return null}}async function le(e){let t=I();await N(L(),{recursive:!0});let n={auth_mode:`chatgpt`,tokens:{id_token:e.idToken,access_token:e.accessToken,refresh_token:e.refreshToken,account_id:W(e)},last_refresh:new Date().toISOString()};await F(t,`${JSON.stringify(n,null,2)}\n`,{mode:384}),await ce(t,384).catch(()=>void 0)}async function ue(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text().catch(()=>``);throw Error(`ChatGPT token request failed (${n.status})${e?`: ${e}`:``}`)}return await n.json()}async function de(e){let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:q,scope:`openid profile email offline_access api.connectors.read api.connectors.invoke`}),n=await ue(`${K}/oauth/token`,t);return{idToken:n.id_token,accessToken:n.access_token,refreshToken:n.refresh_token??e.refreshToken,accountId:W({idToken:n.id_token,accessToken:n.access_token,accountId:e.accountId})}}function fe(){return process.env.OPENAI_AUTH_MODE===`chatgpt`}async function pe(){let e=await G(I());if(e||(e=await G(R()),e&&h(`[OpenAI] Using ChatGPT auth from Codex auth.json`)),!e)throw Error(`ChatGPT account is not logged in.`);let t=U(e.accessToken);return t!==null&&t<=Date.now()+Y&&(e=await de(e),await le(e)),{accessToken:e.accessToken,accountId:e.accountId??W(e)}}var K,q,J,Y,X=e((()=>{g(),K=`https://auth.openai.com`,q=`app_EMoamEEZ73f0CkXaXp7hrann`,J=`openai-chatgpt-auth.json`,Y=300*1e3}));function Z(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return``;let t=e;return typeof t.text==`string`?t.text:``}).filter(Boolean).join(`
2
2
  `):``}function me(e){if(typeof e==`string`)return e;if(!Array.isArray(e))return Z(e);let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;if(e.type===`text`&&typeof e.text==`string`)t.push({type:`input_text`,text:e.text});else if(e.type===`image_url`){let n=e.image_url;typeof n?.url==`string`&&t.push({type:`input_image`,image_url:n.url})}}return t.length>0?t:Z(e)}function he(e){let t=[],n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r,i=e.role;if(i===`system`||i===`developer`){let t=Z(e.content);t&&n.push(t);continue}if(i===`tool`){let n=e.tool_call_id;typeof n==`string`&&t.push({type:`function_call_output`,call_id:n,output:Z(e.content)});continue}if(i===`assistant`){let n=Z(e.content);n&&t.push({role:`assistant`,content:n});let r=e.tool_calls;if(Array.isArray(r))for(let e of r){if(!e||typeof e!=`object`)continue;let n=e,r=n.function,i=typeof n.id==`string`?n.id:void 0,a=typeof r?.name==`string`?r.name:void 0;!i||!a||t.push({type:`function_call`,call_id:i,name:a,arguments:typeof r?.arguments==`string`?r.arguments:`{}`})}continue}i===`user`&&t.push({role:`user`,content:me(e.content)})}return{input:t,instructions:n.length>0?n.join(`
3
3
 
4
4
  `):void 0}}function ge(e){let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n.function,r=typeof e?.name==`string`?e.name:void 0;r&&t.push({type:`function`,name:r,description:typeof e?.description==`string`?e.description:``,parameters:e?.parameters&&typeof e.parameters==`object`?e.parameters:{type:`object`,properties:{}},strict:!1})}return t}function _e(e){if(e===`required`)return`required`;if(e===`auto`)return`auto`;if(!e||typeof e!=`object`)return e;let t=e,n=t.function;return t.type===`function`&&typeof n?.name==`string`?{type:`function`,name:n.name}:e}function ve(e){let{input:t,instructions:n}=he(e.messages),r=ge(e.tools);return{model:e.model,stream:!0,store:!1,input:t,...n?{instructions:n}:{},...r.length>0?{tools:r}:{},...e.toolChoice?{tool_choice:_e(e.toolChoice)}:{},parallel_tool_calls:!0}}async function*ye(e){if(!e.body)throw Error(`ChatGPT response did not include a body`);let t=e.body.getReader(),n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a=r.indexOf(`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ET as t,TT as n}from"./loadAgentsDir-PPiD2Mfq.js";import{Cr as r,Sr as i,bi as a,xi as o}from"./state-BPFYBqm1.js";function s(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}var c=e((()=>{}));function l(e,t,r,i){return n(e,function(e,n,a){t(i,e,r(e),a)}),i}var u=e((()=>{t()}));function d(e,t){return function(n,r){var a=o(n)?s:l,c=t?t():{};return a(n,e,i(r,2),c)}}var f=e((()=>{c(),u(),r(),a()})),p,m=e((()=>{f(),p=d(function(e,t,n){e[+!n].push(t)},function(){return[[],[]]})}));export{p as n,m as t};
1
+ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ET as t,TT as n}from"./loadAgentsDir-CbtNPJV3.js";import{Cr as r,Sr as i,bi as a,xi as o}from"./state-BPFYBqm1.js";function s(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}var c=e((()=>{}));function l(e,t,r,i){return n(e,function(e,n,a){t(i,e,r(e),a)}),i}var u=e((()=>{t()}));function d(e,t){return function(n,r){var a=o(n)?s:l,c=t?t():{};return a(n,e,i(r,2),c)}}var f=e((()=>{c(),u(),r(),a()})),p,m=e((()=>{f(),p=d(function(e,t,n){e[+!n].push(t)},function(){return[[],[]]})}));export{p as n,m as t};
@@ -1,3 +1,3 @@
1
- import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{$h as i,$u as a,Gg as o,H as s,Hg as c,I as l,Kg as u,L as d,La as f,Qu as p,R as m,Um as h,V as ee,Wm as g,Xh as te,Zh as ne,_a as _,cd as v,hC as re,ld as ie,oT as y,rT as b,xC as x,z as ae}from"./loadAgentsDir-PPiD2Mfq.js";import{I as S,P as C,Wt as oe,Xn as se,a as w,ai as T,di as E,fi as D,hn as O,k,kt as A,n as j,o as M,ot as ce,r as le,s as ue,t as N,x as de,y as P}from"./src-DL3w8VPk2.js";import{t as F}from"./jsx-runtime-Bb4Xn-E0.js";import{Wt as fe,et as I}from"./state-BPFYBqm1.js";import{C as L,x as pe}from"./debug-BQj6h99Q.js";import{H as R,V as z,g as me,ln as B,o as he,rn as ge,z as V}from"./settings-CvhsRFaT.js";import{l as _e,o as ve}from"./stringUtils-BjnclTLB.js";import{n as ye,t as be}from"./useExitOnCtrlCDWithKeybindings-C9orgrub.js";import{n as xe,t as Se}from"./AddWorkspaceDirectory-DAtfMH4o.js";import{t as Ce}from"./SearchBox-CwwV0W-w.js";import{n as we,t as Te}from"./useSearchInput-DdKrVHJS.js";import{n as H,t as Ee}from"./shadowedRuleDetection-Co8m1q1D.js";function De(){return U}var U,Oe=e((()=>{U=[]}));function ke({ruleValue:e}){switch(e.toolName){case h.name:return e.ruleContent?e.ruleContent.endsWith(`:*`)?(0,W.jsxs)(C,{dimColor:!0,children:[`Any Bash command starting with `,(0,W.jsx)(C,{bold:!0,children:e.ruleContent.slice(0,-2)})]}):(0,W.jsxs)(C,{dimColor:!0,children:[`The Bash command `,(0,W.jsx)(C,{bold:!0,children:e.ruleContent})]}):(0,W.jsx)(C,{dimColor:!0,children:`Any Bash command`});default:return e.ruleContent?null:(0,W.jsxs)(C,{dimColor:!0,children:[`Any use of the `,(0,W.jsx)(C,{bold:!0,children:e.toolName}),` tool`]})}}var W,Ae=e((()=>{N(),g(),W=F()}));function je(e){switch(e){case`localSettings`:return{label:`Project settings (local)`,description:`Saved in ${he(`localSettings`)}`,value:e};case`projectSettings`:return{label:`Project settings`,description:`Checked in at ${he(`projectSettings`)}`,value:e};case`userSettings`:return{label:`User settings`,description:`Saved in at ~/.workmate/settings.json`,value:e}}}function Me({onAddRules:e,onCancel:t,ruleValues:n,ruleBehavior:r,initialContext:i,setToolPermissionContext:a}){let o=ge.map(je),s=(0,Ne.useCallback)(o=>{if(o===`cancel`){t();return}else if(ge.includes(o)){let t=o,s=c(i,{type:`addRules`,rules:n,behavior:r,destination:t});u({type:`addRules`,rules:n,behavior:r,destination:t}),a(s);let l=n.map(e=>({ruleValue:e,ruleBehavior:r,source:t})),d=Ee(s,{sandboxAutoAllowEnabled:b.isSandboxingEnabled()&&b.isAutoAllowBashIfSandboxedEnabled()}).filter(e=>n.some(t=>t.toolName===e.rule.ruleValue.toolName&&t.ruleContent===e.rule.ruleValue.ruleContent));e(l,d.length>0?d:void 0)}},[e,t,n,r,i,a]);return(0,G.jsxs)(P,{title:`Add ${r} permission ${_e(n.length,`rule`)}`,onCancel:t,color:`permission`,children:[(0,G.jsx)(S,{flexDirection:`column`,paddingX:2,children:n.map(e=>(0,G.jsxs)(S,{flexDirection:`column`,children:[(0,G.jsx)(C,{bold:!0,children:R(e)}),(0,G.jsx)(ke,{ruleValue:e})]},R(e)))}),(0,G.jsxs)(S,{flexDirection:`column`,marginY:1,children:[(0,G.jsx)(C,{children:n.length===1?`Where should this rule be saved?`:`Where should these rules be saved?`}),(0,G.jsx)(p,{options:o,onChange:s})]})]})}var Ne,G,Pe=e((()=>{Ne=t(T(),1),a(),N(),o(),V(),H(),y(),B(),me(),ve(),Ae(),G=F()}));function Fe({onCancel:e,onSubmit:t,ruleBehavior:n}){let[i,a]=(0,Ie.useState)(``),[o,s]=(0,Ie.useState)(0),c=ye();oe(`confirm:no`,e,{context:`Settings`});let{columns:l}=ce(),u=l-6;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(S,{flexDirection:`column`,gap:1,borderStyle:`round`,paddingLeft:1,paddingRight:1,borderColor:`permission`,children:[(0,K.jsxs)(C,{bold:!0,color:`permission`,children:[`Add `,n,` permission rule`]}),(0,K.jsxs)(S,{flexDirection:`column`,children:[(0,K.jsxs)(C,{children:[`Permission rules are a tool name, optionally followed by a specifier in parentheses.`,(0,K.jsx)(A,{}),`e.g., `,(0,K.jsx)(C,{bold:!0,children:R({toolName:h.name})}),(0,K.jsx)(C,{bold:!1,children:` or `}),(0,K.jsx)(C,{bold:!0,children:R({toolName:h.name,ruleContent:`ls:*`})})]}),(0,K.jsx)(S,{borderDimColor:!0,borderStyle:`round`,marginY:1,paddingLeft:1,children:(0,K.jsx)(v,{showCursor:!0,value:i,onChange:a,onSubmit:e=>{let r=e.trim();r.length!==0&&t(z(r),n)},placeholder:`Enter permission rule${r.ellipsis}`,columns:u,cursorOffset:o,onChangeCursorOffset:s})})]})]}),(0,K.jsx)(S,{marginLeft:3,children:c.pending?(0,K.jsxs)(C,{dimColor:!0,children:[`Press `,c.keyName,` again to exit`]}):(0,K.jsx)(C,{dimColor:!0,children:`Enter to submit · Esc to cancel`})})]})}var Ie,K,Le=e((()=>{n(),Ie=t(T(),1),ie(),be(),x(),N(),re(),g(),V(),K=F()}));function Re({onHeaderFocusChange:e,onStateChange:t}){let{headerFocused:n,focusHeader:r}=w();(0,q.useEffect)(()=>{e?.(n)},[n,e]);let[i]=(0,q.useState)(()=>De()),[a,o]=(0,q.useState)(()=>new Set),[s,c]=(0,q.useState)(()=>new Set),[l,u]=(0,q.useState)(0);(0,q.useEffect)(()=>{t({approved:a,retry:s,denials:i})},[a,s,i,t]);let d=(0,q.useCallback)(e=>{let t=Number(e);o(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},[]),f=(0,q.useCallback)(e=>{u(Number(e))},[]);if(O((e,t)=>{e===`r`&&(c(e=>{let t=new Set(e);return t.has(l)?t.delete(l):t.add(l),t}),o(e=>{if(e.has(l))return e;let t=new Set(e);return t.add(l),t}))},{isActive:i.length>0}),i.length===0)return(0,J.jsx)(C,{dimColor:!0,children:`No recent denials. Commands denied by the auto mode classifier will appear here.`});let m=i.map((e,t)=>{let n=a.has(t),r=s.has(t)?` (retry)`:``;return{label:(0,J.jsxs)(C,{children:[(0,J.jsx)(ue,{status:n?`success`:`error`,withSpace:!0}),e.display,(0,J.jsx)(C,{dimColor:!0,children:r})]}),value:String(t)}});return(0,J.jsxs)(S,{flexDirection:`column`,children:[(0,J.jsx)(C,{children:`Commands recently denied by the auto mode classifier.`}),(0,J.jsx)(S,{marginTop:1,children:(0,J.jsx)(p,{options:m,onChange:d,onFocus:f,visibleOptionCount:Math.min(10,m.length),isDisabled:n,onUpFromFirstItem:r})})]})}var q,J,ze=e((()=>{q=t(T(),1),N(),Oe(),a(),J=F()}));function Be({directoryPath:e,onRemove:t,onCancel:n,permissionContext:r,setPermissionContext:i}){let a=(0,Ve.useCallback)(()=>{i(c(r,{type:`removeDirectories`,directories:[e],destination:`session`})),t()},[e,r,i,t]),o=(0,Ve.useCallback)(e=>{e===`yes`?a():n()},[a,n]);return(0,Y.jsxs)(P,{title:`Remove directory from workspace?`,onCancel:n,color:`error`,children:[(0,Y.jsx)(S,{marginX:2,flexDirection:`column`,children:(0,Y.jsx)(C,{bold:!0,children:e})}),(0,Y.jsx)(C,{children:`Work Mate will no longer have access to files in this directory.`}),(0,Y.jsx)(p,{onChange:o,onCancel:n,options:[{label:`Yes`,value:`yes`},{label:`No`,value:`no`}]})]})}var Ve,Y,He=e((()=>{Ve=t(T(),1),a(),N(),o(),Y=F()}));function Ue({onExit:e,toolPermissionContext:t,onRequestAddDirectory:n,onRequestRemoveDirectory:i,onHeaderFocusChange:a}){let{headerFocused:o,focusHeader:s}=w();(0,X.useEffect)(()=>{a?.(o)},[o,a]);let c=We.useMemo(()=>Array.from(t.additionalWorkingDirectories.keys()).map(e=>({path:e,isCurrent:!1,isDeletable:!0})),[t.additionalWorkingDirectories]),l=(0,X.useCallback)(e=>{if(e===`add-directory`){n();return}let t=c.find(t=>t.path===e);t?.isDeletable&&i(t.path)},[c,n,i]),u=(0,X.useCallback)(()=>e(`Workspace dialog dismissed`,{display:`system`}),[e]),d=We.useMemo(()=>{let e=c.map(e=>({label:e.path,value:e.path}));return e.push({label:`Add directory${r.ellipsis}`,value:`add-directory`}),e},[c]);return(0,Z.jsxs)(S,{flexDirection:`column`,marginBottom:1,children:[(0,Z.jsxs)(S,{flexDirection:`row`,marginTop:1,marginLeft:2,gap:1,children:[(0,Z.jsx)(C,{children:`- ${I()}`}),(0,Z.jsx)(C,{dimColor:!0,children:`(Original working directory)`})]}),(0,Z.jsx)(p,{options:d,onChange:l,onCancel:u,visibleOptionCount:Math.min(10,d.length),onUpFromFirstItem:s,isDisabled:o})]})}var We,X,Z,Ge=e((()=>{n(),We=t(T(),1),X=t(T(),1),fe(),a(),N(),Z=F()}));function Ke({rule:e}){return(0,$.jsx)(C,{dimColor:!0,children:`From ${s(e.source)}`})}function qe(e){switch(e){case`allow`:return`allowed`;case`deny`:return`denied`;case`ask`:return`ask`}}function Je({rule:e,onDelete:t,onCancel:n}){let r=ye();oe(`confirm:no`,n,{context:`Confirmation`});let i=(0,$.jsxs)(S,{flexDirection:`column`,marginX:2,children:[(0,$.jsx)(C,{bold:!0,children:R(e.ruleValue)}),(0,$.jsx)(ke,{ruleValue:e.ruleValue}),(0,$.jsx)(Ke,{rule:e})]}),a=(0,$.jsx)(S,{marginLeft:3,children:r.pending?(0,$.jsxs)(C,{dimColor:!0,children:[`Press `,r.keyName,` again to exit`]}):(0,$.jsx)(C,{dimColor:!0,children:`Esc to cancel`})});return e.source===`policySettings`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{flexDirection:`column`,gap:1,borderStyle:`round`,paddingLeft:1,paddingRight:1,borderColor:`permission`,children:[(0,$.jsx)(C,{bold:!0,color:`permission`,children:`Rule details`}),i,(0,$.jsxs)(C,{italic:!0,children:[`This rule is configured by managed settings and cannot be modified.`,`
1
+ import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{$h as i,$u as a,Gg as o,H as s,Hg as c,I as l,Kg as u,L as d,La as f,Qu as p,R as m,Um as h,V as ee,Wm as g,Xh as te,Zh as ne,_a as _,cd as v,hC as re,ld as ie,oT as y,rT as b,xC as x,z as ae}from"./loadAgentsDir-CbtNPJV3.js";import{I as S,P as C,Wt as oe,Xn as se,a as w,ai as T,di as E,fi as D,hn as O,k,kt as A,n as j,o as M,ot as ce,r as le,s as ue,t as N,x as de,y as P}from"./src-DL3w8VPk2.js";import{t as F}from"./jsx-runtime-Bb4Xn-E0.js";import{Wt as fe,et as I}from"./state-BPFYBqm1.js";import{C as L,x as pe}from"./debug-BQj6h99Q.js";import{H as R,V as z,g as me,ln as B,o as he,rn as ge,z as V}from"./settings-CvhsRFaT.js";import{l as _e,o as ve}from"./stringUtils-BjnclTLB.js";import{n as ye,t as be}from"./useExitOnCtrlCDWithKeybindings-YSWYVWk6.js";import{n as xe,t as Se}from"./AddWorkspaceDirectory-YAhnVwyN.js";import{t as Ce}from"./SearchBox-CwwV0W-w.js";import{n as we,t as Te}from"./useSearchInput-DfUNYhqC.js";import{n as H,t as Ee}from"./shadowedRuleDetection-Gerk3t93.js";function De(){return U}var U,Oe=e((()=>{U=[]}));function ke({ruleValue:e}){switch(e.toolName){case h.name:return e.ruleContent?e.ruleContent.endsWith(`:*`)?(0,W.jsxs)(C,{dimColor:!0,children:[`Any Bash command starting with `,(0,W.jsx)(C,{bold:!0,children:e.ruleContent.slice(0,-2)})]}):(0,W.jsxs)(C,{dimColor:!0,children:[`The Bash command `,(0,W.jsx)(C,{bold:!0,children:e.ruleContent})]}):(0,W.jsx)(C,{dimColor:!0,children:`Any Bash command`});default:return e.ruleContent?null:(0,W.jsxs)(C,{dimColor:!0,children:[`Any use of the `,(0,W.jsx)(C,{bold:!0,children:e.toolName}),` tool`]})}}var W,Ae=e((()=>{N(),g(),W=F()}));function je(e){switch(e){case`localSettings`:return{label:`Project settings (local)`,description:`Saved in ${he(`localSettings`)}`,value:e};case`projectSettings`:return{label:`Project settings`,description:`Checked in at ${he(`projectSettings`)}`,value:e};case`userSettings`:return{label:`User settings`,description:`Saved in at ~/.workmate/settings.json`,value:e}}}function Me({onAddRules:e,onCancel:t,ruleValues:n,ruleBehavior:r,initialContext:i,setToolPermissionContext:a}){let o=ge.map(je),s=(0,Ne.useCallback)(o=>{if(o===`cancel`){t();return}else if(ge.includes(o)){let t=o,s=c(i,{type:`addRules`,rules:n,behavior:r,destination:t});u({type:`addRules`,rules:n,behavior:r,destination:t}),a(s);let l=n.map(e=>({ruleValue:e,ruleBehavior:r,source:t})),d=Ee(s,{sandboxAutoAllowEnabled:b.isSandboxingEnabled()&&b.isAutoAllowBashIfSandboxedEnabled()}).filter(e=>n.some(t=>t.toolName===e.rule.ruleValue.toolName&&t.ruleContent===e.rule.ruleValue.ruleContent));e(l,d.length>0?d:void 0)}},[e,t,n,r,i,a]);return(0,G.jsxs)(P,{title:`Add ${r} permission ${_e(n.length,`rule`)}`,onCancel:t,color:`permission`,children:[(0,G.jsx)(S,{flexDirection:`column`,paddingX:2,children:n.map(e=>(0,G.jsxs)(S,{flexDirection:`column`,children:[(0,G.jsx)(C,{bold:!0,children:R(e)}),(0,G.jsx)(ke,{ruleValue:e})]},R(e)))}),(0,G.jsxs)(S,{flexDirection:`column`,marginY:1,children:[(0,G.jsx)(C,{children:n.length===1?`Where should this rule be saved?`:`Where should these rules be saved?`}),(0,G.jsx)(p,{options:o,onChange:s})]})]})}var Ne,G,Pe=e((()=>{Ne=t(T(),1),a(),N(),o(),V(),H(),y(),B(),me(),ve(),Ae(),G=F()}));function Fe({onCancel:e,onSubmit:t,ruleBehavior:n}){let[i,a]=(0,Ie.useState)(``),[o,s]=(0,Ie.useState)(0),c=ye();oe(`confirm:no`,e,{context:`Settings`});let{columns:l}=ce(),u=l-6;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(S,{flexDirection:`column`,gap:1,borderStyle:`round`,paddingLeft:1,paddingRight:1,borderColor:`permission`,children:[(0,K.jsxs)(C,{bold:!0,color:`permission`,children:[`Add `,n,` permission rule`]}),(0,K.jsxs)(S,{flexDirection:`column`,children:[(0,K.jsxs)(C,{children:[`Permission rules are a tool name, optionally followed by a specifier in parentheses.`,(0,K.jsx)(A,{}),`e.g., `,(0,K.jsx)(C,{bold:!0,children:R({toolName:h.name})}),(0,K.jsx)(C,{bold:!1,children:` or `}),(0,K.jsx)(C,{bold:!0,children:R({toolName:h.name,ruleContent:`ls:*`})})]}),(0,K.jsx)(S,{borderDimColor:!0,borderStyle:`round`,marginY:1,paddingLeft:1,children:(0,K.jsx)(v,{showCursor:!0,value:i,onChange:a,onSubmit:e=>{let r=e.trim();r.length!==0&&t(z(r),n)},placeholder:`Enter permission rule${r.ellipsis}`,columns:u,cursorOffset:o,onChangeCursorOffset:s})})]})]}),(0,K.jsx)(S,{marginLeft:3,children:c.pending?(0,K.jsxs)(C,{dimColor:!0,children:[`Press `,c.keyName,` again to exit`]}):(0,K.jsx)(C,{dimColor:!0,children:`Enter to submit · Esc to cancel`})})]})}var Ie,K,Le=e((()=>{n(),Ie=t(T(),1),ie(),be(),x(),N(),re(),g(),V(),K=F()}));function Re({onHeaderFocusChange:e,onStateChange:t}){let{headerFocused:n,focusHeader:r}=w();(0,q.useEffect)(()=>{e?.(n)},[n,e]);let[i]=(0,q.useState)(()=>De()),[a,o]=(0,q.useState)(()=>new Set),[s,c]=(0,q.useState)(()=>new Set),[l,u]=(0,q.useState)(0);(0,q.useEffect)(()=>{t({approved:a,retry:s,denials:i})},[a,s,i,t]);let d=(0,q.useCallback)(e=>{let t=Number(e);o(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},[]),f=(0,q.useCallback)(e=>{u(Number(e))},[]);if(O((e,t)=>{e===`r`&&(c(e=>{let t=new Set(e);return t.has(l)?t.delete(l):t.add(l),t}),o(e=>{if(e.has(l))return e;let t=new Set(e);return t.add(l),t}))},{isActive:i.length>0}),i.length===0)return(0,J.jsx)(C,{dimColor:!0,children:`No recent denials. Commands denied by the auto mode classifier will appear here.`});let m=i.map((e,t)=>{let n=a.has(t),r=s.has(t)?` (retry)`:``;return{label:(0,J.jsxs)(C,{children:[(0,J.jsx)(ue,{status:n?`success`:`error`,withSpace:!0}),e.display,(0,J.jsx)(C,{dimColor:!0,children:r})]}),value:String(t)}});return(0,J.jsxs)(S,{flexDirection:`column`,children:[(0,J.jsx)(C,{children:`Commands recently denied by the auto mode classifier.`}),(0,J.jsx)(S,{marginTop:1,children:(0,J.jsx)(p,{options:m,onChange:d,onFocus:f,visibleOptionCount:Math.min(10,m.length),isDisabled:n,onUpFromFirstItem:r})})]})}var q,J,ze=e((()=>{q=t(T(),1),N(),Oe(),a(),J=F()}));function Be({directoryPath:e,onRemove:t,onCancel:n,permissionContext:r,setPermissionContext:i}){let a=(0,Ve.useCallback)(()=>{i(c(r,{type:`removeDirectories`,directories:[e],destination:`session`})),t()},[e,r,i,t]),o=(0,Ve.useCallback)(e=>{e===`yes`?a():n()},[a,n]);return(0,Y.jsxs)(P,{title:`Remove directory from workspace?`,onCancel:n,color:`error`,children:[(0,Y.jsx)(S,{marginX:2,flexDirection:`column`,children:(0,Y.jsx)(C,{bold:!0,children:e})}),(0,Y.jsx)(C,{children:`Work Mate will no longer have access to files in this directory.`}),(0,Y.jsx)(p,{onChange:o,onCancel:n,options:[{label:`Yes`,value:`yes`},{label:`No`,value:`no`}]})]})}var Ve,Y,He=e((()=>{Ve=t(T(),1),a(),N(),o(),Y=F()}));function Ue({onExit:e,toolPermissionContext:t,onRequestAddDirectory:n,onRequestRemoveDirectory:i,onHeaderFocusChange:a}){let{headerFocused:o,focusHeader:s}=w();(0,X.useEffect)(()=>{a?.(o)},[o,a]);let c=We.useMemo(()=>Array.from(t.additionalWorkingDirectories.keys()).map(e=>({path:e,isCurrent:!1,isDeletable:!0})),[t.additionalWorkingDirectories]),l=(0,X.useCallback)(e=>{if(e===`add-directory`){n();return}let t=c.find(t=>t.path===e);t?.isDeletable&&i(t.path)},[c,n,i]),u=(0,X.useCallback)(()=>e(`Workspace dialog dismissed`,{display:`system`}),[e]),d=We.useMemo(()=>{let e=c.map(e=>({label:e.path,value:e.path}));return e.push({label:`Add directory${r.ellipsis}`,value:`add-directory`}),e},[c]);return(0,Z.jsxs)(S,{flexDirection:`column`,marginBottom:1,children:[(0,Z.jsxs)(S,{flexDirection:`row`,marginTop:1,marginLeft:2,gap:1,children:[(0,Z.jsx)(C,{children:`- ${I()}`}),(0,Z.jsx)(C,{dimColor:!0,children:`(Original working directory)`})]}),(0,Z.jsx)(p,{options:d,onChange:l,onCancel:u,visibleOptionCount:Math.min(10,d.length),onUpFromFirstItem:s,isDisabled:o})]})}var We,X,Z,Ge=e((()=>{n(),We=t(T(),1),X=t(T(),1),fe(),a(),N(),Z=F()}));function Ke({rule:e}){return(0,$.jsx)(C,{dimColor:!0,children:`From ${s(e.source)}`})}function qe(e){switch(e){case`allow`:return`allowed`;case`deny`:return`denied`;case`ask`:return`ask`}}function Je({rule:e,onDelete:t,onCancel:n}){let r=ye();oe(`confirm:no`,n,{context:`Confirmation`});let i=(0,$.jsxs)(S,{flexDirection:`column`,marginX:2,children:[(0,$.jsx)(C,{bold:!0,children:R(e.ruleValue)}),(0,$.jsx)(ke,{ruleValue:e.ruleValue}),(0,$.jsx)(Ke,{rule:e})]}),a=(0,$.jsx)(S,{marginLeft:3,children:r.pending?(0,$.jsxs)(C,{dimColor:!0,children:[`Press `,r.keyName,` again to exit`]}):(0,$.jsx)(C,{dimColor:!0,children:`Esc to cancel`})});return e.source===`policySettings`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{flexDirection:`column`,gap:1,borderStyle:`round`,paddingLeft:1,paddingRight:1,borderColor:`permission`,children:[(0,$.jsx)(C,{bold:!0,color:`permission`,children:`Rule details`}),i,(0,$.jsxs)(C,{italic:!0,children:[`This rule is configured by managed settings and cannot be modified.`,`
2
2
  `,`Contact your system administrator for more information.`]})]}),a]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{flexDirection:`column`,gap:1,borderStyle:`round`,paddingLeft:1,paddingRight:1,borderColor:`error`,children:[(0,$.jsxs)(C,{bold:!0,color:`error`,children:[`Delete `,qe(e.ruleBehavior),` tool?`]}),i,(0,$.jsx)(C,{children:`Are you sure you want to delete this permission rule?`}),(0,$.jsx)(p,{onChange:e=>e===`yes`?t():n(),onCancel:n,options:[{label:`Yes`,value:`yes`},{label:`No`,value:`no`}]})]}),a]})}function Ye(e){let{options:t,searchQuery:n,isSearchMode:r,isFocused:i,onSelect:a,onCancel:o,lastFocusedRuleKey:s,cursorOffset:c,onHeaderFocusChange:l}=e,u=M(),{headerFocused:d,focusHeader:f,blurHeader:m}=w();return(0,Q.useEffect)(()=>{r&&d&&m()},[r,d,m]),(0,Q.useEffect)(()=>{l?.(d)},[d,l]),(0,$.jsxs)(S,{flexDirection:`column`,children:[(0,$.jsx)(S,{marginBottom:1,flexDirection:`column`,children:(0,$.jsx)(k,{query:n,isFocused:r&&!d,isTerminalFocused:i,width:u,cursorOffset:c})}),(0,$.jsx)(p,{options:t,onChange:a,onCancel:o,visibleOptionCount:Math.min(10,t.length),isDisabled:r||d,defaultFocusValue:s,onUpFromFirstItem:f})]})}function Xe({tab:e,getRulesOptions:t,handleToolSelect:n,...r}){return(0,$.jsxs)(S,{flexDirection:`column`,flexShrink:e===`allow`?0:void 0,children:[(0,$.jsx)(C,{children:{allow:`Work Mate won't ask before using allowed tools.`,ask:`Work Mate will always ask for confirmation before using these tools.`,deny:`Work Mate will always reject requests to use denied tools.`}[e]}),(0,$.jsx)(Ye,{options:t(e,r.searchQuery).options,onSelect:t=>n(t,e),...r})]})}function Ze({onExit:e,initialTab:t,onRetryDenials:n}){let a=De().length>0,o=t??(a?`recent`:`allow`),[s,f]=(0,Q.useState)([]),p=ne(e=>e.toolPermissionContext),h=i(),ee=se(),g=(0,Q.useRef)({approved:new Set,retry:new Set,denials:[]}),te=(0,Q.useCallback)(e=>{g.current=e},[]),[_,v]=(0,Q.useState)(),[re,ie]=(0,Q.useState)(),[y,b]=(0,Q.useState)(null),[x,w]=(0,Q.useState)(null),[T,D]=(0,Q.useState)(!1),[O,k]=(0,Q.useState)(null),[A,M]=(0,Q.useState)(!1),[ce,ue]=(0,Q.useState)(!0),N=(0,Q.useCallback)(e=>{ue(e)},[]),P=(0,Q.useMemo)(()=>{let e=new Map;return d(p).forEach(t=>{e.set(L(t),t)}),e},[p]),F=(0,Q.useMemo)(()=>{let e=new Map;return ae(p).forEach(t=>{e.set(L(t),t)}),e},[p]),fe=(0,Q.useMemo)(()=>{let e=new Map;return m(p).forEach(t=>{e.set(L(t),t)}),e},[p]),I=(0,Q.useCallback)((e,t=``)=>{let n=(()=>{switch(e){case`allow`:return P;case`deny`:return F;case`ask`:return fe;case`workspace`:case`recent`:return new Map}})(),i=[];e!==`workspace`&&e!==`recent`&&!t&&i.push({label:`Add a new rule${r.ellipsis}`,value:`add-new-rule`});let a=Array.from(n.keys()).sort((e,t)=>{let r=n.get(e),i=n.get(t);if(r&&i){let e=R(r.ruleValue).toLowerCase(),t=R(i.ruleValue).toLowerCase();return e.localeCompare(t)}return 0}),o=t.toLowerCase();for(let e of a){let r=n.get(e);if(r){let n=R(r.ruleValue);if(t&&!n.toLowerCase().includes(o))continue;i.push({label:n,value:e})}}return{options:i,rulesByKey:n}},[P,F,fe]),pe=ye(),z=!_&&!y&&!x&&!T&&!O,{query:me,setQuery:B,cursorOffset:he}=we({isActive:z&&A,onExit:()=>{M(!1)}}),ge=(0,Q.useCallback)(e=>{z&&(A||e.ctrl||e.meta||(e.key===`/`?(e.preventDefault(),M(!0),B(``)):e.key.length===1&&e.key!==`j`&&e.key!==`k`&&e.key!==`m`&&e.key!==`i`&&e.key!==`r`&&e.key!==` `&&(e.preventDefault(),M(!0),B(e.key))))},[z,A,B]),V=(0,Q.useCallback)((e,t)=>{let{rulesByKey:n}=I(t);if(e===`add-new-rule`){b(t);return}else{v(n.get(e));return}},[I]),_e=(0,Q.useCallback)(()=>{b(null)},[]),ve=(0,Q.useCallback)((e,t)=>{w({ruleValue:e,ruleBehavior:t}),b(null)},[]),be=(0,Q.useCallback)((e,t)=>{w(null);for(let t of e)f(e=>[...e,`Added ${t.ruleBehavior} rule ${E.bold(R(t.ruleValue))}`]);if(t&&t.length>0)for(let e of t){let t=e.shadowType===`deny`?`blocked`:`shadowed`;f(n=>[...n,E.yellow(`${r.warning} Warning: ${R(e.rule.ruleValue)} is ${t}`),E.dim(` ${e.reason}`),E.dim(` Fix: ${e.fix}`)])}},[]),xe=(0,Q.useCallback)(()=>{w(null)},[]),Ce=(0,Q.useCallback)(()=>D(!0),[]),Te=(0,Q.useCallback)(e=>k(e),[]),H=(0,Q.useCallback)(()=>{let t=g.current,r=e=>Array.from(e).map(e=>t.denials[e]).filter(e=>e!==void 0),i=r(t.retry);if(i.length>0){let t=i.map(e=>e.display);n?.(t),e(void 0,{shouldQuery:!0,metaMessages:[`Permission granted for: ${t.join(`, `)}. You may now retry ${t.length===1?`this command`:`these commands`} if you would like.`]});return}let a=r(t.approved);a.length>0||s.length>0?e([...a.length>0?[`Approved ${a.map(e=>E.bold(e.display)).join(`, `)}`]:[],...s].join(`
3
3
  `)):e(`Permissions dialog dismissed`,{display:`system`})},[s,e,n]);oe(`confirm:no`,H,{context:`Settings`,isActive:z&&!A});let Ee=()=>{if(!_)return;let{options:e}=I(_.ruleBehavior),t=L(_),n=e.filter(e=>e.value!==`add-new-rule`).map(e=>e.value),r=n.indexOf(t),i;r!==-1&&(r<n.length-1?i=n[r+1]:r>0&&(i=n[r-1])),ie(i),l({rule:_,initialContext:p,setToolPermissionContext(e){h(t=>({...t,toolPermissionContext:e}))}}),f(e=>[...e,`Deleted ${_.ruleBehavior} rule ${E.bold(R(_.ruleValue))}`]),v(void 0)};if(_)return(0,$.jsx)(Je,{rule:_,onDelete:Ee,onCancel:()=>v(void 0)});if(y&&y!==`workspace`&&y!==`recent`)return(0,$.jsx)(Fe,{onCancel:_e,onSubmit:ve,ruleBehavior:y});if(x)return(0,$.jsx)(Me,{onAddRules:be,onCancel:xe,ruleValues:[x.ruleValue],ruleBehavior:x.ruleBehavior,initialContext:p,setToolPermissionContext:e=>{h(t=>({...t,toolPermissionContext:e}))}});if(T)return(0,$.jsx)(Se,{onAddDirectory:(e,t)=>{let n={type:`addDirectories`,directories:[e],destination:t?`localSettings`:`session`},r=c(p,n);h(e=>({...e,toolPermissionContext:r})),t&&u(n),f(n=>[...n,`Added directory ${E.bold(e)} to workspace${t?` and saved to local settings`:` for this session`}`]),D(!1)},onCancel:()=>D(!1),permissionContext:p});if(O)return(0,$.jsx)(Be,{directoryPath:O,onRemove:()=>{f(e=>[...e,`Removed directory ${E.bold(O)} from workspace`]),k(null)},onCancel:()=>k(null),permissionContext:p,setPermissionContext:e=>{h(t=>({...t,toolPermissionContext:e}))}});let U={searchQuery:me,isSearchMode:A,isFocused:ee,onCancel:H,lastFocusedRuleKey:re,cursorOffset:he,getRulesOptions:I,handleToolSelect:V,onHeaderFocusChange:N};return(0,$.jsx)(S,{flexDirection:`column`,onKeyDown:ge,children:(0,$.jsxs)(de,{color:`permission`,children:[(0,$.jsxs)(le,{title:`Permissions:`,color:`permission`,defaultTab:o,hidden:!!_||!!y||!!x||T||!!O,initialHeaderFocused:!a,navFromContent:!A,children:[(0,$.jsx)(j,{id:`recent`,title:`Recently denied`,children:(0,$.jsx)(Re,{onHeaderFocusChange:N,onStateChange:te})}),(0,$.jsx)(j,{id:`allow`,title:`Allow`,children:(0,$.jsx)(Xe,{tab:`allow`,...U})}),(0,$.jsx)(j,{id:`ask`,title:`Ask`,children:(0,$.jsx)(Xe,{tab:`ask`,...U})}),(0,$.jsx)(j,{id:`deny`,title:`Deny`,children:(0,$.jsx)(Xe,{tab:`deny`,...U})}),(0,$.jsx)(j,{id:`workspace`,title:`Workspace`,children:(0,$.jsxs)(S,{flexDirection:`column`,children:[(0,$.jsx)(C,{children:`Work Mate can read files in the workspace, and make edits when auto-accept edits is on.`}),(0,$.jsx)(Ue,{onExit:e,toolPermissionContext:p,onRequestAddDirectory:Ce,onRequestRemoveDirectory:Te,onHeaderFocusChange:N})]})})]}),(0,$.jsx)(S,{marginTop:1,paddingLeft:1,children:(0,$.jsx)(C,{dimColor:!0,children:pe.pending?(0,$.jsxs)($.Fragment,{children:[`Press `,pe.keyName,` again to exit`]}):ce?(0,$.jsx)($.Fragment,{children:`←/→ tab switch · ↓ return · Esc cancel`}):A?(0,$.jsx)($.Fragment,{children:`Type to filter · Enter/↓ select · ↑ tabs · Esc clear`}):a&&o===`recent`?(0,$.jsx)($.Fragment,{children:`Enter approve · r retry · ↑↓ navigate · ←/→ switch · Esc cancel`}):(0,$.jsx)($.Fragment,{children:`↑↓ navigate · Enter select · Type to search · ←/→ switch · Esc cancel`})})})]})})}var Q,$,Qe=e((()=>{D(),n(),Q=t(T(),1),te(),o(),a(),be(),Te(),N(),re(),Oe(),V(),ee(),pe(),Ce(),Pe(),xe(),Ae(),Le(),ze(),He(),Ge(),$=F()})),$e,et;e((()=>{Qe(),f(),$e=F(),et=async(e,t)=>(0,$e.jsx)(Ze,{onExit:e,onRetryDenials:e=>{t.setMessages(t=>[...t,_(e)])}})}))();export{et as call};