autohand-cli 0.9.0 → 0.9.1

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 (414) hide show
  1. package/README.md +20 -2
  2. package/dist/{AgentRegistry-XPWSVO3Q.js → AgentRegistry-GOV7FN2O.js} +2 -2
  3. package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
  4. package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
  5. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-2S6AHOC3.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
  8. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-AEBMAKXE.js} +4 -4
  9. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-AF2XL6DS.cjs} +13 -13
  10. package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
  11. package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
  12. package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
  13. package/dist/{MemoryManager-WJMLPWGU.js → MemoryManager-QZRLTUB5.js} +2 -2
  14. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
  15. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-SJPY3ONR.js} +1 -1
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-MT7KBNNR.js} +3 -3
  17. package/dist/PermissionManager-URCNP5EC.cjs +11 -0
  18. package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-RB4RVAF6.js} +3 -2
  20. package/dist/SessionManager-2IZGWASQ.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-554PHVPC.js} +2 -2
  22. package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
  23. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
  24. package/dist/SubAgent-4GOR2FIJ.js +13 -0
  25. package/dist/SubAgent-ZJMDH4FI.cjs +13 -0
  26. package/dist/{SyncApiClient-LRPFNCKJ.js → SyncApiClient-G3FM65IV.js} +1 -1
  27. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  28. package/dist/{about-BW3PDZUU.js → about-3USFSGOH.js} +5 -4
  29. package/dist/about-QR52U5DD.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-5Y2W6OZP.js} +129 -90
  31. package/dist/{acp-EOETGAHC.cjs → acp-GSYE75OB.cjs} +135 -96
  32. package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
  33. package/dist/{actionExecutor-33I47NZS.js → actionExecutor-PLQJZLZV.js} +12 -8
  34. package/dist/add-dir-BTAD5OZS.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-HCERJDBR.js} +2 -2
  36. package/dist/agent-B3EVT7NN.cjs +126 -0
  37. package/dist/agent-SATQ3WZ3.js +126 -0
  38. package/dist/agents-44CRJGM7.cjs +18 -0
  39. package/dist/agents-NN4ZAJ7R.js +18 -0
  40. package/dist/agents-new-6D6G4QS6.cjs +17 -0
  41. package/dist/agents-new-7GAQ25EK.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-66PKCYTW.js} +2 -2
  43. package/dist/autoSkill-VQLGBELN.cjs +20 -0
  44. package/dist/automode-45DWV4TN.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-BUF3VGXU.js} +2 -2
  46. package/dist/chrome-Q2U73HZB.cjs +50 -0
  47. package/dist/chrome-Q54OALOK.cjs +21 -0
  48. package/dist/{chrome-NHJ44WUN.js → chrome-Y3T7EIHG.js} +2 -2
  49. package/dist/chrome-ZNJ46OYW.js +21 -0
  50. package/dist/{chunk-D2OSPLYC.cjs → chunk-22SCR3EV.cjs} +2 -2
  51. package/dist/chunk-26G7YGOW.js +367 -0
  52. package/dist/{chunk-75EDROHL.cjs → chunk-2ESQR35E.cjs} +10 -10
  53. package/dist/{chunk-HKYZSUQ5.js → chunk-2IW5YFJ4.js} +4 -4
  54. package/dist/{chunk-JP3YHTQ2.cjs → chunk-3ICORF7M.cjs} +4 -4
  55. package/dist/{chunk-4256YRCO.cjs → chunk-3UC6DMFI.cjs} +30 -17
  56. package/dist/{chunk-6GUODJKM.cjs → chunk-3UHRCHKB.cjs} +23 -23
  57. package/dist/{chunk-HXJEGMGB.js → chunk-3ZOOH44N.js} +2 -2
  58. package/dist/{chunk-7RFJB75Y.js → chunk-44ZWOBTI.js} +9 -9
  59. package/dist/{chunk-CCVMREXI.js → chunk-4567QNRB.js} +32 -8
  60. package/dist/chunk-45CHNQM6.cjs +517 -0
  61. package/dist/{chunk-6NVAK6CK.js → chunk-4E7SHPNQ.js} +2 -2
  62. package/dist/{chunk-XGMI6IYB.cjs → chunk-4XFHP2SN.cjs} +7 -7
  63. package/dist/chunk-4XVLNOFA.js +360 -0
  64. package/dist/{chunk-D6GZBSOX.js → chunk-575PXZX7.js} +1 -1
  65. package/dist/{chunk-HJIXWGQZ.js → chunk-5A7ZL64N.js} +1 -1
  66. package/dist/{chunk-ROLA6EFO.cjs → chunk-5GCQ5UMV.cjs} +14 -14
  67. package/dist/{chunk-3DDL2E55.cjs → chunk-5SFV2NCY.cjs} +10 -10
  68. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  69. package/dist/{chunk-PDHT7LQS.cjs → chunk-63ANVAOJ.cjs} +3 -3
  70. package/dist/{chunk-GWO66KBI.js → chunk-65LRPW5W.js} +1 -1
  71. package/dist/{chunk-IAGCRVJ3.js → chunk-6AYJCDTA.js} +14 -9
  72. package/dist/{chunk-A7HHCIDQ.js → chunk-6HF6XSCC.js} +2 -2
  73. package/dist/{chunk-47PHDKNW.cjs → chunk-6JWCGQJU.cjs} +6 -6
  74. package/dist/chunk-6OECOAK5.cjs +360 -0
  75. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  76. package/dist/{chunk-37M5UM6I.js → chunk-7IRQ7JEH.js} +1 -1
  77. package/dist/chunk-7MY4JHER.js +27 -0
  78. package/dist/{chunk-ZR46OJNZ.js → chunk-7PJKTSRN.js} +3 -3
  79. package/dist/{chunk-AC7DZ6SK.cjs → chunk-7PT646AL.cjs} +3 -3
  80. package/dist/{chunk-TKKN34TV.js → chunk-7WAUCLLQ.js} +3 -3
  81. package/dist/{chunk-DPSIGY6L.cjs → chunk-7XTUL7ZD.cjs} +9 -9
  82. package/dist/{chunk-GBMDFWJX.cjs → chunk-AE2ILW25.cjs} +13 -13
  83. package/dist/{chunk-BQ22N3TX.cjs → chunk-AOKXYGBQ.cjs} +27 -22
  84. package/dist/{chunk-REMGR23V.cjs → chunk-AQ5PVHOC.cjs} +7 -2
  85. package/dist/{chunk-AUYSIEVV.cjs → chunk-AZ47LKD5.cjs} +3 -3
  86. package/dist/chunk-B76FJKEJ.cjs +184 -0
  87. package/dist/{chunk-XV2HXRHX.js → chunk-BP37FVBM.js} +3 -3
  88. package/dist/{chunk-JIMSII7R.js → chunk-C46B72VK.js} +57 -10
  89. package/dist/{chunk-L4F7SUYL.js → chunk-C5QIQQ37.js} +3 -3
  90. package/dist/{chunk-AUFNACED.js → chunk-CCIDL4SA.js} +7094 -6126
  91. package/dist/{chunk-OV3PVUYN.js → chunk-CECH6QQP.js} +11 -11
  92. package/dist/{chunk-CH2J4PVE.cjs → chunk-CK4HAHVY.cjs} +13 -13
  93. package/dist/{chunk-Q2IL4DDI.cjs → chunk-CO2AADYU.cjs} +19 -14
  94. package/dist/{chunk-7JLT2VNW.cjs → chunk-CRTCZ4WL.cjs} +7533 -6565
  95. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  96. package/dist/{chunk-DIZTWFVR.cjs → chunk-D546G7DA.cjs} +209 -55
  97. package/dist/{chunk-7HPWMALN.js → chunk-DGBPWODD.js} +1 -1
  98. package/dist/{chunk-RBZ7AFX7.cjs → chunk-DHUQZ53B.cjs} +2 -2
  99. package/dist/{chunk-U4C3HW6P.js → chunk-DNSD7DVJ.js} +2 -2
  100. package/dist/{chunk-SOLBYSLY.cjs → chunk-DSSCERHI.cjs} +2 -2
  101. package/dist/{chunk-OPNI6O7F.cjs → chunk-EA2MS25U.cjs} +4 -4
  102. package/dist/{chunk-E46DJH5S.js → chunk-EEHWALXA.js} +94 -3
  103. package/dist/{chunk-CFFE4VA3.js → chunk-EYHKL4QC.js} +1 -1
  104. package/dist/{chunk-FGT6KK6T.js → chunk-FBQJZKFX.js} +3 -3
  105. package/dist/{chunk-I24CWKKK.js → chunk-FFHSCM5M.js} +3 -3
  106. package/dist/{chunk-TXPSTCG7.cjs → chunk-GAOPJ5S3.cjs} +8 -8
  107. package/dist/{chunk-ARBEHFCG.js → chunk-GSDV75A5.js} +1 -1
  108. package/dist/{chunk-Z3XSSF7B.js → chunk-H426KOGY.js} +1 -1
  109. package/dist/{chunk-WRTXCQ3V.cjs → chunk-HC2Q6A3E.cjs} +858 -182
  110. package/dist/{chunk-IGMPWJ2I.cjs → chunk-HG3ZASBH.cjs} +8 -8
  111. package/dist/chunk-HK5A54AV.cjs +280 -0
  112. package/dist/{chunk-2HOLOHVK.js → chunk-HSWWM6AM.js} +136 -15
  113. package/dist/chunk-HTU4W3GB.js +183 -0
  114. package/dist/{chunk-5CMYEM3R.cjs → chunk-HVCIB4SW.cjs} +3 -3
  115. package/dist/chunk-HXHE2KAO.js +385 -0
  116. package/dist/{chunk-NMQ47RCG.js → chunk-HZWU6IO3.js} +5 -2
  117. package/dist/{chunk-ZPD2AO3U.js → chunk-I2ZK3AOD.js} +2 -2
  118. package/dist/{chunk-3UT7R3XV.js → chunk-IEPLQ47J.js} +61 -5
  119. package/dist/{chunk-3PXKRVCW.js → chunk-JB3JCYBJ.js} +7 -2
  120. package/dist/chunk-JCUHCH37.cjs +247 -0
  121. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  122. package/dist/{chunk-WZV6UVPY.js → chunk-JMJRFSNJ.js} +1 -1
  123. package/dist/{chunk-QKP772OZ.js → chunk-JPFRI4L4.js} +756 -80
  124. package/dist/{chunk-MOJ7ADW4.cjs → chunk-JV5HVCHU.cjs} +2 -2
  125. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  126. package/dist/{chunk-E26KKI46.cjs → chunk-KASXKDF2.cjs} +3 -1
  127. package/dist/chunk-KJ26T7GM.cjs +367 -0
  128. package/dist/chunk-KM7R5YPS.cjs +385 -0
  129. package/dist/{chunk-5F6ZKSHO.js → chunk-KMP6Y3LJ.js} +1 -1
  130. package/dist/chunk-KWXGDSYT.js +184 -0
  131. package/dist/{chunk-LDJQ5QHG.cjs → chunk-L46OUKW5.cjs} +15 -15
  132. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  133. package/dist/chunk-LANGD5CO.js +280 -0
  134. package/dist/{chunk-CBFH2J3O.js → chunk-LEZEWKPA.js} +150 -7
  135. package/dist/{chunk-FQAVGSPW.js → chunk-M5DK524Z.js} +2 -2
  136. package/dist/{chunk-7LWQCE4Y.cjs → chunk-M7B7RRBK.cjs} +72 -25
  137. package/dist/{chunk-BWF4VDYE.js → chunk-MANJ67D3.js} +2 -2
  138. package/dist/{chunk-PHJO5YAL.cjs → chunk-MGNXABSU.cjs} +9 -9
  139. package/dist/{chunk-62RTC3XX.js → chunk-MMKZSJUN.js} +1 -1
  140. package/dist/{chunk-3KLSNNRW.cjs → chunk-MQQH4XQH.cjs} +4 -4
  141. package/dist/{chunk-HS4USDND.cjs → chunk-MZN6JBRZ.cjs} +2 -2
  142. package/dist/{chunk-AT7OWLY5.js → chunk-NB6M6ESM.js} +1 -1
  143. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  144. package/dist/chunk-NQZH5CR2.cjs +468 -0
  145. package/dist/{chunk-2CGE7ZV3.cjs → chunk-NV6LCD2I.cjs} +119 -28
  146. package/dist/chunk-NVATU4V6.cjs +44 -0
  147. package/dist/{chunk-DLP436GI.js → chunk-NZ3ZWLUW.js} +2 -2
  148. package/dist/{chunk-IEXKKKOF.cjs → chunk-NZ7GCK7Y.cjs} +23 -23
  149. package/dist/{chunk-MQESBFBZ.cjs → chunk-NZQFKXM3.cjs} +21 -20
  150. package/dist/{chunk-QQ7PANOP.js → chunk-O5GI6SR3.js} +1 -1
  151. package/dist/{chunk-J5ADZN6V.cjs → chunk-OCATAKXV.cjs} +20 -20
  152. package/dist/{chunk-JYKPWK5O.js → chunk-OIGYWOL6.js} +1 -1
  153. package/dist/{chunk-O6TQP7U7.cjs → chunk-ONVYXTUT.cjs} +3 -3
  154. package/dist/{chunk-MPULXVC4.cjs → chunk-OV3T5MUH.cjs} +11 -11
  155. package/dist/{chunk-DMRXF5DU.js → chunk-P4FUTSVK.js} +3 -3
  156. package/dist/{chunk-MXVIDIC6.cjs → chunk-P6SLT2F4.cjs} +2 -2
  157. package/dist/{chunk-BL2UC7HC.js → chunk-PGFLPURU.js} +1 -1
  158. package/dist/{chunk-CWINVFRI.cjs → chunk-PIXQ2AVM.cjs} +17 -17
  159. package/dist/{chunk-MO4KP6XS.cjs → chunk-PNIAIOMZ.cjs} +5 -5
  160. package/dist/{chunk-HQWQZML5.cjs → chunk-PQBYFEBL.cjs} +2 -2
  161. package/dist/{chunk-UGFVM77J.cjs → chunk-PSAH4ZQB.cjs} +2 -2
  162. package/dist/{chunk-Y3M2DABP.js → chunk-PTTZI4QZ.js} +4 -4
  163. package/dist/{chunk-Q6AC3PHY.cjs → chunk-PY73W5MQ.cjs} +4 -4
  164. package/dist/{chunk-B5CGDNMR.js → chunk-PZZMIYII.js} +3 -3
  165. package/dist/{chunk-VRMZO6TB.js → chunk-Q3BS6FPM.js} +7 -6
  166. package/dist/chunk-QBYGMMDD.js +517 -0
  167. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  168. package/dist/{chunk-3S563FNF.cjs → chunk-QQ64HEHP.cjs} +31 -31
  169. package/dist/{chunk-TBOLJDUG.js → chunk-QRQF3556.js} +12 -7
  170. package/dist/{chunk-ZZ63NW7A.cjs → chunk-RBXBH6EB.cjs} +17 -17
  171. package/dist/{chunk-PUD76XQT.cjs → chunk-RFUKZIJF.cjs} +5 -5
  172. package/dist/chunk-RS2E32YB.js +71 -0
  173. package/dist/{chunk-7MU7LWF3.cjs → chunk-S5JNQIGL.cjs} +5 -5
  174. package/dist/{chunk-BFQDQRDE.js → chunk-S5QKRA2V.js} +2 -2
  175. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  176. package/dist/{chunk-PQLKJCIE.js → chunk-SDLY4X3G.js} +2 -2
  177. package/dist/{chunk-VKBIE6I6.js → chunk-SFFEKZGC.js} +2 -2
  178. package/dist/{chunk-TWQDAUZU.js → chunk-SHRLFX6F.js} +3 -1
  179. package/dist/{chunk-UEIXJG45.js → chunk-SNDDZG5H.js} +88 -72
  180. package/dist/{chunk-AOKCI722.cjs → chunk-SOVR7S3T.cjs} +2 -2
  181. package/dist/{chunk-M4KNC5BQ.js → chunk-SPQ7QIQ6.js} +1 -1
  182. package/dist/{chunk-QCHIDZBA.js → chunk-SRMGWMQO.js} +1 -1
  183. package/dist/{chunk-ZHJ7JGME.cjs → chunk-SVVP4UUZ.cjs} +11 -11
  184. package/dist/{chunk-CHI52KFR.cjs → chunk-SY2P3Z5W.cjs} +150 -7
  185. package/dist/chunk-SZD45IDG.js +468 -0
  186. package/dist/{chunk-VGEV44V2.cjs → chunk-TE4SYTWR.cjs} +189 -28
  187. package/dist/{chunk-YV63VW4K.js → chunk-TR6NECEZ.js} +1 -1
  188. package/dist/{chunk-GZ6DV2UG.js → chunk-TYBPTKFT.js} +1 -1
  189. package/dist/{chunk-5VHP6HDQ.js → chunk-U2QUMKCB.js} +1 -1
  190. package/dist/{chunk-6HH236FV.cjs → chunk-U6PLSPMD.cjs} +2 -2
  191. package/dist/{chunk-EZJHLOWP.js → chunk-UWZ4G3SQ.js} +20 -7
  192. package/dist/{chunk-UXLW45ZE.cjs → chunk-V3SZLWEQ.cjs} +25 -90
  193. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  194. package/dist/{chunk-2QL6MNXG.js → chunk-V5ELP2XE.js} +6 -6
  195. package/dist/{chunk-N6O3XUZ2.cjs → chunk-VKOXFT4L.cjs} +2 -2
  196. package/dist/{chunk-J2K57QM7.cjs → chunk-VLGGMQUN.cjs} +6 -6
  197. package/dist/{chunk-HSCUPEA4.cjs → chunk-VQHSYAPZ.cjs} +11 -11
  198. package/dist/{chunk-DEQVRSV5.cjs → chunk-W5QLA6WP.cjs} +8 -8
  199. package/dist/chunk-WJYFLQ7G.cjs +27 -0
  200. package/dist/{chunk-MX75JYIY.js → chunk-WNJXIACY.js} +3 -3
  201. package/dist/{chunk-OHWMWKJQ.js → chunk-WPE2XHVX.js} +1 -1
  202. package/dist/{chunk-O64I2GYI.js → chunk-X3TI5TJJ.js} +1 -1
  203. package/dist/{chunk-46C73ZKK.cjs → chunk-X5P6QQOB.cjs} +66 -10
  204. package/dist/{chunk-TJNBASFD.cjs → chunk-X7XMITIL.cjs} +8 -8
  205. package/dist/{chunk-E6GFD7VR.cjs → chunk-XNIMSVS6.cjs} +11 -11
  206. package/dist/{chunk-WGLBC5AY.cjs → chunk-XW3XCK4E.cjs} +4 -4
  207. package/dist/{chunk-OM24WXEE.js → chunk-XZVDYC5U.js} +1 -1
  208. package/dist/{chunk-UWFG2R2I.cjs → chunk-Y5BDE24P.cjs} +33 -9
  209. package/dist/{chunk-GGLKUENP.js → chunk-YC5OBZQU.js} +161 -7
  210. package/dist/{chunk-JJ4KA7HK.cjs → chunk-YISPVAXO.cjs} +371 -250
  211. package/dist/{chunk-SWCQM52V.js → chunk-YQDI753V.js} +4 -4
  212. package/dist/{chunk-KNTUI4TZ.cjs → chunk-YWH55BWK.cjs} +9 -6
  213. package/dist/{chunk-ACDQGA4Z.js → chunk-YXM6SA7P.js} +7 -72
  214. package/dist/{chunk-3GUEUCZK.js → chunk-ZNGRLCFQ.js} +2 -0
  215. package/dist/{chunk-LQBONA55.cjs → chunk-ZNYZB7XY.cjs} +2 -0
  216. package/dist/{chunk-XIVFAD2L.js → chunk-ZPLCAXJW.js} +172 -11
  217. package/dist/chunk-ZUYYHKQA.js +44 -0
  218. package/dist/clear-QJXU25IF.cjs +12 -0
  219. package/dist/{clear-OFLFQ3MR.js → clear-Y5TO3RZA.js} +2 -2
  220. package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
  221. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-RVL4STPS.js} +6 -6
  222. package/dist/completion-JX4T2ONW.cjs +17 -0
  223. package/dist/{completion-PT4VM2H2.js → completion-SE3XYG74.js} +5 -5
  224. package/dist/config-3224PRW4.cjs +21 -0
  225. package/dist/{config-R4O7GBTY.js → config-7KPHKFTP.js} +4 -3
  226. package/dist/{constants-HVCHVQAF.js → constants-EJFAWJQI.js} +1 -1
  227. package/dist/constants-MCCGUU5F.cjs +21 -0
  228. package/dist/{export-3PK3VFCE.js → export-BJVIDZC4.js} +5 -5
  229. package/dist/export-KU4557HK.cjs +15 -0
  230. package/dist/feature-K3LG5IJP.cjs +14 -0
  231. package/dist/feature-V4JF5TNJ.js +14 -0
  232. package/dist/features-5OJTLKS7.js +23 -0
  233. package/dist/features-VCBJQXCX.cjs +23 -0
  234. package/dist/feedback-D4437VE4.js +18 -0
  235. package/dist/feedback-VZPEHGFY.cjs +18 -0
  236. package/dist/go-X4E6BCD6.js +12 -0
  237. package/dist/go-XREVFS5I.cjs +12 -0
  238. package/dist/goal-4M3J6JS2.cjs +16 -0
  239. package/dist/goal-EI66BV7W.js +16 -0
  240. package/dist/help-GGFS7WHY.cjs +12 -0
  241. package/dist/{help-X3OAZ3CY.js → help-MLIROWKM.js} +2 -2
  242. package/dist/{history-YKFPHBJN.js → history-GQJ6RZD6.js} +2 -2
  243. package/dist/history-J4LUIOSI.cjs +14 -0
  244. package/dist/hooks-FSRIUS6A.cjs +18 -0
  245. package/dist/{hooks-7TA4PIIB.js → hooks-PPFHCF7T.js} +6 -6
  246. package/dist/i18n-CI6VFXL5.cjs +33 -0
  247. package/dist/{i18n-2KBUU7XL.js → i18n-Q7UZJRPL.js} +1 -1
  248. package/dist/ide-BUSVE54P.js +15 -0
  249. package/dist/ide-YR27BPGM.cjs +15 -0
  250. package/dist/{import-4CHYLS4K.js → import-3VBKI6BN.js} +3 -3
  251. package/dist/{import-I7T4ZHYL.cjs → import-C7S6UJMW.cjs} +3 -3
  252. package/dist/import-DBK4OCDF.cjs +10 -0
  253. package/dist/{import-JWPYKXCZ.js → import-U47DXCA7.js} +2 -2
  254. package/dist/index.cjs +267 -170
  255. package/dist/index.d.cts +2 -0
  256. package/dist/index.d.ts +2 -0
  257. package/dist/index.js +165 -68
  258. package/dist/init-OXTYS72D.cjs +10 -0
  259. package/dist/{init-262MWZV4.js → init-Q2O4R42R.js} +2 -2
  260. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-3CFZDUBH.js} +2 -2
  261. package/dist/inputPrompt-JMACL4EB.cjs +90 -0
  262. package/dist/language-EK3M6UBV.cjs +22 -0
  263. package/dist/language-Q3RUGGOW.js +22 -0
  264. package/dist/learn-3DSX7DYG.cjs +23 -0
  265. package/dist/learn-OPOH5L43.js +23 -0
  266. package/dist/login-GST7MWXJ.cjs +27 -0
  267. package/dist/login-Q7DZKAX4.js +27 -0
  268. package/dist/logout-2G7OUK7I.cjs +24 -0
  269. package/dist/logout-FNBBL2UI.js +24 -0
  270. package/dist/{mcp-5O6PUL4G.js → mcp-AH3MMUBU.js} +7 -6
  271. package/dist/mcp-DW7R63IB.cjs +21 -0
  272. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-222PCKSW.js} +9 -8
  273. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-IA4ZS2SV.cjs} +14 -13
  274. package/dist/memory-6NX3DAIY.cjs +10 -0
  275. package/dist/{memory-Q54CESNM.js → memory-VB46T5H3.js} +2 -2
  276. package/dist/model-64NAELFS.cjs +10 -0
  277. package/dist/{model-6AJ77PJG.js → model-SJJG64AM.js} +2 -2
  278. package/dist/new-DU5SOOOY.cjs +12 -0
  279. package/dist/{new-ZXHEWC2S.js → new-ERZ5C6CN.js} +2 -2
  280. package/dist/onboarding-2U2BV2KE.cjs +36 -0
  281. package/dist/{onboarding-JYNMK6NI.js → onboarding-ZQXMPSMJ.js} +14 -13
  282. package/dist/{permissions-YHJMVA6L.js → permissions-7ACNFK7A.js} +2 -2
  283. package/dist/permissions-GSNNV7RJ.cjs +10 -0
  284. package/dist/{quit-GWTNHQSP.js → quit-WY6T267G.js} +2 -2
  285. package/dist/quit-XIRE2KRE.cjs +10 -0
  286. package/dist/{registry-34GL6BNJ.js → registry-4DXUDKJN.js} +1 -1
  287. package/dist/{registry-V24W7YK6.cjs → registry-UEO3ETZ7.cjs} +21 -21
  288. package/dist/resume-RQZ3WXBP.cjs +17 -0
  289. package/dist/resume-XSXZMDMD.js +17 -0
  290. package/dist/{rpc-S3DGW6KV.js → rpc-XH7QLN4H.js} +251 -107
  291. package/dist/{rpc-NPS3PU4O.cjs → rpc-YF54T7JU.cjs} +347 -203
  292. package/dist/search-VXXFGZWU.cjs +21 -0
  293. package/dist/search-YAWGX7P7.js +21 -0
  294. package/dist/{sessions-IYAXMK23.js → sessions-NJYHJOEL.js} +2 -2
  295. package/dist/sessions-OSG3UJEZ.cjs +10 -0
  296. package/dist/settings-SO2UIGWV.cjs +42 -0
  297. package/dist/{settings-55BNW6BF.js → settings-ZXUQH3DO.js} +17 -8
  298. package/dist/setup-KG7EGKF5.js +30 -0
  299. package/dist/setup-RSOPCQ57.cjs +30 -0
  300. package/dist/share-WFAGZ5PY.js +17 -0
  301. package/dist/share-ZU3SGACF.cjs +17 -0
  302. package/dist/skills-KBVAQAD2.cjs +29 -0
  303. package/dist/{skills-VWOMV3CR.js → skills-NBTNDVAY.js} +8 -8
  304. package/dist/{skills-MVIZNHT4.js → skills-OB6RDW7D.js} +9 -9
  305. package/dist/{skills-GGMZOVIE.cjs → skills-ZROBG3RZ.cjs} +10 -10
  306. package/dist/{skills-install-QBA5RCV6.js → skills-install-BHTIEMKH.js} +7 -7
  307. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-ILX6QVEF.cjs} +15 -15
  308. package/dist/skills-new-B45VQ2PP.cjs +18 -0
  309. package/dist/skills-new-YMRP2HNO.js +18 -0
  310. package/dist/slashCommands-53VYIBJU.js +105 -0
  311. package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
  312. package/dist/status-CQ2IUOVK.cjs +24 -0
  313. package/dist/status-E7IGNVPC.js +24 -0
  314. package/dist/{sync-7OKF6636.js → sync-7C25MOT2.js} +6 -5
  315. package/dist/{sync-7BILIQHP.js → sync-OCJN4ZSO.js} +3 -3
  316. package/dist/sync-XRP46IVG.cjs +40 -0
  317. package/dist/sync-ZMFVE7T4.cjs +22 -0
  318. package/dist/{teammate-J6PHGL23.cjs → teammate-D77B6QRT.cjs} +9 -8
  319. package/dist/{teammate-GZQSCIMS.js → teammate-EZCMHOIL.js} +8 -7
  320. package/dist/templates-ARG2VRWW.cjs +11 -0
  321. package/dist/templates-UGVZV3KJ.js +11 -0
  322. package/dist/theme-KKRDE6P7.cjs +22 -0
  323. package/dist/theme-XF7XIWBQ.js +22 -0
  324. package/dist/ui/questionModal.cjs +6 -6
  325. package/dist/ui/questionModal.js +5 -5
  326. package/dist/{undo-SZEHLX7X.js → undo-GNUTFXCW.js} +2 -2
  327. package/dist/undo-U4KN7QQM.cjs +10 -0
  328. package/dist/usage-QSTNSDAO.js +24 -0
  329. package/dist/usage-YDEMQBNQ.cjs +24 -0
  330. package/package.json +7 -2
  331. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  332. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  333. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  334. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  335. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  336. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  337. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  338. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  339. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  340. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  341. package/dist/SubAgent-FDIH3DXB.js +0 -11
  342. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  343. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  344. package/dist/about-FCAX37YC.cjs +0 -14
  345. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  346. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  347. package/dist/agent-DMRUFU4M.cjs +0 -116
  348. package/dist/agent-WCJEYQJT.js +0 -116
  349. package/dist/agents-CHROO3VU.cjs +0 -17
  350. package/dist/agents-UVDUL65K.js +0 -17
  351. package/dist/agents-new-AUBWSOXP.js +0 -17
  352. package/dist/agents-new-Y562WC47.cjs +0 -17
  353. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  354. package/dist/automode-DBLKTTKD.cjs +0 -10
  355. package/dist/chrome-ATC4OO5I.cjs +0 -20
  356. package/dist/chrome-O62WXV7F.js +0 -20
  357. package/dist/chrome-XHJLCO4M.cjs +0 -50
  358. package/dist/chunk-6XVVIY54.cjs +0 -256
  359. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  360. package/dist/chunk-VDWJMWDF.js +0 -256
  361. package/dist/clear-33TWQ2ES.cjs +0 -12
  362. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  363. package/dist/completion-IIZMHXYP.cjs +0 -17
  364. package/dist/config-KL6WU7R2.cjs +0 -20
  365. package/dist/constants-RLMJ5D5P.cjs +0 -21
  366. package/dist/export-WLGNWEMJ.cjs +0 -15
  367. package/dist/feedback-G635NCLJ.js +0 -18
  368. package/dist/feedback-LLMK3TZH.cjs +0 -18
  369. package/dist/help-BAXLP2M2.cjs +0 -12
  370. package/dist/history-6HOJSEMT.cjs +0 -14
  371. package/dist/hooks-XVFU67T2.cjs +0 -18
  372. package/dist/i18n-MUJMKTFM.cjs +0 -33
  373. package/dist/ide-CCQ33PGC.cjs +0 -15
  374. package/dist/ide-VLVFBZ5F.js +0 -15
  375. package/dist/import-J46F54JY.cjs +0 -10
  376. package/dist/init-EE5Y7RBL.cjs +0 -10
  377. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  378. package/dist/language-CVLPB7OV.js +0 -21
  379. package/dist/language-ZTWFHUSV.cjs +0 -21
  380. package/dist/learn-PON7I5QS.js +0 -23
  381. package/dist/learn-XLRSVNA3.cjs +0 -23
  382. package/dist/login-223QTGBG.cjs +0 -26
  383. package/dist/login-6IKTBUBY.js +0 -26
  384. package/dist/logout-RN2AG6SI.js +0 -23
  385. package/dist/logout-U3M4FFX7.cjs +0 -23
  386. package/dist/mcp-NUQ76QQB.cjs +0 -20
  387. package/dist/memory-CYMDQ2YC.cjs +0 -10
  388. package/dist/model-IDRCKDML.cjs +0 -10
  389. package/dist/new-7LEWOUF2.cjs +0 -12
  390. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  391. package/dist/permissions-YBNSANIA.cjs +0 -10
  392. package/dist/quit-B43SJ6E4.cjs +0 -10
  393. package/dist/resume-DYVOQN5L.cjs +0 -16
  394. package/dist/resume-M25UQKOX.js +0 -16
  395. package/dist/search-CPX4PWHP.js +0 -20
  396. package/dist/search-VUF3M4N3.cjs +0 -20
  397. package/dist/sessions-JODKER5D.cjs +0 -10
  398. package/dist/settings-BKTS7OMC.cjs +0 -33
  399. package/dist/setup-IRC5HQG2.js +0 -29
  400. package/dist/setup-MMQ7TWOP.cjs +0 -29
  401. package/dist/share-6JRQECAH.cjs +0 -17
  402. package/dist/share-YM5MJKMO.js +0 -17
  403. package/dist/skills-LWSOKOSH.cjs +0 -29
  404. package/dist/skills-new-GPL46YV2.js +0 -18
  405. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  406. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  407. package/dist/slashCommands-FCWY5DXW.js +0 -95
  408. package/dist/status-3B5SDZPL.js +0 -17
  409. package/dist/status-TTGRF6NC.cjs +0 -17
  410. package/dist/sync-77CXVVTK.cjs +0 -21
  411. package/dist/sync-EH4K5U3N.cjs +0 -40
  412. package/dist/theme-64BYGJ57.cjs +0 -21
  413. package/dist/theme-YJE6HEON.js +0 -21
  414. package/dist/undo-PRTEGL2J.cjs +0 -10
@@ -0,0 +1,517 @@
1
+ import {
2
+ formatUsageDashboard,
3
+ gatherUsageDashboardData
4
+ } from "./chunk-HXHE2KAO.js";
5
+ import {
6
+ formatAccount
7
+ } from "./chunk-ZUYYHKQA.js";
8
+ import {
9
+ createCommandTheme
10
+ } from "./chunk-46MTALKD.js";
11
+ import {
12
+ package_default
13
+ } from "./chunk-JB3JCYBJ.js";
14
+ import {
15
+ cleanupModalRender,
16
+ prepareModalRender
17
+ } from "./chunk-NZ3ZWLUW.js";
18
+ import {
19
+ t
20
+ } from "./chunk-LEZEWKPA.js";
21
+
22
+ // src/commands/status.ts
23
+ import readline from "readline";
24
+
25
+ // src/core/agent/AgentFormatter.ts
26
+ import chalk from "chalk";
27
+
28
+ // src/ui/toolOutput.ts
29
+ import * as path from "path";
30
+ var FILE_SUMMARY_TOOLS = /* @__PURE__ */ new Set([
31
+ "read_file"
32
+ ]);
33
+ var TRUNCATED_TOOLS = /* @__PURE__ */ new Set([
34
+ "find",
35
+ "glob"
36
+ ]);
37
+ var SUMMARY_TOOLS = /* @__PURE__ */ new Set([
38
+ "tools_registry"
39
+ ]);
40
+ function formatAskFollowupAnswer(content) {
41
+ const trimmed = content.trim();
42
+ const answerMatch = trimmed.match(/^<answer>([\s\S]*)<\/answer>$/);
43
+ const answer = (answerMatch?.[1] ?? trimmed).trim() || "No answer provided";
44
+ return `Answer: ${answer}`;
45
+ }
46
+ function formatFileSize(bytes) {
47
+ if (bytes < 1024) return `${bytes} B`;
48
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(2)} KB`;
49
+ return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
50
+ }
51
+ function countLines(content) {
52
+ if (!content) return 0;
53
+ return content.split("\n").length;
54
+ }
55
+ function formatToolOutputForDisplay(options) {
56
+ const { tool, content, charLimit, filePath, command, commandArgs } = options;
57
+ const totalChars = content.length;
58
+ if (tool === "ask_followup_question") {
59
+ return {
60
+ output: formatAskFollowupAnswer(content),
61
+ truncated: false,
62
+ totalChars
63
+ };
64
+ }
65
+ if ((tool === "run_command" || tool === "shell") && command) {
66
+ const fullCommand = commandArgs?.length ? `${command} ${commandArgs.join(" ")}` : command;
67
+ const outputLines = content ? content.split("\n").length : 0;
68
+ const truncatedContent = charLimit > 0 && totalChars > charLimit ? `${content.slice(0, charLimit)}
69
+ ... (${totalChars} chars)` : content;
70
+ return {
71
+ output: `$ ${fullCommand}${truncatedContent ? `
72
+ ${truncatedContent}` : outputLines > 0 ? `
73
+ (${outputLines} lines)` : ""}`,
74
+ truncated: totalChars > charLimit,
75
+ totalChars
76
+ };
77
+ }
78
+ if (FILE_SUMMARY_TOOLS.has(tool) && filePath) {
79
+ const fileName = path.basename(filePath);
80
+ const dirName = path.dirname(filePath);
81
+ const displayPath = dirName === "." ? fileName : `${path.basename(dirName)}/${fileName}`;
82
+ const lines = countLines(content);
83
+ const size = formatFileSize(Buffer.byteLength(content, "utf8"));
84
+ return {
85
+ output: `${displayPath}
86
+ ${lines} lines - ${size}`,
87
+ truncated: false,
88
+ totalChars
89
+ };
90
+ }
91
+ if (SUMMARY_TOOLS.has(tool)) {
92
+ try {
93
+ const parsed = JSON.parse(content);
94
+ const total = parsed.length;
95
+ const builtin = parsed.filter((t2) => t2.source === "builtin").length;
96
+ const meta = total - builtin;
97
+ const parts = [`${total} tools`];
98
+ if (builtin > 0) parts.push(`${builtin} builtin`);
99
+ if (meta > 0) parts.push(`${meta} meta`);
100
+ return { output: parts.join(", "), truncated: false, totalChars };
101
+ } catch {
102
+ }
103
+ }
104
+ if (TRUNCATED_TOOLS.has(tool) && charLimit > 0 && totalChars > charLimit) {
105
+ return {
106
+ output: `${content.slice(0, charLimit)}
107
+ ... (truncated, ${totalChars} total characters)`,
108
+ truncated: true,
109
+ totalChars
110
+ };
111
+ }
112
+ return { output: content, truncated: false, totalChars };
113
+ }
114
+
115
+ // src/core/agent/AgentFormatter.ts
116
+ function formatExplorationLabel(kind) {
117
+ switch (kind) {
118
+ case "read":
119
+ return "Read";
120
+ case "search":
121
+ return "Search";
122
+ default:
123
+ return "List";
124
+ }
125
+ }
126
+ var MAX_VISIBLE_PER_GROUP = 4;
127
+ function getToolCallLabel(call) {
128
+ if (!call) return "";
129
+ const args = call.args ?? {};
130
+ if (args.path) return String(args.path);
131
+ if (args.file_path) return String(args.file_path);
132
+ if (args.command) {
133
+ const cmd = String(args.command);
134
+ const cmdArgs = Array.isArray(args.args) ? args.args.join(" ") : "";
135
+ return cmdArgs ? `${cmd} ${cmdArgs}` : cmd;
136
+ }
137
+ if (args.query) return String(args.query);
138
+ if (args.pattern) return String(args.pattern);
139
+ if (args.task) return String(args.task).slice(0, 60);
140
+ for (const val of Object.values(args)) {
141
+ if (typeof val === "string" && val.length > 0) return val.slice(0, 80);
142
+ }
143
+ return call.tool;
144
+ }
145
+ function formatToolResultsBatch(results, charLimit, toolCalls, thought) {
146
+ const lines = [];
147
+ if (thought) {
148
+ lines.push(chalk.white(thought));
149
+ lines.push("");
150
+ }
151
+ if (results.length <= 1) {
152
+ for (let i = 0; i < results.length; i++) {
153
+ const result = results[i];
154
+ const content = result.success ? result.output ?? "(no output)" : result.error ?? result.output ?? "Tool failed without error message";
155
+ const call = toolCalls?.[i];
156
+ const filePath = call?.args?.path;
157
+ const command = call?.args?.command;
158
+ const commandArgs = call?.args?.args;
159
+ const display = result.success ? formatToolOutputForDisplay({ tool: result.tool, content, charLimit, filePath, command, commandArgs }) : { output: content, truncated: false, totalChars: content.length };
160
+ const icon = result.success ? chalk.green("\u2714") : chalk.red("\u2716");
161
+ lines.push(`${icon} ${chalk.bold(result.tool)}`);
162
+ if (content) {
163
+ if (result.success) {
164
+ lines.push(chalk.gray(display.output));
165
+ } else {
166
+ lines.push(chalk.red("\u250C\u2500 Error \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
167
+ lines.push(chalk.red("\u2502 ") + chalk.white(content));
168
+ lines.push(chalk.red("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
169
+ }
170
+ }
171
+ lines.push("");
172
+ }
173
+ return lines.join("\n");
174
+ }
175
+ const groups = /* @__PURE__ */ new Map();
176
+ const groupOrder = [];
177
+ for (let i = 0; i < results.length; i++) {
178
+ const result = results[i];
179
+ const call = toolCalls?.[i];
180
+ const content = result.success ? result.output ?? "(no output)" : result.error ?? result.output ?? "Tool failed without error message";
181
+ const filePath = call?.args?.path;
182
+ const command = call?.args?.command;
183
+ const commandArgs = call?.args?.args;
184
+ const display = result.success ? formatToolOutputForDisplay({ tool: result.tool, content, charLimit, filePath, command, commandArgs }) : { output: content, truncated: false, totalChars: content.length };
185
+ const item = {
186
+ label: getToolCallLabel(call),
187
+ detail: display.output,
188
+ success: result.success,
189
+ error: result.success ? void 0 : content
190
+ };
191
+ if (!groups.has(result.tool)) {
192
+ groups.set(result.tool, []);
193
+ groupOrder.push(result.tool);
194
+ }
195
+ groups.get(result.tool).push(item);
196
+ }
197
+ for (let gi = 0; gi < groupOrder.length; gi++) {
198
+ const toolName = groupOrder[gi];
199
+ const items = groups.get(toolName);
200
+ const isLastGroup = gi === groupOrder.length - 1;
201
+ const allSuccess = items.every((it) => it.success);
202
+ const icon = allSuccess ? chalk.green("\u2714") : chalk.red("\u2716");
203
+ const count = items.length > 1 ? chalk.dim(` (${items.length})`) : "";
204
+ lines.push(`${icon} ${chalk.bold(toolName)}${count}`);
205
+ const visible = items.slice(0, MAX_VISIBLE_PER_GROUP);
206
+ const hidden = items.length - visible.length;
207
+ for (let ii = 0; ii < visible.length; ii++) {
208
+ const item = visible[ii];
209
+ const isLast = ii === visible.length - 1 && hidden === 0;
210
+ const connector = isLast && isLastGroup ? " \u2514 " : " \u251C ";
211
+ if (!item.success) {
212
+ lines.push(chalk.dim(connector) + chalk.red(item.label));
213
+ lines.push(chalk.red(" \u2502 ") + item.error);
214
+ } else {
215
+ lines.push(chalk.dim(connector) + chalk.gray(item.label));
216
+ const firstLine = item.detail.split("\n")[0];
217
+ if (firstLine && firstLine !== item.label) {
218
+ lines.push(chalk.dim(" ") + chalk.gray(firstLine));
219
+ }
220
+ }
221
+ }
222
+ if (hidden > 0) {
223
+ const connector = isLastGroup ? " \u2514 " : " \u251C ";
224
+ lines.push(chalk.dim(connector) + chalk.dim(`+${hidden} more`));
225
+ }
226
+ lines.push("");
227
+ }
228
+ return lines.join("\n");
229
+ }
230
+ function describeInstruction(instruction) {
231
+ const normalized = instruction.trim().replace(/\s+/g, " ");
232
+ if (!normalized) {
233
+ return "work";
234
+ }
235
+ return normalized.length > 60 ? `${normalized.slice(0, 57)}\u2026` : normalized;
236
+ }
237
+ function formatElapsedTime(startedAt) {
238
+ const diff = Date.now() - startedAt;
239
+ const totalSeconds = Math.floor(diff / 1e3);
240
+ const hours = Math.floor(totalSeconds / 3600);
241
+ const minutes = Math.floor(totalSeconds % 3600 / 60);
242
+ const seconds = totalSeconds % 60;
243
+ if (hours > 0) {
244
+ return `${hours}h ${minutes.toString().padStart(2, "0")}m ${seconds.toString().padStart(2, "0")}s`;
245
+ }
246
+ return `${minutes}m ${seconds.toString().padStart(2, "0")}s`;
247
+ }
248
+ function formatTokens(tokens) {
249
+ if (tokens >= 1e3) {
250
+ return `${(tokens / 1e3).toFixed(1)}k tokens`;
251
+ }
252
+ return `${tokens} tokens`;
253
+ }
254
+ function formatTurnUsage(usage) {
255
+ if (usage?.kind === "actual") {
256
+ return formatTokens(usage.totalTokens);
257
+ }
258
+ return "tokens unavailable";
259
+ }
260
+ function formatSessionActualTokens(tokens, status2) {
261
+ if (status2 === "unavailable") {
262
+ return "unavailable";
263
+ }
264
+ return formatTokens(tokens);
265
+ }
266
+
267
+ // src/commands/status.ts
268
+ var metadata = {
269
+ command: "/status",
270
+ description: "Show Autohand status including version, model, API connectivity, and usage",
271
+ implemented: true
272
+ };
273
+ async function status(ctx) {
274
+ const data = await gatherStatusData(ctx);
275
+ await renderStatusUI(data);
276
+ return null;
277
+ }
278
+ async function gatherStatusData(ctx) {
279
+ const currentSession = ctx.sessionManager.getCurrentSession();
280
+ const allSessions = await ctx.sessionManager.listSessions();
281
+ let apiConnected = false;
282
+ try {
283
+ apiConnected = await ctx.llm.isAvailable();
284
+ } catch {
285
+ apiConnected = false;
286
+ }
287
+ return {
288
+ version: package_default.version,
289
+ sessionId: currentSession?.metadata.sessionId ?? null,
290
+ cwd: ctx.workspaceRoot,
291
+ provider: ctx.provider ?? "openrouter",
292
+ model: ctx.model,
293
+ account: formatAccount(ctx.config),
294
+ apiConnected,
295
+ sessionsCount: allSessions.length,
296
+ contextPercentLeft: ctx.getContextPercentLeft?.() ?? 100,
297
+ totalTokensUsed: ctx.getTotalTokensUsed?.() ?? 0,
298
+ tokenUsageStatus: ctx.getTokenUsageStatus?.() ?? "actual",
299
+ usageV2Dashboard: ctx.isFeatureEnabled?.("usage_v2", ctx.config?.features?.usageV2 === true) ? formatUsageDashboard(gatherUsageDashboardData(ctx)) : null,
300
+ config: ctx.config,
301
+ contextCompactionEnabled: ctx.isContextCompactionEnabled?.() ?? true
302
+ };
303
+ }
304
+ function renderStatusUI(data) {
305
+ return new Promise((resolve) => {
306
+ const tabs = ["Status", "Config", "Usage"];
307
+ let currentTab = 0;
308
+ let completed = false;
309
+ const input = process.stdin;
310
+ const isTTY = input.isTTY;
311
+ const useAlternateScreen = process.stdout.isTTY;
312
+ const wasRaw = input.isRaw;
313
+ const wasPaused = typeof input.isPaused === "function" ? input.isPaused() : false;
314
+ if (useAlternateScreen) {
315
+ prepareModalRender(process.stdout);
316
+ }
317
+ if (wasPaused && typeof input.resume === "function") {
318
+ input.resume();
319
+ }
320
+ if (isTTY) {
321
+ readline.emitKeypressEvents(input);
322
+ if (!wasRaw && typeof input.setRawMode === "function") {
323
+ try {
324
+ input.setRawMode(true);
325
+ } catch {
326
+ }
327
+ }
328
+ if (typeof input.setEncoding === "function") {
329
+ input.setEncoding("utf8");
330
+ }
331
+ }
332
+ const render = () => {
333
+ const theme = createCommandTheme();
334
+ process.stdout.write("\x1B[2J\x1B[H");
335
+ renderTabHeader(tabs, currentTab);
336
+ renderTabContent(tabs[currentTab], data);
337
+ console.log(theme.muted("\nEsc to exit"));
338
+ };
339
+ let buffer = "";
340
+ const handler = (chunk) => {
341
+ buffer += typeof chunk === "string" ? chunk : chunk.toString("utf8");
342
+ const processNext = () => {
343
+ if (!buffer.length) {
344
+ return false;
345
+ }
346
+ const first = buffer[0];
347
+ if (first === "\x1B") {
348
+ if (buffer.length === 1) {
349
+ return false;
350
+ }
351
+ if (buffer[1] === "[") {
352
+ if (buffer.length < 3) {
353
+ return false;
354
+ }
355
+ const seq = buffer.slice(0, 3);
356
+ buffer = buffer.slice(3);
357
+ handleSequence(seq);
358
+ return true;
359
+ }
360
+ buffer = buffer.slice(1);
361
+ handleSequence("\x1B");
362
+ return true;
363
+ }
364
+ buffer = buffer.slice(1);
365
+ handleSequence(first);
366
+ return true;
367
+ };
368
+ while (processNext()) {
369
+ }
370
+ };
371
+ const handleSequence = (sequence) => {
372
+ switch (sequence) {
373
+ case "\x1B":
374
+ // ESC
375
+ case "":
376
+ cleanup();
377
+ resolve();
378
+ return;
379
+ case " ":
380
+ // Tab
381
+ case "\x1B[C":
382
+ currentTab = (currentTab + 1) % tabs.length;
383
+ render();
384
+ return;
385
+ case "\x1B[Z":
386
+ // Shift+Tab
387
+ case "\x1B[D":
388
+ currentTab = (currentTab - 1 + tabs.length) % tabs.length;
389
+ render();
390
+ return;
391
+ default:
392
+ return;
393
+ }
394
+ };
395
+ const cleanup = () => {
396
+ if (completed) {
397
+ return;
398
+ }
399
+ completed = true;
400
+ input.off("data", handler);
401
+ if (isTTY && !wasRaw && typeof input.setRawMode === "function") {
402
+ try {
403
+ input.setRawMode(false);
404
+ } catch {
405
+ }
406
+ }
407
+ if (wasPaused && typeof input.pause === "function") {
408
+ input.pause();
409
+ }
410
+ process.stdout.write("\x1B[2J\x1B[H");
411
+ if (useAlternateScreen) {
412
+ cleanupModalRender(process.stdout);
413
+ }
414
+ };
415
+ input.on("data", handler);
416
+ render();
417
+ });
418
+ }
419
+ function renderTabHeader(tabs, currentIndex) {
420
+ const theme = createCommandTheme();
421
+ const header = tabs.map((tab, i) => {
422
+ return i === currentIndex ? theme.selectedTab(tab) : theme.tab(tab);
423
+ }).join(" ");
424
+ console.log(`Settings: ${header} ${theme.muted("(tab to cycle)")}
425
+ `);
426
+ }
427
+ function renderTabContent(tab, data) {
428
+ switch (tab) {
429
+ case "Status":
430
+ renderStatusTab(data);
431
+ break;
432
+ case "Config":
433
+ renderConfigTab(data);
434
+ break;
435
+ case "Usage":
436
+ renderUsageTab(data);
437
+ break;
438
+ }
439
+ }
440
+ function renderStatusTab(data) {
441
+ const theme = createCommandTheme();
442
+ console.log(theme.bold(`${t("commands.status.version")}:`), data.version);
443
+ console.log(theme.bold(`${t("commands.status.sessionId")}:`), data.sessionId ?? theme.muted("none"));
444
+ console.log(theme.bold(`${t("commands.status.cwd")}:`), data.cwd);
445
+ console.log(theme.bold(`${t("commands.status.provider")}:`), data.provider);
446
+ console.log(theme.bold(`${t("commands.status.model")}:`), data.model);
447
+ console.log(theme.bold("Account:"), data.account);
448
+ console.log(
449
+ theme.bold("Context Compaction:"),
450
+ data.contextCompactionEnabled ? theme.success("ON") : theme.warning("OFF")
451
+ );
452
+ console.log();
453
+ console.log(
454
+ theme.bold(`${t("commands.status.apiStatus")}:`),
455
+ data.apiConnected ? theme.success(t("commands.status.connected")) : theme.error(t("commands.status.disconnected"))
456
+ );
457
+ console.log(theme.bold(`${t("commands.status.sessions")}:`), t("commands.status.total", { count: String(data.sessionsCount) }));
458
+ console.log(theme.bold("Memory:"), "user (~/.autohand/memory/), project (.autohand/memory/)");
459
+ }
460
+ function renderConfigTab(data) {
461
+ const theme = createCommandTheme();
462
+ const config = data.config;
463
+ console.log(theme.bold("Autohand preferences\n"));
464
+ const settings = [
465
+ ["Theme", config?.ui?.theme ?? "dark"],
466
+ ["Auto-confirm", config?.ui?.autoConfirm ? "true" : "false"],
467
+ ["Silent tool output", config?.ui?.silentToolOutput === true ? "true" : "false"],
468
+ ["Show thinking", config?.ui?.showThinking !== false ? "true" : "false"],
469
+ ["Show completion notification", config?.ui?.showCompletionNotification !== false ? "true" : "false"],
470
+ ["Permission mode", config?.permissions?.mode ?? "interactive"],
471
+ ["Telemetry", config?.telemetry?.enabled === true ? "true" : "false"],
472
+ ["Network retries", String(config?.network?.maxRetries ?? 3)],
473
+ ["Network timeout", `${config?.network?.timeout ?? 3e4}ms`]
474
+ ];
475
+ for (const [name, value] of settings) {
476
+ console.log(` ${theme.accent(name.padEnd(30))} ${value}`);
477
+ }
478
+ }
479
+ function renderUsageTab(data) {
480
+ const theme = createCommandTheme();
481
+ if (data.usageV2Dashboard) {
482
+ console.log(data.usageV2Dashboard);
483
+ return;
484
+ }
485
+ const contextUsed = 100 - data.contextPercentLeft;
486
+ console.log(theme.bold("Current session\n"));
487
+ renderProgressBar("Context used (estimated)", contextUsed, 100);
488
+ console.log();
489
+ console.log(theme.bold("Actual tokens used:"), formatSessionActualTokens(data.totalTokensUsed, data.tokenUsageStatus));
490
+ }
491
+ function renderProgressBar(label, value, max) {
492
+ const theme = createCommandTheme();
493
+ const width = 30;
494
+ const filled = Math.round(value / max * width);
495
+ const empty = width - filled;
496
+ const bar = theme.progressFilled("\u2588".repeat(filled)) + theme.progressEmpty("\u2591".repeat(empty));
497
+ const percent = Math.round(value / max * 100);
498
+ console.log(label);
499
+ console.log(`${bar} ${percent}% used`);
500
+ }
501
+
502
+ export {
503
+ formatToolOutputForDisplay,
504
+ formatExplorationLabel,
505
+ formatToolResultsBatch,
506
+ describeInstruction,
507
+ formatElapsedTime,
508
+ formatTurnUsage,
509
+ formatSessionActualTokens,
510
+ metadata,
511
+ status
512
+ };
513
+ /**
514
+ * @license
515
+ * Copyright 2025 Autohand AI LLC
516
+ * SPDX-License-Identifier: Apache-2.0
517
+ */
@@ -9,6 +9,7 @@ var _os = require('os'); var _os2 = _interopRequireDefault(_os);
9
9
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
10
10
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
11
11
  var GIT_COMMAND_TIMEOUT_MS = 5e3;
12
+ var GIT_INIT_TIMEOUT_MS = 15e3;
12
13
  var toolCheckResultsPromise;
13
14
  function getCurrentBunVersion() {
14
15
  return process.versions.bun;
@@ -200,7 +201,7 @@ function isEmptyDirectory(dir) {
200
201
  return false;
201
202
  }
202
203
  }
203
- function runGitCommand(args, cwd) {
204
+ function runGitCommand(args, cwd, timeoutMs = GIT_COMMAND_TIMEOUT_MS) {
204
205
  return new Promise((resolve) => {
205
206
  try {
206
207
  const proc = _child_process.spawn.call(void 0, "git", args, { cwd, stdio: ["pipe", "pipe", "pipe"] });
@@ -208,7 +209,7 @@ function runGitCommand(args, cwd) {
208
209
  const timeout = setTimeout(() => {
209
210
  proc.kill();
210
211
  resolve(void 0);
211
- }, GIT_COMMAND_TIMEOUT_MS);
212
+ }, timeoutMs);
212
213
  _optionalChain([proc, 'access', _7 => _7.stdout, 'optionalAccess', _8 => _8.on, 'call', _9 => _9("data", (chunk) => {
213
214
  stdout += chunk.toString();
214
215
  })]);
@@ -258,7 +259,7 @@ async function checkGitRepo(workspaceRoot) {
258
259
  };
259
260
  }
260
261
  if (isEmptyDirectory(workspaceRoot)) {
261
- const initResult = await runGitCommand(["init"], workspaceRoot);
262
+ const initResult = await runGitCommand(["init"], workspaceRoot, GIT_INIT_TIMEOUT_MS);
262
263
  if (initResult !== void 0 || _fsextra2.default.existsSync(`${workspaceRoot}/.git/HEAD`)) {
263
264
  if (_os2.default.platform() === "darwin") {
264
265
  try {