autohand-cli 0.7.8 → 0.7.10

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 (269) hide show
  1. package/README.md +19 -0
  2. package/dist/{AutomodeManager-YVCJXOMQ.js → AutomodeManager-NGRAO2MH.js} +35 -8
  3. package/dist/{AutomodeManager-HV6M7EAX.cjs → AutomodeManager-ZKQMBM4T.cjs} +35 -8
  4. package/dist/{CommunitySkillsCache-Q22FUAR5.js → CommunitySkillsCache-ILWHWE5P.js} +2 -2
  5. package/dist/CommunitySkillsCache-KHC6RUJW.cjs +7 -0
  6. package/dist/MemoryManager-6ZT7IDO5.cjs +7 -0
  7. package/dist/MemoryManager-AJGS5AKB.js +7 -0
  8. package/dist/PermissionManager-HG6W2DGU.cjs +10 -0
  9. package/dist/{PermissionManager-HATZKTRC.js → PermissionManager-U5OMGR3L.js} +3 -3
  10. package/dist/SessionManager-BJ2G6VV4.cjs +9 -0
  11. package/dist/{SessionManager-S5R6O3NU.js → SessionManager-ENPGYK5J.js} +2 -2
  12. package/dist/SkillsRegistry-6ZFOCT25.cjs +8 -0
  13. package/dist/{SkillsRegistry-R5WDM6T3.js → SkillsRegistry-C2SHOZ5D.js} +2 -2
  14. package/dist/{SyncApiClient-FAOMIZAP.js → SyncApiClient-AYXYSOJM.js} +1 -1
  15. package/dist/SyncApiClient-ID3KXEMA.cjs +10 -0
  16. package/dist/about-RGUM5QQ4.cjs +11 -0
  17. package/dist/about-VDR3SIHS.js +11 -0
  18. package/dist/add-dir-3BMVJ5H3.cjs +9 -0
  19. package/dist/{add-dir-PNU7AGKO.js → add-dir-RP2BL3JW.js} +2 -1
  20. package/dist/agents-JQ2PHCQB.js +10 -0
  21. package/dist/agents-RGSZ2BM3.cjs +10 -0
  22. package/dist/agents-new-LSJN2L2T.cjs +13 -0
  23. package/dist/agents-new-MZUEVKSK.js +13 -0
  24. package/dist/automode-DP3BMYJB.cjs +9 -0
  25. package/dist/{automode-QCRJSBRT.js → automode-XOF3U3OB.js} +2 -1
  26. package/dist/cc-2W6M7J45.cjs +8 -0
  27. package/dist/cc-UTTLESTY.js +8 -0
  28. package/dist/{chunk-B4ZPNXZE.cjs → chunk-34OGUMRO.cjs} +9 -5
  29. package/dist/chunk-3652ROFD.js +589 -0
  30. package/dist/{chunk-KNLBEUAV.cjs → chunk-3DQSBW4B.cjs} +10 -6
  31. package/dist/{chunk-XFPITUFJ.cjs → chunk-3S4DEIJP.cjs} +50 -8
  32. package/dist/{chunk-5MDDOGTD.cjs → chunk-3UNX56GC.cjs} +30 -37
  33. package/dist/chunk-46WX5IO2.cjs +499 -0
  34. package/dist/{chunk-OC5YDNFC.js → chunk-4ULBAYME.js} +42 -57
  35. package/dist/{chunk-VEDIYPWY.cjs → chunk-5BQ57AZC.cjs} +9 -9
  36. package/dist/{chunk-B5N5UAMO.cjs → chunk-5FZM7KLB.cjs} +13 -10
  37. package/dist/{chunk-JBKP2CLA.cjs → chunk-5NZA4UB4.cjs} +47 -47
  38. package/dist/{chunk-VPAN5H7Q.js → chunk-5Q3W4DEU.js} +43 -36
  39. package/dist/{chunk-VMMGT42E.cjs → chunk-65GTO4QM.cjs} +7 -3
  40. package/dist/{chunk-CXZEPTRI.js → chunk-6P3K4YUW.js} +6 -2
  41. package/dist/{chunk-MDWULS57.js → chunk-6UJMCWRY.js} +56 -33
  42. package/dist/chunk-73XIKTZL.js +124 -0
  43. package/dist/{chunk-23JQSCTO.js → chunk-7QNW24ZT.js} +8 -4
  44. package/dist/{chunk-XT4OSHSB.cjs → chunk-AEYOIPHD.cjs} +6 -2
  45. package/dist/chunk-ANUQFV43.cjs +589 -0
  46. package/dist/chunk-ATR3RORT.js +499 -0
  47. package/dist/{chunk-A6QBABQ7.js → chunk-B72CC4O6.js} +2 -2
  48. package/dist/{chunk-TAZJSKFD.js → chunk-BBIKQW66.js} +9 -5
  49. package/dist/{chunk-FFA4LDAO.cjs → chunk-BDIZGBDA.cjs} +8 -3
  50. package/dist/{chunk-3YEDXG6S.js → chunk-BG4OQUKP.js} +1 -1
  51. package/dist/{chunk-WIUGUR5T.js → chunk-BODVOW7B.js} +67 -16
  52. package/dist/{chunk-A552JHUJ.cjs → chunk-BZ73ZQTE.cjs} +34 -25
  53. package/dist/{chunk-YDOR2OCA.cjs → chunk-C22G4UE4.cjs} +27 -19
  54. package/dist/{chunk-GFJ6AETU.cjs → chunk-C2E3GJEE.cjs} +12 -9
  55. package/dist/{chunk-UL7YPRCU.js → chunk-C5SVIQG3.js} +10 -5
  56. package/dist/{chunk-6KMAJTU3.js → chunk-CUBYCLNL.js} +3 -2
  57. package/dist/{chunk-52MLYK5P.js → chunk-D2XFTCRP.js} +1 -1
  58. package/dist/{chunk-OBV3UUIL.js → chunk-DEAEO7RI.js} +1 -1
  59. package/dist/chunk-DMPVI3YK.cjs +400 -0
  60. package/dist/{chunk-C26EN22G.cjs → chunk-DUDDZRCS.cjs} +9 -5
  61. package/dist/{chunk-4RWTUT2Z.js → chunk-E7YL3AHT.js} +32 -23
  62. package/dist/{chunk-54GVL2SE.cjs → chunk-EAOEAQGF.cjs} +3 -2
  63. package/dist/{chunk-PU534KPO.cjs → chunk-EV53SLSB.cjs} +4 -4
  64. package/dist/{chunk-EDGV5BNH.js → chunk-F3EIOVSQ.js} +26 -33
  65. package/dist/{chunk-SFGJQPGC.cjs → chunk-FPHU2ES6.cjs} +56 -33
  66. package/dist/{chunk-G77ZY4QG.js → chunk-GD4AFYJ3.js} +1 -1
  67. package/dist/{chunk-PMMSDR44.cjs → chunk-GIZL57FE.cjs} +5 -1
  68. package/dist/{chunk-I4HVBWYF.js → chunk-GLAE5K5W.js} +7 -2
  69. package/dist/{chunk-4AMTDSQ3.cjs → chunk-HDSEJMWI.cjs} +6 -3
  70. package/dist/chunk-HLFZPN65.js +94 -0
  71. package/dist/{chunk-ZWS3KSMK.js → chunk-HQQ4NKER.js} +5 -2
  72. package/dist/{chunk-WBDPILKI.cjs → chunk-HVOBMOZ2.cjs} +6 -2
  73. package/dist/{chunk-MJFBVQHB.js → chunk-IPI3JXKP.js} +10 -7
  74. package/dist/chunk-IXFOH4OC.cjs +222 -0
  75. package/dist/chunk-JS7IPR7P.js +249 -0
  76. package/dist/{chunk-7TOHYAUF.cjs → chunk-KC5FPUOF.cjs} +2 -2
  77. package/dist/{chunk-7VW3A7DO.cjs → chunk-L42HTMMR.cjs} +2 -2
  78. package/dist/chunk-LGGZQTLM.cjs +209 -0
  79. package/dist/chunk-LOXOD4IS.cjs +8630 -0
  80. package/dist/chunk-MNCWB5F7.cjs +63 -0
  81. package/dist/{chunk-AVL4DKQO.js → chunk-MYNHJHDZ.js} +1 -1
  82. package/dist/{chunk-GDTZQSJ6.cjs → chunk-N4ZSG6JJ.cjs} +2 -2
  83. package/dist/chunk-NCC6ETZS.js +362 -0
  84. package/dist/chunk-NF7RIHJK.js +45 -0
  85. package/dist/{chunk-SYJLMBLP.cjs → chunk-NGBN2NGH.cjs} +77 -26
  86. package/dist/{chunk-SLISYSP4.cjs → chunk-NRORJRD4.cjs} +4 -4
  87. package/dist/{chunk-OTS4YFSZ.cjs → chunk-OKABWSWA.cjs} +7 -3
  88. package/dist/{chunk-KH7BCZJN.js → chunk-OLG7LZBD.js} +1 -1
  89. package/dist/{chunk-KZ7VMQTC.js → chunk-OMEH2EVE.js} +5 -1
  90. package/dist/{chunk-U5WIP4HS.js → chunk-P5VDZ6PV.js} +47 -5
  91. package/dist/{chunk-V5MTBGM4.cjs → chunk-PA2H2263.cjs} +6 -2
  92. package/dist/chunk-PGRH5Q77.cjs +249 -0
  93. package/dist/{chunk-DPJ3IIBB.js → chunk-PM62ZYXA.js} +18 -10
  94. package/dist/chunk-PNSRJT46.js +380 -0
  95. package/dist/{chunk-C3IFF3EH.cjs → chunk-PSED4Z4X.cjs} +43 -58
  96. package/dist/{chunk-EKY5PKQI.js → chunk-PWLLLJHU.js} +5 -1
  97. package/dist/{chunk-DOTAX65F.js → chunk-PYLR4J2D.js} +8 -4
  98. package/dist/{chunk-YWKZF2SA.js → chunk-QC6IUDDJ.js} +46 -46
  99. package/dist/{chunk-4M2GX7RH.cjs → chunk-QM7HZCQW.cjs} +11 -6
  100. package/dist/chunk-QRQ5EX7I.cjs +380 -0
  101. package/dist/{chunk-YDH2BMEN.js → chunk-QU64XI5X.js} +9 -6
  102. package/dist/{chunk-3L76MLO5.cjs → chunk-R7SDL3DJ.cjs} +27 -31
  103. package/dist/{chunk-WQSWU2QA.cjs → chunk-RJP3SZ7Q.cjs} +46 -255
  104. package/dist/{chunk-BAFJQUWR.js → chunk-RJXNNIFW.js} +18 -22
  105. package/dist/{chunk-YAGD43KA.cjs → chunk-S5G7OEN2.cjs} +47 -40
  106. package/dist/{chunk-2JPUEN44.cjs → chunk-SA4JOV4F.cjs} +61 -86
  107. package/dist/chunk-SAG6IY5Z.cjs +94 -0
  108. package/dist/chunk-TSV4LVHK.js +35 -0
  109. package/dist/{chunk-JHFH3N4U.cjs → chunk-TSY7JHIV.cjs} +2 -2
  110. package/dist/chunk-U23U52ZN.cjs +124 -0
  111. package/dist/chunk-UET7BDX2.js +8630 -0
  112. package/dist/chunk-ULQ6MDSJ.cjs +362 -0
  113. package/dist/{chunk-WH3D42BQ.js → chunk-UM4QEO36.js} +59 -84
  114. package/dist/chunk-VXCMGBXY.cjs +35 -0
  115. package/dist/chunk-WD5ZF6HE.js +63 -0
  116. package/dist/chunk-WH5RW7DV.cjs +85 -0
  117. package/dist/{chunk-GSOEIEOU.js → chunk-WJ276BIP.js} +5 -1
  118. package/dist/{chunk-P2Z6GDEN.js → chunk-WLTVF77A.js} +1 -1
  119. package/dist/{chunk-53BR4MUW.cjs → chunk-WOGJXDBU.cjs} +3 -3
  120. package/dist/{chunk-QJ53OSGF.js → chunk-WRJLBHWB.js} +6 -2
  121. package/dist/chunk-WYLFLZ42.js +222 -0
  122. package/dist/{chunk-B7EUETGY.cjs → chunk-XL77XYI2.cjs} +4 -4
  123. package/dist/{chunk-NI3BQXKU.js → chunk-XLI7SHCH.js} +2 -2
  124. package/dist/chunk-Y27LG4BQ.cjs +45 -0
  125. package/dist/chunk-Y6OWFIUF.js +209 -0
  126. package/dist/chunk-YKSSNFDZ.js +400 -0
  127. package/dist/{chunk-VRI7EXV6.js → chunk-YMDLUTF2.js} +5 -1
  128. package/dist/chunk-YVY27BJT.js +85 -0
  129. package/dist/{chunk-GWIAMKKF.js → chunk-ZBIBLOZL.js} +40 -249
  130. package/dist/completion-HVSWU5GR.cjs +13 -0
  131. package/dist/completion-WJ2MVNDH.js +13 -0
  132. package/dist/constants-RBQTR32A.cjs +20 -0
  133. package/dist/{constants-ZLG6M5SI.js → constants-V6J54N3X.js} +1 -1
  134. package/dist/export-NN7F5ANA.js +11 -0
  135. package/dist/export-UPS3AK2P.cjs +11 -0
  136. package/dist/feedback-ARI7CLVQ.js +14 -0
  137. package/dist/feedback-OZTPYHKJ.cjs +14 -0
  138. package/dist/help-4674IV4D.cjs +58 -0
  139. package/dist/help-ENG5KV2M.js +58 -0
  140. package/dist/history-2KUM6GN4.cjs +13 -0
  141. package/dist/history-RZFT34Q7.js +13 -0
  142. package/dist/hooks-7QSUBHBM.cjs +12 -0
  143. package/dist/hooks-S4MD4QSR.js +12 -0
  144. package/dist/i18n-6NKENUIV.js +32 -0
  145. package/dist/i18n-MXQXQOVE.cjs +32 -0
  146. package/dist/ide-5STDV43A.cjs +11 -0
  147. package/dist/ide-W2NYXOWQ.js +11 -0
  148. package/dist/index.cjs +18002 -13864
  149. package/dist/index.js +18252 -14114
  150. package/dist/init-FG5KEJCZ.cjs +9 -0
  151. package/dist/init-TV4MJDYK.js +9 -0
  152. package/dist/language-52Q7CSAY.cjs +16 -0
  153. package/dist/language-FXFDGOBF.js +16 -0
  154. package/dist/localProjectPermissions-2EATUDZM.cjs +17 -0
  155. package/dist/{localProjectPermissions-YFFAKLUZ.js → localProjectPermissions-WQYMGI42.js} +2 -2
  156. package/dist/login-AN42IOBK.js +18 -0
  157. package/dist/login-I65V4TGU.cjs +18 -0
  158. package/dist/logout-KK5UWGNG.js +16 -0
  159. package/dist/logout-VYYNWBHZ.cjs +16 -0
  160. package/dist/mcp-4SKTDECJ.js +15 -0
  161. package/dist/mcp-AGWPTMAX.cjs +15 -0
  162. package/dist/mcp-install-3NN2HAYR.cjs +473 -0
  163. package/dist/mcp-install-KTV52DQK.js +473 -0
  164. package/dist/memory-LG4K6XV6.cjs +9 -0
  165. package/dist/{memory-4GSP7NKV.js → memory-LRDK2SYC.js} +2 -1
  166. package/dist/model-P5D7ATE7.cjs +9 -0
  167. package/dist/{model-HKEFSH5E.js → model-WBFJIGUN.js} +2 -1
  168. package/dist/{new-EEZC4XXV.js → new-5A7RQEKI.js} +2 -1
  169. package/dist/new-EAATWI2G.cjs +9 -0
  170. package/dist/permissions-5URK6C44.js +12 -0
  171. package/dist/permissions-CJUDVG63.cjs +12 -0
  172. package/dist/plan-B3CW5DXJ.cjs +10 -0
  173. package/dist/plan-JFGNRL2S.js +10 -0
  174. package/dist/quit-A33JHDG7.cjs +9 -0
  175. package/dist/quit-IYBLN3DB.js +9 -0
  176. package/dist/resume-OPSJTCH7.cjs +12 -0
  177. package/dist/resume-TOWEEN5D.js +12 -0
  178. package/dist/search-GOLIE5BA.js +14 -0
  179. package/dist/search-H42HGUK5.cjs +14 -0
  180. package/dist/{sessions-4KXIT76T.js → sessions-B5NENDKY.js} +2 -1
  181. package/dist/sessions-YHAVEMWY.cjs +9 -0
  182. package/dist/share-2JD2AKKX.cjs +13 -0
  183. package/dist/share-MYGDOTQE.js +13 -0
  184. package/dist/{skills-3YEEODHK.js → skills-ICEQ2TNC.js} +2 -1
  185. package/dist/skills-LFVNZOMF.cjs +13 -0
  186. package/dist/{skills-install-KAXAQSN6.js → skills-install-6RN7FVCP.js} +9 -7
  187. package/dist/{skills-install-FTGOHOZ4.cjs → skills-install-LU6GA2WF.cjs} +14 -12
  188. package/dist/skills-new-5BM5PDFX.cjs +14 -0
  189. package/dist/skills-new-KWBWOX74.js +14 -0
  190. package/dist/status-M3XHJELG.cjs +10 -0
  191. package/dist/status-ZQDUYMKQ.js +10 -0
  192. package/dist/sync-6M3WRKMH.cjs +39 -0
  193. package/dist/sync-73D2MP65.cjs +16 -0
  194. package/dist/{sync-H4UHHLKU.js → sync-EXYX7HXW.js} +3 -3
  195. package/dist/sync-LL6M67CN.js +16 -0
  196. package/dist/theme-IFEI2IBJ.cjs +16 -0
  197. package/dist/theme-U3SKEULY.js +16 -0
  198. package/dist/ui/questionModal.cjs +28 -0
  199. package/dist/ui/questionModal.d.cts +11 -0
  200. package/dist/ui/questionModal.d.ts +11 -0
  201. package/dist/ui/questionModal.js +28 -0
  202. package/dist/undo-4DS67OAW.cjs +9 -0
  203. package/dist/undo-YMALVAPN.js +9 -0
  204. package/package.json +3 -2
  205. package/dist/CommunitySkillsCache-2BITCEAA.cjs +0 -7
  206. package/dist/MemoryManager-2ATHG7BH.js +0 -7
  207. package/dist/MemoryManager-AENCGCEW.cjs +0 -7
  208. package/dist/PermissionManager-6HZGTK2N.cjs +0 -10
  209. package/dist/SessionManager-AG4WT3DP.cjs +0 -9
  210. package/dist/SkillsRegistry-ZXU6YDRP.cjs +0 -8
  211. package/dist/SyncApiClient-UOA4VLLD.cjs +0 -10
  212. package/dist/add-dir-OMK3Y4DM.cjs +0 -8
  213. package/dist/agents-ICAC3KD3.js +0 -9
  214. package/dist/agents-YONWPKFS.cjs +0 -9
  215. package/dist/agents-new-NV557UVG.cjs +0 -10
  216. package/dist/agents-new-QHM3CO4B.js +0 -10
  217. package/dist/automode-BRHUHGXU.cjs +0 -8
  218. package/dist/chunk-3HPUOQJN.cjs +0 -23
  219. package/dist/chunk-5DN5KNXU.js +0 -81
  220. package/dist/chunk-7BYSXAKS.js +0 -23
  221. package/dist/chunk-ARVFUZOB.js +0 -736
  222. package/dist/chunk-BEIG7V7Q.cjs +0 -51
  223. package/dist/chunk-GWXXFQ3F.cjs +0 -81
  224. package/dist/chunk-XFQS2VGT.cjs +0 -736
  225. package/dist/chunk-Z3Q2AFDS.js +0 -51
  226. package/dist/completion-WVFWX7XQ.cjs +0 -10
  227. package/dist/completion-Y42FKDT3.js +0 -10
  228. package/dist/constants-G2PLP5HH.cjs +0 -20
  229. package/dist/export-BKBJ7PB2.cjs +0 -8
  230. package/dist/export-WJ5P6E5Z.js +0 -8
  231. package/dist/feedback-HZBCTSFG.js +0 -10
  232. package/dist/feedback-JBQ3UPGZ.cjs +0 -10
  233. package/dist/help-PKC6QCNG.js +0 -10
  234. package/dist/help-UEELQRHP.cjs +0 -10
  235. package/dist/hooks-G4VLYMLX.cjs +0 -9
  236. package/dist/hooks-LN4A6NQL.js +0 -9
  237. package/dist/init-DML7AOII.js +0 -8
  238. package/dist/init-SLLSDDJN.cjs +0 -8
  239. package/dist/language-KODBDE5R.js +0 -12
  240. package/dist/language-SJT475NW.cjs +0 -12
  241. package/dist/localProjectPermissions-AYQYGTOE.cjs +0 -17
  242. package/dist/login-TC2KROQI.js +0 -14
  243. package/dist/login-TYMR2ZD3.cjs +0 -14
  244. package/dist/logout-2ECV365P.js +0 -12
  245. package/dist/logout-CO3CPYZJ.cjs +0 -12
  246. package/dist/memory-CFNC7RJH.cjs +0 -8
  247. package/dist/model-TKVEJ5BC.cjs +0 -8
  248. package/dist/new-EB2MBQXA.cjs +0 -8
  249. package/dist/permissions-5MTH22EF.js +0 -9
  250. package/dist/permissions-IP5SITPI.cjs +0 -9
  251. package/dist/quit-2RYFGIJP.cjs +0 -8
  252. package/dist/quit-RSYIERO5.js +0 -8
  253. package/dist/resume-EPOEF3WV.cjs +0 -9
  254. package/dist/resume-LOYD5MMP.js +0 -9
  255. package/dist/sessions-7RTCPVNE.cjs +0 -8
  256. package/dist/share-APR5S2CS.cjs +0 -10
  257. package/dist/share-VLJFDZKR.js +0 -10
  258. package/dist/skills-CRM55MKM.cjs +0 -12
  259. package/dist/skills-new-JF4FKNUT.cjs +0 -11
  260. package/dist/skills-new-JYX2GBKM.js +0 -11
  261. package/dist/status-DAEFE7ZC.cjs +0 -9
  262. package/dist/status-PBFFUC4Q.js +0 -9
  263. package/dist/sync-3B7SNBYC.js +0 -14
  264. package/dist/sync-4RARBQIH.cjs +0 -39
  265. package/dist/sync-YZ6YZ42H.cjs +0 -14
  266. package/dist/theme-3XV5BWUB.js +0 -12
  267. package/dist/theme-Z2WS5XWZ.cjs +0 -12
  268. package/dist/undo-2WR2ZIEC.cjs +0 -8
  269. package/dist/undo-7QJBXARS.js +0 -8
@@ -1,13 +1,19 @@
1
1
  import {
2
2
  package_default
3
- } from "./chunk-6KMAJTU3.js";
3
+ } from "./chunk-CUBYCLNL.js";
4
+ import {
5
+ showConfirm,
6
+ showModal
7
+ } from "./chunk-PNSRJT46.js";
4
8
  import {
5
9
  AUTOHAND_PATHS
6
- } from "./chunk-EKY5PKQI.js";
10
+ } from "./chunk-PWLLLJHU.js";
11
+ import {
12
+ t
13
+ } from "./chunk-UET7BDX2.js";
7
14
 
8
15
  // src/commands/share.ts
9
16
  import chalk from "chalk";
10
- import enquirer from "enquirer";
11
17
  import ora from "ora";
12
18
 
13
19
  // src/share/costEstimator.ts
@@ -448,7 +454,7 @@ function terminalLink(url, text) {
448
454
  }
449
455
  var metadata = {
450
456
  command: "/share",
451
- description: "Share current session via public URL",
457
+ description: t("commands.share.description"),
452
458
  implemented: true
453
459
  };
454
460
  async function execute(_args, context) {
@@ -488,40 +494,29 @@ async function execute(_args, context) {
488
494
  );
489
495
  console.log(` Duration: ${chalk.cyan(formatDuration(duration))}`);
490
496
  console.log();
491
- const { Select, Confirm } = enquirer;
492
- const visibilityPrompt = new Select({
493
- name: "visibility",
494
- message: "Share visibility:",
495
- choices: [
496
- { name: "public", message: "Public - Anyone with the link can view" },
497
- { name: "private", message: "Private - Requires one-time passcode" }
498
- ]
497
+ const visibilityOptions = [
498
+ { label: "Public - Anyone with the link can view", value: "public" },
499
+ { label: "Private - Requires one-time passcode", value: "private" }
500
+ ];
501
+ const visibilityResult = await showModal({
502
+ title: "Share visibility:",
503
+ options: visibilityOptions
499
504
  });
500
- let visibility;
501
- try {
502
- visibility = await visibilityPrompt.run();
503
- } catch {
505
+ if (!visibilityResult) {
504
506
  console.log(chalk.gray("Cancelled."));
505
507
  return;
506
508
  }
507
- const confirmPrompt = new Confirm({
508
- name: "confirm",
509
- message: `Share this session as ${visibility}?`,
510
- initial: true
509
+ const visibility = visibilityResult.value;
510
+ const confirmed = await showConfirm({
511
+ title: `Share this session as ${visibility}?`,
512
+ defaultValue: true
511
513
  });
512
- let confirmed;
513
- try {
514
- confirmed = await confirmPrompt.run();
515
- } catch {
516
- console.log(chalk.gray("Cancelled."));
517
- return;
518
- }
519
514
  if (!confirmed) {
520
515
  console.log(chalk.gray("Cancelled."));
521
516
  return;
522
517
  }
523
518
  console.log();
524
- const spinner = ora("Uploading session...").start();
519
+ const spinner = ora(t("commands.share.generating")).start();
525
520
  try {
526
521
  const payload = serializeSession(session, {
527
522
  model: context.model,
@@ -534,9 +529,7 @@ async function execute(_args, context) {
534
529
  spinner.stop();
535
530
  if (response.success && response.url) {
536
531
  console.log();
537
- console.log(chalk.green.bold("Session shared successfully!"));
538
- console.log();
539
- console.log(`${chalk.bold("URL:")} ${terminalLink(response.url)}`);
532
+ console.log(chalk.green.bold(t("commands.share.success", { url: terminalLink(response.url) })));
540
533
  if (visibility === "private" && response.passcode) {
541
534
  console.log();
542
535
  console.log(`${chalk.bold("Passcode:")} ${chalk.yellow.bold(response.passcode)}`);
@@ -550,14 +543,14 @@ async function execute(_args, context) {
550
543
  } else {
551
544
  console.log();
552
545
  console.log(
553
- chalk.red(`Failed to share: ${response.error || "Unknown error"}`)
546
+ chalk.red(t("commands.share.failed", { error: response.error || "Unknown error" }))
554
547
  );
555
548
  console.log();
556
549
  }
557
550
  } catch (error) {
558
551
  spinner.stop();
559
552
  console.log();
560
- console.log(chalk.red(`Failed to share: ${error.message}`));
553
+ console.log(chalk.red(t("commands.share.failed", { error: error.message })));
561
554
  console.log();
562
555
  }
563
556
  }
@@ -5,6 +5,7 @@ var DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
5
5
  var DEFAULT_MAX_TOTAL_SIZE = 100 * 1024 * 1024;
6
6
  var DEFAULT_MAX_RETRIES = 3;
7
7
  var DEFAULT_RETRY_DELAY = 1e3;
8
+ var MAX_FILES_PER_REQUEST = 100;
8
9
  var SyncApiClient = class {
9
10
  constructor(config) {
10
11
  this.baseUrl = _optionalChain([config, 'optionalAccess', _ => _.baseUrl]) || DEFAULT_BASE_URL;
@@ -89,29 +90,41 @@ var SyncApiClient = class {
89
90
  }
90
91
  /**
91
92
  * Upload sync manifest and request pre-signed URLs for file uploads
93
+ * Batches requests to stay within API limits (max 100 files per request)
92
94
  */
93
95
  async initiateUpload(token, manifest, filePaths) {
94
- const response = await this.fetchWithRetry(
95
- `${this.baseUrl}/v1/sync/upload`,
96
- {
97
- method: "POST",
98
- headers: {
99
- Authorization: `Bearer ${token}`,
100
- "Content-Type": "application/json"
101
- },
102
- body: JSON.stringify({
103
- manifest,
104
- files: filePaths
105
- })
96
+ const batches = [];
97
+ for (let i = 0; i < filePaths.length; i += MAX_FILES_PER_REQUEST) {
98
+ batches.push(filePaths.slice(i, i + MAX_FILES_PER_REQUEST));
99
+ }
100
+ const allUploadUrls = {};
101
+ for (let batchIndex = 0; batchIndex < batches.length; batchIndex++) {
102
+ const batch = batches[batchIndex];
103
+ const response = await this.fetchWithRetry(
104
+ `${this.baseUrl}/v1/sync/upload`,
105
+ {
106
+ method: "POST",
107
+ headers: {
108
+ Authorization: `Bearer ${token}`,
109
+ "Content-Type": "application/json"
110
+ },
111
+ body: JSON.stringify({
112
+ // Only include manifest on first batch
113
+ ...batchIndex === 0 ? { manifest } : {},
114
+ files: batch
115
+ })
116
+ }
117
+ );
118
+ if (!response.ok) {
119
+ const error = await response.text().catch(() => "Unknown error");
120
+ throw new Error(`API error: ${response.status} ${error}`);
106
121
  }
107
- );
108
- if (!response.ok) {
109
- const error = await response.text().catch(() => "Unknown error");
110
- throw new Error(`API error: ${response.status} ${error}`);
122
+ const data = await response.json();
123
+ const batchUrls = data.uploadUrls || {};
124
+ Object.assign(allUploadUrls, batchUrls);
111
125
  }
112
- const data = await response.json();
113
126
  return {
114
- uploadUrls: data.uploadUrls || {}
127
+ uploadUrls: allUploadUrls
115
128
  };
116
129
  }
117
130
  /**
@@ -180,26 +193,36 @@ var SyncApiClient = class {
180
193
  }
181
194
  /**
182
195
  * Request pre-signed URLs for file downloads
196
+ * Batches requests to stay within API limits (max 100 files per request)
183
197
  */
184
198
  async initiateDownload(token, filePaths) {
185
- const response = await this.fetchWithRetry(
186
- `${this.baseUrl}/v1/sync/download`,
187
- {
188
- method: "POST",
189
- headers: {
190
- Authorization: `Bearer ${token}`,
191
- "Content-Type": "application/json"
192
- },
193
- body: JSON.stringify({ files: filePaths })
199
+ const batches = [];
200
+ for (let i = 0; i < filePaths.length; i += MAX_FILES_PER_REQUEST) {
201
+ batches.push(filePaths.slice(i, i + MAX_FILES_PER_REQUEST));
202
+ }
203
+ const allDownloadUrls = {};
204
+ for (const batch of batches) {
205
+ const response = await this.fetchWithRetry(
206
+ `${this.baseUrl}/v1/sync/download`,
207
+ {
208
+ method: "POST",
209
+ headers: {
210
+ Authorization: `Bearer ${token}`,
211
+ "Content-Type": "application/json"
212
+ },
213
+ body: JSON.stringify({ files: batch })
214
+ }
215
+ );
216
+ if (!response.ok) {
217
+ const error = await response.text().catch(() => "Unknown error");
218
+ throw new Error(`API error: ${response.status} ${error}`);
194
219
  }
195
- );
196
- if (!response.ok) {
197
- const error = await response.text().catch(() => "Unknown error");
198
- throw new Error(`API error: ${response.status} ${error}`);
220
+ const data = await response.json();
221
+ const batchUrls = data.downloadUrls || {};
222
+ Object.assign(allDownloadUrls, batchUrls);
199
223
  }
200
- const data = await response.json();
201
224
  return {
202
- downloadUrls: data.downloadUrls || {}
225
+ downloadUrls: allDownloadUrls
203
226
  };
204
227
  }
205
228
  /**
@@ -2,7 +2,7 @@ import {
2
2
  addToLocalWhitelist,
3
3
  loadLocalProjectSettings,
4
4
  mergePermissions
5
- } from "./chunk-P2Z6GDEN.js";
5
+ } from "./chunk-WLTVF77A.js";
6
6
 
7
7
  // src/permissions/PermissionManager.ts
8
8
  var DEFAULT_SECURITY_BLACKLIST = [
@@ -22,7 +22,11 @@ var AUTOHAND_PATHS = {
22
22
  /** Custom tools */
23
23
  tools: _path2.default.join(AUTOHAND_HOME, "tools"),
24
24
  /** Skills (instruction packages) */
25
- skills: _path2.default.join(AUTOHAND_HOME, "skills")
25
+ skills: _path2.default.join(AUTOHAND_HOME, "skills"),
26
+ /** Plan files for plan mode */
27
+ plans: _path2.default.join(AUTOHAND_HOME, "plans"),
28
+ /** MCP community registry cache */
29
+ mcpCache: _path2.default.join(AUTOHAND_HOME, "community-mcp", "cache")
26
30
  };
27
31
  var AUTOHAND_FILES = {
28
32
  /** Main config file */
@@ -1,3 +1,7 @@
1
+ import {
2
+ t
3
+ } from "./chunk-UET7BDX2.js";
4
+
1
5
  // src/commands/undo.ts
2
6
  import chalk from "chalk";
3
7
  import { spawnSync } from "child_process";
@@ -25,12 +29,13 @@ async function undo(ctx) {
25
29
  console.log(chalk.green(" Removed untracked files"));
26
30
  }
27
31
  } else {
28
- console.log(chalk.gray(" No git changes to revert"));
32
+ console.log(chalk.gray(" " + t("commands.undo.noChanges")));
29
33
  }
30
34
  try {
31
35
  await ctx.undoFileMutation();
32
- console.log(chalk.green(" Reverted last file mutation from undo stack"));
36
+ console.log(chalk.green(" " + t("commands.undo.success", { file: "last mutation" })));
33
37
  } catch {
38
+ console.log(chalk.gray(" " + t("commands.undo.noChanges")));
34
39
  }
35
40
  ctx.removeLastTurn();
36
41
  console.log(chalk.green(" Removed last conversation turn"));
@@ -1,4 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/new.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/new.ts
2
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
3
7
  async function newConversation(ctx) {
4
8
  const currentSession = ctx.sessionManager.getCurrentSession();
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
8
12
  await ctx.resetConversation();
9
13
  await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
10
14
  console.log();
11
- console.log(_chalk2.default.cyan("New conversation started."));
12
- console.log(_chalk2.default.gray("Previous session saved. Ready for new instructions."));
15
+ console.log(_chalk2.default.cyan(_chunkLOXOD4IScjs.t.call(void 0, "commands.new.cleared")));
13
16
  console.log();
14
17
  return null;
15
18
  }
@@ -0,0 +1,94 @@
1
+ import {
2
+ package_default
3
+ } from "./chunk-CUBYCLNL.js";
4
+ import {
5
+ getTheme,
6
+ isThemeInitialized
7
+ } from "./chunk-JS7IPR7P.js";
8
+ import {
9
+ t
10
+ } from "./chunk-UET7BDX2.js";
11
+
12
+ // src/commands/about.ts
13
+ import { execSync } from "child_process";
14
+ import chalk from "chalk";
15
+ import terminalLink from "terminal-link";
16
+ function getGitCommit() {
17
+ if (true) {
18
+ return "ec6118d";
19
+ }
20
+ try {
21
+ return execSync("git rev-parse --short HEAD", { encoding: "utf8", stdio: ["pipe", "pipe", "ignore"] }).trim();
22
+ } catch {
23
+ return "unknown";
24
+ }
25
+ }
26
+ function getVersionString() {
27
+ const commit = getGitCommit();
28
+ return commit !== "unknown" ? `${package_default.version} (${commit})` : package_default.version;
29
+ }
30
+ var ASCII_FRIEND = [
31
+ "\u2880\u2874\u281B\u281B\u283B\u28F7\u2844\u2800\u28E0\u2876\u281F\u281B\u283B\u28F6\u2844\u2880\u28F4\u287E\u281B\u281B\u28BF\u28E6\u2800\u2880\u28F4\u281E\u281B\u281B\u2836\u2840",
32
+ "\u284E\u2800\u28B0\u28F6\u2846\u2808\u28FF\u28F4\u28FF\u2801\u28F4\u28F6\u2844\u2818\u28FF\u28FE\u284F\u2880\u28F6\u28E6\u2800\u28BB\u2847\u28FF\u2803\u28A0\u28F6\u2846\u2800\u28B9",
33
+ "\u28A7\u2800\u2818\u281B\u2803\u28A0\u287F\u2819\u28FF\u2840\u2819\u281B\u2803\u28F0\u287F\u28BB\u28E7\u2808\u281B\u281B\u2880\u28FE\u2807\u28BB\u28C6\u2808\u281B\u280B\u2800\u287C",
34
+ "\u2808\u283B\u28B6\u28F6\u287E\u281F\u2801\u2800\u2818\u283F\u28B6\u28F6\u287E\u281F\u2801\u2800\u2819\u2837\u28F6\u28F6\u283F\u280B\u2800\u2808\u283B\u2837\u28F6\u2876\u281A\u2801",
35
+ "\u2880\u28F4\u283F\u283F\u2837\u28E6\u2840\u2800\u28E0\u28F6\u283F\u283B\u28B7\u28E6\u2840\u2800\u28E0\u287E\u281F\u283F\u28F6\u28C4\u2800\u2880\u28F4\u287E\u283F\u283F\u28F6\u28C4",
36
+ "\u287E\u2803\u28A0\u28E4\u2844\u2818\u28FF\u28E0\u28FF\u2801\u28E0\u28E4\u2844\u2839\u28F7\u28FC\u284F\u2880\u28E4\u28E4\u2808\u28BF\u2846\u28FE\u280F\u2880\u28E4\u28C4\u2808\u28BF",
37
+ "\u28A7\u2840\u2838\u283F\u2807\u2880\u28FF\u283A\u28FF\u2840\u283B\u283F\u2803\u28B0\u28FF\u28BF\u28C7\u2808\u283F\u283F\u2800\u28FC\u2847\u28BF\u28C7\u2818\u283F\u2807\u2800\u28F8",
38
+ "\u2808\u28BF\u28E6\u28E4\u28F4\u287F\u2803\u2800\u2819\u28B7\u28E6\u28E4\u28F6\u287F\u2801\u2808\u283B\u28F7\u28E4\u28E4\u287E\u281B\u2800\u2808\u28BF\u28E6\u28E4\u28E4\u2834\u2801"
39
+ ].join("\n");
40
+ async function about() {
41
+ let accent;
42
+ let muted;
43
+ let text;
44
+ if (isThemeInitialized()) {
45
+ const theme = getTheme();
46
+ accent = (text2) => chalk.hex(theme.colors.accent)(text2);
47
+ muted = (text2) => chalk.hex(theme.colors.muted)(text2);
48
+ text = (str) => chalk.hex(theme.colors.text)(str);
49
+ } else {
50
+ accent = (text2) => chalk.cyan(text2);
51
+ muted = (text2) => chalk.gray(text2);
52
+ text = (text2) => chalk.white(text2);
53
+ }
54
+ console.log(chalk.gray(ASCII_FRIEND));
55
+ console.log();
56
+ console.log(accent(`${t("commands.about.title")} v${getVersionString()}`));
57
+ console.log(muted(t("commands.about.subtitle")));
58
+ console.log();
59
+ const websiteUrl = "https://autohand.ai";
60
+ const githubUrl = "https://github.com/autohandai/";
61
+ const docsUrl = "https://docs.autohand.ai";
62
+ const websiteLink = terminalLink(chalk.cyan.underline("autohand.ai"), websiteUrl);
63
+ const githubLink = terminalLink(chalk.cyan.underline("github.com/autohandai/"), githubUrl);
64
+ const docsLink = terminalLink(chalk.cyan.underline("docs.autohand.ai"), docsUrl);
65
+ console.log(`${text("\u{1F310}")} ${text(t("commands.about.website") + ":")} ${websiteLink}`);
66
+ console.log(`${text("\u{1F4E6}")} ${text(t("commands.about.github") + ":")} ${githubLink}`);
67
+ console.log(`${text("\u{1F4DA}")} ${text(t("commands.about.docs") + ":")} ${docsLink}`);
68
+ console.log();
69
+ console.log(text(`\u{1F4A1} ${t("commands.about.contribute")}`));
70
+ console.log(text(` \u2022 ${t("commands.about.feedback")}: ${accent("/feedback")}`));
71
+ console.log(text(` \u2022 ${t("commands.about.submitPR")}: ${accent("gh pr create")}`));
72
+ const issuesUrl = "https://github.com/autohandai/code-cli/issues";
73
+ const issuesLink = terminalLink(chalk.cyan.underline("github.com/autohandai/code-cli/issues"), issuesUrl);
74
+ console.log(text(` \u2022 ${t("commands.about.reportIssues")}: ${issuesLink}`));
75
+ console.log();
76
+ console.log(muted(t("commands.about.pressKey")));
77
+ console.log();
78
+ return null;
79
+ }
80
+ var metadata = {
81
+ command: "/about",
82
+ description: "show information about Autohand",
83
+ implemented: true
84
+ };
85
+
86
+ export {
87
+ about,
88
+ metadata
89
+ };
90
+ /**
91
+ * @license
92
+ * Copyright 2025 Autohand AI LLC
93
+ * SPDX-License-Identifier: Apache-2.0
94
+ */
@@ -1,3 +1,7 @@
1
+ import {
2
+ t
3
+ } from "./chunk-UET7BDX2.js";
4
+
1
5
  // src/commands/new.ts
2
6
  import chalk from "chalk";
3
7
  async function newConversation(ctx) {
@@ -8,8 +12,7 @@ async function newConversation(ctx) {
8
12
  await ctx.resetConversation();
9
13
  await ctx.sessionManager.createSession(ctx.workspaceRoot, ctx.model);
10
14
  console.log();
11
- console.log(chalk.cyan("New conversation started."));
12
- console.log(chalk.gray("Previous session saved. Ready for new instructions."));
15
+ console.log(chalk.cyan(t("commands.new.cleared")));
13
16
  console.log();
14
17
  return null;
15
18
  }
@@ -1,10 +1,14 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/quit.ts
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkLOXOD4IScjs = require('./chunk-LOXOD4IS.cjs');
4
+
5
+ // src/commands/quit.ts
2
6
  async function quit() {
3
7
  return "/quit";
4
8
  }
5
9
  var metadata = {
6
10
  command: "/quit",
7
- description: "end the current Autohand session",
11
+ description: _chunkLOXOD4IScjs.t.call(void 0, "commands.quit.description"),
8
12
  implemented: true
9
13
  };
10
14
 
@@ -1,18 +1,21 @@
1
1
  import {
2
2
  getAuthClient
3
- } from "./chunk-52MLYK5P.js";
3
+ } from "./chunk-D2XFTCRP.js";
4
+ import {
5
+ safePrompt
6
+ } from "./chunk-WD5ZF6HE.js";
4
7
  import {
5
8
  saveConfig
6
- } from "./chunk-GWIAMKKF.js";
9
+ } from "./chunk-ZBIBLOZL.js";
7
10
  import {
8
- safePrompt
9
- } from "./chunk-7BYSXAKS.js";
11
+ t
12
+ } from "./chunk-UET7BDX2.js";
10
13
 
11
14
  // src/commands/logout.ts
12
15
  import chalk from "chalk";
13
16
  var metadata = {
14
17
  command: "/logout",
15
- description: "sign out of your Autohand account",
18
+ description: t("commands.logout.description"),
16
19
  implemented: true
17
20
  };
18
21
  async function logout(ctx) {
@@ -30,7 +33,7 @@ async function logout(ctx) {
30
33
  initial: true
31
34
  });
32
35
  if (!result || !result.confirm) {
33
- console.log(chalk.gray("Logout cancelled."));
36
+ console.log(chalk.gray(t("commands.logout.cancelled")));
34
37
  return null;
35
38
  }
36
39
  const authClient = getAuthClient();
@@ -44,7 +47,7 @@ async function logout(ctx) {
44
47
  };
45
48
  await saveConfig(updatedConfig);
46
49
  console.log();
47
- console.log(chalk.green("Successfully logged out."));
50
+ console.log(chalk.green(t("commands.logout.success")));
48
51
  console.log(chalk.gray("Your local session has been cleared."));
49
52
  console.log();
50
53
  return null;