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
@@ -0,0 +1,387 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkXF2WIKHRcjs = require('./chunk-XF2WIKHR.cjs');
4
+
5
+ // src/startup/checks.ts
6
+ var _child_process = require('child_process');
7
+ var _fs = require('fs');
8
+ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
9
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
10
+ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
11
+ var GIT_COMMAND_TIMEOUT_MS = 5e3;
12
+ var toolCheckResultsPromise;
13
+ function getCurrentBunVersion() {
14
+ return process.versions.bun;
15
+ }
16
+ var REQUIRED_TOOLS = [
17
+ {
18
+ name: "git",
19
+ command: "git",
20
+ versionFlag: "--version",
21
+ required: true,
22
+ description: "Version control (required for file tracking, undo, and git operations)",
23
+ installHints: {
24
+ darwin: "brew install git",
25
+ linux: "sudo apt install git # or: sudo dnf install git",
26
+ win32: "winget install Git.Git # or download from https://git-scm.com"
27
+ }
28
+ },
29
+ {
30
+ name: "ripgrep",
31
+ command: "rg",
32
+ versionFlag: "--version",
33
+ required: false,
34
+ description: "Fast code search (recommended for better search performance)",
35
+ installHints: {
36
+ darwin: "brew install ripgrep",
37
+ linux: "sudo apt install ripgrep # or: cargo install ripgrep",
38
+ win32: "winget install BurntSushi.ripgrep # or: scoop install ripgrep"
39
+ }
40
+ }
41
+ ];
42
+ var OPTIONAL_TOOLS = [
43
+ {
44
+ name: "node",
45
+ command: "node",
46
+ versionFlag: "--version",
47
+ required: false,
48
+ description: "Node.js runtime (for npm/yarn package management)",
49
+ installHints: {
50
+ darwin: "brew install node # or: nvm install node",
51
+ linux: "sudo apt install nodejs # or: nvm install node",
52
+ win32: "winget install OpenJS.NodeJS # or download from https://nodejs.org"
53
+ },
54
+ minVersion: "18.0.0"
55
+ },
56
+ {
57
+ name: "bun",
58
+ command: "bun",
59
+ versionFlag: "--version",
60
+ required: false,
61
+ description: "Bun runtime (fast JavaScript/TypeScript runtime)",
62
+ installHints: {
63
+ darwin: "curl -fsSL https://bun.sh/install | bash",
64
+ linux: "curl -fsSL https://bun.sh/install | bash",
65
+ win32: 'powershell -c "irm bun.sh/install.ps1 | iex"'
66
+ }
67
+ }
68
+ ];
69
+ function checkTool(tool) {
70
+ const platform = _os2.default.platform();
71
+ const installHint = tool.installHints[platform] || tool.installHints.linux;
72
+ const command = tool.command === "rg" ? _chunkXF2WIKHRcjs.resolveRipgrepCommand.call(void 0, ) : tool.command;
73
+ const currentBunVersion = tool.command === "bun" ? getCurrentBunVersion() : void 0;
74
+ if (tool.command === "bun") {
75
+ return Promise.resolve({
76
+ name: tool.name,
77
+ installed: currentBunVersion !== void 0,
78
+ version: currentBunVersion,
79
+ required: tool.required,
80
+ description: tool.description,
81
+ installHint: currentBunVersion === void 0 ? installHint : void 0
82
+ });
83
+ }
84
+ return new Promise((resolve) => {
85
+ try {
86
+ const proc = _child_process.spawn.call(void 0, command, [tool.versionFlag], {
87
+ stdio: ["pipe", "pipe", "pipe"]
88
+ });
89
+ let stdout = "";
90
+ let stderr = "";
91
+ const timeout = setTimeout(() => {
92
+ proc.kill();
93
+ resolve({
94
+ name: tool.name,
95
+ installed: false,
96
+ required: tool.required,
97
+ description: tool.description,
98
+ installHint
99
+ });
100
+ }, 5e3);
101
+ _optionalChain([proc, 'access', _ => _.stdout, 'optionalAccess', _2 => _2.on, 'call', _3 => _3("data", (chunk) => {
102
+ stdout += chunk.toString();
103
+ })]);
104
+ _optionalChain([proc, 'access', _4 => _4.stderr, 'optionalAccess', _5 => _5.on, 'call', _6 => _6("data", (chunk) => {
105
+ stderr += chunk.toString();
106
+ })]);
107
+ proc.on("close", (code) => {
108
+ clearTimeout(timeout);
109
+ if (code === 0) {
110
+ const output = (stdout || stderr).trim();
111
+ const versionMatch = output.match(/(\d+\.\d+(\.\d+)?)/);
112
+ const version = versionMatch ? versionMatch[1] : "unknown";
113
+ resolve({
114
+ name: tool.name,
115
+ installed: true,
116
+ version,
117
+ required: tool.required,
118
+ description: tool.description
119
+ });
120
+ } else {
121
+ resolve({
122
+ name: tool.name,
123
+ installed: false,
124
+ required: tool.required,
125
+ description: tool.description,
126
+ installHint
127
+ });
128
+ }
129
+ });
130
+ proc.on("error", () => {
131
+ clearTimeout(timeout);
132
+ resolve({
133
+ name: tool.name,
134
+ installed: false,
135
+ required: tool.required,
136
+ description: tool.description,
137
+ installHint
138
+ });
139
+ });
140
+ } catch (e2) {
141
+ resolve({
142
+ name: tool.name,
143
+ installed: false,
144
+ required: tool.required,
145
+ description: tool.description,
146
+ installHint
147
+ });
148
+ }
149
+ });
150
+ }
151
+ function checkStartupTools() {
152
+ toolCheckResultsPromise ??= Promise.all(
153
+ [...REQUIRED_TOOLS, ...OPTIONAL_TOOLS].map((tool) => checkTool(tool))
154
+ );
155
+ return toolCheckResultsPromise;
156
+ }
157
+ async function checkWorkspaceWritable(workspaceRoot) {
158
+ try {
159
+ const testFile = `${workspaceRoot}/.autohand-write-test-${Date.now()}`;
160
+ await _fsextra2.default.writeFile(testFile, "test");
161
+ await _fsextra2.default.remove(testFile);
162
+ return { writable: true };
163
+ } catch (error) {
164
+ return {
165
+ writable: false,
166
+ error: `Cannot write to workspace: ${error.message}`
167
+ };
168
+ }
169
+ }
170
+ async function validateWorkspacePath(workspaceRoot) {
171
+ try {
172
+ if (!await _fsextra2.default.pathExists(workspaceRoot)) {
173
+ return {
174
+ valid: false,
175
+ error: `Workspace path does not exist: ${workspaceRoot}`
176
+ };
177
+ }
178
+ const stats = await _fsextra2.default.stat(workspaceRoot);
179
+ if (!stats.isDirectory()) {
180
+ return {
181
+ valid: false,
182
+ error: `Workspace path is not a directory: ${workspaceRoot}`
183
+ };
184
+ }
185
+ await _fsextra2.default.access(workspaceRoot, _fs.constants.R_OK | _fs.constants.W_OK);
186
+ return { valid: true };
187
+ } catch (error) {
188
+ return {
189
+ valid: false,
190
+ error: `Cannot access workspace: ${error.message}`
191
+ };
192
+ }
193
+ }
194
+ function isEmptyDirectory(dir) {
195
+ try {
196
+ const entries = _fsextra2.default.readdirSync(dir);
197
+ const significantEntries = entries.filter((e) => !e.startsWith(".") || e === ".git");
198
+ return significantEntries.length === 0;
199
+ } catch (e3) {
200
+ return false;
201
+ }
202
+ }
203
+ function runGitCommand(args, cwd) {
204
+ return new Promise((resolve) => {
205
+ try {
206
+ const proc = _child_process.spawn.call(void 0, "git", args, { cwd, stdio: ["pipe", "pipe", "pipe"] });
207
+ let stdout = "";
208
+ const timeout = setTimeout(() => {
209
+ proc.kill();
210
+ resolve(void 0);
211
+ }, GIT_COMMAND_TIMEOUT_MS);
212
+ _optionalChain([proc, 'access', _7 => _7.stdout, 'optionalAccess', _8 => _8.on, 'call', _9 => _9("data", (chunk) => {
213
+ stdout += chunk.toString();
214
+ })]);
215
+ proc.on("close", (code) => {
216
+ clearTimeout(timeout);
217
+ resolve(code === 0 ? stdout.trim() : void 0);
218
+ });
219
+ proc.on("error", () => {
220
+ clearTimeout(timeout);
221
+ resolve(void 0);
222
+ });
223
+ } catch (e4) {
224
+ resolve(void 0);
225
+ }
226
+ });
227
+ }
228
+ async function getGitBranch(workspaceRoot) {
229
+ const headBranch = readGitHeadBranch(workspaceRoot);
230
+ if (headBranch) return headBranch;
231
+ const branch = await runGitCommand(["rev-parse", "--abbrev-ref", "HEAD"], workspaceRoot);
232
+ if (branch) return branch;
233
+ return runGitCommand(["symbolic-ref", "--short", "HEAD"], workspaceRoot);
234
+ }
235
+ function readGitHeadBranch(workspaceRoot) {
236
+ try {
237
+ const head = _fsextra2.default.readFileSync(`${workspaceRoot}/.git/HEAD`, "utf8").trim();
238
+ const refPrefix = "ref: refs/heads/";
239
+ if (head.startsWith(refPrefix)) {
240
+ const branch = head.slice(refPrefix.length).trim();
241
+ return branch || void 0;
242
+ }
243
+ } catch (e5) {
244
+ return void 0;
245
+ }
246
+ return void 0;
247
+ }
248
+ async function checkGitRepo(workspaceRoot) {
249
+ const gitDirExists = _fsextra2.default.existsSync(`${workspaceRoot}/.git`);
250
+ if (gitDirExists) {
251
+ if (!_fsextra2.default.existsSync(`${workspaceRoot}/.git/HEAD`)) {
252
+ return { isGitRepo: true };
253
+ }
254
+ const branch = await getGitBranch(workspaceRoot);
255
+ return {
256
+ isGitRepo: true,
257
+ branch
258
+ };
259
+ }
260
+ if (isEmptyDirectory(workspaceRoot)) {
261
+ const initResult = await runGitCommand(["init"], workspaceRoot);
262
+ if (initResult !== void 0 || _fsextra2.default.existsSync(`${workspaceRoot}/.git/HEAD`)) {
263
+ if (_os2.default.platform() === "darwin") {
264
+ try {
265
+ const gitignorePath = `${workspaceRoot}/.gitignore`;
266
+ if (!_fsextra2.default.existsSync(gitignorePath)) {
267
+ _fsextra2.default.writeFileSync(gitignorePath, ".DS_Store\n");
268
+ }
269
+ } catch (e6) {
270
+ }
271
+ }
272
+ const branch = await getGitBranch(workspaceRoot) || "main";
273
+ return {
274
+ isGitRepo: true,
275
+ branch,
276
+ initialized: true
277
+ };
278
+ }
279
+ }
280
+ return { isGitRepo: false };
281
+ }
282
+ function getPackageManagerHint() {
283
+ const platform = _os2.default.platform();
284
+ switch (platform) {
285
+ case "darwin":
286
+ return "Homebrew (brew)";
287
+ case "linux":
288
+ return "apt, dnf, or your distro package manager";
289
+ case "win32":
290
+ return "winget, scoop, or chocolatey";
291
+ default:
292
+ return "your system package manager";
293
+ }
294
+ }
295
+ async function runStartupChecks(workspaceRoot) {
296
+ const warnings = [];
297
+ const [toolResults, workspaceCheck, gitCheck] = await Promise.all([
298
+ checkStartupTools(),
299
+ checkWorkspaceWritable(workspaceRoot),
300
+ checkGitRepo(workspaceRoot)
301
+ ]);
302
+ for (const result of toolResults) {
303
+ if (!result.installed && result.required) {
304
+ warnings.push(`Required tool '${result.name}' is not installed`);
305
+ }
306
+ }
307
+ if (!workspaceCheck.writable) {
308
+ warnings.push(workspaceCheck.error || "Workspace is not writable");
309
+ }
310
+ const allRequiredMet = toolResults.filter((r) => r.required).every((r) => r.installed);
311
+ return {
312
+ tools: toolResults,
313
+ workspace: {
314
+ path: workspaceRoot,
315
+ writable: workspaceCheck.writable,
316
+ isGitRepo: gitCheck.isGitRepo,
317
+ branch: gitCheck.branch,
318
+ initialized: gitCheck.initialized,
319
+ error: workspaceCheck.error
320
+ },
321
+ allRequiredMet,
322
+ warnings
323
+ };
324
+ }
325
+ function printStartupCheckResults(results, verbose = false) {
326
+ const missingRequired = results.tools.filter((t) => t.required && !t.installed);
327
+ const missingOptional = results.tools.filter((t) => !t.required && !t.installed);
328
+ if (results.workspace.initialized) {
329
+ console.log(_chalk2.default.green("\u2713 Initialized git repository"));
330
+ console.log();
331
+ }
332
+ if (missingRequired.length === 0 && !verbose) {
333
+ return;
334
+ }
335
+ console.log();
336
+ if (missingRequired.length > 0) {
337
+ console.log(_chalk2.default.red.bold("\u26A0 Missing required tools:"));
338
+ console.log();
339
+ for (const tool of missingRequired) {
340
+ console.log(_chalk2.default.red(` \u2717 ${tool.name}`));
341
+ console.log(_chalk2.default.gray(` ${tool.description}`));
342
+ console.log(_chalk2.default.cyan(` Install: ${tool.installHint}`));
343
+ console.log();
344
+ }
345
+ }
346
+ if (missingOptional.length > 0 && verbose) {
347
+ console.log(_chalk2.default.yellow("Optional tools not installed:"));
348
+ for (const tool of missingOptional) {
349
+ console.log(_chalk2.default.yellow(` \u25CB ${tool.name}`) + _chalk2.default.gray(` - ${tool.description}`));
350
+ console.log(_chalk2.default.gray(` Install: ${tool.installHint}`));
351
+ }
352
+ console.log();
353
+ }
354
+ if (!results.workspace.writable) {
355
+ console.log(_chalk2.default.red(`\u26A0 Workspace issue: ${results.workspace.error}`));
356
+ console.log();
357
+ }
358
+ if (verbose) {
359
+ const installed = results.tools.filter((t) => t.installed);
360
+ if (installed.length > 0) {
361
+ console.log(_chalk2.default.green("Installed tools:"));
362
+ for (const tool of installed) {
363
+ const version = tool.version ? _chalk2.default.gray(` (${tool.version})`) : "";
364
+ console.log(_chalk2.default.green(` \u2713 ${tool.name}${version}`));
365
+ }
366
+ console.log();
367
+ }
368
+ }
369
+ if (!results.allRequiredMet) {
370
+ console.log(_chalk2.default.red.bold("Some required tools are missing. Autohand may not work correctly."));
371
+ console.log(_chalk2.default.gray(`Use ${getPackageManagerHint()} to install them.`));
372
+ console.log();
373
+ }
374
+ }
375
+
376
+
377
+
378
+
379
+
380
+ exports.validateWorkspacePath = validateWorkspacePath; exports.runStartupChecks = runStartupChecks; exports.printStartupCheckResults = printStartupCheckResults;
381
+ /**
382
+ * @license
383
+ * Copyright 2025 Autohand AI LLC
384
+ * SPDX-License-Identifier: Apache-2.0
385
+ *
386
+ * Startup checks - validates required tools and environment
387
+ */
@@ -0,0 +1,197 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/providers/errors.ts
2
+ var ApiError = class extends Error {
3
+
4
+
5
+
6
+
7
+
8
+ constructor(message, code, httpStatus, retryable, retryAfterMs, rawDetail) {
9
+ super(message);
10
+ this.name = "ApiError";
11
+ this.code = code;
12
+ this.httpStatus = httpStatus;
13
+ this.retryable = retryable;
14
+ this.retryAfterMs = retryAfterMs;
15
+ this.rawDetail = rawDetail;
16
+ }
17
+ };
18
+ var FRIENDLY_MESSAGES = {
19
+ context_overflow: "The conversation is too long for this model. Try /undo to remove recent turns or /new to start fresh.",
20
+ model_not_found: "The requested model was not found. Use /model to select a different one.",
21
+ invalid_request: "The request was malformed and could not be processed.",
22
+ auth_failed: "Authentication failed. Please verify your API key in ~/.autohand/config.json.",
23
+ payment_required: "Payment required. Please check your account balance or billing settings.",
24
+ access_denied: "Access denied. Your API key may not have permission for this model.",
25
+ rate_limited: "Rate limit exceeded. Please wait a moment and try again, or choose a different model.",
26
+ server_error: "The AI service encountered an error. Please try again later.",
27
+ network_error: "Unable to connect to the AI service. Please check your internet connection.",
28
+ timeout: "The request timed out. The AI service may be experiencing high load.",
29
+ cancelled: "Request cancelled.",
30
+ unknown: "An unexpected error occurred. Please try again."
31
+ };
32
+ var MODEL_NOT_FOUND_PATTERNS = [
33
+ "invalid model",
34
+ "model does not exist",
35
+ "model not found",
36
+ "no endpoints found for model",
37
+ "does not exist or you do not have access",
38
+ // OpenRouter returns "X is not a valid model ID" for bad model names
39
+ "is not a valid model",
40
+ // Catch "model 'xyz' not found" where 'not found' is separate from 'model'
41
+ "' not found",
42
+ '" not found'
43
+ ];
44
+ var CONTEXT_OVERFLOW_PATTERNS = [
45
+ "maximum context length",
46
+ "context length exceeded",
47
+ "context is too long",
48
+ "prompt is too long",
49
+ "reduce the length",
50
+ "payload too large",
51
+ "context window",
52
+ "token limit",
53
+ "tokens exceeds",
54
+ "too many tokens"
55
+ ];
56
+ var CANCEL_PATTERNS = [
57
+ "cancelled",
58
+ "canceled",
59
+ "aborted",
60
+ "user force closed"
61
+ ];
62
+ var NETWORK_PATTERNS = [
63
+ "econnrefused",
64
+ "econnreset",
65
+ "enotfound",
66
+ "etimedout",
67
+ "fetch failed",
68
+ "network",
69
+ "unable to connect"
70
+ ];
71
+ var TIMEOUT_PATTERNS = [
72
+ "timed out",
73
+ "timeout"
74
+ ];
75
+ function classifyApiError(httpStatus, errorBody, headers) {
76
+ const lower = errorBody.toLowerCase();
77
+ if (httpStatus === 401) {
78
+ return makeError("auth_failed", httpStatus, false, errorBody, headers);
79
+ }
80
+ if (httpStatus === 402) {
81
+ return makeError("payment_required", httpStatus, false, errorBody, headers);
82
+ }
83
+ if (httpStatus === 403) {
84
+ return makeError("access_denied", httpStatus, false, errorBody, headers);
85
+ }
86
+ if (httpStatus === 404) {
87
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
88
+ }
89
+ if (httpStatus === 429) {
90
+ return makeError("rate_limited", httpStatus, true, errorBody, headers);
91
+ }
92
+ if (httpStatus === 504) {
93
+ return makeError("timeout", httpStatus, true, errorBody, headers);
94
+ }
95
+ if (httpStatus >= 500) {
96
+ return makeError("server_error", httpStatus, true, errorBody, headers);
97
+ }
98
+ if (httpStatus === 400) {
99
+ if (matchesAny(lower, MODEL_NOT_FOUND_PATTERNS)) {
100
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
101
+ }
102
+ if (matchesAny(lower, CONTEXT_OVERFLOW_PATTERNS)) {
103
+ return makeError("context_overflow", httpStatus, true, errorBody, headers);
104
+ }
105
+ return makeError("invalid_request", httpStatus, false, errorBody, headers);
106
+ }
107
+ if (matchesAny(lower, CANCEL_PATTERNS)) {
108
+ return makeError("cancelled", httpStatus, false, errorBody, headers);
109
+ }
110
+ if (matchesAny(lower, TIMEOUT_PATTERNS)) {
111
+ return makeError("timeout", httpStatus, true, errorBody, headers);
112
+ }
113
+ if (matchesAny(lower, NETWORK_PATTERNS)) {
114
+ return makeError("network_error", httpStatus, true, errorBody, headers);
115
+ }
116
+ if (httpStatus === 0 || httpStatus === void 0) {
117
+ if (matchesAny(lower, MODEL_NOT_FOUND_PATTERNS)) {
118
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
119
+ }
120
+ if (matchesAny(lower, CONTEXT_OVERFLOW_PATTERNS)) {
121
+ return makeError("context_overflow", httpStatus, true, errorBody, headers);
122
+ }
123
+ }
124
+ return makeError("unknown", httpStatus, true, errorBody, headers);
125
+ }
126
+ function matchesAny(lower, patterns) {
127
+ return patterns.some((p) => lower.includes(p));
128
+ }
129
+ function stripHtmlFromBody(body) {
130
+ if (!/<[a-z/][\s\S]*>/i.test(body)) {
131
+ return body;
132
+ }
133
+ return body.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
134
+ }
135
+ function makeError(code, httpStatus, retryable, rawBody, headers) {
136
+ const friendlyMessage = FRIENDLY_MESSAGES[code];
137
+ const displayBody = rawBody ? stripHtmlFromBody(rawBody) : "";
138
+ const message = displayBody ? `${friendlyMessage}
139
+ ${displayBody}` : friendlyMessage;
140
+ const retryAfterMs = _nullishCoalesce(parseRetryAfter(headers), () => ( inferRetryAfterFromBody(code, rawBody)));
141
+ return new ApiError(message, code, httpStatus, retryable, retryAfterMs, rawBody);
142
+ }
143
+ function inferRetryAfterFromBody(code, rawBody) {
144
+ if (code !== "rate_limited") {
145
+ return void 0;
146
+ }
147
+ const rpmMatch = rawBody.match(/limited to\s+(\d+)\s+requests?\s+per\s+minute/i);
148
+ if (rpmMatch) {
149
+ const rpm = Number(rpmMatch[1]);
150
+ if (Number.isFinite(rpm) && rpm > 0) {
151
+ return Math.ceil(6e4 / rpm);
152
+ }
153
+ }
154
+ const secondsMatch = rawBody.match(/retry (?:after|in)\s+(\d+)\s+seconds?/i);
155
+ if (secondsMatch) {
156
+ const seconds = Number(secondsMatch[1]);
157
+ if (Number.isFinite(seconds) && seconds > 0) {
158
+ return seconds * 1e3;
159
+ }
160
+ }
161
+ return void 0;
162
+ }
163
+ function sanitizeModelId(raw) {
164
+ return raw.replace(/\x1b\[20[01]~/g, "").replace(/\[20[01]~/g, "").replace(/[\x00-\x1f\x7f]/g, "").trim();
165
+ }
166
+ function parseRetryAfter(headers) {
167
+ if (!headers) return void 0;
168
+ const value = headers.get("retry-after");
169
+ if (!value) return void 0;
170
+ const seconds = Number(value);
171
+ if (!Number.isNaN(seconds) && seconds > 0) {
172
+ return seconds * 1e3;
173
+ }
174
+ const dateMs = Date.parse(value);
175
+ if (!Number.isNaN(dateMs)) {
176
+ const delayMs = dateMs - Date.now();
177
+ return delayMs > 0 ? delayMs : void 0;
178
+ }
179
+ return void 0;
180
+ }
181
+
182
+
183
+
184
+
185
+
186
+ exports.ApiError = ApiError; exports.classifyApiError = classifyApiError; exports.sanitizeModelId = sanitizeModelId;
187
+ /**
188
+ * @license
189
+ * Copyright 2025 Autohand AI LLC
190
+ * SPDX-License-Identifier: Apache-2.0
191
+ *
192
+ * Centralized API error classification.
193
+ *
194
+ * Every provider (OpenRouter, Azure, MLX, Ollama, LLMGateway) and every
195
+ * consumer (agent.ts, RPC adapter, ACP adapter) delegates to this module
196
+ * so error handling logic lives in one place.
197
+ */
@@ -0,0 +1,108 @@
1
+ // package.json
2
+ var package_default = {
3
+ name: "autohand-cli",
4
+ version: "0.9.0",
5
+ license: "Apache-2.0",
6
+ description: "Autohand Code CLI is a fast, terminal-native AI coding agent for planning, editing, testing, and automating software work.",
7
+ repository: {
8
+ type: "git",
9
+ url: "https://github.com/autohandai/code-cli.git"
10
+ },
11
+ homepage: "https://autohand.ai/cli/",
12
+ bugs: {
13
+ url: "https://github.com/autohandai/code-cli/issues"
14
+ },
15
+ type: "module",
16
+ bin: {
17
+ autohand: "dist/index.js"
18
+ },
19
+ main: "dist/index.js",
20
+ files: [
21
+ "dist",
22
+ "assets"
23
+ ],
24
+ scripts: {
25
+ go: './install-local.sh && echo "COMPLETED"',
26
+ build: "tsup",
27
+ dev: 'env -i PATH="/Users/igorcosta/.bun/bin:/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" HOME="$HOME" bun src/index.ts',
28
+ typecheck: "tsc --noEmit",
29
+ lint: "eslint .",
30
+ proof: "eslint . && tsc --noEmit && node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run",
31
+ test: "node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run",
32
+ "test:ci": "node --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run --pool=threads --exclude 'tests/tuistory/**/*.tuistory.test.ts'",
33
+ "test:tuistory": "node --max-old-space-size=4096 ./node_modules/vitest/vitest.mjs run --config vitest.tuistory.config.ts",
34
+ "proof:build-tuistory": "tsup && node --max-old-space-size=4096 ./node_modules/vitest/vitest.mjs run --config vitest.tuistory.config.ts",
35
+ start: "node dist/index.js",
36
+ "compile:macos-arm64": "bun build ./src/index.ts --compile --target=bun-darwin-arm64 --outfile ./binaries/autohand-macos-arm64",
37
+ "compile:macos-x64": "bun build ./src/index.ts --compile --target=bun-darwin-x64 --outfile ./binaries/autohand-macos-x64",
38
+ "compile:linux-x64": "bun build ./src/index.ts --compile --target=bun-linux-x64 --outfile ./binaries/autohand-linux-x64",
39
+ "compile:linux-arm64": "bun build ./src/index.ts --compile --target=bun-linux-arm64 --outfile ./binaries/autohand-linux-arm64",
40
+ "compile:windows-x64": "bun build ./src/index.ts --compile --target=bun-windows-x64 --outfile ./binaries/autohand-windows-x64.exe",
41
+ "compile:all": "bun run compile:macos-arm64 && bun run compile:macos-x64 && bun run compile:linux-x64 && bun run compile:linux-arm64 && bun run compile:windows-x64",
42
+ link: "bun link",
43
+ translate: "tsx scripts/generate-translations.ts"
44
+ },
45
+ keywords: [
46
+ "cli",
47
+ "llm",
48
+ "agent",
49
+ "agentic",
50
+ "autohand"
51
+ ],
52
+ engines: {
53
+ node: ">=22.0.0"
54
+ },
55
+ dependencies: {
56
+ "@agentclientprotocol/sdk": "0.19.1",
57
+ "@ff-labs/fff-bun": "0.6.4",
58
+ chalk: "^5.6.2",
59
+ commander: "^14.0.3",
60
+ diff: "^9.0.0",
61
+ dotenv: "^17.4.2",
62
+ "fs-extra": "^11.3.4",
63
+ ignore: "^7.0.5",
64
+ ink: "^7.0.1",
65
+ "ink-spinner": "^5.0.0",
66
+ minimatch: "^10.2.5",
67
+ "node-notifier": "^10.0.1",
68
+ "node-pty": "^1.1.0",
69
+ open: "^11.0.0",
70
+ ora: "^9.4.0",
71
+ react: "^19.2.5",
72
+ sharp: "^0.34.5",
73
+ "string-width": "^8.2.0",
74
+ "terminal-link": "^5.0.0",
75
+ yaml: "^2.8.3",
76
+ zod: "^4.3.6"
77
+ },
78
+ trustedDependencies: [
79
+ "node-pty",
80
+ "bun"
81
+ ],
82
+ devDependencies: {
83
+ "@types/diff": "^8.0.0",
84
+ "@types/fs-extra": "^11.0.4",
85
+ "@types/node": "^25.6.0",
86
+ "@types/node-notifier": "^8.0.5",
87
+ "@types/react": "^19.2.5",
88
+ "@typescript-eslint/eslint-plugin": "^8.59.0",
89
+ "@typescript-eslint/parser": "^8.59.0",
90
+ eslint: "^10.2.1",
91
+ "ink-testing-library": "^4.0.0",
92
+ memfs: "^4.57.2",
93
+ "node-gyp": "^12.3.0",
94
+ "strip-ansi": "^7.2.0",
95
+ tsup: "^8.5.1",
96
+ tsx: "^4.21.0",
97
+ tuistory: "0.4.0",
98
+ typescript: "^6.0.3",
99
+ vitest: "^4.1.5"
100
+ },
101
+ overrides: {
102
+ "ansi-styles": "^6.2.3"
103
+ }
104
+ };
105
+
106
+ export {
107
+ package_default
108
+ };