autohand-cli 0.8.3 → 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 (510) hide show
  1. package/README.md +173 -74
  2. package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
  3. package/dist/{AgentRegistry-ODDXPAFR.js → AgentRegistry-XPWSVO3Q.js} +2 -2
  4. package/dist/{AutomodeManager-EOVHGRPP.js → AutomodeManager-APLLPEYJ.js} +31 -17
  5. package/dist/{AutomodeManager-6ATBE7Q5.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
  7. package/dist/{CommunitySkillsCache-QLE57BN5.js → CommunitySkillsCache-ZEQWP6YM.js} +2 -2
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-NT5GFZXS.js → GitHubRegistryFetcher-J2BWPXJF.js} +1 -1
  10. package/dist/{HookManager-B2F35M27.js → HookManager-CWLTFKWO.js} +1 -1
  11. package/dist/{HookManager-PFAFE3FK.cjs → HookManager-TMAJQU4S.cjs} +2 -2
  12. package/dist/{ImportWizard-CJRZPPHL.cjs → ImportWizard-MQXEED2U.cjs} +37 -13
  13. package/dist/{ImportWizard-OHRKBANZ.js → ImportWizard-QBKQEXDW.js} +33 -9
  14. package/dist/LearnAdvisor-46FG2XIP.js +9 -0
  15. package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
  16. package/dist/{McpClientManager-NQ3EW2IF.cjs → McpClientManager-BNSKLHIN.cjs} +2 -2
  17. package/dist/{McpClientManager-VBIMGKXU.js → McpClientManager-SL35BR24.js} +1 -1
  18. package/dist/MemoryManager-34L4YOKA.cjs +8 -0
  19. package/dist/{MemoryManager-2LAT7IHS.js → MemoryManager-WJMLPWGU.js} +2 -2
  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-7NQHRCHY.js → PermissionManager-KMYILJ4Z.js} +3 -3
  24. package/dist/{ProjectProfiler-UG42W6WD.cjs → ProjectProfiler-CDAE7ECW.cjs} +1 -0
  25. package/dist/{ProjectProfiler-P4QJQWWA.js → ProjectProfiler-NZTJDRHD.js} +1 -0
  26. package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
  27. package/dist/{ProviderFactory-2IYJ5OPW.js → ProviderFactory-HFPRVQ25.js} +3 -1
  28. package/dist/{SessionManager-4U4JFQ3C.js → SessionManager-PNBTJJTQ.js} +2 -2
  29. package/dist/SessionManager-WAPTFMDO.cjs +10 -0
  30. package/dist/{SkillsRegistry-RFEINXRT.js → SkillsRegistry-4RRD5GMX.js} +2 -2
  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-B5RT2ECG.js → SyncApiClient-LRPFNCKJ.js} +1 -1
  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-TUJM3PG5.js → add-dir-VFX7QT4E.js} +3 -2
  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-LQEVQFIH.js → autoSkill-EFMK6WU6.js} +2 -2
  57. package/dist/autoSkill-YOLLFTP2.cjs +20 -0
  58. package/dist/{automode-R6P3VHLS.js → automode-BMYSRM34.js} +2 -2
  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/chrome-ATC4OO5I.cjs +20 -0
  63. package/dist/chrome-NHJ44WUN.js +50 -0
  64. package/dist/chrome-O62WXV7F.js +20 -0
  65. package/dist/chrome-XHJLCO4M.cjs +50 -0
  66. package/dist/chromeSkill-53TH55PM.js +105 -0
  67. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  68. package/dist/{chunk-EGPXJERY.cjs → chunk-2CGE7ZV3.cjs} +26 -26
  69. package/dist/chunk-2H5O745H.js +63 -0
  70. package/dist/chunk-2HOLOHVK.js +2219 -0
  71. package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
  72. package/dist/{chunk-U55TWFJI.cjs → chunk-2VHB43IX.cjs} +24 -6
  73. package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
  74. package/dist/{chunk-KLWJIPU2.cjs → chunk-3DDL2E55.cjs} +20 -16
  75. package/dist/chunk-3EDDDZS2.cjs +5 -0
  76. package/dist/{chunk-2UC22DJU.js → chunk-3GUEUCZK.js} +28 -4
  77. package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
  78. package/dist/chunk-3LJJG5YY.cjs +387 -0
  79. package/dist/chunk-3OF56EMA.cjs +197 -0
  80. package/dist/chunk-3PXKRVCW.js +108 -0
  81. package/dist/{chunk-ADUFCS4Q.cjs → chunk-3S563FNF.cjs} +160 -79
  82. package/dist/chunk-3UT7R3XV.js +663 -0
  83. package/dist/chunk-4256YRCO.cjs +80 -0
  84. package/dist/chunk-46C73ZKK.cjs +663 -0
  85. package/dist/chunk-46MTALKD.js +44 -0
  86. package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
  87. package/dist/chunk-4LMUDS2K.js +124 -0
  88. package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
  89. package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
  90. package/dist/chunk-5JFTY3VU.js +74 -0
  91. package/dist/chunk-5JTTM5SC.js +59 -0
  92. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  93. package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
  94. package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
  95. package/dist/{chunk-64H4FRM3.cjs → chunk-6GUODJKM.cjs} +32 -34
  96. package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
  97. package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
  98. package/dist/chunk-6R25D2H5.js +121 -0
  99. package/dist/{chunk-OUZQXMHL.cjs → chunk-6XVVIY54.cjs} +55 -25
  100. package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
  101. package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
  102. package/dist/chunk-7JLT2VNW.cjs +18963 -0
  103. package/dist/chunk-7LWQCE4Y.cjs +987 -0
  104. package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
  105. package/dist/{chunk-TUD3Z3BD.js → chunk-7RFJB75Y.js} +140 -59
  106. package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
  107. package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
  108. package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
  109. package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
  110. package/dist/chunk-ARBEHFCG.js +715 -0
  111. package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
  112. package/dist/chunk-AU6JAGZJ.cjs +231 -0
  113. package/dist/chunk-AUFNACED.js +18963 -0
  114. package/dist/{chunk-N2BLVUPM.cjs → chunk-AUYSIEVV.cjs} +3 -3
  115. package/dist/chunk-B4HSNOIH.cjs +354 -0
  116. package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
  117. package/dist/{chunk-FTYY5JJD.js → chunk-BFQDQRDE.js} +2 -2
  118. package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
  119. package/dist/{chunk-T2M64VHA.cjs → chunk-BQ22N3TX.cjs} +56 -41
  120. package/dist/chunk-BQU3HAE7.js +21 -0
  121. package/dist/chunk-BWF4VDYE.js +3897 -0
  122. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  123. package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
  124. package/dist/chunk-CCVMREXI.js +420 -0
  125. package/dist/chunk-CFAWTLSC.js +13 -0
  126. package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
  127. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
  128. package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
  129. package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
  130. package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
  131. package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
  132. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  133. package/dist/chunk-DEQVRSV5.cjs +866 -0
  134. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  135. package/dist/{chunk-K2C56QGS.cjs → chunk-DIZTWFVR.cjs} +1499 -482
  136. package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
  137. package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
  138. package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
  139. package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
  140. package/dist/{chunk-SJAVBCOA.js → chunk-E46DJH5S.js} +3 -3
  141. package/dist/{chunk-DV2ZHK7B.cjs → chunk-E6GFD7VR.cjs} +49 -26
  142. package/dist/chunk-ES2HJQ4N.js +37 -0
  143. package/dist/chunk-EZJHLOWP.js +80 -0
  144. package/dist/chunk-FFBDRUO5.cjs +59 -0
  145. package/dist/{chunk-SV2WA57F.js → chunk-FGT6KK6T.js} +38 -15
  146. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  147. package/dist/{chunk-QXH5RCFI.js → chunk-FQAVGSPW.js} +2 -2
  148. package/dist/chunk-FQVG6ZHF.js +197 -0
  149. package/dist/chunk-GBMDFWJX.cjs +152 -0
  150. package/dist/{chunk-NAGQ2PDC.js → chunk-GGLKUENP.js} +1453 -436
  151. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  152. package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
  153. package/dist/chunk-GWY26SUD.cjs +63 -0
  154. package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
  155. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  156. package/dist/{chunk-3WVJEL7K.cjs → chunk-HDK2EHVH.cjs} +3 -1
  157. package/dist/chunk-HJIXWGQZ.js +139 -0
  158. package/dist/{chunk-ULDM2SNB.js → chunk-HKYZSUQ5.js} +48 -47
  159. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  160. package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
  161. package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
  162. package/dist/chunk-HSCUPEA4.cjs +3897 -0
  163. package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
  164. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  165. package/dist/{chunk-N7LI55V4.js → chunk-I24CWKKK.js} +15 -8
  166. package/dist/chunk-IAGCRVJ3.js +355 -0
  167. package/dist/chunk-IEXKKKOF.cjs +92 -0
  168. package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
  169. package/dist/chunk-IKUMVBCW.cjs +33 -0
  170. package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
  171. package/dist/{chunk-56SWIDEL.cjs → chunk-J5ADZN6V.cjs} +57 -56
  172. package/dist/chunk-J5HE6CUM.cjs +124 -0
  173. package/dist/{chunk-LIEXWM2M.js → chunk-JAQO6XDB.js} +19 -1
  174. package/dist/chunk-JIMSII7R.js +987 -0
  175. package/dist/chunk-JJ4KA7HK.cjs +2219 -0
  176. package/dist/{chunk-ZLSGXMGQ.js → chunk-JMN3GZU6.js} +2 -0
  177. package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
  178. package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
  179. package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
  180. package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
  181. package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
  182. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  183. package/dist/chunk-LJD7KR3L.cjs +44 -0
  184. package/dist/chunk-LN7D3EJZ.js +387 -0
  185. package/dist/{chunk-KANW6OYC.cjs → chunk-LQBONA55.cjs} +32 -8
  186. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  187. package/dist/chunk-M4KNC5BQ.js +78 -0
  188. package/dist/chunk-MO4KP6XS.cjs +229 -0
  189. package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
  190. package/dist/chunk-MPULXVC4.cjs +715 -0
  191. package/dist/{chunk-VEKDGU2Q.cjs → chunk-MQESBFBZ.cjs} +46 -23
  192. package/dist/chunk-MUNUUFU7.cjs +21 -0
  193. package/dist/{chunk-ZSPXQYG2.js → chunk-MX75JYIY.js} +7 -5
  194. package/dist/chunk-MXVIDIC6.cjs +139 -0
  195. package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
  196. package/dist/{chunk-BYONM7UM.js → chunk-NBGOIFKP.js} +265 -18
  197. package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
  198. package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
  199. package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
  200. package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
  201. package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
  202. package/dist/{chunk-NAJ4IZKD.cjs → chunk-OPNI6O7F.cjs} +8 -6
  203. package/dist/chunk-OR67YXQK.cjs +13 -0
  204. package/dist/{chunk-XVUHNWMX.js → chunk-OV3PVUYN.js} +17 -19
  205. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  206. package/dist/chunk-PCM3N3CL.cjs +37 -0
  207. package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
  208. package/dist/{chunk-HPHJ73GU.cjs → chunk-PHJO5YAL.cjs} +9 -9
  209. package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
  210. package/dist/chunk-PUD76XQT.cjs +78 -0
  211. package/dist/chunk-Q2IL4DDI.cjs +355 -0
  212. package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
  213. package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
  214. package/dist/chunk-QKP772OZ.js +4291 -0
  215. package/dist/chunk-QQ7PANOP.js +59 -0
  216. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  217. package/dist/chunk-RAKO7UN7.js +114 -0
  218. package/dist/chunk-RBHANOYY.js +33 -0
  219. package/dist/chunk-RBZ7AFX7.cjs +29 -0
  220. package/dist/{chunk-GCXYXLRA.cjs → chunk-REMGR23V.cjs} +46 -49
  221. package/dist/chunk-ROLA6EFO.cjs +85 -0
  222. package/dist/{chunk-RDF37HKB.cjs → chunk-SOLBYSLY.cjs} +3 -2
  223. package/dist/{chunk-KQGPTCQJ.js → chunk-SWCQM52V.js} +68 -25
  224. package/dist/{chunk-L3TWPROA.js → chunk-TBOLJDUG.js} +39 -24
  225. package/dist/chunk-TH26BQJG.js +101 -0
  226. package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
  227. package/dist/chunk-TKKN34TV.js +229 -0
  228. package/dist/chunk-TQ33WBY5.cjs +74 -0
  229. package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
  230. package/dist/{chunk-J2GSFVUV.cjs → chunk-TXPSTCG7.cjs} +74 -59
  231. package/dist/{chunk-5K6NGAVM.js → chunk-U4C3HW6P.js} +67 -52
  232. package/dist/{chunk-3WICOC33.js → chunk-UEIXJG45.js} +105 -81
  233. package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
  234. package/dist/chunk-UOQECODR.js +34 -0
  235. package/dist/chunk-UR27UDTB.js +354 -0
  236. package/dist/chunk-UWFG2R2I.cjs +420 -0
  237. package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
  238. package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
  239. package/dist/{chunk-NTSDP2WB.js → chunk-VDWJMWDF.js} +54 -24
  240. package/dist/{chunk-3O3MOK5C.cjs → chunk-VGEV44V2.cjs} +944 -133
  241. package/dist/{chunk-IDFF5J2E.js → chunk-VKBIE6I6.js} +38 -7
  242. package/dist/{chunk-HBZU3RBZ.js → chunk-VRMZO6TB.js} +31 -8
  243. package/dist/chunk-VUGOOGHB.js +400 -0
  244. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  245. package/dist/chunk-WGLBC5AY.cjs +59 -0
  246. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  247. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  248. package/dist/chunk-WRTXCQ3V.cjs +4291 -0
  249. package/dist/chunk-WTB7AFL6.cjs +101 -0
  250. package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
  251. package/dist/chunk-XF2WIKHR.cjs +34 -0
  252. package/dist/{chunk-W7RYQJLO.cjs → chunk-XGMI6IYB.cjs} +46 -15
  253. package/dist/{chunk-NA6WQDYW.js → chunk-XIVFAD2L.js} +918 -107
  254. package/dist/chunk-XV2HXRHX.js +85 -0
  255. package/dist/{chunk-3VTAFAL2.js → chunk-Y3M2DABP.js} +16 -12
  256. package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
  257. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  258. package/dist/{chunk-X2YOZQIP.cjs → chunk-YWTIXHU6.cjs} +266 -19
  259. package/dist/chunk-YZWE7XSM.js +5 -0
  260. package/dist/{chunk-TUAITHWL.js → chunk-Z3XSSF7B.js} +2 -1
  261. package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
  262. package/dist/chunk-ZASDSY7P.cjs +114 -0
  263. package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
  264. package/dist/chunk-ZPD2AO3U.js +866 -0
  265. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  266. package/dist/chunk-ZR46OJNZ.js +152 -0
  267. package/dist/{chunk-7TQH3CL4.cjs → chunk-ZZ63NW7A.cjs} +78 -35
  268. package/dist/clear-33TWQ2ES.cjs +12 -0
  269. package/dist/{clear-A3N4GK2S.js → clear-OFLFQ3MR.js} +3 -3
  270. package/dist/{communityInstaller-LOP2EDH5.js → communityInstaller-COB2KTOW.js} +8 -5
  271. package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
  272. package/dist/completion-IIZMHXYP.cjs +17 -0
  273. package/dist/completion-PT4VM2H2.js +17 -0
  274. package/dist/config-KL6WU7R2.cjs +20 -0
  275. package/dist/{config-HPJPKTO6.js → config-R4O7GBTY.js} +6 -4
  276. package/dist/{constants-LISJW3DD.js → constants-HVCHVQAF.js} +1 -1
  277. package/dist/constants-RLMJ5D5P.cjs +21 -0
  278. package/dist/{defaultHooks-IHSJR2AX.cjs → defaultHooks-2V2CQL63.cjs} +25 -10
  279. package/dist/{defaultHooks-KUKHK3AG.js → defaultHooks-TMHDU3FS.js} +25 -10
  280. package/dist/export-3PK3VFCE.js +15 -0
  281. package/dist/export-WLGNWEMJ.cjs +15 -0
  282. package/dist/feedback-G635NCLJ.js +18 -0
  283. package/dist/feedback-LLMK3TZH.cjs +18 -0
  284. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  285. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  286. package/dist/{filesystem-Z7BWAWMZ.js → filesystem-L6DQKGWK.js} +3 -2
  287. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  288. package/dist/help-BAXLP2M2.cjs +12 -0
  289. package/dist/{help-GFQXNZOK.js → help-X3OAZ3CY.js} +2 -2
  290. package/dist/history-6HOJSEMT.cjs +14 -0
  291. package/dist/{history-E3N6BJP7.js → history-YKFPHBJN.js} +2 -2
  292. package/dist/hooks-7TA4PIIB.js +18 -0
  293. package/dist/hooks-XVFU67T2.cjs +18 -0
  294. package/dist/{i18n-SY7QRM22.js → i18n-2KBUU7XL.js} +1 -1
  295. package/dist/i18n-MUJMKTFM.cjs +33 -0
  296. package/dist/ide-CCQ33PGC.cjs +15 -0
  297. package/dist/ide-VLVFBZ5F.js +15 -0
  298. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  299. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  300. package/dist/{import-W7SVLSTC.js → import-4CHYLS4K.js} +3 -3
  301. package/dist/{import-ADI37ZUR.cjs → import-I7T4ZHYL.cjs} +3 -3
  302. package/dist/import-J46F54JY.cjs +10 -0
  303. package/dist/{import-KGKKZ3B7.js → import-JWPYKXCZ.js} +2 -2
  304. package/dist/index.cjs +744 -23015
  305. package/dist/index.d.cts +93 -0
  306. package/dist/index.d.ts +93 -0
  307. package/dist/index.js +780 -23051
  308. package/dist/{init-7MFK626E.js → init-262MWZV4.js} +2 -2
  309. package/dist/init-EE5Y7RBL.cjs +10 -0
  310. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  311. package/dist/inkMode-WBNFOSAT.js +7 -0
  312. package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
  313. package/dist/inputPrompt-YGBHDUEP.js +90 -0
  314. package/dist/language-CVLPB7OV.js +21 -0
  315. package/dist/language-ZTWFHUSV.cjs +21 -0
  316. package/dist/learn-PON7I5QS.js +23 -0
  317. package/dist/learn-XLRSVNA3.cjs +23 -0
  318. package/dist/login-223QTGBG.cjs +26 -0
  319. package/dist/login-6IKTBUBY.js +26 -0
  320. package/dist/logout-RN2AG6SI.js +23 -0
  321. package/dist/logout-U3M4FFX7.cjs +23 -0
  322. package/dist/mcp-5O6PUL4G.js +20 -0
  323. package/dist/mcp-NUQ76QQB.cjs +20 -0
  324. package/dist/{mcp-install-2FEROZTL.js → mcp-install-6XWXLFVY.js} +17 -10
  325. package/dist/{mcp-install-WM6BQRI5.cjs → mcp-install-P6DHES7V.cjs} +21 -14
  326. package/dist/memory-CYMDQ2YC.cjs +10 -0
  327. package/dist/{memory-J73WZH2I.js → memory-Q54CESNM.js} +2 -2
  328. package/dist/{model-AES267IN.js → model-6AJ77PJG.js} +2 -2
  329. package/dist/model-IDRCKDML.cjs +10 -0
  330. package/dist/new-7LEWOUF2.cjs +12 -0
  331. package/dist/{new-5CLF3MKH.js → new-ZXHEWC2S.js} +3 -3
  332. package/dist/onboarding-FXX7YHSJ.cjs +35 -0
  333. package/dist/onboarding-JYNMK6NI.js +35 -0
  334. package/dist/permissions-YBNSANIA.cjs +10 -0
  335. package/dist/permissions-YHJMVA6L.js +10 -0
  336. package/dist/plan-XEJMOT55.cjs +13 -0
  337. package/dist/{plan-65HMS5HQ.js → plan-YYUAXPTL.js} +3 -1
  338. package/dist/pr-review-CW6J7P62.cjs +9 -0
  339. package/dist/pr-review-YZSBQVT2.js +9 -0
  340. package/dist/quit-B43SJ6E4.cjs +10 -0
  341. package/dist/{quit-XDZYRSPU.js → quit-GWTNHQSP.js} +2 -2
  342. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  343. package/dist/rawMode-GFNLXQPU.js +7 -0
  344. package/dist/{registry-PTHWERKC.js → registry-34GL6BNJ.js} +29 -44
  345. package/dist/{registry-IVT4G2RT.cjs → registry-V24W7YK6.cjs} +65 -80
  346. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  347. package/dist/{repeat-EVCWUL6Z.js → repeat-RALE6AUO.js} +7 -3
  348. package/dist/resume-DYVOQN5L.cjs +16 -0
  349. package/dist/resume-M25UQKOX.js +16 -0
  350. package/dist/review-QHP2KP4Q.js +9 -0
  351. package/dist/review-UWHWQHCB.cjs +9 -0
  352. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  353. package/dist/ripgrep-VHJQQ55W.js +9 -0
  354. package/dist/rpc-NPS3PU4O.cjs +3730 -0
  355. package/dist/rpc-S3DGW6KV.js +3730 -0
  356. package/dist/search-CPX4PWHP.js +20 -0
  357. package/dist/search-VUF3M4N3.cjs +20 -0
  358. package/dist/{sessions-6GWEBMKS.js → sessions-IYAXMK23.js} +2 -2
  359. package/dist/sessions-JODKER5D.cjs +10 -0
  360. package/dist/{settings-BXR6SBJP.js → settings-55BNW6BF.js} +11 -8
  361. package/dist/settings-BKTS7OMC.cjs +33 -0
  362. package/dist/setup-IRC5HQG2.js +29 -0
  363. package/dist/setup-MMQ7TWOP.cjs +29 -0
  364. package/dist/share-6JRQECAH.cjs +17 -0
  365. package/dist/share-YM5MJKMO.js +17 -0
  366. package/dist/{skills-PG542VEB.cjs → skills-GGMZOVIE.cjs} +13 -10
  367. package/dist/skills-LWSOKOSH.cjs +29 -0
  368. package/dist/{skills-ZZCIAS7C.js → skills-MVIZNHT4.js} +12 -9
  369. package/dist/skills-VWOMV3CR.js +29 -0
  370. package/dist/{skills-install-SRC3Z2MS.js → skills-install-QBA5RCV6.js} +21 -70
  371. package/dist/{skills-install-67DOBPJC.cjs → skills-install-VTAMCNNY.cjs} +34 -83
  372. package/dist/skills-new-GPL46YV2.js +18 -0
  373. package/dist/skills-new-L5BEZN5V.cjs +18 -0
  374. package/dist/slashCommands-FBPCIWM5.cjs +95 -0
  375. package/dist/slashCommands-FCWY5DXW.js +95 -0
  376. package/dist/status-3B5SDZPL.js +17 -0
  377. package/dist/status-TTGRF6NC.cjs +17 -0
  378. package/dist/summarizer-DGPHE5IQ.js +17 -0
  379. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  380. package/dist/sync-77CXVVTK.cjs +21 -0
  381. package/dist/{sync-VU2NSJ4O.js → sync-7BILIQHP.js} +3 -3
  382. package/dist/sync-7OKF6636.js +21 -0
  383. package/dist/sync-EH4K5U3N.cjs +40 -0
  384. package/dist/{teammate-SD26GR37.js → teammate-GZQSCIMS.js} +28 -7
  385. package/dist/{teammate-SXRVXNQV.cjs → teammate-J6PHGL23.cjs} +29 -8
  386. package/dist/theme-64BYGJ57.cjs +21 -0
  387. package/dist/theme-YJE6HEON.js +21 -0
  388. package/dist/tools-3PPTTKFV.js +9 -0
  389. package/dist/tools-THIQA7WC.cjs +9 -0
  390. package/dist/ui/questionModal.cjs +8 -5
  391. package/dist/ui/questionModal.js +7 -4
  392. package/dist/undo-PRTEGL2J.cjs +10 -0
  393. package/dist/{undo-OL2EDBRY.js → undo-SZEHLX7X.js} +2 -2
  394. package/dist/web-3BA2WV37.cjs +37 -0
  395. package/dist/web-6FYGBX5K.js +37 -0
  396. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  397. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  398. package/dist/yolo-GF2YD7ZI.js +9 -0
  399. package/dist/yolo-OGDA7HNC.cjs +9 -0
  400. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  401. package/dist/yoloMode-4JOOSU26.js +17 -0
  402. package/package.json +46 -49
  403. package/dist/AgentRegistry-HRPN6ZOF.cjs +0 -10
  404. package/dist/CommunitySkillsCache-KE435RAR.cjs +0 -8
  405. package/dist/GitHubRegistryFetcher-I45SESIL.cjs +0 -7
  406. package/dist/LearnAdvisor-FLBA6FDD.js +0 -9
  407. package/dist/LearnAdvisor-GG3CXQF3.cjs +0 -9
  408. package/dist/MemoryManager-2LQPIYVE.cjs +0 -8
  409. package/dist/PermissionManager-X57BXHJ6.cjs +0 -11
  410. package/dist/ProviderFactory-KPJOGQWF.cjs +0 -9
  411. package/dist/SessionManager-YBJAZXNO.cjs +0 -10
  412. package/dist/SkillsRegistry-7O72A6TZ.cjs +0 -9
  413. package/dist/SubAgent-JT4HZHN7.js +0 -11
  414. package/dist/SubAgent-VPNYDWAU.cjs +0 -11
  415. package/dist/SyncApiClient-HQXJL5BT.cjs +0 -11
  416. package/dist/about-4DB5KTHW.js +0 -12
  417. package/dist/about-LXAOXZFT.cjs +0 -12
  418. package/dist/actionExecutor-23JB2WUC.js +0 -19
  419. package/dist/actionExecutor-X5UEZSKH.cjs +0 -19
  420. package/dist/add-dir-YC37DMSF.cjs +0 -10
  421. package/dist/agents-YF3BSUU5.js +0 -12
  422. package/dist/agents-ZOUHPMYR.cjs +0 -12
  423. package/dist/agents-new-HSH4GQPG.js +0 -14
  424. package/dist/agents-new-VYUDOCE7.cjs +0 -14
  425. package/dist/autoSkill-X5W52WOE.cjs +0 -20
  426. package/dist/automode-SJGM7VEI.cjs +0 -10
  427. package/dist/chunk-ALYU6VTM.js +0 -105
  428. package/dist/chunk-B53A2NM2.js +0 -2030
  429. package/dist/chunk-BJXSNT46.js +0 -100
  430. package/dist/chunk-CB4E2T5N.cjs +0 -312
  431. package/dist/chunk-DNUOXBHL.js +0 -539
  432. package/dist/chunk-EFX2QSZX.cjs +0 -33
  433. package/dist/chunk-H2ZRHQQV.js +0 -33
  434. package/dist/chunk-HNRPK5MY.cjs +0 -85
  435. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  436. package/dist/chunk-JJLYWH5Y.cjs +0 -100
  437. package/dist/chunk-LWUJFGOZ.js +0 -115
  438. package/dist/chunk-MERYP6AM.cjs +0 -539
  439. package/dist/chunk-MZAPWNAC.cjs +0 -207
  440. package/dist/chunk-PGESAU2W.cjs +0 -2030
  441. package/dist/chunk-SYVYLZZF.cjs +0 -24
  442. package/dist/chunk-SZOLA6FR.js +0 -111
  443. package/dist/chunk-VWDHR4HV.js +0 -168
  444. package/dist/chunk-Y45G6ZO5.cjs +0 -168
  445. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  446. package/dist/chunk-ZYVS43MU.js +0 -312
  447. package/dist/clear-GK4IEUUS.cjs +0 -12
  448. package/dist/communityInstaller-XXC7RLE4.cjs +0 -19
  449. package/dist/completion-HWABSAEL.js +0 -14
  450. package/dist/completion-IUUVQG4D.cjs +0 -14
  451. package/dist/config-HF7WOLZF.cjs +0 -18
  452. package/dist/constants-PEO3P2SJ.cjs +0 -21
  453. package/dist/export-QJAV2FCZ.js +0 -12
  454. package/dist/export-XSRFXGWU.cjs +0 -12
  455. package/dist/feedback-4TCIL3ML.cjs +0 -15
  456. package/dist/feedback-SJ6VVEY3.js +0 -15
  457. package/dist/filesystem-W56QZUJF.cjs +0 -10
  458. package/dist/help-ISBVQL3S.cjs +0 -12
  459. package/dist/history-XQ4GTSFU.cjs +0 -14
  460. package/dist/hooks-CJNKJ5PF.js +0 -13
  461. package/dist/hooks-UTMBTAXT.cjs +0 -13
  462. package/dist/i18n-N7QQ7A5M.cjs +0 -33
  463. package/dist/ide-RTA4UJV4.js +0 -12
  464. package/dist/ide-VWVOLIFF.cjs +0 -12
  465. package/dist/immediateCommandRouter-BW34JNXL.js +0 -9
  466. package/dist/immediateCommandRouter-SHOVNB5X.cjs +0 -9
  467. package/dist/import-ZLJVONXH.cjs +0 -10
  468. package/dist/init-TBKAB4LZ.cjs +0 -10
  469. package/dist/language-MDSHEXHB.cjs +0 -18
  470. package/dist/language-PXTQSHIG.js +0 -18
  471. package/dist/learn-623TW5EK.cjs +0 -20
  472. package/dist/learn-BCPV7GM2.js +0 -20
  473. package/dist/localProjectPermissions-BHQXEWZJ.cjs +0 -18
  474. package/dist/localProjectPermissions-GMOUYQM6.js +0 -18
  475. package/dist/login-QMVEETWJ.js +0 -20
  476. package/dist/login-QYMXAL3K.cjs +0 -20
  477. package/dist/logout-2CMTDAOJ.js +0 -18
  478. package/dist/logout-ZOHVZAUK.cjs +0 -18
  479. package/dist/mcp-IUVKK65S.js +0 -18
  480. package/dist/mcp-TXC7PYG3.cjs +0 -18
  481. package/dist/memory-WRIHDEPK.cjs +0 -10
  482. package/dist/model-RLP75SF5.cjs +0 -10
  483. package/dist/new-HLSFL6A4.cjs +0 -12
  484. package/dist/permissions-GP6FTGZ2.js +0 -13
  485. package/dist/permissions-O6EKKPOG.cjs +0 -13
  486. package/dist/plan-MCAXDIM2.cjs +0 -11
  487. package/dist/quit-TQX6GXA5.cjs +0 -10
  488. package/dist/repeat-BSPS5TWD.cjs +0 -13
  489. package/dist/resume-2GOPDLL4.cjs +0 -13
  490. package/dist/resume-37IUVDA6.js +0 -13
  491. package/dist/search-7KUSHIBL.cjs +0 -17
  492. package/dist/search-OJGDRIMA.js +0 -17
  493. package/dist/sessions-CYYCHSQG.cjs +0 -10
  494. package/dist/settings-2D7CAO66.cjs +0 -30
  495. package/dist/share-BXQY5IQU.js +0 -14
  496. package/dist/share-OSFXZBGS.cjs +0 -14
  497. package/dist/skills-FL6O6AOM.cjs +0 -26
  498. package/dist/skills-PNKQZRNK.js +0 -26
  499. package/dist/skills-new-XFMEHHIF.cjs +0 -15
  500. package/dist/skills-new-ZNZPHUKS.js +0 -15
  501. package/dist/slashCommands-LLCNPK3X.js +0 -76
  502. package/dist/slashCommands-RXZZS6RE.cjs +0 -76
  503. package/dist/status-BCECUJXT.cjs +0 -11
  504. package/dist/status-EFO7MQU3.js +0 -11
  505. package/dist/sync-IJYJ6KKM.js +0 -18
  506. package/dist/sync-LFT6SBPF.cjs +0 -18
  507. package/dist/sync-U7SDPBNZ.cjs +0 -40
  508. package/dist/theme-AWBHSG7J.cjs +0 -18
  509. package/dist/theme-TQLBPJ2E.js +0 -18
  510. package/dist/undo-IBBGP7A2.cjs +0 -10
@@ -0,0 +1,400 @@
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; }// src/ui/shellCommand.ts
2
+ var _child_process = require('child_process');
3
+ var _fs = require('fs');
4
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
5
+ var DEFAULT_SHELL_TIMEOUT = 3e4;
6
+ var SHELL_HOT_TIP_SUGGESTIONS = [
7
+ "git status",
8
+ "ls -la",
9
+ "bun test",
10
+ "bun run lint"
11
+ ];
12
+ var SHELL_COMMAND_CANDIDATES = [
13
+ "git",
14
+ "bun",
15
+ "npm",
16
+ "pnpm",
17
+ "yarn",
18
+ "node",
19
+ "python",
20
+ "python3",
21
+ "ls",
22
+ "cd",
23
+ "mkdir",
24
+ "cat",
25
+ "rg",
26
+ "grep",
27
+ "find",
28
+ "touch",
29
+ "cp",
30
+ "mv",
31
+ "rm",
32
+ "pwd"
33
+ ];
34
+ var COMMAND_TEMPLATE_MAP = {
35
+ git: ["git status", "git diff", "git log --oneline -5"],
36
+ bun: ["bun test", "bun run lint", "bun run build"],
37
+ npm: ["npm test", "npm run lint", "npm run build"],
38
+ pnpm: ["pnpm test", "pnpm lint", "pnpm build"],
39
+ yarn: ["yarn test", "yarn lint", "yarn build"],
40
+ ls: ["ls -la"],
41
+ cd: ["cd ./", "cd .."],
42
+ mkdir: ["mkdir -p "],
43
+ rg: ['rg "TODO" src']
44
+ };
45
+ var PATH_COMPLETION_COMMANDS = /* @__PURE__ */ new Set([
46
+ "cd",
47
+ "mkdir",
48
+ "ls",
49
+ "cat",
50
+ "rm",
51
+ "cp",
52
+ "mv",
53
+ "touch"
54
+ ]);
55
+ var DIRECTORY_ONLY_PATH_COMMANDS = /* @__PURE__ */ new Set(["cd"]);
56
+ var DIR_ENTRIES_CACHE_TTL_MS = 750;
57
+ var dirEntriesCache = /* @__PURE__ */ new Map();
58
+ function unescapeShellSpaces(value) {
59
+ return value.replace(/\\ /g, " ");
60
+ }
61
+ function escapeShellSpaces(value) {
62
+ return value.replace(/ /g, "\\ ");
63
+ }
64
+ function unique(items) {
65
+ return Array.from(new Set(items));
66
+ }
67
+ function getCachedDirectoryEntries(absDir) {
68
+ const now = Date.now();
69
+ const cached = dirEntriesCache.get(absDir);
70
+ if (cached && cached.expiresAt > now) {
71
+ return cached.entries;
72
+ }
73
+ try {
74
+ const entries = _fs.readdirSync.call(void 0, absDir, { withFileTypes: true });
75
+ dirEntriesCache.set(absDir, {
76
+ expiresAt: now + DIR_ENTRIES_CACHE_TTL_MS,
77
+ entries
78
+ });
79
+ return entries;
80
+ } catch (e) {
81
+ return [];
82
+ }
83
+ }
84
+ function completePathToken(rawToken, options = {}) {
85
+ const cwd = _nullishCoalesce(options.cwd, () => ( process.cwd()));
86
+ const unescapedToken = unescapeShellSpaces(rawToken);
87
+ const lastSlash = unescapedToken.lastIndexOf("/");
88
+ const dirPart = lastSlash >= 0 ? unescapedToken.slice(0, lastSlash + 1) : "";
89
+ const namePrefix = lastSlash >= 0 ? unescapedToken.slice(lastSlash + 1) : unescapedToken;
90
+ const directoriesOnly = options.directoriesOnly === true;
91
+ const searchDirAbs = unescapedToken.startsWith("/") ? _path2.default.resolve(dirPart || "/") : _path2.default.resolve(cwd, dirPart || ".");
92
+ const matches = getCachedDirectoryEntries(searchDirAbs).filter((entry) => !directoriesOnly || entry.isDirectory()).filter((entry) => entry.name.startsWith(namePrefix)).sort((a, b) => {
93
+ if (a.isDirectory() !== b.isDirectory()) {
94
+ return a.isDirectory() ? -1 : 1;
95
+ }
96
+ return a.name.localeCompare(b.name);
97
+ });
98
+ return matches.map((entry) => {
99
+ const suffix = entry.isDirectory() ? "/" : "";
100
+ const completed = `${dirPart}${entry.name}${suffix}`;
101
+ return escapeShellSpaces(completed);
102
+ });
103
+ }
104
+ function parseBangInput(line) {
105
+ const withoutLeading = line.trimStart();
106
+ if (!withoutLeading.startsWith("!")) {
107
+ return null;
108
+ }
109
+ const commandBody = withoutLeading.slice(1).trimStart();
110
+ return {
111
+ commandBody,
112
+ hasTrailingSpace: /\s$/.test(line)
113
+ };
114
+ }
115
+ function buildCommandNameSuggestions(commandPrefix) {
116
+ const prefix = commandPrefix.toLowerCase();
117
+ const matches = SHELL_COMMAND_CANDIDATES.filter((candidate) => candidate.startsWith(prefix));
118
+ const exact = SHELL_COMMAND_CANDIDATES.find((candidate) => candidate === prefix);
119
+ const suggestions = [];
120
+ if (exact) {
121
+ const templates = _nullishCoalesce(COMMAND_TEMPLATE_MAP[exact], () => ( []));
122
+ suggestions.push(...templates.map((template) => `! ${template}`));
123
+ }
124
+ for (const candidate of matches) {
125
+ suggestions.push(`! ${candidate} `);
126
+ }
127
+ return unique(suggestions);
128
+ }
129
+ function buildPathSuggestions(commandName, args, hasTrailingSpace, options = {}) {
130
+ const normalizedCommand = commandName.toLowerCase();
131
+ if (!PATH_COMPLETION_COMMANDS.has(normalizedCommand)) {
132
+ return [];
133
+ }
134
+ if (!hasTrailingSpace && args.length > 0 && _optionalChain([args, 'access', _ => _[args.length - 1], 'optionalAccess', _2 => _2.startsWith, 'call', _3 => _3("-")])) {
135
+ return [];
136
+ }
137
+ const targetIndex = hasTrailingSpace ? args.length : Math.max(0, args.length - 1);
138
+ const rawToken = hasTrailingSpace ? "" : _nullishCoalesce(args[targetIndex], () => ( ""));
139
+ const completedTokens = completePathToken(rawToken, {
140
+ ...options,
141
+ directoriesOnly: DIRECTORY_ONLY_PATH_COMMANDS.has(normalizedCommand)
142
+ });
143
+ const result = [];
144
+ for (const token of completedTokens) {
145
+ const nextArgs = [...args];
146
+ if (hasTrailingSpace) {
147
+ nextArgs.push(token);
148
+ } else {
149
+ nextArgs[targetIndex] = token;
150
+ }
151
+ const suggestion = `! ${commandName}${nextArgs.length > 0 ? ` ${nextArgs.join(" ")}` : ""}`;
152
+ result.push(token.endsWith("/") ? suggestion : `${suggestion} `);
153
+ }
154
+ return result;
155
+ }
156
+ function getShellCommandSuggestions(line, options = {}) {
157
+ const parsed = parseBangInput(line);
158
+ if (!parsed) {
159
+ return [];
160
+ }
161
+ const { commandBody, hasTrailingSpace } = parsed;
162
+ const limit = Math.max(1, _nullishCoalesce(options.limit, () => ( 5)));
163
+ if (!commandBody) {
164
+ return SHELL_HOT_TIP_SUGGESTIONS.slice(0, limit).map((value) => `! ${value}`);
165
+ }
166
+ const tokens = commandBody.split(/\s+/).filter(Boolean);
167
+ if (tokens.length === 0) {
168
+ return SHELL_HOT_TIP_SUGGESTIONS.slice(0, limit).map((value) => `! ${value}`);
169
+ }
170
+ const commandName = tokens[0];
171
+ const args = tokens.slice(1);
172
+ const commandNameSuggestions = !hasTrailingSpace && tokens.length === 1 ? buildCommandNameSuggestions(commandName) : [];
173
+ const pathSuggestions = buildPathSuggestions(commandName, args, hasTrailingSpace, options);
174
+ const templates = (_nullishCoalesce(COMMAND_TEMPLATE_MAP[commandName.toLowerCase()], () => ( []))).map((value) => `! ${value}`);
175
+ const hotTips = SHELL_HOT_TIP_SUGGESTIONS.map((value) => `! ${value}`);
176
+ return unique([
177
+ ...pathSuggestions,
178
+ ...commandNameSuggestions,
179
+ ...templates,
180
+ ...hotTips
181
+ ]).slice(0, limit);
182
+ }
183
+ function getPrimaryShellCommandSuggestion(line, options = {}) {
184
+ const [first] = getShellCommandSuggestions(line, { ...options, limit: 1 });
185
+ return _nullishCoalesce(first, () => ( null));
186
+ }
187
+ async function defaultNodePtyLoader() {
188
+ try {
189
+ return await Promise.resolve().then(() => _interopRequireWildcard(require("node-pty")));
190
+ } catch (e2) {
191
+ return null;
192
+ }
193
+ }
194
+ var nodePtyLoader = defaultNodePtyLoader;
195
+ function isShellCommand(input) {
196
+ const trimmed = input.trim();
197
+ if (!trimmed.startsWith("!")) {
198
+ return false;
199
+ }
200
+ const command = trimmed.slice(1).trim();
201
+ return command.length > 0;
202
+ }
203
+ function parseShellCommand(input) {
204
+ if (!input.trim().startsWith("!")) {
205
+ return "";
206
+ }
207
+ return input.trim().slice(1).trim();
208
+ }
209
+ function isImmediateCommand(input) {
210
+ const trimmed = input.trim();
211
+ if (!trimmed) return false;
212
+ if (isShellCommand(trimmed)) return true;
213
+ if (trimmed.startsWith("/")) {
214
+ const command = trimmed.slice(1).trim();
215
+ if (command.length === 0) return false;
216
+ const firstToken = _nullishCoalesce(trimmed.split(/\s+/, 1)[0], () => ( ""));
217
+ const hasNestedSlashes = (firstToken.match(/\//g) || []).length > 1;
218
+ const isCommonPathPrefix = /^\/(?:Users|home|tmp|var|opt|etc|usr)\//i.test(firstToken);
219
+ const looksLikeFile = /\.[a-z0-9]{1,5}$/i.test(firstToken);
220
+ if (hasNestedSlashes || isCommonPathPrefix || looksLikeFile) {
221
+ return false;
222
+ }
223
+ return true;
224
+ }
225
+ return false;
226
+ }
227
+ async function executeShellCommandAsync(command, cwd, timeout = DEFAULT_SHELL_TIMEOUT, options = {}) {
228
+ const trimmedCommand = command.trim();
229
+ return new Promise((resolve) => {
230
+ let stdout = "";
231
+ let stderr = "";
232
+ let resolved = false;
233
+ let timedOut = false;
234
+ let timeoutId;
235
+ const finish = (result) => {
236
+ if (resolved) {
237
+ return;
238
+ }
239
+ resolved = true;
240
+ if (timeoutId) {
241
+ clearTimeout(timeoutId);
242
+ }
243
+ resolve(result);
244
+ };
245
+ let child;
246
+ try {
247
+ child = _child_process.spawn.call(void 0, trimmedCommand, {
248
+ cwd: _nullishCoalesce(cwd, () => ( process.cwd())),
249
+ shell: true,
250
+ stdio: ["ignore", "pipe", "pipe"]
251
+ });
252
+ } catch (error) {
253
+ const execError = error;
254
+ finish({
255
+ success: false,
256
+ error: _optionalChain([execError, 'access', _4 => _4.stderr, 'optionalAccess', _5 => _5.toString, 'call', _6 => _6()]) || execError.message || "Unknown error"
257
+ });
258
+ return;
259
+ }
260
+ if (timeout > 0) {
261
+ timeoutId = setTimeout(() => {
262
+ timedOut = true;
263
+ child.kill("SIGTERM");
264
+ }, timeout);
265
+ }
266
+ _optionalChain([child, 'access', _7 => _7.stdout, 'optionalAccess', _8 => _8.on, 'call', _9 => _9("data", (chunk) => {
267
+ const text = typeof chunk === "string" ? chunk : chunk.toString("utf8");
268
+ stdout += text;
269
+ _optionalChain([options, 'access', _10 => _10.onStdout, 'optionalCall', _11 => _11(text)]);
270
+ })]);
271
+ _optionalChain([child, 'access', _12 => _12.stderr, 'optionalAccess', _13 => _13.on, 'call', _14 => _14("data", (chunk) => {
272
+ const text = typeof chunk === "string" ? chunk : chunk.toString("utf8");
273
+ stderr += text;
274
+ _optionalChain([options, 'access', _15 => _15.onStderr, 'optionalCall', _16 => _16(text)]);
275
+ })]);
276
+ child.once("error", (error) => {
277
+ finish({
278
+ success: false,
279
+ error: stderr || _optionalChain([error, 'access', _17 => _17.stderr, 'optionalAccess', _18 => _18.toString, 'call', _19 => _19()]) || error.message || "Unknown error"
280
+ });
281
+ });
282
+ child.once("close", (code, signal) => {
283
+ if (code === 0) {
284
+ finish({
285
+ success: true,
286
+ output: stdout
287
+ });
288
+ return;
289
+ }
290
+ const errorMessage = timedOut ? `Command timed out after ${timeout}ms` : stderr || (signal ? `Command terminated by ${signal}` : `Command failed with exit code ${_nullishCoalesce(code, () => ( "unknown"))}`);
291
+ finish({
292
+ success: false,
293
+ error: errorMessage
294
+ });
295
+ });
296
+ });
297
+ }
298
+ async function loadNodePty() {
299
+ return nodePtyLoader();
300
+ }
301
+ function getPtyShellLaunch(command) {
302
+ if (process.platform === "win32") {
303
+ const comspec = process.env.ComSpec || "cmd.exe";
304
+ return {
305
+ file: comspec,
306
+ args: ["/d", "/s", "/c", command]
307
+ };
308
+ }
309
+ const shell = process.env.SHELL || "/bin/sh";
310
+ return {
311
+ file: shell,
312
+ args: ["-lc", command]
313
+ };
314
+ }
315
+ async function executeStreamingShellCommand(command, cwd, options = {}) {
316
+ const trimmedCommand = command.trim();
317
+ if (options.background) {
318
+ return new Promise((resolve) => {
319
+ let child;
320
+ try {
321
+ child = _child_process.spawn.call(void 0, trimmedCommand, {
322
+ cwd: _nullishCoalesce(cwd, () => ( process.cwd())),
323
+ shell: true,
324
+ detached: true,
325
+ stdio: ["ignore", "pipe", "pipe"]
326
+ });
327
+ } catch (error) {
328
+ const execError = error;
329
+ resolve({
330
+ success: false,
331
+ error: execError.message || "Unknown error"
332
+ });
333
+ return;
334
+ }
335
+ child.unref();
336
+ resolve({
337
+ success: true,
338
+ output: "",
339
+ backgroundPid: child.pid
340
+ });
341
+ });
342
+ }
343
+ const shouldUsePty = options.preferPty === true && process.stdin.isTTY && process.stdout.isTTY;
344
+ if (!shouldUsePty) {
345
+ return executeShellCommandAsync(trimmedCommand, cwd, DEFAULT_SHELL_TIMEOUT, options);
346
+ }
347
+ const nodePty = await loadNodePty();
348
+ if (!nodePty) {
349
+ return executeShellCommandAsync(trimmedCommand, cwd, DEFAULT_SHELL_TIMEOUT, options);
350
+ }
351
+ return new Promise((resolve) => {
352
+ const { file, args } = getPtyShellLaunch(trimmedCommand);
353
+ const ptyProcess = nodePty.spawn(file, args, {
354
+ name: process.env.TERM || "xterm-256color",
355
+ cols: Math.max(20, _nullishCoalesce(_nullishCoalesce(options.columns, () => ( process.stdout.columns)), () => ( 80))),
356
+ rows: Math.max(10, _nullishCoalesce(_nullishCoalesce(options.rows, () => ( process.stdout.rows)), () => ( 24))),
357
+ cwd: _nullishCoalesce(cwd, () => ( process.cwd())),
358
+ env: {
359
+ ...process.env,
360
+ AUTOHAND_CLI: "1"
361
+ }
362
+ });
363
+ let output = "";
364
+ const dataDisposable = ptyProcess.onData((data) => {
365
+ output += data;
366
+ _optionalChain([options, 'access', _20 => _20.onStdout, 'optionalCall', _21 => _21(data)]);
367
+ });
368
+ const exitDisposable = ptyProcess.onExit((event) => {
369
+ dataDisposable.dispose();
370
+ exitDisposable.dispose();
371
+ const normalized = output.replace(/\r\n/g, "\n");
372
+ if (event.exitCode === 0) {
373
+ resolve({
374
+ success: true,
375
+ output: normalized
376
+ });
377
+ return;
378
+ }
379
+ resolve({
380
+ success: false,
381
+ error: normalized || `Command failed with exit code ${event.exitCode}`
382
+ });
383
+ });
384
+ });
385
+ }
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+ exports.getShellCommandSuggestions = getShellCommandSuggestions; exports.getPrimaryShellCommandSuggestion = getPrimaryShellCommandSuggestion; exports.isShellCommand = isShellCommand; exports.parseShellCommand = parseShellCommand; exports.isImmediateCommand = isImmediateCommand; exports.executeShellCommandAsync = executeShellCommandAsync; exports.executeStreamingShellCommand = executeStreamingShellCommand;
396
+ /**
397
+ * @license
398
+ * Copyright 2025 Autohand AI LLC
399
+ * SPDX-License-Identifier: Apache-2.0
400
+ */
@@ -0,0 +1,59 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+ var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
4
+
5
+ // src/commands/permissions.ts
6
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
7
+ function renderBold(text) {
8
+ return typeof _chalk2.default.bold === "function" ? _chalk2.default.bold(text) : text;
9
+ }
10
+ function renderSection(title, section) {
11
+ console.log(renderBold(title));
12
+ console.log(_chalk2.default.gray(section.path));
13
+ if (section.allowList.length === 0) {
14
+ console.log(_chalk2.default.gray(" No AllowList entries"));
15
+ } else {
16
+ console.log(_chalk2.default.green(" AllowList"));
17
+ section.allowList.forEach((pattern, index) => {
18
+ console.log(_chalk2.default.green(` ${index + 1}. ${pattern}`));
19
+ });
20
+ }
21
+ if (section.denyList.length === 0) {
22
+ console.log(_chalk2.default.gray(" No DenyList entries"));
23
+ } else {
24
+ console.log(_chalk2.default.red(" DenyList"));
25
+ section.denyList.forEach((pattern, index) => {
26
+ console.log(_chalk2.default.red(` ${index + 1}. ${pattern}`));
27
+ });
28
+ }
29
+ console.log();
30
+ }
31
+ async function permissions(ctx) {
32
+ const snapshot = ctx.permissionManager.getPermissionSnapshot(_nullishCoalesce(ctx.configPath, () => ( "(user config unknown)")));
33
+ console.log();
34
+ console.log(_chalk2.default.bold.cyan(_chunkCHI52KFRcjs.t.call(void 0, "commands.permissions.title")));
35
+ console.log(_chalk2.default.gray("\u2500".repeat(50)));
36
+ console.log(_chalk2.default.gray(_chunkCHI52KFRcjs.t.call(void 0, "commands.permissions.mode", { mode: snapshot.mode || "interactive" })));
37
+ console.log(_chalk2.default.gray(`Remember session decisions: ${snapshot.rememberSession ? "Yes" : "No"}`));
38
+ console.log();
39
+ renderSection("Session", snapshot.session);
40
+ renderSection("Project", snapshot.project);
41
+ renderSection("User", snapshot.user);
42
+ renderSection("Effective", snapshot.effective);
43
+ return null;
44
+ }
45
+ var metadata = {
46
+ command: "/permissions",
47
+ description: _chunkCHI52KFRcjs.t.call(void 0, "commands.permissions.description"),
48
+ implemented: true
49
+ };
50
+
51
+
52
+
53
+
54
+ exports.permissions = permissions; exports.metadata = metadata;
55
+ /**
56
+ * @license
57
+ * Copyright 2025 Autohand AI LLC
58
+ * SPDX-License-Identifier: Apache-2.0
59
+ */
@@ -1,17 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
-
3
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
4
-
5
- // src/commands/add-dir.ts
6
- var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
7
- var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
8
- var _path = require('path'); var _path2 = _interopRequireDefault(_path);
9
-
10
- // src/startup/workspaceSafety.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/startup/workspaceSafety.ts
11
2
  var _os = require('os'); var _os2 = _interopRequireDefault(_os);
12
-
13
-
14
-
3
+ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
4
+ var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
5
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
15
6
  var DANGEROUS_PATHS = {
16
7
  // Filesystem roots (Unix and Windows)
17
8
  roots: ["/", "C:\\", "D:\\", "E:\\", "F:\\", "G:\\"],
@@ -65,9 +56,9 @@ function normalizePath(inputPath) {
65
56
  }
66
57
  return normalized;
67
58
  }
68
- function pathsEqual(path1, path22) {
59
+ function pathsEqual(path1, path2) {
69
60
  const normalized1 = normalizePath(path1);
70
- const normalized2 = normalizePath(path22);
61
+ const normalized2 = normalizePath(path2);
71
62
  if (process.platform === "darwin" || process.platform === "win32") {
72
63
  return normalized1.toLowerCase() === normalized2.toLowerCase();
73
64
  }
@@ -260,73 +251,7 @@ function printDangerousWorkspaceWarning(workspacePath, result) {
260
251
  console.log();
261
252
  }
262
253
 
263
- // src/commands/add-dir.ts
264
- async function addDir(ctx, args) {
265
- const dirPath = args.join(" ").trim();
266
- if (!dirPath) {
267
- console.log();
268
- console.log(_chalk2.default.bold.cyan("Workspace Directories"));
269
- console.log(_chalk2.default.gray("\u2500".repeat(50)));
270
- console.log();
271
- console.log(_chalk2.default.bold("Primary Workspace:"));
272
- console.log(_chalk2.default.cyan(` ${ctx.workspaceRoot}`));
273
- console.log();
274
- if (ctx.additionalDirs.length > 0) {
275
- console.log(_chalk2.default.bold("Additional Directories:"));
276
- ctx.additionalDirs.forEach((dir, index) => {
277
- console.log(_chalk2.default.green(` ${index + 1}. ${dir}`));
278
- });
279
- } else {
280
- console.log(_chalk2.default.gray("No additional directories configured."));
281
- }
282
- console.log();
283
- console.log(_chalk2.default.gray("Usage: /add-dir <path> to add a new directory"));
284
- console.log();
285
- return null;
286
- }
287
- const resolvedPath = _path2.default.resolve(dirPath);
288
- if (!await _fsextra2.default.pathExists(resolvedPath)) {
289
- console.log(_chalk2.default.red(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.notFound", { path: dirPath })));
290
- return null;
291
- }
292
- const stats = await _fsextra2.default.stat(resolvedPath);
293
- if (!stats.isDirectory()) {
294
- console.log(_chalk2.default.red(`Error: Path is not a directory: ${dirPath}`));
295
- return null;
296
- }
297
- const safetyResult = checkWorkspaceSafety(resolvedPath);
298
- if (!safetyResult.safe) {
299
- console.log(_chalk2.default.red(`Error: Unsafe directory: ${dirPath}`));
300
- console.log(_chalk2.default.yellow(` ${safetyResult.reason}`));
301
- return null;
302
- }
303
- if (resolvedPath === ctx.workspaceRoot) {
304
- console.log(_chalk2.default.yellow(`Directory is already the primary workspace: ${resolvedPath}`));
305
- return null;
306
- }
307
- if (ctx.additionalDirs.includes(resolvedPath)) {
308
- console.log(_chalk2.default.yellow(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.alreadyAdded", { path: resolvedPath })));
309
- return null;
310
- }
311
- ctx.addAdditionalDir(resolvedPath);
312
- console.log(_chalk2.default.green(_chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.added", { path: resolvedPath })));
313
- console.log(_chalk2.default.gray("You can now read, write, and modify files in this directory."));
314
- return null;
315
- }
316
- var metadata = {
317
- command: "/add-dir",
318
- description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.addDir.description"),
319
- implemented: true
320
- };
321
-
322
-
323
-
324
254
 
325
255
 
326
256
 
327
- exports.checkWorkspaceSafety = checkWorkspaceSafety; exports.printDangerousWorkspaceWarning = printDangerousWorkspaceWarning; exports.addDir = addDir; exports.metadata = metadata;
328
- /**
329
- * @license
330
- * Copyright 2025 Autohand AI LLC
331
- * SPDX-License-Identifier: Apache-2.0
332
- */
257
+ exports.checkWorkspaceSafety = checkWorkspaceSafety; exports.printDangerousWorkspaceWarning = printDangerousWorkspaceWarning;