autohand-cli 0.8.2 → 0.9.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 (551) hide show
  1. package/README.md +173 -74
  2. package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
  3. package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-XPWSVO3Q.js} +3 -3
  4. package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-APLLPEYJ.js} +32 -18
  5. package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
  7. package/dist/CommunitySkillsCache-ZEQWP6YM.js +8 -0
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-J2BWPXJF.js} +2 -2
  10. package/dist/HookManager-CWLTFKWO.js +7 -0
  11. package/dist/HookManager-TMAJQU4S.cjs +7 -0
  12. package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-MQXEED2U.cjs} +41 -17
  13. package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-QBKQEXDW.js} +35 -11
  14. package/dist/LearnAdvisor-46FG2XIP.js +9 -0
  15. package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
  16. package/dist/McpClientManager-BNSKLHIN.cjs +8 -0
  17. package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-SL35BR24.js} +2 -2
  18. package/dist/MemoryManager-34L4YOKA.cjs +8 -0
  19. package/dist/MemoryManager-WJMLPWGU.js +8 -0
  20. package/dist/NVIDIAProvider-2HR737UE.js +14 -0
  21. package/dist/NVIDIAProvider-MVTL62PR.cjs +14 -0
  22. package/dist/PermissionManager-5OOJ7FAT.cjs +11 -0
  23. package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-KMYILJ4Z.js} +4 -4
  24. package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-CDAE7ECW.cjs} +2 -1
  25. package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-NZTJDRHD.js} +2 -1
  26. package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
  27. package/dist/ProviderFactory-HFPRVQ25.js +11 -0
  28. package/dist/SessionManager-PNBTJJTQ.js +10 -0
  29. package/dist/SessionManager-WAPTFMDO.cjs +10 -0
  30. package/dist/SkillsRegistry-4RRD5GMX.js +9 -0
  31. package/dist/SkillsRegistry-7AJP74GJ.cjs +9 -0
  32. package/dist/SubAgent-FDIH3DXB.js +11 -0
  33. package/dist/SubAgent-HVL2ICVZ.cjs +11 -0
  34. package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-LRPFNCKJ.js} +2 -2
  35. package/dist/SyncApiClient-VMBOLQ6H.cjs +11 -0
  36. package/dist/about-BW3PDZUU.js +14 -0
  37. package/dist/about-FCAX37YC.cjs +14 -0
  38. package/dist/acp-EOETGAHC.cjs +1517 -0
  39. package/dist/acp-VHEL7BOW.js +1517 -0
  40. package/dist/actionExecutor-33I47NZS.js +24 -0
  41. package/dist/actionExecutor-4YBMR3YH.cjs +24 -0
  42. package/dist/add-dir-7SS6KSH5.cjs +11 -0
  43. package/dist/add-dir-VFX7QT4E.js +11 -0
  44. package/dist/agent-DMRUFU4M.cjs +116 -0
  45. package/dist/agent-WCJEYQJT.js +116 -0
  46. package/dist/agents/builtin/code-cleaner.md +1 -1
  47. package/dist/agents/builtin/docs-writer.md +1 -1
  48. package/dist/agents/builtin/researcher.md +2 -2
  49. package/dist/agents/builtin/reviewer.md +1 -1
  50. package/dist/agents/builtin/tester.md +1 -1
  51. package/dist/agents/builtin/todo-resolver.md +1 -1
  52. package/dist/agents-CHROO3VU.cjs +17 -0
  53. package/dist/agents-UVDUL65K.js +17 -0
  54. package/dist/agents-new-AUBWSOXP.js +17 -0
  55. package/dist/agents-new-Y562WC47.cjs +17 -0
  56. package/dist/{autoSkill-6TGBTEQD.js → autoSkill-EFMK6WU6.js} +3 -3
  57. package/dist/autoSkill-YOLLFTP2.cjs +20 -0
  58. package/dist/automode-BMYSRM34.js +10 -0
  59. package/dist/automode-DBLKTTKD.cjs +10 -0
  60. package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
  61. package/dist/browserToolBridge-F5N66PE7.js +58 -0
  62. package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
  63. package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
  64. package/dist/chrome-ATC4OO5I.cjs +20 -0
  65. package/dist/chrome-NHJ44WUN.js +50 -0
  66. package/dist/chrome-O62WXV7F.js +20 -0
  67. package/dist/chrome-XHJLCO4M.cjs +50 -0
  68. package/dist/chromeSkill-53TH55PM.js +105 -0
  69. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  70. package/dist/{chunk-HOAHWIQ5.cjs → chunk-2CGE7ZV3.cjs} +26 -26
  71. package/dist/chunk-2H5O745H.js +63 -0
  72. package/dist/chunk-2HOLOHVK.js +2219 -0
  73. package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
  74. package/dist/{chunk-PGRH5Q77.cjs → chunk-2VHB43IX.cjs} +35 -6
  75. package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
  76. package/dist/{chunk-6HYLHBQG.cjs → chunk-3DDL2E55.cjs} +20 -16
  77. package/dist/chunk-3EDDDZS2.cjs +5 -0
  78. package/dist/{chunk-6OYHF6MF.js → chunk-3GUEUCZK.js} +28 -4
  79. package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
  80. package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
  81. package/dist/chunk-3LJJG5YY.cjs +387 -0
  82. package/dist/chunk-3OF56EMA.cjs +197 -0
  83. package/dist/chunk-3PXKRVCW.js +108 -0
  84. package/dist/{chunk-IKGWDOGU.cjs → chunk-3S563FNF.cjs} +160 -79
  85. package/dist/chunk-3UT7R3XV.js +663 -0
  86. package/dist/chunk-4256YRCO.cjs +80 -0
  87. package/dist/chunk-46C73ZKK.cjs +663 -0
  88. package/dist/chunk-46MTALKD.js +44 -0
  89. package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
  90. package/dist/chunk-4LMUDS2K.js +124 -0
  91. package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
  92. package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
  93. package/dist/chunk-5JFTY3VU.js +74 -0
  94. package/dist/chunk-5JTTM5SC.js +59 -0
  95. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  96. package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
  97. package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
  98. package/dist/{chunk-MSED7RH2.cjs → chunk-6GUODJKM.cjs} +112 -41
  99. package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
  100. package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
  101. package/dist/chunk-6R25D2H5.js +121 -0
  102. package/dist/{chunk-3PCTTUNW.cjs → chunk-6XVVIY54.cjs} +55 -25
  103. package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
  104. package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
  105. package/dist/chunk-7JLT2VNW.cjs +18963 -0
  106. package/dist/chunk-7LWQCE4Y.cjs +987 -0
  107. package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
  108. package/dist/{chunk-HLQV64Y5.js → chunk-7RFJB75Y.js} +140 -59
  109. package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
  110. package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
  111. package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
  112. package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
  113. package/dist/chunk-ARBEHFCG.js +715 -0
  114. package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
  115. package/dist/chunk-AU6JAGZJ.cjs +231 -0
  116. package/dist/chunk-AUFNACED.js +18963 -0
  117. package/dist/{chunk-CDBPBM2K.cjs → chunk-AUYSIEVV.cjs} +3 -3
  118. package/dist/chunk-B4HSNOIH.cjs +354 -0
  119. package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
  120. package/dist/{chunk-34M3HWLR.js → chunk-BFQDQRDE.js} +2 -2
  121. package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
  122. package/dist/{chunk-LNMYK2F5.cjs → chunk-BQ22N3TX.cjs} +56 -41
  123. package/dist/chunk-BQU3HAE7.js +21 -0
  124. package/dist/chunk-BWF4VDYE.js +3897 -0
  125. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  126. package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
  127. package/dist/chunk-CCVMREXI.js +420 -0
  128. package/dist/chunk-CFAWTLSC.js +13 -0
  129. package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
  130. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
  131. package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
  132. package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
  133. package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
  134. package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
  135. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  136. package/dist/chunk-DEQVRSV5.cjs +866 -0
  137. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  138. package/dist/{chunk-WM5PAOTQ.cjs → chunk-DIZTWFVR.cjs} +1649 -484
  139. package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
  140. package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
  141. package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
  142. package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
  143. package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
  144. package/dist/{chunk-J4Q7XR3G.js → chunk-E46DJH5S.js} +3 -3
  145. package/dist/{chunk-Q7XSCYND.cjs → chunk-E6GFD7VR.cjs} +49 -26
  146. package/dist/chunk-ES2HJQ4N.js +37 -0
  147. package/dist/chunk-EZJHLOWP.js +80 -0
  148. package/dist/chunk-FFBDRUO5.cjs +59 -0
  149. package/dist/{chunk-AYSFIUFW.js → chunk-FGT6KK6T.js} +38 -15
  150. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  151. package/dist/{chunk-DSPQEHDT.js → chunk-FQAVGSPW.js} +2 -2
  152. package/dist/chunk-FQVG6ZHF.js +197 -0
  153. package/dist/chunk-GBMDFWJX.cjs +152 -0
  154. package/dist/{chunk-DRE2RXBZ.js → chunk-GGLKUENP.js} +1605 -440
  155. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  156. package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
  157. package/dist/chunk-GWY26SUD.cjs +63 -0
  158. package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
  159. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  160. package/dist/chunk-HDK2EHVH.cjs +570 -0
  161. package/dist/chunk-HJIXWGQZ.js +139 -0
  162. package/dist/{chunk-6RF7UKUS.js → chunk-HKYZSUQ5.js} +48 -47
  163. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  164. package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
  165. package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
  166. package/dist/chunk-HSCUPEA4.cjs +3897 -0
  167. package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
  168. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  169. package/dist/{chunk-SCXX4LW5.js → chunk-I24CWKKK.js} +15 -8
  170. package/dist/chunk-IAGCRVJ3.js +355 -0
  171. package/dist/chunk-IEXKKKOF.cjs +92 -0
  172. package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
  173. package/dist/chunk-IKUMVBCW.cjs +33 -0
  174. package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
  175. package/dist/{chunk-O4IF4NJT.cjs → chunk-J5ADZN6V.cjs} +57 -56
  176. package/dist/chunk-J5HE6CUM.cjs +124 -0
  177. package/dist/{chunk-JS7IPR7P.js → chunk-JAQO6XDB.js} +31 -2
  178. package/dist/chunk-JIMSII7R.js +987 -0
  179. package/dist/chunk-JJ4KA7HK.cjs +2219 -0
  180. package/dist/chunk-JMN3GZU6.js +570 -0
  181. package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
  182. package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
  183. package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
  184. package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
  185. package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
  186. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  187. package/dist/chunk-LJD7KR3L.cjs +44 -0
  188. package/dist/chunk-LN7D3EJZ.js +387 -0
  189. package/dist/{chunk-643VRA5S.cjs → chunk-LQBONA55.cjs} +32 -8
  190. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  191. package/dist/chunk-M4KNC5BQ.js +78 -0
  192. package/dist/chunk-MO4KP6XS.cjs +229 -0
  193. package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
  194. package/dist/chunk-MPULXVC4.cjs +715 -0
  195. package/dist/{chunk-X5YJ34FZ.cjs → chunk-MQESBFBZ.cjs} +46 -23
  196. package/dist/chunk-MUNUUFU7.cjs +21 -0
  197. package/dist/{chunk-X3WS5LDG.js → chunk-MX75JYIY.js} +7 -5
  198. package/dist/chunk-MXVIDIC6.cjs +139 -0
  199. package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
  200. package/dist/{chunk-IVM5F2AE.js → chunk-NBGOIFKP.js} +265 -18
  201. package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
  202. package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
  203. package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
  204. package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
  205. package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
  206. package/dist/{chunk-MAKMSQMQ.cjs → chunk-OPNI6O7F.cjs} +8 -6
  207. package/dist/chunk-OR67YXQK.cjs +13 -0
  208. package/dist/{chunk-QOXPOR5D.js → chunk-OV3PVUYN.js} +115 -44
  209. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  210. package/dist/chunk-PCM3N3CL.cjs +37 -0
  211. package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
  212. package/dist/{chunk-LA7H35XM.cjs → chunk-PHJO5YAL.cjs} +9 -9
  213. package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
  214. package/dist/chunk-PUD76XQT.cjs +78 -0
  215. package/dist/chunk-Q2IL4DDI.cjs +355 -0
  216. package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
  217. package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
  218. package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
  219. package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
  220. package/dist/chunk-QKP772OZ.js +4291 -0
  221. package/dist/chunk-QQ7PANOP.js +59 -0
  222. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  223. package/dist/chunk-RAKO7UN7.js +114 -0
  224. package/dist/chunk-RBHANOYY.js +33 -0
  225. package/dist/chunk-RBZ7AFX7.cjs +29 -0
  226. package/dist/{chunk-TXSDBGKX.cjs → chunk-REMGR23V.cjs} +46 -49
  227. package/dist/chunk-ROLA6EFO.cjs +85 -0
  228. package/dist/{chunk-TBEGGJNC.cjs → chunk-SOLBYSLY.cjs} +33 -16
  229. package/dist/{chunk-FKSDEWDH.js → chunk-SWCQM52V.js} +68 -25
  230. package/dist/{chunk-H5SWOLG6.js → chunk-TBOLJDUG.js} +39 -24
  231. package/dist/chunk-TH26BQJG.js +101 -0
  232. package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
  233. package/dist/chunk-TKKN34TV.js +229 -0
  234. package/dist/chunk-TQ33WBY5.cjs +74 -0
  235. package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
  236. package/dist/{chunk-OGV4WJ5L.cjs → chunk-TXPSTCG7.cjs} +74 -59
  237. package/dist/{chunk-CAMZTXV6.js → chunk-U4C3HW6P.js} +67 -52
  238. package/dist/{chunk-5P2NXKP3.js → chunk-UEIXJG45.js} +104 -76
  239. package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
  240. package/dist/chunk-UOQECODR.js +34 -0
  241. package/dist/chunk-UR27UDTB.js +354 -0
  242. package/dist/chunk-UWFG2R2I.cjs +420 -0
  243. package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
  244. package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
  245. package/dist/{chunk-JX3DFKBI.js → chunk-VDWJMWDF.js} +54 -24
  246. package/dist/{chunk-LENHP55G.cjs → chunk-VGEV44V2.cjs} +1076 -158
  247. package/dist/{chunk-33RSHBDH.js → chunk-VKBIE6I6.js} +38 -7
  248. package/dist/{chunk-CWMZKFTT.js → chunk-VRMZO6TB.js} +31 -8
  249. package/dist/chunk-VUGOOGHB.js +400 -0
  250. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  251. package/dist/chunk-WGLBC5AY.cjs +59 -0
  252. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  253. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  254. package/dist/chunk-WRTXCQ3V.cjs +4291 -0
  255. package/dist/chunk-WTB7AFL6.cjs +101 -0
  256. package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
  257. package/dist/chunk-XF2WIKHR.cjs +34 -0
  258. package/dist/{chunk-L3WAH3EM.cjs → chunk-XGMI6IYB.cjs} +46 -15
  259. package/dist/{chunk-FW774QXH.js → chunk-XIVFAD2L.js} +1048 -130
  260. package/dist/chunk-XV2HXRHX.js +85 -0
  261. package/dist/{chunk-72FKPBT5.js → chunk-Y3M2DABP.js} +16 -12
  262. package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
  263. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  264. package/dist/{chunk-RD5XAJR2.cjs → chunk-YWTIXHU6.cjs} +266 -19
  265. package/dist/chunk-YZWE7XSM.js +5 -0
  266. package/dist/{chunk-I5IW3T2Y.js → chunk-Z3XSSF7B.js} +32 -15
  267. package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
  268. package/dist/chunk-ZASDSY7P.cjs +114 -0
  269. package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
  270. package/dist/chunk-ZPD2AO3U.js +866 -0
  271. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  272. package/dist/chunk-ZR46OJNZ.js +152 -0
  273. package/dist/{chunk-G3V4SFET.cjs → chunk-ZZ63NW7A.cjs} +78 -35
  274. package/dist/clear-33TWQ2ES.cjs +12 -0
  275. package/dist/clear-OFLFQ3MR.js +12 -0
  276. package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-COB2KTOW.js} +9 -6
  277. package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
  278. package/dist/completion-IIZMHXYP.cjs +17 -0
  279. package/dist/completion-PT4VM2H2.js +17 -0
  280. package/dist/config-KL6WU7R2.cjs +20 -0
  281. package/dist/{config-ZN66VXPS.js → config-R4O7GBTY.js} +7 -5
  282. package/dist/{constants-UFM5B232.js → constants-HVCHVQAF.js} +2 -2
  283. package/dist/constants-RLMJ5D5P.cjs +21 -0
  284. package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-2V2CQL63.cjs} +26 -11
  285. package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-TMHDU3FS.js} +26 -11
  286. package/dist/export-3PK3VFCE.js +15 -0
  287. package/dist/export-WLGNWEMJ.cjs +15 -0
  288. package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
  289. package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
  290. package/dist/feedback-G635NCLJ.js +18 -0
  291. package/dist/feedback-LLMK3TZH.cjs +18 -0
  292. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  293. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  294. package/dist/filesystem-L6DQKGWK.js +11 -0
  295. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  296. package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
  297. package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
  298. package/dist/help-BAXLP2M2.cjs +12 -0
  299. package/dist/{help-2BLR7L43.js → help-X3OAZ3CY.js} +3 -3
  300. package/dist/history-6HOJSEMT.cjs +14 -0
  301. package/dist/{history-5FZ3M2AK.js → history-YKFPHBJN.js} +3 -3
  302. package/dist/hooks-7TA4PIIB.js +18 -0
  303. package/dist/hooks-XVFU67T2.cjs +18 -0
  304. package/dist/{i18n-K7QOWIBH.js → i18n-2KBUU7XL.js} +2 -2
  305. package/dist/i18n-MUJMKTFM.cjs +33 -0
  306. package/dist/ide-CCQ33PGC.cjs +15 -0
  307. package/dist/ide-VLVFBZ5F.js +15 -0
  308. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  309. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  310. package/dist/{import-UXM3VK7B.js → import-4CHYLS4K.js} +4 -4
  311. package/dist/{import-QEME3E4T.cjs → import-I7T4ZHYL.cjs} +4 -4
  312. package/dist/import-J46F54JY.cjs +10 -0
  313. package/dist/import-JWPYKXCZ.js +10 -0
  314. package/dist/index.cjs +747 -22356
  315. package/dist/index.d.cts +93 -0
  316. package/dist/index.d.ts +93 -0
  317. package/dist/index.js +786 -22395
  318. package/dist/init-262MWZV4.js +10 -0
  319. package/dist/init-EE5Y7RBL.cjs +10 -0
  320. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  321. package/dist/inkMode-WBNFOSAT.js +7 -0
  322. package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
  323. package/dist/inputPrompt-YGBHDUEP.js +90 -0
  324. package/dist/language-CVLPB7OV.js +21 -0
  325. package/dist/language-ZTWFHUSV.cjs +21 -0
  326. package/dist/learn-PON7I5QS.js +23 -0
  327. package/dist/learn-XLRSVNA3.cjs +23 -0
  328. package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
  329. package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
  330. package/dist/login-223QTGBG.cjs +26 -0
  331. package/dist/login-6IKTBUBY.js +26 -0
  332. package/dist/logout-RN2AG6SI.js +23 -0
  333. package/dist/logout-U3M4FFX7.cjs +23 -0
  334. package/dist/mcp-5O6PUL4G.js +20 -0
  335. package/dist/mcp-NUQ76QQB.cjs +20 -0
  336. package/dist/{mcp-install-VESN42PI.js → mcp-install-6XWXLFVY.js} +18 -11
  337. package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-P6DHES7V.cjs} +22 -15
  338. package/dist/memory-CYMDQ2YC.cjs +10 -0
  339. package/dist/memory-Q54CESNM.js +10 -0
  340. package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
  341. package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
  342. package/dist/model-6AJ77PJG.js +10 -0
  343. package/dist/model-IDRCKDML.cjs +10 -0
  344. package/dist/new-7LEWOUF2.cjs +12 -0
  345. package/dist/new-ZXHEWC2S.js +12 -0
  346. package/dist/onboarding-FXX7YHSJ.cjs +35 -0
  347. package/dist/onboarding-JYNMK6NI.js +35 -0
  348. package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
  349. package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
  350. package/dist/permissions-YBNSANIA.cjs +10 -0
  351. package/dist/permissions-YHJMVA6L.js +10 -0
  352. package/dist/plan-XEJMOT55.cjs +13 -0
  353. package/dist/plan-YYUAXPTL.js +13 -0
  354. package/dist/pr-review-CW6J7P62.cjs +9 -0
  355. package/dist/pr-review-YZSBQVT2.js +9 -0
  356. package/dist/quit-B43SJ6E4.cjs +10 -0
  357. package/dist/quit-GWTNHQSP.js +10 -0
  358. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  359. package/dist/rawMode-GFNLXQPU.js +7 -0
  360. package/dist/{registry-KWZGYJC2.js → registry-34GL6BNJ.js} +30 -45
  361. package/dist/{registry-YN4FQPOO.cjs → registry-V24W7YK6.cjs} +66 -81
  362. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  363. package/dist/repeat-RALE6AUO.js +17 -0
  364. package/dist/resume-DYVOQN5L.cjs +16 -0
  365. package/dist/resume-M25UQKOX.js +16 -0
  366. package/dist/review-QHP2KP4Q.js +9 -0
  367. package/dist/review-UWHWQHCB.cjs +9 -0
  368. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  369. package/dist/ripgrep-VHJQQ55W.js +9 -0
  370. package/dist/rpc-NPS3PU4O.cjs +3730 -0
  371. package/dist/rpc-S3DGW6KV.js +3730 -0
  372. package/dist/search-CPX4PWHP.js +20 -0
  373. package/dist/search-VUF3M4N3.cjs +20 -0
  374. package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
  375. package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
  376. package/dist/sessions-IYAXMK23.js +10 -0
  377. package/dist/sessions-JODKER5D.cjs +10 -0
  378. package/dist/settings-55BNW6BF.js +33 -0
  379. package/dist/settings-BKTS7OMC.cjs +33 -0
  380. package/dist/setup-IRC5HQG2.js +29 -0
  381. package/dist/setup-MMQ7TWOP.cjs +29 -0
  382. package/dist/share-6JRQECAH.cjs +17 -0
  383. package/dist/share-YM5MJKMO.js +17 -0
  384. package/dist/{skills-FYY6F2WV.cjs → skills-GGMZOVIE.cjs} +14 -11
  385. package/dist/skills-LWSOKOSH.cjs +29 -0
  386. package/dist/{skills-6OL4OSGA.js → skills-MVIZNHT4.js} +13 -10
  387. package/dist/skills-VWOMV3CR.js +29 -0
  388. package/dist/{skills-install-6CSWC24P.js → skills-install-QBA5RCV6.js} +22 -71
  389. package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-VTAMCNNY.cjs} +35 -84
  390. package/dist/skills-new-GPL46YV2.js +18 -0
  391. package/dist/skills-new-L5BEZN5V.cjs +18 -0
  392. package/dist/slashCommands-FBPCIWM5.cjs +95 -0
  393. package/dist/slashCommands-FCWY5DXW.js +95 -0
  394. package/dist/status-3B5SDZPL.js +17 -0
  395. package/dist/status-TTGRF6NC.cjs +17 -0
  396. package/dist/summarizer-DGPHE5IQ.js +17 -0
  397. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  398. package/dist/sync-77CXVVTK.cjs +21 -0
  399. package/dist/{sync-KWX67OUN.js → sync-7BILIQHP.js} +4 -4
  400. package/dist/sync-7OKF6636.js +21 -0
  401. package/dist/sync-EH4K5U3N.cjs +40 -0
  402. package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
  403. package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
  404. package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
  405. package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
  406. package/dist/{teammate-L6EZQ3I2.js → teammate-GZQSCIMS.js} +29 -8
  407. package/dist/{teammate-2KMKJXAM.cjs → teammate-J6PHGL23.cjs} +30 -9
  408. package/dist/theme-64BYGJ57.cjs +21 -0
  409. package/dist/theme-YJE6HEON.js +21 -0
  410. package/dist/tools-3PPTTKFV.js +9 -0
  411. package/dist/tools-THIQA7WC.cjs +9 -0
  412. package/dist/ui/questionModal.cjs +9 -6
  413. package/dist/ui/questionModal.js +8 -5
  414. package/dist/undo-PRTEGL2J.cjs +10 -0
  415. package/dist/undo-SZEHLX7X.js +10 -0
  416. package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
  417. package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
  418. package/dist/web-3BA2WV37.cjs +37 -0
  419. package/dist/web-6FYGBX5K.js +37 -0
  420. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  421. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  422. package/dist/yolo-GF2YD7ZI.js +9 -0
  423. package/dist/yolo-OGDA7HNC.cjs +9 -0
  424. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  425. package/dist/yoloMode-4JOOSU26.js +17 -0
  426. package/package.json +46 -49
  427. package/dist/AgentRegistry-NQCLWABO.cjs +0 -10
  428. package/dist/CommunitySkillsCache-6QPRMTJO.js +0 -8
  429. package/dist/CommunitySkillsCache-GTQMOCCO.cjs +0 -8
  430. package/dist/GitHubRegistryFetcher-S7QFUEKV.cjs +0 -7
  431. package/dist/HookManager-Q2KYMCP4.cjs +0 -7
  432. package/dist/HookManager-TTP4Y6DC.js +0 -7
  433. package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
  434. package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
  435. package/dist/McpClientManager-RKD7C6OY.cjs +0 -8
  436. package/dist/MemoryManager-GUNLRP5S.js +0 -8
  437. package/dist/MemoryManager-TNSGKDKX.cjs +0 -8
  438. package/dist/PermissionManager-KMN53FJP.cjs +0 -11
  439. package/dist/ProviderFactory-MR5B23QJ.js +0 -9
  440. package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
  441. package/dist/SessionManager-FEUAU3ZJ.cjs +0 -10
  442. package/dist/SessionManager-IKWAK2PI.js +0 -10
  443. package/dist/SkillsRegistry-KPQFTRIT.cjs +0 -9
  444. package/dist/SkillsRegistry-XJSKPDF2.js +0 -9
  445. package/dist/SubAgent-NYH6GWQ3.js +0 -11
  446. package/dist/SubAgent-PZKBDUBA.cjs +0 -11
  447. package/dist/SyncApiClient-ZNYMT36M.cjs +0 -11
  448. package/dist/about-HHTF2YFL.js +0 -12
  449. package/dist/about-JGRVNNQC.cjs +0 -12
  450. package/dist/actionExecutor-U6IBN2TU.cjs +0 -19
  451. package/dist/actionExecutor-XT5FW3W6.js +0 -19
  452. package/dist/add-dir-247K3XRY.js +0 -10
  453. package/dist/add-dir-GS4DXKKH.cjs +0 -10
  454. package/dist/agents-R6ZEFTVR.cjs +0 -12
  455. package/dist/agents-WJPQWQF2.js +0 -12
  456. package/dist/agents-new-HKVEIBDJ.js +0 -14
  457. package/dist/agents-new-X6GTHIO6.cjs +0 -14
  458. package/dist/autoSkill-H4T6VVDA.cjs +0 -20
  459. package/dist/automode-BC6NVECO.js +0 -10
  460. package/dist/automode-WN2RSOGW.cjs +0 -10
  461. package/dist/chunk-33A755XB.cjs +0 -168
  462. package/dist/chunk-3OTU3RS3.cjs +0 -1607
  463. package/dist/chunk-4PKF7WPD.js +0 -100
  464. package/dist/chunk-ALYU6VTM.js +0 -105
  465. package/dist/chunk-AS6RTLN7.cjs +0 -203
  466. package/dist/chunk-BWN2CLLM.cjs +0 -298
  467. package/dist/chunk-HQ7YZKXE.js +0 -168
  468. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  469. package/dist/chunk-J6QET7EF.cjs +0 -454
  470. package/dist/chunk-LWUJFGOZ.js +0 -115
  471. package/dist/chunk-P47WPOXN.js +0 -298
  472. package/dist/chunk-PRRCJFU3.cjs +0 -85
  473. package/dist/chunk-RO6WYEWH.js +0 -454
  474. package/dist/chunk-SYVYLZZF.cjs +0 -24
  475. package/dist/chunk-T73IDKDF.js +0 -111
  476. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  477. package/dist/chunk-ZQE72E6W.cjs +0 -100
  478. package/dist/chunk-ZVY2XD6T.js +0 -1607
  479. package/dist/clear-UO4MNWZW.cjs +0 -12
  480. package/dist/clear-ZJ5NYP6E.js +0 -12
  481. package/dist/communityInstaller-PVSOFDZD.cjs +0 -19
  482. package/dist/completion-MMF2PN2H.js +0 -14
  483. package/dist/completion-UI5WKHXI.cjs +0 -14
  484. package/dist/config-E7RINK4R.cjs +0 -18
  485. package/dist/constants-6CPCJ3DY.cjs +0 -21
  486. package/dist/export-N4XIVDSL.cjs +0 -12
  487. package/dist/export-W22L4D5C.js +0 -12
  488. package/dist/feedback-DR6ADSNE.cjs +0 -15
  489. package/dist/feedback-FEEAP4QW.js +0 -15
  490. package/dist/filesystem-3SGCW2BF.js +0 -10
  491. package/dist/filesystem-MCFXJQ6R.cjs +0 -10
  492. package/dist/help-AQHGTS7P.cjs +0 -12
  493. package/dist/history-NIUDRMKA.cjs +0 -14
  494. package/dist/hooks-2EY4IPKV.js +0 -13
  495. package/dist/hooks-LJVORRIG.cjs +0 -13
  496. package/dist/i18n-ARDG2SMC.cjs +0 -33
  497. package/dist/ide-GFW6IJHD.js +0 -12
  498. package/dist/ide-N2ZNSSB3.cjs +0 -12
  499. package/dist/import-DFVN3KNZ.js +0 -10
  500. package/dist/import-ZS6DPGU5.cjs +0 -10
  501. package/dist/init-PY75HA3S.cjs +0 -10
  502. package/dist/init-QNMWLAVY.js +0 -10
  503. package/dist/language-5UE4G2BT.cjs +0 -18
  504. package/dist/language-UXMHEZUJ.js +0 -18
  505. package/dist/learn-HJ3FLNZC.cjs +0 -20
  506. package/dist/learn-MVYS3RU5.js +0 -20
  507. package/dist/localProjectPermissions-N77HA3XK.js +0 -18
  508. package/dist/localProjectPermissions-UFSMNTBJ.cjs +0 -18
  509. package/dist/login-DSE7H63A.js +0 -20
  510. package/dist/login-V3MEWPKN.cjs +0 -20
  511. package/dist/logout-BMVCLKKW.js +0 -18
  512. package/dist/logout-XEG7FHOZ.cjs +0 -18
  513. package/dist/mcp-PYUR4PHO.js +0 -18
  514. package/dist/mcp-SG6JFLGC.cjs +0 -18
  515. package/dist/memory-4ZMMEZ2Z.js +0 -10
  516. package/dist/memory-QSGMVVGH.cjs +0 -10
  517. package/dist/model-NANLBZ4Z.cjs +0 -10
  518. package/dist/model-ZXNV4AF7.js +0 -10
  519. package/dist/new-5QJY5JP2.js +0 -12
  520. package/dist/new-PMMG55UX.cjs +0 -12
  521. package/dist/permissions-LECTCJ4H.cjs +0 -13
  522. package/dist/permissions-VP5VGIBL.js +0 -13
  523. package/dist/plan-G5CEKJI4.js +0 -11
  524. package/dist/plan-QKOHE3LH.cjs +0 -11
  525. package/dist/quit-BKOOPHU5.cjs +0 -10
  526. package/dist/quit-FVFNYACP.js +0 -10
  527. package/dist/resume-EXFQSQPH.js +0 -13
  528. package/dist/resume-PP2IQM5S.cjs +0 -13
  529. package/dist/search-C56FBN67.cjs +0 -17
  530. package/dist/search-XGZDYBF4.js +0 -17
  531. package/dist/sessions-54KI3F2Q.js +0 -10
  532. package/dist/sessions-DDTSPNVW.cjs +0 -10
  533. package/dist/settings-BDO37TTO.cjs +0 -30
  534. package/dist/settings-FHRDFPLK.js +0 -30
  535. package/dist/share-IERCTBGN.cjs +0 -14
  536. package/dist/share-TGROUE6R.js +0 -14
  537. package/dist/skills-OM4IGBAA.cjs +0 -26
  538. package/dist/skills-S3GRN323.js +0 -26
  539. package/dist/skills-new-ALD2PTHN.js +0 -15
  540. package/dist/skills-new-PWLKK7GW.cjs +0 -15
  541. package/dist/slashCommands-L4ZD33LJ.js +0 -75
  542. package/dist/slashCommands-YY2VUUDF.cjs +0 -75
  543. package/dist/status-3PC5XWSS.cjs +0 -11
  544. package/dist/status-KCLVOYPD.js +0 -11
  545. package/dist/sync-6SDWG5RK.js +0 -18
  546. package/dist/sync-7JMZVEQD.cjs +0 -40
  547. package/dist/sync-WHURZL3U.cjs +0 -18
  548. package/dist/theme-BE5A4FPN.cjs +0 -18
  549. package/dist/theme-YMFCQP7J.js +0 -18
  550. package/dist/undo-KZHUUZTD.cjs +0 -10
  551. package/dist/undo-NEIEHQVX.js +0 -10
@@ -1,33 +1,33 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
3
+ var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
4
4
 
5
5
 
6
- var _chunkBWN2CLLMcjs = require('./chunk-BWN2CLLM.cjs');
6
+ var _chunk46C73ZKKcjs = require('./chunk-46C73ZKK.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
11
 
12
- var _chunkRD5XAJR2cjs = require('./chunk-RD5XAJR2.cjs');
12
+ var _chunkYWTIXHU6cjs = require('./chunk-YWTIXHU6.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkPGRH5Q77cjs = require('./chunk-PGRH5Q77.cjs');
16
+ var _chunk2VHB43IXcjs = require('./chunk-2VHB43IX.cjs');
17
17
 
18
18
 
19
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
19
+ var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
20
20
 
21
21
  // src/commands/theme.ts
22
22
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
23
23
  async function theme(ctx) {
24
- const themes = _chunkRD5XAJR2cjs.listAvailableThemes.call(void 0, );
25
- const currentTheme = _chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, ) ? _chunkPGRH5Q77cjs.getTheme.call(void 0, ).name : _optionalChain([ctx, 'access', _ => _.config, 'access', _2 => _2.ui, 'optionalAccess', _3 => _3.theme]) || "dark";
24
+ const themes = _chunkYWTIXHU6cjs.listAvailableThemes.call(void 0, );
25
+ const currentTheme = _chunk2VHB43IXcjs.isThemeInitialized.call(void 0, ) ? _chunk2VHB43IXcjs.getTheme.call(void 0, ).name : _optionalChain([ctx, 'access', _ => _.config, 'access', _2 => _2.ui, 'optionalAccess', _3 => _3.theme]) || "dark";
26
26
  console.log(_chalk2.default.cyan(`
27
- \u{1F3A8} ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.title")}
27
+ \u{1F3A8} ${_chunkCHI52KFRcjs.t.call(void 0, "commands.theme.title")}
28
28
  `));
29
- console.log(_chalk2.default.gray(_chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.currentTheme", { theme: _chalk2.default.white(currentTheme) })));
30
- console.log(_chalk2.default.gray(`Custom themes location: ${_chunkRD5XAJR2cjs.CUSTOM_THEMES_DIR}
29
+ console.log(_chalk2.default.gray(_chunkCHI52KFRcjs.t.call(void 0, "commands.theme.currentTheme", { theme: _chalk2.default.white(currentTheme) })));
30
+ console.log(_chalk2.default.gray(`Custom themes location: ${_chunkYWTIXHU6cjs.CUSTOM_THEMES_DIR}
31
31
  `));
32
32
  const descriptions = {
33
33
  // Built-in
@@ -37,6 +37,9 @@ async function theme(ctx) {
37
37
  sandy: "Warm, earthy desert tones",
38
38
  tui: "New Zealand-inspired colors",
39
39
  "github-dark": "GitHub Dark terminal palette",
40
+ cappadocia: "Cappadocia-inspired rose valleys, dawn sky, and balloon colors",
41
+ rio: "Rio-inspired blue macaw, rainforest, and beach-light palette",
42
+ australia: "Australian coast, wattle, and eucalyptus palette",
40
43
  // Curated Ghostty themes
41
44
  "Atom One Dark": "Atom editor dark theme",
42
45
  "Ayu Mirage": "Soft dark with warm accents",
@@ -60,14 +63,31 @@ async function theme(ctx) {
60
63
  };
61
64
  const options = themes.map((name) => {
62
65
  const label = name === currentTheme ? `${name} (current)` : name;
63
- const description = _nullishCoalesce(descriptions[name], () => ( (name in _chunkRD5XAJR2cjs.builtInThemes ? "Built-in theme" : "Ghostty theme")));
66
+ const description = _nullishCoalesce(descriptions[name], () => ( (name in _chunkYWTIXHU6cjs.builtInThemes ? "Built-in theme" : "Ghostty theme")));
64
67
  return { label, value: name, description };
65
68
  });
66
- const result = await _chunkZYQMLKOKcjs.showModal.call(void 0, {
67
- title: _chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.selectPrompt"),
68
- options,
69
- initialIndex: themes.indexOf(currentTheme)
70
- });
69
+ let result = null;
70
+ let selectedTheme = null;
71
+ let selectedThemePreview = null;
72
+ await _optionalChain([ctx, 'access', _4 => _4.onBeforeModal, 'optionalCall', _5 => _5()]);
73
+ try {
74
+ result = await _chunkCH2J4PVEcjs.showModal.call(void 0, {
75
+ title: _chunkCHI52KFRcjs.t.call(void 0, "commands.theme.selectPrompt"),
76
+ options,
77
+ initialIndex: themes.indexOf(currentTheme)
78
+ });
79
+ if (result) {
80
+ const selected2 = result.value;
81
+ if (selected2 !== currentTheme) {
82
+ selectedThemePreview = _chunkYWTIXHU6cjs.initTheme.call(void 0, selected2);
83
+ ctx.config.ui = { ...ctx.config.ui, theme: selected2 };
84
+ await _chunk46C73ZKKcjs.saveConfig.call(void 0, ctx.config);
85
+ selectedTheme = selected2;
86
+ }
87
+ }
88
+ } finally {
89
+ await _optionalChain([ctx, 'access', _6 => _6.onAfterModal, 'optionalCall', _7 => _7()]);
90
+ }
71
91
  if (!result) {
72
92
  console.log(_chalk2.default.gray("\nTheme selection cancelled."));
73
93
  return null;
@@ -75,31 +95,34 @@ async function theme(ctx) {
75
95
  const selected = result.value;
76
96
  if (selected === currentTheme) {
77
97
  console.log(_chalk2.default.gray(`
78
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.noChange")}`));
98
+ ${_chunkCHI52KFRcjs.t.call(void 0, "commands.theme.noChange")}`));
79
99
  return null;
80
100
  }
81
- _chunkRD5XAJR2cjs.initTheme.call(void 0, selected);
82
- ctx.config.ui = { ...ctx.config.ui, theme: selected };
83
- await _chunkBWN2CLLMcjs.saveConfig.call(void 0, ctx.config);
84
101
  console.log(_chalk2.default.green(`
85
- \u2713 ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.changed", { theme: selected })}`));
86
- const newTheme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
102
+ \u2713 ${_chunkCHI52KFRcjs.t.call(void 0, "commands.theme.changed", { theme: _nullishCoalesce(selectedTheme, () => ( selected)) })}`));
103
+ const newTheme = _nullishCoalesce(selectedThemePreview, () => ( _chunk2VHB43IXcjs.getTheme.call(void 0, )));
87
104
  console.log("\nTheme preview:");
88
105
  console.log(` ${newTheme.fg("accent", "\u25CF accent")} ${newTheme.fg("success", "\u25CF success")} ${newTheme.fg("error", "\u25CF error")} ${newTheme.fg("warning", "\u25CF warning")}`);
89
106
  console.log(` ${newTheme.fg("muted", "\u25CF muted")} ${newTheme.fg("dim", "\u25CF dim")} ${newTheme.fg("text", "\u25CF text")}`);
107
+ if (newTheme.getColorMode() === "none") {
108
+ console.log(_chalk2.default.yellow(" Color output is disabled by NO_COLOR or FORCE_COLOR=0 in your terminal environment."));
109
+ }
90
110
  console.log();
91
111
  return null;
92
112
  }
93
113
  async function themeInfo() {
94
- if (!_chunkPGRH5Q77cjs.isThemeInitialized.call(void 0, )) {
114
+ if (!_chunk2VHB43IXcjs.isThemeInitialized.call(void 0, )) {
95
115
  console.log(_chalk2.default.yellow("Theme not initialized."));
96
116
  return null;
97
117
  }
98
- const currentTheme = _chunkPGRH5Q77cjs.getTheme.call(void 0, );
118
+ const currentTheme = _chunk2VHB43IXcjs.getTheme.call(void 0, );
99
119
  console.log(_chalk2.default.cyan("\n\u{1F3A8} Current Theme Info\n"));
100
120
  console.log(_chalk2.default.gray(`Name: ${_chalk2.default.white(currentTheme.name)}`));
101
121
  console.log(_chalk2.default.gray(`Color mode: ${_chalk2.default.white(currentTheme.getColorMode())}`));
102
- console.log(_chalk2.default.gray(`Custom themes dir: ${_chunkRD5XAJR2cjs.CUSTOM_THEMES_DIR}`));
122
+ if (currentTheme.getColorMode() === "none") {
123
+ console.log(_chalk2.default.yellow("Color output is disabled by NO_COLOR or FORCE_COLOR=0 in your terminal environment."));
124
+ }
125
+ console.log(_chalk2.default.gray(`Custom themes dir: ${_chunkYWTIXHU6cjs.CUSTOM_THEMES_DIR}`));
103
126
  console.log();
104
127
  console.log("Color preview:");
105
128
  console.log(` ${currentTheme.fg("accent", "\u25CF accent")} ${currentTheme.fg("success", "\u25CF success")} ${currentTheme.fg("error", "\u25CF error")} ${currentTheme.fg("warning", "\u25CF warning")}`);
@@ -116,7 +139,7 @@ async function themeInfo() {
116
139
  }
117
140
  var metadata = {
118
141
  command: "/theme",
119
- description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.theme.description"),
142
+ description: _chunkCHI52KFRcjs.t.call(void 0, "commands.theme.description"),
120
143
  implemented: true
121
144
  };
122
145
 
@@ -0,0 +1,37 @@
1
+ // src/commands/yolo.ts
2
+ import chalk from "chalk";
3
+ async function toggleYolo(ctx) {
4
+ if (!ctx.setYoloMode) {
5
+ return "YOLO mode toggle not available in this context.";
6
+ }
7
+ const isActive = ctx.permissionManager.getMode() === "unrestricted";
8
+ if (isActive) {
9
+ ctx.setYoloMode(void 0);
10
+ console.log();
11
+ console.log(chalk.cyan("YOLO mode deactivated. Returning to interactive approval."));
12
+ console.log();
13
+ } else {
14
+ ctx.setYoloMode("allow:*");
15
+ console.log();
16
+ console.log(chalk.yellow.bold("\u{1F680} YOLO MODE ACTIVATED"));
17
+ console.log(chalk.gray("You only live once! All actions will be auto-approved."));
18
+ console.log(chalk.gray("Security blacklist still applies for sensitive files."));
19
+ console.log();
20
+ }
21
+ return null;
22
+ }
23
+ var metadata = {
24
+ command: "/yolo",
25
+ description: "Toggle YOLO mode \u2014 auto-approve all actions",
26
+ implemented: true
27
+ };
28
+
29
+ export {
30
+ toggleYolo,
31
+ metadata
32
+ };
33
+ /**
34
+ * @license
35
+ * Copyright 2025 Autohand AI LLC
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
@@ -0,0 +1,80 @@
1
+ import {
2
+ createCommandTheme
3
+ } from "./chunk-46MTALKD.js";
4
+ import {
5
+ ASCII_FRIEND
6
+ } from "./chunk-RBHANOYY.js";
7
+ import {
8
+ package_default
9
+ } from "./chunk-3PXKRVCW.js";
10
+ import {
11
+ t
12
+ } from "./chunk-CBFH2J3O.js";
13
+
14
+ // src/commands/about.ts
15
+ import { execSync } from "child_process";
16
+ import terminalLink from "terminal-link";
17
+ function getCommitFromAlphaVersion(version) {
18
+ const match = version.match(/-alpha\.([0-9a-f]{7,40})$/i);
19
+ return match?.[1] ?? null;
20
+ }
21
+ function getGitCommit() {
22
+ if (true) {
23
+ return "8cc71ec";
24
+ }
25
+ const alphaCommit = getCommitFromAlphaVersion(package_default.version);
26
+ if (alphaCommit) {
27
+ return alphaCommit;
28
+ }
29
+ try {
30
+ return execSync("git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
31
+ } catch {
32
+ return "unknown";
33
+ }
34
+ }
35
+ function getVersionString() {
36
+ const commit = getGitCommit();
37
+ return commit !== "unknown" ? `${package_default.version} (${commit})` : package_default.version;
38
+ }
39
+ async function about() {
40
+ const theme = createCommandTheme();
41
+ const lines = [
42
+ theme.muted(ASCII_FRIEND),
43
+ "",
44
+ theme.accent(`${t("commands.about.title")} v${getVersionString()}`),
45
+ theme.muted(t("commands.about.subtitle")),
46
+ ""
47
+ ];
48
+ const websiteUrl = "https://autohand.ai";
49
+ const githubUrl = "https://github.com/autohandai/";
50
+ const docsUrl = "https://docs.autohand.ai";
51
+ const websiteLink = terminalLink(theme.link("autohand.ai"), websiteUrl);
52
+ const githubLink = terminalLink(theme.link("github.com/autohandai/"), githubUrl);
53
+ const docsLink = terminalLink(theme.link("docs.autohand.ai"), docsUrl);
54
+ lines.push(`${theme.text("\u{1F310}")} ${theme.text(t("commands.about.website") + ":")} ${websiteLink}`);
55
+ lines.push(`${theme.text("\u{1F4E6}")} ${theme.text(t("commands.about.github") + ":")} ${githubLink}`);
56
+ lines.push(`${theme.text("\u{1F4DA}")} ${theme.text(t("commands.about.docs") + ":")} ${docsLink}`);
57
+ lines.push("");
58
+ lines.push(theme.text(`\u{1F4A1} ${t("commands.about.contribute")}`));
59
+ lines.push(theme.text(` \u2022 ${t("commands.about.feedback")}: ${theme.accent("/feedback")}`));
60
+ lines.push(theme.text(` \u2022 ${t("commands.about.submitPR")}: ${theme.accent("gh pr create")}`));
61
+ const issuesUrl = "https://github.com/autohandai/code-cli/issues";
62
+ const issuesLink = terminalLink(theme.link("github.com/autohandai/code-cli/issues"), issuesUrl);
63
+ lines.push(theme.text(` \u2022 ${t("commands.about.reportIssues")}: ${issuesLink}`));
64
+ return lines.join("\n");
65
+ }
66
+ var metadata = {
67
+ command: "/about",
68
+ description: "show information about Autohand",
69
+ implemented: true
70
+ };
71
+
72
+ export {
73
+ about,
74
+ metadata
75
+ };
76
+ /**
77
+ * @license
78
+ * Copyright 2025 Autohand AI LLC
79
+ * SPDX-License-Identifier: Apache-2.0
80
+ */
@@ -0,0 +1,59 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/review.ts
2
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
3
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
4
+ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
5
+ var metadata = {
6
+ command: "/review",
7
+ description: "staff-level code review with 10 actionable findings",
8
+ implemented: true
9
+ };
10
+ async function review(ctx, args = []) {
11
+ const userInstructions = args.join(" ").trim();
12
+ const skillPath = _path2.default.resolve(
13
+ _path2.default.dirname(new URL(import.meta.url).pathname),
14
+ "../skills/builtin/code-reviewer/SKILL.md"
15
+ );
16
+ let skillBody = "";
17
+ try {
18
+ const content = await _fsextra2.default.readFile(skillPath, "utf-8");
19
+ const bodyMatch = content.match(/^---[\s\S]*?---\s*([\s\S]*)$/);
20
+ skillBody = bodyMatch ? bodyMatch[1].trim() : content;
21
+ } catch (e) {
22
+ skillBody = "Perform a thorough code review analyzing architecture, security, performance, error handling, and maintainability.";
23
+ }
24
+ const parts = [
25
+ skillBody,
26
+ "",
27
+ "## Review Target",
28
+ `Workspace: ${ctx.workspaceRoot}`
29
+ ];
30
+ if (userInstructions) {
31
+ parts.push("", "## Additional Focus", userInstructions);
32
+ }
33
+ parts.push(
34
+ "",
35
+ "## Instructions",
36
+ "Start the review now. Use the available tools (read_file, fff_grep, fff_find, list_tree, git_status, git_diff) to gather context, then deliver your 10-dimension review."
37
+ );
38
+ const prompt = parts.join("\n");
39
+ if (ctx.isNonInteractive || !ctx.queueInstruction) {
40
+ return prompt;
41
+ }
42
+ ctx.queueInstruction(prompt);
43
+ console.log(_chalk2.default.cyan("\n Starting code review..."));
44
+ if (userInstructions) {
45
+ console.log(_chalk2.default.gray(` Focus: ${userInstructions}`));
46
+ }
47
+ console.log(_chalk2.default.gray(" Analyzing 10 dimensions: architecture, security, performance, and more.\n"));
48
+ return null;
49
+ }
50
+
51
+
52
+
53
+
54
+ exports.metadata = metadata; exports.review = review;
55
+ /**
56
+ * @license
57
+ * Copyright 2026 Autohand AI LLC
58
+ * SPDX-License-Identifier: Apache-2.0
59
+ */
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  showModal
3
- } from "./chunk-YZXUDM5X.js";
3
+ } from "./chunk-DLP436GI.js";
4
4
  import {
5
5
  saveConfig
6
- } from "./chunk-P47WPOXN.js";
6
+ } from "./chunk-3UT7R3XV.js";
7
7
  import {
8
8
  CUSTOM_THEMES_DIR,
9
9
  builtInThemes,
10
10
  initTheme,
11
11
  listAvailableThemes
12
- } from "./chunk-IVM5F2AE.js";
12
+ } from "./chunk-NBGOIFKP.js";
13
13
  import {
14
14
  getTheme,
15
15
  isThemeInitialized
16
- } from "./chunk-JS7IPR7P.js";
16
+ } from "./chunk-JAQO6XDB.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-APIXPPMT.js";
19
+ } from "./chunk-CBFH2J3O.js";
20
20
 
21
21
  // src/commands/theme.ts
22
22
  import chalk from "chalk";
@@ -37,6 +37,9 @@ async function theme(ctx) {
37
37
  sandy: "Warm, earthy desert tones",
38
38
  tui: "New Zealand-inspired colors",
39
39
  "github-dark": "GitHub Dark terminal palette",
40
+ cappadocia: "Cappadocia-inspired rose valleys, dawn sky, and balloon colors",
41
+ rio: "Rio-inspired blue macaw, rainforest, and beach-light palette",
42
+ australia: "Australian coast, wattle, and eucalyptus palette",
40
43
  // Curated Ghostty themes
41
44
  "Atom One Dark": "Atom editor dark theme",
42
45
  "Ayu Mirage": "Soft dark with warm accents",
@@ -63,11 +66,28 @@ async function theme(ctx) {
63
66
  const description = descriptions[name] ?? (name in builtInThemes ? "Built-in theme" : "Ghostty theme");
64
67
  return { label, value: name, description };
65
68
  });
66
- const result = await showModal({
67
- title: t("commands.theme.selectPrompt"),
68
- options,
69
- initialIndex: themes.indexOf(currentTheme)
70
- });
69
+ let result = null;
70
+ let selectedTheme = null;
71
+ let selectedThemePreview = null;
72
+ await ctx.onBeforeModal?.();
73
+ try {
74
+ result = await showModal({
75
+ title: t("commands.theme.selectPrompt"),
76
+ options,
77
+ initialIndex: themes.indexOf(currentTheme)
78
+ });
79
+ if (result) {
80
+ const selected2 = result.value;
81
+ if (selected2 !== currentTheme) {
82
+ selectedThemePreview = initTheme(selected2);
83
+ ctx.config.ui = { ...ctx.config.ui, theme: selected2 };
84
+ await saveConfig(ctx.config);
85
+ selectedTheme = selected2;
86
+ }
87
+ }
88
+ } finally {
89
+ await ctx.onAfterModal?.();
90
+ }
71
91
  if (!result) {
72
92
  console.log(chalk.gray("\nTheme selection cancelled."));
73
93
  return null;
@@ -78,15 +98,15 @@ async function theme(ctx) {
78
98
  ${t("commands.theme.noChange")}`));
79
99
  return null;
80
100
  }
81
- initTheme(selected);
82
- ctx.config.ui = { ...ctx.config.ui, theme: selected };
83
- await saveConfig(ctx.config);
84
101
  console.log(chalk.green(`
85
- \u2713 ${t("commands.theme.changed", { theme: selected })}`));
86
- const newTheme = getTheme();
102
+ \u2713 ${t("commands.theme.changed", { theme: selectedTheme ?? selected })}`));
103
+ const newTheme = selectedThemePreview ?? getTheme();
87
104
  console.log("\nTheme preview:");
88
105
  console.log(` ${newTheme.fg("accent", "\u25CF accent")} ${newTheme.fg("success", "\u25CF success")} ${newTheme.fg("error", "\u25CF error")} ${newTheme.fg("warning", "\u25CF warning")}`);
89
106
  console.log(` ${newTheme.fg("muted", "\u25CF muted")} ${newTheme.fg("dim", "\u25CF dim")} ${newTheme.fg("text", "\u25CF text")}`);
107
+ if (newTheme.getColorMode() === "none") {
108
+ console.log(chalk.yellow(" Color output is disabled by NO_COLOR or FORCE_COLOR=0 in your terminal environment."));
109
+ }
90
110
  console.log();
91
111
  return null;
92
112
  }
@@ -99,6 +119,9 @@ async function themeInfo() {
99
119
  console.log(chalk.cyan("\n\u{1F3A8} Current Theme Info\n"));
100
120
  console.log(chalk.gray(`Name: ${chalk.white(currentTheme.name)}`));
101
121
  console.log(chalk.gray(`Color mode: ${chalk.white(currentTheme.getColorMode())}`));
122
+ if (currentTheme.getColorMode() === "none") {
123
+ console.log(chalk.yellow("Color output is disabled by NO_COLOR or FORCE_COLOR=0 in your terminal environment."));
124
+ }
102
125
  console.log(chalk.gray(`Custom themes dir: ${CUSTOM_THEMES_DIR}`));
103
126
  console.log();
104
127
  console.log("Color preview:");
@@ -4,7 +4,7 @@ import * as http from "http";
4
4
  import { existsSync } from "fs";
5
5
  import { spawn } from "child_process";
6
6
  var globalSearchConfig = {
7
- provider: "google"
7
+ provider: "browser-profile"
8
8
  };
9
9
  function configureSearch(config) {
10
10
  globalSearchConfig = { ...globalSearchConfig, ...config };
@@ -16,7 +16,13 @@ function isSearchConfigured() {
16
16
  const config = getSearchConfig();
17
17
  const braveKey = config.braveApiKey ?? process.env.BRAVE_SEARCH_API_KEY;
18
18
  const parallelKey = config.parallelApiKey ?? process.env.PARALLEL_API_KEY;
19
+ const exaKey = config.exaApiKey ?? process.env.EXA_API_KEY;
19
20
  switch (config.provider) {
21
+ case "browser-profile":
22
+ return !!findChromePath();
23
+ // Available if Chrome/Chromium is installed
24
+ case "exa":
25
+ return !!exaKey;
20
26
  case "brave":
21
27
  return !!braveKey;
22
28
  case "parallel":
@@ -227,10 +233,23 @@ async function webSearch(query, options = {}) {
227
233
  enhancedQuery = `${query} changelog OR release notes OR what's new`;
228
234
  break;
229
235
  }
230
- const provider = options.provider ?? globalSearchConfig.provider;
236
+ let provider = options.provider ?? globalSearchConfig.provider;
231
237
  const braveApiKey = globalSearchConfig.braveApiKey ?? process.env.BRAVE_SEARCH_API_KEY;
232
238
  const parallelApiKey = globalSearchConfig.parallelApiKey ?? process.env.PARALLEL_API_KEY;
239
+ const exaApiKey = globalSearchConfig.exaApiKey ?? process.env.EXA_API_KEY;
240
+ if (provider === "browser-profile" && !findChromePath()) {
241
+ provider = "google";
242
+ }
233
243
  switch (provider) {
244
+ case "browser-profile":
245
+ return browserProfileSearch(enhancedQuery, maxResults);
246
+ case "exa":
247
+ if (!exaApiKey) {
248
+ throw new Error(
249
+ "Exa.ai Search requires an API key. Configure it with /search or set EXA_API_KEY environment variable. Get an API key at: https://exa.ai"
250
+ );
251
+ }
252
+ return exaSearch(enhancedQuery, exaApiKey, maxResults);
234
253
  case "brave":
235
254
  if (!braveApiKey) {
236
255
  throw new Error(
@@ -456,6 +475,183 @@ async function braveSearch(query, apiKey, maxResults) {
456
475
  });
457
476
  });
458
477
  }
478
+ async function exaSearch(query, apiKey, maxResults) {
479
+ const postData = JSON.stringify({
480
+ query,
481
+ numResults: maxResults,
482
+ contents: {
483
+ text: true
484
+ }
485
+ });
486
+ return new Promise((resolve, reject) => {
487
+ const options = {
488
+ hostname: "api.exa.ai",
489
+ port: 443,
490
+ path: "/search",
491
+ method: "POST",
492
+ headers: {
493
+ "Content-Type": "application/json",
494
+ "Authorization": `Bearer ${apiKey}`,
495
+ "Content-Length": Buffer.byteLength(postData)
496
+ }
497
+ };
498
+ const req = https.request(options, (res) => {
499
+ let data = "";
500
+ res.on("data", (chunk) => {
501
+ data += chunk;
502
+ });
503
+ res.on("end", () => {
504
+ if (res.statusCode && res.statusCode >= 400) {
505
+ reject(new Error(`Exa.ai API error: HTTP ${res.statusCode} - ${data}`));
506
+ return;
507
+ }
508
+ try {
509
+ const json = JSON.parse(data);
510
+ if (json.results && Array.isArray(json.results)) {
511
+ const results = json.results.slice(0, maxResults).map((r) => ({
512
+ title: r.title || r.url || "Untitled",
513
+ url: r.url || "",
514
+ snippet: r.text?.slice(0, 300) || r.highlight?.slice(0, 300) || ""
515
+ }));
516
+ resolve(results);
517
+ } else {
518
+ resolve([]);
519
+ }
520
+ } catch (parseError) {
521
+ reject(new Error(`Failed to parse Exa.ai response: ${parseError instanceof Error ? parseError.message : String(parseError)}`));
522
+ }
523
+ });
524
+ res.on("error", reject);
525
+ });
526
+ req.on("error", reject);
527
+ req.on("timeout", () => {
528
+ req.destroy();
529
+ reject(new Error("Exa.ai request timed out"));
530
+ });
531
+ req.write(postData);
532
+ req.end();
533
+ });
534
+ }
535
+ async function browserProfileSearch(query, maxResults) {
536
+ const chromePath = findChromePath();
537
+ if (!chromePath) {
538
+ throw new Error(
539
+ "No Chrome/Chromium browser found. Install Chrome or configure a different search provider with /search."
540
+ );
541
+ }
542
+ const profile = await findBrowserProfile();
543
+ if (!profile) {
544
+ return googleSearch(query, maxResults);
545
+ }
546
+ const searchUrl = `https://www.google.com/search?q=${encodeURIComponent(query)}&num=${maxResults}&hl=en`;
547
+ return new Promise((resolve, reject) => {
548
+ const port = 9222 + Math.floor(Math.random() * 1e3);
549
+ const args = [
550
+ `--remote-debugging-port=${port}`,
551
+ "--no-first-run",
552
+ "--no-default-browser-check",
553
+ "--disable-default-apps",
554
+ "--disable-background-networking",
555
+ "--disable-sync",
556
+ `--user-data-dir=${profile.userDataDir}`,
557
+ `--profile-directory=${profile.profileDirectory}`,
558
+ "--headless=new",
559
+ "--dump-dom",
560
+ searchUrl
561
+ ];
562
+ let stdout = "";
563
+ let killed = false;
564
+ const proc = spawn(chromePath, args, {
565
+ stdio: ["ignore", "pipe", "pipe"],
566
+ timeout: 3e4
567
+ });
568
+ proc.stdout.on("data", (data) => {
569
+ stdout += data.toString();
570
+ if (stdout.length > 5e5) {
571
+ killed = true;
572
+ proc.kill("SIGTERM");
573
+ }
574
+ });
575
+ proc.stderr.resume();
576
+ proc.on("close", (code) => {
577
+ if (killed) {
578
+ const results2 = parseGoogleResultsFromDOM(stdout.slice(0, 5e5), maxResults);
579
+ resolve(results2.length > 0 ? results2 : []);
580
+ return;
581
+ }
582
+ if (code !== 0 && code !== null) {
583
+ googleSearch(query, maxResults).then(resolve).catch(reject);
584
+ return;
585
+ }
586
+ const results = parseGoogleResultsFromDOM(stdout, maxResults);
587
+ if (stdout.includes("unusual traffic") || stdout.includes("captcha") || stdout.includes("g-recaptcha")) {
588
+ googleSearch(query, maxResults).then(resolve).catch(reject);
589
+ return;
590
+ }
591
+ if (results.length > 0) {
592
+ resolve(results);
593
+ } else {
594
+ googleSearch(query, maxResults).then(resolve).catch(reject);
595
+ }
596
+ });
597
+ proc.on("error", () => {
598
+ googleSearch(query, maxResults).then(resolve).catch(reject);
599
+ });
600
+ });
601
+ }
602
+ async function findBrowserProfile() {
603
+ const os = await import("os");
604
+ const path = await import("path");
605
+ const fs = await import("fs-extra");
606
+ const { pathExists } = fs;
607
+ const homeDir = os.homedir();
608
+ const platform = process.platform;
609
+ const browserRoots = [];
610
+ if (platform === "darwin") {
611
+ browserRoots.push(
612
+ { name: "Chrome", userDataDir: path.join(homeDir, "Library", "Application Support", "Google", "Chrome") },
613
+ { name: "Chromium", userDataDir: path.join(homeDir, "Library", "Application Support", "Chromium") },
614
+ { name: "Brave", userDataDir: path.join(homeDir, "Library", "Application Support", "BraveSoftware", "Brave-Browser") },
615
+ { name: "Edge", userDataDir: path.join(homeDir, "Library", "Application Support", "Microsoft Edge") }
616
+ );
617
+ } else if (platform === "linux") {
618
+ browserRoots.push(
619
+ { name: "Chrome", userDataDir: path.join(homeDir, ".config", "google-chrome") },
620
+ { name: "Chromium", userDataDir: path.join(homeDir, ".config", "chromium") },
621
+ { name: "Brave", userDataDir: path.join(homeDir, ".config", "BraveSoftware", "Brave-Browser") },
622
+ { name: "Edge", userDataDir: path.join(homeDir, ".config", "microsoft-edge") }
623
+ );
624
+ } else if (platform === "win32") {
625
+ const localAppData = process.env.LOCALAPPDATA ?? "";
626
+ browserRoots.push(
627
+ { name: "Chrome", userDataDir: path.join(localAppData, "Google", "Chrome", "User Data") },
628
+ { name: "Chromium", userDataDir: path.join(localAppData, "Chromium", "User Data") },
629
+ { name: "Brave", userDataDir: path.join(localAppData, "BraveSoftware", "Brave-Browser", "User Data") },
630
+ { name: "Edge", userDataDir: path.join(localAppData, "Microsoft", "Edge", "User Data") }
631
+ );
632
+ }
633
+ for (const browser of browserRoots) {
634
+ if (!await pathExists(browser.userDataDir)) {
635
+ continue;
636
+ }
637
+ try {
638
+ const entries = await fs.readdir(browser.userDataDir);
639
+ const profiles = entries.filter(
640
+ (entry) => entry === "Default" || entry.startsWith("Profile ")
641
+ );
642
+ const profileDirectory = profiles.includes("Default") ? "Default" : profiles[0];
643
+ if (profileDirectory) {
644
+ return {
645
+ userDataDir: browser.userDataDir,
646
+ profileDirectory,
647
+ browser: browser.name
648
+ };
649
+ }
650
+ } catch {
651
+ }
652
+ }
653
+ return null;
654
+ }
459
655
  async function fetchUrl(url, options = {}) {
460
656
  const maxLength = options.maxLength ?? 3e4;
461
657
  try {
@@ -663,16 +859,25 @@ function formatPackageInfo(info) {
663
859
  }
664
860
  return lines.join("\n");
665
861
  }
862
+ var formatNpmInfo = formatPackageInfo;
666
863
 
667
864
  export {
668
865
  configureSearch,
669
866
  getSearchConfig,
670
867
  isSearchConfigured,
868
+ findChromePath,
869
+ parseGoogleResultsFromDOM,
671
870
  webSearch,
672
871
  fetchUrl,
872
+ getNpmInfo,
873
+ getPyPIInfo,
874
+ getCargoInfo,
875
+ getRubyGemsInfo,
876
+ getGoModuleInfo,
673
877
  getPackageInfo,
674
878
  formatSearchResults,
675
- formatPackageInfo
879
+ formatPackageInfo,
880
+ formatNpmInfo
676
881
  };
677
882
  /**
678
883
  * @license