@readmagic/workmate 0.0.3 → 0.0.4

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 (322) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-mANiG0xj.js → AddWorkspaceDirectory-BTC7FPqM.js} +1 -1
  2. package/dist/chunks/{App-aUVaOLeo.js → App-DOm71vtY.js} +1 -1
  3. package/dist/chunks/{ApproveApiKey-36iUE5CW.js → ApproveApiKey-9YQzwrrC.js} +1 -1
  4. package/dist/chunks/ApproveApiKey-LPrZMlgU.js +1 -0
  5. package/dist/chunks/{AssistantSessionChooser-BLcvdkgb.js → AssistantSessionChooser-CnYfFWrx.js} +1 -1
  6. package/dist/chunks/{BackgroundTasksDialog-DyjVt81B.js → BackgroundTasksDialog-D_UHm7xo.js} +1 -1
  7. package/dist/chunks/{BypassPermissionsModeDialog-CTlpvTuz.js → BypassPermissionsModeDialog-DAq-qbqC.js} +1 -1
  8. package/dist/chunks/ClaudeMdExternalIncludesDialog--w2zWWEn.js +1 -0
  9. package/dist/chunks/{ClaudeMdExternalIncludesDialog-5pipE8m8.js → ClaudeMdExternalIncludesDialog-CyvidoR3.js} +1 -1
  10. package/dist/chunks/ConsoleOAuthFlow-BXdC6j3_.js +1 -0
  11. package/dist/chunks/{DesktopHandoff-Blg1TVut.js → DesktopHandoff-gRvy-WlW.js} +1 -1
  12. package/dist/chunks/{DiffDialog-CUEpuocY.js → DiffDialog-CdfVTgOx.js} +1 -1
  13. package/dist/chunks/Doctor-BuiYwjAS.js +1 -0
  14. package/dist/chunks/{Doctor-DlE1Mbb9.js → Doctor-DKlHJBXq.js} +1 -1
  15. package/dist/chunks/{ExitFlow-DCIhnP5h.js → ExitFlow-rExuBL3w.js} +1 -1
  16. package/dist/chunks/{Feedback-CDTqPqsM.js → Feedback-gGpjUC_F.js} +1 -1
  17. package/dist/chunks/{Grove-D9lSG_Lh.js → Grove-CD769Wvw.js} +1 -1
  18. package/dist/chunks/Grove-ENfM8hC6.js +1 -0
  19. package/dist/chunks/{HybridTransport-8j0AviF6.js → HybridTransport-kN1jmg26.js} +1 -1
  20. package/dist/chunks/{InvalidConfigDialog-I3t-0nU3.js → InvalidConfigDialog-BpJub73a.js} +1 -1
  21. package/dist/chunks/{InvalidSettingsDialog-BnthOxGT.js → InvalidSettingsDialog-DzOp3Ihx.js} +1 -1
  22. package/dist/chunks/{MCPConnectionManager-zdocEDgk.js → MCPConnectionManager-CaBvO7NB.js} +1 -1
  23. package/dist/chunks/{McpParsingWarnings-D0XvLirX.js → McpParsingWarnings-Cc6FWyU4.js} +1 -1
  24. package/dist/chunks/{MessageSelector-BBhCstBa.js → MessageSelector-DOB1S2-O.js} +1 -1
  25. package/dist/chunks/{Messages-Dv2VrytX.js → Messages-Clihwd2F.js} +2 -2
  26. package/dist/chunks/{Onboarding-B1WRpoBI.js → Onboarding-D00lTweB.js} +1 -1
  27. package/dist/chunks/{OverageCreditUpsell-BSmgq089.js → OverageCreditUpsell-B-Bf_-UX.js} +1 -1
  28. package/dist/chunks/{PluginSettings-DN9rpwc_.js → PluginSettings-DUxj_oAg.js} +1 -1
  29. package/dist/chunks/{PromptInputFooterSuggestions-3rjz6zhK.js → PromptInputFooterSuggestions-MwS_cExV.js} +1 -1
  30. package/dist/chunks/{PromptInputHelpMenu-DgDJHZqC.js → PromptInputHelpMenu-V2dEpzhC.js} +1 -1
  31. package/dist/chunks/{QueryEngine-BnaHDZVZ.js → QueryEngine-BLcPQYq_.js} +1 -1
  32. package/dist/chunks/{REPL-CA8FEO7J.js → REPL-B_E07dnf.js} +6 -6
  33. package/dist/chunks/REPL-BhURgntS.js +1 -0
  34. package/dist/chunks/{RemoteCallout-BFzCx_Pn.js → RemoteCallout-ChCjmgw1.js} +1 -1
  35. package/dist/chunks/{RemoteSessionManager-BhUrtejX.js → RemoteSessionManager-B43isWQs.js} +1 -1
  36. package/dist/chunks/{ResumeConversation-BseKUFRI.js → ResumeConversation-DaQ9n8_C.js} +1 -1
  37. package/dist/chunks/{SSETransport-DGIytG74.js → SSETransport-h43pQVlJ.js} +1 -1
  38. package/dist/chunks/SearchExtraToolsTool-DSq7beKs.js +1 -0
  39. package/dist/chunks/{Settings-BvhG1XoW.js → Settings-CNsaWv8g.js} +2 -2
  40. package/dist/chunks/{TeleportProgress-Bens06DU.js → TeleportProgress-QtJrXSCX.js} +1 -1
  41. package/dist/chunks/{TeleportRepoMismatchDialog-BtLBCZUe.js → TeleportRepoMismatchDialog-D-HVj-A6.js} +1 -1
  42. package/dist/chunks/{TeleportResumeWrapper-t50LfWyN.js → TeleportResumeWrapper-C6sbzJsJ.js} +1 -1
  43. package/dist/chunks/{ThemePicker-BTfuZZ7E.js → ThemePicker-CqPCp5Hs.js} +1 -1
  44. package/dist/chunks/{TrustDialog-CgE_pYUK.js → TrustDialog-CeVwxDlZ.js} +1 -1
  45. package/dist/chunks/{WelcomeV2-C93xQYAF.js → WelcomeV2-DNiXQ5ES.js} +1 -1
  46. package/dist/chunks/{add-dir-C3IhJYVH.js → add-dir-V3xjklnJ.js} +1 -1
  47. package/dist/chunks/{agentDisplay-Cju-aXCx.js → agentDisplay-BuiwcrQi.js} +1 -1
  48. package/dist/chunks/{agents-Bhg0CtXR.js → agents-D7um1IXM.js} +1 -1
  49. package/dist/chunks/{agents-Du3FQ82k.js → agents-ZY6IaVE7.js} +1 -1
  50. package/dist/chunks/{allErrors-DJYCAtab.js → allErrors-CHVdQ3fT.js} +1 -1
  51. package/dist/chunks/{ant-CVvy4SuO.js → ant-D66LZCap.js} +1 -1
  52. package/dist/chunks/{api-gJBnC8z3.js → api-C-rOQY-l.js} +1 -1
  53. package/dist/chunks/api-Dmn7DUgU.js +1 -0
  54. package/dist/chunks/{assistant-C_SkUDk_.js → assistant-CYF7ch7C.js} +1 -1
  55. package/dist/chunks/auth-C4Rvit2q.js +1 -0
  56. package/dist/chunks/auth-Cj7EX1eG.js +1 -0
  57. package/dist/chunks/{auth-CgEABs3i.js → auth-DAxGNCIR.js} +1 -1
  58. package/dist/chunks/{autoMode-CZyb-mMY.js → autoMode-TysBQkU_.js} +1 -1
  59. package/dist/chunks/{autonomy-DJZ25xZp.js → autonomy-CNEbT-t_.js} +1 -1
  60. package/dist/chunks/{autonomy-BpINX4jw.js → autonomy-k3QPea5z.js} +1 -1
  61. package/dist/chunks/{autonomyPanel-ssoiIOx5.js → autonomyPanel-DiztRblF.js} +1 -1
  62. package/dist/chunks/{backgroundHousekeeping-BHncba6e.js → backgroundHousekeeping-C9m4tiFi.js} +2 -2
  63. package/dist/chunks/backgroundHousekeeping-DQjzXBe0.js +1 -0
  64. package/dist/chunks/{branch-BXo5z2al.js → branch-_NBgDfrK.js} +1 -1
  65. package/dist/chunks/{bridge-CbKc1HeD.js → bridge-DpmFl8p8.js} +2 -2
  66. package/dist/chunks/{bridgeConfig-DbqUHe0H.js → bridgeConfig-DMBOO3gW.js} +1 -1
  67. package/dist/chunks/bridgeConfig-DsI5d0s7.js +1 -0
  68. package/dist/chunks/bridgeEnabled-DZzlF2d8.js +1 -0
  69. package/dist/chunks/{bridgeEnabled-CM3SaumJ.js → bridgeEnabled-FjPuA7zx.js} +1 -1
  70. package/dist/chunks/{bridgeMain-CzhBVCsN.js → bridgeMain-BppY0KW3.js} +6 -6
  71. package/dist/chunks/bridgeMain-BrY4tkF6.js +1 -0
  72. package/dist/chunks/{bridgeMessaging-lfa_v3oi.js → bridgeMessaging-N5zlzCCr.js} +1 -1
  73. package/dist/chunks/{btw-Cp0whJaJ.js → btw-BFRje_Zi.js} +1 -1
  74. package/dist/chunks/caches-BBLH8G1I.js +1 -0
  75. package/dist/chunks/{caches-CmW7idg5.js → caches-CcfPJ4_A.js} +2 -2
  76. package/dist/chunks/{ccrClient-BPXmxWHw.js → ccrClient-q2JCVCU2.js} +1 -1
  77. package/dist/chunks/{clear-DjGPxX7T.js → clear-CxY7W5Wt.js} +1 -1
  78. package/dist/chunks/client-CtVu3BLD.js +1 -0
  79. package/dist/chunks/{color-DYYBN52b.js → color-DOWhfjnA.js} +1 -1
  80. package/dist/chunks/commands-BWw1sQeH.js +1 -0
  81. package/dist/chunks/{commitAttribution-Bmzgtqc6.js → commitAttribution-CLbEIaRJ.js} +1 -1
  82. package/dist/chunks/commitAttribution-DIT_s0vY.js +1 -0
  83. package/dist/chunks/{compact-D6xqZN4Q.js → compact-CaOnQVkH.js} +1 -1
  84. package/dist/chunks/config-DmPGzNmi.js +1 -0
  85. package/dist/chunks/{config-huQaTcNb.js → config-HHTwEsWp.js} +1 -1
  86. package/dist/chunks/{context-Bh_iUj76.js → context-B2OvKo2t.js} +1 -1
  87. package/dist/chunks/context-noninteractive-BilCSCV1.js +1 -0
  88. package/dist/chunks/{context-noninteractive-Cb3EM2Oz.js → context-noninteractive-BuGxX3YL.js} +1 -1
  89. package/dist/chunks/conversation-BWXf3un9.js +1 -0
  90. package/dist/chunks/{conversation-CvCQta8e.js → conversation-awh8AwwL.js} +1 -1
  91. package/dist/chunks/{createSSHSession-B0s839mX.js → createSSHSession-C-c7I5iJ.js} +1 -1
  92. package/dist/chunks/{createSession-VMTMXOHu.js → createSession-D_fIDqgc.js} +1 -1
  93. package/dist/chunks/createSession-Hvpx3Le7.js +1 -0
  94. package/dist/chunks/{crossProjectResume-DGpgCUfk.js → crossProjectResume-_XjvSXA3.js} +1 -1
  95. package/dist/chunks/{datadog-D9rlcN12.js → datadog-Ed8emSFA.js} +1 -1
  96. package/dist/chunks/{desktop-DidI-4N5.js → desktop-D_ofPlyi.js} +1 -1
  97. package/dist/chunks/{diff-CZg5qL2n.js → diff-CUAgBDu1.js} +1 -1
  98. package/dist/chunks/doctor-CkdQ7Fv7.js +1 -0
  99. package/dist/chunks/{effort-BcvNemuq.js → effort-DCgooYMY.js} +1 -1
  100. package/dist/chunks/{entry-dA1UCfC0.js → entry-Bh0gPOAo.js} +1 -1
  101. package/dist/chunks/{envLessBridgeConfig-BFjJ8Kt4.js → envLessBridgeConfig-DJHZAlU-.js} +1 -1
  102. package/dist/chunks/envLessBridgeConfig-sxodu0xO.js +1 -0
  103. package/dist/chunks/{esm-DjGYYlQe.js → esm-B62dCLgf.js} +1 -1
  104. package/dist/chunks/{exit-COMnVxzw.js → exit-CFJR3NfE.js} +1 -1
  105. package/dist/chunks/{extra-usage-BTv_OwGN.js → extra-usage-CjaHpu8y.js} +1 -1
  106. package/dist/chunks/extra-usage-D1Y-3OWQ.js +1 -0
  107. package/dist/chunks/{extra-usage-core-RZMzaH0L.js → extra-usage-core-B6ga8Rni.js} +1 -1
  108. package/dist/chunks/{extra-usage-noninteractive-BB-BQ3kh.js → extra-usage-noninteractive-Dc9AndId.js} +1 -1
  109. package/dist/chunks/{extraUsage-CTn9FWSk.js → extraUsage-2DwLEr26.js} +1 -1
  110. package/dist/chunks/extractMemories-C3qrwpu2.js +1 -0
  111. package/dist/chunks/{fast-CNXgsvnE.js → fast-CW_NsL0x.js} +1 -1
  112. package/dist/chunks/fast-D3CPmUX4.js +1 -0
  113. package/dist/chunks/{feedback-DeJ2gvw2.js → feedback-BpRorTAC.js} +1 -1
  114. package/dist/chunks/{firstPartyEventLogger-CQdJn3LV.js → firstPartyEventLogger-CuUiNdj8.js} +2 -2
  115. package/dist/chunks/firstPartyEventLogger-DPUQnc6J.js +1 -0
  116. package/dist/chunks/{flushGate-CJ73xcaK.js → flushGate-BltVae97.js} +1 -1
  117. package/dist/chunks/{gemini-Cn9bMXwP.js → gemini-YyIxfveQ.js} +1 -1
  118. package/dist/chunks/{generateRecap-BO9kzRon.js → generateRecap-tx4wLIkI.js} +1 -1
  119. package/dist/chunks/{generateSessionName-CGpL6ATy.js → generateSessionName-BkDigIN8.js} +1 -1
  120. package/dist/chunks/{goal-C8Qzl7_i.js → goal-DZrD4puM.js} +1 -1
  121. package/dist/chunks/{grok-CDT9P_BL.js → grok-BZf7W_hL.js} +1 -1
  122. package/dist/chunks/{grove-BGXzEyH9.js → grove-CFBPplP6.js} +1 -1
  123. package/dist/chunks/{heapdump-CFHvdSZv.js → heapdump-DWc3Z2NO.js} +1 -1
  124. package/dist/chunks/{help-DUZ7Y7Em.js → help-pap9jNUJ.js} +1 -1
  125. package/dist/chunks/{hooks-RHwUCXcT.js → hooks-Bmat0L6A.js} +1 -1
  126. package/dist/chunks/hooks-cCAzfabs.js +1 -0
  127. package/dist/chunks/inboundAttachments-DZgSqDwY.js +1 -0
  128. package/dist/chunks/{inboundAttachments-Cfl4_n0S.js → inboundAttachments-DkfNHtF9.js} +1 -1
  129. package/dist/chunks/{initReplBridge-GH3-LHF4.js → initReplBridge-myzllvlk.js} +1 -1
  130. package/dist/chunks/{install-OkuNmjmB.js → install-D4jmHjmk.js} +1 -1
  131. package/dist/chunks/{instrumentation-hrXeo-G4.js → instrumentation-Nqgm1SMw.js} +3 -3
  132. package/dist/chunks/{job-DjmIpwJl.js → job-CT9bcgPb.js} +1 -1
  133. package/dist/chunks/{keybindings-B8U17bhs.js → keybindings-DETOn3qJ.js} +1 -1
  134. package/dist/chunks/{launchAgentsPlatform-DnxH2SAn.js → launchAgentsPlatform-CuRQgd2Q.js} +1 -1
  135. package/dist/chunks/{launchLocalMemory-CgXtGng1.js → launchLocalMemory-CRMqifzn.js} +1 -1
  136. package/dist/chunks/{launchLocalVault-Bs6Km3Ua.js → launchLocalVault-DlKX_oDE.js} +1 -1
  137. package/dist/chunks/{launchMemoryStores-DxVAIJuB.js → launchMemoryStores-CN0ecWpP.js} +1 -1
  138. package/dist/chunks/{launchOnboarding-Cn0t_o2k.js → launchOnboarding-DTdUA_wE.js} +1 -1
  139. package/dist/chunks/{launchSchedule-Chwr3Nzd.js → launchSchedule-psiSLmTA.js} +1 -1
  140. package/dist/chunks/{launchSkillStore-6zxJfWVU.js → launchSkillStore-CQQ00Ads.js} +1 -1
  141. package/dist/chunks/{launchTeleport-Ba_Hj13c.js → launchTeleport-CXFRPVMR.js} +1 -1
  142. package/dist/chunks/{launchVault-hGVrHy33.js → launchVault-Dn6jq0Rc.js} +1 -1
  143. package/dist/chunks/{loadAgentsDir-DrDu5yYy.js → loadAgentsDir-BURvZNN6.js} +38 -38
  144. package/dist/chunks/loadAgentsDir-Db9UTm45.js +1 -0
  145. package/dist/chunks/{loadPluginHooks-s7bvGtns.js → loadPluginHooks-C9A9oS-w.js} +1 -1
  146. package/dist/chunks/{localSearch-_bQhk9W6.js → localSearch-D2Rs8wQP.js} +1 -1
  147. package/dist/chunks/localSearch-hBh1ATr2.js +1 -0
  148. package/dist/chunks/{logoV2Utils-CoC4nheD.js → logoV2Utils-DN9nzdX-.js} +1 -1
  149. package/dist/chunks/{magicDocs-kMjYpjCA.js → magicDocs-DIeTcwAA.js} +1 -1
  150. package/dist/chunks/{main-C_rVSWfm.js → main-CI54PZrG.js} +14 -14
  151. package/dist/chunks/{mappers-D0CNXG32.js → mappers-Q_Z3Kjo-.js} +1 -1
  152. package/dist/chunks/{mcp-1ZuFesM9.js → mcp-CtbhGaLC.js} +1 -1
  153. package/dist/chunks/{mcp-CKvGBEjz.js → mcp-DMacvhqZ.js} +1 -1
  154. package/dist/chunks/{mcp-DtxIl6aN.js → mcp-RvwPC7FB.js} +2 -2
  155. package/dist/chunks/{memory-DE2jtkd_.js → memory-BPN8gW7n.js} +1 -1
  156. package/dist/chunks/{mode-B4WIxCMW.js → mode-Jl_Boaym.js} +1 -1
  157. package/dist/chunks/{model-fi472PRc.js → model-BIVmcl_N.js} +1 -1
  158. package/dist/chunks/{model-j9GNZDFr.js → model-CWBwPvTH.js} +1 -1
  159. package/dist/chunks/model-DlVpqR0P.js +1 -0
  160. package/dist/chunks/{nativeInstaller-DktvrWRd.js → nativeInstaller-8arnRiUO.js} +1 -1
  161. package/dist/chunks/{onChangeAppState-CGVeNkt7.js → onChangeAppState-DBantDJ6.js} +1 -1
  162. package/dist/chunks/{openai-BSVjSJiF.js → openai-yin1iDG8.js} +1 -1
  163. package/dist/chunks/{overageCreditGrant-BVxlYgeU.js → overageCreditGrant-CN_sVURL.js} +1 -1
  164. package/dist/chunks/{panelCall-Cp6fpQeL.js → panelCall-CPKC6VR5.js} +1 -1
  165. package/dist/chunks/{partition-RjCtgt9J.js → partition-CW0BJ881.js} +1 -1
  166. package/dist/chunks/{passes-ByTLy6pj.js → passes-DOm9ukdK.js} +1 -1
  167. package/dist/chunks/{permissions-B3df_htx.js → permissions-CxDJ__l6.js} +1 -1
  168. package/dist/chunks/{pidLock-CdNZ0Wfg.js → pidLock-C69HNTTb.js} +2 -2
  169. package/dist/chunks/{plan-BxTA-b4l.js → plan-B0rEs32a.js} +1 -1
  170. package/dist/chunks/{plugin-DOpl5e1t.js → plugin-BSEMgcGu.js} +1 -1
  171. package/dist/chunks/{pluginAutoupdate-L09CQ-ph.js → pluginAutoupdate-CTByPD8J.js} +1 -1
  172. package/dist/chunks/{pluginBlocklist-B32eWmzn.js → pluginBlocklist-mogKaK0p.js} +1 -1
  173. package/dist/chunks/{pluginCliCommands-CDMWnO3d.js → pluginCliCommands-DQQ7C7kk.js} +1 -1
  174. package/dist/chunks/{pluginFlagging-3FQGvIfq.js → pluginFlagging-mHNff1t9.js} +1 -1
  175. package/dist/chunks/{pluginOperations-ClzXYNQe.js → pluginOperations-JEedVzfS.js} +1 -1
  176. package/dist/chunks/pluginStartupCheck-D7ts2V3p.js +1 -0
  177. package/dist/chunks/{pluginStartupCheck-BNd2QNzZ.js → pluginStartupCheck-RscVZDi4.js} +1 -1
  178. package/dist/chunks/{plugins-CcDG95Bs.js → plugins-Cr03lISA.js} +1 -1
  179. package/dist/chunks/policyLimits-DWtLyJ4n.js +1 -0
  180. package/dist/chunks/{print-Cc_QOSPF.js → print-CZUmAzmt.js} +4 -4
  181. package/dist/chunks/{privacy-settings-ChNsgGUs.js → privacy-settings-CwJ1H8Ua.js} +1 -1
  182. package/dist/chunks/{processBashCommand-Bx6_oZoE.js → processBashCommand-aKNneP2u.js} +1 -1
  183. package/dist/chunks/{processSlashCommand-AltWgIFt.js → processSlashCommand-BcPnWNxZ.js} +1 -1
  184. package/dist/chunks/prompt-CIyhCdkE.js +1 -0
  185. package/dist/chunks/{prompt-C0nU0VK3.js → prompt-DNDgGM9q.js} +1 -1
  186. package/dist/chunks/prompt-DRhjinu2.js +1 -0
  187. package/dist/chunks/{promptEditor-Cumef6hJ.js → promptEditor-DMJyosKj.js} +1 -1
  188. package/dist/chunks/{rate-limit-options-VL7S3SCx.js → rate-limit-options--Y3oF1g0.js} +1 -1
  189. package/dist/chunks/{rcDebugLog-2-1XSyFV.js → rcDebugLog-DoL1FpGJ.js} +1 -1
  190. package/dist/chunks/{reconciler-DHRE_gV2.js → reconciler-CJcSh6xo.js} +1 -1
  191. package/dist/chunks/{referral-DrebVwqx.js → referral-UKJv23_5.js} +1 -1
  192. package/dist/chunks/{refresh-pFezssA8.js → refresh-ul_i5R1a.js} +1 -1
  193. package/dist/chunks/{release-notes-D7vrFNXp.js → release-notes-CGv_6MMt.js} +1 -1
  194. package/dist/chunks/{releaseNotes-CDx2P0fb.js → releaseNotes-BKZNuDLD.js} +1 -1
  195. package/dist/chunks/{reload-plugins-CltHfg-l.js → reload-plugins-2W11dpLQ.js} +1 -1
  196. package/dist/chunks/{remote-env-SvvSuP0J.js → remote-env-D9xsoBfx.js} +1 -1
  197. package/dist/chunks/{remoteBridgeCore-BOeljn2c.js → remoteBridgeCore-asY9JAXU.js} +1 -1
  198. package/dist/chunks/{remoteManagedSettings-CaY_ZH8r.js → remoteManagedSettings-Bxo3bv1U.js} +1 -1
  199. package/dist/chunks/{rename-CbqrCCBO.js → rename-CHsHMWpO.js} +1 -1
  200. package/dist/chunks/{resume-DockJaY9.js → resume-NduOaghx.js} +1 -1
  201. package/dist/chunks/{runtimeObserver-XufSllVw.js → runtimeObserver-BXbjibFk.js} +2 -2
  202. package/dist/chunks/{runtimeObserver-DSUuYKfs.js → runtimeObserver-Bo80nWQf.js} +1 -1
  203. package/dist/chunks/sandbox-adapter-DDfVl_2V.js +1 -0
  204. package/dist/chunks/{sandbox-toggle-CZI5fuK3.js → sandbox-toggle-C-WCDRN4.js} +1 -1
  205. package/dist/chunks/searchExtraTools-BHWzsbNO.js +1 -0
  206. package/dist/chunks/{session-B-Z3DU9o.js → session-pDd13-wE.js} +1 -1
  207. package/dist/chunks/{sessionDiscovery-C3pMZkBM.js → sessionDiscovery-CSUnpsCy.js} +1 -1
  208. package/dist/chunks/sessionFileAccessHooks-BZvxeufx.js +1 -0
  209. package/dist/chunks/{sessionMemory-CqRpgwtU.js → sessionMemory-CAmpw2yb.js} +1 -1
  210. package/dist/chunks/sessionMemory-DT0IkiA1.js +1 -0
  211. package/dist/chunks/sessionMemoryUtils-B4kGNH4j.js +1 -0
  212. package/dist/chunks/{sessionObserver-B_09FQKV.js → sessionObserver-Ur7PqKl_.js} +1 -1
  213. package/dist/chunks/sessionObserver-oIkwTidC.js +1 -0
  214. package/dist/chunks/sessionStorage-DqARUj0K.js +1 -0
  215. package/dist/chunks/{sessionTitle-CmLWNFuX.js → sessionTitle-pWMaI79N.js} +1 -1
  216. package/dist/chunks/{sessionTracing-lArOaj9u.js → sessionTracing-CCPRzOvy.js} +1 -1
  217. package/dist/chunks/{settingsSync-BlDk6rsM.js → settingsSync-D_4P3Esd.js} +1 -1
  218. package/dist/chunks/{setup-DdbmxSZh.js → setup-JHvhWKh9.js} +2 -2
  219. package/dist/chunks/{shadowedRuleDetection-E2wF1UjU.js → shadowedRuleDetection-Chi3afMR.js} +1 -1
  220. package/dist/chunks/{sideQuestion-BjHCLSR9.js → sideQuestion-D03MXdE2.js} +1 -1
  221. package/dist/chunks/{sinks-Cb--pqr-.js → sinks-B4_pw0Gb.js} +2 -2
  222. package/dist/chunks/sinks-Cro1Y8C2.js +1 -0
  223. package/dist/chunks/{skill-learning-B0dyBT1_.js → skill-learning-7ZQF5JvA.js} +1 -1
  224. package/dist/chunks/{skillChangeDetector-DQof8SUY.js → skillChangeDetector-uCaYrerZ.js} +1 -1
  225. package/dist/chunks/{skillGapStore-D2fqmnKx.js → skillGapStore-BND2Lq0Z.js} +1 -1
  226. package/dist/chunks/{skillGapStore-75ZYlfwi.js → skillGapStore-z3LP64O-.js} +2 -2
  227. package/dist/chunks/{skillGenerator-CwXUfM4Y.js → skillGenerator-DaNb-yKH.js} +2 -2
  228. package/dist/chunks/skillLearning-GZxYPlyl.js +1 -0
  229. package/dist/chunks/{skillLearning-CB-5fdMl.js → skillLearning-rMX1bSBa.js} +1 -1
  230. package/dist/chunks/{skillPanel-Bum7xpgo.js → skillPanel-q7GPSQ6_.js} +3 -3
  231. package/dist/chunks/{skillSearchPanel-LSPwZIOw.js → skillSearchPanel-oj8gy1ZL.js} +2 -2
  232. package/dist/chunks/{skills-G8WBeffd.js → skills-QqbeFP0s.js} +1 -1
  233. package/dist/chunks/{status-i5beKggW.js → status-BEIsLmfj.js} +1 -1
  234. package/dist/chunks/{status-ClSsvm1N.js → status-DW3Z_7xa.js} +1 -1
  235. package/dist/chunks/{statusNoticeHelpers-BK-54uGY.js → statusNoticeHelpers-CaHS8xig.js} +1 -1
  236. package/dist/chunks/{tag-DYYq4H_i.js → tag-CRg93Die.js} +1 -1
  237. package/dist/chunks/{tasks-BySzm_YJ.js → tasks-BEohK1ij.js} +1 -1
  238. package/dist/chunks/{teleport-dxtBcM01.js → teleport-4Srg5vcP.js} +1 -1
  239. package/dist/chunks/{templateJobs-CT5VxeRr.js → templateJobs-DYP1fjYU.js} +1 -1
  240. package/dist/chunks/{theme-CVTVsRwt.js → theme-kNL4kl_3.js} +1 -1
  241. package/dist/chunks/{thinkback-CXsRbDYN.js → thinkback-gV-sKkMM.js} +1 -1
  242. package/dist/chunks/thinkback-hc5eJ9ul.js +1 -0
  243. package/dist/chunks/{thinkback-play-BhfCaIye.js → thinkback-play-BpWMqbgJ.js} +1 -1
  244. package/dist/chunks/{toolEventObserver-DdhPsAs1.js → toolEventObserver-C98uraqD.js} +1 -1
  245. package/dist/chunks/{toolEventObserver--4fqXxQZ.js → toolEventObserver-ar5NDa0M.js} +1 -1
  246. package/dist/chunks/{toolPool-DvHECcbN.js → toolPool-CNYKDRq5.js} +1 -1
  247. package/dist/chunks/trustedDevice-0dehm9qz.js +1 -0
  248. package/dist/chunks/{trustedDevice-DvpN4J1F.js → trustedDevice-BBKUhCCL.js} +1 -1
  249. package/dist/chunks/{ultrareviewCommand-i3PfFKly.js → ultrareviewCommand-yXlFsMnv.js} +1 -1
  250. package/dist/chunks/{undercover-Q24TWRw0.js → undercover-BTIRVF1t.js} +1 -1
  251. package/dist/chunks/undercover-CG_269xD.js +1 -0
  252. package/dist/chunks/{updateCCB-CEXA6dax.js → updateCCB-B2xAJ4Nr.js} +1 -1
  253. package/dist/chunks/upgrade-J7lKLkD2.js +1 -0
  254. package/dist/chunks/{upgrade-7OrBbrzS.js → upgrade-yNl7EO4e.js} +1 -1
  255. package/dist/chunks/{upload-B-lNHpWe.js → upload-BWVIHmMB.js} +1 -1
  256. package/dist/chunks/{usage-CZdPfUqP.js → usage-B2PbCUMi.js} +1 -1
  257. package/dist/chunks/usage-Ck8Cu45g.js +1 -0
  258. package/dist/chunks/{useExitOnCtrlCDWithKeybindings-CzFtdlnD.js → useExitOnCtrlCDWithKeybindings-CV4GZ-sq.js} +1 -1
  259. package/dist/chunks/useMainLoopModel-CO4yBjRM.js +1 -0
  260. package/dist/chunks/{useManagePlugins-BkK1zydO.js → useManagePlugins-BzFKIDrD.js} +1 -1
  261. package/dist/chunks/{useMergedTools-DMGRA1ga.js → useMergedTools-CRLWSGDl.js} +1 -1
  262. package/dist/chunks/{useSearchInput-D5VU9IDU.js → useSearchInput-BzGq4t7t.js} +1 -1
  263. package/dist/chunks/{useSettingsErrors-B5PSF1va.js → useSettingsErrors-CSemUjj1.js} +1 -1
  264. package/dist/chunks/{util-CNa1ib_4.js → util-BnReK81E.js} +1 -1
  265. package/dist/chunks/{validatePlugin-Dw-RGCrm.js → validatePlugin-D6sPqea1.js} +1 -1
  266. package/dist/chunks/{workerRegistry-B2QD2sKq.js → workerRegistry-CUXbNyL9.js} +1 -1
  267. package/dist/chunks/worktree-89ttIVxH.js +1 -0
  268. package/dist/cli.js +1 -1
  269. package/package.json +2 -6
  270. package/dist/chunks/ApproveApiKey-DPdcp1CQ.js +0 -1
  271. package/dist/chunks/ClaudeMdExternalIncludesDialog-Dn7Le--z.js +0 -1
  272. package/dist/chunks/ConsoleOAuthFlow-BDr1Vx5K.js +0 -1
  273. package/dist/chunks/Doctor-B540I-gq.js +0 -1
  274. package/dist/chunks/Grove-DLYXL8hv.js +0 -1
  275. package/dist/chunks/REPL-B3RbzeV7.js +0 -1
  276. package/dist/chunks/SearchExtraToolsTool-h6OunbMd.js +0 -1
  277. package/dist/chunks/api-CI8HXREw.js +0 -1
  278. package/dist/chunks/auth-B9V3i5oZ.js +0 -1
  279. package/dist/chunks/auth-fSFfSKy_.js +0 -1
  280. package/dist/chunks/backgroundHousekeeping-QK8iEXoI.js +0 -1
  281. package/dist/chunks/bridgeConfig-CLHy-BiF.js +0 -1
  282. package/dist/chunks/bridgeEnabled-BWSUZ7Xg.js +0 -1
  283. package/dist/chunks/bridgeMain-BESKzpm0.js +0 -1
  284. package/dist/chunks/caches-CpqTC0Lb.js +0 -1
  285. package/dist/chunks/client-DPUvQ6Rf.js +0 -1
  286. package/dist/chunks/commands-D7l3P1k9.js +0 -1
  287. package/dist/chunks/commitAttribution-B7NUPJ8E.js +0 -1
  288. package/dist/chunks/config-qLaiAn7z.js +0 -1
  289. package/dist/chunks/context-noninteractive-CNot6jbs.js +0 -1
  290. package/dist/chunks/conversation-CSpwF3Ha.js +0 -1
  291. package/dist/chunks/createSession-GNSNbUbN.js +0 -1
  292. package/dist/chunks/doctor-CKUXGCri.js +0 -1
  293. package/dist/chunks/envLessBridgeConfig-bei51W3H.js +0 -1
  294. package/dist/chunks/extra-usage-By33zGLT.js +0 -1
  295. package/dist/chunks/extractMemories-CXGZGe0h.js +0 -1
  296. package/dist/chunks/fast-BXzdzzXU.js +0 -1
  297. package/dist/chunks/firstPartyEventLogger-CdLshdJY.js +0 -1
  298. package/dist/chunks/hooks-fZ1r0jUF.js +0 -1
  299. package/dist/chunks/inboundAttachments-YMxf4fmR.js +0 -1
  300. package/dist/chunks/loadAgentsDir-BHOyHxwz.js +0 -1
  301. package/dist/chunks/localSearch-CebU5BA9.js +0 -1
  302. package/dist/chunks/model-C4RHNhDQ.js +0 -1
  303. package/dist/chunks/pluginStartupCheck-RiZxW-WU.js +0 -1
  304. package/dist/chunks/policyLimits-Bwi9VqDF.js +0 -1
  305. package/dist/chunks/prompt-CYx145pp.js +0 -1
  306. package/dist/chunks/prompt-DH3lKFag.js +0 -1
  307. package/dist/chunks/sandbox-adapter-CEZnHq0U.js +0 -1
  308. package/dist/chunks/searchExtraTools-iQfI39wB.js +0 -1
  309. package/dist/chunks/sessionFileAccessHooks-DyrZmoA7.js +0 -1
  310. package/dist/chunks/sessionMemory-D_HQmhj7.js +0 -1
  311. package/dist/chunks/sessionMemoryUtils-CZOIKrn0.js +0 -1
  312. package/dist/chunks/sessionObserver-B400YG3s.js +0 -1
  313. package/dist/chunks/sessionStorage-DRnvtrpU.js +0 -1
  314. package/dist/chunks/sinks-DbwDBd-E.js +0 -1
  315. package/dist/chunks/skillLearning-CSY5R5Jn.js +0 -1
  316. package/dist/chunks/thinkback-B-GpXG9U.js +0 -1
  317. package/dist/chunks/trustedDevice-e6iF1X7C.js +0 -1
  318. package/dist/chunks/undercover-CPvoDtJ1.js +0 -1
  319. package/dist/chunks/upgrade-uR7SIVtx.js +0 -1
  320. package/dist/chunks/usage-7jOeIVv9.js +0 -1
  321. package/dist/chunks/useMainLoopModel-DegH12LZ.js +0 -1
  322. package/dist/chunks/worktree-D38cJ23W.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e,i as t,n,o as r,r as i,t as a}from"./rolldown-runtime-DaDcL9Zw.js";import{n as o,t as s}from"./memoize-BK3gG5ob.js";import{a as c,d as l,f as u,l as d,o as f,s as p,u as m}from"./envUtils-DSxRz_kt.js";import{n as h,t as g}from"./defineProperty-C-QyHrDq.js";import{n as ee,t as te}from"./axios-DaWTGg7G.js";import{B as ne,D as re,I as ie,Lt as ae,P as oe,R as se,T as _,di as v,fi as ce,rr as le,t as ue,ui as y,xr as de,y as fe}from"./src-CDCSSo0U2.js";import{t as pe}from"./jsx-runtime-Bb4Xn-E0.js";import{A as me,E as he,M as b,N as ge,P as _e,d as ve,f as ye,h as be,n as xe,r as x,t as Se}from"./lazySchema-DcIJE_0i.js";import{An as Ce,En as we,F as Te,Gn as Ee,Mn as De,Nn as Oe,Or as ke,Pn as Ae,Sn as je,Un as Me,Wn as Ne,X as Pe,Zn as Fe,ar as Ie,cr as Le,dr as S,en as C,gn as w,gr as Re,ht as ze,jn as Be,kr as Ve,lr as He,mn as Ue,mt as We,nt as Ge,or as Ke,pr as qe,pt as Je,qt as Ye,rr as T,ur as Xe,vr as Ze,xn as Qe,yn as $e,z as et}from"./state-ix0xIunV.js";import{AE as tt,AO as nt,A_ as rt,Ao as it,At as at,Ay as ot,BS as st,By as ct,C as lt,C_ as ut,Ch as dt,Cr as ft,Ds as pt,Dt as mt,Es as E,Et as ht,Ex as gt,FE as _t,FS as vt,F_ as yt,Fc as bt,Fi as xt,Fl as St,G_ as Ct,Ga as wt,Gd as Tt,Gp as Et,HC as Dt,HS as Ot,HT as kt,Ha as At,Hi as jt,Hy as Mt,I as Nt,I_ as Pt,Il as Ft,J_ as It,KO as Lt,KS as Rt,Ka as zt,Ky as Bt,LC as Vt,LD as Ht,LE as Ut,LO as Wt,LS as Gt,L_ as Kt,Lc as qt,Ln as Jt,Ly as Yt,MC as Xt,MD as Zt,MO as D,M_ as Qt,Mb as $t,N as en,Nb as tn,Nn as nn,Ny as rn,O as an,Of as on,PS as O,P_ as k,Pi as sn,Q_ as cn,Qi as A,Ql as ln,Qy as un,RC as dn,RD as fn,RS as pn,R_ as mn,Rl as hn,Rn as gn,Ry as _n,S_ as vn,Sh as yn,So as bn,T as xn,TC as Sn,TD as Cn,Ti as wn,Tl as Tn,Ts as En,Tx as Dn,UC as On,UO as kn,US as An,U_ as jn,Ua as Mn,Uy as Nn,VE as j,V_ as Pn,Va as Fn,Vl as In,Vy as Ln,WT as Rn,W_ as zn,Wa as Bn,Wd as Vn,Wp as Hn,Wy as Un,XE as Wn,Xn as Gn,Xr as Kn,Xu as qn,Xy as Jn,Ya as Yn,Yi as Xn,Yu as Zn,ZE as Qn,Zl as $n,Zy as er,_C as tr,_D as nr,__ as rr,_a as ir,_h as ar,_m as or,_x as sr,a_ as cr,af as lr,at as ur,bD as dr,bO as fr,b_ as pr,bm as mr,bx as hr,by as gr,cE as _r,cS as vr,c_ as yr,cc as br,cd as xr,cs as Sr,cw as Cr,dC as wr,d_ as Tr,dg as Er,dw as Dr,dy as Or,ed as kr,ev as Ar,f as jr,fC as Mr,fE as Nr,f_ as Pr,fg as Fr,fs as Ir,fy as Lr,gC as Rr,g_ as zr,ga as M,gf as Br,gi as Vr,gx as Hr,hC as Ur,hD as Wr,h_ as Gr,ha as N,i as Kr,if as qr,ig as Jr,j as Yr,jD as Xr,jE as Zr,jr as Qr,jy as $r,k as ei,kE as ti,kf as ni,l_ as ri,ld as ii,lw as ai,mC as oi,mS as si,m_ as ci,mf as li,ms as ui,mw as di,ns as fi,o as pi,oD as mi,ot as hi,pD as gi,p_ as _i,qS as vi,q_ as yi,qi as bi,qy as xi,r as Si,r_ as Ci,s as wi,s_ as Ti,sw as Ei,td as Di,ts as Oi,uC as P,uD as ki,u_ as Ai,uc as ji,ug as Mi,v as Ni,vC as Pi,v_ as Fi,va as Ii,vh as Li,vm as Ri,w as zi,wC as Bi,wD as Vi,w_ as Hi,wi as Ui,wl as Wi,ws as Gi,wt as Ki,x_ as qi,xh as Ji,xy as Yi,y as Xi,yC as Zi,yO as Qi,ya as $i,yh as ea,yo as ta,yr as na,yx as ra,yy as ia,zE as aa,zS as oa,z_ as sa,zo as ca,zy as la}from"./loadAgentsDir-DrDu5yYy.js";import{n as ua,t as da}from"./cwd-CYmmnQVS.js";import{C as fa,E as pa,F,I as ma,N as ha,S as ga,V as _a,W as va,_ as ya,a as ba,d as xa,k as Sa,l as I,n as Ca,nt as wa,p as Ta,r as Ea,rt as Da,u as Oa,w as ka,z as Aa}from"./debug-BrXObCdR.js";import{C as ja,D as Ma,E as Na,Ft as Pa,G as Fa,K as Ia,Q as La,_n as Ra,b as za,c as Ba,dn as Va,f as Ha,g as L,gn as Ua,h as Wa,i as Ga,n as Ka,nt as qa,pn as Ja,s as Ya,u as Xa,y as R,yn as Za}from"./settings-DfWP5y6X.js";import{D as Qa,E as $a,I as eo,P as to,_ as no,b as z,c as B,g as V,j as ro,m as io,n as ao,o as oo,r as so,s as co,v as lo,y as uo}from"./config-DiT2Z8dY.js";import{a as fo,n as po,r as mo}from"./process-gEbdy6uY.js";import{M as H,_ as ho,d as go,h as _o,i as vo,j as yo,p as bo,r as xo}from"./git-Do0wJvux.js";import{c as So,o as Co}from"./execFileNoThrow-D244NytW.js";import{d as wo,f as To,o as Eo,s as U}from"./log-BMCygSzM.js";import{n as Do,t as Oo}from"./which-CKQnSouy.js";import{i as ko,o as Ao}from"./platform-BrYefG_2.js";import{i as jo,o as Mo}from"./windowsPaths-DtapVxOo.js";import{s as No,u as Po}from"./types-C-MRCL8J.js";import{n as W,r as G}from"./analytics-BotDBGh0.js";import{a as Fo,b as Io,d as Lo,i as K,n as Ro}from"./startupProfiler-xa3NmN7Z.js";import{l as zo,s as Bo,u as Vo}from"./oauth-BqJqV-2M.js";import{n as Ho,t as Uo}from"./bundledMode--fG1S62b.js";import{l as Wo,o as Go}from"./stringUtils-DGLPkqJ4.js";import{r as Ko}from"./permissions-Cn_6f8CB.js";import{Ar as qo,Bt as Jo,C as Yo,Hn as Xo,It as Zo,Kr as Qo,Mn as $o,On as es,Q as ts,S as ns,Sn as rs,St as is,Ur as as,Vt as os,Xn as ss,Yn as cs,Zt as ls,_ as us,an as ds,ar as fs,b as ps,bn as ms,di as hs,dr as gs,dt as _s,en as vs,fi as ys,fr as bs,g as xs,ir as Ss,it as Cs,kr as ws,kt as Ts,li as Es,lr as Ds,mi as Os,mn as ks,o as As,on as js,qn as Ms,tn as Ns,tt as Ps,ur as Fs,ut as Is,v as Ls,xn as Rs}from"./model-fi472PRc.js";import{f as zs,h as Bs,l as Vs,n as Hs}from"./proxy-CRN7jYIi.js";import{Bt as Us,Et as Ws,Pt as Gs,Rt as Ks,Tt as qs,Ut as Js,Vt as Ys,dt as Xs,ft as Zs,ut as Qs,zt as $s}from"./prompt-C0nU0VK3.js";import{dt as ec,ft as tc}from"./esm-DjGYYlQe.js";import{n as nc,t as rc}from"./partition-RjCtgt9J.js";import{a as ic,n as ac}from"./ripgrep-BXmXjAzA.js";import{C as oc,D as sc,O as cc,y as lc}from"./rcDebugLog-2-1XSyFV.js";import{D as uc,O as dc,_ as fc,v as pc}from"./sessionTracing-lArOaj9u.js";import{l as mc,r as hc}from"./commitAttribution-Bmzgtqc6.js";import{i as gc,n as _c,o as vc,r as yc}from"./detectRepository-BPr0VWNO.js";import{l as bc,o as xc,r as Sc}from"./api-gJBnC8z3.js";import{d as Cc,f as wc,l as Tc,p as Ec,u as Dc}from"./firstPartyEventLogger-CQdJn3LV.js";import{c as Oc,s as kc}from"./referral-DrebVwqx.js";import{n as Ac,t as jc}from"./worktreeModeEnabled-BFOYTTTr.js";import{i as Mc,t as Nc}from"./assistant-C83quuNj.js";import{c as Pc,l as Fc}from"./releaseNotes-CDx2P0fb.js";import{a as Ic,o as Lc}from"./grove-BGXzEyH9.js";import{a as Rc,i as zc,n as Bc,o as Vc,r as Hc}from"./remoteManagedSettings-CaY_ZH8r.js";import{n as Uc,t as Wc}from"./allErrors-DJYCAtab.js";import{n as Gc,t as q}from"./exit-BOhGfSlm.js";import{n as Kc,s as qc,t as Jc}from"./pluginOperations-ClzXYNQe.js";import"./pluginCliCommands-CDMWnO3d.js";import{n as Yc}from"./onChangeAppState-CGVeNkt7.js";import{n as Xc}from"./asciicast-CbAjUHT_.js";import{i as Zc,t as Qc}from"./skillChangeDetector-DQof8SUY.js";import{n as $c}from"./stats-DmFubHpI.js";import{t as el}from"./renderOptions-BUJB9nAm.js";import{i as tl,n as nl,t as rl}from"./githubRepoPathMapping-C4umZ1oC.js";import{i as il,n as al}from"./earlyInput-BTC_Wucv.js";import{t as ol}from"./banner-CWkrK10u.js";import{c as sl,n as cl,r as ll,u as ul}from"./RemoteSessionManager-BhUrtejX.js";import{posix as dl,relative as fl,resolve as pl,win32 as ml}from"path";import{appendFileSync as hl,readFileSync as gl}from"fs";import{open as _l,stat as vl}from"fs/promises";var yl=a((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),bl=a((e=>{var{InvalidArgumentError:t}=yl(),n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),xl=a((e=>{var{humanReadableArgName:t}=bl(),n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
1
+ import{a as e,i as t,n,o as r,r as i,t as a}from"./rolldown-runtime-DaDcL9Zw.js";import{n as o,t as s}from"./memoize-BK3gG5ob.js";import{a as c,d as l,f as u,l as d,o as f,s as p,u as m}from"./envUtils-DSxRz_kt.js";import{n as h,t as g}from"./defineProperty-C-QyHrDq.js";import{n as ee,t as te}from"./axios-DaWTGg7G.js";import{B as ne,D as re,I as ie,Lt as ae,P as oe,R as se,T as _,di as v,fi as ce,rr as le,t as ue,ui as y,xr as de,y as fe}from"./src-CDCSSo0U2.js";import{t as pe}from"./jsx-runtime-Bb4Xn-E0.js";import{A as me,E as he,M as b,N as ge,P as _e,d as ve,f as ye,h as be,n as xe,r as x,t as Se}from"./lazySchema-DcIJE_0i.js";import{An as Ce,En as we,F as Te,Gn as Ee,Mn as De,Nn as Oe,Or as ke,Pn as Ae,Sn as je,Un as Me,Wn as Ne,X as Pe,Zn as Fe,ar as Ie,cr as Le,dr as S,en as C,gn as w,gr as Re,ht as ze,jn as Be,kr as Ve,lr as He,mn as Ue,mt as We,nt as Ge,or as Ke,pr as qe,pt as Je,qt as Ye,rr as T,ur as Xe,vr as Ze,xn as Qe,yn as $e,z as et}from"./state-ix0xIunV.js";import{AE as tt,AO as nt,A_ as rt,Ao as it,At as at,Ay as ot,BS as st,By as ct,C as lt,C_ as ut,Ch as dt,Cr as ft,Ds as pt,Dt as mt,Es as E,Et as ht,Ex as gt,FE as _t,FS as vt,F_ as yt,Fc as bt,Fi as xt,Fl as St,G_ as Ct,Ga as wt,Gd as Tt,Gp as Et,HC as Dt,HS as Ot,HT as kt,Ha as At,Hi as jt,Hy as Mt,I as Nt,I_ as Pt,Il as Ft,J_ as It,KO as Lt,KS as Rt,Ka as zt,Ky as Bt,LC as Vt,LD as Ht,LE as Ut,LO as Wt,LS as Gt,L_ as Kt,Lc as qt,Ln as Jt,Ly as Yt,MC as Xt,MD as Zt,MO as D,M_ as Qt,Mb as $t,N as en,Nb as tn,Nn as nn,Ny as rn,O as an,Of as on,PS as O,P_ as k,Pi as sn,Q_ as cn,Qi as A,Ql as ln,Qy as un,RC as dn,RD as fn,RS as pn,R_ as mn,Rl as hn,Rn as gn,Ry as _n,S_ as vn,Sh as yn,So as bn,T as xn,TC as Sn,TD as Cn,Ti as wn,Tl as Tn,Ts as En,Tx as Dn,UC as On,UO as kn,US as An,U_ as jn,Ua as Mn,Uy as Nn,VE as j,V_ as Pn,Va as Fn,Vl as In,Vy as Ln,WT as Rn,W_ as zn,Wa as Bn,Wd as Vn,Wp as Hn,Wy as Un,XE as Wn,Xn as Gn,Xr as Kn,Xu as qn,Xy as Jn,Ya as Yn,Yi as Xn,Yu as Zn,ZE as Qn,Zl as $n,Zy as er,_C as tr,_D as nr,__ as rr,_a as ir,_h as ar,_m as or,_x as sr,a_ as cr,af as lr,at as ur,bD as dr,bO as fr,b_ as pr,bm as mr,bx as hr,by as gr,cE as _r,cS as vr,c_ as yr,cc as br,cd as xr,cs as Sr,cw as Cr,dC as wr,d_ as Tr,dg as Er,dw as Dr,dy as Or,ed as kr,ev as Ar,f as jr,fC as Mr,fE as Nr,f_ as Pr,fg as Fr,fs as Ir,fy as Lr,gC as Rr,g_ as zr,ga as M,gf as Br,gi as Vr,gx as Hr,hC as Ur,hD as Wr,h_ as Gr,ha as N,i as Kr,if as qr,ig as Jr,j as Yr,jD as Xr,jE as Zr,jr as Qr,jy as $r,k as ei,kE as ti,kf as ni,l_ as ri,ld as ii,lw as ai,mC as oi,mS as si,m_ as ci,mf as li,ms as ui,mw as di,ns as fi,o as pi,oD as mi,ot as hi,pD as gi,p_ as _i,qS as vi,q_ as yi,qi as bi,qy as xi,r as Si,r_ as Ci,s as wi,s_ as Ti,sw as Ei,td as Di,ts as Oi,uC as P,uD as ki,u_ as Ai,uc as ji,ug as Mi,v as Ni,vC as Pi,v_ as Fi,va as Ii,vh as Li,vm as Ri,w as zi,wC as Bi,wD as Vi,w_ as Hi,wi as Ui,wl as Wi,ws as Gi,wt as Ki,x_ as qi,xh as Ji,xy as Yi,y as Xi,yC as Zi,yO as Qi,ya as $i,yh as ea,yo as ta,yr as na,yx as ra,yy as ia,zE as aa,zS as oa,z_ as sa,zo as ca,zy as la}from"./loadAgentsDir-BURvZNN6.js";import{n as ua,t as da}from"./cwd-CYmmnQVS.js";import{C as fa,E as pa,F,I as ma,N as ha,S as ga,V as _a,W as va,_ as ya,a as ba,d as xa,k as Sa,l as I,n as Ca,nt as wa,p as Ta,r as Ea,rt as Da,u as Oa,w as ka,z as Aa}from"./debug-BrXObCdR.js";import{C as ja,D as Ma,E as Na,Ft as Pa,G as Fa,K as Ia,Q as La,_n as Ra,b as za,c as Ba,dn as Va,f as Ha,g as L,gn as Ua,h as Wa,i as Ga,n as Ka,nt as qa,pn as Ja,s as Ya,u as Xa,y as R,yn as Za}from"./settings-DfWP5y6X.js";import{D as Qa,E as $a,I as eo,P as to,_ as no,b as z,c as B,g as V,j as ro,m as io,n as ao,o as oo,r as so,s as co,v as lo,y as uo}from"./config-DiT2Z8dY.js";import{a as fo,n as po,r as mo}from"./process-gEbdy6uY.js";import{M as H,_ as ho,d as go,h as _o,i as vo,j as yo,p as bo,r as xo}from"./git-Do0wJvux.js";import{c as So,o as Co}from"./execFileNoThrow-D244NytW.js";import{d as wo,f as To,o as Eo,s as U}from"./log-BMCygSzM.js";import{n as Do,t as Oo}from"./which-CKQnSouy.js";import{i as ko,o as Ao}from"./platform-BrYefG_2.js";import{i as jo,o as Mo}from"./windowsPaths-DtapVxOo.js";import{s as No,u as Po}from"./types-C-MRCL8J.js";import{n as W,r as G}from"./analytics-BotDBGh0.js";import{a as Fo,b as Io,d as Lo,i as K,n as Ro}from"./startupProfiler-xa3NmN7Z.js";import{l as zo,s as Bo,u as Vo}from"./oauth-BqJqV-2M.js";import{n as Ho,t as Uo}from"./bundledMode--fG1S62b.js";import{l as Wo,o as Go}from"./stringUtils-DGLPkqJ4.js";import{r as Ko}from"./permissions-Cn_6f8CB.js";import{Ar as qo,Bt as Jo,C as Yo,Hn as Xo,It as Zo,Kr as Qo,Mn as $o,On as es,Q as ts,S as ns,Sn as rs,St as is,Ur as as,Vt as os,Xn as ss,Yn as cs,Zt as ls,_ as us,an as ds,ar as fs,b as ps,bn as ms,di as hs,dr as gs,dt as _s,en as vs,fi as ys,fr as bs,g as xs,ir as Ss,it as Cs,kr as ws,kt as Ts,li as Es,lr as Ds,mi as Os,mn as ks,o as As,on as js,qn as Ms,tn as Ns,tt as Ps,ur as Fs,ut as Is,v as Ls,xn as Rs}from"./model-BIVmcl_N.js";import{f as zs,h as Bs,l as Vs,n as Hs}from"./proxy-CRN7jYIi.js";import{Bt as Us,Et as Ws,Pt as Gs,Rt as Ks,Tt as qs,Ut as Js,Vt as Ys,dt as Xs,ft as Zs,ut as Qs,zt as $s}from"./prompt-DNDgGM9q.js";import{dt as ec,ft as tc}from"./esm-B62dCLgf.js";import{n as nc,t as rc}from"./partition-CW0BJ881.js";import{a as ic,n as ac}from"./ripgrep-BXmXjAzA.js";import{C as oc,D as sc,O as cc,y as lc}from"./rcDebugLog-DoL1FpGJ.js";import{D as uc,O as dc,_ as fc,v as pc}from"./sessionTracing-CCPRzOvy.js";import{l as mc,r as hc}from"./commitAttribution-CLbEIaRJ.js";import{i as gc,n as _c,o as vc,r as yc}from"./detectRepository-BPr0VWNO.js";import{l as bc,o as xc,r as Sc}from"./api-C-rOQY-l.js";import{d as Cc,f as wc,l as Tc,p as Ec,u as Dc}from"./firstPartyEventLogger-CuUiNdj8.js";import{c as Oc,s as kc}from"./referral-UKJv23_5.js";import{n as Ac,t as jc}from"./worktreeModeEnabled-BFOYTTTr.js";import{i as Mc,t as Nc}from"./assistant-C83quuNj.js";import{c as Pc,l as Fc}from"./releaseNotes-BKZNuDLD.js";import{a as Ic,o as Lc}from"./grove-CFBPplP6.js";import{a as Rc,i as zc,n as Bc,o as Vc,r as Hc}from"./remoteManagedSettings-Bxo3bv1U.js";import{n as Uc,t as Wc}from"./allErrors-CHVdQ3fT.js";import{n as Gc,t as q}from"./exit-BOhGfSlm.js";import{n as Kc,s as qc,t as Jc}from"./pluginOperations-JEedVzfS.js";import"./pluginCliCommands-DQQ7C7kk.js";import{n as Yc}from"./onChangeAppState-DBantDJ6.js";import{n as Xc}from"./asciicast-CbAjUHT_.js";import{i as Zc,t as Qc}from"./skillChangeDetector-uCaYrerZ.js";import{n as $c}from"./stats-DmFubHpI.js";import{t as el}from"./renderOptions-BUJB9nAm.js";import{i as tl,n as nl,t as rl}from"./githubRepoPathMapping-C4umZ1oC.js";import{i as il,n as al}from"./earlyInput-BTC_Wucv.js";import{t as ol}from"./banner-CWkrK10u.js";import{c as sl,n as cl,r as ll,u as ul}from"./RemoteSessionManager-B43isWQs.js";import{posix as dl,relative as fl,resolve as pl,win32 as ml}from"path";import{appendFileSync as hl,readFileSync as gl}from"fs";import{open as _l,stat as vl}from"fs/promises";var yl=a((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),bl=a((e=>{var{InvalidArgumentError:t}=yl(),n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),xl=a((e=>{var{humanReadableArgName:t}=bl(),n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
2
2
  `)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
3
3
  `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
4
4
  `)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),Sl=a((e=>{var{InvalidArgumentError:t}=yl(),n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
@@ -16,8 +16,8 @@ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._life
16
16
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
17
17
  - ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function c(e,t){let n=i.resolve(e,t);if(a.existsSync(n))return n;if(s.includes(i.extname(t)))return;let r=s.find(e=>a.existsSync(`${n}${e}`));if(r)return`${n}${r}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=a.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=i.resolve(i.dirname(e),d)}if(d){let t=c(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=i.basename(this._scriptPath,i.extname(this._scriptPath));n!==this._name&&(t=c(d,`${n}-${e._name}`))}u=t||u}n=s.includes(i.extname(u));let f;o.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.execPath,t,{stdio:`inherit`})):n?(t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.argv[0],t,{stdio:`inherit`})):f=r.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{o.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e=e??1,p?p(new l(e,`commander.executeSubCommandAsync`,`(close)`)):o.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)o.exit(1);else{let e=new l(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}else if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
18
18
  `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in o.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,o.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new p(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=m(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=m(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||`-V, --version`,n=n||`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>c(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=i.basename(e,i.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e=e||{};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(o.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
19
- Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function ee(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=h,e.useColor=ee})),Tl=a((e=>{var{Argument:t}=bl(),{Command:n}=wl(),{CommanderError:r,InvalidArgumentError:i}=yl(),{Help:a}=xl(),{Option:o}=Sl();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i})),El=a(((e,t)=>{var n=Tl();e=t.exports={},e.program=new n.Command,e.Argument=n.Argument,e.Command=n.Command,e.CommanderError=n.CommanderError,e.Help=n.Help,e.InvalidArgumentError=n.InvalidArgumentError,e.InvalidOptionArgumentError=n.InvalidArgumentError,e.Option=n.Option,e.createCommand=e=>new n.Command(e),e.createOption=(e,t)=>new n.Option(e,t),e.createArgument=(e,t)=>new n.Argument(e,t)}));s(),f(),h(),ke(),C(),wa(),Aa(),ga(),Ta(),po(),ba(),W(),Ro(),Na(),Rs();var{program:Dl,createCommand:Ol,createArgument:kl,createOption:Al,CommanderError:jl,InvalidArgumentError:Ml,InvalidOptionArgumentError:Nl,Command:Pl,Argument:Fl,Option:J,Help:Il}=r(El(),1).default;te();var Ll=r(ce(),1);v();var Y=pe();ue(),x(),ua(),yo(),So(),Eo(),Oo(),ho(),Ao(),jo(),Ra(),No(),Io(),Va(),Se(),Uo(),qa(),Go(),ja(),L(),to(),Bs(),Vs(),Os(),hs(),$a(),V(),as(),ws(),gs(),Fs(),Ss(),cs(),Ms(),$o(),os(),us(),Qi(),Ht(),Xr(),ic(),Wr(),Js(),Ks(),Xs(),aa(),Zr(),On(),dn(),Xt(),wc(),Mr(),cc(),Or(),Ar(),Ct(),Qt(),ci(),Ci(),Er(),ea(),or(),jc(),qn(),Ft(),E(),En(),Ir(),ca(),Fn(),N(),A(),xt(),Qr(),Jt(),ur(),Vo(),wo();var Rl=!1;function zl(){if(Rl||(Rl=!0,To())||d(process.env.CLAUDE_CODE_USE_BEDROCK)||d(process.env.CLAUDE_CODE_USE_VERTEX)||d(process.env.CLAUDE_CODE_USE_FOUNDRY)||process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ANTHROPIC_UNIX_SOCKET||process.env.CLAUDE_CODE_CLIENT_CERT||process.env.CLAUDE_CODE_CLIENT_KEY)return;let e=process.env.ANTHROPIC_BASE_URL||zo().BASE_API_URL;fetch(e,{method:`HEAD`,signal:AbortSignal.timeout(1e4)}).catch(()=>{})}function Bl(){if(process.env.NODE_EXTRA_CA_CERTS)return;let e=Vl();e&&(process.env.NODE_EXTRA_CA_CERTS=e,I(`CA certs: Applied NODE_EXTRA_CA_CERTS from config to process.env: ${e}`))}function Vl(){try{let e=B()?.env,t=Ba(`userSettings`)?.env;I(`CA certs: Config fallback - globalEnv keys: ${e?Object.keys(e).join(`,`):`none`}, settingsEnv keys: ${t?Object.keys(t).join(`,`):`none`}`);let n=t?.NODE_EXTRA_CA_CERTS||e?.NODE_EXTRA_CA_CERTS;return n&&I(`CA certs: Found NODE_EXTRA_CA_CERTS in config/settings: ${n}`),n}catch(e){I(`CA certs: Config fallback failed: ${e}`,{level:`error`});return}}V(),ba(),gc(),tc(),f(),$i(),fc(),dc(),Dc();var Hl=!1,Ul=o(async()=>{let e=Date.now();H(`info`,`init_started`),K(`init_function_start`);try{let t=Date.now();so(),ne({loadTheme:()=>B().theme,saveTheme:e=>z(t=>({...t,theme:e}))}),H(`info`,`init_configs_enabled`,{duration_ms:Date.now()-t}),K(`init_configs_enabled`);let n=Date.now();Ii(),Bl(),H(`info`,`init_safe_env_vars_applied`,{duration_ms:Date.now()-n}),K(`init_safe_env_vars_applied`),oi(),K(`init_after_graceful_shutdown`),import(`./firstPartyEventLogger-CdLshdJY.js`).then(e=>{e.initialize1PEventLogging()}),K(`init_after_1p_event_logging`),import(`./poller-CpLBoB-N.js`).then(e=>e.startBalancePolling()),K(`init_after_balance_polling`),Qo(),K(`init_after_oauth_populate`),ec(),K(`init_after_jetbrains_detection`),_c(),Hc()&&Bc(),Bn()&&At(),K(`init_after_remote_settings_check`),lo();let r=Date.now();I(`[init] configureGlobalMTLS starting`),zs(),H(`info`,`init_mtls_configured`,{duration_ms:Date.now()-r}),I(`[init] configureGlobalMTLS complete`);let i=Date.now();if(I(`[init] configureGlobalAgents starting`),Hs(),H(`info`,`init_proxy_configured`,{duration_ms:Date.now()-i}),I(`[init] configureGlobalAgents complete`),K(`init_network_configured`),await Tc(),zl(),d(process.env.CLAUDE_CODE_REMOTE))try{let{initUpstreamProxy:e,getUpstreamProxyEnv:t}=await import(`./upstreamproxy-DyR_eXO8.js`),{registerUpstreamProxyEnvFn:n}=await import(`./subprocessEnv-BSQSomcK.js`);n(t),await e()}catch(e){I(`[init] upstreamproxy init failed: ${e instanceof Error?e.message:String(e)}; continuing without proxy`,{level:`warn`})}if(Mo(),Da(mr),gn()){let e=Date.now();await nn(),H(`info`,`init_scratchpad_created`,{duration_ms:Date.now()-e})}try{let{getRipgrepStatus:e}=await import(`./ripgrep-BfIpz5uC.js`),t=e();t.note&&process.stderr.write(`[ripgrep] ${t.note}\n`)}catch{I(`[init] ripgrep status check skipped`)}H(`info`,`init_completed`,{duration_ms:Date.now()-e}),K(`init_function_end`)}catch(e){if(e instanceof Sa){if(et()){process.stderr.write(`Configuration error in ${e.filePath}: ${e.message}\n`),wr(1);return}return import(`./InvalidConfigDialog-I3t-0nU3.js`).then(t=>t.showInvalidConfigDialog({error:e}))}else throw e}});function Wl(){Hc()?(et()&&pc()&&Gl().catch(e=>{I(`[3P telemetry] Eager telemetry init failed (beta tracing): ${F(e)}`,{level:`error`})}),I(`[3P telemetry] Waiting for remote managed settings before telemetry init`),Vc().then(async()=>{I(`[3P telemetry] Remote managed settings loaded, initializing telemetry`),ir(),await Gl()}).catch(e=>{I(`[3P telemetry] Telemetry init failed (remote settings path): ${F(e)}`,{level:`error`})})):Gl().catch(e=>{I(`[3P telemetry] Telemetry init failed: ${F(e)}`,{level:`error`})})}async function Gl(){if(!Hl){if(!d(process.env.CLAUDE_CODE_ENABLE_TELEMETRY)){Hl=!0,I(`[3P telemetry] Skipped — CLAUDE_CODE_ENABLE_TELEMETRY not set`);return}Hl=!0;try{await Kl()}catch(e){throw Hl=!1,e}}}async function Kl(){let{initializeTelemetry:e}=await import(`./instrumentation-hrXeo-G4.js`),t=await e();t&&(Ee(t,(e,n)=>{let r=t?.createCounter(e,n);return{add(e,t={}){let n={...uc(),...t};r?.add(e,n)}}}),We()?.add(1))}si();async function ql(e,t,n,r){let{App:i}=await import(`./App-aUVaOLeo.js`),{REPL:a}=await import(`./REPL-B3RbzeV7.js`);await r(e,(0,Y.jsx)(i,{...t,children:(0,Y.jsx)(a,{...n})}))}Vo(),V(),ba(),wo();var Jl=xe(()=>he({client_data:me(b(),_e()).nullish(),additional_model_options:be(he({model:b(),name:b(),description:b()}).transform(({model:e,name:t,description:n})=>({value:e,label:t,description:n}))).nullish()}));async function Yl(){if(To())return I(`[Bootstrap] Skipped: Nonessential traffic disabled`),null;if(ys()!==`firstParty`)return I(`[Bootstrap] Skipped: 3P provider`),null;let e=is();if(!(Ts()?.accessToken&&Jo())&&!e)return I(`[Bootstrap] Skipped: no usable OAuth or API key`),null;let t=`${zo().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await fs(async()=>{let n=Ts()?.accessToken,r;if(n&&Jo())r={Authorization:`Bearer ${n}`,"anthropic-beta":Bo};else if(e)r={"x-api-key":e};else return I(`[Bootstrap] No auth available on retry, aborting`),null;I(`[Bootstrap] Fetching`);let i=await ee.get(t,{headers:{"Content-Type":`application/json`,"User-Agent":Ds(),...r},timeout:5e3}),a=Jl().safeParse(i.data);return a.success?(I(`[Bootstrap] Fetch ok`),a.data):(I(`[Bootstrap] Response failed validation: ${a.error.message}`),null)})}catch(e){throw I(`[Bootstrap] Fetch failed: ${ee.isAxiosError(e)?e.response?.status??e.code:`unknown`}`),e}}async function Xl(){try{let e=await Yl();if(!e)return;let t=e.client_data??null,n=e.additional_model_options??[],r=B();if(bs(r.clientDataCache,t)&&bs(r.additionalModelOptionsCache,n)){I(`[Bootstrap] Cache unchanged, skipping write`);return}I(`[Bootstrap] Cache updated, persisting to disk`),z(e=>({...e,clientDataCache:t,additionalModelOptionsCache:n}))}catch(e){U(e)}}Ps(),kn(),D(),Vi(),xc(),Nn(),kc(),ba(),f();var Zl=new Map;function Ql(){let e=process.argv[1]||``,t=process.execPath||process.argv[0]||``;ko()===`windows`&&(e=e.split(ml.sep).join(dl.sep),t=t.split(ml.sep).join(dl.sep));let n=[e,t],r=[`/build-ant/`,`/build-external/`,`/build-external-native/`,`/build-ant-native/`];return n.some(e=>r.some(t=>e.includes(t)))}var $l=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/];function eu(e){let t=`${e.name}: ${e.message}`;return $l.some(e=>e.test(t))}var tu=null;function nu(){let e=process.listeners(`warning`);tu&&e.includes(tu)||(Ql()||process.removeAllListeners(`warning`),tu=e=>{try{let t=`${e.name}: ${e.message.slice(0,50)}`,n=Zl.get(t)||0;(Zl.has(t)||Zl.size<1e3)&&Zl.set(t,n+1);let r=eu(e);G(`tengu_node_warning`,{is_internal:+!!r,occurrence_count:n+1,classname:e.name,...process.env.USER_TYPE===`ant`&&{message:e.message}}),d(process.env.CLAUDE_DEBUG)&&I(`${r?`[Internal Warning]`:`[Warning]`} ${e.toString()}`,{level:`warn`})}catch{}},process.on(`warning`,tu))}An(),O(),hr(),Hr(),tn(),Ic(),ue();function ru(){return(0,Y.jsxs)(oe,{children:[`MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the`,` `,(0,Y.jsx)(ae,{url:`https://code.claude.com/docs/en/mcp`,children:`MCP documentation`}),`.`]})}W(),L(),ue();function iu({serverName:e,onDone:t}){function n(n){switch(G(`tengu_mcp_dialog_choice`,{choice:n}),n){case`yes`:case`yes_all`:{let r=(Ha()||{}).enabledMcpjsonServers||[];r.includes(e)||R(`localSettings`,{enabledMcpjsonServers:[...r,e]}),n===`yes_all`&&R(`localSettings`,{enableAllProjectMcpServers:!0}),t();break}case`no`:{let n=(Ha()||{}).disabledMcpjsonServers||[];n.includes(e)||R(`localSettings`,{disabledMcpjsonServers:[...n,e]}),t();break}}}return(0,Y.jsxs)(fe,{title:`New MCP server found in .mcp.json: ${e}`,color:`warning`,onCancel:()=>n(`no`),children:[(0,Y.jsx)(ru,{}),(0,Y.jsx)(sr,{options:[{label:`Use this and all future MCP servers in this project`,value:`yes_all`},{label:`Use this MCP server`,value:`yes`},{label:`Continue without using this MCP server`,value:`no`}],onChange:e=>n(e),onCancel:()=>n(`no`)})]})}rc(),W(),ue(),L(),gt();function au({serverNames:e,onDone:t}){function n(n){let r=Ha()||{},i=r.enabledMcpjsonServers||[],a=r.disabledMcpjsonServers||[],[o,s]=nc(e,e=>n.includes(e));G(`tengu_mcp_multidialog_choice`,{approved:o.length,rejected:s.length}),o.length>0&&R(`localSettings`,{enabledMcpjsonServers:[...new Set([...i,...o])]}),s.length>0&&R(`localSettings`,{disabledMcpjsonServers:[...new Set([...a,...s])]}),t()}let r=(0,Ll.useCallback)(()=>{let n=(Ha()||{}).disabledMcpjsonServers||[];R(`localSettings`,{disabledMcpjsonServers:[...new Set([...n,...e])]}),t()},[e,t]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(fe,{title:`${e.length} new MCP servers found in .mcp.json`,subtitle:`Select any you wish to enable.`,color:`warning`,onCancel:r,hideInputGuide:!0,children:[(0,Y.jsx)(ru,{}),(0,Y.jsx)(ra,{options:e.map(e=>({label:e,value:e})),defaultValue:e,onSubmit:n,onCancel:r,hideIndexes:!0})]}),(0,Y.jsx)(ie,{paddingX:1,children:(0,Y.jsx)(oe,{dimColor:!0,italic:!0,children:(0,Y.jsxs)(_,{children:[(0,Y.jsx)(re,{shortcut:`Space`,action:`select`}),(0,Y.jsx)(re,{shortcut:`Enter`,action:`confirm`}),(0,Y.jsx)(Dn,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`reject all`})]})})})]})}vi();async function ou(e){let{servers:t}=jn(`project`),n=Object.keys(t).filter(e=>rt(e)===`pending`);n.length!==0&&await new Promise(t=>{let r=()=>void t();if(n.length===1&&n[0]!==void 0){let t=n[0];e.render((0,Y.jsx)(Rt,{children:(0,Y.jsx)($t,{children:(0,Y.jsx)(iu,{serverName:t,onDone:r})})}))}else e.render((0,Y.jsx)(Rt,{children:(0,Y.jsx)($t,{children:(0,Y.jsx)(au,{serverNames:n,onDone:r})})}))})}Pa(),Qn(),Rn(),Dr(),mc(),ai(),lt(),V(),ba();var su={iterm:`iTerm`,"iterm.app":`iTerm`,ghostty:`Ghostty`,kitty:`kitty`,alacritty:`Alacritty`,wezterm:`WezTerm`,apple_terminal:`Terminal`};function cu(){if(process.platform!==`darwin`)return;let e=process.env.TERM_PROGRAM;if(!e)return;let t=su[e.toLowerCase()];t&&B().deepLinkTerminal!==t&&(z(e=>({...e,deepLinkTerminal:t})),I(`Stored deep link terminal preference: ${t}`))}var lu=class{constructor(){g(this,`frameDurations`,[]),g(this,`firstRenderTime`,void 0),g(this,`lastRenderTime`,void 0)}record(e){let t=performance.now();this.firstRenderTime===void 0&&(this.firstRenderTime=t),this.lastRenderTime=t,this.frameDurations.push(e)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let e=this.lastRenderTime-this.firstRenderTime;if(e<=0)return;let t=this.frameDurations.length/(e/1e3),n=this.frameDurations.slice().sort((e,t)=>t-e),r=n[Math.max(0,Math.ceil(n.length*.01)-1)],i=r>0?1e3/r:0;return{averageFps:Math.round(t*100)/100,low1PctFps:Math.round(i*100)/100}}};W(),Mr(),C(),ue(),tn(),vi(),V(),f(),$i(),Uc(),L();function uu(){z(e=>({...e,hasCompletedOnboarding:!0,lastOnboardingVersion:`0.0.3`}))}function du(e,t){return new Promise(n=>{e.render(t(e=>void n(e)))})}async function X(e,t,n){return fu(e,t,{color:`error`,beforeExit:n})}async function fu(e,t,n){let{Text:r}=await import(`./src-CST_jFnT.js`),i=n?.color,a=n?.exitCode??1;e.render(i?(0,Y.jsx)(r,{color:i,children:t}):(0,Y.jsx)(r,{children:t})),e.unmount(),await n?.beforeExit?.(),process.exit(a)}function Z(e,t,n){return du(e,e=>(0,Y.jsx)(se,{initialState:B().theme,onThemeSave:e=>z(t=>({...t,theme:e})),children:(0,Y.jsx)(Rt,{onChangeAppState:n?.onChangeAppState,children:(0,Y.jsx)($t,{children:t(e)})})}))}async function pu(e,t){e.render(t),hf(),await e.waitUntilExit(),await P(0)}async function mu(e,t,n,r){if(d(!1)||process.env.IS_DEMO)return!1;let i=B(),a=!1;if(!i.theme||!i.hasCompletedOnboarding){a=!0;let{Onboarding:t}=await import(`./Onboarding-B1WRpoBI.js`);await Z(e,e=>(0,Y.jsx)(t,{onDone:()=>{uu(),e()}}),{onChangeAppState:Yc})}if(!d(process.env.CLAUBBIT)){if(!ao()){let{TrustDialog:t}=await import(`./TrustDialog-CgE_pYUK.js`);await Z(e,e=>(0,Y.jsx)(t,{commands:r,onDone:e}))}Xe(!0),ti();let{errors:t}=Wc();if(t.length===0&&await ou(e),await j()){let t=_t(await Ut(!0)),{ClaudeMdExternalIncludesDialog:n}=await import(`./ClaudeMdExternalIncludesDialog-Dn7Le--z.js`);await Z(e,e=>(0,Y.jsx)(n,{onDone:e,isStandaloneDialog:!0,externalIncludes:t}))}}if(tl(),cu(),ir(),setImmediate(()=>Wl()),await Lc()){let{GroveDialog:t}=await import(`./Grove-DLYXL8hv.js`);if(await Z(e,e=>(0,Y.jsx)(t,{showIfAlreadyViewed:!1,location:a?`onboarding`:`policy_update_modal`,onDone:e}))===`escape`)return G(`tengu_grove_policy_exited`,{}),wr(0),!1}if(process.env.ANTHROPIC_API_KEY&&!l()){let t=qo(process.env.ANTHROPIC_API_KEY);if(co(t)===`new`){let{ApproveApiKey:n}=await import(`./ApproveApiKey-DPdcp1CQ.js`);await Z(e,e=>(0,Y.jsx)(n,{customApiKeyTruncated:t,onDone:e}),{onChangeAppState:Yc})}}if((t===`bypassPermissions`||n)&&!Wa()){let{BypassPermissionsModeDialog:t}=await import(`./BypassPermissionsModeDialog-CTlpvTuz.js`);await Z(e,e=>(0,Y.jsx)(t,{onAccept:e}))}return a}function hu(e){let t=0,n=el(e);n.stdin&&G(`tengu_stdin_interactive`,{});let r=new lu,i=$c();S(i);let a=process.env.CLAUDE_CODE_FRAME_TIMING_LOG;return{getFpsMetrics:()=>r.getMetrics(),stats:i,renderOptions:{...n,onFrame:e=>{if(r.record(e.durationMs),i.observe(`frame_duration_ms`,e.durationMs),a&&e.phases){let t=JSON.stringify({total:e.durationMs,...e.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
20
- `;hl(a,t)}if(!le())for(let n of e.flickers){if(n.reason===`resize`)continue;let e=Date.now();e-t<1e3&&G(`tengu_flicker`,{desiredHeight:n.desiredHeight,actualHeight:n.availableHeight,reason:n.reason}),t=e}}}}}tn();async function gu(e,t){let{InvalidSettingsDialog:n}=await import(`./InvalidSettingsDialog-BnthOxGT.js`);return Z(e,e=>(0,Y.jsx)(n,{settingsErrors:t.settingsErrors,onContinue:e,onExit:t.onExit}))}async function _u(e,t){let{AssistantSessionChooser:n}=await import(`./AssistantSessionChooser-BLcvdkgb.js`);return Z(e,e=>(0,Y.jsx)(n,{sessions:t.sessions,onSelect:t=>e(t),onCancel:()=>e(null)}))}async function vu(e){let{NewInstallWizard:t,computeDefaultInstallDir:n}=await import(`./assistant-C_SkUDk_.js`),r=await n(),i,a=new Promise((e,t)=>{i=t}),o=Z(e,e=>(0,Y.jsx)(t,{defaultDir:r,onInstalled:t=>e(t),onCancel:()=>e(null),onError:e=>i(Error(`Installation failed: ${e}`))}));return Promise.race([o,a])}async function yu(e){let{TeleportResumeWrapper:t}=await import(`./TeleportResumeWrapper-t50LfWyN.js`);return Z(e,e=>(0,Y.jsx)(t,{onComplete:e,onCancel:()=>e(null),source:`cliArg`}))}async function bu(e,t){let{TeleportRepoMismatchDialog:n}=await import(`./TeleportRepoMismatchDialog-BtLBCZUe.js`);return Z(e,e=>(0,Y.jsx)(n,{targetRepo:t.targetRepo,initialPaths:t.initialPaths,onSelectPath:e,onCancel:()=>e(null)}))}async function xu(e,t,n,r){let[i,{ResumeConversation:a},{App:o}]=await Promise.all([n,import(`./ResumeConversation-BseKUFRI.js`),import(`./App-aUVaOLeo.js`)]);await pu(e,(0,Y.jsx)(o,{getFpsMetrics:t.getFpsMetrics,stats:t.stats,initialState:t.initialState,children:(0,Y.jsx)($t,{children:(0,Y.jsx)(a,{...r,worktreePaths:i})})}))}Us(),Ws();var Su=5,Cu=30,wu=`After you finish implementing the change:
19
+ Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function ee(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=h,e.useColor=ee})),Tl=a((e=>{var{Argument:t}=bl(),{Command:n}=wl(),{CommanderError:r,InvalidArgumentError:i}=yl(),{Help:a}=xl(),{Option:o}=Sl();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i})),El=a(((e,t)=>{var n=Tl();e=t.exports={},e.program=new n.Command,e.Argument=n.Argument,e.Command=n.Command,e.CommanderError=n.CommanderError,e.Help=n.Help,e.InvalidArgumentError=n.InvalidArgumentError,e.InvalidOptionArgumentError=n.InvalidArgumentError,e.Option=n.Option,e.createCommand=e=>new n.Command(e),e.createOption=(e,t)=>new n.Option(e,t),e.createArgument=(e,t)=>new n.Argument(e,t)}));s(),f(),h(),ke(),C(),wa(),Aa(),ga(),Ta(),po(),ba(),W(),Ro(),Na(),Rs();var{program:Dl,createCommand:Ol,createArgument:kl,createOption:Al,CommanderError:jl,InvalidArgumentError:Ml,InvalidOptionArgumentError:Nl,Command:Pl,Argument:Fl,Option:J,Help:Il}=r(El(),1).default;te();var Ll=r(ce(),1);v();var Y=pe();ue(),x(),ua(),yo(),So(),Eo(),Oo(),ho(),Ao(),jo(),Ra(),No(),Io(),Va(),Se(),Uo(),qa(),Go(),ja(),L(),to(),Bs(),Vs(),Os(),hs(),$a(),V(),as(),ws(),gs(),Fs(),Ss(),cs(),Ms(),$o(),os(),us(),Qi(),Ht(),Xr(),ic(),Wr(),Js(),Ks(),Xs(),aa(),Zr(),On(),dn(),Xt(),wc(),Mr(),cc(),Or(),Ar(),Ct(),Qt(),ci(),Ci(),Er(),ea(),or(),jc(),qn(),Ft(),E(),En(),Ir(),ca(),Fn(),N(),A(),xt(),Qr(),Jt(),ur(),Vo(),wo();var Rl=!1;function zl(){if(Rl||(Rl=!0,To())||d(process.env.CLAUDE_CODE_USE_BEDROCK)||d(process.env.CLAUDE_CODE_USE_VERTEX)||d(process.env.CLAUDE_CODE_USE_FOUNDRY)||process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ANTHROPIC_UNIX_SOCKET||process.env.CLAUDE_CODE_CLIENT_CERT||process.env.CLAUDE_CODE_CLIENT_KEY)return;let e=process.env.ANTHROPIC_BASE_URL||zo().BASE_API_URL;fetch(e,{method:`HEAD`,signal:AbortSignal.timeout(1e4)}).catch(()=>{})}function Bl(){if(process.env.NODE_EXTRA_CA_CERTS)return;let e=Vl();e&&(process.env.NODE_EXTRA_CA_CERTS=e,I(`CA certs: Applied NODE_EXTRA_CA_CERTS from config to process.env: ${e}`))}function Vl(){try{let e=B()?.env,t=Ba(`userSettings`)?.env;I(`CA certs: Config fallback - globalEnv keys: ${e?Object.keys(e).join(`,`):`none`}, settingsEnv keys: ${t?Object.keys(t).join(`,`):`none`}`);let n=t?.NODE_EXTRA_CA_CERTS||e?.NODE_EXTRA_CA_CERTS;return n&&I(`CA certs: Found NODE_EXTRA_CA_CERTS in config/settings: ${n}`),n}catch(e){I(`CA certs: Config fallback failed: ${e}`,{level:`error`});return}}V(),ba(),gc(),tc(),f(),$i(),fc(),dc(),Dc();var Hl=!1,Ul=o(async()=>{let e=Date.now();H(`info`,`init_started`),K(`init_function_start`);try{let t=Date.now();so(),ne({loadTheme:()=>B().theme,saveTheme:e=>z(t=>({...t,theme:e}))}),H(`info`,`init_configs_enabled`,{duration_ms:Date.now()-t}),K(`init_configs_enabled`);let n=Date.now();Ii(),Bl(),H(`info`,`init_safe_env_vars_applied`,{duration_ms:Date.now()-n}),K(`init_safe_env_vars_applied`),oi(),K(`init_after_graceful_shutdown`),import(`./firstPartyEventLogger-DPUQnc6J.js`).then(e=>{e.initialize1PEventLogging()}),K(`init_after_1p_event_logging`),import(`./poller-CpLBoB-N.js`).then(e=>e.startBalancePolling()),K(`init_after_balance_polling`),Qo(),K(`init_after_oauth_populate`),ec(),K(`init_after_jetbrains_detection`),_c(),Hc()&&Bc(),Bn()&&At(),K(`init_after_remote_settings_check`),lo();let r=Date.now();I(`[init] configureGlobalMTLS starting`),zs(),H(`info`,`init_mtls_configured`,{duration_ms:Date.now()-r}),I(`[init] configureGlobalMTLS complete`);let i=Date.now();if(I(`[init] configureGlobalAgents starting`),Hs(),H(`info`,`init_proxy_configured`,{duration_ms:Date.now()-i}),I(`[init] configureGlobalAgents complete`),K(`init_network_configured`),await Tc(),zl(),d(process.env.CLAUDE_CODE_REMOTE))try{let{initUpstreamProxy:e,getUpstreamProxyEnv:t}=await import(`./upstreamproxy-DyR_eXO8.js`),{registerUpstreamProxyEnvFn:n}=await import(`./subprocessEnv-BSQSomcK.js`);n(t),await e()}catch(e){I(`[init] upstreamproxy init failed: ${e instanceof Error?e.message:String(e)}; continuing without proxy`,{level:`warn`})}if(Mo(),Da(mr),gn()){let e=Date.now();await nn(),H(`info`,`init_scratchpad_created`,{duration_ms:Date.now()-e})}try{let{getRipgrepStatus:e}=await import(`./ripgrep-BfIpz5uC.js`),t=e();t.note&&process.stderr.write(`[ripgrep] ${t.note}\n`)}catch{I(`[init] ripgrep status check skipped`)}H(`info`,`init_completed`,{duration_ms:Date.now()-e}),K(`init_function_end`)}catch(e){if(e instanceof Sa){if(et()){process.stderr.write(`Configuration error in ${e.filePath}: ${e.message}\n`),wr(1);return}return import(`./InvalidConfigDialog-BpJub73a.js`).then(t=>t.showInvalidConfigDialog({error:e}))}else throw e}});function Wl(){Hc()?(et()&&pc()&&Gl().catch(e=>{I(`[3P telemetry] Eager telemetry init failed (beta tracing): ${F(e)}`,{level:`error`})}),I(`[3P telemetry] Waiting for remote managed settings before telemetry init`),Vc().then(async()=>{I(`[3P telemetry] Remote managed settings loaded, initializing telemetry`),ir(),await Gl()}).catch(e=>{I(`[3P telemetry] Telemetry init failed (remote settings path): ${F(e)}`,{level:`error`})})):Gl().catch(e=>{I(`[3P telemetry] Telemetry init failed: ${F(e)}`,{level:`error`})})}async function Gl(){if(!Hl){if(!d(process.env.CLAUDE_CODE_ENABLE_TELEMETRY)){Hl=!0,I(`[3P telemetry] Skipped — CLAUDE_CODE_ENABLE_TELEMETRY not set`);return}Hl=!0;try{await Kl()}catch(e){throw Hl=!1,e}}}async function Kl(){let{initializeTelemetry:e}=await import(`./instrumentation-Nqgm1SMw.js`),t=await e();t&&(Ee(t,(e,n)=>{let r=t?.createCounter(e,n);return{add(e,t={}){let n={...uc(),...t};r?.add(e,n)}}}),We()?.add(1))}si();async function ql(e,t,n,r){let{App:i}=await import(`./App-DOm71vtY.js`),{REPL:a}=await import(`./REPL-BhURgntS.js`);await r(e,(0,Y.jsx)(i,{...t,children:(0,Y.jsx)(a,{...n})}))}Vo(),V(),ba(),wo();var Jl=xe(()=>he({client_data:me(b(),_e()).nullish(),additional_model_options:be(he({model:b(),name:b(),description:b()}).transform(({model:e,name:t,description:n})=>({value:e,label:t,description:n}))).nullish()}));async function Yl(){if(To())return I(`[Bootstrap] Skipped: Nonessential traffic disabled`),null;if(ys()!==`firstParty`)return I(`[Bootstrap] Skipped: 3P provider`),null;let e=is();if(!(Ts()?.accessToken&&Jo())&&!e)return I(`[Bootstrap] Skipped: no usable OAuth or API key`),null;let t=`${zo().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await fs(async()=>{let n=Ts()?.accessToken,r;if(n&&Jo())r={Authorization:`Bearer ${n}`,"anthropic-beta":Bo};else if(e)r={"x-api-key":e};else return I(`[Bootstrap] No auth available on retry, aborting`),null;I(`[Bootstrap] Fetching`);let i=await ee.get(t,{headers:{"Content-Type":`application/json`,"User-Agent":Ds(),...r},timeout:5e3}),a=Jl().safeParse(i.data);return a.success?(I(`[Bootstrap] Fetch ok`),a.data):(I(`[Bootstrap] Response failed validation: ${a.error.message}`),null)})}catch(e){throw I(`[Bootstrap] Fetch failed: ${ee.isAxiosError(e)?e.response?.status??e.code:`unknown`}`),e}}async function Xl(){try{let e=await Yl();if(!e)return;let t=e.client_data??null,n=e.additional_model_options??[],r=B();if(bs(r.clientDataCache,t)&&bs(r.additionalModelOptionsCache,n)){I(`[Bootstrap] Cache unchanged, skipping write`);return}I(`[Bootstrap] Cache updated, persisting to disk`),z(e=>({...e,clientDataCache:t,additionalModelOptionsCache:n}))}catch(e){U(e)}}Ps(),kn(),D(),Vi(),xc(),Nn(),kc(),ba(),f();var Zl=new Map;function Ql(){let e=process.argv[1]||``,t=process.execPath||process.argv[0]||``;ko()===`windows`&&(e=e.split(ml.sep).join(dl.sep),t=t.split(ml.sep).join(dl.sep));let n=[e,t],r=[`/build-ant/`,`/build-external/`,`/build-external-native/`,`/build-ant-native/`];return n.some(e=>r.some(t=>e.includes(t)))}var $l=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/];function eu(e){let t=`${e.name}: ${e.message}`;return $l.some(e=>e.test(t))}var tu=null;function nu(){let e=process.listeners(`warning`);tu&&e.includes(tu)||(Ql()||process.removeAllListeners(`warning`),tu=e=>{try{let t=`${e.name}: ${e.message.slice(0,50)}`,n=Zl.get(t)||0;(Zl.has(t)||Zl.size<1e3)&&Zl.set(t,n+1);let r=eu(e);G(`tengu_node_warning`,{is_internal:+!!r,occurrence_count:n+1,classname:e.name,...process.env.USER_TYPE===`ant`&&{message:e.message}}),d(process.env.CLAUDE_DEBUG)&&I(`${r?`[Internal Warning]`:`[Warning]`} ${e.toString()}`,{level:`warn`})}catch{}},process.on(`warning`,tu))}An(),O(),hr(),Hr(),tn(),Ic(),ue();function ru(){return(0,Y.jsxs)(oe,{children:[`MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the`,` `,(0,Y.jsx)(ae,{url:`https://code.claude.com/docs/en/mcp`,children:`MCP documentation`}),`.`]})}W(),L(),ue();function iu({serverName:e,onDone:t}){function n(n){switch(G(`tengu_mcp_dialog_choice`,{choice:n}),n){case`yes`:case`yes_all`:{let r=(Ha()||{}).enabledMcpjsonServers||[];r.includes(e)||R(`localSettings`,{enabledMcpjsonServers:[...r,e]}),n===`yes_all`&&R(`localSettings`,{enableAllProjectMcpServers:!0}),t();break}case`no`:{let n=(Ha()||{}).disabledMcpjsonServers||[];n.includes(e)||R(`localSettings`,{disabledMcpjsonServers:[...n,e]}),t();break}}}return(0,Y.jsxs)(fe,{title:`New MCP server found in .mcp.json: ${e}`,color:`warning`,onCancel:()=>n(`no`),children:[(0,Y.jsx)(ru,{}),(0,Y.jsx)(sr,{options:[{label:`Use this and all future MCP servers in this project`,value:`yes_all`},{label:`Use this MCP server`,value:`yes`},{label:`Continue without using this MCP server`,value:`no`}],onChange:e=>n(e),onCancel:()=>n(`no`)})]})}rc(),W(),ue(),L(),gt();function au({serverNames:e,onDone:t}){function n(n){let r=Ha()||{},i=r.enabledMcpjsonServers||[],a=r.disabledMcpjsonServers||[],[o,s]=nc(e,e=>n.includes(e));G(`tengu_mcp_multidialog_choice`,{approved:o.length,rejected:s.length}),o.length>0&&R(`localSettings`,{enabledMcpjsonServers:[...new Set([...i,...o])]}),s.length>0&&R(`localSettings`,{disabledMcpjsonServers:[...new Set([...a,...s])]}),t()}let r=(0,Ll.useCallback)(()=>{let n=(Ha()||{}).disabledMcpjsonServers||[];R(`localSettings`,{disabledMcpjsonServers:[...new Set([...n,...e])]}),t()},[e,t]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(fe,{title:`${e.length} new MCP servers found in .mcp.json`,subtitle:`Select any you wish to enable.`,color:`warning`,onCancel:r,hideInputGuide:!0,children:[(0,Y.jsx)(ru,{}),(0,Y.jsx)(ra,{options:e.map(e=>({label:e,value:e})),defaultValue:e,onSubmit:n,onCancel:r,hideIndexes:!0})]}),(0,Y.jsx)(ie,{paddingX:1,children:(0,Y.jsx)(oe,{dimColor:!0,italic:!0,children:(0,Y.jsxs)(_,{children:[(0,Y.jsx)(re,{shortcut:`Space`,action:`select`}),(0,Y.jsx)(re,{shortcut:`Enter`,action:`confirm`}),(0,Y.jsx)(Dn,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`reject all`})]})})})]})}vi();async function ou(e){let{servers:t}=jn(`project`),n=Object.keys(t).filter(e=>rt(e)===`pending`);n.length!==0&&await new Promise(t=>{let r=()=>void t();if(n.length===1&&n[0]!==void 0){let t=n[0];e.render((0,Y.jsx)(Rt,{children:(0,Y.jsx)($t,{children:(0,Y.jsx)(iu,{serverName:t,onDone:r})})}))}else e.render((0,Y.jsx)(Rt,{children:(0,Y.jsx)($t,{children:(0,Y.jsx)(au,{serverNames:n,onDone:r})})}))})}Pa(),Qn(),Rn(),Dr(),mc(),ai(),lt(),V(),ba();var su={iterm:`iTerm`,"iterm.app":`iTerm`,ghostty:`Ghostty`,kitty:`kitty`,alacritty:`Alacritty`,wezterm:`WezTerm`,apple_terminal:`Terminal`};function cu(){if(process.platform!==`darwin`)return;let e=process.env.TERM_PROGRAM;if(!e)return;let t=su[e.toLowerCase()];t&&B().deepLinkTerminal!==t&&(z(e=>({...e,deepLinkTerminal:t})),I(`Stored deep link terminal preference: ${t}`))}var lu=class{constructor(){g(this,`frameDurations`,[]),g(this,`firstRenderTime`,void 0),g(this,`lastRenderTime`,void 0)}record(e){let t=performance.now();this.firstRenderTime===void 0&&(this.firstRenderTime=t),this.lastRenderTime=t,this.frameDurations.push(e)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let e=this.lastRenderTime-this.firstRenderTime;if(e<=0)return;let t=this.frameDurations.length/(e/1e3),n=this.frameDurations.slice().sort((e,t)=>t-e),r=n[Math.max(0,Math.ceil(n.length*.01)-1)],i=r>0?1e3/r:0;return{averageFps:Math.round(t*100)/100,low1PctFps:Math.round(i*100)/100}}};W(),Mr(),C(),ue(),tn(),vi(),V(),f(),$i(),Uc(),L();function uu(){z(e=>({...e,hasCompletedOnboarding:!0,lastOnboardingVersion:`0.0.4`}))}function du(e,t){return new Promise(n=>{e.render(t(e=>void n(e)))})}async function X(e,t,n){return fu(e,t,{color:`error`,beforeExit:n})}async function fu(e,t,n){let{Text:r}=await import(`./src-CST_jFnT.js`),i=n?.color,a=n?.exitCode??1;e.render(i?(0,Y.jsx)(r,{color:i,children:t}):(0,Y.jsx)(r,{children:t})),e.unmount(),await n?.beforeExit?.(),process.exit(a)}function Z(e,t,n){return du(e,e=>(0,Y.jsx)(se,{initialState:B().theme,onThemeSave:e=>z(t=>({...t,theme:e})),children:(0,Y.jsx)(Rt,{onChangeAppState:n?.onChangeAppState,children:(0,Y.jsx)($t,{children:t(e)})})}))}async function pu(e,t){e.render(t),hf(),await e.waitUntilExit(),await P(0)}async function mu(e,t,n,r){if(d(!1)||process.env.IS_DEMO)return!1;let i=B(),a=!1;if(!i.theme||!i.hasCompletedOnboarding){a=!0;let{Onboarding:t}=await import(`./Onboarding-D00lTweB.js`);await Z(e,e=>(0,Y.jsx)(t,{onDone:()=>{uu(),e()}}),{onChangeAppState:Yc})}if(!d(process.env.CLAUBBIT)){if(!ao()){let{TrustDialog:t}=await import(`./TrustDialog-CeVwxDlZ.js`);await Z(e,e=>(0,Y.jsx)(t,{commands:r,onDone:e}))}Xe(!0),ti();let{errors:t}=Wc();if(t.length===0&&await ou(e),await j()){let t=_t(await Ut(!0)),{ClaudeMdExternalIncludesDialog:n}=await import(`./ClaudeMdExternalIncludesDialog--w2zWWEn.js`);await Z(e,e=>(0,Y.jsx)(n,{onDone:e,isStandaloneDialog:!0,externalIncludes:t}))}}if(tl(),cu(),ir(),setImmediate(()=>Wl()),await Lc()){let{GroveDialog:t}=await import(`./Grove-ENfM8hC6.js`);if(await Z(e,e=>(0,Y.jsx)(t,{showIfAlreadyViewed:!1,location:a?`onboarding`:`policy_update_modal`,onDone:e}))===`escape`)return G(`tengu_grove_policy_exited`,{}),wr(0),!1}if(process.env.ANTHROPIC_API_KEY&&!l()){let t=qo(process.env.ANTHROPIC_API_KEY);if(co(t)===`new`){let{ApproveApiKey:n}=await import(`./ApproveApiKey-LPrZMlgU.js`);await Z(e,e=>(0,Y.jsx)(n,{customApiKeyTruncated:t,onDone:e}),{onChangeAppState:Yc})}}if((t===`bypassPermissions`||n)&&!Wa()){let{BypassPermissionsModeDialog:t}=await import(`./BypassPermissionsModeDialog-DAq-qbqC.js`);await Z(e,e=>(0,Y.jsx)(t,{onAccept:e}))}return a}function hu(e){let t=0,n=el(e);n.stdin&&G(`tengu_stdin_interactive`,{});let r=new lu,i=$c();S(i);let a=process.env.CLAUDE_CODE_FRAME_TIMING_LOG;return{getFpsMetrics:()=>r.getMetrics(),stats:i,renderOptions:{...n,onFrame:e=>{if(r.record(e.durationMs),i.observe(`frame_duration_ms`,e.durationMs),a&&e.phases){let t=JSON.stringify({total:e.durationMs,...e.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
20
+ `;hl(a,t)}if(!le())for(let n of e.flickers){if(n.reason===`resize`)continue;let e=Date.now();e-t<1e3&&G(`tengu_flicker`,{desiredHeight:n.desiredHeight,actualHeight:n.availableHeight,reason:n.reason}),t=e}}}}}tn();async function gu(e,t){let{InvalidSettingsDialog:n}=await import(`./InvalidSettingsDialog-DzOp3Ihx.js`);return Z(e,e=>(0,Y.jsx)(n,{settingsErrors:t.settingsErrors,onContinue:e,onExit:t.onExit}))}async function _u(e,t){let{AssistantSessionChooser:n}=await import(`./AssistantSessionChooser-CnYfFWrx.js`);return Z(e,e=>(0,Y.jsx)(n,{sessions:t.sessions,onSelect:t=>e(t),onCancel:()=>e(null)}))}async function vu(e){let{NewInstallWizard:t,computeDefaultInstallDir:n}=await import(`./assistant-CYF7ch7C.js`),r=await n(),i,a=new Promise((e,t)=>{i=t}),o=Z(e,e=>(0,Y.jsx)(t,{defaultDir:r,onInstalled:t=>e(t),onCancel:()=>e(null),onError:e=>i(Error(`Installation failed: ${e}`))}));return Promise.race([o,a])}async function yu(e){let{TeleportResumeWrapper:t}=await import(`./TeleportResumeWrapper-C6sbzJsJ.js`);return Z(e,e=>(0,Y.jsx)(t,{onComplete:e,onCancel:()=>e(null),source:`cliArg`}))}async function bu(e,t){let{TeleportRepoMismatchDialog:n}=await import(`./TeleportRepoMismatchDialog-D-HVj-A6.js`);return Z(e,e=>(0,Y.jsx)(n,{targetRepo:t.targetRepo,initialPaths:t.initialPaths,onSelectPath:e,onCancel:()=>e(null)}))}async function xu(e,t,n,r){let[i,{ResumeConversation:a},{App:o}]=await Promise.all([n,import(`./ResumeConversation-DaQ9n8_C.js`),import(`./App-DOm71vtY.js`)]);await pu(e,(0,Y.jsx)(o,{getFpsMetrics:t.getFpsMetrics,stats:t.stats,initialState:t.initialState,children:(0,Y.jsx)($t,{children:(0,Y.jsx)(a,{...r,worktreePaths:i})})}))}Us(),Ws();var Su=5,Cu=30,wu=`After you finish implementing the change:
21
21
  1. **Simplify** — Invoke the \`${qs}\` tool with \`skill: "simplify"\` to review and clean up your changes.
22
22
  2. **Run unit tests** — Run the project's test suite (check for package.json scripts, Makefile targets, or common commands like \`npm test\`, \`bun test\`, \`pytest\`, \`go test\`). If tests fail, fix them.
23
23
  3. **Test end-to-end** — Follow the e2e test recipe from the coordinator's prompt (below). If the recipe says to skip e2e for this unit, skip it.
@@ -825,10 +825,10 @@ Examples:
825
825
  Usage: claude mcp add <name> <command> [args...]`):q(`Error: Server name is required.
826
826
  Usage: claude mcp add <name> <command> [args...]`);try{let t=qi(r.scope),n=vn(r.transport);r.xaa&&!Gr()&&q(`Error: --xaa requires CLAUDE_CODE_ENABLE_XAA=1 in your environment`);let o=!!r.xaa;if(o){let e=[];r.clientId||e.push(`--client-id`),r.clientSecret||e.push(`--client-secret`),_i()||e.push(`'claude mcp xaa setup' (settings.xaaIdp not configured)`),e.length&&q(`Error: --xaa requires: ${e.join(`, `)}`)}let s=r.transport!==void 0,c=i.startsWith(`http://`)||i.startsWith(`https://`)||i.startsWith(`localhost`)||i.endsWith(`/sse`)||i.endsWith(`/mcp`);if(G(`tengu_mcp_add`,{type:n,scope:t,source:`command`,transport:n,transportExplicit:s,looksLikeUrl:c}),n===`sse`){i||q(`Error: URL is required for SSE transport.`);let n=r.header?k(r.header):void 0,a=r.callbackPort?parseInt(r.callbackPort,10):void 0,s=r.clientId||a||o?{...r.clientId?{clientId:r.clientId}:{},...a?{callbackPort:a}:{},...o?{xaa:!0}:{}}:void 0,c=r.clientSecret&&r.clientId?await cr():void 0,l={type:`sse`,url:i,headers:n,oauth:s};await yt(e,l,t),c&&Ti(e,l,c),process.stdout.write(`Added SSE MCP server ${e} with URL: ${i} to ${t} config\n`),n&&process.stdout.write(`Headers: ${ka(n,null,2)}\n`)}else if(n===`http`){i||q(`Error: URL is required for HTTP transport.`);let n=r.header?k(r.header):void 0,a=r.callbackPort?parseInt(r.callbackPort,10):void 0,s=r.clientId||a||o?{...r.clientId?{clientId:r.clientId}:{},...a?{callbackPort:a}:{},...o?{xaa:!0}:{}}:void 0,c=r.clientSecret&&r.clientId?await cr():void 0,l={type:`http`,url:i,headers:n,oauth:s};await yt(e,l,t),c&&Ti(e,l,c),process.stdout.write(`Added HTTP MCP server ${e} with URL: ${i} to ${t} config\n`),n&&process.stdout.write(`Headers: ${ka(n,null,2)}\n`)}else(r.clientId||r.clientSecret||r.callbackPort||r.xaa)&&process.stderr.write(`Warning: --client-id, --client-secret, --callback-port, and --xaa are only supported for HTTP/SSE transports and will be ignored for stdio.
827
827
  `),!s&&c&&(process.stderr.write(`\nWarning: The command "${i}" looks like a URL, but is being interpreted as a stdio server as --transport was not specified.\n`),process.stderr.write(`If this is an HTTP server, use: claude mcp add --transport http ${e} ${i}\n`),process.stderr.write(`If this is an SSE server, use: claude mcp add --transport sse ${e} ${i}\n`)),await yt(e,{type:`stdio`,command:i,args:a,env:u(r.env)},t),process.stdout.write(`Added stdio MCP server ${e} with command: ${i} ${a.join(` `)} to ${t} config\n`);Gc(`File modified: ${pr(t)}`)}catch(e){q(e.message)}})}ci(),Aa(),L();function Bd(e){let t=e.command(`xaa`).description(`Manage the XAA (SEP-990) IdP connection`);t.command(`setup`).description(`Configure the IdP connection (one-time setup for all XAA-enabled servers)`).requiredOption(`--issuer <url>`,`IdP issuer URL (OIDC discovery)`).requiredOption(`--client-id <id>`,`Work Mate's client_id at the IdP`).option(`--client-secret`,`Read IdP client secret from MCP_XAA_IDP_CLIENT_SECRET env var`).option(`--callback-port <port>`,`Fixed loopback callback port (only if IdP does not honor RFC 8252 port-any matching)`).action(e=>{let t;try{t=new URL(e.issuer)}catch{return q(`Error: --issuer must be a valid URL (got "${e.issuer}")`)}if(t.protocol!==`https:`&&!(t.protocol===`http:`&&(t.hostname===`localhost`||t.hostname===`127.0.0.1`||t.hostname===`[::1]`)))return q(`Error: --issuer must use https:// (got "${t.protocol}//${t.host}")`);let n=e.callbackPort?parseInt(e.callbackPort,10):void 0;if(n!==void 0&&(!Number.isInteger(n)||n<=0))return q(`Error: --callback-port must be a positive integer`);let r=e.clientSecret?process.env.MCP_XAA_IDP_CLIENT_SECRET:void 0;if(e.clientSecret&&!r)return q(`Error: --client-secret requires MCP_XAA_IDP_CLIENT_SECRET env var`);let i=_i(),a=i?.issuer,o=i?.clientId,{error:s}=R(`userSettings`,{xaaIdp:{issuer:e.issuer,clientId:e.clientId,callbackPort:n}});if(s)return q(`Error writing settings: ${s.message}`);if(a&&(zr(a)===zr(e.issuer)?o!==e.clientId&&(Ai(a),ri(a)):(Ai(a),ri(a))),r){let{success:t,warning:n}=rr(e.issuer,r);if(!t)return q(`Error: settings written but keychain save failed${n?` — ${n}`:``}. Re-run with --client-secret once keychain is available.`)}Gc(`XAA IdP connection configured for ${e.issuer}`)}),t.command(`login`).description(`Cache an IdP id_token so XAA-enabled MCP servers authenticate silently. Default: run the OIDC browser login. With --id-token: write a pre-obtained JWT directly (used by conformance/e2e tests where the mock IdP does not serve /authorize).`).option(`--force`,`Ignore any cached id_token and re-login (useful after IdP-side revocation)`).option(`--id-token <jwt>`,`Write this pre-obtained id_token directly to cache, skipping the OIDC browser login`).action(async e=>{let t=_i();if(!t)return q(`Error: no XAA IdP connection. Run 'claude mcp xaa setup' first.`);if(e.idToken){let n=Fi(t.issuer,e.idToken);return Gc(`id_token cached for ${t.issuer} (expires ${new Date(n).toISOString()})`)}if(e.force&&Ai(t.issuer),Tr(t.issuer)!==void 0)return Gc(`Already logged in to ${t.issuer} (cached id_token still valid). Use --force to re-login.`);process.stdout.write(`Opening browser for IdP login at ${t.issuer}…\n`);try{await yr({idpIssuer:t.issuer,idpClientId:t.clientId,idpClientSecret:Pr(t.issuer),callbackPort:t.callbackPort,onAuthorizationUrl:e=>{process.stdout.write(`If the browser did not open, visit:\n ${e}\n`)}}),Gc(`Logged in. MCP servers with --xaa will now authenticate silently.`)}catch(e){q(`IdP login failed: ${F(e)}`)}}),t.command(`show`).description(`Show the current IdP connection config`).action(()=>{let e=_i();if(!e)return Gc(`No XAA IdP connection configured.`);let t=Pr(e.issuer)!==void 0,n=Tr(e.issuer)!==void 0;process.stdout.write(`Issuer: ${e.issuer}\n`),process.stdout.write(`Client ID: ${e.clientId}\n`),e.callbackPort!==void 0&&process.stdout.write(`Callback port: ${e.callbackPort}\n`),process.stdout.write(`Client secret: ${t?`(stored in keychain)`:`(not set — PKCE-only)`}\n`),process.stdout.write(`Logged in: ${n?`yes (id_token cached)`:`no — run 'claude mcp xaa login'`}\n`),Gc()}),t.command(`clear`).description(`Clear the IdP connection config and cached id_token`).action(()=>{let e=_i(),{error:t}=R(`userSettings`,{xaaIdp:void 0});if(t)return q(`Error writing settings: ${t.message}`);e&&(Ai(e.issuer),ri(e.issuer)),Gc(`XAA IdP connection cleared`)})}Wi();function Vd(e,t=process.argv){for(let n=0;n<t.length;n++){let r=t[n];if(r?.startsWith(`${e}=`))return r.slice(e.length+1);if(r===e&&n+1<t.length)return t[n+1]}}dr(),Hn(),bt(),W(),V(),Eo(),L();function Hd(){if(B().bypassPermissionsModeAccepted)try{Wa()||R(`userSettings`,{skipDangerousModePermissionPrompt:!0}),G(`tengu_migrate_bypass_permissions_accepted`,{}),z(e=>{if(!(`bypassPermissionsModeAccepted`in e))return e;let{bypassPermissionsModeAccepted:t,...n}=e;return n})}catch(e){U(Error(`Failed to migrate bypass permissions accepted: ${e}`))}}W(),V(),Eo(),L();function Ud(){let e=oo(),t=e.enableAllProjectMcpServers!==void 0,n=e.enabledMcpjsonServers&&e.enabledMcpjsonServers.length>0,r=e.disabledMcpjsonServers&&e.disabledMcpjsonServers.length>0;if(!(!t&&!n&&!r))try{let i=Ba(`localSettings`)||{},a={},o=[];if(t&&i.enableAllProjectMcpServers===void 0?(a.enableAllProjectMcpServers=e.enableAllProjectMcpServers,o.push(`enableAllProjectMcpServers`)):t&&o.push(`enableAllProjectMcpServers`),n&&e.enabledMcpjsonServers){let t=i.enabledMcpjsonServers||[];a.enabledMcpjsonServers=[...new Set([...t,...e.enabledMcpjsonServers])],o.push(`enabledMcpjsonServers`)}if(r&&e.disabledMcpjsonServers){let t=i.disabledMcpjsonServers||[];a.disabledMcpjsonServers=[...new Set([...t,...e.disabledMcpjsonServers])],o.push(`disabledMcpjsonServers`)}Object.keys(a).length>0&&R(`localSettings`,a),(o.includes(`enableAllProjectMcpServers`)||o.includes(`enabledMcpjsonServers`)||o.includes(`disabledMcpjsonServers`))&&uo(e=>{let{enableAllProjectMcpServers:t,enabledMcpjsonServers:n,disabledMcpjsonServers:r,...i}=e;return i}),G(`tengu_migrate_mcp_approval_fields_success`,{migratedCount:o.length})}catch(e){U(e),G(`tengu_migrate_mcp_approval_fields_error`,{})}}L();function Wd(){if(process.env.USER_TYPE!==`ant`)return;let e=Ba(`userSettings`)?.model;typeof e==`string`&&(e.startsWith(`fennec-latest[1m]`)?R(`userSettings`,{model:`opus[1m]`}):e.startsWith(`fennec-latest`)?R(`userSettings`,{model:`opus`}):(e.startsWith(`fennec-fast-latest`)||e.startsWith(`opus-4-5-fast`))&&R(`userSettings`,{model:`opus[1m]`,fastMode:!0}))}W(),V(),Os(),L();function Gd(){if(ys()!==`firstParty`||!Ls())return;let e=Ba(`userSettings`)?.model;e!==`claude-opus-4-20250514`&&e!==`claude-opus-4-1-20250805`&&e!==`claude-opus-4-0`&&e!==`claude-opus-4-1`||(R(`userSettings`,{model:`opus`}),z(e=>({...e,legacyOpusMigrationTimestamp:Date.now()})),G(`tengu_legacy_opus_migration`,{from_model:e}))}W(),us();function Kd(){ps()&&G(`tengu_opus_to_opus1m_migration`,{skipped:!0})}V();function qd(){z(e=>{let t=e.replBridgeEnabled;if(t===void 0||e.remoteControlAtStartup!==void 0)return e;let n={...e,remoteControlAtStartup:!!t};return delete n.replBridgeEnabled,n})}C(),V(),L();function Jd(){B().sonnet1m45MigrationComplete||(Ba(`userSettings`)?.model===`sonnet[1m]`&&R(`userSettings`,{model:`sonnet-4-5-20250929[1m]`}),Pe()===`sonnet[1m]`&&Me(`sonnet-4-5-20250929[1m]`),z(e=>({...e,sonnet1m45MigrationComplete:!0})))}W(),os(),V(),Os(),L();function Yd(){if(ys()!==`firstParty`||!vs()&&!ls()&&!Ns())return;let e=Ba(`userSettings`)?.model;if(e!==`claude-sonnet-4-5-20250929`&&e!==`claude-sonnet-4-5-20250929[1m]`&&e!==`sonnet-4-5-20250929`&&e!==`sonnet-4-5-20250929[1m]`)return;let t=e.endsWith(`[1m]`);R(`userSettings`,{model:t?`sonnet[1m]`:`sonnet`}),B().numStartups>1&&z(e=>({...e,sonnet45To46MigrationTimestamp:Date.now()})),G(`tengu_sonnet45_to_46_migration`,{from_model:e,has_1m:t})}W(),V(),Eo(),L();function Xd(){if(!B().hasResetAutoModeOptInForDefaultOffer&&Ni()===`enabled`)try{let e=Ba(`userSettings`);e?.skipAutoPermissionPrompt&&e?.permissions?.defaultMode!==`auto`&&(R(`userSettings`,{skipAutoPermissionPrompt:void 0}),G(`tengu_migrate_reset_auto_opt_in_for_default_offer`,{})),z(e=>e.hasResetAutoModeOptInForDefaultOffer?e:{...e,hasResetAutoModeOptInForDefaultOffer:!0})}catch(e){U(Error(`Failed to reset auto mode opt-in: ${e}`))}}W(),os(),V(),Os(),L();function Zd(){if(!B().opusProMigrationComplete){if(ys()!==`firstParty`||!vs()){z(e=>({...e,opusProMigrationComplete:!0})),G(`tengu_reset_pro_to_opus_default`,{skipped:!0});return}if(Ha()?.model===void 0){let e=Date.now();z(t=>({...t,opusProMigrationComplete:!0,opusProMigrationTimestamp:e})),G(`tengu_reset_pro_to_opus_default`,{skipped:!1,had_custom_model:!1})}else z(e=>({...e,opusProMigrationComplete:!0})),G(`tengu_reset_pro_to_opus_default`,{skipped:!1,had_custom_model:!0})}}x(),Se();var Qd=xe(()=>he({session_id:b(),ws_url:b(),work_dir:b().optional()}));Aa(),ga();var $d=class extends Error{constructor(e){super(e),this.name=`DirectConnectError`}};async function ef({serverUrl:e,authToken:t,cwd:n,dangerouslySkipPermissions:r}){let i={"content-type":`application/json`};t&&(i.authorization=`Bearer ${t}`);let a;try{a=await fetch(`${e}/sessions`,{method:`POST`,headers:i,body:ka({cwd:n,...r&&{dangerously_skip_permissions:!0}})})}catch(t){throw new $d(`Failed to connect to server at ${e}: ${F(t)}`)}if(!a.ok)throw new $d(`Failed to create session: ${a.status} ${a.statusText}`);let o=Qd().safeParse(await a.json());if(!o.success)throw new $d(`Invalid session response: ${o.error.message}`);let s=o.data;return{config:{serverUrl:e,sessionId:s.session_id,wsUrl:s.ws_url,authToken:t},workDir:s.work_dir}}var tf=i({isKairosEnabled:()=>nf});async function nf(){return!1}var rf=n((()=>{}));Ro(),Vo(),Zr(),Fn(),os(),V(),$i(),ca(),Ao(),ga(),W(),C(),A(),ue(),qc(),f(),ho(),Eo(),us(),lt(),Qr(),L(),Ct(),Qt(),ci(),wa(),ba(),Aa(),Mr(),or(),yo(),Pc(),$r(),Dc(),ht(),K(`main_tsx_entry`),Ma(),rs();var af=(Mc(),e(Nc)),of=(rf(),e(tf)),sf=(Tt(),e(Vn));K(`main_tsx_imports_loaded`);function cf(){try{let e=Ba(`policySettings`);if(e){let t=Ga(e);G(`tengu_managed_settings_loaded`,{keyCount:t.length,keys:t.join(`,`)})}}catch{}}function lf(){let e=Yo(Te()??As());Rd(da(),Xo(e,Je())),ui().then(({enabled:e,errors:t})=>{let n=Gi();Yi(e,n,gi()),gr(t,n)}).catch(e=>U(e))}function uf(){let e={};return process.env.NODE_EXTRA_CA_CERTS&&(e.has_node_extra_ca_certs=!0),process.env.CLAUDE_CODE_CLIENT_CERT&&(e.has_client_cert=!0),c(`--use-system-ca`)&&(e.has_use_system_ca=!0),c(`--use-openssl-ca`)&&(e.has_use_openssl_ca=!0),e}async function df(){if(Ec())return;let[e,t,n]=await Promise.all([go(),_o(),Ld()]);G(`tengu_startup_telemetry`,{is_git:e,worktree_count:t,gh_auth_status:n,sandbox_enabled:nr.isSandboxingEnabled(),are_unsandboxed_commands_allowed:nr.areUnsandboxedCommandsAllowed(),is_auto_bash_allowed_if_sandbox_enabled:nr.isAutoAllowBashIfSandboxedEnabled(),auto_updater_disabled:no(),prefers_reduced_motion:Ka().prefersReducedMotion??!1,...uf()})}var ff=11;function pf(){B().migrationVersion!==ff&&(Hd(),Ud(),Zd(),Jd(),Gd(),Yd(),Kd(),qd(),Xd(),process.env.USER_TYPE===`ant`&&Wd(),z(e=>e.migrationVersion===ff?e:{...e,migrationVersion:ff})),Fc().catch(()=>{})}function mf(){if(et()){H(`info`,`prefetch_system_context_non_interactive`),ti();return}ao()?(H(`info`,`prefetch_system_context_has_trust`),ti()):H(`info`,`prefetch_system_context_skipped_no_trust`)}function hf(){d(process.env.CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER)||p()||(Tc(),tt(),mf(),ll(),d(process.env.CLAUDE_CODE_USE_BEDROCK)&&!d(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)&&ds(),d(process.env.CLAUDE_CODE_USE_VERTEX)&&!d(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)&&js(),ac(da(),AbortSignal.timeout(3e3),[]),ss(),Cn.initialize(),p()||Qc.initialize(),process.env.USER_TYPE===`ant`&&import(`./eventLoopStallDetector-Cg_RXU1q.js`).then(e=>e.startEventLoopStallDetector()))}function gf(e){try{let t=e.trim(),n=t.startsWith(`{`)&&t.endsWith(`}`),r;if(n)Po(t)||(process.stderr.write(y.red(`Error: Invalid JSON provided to --settings
828
- `)),process.exit(1)),r=ct(`claude-settings`,`.json`,{contentHash:t}),pa(r,t,`utf8`);else{let{resolvedPath:t}=ya(xa(),e);try{gl(t,`utf8`)}catch(e){throw _a(e)&&(process.stderr.write(y.red(`Error: Settings file not found: ${t}\n`)),process.exit(1)),e}r=t}we(r),Ve()}catch(e){e instanceof Error&&U(e),process.stderr.write(y.red(`Error processing settings: ${F(e)}\n`)),process.exit(1)}}function _f(e){try{w(Ja(e)),Ve()}catch(e){e instanceof Error&&U(e),process.stderr.write(y.red(`Error processing --setting-sources: ${F(e)}\n`)),process.exit(1)}}function vf(){K(`eagerLoadSettings_start`);let e=Vd(`--settings`);e&&gf(e);let t=Vd(`--setting-sources`);t!==void 0&&_f(t),K(`eagerLoadSettings_end`)}function yf(e){if(process.env.CLAUDE_CODE_ENTRYPOINT)return;let t=process.argv.slice(2),n=t.indexOf(`mcp`);if(n!==-1&&t[n+1]===`serve`){process.env.CLAUDE_CODE_ENTRYPOINT=`mcp`;return}if(d(process.env.CLAUDE_CODE_ACTION)){process.env.CLAUDE_CODE_ENTRYPOINT=`claude-code-github-action`;return}process.env.CLAUDE_CODE_ENTRYPOINT=e?`sdk-cli`:`cli`}var Q={url:void 0,authToken:void 0,dangerouslySkipPermissions:!1},bf={sessionId:void 0,discover:!1},$={host:void 0,cwd:void 0,permissionMode:void 0,dangerouslySkipPermissions:!1,local:!1,extraCliArgs:[],remoteBin:void 0};async function xf(){K(`main_function_start`),process.env.NoDefaultCurrentDirectoryInExePath=`1`,nu(),process.on(`exit`,()=>{Df();try{let{peekWorkflowService:t}=(kr(),e(Di));t()?.shutdown()}catch{}}),process.on(`SIGINT`,()=>{process.argv.includes(`-p`)||process.argv.includes(`--print`)||process.exit(0)}),K(`main_warning_handler_initialized`);{let e=process.argv.slice(2),t=e.findIndex(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(t!==-1&&Q){let n=e[t],{parseConnectUrl:r}=await import(`./parseConnectUrl-BiyKR5-x.js`),i=r(n);if(Q.dangerouslySkipPermissions=e.includes(`--dangerously-skip-permissions`),e.includes(`-p`)||e.includes(`--print`)){let r=e.filter((e,n)=>n!==t),i=r.indexOf(`--dangerously-skip-permissions`);i!==-1&&r.splice(i,1),process.argv=[process.argv[0],process.argv[1],`open`,n,...r]}else{Q.url=i.serverUrl,Q.authToken=i.authToken;let n=e.filter((e,n)=>n!==t),r=n.indexOf(`--dangerously-skip-permissions`);r!==-1&&n.splice(r,1),process.argv=[process.argv[0],process.argv[1],...n]}}}{let e=process.argv.indexOf(`--handle-uri`);if(e!==-1&&process.argv[e+1]){let{enableConfigs:t}=await import(`./config-huQaTcNb.js`);t();let n=process.argv[e+1],{handleDeepLinkUri:r}=await import(`./protocolHandler-z2zxAtB1.js`),i=await r(n);process.exit(i)}if(process.platform===`darwin`&&process.env.__CFBundleIdentifier===`com.anthropic.claude-code-url-handler`){let{enableConfigs:e}=await import(`./config-huQaTcNb.js`);e();let{handleUrlSchemeLaunch:t}=await import(`./protocolHandler-z2zxAtB1.js`),n=await t();process.exit(n??1)}}if(bf){let e=process.argv.slice(2);if(e[0]===`assistant`){let t=e[1];t&&!t.startsWith(`-`)?(bf.sessionId=t,e.splice(0,2),process.argv=[process.argv[0],process.argv[1],...e]):t||(bf.discover=!0,e.splice(0,1),process.argv=[process.argv[0],process.argv[1],...e])}}if($){let e=process.argv.slice(2);if(e[0]===`ssh`){let t=e.indexOf(`--local`);t!==-1&&($.local=!0,e.splice(t,1));let n=e.indexOf(`--dangerously-skip-permissions`);n!==-1&&($.dangerouslySkipPermissions=!0,e.splice(n,1));let r=e.indexOf(`--permission-mode`);r!==-1&&e[r+1]&&!e[r+1].startsWith(`-`)&&($.permissionMode=e[r+1],e.splice(r,2));let i=e.findIndex(e=>e.startsWith(`--permission-mode=`));i!==-1&&($.permissionMode=e[i].split(`=`)[1],e.splice(i,1));let a=(t,n={})=>{let r=e.indexOf(t);if(r!==-1){$.extraCliArgs.push(n.as??t);let i=e[r+1];n.hasValue&&i&&!i.startsWith(`-`)?($.extraCliArgs.push(i),e.splice(r,2)):e.splice(r,1)}let i=e.findIndex(e=>e.startsWith(`${t}=`));i!==-1&&($.extraCliArgs.push(n.as??t,e[i].slice(t.length+1)),e.splice(i,1))},o=e.indexOf(`--remote-bin`);o!==-1&&e[o+1]&&!e[o+1].startsWith(`-`)&&($.remoteBin=e[o+1],e.splice(o,2));let s=e.findIndex(e=>e.startsWith(`--remote-bin=`));s!==-1&&($.remoteBin=e[s].split(`=`).slice(1).join(`=`),e.splice(s,1)),a(`-c`,{as:`--continue`}),a(`--continue`),a(`--resume`,{hasValue:!0}),a(`--model`,{hasValue:!0})}if(e[0]===`ssh`&&e[1]&&!e[1].startsWith(`-`)){$.host=e[1];let t=2;e[2]&&!e[2].startsWith(`-`)&&($.cwd=e[2],t=3);let n=e.slice(t);if(n.includes(`-p`)||n.includes(`--print`)){process.stderr.write(`Error: headless (-p/--print) mode is not supported with claude ssh
828
+ `)),process.exit(1)),r=ct(`claude-settings`,`.json`,{contentHash:t}),pa(r,t,`utf8`);else{let{resolvedPath:t}=ya(xa(),e);try{gl(t,`utf8`)}catch(e){throw _a(e)&&(process.stderr.write(y.red(`Error: Settings file not found: ${t}\n`)),process.exit(1)),e}r=t}we(r),Ve()}catch(e){e instanceof Error&&U(e),process.stderr.write(y.red(`Error processing settings: ${F(e)}\n`)),process.exit(1)}}function _f(e){try{w(Ja(e)),Ve()}catch(e){e instanceof Error&&U(e),process.stderr.write(y.red(`Error processing --setting-sources: ${F(e)}\n`)),process.exit(1)}}function vf(){K(`eagerLoadSettings_start`);let e=Vd(`--settings`);e&&gf(e);let t=Vd(`--setting-sources`);t!==void 0&&_f(t),K(`eagerLoadSettings_end`)}function yf(e){if(process.env.CLAUDE_CODE_ENTRYPOINT)return;let t=process.argv.slice(2),n=t.indexOf(`mcp`);if(n!==-1&&t[n+1]===`serve`){process.env.CLAUDE_CODE_ENTRYPOINT=`mcp`;return}if(d(process.env.CLAUDE_CODE_ACTION)){process.env.CLAUDE_CODE_ENTRYPOINT=`claude-code-github-action`;return}process.env.CLAUDE_CODE_ENTRYPOINT=e?`sdk-cli`:`cli`}var Q={url:void 0,authToken:void 0,dangerouslySkipPermissions:!1},bf={sessionId:void 0,discover:!1},$={host:void 0,cwd:void 0,permissionMode:void 0,dangerouslySkipPermissions:!1,local:!1,extraCliArgs:[],remoteBin:void 0};async function xf(){K(`main_function_start`),process.env.NoDefaultCurrentDirectoryInExePath=`1`,nu(),process.on(`exit`,()=>{Df();try{let{peekWorkflowService:t}=(kr(),e(Di));t()?.shutdown()}catch{}}),process.on(`SIGINT`,()=>{process.argv.includes(`-p`)||process.argv.includes(`--print`)||process.exit(0)}),K(`main_warning_handler_initialized`);{let e=process.argv.slice(2),t=e.findIndex(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(t!==-1&&Q){let n=e[t],{parseConnectUrl:r}=await import(`./parseConnectUrl-BiyKR5-x.js`),i=r(n);if(Q.dangerouslySkipPermissions=e.includes(`--dangerously-skip-permissions`),e.includes(`-p`)||e.includes(`--print`)){let r=e.filter((e,n)=>n!==t),i=r.indexOf(`--dangerously-skip-permissions`);i!==-1&&r.splice(i,1),process.argv=[process.argv[0],process.argv[1],`open`,n,...r]}else{Q.url=i.serverUrl,Q.authToken=i.authToken;let n=e.filter((e,n)=>n!==t),r=n.indexOf(`--dangerously-skip-permissions`);r!==-1&&n.splice(r,1),process.argv=[process.argv[0],process.argv[1],...n]}}}{let e=process.argv.indexOf(`--handle-uri`);if(e!==-1&&process.argv[e+1]){let{enableConfigs:t}=await import(`./config-HHTwEsWp.js`);t();let n=process.argv[e+1],{handleDeepLinkUri:r}=await import(`./protocolHandler-z2zxAtB1.js`),i=await r(n);process.exit(i)}if(process.platform===`darwin`&&process.env.__CFBundleIdentifier===`com.anthropic.claude-code-url-handler`){let{enableConfigs:e}=await import(`./config-HHTwEsWp.js`);e();let{handleUrlSchemeLaunch:t}=await import(`./protocolHandler-z2zxAtB1.js`),n=await t();process.exit(n??1)}}if(bf){let e=process.argv.slice(2);if(e[0]===`assistant`){let t=e[1];t&&!t.startsWith(`-`)?(bf.sessionId=t,e.splice(0,2),process.argv=[process.argv[0],process.argv[1],...e]):t||(bf.discover=!0,e.splice(0,1),process.argv=[process.argv[0],process.argv[1],...e])}}if($){let e=process.argv.slice(2);if(e[0]===`ssh`){let t=e.indexOf(`--local`);t!==-1&&($.local=!0,e.splice(t,1));let n=e.indexOf(`--dangerously-skip-permissions`);n!==-1&&($.dangerouslySkipPermissions=!0,e.splice(n,1));let r=e.indexOf(`--permission-mode`);r!==-1&&e[r+1]&&!e[r+1].startsWith(`-`)&&($.permissionMode=e[r+1],e.splice(r,2));let i=e.findIndex(e=>e.startsWith(`--permission-mode=`));i!==-1&&($.permissionMode=e[i].split(`=`)[1],e.splice(i,1));let a=(t,n={})=>{let r=e.indexOf(t);if(r!==-1){$.extraCliArgs.push(n.as??t);let i=e[r+1];n.hasValue&&i&&!i.startsWith(`-`)?($.extraCliArgs.push(i),e.splice(r,2)):e.splice(r,1)}let i=e.findIndex(e=>e.startsWith(`${t}=`));i!==-1&&($.extraCliArgs.push(n.as??t,e[i].slice(t.length+1)),e.splice(i,1))},o=e.indexOf(`--remote-bin`);o!==-1&&e[o+1]&&!e[o+1].startsWith(`-`)&&($.remoteBin=e[o+1],e.splice(o,2));let s=e.findIndex(e=>e.startsWith(`--remote-bin=`));s!==-1&&($.remoteBin=e[s].split(`=`).slice(1).join(`=`),e.splice(s,1)),a(`-c`,{as:`--continue`}),a(`--continue`),a(`--resume`,{hasValue:!0}),a(`--model`,{hasValue:!0})}if(e[0]===`ssh`&&e[1]&&!e[1].startsWith(`-`)){$.host=e[1];let t=2;e[2]&&!e[2].startsWith(`-`)&&($.cwd=e[2],t=3);let n=e.slice(t);if(n.includes(`-p`)||n.includes(`--print`)){process.stderr.write(`Error: headless (-p/--print) mode is not supported with claude ssh
829
829
  `),wr(1);return}process.argv=[process.argv[0],process.argv[1],...n]}}let t=process.argv.slice(2),n=t.includes(`-p`)||t.includes(`--print`),r=t.includes(`--init-only`),i=t.some(e=>e.startsWith(`--sdk-url`)),a=d(process.env.CLAUDE_CODE_FORCE_INTERACTIVE),o=n||r||i||!a&&!process.stdout.isTTY;o&&il(),De(!o),yf(o);let s=(()=>{if(d(process.env.GITHUB_ACTIONS))return`github-action`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-ts`)return`sdk-typescript`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-py`)return`sdk-python`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-cli`)return`sdk-cli`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`claude-vscode`)return`claude-vscode`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`local-agent`)return`local-agent`;if(process.env.CLAUDE_CODE_ENTRYPOINT===`claude-desktop`)return`claude-desktop`;let e=process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN||process.env.CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR;return process.env.CLAUDE_CODE_ENTRYPOINT===`remote`||e?`remote`:`cli`})();$e(s);let c=process.env.CLAUDE_CODE_QUESTION_PREVIEW_FORMAT;c===`markdown`||c===`html`?T(c):!s.startsWith(`sdk-`)&&s!==`claude-desktop`&&s!==`local-agent`&&s!==`remote`&&T(`markdown`),process.env.CLAUDE_CODE_ENVIRONMENT_KIND===`bridge`&&He(`remote-control`),K(`main_client_type_determined`),vf(),K(`main_before_run`),await Cf(),K(`main_after_run`)}async function Sf(e,t){if(!process.stdin.isTTY&&!process.argv.includes(`mcp`)){if(t===`stream-json`)return process.stdin;process.stdin.setEncoding(`utf8`);let n=``,r=e=>{n+=e};process.stdin.on(`data`,r);let i=await mo(process.stdin,3e3);return process.stdin.off(`data`,r),i&&process.stderr.write(`Warning: no stdin data received in 3s, proceeding without it. If piping from a slow command, redirect stdin explicitly: < /dev/null to skip, or wait longer.
830
830
  `),[e,n].filter(Boolean).join(`
831
- `)}return e}async function Cf(){K(`run_function_start`);function t(){let e=e=>e.long?.replace(/^--/,``)??e.short?.replace(/^-/,``)??``;return Object.assign({sortSubcommands:!0,sortOptions:!0},{compareOptions:(t,n)=>e(t).localeCompare(e(n))})}let n=new Pl().configureHelp(t()).enablePositionalOptions();K(`run_commander_initialized`),n.hook(`preAction`,async e=>{K(`preAction_start`),await Promise.all([za(),ms()]),K(`preAction_after_mdm`),await Ul(),K(`preAction_after_init`),d(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)||(process.title=`claude`);let{initSinks:t}=await import(`./sinks-DbwDBd-E.js`);t(),K(`preAction_after_sinks`);let n=e.getOptionValue(`pluginDir`);Array.isArray(n)&&n.length>0&&n.every(e=>typeof e==`string`)&&(Be(n),Sr(`preAction: --plugin-dir inline plugins`)),pf(),K(`preAction_after_migrations`),zc(),wt(),K(`preAction_after_remote_settings`),K(`preAction_after_settings_sync`)}),n.name(`claude`).description(`Work Mate - starts an interactive session by default, use -p/--print for non-interactive output`).argument(`[prompt]`,`Your prompt`,String).helpOption(`-h, --help`,`Display help for command`).option(`-d, --debug [filter]`,`Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")`,e=>!0).addOption(new J(`--debug-to-stderr`,`Enable debug mode (to stderr)`).argParser(Boolean).hideHelp()).option(`--debug-file <path>`,`Write debug logs to a specific file path (implicitly enables debug mode)`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).option(`-p, --print`,`Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Claude is run with the -p mode. Only use this flag in directories you trust.`,()=>!0).option(`--bare`,`Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and CLAUDE.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain are never read). 3P providers (Bedrock/Vertex/Foundry) use their own credentials. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (CLAUDE.md dirs), --mcp-config, --settings, --agents, --plugin-dir.`,()=>!0).addOption(new J(`--init`,`Run Setup hooks with init trigger, then continue`).hideHelp()).addOption(new J(`--init-only`,`Run Setup and SessionStart:startup hooks, then exit`).hideHelp()).addOption(new J(`--maintenance`,`Run Setup hooks with maintenance trigger, then continue`).hideHelp()).addOption(new J(`--output-format <format>`,`Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)`).choices([`text`,`json`,`stream-json`])).addOption(new J(`--json-schema <schema>`,`JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}`).argParser(String)).option(`--include-hook-events`,`Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)`,()=>!0).option(`--include-partial-messages`,`Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)`,()=>!0).addOption(new J(`--input-format <format>`,`Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)`).choices([`text`,`stream-json`])).option(`--mcp-debug`,`[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)`,()=>!0).option(`--dangerously-skip-permissions`,`Bypass all permission checks. Recommended only for sandboxes with no internet access.`,()=>!0).option(`--allow-dangerously-skip-permissions`,`Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.`,()=>!0).addOption(new J(`--thinking <mode>`,`Thinking mode: enabled (equivalent to adaptive), disabled`).choices([`enabled`,`adaptive`,`disabled`]).hideHelp()).addOption(new J(`--max-thinking-tokens <tokens>`,`[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)`).argParser(Number).hideHelp()).addOption(new J(`--max-turns <turns>`,`Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)`).argParser(Number).hideHelp()).addOption(new J(`--max-budget-usd <amount>`,`Maximum dollar amount to spend on API calls (only works with --print)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0)throw Error(`--max-budget-usd must be a positive number greater than 0`);return t})).addOption(new J(`--task-budget <tokens>`,`API-side task budget in tokens (output_config.task_budget)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0||!Number.isInteger(t))throw Error(`--task-budget must be a positive integer`);return t}).hideHelp()).option(`--replay-user-messages`,`Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)`,()=>!0).addOption(new J(`--enable-auth-status`,`Enable auth status messages in SDK mode`).default(!1).hideHelp()).option(`--allowedTools, --allowed-tools <tools...>`,`Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")`).option(`--tools <tools...>`,`Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").`).option(`--disallowedTools, --disallowed-tools <tools...>`,`Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")`).option(`--mcp-config <configs...>`,`Load MCP servers from JSON files or strings (space-separated)`).addOption(new J(`--permission-prompt-tool <tool>`,`MCP tool to use for permission prompts (only works with --print)`).argParser(String).hideHelp()).addOption(new J(`--system-prompt <prompt>`,`System prompt to use for the session`).argParser(String)).addOption(new J(`--system-prompt-file <file>`,`Read system prompt from a file`).argParser(String).hideHelp()).addOption(new J(`--append-system-prompt <prompt>`,`Append a system prompt to the default system prompt`).argParser(String)).addOption(new J(`--append-system-prompt-file <file>`,`Read system prompt from a file and append to the default system prompt`).argParser(String).hideHelp()).addOption(new J(`--permission-mode <mode>`,`Permission mode to use for the session`).argParser(String).choices(Ko)).option(`-c, --continue`,`Continue the most recent conversation in the current directory`,()=>!0).option(`-r, --resume [value]`,`Resume a conversation by session ID, or open interactive picker with optional search term`,e=>e||!0).option(`--fork-session`,`When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)`,()=>!0).addOption(new J(`--prefill <text>`,`Pre-fill the prompt input with text without submitting it`).hideHelp()).addOption(new J(`--deep-link-origin`,`Signal that this session was launched from a deep link`).hideHelp()).addOption(new J(`--deep-link-repo <slug>`,`Repo slug the deep link ?repo= parameter resolved to the current cwd`).hideHelp()).addOption(new J(`--deep-link-last-fetch <ms>`,`FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline`).argParser(e=>{let t=Number(e);return Number.isFinite(t)?t:void 0}).hideHelp()).option(`--from-pr [value]`,`Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term`,e=>e||!0).option(`--no-session-persistence`,`Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)`).addOption(new J(`--resume-session-at <message id>`,`When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)`).argParser(String).hideHelp()).addOption(new J(`--rewind-files <user-message-id>`,`Restore files to state at the specified user message and exit (requires --resume)`).hideHelp()).option(`--model <model>`,`Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name (e.g. 'claude-sonnet-4-6').`).addOption(new J(`--effort <level>`,`Effort level for the current session (low, medium, high, max)`).argParser(e=>{let t=e.toLowerCase(),n=[`low`,`medium`,`high`,`max`];if(!n.includes(t))throw new Ml(`It must be one of: ${n.join(`, `)}`);return t})).option(`--agent <agent>`,`Agent for the current session. Overrides the 'agent' setting.`).option(`--betas <betas...>`,`Beta headers to include in API requests (API key users only)`).option(`--fallback-model <model>`,`Enable automatic fallback to specified model when default model is overloaded (only works with --print)`).addOption(new J(`--workload <tag>`,`Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)`).hideHelp()).option(`--settings <file-or-json>`,`Path to a settings JSON file or a JSON string to load additional settings from`).option(`--add-dir <directories...>`,`Additional directories to allow tool access to`).option(`--ide`,`Automatically connect to IDE on startup if exactly one valid IDE is available`,()=>!0).option(`--strict-mcp-config`,`Only use MCP servers from --mcp-config, ignoring all other MCP configurations`,()=>!0).option(`--session-id <uuid>`,`Use a specific session ID for the conversation (must be a valid UUID)`).option(`-n, --name <name>`,`Set a display name for this session (shown in /resume and terminal title)`).option(`--agents <json>`,`JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).option(`--plugin-dir <path>`,`Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)`,(e,t)=>[...t,e],[]).option(`--disable-slash-commands`,`Disable all skills`,()=>!0).option(`--chrome`,`Enable Claude in Chrome integration`).option(`--no-chrome`,`Disable Claude in Chrome integration`).option(`--file <specs...>`,`File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)`).action(async(t,n)=>{K(`action_handler_start`),n.bare&&(process.env.CLAUDE_CODE_SIMPLE=`1`),t===`code`&&(G(`tengu_code_prompt_ignored`,{}),console.warn(y.yellow("Tip: You can launch Work Mate with just `claude`")),t=void 0),t&&typeof t==`string`&&!/\s/.test(t)&&t.length>0&&G(`tengu_single_word_prompt`,{length:t.length});let r=!1;if(n.assistant&&af&&af.markAssistantForced(),af&&(af.isAssistantForced()||n.assistant===!0)&&of){if(!ao())console.warn(y.yellow(`Assistant mode disabled: directory is not trusted. Accept the trust dialog and restart.`));else if(r=af.isAssistantForced()||await of.isKairosEnabled(),r){let e=n;e.brief=!0,Ae(!0)}}let{debug:i=!1,debugToStderr:a=!1,dangerouslySkipPermissions:o,allowDangerouslySkipPermissions:s=!1,tools:c=[],allowedTools:l=[],disallowedTools:u=[],mcpConfig:f=[],permissionMode:m,addDir:h=[],fallbackModel:g,betas:ee=[],ide:te=!1,sessionId:ne,includeHookEvents:re,includePartialMessages:ie}=n;n.prefill&&al(n.prefill);let ae,oe=n.agents,se=n.agent;se&&(process.env.CLAUDE_CODE_AGENT=se);let _=n.outputFormat,v=n.inputFormat,ce=n.verbose??B().verbose,le=n.print,ue=n.init??!1,de=n.initOnly??!1,fe=n.maintenance??!1,pe=n.disableSlashCommands||!1,me=process.env.USER_TYPE===`ant`&&n.tasks,he=me?typeof me==`string`?me:Bi:void 0;process.env.USER_TYPE===`ant`&&he&&(process.env.CLAUDE_CODE_TASK_LIST_ID=he);let b=Ac()?n.worktree:void 0,ge=typeof b==`string`?b:void 0,_e=b!==void 0,ve;if(ge){let e=at(ge);e!==null&&(ve=e,ge=void 0)}let ye=Ac()&&n.tmux===!0;ye&&(_e||(process.stderr.write(y.red(`Error: --tmux requires --worktree
831
+ `)}return e}async function Cf(){K(`run_function_start`);function t(){let e=e=>e.long?.replace(/^--/,``)??e.short?.replace(/^-/,``)??``;return Object.assign({sortSubcommands:!0,sortOptions:!0},{compareOptions:(t,n)=>e(t).localeCompare(e(n))})}let n=new Pl().configureHelp(t()).enablePositionalOptions();K(`run_commander_initialized`),n.hook(`preAction`,async e=>{K(`preAction_start`),await Promise.all([za(),ms()]),K(`preAction_after_mdm`),await Ul(),K(`preAction_after_init`),d(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)||(process.title=`claude`);let{initSinks:t}=await import(`./sinks-Cro1Y8C2.js`);t(),K(`preAction_after_sinks`);let n=e.getOptionValue(`pluginDir`);Array.isArray(n)&&n.length>0&&n.every(e=>typeof e==`string`)&&(Be(n),Sr(`preAction: --plugin-dir inline plugins`)),pf(),K(`preAction_after_migrations`),zc(),wt(),K(`preAction_after_remote_settings`),K(`preAction_after_settings_sync`)}),n.name(`claude`).description(`Work Mate - starts an interactive session by default, use -p/--print for non-interactive output`).argument(`[prompt]`,`Your prompt`,String).helpOption(`-h, --help`,`Display help for command`).option(`-d, --debug [filter]`,`Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")`,e=>!0).addOption(new J(`--debug-to-stderr`,`Enable debug mode (to stderr)`).argParser(Boolean).hideHelp()).option(`--debug-file <path>`,`Write debug logs to a specific file path (implicitly enables debug mode)`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).option(`-p, --print`,`Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Claude is run with the -p mode. Only use this flag in directories you trust.`,()=>!0).option(`--bare`,`Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and CLAUDE.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via --settings (OAuth and keychain are never read). 3P providers (Bedrock/Vertex/Foundry) use their own credentials. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (CLAUDE.md dirs), --mcp-config, --settings, --agents, --plugin-dir.`,()=>!0).addOption(new J(`--init`,`Run Setup hooks with init trigger, then continue`).hideHelp()).addOption(new J(`--init-only`,`Run Setup and SessionStart:startup hooks, then exit`).hideHelp()).addOption(new J(`--maintenance`,`Run Setup hooks with maintenance trigger, then continue`).hideHelp()).addOption(new J(`--output-format <format>`,`Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)`).choices([`text`,`json`,`stream-json`])).addOption(new J(`--json-schema <schema>`,`JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}`).argParser(String)).option(`--include-hook-events`,`Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)`,()=>!0).option(`--include-partial-messages`,`Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)`,()=>!0).addOption(new J(`--input-format <format>`,`Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)`).choices([`text`,`stream-json`])).option(`--mcp-debug`,`[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)`,()=>!0).option(`--dangerously-skip-permissions`,`Bypass all permission checks. Recommended only for sandboxes with no internet access.`,()=>!0).option(`--allow-dangerously-skip-permissions`,`Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.`,()=>!0).addOption(new J(`--thinking <mode>`,`Thinking mode: enabled (equivalent to adaptive), disabled`).choices([`enabled`,`adaptive`,`disabled`]).hideHelp()).addOption(new J(`--max-thinking-tokens <tokens>`,`[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)`).argParser(Number).hideHelp()).addOption(new J(`--max-turns <turns>`,`Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)`).argParser(Number).hideHelp()).addOption(new J(`--max-budget-usd <amount>`,`Maximum dollar amount to spend on API calls (only works with --print)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0)throw Error(`--max-budget-usd must be a positive number greater than 0`);return t})).addOption(new J(`--task-budget <tokens>`,`API-side task budget in tokens (output_config.task_budget)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0||!Number.isInteger(t))throw Error(`--task-budget must be a positive integer`);return t}).hideHelp()).option(`--replay-user-messages`,`Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)`,()=>!0).addOption(new J(`--enable-auth-status`,`Enable auth status messages in SDK mode`).default(!1).hideHelp()).option(`--allowedTools, --allowed-tools <tools...>`,`Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")`).option(`--tools <tools...>`,`Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").`).option(`--disallowedTools, --disallowed-tools <tools...>`,`Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")`).option(`--mcp-config <configs...>`,`Load MCP servers from JSON files or strings (space-separated)`).addOption(new J(`--permission-prompt-tool <tool>`,`MCP tool to use for permission prompts (only works with --print)`).argParser(String).hideHelp()).addOption(new J(`--system-prompt <prompt>`,`System prompt to use for the session`).argParser(String)).addOption(new J(`--system-prompt-file <file>`,`Read system prompt from a file`).argParser(String).hideHelp()).addOption(new J(`--append-system-prompt <prompt>`,`Append a system prompt to the default system prompt`).argParser(String)).addOption(new J(`--append-system-prompt-file <file>`,`Read system prompt from a file and append to the default system prompt`).argParser(String).hideHelp()).addOption(new J(`--permission-mode <mode>`,`Permission mode to use for the session`).argParser(String).choices(Ko)).option(`-c, --continue`,`Continue the most recent conversation in the current directory`,()=>!0).option(`-r, --resume [value]`,`Resume a conversation by session ID, or open interactive picker with optional search term`,e=>e||!0).option(`--fork-session`,`When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)`,()=>!0).addOption(new J(`--prefill <text>`,`Pre-fill the prompt input with text without submitting it`).hideHelp()).addOption(new J(`--deep-link-origin`,`Signal that this session was launched from a deep link`).hideHelp()).addOption(new J(`--deep-link-repo <slug>`,`Repo slug the deep link ?repo= parameter resolved to the current cwd`).hideHelp()).addOption(new J(`--deep-link-last-fetch <ms>`,`FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline`).argParser(e=>{let t=Number(e);return Number.isFinite(t)?t:void 0}).hideHelp()).option(`--from-pr [value]`,`Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term`,e=>e||!0).option(`--no-session-persistence`,`Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)`).addOption(new J(`--resume-session-at <message id>`,`When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)`).argParser(String).hideHelp()).addOption(new J(`--rewind-files <user-message-id>`,`Restore files to state at the specified user message and exit (requires --resume)`).hideHelp()).option(`--model <model>`,`Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name (e.g. 'claude-sonnet-4-6').`).addOption(new J(`--effort <level>`,`Effort level for the current session (low, medium, high, max)`).argParser(e=>{let t=e.toLowerCase(),n=[`low`,`medium`,`high`,`max`];if(!n.includes(t))throw new Ml(`It must be one of: ${n.join(`, `)}`);return t})).option(`--agent <agent>`,`Agent for the current session. Overrides the 'agent' setting.`).option(`--betas <betas...>`,`Beta headers to include in API requests (API key users only)`).option(`--fallback-model <model>`,`Enable automatic fallback to specified model when default model is overloaded (only works with --print)`).addOption(new J(`--workload <tag>`,`Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)`).hideHelp()).option(`--settings <file-or-json>`,`Path to a settings JSON file or a JSON string to load additional settings from`).option(`--add-dir <directories...>`,`Additional directories to allow tool access to`).option(`--ide`,`Automatically connect to IDE on startup if exactly one valid IDE is available`,()=>!0).option(`--strict-mcp-config`,`Only use MCP servers from --mcp-config, ignoring all other MCP configurations`,()=>!0).option(`--session-id <uuid>`,`Use a specific session ID for the conversation (must be a valid UUID)`).option(`-n, --name <name>`,`Set a display name for this session (shown in /resume and terminal title)`).option(`--agents <json>`,`JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).option(`--plugin-dir <path>`,`Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)`,(e,t)=>[...t,e],[]).option(`--disable-slash-commands`,`Disable all skills`,()=>!0).option(`--chrome`,`Enable Claude in Chrome integration`).option(`--no-chrome`,`Disable Claude in Chrome integration`).option(`--file <specs...>`,`File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)`).action(async(t,n)=>{K(`action_handler_start`),n.bare&&(process.env.CLAUDE_CODE_SIMPLE=`1`),t===`code`&&(G(`tengu_code_prompt_ignored`,{}),console.warn(y.yellow("Tip: You can launch Work Mate with just `claude`")),t=void 0),t&&typeof t==`string`&&!/\s/.test(t)&&t.length>0&&G(`tengu_single_word_prompt`,{length:t.length});let r=!1;if(n.assistant&&af&&af.markAssistantForced(),af&&(af.isAssistantForced()||n.assistant===!0)&&of){if(!ao())console.warn(y.yellow(`Assistant mode disabled: directory is not trusted. Accept the trust dialog and restart.`));else if(r=af.isAssistantForced()||await of.isKairosEnabled(),r){let e=n;e.brief=!0,Ae(!0)}}let{debug:i=!1,debugToStderr:a=!1,dangerouslySkipPermissions:o,allowDangerouslySkipPermissions:s=!1,tools:c=[],allowedTools:l=[],disallowedTools:u=[],mcpConfig:f=[],permissionMode:m,addDir:h=[],fallbackModel:g,betas:ee=[],ide:te=!1,sessionId:ne,includeHookEvents:re,includePartialMessages:ie}=n;n.prefill&&al(n.prefill);let ae,oe=n.agents,se=n.agent;se&&(process.env.CLAUDE_CODE_AGENT=se);let _=n.outputFormat,v=n.inputFormat,ce=n.verbose??B().verbose,le=n.print,ue=n.init??!1,de=n.initOnly??!1,fe=n.maintenance??!1,pe=n.disableSlashCommands||!1,me=process.env.USER_TYPE===`ant`&&n.tasks,he=me?typeof me==`string`?me:Bi:void 0;process.env.USER_TYPE===`ant`&&he&&(process.env.CLAUDE_CODE_TASK_LIST_ID=he);let b=Ac()?n.worktree:void 0,ge=typeof b==`string`?b:void 0,_e=b!==void 0,ve;if(ge){let e=at(ge);e!==null&&(ve=e,ge=void 0)}let ye=Ac()&&n.tmux===!0;ye&&(_e||(process.stderr.write(y.red(`Error: --tmux requires --worktree
832
832
  `)),process.exit(1)),ko()===`windows`&&(process.stderr.write(y.red(`Error: --tmux is not supported on Windows
833
833
  `)),process.exit(1)),await mt()||(process.stderr.write(y.red(`Error: tmux is not installed.\n${Ki()}\n`)),process.exit(1)));let be=n.sdkUrl??void 0,xe=ie||d(process.env.CLAUDE_CODE_INCLUDE_PARTIAL_MESSAGES);(re||d(process.env.CLAUDE_CODE_REMOTE))&&qt(!0),be&&(v||(v=`stream-json`),_||(_=`stream-json`),n.verbose===void 0&&(ce=!0),n.print||(le=!0));let x=n.teleport??null,Se=n.remote,we=Se===!0?``:Se??null,Ee=n.remoteControl??n.rc,De=!1,ke=typeof Ee==`string`&&Ee.length>0?Ee:void 0;if(ne&&((n.continue||n.resume)&&!n.forkSession&&(process.stderr.write(y.red(`Error: --session-id can only be used with --continue or --resume if --fork-session is also specified.
834
834
  `)),process.exit(1)),!be)){let e=Lr(ne);e||(process.stderr.write(y.red(`Error: Invalid session ID. Must be a valid UUID.
@@ -837,23 +837,23 @@ Usage: claude mcp add <name> <command> [args...]`);try{let t=qi(r.scope),n=vn(r.
837
837
  `)),process.exit(1));let C=n.systemPrompt;if(n.systemPromptFile){n.systemPrompt&&(process.stderr.write(y.red(`Error: Cannot use both --system-prompt and --system-prompt-file. Please use only one.
838
838
  `)),process.exit(1));try{C=gl(pl(n.systemPromptFile),`utf8`)}catch(e){ma(e)===`ENOENT`&&(process.stderr.write(y.red(`Error: System prompt file not found: ${pl(n.systemPromptFile)}\n`)),process.exit(1)),process.stderr.write(y.red(`Error reading system prompt file: ${F(e)}\n`)),process.exit(1)}}let w=n.appendSystemPrompt;if(n.appendSystemPromptFile){n.appendSystemPrompt&&(process.stderr.write(y.red(`Error: Cannot use both --append-system-prompt and --append-system-prompt-file. Please use only one.
839
839
  `)),process.exit(1));try{w=gl(pl(n.appendSystemPromptFile),`utf8`)}catch(e){ma(e)===`ENOENT`&&(process.stderr.write(y.red(`Error: Append system prompt file not found: ${pl(n.appendSystemPromptFile)}\n`)),process.exit(1)),process.stderr.write(y.red(`Error reading append system prompt file: ${F(e)}\n`)),process.exit(1)}}let{mode:Be,notification:Ve}=zi({permissionModeCli:m,dangerouslySkipPermissions:o});Ke(Be===`bypassPermissions`),(n.enableAutoMode||m===`auto`||Be===`auto`||!m&&an())&&sf?.setAutoModeFlagCli(!0);let He={};if(f&&f.length>0){let e=f.map(e=>e.trim()).filter(e=>e.length>0),t={},n=[];for(let r of e){let e=null,i=[],a=Po(r);if(a){let t=yi({configObject:a,filePath:`command line`,expandVars:!0,scope:`dynamic`});t.config?e=t.config.mcpServers:i=t.errors}else{let t=It({filePath:pl(r),expandVars:!0,scope:`dynamic`});t.config?e=t.config.mcpServers:i=t.errors}i.length>0?n.push(...i):e&&(t={...t,...e})}if(n.length>0){let e=n.map(e=>`${e.path?e.path+`: `:``}${e.message}`).join(`
840
- `);I(`--mcp-config validation failed (${n.length} errors): ${e}`,{level:`error`}),process.stderr.write(`Error: Invalid MCP configuration:\n${e}\n`),process.exit(1)}if(Object.keys(t).length>0){let{allowed:e,blocked:n}=sa(fn(t,e=>({...e,scope:`dynamic`})));n.length>0&&process.stderr.write(`Warning: MCP ${Wo(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),He={...He,...e}}}let We=n.strictMcpConfig||!1;if(mn()&&(We&&(process.stderr.write(y.red(`You cannot use --strict-mcp-config when an enterprise MCP config is present`)),process.exit(1)),He&&!Pt(He)&&(process.stderr.write(y.red(`You cannot dynamically configure MCP servers when an enterprise MCP config is present`)),process.exit(1))),Ue(h),c.length>0){let{BRIEF_TOOL_NAME:t,LEGACY_BRIEF_TOOL_NAME:n}=(Fa(),e(Ia)),{isBriefEntitled:r}=(lr(),e(qr)),i=ei(c);(i.includes(t)||i.includes(n))&&r()&&Re(!0)}let Je=await xn({allowedToolsCli:l,disallowedToolsCli:u,baseToolsCli:c,permissionMode:Be,allowDangerouslySkipPermissions:s,addDirs:h}),T=Je.toolPermissionContext,{warnings:Xe,dangerousPermissions:$e,overlyBroadBashPermissions:rt}=Je;if(process.env.USER_TYPE===`ant`&&rt.length>0){for(let e of rt)I(`Ignoring overly broad shell permission ${e.ruleDisplay} from ${e.sourceDisplay}`);T=Yr(T,rt)}$e.length>0&&(T=en(T)),Xe.forEach(e=>{console.error(e)});let it=S&&!We&&!mn()&&!p()?cn().then(e=>{let{allowed:t,blocked:n}=sa(e);return n.length>0&&process.stderr.write(`Warning: claude.ai MCP ${Wo(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),t}):Promise.resolve({});I(`[STARTUP] Loading MCP configs...`);let st=Date.now(),ct,lt=(We||p()?Promise.resolve({servers:{}}):Pn(He)).then(e=>(ct=Date.now()-st,e));v&&v!==`text`&&v!==`stream-json`&&(console.error(`Error: Invalid input format "${v}".`),process.exit(1)),v===`stream-json`&&_!==`stream-json`&&(console.error(`Error: --input-format=stream-json requires output-format=stream-json.`),process.exit(1)),be&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --sdk-url requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),n.replayUserMessages&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --replay-user-messages requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),xe&&(!S||_!==`stream-json`)&&(fo(`Error: --include-partial-messages requires --print and --output-format=stream-json.`),process.exit(1)),n.sessionPersistence===!1&&!S&&(fo(`Error: --no-session-persistence can only be used with --print mode.`),process.exit(1));let E=await Sf(t||``,v??`text`);K(`action_after_input_prompt`),Tf(n);let ht=Zn(T);K(`action_tools_loaded`);let gt;if(Zs({isNonInteractiveSession:S})&&n.jsonSchema&&(gt=fa(n.jsonSchema)),gt){let e=Qs(gt);`tool`in e?(ht=[...ht,e.tool],G(`tengu_structured_output_enabled`,{schema_property_count:Object.keys(gt.properties||{}).length,has_required_fields:!!gt.required})):G(`tengu_structured_output_failure`,{error:`Invalid JSON schema`})}K(`action_before_setup`),I(`[STARTUP] Running setup()...`);let _t=Date.now(),{setup:vt}=await import(`./setup-DdbmxSZh.js`),yt=da();process.env.CLAUDE_CODE_ENTRYPOINT!==`local-agent`&&Id();let bt=vt(yt,Be,s,_e,ge,ye,ne?Lr(ne):void 0,ve,void 0),xt=_e?null:bi(yt),Ct=_e?null:Kr(yt);xt?.catch(()=>{}),Ct?.catch(()=>{}),await bt,I(`[STARTUP] setup() completed in ${Date.now()-_t}ms`),K(`action_after_setup`);let wt=!!n.replayUserMessages;et()&&(ir(),ti(),tt(),Es());let Tt=n.name?.trim();Tt&&Gn(Tt);let Ot=n.model==="default"?As():n.model,At=g==="default"?As():g,Ft=_e?da():yt;I(`[STARTUP] Loading commands and agents...`);let Rt=Date.now(),[Bt,Ht]=await Promise.all([xt??bi(Ft),Ct??Kr(Ft)]);I(`[STARTUP] Commands and agents loaded in ${Date.now()-Rt}ms`),K(`action_commands_loaded`);let Ut=[];if(oe)try{let e=Po(oe);e&&(Ut=jr(e,`flagSettings`))}catch(e){U(e)}let Gt=[...Ht.allAgents,...Ut],Jt={...Ht,allAgents:Gt,activeAgents:Si(Gt)},Xt=se??Ka().agent,D;if(Xt&&(D=Jt.activeAgents.find(e=>e.agentType===Xt),D||I(`Warning: agent "${Xt}" not found. Available agents: ${Jt.activeAgents.map(e=>e.agentType).join(`, `)}. Using default behavior.`)),Ne(D?.agentType),D&&G(`tengu_agent_flag`,{agentType:wi(D)?D.agentType:`custom`,...se&&{source:`cli`}}),D?.agentType&&Vr(D.agentType),S&&D&&!C&&!wi(D)){let e=D.getSystemPrompt();e&&(C=e)}D?.initialPrompt&&(typeof E==`string`?E=E?`${D.initialPrompt}\n\n${E}`:D.initialPrompt:E||(E=D.initialPrompt));let Qt=Ot;!Qt&&D?.model&&D.model!==`inherit`&&(Qt=Yo(D.model)),Me(Qt),Ce(xs()||null);let $t=Te(),tn=Yo($t??As()),nn;if(Ji()){let e=ar()?n.advisor:void 0;e&&(I(`[AdvisorTool] --advisor ${e}`),dt(tn)||(process.stderr.write(y.red(`Error: The model "${tn}" does not support the advisor tool.\n`)),process.exit(1)),yn(ns(Yo(e)))||(process.stderr.write(y.red(`Error: The model "${e}" cannot be used as an advisor.\n`)),process.exit(1))),nn=ar()?e??Li():e,nn&&I(`[AdvisorTool] Advisor model: ${nn}`)}if(Ef(n),!et()&&!Ye()&&Ka().defaultView===`chat`){let{isBriefEntitled:t}=(lr(),e(qr));t()&&Re(!0)}if(n.proactive||d(process.env.CLAUDE_CODE_PROACTIVE)){let t=`\n# Proactive Mode\n\nYou are in proactive mode. Take initiative — explore, act, and make progress without waiting for instructions.\n\nStart by briefly greeting the user.\n\nYou will receive periodic <tick> prompts. These are check-ins. Do whatever seems most useful, or call Sleep if there's nothing to do. ${(lr(),e(qr)).isBriefEnabled()?`Call SendUserMessage at checkpoints to mark where things stand.`:`The user will see any text you output.`}`;w=w?`${w}\n\n${t}`:t}if(r&&af){let e=af.getAssistantSystemPromptAddendum();w=w?`${w}\n\n${e}`:e}let O,k,A;if(!S){let e=hu(!1);k=e.getFpsMetrics,A=e.stats,process.env.USER_TYPE===`ant`&&Xc();let{createRoot:n}=await import(`./src-CST_jFnT.js`);O=await n(e.renderOptions),G(`tengu_timer`,{event:`startup`,durationMs:Math.round(process.uptime()*1e3)}),I(`[STARTUP] Running showSetupScreens()...`);let r=Date.now(),i=await mu(O,Be,s,Bt);if(I(`[STARTUP] showSetupScreens() completed in ${Date.now()-r}ms`),Ee!==void 0){let{getBridgeDisabledReason:e}=await import(`./bridgeEnabled-BWSUZ7Xg.js`),t=await e();De=t===null,t&&process.stderr.write(y.yellow(`${t}\n--rc flag ignored.\n`))}i&&t?.trim().toLowerCase()===`/login`&&(t=``),i&&(Rc(),zt(),Cc(),import(`./trustedDevice-e6iF1X7C.js`).then(e=>(e.clearTrustedDeviceToken(),e.enrollTrustedDevice())));let a=await ks();a.valid||await X(O,a.message)}if(process.exitCode!==void 0){I(`Graceful shutdown initiated, skipping further initialization`);return}if(Ri(),!S){let{errors:e}=Xa(),t=e.filter(e=>!e.mcpErrorMetadata);t.length>0&&await gu(O,{settingsErrors:t,onExit:()=>wr(1)})}let ln=B().startupPrefetchedAt??0;p()?(I(`Skipping startup prefetches, last ran ${Math.round((Date.now()-ln)/1e3)}s ago`),_s()):(I(`Starting background startup prefetches${ln>0?` last ran ${Math.round((Date.now()-ln)/1e3)}s ago`:``}`),kt().catch(e=>U(e)),Xl(),Oc(),Is()),S||ul();let{servers:dn}=await lt;I(`[STARTUP] MCP configs resolved in ${ct}ms (awaited at +${Date.now()-st}ms)`);let pn={...dn,...He},gn={},vn={};for(let[e,t]of Object.entries(pn)){let n=t;n.type===`sdk`?gn[e]=n:vn[e]=n}K(`action_mcp_configs_loaded`);let Sn=S?Promise.resolve({clients:[],tools:[],commands:[]}):Fr(vn),Cn=S?Promise.resolve({clients:[],tools:[],commands:[]}):it.then(e=>Object.keys(e).length>0?Fr(e):{clients:[],tools:[],commands:[]}),En=Promise.all([Sn,Cn]).then(([e,t])=>({clients:[...e.clients,...t.clients],tools:Zt([...e.tools,...t.tools],`name`),commands:Zt([...e.commands,...t.commands],`name`)})),Dn=de||ue||fe||S||n.continue||n.resume?null:er(`startup`,{agentType:D?.agentType,model:tn}),On=[];En.catch(()=>{});let kn=[],An=[],jn=[],Nn=Lt(),j=Nn===!1?{type:`disabled`}:{type:`adaptive`};if(n.thinking===`adaptive`||n.thinking===`enabled`)Nn=!0,j={type:`adaptive`};else if(n.thinking===`disabled`)Nn=!1,j={type:`disabled`};else{let e=process.env.MAX_THINKING_TOKENS?parseInt(process.env.MAX_THINKING_TOKENS,10):n.maxThinkingTokens;e!==void 0&&(e>0?(Nn=!0,j={type:`enabled`,budgetTokens:e}):e===0&&(Nn=!1,j={type:`disabled`}))}H(`info`,`started`,{version:`0.0.3`,is_native_binary:Ho()}),Da(async()=>{H(`info`,`exited`)}),wf({hasInitialPrompt:!!t,hasStdin:!!E,verbose:ce,debug:i,debugToStderr:a,print:le??!1,outputFormat:_??`text`,inputFormat:v??`text`,numAllowedTools:l.length,numDisallowedTools:u.length,mcpClientCount:Object.keys(pn).length,worktreeEnabled:_e,skipWebFetchPreflight:Ka().skipWebFetchPreflight,githubActionInputs:process.env.GITHUB_ACTION_INPUTS,dangerouslySkipPermissionsPassed:o??!1,permissionMode:Be,modeIsBypass:Be===`bypassPermissions`,allowDangerouslySkipPermissionsPassed:s,systemPromptFlag:C?n.systemPromptFile?`file`:`flag`:void 0,appendSystemPromptFlag:w?n.appendSystemPromptFile?`file`:`flag`:void 0,thinkingConfig:j,assistantActivationPath:r?af?.getAssistantActivationPath():void 0}),hi(vn,T),Tn(null,`initialization`),cf(),hn().then(e=>{e&&(Tt&&In(Tt),St().then(e=>{e>=2&&G(`tengu_concurrent_sessions`,{num_sessions:e})}))}),p()||(S?(await pt(),K(`action_after_plugins_init`),br().then(()=>on())):pt().then(async()=>{K(`action_after_plugins_init`),await br(),on()}));let Fn=de||ue?`init`:fe?`maintenance`:null;if(de){ir(),await un(`init`,{forceSyncExecution:!0}),await er(`startup`,{forceSyncExecution:!0}),wr(0);return}if(S){(_===`stream-json`||_===`json`)&&Oa(!0),ir(),Wl();let e=n.continue||n.resume||x||Fn?void 0:er(`startup`);e?.catch(()=>{}),K(`before_validateForceLoginOrg`);let t=await ks();t.valid||(process.stderr.write(t.message+`
841
- `),process.exit(1));let i=pe?[]:Bt.filter(e=>e.type===`prompt`&&!e.disableNonInteractive||e.type===`local`&&e.supportsNonInteractive),a=Cr(),o=Wn({...a,mcp:{...a.mcp,clients:kn,commands:jn,tools:An},toolPermissionContext:T,effortValue:Wt(n.effort)??nt(),...Cs()&&{fastMode:ts(Qt??null)},...Ji()&&nn&&{advisorModel:nn},kairosEnabled:r},Yc);Nt(T,o.getState().fastMode).then(({updateContext:e})=>{o.setState(t=>{let n=e(t.toolPermissionContext);return n===t.toolPermissionContext?t:{...t,toolPermissionContext:n}})}),n.sessionPersistence===!1&&Le(!0),Ie(es(ee));let s=(e,t)=>Object.keys(e).length===0?Promise.resolve():(o.setState(t=>({...t,mcp:{...t.mcp,clients:[...t.mcp.clients,...Object.entries(e).map(([e,t])=>({name:e,type:`pending`,config:t}))]}})),Mi(({client:e,tools:t,commands:n})=>{o.setState(r=>({...r,mcp:{...r.mcp,clients:r.mcp.clients.some(t=>t.name===e.name)?r.mcp.clients.map(t=>t.name===e.name?e:t):[...r.mcp.clients,e],tools:Zt([...r.mcp.tools,...t],`name`),commands:Zt([...r.mcp.commands,...n],`name`)}}))},e).catch(e=>I(`[MCP] ${t} connect error: ${e}`)));K(`before_connectMcp`),await s(vn,`regular`),K(`after_connectMcp`);let c=5e3,u=it.then(e=>{if(Object.keys(e).length>0){let t=new Set;for(let n of Object.values(e)){let e=zn(n);e&&t.add(e)}let n=new Set;for(let[e,r]of Object.entries(vn)){if(!e.startsWith(`plugin:`))continue;let i=zn(r);i&&t.has(i)&&n.add(e)}if(n.size>0){I(`[MCP] Lazy dedup: suppressing ${n.size} plugin server(s) that duplicate claude.ai connectors: ${[...n].join(`, `)}`);for(let e of o.getState().mcp.clients)!n.has(e.name)||e.type!==`connected`||(e.client.onclose=void 0,Jr(e.name,e.config).catch(()=>{}));o.setState(e=>{let{clients:t,tools:r,commands:i,resources:a}=e.mcp;t=t.filter(e=>!n.has(e.name)),r=r.filter(e=>!e.mcpInfo||!n.has(e.mcpInfo.serverName));for(let e of n)i=ut(i,e),a=Hi(a,e);return{...e,mcp:{...e.mcp,clients:t,tools:r,commands:i,resources:a}}})}}let{servers:t}=Kt(e,Qa(vn,(e,t)=>!t.startsWith(`plugin:`)));return s(t,`claudeai`)}),d,f=await Promise.race([u.then(()=>!1),new Promise(e=>{d=setTimeout(e=>e(!0),c,e)})]);d&&clearTimeout(d),f&&I(`[MCP] claude.ai connectors not ready after ${c}ms — proceeding; background connection continues`),K(`after_connectMcp_claudeai`),p()||(hf(),import(`./backgroundHousekeeping-QK8iEXoI.js`).then(e=>e.startBackgroundHousekeeping()),process.env.USER_TYPE===`ant`&&import(`./sdkHeapDumpMonitor-WdXUV7DV.js`).then(e=>e.startSdkMemoryMonitor())),lf(),K(`before_print_import`);let{runHeadless:m}=await import(`./print-Cc_QOSPF.js`);K(`after_print_import`),m(E,()=>o.getState(),o.setState,i,ht,gn,Jt.activeAgents,{continue:n.continue,resume:n.resume,verbose:ce,outputFormat:_,jsonSchema:gt,permissionPromptToolName:n.permissionPromptTool,allowedTools:l,thinkingConfig:j,maxTurns:n.maxTurns,maxBudgetUsd:n.maxBudgetUsd,taskBudget:n.taskBudget?{total:n.taskBudget}:void 0,systemPrompt:C,appendSystemPrompt:w,userSpecifiedModel:Qt,fallbackModel:At,teleport:x,sdkUrl:be,replayUserMessages:wt,includePartialMessages:xe,forkSession:n.forkSession||!1,resumeSessionAt:n.resumeSessionAt||void 0,rewindFiles:n.rewindFiles,enableAuthStatus:n.enableAuthStatus,agent:se,workload:n.workload,setupTrigger:Fn??void 0,sessionStartHooksPromise:e});return}G(`tengu_startup_manual_model_config`,{cli_flag:n.model,env_var:process.env.ANTHROPIC_MODEL,settings_file:(Ka()||{}).model,subscriptionType:Zo(),agent:Xt});let Ln=sl(tn),Rn=[];if(Ve&&Rn.push({key:`permission-mode-notification`,text:Ve,priority:`high`}),Ln&&Rn.push({key:`model-deprecation-warning`,text:Ln,color:`warning`,priority:`high`}),rt.length>0){let e=Za(rt.map(e=>e.ruleDisplay)),t=e.join(`, `),n=Za(rt.map(e=>e.sourceDisplay)).join(`, `),r=e.length;Rn.push({key:`overly-broad-bash-notification`,text:`${t} allow ${Wo(r,`rule`)} from ${n} ${Wo(r,`was`,`were`)} ignored \u2014 not available for Ants, please use auto-mode instead`,color:`warning`,priority:`high`})}let Bn={...T},Vn=Ye(),Hn=De||io()||r,qn={settings:Ka(),tasks:{},agentNameRegistry:new Map,verbose:ce??B().verbose??!1,mainLoopModel:$t,mainLoopModelForSession:null,isBriefOnly:Vn,expandedView:B().showExpandedTodos?`tasks`:`none`,selectedIPAgentIndex:-1,selectedBgAgentIndex:-1,viewSelectionMode:`none`,footerSelection:null,toolPermissionContext:Bn,agent:D?.agentType,agentDefinitions:Jt,mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:0},plugins:{enabled:[],disabled:[],commands:[],errors:[],installationStatus:{marketplaces:[],plugins:[]},needsRefresh:!1},statusLineText:void 0,kairosEnabled:r,remoteSessionUrl:void 0,remoteConnectionStatus:`connecting`,remoteBackgroundTaskCount:0,replBridgeEnabled:Hn||!1,replBridgeExplicit:De,replBridgeOutboundOnly:!1,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:void 0,replBridgeSessionUrl:void 0,replBridgeEnvironmentId:void 0,replBridgeSessionId:void 0,replBridgeError:void 0,replBridgeInitialName:ke,showRemoteCallout:!1,notifications:{current:null,queue:Rn},elicitation:{queue:[]},todos:{},remoteAgentTaskSuggestions:[],fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},attribution:hc(),thinkingEnabled:Nn,promptSuggestionEnabled:di(),sessionHooks:new Map,inbox:{messages:[]},promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null},speculation:Ei,speculationSessionTimeSavedMs:0,skillImprovement:{suggestion:null},authVersion:0,initialMessage:E?{message:bn({content:String(E)})}:null,effortValue:Wt(n.effort)??nt(),activeOverlays:new Set,fastMode:ts(tn),...Ji()&&nn&&{advisorModel:nn}};E&&vr(String(E));let Jn=An;z(e=>({...e,numStartups:(e.numStartups??0)+1})),setImmediate(()=>{df(),lf()});let Xn=process.env.USER_TYPE===`ant`?import(`./sessionDataUploader-CaCjwsA2.js`):null,Qn=Xn?Xn.then(e=>e.createSessionTurnUploader()).catch(()=>null):null,$n={debug:i||a,commands:[...Bt,...jn],initialTools:Jn,mcpClients:kn,autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,dynamicMcpConfig:He,strictMcpConfig:We,systemPrompt:C,appendSystemPrompt:w,taskListId:he,thinkingConfig:j,...Qn&&{onTurnComplete:e=>{Qn.then(t=>t?.(e))}}},tr={mainThreadAgentDefinition:D,agentDefinitions:Jt,currentCwd:Ft,cliAgents:Ut,initialState:qn};if(n.continue){let e=!1;try{let t=performance.now(),{clearSessionCaches:r}=await import(`./caches-CpqTC0Lb.js`);r();let i=await xi(void 0,void 0);if(!i)return G(`tengu_continue`,{success:!1}),await X(O,`No conversation found to continue`);let a=await Zc(i,{forkSession:!!n.forkSession,includeAttribution:!0,transcriptPath:i.fullPath},tr);a.restoredAgentDef&&(D=a.restoredAgentDef),Tf(n),Ef(n),G(`tengu_continue`,{success:!0,resume_duration_ms:Math.round(performance.now()-t)}),e=!0,await ql(O,{getFpsMetrics:k,stats:A,initialState:a.initialState},{...$n,mainThreadAgentDefinition:a.restoredAgentDef??D,initialMessages:a.messages,initialFileHistorySnapshots:a.fileHistorySnapshots,initialContentReplacements:a.contentReplacements,initialAgentName:a.agentName,initialAgentColor:a.agentColor},pu)}catch(t){e||G(`tengu_continue`,{success:!1}),U(t),process.exit(1)}}else if(Q?.url){let e;try{let t=await ef({serverUrl:Q.url,authToken:Q.authToken,cwd:Ge(),dangerouslySkipPermissions:Q.dangerouslySkipPermissions});t.workDir&&(Fe(t.workDir),Qe(t.workDir)),je(Q.url),e=t.config}catch(e){return await X(O,e instanceof $d?e.message:String(e),()=>P(1))}let t=ta(`Connected to server at ${Q.url}\nSession: ${e.sessionId}`,`info`);await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{debug:i||a,commands:Bt,initialTools:[],initialMessages:[t],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,directConnectConfig:e,thinkingConfig:j},pu);return}else if($?.host){let{createSSHSession:e,createLocalSSHSession:t,SSHSessionError:n}=await import(`./createSSHSession-B0s839mX.js`),r;try{if($.local)process.stderr.write(`Starting local ssh-proxy test session...
842
- `),r=await t({cwd:$.cwd,permissionMode:$.permissionMode,dangerouslySkipPermissions:$.dangerouslySkipPermissions});else{process.stderr.write(`Connecting to ${$.host}…\n`);let t=process.stderr.isTTY,n=!1;r=await e({host:$.host,cwd:$.cwd,localVersion:`0.0.3`,permissionMode:$.permissionMode,dangerouslySkipPermissions:$.dangerouslySkipPermissions,extraCliArgs:$.extraCliArgs,remoteBin:$.remoteBin},t?{onProgress:e=>{n=!0,process.stderr.write(`\r ${e}\x1b[K`)}}:{}),n&&process.stderr.write(`
843
- `)}Fe(r.remoteCwd),Qe(r.remoteCwd),je($.local?`local`:$.host)}catch(e){return await X(O,e instanceof n?e.message:String(e),()=>P(1))}let o=ta($.local?`Local ssh-proxy test session\ncwd: ${r.remoteCwd}\nAuth: unix socket → local proxy`:`SSH session to ${$.host}\nRemote cwd: ${r.remoteCwd}\nAuth: unix socket -R → local proxy`,`info`);await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{debug:i||a,commands:Bt,initialTools:[],initialMessages:[o],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,sshSession:r,thinkingConfig:j},pu);return}else if(bf&&(bf.sessionId||bf.discover)){let{discoverAssistantSessions:e}=await import(`./sessionDiscovery-C3pMZkBM.js`),t=bf.sessionId;if(!t){let n;try{n=await e()}catch(e){return await X(O,`Failed to discover sessions: ${e instanceof Error?e.message:e}`,()=>P(1))}if(n.length===0){let e;try{e=await vu(O)}catch(e){return await X(O,`Assistant installation failed: ${e instanceof Error?e.message:e}`,()=>P(1))}return e===null&&(await P(0),process.exit(0)),await fu(O,`Assistant installed in ${e}. The daemon is starting up — run \`claude assistant\` again in a few seconds to connect.`,{exitCode:0,beforeExit:()=>P(0)})}if(n.length===1)t=n[0].id;else{let e=await _u(O,{sessions:n});e||(await P(0),process.exit(0)),t=e}}let{checkAndRefreshOAuthTokenIfNeeded:n,getClaudeAIOAuthTokens:r}=await import(`./auth-B9V3i5oZ.js`);await n();let o;try{o=await bc()}catch(e){return await X(O,`Error: ${e instanceof Error?e.message:`Failed to authenticate`}`,()=>P(1))}let s=()=>r()?.accessToken??o.accessToken;Ae(!0),Re(!0),Oe(!0);let c=cl(t,s,o.orgUUID,!1,!0),l=ta(`Attached to assistant session ${t.slice(0,8)}…`,`info`),u={...qn,isBriefOnly:!0,kairosEnabled:!1,replBridgeEnabled:!1},d=jt(Bt);await ql(O,{getFpsMetrics:k,stats:A,initialState:u},{debug:i||a,commands:d,initialTools:[],initialMessages:[l],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,remoteSessionConfig:c,thinkingConfig:j},pu);return}else if(n.resume||n.fromPr||x||we!==null){let{clearSessionCaches:e}=await import(`./caches-CpqTC0Lb.js`);e();let t=null,r,o=Lr(n.resume),s,c=null,l;if(n.fromPr&&(n.fromPr===!0?l=!0:typeof n.fromPr==`string`&&(l=n.fromPr)),n.resume&&typeof n.resume==`string`&&!o){let e=n.resume.trim();if(e){let t=await Ui(e,{exact:!0});t.length===1?(c=t[0],o=ft(c)??null):s=e}}if((we!==null||x)&&(await Yn(),!Mn(`allow_remote_sessions`)))return await X(O,`Error: Remote sessions are disabled by your organization's policy.`,()=>P(1));if(we!==null){let e=we.length>0;if(!e)return await X(O,`Error: --remote requires a description.
844
- Usage: claude --remote "your task description"`,()=>P(1));G(`tengu_remote_create_session`,{has_initial_prompt:String(e)});let t=await vo(),n=await Yt(O,e?we:null,new AbortController().signal,t||void 0);if(!n)return G(`tengu_remote_create_session_error`,{error:`unable_to_create_session`}),await X(O,`Error: Unable to create remote session`,()=>P(1));G(`tengu_remote_create_session_success`,{session_id:n.id}),process.stdout.write(`Created remote session: ${n.title}\n`),process.stdout.write(`View: ${Vt(n.id)}?m=0\n`),process.stdout.write(`Resume with: claude --teleport ${n.id}\n`),await P(0),process.exit(0),Oe(!0),Ze(Dt(n.id));let r;try{r=await bc()}catch(e){return U(va(e)),await X(O,`Error: ${F(e)||`Failed to authenticate`}`,()=>P(1))}let{getClaudeAIOAuthTokens:o}=await import(`./auth-B9V3i5oZ.js`),s=cl(n.id,()=>o()?.accessToken??r.accessToken,r.orgUUID,e),c=`${Vt(n.id)}?m=0`,l=ta(`/remote-control is active. Code in CLI or at ${c}`,`info`),u=e?bn({content:we}):null,d={...qn,remoteSessionUrl:c},f=jt(Bt);await ql(O,{getFpsMetrics:k,stats:A,initialState:d},{debug:i||a,commands:f,initialTools:[],initialMessages:u?[l,u]:[l],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,remoteSessionConfig:s,thinkingConfig:j},pu);return}else if(x){if(x===!0||x===``){G(`tengu_teleport_interactive_mode`,{}),I(`selectAndResumeTeleportTask: Starting teleport flow...`);let e=await yu(O);e||(await P(0),process.exit(0));let{branchError:n}=await ot(e.branch);t=rn(e.log,n)}else if(typeof x==`string`){G(`tengu_teleport_resume_session`,{mode:`direct`});try{let e=await la(await Sc(x));if(e.status===`mismatch`||e.status===`not_in_repo`){let t=e.sessionRepo;if(t){let e=await rl(nl(t));if(e.length>0){let n=await bu(O,{targetRepo:t,initialPaths:e});n?(process.chdir(n),Et(n),Fe(n)):await P(0)}else throw new ha(`You must run claude --teleport ${x} from a checkout of ${t}.`,y.red(`You must run claude --teleport ${x} from a checkout of ${y.bold(t)}.\n`))}}else if(e.status===`error`)throw new ha(e.errorMessage||`Failed to validate session`,y.red(`Error: ${e.errorMessage||`Failed to validate session`}\n`));await _n();let{teleportWithProgress:n}=await import(`./TeleportProgress-Bens06DU.js`),r=await n(O,x);qe({sessionId:x}),t=r.messages}catch(e){e instanceof ha?process.stderr.write(e.formattedMessage+`
845
- `):(U(e),process.stderr.write(y.red(`Error: ${F(e)}\n`))),await P(1)}}}if(process.env.USER_TYPE===`ant`&&n.resume&&typeof n.resume==`string`&&!o){let e=pl(n.resume);try{let t=performance.now(),i;try{i=await Kn(e)}catch(e){if(!_a(e))throw e}if(i){let e=await xi(i,void 0);e?(r=await Zc(e,{forkSession:!!n.forkSession,transcriptPath:e.fullPath},tr),r.restoredAgentDef&&(D=r.restoredAgentDef),G(`tengu_session_resumed`,{entrypoint:`file`,success:!0,resume_duration_ms:Math.round(performance.now()-t)})):G(`tengu_session_resumed`,{entrypoint:`file`,success:!1})}}catch(e){G(`tengu_session_resumed`,{entrypoint:`file`,success:!1}),U(e),await X(O,`Unable to load transcript from file: ${n.resume}`,()=>P(1))}}if(o){let e=o;try{let t=performance.now(),i=await xi(c??e,void 0);if(!i)return G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),await X(O,`No conversation found with session ID: ${e}`);let a=c?.fullPath??i.fullPath;r=await Zc(i,{forkSession:!!n.forkSession,sessionIdOverride:e,transcriptPath:a},tr),r.restoredAgentDef&&(D=r.restoredAgentDef),G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!0,resume_duration_ms:Math.round(performance.now()-t)})}catch(t){G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),U(t),await X(O,`Failed to resume session ${e}`)}}if(ae)try{let e=await ae,t=Ua(e,e=>!e.success);t>0&&process.stderr.write(y.yellow(`Warning: ${t}/${e.length} file(s) failed to download.\n`))}catch(e){return await X(O,`Error downloading files: ${F(e)}`)}let u=r??(Array.isArray(t)?{messages:t,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:D,initialState:qn,contentReplacements:void 0}:void 0);u?(Tf(n),Ef(n),await ql(O,{getFpsMetrics:k,stats:A,initialState:u.initialState},{...$n,mainThreadAgentDefinition:u.restoredAgentDef??D,initialMessages:u.messages,initialFileHistorySnapshots:u.fileHistorySnapshots,initialContentReplacements:u.contentReplacements,initialAgentName:u.agentName,initialAgentColor:u.agentColor},pu)):await xu(O,{getFpsMetrics:k,stats:A,initialState:qn},sn(Ge()),{...$n,initialSearchQuery:s,forkSession:n.forkSession,filterByPr:l})}else{let e=Dn&&On.length===0?Dn:void 0;K(`action_after_hooks`),Tf(n),Ef(n);let t=null;n.deepLinkOrigin?(G(`tengu_deep_link_opened`,{has_prefill:!!n.prefill,has_repo:!!n.deepLinkRepo}),t=ta(ol({cwd:da(),prefillLength:n.prefill?.length,repo:n.deepLinkRepo,lastFetch:n.deepLinkLastFetch===void 0?void 0:new Date(n.deepLinkLastFetch)}),`warning`)):n.prefill&&(t=ta(`Launched with a pre-filled prompt — review it before pressing Enter.`,`warning`));let r=t?[t,...On]:On.length>0?On:void 0;await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{...$n,initialMessages:r,pendingHookMessages:e},pu)}}).version(`0.0.3 (Work Mate)`,`-v, --version`,`Output the version number`),n.option(`-w, --worktree [name]`,`Create a new git worktree for this session (optionally specify a name)`),n.option(`--tmux`,`Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.`),ar()&&n.addOption(new J(`--advisor <model>`,`Enable the server-side advisor tool with the specified model (alias or full ID).`).hideHelp()),process.env.USER_TYPE===`ant`&&(n.addOption(new J(`--delegate-permissions`,`[ANT-ONLY] Alias for --permission-mode auto.`).implies({permissionMode:`auto`})),n.addOption(new J(`--dangerously-skip-permissions-with-classifiers`,`[ANT-ONLY] Deprecated alias for --permission-mode auto.`).hideHelp().implies({permissionMode:`auto`})),n.addOption(new J(`--afk`,`[ANT-ONLY] Deprecated alias for --permission-mode auto.`).hideHelp().implies({permissionMode:`auto`})),n.addOption(new J(`--tasks [id]`,`[ANT-ONLY] Tasks mode: watch for tasks and auto-process them. Optional id is used as both the task list ID and agent ID (defaults to "tasklist").`).argParser(String).hideHelp()),n.option(`--agent-teams`,`[ANT-ONLY] Force Claude to use multi-agent mode for solving problems`,()=>!0)),n.addOption(new J(`--enable-auto-mode`,`Opt in to auto mode`).hideHelp()),n.addOption(new J(`--proactive`,`Start in proactive autonomous mode`)),n.addOption(new J(`--brief`,`Enable SendUserMessage tool for agent-to-user communication`)),n.addOption(new J(`--assistant`,`Force assistant mode (Agent SDK daemon use)`).hideHelp()),n.addOption(new J(`--sdk-url <url>`,`Use remote WebSocket endpoint for SDK I/O streaming (only with -p and stream-json format)`).hideHelp()),n.addOption(new J(`--teleport [session]`,`Resume a teleport session, optionally specify session ID`).hideHelp()),n.addOption(new J(`--remote [description]`,`Create a remote session with the given description`).hideHelp()),n.addOption(new J(`--remote-control [name]`,`Start an interactive session with Remote Control enabled (optionally named)`).argParser(e=>e||!0).hideHelp()),n.addOption(new J(`--rc [name]`,`Alias for --remote-control`).argParser(e=>e||!0).hideHelp()),K(`run_main_options_built`);let r=process.argv.includes(`-p`)||process.argv.includes(`--print`),i=process.argv.some(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(r&&!i)return K(`run_before_parse`),await n.parseAsync(process.argv),K(`run_after_parse`),n;let a=n.command(`mcp`).description(`Configure and manage MCP servers`).configureHelp(t()).enablePositionalOptions();a.command(`serve`).description(`Start the Work Mate MCP server`).option(`-d, --debug`,`Enable debug mode`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).action(async({debug:e,verbose:t})=>{let{mcpServeHandler:n}=await import(`./mcp-DtxIl6aN.js`);await n({debug:e,verbose:t})}),zd(a),Gr()&&Bd(a),a.command(`remove <name>`).description(`Remove an MCP server`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in`).action(async(e,t)=>{let{mcpRemoveHandler:n}=await import(`./mcp-DtxIl6aN.js`);await n(e,t)}),a.command(`list`).description(`List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let{mcpListHandler:e}=await import(`./mcp-DtxIl6aN.js`);await e()}),a.command(`get <name>`).description(`Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async e=>{let{mcpGetHandler:t}=await import(`./mcp-DtxIl6aN.js`);await t(e)}),a.command(`add-json <name> <json>`).description(`Add an MCP server (stdio or SSE) with a JSON string`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).option(`--client-secret`,`Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)`).action(async(e,t,n)=>{let{mcpAddJsonHandler:r}=await import(`./mcp-DtxIl6aN.js`);await r(e,t,n)}),a.command(`add-from-claude-desktop`).description(`Import MCP servers from Claude Desktop (Mac and WSL only)`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async e=>{let{mcpAddFromDesktopHandler:t}=await import(`./mcp-DtxIl6aN.js`);await t(e)}),a.command(`reset-project-choices`).description(`Reset all approved and rejected project-scoped (.mcp.json) servers within this project`).action(async()=>{let{mcpResetChoicesHandler:e}=await import(`./mcp-DtxIl6aN.js`);await e()}),n.command(`server`).description(`Start a Work Mate session server`).option(`--port <number>`,`HTTP port`,`0`).option(`--host <string>`,`Bind address`,`0.0.0.0`).option(`--auth-token <token>`,`Bearer token for auth`).option(`--unix <path>`,`Listen on a unix domain socket`).option(`--workspace <dir>`,`Default working directory for sessions that do not specify cwd`).option(`--idle-timeout <ms>`,`Idle timeout for detached sessions in ms (0 = never expire)`,`600000`).option(`--max-sessions <n>`,`Maximum concurrent sessions (0 = unlimited)`,`32`).action(async e=>{let{randomBytes:t}=await import(`crypto`),{startServer:n}=await import(`./server-LdbAb0sV.js`),{SessionManager:r}=await import(`./sessionManager-CPa049BO.js`),{DangerousBackend:i}=await import(`./dangerousBackend-DwcP0P08.js`),{printBanner:a}=await import(`./serverBanner-BdExKFHT.js`),{createServerLogger:o}=await import(`./serverLog-BFmvyJ93.js`),{writeServerLock:s,removeServerLock:c,probeRunningServer:l}=await import(`./lockfile-D5-j7HOZ.js`),u=await l();u&&(process.stderr.write(`A claude server is already running (pid ${u.pid}) at ${u.httpUrl}\n`),process.exit(1));let d=e.authToken??`sk-ant-cc-${t(16).toString(`base64url`)}`,f={port:parseInt(e.port,10),host:e.host,authToken:d,unix:e.unix,workspace:e.workspace,idleTimeoutMs:parseInt(e.idleTimeout,10),maxSessions:parseInt(e.maxSessions,10)},p=new r(new i,{idleTimeoutMs:f.idleTimeoutMs,maxSessions:f.maxSessions}),m=n(f,p,o()),h=m.port??f.port;a(f,d,h),await s({pid:process.pid,port:h,host:f.host,httpUrl:f.unix?`unix:${f.unix}`:`http://${f.host}:${h}`,startedAt:Date.now()});let g=!1,ee=async()=>{g||(g=!0,m.stop(!0),await p.destroyAll(),await c(),process.exit(0))};process.once(`SIGINT`,()=>void ee()),process.once(`SIGTERM`,()=>void ee())}),n.command(`ssh <host> [dir]`).description(`Run Work Mate on a remote host over SSH. Deploys the binary and tunnels API auth back through your local machine — no remote setup needed.`).option(`--permission-mode <mode>`,`Permission mode for the remote session`).option(`--dangerously-skip-permissions`,`Skip all permission prompts on the remote (dangerous)`).option(`--remote-bin <command>`,`Custom remote binary command (skips probe/deploy). Example: --remote-bin 'bun /path/to/project/dist/cli.js'`).option(`--local`,`e2e test mode — spawn the child CLI locally (skip ssh/deploy). Exercises the auth proxy and unix-socket plumbing without a remote host.`).action(async()=>{process.stderr.write(`Usage: claude ssh <user@host | ssh-config-alias> [dir]
840
+ `);I(`--mcp-config validation failed (${n.length} errors): ${e}`,{level:`error`}),process.stderr.write(`Error: Invalid MCP configuration:\n${e}\n`),process.exit(1)}if(Object.keys(t).length>0){let{allowed:e,blocked:n}=sa(fn(t,e=>({...e,scope:`dynamic`})));n.length>0&&process.stderr.write(`Warning: MCP ${Wo(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),He={...He,...e}}}let We=n.strictMcpConfig||!1;if(mn()&&(We&&(process.stderr.write(y.red(`You cannot use --strict-mcp-config when an enterprise MCP config is present`)),process.exit(1)),He&&!Pt(He)&&(process.stderr.write(y.red(`You cannot dynamically configure MCP servers when an enterprise MCP config is present`)),process.exit(1))),Ue(h),c.length>0){let{BRIEF_TOOL_NAME:t,LEGACY_BRIEF_TOOL_NAME:n}=(Fa(),e(Ia)),{isBriefEntitled:r}=(lr(),e(qr)),i=ei(c);(i.includes(t)||i.includes(n))&&r()&&Re(!0)}let Je=await xn({allowedToolsCli:l,disallowedToolsCli:u,baseToolsCli:c,permissionMode:Be,allowDangerouslySkipPermissions:s,addDirs:h}),T=Je.toolPermissionContext,{warnings:Xe,dangerousPermissions:$e,overlyBroadBashPermissions:rt}=Je;if(process.env.USER_TYPE===`ant`&&rt.length>0){for(let e of rt)I(`Ignoring overly broad shell permission ${e.ruleDisplay} from ${e.sourceDisplay}`);T=Yr(T,rt)}$e.length>0&&(T=en(T)),Xe.forEach(e=>{console.error(e)});let it=S&&!We&&!mn()&&!p()?cn().then(e=>{let{allowed:t,blocked:n}=sa(e);return n.length>0&&process.stderr.write(`Warning: claude.ai MCP ${Wo(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),t}):Promise.resolve({});I(`[STARTUP] Loading MCP configs...`);let st=Date.now(),ct,lt=(We||p()?Promise.resolve({servers:{}}):Pn(He)).then(e=>(ct=Date.now()-st,e));v&&v!==`text`&&v!==`stream-json`&&(console.error(`Error: Invalid input format "${v}".`),process.exit(1)),v===`stream-json`&&_!==`stream-json`&&(console.error(`Error: --input-format=stream-json requires output-format=stream-json.`),process.exit(1)),be&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --sdk-url requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),n.replayUserMessages&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --replay-user-messages requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),xe&&(!S||_!==`stream-json`)&&(fo(`Error: --include-partial-messages requires --print and --output-format=stream-json.`),process.exit(1)),n.sessionPersistence===!1&&!S&&(fo(`Error: --no-session-persistence can only be used with --print mode.`),process.exit(1));let E=await Sf(t||``,v??`text`);K(`action_after_input_prompt`),Tf(n);let ht=Zn(T);K(`action_tools_loaded`);let gt;if(Zs({isNonInteractiveSession:S})&&n.jsonSchema&&(gt=fa(n.jsonSchema)),gt){let e=Qs(gt);`tool`in e?(ht=[...ht,e.tool],G(`tengu_structured_output_enabled`,{schema_property_count:Object.keys(gt.properties||{}).length,has_required_fields:!!gt.required})):G(`tengu_structured_output_failure`,{error:`Invalid JSON schema`})}K(`action_before_setup`),I(`[STARTUP] Running setup()...`);let _t=Date.now(),{setup:vt}=await import(`./setup-JHvhWKh9.js`),yt=da();process.env.CLAUDE_CODE_ENTRYPOINT!==`local-agent`&&Id();let bt=vt(yt,Be,s,_e,ge,ye,ne?Lr(ne):void 0,ve,void 0),xt=_e?null:bi(yt),Ct=_e?null:Kr(yt);xt?.catch(()=>{}),Ct?.catch(()=>{}),await bt,I(`[STARTUP] setup() completed in ${Date.now()-_t}ms`),K(`action_after_setup`);let wt=!!n.replayUserMessages;et()&&(ir(),ti(),tt(),Es());let Tt=n.name?.trim();Tt&&Gn(Tt);let Ot=n.model==="default"?As():n.model,At=g==="default"?As():g,Ft=_e?da():yt;I(`[STARTUP] Loading commands and agents...`);let Rt=Date.now(),[Bt,Ht]=await Promise.all([xt??bi(Ft),Ct??Kr(Ft)]);I(`[STARTUP] Commands and agents loaded in ${Date.now()-Rt}ms`),K(`action_commands_loaded`);let Ut=[];if(oe)try{let e=Po(oe);e&&(Ut=jr(e,`flagSettings`))}catch(e){U(e)}let Gt=[...Ht.allAgents,...Ut],Jt={...Ht,allAgents:Gt,activeAgents:Si(Gt)},Xt=se??Ka().agent,D;if(Xt&&(D=Jt.activeAgents.find(e=>e.agentType===Xt),D||I(`Warning: agent "${Xt}" not found. Available agents: ${Jt.activeAgents.map(e=>e.agentType).join(`, `)}. Using default behavior.`)),Ne(D?.agentType),D&&G(`tengu_agent_flag`,{agentType:wi(D)?D.agentType:`custom`,...se&&{source:`cli`}}),D?.agentType&&Vr(D.agentType),S&&D&&!C&&!wi(D)){let e=D.getSystemPrompt();e&&(C=e)}D?.initialPrompt&&(typeof E==`string`?E=E?`${D.initialPrompt}\n\n${E}`:D.initialPrompt:E||(E=D.initialPrompt));let Qt=Ot;!Qt&&D?.model&&D.model!==`inherit`&&(Qt=Yo(D.model)),Me(Qt),Ce(xs()||null);let $t=Te(),tn=Yo($t??As()),nn;if(Ji()){let e=ar()?n.advisor:void 0;e&&(I(`[AdvisorTool] --advisor ${e}`),dt(tn)||(process.stderr.write(y.red(`Error: The model "${tn}" does not support the advisor tool.\n`)),process.exit(1)),yn(ns(Yo(e)))||(process.stderr.write(y.red(`Error: The model "${e}" cannot be used as an advisor.\n`)),process.exit(1))),nn=ar()?e??Li():e,nn&&I(`[AdvisorTool] Advisor model: ${nn}`)}if(Ef(n),!et()&&!Ye()&&Ka().defaultView===`chat`){let{isBriefEntitled:t}=(lr(),e(qr));t()&&Re(!0)}if(n.proactive||d(process.env.CLAUDE_CODE_PROACTIVE)){let t=`\n# Proactive Mode\n\nYou are in proactive mode. Take initiative — explore, act, and make progress without waiting for instructions.\n\nStart by briefly greeting the user.\n\nYou will receive periodic <tick> prompts. These are check-ins. Do whatever seems most useful, or call Sleep if there's nothing to do. ${(lr(),e(qr)).isBriefEnabled()?`Call SendUserMessage at checkpoints to mark where things stand.`:`The user will see any text you output.`}`;w=w?`${w}\n\n${t}`:t}if(r&&af){let e=af.getAssistantSystemPromptAddendum();w=w?`${w}\n\n${e}`:e}let O,k,A;if(!S){let e=hu(!1);k=e.getFpsMetrics,A=e.stats,process.env.USER_TYPE===`ant`&&Xc();let{createRoot:n}=await import(`./src-CST_jFnT.js`);O=await n(e.renderOptions),G(`tengu_timer`,{event:`startup`,durationMs:Math.round(process.uptime()*1e3)}),I(`[STARTUP] Running showSetupScreens()...`);let r=Date.now(),i=await mu(O,Be,s,Bt);if(I(`[STARTUP] showSetupScreens() completed in ${Date.now()-r}ms`),Ee!==void 0){let{getBridgeDisabledReason:e}=await import(`./bridgeEnabled-DZzlF2d8.js`),t=await e();De=t===null,t&&process.stderr.write(y.yellow(`${t}\n--rc flag ignored.\n`))}i&&t?.trim().toLowerCase()===`/login`&&(t=``),i&&(Rc(),zt(),Cc(),import(`./trustedDevice-0dehm9qz.js`).then(e=>(e.clearTrustedDeviceToken(),e.enrollTrustedDevice())));let a=await ks();a.valid||await X(O,a.message)}if(process.exitCode!==void 0){I(`Graceful shutdown initiated, skipping further initialization`);return}if(Ri(),!S){let{errors:e}=Xa(),t=e.filter(e=>!e.mcpErrorMetadata);t.length>0&&await gu(O,{settingsErrors:t,onExit:()=>wr(1)})}let ln=B().startupPrefetchedAt??0;p()?(I(`Skipping startup prefetches, last ran ${Math.round((Date.now()-ln)/1e3)}s ago`),_s()):(I(`Starting background startup prefetches${ln>0?` last ran ${Math.round((Date.now()-ln)/1e3)}s ago`:``}`),kt().catch(e=>U(e)),Xl(),Oc(),Is()),S||ul();let{servers:dn}=await lt;I(`[STARTUP] MCP configs resolved in ${ct}ms (awaited at +${Date.now()-st}ms)`);let pn={...dn,...He},gn={},vn={};for(let[e,t]of Object.entries(pn)){let n=t;n.type===`sdk`?gn[e]=n:vn[e]=n}K(`action_mcp_configs_loaded`);let Sn=S?Promise.resolve({clients:[],tools:[],commands:[]}):Fr(vn),Cn=S?Promise.resolve({clients:[],tools:[],commands:[]}):it.then(e=>Object.keys(e).length>0?Fr(e):{clients:[],tools:[],commands:[]}),En=Promise.all([Sn,Cn]).then(([e,t])=>({clients:[...e.clients,...t.clients],tools:Zt([...e.tools,...t.tools],`name`),commands:Zt([...e.commands,...t.commands],`name`)})),Dn=de||ue||fe||S||n.continue||n.resume?null:er(`startup`,{agentType:D?.agentType,model:tn}),On=[];En.catch(()=>{});let kn=[],An=[],jn=[],Nn=Lt(),j=Nn===!1?{type:`disabled`}:{type:`adaptive`};if(n.thinking===`adaptive`||n.thinking===`enabled`)Nn=!0,j={type:`adaptive`};else if(n.thinking===`disabled`)Nn=!1,j={type:`disabled`};else{let e=process.env.MAX_THINKING_TOKENS?parseInt(process.env.MAX_THINKING_TOKENS,10):n.maxThinkingTokens;e!==void 0&&(e>0?(Nn=!0,j={type:`enabled`,budgetTokens:e}):e===0&&(Nn=!1,j={type:`disabled`}))}H(`info`,`started`,{version:`0.0.4`,is_native_binary:Ho()}),Da(async()=>{H(`info`,`exited`)}),wf({hasInitialPrompt:!!t,hasStdin:!!E,verbose:ce,debug:i,debugToStderr:a,print:le??!1,outputFormat:_??`text`,inputFormat:v??`text`,numAllowedTools:l.length,numDisallowedTools:u.length,mcpClientCount:Object.keys(pn).length,worktreeEnabled:_e,skipWebFetchPreflight:Ka().skipWebFetchPreflight,githubActionInputs:process.env.GITHUB_ACTION_INPUTS,dangerouslySkipPermissionsPassed:o??!1,permissionMode:Be,modeIsBypass:Be===`bypassPermissions`,allowDangerouslySkipPermissionsPassed:s,systemPromptFlag:C?n.systemPromptFile?`file`:`flag`:void 0,appendSystemPromptFlag:w?n.appendSystemPromptFile?`file`:`flag`:void 0,thinkingConfig:j,assistantActivationPath:r?af?.getAssistantActivationPath():void 0}),hi(vn,T),Tn(null,`initialization`),cf(),hn().then(e=>{e&&(Tt&&In(Tt),St().then(e=>{e>=2&&G(`tengu_concurrent_sessions`,{num_sessions:e})}))}),p()||(S?(await pt(),K(`action_after_plugins_init`),br().then(()=>on())):pt().then(async()=>{K(`action_after_plugins_init`),await br(),on()}));let Fn=de||ue?`init`:fe?`maintenance`:null;if(de){ir(),await un(`init`,{forceSyncExecution:!0}),await er(`startup`,{forceSyncExecution:!0}),wr(0);return}if(S){(_===`stream-json`||_===`json`)&&Oa(!0),ir(),Wl();let e=n.continue||n.resume||x||Fn?void 0:er(`startup`);e?.catch(()=>{}),K(`before_validateForceLoginOrg`);let t=await ks();t.valid||(process.stderr.write(t.message+`
841
+ `),process.exit(1));let i=pe?[]:Bt.filter(e=>e.type===`prompt`&&!e.disableNonInteractive||e.type===`local`&&e.supportsNonInteractive),a=Cr(),o=Wn({...a,mcp:{...a.mcp,clients:kn,commands:jn,tools:An},toolPermissionContext:T,effortValue:Wt(n.effort)??nt(),...Cs()&&{fastMode:ts(Qt??null)},...Ji()&&nn&&{advisorModel:nn},kairosEnabled:r},Yc);Nt(T,o.getState().fastMode).then(({updateContext:e})=>{o.setState(t=>{let n=e(t.toolPermissionContext);return n===t.toolPermissionContext?t:{...t,toolPermissionContext:n}})}),n.sessionPersistence===!1&&Le(!0),Ie(es(ee));let s=(e,t)=>Object.keys(e).length===0?Promise.resolve():(o.setState(t=>({...t,mcp:{...t.mcp,clients:[...t.mcp.clients,...Object.entries(e).map(([e,t])=>({name:e,type:`pending`,config:t}))]}})),Mi(({client:e,tools:t,commands:n})=>{o.setState(r=>({...r,mcp:{...r.mcp,clients:r.mcp.clients.some(t=>t.name===e.name)?r.mcp.clients.map(t=>t.name===e.name?e:t):[...r.mcp.clients,e],tools:Zt([...r.mcp.tools,...t],`name`),commands:Zt([...r.mcp.commands,...n],`name`)}}))},e).catch(e=>I(`[MCP] ${t} connect error: ${e}`)));K(`before_connectMcp`),await s(vn,`regular`),K(`after_connectMcp`);let c=5e3,u=it.then(e=>{if(Object.keys(e).length>0){let t=new Set;for(let n of Object.values(e)){let e=zn(n);e&&t.add(e)}let n=new Set;for(let[e,r]of Object.entries(vn)){if(!e.startsWith(`plugin:`))continue;let i=zn(r);i&&t.has(i)&&n.add(e)}if(n.size>0){I(`[MCP] Lazy dedup: suppressing ${n.size} plugin server(s) that duplicate claude.ai connectors: ${[...n].join(`, `)}`);for(let e of o.getState().mcp.clients)!n.has(e.name)||e.type!==`connected`||(e.client.onclose=void 0,Jr(e.name,e.config).catch(()=>{}));o.setState(e=>{let{clients:t,tools:r,commands:i,resources:a}=e.mcp;t=t.filter(e=>!n.has(e.name)),r=r.filter(e=>!e.mcpInfo||!n.has(e.mcpInfo.serverName));for(let e of n)i=ut(i,e),a=Hi(a,e);return{...e,mcp:{...e.mcp,clients:t,tools:r,commands:i,resources:a}}})}}let{servers:t}=Kt(e,Qa(vn,(e,t)=>!t.startsWith(`plugin:`)));return s(t,`claudeai`)}),d,f=await Promise.race([u.then(()=>!1),new Promise(e=>{d=setTimeout(e=>e(!0),c,e)})]);d&&clearTimeout(d),f&&I(`[MCP] claude.ai connectors not ready after ${c}ms — proceeding; background connection continues`),K(`after_connectMcp_claudeai`),p()||(hf(),import(`./backgroundHousekeeping-DQjzXBe0.js`).then(e=>e.startBackgroundHousekeeping()),process.env.USER_TYPE===`ant`&&import(`./sdkHeapDumpMonitor-WdXUV7DV.js`).then(e=>e.startSdkMemoryMonitor())),lf(),K(`before_print_import`);let{runHeadless:m}=await import(`./print-CZUmAzmt.js`);K(`after_print_import`),m(E,()=>o.getState(),o.setState,i,ht,gn,Jt.activeAgents,{continue:n.continue,resume:n.resume,verbose:ce,outputFormat:_,jsonSchema:gt,permissionPromptToolName:n.permissionPromptTool,allowedTools:l,thinkingConfig:j,maxTurns:n.maxTurns,maxBudgetUsd:n.maxBudgetUsd,taskBudget:n.taskBudget?{total:n.taskBudget}:void 0,systemPrompt:C,appendSystemPrompt:w,userSpecifiedModel:Qt,fallbackModel:At,teleport:x,sdkUrl:be,replayUserMessages:wt,includePartialMessages:xe,forkSession:n.forkSession||!1,resumeSessionAt:n.resumeSessionAt||void 0,rewindFiles:n.rewindFiles,enableAuthStatus:n.enableAuthStatus,agent:se,workload:n.workload,setupTrigger:Fn??void 0,sessionStartHooksPromise:e});return}G(`tengu_startup_manual_model_config`,{cli_flag:n.model,env_var:process.env.ANTHROPIC_MODEL,settings_file:(Ka()||{}).model,subscriptionType:Zo(),agent:Xt});let Ln=sl(tn),Rn=[];if(Ve&&Rn.push({key:`permission-mode-notification`,text:Ve,priority:`high`}),Ln&&Rn.push({key:`model-deprecation-warning`,text:Ln,color:`warning`,priority:`high`}),rt.length>0){let e=Za(rt.map(e=>e.ruleDisplay)),t=e.join(`, `),n=Za(rt.map(e=>e.sourceDisplay)).join(`, `),r=e.length;Rn.push({key:`overly-broad-bash-notification`,text:`${t} allow ${Wo(r,`rule`)} from ${n} ${Wo(r,`was`,`were`)} ignored \u2014 not available for Ants, please use auto-mode instead`,color:`warning`,priority:`high`})}let Bn={...T},Vn=Ye(),Hn=De||io()||r,qn={settings:Ka(),tasks:{},agentNameRegistry:new Map,verbose:ce??B().verbose??!1,mainLoopModel:$t,mainLoopModelForSession:null,isBriefOnly:Vn,expandedView:B().showExpandedTodos?`tasks`:`none`,selectedIPAgentIndex:-1,selectedBgAgentIndex:-1,viewSelectionMode:`none`,footerSelection:null,toolPermissionContext:Bn,agent:D?.agentType,agentDefinitions:Jt,mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:0},plugins:{enabled:[],disabled:[],commands:[],errors:[],installationStatus:{marketplaces:[],plugins:[]},needsRefresh:!1},statusLineText:void 0,kairosEnabled:r,remoteSessionUrl:void 0,remoteConnectionStatus:`connecting`,remoteBackgroundTaskCount:0,replBridgeEnabled:Hn||!1,replBridgeExplicit:De,replBridgeOutboundOnly:!1,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1,replBridgeConnectUrl:void 0,replBridgeSessionUrl:void 0,replBridgeEnvironmentId:void 0,replBridgeSessionId:void 0,replBridgeError:void 0,replBridgeInitialName:ke,showRemoteCallout:!1,notifications:{current:null,queue:Rn},elicitation:{queue:[]},todos:{},remoteAgentTaskSuggestions:[],fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},attribution:hc(),thinkingEnabled:Nn,promptSuggestionEnabled:di(),sessionHooks:new Map,inbox:{messages:[]},promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null},speculation:Ei,speculationSessionTimeSavedMs:0,skillImprovement:{suggestion:null},authVersion:0,initialMessage:E?{message:bn({content:String(E)})}:null,effortValue:Wt(n.effort)??nt(),activeOverlays:new Set,fastMode:ts(tn),...Ji()&&nn&&{advisorModel:nn}};E&&vr(String(E));let Jn=An;z(e=>({...e,numStartups:(e.numStartups??0)+1})),setImmediate(()=>{df(),lf()});let Xn=process.env.USER_TYPE===`ant`?import(`./sessionDataUploader-CaCjwsA2.js`):null,Qn=Xn?Xn.then(e=>e.createSessionTurnUploader()).catch(()=>null):null,$n={debug:i||a,commands:[...Bt,...jn],initialTools:Jn,mcpClients:kn,autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,dynamicMcpConfig:He,strictMcpConfig:We,systemPrompt:C,appendSystemPrompt:w,taskListId:he,thinkingConfig:j,...Qn&&{onTurnComplete:e=>{Qn.then(t=>t?.(e))}}},tr={mainThreadAgentDefinition:D,agentDefinitions:Jt,currentCwd:Ft,cliAgents:Ut,initialState:qn};if(n.continue){let e=!1;try{let t=performance.now(),{clearSessionCaches:r}=await import(`./caches-BBLH8G1I.js`);r();let i=await xi(void 0,void 0);if(!i)return G(`tengu_continue`,{success:!1}),await X(O,`No conversation found to continue`);let a=await Zc(i,{forkSession:!!n.forkSession,includeAttribution:!0,transcriptPath:i.fullPath},tr);a.restoredAgentDef&&(D=a.restoredAgentDef),Tf(n),Ef(n),G(`tengu_continue`,{success:!0,resume_duration_ms:Math.round(performance.now()-t)}),e=!0,await ql(O,{getFpsMetrics:k,stats:A,initialState:a.initialState},{...$n,mainThreadAgentDefinition:a.restoredAgentDef??D,initialMessages:a.messages,initialFileHistorySnapshots:a.fileHistorySnapshots,initialContentReplacements:a.contentReplacements,initialAgentName:a.agentName,initialAgentColor:a.agentColor},pu)}catch(t){e||G(`tengu_continue`,{success:!1}),U(t),process.exit(1)}}else if(Q?.url){let e;try{let t=await ef({serverUrl:Q.url,authToken:Q.authToken,cwd:Ge(),dangerouslySkipPermissions:Q.dangerouslySkipPermissions});t.workDir&&(Fe(t.workDir),Qe(t.workDir)),je(Q.url),e=t.config}catch(e){return await X(O,e instanceof $d?e.message:String(e),()=>P(1))}let t=ta(`Connected to server at ${Q.url}\nSession: ${e.sessionId}`,`info`);await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{debug:i||a,commands:Bt,initialTools:[],initialMessages:[t],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,directConnectConfig:e,thinkingConfig:j},pu);return}else if($?.host){let{createSSHSession:e,createLocalSSHSession:t,SSHSessionError:n}=await import(`./createSSHSession-C-c7I5iJ.js`),r;try{if($.local)process.stderr.write(`Starting local ssh-proxy test session...
842
+ `),r=await t({cwd:$.cwd,permissionMode:$.permissionMode,dangerouslySkipPermissions:$.dangerouslySkipPermissions});else{process.stderr.write(`Connecting to ${$.host}…\n`);let t=process.stderr.isTTY,n=!1;r=await e({host:$.host,cwd:$.cwd,localVersion:`0.0.4`,permissionMode:$.permissionMode,dangerouslySkipPermissions:$.dangerouslySkipPermissions,extraCliArgs:$.extraCliArgs,remoteBin:$.remoteBin},t?{onProgress:e=>{n=!0,process.stderr.write(`\r ${e}\x1b[K`)}}:{}),n&&process.stderr.write(`
843
+ `)}Fe(r.remoteCwd),Qe(r.remoteCwd),je($.local?`local`:$.host)}catch(e){return await X(O,e instanceof n?e.message:String(e),()=>P(1))}let o=ta($.local?`Local ssh-proxy test session\ncwd: ${r.remoteCwd}\nAuth: unix socket → local proxy`:`SSH session to ${$.host}\nRemote cwd: ${r.remoteCwd}\nAuth: unix socket -R → local proxy`,`info`);await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{debug:i||a,commands:Bt,initialTools:[],initialMessages:[o],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,sshSession:r,thinkingConfig:j},pu);return}else if(bf&&(bf.sessionId||bf.discover)){let{discoverAssistantSessions:e}=await import(`./sessionDiscovery-CSUnpsCy.js`),t=bf.sessionId;if(!t){let n;try{n=await e()}catch(e){return await X(O,`Failed to discover sessions: ${e instanceof Error?e.message:e}`,()=>P(1))}if(n.length===0){let e;try{e=await vu(O)}catch(e){return await X(O,`Assistant installation failed: ${e instanceof Error?e.message:e}`,()=>P(1))}return e===null&&(await P(0),process.exit(0)),await fu(O,`Assistant installed in ${e}. The daemon is starting up — run \`claude assistant\` again in a few seconds to connect.`,{exitCode:0,beforeExit:()=>P(0)})}if(n.length===1)t=n[0].id;else{let e=await _u(O,{sessions:n});e||(await P(0),process.exit(0)),t=e}}let{checkAndRefreshOAuthTokenIfNeeded:n,getClaudeAIOAuthTokens:r}=await import(`./auth-C4Rvit2q.js`);await n();let o;try{o=await bc()}catch(e){return await X(O,`Error: ${e instanceof Error?e.message:`Failed to authenticate`}`,()=>P(1))}let s=()=>r()?.accessToken??o.accessToken;Ae(!0),Re(!0),Oe(!0);let c=cl(t,s,o.orgUUID,!1,!0),l=ta(`Attached to assistant session ${t.slice(0,8)}…`,`info`),u={...qn,isBriefOnly:!0,kairosEnabled:!1,replBridgeEnabled:!1},d=jt(Bt);await ql(O,{getFpsMetrics:k,stats:A,initialState:u},{debug:i||a,commands:d,initialTools:[],initialMessages:[l],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,remoteSessionConfig:c,thinkingConfig:j},pu);return}else if(n.resume||n.fromPr||x||we!==null){let{clearSessionCaches:e}=await import(`./caches-BBLH8G1I.js`);e();let t=null,r,o=Lr(n.resume),s,c=null,l;if(n.fromPr&&(n.fromPr===!0?l=!0:typeof n.fromPr==`string`&&(l=n.fromPr)),n.resume&&typeof n.resume==`string`&&!o){let e=n.resume.trim();if(e){let t=await Ui(e,{exact:!0});t.length===1?(c=t[0],o=ft(c)??null):s=e}}if((we!==null||x)&&(await Yn(),!Mn(`allow_remote_sessions`)))return await X(O,`Error: Remote sessions are disabled by your organization's policy.`,()=>P(1));if(we!==null){let e=we.length>0;if(!e)return await X(O,`Error: --remote requires a description.
844
+ Usage: claude --remote "your task description"`,()=>P(1));G(`tengu_remote_create_session`,{has_initial_prompt:String(e)});let t=await vo(),n=await Yt(O,e?we:null,new AbortController().signal,t||void 0);if(!n)return G(`tengu_remote_create_session_error`,{error:`unable_to_create_session`}),await X(O,`Error: Unable to create remote session`,()=>P(1));G(`tengu_remote_create_session_success`,{session_id:n.id}),process.stdout.write(`Created remote session: ${n.title}\n`),process.stdout.write(`View: ${Vt(n.id)}?m=0\n`),process.stdout.write(`Resume with: claude --teleport ${n.id}\n`),await P(0),process.exit(0),Oe(!0),Ze(Dt(n.id));let r;try{r=await bc()}catch(e){return U(va(e)),await X(O,`Error: ${F(e)||`Failed to authenticate`}`,()=>P(1))}let{getClaudeAIOAuthTokens:o}=await import(`./auth-C4Rvit2q.js`),s=cl(n.id,()=>o()?.accessToken??r.accessToken,r.orgUUID,e),c=`${Vt(n.id)}?m=0`,l=ta(`/remote-control is active. Code in CLI or at ${c}`,`info`),u=e?bn({content:we}):null,d={...qn,remoteSessionUrl:c},f=jt(Bt);await ql(O,{getFpsMetrics:k,stats:A,initialState:d},{debug:i||a,commands:f,initialTools:[],initialMessages:u?[l,u]:[l],mcpClients:[],autoConnectIdeFlag:te,mainThreadAgentDefinition:D,disableSlashCommands:pe,remoteSessionConfig:s,thinkingConfig:j},pu);return}else if(x){if(x===!0||x===``){G(`tengu_teleport_interactive_mode`,{}),I(`selectAndResumeTeleportTask: Starting teleport flow...`);let e=await yu(O);e||(await P(0),process.exit(0));let{branchError:n}=await ot(e.branch);t=rn(e.log,n)}else if(typeof x==`string`){G(`tengu_teleport_resume_session`,{mode:`direct`});try{let e=await la(await Sc(x));if(e.status===`mismatch`||e.status===`not_in_repo`){let t=e.sessionRepo;if(t){let e=await rl(nl(t));if(e.length>0){let n=await bu(O,{targetRepo:t,initialPaths:e});n?(process.chdir(n),Et(n),Fe(n)):await P(0)}else throw new ha(`You must run claude --teleport ${x} from a checkout of ${t}.`,y.red(`You must run claude --teleport ${x} from a checkout of ${y.bold(t)}.\n`))}}else if(e.status===`error`)throw new ha(e.errorMessage||`Failed to validate session`,y.red(`Error: ${e.errorMessage||`Failed to validate session`}\n`));await _n();let{teleportWithProgress:n}=await import(`./TeleportProgress-QtJrXSCX.js`),r=await n(O,x);qe({sessionId:x}),t=r.messages}catch(e){e instanceof ha?process.stderr.write(e.formattedMessage+`
845
+ `):(U(e),process.stderr.write(y.red(`Error: ${F(e)}\n`))),await P(1)}}}if(process.env.USER_TYPE===`ant`&&n.resume&&typeof n.resume==`string`&&!o){let e=pl(n.resume);try{let t=performance.now(),i;try{i=await Kn(e)}catch(e){if(!_a(e))throw e}if(i){let e=await xi(i,void 0);e?(r=await Zc(e,{forkSession:!!n.forkSession,transcriptPath:e.fullPath},tr),r.restoredAgentDef&&(D=r.restoredAgentDef),G(`tengu_session_resumed`,{entrypoint:`file`,success:!0,resume_duration_ms:Math.round(performance.now()-t)})):G(`tengu_session_resumed`,{entrypoint:`file`,success:!1})}}catch(e){G(`tengu_session_resumed`,{entrypoint:`file`,success:!1}),U(e),await X(O,`Unable to load transcript from file: ${n.resume}`,()=>P(1))}}if(o){let e=o;try{let t=performance.now(),i=await xi(c??e,void 0);if(!i)return G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),await X(O,`No conversation found with session ID: ${e}`);let a=c?.fullPath??i.fullPath;r=await Zc(i,{forkSession:!!n.forkSession,sessionIdOverride:e,transcriptPath:a},tr),r.restoredAgentDef&&(D=r.restoredAgentDef),G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!0,resume_duration_ms:Math.round(performance.now()-t)})}catch(t){G(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),U(t),await X(O,`Failed to resume session ${e}`)}}if(ae)try{let e=await ae,t=Ua(e,e=>!e.success);t>0&&process.stderr.write(y.yellow(`Warning: ${t}/${e.length} file(s) failed to download.\n`))}catch(e){return await X(O,`Error downloading files: ${F(e)}`)}let u=r??(Array.isArray(t)?{messages:t,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:D,initialState:qn,contentReplacements:void 0}:void 0);u?(Tf(n),Ef(n),await ql(O,{getFpsMetrics:k,stats:A,initialState:u.initialState},{...$n,mainThreadAgentDefinition:u.restoredAgentDef??D,initialMessages:u.messages,initialFileHistorySnapshots:u.fileHistorySnapshots,initialContentReplacements:u.contentReplacements,initialAgentName:u.agentName,initialAgentColor:u.agentColor},pu)):await xu(O,{getFpsMetrics:k,stats:A,initialState:qn},sn(Ge()),{...$n,initialSearchQuery:s,forkSession:n.forkSession,filterByPr:l})}else{let e=Dn&&On.length===0?Dn:void 0;K(`action_after_hooks`),Tf(n),Ef(n);let t=null;n.deepLinkOrigin?(G(`tengu_deep_link_opened`,{has_prefill:!!n.prefill,has_repo:!!n.deepLinkRepo}),t=ta(ol({cwd:da(),prefillLength:n.prefill?.length,repo:n.deepLinkRepo,lastFetch:n.deepLinkLastFetch===void 0?void 0:new Date(n.deepLinkLastFetch)}),`warning`)):n.prefill&&(t=ta(`Launched with a pre-filled prompt — review it before pressing Enter.`,`warning`));let r=t?[t,...On]:On.length>0?On:void 0;await ql(O,{getFpsMetrics:k,stats:A,initialState:qn},{...$n,initialMessages:r,pendingHookMessages:e},pu)}}).version(`0.0.4 (Work Mate)`,`-v, --version`,`Output the version number`),n.option(`-w, --worktree [name]`,`Create a new git worktree for this session (optionally specify a name)`),n.option(`--tmux`,`Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.`),ar()&&n.addOption(new J(`--advisor <model>`,`Enable the server-side advisor tool with the specified model (alias or full ID).`).hideHelp()),process.env.USER_TYPE===`ant`&&(n.addOption(new J(`--delegate-permissions`,`[ANT-ONLY] Alias for --permission-mode auto.`).implies({permissionMode:`auto`})),n.addOption(new J(`--dangerously-skip-permissions-with-classifiers`,`[ANT-ONLY] Deprecated alias for --permission-mode auto.`).hideHelp().implies({permissionMode:`auto`})),n.addOption(new J(`--afk`,`[ANT-ONLY] Deprecated alias for --permission-mode auto.`).hideHelp().implies({permissionMode:`auto`})),n.addOption(new J(`--tasks [id]`,`[ANT-ONLY] Tasks mode: watch for tasks and auto-process them. Optional id is used as both the task list ID and agent ID (defaults to "tasklist").`).argParser(String).hideHelp()),n.option(`--agent-teams`,`[ANT-ONLY] Force Claude to use multi-agent mode for solving problems`,()=>!0)),n.addOption(new J(`--enable-auto-mode`,`Opt in to auto mode`).hideHelp()),n.addOption(new J(`--proactive`,`Start in proactive autonomous mode`)),n.addOption(new J(`--brief`,`Enable SendUserMessage tool for agent-to-user communication`)),n.addOption(new J(`--assistant`,`Force assistant mode (Agent SDK daemon use)`).hideHelp()),n.addOption(new J(`--sdk-url <url>`,`Use remote WebSocket endpoint for SDK I/O streaming (only with -p and stream-json format)`).hideHelp()),n.addOption(new J(`--teleport [session]`,`Resume a teleport session, optionally specify session ID`).hideHelp()),n.addOption(new J(`--remote [description]`,`Create a remote session with the given description`).hideHelp()),n.addOption(new J(`--remote-control [name]`,`Start an interactive session with Remote Control enabled (optionally named)`).argParser(e=>e||!0).hideHelp()),n.addOption(new J(`--rc [name]`,`Alias for --remote-control`).argParser(e=>e||!0).hideHelp()),K(`run_main_options_built`);let r=process.argv.includes(`-p`)||process.argv.includes(`--print`),i=process.argv.some(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(r&&!i)return K(`run_before_parse`),await n.parseAsync(process.argv),K(`run_after_parse`),n;let a=n.command(`mcp`).description(`Configure and manage MCP servers`).configureHelp(t()).enablePositionalOptions();a.command(`serve`).description(`Start the Work Mate MCP server`).option(`-d, --debug`,`Enable debug mode`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).action(async({debug:e,verbose:t})=>{let{mcpServeHandler:n}=await import(`./mcp-RvwPC7FB.js`);await n({debug:e,verbose:t})}),zd(a),Gr()&&Bd(a),a.command(`remove <name>`).description(`Remove an MCP server`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in`).action(async(e,t)=>{let{mcpRemoveHandler:n}=await import(`./mcp-RvwPC7FB.js`);await n(e,t)}),a.command(`list`).description(`List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let{mcpListHandler:e}=await import(`./mcp-RvwPC7FB.js`);await e()}),a.command(`get <name>`).description(`Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async e=>{let{mcpGetHandler:t}=await import(`./mcp-RvwPC7FB.js`);await t(e)}),a.command(`add-json <name> <json>`).description(`Add an MCP server (stdio or SSE) with a JSON string`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).option(`--client-secret`,`Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)`).action(async(e,t,n)=>{let{mcpAddJsonHandler:r}=await import(`./mcp-RvwPC7FB.js`);await r(e,t,n)}),a.command(`add-from-claude-desktop`).description(`Import MCP servers from Claude Desktop (Mac and WSL only)`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async e=>{let{mcpAddFromDesktopHandler:t}=await import(`./mcp-RvwPC7FB.js`);await t(e)}),a.command(`reset-project-choices`).description(`Reset all approved and rejected project-scoped (.mcp.json) servers within this project`).action(async()=>{let{mcpResetChoicesHandler:e}=await import(`./mcp-RvwPC7FB.js`);await e()}),n.command(`server`).description(`Start a Work Mate session server`).option(`--port <number>`,`HTTP port`,`0`).option(`--host <string>`,`Bind address`,`0.0.0.0`).option(`--auth-token <token>`,`Bearer token for auth`).option(`--unix <path>`,`Listen on a unix domain socket`).option(`--workspace <dir>`,`Default working directory for sessions that do not specify cwd`).option(`--idle-timeout <ms>`,`Idle timeout for detached sessions in ms (0 = never expire)`,`600000`).option(`--max-sessions <n>`,`Maximum concurrent sessions (0 = unlimited)`,`32`).action(async e=>{let{randomBytes:t}=await import(`crypto`),{startServer:n}=await import(`./server-LdbAb0sV.js`),{SessionManager:r}=await import(`./sessionManager-CPa049BO.js`),{DangerousBackend:i}=await import(`./dangerousBackend-DwcP0P08.js`),{printBanner:a}=await import(`./serverBanner-BdExKFHT.js`),{createServerLogger:o}=await import(`./serverLog-BFmvyJ93.js`),{writeServerLock:s,removeServerLock:c,probeRunningServer:l}=await import(`./lockfile-D5-j7HOZ.js`),u=await l();u&&(process.stderr.write(`A claude server is already running (pid ${u.pid}) at ${u.httpUrl}\n`),process.exit(1));let d=e.authToken??`sk-ant-cc-${t(16).toString(`base64url`)}`,f={port:parseInt(e.port,10),host:e.host,authToken:d,unix:e.unix,workspace:e.workspace,idleTimeoutMs:parseInt(e.idleTimeout,10),maxSessions:parseInt(e.maxSessions,10)},p=new r(new i,{idleTimeoutMs:f.idleTimeoutMs,maxSessions:f.maxSessions}),m=n(f,p,o()),h=m.port??f.port;a(f,d,h),await s({pid:process.pid,port:h,host:f.host,httpUrl:f.unix?`unix:${f.unix}`:`http://${f.host}:${h}`,startedAt:Date.now()});let g=!1,ee=async()=>{g||(g=!0,m.stop(!0),await p.destroyAll(),await c(),process.exit(0))};process.once(`SIGINT`,()=>void ee()),process.once(`SIGTERM`,()=>void ee())}),n.command(`ssh <host> [dir]`).description(`Run Work Mate on a remote host over SSH. Deploys the binary and tunnels API auth back through your local machine — no remote setup needed.`).option(`--permission-mode <mode>`,`Permission mode for the remote session`).option(`--dangerously-skip-permissions`,`Skip all permission prompts on the remote (dangerous)`).option(`--remote-bin <command>`,`Custom remote binary command (skips probe/deploy). Example: --remote-bin 'bun /path/to/project/dist/cli.js'`).option(`--local`,`e2e test mode — spawn the child CLI locally (skip ssh/deploy). Exercises the auth proxy and unix-socket plumbing without a remote host.`).action(async()=>{process.stderr.write(`Usage: claude ssh <user@host | ssh-config-alias> [dir]
846
846
 
847
847
  Runs Work Mate on a remote Linux host. You don't need to install
848
848
  anything on the remote or run \`claude auth login\` there — the binary is
849
849
  deployed over SSH and API auth tunnels back through your local machine.
850
- `),process.exit(1)}),n.command(`open <cc-url>`).description(`Connect to a Work Mate server (internal — use cc:// URLs)`).option(`-p, --print [prompt]`,`Print mode (headless)`).option(`--output-format <format>`,`Output format: text, json, stream-json`,`text`).action(async(e,t)=>{let{parseConnectUrl:n}=await import(`./parseConnectUrl-BiyKR5-x.js`),{serverUrl:r,authToken:i}=n(e),a;try{let e=await ef({serverUrl:r,authToken:i,cwd:Ge(),dangerouslySkipPermissions:Q?.dangerouslySkipPermissions});e.workDir&&(Fe(e.workDir),Qe(e.workDir)),je(r),a=e.config}catch(e){console.error(e instanceof $d?e.message:String(e)),process.exit(1)}let{runConnectHeadless:o}=await import(`./connectHeadless-CqRoEtrg.js`),s=typeof t.print==`string`?t.print:``,c=t.print===!0;await o(a,s,t.outputFormat,c)});let o=n.command(`auth`).description(`Manage authentication`).configureHelp(t());o.command(`login`).description(`Sign in to your Anthropic account`).option(`--email <email>`,`Pre-populate email address on the login page`).option(`--sso`,`Force SSO login flow`).option(`--console`,`Use Anthropic Console (API usage billing) instead of Claude subscription`).option(`--claudeai`,`Use Claude subscription (default)`).action(async({email:e,sso:t,console:n,claudeai:r})=>{let{authLogin:i}=await import(`./auth-fSFfSKy_.js`);await i({email:e,sso:t,console:n,claudeai:r})}),o.command(`status`).description(`Show authentication status`).option(`--json`,`Output as JSON (default)`).option(`--text`,`Output as human-readable text`).action(async e=>{let{authStatus:t}=await import(`./auth-fSFfSKy_.js`);await t(e)});let s=()=>new J(`--cowork`,`Use cowork_plugins directory`).hideHelp(),c=n.command(`plugin`).alias(`plugins`).description(`Manage Work Mate plugins`).configureHelp(t());c.command(`validate <path>`).description(`Validate a plugin or marketplace manifest`).addOption(s()).action(async(e,t)=>{let{pluginValidateHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`list`).description(`List installed plugins`).option(`--json`,`Output as JSON`).option(`--available`,`Include available plugins from marketplaces (requires --json)`).addOption(s()).action(async e=>{let{pluginListHandler:t}=await import(`./plugins-CcDG95Bs.js`);await t(e)});let l=c.command(`marketplace`).description(`Manage Work Mate marketplaces`).configureHelp(t());if(l.command(`add <source>`).description(`Add a marketplace from a URL, path, or GitHub repo`).addOption(s()).option(`--sparse <paths...>`,`Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins`).option(`--scope <scope>`,`Where to declare the marketplace: user (default), project, or local`).action(async(e,t)=>{let{marketplaceAddHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),l.command(`list`).description(`List all configured marketplaces`).option(`--json`,`Output as JSON`).addOption(s()).action(async e=>{let{marketplaceListHandler:t}=await import(`./plugins-CcDG95Bs.js`);await t(e)}),l.command(`remove <name>`).alias(`rm`).description(`Remove a configured marketplace`).addOption(s()).action(async(e,t)=>{let{marketplaceRemoveHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),l.command(`update [name]`).description(`Update marketplace(s) from their source - updates all if no name specified`).addOption(s()).action(async(e,t)=>{let{marketplaceUpdateHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`install <plugin>`).alias(`i`).description(`Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)`).option(`-s, --scope <scope>`,`Installation scope: user, project, or local`,`user`).addOption(s()).action(async(e,t)=>{let{pluginInstallHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`uninstall <plugin>`).alias(`remove`).alias(`rm`).description(`Uninstall an installed plugin`).option(`-s, --scope <scope>`,`Uninstall from scope: user, project, or local`,`user`).option(`--keep-data`,`Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)`).addOption(s()).action(async(e,t)=>{let{pluginUninstallHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`enable <plugin>`).description(`Enable a disabled plugin`).option(`-s, --scope <scope>`,`Installation scope: ${Jc.join(`, `)} (default: auto-detect)`).addOption(s()).action(async(e,t)=>{let{pluginEnableHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`disable [plugin]`).description(`Disable an enabled plugin`).option(`-a, --all`,`Disable all enabled plugins`).option(`-s, --scope <scope>`,`Installation scope: ${Jc.join(`, `)} (default: auto-detect)`).addOption(s()).action(async(e,t)=>{let{pluginDisableHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),c.command(`update <plugin>`).description(`Update a plugin to the latest version (restart required to apply)`).option(`-s, --scope <scope>`,`Installation scope: ${Kc.join(`, `)} (default: user)`).addOption(s()).action(async(e,t)=>{let{pluginUpdateHandler:n}=await import(`./plugins-CcDG95Bs.js`);await n(e,t)}),n.command(`setup-token`).description(`Set up a long-lived authentication token (requires Claude subscription)`).action(async()=>{let[{setupTokenHandler:e},{createRoot:t}]=await Promise.all([import(`./util-CNa1ib_4.js`),import(`./src-CST_jFnT.js`)]);await e(await t(el(!1)))}),n.command(`agents`).description(`List configured agents`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).action(async()=>{let{agentsHandler:e}=await import(`./agents-Du3FQ82k.js`);await e(),process.exit(0)}),Xi()!==`disabled`){let e=n.command(`auto-mode`).description(`Inspect auto mode classifier configuration`);e.command(`defaults`).description(`Print the default auto mode environment, allow, and deny rules as JSON`).action(async()=>{let{autoModeDefaultsHandler:e}=await import(`./autoMode-CZyb-mMY.js`);e(),process.exit(0)}),e.command(`config`).description(`Print the effective auto mode config as JSON: your settings where set, defaults otherwise`).action(async()=>{let{autoModeConfigHandler:e}=await import(`./autoMode-CZyb-mMY.js`);e(),process.exit(0)}),e.command(`critique`).description(`Get AI feedback on your custom auto mode rules`).option(`--model <model>`,`Override which model is used`).action(async e=>{let{autoModeCritiqueHandler:t}=await import(`./autoMode-CZyb-mMY.js`);await t(e),process.exit()})}{let e=n.command(`autonomy`).description(`Inspect and manage automatic autonomy runs and flows`);e.command(`status`).description(`Print autonomy run, flow, team, pipe, and remote-control status`).option(`--deep`,`Include teams, pipes, daemon, and remote-control sections`).action(async e=>{let{autonomyStatusHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)}),e.command(`runs [limit]`).description(`List recent autonomy runs`).action(async e=>{let{autonomyRunsHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)}),e.command(`flows [limit]`).description(`List recent autonomy flows`).action(async e=>{let{autonomyFlowsHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)});let t=e.command(`flow <flowId>`).description(`Inspect a single autonomy flow`).action(async e=>{let{autonomyFlowHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)});t.command(`cancel <flowId>`).description(`Cancel a queued, waiting, or running autonomy flow`).action(async e=>{let{autonomyFlowCancelHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)}),t.command(`resume <flowId>`).description(`Resume a waiting autonomy flow`).action(async e=>{let{autonomyFlowResumeHandler:t}=await import(`./autonomy-BpINX4jw.js`);await t(e),process.exit(0)})}if(n.command(`remote-control`,{hidden:!0}).alias(`rc`).description(`Connect your local environment for remote-control sessions via claude.ai/code`).action(async()=>{let{bridgeMain:e}=await import(`./bridgeMain-BESKzpm0.js`);await e(process.argv.slice(3))}),n.command(`assistant [sessionId]`).description(`Attach the REPL as a client to a running bridge session. Discovers sessions via API if no sessionId given.`).action(()=>{process.stderr.write(`Usage: claude assistant [sessionId]
850
+ `),process.exit(1)}),n.command(`open <cc-url>`).description(`Connect to a Work Mate server (internal — use cc:// URLs)`).option(`-p, --print [prompt]`,`Print mode (headless)`).option(`--output-format <format>`,`Output format: text, json, stream-json`,`text`).action(async(e,t)=>{let{parseConnectUrl:n}=await import(`./parseConnectUrl-BiyKR5-x.js`),{serverUrl:r,authToken:i}=n(e),a;try{let e=await ef({serverUrl:r,authToken:i,cwd:Ge(),dangerouslySkipPermissions:Q?.dangerouslySkipPermissions});e.workDir&&(Fe(e.workDir),Qe(e.workDir)),je(r),a=e.config}catch(e){console.error(e instanceof $d?e.message:String(e)),process.exit(1)}let{runConnectHeadless:o}=await import(`./connectHeadless-CqRoEtrg.js`),s=typeof t.print==`string`?t.print:``,c=t.print===!0;await o(a,s,t.outputFormat,c)});let o=n.command(`auth`).description(`Manage authentication`).configureHelp(t());o.command(`login`).description(`Sign in to your Anthropic account`).option(`--email <email>`,`Pre-populate email address on the login page`).option(`--sso`,`Force SSO login flow`).option(`--console`,`Use Anthropic Console (API usage billing) instead of Claude subscription`).option(`--claudeai`,`Use Claude subscription (default)`).action(async({email:e,sso:t,console:n,claudeai:r})=>{let{authLogin:i}=await import(`./auth-Cj7EX1eG.js`);await i({email:e,sso:t,console:n,claudeai:r})}),o.command(`status`).description(`Show authentication status`).option(`--json`,`Output as JSON (default)`).option(`--text`,`Output as human-readable text`).action(async e=>{let{authStatus:t}=await import(`./auth-Cj7EX1eG.js`);await t(e)});let s=()=>new J(`--cowork`,`Use cowork_plugins directory`).hideHelp(),c=n.command(`plugin`).alias(`plugins`).description(`Manage Work Mate plugins`).configureHelp(t());c.command(`validate <path>`).description(`Validate a plugin or marketplace manifest`).addOption(s()).action(async(e,t)=>{let{pluginValidateHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`list`).description(`List installed plugins`).option(`--json`,`Output as JSON`).option(`--available`,`Include available plugins from marketplaces (requires --json)`).addOption(s()).action(async e=>{let{pluginListHandler:t}=await import(`./plugins-Cr03lISA.js`);await t(e)});let l=c.command(`marketplace`).description(`Manage Work Mate marketplaces`).configureHelp(t());if(l.command(`add <source>`).description(`Add a marketplace from a URL, path, or GitHub repo`).addOption(s()).option(`--sparse <paths...>`,`Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins`).option(`--scope <scope>`,`Where to declare the marketplace: user (default), project, or local`).action(async(e,t)=>{let{marketplaceAddHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),l.command(`list`).description(`List all configured marketplaces`).option(`--json`,`Output as JSON`).addOption(s()).action(async e=>{let{marketplaceListHandler:t}=await import(`./plugins-Cr03lISA.js`);await t(e)}),l.command(`remove <name>`).alias(`rm`).description(`Remove a configured marketplace`).addOption(s()).action(async(e,t)=>{let{marketplaceRemoveHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),l.command(`update [name]`).description(`Update marketplace(s) from their source - updates all if no name specified`).addOption(s()).action(async(e,t)=>{let{marketplaceUpdateHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`install <plugin>`).alias(`i`).description(`Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)`).option(`-s, --scope <scope>`,`Installation scope: user, project, or local`,`user`).addOption(s()).action(async(e,t)=>{let{pluginInstallHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`uninstall <plugin>`).alias(`remove`).alias(`rm`).description(`Uninstall an installed plugin`).option(`-s, --scope <scope>`,`Uninstall from scope: user, project, or local`,`user`).option(`--keep-data`,`Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)`).addOption(s()).action(async(e,t)=>{let{pluginUninstallHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`enable <plugin>`).description(`Enable a disabled plugin`).option(`-s, --scope <scope>`,`Installation scope: ${Jc.join(`, `)} (default: auto-detect)`).addOption(s()).action(async(e,t)=>{let{pluginEnableHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`disable [plugin]`).description(`Disable an enabled plugin`).option(`-a, --all`,`Disable all enabled plugins`).option(`-s, --scope <scope>`,`Installation scope: ${Jc.join(`, `)} (default: auto-detect)`).addOption(s()).action(async(e,t)=>{let{pluginDisableHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),c.command(`update <plugin>`).description(`Update a plugin to the latest version (restart required to apply)`).option(`-s, --scope <scope>`,`Installation scope: ${Kc.join(`, `)} (default: user)`).addOption(s()).action(async(e,t)=>{let{pluginUpdateHandler:n}=await import(`./plugins-Cr03lISA.js`);await n(e,t)}),n.command(`setup-token`).description(`Set up a long-lived authentication token (requires Claude subscription)`).action(async()=>{let[{setupTokenHandler:e},{createRoot:t}]=await Promise.all([import(`./util-BnReK81E.js`),import(`./src-CST_jFnT.js`)]);await e(await t(el(!1)))}),n.command(`agents`).description(`List configured agents`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).action(async()=>{let{agentsHandler:e}=await import(`./agents-ZY6IaVE7.js`);await e(),process.exit(0)}),Xi()!==`disabled`){let e=n.command(`auto-mode`).description(`Inspect auto mode classifier configuration`);e.command(`defaults`).description(`Print the default auto mode environment, allow, and deny rules as JSON`).action(async()=>{let{autoModeDefaultsHandler:e}=await import(`./autoMode-TysBQkU_.js`);e(),process.exit(0)}),e.command(`config`).description(`Print the effective auto mode config as JSON: your settings where set, defaults otherwise`).action(async()=>{let{autoModeConfigHandler:e}=await import(`./autoMode-TysBQkU_.js`);e(),process.exit(0)}),e.command(`critique`).description(`Get AI feedback on your custom auto mode rules`).option(`--model <model>`,`Override which model is used`).action(async e=>{let{autoModeCritiqueHandler:t}=await import(`./autoMode-TysBQkU_.js`);await t(e),process.exit()})}{let e=n.command(`autonomy`).description(`Inspect and manage automatic autonomy runs and flows`);e.command(`status`).description(`Print autonomy run, flow, team, pipe, and remote-control status`).option(`--deep`,`Include teams, pipes, daemon, and remote-control sections`).action(async e=>{let{autonomyStatusHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)}),e.command(`runs [limit]`).description(`List recent autonomy runs`).action(async e=>{let{autonomyRunsHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)}),e.command(`flows [limit]`).description(`List recent autonomy flows`).action(async e=>{let{autonomyFlowsHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)});let t=e.command(`flow <flowId>`).description(`Inspect a single autonomy flow`).action(async e=>{let{autonomyFlowHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)});t.command(`cancel <flowId>`).description(`Cancel a queued, waiting, or running autonomy flow`).action(async e=>{let{autonomyFlowCancelHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)}),t.command(`resume <flowId>`).description(`Resume a waiting autonomy flow`).action(async e=>{let{autonomyFlowResumeHandler:t}=await import(`./autonomy-k3QPea5z.js`);await t(e),process.exit(0)})}if(n.command(`remote-control`,{hidden:!0}).alias(`rc`).description(`Connect your local environment for remote-control sessions via claude.ai/code`).action(async()=>{let{bridgeMain:e}=await import(`./bridgeMain-BrY4tkF6.js`);await e(process.argv.slice(3))}),n.command(`assistant [sessionId]`).description(`Attach the REPL as a client to a running bridge session. Discovers sessions via API if no sessionId given.`).action(()=>{process.stderr.write(`Usage: claude assistant [sessionId]
851
851
 
852
852
  Attach the REPL as a viewer client to a running bridge session.
853
853
  Omit sessionId to discover and pick from available sessions.
854
- `),process.exit(1)}),n.command(`doctor`).description(`Check the health of your Work Mate auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let[{doctorHandler:e},{createRoot:t}]=await Promise.all([import(`./util-CNa1ib_4.js`),import(`./src-CST_jFnT.js`)]);await e(await t(el(!1)))}),process.env.USER_TYPE===`ant`&&n.command(`up`).description(`[ANT-ONLY] Initialize or upgrade the local dev environment using the "# claude up" section of the nearest CLAUDE.md`).action(async()=>{let{up:e}=await import(`./up-BHkC97_C.js`);await e()}),process.env.USER_TYPE===`ant`&&n.command(`rollback [target]`).description(`[ANT-ONLY] Roll back to a previous release
854
+ `),process.exit(1)}),n.command(`doctor`).description(`Check the health of your Work Mate auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let[{doctorHandler:e},{createRoot:t}]=await Promise.all([import(`./util-BnReK81E.js`),import(`./src-CST_jFnT.js`)]);await e(await t(el(!1)))}),process.env.USER_TYPE===`ant`&&n.command(`up`).description(`[ANT-ONLY] Initialize or upgrade the local dev environment using the "# claude up" section of the nearest CLAUDE.md`).action(async()=>{let{up:e}=await import(`./up-BHkC97_C.js`);await e()}),process.env.USER_TYPE===`ant`&&n.command(`rollback [target]`).description(`[ANT-ONLY] Roll back to a previous release
855
855
 
856
856
  Examples:
857
857
  claude rollback Go 1 version back from current
858
858
  claude rollback 3 Go 3 versions back from current
859
- claude rollback 2.0.73-dev.20251217.t190658 Roll back to a specific version`).option(`-l, --list`,`List recent published versions with ages`).option(`--dry-run`,`Show what would be installed without installing`).option(`--safe`,`Roll back to the server-pinned safe version (set by oncall during incidents)`).action(async(e,t)=>{let{rollback:n}=await import(`./rollback-BPWRKlIZ.js`);await n(e,t)}),n.command(`install [target]`).description(`Install Work Mate native build. Use [target] to specify version (stable, latest, or specific version)`).option(`--force`,`Force installation even if already installed`).action(async(e,t)=>{let{installHandler:n}=await import(`./util-CNa1ib_4.js`);await n(e,t)}),n.command(`update`).description(`Update workmate (ccb) to the latest version`).action(async()=>{let{updateCCB:e}=await import(`./updateCCB-CEXA6dax.js`);await e()}),process.env.USER_TYPE===`ant`){if(n.command(`log`).description(`[ANT-ONLY] Manage conversation logs.`).argument(`[number|sessionId]`,`A number (0, 1, 2, etc.) to display a specific log, or the sesssion ID (uuid) of a log`,e=>Lr(e)||Number(e)).action(async e=>{let{logHandler:t}=await import(`./ant-CVvy4SuO.js`);await t(e)}),n.command(`error`).description(`[ANT-ONLY] View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.`).argument(`[number]`,`A number (0, 1, 2, etc.) to display a specific log`,parseInt).action(async e=>{let{errorHandler:t}=await import(`./ant-CVvy4SuO.js`);await t(e)}),process.env.USER_TYPE===`ant`){let e=n.command(`task`).description(`[ANT-ONLY] Manage task list tasks`);e.command(`create <subject>`).description(`Create a new task`).option(`-d, --description <text>`,`Task description`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async(e,t)=>{let{taskCreateHandler:n}=await import(`./ant-CVvy4SuO.js`);await n(e,t)}),e.command(`list`).description(`List all tasks`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).option(`--pending`,`Show only pending tasks`).option(`--json`,`Output as JSON`).action(async e=>{let{taskListHandler:t}=await import(`./ant-CVvy4SuO.js`);await t(e)}),e.command(`get <id>`).description(`Get details of a task`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async(e,t)=>{let{taskGetHandler:n}=await import(`./ant-CVvy4SuO.js`);await n(e,t)}),e.command(`update <id>`).description(`Update a task`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).option(`-s, --status <status>`,`Set status (${Sn.join(`, `)})`).option(`--subject <text>`,`Update subject`).option(`-d, --description <text>`,`Update description`).option(`--owner <agentId>`,`Set owner`).option(`--clear-owner`,`Clear owner`).action(async(e,t)=>{let{taskUpdateHandler:n}=await import(`./ant-CVvy4SuO.js`);await n(e,t)}),e.command(`dir`).description(`Show the tasks directory path`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async e=>{let{taskDirHandler:t}=await import(`./ant-CVvy4SuO.js`);await t(e)})}n.command(`completion <shell>`,{hidden:!0}).description(`Generate shell completion script (bash, zsh, or fish)`).option(`--output <file>`,`Write completion script directly to a file instead of stdout`).action(async(e,t)=>{let{completionHandler:r}=await import(`./ant-CVvy4SuO.js`);await r(e,t,n)})}return K(`run_before_parse`),await n.parseAsync(process.argv),K(`run_after_parse`),K(`main_after_run`),Fo(),n}async function wf({hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:u,worktreeEnabled:d,skipWebFetchPreflight:f,githubActionInputs:h,dangerouslySkipPermissionsPassed:g,permissionMode:ee,modeIsBypass:te,allowDangerouslySkipPermissionsPassed:ne,systemPromptFlag:re,appendSystemPromptFlag:ie,thinkingConfig:ae,assistantActivationPath:oe}){try{G(`tengu_init`,{entrypoint:`claude`,hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:u,worktree:d,skipWebFetchPreflight:f,...h&&{githubActionInputs:h},dangerouslySkipPermissionsPassed:g,permissionMode:ee,modeIsBypass:te,inProtectedNamespace:m(),allowDangerouslySkipPermissionsPassed:ne,thinkingType:ae.type,...ae.type===`enabled`&&{thinkingBudgetTokens:ae.budgetTokens},...re&&{systemPromptFlag:re},...ie&&{appendSystemPromptFlag:ie},is_simple:p()||void 0,...oe&&{assistantActivationPath:oe},autoUpdatesChannel:Ka().autoUpdatesChannel??`latest`,...process.env.USER_TYPE===`ant`?(()=>{let e=da(),t=xo(e),n=t?fl(t,e)||`.`:void 0;return n?{relativeProjectPath:n}:{}})():{}})}catch(e){U(e)}}function Tf(t){if(t.proactive||d(process.env.CLAUDE_CODE_PROACTIVE)){let t=(lc(),e(oc));t.isProactiveActive()||t.activateProactive(`command`)}}function Ef(t){let n=t.brief,r=d(process.env.CLAUDE_CODE_BRIEF);if(!n&&!r)return;let{isBriefEntitled:i}=(lr(),e(qr)),a=i();a&&Re(!0),G(`tengu_brief_mode_enabled`,{enabled:a,gated:!a,source:r?`env`:`flag`})}function Df(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(de)}export{xf as main};
859
+ claude rollback 2.0.73-dev.20251217.t190658 Roll back to a specific version`).option(`-l, --list`,`List recent published versions with ages`).option(`--dry-run`,`Show what would be installed without installing`).option(`--safe`,`Roll back to the server-pinned safe version (set by oncall during incidents)`).action(async(e,t)=>{let{rollback:n}=await import(`./rollback-BPWRKlIZ.js`);await n(e,t)}),n.command(`install [target]`).description(`Install Work Mate native build. Use [target] to specify version (stable, latest, or specific version)`).option(`--force`,`Force installation even if already installed`).action(async(e,t)=>{let{installHandler:n}=await import(`./util-BnReK81E.js`);await n(e,t)}),n.command(`update`).description(`Update workmate (ccb) to the latest version`).action(async()=>{let{updateCCB:e}=await import(`./updateCCB-B2xAJ4Nr.js`);await e()}),process.env.USER_TYPE===`ant`){if(n.command(`log`).description(`[ANT-ONLY] Manage conversation logs.`).argument(`[number|sessionId]`,`A number (0, 1, 2, etc.) to display a specific log, or the sesssion ID (uuid) of a log`,e=>Lr(e)||Number(e)).action(async e=>{let{logHandler:t}=await import(`./ant-D66LZCap.js`);await t(e)}),n.command(`error`).description(`[ANT-ONLY] View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.`).argument(`[number]`,`A number (0, 1, 2, etc.) to display a specific log`,parseInt).action(async e=>{let{errorHandler:t}=await import(`./ant-D66LZCap.js`);await t(e)}),process.env.USER_TYPE===`ant`){let e=n.command(`task`).description(`[ANT-ONLY] Manage task list tasks`);e.command(`create <subject>`).description(`Create a new task`).option(`-d, --description <text>`,`Task description`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async(e,t)=>{let{taskCreateHandler:n}=await import(`./ant-D66LZCap.js`);await n(e,t)}),e.command(`list`).description(`List all tasks`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).option(`--pending`,`Show only pending tasks`).option(`--json`,`Output as JSON`).action(async e=>{let{taskListHandler:t}=await import(`./ant-D66LZCap.js`);await t(e)}),e.command(`get <id>`).description(`Get details of a task`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async(e,t)=>{let{taskGetHandler:n}=await import(`./ant-D66LZCap.js`);await n(e,t)}),e.command(`update <id>`).description(`Update a task`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).option(`-s, --status <status>`,`Set status (${Sn.join(`, `)})`).option(`--subject <text>`,`Update subject`).option(`-d, --description <text>`,`Update description`).option(`--owner <agentId>`,`Set owner`).option(`--clear-owner`,`Clear owner`).action(async(e,t)=>{let{taskUpdateHandler:n}=await import(`./ant-D66LZCap.js`);await n(e,t)}),e.command(`dir`).description(`Show the tasks directory path`).option(`-l, --list <id>`,`Task list ID (defaults to "tasklist")`).action(async e=>{let{taskDirHandler:t}=await import(`./ant-D66LZCap.js`);await t(e)})}n.command(`completion <shell>`,{hidden:!0}).description(`Generate shell completion script (bash, zsh, or fish)`).option(`--output <file>`,`Write completion script directly to a file instead of stdout`).action(async(e,t)=>{let{completionHandler:r}=await import(`./ant-D66LZCap.js`);await r(e,t,n)})}return K(`run_before_parse`),await n.parseAsync(process.argv),K(`run_after_parse`),K(`main_after_run`),Fo(),n}async function wf({hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:u,worktreeEnabled:d,skipWebFetchPreflight:f,githubActionInputs:h,dangerouslySkipPermissionsPassed:g,permissionMode:ee,modeIsBypass:te,allowDangerouslySkipPermissionsPassed:ne,systemPromptFlag:re,appendSystemPromptFlag:ie,thinkingConfig:ae,assistantActivationPath:oe}){try{G(`tengu_init`,{entrypoint:`claude`,hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:u,worktree:d,skipWebFetchPreflight:f,...h&&{githubActionInputs:h},dangerouslySkipPermissionsPassed:g,permissionMode:ee,modeIsBypass:te,inProtectedNamespace:m(),allowDangerouslySkipPermissionsPassed:ne,thinkingType:ae.type,...ae.type===`enabled`&&{thinkingBudgetTokens:ae.budgetTokens},...re&&{systemPromptFlag:re},...ie&&{appendSystemPromptFlag:ie},is_simple:p()||void 0,...oe&&{assistantActivationPath:oe},autoUpdatesChannel:Ka().autoUpdatesChannel??`latest`,...process.env.USER_TYPE===`ant`?(()=>{let e=da(),t=xo(e),n=t?fl(t,e)||`.`:void 0;return n?{relativeProjectPath:n}:{}})():{}})}catch(e){U(e)}}function Tf(t){if(t.proactive||d(process.env.CLAUDE_CODE_PROACTIVE)){let t=(lc(),e(oc));t.isProactiveActive()||t.activateProactive(`command`)}}function Ef(t){let n=t.brief,r=d(process.env.CLAUDE_CODE_BRIEF);if(!n&&!r)return;let{isBriefEntitled:i}=(lr(),e(qr)),a=i();a&&Re(!0),G(`tengu_brief_mode_enabled`,{enabled:a,gated:!a,source:r?`env`:`flag`})}function Df(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(de)}export{xf as main};