claude-code-best 1.11.1 → 2.0.0

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 (417) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-BRskOdhU.js → AddWorkspaceDirectory-BZKTF-Y_.js} +5 -5
  2. package/dist/chunks/{App-BrBpPkQE.js → App-CWok2kPq.js} +5 -5
  3. package/dist/chunks/{ApproveApiKey-BigXDpgA.js → ApproveApiKey-BRic9mjr.js} +3 -3
  4. package/dist/chunks/ApproveApiKey-DWmmpjMj.js +2 -0
  5. package/dist/chunks/{AssistantSessionChooser-D4wLujw9.js → AssistantSessionChooser-Pw4X89-p.js} +5 -5
  6. package/dist/chunks/{BackgroundTasksDialog-CgNfQTL3.js → BackgroundTasksDialog-BLJvBiqi.js} +13 -17
  7. package/dist/chunks/{BypassPermissionsModeDialog-BGD7_izq.js → BypassPermissionsModeDialog-C4K1iGNr.js} +3 -3
  8. package/dist/chunks/{ClaudeInChromeOnboarding-CGYJXmTI.js → ClaudeInChromeOnboarding-BIRQVfo6.js} +4 -5
  9. package/dist/chunks/{ClaudeMdExternalIncludesDialog-DcUjIuPA.js → ClaudeMdExternalIncludesDialog-HY9eAWeD.js} +3 -3
  10. package/dist/chunks/{ClaudeMdExternalIncludesDialog-Bd90_MvH.js → ClaudeMdExternalIncludesDialog-qBY8CBaA.js} +1 -1
  11. package/dist/chunks/ConsoleOAuthFlow-Cv0zT7Cm.js +3 -0
  12. package/dist/chunks/{DesktopHandoff-BCysPHKx.js → DesktopHandoff-pkEfcGkm.js} +8 -8
  13. package/dist/chunks/{DevChannelsDialog-C4yBo1FY.js → DevChannelsDialog-BaMAXhHp.js} +2 -2
  14. package/dist/chunks/{Dialog-A4t20k9W.js → Dialog-DLPofIBi.js} +1 -1
  15. package/dist/chunks/{DiffDialog-CaJ_Vn4C.js → DiffDialog-CeMORDD6.js} +8 -9
  16. package/dist/chunks/{Doctor-CLWP2RV7.js → Doctor-Ce9ZkhtK.js} +15 -24
  17. package/dist/chunks/Doctor-O0W6LBji.js +3 -0
  18. package/dist/chunks/{ExitFlow-BYrMNmK8.js → ExitFlow-Brb6Fg4S.js} +5 -5
  19. package/dist/chunks/{Feedback-Crw_QiXu.js → Feedback-DVEy1D3a.js} +17 -25
  20. package/dist/chunks/{Grove-D9LQZRE4.js → Grove-C3UWp26T.js} +3 -4
  21. package/dist/chunks/Grove-DbBbTz2v.js +3 -0
  22. package/dist/chunks/{HybridTransport-DTbPZVOS.js → HybridTransport-_eXiL1do.js} +7 -7
  23. package/dist/chunks/{ITermBackend-g0IO9yil.js → ITermBackend-DD208sX_.js} +4 -4
  24. package/dist/chunks/{InvalidConfigDialog-BDnRi_Pf.js → InvalidConfigDialog-C0U0hU0H.js} +4 -4
  25. package/dist/chunks/{InvalidSettingsDialog-CCeNfz5F.js → InvalidSettingsDialog-BZ-sUAfq.js} +3 -3
  26. package/dist/chunks/{ListItem-dFJC6O4Y.js → ListItem-CsWrhGii.js} +1 -1
  27. package/dist/chunks/{MCPConnectionManager-GwvX3y5d.js → MCPConnectionManager-BbgOQuEM.js} +6 -6
  28. package/dist/chunks/{McpParsingWarnings-BXkocLC_.js → McpParsingWarnings-CAC3CqiF.js} +3 -4
  29. package/dist/chunks/{MessageSelector-Cid1vTbJ.js → MessageSelector-BpXxFTha.js} +16 -18
  30. package/dist/chunks/{Messages-D8f4UZWF.js → Messages-05jRlgLh.js} +87 -64
  31. package/dist/chunks/{Onboarding-Dm7-4yRC.js → Onboarding-Dj8Fuzi1.js} +11 -11
  32. package/dist/chunks/{OverageCreditUpsell-UhQ_Dp3z.js → OverageCreditUpsell-EtNT_2py.js} +4 -4
  33. package/dist/chunks/{PermissionDialog-xtruZiW3.js → PermissionDialog-BuP8Y9RB.js} +1 -1
  34. package/dist/chunks/{PluginSettings-DnPLpbhI.js → PluginSettings-9E1j-RQ7.js} +35 -44
  35. package/dist/chunks/{PressEnterToContinue-DN9vYFMa.js → PressEnterToContinue-CJeKlwdP.js} +1 -1
  36. package/dist/chunks/{PromptInputFooterSuggestions-D4Vv-ICb.js → PromptInputFooterSuggestions-8YG5yA1G.js} +3 -3
  37. package/dist/chunks/{PromptInputHelpMenu-B2WZCoYx.js → PromptInputHelpMenu-Lb18lP7G.js} +6 -6
  38. package/dist/chunks/{QueryEngine-CHXMWlrr.js → QueryEngine-Bhiihq35.js} +10 -9
  39. package/dist/chunks/REPL-C9vGOz23.js +2 -0
  40. package/dist/chunks/{REPL-CzhEoYZ0.js → REPL-y29sUhQ-.js} +143 -168
  41. package/dist/chunks/{RemoteCallout-C8B0-1dp.js → RemoteCallout-5YIiNYCU.js} +5 -5
  42. package/dist/chunks/{RemoteSessionManager-CIRlZEHI.js → RemoteSessionManager-D7TGit5M.js} +19 -19
  43. package/dist/chunks/{ResumeConversation-dYf0Vetu.js → ResumeConversation-DQFOjZy5.js} +9 -9
  44. package/dist/chunks/{SSETransport-DhUR3hNM.js → SSETransport-CVmgiWbm.js} +10 -4
  45. package/dist/chunks/{SearchBox-DFcxe-fw.js → SearchBox-B0F93W8U.js} +1 -1
  46. package/dist/chunks/{Settings-BAjKR0CX.js → Settings-vYl27aGo.js} +21 -21
  47. package/dist/chunks/{StructuredDiff-NPs2FMhX.js → StructuredDiff-CLJO_bww.js} +2 -2
  48. package/dist/chunks/{TeleportProgress-CJiEkByu.js → TeleportProgress-Mm_PgvhT.js} +2 -2
  49. package/dist/chunks/{TeleportRepoMismatchDialog-B938e4X7.js → TeleportRepoMismatchDialog-CwtE4Q6G.js} +4 -4
  50. package/dist/chunks/{TeleportResumeWrapper-Dt27A3gH.js → TeleportResumeWrapper-DcNoSR24.js} +9 -10
  51. package/dist/chunks/{ThemePicker-DKWDbGCS.js → ThemePicker-D5YT139F.js} +6 -6
  52. package/dist/chunks/{TmuxBackend-B_yLPq2N.js → TmuxBackend-CRTFMKEZ.js} +5 -5
  53. package/dist/chunks/ToolSearchTool-DRtjtR0V.js +3 -0
  54. package/dist/chunks/{TrustDialog-kGVHeVyO.js → TrustDialog-KbxT3q5o.js} +9 -9
  55. package/dist/chunks/{ValidationErrorsList-8C9PX3hE.js → ValidationErrorsList-gHQD1EBL.js} +2 -2
  56. package/dist/chunks/{WelcomeV2-DNCOnGPY.js → WelcomeV2-BAXvWCNr.js} +2 -2
  57. package/dist/chunks/{WindowsTerminalBackend-DmrlpORq.js → WindowsTerminalBackend-C7ZWGW7E.js} +5 -5
  58. package/dist/chunks/{add-dir-Bt1TtX4w.js → add-dir-CZDWu0ju.js} +4 -4
  59. package/dist/chunks/{agentDisplay-BSOZ9t89.js → agentDisplay-CWOBz5Xb.js} +2 -2
  60. package/dist/chunks/{agents-BQWRNCrB.js → agents--25dmTiY.js} +18 -21
  61. package/dist/chunks/{agents-BOvz456B.js → agents-DfsbE05S.js} +3 -3
  62. package/dist/chunks/{ant-DsVcKHhc.js → ant-B7QH7oC8.js} +3 -3
  63. package/dist/chunks/{api-l33gCvKP.js → api-BXeLSXPl.js} +1 -1
  64. package/dist/chunks/{api-DUqLWWnL.js → api-Bz-MOAtY.js} +4 -4
  65. package/dist/chunks/asciicast-4SWYn9NP.js +2 -0
  66. package/dist/chunks/{asciicast-8QMTpTD_.js → asciicast-CVju0B-w.js} +3 -3
  67. package/dist/chunks/{assistant-Nwp5w8Q9.js → assistant-B56c_8Vy.js} +4 -4
  68. package/dist/chunks/{assistant-CDjKWhpQ.js → assistant-CFciyQ06.js} +8 -8
  69. package/dist/chunks/{assistant-Ctbp9WsL.js → assistant-CGVVuCWP.js} +1 -1
  70. package/dist/chunks/{auth-DfvEnHae.js → auth-D86_nA7S.js} +1 -1
  71. package/dist/chunks/auth-DvX5r0dm.js +3 -0
  72. package/dist/chunks/{autoMode-gb3_DIj_.js → autoMode-Y935eDPH.js} +4 -4
  73. package/dist/chunks/{autonomy-CxcpXBnz.js → autonomy-B80m_shf.js} +1 -1
  74. package/dist/chunks/{autonomy-D3HnUUnz.js → autonomy-DAAefijm.js} +7 -7
  75. package/dist/chunks/{autonomyPanel-CMsNAQu4.js → autonomyPanel-doRw0BcU.js} +3 -3
  76. package/dist/chunks/{backgroundHousekeeping-Byp6Ajr9.js → backgroundHousekeeping-C6AXSjUU.js} +1 -1
  77. package/dist/chunks/{backgroundHousekeeping-CxJj4Oef.js → backgroundHousekeeping-CxzWkqpl.js} +10 -10
  78. package/dist/chunks/{banner-D-JSRq2p.js → banner-dyTyUphm.js} +2 -2
  79. package/dist/chunks/{bg-B1RhtHW3.js → bg-7Xy-jR7Y.js} +1 -1
  80. package/dist/chunks/{bg-B_XmhtUP.js → bg-DL_lRf4Y.js} +7 -7
  81. package/dist/chunks/{branch-B4KV-IRo.js → branch-Bjbv7CjS.js} +5 -5
  82. package/dist/chunks/{bridge-DKg56xfZ.js → bridge-tBS03kXL.js} +10 -10
  83. package/dist/chunks/{bridgeConfig-D7N_mFgw.js → bridgeConfig-C_nebsTP.js} +1 -1
  84. package/dist/chunks/{bridgeConfig-9Y6aCC8M.js → bridgeConfig-SeIIqoYR.js} +1 -1
  85. package/dist/chunks/{bridgeEnabled-D6834pga.js → bridgeEnabled-C7XUt0dF.js} +2 -2
  86. package/dist/chunks/{bridgeEnabled-uK6gYFi2.js → bridgeEnabled-CdLr6LEI.js} +1 -1
  87. package/dist/chunks/{bridgeMain-Cn-k9uZF.js → bridgeMain-BqQUg-1U.js} +43 -43
  88. package/dist/chunks/bridgeMain-DgA3o6TD.js +2 -0
  89. package/dist/chunks/{bridgeMessaging-D-loRED3.js → bridgeMessaging-CzyttFaM.js} +3 -3
  90. package/dist/chunks/{bridgePointer-DRX60R2d.js → bridgePointer-B1myC1kM.js} +1 -1
  91. package/dist/chunks/{browser-C9sNUyIB.js → browser-Dq9yEpcH.js} +1 -1
  92. package/dist/chunks/{btw-YgooOc6C.js → btw-DOskdUI-.js} +6 -6
  93. package/dist/chunks/{buddy-LsYGoGrx.js → buddy-DOYagBtP.js} +4 -4
  94. package/dist/chunks/{bypassPermissionsKillswitch-Beyllasy.js → bypassPermissionsKillswitch-CNoE7yG5.js} +4 -4
  95. package/dist/chunks/{caches-Dz1n6ArH.js → caches-BfAG7OAu.js} +15 -15
  96. package/dist/chunks/{caches-woIlLj6M.js → caches-BxvmhEdy.js} +1 -1
  97. package/dist/chunks/{ccrClient-CKVHQMLz.js → ccrClient-BTkalylc.js} +6 -6
  98. package/dist/chunks/changeDetector-DXY11OHt.js +3 -0
  99. package/dist/chunks/{channelNotification-DTggCba-.js → channelNotification-5W-VmfFY.js} +1 -1
  100. package/dist/chunks/{channelNotification-WKPEztV5.js → channelNotification-uTRw9JeV.js} +4 -4
  101. package/dist/chunks/{chrome-DqPD7N7U.js → chrome-Dw0yasoe.js} +14 -18
  102. package/dist/chunks/{chromeNativeHost-Amzq10CE.js → chromeNativeHost-DvBPEAma.js} +2 -2
  103. package/dist/chunks/{claudeDesktop-Yt6OVv-R.js → claudeDesktop-ClvZD-_6.js} +4 -4
  104. package/dist/chunks/{cleanup-CMxEWiK_.js → cleanup-C1JfsjLS.js} +4 -4
  105. package/dist/chunks/{clear-CU88wo7D.js → clear-D6qhu2sI.js} +1 -1
  106. package/dist/chunks/{cliLaunch-DKNCCEoY.js → cliLaunch-4sM_858U.js} +1 -1
  107. package/dist/chunks/{client-By2LaBTV.js → client-eqP6VE8L.js} +1 -1
  108. package/dist/chunks/{color-D8caA1A_.js → color-BRUxDHBy.js} +2 -2
  109. package/dist/chunks/{commands-6Rub0xAi.js → commands-B9wtmCpw.js} +1 -1
  110. package/dist/chunks/{commitAttribution-CdgFcigG.js → commitAttribution-DhS_bgpw.js} +7 -7
  111. package/dist/chunks/{commitAttribution-C-mpkrMT.js → commitAttribution-Dss835Tx.js} +1 -1
  112. package/dist/chunks/{common-DxI5HzBz.js → common-B8hahT4_.js} +4 -4
  113. package/dist/chunks/{common-DybLr-fl.js → common-ClfJIlTE.js} +1 -1
  114. package/dist/chunks/{common-B5spHC0C.js → common-DCOX-7N0.js} +1 -1
  115. package/dist/chunks/{compact-BLwsKbF4.js → compact-DsShVesJ.js} +5 -5
  116. package/dist/chunks/{companion-BdOVr_v3.js → companion-BM7lvaXq.js} +1 -1
  117. package/dist/chunks/{completionCache-CobqbJ31.js → completionCache-CGnethxw.js} +4 -4
  118. package/dist/chunks/{completionCache-Bv1okezQ.js → completionCache-CV1Woj-g.js} +1 -1
  119. package/dist/chunks/{computerUseLock-Sl_TnzPG.js → computerUseLock-BJ4YqgRZ.js} +2 -2
  120. package/dist/chunks/{config-Dh9pQcla.js → config-B3JtdkfQ.js} +1 -1
  121. package/dist/chunks/{config-C1a0GUUI.js → config-DwbZqXTa.js} +1 -1
  122. package/dist/chunks/{context-CAcB6RWE.js → context-DVo9JzU2.js} +9 -16
  123. package/dist/chunks/{context-noninteractive-DjIOzr0X.js → context-noninteractive-CutK4SDU.js} +3 -3
  124. package/dist/chunks/{context-noninteractive-dA4PkNrl.js → context-noninteractive-DTHV8qnu.js} +1 -1
  125. package/dist/chunks/{conversation-C8deRjSB.js → conversation-B61DnWZ5.js} +1 -1
  126. package/dist/chunks/{conversation-CmWYair-.js → conversation-D4NNA618.js} +6 -6
  127. package/dist/chunks/{copy-BBbH7K32.js → copy-DF7cwEtz.js} +3 -3
  128. package/dist/chunks/{cost-BVZ9llI4.js → cost-D21f8Gx3.js} +2 -2
  129. package/dist/chunks/{createSSHSession-D7bq9wih.js → createSSHSession-D2bKQ6-R.js} +3 -3
  130. package/dist/chunks/{createSession-aLnqsUxl.js → createSession-BwUrYIjs.js} +22 -22
  131. package/dist/chunks/{createSession-CSXuVrbM.js → createSession-DFPTe-XS.js} +1 -1
  132. package/dist/chunks/{cronJitterConfig-U90owRP0.js → cronJitterConfig-By8pO1Sx.js} +9 -9
  133. package/dist/chunks/{crossProjectResume-BJC6bBf4.js → crossProjectResume-CJhx13SR.js} +15 -16
  134. package/dist/chunks/{cwd-Cl7wAmoa.js → cwd-BXkcfaQ3.js} +1 -1
  135. package/dist/chunks/{daemon-eahZrXVd.js → daemon-BmdEYMbz.js} +2 -2
  136. package/dist/chunks/{datadog-Bvp4Nx41.js → datadog-Bh21J2XA.js} +2 -2
  137. package/dist/chunks/{datadog-YiasVxpz.js → datadog-CNwa8WqY.js} +1 -1
  138. package/dist/chunks/{debug-Dbl6wCkD.js → debug-Bb0ljjnG.js} +17 -2
  139. package/dist/chunks/debug-CPuLFqVj.js +3 -0
  140. package/dist/chunks/{debugUtils-CEmkmJ4T.js → debugUtils-DNMF9W7T.js} +1 -1
  141. package/dist/chunks/{desktop-CP3jL0uN.js → desktop-gkbQxmAc.js} +1 -1
  142. package/dist/chunks/{detached-1JJgWpFU.js → detached-QocfJFtX.js} +1 -1
  143. package/dist/chunks/{detectRepository-LfJRgQrs.js → detectRepository-BjM1oogL.js} +3 -3
  144. package/dist/chunks/{detectRepository-C4H8ncXC.js → detectRepository-mK0FYprO.js} +1 -1
  145. package/dist/chunks/{detection-CbqXL_iN.js → detection-CiHXb4rk.js} +1 -1
  146. package/dist/chunks/{detection-1ZJkJo_n.js → detection-wlbUnvLK.js} +2 -2
  147. package/dist/chunks/{diff-CXM3GZYV.js → diff-CUvk-35s.js} +1 -1
  148. package/dist/chunks/{directoryCompletion-DhYZdJd-.js → directoryCompletion-C4Tryr2H.js} +4 -4
  149. package/dist/chunks/{doctor-CjY6Oy4r.js → doctor-ByEx_KEa.js} +1 -1
  150. package/dist/chunks/{effort-7p-iVkwM.js → effort-DwcpK-M5.js} +3 -3
  151. package/dist/chunks/{entry-ucCXhPZK.js → entry-DlL5SJEe.js} +4 -4
  152. package/dist/chunks/{env-DHgRYI5W.js → env-Cvo_D_RS.js} +2 -2
  153. package/dist/chunks/{envLessBridgeConfig-BOnsGq6i.js → envLessBridgeConfig-B0adhqTh.js} +1 -1
  154. package/dist/chunks/{envLessBridgeConfig-BwyCCpiu.js → envLessBridgeConfig-CUqQgLBm.js} +2 -2
  155. package/dist/chunks/{escHotkey-Be5FHRsY.js → escHotkey-7VEuT3fY.js} +1 -1
  156. package/dist/chunks/{execFileNoThrow-Dz0mmY3D.js → execFileNoThrow-CbBIWYAF.js} +3 -3
  157. package/dist/chunks/{execSyncWrapper-Df0eLhOB.js → execSyncWrapper-DoqwlZ9z.js} +1 -1
  158. package/dist/chunks/{executor-ChBpQNzE.js → executor-BbhekR2R.js} +1 -1
  159. package/dist/chunks/{executor-CmnjV9W0.js → executor-D025MfL_.js} +4 -4
  160. package/dist/chunks/{exit-Exh4sTT7.js → exit-sEScbIqF.js} +3 -3
  161. package/dist/chunks/{export-Diij-vHR.js → export-BXfslJKH.js} +6 -6
  162. package/dist/chunks/{exportRenderer-Br17vVFP.js → exportRenderer-db5crbuf.js} +4 -4
  163. package/dist/chunks/{extra-usage-r_cX0G_n.js → extra-usage-DdYvD3vM.js} +2 -2
  164. package/dist/chunks/{extra-usage-B29DrxbK.js → extra-usage-Doa2MdUT.js} +1 -1
  165. package/dist/chunks/{extra-usage-core-IWmDazFI.js → extra-usage-core-C41eTJeN.js} +6 -6
  166. package/dist/chunks/{extra-usage-noninteractive-GRR2uALQ.js → extra-usage-noninteractive-CKAm_ocz.js} +1 -1
  167. package/dist/chunks/{extraUsage-CR7Kqbvx.js → extraUsage-B0C9fG5F.js} +5 -5
  168. package/dist/chunks/{fast-ZJOkNwL-.js → fast-DRG-jWtl.js} +1 -1
  169. package/dist/chunks/{fast-ZGum8dyu.js → fast-Dnlha4an.js} +5 -5
  170. package/dist/chunks/{feedback-BOiiEVX_.js → feedback-CAF-W8Br.js} +1 -1
  171. package/dist/chunks/{files-C0wzp_Q_.js → files-1GB-jTK_.js} +1 -1
  172. package/dist/chunks/{firstPartyEventLogger-BkJbDkOp.js → firstPartyEventLogger-BDHJgJza.js} +1 -1
  173. package/dist/chunks/{flushGate-WQOcRC6h.js → flushGate-B9Ne9TiF.js} +5 -5
  174. package/dist/chunks/{gates-Bn4fBmvG.js → gates-BFLQknmW.js} +1 -1
  175. package/dist/chunks/{gates-CCZo-f98.js → gates-DPSyvVDV.js} +1 -1
  176. package/dist/chunks/{gemini-CJA-3sJt.js → gemini-iKdmRRGT.js} +5 -5
  177. package/dist/chunks/{generateSessionName-DpfZ15mg.js → generateSessionName-Cp7N2iUz.js} +5 -5
  178. package/dist/chunks/{genericProcessUtils-B2fvsxcH.js → genericProcessUtils-CnvTXq_S.js} +1 -1
  179. package/dist/chunks/{git-CTzXVa0h.js → git-1U57xwGL.js} +1 -1
  180. package/dist/chunks/{git-D2nk_Qkj.js → git-Cywe4_lJ.js} +8 -8
  181. package/dist/chunks/{githubRepoPathMapping-Dw6eaIag.js → githubRepoPathMapping-D73MJ9KI.js} +5 -5
  182. package/dist/chunks/{grok-DBZuk5-2.js → grok-BhKHdF8R.js} +5 -5
  183. package/dist/chunks/{growthbook-BRRk4eHm.js → growthbook-DEYAaqxC.js} +1 -1
  184. package/dist/chunks/{heapdump-BZZq9gpV.js → heapdump-B-99rJFL.js} +4 -4
  185. package/dist/chunks/{help-DNssUvZX.js → help-DdzmWppd.js} +7 -11
  186. package/dist/chunks/{hooks-CDiqdiC4.js → hooks-6fCARSjr.js} +16 -26
  187. package/dist/chunks/{hooks-COP_BJk_.js → hooks-fMixfLBL.js} +1 -1
  188. package/dist/chunks/{hostAdapter-HvwJbNSE.js → hostAdapter-M9e74b_-.js} +5 -5
  189. package/dist/chunks/{ide-BVGYlWj0.js → ide-DuTmNR8D.js} +5 -5
  190. package/dist/chunks/{inboundAttachments-rftwdNRk.js → inboundAttachments-64eQ104N.js} +3 -3
  191. package/dist/chunks/inboundAttachments-B6H1_RJq.js +2 -0
  192. package/dist/chunks/{initReplBridge-CM9UoqEd.js → initReplBridge-DHusoeAC.js} +23 -23
  193. package/dist/chunks/{insights-D49PZw0B.js → insights-CQvql4k3.js} +7 -7
  194. package/dist/chunks/{install-Dl4TYrOS.js → install-CTwMvyjb.js} +5 -5
  195. package/dist/chunks/{install-github-app-DNQN5onn.js → install-github-app-BeynGcAU.js} +23 -35
  196. package/dist/chunks/{install-slack-app-CIPusA2T.js → install-slack-app-79wJZqgC.js} +2 -2
  197. package/dist/chunks/{instrumentation-Gid9bWhI.js → instrumentation-CPIJyj9m.js} +9 -9
  198. package/dist/chunks/{job-ClTDvPuJ.js → job-DZyek3mx.js} +1 -1
  199. package/dist/chunks/{jwtUtils-ByASxD9E.js → jwtUtils-JVPPs_aS.js} +2 -2
  200. package/dist/chunks/{keybindings-D_OHqpEG.js → keybindings-D5BMLXTN.js} +3 -3
  201. package/dist/chunks/{lang-5qheWx7n.js → lang-BckQY1o1.js} +2 -2
  202. package/dist/chunks/{language-BUlO6LEY.js → language-BKQJGhZc.js} +1 -1
  203. package/dist/chunks/{loadAgentsDir-bQ-muMi7.js → loadAgentsDir-CETiKpAP.js} +309 -302
  204. package/dist/chunks/{loadAgentsDir-CO-Z634V.js → loadAgentsDir-DDtsnZUV.js} +1 -1
  205. package/dist/chunks/loadPluginHooks-Bum5kOWr.js +3 -0
  206. package/dist/chunks/{localSearch-BDjgAWjT.js → localSearch-Bjc8CfXi.js} +1 -1
  207. package/dist/chunks/{localSearch-X6sb9R1t.js → localSearch-Bl1Gfzxl.js} +1 -1
  208. package/dist/chunks/lockfile-DSmPJahW.js +6 -0
  209. package/dist/chunks/{log-tQV9p6dr.js → log-DJqbV1BW.js} +3 -3
  210. package/dist/chunks/{login-BGOv-qrz.js → login-DUsBo86A.js} +1 -1
  211. package/dist/chunks/{login-CYD78W8k.js → login-DyCVEFNM.js} +7 -7
  212. package/dist/chunks/{logoV2Utils-BiIvXsFU.js → logoV2Utils-BYEaxaav.js} +7 -7
  213. package/dist/chunks/logout-D6kUTUDg.js +3 -0
  214. package/dist/chunks/{magicDocs-D7gqDrrg.js → magicDocs-BJhS4hll.js} +3 -3
  215. package/dist/chunks/{main-DGYA6uQp.js → main-CFwwlPjq.js} +133 -133
  216. package/dist/chunks/{main-BxrRyic4.js → main-DODFq8CV.js} +6 -6
  217. package/dist/chunks/{mappers-BC48YqTL.js → mappers-CrQCBZSk.js} +4 -4
  218. package/dist/chunks/{mcp-DcvO2kBb.js → mcp-BCWSzvZm.js} +13 -17
  219. package/dist/chunks/{mcp-BiDJrrXr.js → mcp-CTftgWrY.js} +4 -4
  220. package/dist/chunks/{mcp-CXM0NHwP.js → mcp-CYWJstT-.js} +9 -9
  221. package/dist/chunks/{mcpServer-r5GjKKK9.js → mcpServer-B5vWes-4.js} +6 -6
  222. package/dist/chunks/{mcpServer-5omzyV_O.js → mcpServer-Droewq6m.js} +7 -7
  223. package/dist/chunks/{memoize-8_8Jgq9F.js → memoize-BNcAM4Gu.js} +2 -2
  224. package/dist/chunks/{memory-DjWke0zZ.js → memory-BJtu5-Up.js} +13 -13
  225. package/dist/chunks/{mobile-B4nPOVyu.js → mobile-E7W_ML5g.js} +2 -2
  226. package/dist/chunks/{model-iGPJvBdS.js → model-BgJ22cOa.js} +5 -5
  227. package/dist/chunks/{model-877Lkj0V.js → model-zjx6EO8I.js} +1 -1
  228. package/dist/chunks/{onChangeAppState-DJuae2DL.js → onChangeAppState-D0ins2qz.js} +6 -6
  229. package/dist/chunks/{openai-C9peBSRu.js → openai-9PVVXfIH.js} +6 -6
  230. package/dist/chunks/{overageCreditGrant-OuisAO8F.js → overageCreditGrant-BBCXH9Qk.js} +3 -3
  231. package/dist/chunks/{parser-Hk2zYMwO.js → parser-CO1-vrD-.js} +1 -1
  232. package/dist/chunks/parser-DwJF_kRi.js +3 -0
  233. package/dist/chunks/{passes-CKNFD3-w.js → passes-C7aqZ9v9.js} +5 -5
  234. package/dist/chunks/{path-Dhr_LNnO.js → path-B7QVMkdr.js} +4 -4
  235. package/dist/chunks/{paths-hO6Q_kYD.js → paths-SJoaKf9-.js} +19 -19
  236. package/dist/chunks/{permissions-D9Uc6yDQ.js → permissions-DtFKh7Wb.js} +16 -21
  237. package/dist/chunks/{pipeTransport-YoRmjD9x.js → pipeTransport-DL8IK-O-.js} +2 -2
  238. package/dist/chunks/{plan-fabRZFpP.js → plan-Bk6yAuow.js} +5 -5
  239. package/dist/chunks/{platform-DXh9Am3i.js → platform-C0-eCWeM.js} +2 -2
  240. package/dist/chunks/{plugin-lKh4Xf5a.js → plugin-CPCKCH3E.js} +1 -1
  241. package/dist/chunks/{pluginAutoupdate-Ip8KU8to.js → pluginAutoupdate-xLr0GPuV.js} +6 -6
  242. package/dist/chunks/{pluginBlocklist-mH9acxXi.js → pluginBlocklist-ClIK43-Z.js} +4 -4
  243. package/dist/chunks/{pluginCliCommands-C_eSusjc.js → pluginCliCommands-iYl5EmW5.js} +5 -5
  244. package/dist/chunks/{pluginFlagging-BxPvW41D.js → pluginFlagging-CNQ6OTzc.js} +3 -3
  245. package/dist/chunks/{pluginOperations-iqo6n7zV.js → pluginOperations-B3pl1B3y.js} +7 -7
  246. package/dist/chunks/{pluginStartupCheck-VK0BWvhP.js → pluginStartupCheck-BL-ZCRyZ.js} +1 -1
  247. package/dist/chunks/{pluginStartupCheck-DpdinxNS.js → pluginStartupCheck-C70D5gr0.js} +6 -6
  248. package/dist/chunks/{plugins-BSa7T899.js → plugins-DWlf-J1O.js} +10 -10
  249. package/dist/chunks/{policyLimits-DPAIbA3G.js → policyLimits-DUgh9exT.js} +1 -1
  250. package/dist/chunks/{pollConfig-B3pkWIm1.js → pollConfig-CL3jOIzt.js} +1 -1
  251. package/dist/chunks/{poor-BIyJvY4K.js → poor-Dmdapk1Z.js} +1 -1
  252. package/dist/chunks/{poorMode-BqeP4CEN.js → poorMode-CMlGIkbn.js} +1 -1
  253. package/dist/chunks/{poorMode-we-_Obtu.js → poorMode-DYm_Heeq.js} +1 -1
  254. package/dist/chunks/{print-oRL8S5zp.js → print-B4AGZS6B.js} +38 -35
  255. package/dist/chunks/{privacy-settings-DMZLb9Ow.js → privacy-settings-DgMvzrw9.js} +2 -2
  256. package/dist/chunks/{processBashCommand-CLpO7FpU.js → processBashCommand-B1O9KWlW.js} +5 -5
  257. package/dist/chunks/{processSlashCommand-C-w4cWc8.js → processSlashCommand-Buesrq5I.js} +7 -7
  258. package/dist/chunks/{prompt-COx6UyTv.js → prompt-BQYKqDAQ.js} +1 -1
  259. package/dist/chunks/prompt-CLeeoH1Z.js +3 -0
  260. package/dist/chunks/{prompt-CeyIN3hn.js → prompt-Ynh5UHjm.js} +2 -2
  261. package/dist/chunks/{promptEditor-BXY4rlB7.js → promptEditor-DfM__rKq.js} +5 -5
  262. package/dist/chunks/{protocolHandler-C0DcL2k5.js → protocolHandler-BsXeTPpp.js} +7 -7
  263. package/dist/chunks/{proxy-BwZZwaAc.js → proxy-Cztfu0KI.js} +1 -1
  264. package/dist/chunks/{rate-limit-options-DPPZWVvE.js → rate-limit-options-CN7rSiZf.js} +5 -5
  265. package/dist/chunks/{rcDebugLog-DPE6X_Qa.js → rcDebugLog-CCSQt5fF.js} +4 -4
  266. package/dist/chunks/{referral-BAzKLo5F.js → referral-0Il1Xu1u.js} +6 -6
  267. package/dist/chunks/{refresh-istDTwFc.js → refresh-CLRgl7V0.js} +4 -4
  268. package/dist/chunks/{registerProtocol-Dosa8Ick.js → registerProtocol-CyUUVKwf.js} +4 -4
  269. package/dist/chunks/registry-BbDEbiqo.js +3 -0
  270. package/dist/chunks/{release-notes-1a2wAQi8.js → release-notes-DsjKrz42.js} +1 -1
  271. package/dist/chunks/{releaseNotes-CjoY4y5F.js → releaseNotes-B6dZzWIo.js} +4 -4
  272. package/dist/chunks/{reload-plugins-d4N_W6P6.js → reload-plugins-BCnKXIp1.js} +5 -5
  273. package/dist/chunks/{remote-env-CdeHb-9r.js → remote-env-CpQp10mY.js} +6 -6
  274. package/dist/chunks/{remoteBridgeCore-D43quB_j.js → remoteBridgeCore-eyK740k_.js} +11 -11
  275. package/dist/chunks/{remoteControlServer-BDcQj_dx.js → remoteControlServer-DcWIABv5.js} +9 -9
  276. package/dist/chunks/{rename-CnRNVVqs.js → rename-CQC5xoqF.js} +5 -5
  277. package/dist/chunks/{renderOptions-DDZxlEc3.js → renderOptions-DFuY62O6.js} +1 -1
  278. package/dist/chunks/{resume--_Ez4CWl.js → resume-B2Hzit_w.js} +5 -5
  279. package/dist/chunks/{runtimeObserver-CPwWuDdK.js → runtimeObserver-CXaXJ06T.js} +5 -5
  280. package/dist/chunks/{runtimeObserver-CcICoUf3.js → runtimeObserver-CpGXZQ1_.js} +1 -1
  281. package/dist/chunks/sandbox-adapter-CWjIe5AV.js +3 -0
  282. package/dist/chunks/{sandbox-toggle-Da6tTUdT.js → sandbox-toggle-DmqHinDC.js} +26 -43
  283. package/dist/chunks/{sentry-DbDep0CQ.js → sentry-C-8ru2z4.js} +1 -1
  284. package/dist/chunks/{session-B2s_rLlh.js → session-D14R1jnE.js} +4 -4
  285. package/dist/chunks/{sessionDiscovery-CztgnW7_.js → sessionDiscovery-26NxQq0W.js} +2 -2
  286. package/dist/chunks/sessionFileAccessHooks-BzRAK_vW.js +3 -0
  287. package/dist/chunks/{sessionMemory-BiBraIzm.js → sessionMemory-Dl7PT6Bc.js} +1 -1
  288. package/dist/chunks/{sessionMemory-BvlkJvQe.js → sessionMemory-DyIoPg4m.js} +6 -6
  289. package/dist/chunks/sessionMemoryUtils-DQh59-f-.js +3 -0
  290. package/dist/chunks/{sessionObserver-DNwSFnsX.js → sessionObserver-BDY2gyj0.js} +1 -1
  291. package/dist/chunks/{sessionObserver-BWUWMoFR.js → sessionObserver-kJKBajRB.js} +3 -3
  292. package/dist/chunks/{sessionStorage-CDN1BRzC.js → sessionStorage-CTOWoLYQ.js} +1 -1
  293. package/dist/chunks/{sessionTitle-BbwOdKLb.js → sessionTitle-CSeUp996.js} +5 -5
  294. package/dist/chunks/{sessionTracing-WUQN6g4J.js → sessionTracing-ed91rMJQ.js} +3 -3
  295. package/dist/chunks/{settingsSync-Cm_SEdF2.js → settingsSync-Bwg2MidK.js} +5 -5
  296. package/dist/chunks/{setup-LJxjhIkv.js → setup-BPWavjnn.js} +7 -7
  297. package/dist/chunks/{setup-TKMjyXu6.js → setup-Bbnao3S5.js} +3 -3
  298. package/dist/chunks/{setup-DUOSWZzC.js → setup-wI99yylW.js} +21 -21
  299. package/dist/chunks/{shadowedRuleDetection-UY-9zE-M.js → shadowedRuleDetection-DLi8TYpG.js} +1 -1
  300. package/dist/chunks/{shellQuote-Byb13Rrw.js → shellQuote-BEub_kTx.js} +2 -2
  301. package/dist/chunks/{sideQuestion-BhPSqV9o.js → sideQuestion-CHABZqfl.js} +2 -2
  302. package/dist/chunks/{sink-FdERn31_.js → sink-C_f87ccQ.js} +2 -2
  303. package/dist/chunks/{sink-ClGmZc2U.js → sink-rMmbZ8RL.js} +1 -1
  304. package/dist/chunks/{sinks-Bc8tzn9t.js → sinks-DDSqKR5q.js} +5 -5
  305. package/dist/chunks/sinks-bz46Gav-.js +2 -0
  306. package/dist/chunks/{skill-learning-DLjIAIjy.js → skill-learning-DqdiZ6Qb.js} +3 -3
  307. package/dist/chunks/{skillChangeDetector-DrMRLeOI.js → skillChangeDetector-CNJVrv1Y.js} +9 -9
  308. package/dist/chunks/{skillLearning-CwcHCBgC.js → skillLearning-DXaNR6bz.js} +4 -4
  309. package/dist/chunks/{skillLearning-CEJpDjf3.js → skillLearning-ahlUk7_B.js} +4 -4
  310. package/dist/chunks/{skillPanel-6xqzY_c9.js → skillPanel-CM5FuymN.js} +5 -5
  311. package/dist/chunks/{skillSearchPanel-DfT8DYnG.js → skillSearchPanel-C_rAD-74.js} +3 -3
  312. package/dist/chunks/{skills-D95a06We.js → skills-Kp74b-rF.js} +4 -4
  313. package/dist/chunks/{sprites-jkDwJG8k.js → sprites-S7adKhhS.js} +1 -1
  314. package/dist/chunks/{src-DMvlVrOY.js → src-B972UEs4.js} +1 -1
  315. package/dist/chunks/{src-BwBraanf.js → src-DEXOhFiF.js} +1 -1
  316. package/dist/chunks/{src-C7929iDn.js → src-DgXTK5eZ.js} +33 -4
  317. package/dist/chunks/{src-C02Dtw5-.js → src-Dq5Omq0s.js} +3 -3
  318. package/dist/chunks/{startupProfiler-CRb4EPSm.js → startupProfiler-Cq31VYGs.js} +1 -1
  319. package/dist/chunks/{startupProfiler-Br1i3wAr.js → startupProfiler-TD5MEsgv.js} +3 -3
  320. package/dist/chunks/{state-2-nbpPZ2.js → state-7mARBeIt.js} +12 -1
  321. package/dist/chunks/{state-D3qU2_gO.js → state-C-gElcok.js} +1 -1
  322. package/dist/chunks/{staticRender-DI83pzHC.js → staticRender-FpPmfCOq.js} +1 -1
  323. package/dist/chunks/{stats-B5Z0sz6G.js → stats-CEqr1WuI.js} +40 -70
  324. package/dist/chunks/{stats-DDnUiXCO.js → stats-CuuXkLj0.js} +1 -1
  325. package/dist/chunks/{status-0OaIdeKw.js → status-n8D7igwb.js} +1 -1
  326. package/dist/chunks/{statusNoticeHelpers-BnEci-6m.js → statusNoticeHelpers-DGHIRwPr.js} +1 -1
  327. package/dist/chunks/{stickers-Bm78OkyL.js → stickers-XWKySKm8.js} +1 -1
  328. package/dist/chunks/{systemPromptSections-ew9cxBgQ.js → systemPromptSections-CYgLzgeJ.js} +1 -1
  329. package/dist/chunks/{systemPromptSections-CP7xRaM7.js → systemPromptSections-DjJtpBoo.js} +1 -1
  330. package/dist/chunks/{tag-D5gjWk8S.js → tag-DBzg5Y1Y.js} +4 -4
  331. package/dist/chunks/{tasks-CMbSeirg.js → tasks-Di9_GdxY.js} +1 -1
  332. package/dist/chunks/{teamHelpers-BSuW63_E.js → teamHelpers-BBF_7xAm.js} +1 -1
  333. package/dist/chunks/{teamHelpers-DMtLzyi3.js → teamHelpers-CUCi60jF.js} +6 -6
  334. package/dist/chunks/{teammateModeSnapshot-4ym9DWAK.js → teammateModeSnapshot-e2wPfdd9.js} +1 -1
  335. package/dist/chunks/{teammateModeSnapshot-C85JLX8d.js → teammateModeSnapshot-ow8T8agh.js} +3 -3
  336. package/dist/chunks/teleport-C5uCWjBO.js +3 -0
  337. package/dist/chunks/{templateJobs-Cx4Oxa7d.js → templateJobs-xcXYv5zC.js} +1 -1
  338. package/dist/chunks/{terminalSetup-DfF8ADBg.js → terminalSetup-BHusON4o.js} +10 -10
  339. package/dist/chunks/{terminalSetup-BxIqp3HW.js → terminalSetup-CIasJCVm.js} +1 -1
  340. package/dist/chunks/{theme-DNAoovci.js → theme-DlxlYUHA.js} +2 -2
  341. package/dist/chunks/{thinkback-DV5tK1CP.js → thinkback-BJfsUxUJ.js} +9 -9
  342. package/dist/chunks/{thinkback-C0u7jRCk.js → thinkback-CZOt0v2g.js} +1 -1
  343. package/dist/chunks/{thinkback-play-DuwaV48U.js → thinkback-play-DX1xhgED.js} +2 -2
  344. package/dist/chunks/{tmux-BAcirBqV.js → tmux-BFbrAfmI.js} +2 -2
  345. package/dist/chunks/{toolEventObserver-C5142kdS.js → toolEventObserver-DJvoHrOq.js} +3 -3
  346. package/dist/chunks/{toolEventObserver-CRagZ6lm.js → toolEventObserver-pDvkp8EX.js} +1 -1
  347. package/dist/chunks/{toolPool-C6YIONNF.js → toolPool-B7sRJjye.js} +2 -2
  348. package/dist/chunks/{toolSearch-BcxvSx5n.js → toolSearch-DD2Yj_bk.js} +1 -1
  349. package/dist/chunks/{trustedDevice-BtKwbrA5.js → trustedDevice-DBu10wE4.js} +1 -1
  350. package/dist/chunks/{trustedDevice-19Frq_Aq.js → trustedDevice-yzYGkNtt.js} +3 -3
  351. package/dist/chunks/{types-DiPmZqLY.js → types-CzoS5oYe.js} +3 -3
  352. package/dist/chunks/{udsClient-D9-b97BF.js → udsClient-CfwuoD2K.js} +3 -3
  353. package/dist/chunks/{ultrareviewCommand-CqjQXxfX.js → ultrareviewCommand-Cf0-5GPZ.js} +9 -9
  354. package/dist/chunks/{undercover-CYh_ZkN1.js → undercover-BYDhePtt.js} +1 -1
  355. package/dist/chunks/{undercover-BzGXrGnn.js → undercover-CM0F1yU4.js} +2 -2
  356. package/dist/chunks/{up-QXps4Rmt.js → up-BZEz3k82.js} +1 -1
  357. package/dist/chunks/{updateCCB-BIGwtNYy.js → updateCCB-BvbSwonb.js} +4 -4
  358. package/dist/chunks/{upgrade-BuyrHknY.js → upgrade-BRePzsIf.js} +4 -4
  359. package/dist/chunks/upgrade-DEAIAcSs.js +3 -0
  360. package/dist/chunks/{upload-Cl6KG6CR.js → upload-DOZzf9KT.js} +2 -2
  361. package/dist/chunks/{upstreamproxy-CPQXRK_F.js → upstreamproxy-C816tFL2.js} +2 -2
  362. package/dist/chunks/{usage-DKmahHCF.js → usage-CLKLG2Mf.js} +1 -1
  363. package/dist/chunks/{usage-wg6Jl6OH.js → usage-CpwK_C7u.js} +1 -1
  364. package/dist/chunks/{useKeybinding-CltUTOhy.js → useKeybinding-B3NFGJro.js} +1 -1
  365. package/dist/chunks/{useMainLoopModel-D3AFC58R.js → useMainLoopModel-BpzkXsIS.js} +2 -2
  366. package/dist/chunks/{useManagePlugins-lveINmD5.js → useManagePlugins-DVlttePt.js} +6 -6
  367. package/dist/chunks/{useMergedTools-BeOleceC.js → useMergedTools-DckCqzvZ.js} +2 -2
  368. package/dist/chunks/{useSearchInput-uK6S4Ij1.js → useSearchInput-BOfpqfqQ.js} +2 -2
  369. package/dist/chunks/{useSettingsErrors-B3KoD1Ld.js → useSettingsErrors-9DVMwVlI.js} +2 -2
  370. package/dist/chunks/{useVoice-C0u3tFyo.js → useVoice-B1z_ij8D.js} +10 -10
  371. package/dist/chunks/{util-D9Lnk_IB.js → util-Caw1yZhK.js} +11 -11
  372. package/dist/chunks/utils-BSV3dlY8.js +3 -0
  373. package/dist/chunks/{validatePlugin-BlpoIdX2.js → validatePlugin-ClVA2uRk.js} +4 -4
  374. package/dist/chunks/{vim-Da4st8xZ.js → vim-fzEHp0nT.js} +1 -1
  375. package/dist/chunks/{voice-DVLohvKp.js → voice-BozYluNc.js} +3 -3
  376. package/dist/chunks/{voice-DvXm2I1o.js → voice-CLiwfTTN.js} +7 -7
  377. package/dist/chunks/{voiceModeEnabled-Dgswx-t9.js → voiceModeEnabled-DeHi11Ea.js} +1 -1
  378. package/dist/chunks/{voiceModeEnabled-DtAitY9h.js → voiceModeEnabled-DttRpcou.js} +1 -1
  379. package/dist/chunks/{voiceStreamSTT-C2Lf2VHj.js → voiceStreamSTT-D70xVejN.js} +1 -1
  380. package/dist/chunks/{voiceStreamSTT-DlFwfMSR.js → voiceStreamSTT-DgogRnjs.js} +4 -4
  381. package/dist/chunks/{which-BF0q78lV.js → which-D6buq6_2.js} +1 -1
  382. package/dist/chunks/{windowsPaths-DtbOodai.js → windowsPaths-B7Iu5kVd.js} +5 -5
  383. package/dist/chunks/{windowsPaths-DS4yOyJ2.js → windowsPaths-d2Io-Rnb.js} +1 -1
  384. package/dist/chunks/{workSecret-DG21Hjbm.js → workSecret-CtQAwyo8.js} +1 -1
  385. package/dist/chunks/{workerRegistry-Bwnze2av.js → workerRegistry-Dbw1hjNo.js} +3 -3
  386. package/dist/chunks/{worktree-Du4wqhzV.js → worktree-dBYOvoG7.js} +1 -1
  387. package/dist/chunks/{xml-Bcid-pAW.js → xml-Z2ZcQZo_.js} +1 -1
  388. package/dist/cli.js +35 -35
  389. package/package.json +20 -7
  390. package/scripts/postinstall.cjs +116 -66
  391. package/scripts/run-parallel.mjs +2 -2
  392. package/scripts/setup-chrome-mcp.mjs +37 -33
  393. package/dist/chunks/ApproveApiKey-C5eQUiOs.js +0 -2
  394. package/dist/chunks/ConsoleOAuthFlow-IvSSszuA.js +0 -3
  395. package/dist/chunks/Doctor-Bm2yNA__.js +0 -3
  396. package/dist/chunks/Grove-BYuFA2MG.js +0 -3
  397. package/dist/chunks/REPL-D5BNMi9s.js +0 -2
  398. package/dist/chunks/ToolSearchTool-DPvzH4i0.js +0 -3
  399. package/dist/chunks/asciicast-BqEd6ZtL.js +0 -2
  400. package/dist/chunks/auth-D45AztNh.js +0 -3
  401. package/dist/chunks/bridgeMain-t-umHvZA.js +0 -2
  402. package/dist/chunks/changeDetector-D5UmlLzN.js +0 -3
  403. package/dist/chunks/debug-Dq5UP4Yg.js +0 -3
  404. package/dist/chunks/inboundAttachments-BUJHO3Qk.js +0 -2
  405. package/dist/chunks/loadPluginHooks-DVz33r7E.js +0 -3
  406. package/dist/chunks/lockfile-CjeNRPVw.js +0 -6
  407. package/dist/chunks/logout-CFVlCMoS.js +0 -3
  408. package/dist/chunks/parser-Dr28TT-O.js +0 -3
  409. package/dist/chunks/prompt-DZWoMyPI.js +0 -3
  410. package/dist/chunks/registry-1MgVwbMR.js +0 -3
  411. package/dist/chunks/sandbox-adapter-Bd1kNStY.js +0 -3
  412. package/dist/chunks/sessionFileAccessHooks-B8osjZKr.js +0 -3
  413. package/dist/chunks/sessionMemoryUtils-XnPM37Vr.js +0 -3
  414. package/dist/chunks/sinks-D9OZf5ip.js +0 -2
  415. package/dist/chunks/teleport-C4O9gjiK.js +0 -3
  416. package/dist/chunks/upgrade-F8EjUe0j.js +0 -3
  417. package/dist/chunks/utils-DgWF71zI.js +0 -3
package/dist/cli.js CHANGED
@@ -39,39 +39,39 @@ async function main() {
39
39
  console.log(`2.1.888 (Claude Code)`);
40
40
  return;
41
41
  }
42
- const { profileCheckpoint } = await import("./chunks/startupProfiler-CRb4EPSm.js");
42
+ const { profileCheckpoint } = await import("./chunks/startupProfiler-Cq31VYGs.js");
43
43
  profileCheckpoint("cli_entry");
44
44
  if (process.argv[2] === "--claude-in-chrome-mcp") {
45
45
  profileCheckpoint("cli_claude_in_chrome_mcp_path");
46
- const { runClaudeInChromeMcpServer } = await import("./chunks/mcpServer-5omzyV_O.js");
46
+ const { runClaudeInChromeMcpServer } = await import("./chunks/mcpServer-Droewq6m.js");
47
47
  await runClaudeInChromeMcpServer();
48
48
  return;
49
49
  } else if (process.argv[2] === "--chrome-native-host") {
50
50
  profileCheckpoint("cli_chrome_native_host_path");
51
- const { runChromeNativeHost } = await import("./chunks/chromeNativeHost-Amzq10CE.js");
51
+ const { runChromeNativeHost } = await import("./chunks/chromeNativeHost-DvBPEAma.js");
52
52
  await runChromeNativeHost();
53
53
  return;
54
54
  } else if (process.argv[2] === "--computer-use-mcp") {
55
55
  profileCheckpoint("cli_computer_use_mcp_path");
56
- const { runComputerUseMcpServer } = await import("./chunks/mcpServer-r5GjKKK9.js");
56
+ const { runComputerUseMcpServer } = await import("./chunks/mcpServer-B5vWes-4.js");
57
57
  await runComputerUseMcpServer();
58
58
  return;
59
59
  }
60
60
  if (process.argv[2] === "--acp") {
61
61
  profileCheckpoint("cli_acp_path");
62
- const { runAcpAgent } = await import("./chunks/entry-ucCXhPZK.js");
62
+ const { runAcpAgent } = await import("./chunks/entry-DlL5SJEe.js");
63
63
  await runAcpAgent();
64
64
  return;
65
65
  }
66
66
  if (args[0] === "weixin") {
67
67
  profileCheckpoint("cli_weixin_path");
68
68
  const { handleWeixinCli } = await import("./chunks/src-Cila3l7k.js");
69
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
70
- const { initializeAnalyticsSink } = await import("./chunks/sink-ClGmZc2U.js");
71
- const { shutdownDatadog } = await import("./chunks/datadog-YiasVxpz.js");
72
- const { shutdown1PEventLogging } = await import("./chunks/firstPartyEventLogger-BkJbDkOp.js");
73
- const { logForDebugging } = await import("./chunks/debug-Dq5UP4Yg.js");
74
- const { ChannelPermissionRequestNotificationSchema } = await import("./chunks/channelNotification-DTggCba-.js");
69
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
70
+ const { initializeAnalyticsSink } = await import("./chunks/sink-rMmbZ8RL.js");
71
+ const { shutdownDatadog } = await import("./chunks/datadog-CNwa8WqY.js");
72
+ const { shutdown1PEventLogging } = await import("./chunks/firstPartyEventLogger-BDHJgJza.js");
73
+ const { logForDebugging } = await import("./chunks/debug-CPuLFqVj.js");
74
+ const { ChannelPermissionRequestNotificationSchema } = await import("./chunks/channelNotification-5W-VmfFY.js");
75
75
  await handleWeixinCli(args.slice(1), {
76
76
  enableConfigs,
77
77
  initializeAnalyticsSink,
@@ -86,26 +86,26 @@ async function main() {
86
86
  }
87
87
  if (args[0] === "--daemon-worker" || args[0]?.startsWith("--daemon-worker=")) {
88
88
  const kind = args[0] === "--daemon-worker" ? args[1] : args[0].split("=")[1];
89
- const { runDaemonWorker } = await import("./chunks/workerRegistry-Bwnze2av.js");
89
+ const { runDaemonWorker } = await import("./chunks/workerRegistry-Dbw1hjNo.js");
90
90
  await runDaemonWorker(kind);
91
91
  return;
92
92
  }
93
93
  if (args[0] === "remote-control" || args[0] === "rc" || args[0] === "remote" || args[0] === "sync" || args[0] === "bridge") {
94
94
  profileCheckpoint("cli_bridge_path");
95
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
95
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
96
96
  enableConfigs();
97
- const { getBridgeDisabledReason, checkBridgeMinVersion } = await import("./chunks/bridgeEnabled-uK6gYFi2.js");
97
+ const { getBridgeDisabledReason, checkBridgeMinVersion } = await import("./chunks/bridgeEnabled-CdLr6LEI.js");
98
98
  const { BRIDGE_LOGIN_ERROR } = await import("./chunks/types-C09rmmki.js");
99
- const { bridgeMain } = await import("./chunks/bridgeMain-t-umHvZA.js");
99
+ const { bridgeMain } = await import("./chunks/bridgeMain-DgA3o6TD.js");
100
100
  const { exitWithError } = await import("./chunks/process-B7pwNTyq.js");
101
- const { getClaudeAIOAuthTokens } = await import("./chunks/auth-DfvEnHae.js");
102
- const { getBridgeAccessToken } = await import("./chunks/bridgeConfig-9Y6aCC8M.js");
101
+ const { getClaudeAIOAuthTokens } = await import("./chunks/auth-D86_nA7S.js");
102
+ const { getBridgeAccessToken } = await import("./chunks/bridgeConfig-SeIIqoYR.js");
103
103
  if (!getClaudeAIOAuthTokens()?.accessToken && !getBridgeAccessToken()) exitWithError(BRIDGE_LOGIN_ERROR);
104
104
  const disabledReason = await getBridgeDisabledReason();
105
105
  if (disabledReason) exitWithError(`Error: ${disabledReason}`);
106
106
  const versionError = checkBridgeMinVersion();
107
107
  if (versionError) exitWithError(versionError);
108
- const { waitForPolicyLimitsToLoad, isPolicyAllowed } = await import("./chunks/policyLimits-DPAIbA3G.js");
108
+ const { waitForPolicyLimitsToLoad, isPolicyAllowed } = await import("./chunks/policyLimits-DUgh9exT.js");
109
109
  await waitForPolicyLimitsToLoad();
110
110
  if (!isPolicyAllowed("allow_remote_control")) exitWithError("Error: Remote Control is disabled by your organization's policy.");
111
111
  await bridgeMain(args.slice(1));
@@ -113,19 +113,19 @@ async function main() {
113
113
  }
114
114
  if (args[0] === "daemon") {
115
115
  profileCheckpoint("cli_daemon_path");
116
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
116
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
117
117
  enableConfigs();
118
- const { setShellIfWindows } = await import("./chunks/windowsPaths-DS4yOyJ2.js");
118
+ const { setShellIfWindows } = await import("./chunks/windowsPaths-d2Io-Rnb.js");
119
119
  setShellIfWindows();
120
- const { initSinks } = await import("./chunks/sinks-D9OZf5ip.js");
120
+ const { initSinks } = await import("./chunks/sinks-bz46Gav-.js");
121
121
  initSinks();
122
- const { daemonMain } = await import("./chunks/main-BxrRyic4.js");
122
+ const { daemonMain } = await import("./chunks/main-DODFq8CV.js");
123
123
  await daemonMain(args.slice(1));
124
124
  return;
125
125
  }
126
126
  if (args[0] === "autonomy") {
127
127
  profileCheckpoint("cli_autonomy_path");
128
- const { getAutonomyCommandText } = await import("./chunks/autonomy-CxcpXBnz.js");
128
+ const { getAutonomyCommandText } = await import("./chunks/autonomy-B80m_shf.js");
129
129
  const text = await getAutonomyCommandText(args.slice(1).join(" "));
130
130
  await new Promise((resolve, reject) => {
131
131
  process.stdout.write(`${text}\n`, (error) => {
@@ -140,47 +140,47 @@ async function main() {
140
140
  }
141
141
  if (args.includes("--bg") || args.includes("--background")) {
142
142
  profileCheckpoint("cli_daemon_path");
143
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
143
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
144
144
  enableConfigs();
145
- const { setShellIfWindows } = await import("./chunks/windowsPaths-DS4yOyJ2.js");
145
+ const { setShellIfWindows } = await import("./chunks/windowsPaths-d2Io-Rnb.js");
146
146
  setShellIfWindows();
147
- await (await import("./chunks/bg-B1RhtHW3.js")).handleBgStart(args.filter((a) => a !== "--bg" && a !== "--background"));
147
+ await (await import("./chunks/bg-7Xy-jR7Y.js")).handleBgStart(args.filter((a) => a !== "--bg" && a !== "--background"));
148
148
  return;
149
149
  }
150
150
  if (args[0] === "ps" || args[0] === "logs" || args[0] === "attach" || args[0] === "kill") {
151
151
  const mapped = args[0] === "ps" ? "status" : args[0];
152
152
  console.error(`[deprecated] Use: claude daemon ${mapped}${args[1] ? " " + args[1] : ""}`);
153
153
  profileCheckpoint("cli_daemon_path");
154
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
154
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
155
155
  enableConfigs();
156
- const { setShellIfWindows } = await import("./chunks/windowsPaths-DS4yOyJ2.js");
156
+ const { setShellIfWindows } = await import("./chunks/windowsPaths-d2Io-Rnb.js");
157
157
  setShellIfWindows();
158
- const { initSinks } = await import("./chunks/sinks-D9OZf5ip.js");
158
+ const { initSinks } = await import("./chunks/sinks-bz46Gav-.js");
159
159
  initSinks();
160
- const { daemonMain } = await import("./chunks/main-BxrRyic4.js");
160
+ const { daemonMain } = await import("./chunks/main-DODFq8CV.js");
161
161
  await daemonMain([args[0] === "ps" ? "status" : args[0], ...args.slice(1)]);
162
162
  return;
163
163
  }
164
164
  if (args[0] === "job") {
165
165
  profileCheckpoint("cli_templates_path");
166
- const { templatesMain } = await import("./chunks/templateJobs-Cx4Oxa7d.js");
166
+ const { templatesMain } = await import("./chunks/templateJobs-xcXYv5zC.js");
167
167
  await templatesMain(args.slice(1));
168
168
  process.exit(0);
169
169
  }
170
170
  if (args[0] === "new" || args[0] === "list" || args[0] === "reply") {
171
171
  console.error(`[deprecated] Use: claude job ${args[0]} ${args.slice(1).join(" ")}`.trim());
172
172
  profileCheckpoint("cli_templates_path");
173
- const { templatesMain } = await import("./chunks/templateJobs-Cx4Oxa7d.js");
173
+ const { templatesMain } = await import("./chunks/templateJobs-xcXYv5zC.js");
174
174
  await templatesMain(args);
175
175
  process.exit(0);
176
176
  }
177
177
  if ((args.includes("--tmux") || args.includes("--tmux=classic")) && (args.includes("-w") || args.includes("--worktree") || args.some((a) => a.startsWith("--worktree=")))) {
178
178
  profileCheckpoint("cli_tmux_worktree_fast_path");
179
- const { enableConfigs } = await import("./chunks/config-C1a0GUUI.js");
179
+ const { enableConfigs } = await import("./chunks/config-DwbZqXTa.js");
180
180
  enableConfigs();
181
181
  const { isWorktreeModeEnabled } = await import("./chunks/worktreeModeEnabled-DdzRUxCS.js");
182
182
  if (isWorktreeModeEnabled()) {
183
- const { execIntoTmuxWorktree } = await import("./chunks/worktree-Du4wqhzV.js");
183
+ const { execIntoTmuxWorktree } = await import("./chunks/worktree-dBYOvoG7.js");
184
184
  const result = await execIntoTmuxWorktree(args);
185
185
  if (result.handled) return;
186
186
  if (result.error) {
@@ -198,7 +198,7 @@ async function main() {
198
198
  const { startCapturingEarlyInput } = await import("./chunks/earlyInput-B4qwbmO4.js");
199
199
  startCapturingEarlyInput();
200
200
  profileCheckpoint("cli_before_main_import");
201
- const { main: cliMain } = await import("./chunks/main-DGYA6uQp.js");
201
+ const { main: cliMain } = await import("./chunks/main-CFwwlPjq.js");
202
202
  profileCheckpoint("cli_after_main_import");
203
203
  await cliMain();
204
204
  profileCheckpoint("cli_after_main_complete");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-best",
3
- "version": "1.11.1",
3
+ "version": "2.0.0",
4
4
  "description": "Reverse-engineered Anthropic Claude Code CLI — interactive AI coding assistant in the terminal",
5
5
  "type": "module",
6
6
  "author": "claude-code-best <claude-code-best@proton.me>",
@@ -22,7 +22,7 @@
22
22
  "repl"
23
23
  ],
24
24
  "engines": {
25
- "bun": ">=1.2.0"
25
+ "bun": ">=1.3.0"
26
26
  },
27
27
  "bin": {
28
28
  "ccb": "dist/cli-node.js",
@@ -48,9 +48,12 @@
48
48
  "dev": "bun run scripts/dev.ts",
49
49
  "dev:inspect": "bun run scripts/dev-debug.ts",
50
50
  "prepublishOnly": "bun run build:vite",
51
- "lint": "biome lint src/",
52
- "lint:fix": "biome lint --fix src/",
53
- "format": "biome format --write src/",
51
+ "lint": "biome lint .",
52
+ "lint:fix": "biome lint --fix .",
53
+ "format": "biome format --write .",
54
+ "check": "biome check .",
55
+ "check:fix": "biome check --fix .",
56
+ "prepare": "husky",
54
57
  "test": "bun test",
55
58
  "test:production": "bun run scripts/production-test.ts",
56
59
  "test:production:offline": "bun run scripts/production-test.ts --offline",
@@ -62,7 +65,7 @@
62
65
  "postinstall": "node scripts/run-parallel.mjs scripts/postinstall.cjs scripts/setup-chrome-mcp.mjs",
63
66
  "docs:dev": "npx mintlify dev",
64
67
  "typecheck": "tsc --noEmit",
65
- "test:all": "bun run typecheck && bun test",
68
+ "precheck": "bun run typecheck && bun run check:fix && bun test",
66
69
  "rcs": "bun run scripts/rcs.ts"
67
70
  },
68
71
  "dependencies": {
@@ -73,11 +76,11 @@
73
76
  },
74
77
  "devDependencies": {
75
78
  "@alcalzone/ansi-tokenize": "^0.3.0",
76
- "@ant/model-provider": "workspace:*",
77
79
  "@ant/claude-for-chrome-mcp": "workspace:*",
78
80
  "@ant/computer-use-input": "workspace:*",
79
81
  "@ant/computer-use-mcp": "workspace:*",
80
82
  "@ant/computer-use-swift": "workspace:*",
83
+ "@ant/model-provider": "workspace:*",
81
84
  "@anthropic-ai/bedrock-sdk": "^0.29.0",
82
85
  "@anthropic-ai/claude-agent-sdk": "^0.2.114",
83
86
  "@anthropic-ai/foundry-sdk": "^0.2.3",
@@ -164,11 +167,13 @@
164
167
  "google-auth-library": "^10.6.2",
165
168
  "he": "^1.2.0",
166
169
  "https-proxy-agent": "^8.0.0",
170
+ "husky": "^9.1.7",
167
171
  "ignore": "^7.0.5",
168
172
  "image-processor-napi": "workspace:*",
169
173
  "indent-string": "^5.0.0",
170
174
  "jsonc-parser": "^3.3.1",
171
175
  "knip": "^6.4.1",
176
+ "lint-staged": "^16.4.0",
172
177
  "lodash-es": "^4.18.1",
173
178
  "lru-cache": "^11.3.5",
174
179
  "marked": "^17.0.6",
@@ -216,5 +221,13 @@
216
221
  "hono": "4.12.15",
217
222
  "postcss": "8.5.10",
218
223
  "uuid": "14.0.0"
224
+ },
225
+ "lint-staged": {
226
+ "*.{ts,tsx,js,mjs,jsx}": [
227
+ "biome check --fix --no-errors-on-unmatched"
228
+ ],
229
+ "*.{json,jsonc}": [
230
+ "biome format --write --no-errors-on-unmatched"
231
+ ]
219
232
  }
220
233
  }
@@ -11,29 +11,39 @@
11
11
  * bun run scripts/postinstall.js
12
12
  */
13
13
 
14
- const { existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, chmodSync } =
15
- require("fs")
16
- const { spawnSync } = require("child_process")
17
- const { setDefaultResultOrder } = require("node:dns")
18
- const path = require("path")
19
- const os = require("os")
14
+ const {
15
+ existsSync,
16
+ mkdirSync,
17
+ readFileSync,
18
+ renameSync,
19
+ rmSync,
20
+ statSync,
21
+ writeFileSync,
22
+ chmodSync,
23
+ } = require('fs')
24
+ const { spawnSync } = require('child_process')
25
+ const { setDefaultResultOrder } = require('node:dns')
26
+ const path = require('path')
27
+ const os = require('os')
20
28
 
21
29
  // Prefer IPv4 first — Bun on Windows sometimes fails GitHub over broken IPv6 paths.
22
30
  try {
23
- setDefaultResultOrder("ipv4first")
31
+ setDefaultResultOrder('ipv4first')
24
32
  } catch {
25
33
  /* ignore */
26
34
  }
27
35
 
28
36
  // --- Config ---
29
37
 
30
- const RG_VERSION = "15.0.1"
38
+ const RG_VERSION = '15.0.1'
31
39
  const DEFAULT_RELEASE_BASE = `https://github.com/microsoft/ripgrep-prebuilt/releases/download/v${RG_VERSION}`
32
40
  const MIRROR_RELEASE_BASE = `https://ghproxy.net/https://github.com/microsoft/ripgrep-prebuilt/releases/download/v${RG_VERSION}`
33
- const RELEASE_BASE = (process.env.RIPGREP_DOWNLOAD_BASE ?? DEFAULT_RELEASE_BASE).replace(/\/$/, "")
41
+ const RELEASE_BASE = (
42
+ process.env.RIPGREP_DOWNLOAD_BASE ?? DEFAULT_RELEASE_BASE
43
+ ).replace(/\/$/, '')
34
44
 
35
45
  const scriptDir = path.dirname(__filename)
36
- const projectRoot = path.resolve(scriptDir, "..")
46
+ const projectRoot = path.resolve(scriptDir, '..')
37
47
 
38
48
  // --- Platform mapping ---
39
49
 
@@ -41,27 +51,29 @@ function getPlatformMapping() {
41
51
  const arch = process.arch
42
52
  const platform = process.platform
43
53
 
44
- if (platform === "darwin") {
45
- if (arch === "arm64") return { target: "aarch64-apple-darwin", ext: "tar.gz" }
46
- if (arch === "x64") return { target: "x86_64-apple-darwin", ext: "tar.gz" }
54
+ if (platform === 'darwin') {
55
+ if (arch === 'arm64')
56
+ return { target: 'aarch64-apple-darwin', ext: 'tar.gz' }
57
+ if (arch === 'x64') return { target: 'x86_64-apple-darwin', ext: 'tar.gz' }
47
58
  throw new Error(`Unsupported macOS arch: ${arch}`)
48
59
  }
49
60
 
50
- if (platform === "win32") {
51
- if (arch === "x64") return { target: "x86_64-pc-windows-msvc", ext: "zip" }
52
- if (arch === "arm64") return { target: "aarch64-pc-windows-msvc", ext: "zip" }
61
+ if (platform === 'win32') {
62
+ if (arch === 'x64') return { target: 'x86_64-pc-windows-msvc', ext: 'zip' }
63
+ if (arch === 'arm64')
64
+ return { target: 'aarch64-pc-windows-msvc', ext: 'zip' }
53
65
  throw new Error(`Unsupported Windows arch: ${arch}`)
54
66
  }
55
67
 
56
- if (platform === "linux") {
68
+ if (platform === 'linux') {
57
69
  const isMusl = detectMusl()
58
- if (arch === "x64") {
59
- return { target: "x86_64-unknown-linux-musl", ext: "tar.gz" }
70
+ if (arch === 'x64') {
71
+ return { target: 'x86_64-unknown-linux-musl', ext: 'tar.gz' }
60
72
  }
61
- if (arch === "arm64") {
73
+ if (arch === 'arm64') {
62
74
  return isMusl
63
- ? { target: "aarch64-unknown-linux-musl", ext: "tar.gz" }
64
- : { target: "aarch64-unknown-linux-gnu", ext: "tar.gz" }
75
+ ? { target: 'aarch64-unknown-linux-musl', ext: 'tar.gz' }
76
+ : { target: 'aarch64-unknown-linux-gnu', ext: 'tar.gz' }
65
77
  }
66
78
  throw new Error(`Unsupported Linux arch: ${arch}`)
67
79
  }
@@ -70,7 +82,7 @@ function getPlatformMapping() {
70
82
  }
71
83
 
72
84
  function detectMusl() {
73
- const muslArch = process.arch === "x64" ? "x86_64" : "aarch64"
85
+ const muslArch = process.arch === 'x64' ? 'x86_64' : 'aarch64'
74
86
  try {
75
87
  statSync(`/lib/libc.musl-${muslArch}.so.1`)
76
88
  return true
@@ -82,24 +94,30 @@ function detectMusl() {
82
94
  // --- Paths ---
83
95
 
84
96
  function getVendorDir() {
85
- if (existsSync(path.join(projectRoot, "src"))) {
86
- return path.resolve(projectRoot, "src", "utils", "vendor", "ripgrep")
97
+ if (existsSync(path.join(projectRoot, 'src'))) {
98
+ return path.resolve(projectRoot, 'src', 'utils', 'vendor', 'ripgrep')
87
99
  }
88
- return path.resolve(projectRoot, "dist", "vendor", "ripgrep")
100
+ return path.resolve(projectRoot, 'dist', 'vendor', 'ripgrep')
89
101
  }
90
102
 
91
103
  function getBinaryPath() {
92
104
  const dir = getVendorDir()
93
105
  const subdir = `${process.arch}-${process.platform}`
94
- const binary = process.platform === "win32" ? "rg.exe" : "rg"
106
+ const binary = process.platform === 'win32' ? 'rg.exe' : 'rg'
95
107
  return path.resolve(dir, subdir, binary)
96
108
  }
97
109
 
98
110
  // --- Download helpers ---
99
111
 
100
112
  function proxyEnvSet() {
101
- const v = (s) => (s ?? "").trim()
102
- return !!(v(process.env.HTTPS_PROXY) || v(process.env.HTTP_PROXY) || v(process.env.ALL_PROXY) || v(process.env.https_proxy) || v(process.env.http_proxy))
113
+ const v = s => (s ?? '').trim()
114
+ return !!(
115
+ v(process.env.HTTPS_PROXY) ||
116
+ v(process.env.HTTP_PROXY) ||
117
+ v(process.env.ALL_PROXY) ||
118
+ v(process.env.https_proxy) ||
119
+ v(process.env.http_proxy)
120
+ )
103
121
  }
104
122
 
105
123
  function tryPowerShellDownload(url, dest) {
@@ -107,17 +125,24 @@ function tryPowerShellDownload(url, dest) {
107
125
  const d = dest.replace(/'/g, "''")
108
126
  const cmd = `Invoke-WebRequest -Uri '${u}' -OutFile '${d}' -UseBasicParsing`
109
127
  const result = spawnSync(
110
- "powershell.exe",
111
- ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-Command", cmd],
112
- { stdio: "pipe", windowsHide: true },
128
+ 'powershell.exe',
129
+ [
130
+ '-NoProfile',
131
+ '-NonInteractive',
132
+ '-ExecutionPolicy',
133
+ 'Bypass',
134
+ '-Command',
135
+ cmd,
136
+ ],
137
+ { stdio: 'pipe', windowsHide: true },
113
138
  )
114
139
  return result.status === 0 && existsSync(dest) && statSync(dest).size > 0
115
140
  }
116
141
 
117
142
  function tryCurlDownload(url, dest) {
118
- const curl = process.platform === "win32" ? "curl.exe" : "curl"
119
- const result = spawnSync(curl, ["-fsSL", "-L", "--fail", "-o", dest, url], {
120
- stdio: "pipe",
143
+ const curl = process.platform === 'win32' ? 'curl.exe' : 'curl'
144
+ const result = spawnSync(curl, ['-fsSL', '-L', '--fail', '-o', dest, url], {
145
+ stdio: 'pipe',
121
146
  windowsHide: true,
122
147
  })
123
148
  return result.status === 0 && existsSync(dest) && statSync(dest).size > 0
@@ -126,20 +151,22 @@ function tryCurlDownload(url, dest) {
126
151
  async function fetchRelease(url) {
127
152
  if (proxyEnvSet()) {
128
153
  // Dynamic require so it works in node without bundling issues
129
- const undici = require("undici")
154
+ const undici = require('undici')
130
155
  return await undici.fetch(url, {
131
- redirect: "follow",
156
+ redirect: 'follow',
132
157
  dispatcher: new undici.EnvHttpProxyAgent(),
133
158
  })
134
159
  }
135
160
  // Node 18+ has global fetch, Bun has it too
136
- return await fetch(url, { redirect: "follow" })
161
+ return await fetch(url, { redirect: 'follow' })
137
162
  }
138
163
 
139
164
  async function downloadUrlToBuffer(url) {
140
165
  const response = await fetchRelease(url)
141
166
  if (!response.ok) {
142
- throw new Error(`Download failed: ${response.status} ${response.statusText}`)
167
+ throw new Error(
168
+ `Download failed: ${response.status} ${response.statusText}`,
169
+ )
143
170
  }
144
171
  return Buffer.from(await response.arrayBuffer())
145
172
  }
@@ -152,11 +179,14 @@ async function downloadUrlToBufferWithFallback(url) {
152
179
  firstError = e
153
180
  }
154
181
 
155
- const tmpRoot = path.join(os.tmpdir(), `ripgrep-dl-${process.pid}-${Date.now()}`)
156
- const tmpFile = path.join(tmpRoot, "archive")
182
+ const tmpRoot = path.join(
183
+ os.tmpdir(),
184
+ `ripgrep-dl-${process.pid}-${Date.now()}`,
185
+ )
186
+ const tmpFile = path.join(tmpRoot, 'archive')
157
187
  mkdirSync(tmpRoot, { recursive: true })
158
188
  try {
159
- if (process.platform === "win32" && tryPowerShellDownload(url, tmpFile)) {
189
+ if (process.platform === 'win32' && tryPowerShellDownload(url, tmpFile)) {
160
190
  return readFileSync(tmpFile)
161
191
  }
162
192
  if (tryCurlDownload(url, tmpFile)) {
@@ -172,8 +202,8 @@ async function downloadUrlToBufferWithFallback(url) {
172
202
  // --- Extract ---
173
203
 
174
204
  function findZipEntryKey(files, want) {
175
- return Object.keys(files).find((k) => {
176
- const norm = k.replace(/\\/g, "/")
205
+ return Object.keys(files).find(k => {
206
+ const norm = k.replace(/\\/g, '/')
177
207
  return norm === want || norm.endsWith(`/${want}`)
178
208
  })
179
209
  }
@@ -183,7 +213,7 @@ async function extractZip(buffer, binaryPath, extractedBinary) {
183
213
  // Try fflate first (bundled dep)
184
214
  let fflateError
185
215
  try {
186
- const { unzipSync } = require("fflate")
216
+ const { unzipSync } = require('fflate')
187
217
  const unzipped = unzipSync(new Uint8Array(buffer))
188
218
  const key = findZipEntryKey(unzipped, extractedBinary)
189
219
  if (!key) {
@@ -196,7 +226,7 @@ async function extractZip(buffer, binaryPath, extractedBinary) {
196
226
  }
197
227
 
198
228
  // Fallback: PowerShell Expand-Archive or unzip CLI
199
- const tmpDir = path.join(binaryDir, ".tmp-download")
229
+ const tmpDir = path.join(binaryDir, '.tmp-download')
200
230
  rmSync(tmpDir, { recursive: true, force: true })
201
231
  mkdirSync(tmpDir, { recursive: true })
202
232
  try {
@@ -205,12 +235,19 @@ async function extractZip(buffer, binaryPath, extractedBinary) {
205
235
  writeFileSync(archivePath, buffer)
206
236
 
207
237
  let extracted = false
208
- if (process.platform === "win32") {
238
+ if (process.platform === 'win32') {
209
239
  const psCmd = `Expand-Archive -Path '${archivePath.replace(/'/g, "''")}' -DestinationPath '${tmpDir.replace(/'/g, "''")}' -Force`
210
240
  const psResult = spawnSync(
211
- "powershell.exe",
212
- ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-Command", psCmd],
213
- { stdio: "pipe", windowsHide: true },
241
+ 'powershell.exe',
242
+ [
243
+ '-NoProfile',
244
+ '-NonInteractive',
245
+ '-ExecutionPolicy',
246
+ 'Bypass',
247
+ '-Command',
248
+ psCmd,
249
+ ],
250
+ { stdio: 'pipe', windowsHide: true },
214
251
  )
215
252
  if (psResult.status === 0) {
216
253
  extracted = true
@@ -218,11 +255,18 @@ async function extractZip(buffer, binaryPath, extractedBinary) {
218
255
  }
219
256
 
220
257
  if (!extracted) {
221
- const result = spawnSync("unzip", ["-o", archivePath, "-d", tmpDir], { stdio: "pipe" })
258
+ const result = spawnSync('unzip', ['-o', archivePath, '-d', tmpDir], {
259
+ stdio: 'pipe',
260
+ })
222
261
  if (result.status !== 0) {
223
- const unzipErr = result.stderr?.toString().trim() || "command not found"
224
- const fflateMsg = fflateError instanceof Error ? fflateError.message : String(fflateError)
225
- throw new Error(`zip extraction failed (fflate: ${fflateMsg}; unzip: ${unzipErr})`)
262
+ const unzipErr = result.stderr?.toString().trim() || 'command not found'
263
+ const fflateMsg =
264
+ fflateError instanceof Error
265
+ ? fflateError.message
266
+ : String(fflateError)
267
+ throw new Error(
268
+ `zip extraction failed (fflate: ${fflateMsg}; unzip: ${unzipErr})`,
269
+ )
226
270
  }
227
271
  }
228
272
 
@@ -238,13 +282,15 @@ async function extractZip(buffer, binaryPath, extractedBinary) {
238
282
 
239
283
  async function extractTarGz(buffer, binaryPath, extractedBinary, assetName) {
240
284
  const binaryDir = path.dirname(binaryPath)
241
- const tmpDir = path.join(binaryDir, ".tmp-download")
285
+ const tmpDir = path.join(binaryDir, '.tmp-download')
242
286
  rmSync(tmpDir, { recursive: true, force: true })
243
287
  mkdirSync(tmpDir, { recursive: true })
244
288
  try {
245
289
  const archivePath = path.join(tmpDir, assetName)
246
290
  writeFileSync(archivePath, buffer)
247
- const result = spawnSync("tar", ["xzf", archivePath, "-C", tmpDir], { stdio: "pipe" })
291
+ const result = spawnSync('tar', ['xzf', archivePath, '-C', tmpDir], {
292
+ stdio: 'pipe',
293
+ })
248
294
  if (result.status !== 0) {
249
295
  throw new Error(`tar extract failed: ${result.stderr?.toString()}`)
250
296
  }
@@ -267,7 +313,7 @@ async function downloadAndExtract() {
267
313
  const binaryPath = getBinaryPath()
268
314
  const binaryDir = path.dirname(binaryPath)
269
315
 
270
- const force = process.argv.includes("--force")
316
+ const force = process.argv.includes('--force')
271
317
  if (!force && existsSync(binaryPath)) {
272
318
  const stat = statSync(binaryPath)
273
319
  if (stat.size > 0) {
@@ -278,11 +324,11 @@ async function downloadAndExtract() {
278
324
 
279
325
  console.log(`[ripgrep] Downloading v${RG_VERSION} for ${target}...`)
280
326
 
281
- const extractedBinary = process.platform === "win32" ? "rg.exe" : "rg"
327
+ const extractedBinary = process.platform === 'win32' ? 'rg.exe' : 'rg'
282
328
 
283
329
  const mirrors = [RELEASE_BASE]
284
- if (RELEASE_BASE === DEFAULT_RELEASE_BASE.replace(/\/$/, "")) {
285
- mirrors.push(MIRROR_RELEASE_BASE.replace(/\/$/, ""))
330
+ if (RELEASE_BASE === DEFAULT_RELEASE_BASE.replace(/\/$/, '')) {
331
+ mirrors.push(MIRROR_RELEASE_BASE.replace(/\/$/, ''))
286
332
  }
287
333
 
288
334
  let buffer
@@ -294,7 +340,9 @@ async function downloadAndExtract() {
294
340
  buffer = await downloadUrlToBufferWithFallback(url)
295
341
  break
296
342
  } catch (e) {
297
- console.warn(`[ripgrep] Download from ${base} failed: ${e instanceof Error ? e.message : e}`)
343
+ console.warn(
344
+ `[ripgrep] Download from ${base} failed: ${e instanceof Error ? e.message : e}`,
345
+ )
298
346
  lastError = e
299
347
  }
300
348
  }
@@ -307,13 +355,13 @@ async function downloadAndExtract() {
307
355
 
308
356
  mkdirSync(binaryDir, { recursive: true })
309
357
 
310
- if (ext === "tar.gz") {
358
+ if (ext === 'tar.gz') {
311
359
  await extractTarGz(buffer, binaryPath, extractedBinary, assetName)
312
360
  } else {
313
361
  await extractZip(buffer, binaryPath, extractedBinary)
314
362
  }
315
363
 
316
- if (process.platform !== "win32") {
364
+ if (process.platform !== 'win32') {
317
365
  chmodSync(binaryPath, 0o755)
318
366
  }
319
367
 
@@ -321,7 +369,7 @@ async function downloadAndExtract() {
321
369
  } catch (e) {
322
370
  const msg = e instanceof Error ? e.message : String(e)
323
371
  const hint =
324
- "Check network or set HTTPS_PROXY. If GitHub is blocked, set RIPGREP_DOWNLOAD_BASE to a mirror (see script header)."
372
+ 'Check network or set HTTPS_PROXY. If GitHub is blocked, set RIPGREP_DOWNLOAD_BASE to a mirror (see script header).'
325
373
  throw new Error(`${msg} ${hint}`)
326
374
  }
327
375
  }
@@ -330,10 +378,12 @@ async function main() {
330
378
  await downloadAndExtract()
331
379
  }
332
380
 
333
- main().catch((error) => {
381
+ main().catch(error => {
334
382
  const msg = error instanceof Error ? error.message : String(error)
335
383
  console.error(`[postinstall] ripgrep download failed (non-fatal): ${msg}`)
336
- console.error(`[postinstall] You can install ripgrep manually: https://github.com/BurntSushi/ripgrep#installation`)
384
+ console.error(
385
+ `[postinstall] You can install ripgrep manually: https://github.com/BurntSushi/ripgrep#installation`,
386
+ )
337
387
  // Never exit with error code — postinstall must not break install
338
388
  process.exit(0)
339
389
  })
@@ -1,4 +1,4 @@
1
- import { spawn } from "node:child_process"
1
+ import { spawn } from 'node:child_process'
2
2
 
3
3
  const scripts = process.argv.slice(2)
4
4
  if (scripts.length === 0) {
@@ -6,5 +6,5 @@ if (scripts.length === 0) {
6
6
  }
7
7
 
8
8
  for (const script of scripts) {
9
- spawn(process.execPath, [script], { stdio: "inherit", shell: false })
9
+ spawn(process.execPath, [script], { stdio: 'inherit', shell: false })
10
10
  }