autohand-cli 0.7.13 → 0.8.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 (394) hide show
  1. package/assets/icon.png +0 -0
  2. package/dist/AgentRegistry-7LDL5HJH.js +10 -0
  3. package/dist/AgentRegistry-NQCLWABO.cjs +10 -0
  4. package/dist/{AutomodeManager-NGRAO2MH.js → AutomodeManager-MWLKGPZK.js} +2 -0
  5. package/dist/{AutomodeManager-ZKQMBM4T.cjs → AutomodeManager-NYIZNODK.cjs} +3 -1
  6. package/dist/CommunitySkillsCache-6QPRMTJO.js +8 -0
  7. package/dist/CommunitySkillsCache-GTQMOCCO.cjs +8 -0
  8. package/dist/{GitHubRegistryFetcher-US2JJID4.js → GitHubRegistryFetcher-6JQ5JEDZ.js} +1 -0
  9. package/dist/{GitHubRegistryFetcher-K744NNAJ.cjs → GitHubRegistryFetcher-S7QFUEKV.cjs} +1 -0
  10. package/dist/HookManager-Q2KYMCP4.cjs +7 -0
  11. package/dist/HookManager-TTP4Y6DC.js +7 -0
  12. package/dist/ImportWizard-IWVPRKFF.cjs +466 -0
  13. package/dist/ImportWizard-KASGQPUY.js +466 -0
  14. package/dist/McpClientManager-7RM6YT35.js +8 -0
  15. package/dist/McpClientManager-RKD7C6OY.cjs +8 -0
  16. package/dist/MemoryManager-GUNLRP5S.js +8 -0
  17. package/dist/MemoryManager-TNSGKDKX.cjs +8 -0
  18. package/dist/PermissionManager-2GO5PQ6M.cjs +11 -0
  19. package/dist/{PermissionManager-U5OMGR3L.js → PermissionManager-K7UWSNB6.js} +4 -3
  20. package/dist/ProjectProfiler-UMJJSOCE.js +194 -0
  21. package/dist/ProjectProfiler-ZDWR2ODG.cjs +194 -0
  22. package/dist/ProviderFactory-EFFQBRQ6.cjs +9 -0
  23. package/dist/ProviderFactory-S3LWTQQC.js +9 -0
  24. package/dist/SessionManager-FEUAU3ZJ.cjs +10 -0
  25. package/dist/SessionManager-IKWAK2PI.js +10 -0
  26. package/dist/SkillsRegistry-GDEGFP6O.cjs +9 -0
  27. package/dist/SkillsRegistry-SI5RUHQ4.js +9 -0
  28. package/dist/SubAgent-I75HELJG.js +11 -0
  29. package/dist/SubAgent-K3QP6WHC.cjs +11 -0
  30. package/dist/{SyncApiClient-AYXYSOJM.js → SyncApiClient-LVIO4C2S.js} +1 -0
  31. package/dist/{SyncApiClient-ID3KXEMA.cjs → SyncApiClient-ZNYMT36M.cjs} +1 -0
  32. package/dist/about-B2AGTV6N.js +12 -0
  33. package/dist/about-V2HWEZZO.cjs +12 -0
  34. package/dist/actionExecutor-6XCVL2SJ.js +19 -0
  35. package/dist/actionExecutor-YRUJNB5G.cjs +19 -0
  36. package/dist/add-dir-7FBQ5IFV.js +10 -0
  37. package/dist/add-dir-ALBSYRV3.cjs +10 -0
  38. package/dist/agents/builtin/code-cleaner.md +14 -0
  39. package/dist/agents/builtin/docs-writer.md +14 -0
  40. package/dist/agents/builtin/researcher.md +14 -0
  41. package/dist/agents/builtin/reviewer.md +15 -0
  42. package/dist/agents/builtin/tester.md +15 -0
  43. package/dist/agents/builtin/todo-resolver.md +15 -0
  44. package/dist/agents-FCGEWTA3.cjs +12 -0
  45. package/dist/agents-FENGUSJD.js +12 -0
  46. package/dist/agents-new-FU3O55CO.js +14 -0
  47. package/dist/agents-new-SAFTJ7TK.cjs +14 -0
  48. package/dist/assets/icon.png +0 -0
  49. package/dist/automode-CYLGXQ4A.cjs +10 -0
  50. package/dist/automode-O7G3DUYN.js +10 -0
  51. package/dist/{cc-UTTLESTY.js → cc-7LEIJ3KF.js} +1 -0
  52. package/dist/{cc-2W6M7J45.cjs → cc-Q5MM4AWC.cjs} +1 -0
  53. package/dist/{chunk-N4ZSG6JJ.cjs → chunk-22D2CNTP.cjs} +2 -2
  54. package/dist/chunk-24QIWILL.js +51 -0
  55. package/dist/{chunk-MYNHJHDZ.js → chunk-2AA5MFES.js} +1 -1
  56. package/dist/{chunk-2JMWWYMZ.js → chunk-2ELK5DMH.js} +44 -10
  57. package/dist/chunk-2JYIR3EC.cjs +1176 -0
  58. package/dist/{chunk-RRZFJIIB.js → chunk-2RIAPTET.js} +90 -66
  59. package/dist/{chunk-TSY7JHIV.cjs → chunk-33A755XB.cjs} +2 -2
  60. package/dist/chunk-3OEDGIFW.js +42 -0
  61. package/dist/{chunk-P5VDZ6PV.js → chunk-3PDTTAKJ.js} +1 -1
  62. package/dist/{chunk-ULMPJUJW.cjs → chunk-3WCOFXQS.cjs} +23 -23
  63. package/dist/{chunk-ONAY5SD2.cjs → chunk-4HKTYHNL.cjs} +22 -16
  64. package/dist/{chunk-Z4J4W6YQ.cjs → chunk-4JNNTOGF.cjs} +2 -48
  65. package/dist/chunk-55B6SBHK.js +260 -0
  66. package/dist/chunk-5DDDUUBM.cjs +29 -0
  67. package/dist/{chunk-TQB222ZB.js → chunk-5EIEWVYX.js} +2 -2
  68. package/dist/{chunk-SMHY3Q7B.cjs → chunk-5GGX6WNY.cjs} +54 -22
  69. package/dist/{chunk-3S4DEIJP.cjs → chunk-5IXII4HX.cjs} +2 -2
  70. package/dist/{chunk-3KBBARKO.js → chunk-5OBNULPU.js} +85 -28
  71. package/dist/{chunk-VVBBEYTH.cjs → chunk-5YJG6H6P.cjs} +10 -10
  72. package/dist/{chunk-PKOAXQKW.cjs → chunk-63WXWFDI.cjs} +11 -11
  73. package/dist/{chunk-DSKVMFRM.cjs → chunk-643VRA5S.cjs} +12 -4
  74. package/dist/{chunk-L5ZFPWHY.js → chunk-6OYHF6MF.js} +12 -4
  75. package/dist/chunk-7GDVDSNI.js +1176 -0
  76. package/dist/chunk-7QEE6SW6.cjs +260 -0
  77. package/dist/chunk-7UOUW76C.js +603 -0
  78. package/dist/{chunk-SZP4ULM5.cjs → chunk-AFN7LH5N.cjs} +17 -17
  79. package/dist/chunk-AHD5JJ6F.cjs +78 -0
  80. package/dist/{chunk-WLTVF77A.js → chunk-ALYU6VTM.js} +1 -1
  81. package/dist/{chunk-BRXIEKJ3.cjs → chunk-AMT2UZBI.cjs} +5 -5
  82. package/dist/{chunk-SFNT5DYE.cjs → chunk-BT35E7NE.cjs} +4 -4
  83. package/dist/{chunk-NUHYCFHW.cjs → chunk-BVKXEQVG.cjs} +54 -65
  84. package/dist/chunk-CDMGQR4L.cjs +4470 -0
  85. package/dist/chunk-CNBKZEX5.cjs +109 -0
  86. package/dist/{chunk-GD4AFYJ3.js → chunk-CVVEYUFR.js} +1 -1
  87. package/dist/chunk-CWALFEGU.js +58 -0
  88. package/dist/{chunk-MTALRU7R.cjs → chunk-D3YCFT5O.cjs} +3 -3
  89. package/dist/{chunk-METF3I6W.cjs → chunk-D6VG7B5X.cjs} +10 -4
  90. package/dist/{chunk-TOTDRAWG.js → chunk-DH7DKCUL.js} +1 -1
  91. package/dist/{chunk-RFNCTE4V.cjs → chunk-DLG43ZJ7.cjs} +2 -2
  92. package/dist/chunk-DN573ME7.cjs +1675 -0
  93. package/dist/{chunk-63BXZQZW.js → chunk-E23CMMNJ.js} +20 -4
  94. package/dist/{chunk-4HA7IHLJ.cjs → chunk-EEGK5DYE.cjs} +32 -16
  95. package/dist/{chunk-DTFR3WD6.js → chunk-EF4LKUQY.js} +1 -1
  96. package/dist/{chunk-PWLLLJHU.js → chunk-EGFT4PGW.js} +3 -1
  97. package/dist/{chunk-S47TCZDL.js → chunk-EIU7K7CM.js} +7 -7
  98. package/dist/{chunk-BISFR6ZL.js → chunk-EPNYD4NV.js} +1 -1
  99. package/dist/chunk-EZMINVLU.js +123 -0
  100. package/dist/{chunk-LYMTYC67.js → chunk-F23EVNJU.js} +2 -2
  101. package/dist/chunk-FHK7UDOJ.cjs +42 -0
  102. package/dist/chunk-FMB3TSWP.cjs +218 -0
  103. package/dist/{chunk-XBUMKEFN.cjs → chunk-FPAE6ORV.cjs} +91 -34
  104. package/dist/{chunk-DEAEO7RI.js → chunk-FYZ67R4R.js} +1 -1
  105. package/dist/{chunk-6SHHB2VD.js → chunk-G7SZIOHF.js} +2 -2
  106. package/dist/{chunk-FB6JWNJS.js → chunk-GBHDROGL.js} +54 -65
  107. package/dist/chunk-GCHELXLO.js +131 -0
  108. package/dist/{chunk-7YX3OD4B.js → chunk-GHSBZ3YB.js} +2 -2
  109. package/dist/chunk-GLBAF54O.js +218 -0
  110. package/dist/chunk-GO3N7LRW.cjs +131 -0
  111. package/dist/{chunk-KW4SQWBU.cjs → chunk-H6ZGZEBG.cjs} +57 -23
  112. package/dist/{chunk-CTJILRNQ.cjs → chunk-HA7OAVOB.cjs} +15 -15
  113. package/dist/{chunk-NMWEDN4Z.js → chunk-HFMLWH7B.js} +108 -0
  114. package/dist/{chunk-D2XFTCRP.js → chunk-HQ7YZKXE.js} +1 -1
  115. package/dist/{chunk-L42HTMMR.cjs → chunk-HTLINWX6.cjs} +2 -2
  116. package/dist/chunk-IETRBBMP.cjs +603 -0
  117. package/dist/chunk-IQ5RXU6O.js +1675 -0
  118. package/dist/{chunk-B5HIJJ4B.js → chunk-ITB3FS72.js} +11 -5
  119. package/dist/{chunk-B6EBHCK2.cjs → chunk-IUMJYXBX.cjs} +6 -6
  120. package/dist/{chunk-ZBIBLOZL.js → chunk-IVM5F2AE.js} +500 -317
  121. package/dist/{chunk-GRSVQ5YZ.js → chunk-IWVQ2EW3.js} +44 -12
  122. package/dist/chunk-JJWCQLOU.cjs +59 -0
  123. package/dist/{chunk-KXAAEROY.js → chunk-JMFDD7IZ.js} +2 -2
  124. package/dist/chunk-JSBRDJBE.js +30 -0
  125. package/dist/chunk-LJFUXC56.cjs +123 -0
  126. package/dist/chunk-LL3PQ2U6.js +4470 -0
  127. package/dist/chunk-LQ4LQQG6.cjs +27 -0
  128. package/dist/chunk-LQGVEP3E.js +109 -0
  129. package/dist/{chunk-425MT6Y5.cjs → chunk-LVE6Z5SL.cjs} +9 -9
  130. package/dist/{chunk-XL77XYI2.cjs → chunk-LXDOQTXQ.cjs} +4 -4
  131. package/dist/{chunk-BG4OQUKP.js → chunk-MBBY4ZIK.js} +1 -1
  132. package/dist/{chunk-XQLWN4Y3.cjs → chunk-MGMXR67S.cjs} +9 -9
  133. package/dist/{chunk-FHUNAB2K.cjs → chunk-MHLE6AVN.cjs} +33 -6
  134. package/dist/chunk-MHSDHPC4.cjs +58 -0
  135. package/dist/chunk-MUBW5UDH.cjs +55 -0
  136. package/dist/{chunk-R3H25HQZ.cjs → chunk-MVWOQBCC.cjs} +11 -11
  137. package/dist/chunk-N254NRHT.cjs +30 -0
  138. package/dist/{chunk-SRLY7K6J.js → chunk-OBLIITWJ.js} +2 -2
  139. package/dist/{chunk-SIGWDEPS.cjs → chunk-OI7OIGNB.cjs} +10 -10
  140. package/dist/{chunk-V7YTCNMN.cjs → chunk-OPR34VHL.cjs} +5 -5
  141. package/dist/chunk-OUHQZFN4.js +78 -0
  142. package/dist/{chunk-HMRDNRTH.js → chunk-PEC45WYS.js} +2 -2
  143. package/dist/{chunk-OSUWEUZE.js → chunk-PUOE5BCN.js} +1 -1
  144. package/dist/chunk-Q2VYSHWU.js +59 -0
  145. package/dist/chunk-Q3MJ6CYS.cjs +193 -0
  146. package/dist/{chunk-B2K7JZRW.js → chunk-Q5RN7RXC.js} +2 -2
  147. package/dist/{chunk-43XS26AQ.cjs → chunk-Q5RX3XGB.cjs} +4 -4
  148. package/dist/chunk-QCLYBIMM.cjs +51 -0
  149. package/dist/chunk-QMAKTSZB.cjs +48 -0
  150. package/dist/chunk-QT2VZNFA.js +29 -0
  151. package/dist/{chunk-3AWZFG5G.js → chunk-QUFAULH7.js} +10 -4
  152. package/dist/{chunk-RJP3SZ7Q.cjs → chunk-RD5XAJR2.cjs} +492 -309
  153. package/dist/chunk-RGR6ME5J.cjs +844 -0
  154. package/dist/{chunk-EOGKE5GD.cjs → chunk-RKJTGGMU.cjs} +221 -126
  155. package/dist/{chunk-NMGF2KUN.js → chunk-RO46YAPI.js} +1 -1
  156. package/dist/{chunk-2U5HFVRO.cjs → chunk-RVUQKMXX.cjs} +108 -0
  157. package/dist/chunk-S52YW5ZQ.js +844 -0
  158. package/dist/{chunk-ZLOTP56B.cjs → chunk-S6BDWWUG.cjs} +5 -5
  159. package/dist/{chunk-6DWXHBAY.js → chunk-SAHBLB3E.js} +222 -127
  160. package/dist/chunk-SALLHB2I.js +27 -0
  161. package/dist/{chunk-GIZL57FE.cjs → chunk-SEKD5FH3.cjs} +3 -1
  162. package/dist/{chunk-DZHR34H6.cjs → chunk-SHFA46CS.cjs} +8 -8
  163. package/dist/{chunk-MILZEEUV.js → chunk-SIHRD34Z.js} +2 -2
  164. package/dist/{chunk-BPTBKO7D.js → chunk-SO3QQJAZ.js} +216 -36
  165. package/dist/{chunk-HSPWX4Z2.cjs → chunk-SRQW3B6J.cjs} +223 -43
  166. package/dist/{chunk-MY3TZER2.js → chunk-T63AMO6H.js} +1 -1
  167. package/dist/{chunk-X765A7J5.js → chunk-TERCG25S.js} +1 -1
  168. package/dist/{chunk-WOGJXDBU.cjs → chunk-TFSRRZWP.cjs} +3 -3
  169. package/dist/{chunk-RRZS5A53.js → chunk-TQHOVHRS.js} +1 -1
  170. package/dist/{chunk-JHOQABEF.js → chunk-TWEKBHUO.js} +5 -5
  171. package/dist/chunk-U3WDY42C.cjs +42 -0
  172. package/dist/{chunk-CKN2BLHK.cjs → chunk-UBS46QL3.cjs} +2 -2
  173. package/dist/{chunk-H3GBSPK5.js → chunk-UGTFKUW4.js} +14 -6
  174. package/dist/chunk-UJTCTTUF.cjs +271 -0
  175. package/dist/{chunk-RUZB43HU.cjs → chunk-UTI6ZQEY.cjs} +22 -14
  176. package/dist/{chunk-OLG7LZBD.js → chunk-VG34MG2U.js} +1 -1
  177. package/dist/{chunk-ZKZRFH37.cjs → chunk-VJYPP6PP.cjs} +6 -6
  178. package/dist/{chunk-YHGTBPEC.js → chunk-VNQ5GL34.js} +1 -1
  179. package/dist/{chunk-XDVG3NM4.js → chunk-W3X6PAC7.js} +2 -48
  180. package/dist/{chunk-FK2DVRPJ.js → chunk-WFUUXADU.js} +2 -2
  181. package/dist/{chunk-R5OO7MEB.cjs → chunk-WGTJOIB7.cjs} +22 -22
  182. package/dist/{chunk-VHBUKGRG.js → chunk-WJDPVW7T.js} +4 -4
  183. package/dist/chunk-WNUVPKBW.js +42 -0
  184. package/dist/{chunk-EV53SLSB.cjs → chunk-WPVWQSL7.cjs} +4 -4
  185. package/dist/chunk-WQ3VJXZB.js +118 -0
  186. package/dist/chunk-WTNBX2JO.js +271 -0
  187. package/dist/chunk-XAV24VYN.js +48 -0
  188. package/dist/chunk-XDLH4EDL.cjs +118 -0
  189. package/dist/{chunk-U7CZFKPL.cjs → chunk-XMNHZRUB.cjs} +2 -2
  190. package/dist/chunk-XUDSXGGV.cjs +1822 -0
  191. package/dist/{chunk-YESQ7XR3.js → chunk-XWASJ2QL.js} +4 -4
  192. package/dist/chunk-Y2SXUCNJ.js +55 -0
  193. package/dist/{chunk-AIH6GUGB.cjs → chunk-YDCDGTK6.cjs} +5 -5
  194. package/dist/chunk-YFXTE422.cjs +92 -0
  195. package/dist/chunk-YKS55CMT.js +1822 -0
  196. package/dist/{chunk-KC5FPUOF.cjs → chunk-YRLYSQEQ.cjs} +2 -2
  197. package/dist/{chunk-JWPI6O5Z.js → chunk-YS34SVY5.js} +31 -4
  198. package/dist/{chunk-FEVHH525.cjs → chunk-YYB42DCU.cjs} +4 -4
  199. package/dist/chunk-ZK6HOR62.js +92 -0
  200. package/dist/{chunk-BHV7CBNT.js → chunk-ZSE42BRE.js} +1 -1
  201. package/dist/clear-ES5WCZRF.cjs +12 -0
  202. package/dist/clear-J7XS6T5W.js +12 -0
  203. package/dist/completion-XQTDTJLK.cjs +14 -0
  204. package/dist/completion-XR6ZONJQ.js +14 -0
  205. package/dist/config-2TB3A55J.js +18 -0
  206. package/dist/config-RDMVIV26.cjs +18 -0
  207. package/dist/constants-6CPCJ3DY.cjs +21 -0
  208. package/dist/{constants-V6J54N3X.js → constants-UFM5B232.js} +2 -1
  209. package/dist/{defaultHooks-WLMRQUXG.cjs → defaultHooks-RCXPHF4M.cjs} +3 -1
  210. package/dist/{defaultHooks-R56VYG7I.js → defaultHooks-RDRMER3Z.js} +2 -0
  211. package/dist/export-EWAYH353.cjs +12 -0
  212. package/dist/export-ZWA6XGVS.js +12 -0
  213. package/dist/extractSessionMemories-SDW2MVBQ.cjs +7 -0
  214. package/dist/extractSessionMemories-V7K42ZHW.js +7 -0
  215. package/dist/feedback-5RV6ODW4.js +15 -0
  216. package/dist/feedback-ZPITHFJR.cjs +15 -0
  217. package/dist/filesystem-3SGCW2BF.js +10 -0
  218. package/dist/filesystem-MCFXJQ6R.cjs +10 -0
  219. package/dist/formatters-6K7QVWQL.cjs +10 -0
  220. package/dist/formatters-DQHO5I36.js +10 -0
  221. package/dist/{help-RU24K66K.js → help-I5GRCA3S.js} +3 -2
  222. package/dist/help-X52PZM24.cjs +12 -0
  223. package/dist/history-4WIOZ4TW.cjs +14 -0
  224. package/dist/{history-AV4XBFRK.js → history-OCHJBJW7.js} +3 -2
  225. package/dist/hooks-IAVTXUAI.cjs +13 -0
  226. package/dist/hooks-YF6HL23E.js +13 -0
  227. package/dist/{i18n-BSAPXM56.js → i18n-KHBXUALK.js} +2 -1
  228. package/dist/i18n-MVQIAZWS.cjs +33 -0
  229. package/dist/ide-4R3BEBIS.js +12 -0
  230. package/dist/ide-C7WSPQTR.cjs +12 -0
  231. package/dist/import-2ICSKDL7.cjs +10 -0
  232. package/dist/import-EAAX5HJR.js +170 -0
  233. package/dist/import-KRVVYJCZ.js +10 -0
  234. package/dist/import-PQJPNXA4.cjs +170 -0
  235. package/dist/index.cjs +8671 -12373
  236. package/dist/index.js +8739 -12441
  237. package/dist/init-6K3NRDOM.js +10 -0
  238. package/dist/init-AOUGGITS.cjs +10 -0
  239. package/dist/language-Q7YFDVSR.cjs +18 -0
  240. package/dist/language-Y6ZC7LET.js +18 -0
  241. package/dist/{lint-44UQJ673.cjs → lint-D5UOJWIK.cjs} +1 -0
  242. package/dist/{lint-TA2ZHVLM.js → lint-NJPZWVN2.js} +1 -0
  243. package/dist/{localProjectPermissions-WQYMGI42.js → localProjectPermissions-N77HA3XK.js} +3 -2
  244. package/dist/localProjectPermissions-UFSMNTBJ.cjs +18 -0
  245. package/dist/login-6OAH2NEH.cjs +20 -0
  246. package/dist/login-DL3377MD.js +20 -0
  247. package/dist/logout-ELQBUMTU.cjs +18 -0
  248. package/dist/logout-TLYA5W45.js +18 -0
  249. package/dist/mcp-BHOIBYUB.js +18 -0
  250. package/dist/mcp-TNUEXR5T.cjs +18 -0
  251. package/dist/{mcp-install-2KVKRAMQ.cjs → mcp-install-GROTZHAW.cjs} +26 -14
  252. package/dist/{mcp-install-77UXRN6R.js → mcp-install-KSADVDBE.js} +21 -9
  253. package/dist/memory-6DRFA43C.js +10 -0
  254. package/dist/memory-IORZE6WF.cjs +10 -0
  255. package/dist/message-JUBOK2VU.js +9 -0
  256. package/dist/message-ZJ5AYAMT.cjs +9 -0
  257. package/dist/model-CJPSPGIC.cjs +10 -0
  258. package/dist/model-MQXC56ES.js +10 -0
  259. package/dist/new-7D2B7IWM.cjs +12 -0
  260. package/dist/new-7VYM36RC.js +12 -0
  261. package/dist/{patch-BAAQIYSW.js → patch-5F6VBIT3.js} +2 -0
  262. package/dist/{patch-J32X2QQP.cjs → patch-MOD7QC3D.cjs} +3 -1
  263. package/dist/permissions-MM77OSFO.js +13 -0
  264. package/dist/permissions-W2F62DJ6.cjs +13 -0
  265. package/dist/{plan-JFGNRL2S.js → plan-G5CEKJI4.js} +1 -0
  266. package/dist/{plan-B3CW5DXJ.cjs → plan-QKOHE3LH.cjs} +1 -0
  267. package/dist/quit-7D2RDGTD.cjs +10 -0
  268. package/dist/quit-PKBSEJOL.js +10 -0
  269. package/dist/registry-A5XLMQVC.cjs +1828 -0
  270. package/dist/registry-WQLWHOLY.js +1828 -0
  271. package/dist/resume-FBKXSDOA.js +13 -0
  272. package/dist/resume-KLPDYPWQ.cjs +13 -0
  273. package/dist/search-7RNYTCNO.js +17 -0
  274. package/dist/search-UESMQZC3.cjs +17 -0
  275. package/dist/{session-T3TAZ5ZU.cjs → session-BSU2L5UI.cjs} +1 -0
  276. package/dist/{session-H5QWKE5E.js → session-SZMRN5KG.js} +1 -0
  277. package/dist/sessions-TSSUFWIJ.cjs +10 -0
  278. package/dist/sessions-WAXBUQTU.js +10 -0
  279. package/dist/settings-D6JXX5RG.js +30 -0
  280. package/dist/settings-RKYGXKDG.cjs +30 -0
  281. package/dist/share-GLX4YHS4.cjs +14 -0
  282. package/dist/share-U2M2KBFJ.js +14 -0
  283. package/dist/skills-63QLZMUO.cjs +14 -0
  284. package/dist/{skills-LJZA6PVJ.js → skills-BAMMXP3Q.js} +3 -2
  285. package/dist/{skills-install-MQINL3EC.js → skills-install-QNQWC2MV.js} +99 -28
  286. package/dist/{skills-install-IKJZN4G2.cjs → skills-install-UMK5H3SO.cjs} +107 -36
  287. package/dist/skills-new-NYKNHJHV.cjs +15 -0
  288. package/dist/skills-new-NZFGFKML.js +15 -0
  289. package/dist/slashCommands-EJ23C3Z4.cjs +69 -0
  290. package/dist/slashCommands-JQIL4EWX.js +69 -0
  291. package/dist/status-BKC7GBNQ.js +11 -0
  292. package/dist/status-FU3CPJWQ.cjs +11 -0
  293. package/dist/sync-3IEIHXIP.cjs +18 -0
  294. package/dist/sync-7JMZVEQD.cjs +40 -0
  295. package/dist/{sync-EXYX7HXW.js → sync-KWX67OUN.js} +3 -2
  296. package/dist/sync-YVPFT7SL.js +18 -0
  297. package/dist/tasks-5FPBIFLC.js +9 -0
  298. package/dist/tasks-TXGKGNH6.cjs +9 -0
  299. package/dist/team-GVK5L73L.cjs +9 -0
  300. package/dist/team-RWIKCLTG.js +9 -0
  301. package/dist/teammate-3C4MLRGH.js +139 -0
  302. package/dist/teammate-7C3UDQSH.cjs +139 -0
  303. package/dist/theme-A2CEHI7W.js +18 -0
  304. package/dist/theme-LNOQOVR4.cjs +18 -0
  305. package/dist/ui/questionModal.cjs +7 -25
  306. package/dist/ui/questionModal.js +6 -24
  307. package/dist/undo-F2IZJQUV.js +10 -0
  308. package/dist/undo-QEV42XLU.cjs +10 -0
  309. package/dist/update-TVAJMMBC.js +82 -0
  310. package/dist/update-Z6BIIQDC.cjs +82 -0
  311. package/package.json +10 -4
  312. package/dist/CommunitySkillsCache-ILWHWE5P.js +0 -7
  313. package/dist/CommunitySkillsCache-KHC6RUJW.cjs +0 -7
  314. package/dist/HookManager-X47HCM5G.cjs +0 -6
  315. package/dist/HookManager-ZXKHCD7U.js +0 -6
  316. package/dist/MemoryManager-6ZT7IDO5.cjs +0 -7
  317. package/dist/MemoryManager-AJGS5AKB.js +0 -7
  318. package/dist/PermissionManager-HG6W2DGU.cjs +0 -10
  319. package/dist/SessionManager-BJ2G6VV4.cjs +0 -9
  320. package/dist/SessionManager-ENPGYK5J.js +0 -9
  321. package/dist/SkillsRegistry-6ZFOCT25.cjs +0 -8
  322. package/dist/SkillsRegistry-C2SHOZ5D.js +0 -8
  323. package/dist/about-BIZH6I2U.cjs +0 -11
  324. package/dist/about-PPIVMAPA.js +0 -11
  325. package/dist/add-dir-7FD4DMDA.cjs +0 -9
  326. package/dist/add-dir-LOYJ4YB5.js +0 -9
  327. package/dist/agents-2Y6ASV7C.js +0 -10
  328. package/dist/agents-UOSPKLQL.cjs +0 -10
  329. package/dist/agents-new-23NSGAM5.js +0 -13
  330. package/dist/agents-new-WI2EL7IJ.cjs +0 -13
  331. package/dist/automode-LGWTY3UX.js +0 -9
  332. package/dist/automode-WLBQ7MN7.cjs +0 -9
  333. package/dist/chunk-5UBW2BGC.js +0 -33
  334. package/dist/chunk-AXP53LTU.cjs +0 -169
  335. package/dist/chunk-IZBCMJHJ.cjs +0 -33
  336. package/dist/completion-7WGMHKOR.cjs +0 -13
  337. package/dist/completion-KH33NSGP.js +0 -13
  338. package/dist/constants-RBQTR32A.cjs +0 -20
  339. package/dist/export-3QN3IH7A.js +0 -11
  340. package/dist/export-BI54X3MP.cjs +0 -11
  341. package/dist/feedback-TBF2CUJR.js +0 -14
  342. package/dist/feedback-XXHPSUUO.cjs +0 -14
  343. package/dist/formatters-N5IJKYZY.cjs +0 -8
  344. package/dist/formatters-UG6VZJJ5.js +0 -8
  345. package/dist/help-4VSLIMP4.cjs +0 -11
  346. package/dist/history-73VBEMSI.cjs +0 -13
  347. package/dist/hooks-62UDQBGH.cjs +0 -12
  348. package/dist/hooks-XORDJD5X.js +0 -12
  349. package/dist/i18n-X2IU2EZD.cjs +0 -32
  350. package/dist/ide-RPKZALQV.js +0 -11
  351. package/dist/ide-YMNXJB6A.cjs +0 -11
  352. package/dist/init-J5HR4R7U.js +0 -9
  353. package/dist/init-JCC7RVMC.cjs +0 -9
  354. package/dist/language-AZISJCEZ.js +0 -16
  355. package/dist/language-F65RA6FZ.cjs +0 -16
  356. package/dist/localProjectPermissions-2EATUDZM.cjs +0 -17
  357. package/dist/login-5HLPMECE.js +0 -18
  358. package/dist/login-ISWYYBXP.cjs +0 -18
  359. package/dist/logout-3EKZM5J3.cjs +0 -16
  360. package/dist/logout-GE7TSZ24.js +0 -16
  361. package/dist/mcp-EW64QRFA.cjs +0 -15
  362. package/dist/mcp-VHS7AMF2.js +0 -15
  363. package/dist/memory-2I473RU3.js +0 -9
  364. package/dist/memory-JZ6NPSP3.cjs +0 -9
  365. package/dist/model-GXZLARPT.js +0 -9
  366. package/dist/model-Y274DBDO.cjs +0 -9
  367. package/dist/new-BG5VIGZ7.cjs +0 -9
  368. package/dist/new-YXFDQOA7.js +0 -9
  369. package/dist/permissions-QILEAGBP.cjs +0 -12
  370. package/dist/permissions-WVEOVMWO.js +0 -12
  371. package/dist/quit-NC32OEJG.cjs +0 -9
  372. package/dist/quit-WRRIGU33.js +0 -9
  373. package/dist/resume-GJIKIDPR.cjs +0 -12
  374. package/dist/resume-RMJNCAOK.js +0 -12
  375. package/dist/search-UIWIXB73.js +0 -14
  376. package/dist/search-WQNXDA2E.cjs +0 -14
  377. package/dist/sessions-HPFX2GDD.js +0 -9
  378. package/dist/sessions-SAQU6MFA.cjs +0 -9
  379. package/dist/share-IE6UTPKF.cjs +0 -13
  380. package/dist/share-NQXIMFSQ.js +0 -13
  381. package/dist/skills-YTYGART7.cjs +0 -13
  382. package/dist/skills-new-3WCU3CWB.js +0 -14
  383. package/dist/skills-new-O5LFVFZU.cjs +0 -14
  384. package/dist/slashCommands-3FFAL4SL.js +0 -55
  385. package/dist/slashCommands-JASFW3E4.cjs +0 -55
  386. package/dist/status-4NDGXPIM.js +0 -10
  387. package/dist/status-RHJIBHP2.cjs +0 -10
  388. package/dist/sync-3GFSEIAZ.js +0 -16
  389. package/dist/sync-6M3WRKMH.cjs +0 -39
  390. package/dist/sync-CQNQDNTJ.cjs +0 -16
  391. package/dist/theme-EMJGULMI.cjs +0 -16
  392. package/dist/theme-FGDSXNU3.js +0 -16
  393. package/dist/undo-CTXQYE7C.cjs +0 -9
  394. package/dist/undo-HX2ZMECP.js +0 -9
@@ -1,19 +1,10 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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
-
3
- var _chunkRJP3SZ7Qcjs = require('./chunk-RJP3SZ7Q.cjs');
4
-
5
-
6
-
7
- var _chunkXBUMKEFNcjs = require('./chunk-XBUMKEFN.cjs');
8
-
9
- // src/commands/search.ts
10
- var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
11
-
12
- // src/actions/web.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } 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; }// src/actions/web.ts
13
2
  var _https = require('https'); var https = _interopRequireWildcard(_https);
14
3
  var _http = require('http'); var http = _interopRequireWildcard(_http);
4
+ var _fs = require('fs');
5
+ var _child_process = require('child_process');
15
6
  var globalSearchConfig = {
16
- provider: "duckduckgo"
7
+ provider: "google"
17
8
  };
18
9
  function configureSearch(config) {
19
10
  globalSearchConfig = { ...globalSearchConfig, ...config };
@@ -21,19 +12,176 @@ function configureSearch(config) {
21
12
  function getSearchConfig() {
22
13
  return { ...globalSearchConfig };
23
14
  }
15
+ function isSearchConfigured() {
16
+ const config = getSearchConfig();
17
+ const braveKey = _nullishCoalesce(config.braveApiKey, () => ( process.env.BRAVE_SEARCH_API_KEY));
18
+ const parallelKey = _nullishCoalesce(config.parallelApiKey, () => ( process.env.PARALLEL_API_KEY));
19
+ switch (config.provider) {
20
+ case "brave":
21
+ return !!braveKey;
22
+ case "parallel":
23
+ return !!parallelKey;
24
+ case "google":
25
+ return true;
26
+ // Google scraping doesn't need an API key
27
+ case "duckduckgo":
28
+ default:
29
+ return false;
30
+ }
31
+ }
32
+ function findChromePath() {
33
+ const platform = process.platform;
34
+ const paths = [];
35
+ if (platform === "darwin") {
36
+ paths.push(
37
+ "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
38
+ "/Applications/Chromium.app/Contents/MacOS/Chromium",
39
+ "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary"
40
+ );
41
+ }
42
+ if (platform === "linux") {
43
+ paths.push(
44
+ "/usr/bin/google-chrome",
45
+ "/usr/bin/google-chrome-stable",
46
+ "/usr/bin/chromium",
47
+ "/usr/bin/chromium-browser",
48
+ "/snap/bin/chromium"
49
+ );
50
+ }
51
+ if (platform === "win32") {
52
+ const programFiles = _nullishCoalesce(process.env.PROGRAMFILES, () => ( "C:\\Program Files"));
53
+ const programFilesX86 = _nullishCoalesce(process.env["PROGRAMFILES(X86)"], () => ( "C:\\Program Files (x86)"));
54
+ const localAppData = _nullishCoalesce(process.env.LOCALAPPDATA, () => ( ""));
55
+ paths.push(
56
+ `${programFiles}\\Google\\Chrome\\Application\\chrome.exe`,
57
+ `${programFilesX86}\\Google\\Chrome\\Application\\chrome.exe`,
58
+ `${localAppData}\\Google\\Chrome\\Application\\chrome.exe`
59
+ );
60
+ }
61
+ for (const p of paths) {
62
+ if (_fs.existsSync.call(void 0, p)) {
63
+ return p;
64
+ }
65
+ }
66
+ return null;
67
+ }
68
+ function parseGoogleResultsFromDOM(html, maxResults) {
69
+ if (html.includes("unusual traffic") || html.includes("captcha-form") || html.includes("g-recaptcha") || html.includes("sorry/index")) {
70
+ return [];
71
+ }
72
+ if (html.includes("<noscript") && !html.includes('class="g"')) {
73
+ return [];
74
+ }
75
+ const results = [];
76
+ const gBlockRegex = /<div\s+class="g"[^>]*>([\s\S]*?)(?=<div\s+class="g"|<footer|$)/gi;
77
+ let blockMatch;
78
+ while ((blockMatch = gBlockRegex.exec(html)) !== null && results.length < maxResults) {
79
+ const block = blockMatch[1];
80
+ let url = null;
81
+ const urlMatch = block.match(/<a[^>]*href="(\/url\?q=([^&"]+)|https?:\/\/[^"]+)"[^>]*>/i);
82
+ if (urlMatch) {
83
+ if (urlMatch[2]) {
84
+ url = decodeURIComponent(urlMatch[2]);
85
+ } else {
86
+ url = urlMatch[1];
87
+ }
88
+ }
89
+ if (!url || url.includes("google.com") || !url.startsWith("http")) {
90
+ continue;
91
+ }
92
+ const titleMatch = block.match(/<h3[^>]*>([\s\S]*?)<\/h3>/i);
93
+ const title = titleMatch ? htmlToText(titleMatch[1]).trim() : "";
94
+ if (!title) continue;
95
+ let snippet = "";
96
+ const snippetMatch = block.match(
97
+ /class="(?:VwiC3b|st|aCOpRe|s3v9rd)[^"]*"[^>]*>([\s\S]*?)<\/(?:div|span)>/i
98
+ );
99
+ if (snippetMatch) {
100
+ snippet = htmlToText(snippetMatch[1]).trim().slice(0, 300);
101
+ }
102
+ results.push({ title, url, snippet });
103
+ }
104
+ if (results.length === 0) {
105
+ const linkH3Regex = /<a[^>]*href="(\/url\?q=(https?:\/\/[^&"]+)[^"]*|https?:\/\/[^"]+)"[^>]*>[\s\S]*?<h3[^>]*>([\s\S]*?)<\/h3>/gi;
106
+ let match;
107
+ while ((match = linkH3Regex.exec(html)) !== null && results.length < maxResults) {
108
+ const url = match[2] ? decodeURIComponent(match[2]) : match[1];
109
+ const title = htmlToText(match[3]).trim();
110
+ if (!url || !title || url.includes("google.com") || !url.startsWith("http")) continue;
111
+ results.push({ title, url, snippet: "" });
112
+ }
113
+ }
114
+ return results;
115
+ }
116
+ async function chromeHeadlessFetch(url, timeout = 2e4) {
117
+ const chromePath = findChromePath();
118
+ if (!chromePath) {
119
+ throw new Error(
120
+ "Google Chrome or Chromium not found. Install Chrome or configure a different search provider with /search."
121
+ );
122
+ }
123
+ return new Promise((resolve, reject) => {
124
+ const args = [
125
+ "--headless=new",
126
+ "--dump-dom",
127
+ "--no-sandbox",
128
+ "--disable-gpu",
129
+ "--disable-extensions",
130
+ "--disable-dev-shm-usage",
131
+ "--disable-background-networking",
132
+ "--disable-default-apps",
133
+ "--disable-sync",
134
+ "--no-first-run",
135
+ "--mute-audio",
136
+ url
137
+ ];
138
+ let stdout = "";
139
+ let stderr = "";
140
+ let killed = false;
141
+ const proc = _child_process.spawn.call(void 0, chromePath, args, {
142
+ stdio: ["ignore", "pipe", "pipe"],
143
+ timeout
144
+ });
145
+ proc.stdout.on("data", (data) => {
146
+ stdout += data.toString();
147
+ if (stdout.length > 5e5) {
148
+ killed = true;
149
+ proc.kill("SIGTERM");
150
+ }
151
+ });
152
+ proc.stderr.on("data", (data) => {
153
+ stderr += data.toString();
154
+ });
155
+ proc.on("close", (code) => {
156
+ if (killed) {
157
+ resolve(stdout.slice(0, 5e5));
158
+ return;
159
+ }
160
+ if (code !== 0 && code !== null) {
161
+ reject(new Error(`Chrome exited with code ${code}: ${stderr.slice(0, 500)}`));
162
+ return;
163
+ }
164
+ resolve(stdout);
165
+ });
166
+ proc.on("error", (err) => {
167
+ reject(new Error(`Failed to launch Chrome: ${err.message}`));
168
+ });
169
+ });
170
+ }
24
171
  async function simpleFetch(url, options = {}) {
25
172
  const timeout = _nullishCoalesce(options.timeout, () => ( 1e4));
26
173
  const maxLength = _nullishCoalesce(options.maxLength, () => ( 5e4));
27
174
  return new Promise((resolve, reject) => {
28
175
  const parsedUrl = new URL(url);
29
176
  const protocol = parsedUrl.protocol === "https:" ? https : http;
177
+ const defaultHeaders = {
178
+ "User-Agent": "Autohand-CLI/1.0 (https://autohand.ai)",
179
+ "Accept": "text/html,application/json,text/plain,*/*",
180
+ "Accept-Language": "en-US,en;q=0.9"
181
+ };
30
182
  const req = protocol.get(url, {
31
183
  timeout,
32
- headers: {
33
- "User-Agent": "Autohand-CLI/1.0 (https://autohand.ai)",
34
- "Accept": "text/html,application/json,text/plain,*/*",
35
- "Accept-Language": "en-US,en;q=0.9"
36
- }
184
+ headers: _nullishCoalesce(options.headers, () => ( defaultHeaders))
37
185
  }, (res) => {
38
186
  if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
39
187
  simpleFetch(res.headers.location, options).then(resolve).catch(reject);
@@ -97,11 +245,65 @@ async function webSearch(query, options = {}) {
97
245
  );
98
246
  }
99
247
  return parallelSearch(enhancedQuery, parallelApiKey, maxResults);
248
+ case "google":
249
+ return googleSearch(enhancedQuery, maxResults);
100
250
  case "duckduckgo":
101
251
  default:
102
252
  return duckduckgoSearch(enhancedQuery, maxResults);
103
253
  }
104
254
  }
255
+ async function googleSearch(query, maxResults) {
256
+ const searchUrl = `https://www.google.com/search?q=${encodeURIComponent(query)}&num=${maxResults}&hl=en`;
257
+ const chromePath = findChromePath();
258
+ if (chromePath) {
259
+ try {
260
+ const html = await chromeHeadlessFetch(searchUrl, 25e3);
261
+ const results = parseGoogleResultsFromDOM(html, maxResults);
262
+ if (results.length > 0) {
263
+ return results;
264
+ }
265
+ if (html.includes("unusual traffic") || html.includes("captcha") || html.includes("g-recaptcha")) {
266
+ throw new Error(
267
+ "Google blocked this search with a CAPTCHA. Your IP may be rate-limited. Configure Brave Search (free 2K queries/month) with /search command: https://brave.com/search/api/"
268
+ );
269
+ }
270
+ } catch (error) {
271
+ const msg = error instanceof Error ? error.message : String(error);
272
+ if (msg.includes("CAPTCHA") || msg.includes("blocked")) {
273
+ throw error;
274
+ }
275
+ }
276
+ }
277
+ try {
278
+ const html = await simpleFetch(searchUrl, {
279
+ timeout: 15e3,
280
+ maxLength: 2e5,
281
+ headers: {
282
+ "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
283
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
284
+ "Accept-Language": "en-US,en;q=0.9"
285
+ }
286
+ });
287
+ if (html.includes("unusual traffic") || html.includes("captcha") || html.includes("sorry/index")) {
288
+ throw new Error(
289
+ "Google blocked this search request. Configure Brave Search (free 2K queries/month) with /search command: https://brave.com/search/api/"
290
+ );
291
+ }
292
+ const results = parseGoogleResultsFromDOM(html, maxResults);
293
+ if (results.length > 0) {
294
+ return results;
295
+ }
296
+ } catch (error) {
297
+ const msg = error instanceof Error ? error.message : String(error);
298
+ if (msg.includes("blocked") || msg.includes("CAPTCHA")) {
299
+ throw new Error(`Google search failed: ${msg}`);
300
+ }
301
+ }
302
+ const hasChrome = !!chromePath;
303
+ throw new Error(
304
+ `Google search failed: Could not retrieve results${hasChrome ? "" : " (Chrome not installed)"}. Configure Brave Search for reliable results: /search \u2192 Brave (free 2K queries/month at https://brave.com/search/api/)`
305
+ );
306
+ }
105
307
  async function duckduckgoSearch(query, maxResults) {
106
308
  try {
107
309
  const searchUrl = `https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`;
@@ -462,108 +664,6 @@ function formatPackageInfo(info) {
462
664
  return lines.join("\n");
463
665
  }
464
666
 
465
- // src/commands/search.ts
466
- async function search(ctx) {
467
- const currentConfig = getSearchConfig();
468
- const config = ctx.config;
469
- console.log(_chalk2.default.bold("\nWeb Search Configuration\n"));
470
- console.log(_chalk2.default.gray(`Current provider: ${_chalk2.default.cyan(currentConfig.provider)}`));
471
- const braveKeySet = !!(currentConfig.braveApiKey || process.env.BRAVE_SEARCH_API_KEY);
472
- const parallelKeySet = !!(currentConfig.parallelApiKey || process.env.PARALLEL_API_KEY);
473
- console.log(_chalk2.default.gray(`Brave API key: ${braveKeySet ? _chalk2.default.green("configured") : _chalk2.default.yellow("not set")}`));
474
- console.log(_chalk2.default.gray(`Parallel API key: ${parallelKeySet ? _chalk2.default.green("configured") : _chalk2.default.yellow("not set")}`));
475
- console.log();
476
- const providerOptions = [
477
- {
478
- label: `DuckDuckGo ${_chalk2.default.gray("(no API key required, may be blocked by CAPTCHA)")}`,
479
- value: "duckduckgo"
480
- },
481
- {
482
- label: `Brave Search ${_chalk2.default.gray("(requires API key)")} ${braveKeySet ? _chalk2.default.green("\u2713") : ""}`,
483
- value: "brave"
484
- },
485
- {
486
- label: `Parallel.ai ${_chalk2.default.gray("(requires API key)")} ${parallelKeySet ? _chalk2.default.green("\u2713") : ""}`,
487
- value: "parallel"
488
- }
489
- ];
490
- try {
491
- const result = await _chunkXBUMKEFNcjs.showModal.call(void 0, {
492
- title: "Select search provider:",
493
- options: providerOptions,
494
- initialIndex: providerOptions.findIndex((c) => c.value === currentConfig.provider)
495
- });
496
- if (!result) {
497
- console.log(_chalk2.default.gray("Search configuration cancelled."));
498
- return null;
499
- }
500
- const provider = result.value;
501
- let braveApiKey = currentConfig.braveApiKey;
502
- let parallelApiKey = currentConfig.parallelApiKey;
503
- if (provider === "brave" && !braveKeySet) {
504
- console.log(_chalk2.default.gray("\nGet your free Brave Search API key at: https://brave.com/search/api/\n"));
505
- const apiKey = await _chunkXBUMKEFNcjs.showPassword.call(void 0, {
506
- title: "Enter Brave Search API key:"
507
- });
508
- if (_optionalChain([apiKey, 'optionalAccess', _40 => _40.trim, 'call', _41 => _41()])) {
509
- braveApiKey = apiKey.trim();
510
- } else {
511
- console.log(_chalk2.default.yellow("No API key entered. Brave Search will not work without an API key."));
512
- return null;
513
- }
514
- }
515
- if (provider === "parallel" && !parallelKeySet) {
516
- console.log(_chalk2.default.gray("\nGet your Parallel.ai API key at: https://platform.parallel.ai\n"));
517
- const apiKey = await _chunkXBUMKEFNcjs.showPassword.call(void 0, {
518
- title: "Enter Parallel.ai API key:"
519
- });
520
- if (_optionalChain([apiKey, 'optionalAccess', _42 => _42.trim, 'call', _43 => _43()])) {
521
- parallelApiKey = apiKey.trim();
522
- } else {
523
- console.log(_chalk2.default.yellow("No API key entered. Parallel.ai Search will not work without an API key."));
524
- return null;
525
- }
526
- }
527
- configureSearch({
528
- provider,
529
- braveApiKey,
530
- parallelApiKey
531
- });
532
- if (config) {
533
- config.search = {
534
- provider,
535
- braveApiKey,
536
- parallelApiKey
537
- };
538
- await _chunkRJP3SZ7Qcjs.saveConfig.call(void 0, config);
539
- console.log(_chalk2.default.green(`
540
- \u2713 Search provider set to ${provider} and saved to config`));
541
- } else {
542
- console.log(_chalk2.default.green(`
543
- \u2713 Search provider set to ${provider} (session only)`));
544
- }
545
- switch (provider) {
546
- case "duckduckgo":
547
- console.log(_chalk2.default.gray("Note: DuckDuckGo may block automated requests with a CAPTCHA."));
548
- break;
549
- case "brave":
550
- console.log(_chalk2.default.gray("Brave Search is now active. Free tier allows 2,000 queries/month."));
551
- break;
552
- case "parallel":
553
- console.log(_chalk2.default.gray("Parallel.ai Search is now active with deep research capabilities."));
554
- break;
555
- }
556
- return null;
557
- } catch (error) {
558
- throw error;
559
- }
560
- }
561
- var metadata = {
562
- command: "/search",
563
- description: "configure web search provider (brave, duckduckgo, parallel)",
564
- implemented: true
565
- };
566
-
567
667
 
568
668
 
569
669
 
@@ -573,7 +673,7 @@ var metadata = {
573
673
 
574
674
 
575
675
 
576
- exports.configureSearch = configureSearch; exports.webSearch = webSearch; exports.fetchUrl = fetchUrl; exports.getPackageInfo = getPackageInfo; exports.formatSearchResults = formatSearchResults; exports.formatPackageInfo = formatPackageInfo; exports.search = search; exports.metadata = metadata;
676
+ exports.configureSearch = configureSearch; exports.getSearchConfig = getSearchConfig; exports.isSearchConfigured = isSearchConfigured; exports.webSearch = webSearch; exports.fetchUrl = fetchUrl; exports.getPackageInfo = getPackageInfo; exports.formatSearchResults = formatSearchResults; exports.formatPackageInfo = formatPackageInfo;
577
677
  /**
578
678
  * @license
579
679
  * Copyright 2025 Autohand AI LLC
@@ -582,8 +682,3 @@ exports.configureSearch = configureSearch; exports.webSearch = webSearch; export
582
682
  * Web search and URL fetching capabilities for up-to-date information
583
683
  * about packages, dependencies, documentation, and changelogs.
584
684
  */
585
- /**
586
- * @license
587
- * Copyright 2025 Autohand AI LLC
588
- * SPDX-License-Identifier: Apache-2.0
589
- */
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-NMWEDN4Z.js";
3
+ } from "./chunk-HFMLWH7B.js";
4
4
 
5
5
  // src/commands/quit.ts
6
6
  async function quit() {
@@ -169,6 +169,114 @@ var en_default = {
169
169
  description: "start a new conversation",
170
170
  cleared: "Conversation cleared. Starting fresh."
171
171
  },
172
+ clear: {
173
+ description: "clear conversation with automatic memory extraction",
174
+ savedMemories: "Saved {{count}} memories ({{details}}). Starting fresh session.",
175
+ noMemories: "No patterns detected. Starting fresh session."
176
+ },
177
+ settings: {
178
+ description: "configure autohand settings",
179
+ title: "Settings",
180
+ selectCategory: "Select a category:",
181
+ selectSetting: "Select a setting to change:",
182
+ saved: "Setting saved.",
183
+ cancelled: "Cancelled.",
184
+ redirect: "Use {{command}} to change this setting.",
185
+ back: "Back",
186
+ on: "on",
187
+ off: "off",
188
+ currentValue: "Current: {{value}}",
189
+ categories: {
190
+ ui: "UI & Display",
191
+ agent: "Agent Behavior",
192
+ permissions: "Permissions",
193
+ network: "Network",
194
+ telemetry: "Telemetry & Reporting",
195
+ automode: "Auto-mode",
196
+ teams: "Teams",
197
+ search: "Search"
198
+ },
199
+ ui: {
200
+ theme: "Theme",
201
+ locale: "Language",
202
+ autoConfirm: "Auto-confirm actions",
203
+ autoConfirmDesc: "Skip confirmation prompts for tool actions",
204
+ showThinking: "Show LLM thinking",
205
+ showThinkingDesc: "Display the model reasoning process",
206
+ terminalBell: "Terminal bell",
207
+ terminalBellDesc: "Ring bell when task completes",
208
+ checkForUpdates: "Check for updates",
209
+ checkForUpdatesDesc: "Check for CLI updates on startup",
210
+ showCompletionNotification: "Completion notifications",
211
+ showCompletionNotificationDesc: "Show OS notification when work completes",
212
+ promptSuggestions: "Prompt suggestions",
213
+ promptSuggestionsDesc: "Show LLM-generated next-step suggestions",
214
+ activitySymbol: "Activity symbol",
215
+ activitySymbolDesc: "Symbol shown before activity verb",
216
+ updateCheckInterval: "Update check interval (hours)",
217
+ updateCheckIntervalDesc: "Hours between update checks"
218
+ },
219
+ agent: {
220
+ maxIterations: "Max iterations",
221
+ maxIterationsDesc: "Maximum tool iterations per request",
222
+ enableRequestQueue: "Request queue",
223
+ enableRequestQueueDesc: "Allow typing while agent works",
224
+ sessionRetryLimit: "Session retry limit",
225
+ sessionRetryLimitDesc: "Max retries before giving up",
226
+ sessionRetryDelay: "Retry delay (ms)",
227
+ sessionRetryDelayDesc: "Delay between retries in milliseconds",
228
+ debug: "Debug mode",
229
+ debugDesc: "Enable debug output"
230
+ },
231
+ permissions: {
232
+ mode: "Permission mode",
233
+ modeDesc: "How tool permissions are handled",
234
+ rememberSession: "Remember session decisions",
235
+ rememberSessionDesc: "Remember permission choices for this session"
236
+ },
237
+ network: {
238
+ maxRetries: "Max retries",
239
+ maxRetriesDesc: "Maximum retry attempts for failed requests",
240
+ timeout: "Timeout (ms)",
241
+ timeoutDesc: "Request timeout in milliseconds",
242
+ retryDelay: "Retry delay (ms)",
243
+ retryDelayDesc: "Delay between retries in milliseconds"
244
+ },
245
+ telemetry: {
246
+ enabled: "Telemetry",
247
+ enabledDesc: "Send anonymous usage data",
248
+ autoReportEnabled: "Auto error reporting",
249
+ autoReportEnabledDesc: "Automatically report errors to GitHub"
250
+ },
251
+ automode: {
252
+ maxIterations: "Max iterations",
253
+ maxIterationsDesc: "Default max iterations for auto-mode",
254
+ maxRuntime: "Max runtime (minutes)",
255
+ maxRuntimeDesc: "Default max runtime in minutes",
256
+ maxCost: "Max cost ($)",
257
+ maxCostDesc: "Default max cost in dollars",
258
+ checkpointInterval: "Checkpoint interval",
259
+ checkpointIntervalDesc: "Iterations between git checkpoints",
260
+ useWorktree: "Use worktree",
261
+ useWorktreeDesc: "Use git worktree by default"
262
+ },
263
+ teams: {
264
+ enabled: "Teams enabled",
265
+ enabledDesc: "Enable team coordination features",
266
+ teammateMode: "Teammate mode",
267
+ teammateModeDesc: "Display mode for teammates",
268
+ maxTeammates: "Max teammates",
269
+ maxTeammatesDesc: "Maximum simultaneous teammates"
270
+ },
271
+ search: {
272
+ provider: "Search provider",
273
+ providerDesc: "Active web search provider",
274
+ braveApiKey: "Brave API key",
275
+ braveApiKeyDesc: "API key for Brave Search",
276
+ parallelApiKey: "Parallel API key",
277
+ parallelApiKeyDesc: "API key for Parallel.ai"
278
+ }
279
+ },
172
280
  status: {
173
281
  description: "show current status",
174
282
  title: "Autohand Status",