autohand-cli 0.9.0 → 0.9.2

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 (455) hide show
  1. package/README.md +118 -76
  2. package/dist/AgentRegistry-BBQRODQC.cjs +18 -0
  3. package/dist/AgentRegistry-JBXZUPML.js +18 -0
  4. package/dist/{CommunitySkillsCache-ZEQWP6YM.js → CommunitySkillsCache-CI7UN2DX.js} +2 -2
  5. package/dist/CommunitySkillsCache-XTQ6RMTA.cjs +8 -0
  6. package/dist/{HookManager-CWLTFKWO.js → HookManager-BELBPQQI.js} +1 -1
  7. package/dist/{HookManager-TMAJQU4S.cjs → HookManager-ZL2CLAJW.cjs} +2 -2
  8. package/dist/{ImportWizard-MQXEED2U.cjs → ImportWizard-U6CIJREW.cjs} +13 -13
  9. package/dist/{ImportWizard-QBKQEXDW.js → ImportWizard-VJFSWSUQ.js} +4 -4
  10. package/dist/LearnAdvisor-LAURA3IB.cjs +9 -0
  11. package/dist/LearnAdvisor-RFOBXFG7.js +9 -0
  12. package/dist/MemoryManager-3A2VRPF2.js +9 -0
  13. package/dist/MemoryManager-UOEQZIDC.cjs +9 -0
  14. package/dist/{NVIDIAProvider-2HR737UE.js → NVIDIAProvider-AFNJNWJM.js} +1 -1
  15. package/dist/NVIDIAProvider-L5GTYRCQ.cjs +14 -0
  16. package/dist/{PermissionManager-KMYILJ4Z.js → PermissionManager-N2LDSOYF.js} +3 -3
  17. package/dist/PermissionManager-ZNURIEYR.cjs +11 -0
  18. package/dist/ProviderFactory-3BFS65V7.cjs +13 -0
  19. package/dist/{ProviderFactory-HFPRVQ25.js → ProviderFactory-XUT6BSGB.js} +4 -2
  20. package/dist/SessionManager-LGPQIA57.cjs +10 -0
  21. package/dist/{SessionManager-PNBTJJTQ.js → SessionManager-OR4KDDDS.js} +2 -2
  22. package/dist/{SkillsRegistry-4RRD5GMX.js → SkillsRegistry-IL3GWROU.js} +2 -2
  23. package/dist/SkillsRegistry-PM34DQNA.cjs +9 -0
  24. package/dist/SubAgent-2WG4QQB5.cjs +13 -0
  25. package/dist/SubAgent-ICGN23TQ.js +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-OYVGQMJJ.js} +5 -4
  29. package/dist/about-U2BH7HDR.cjs +15 -0
  30. package/dist/{acp-VHEL7BOW.js → acp-JWHGXZL5.js} +207 -102
  31. package/dist/{acp-EOETGAHC.cjs → acp-S37JOBCS.cjs} +226 -121
  32. package/dist/actionExecutor-2QEPMELQ.cjs +28 -0
  33. package/dist/actionExecutor-6NCCORRB.js +28 -0
  34. package/dist/add-dir-KFUHSIR2.cjs +11 -0
  35. package/dist/{add-dir-VFX7QT4E.js → add-dir-MM2BM2Z2.js} +2 -2
  36. package/dist/agent-DUIYLIVN.js +132 -0
  37. package/dist/agent-YYEHGDAK.cjs +132 -0
  38. package/dist/agents-GBGG4CW7.cjs +19 -0
  39. package/dist/agents-ZH34C72F.js +19 -0
  40. package/dist/agents-new-ERXLS7SB.cjs +17 -0
  41. package/dist/agents-new-EVTGPTA4.js +17 -0
  42. package/dist/{autoSkill-EFMK6WU6.js → autoSkill-HEWKJ5JV.js} +2 -2
  43. package/dist/autoSkill-YL6PN6AV.cjs +20 -0
  44. package/dist/automode-4BJ7FNPL.cjs +10 -0
  45. package/dist/{automode-BMYSRM34.js → automode-S4U7A7Q2.js} +2 -2
  46. package/dist/chrome-45ZXHL5N.cjs +22 -0
  47. package/dist/{chrome-NHJ44WUN.js → chrome-BBSRVG6S.js} +2 -2
  48. package/dist/chrome-IFVZRHAT.cjs +50 -0
  49. package/dist/chrome-MYE6DNA2.js +22 -0
  50. package/dist/chunk-24CEJYEG.cjs +579 -0
  51. package/dist/{chunk-47PHDKNW.cjs → chunk-255GIVM2.cjs} +6 -6
  52. package/dist/{chunk-DIZTWFVR.cjs → chunk-2BDSR2OW.cjs} +238 -61
  53. package/dist/{chunk-BL2UC7HC.js → chunk-2BPIR7LA.js} +121 -4
  54. package/dist/{chunk-BQ22N3TX.cjs → chunk-2NY7OHBF.cjs} +47 -27
  55. package/dist/chunk-2WUNHTXL.js +303 -0
  56. package/dist/{chunk-HQWQZML5.cjs → chunk-34B6ZO6W.cjs} +124 -7
  57. package/dist/{chunk-5JTTM5SC.js → chunk-3BJN7GAH.js} +1 -1
  58. package/dist/{chunk-4256YRCO.cjs → chunk-3CAXECWJ.cjs} +30 -17
  59. package/dist/{chunk-KNTUI4TZ.cjs → chunk-3CBYUBZC.cjs} +5 -5
  60. package/dist/chunk-3DF3GZQ7.js +277 -0
  61. package/dist/{chunk-E26KKI46.cjs → chunk-3JURXAL6.cjs} +61 -8
  62. package/dist/{chunk-MOJ7ADW4.cjs → chunk-3KWAP2Y3.cjs} +88 -9
  63. package/dist/{chunk-OHWMWKJQ.js → chunk-3MCK6UBL.js} +1 -1
  64. package/dist/{chunk-5VHP6HDQ.js → chunk-3TH7IK4M.js} +62 -9
  65. package/dist/{chunk-ACDQGA4Z.js → chunk-3V77OB3W.js} +7 -72
  66. package/dist/{chunk-HS4USDND.cjs → chunk-3Y5UEK7K.cjs} +4 -4
  67. package/dist/{chunk-XV2HXRHX.js → chunk-4GPPSBEZ.js} +3 -3
  68. package/dist/chunk-5CMBAJ6K.js +377 -0
  69. package/dist/{chunk-MO4KP6XS.cjs → chunk-5YRXFBYZ.cjs} +35 -6
  70. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  71. package/dist/chunk-6AC2TT26.js +156 -0
  72. package/dist/{chunk-UGFVM77J.cjs → chunk-6EIQ6A6U.cjs} +2 -2
  73. package/dist/{chunk-SWCQM52V.js → chunk-6HSEDXVF.js} +4 -4
  74. package/dist/{chunk-QQ7PANOP.js → chunk-6NUXK62F.js} +1 -1
  75. package/dist/{chunk-5CMYEM3R.cjs → chunk-6TGCAPYH.cjs} +62 -9
  76. package/dist/{chunk-NMQ47RCG.js → chunk-6W3SZCSP.js} +1 -1
  77. package/dist/{chunk-VRMZO6TB.js → chunk-73LV3DDZ.js} +7 -6
  78. package/dist/{chunk-3GUEUCZK.js → chunk-7BGGLIQF.js} +85 -1
  79. package/dist/{chunk-RBHANOYY.js → chunk-7DJJGKM6.js} +47 -3
  80. package/dist/{chunk-LQBONA55.cjs → chunk-7EEK7CRR.cjs} +85 -1
  81. package/dist/chunk-7TO3PDMV.cjs +324 -0
  82. package/dist/chunk-7UU22RSH.cjs +277 -0
  83. package/dist/{chunk-E6GFD7VR.cjs → chunk-A3GAM6FM.cjs} +11 -11
  84. package/dist/{chunk-DEQVRSV5.cjs → chunk-A7DJU75T.cjs} +8 -8
  85. package/dist/{chunk-DPSIGY6L.cjs → chunk-AAAO4ERQ.cjs} +9 -9
  86. package/dist/{chunk-FQAVGSPW.js → chunk-AAJLMP57.js} +2 -2
  87. package/dist/chunk-ABR756QN.js +529 -0
  88. package/dist/{chunk-JYKPWK5O.js → chunk-APFGDIPD.js} +3 -1
  89. package/dist/{chunk-Y3M2DABP.js → chunk-APQYRMYL.js} +4 -4
  90. package/dist/{chunk-Q2IL4DDI.cjs → chunk-AZKOIF2G.cjs} +62 -19
  91. package/dist/{chunk-MXVIDIC6.cjs → chunk-AZLHUPNC.cjs} +2 -2
  92. package/dist/chunk-B55VCYSQ.cjs +30 -0
  93. package/dist/{chunk-WZV6UVPY.js → chunk-BLQUMSM3.js} +1 -1
  94. package/dist/{chunk-PHJO5YAL.cjs → chunk-BXKPX6K4.cjs} +9 -9
  95. package/dist/{chunk-3KLSNNRW.cjs → chunk-C66FN2LP.cjs} +4 -4
  96. package/dist/{chunk-OV3PVUYN.js → chunk-CH7KUFAS.js} +9 -9
  97. package/dist/{chunk-CWINVFRI.cjs → chunk-CILSXOPI.cjs} +17 -17
  98. package/dist/{chunk-3UT7R3XV.js → chunk-CM24K6ZT.js} +145 -12
  99. package/dist/chunk-CMEZ42F2.cjs +303 -0
  100. package/dist/{chunk-46C73ZKK.cjs → chunk-CNQKIWIS.cjs} +152 -19
  101. package/dist/{chunk-5JFTY3VU.js → chunk-CSTUTDTH.js} +2 -1
  102. package/dist/{chunk-REMGR23V.cjs → chunk-CSUGNNJY.cjs} +10 -4
  103. package/dist/{chunk-TBOLJDUG.js → chunk-D6HB3H3L.js} +31 -11
  104. package/dist/{chunk-OM24WXEE.js → chunk-D7AYKVKW.js} +2 -2
  105. package/dist/{chunk-6GUODJKM.cjs → chunk-DLCXWOWT.cjs} +23 -23
  106. package/dist/{chunk-CH2J4PVE.cjs → chunk-DMM2BKSV.cjs} +121 -28
  107. package/dist/{chunk-M4KNC5BQ.js → chunk-DW3DPV77.js} +1 -1
  108. package/dist/chunk-ECQD2QC3.cjs +33 -0
  109. package/dist/{chunk-UEIXJG45.js → chunk-EEYOS3UC.js} +116 -80
  110. package/dist/{chunk-7HPWMALN.js → chunk-EF2EN5CR.js} +2 -2
  111. package/dist/{chunk-7LWQCE4Y.cjs → chunk-EFXFURDY.cjs} +192 -58
  112. package/dist/chunk-EK34UZPB.cjs +40 -0
  113. package/dist/{chunk-7JLT2VNW.cjs → chunk-FJR6EZLO.cjs} +9666 -7201
  114. package/dist/{chunk-GZ6DV2UG.js → chunk-FPO7YNPQ.js} +1 -1
  115. package/dist/{chunk-O64I2GYI.js → chunk-FS4I6BNR.js} +1 -1
  116. package/dist/{chunk-MX75JYIY.js → chunk-FSJ2MNOC.js} +3 -3
  117. package/dist/{chunk-7RFJB75Y.js → chunk-GEHZMC4G.js} +11 -8
  118. package/dist/{chunk-UWFG2R2I.cjs → chunk-GO6C2RAR.cjs} +36 -9
  119. package/dist/{chunk-WGLBC5AY.cjs → chunk-GSMR6V36.cjs} +4 -4
  120. package/dist/{chunk-Z3XSSF7B.js → chunk-GSZWATME.js} +1 -1
  121. package/dist/{chunk-7MU7LWF3.cjs → chunk-GYLGCR6F.cjs} +5 -5
  122. package/dist/{chunk-O6TQP7U7.cjs → chunk-H3OOWNYQ.cjs} +3 -3
  123. package/dist/{chunk-2QL6MNXG.js → chunk-H65446XW.js} +115 -20
  124. package/dist/chunk-H7HXRRHK.js +324 -0
  125. package/dist/{chunk-ZZ63NW7A.cjs → chunk-HN2JTDN5.cjs} +17 -17
  126. package/dist/{chunk-AOKCI722.cjs → chunk-HNXUZ5OY.cjs} +2 -2
  127. package/dist/{chunk-AUYSIEVV.cjs → chunk-HOYT3E65.cjs} +3 -3
  128. package/dist/{chunk-DMRXF5DU.js → chunk-HTPY5ESD.js} +3 -3
  129. package/dist/chunk-HTU4W3GB.js +183 -0
  130. package/dist/{chunk-3DDL2E55.cjs → chunk-HVLWH2AF.cjs} +10 -10
  131. package/dist/{chunk-HSCUPEA4.cjs → chunk-HZTEU4W5.cjs} +74 -105
  132. package/dist/{chunk-XGMI6IYB.cjs → chunk-I5T7LPFP.cjs} +7 -7
  133. package/dist/{chunk-XIVFAD2L.js → chunk-IB5CJXE7.js} +173 -12
  134. package/dist/chunk-INNXFLDR.cjs +388 -0
  135. package/dist/{chunk-75EDROHL.cjs → chunk-JFLEP3T7.cjs} +10 -10
  136. package/dist/chunk-JJGDOBFL.js +40 -0
  137. package/dist/{chunk-VBOFPU5M.cjs → chunk-JM3ZTQUK.cjs} +13 -9
  138. package/dist/{chunk-HJIXWGQZ.js → chunk-JSU46T6K.js} +1 -1
  139. package/dist/{chunk-AT7OWLY5.js → chunk-K6WN6BT4.js} +1 -1
  140. package/dist/{chunk-LN7D3EJZ.js → chunk-KA2U6MY2.js} +4 -3
  141. package/dist/{chunk-3S563FNF.cjs → chunk-KIQH3SMT.cjs} +34 -31
  142. package/dist/{chunk-BWF4VDYE.js → chunk-KPRXHIE2.js} +54 -85
  143. package/dist/{chunk-Z4LIPMPM.js → chunk-L6OH44HL.js} +13 -9
  144. package/dist/{chunk-A7HHCIDQ.js → chunk-LIO3RX2Z.js} +2 -2
  145. package/dist/{chunk-DLP436GI.js → chunk-LOSXLH7P.js} +110 -17
  146. package/dist/{chunk-IEXKKKOF.cjs → chunk-LSOR72PB.cjs} +23 -23
  147. package/dist/{chunk-IAGCRVJ3.js → chunk-MA3AVDCC.js} +55 -12
  148. package/dist/{chunk-B5CGDNMR.js → chunk-ME3S2WIR.js} +3 -3
  149. package/dist/{chunk-HKYZSUQ5.js → chunk-NC2I2M4P.js} +4 -4
  150. package/dist/{chunk-GBMDFWJX.cjs → chunk-NC4A4LVC.cjs} +13 -13
  151. package/dist/{chunk-E46DJH5S.js → chunk-NGEK5FCJ.js} +176 -3
  152. package/dist/{chunk-TQ33WBY5.cjs → chunk-NHWHEW7M.cjs} +2 -1
  153. package/dist/{chunk-62RTC3XX.js → chunk-NKW6CHXQ.js} +1 -1
  154. package/dist/{chunk-3PXKRVCW.js → chunk-NOWCRKP2.js} +10 -4
  155. package/dist/{chunk-HXJEGMGB.js → chunk-NUB2LMB6.js} +2 -2
  156. package/dist/chunk-NVATU4V6.cjs +44 -0
  157. package/dist/chunk-O246MKIW.cjs +267 -0
  158. package/dist/{chunk-QCHIDZBA.js → chunk-OGFWL2PS.js} +1 -1
  159. package/dist/{chunk-JJ4KA7HK.cjs → chunk-ONNGAR6W.cjs} +415 -551
  160. package/dist/{chunk-TKKN34TV.js → chunk-OOFR6A62.js} +33 -4
  161. package/dist/{chunk-6NVAK6CK.js → chunk-OZ7FHO7J.js} +2 -2
  162. package/dist/{chunk-2CGE7ZV3.cjs → chunk-P5EWGUI2.cjs} +201 -28
  163. package/dist/{chunk-GGLKUENP.js → chunk-P6BQJPAI.js} +191 -14
  164. package/dist/{chunk-TWQDAUZU.js → chunk-PG2JIU5M.js} +60 -7
  165. package/dist/chunk-PI27G2ED.cjs +377 -0
  166. package/dist/{chunk-YV63VW4K.js → chunk-PI7LRPL6.js} +1 -1
  167. package/dist/{chunk-TXPSTCG7.cjs → chunk-PMPEC5HN.cjs} +18 -15
  168. package/dist/{chunk-ROLA6EFO.cjs → chunk-PYUP7AKY.cjs} +14 -14
  169. package/dist/{chunk-BFQDQRDE.js → chunk-QC5Z3ZT5.js} +2 -2
  170. package/dist/chunk-QDO4L2A7.cjs +156 -0
  171. package/dist/{chunk-LFDPTJYF.cjs → chunk-QDXRI5AM.cjs} +1 -1
  172. package/dist/{chunk-3LJJG5YY.cjs → chunk-QLZOMZO5.cjs} +4 -3
  173. package/dist/chunk-QVXMSQOG.js +430 -0
  174. package/dist/{chunk-ZHJ7JGME.cjs → chunk-R4UKBKDY.cjs} +11 -11
  175. package/dist/{chunk-IGMPWJ2I.cjs → chunk-R75AWII3.cjs} +118 -23
  176. package/dist/{chunk-VGEV44V2.cjs → chunk-RD5PLUIX.cjs} +191 -30
  177. package/dist/{chunk-I24CWKKK.js → chunk-RGB34CV5.js} +3 -3
  178. package/dist/{chunk-CHI52KFR.cjs → chunk-RJCZLFHE.cjs} +246 -39
  179. package/dist/{chunk-D2OSPLYC.cjs → chunk-RKWNM2BJ.cjs} +2 -2
  180. package/dist/{chunk-FGT6KK6T.js → chunk-RMVONICR.js} +3 -3
  181. package/dist/{chunk-Q6AC3PHY.cjs → chunk-RPSYRJL7.cjs} +10 -4
  182. package/dist/chunk-RS2E32YB.js +71 -0
  183. package/dist/chunk-RWKU2X7O.js +388 -0
  184. package/dist/chunk-RZLEGVMH.cjs +565 -0
  185. package/dist/{chunk-5F6ZKSHO.js → chunk-S2L3Y677.js} +1 -1
  186. package/dist/{chunk-ARBEHFCG.js → chunk-S7KVUIOS.js} +1 -1
  187. package/dist/{chunk-AC7DZ6SK.cjs → chunk-SACJJ6NO.cjs} +5 -3
  188. package/dist/{chunk-IKUMVBCW.cjs → chunk-SD3NTC7D.cjs} +48 -4
  189. package/dist/{chunk-CBFH2J3O.js → chunk-SJQU2ZFR.js} +246 -39
  190. package/dist/{chunk-GWO66KBI.js → chunk-SKAQKQFF.js} +12 -2
  191. package/dist/chunk-T4DXP5OP.js +30 -0
  192. package/dist/{chunk-CFFE4VA3.js → chunk-T6FTB6K2.js} +1 -1
  193. package/dist/{chunk-U4C3HW6P.js → chunk-T6N6GRFT.js} +13 -10
  194. package/dist/{chunk-D6GZBSOX.js → chunk-TJFKA6A7.js} +82 -3
  195. package/dist/{chunk-2HOLOHVK.js → chunk-TJZUPS4Z.js} +163 -299
  196. package/dist/{chunk-RBZ7AFX7.cjs → chunk-TLKHZ425.cjs} +2 -2
  197. package/dist/{chunk-J2K57QM7.cjs → chunk-TQ24NLXO.cjs} +6 -6
  198. package/dist/{chunk-LUMV3DB2.js → chunk-TWBAU46X.js} +1 -1
  199. package/dist/{chunk-OPNI6O7F.cjs → chunk-TZB5XADL.cjs} +4 -4
  200. package/dist/{chunk-6HH236FV.cjs → chunk-UAYXZXWU.cjs} +4 -4
  201. package/dist/{chunk-MPULXVC4.cjs → chunk-UKBFNBDO.cjs} +11 -11
  202. package/dist/chunk-UMJYX5KD.js +565 -0
  203. package/dist/chunk-USKYTHDL.cjs +235 -0
  204. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  205. package/dist/{chunk-MQESBFBZ.cjs → chunk-VAJUSZMC.cjs} +21 -20
  206. package/dist/{chunk-PQLKJCIE.js → chunk-VGQG4NBJ.js} +2 -2
  207. package/dist/chunk-VLUIVJ3J.js +235 -0
  208. package/dist/chunk-VOBINVMV.cjs +430 -0
  209. package/dist/{chunk-L4F7SUYL.js → chunk-VSHKKCSH.js} +16 -5
  210. package/dist/{chunk-LDJQ5QHG.cjs → chunk-VSZU3MGA.cjs} +28 -17
  211. package/dist/{chunk-YFXTE422.cjs → chunk-VWHAUB77.cjs} +8 -3
  212. package/dist/{chunk-EZJHLOWP.js → chunk-VXGYFX45.js} +20 -7
  213. package/dist/{chunk-JIMSII7R.js → chunk-WH6YUQDB.js} +193 -59
  214. package/dist/{chunk-VKBIE6I6.js → chunk-WQ6TD55V.js} +2 -2
  215. package/dist/{chunk-ZR46OJNZ.js → chunk-WQWECXTY.js} +3 -3
  216. package/dist/{chunk-SOLBYSLY.cjs → chunk-WVDJUJH6.cjs} +2 -2
  217. package/dist/{chunk-QKP772OZ.js → chunk-X24VIVDZ.js} +963 -103
  218. package/dist/{chunk-37M5UM6I.js → chunk-X4NRTLXD.js} +7 -1
  219. package/dist/chunk-X53SHYCG.js +27 -0
  220. package/dist/{chunk-PUD76XQT.cjs → chunk-XB2Z4ZAK.cjs} +5 -5
  221. package/dist/chunk-Y47OJGLB.cjs +27 -0
  222. package/dist/{chunk-WRTXCQ3V.cjs → chunk-Y4MN27V3.cjs} +1080 -220
  223. package/dist/{chunk-ZK6HOR62.js → chunk-YEHFYZFU.js} +7 -2
  224. package/dist/{chunk-FFBDRUO5.cjs → chunk-YICIUY23.cjs} +1 -1
  225. package/dist/{chunk-PDHT7LQS.cjs → chunk-YMXYC777.cjs} +3 -3
  226. package/dist/{chunk-TJNBASFD.cjs → chunk-Z3GRWK6O.cjs} +8 -8
  227. package/dist/{chunk-JP3YHTQ2.cjs → chunk-Z5GG2KSL.cjs} +4 -4
  228. package/dist/{chunk-ZPD2AO3U.js → chunk-ZER7DYQK.js} +2 -2
  229. package/dist/{chunk-UXLW45ZE.cjs → chunk-ZFDXZEZJ.cjs} +25 -90
  230. package/dist/chunk-ZFV4HJA6.js +579 -0
  231. package/dist/chunk-ZHMYTI5D.cjs +529 -0
  232. package/dist/{chunk-CCVMREXI.js → chunk-ZLR2TFBC.js} +35 -8
  233. package/dist/{chunk-J5ADZN6V.cjs → chunk-ZTWNU5QZ.cjs} +20 -20
  234. package/dist/chunk-ZUYYHKQA.js +44 -0
  235. package/dist/{chunk-AUFNACED.js → chunk-ZVLVLDYN.js} +9086 -6621
  236. package/dist/clear-AJGXD2BB.cjs +12 -0
  237. package/dist/{clear-OFLFQ3MR.js → clear-HAHDSWKW.js} +3 -3
  238. package/dist/communityInstaller-IRR6M3N6.cjs +22 -0
  239. package/dist/{communityInstaller-COB2KTOW.js → communityInstaller-OLKEUGMX.js} +6 -6
  240. package/dist/completion-G7Z436TF.cjs +17 -0
  241. package/dist/{completion-PT4VM2H2.js → completion-ZS3AXJ6A.js} +5 -5
  242. package/dist/{config-R4O7GBTY.js → config-OWYAQPCX.js} +5 -3
  243. package/dist/config-W2BHT2QE.cjs +22 -0
  244. package/dist/{constants-HVCHVQAF.js → constants-AS6K67AA.js} +5 -3
  245. package/dist/constants-B4W5BT7F.cjs +23 -0
  246. package/dist/{export-3PK3VFCE.js → export-5HIU3KMD.js} +5 -5
  247. package/dist/export-GFD32UY2.cjs +15 -0
  248. package/dist/{extractSessionMemories-A2JX5WJ2.js → extractSessionMemories-K6ZVAW2F.js} +1 -1
  249. package/dist/{extractSessionMemories-XL3MS37F.cjs → extractSessionMemories-LLOIJR5U.cjs} +2 -2
  250. package/dist/feature-KP74CZ3F.cjs +14 -0
  251. package/dist/feature-OPNVMB2E.js +14 -0
  252. package/dist/features-LT55MURX.cjs +24 -0
  253. package/dist/features-ZDIU26WX.js +24 -0
  254. package/dist/feedback-7WTJFQ6S.js +18 -0
  255. package/dist/feedback-CEOJ3453.cjs +18 -0
  256. package/dist/go-2CY5SZNR.js +16 -0
  257. package/dist/go-O2CSQON4.cjs +16 -0
  258. package/dist/goal-DL2N2AWT.cjs +16 -0
  259. package/dist/goal-IJS7VZSG.js +16 -0
  260. package/dist/help-RNOGDEBA.cjs +12 -0
  261. package/dist/{help-X3OAZ3CY.js → help-TCWD2IRH.js} +2 -2
  262. package/dist/{history-YKFPHBJN.js → history-ATOR5OQV.js} +2 -2
  263. package/dist/history-UUSGX2AL.cjs +14 -0
  264. package/dist/{hooks-7TA4PIIB.js → hooks-R3Z5QKUP.js} +6 -6
  265. package/dist/hooks-RWM5UY67.cjs +18 -0
  266. package/dist/{i18n-2KBUU7XL.js → i18n-4QI4TD4I.js} +1 -1
  267. package/dist/i18n-MFAEU5RV.cjs +33 -0
  268. package/dist/ide-6PBTCCUQ.js +15 -0
  269. package/dist/ide-UE3G7NMQ.cjs +15 -0
  270. package/dist/{import-I7T4ZHYL.cjs → import-2IG76KAN.cjs} +6 -4
  271. package/dist/{import-JWPYKXCZ.js → import-E47QL4DW.js} +2 -2
  272. package/dist/import-NQDNBFUL.cjs +10 -0
  273. package/dist/{import-4CHYLS4K.js → import-VQIHGJWS.js} +6 -4
  274. package/dist/index.cjs +512 -305
  275. package/dist/index.d.cts +40 -0
  276. package/dist/index.d.ts +40 -0
  277. package/dist/index.js +402 -195
  278. package/dist/init-DX3RDGDT.cjs +10 -0
  279. package/dist/{init-262MWZV4.js → init-Q54OAAFZ.js} +2 -2
  280. package/dist/{inputPrompt-YGBHDUEP.js → inputPrompt-V2VBDRM7.js} +3 -3
  281. package/dist/inputPrompt-WVGVWAHS.cjs +90 -0
  282. package/dist/language-I6KXAOXD.js +23 -0
  283. package/dist/language-XMIVOH5E.cjs +23 -0
  284. package/dist/learn-JPVVGTKU.js +23 -0
  285. package/dist/learn-NLSHI2MZ.cjs +23 -0
  286. package/dist/login-NABQYLYC.cjs +28 -0
  287. package/dist/login-XPOVFSWN.js +28 -0
  288. package/dist/logout-HNHCGB4Q.js +25 -0
  289. package/dist/logout-SKGDXJSW.cjs +25 -0
  290. package/dist/{mcp-5O6PUL4G.js → mcp-EN73YFGZ.js} +8 -6
  291. package/dist/mcp-TADZCPJQ.cjs +22 -0
  292. package/dist/{mcp-install-P6DHES7V.cjs → mcp-install-2GKWWBAS.cjs} +15 -13
  293. package/dist/{mcp-install-6XWXLFVY.js → mcp-install-3TBTVSHW.js} +10 -8
  294. package/dist/memory-GRXFTDIN.cjs +10 -0
  295. package/dist/{memory-Q54CESNM.js → memory-K2P3CDCH.js} +2 -2
  296. package/dist/{model-6AJ77PJG.js → model-DEG22OWA.js} +2 -2
  297. package/dist/model-OSD74T7Z.cjs +10 -0
  298. package/dist/new-4NWBOATU.cjs +12 -0
  299. package/dist/{new-ZXHEWC2S.js → new-KJAP2MB6.js} +3 -3
  300. package/dist/onboarding-2U5WE2OA.js +39 -0
  301. package/dist/onboarding-5DZFCO5Q.cjs +39 -0
  302. package/dist/permissions-KY5I6YQ3.cjs +10 -0
  303. package/dist/{permissions-YHJMVA6L.js → permissions-TKYON7PP.js} +2 -2
  304. package/dist/{plan-YYUAXPTL.js → plan-DYHHLZSS.js} +1 -1
  305. package/dist/plan-PYKP652W.cjs +13 -0
  306. package/dist/quit-GSKJL42O.js +14 -0
  307. package/dist/quit-TQSRTBUT.cjs +14 -0
  308. package/dist/{registry-34GL6BNJ.js → registry-EZ4V4TUQ.js} +1339 -1
  309. package/dist/{registry-V24W7YK6.cjs → registry-LCWYI4IB.cjs} +1378 -40
  310. package/dist/resume-4VWJXARX.cjs +17 -0
  311. package/dist/resume-TLHWWWFN.js +17 -0
  312. package/dist/{review-QHP2KP4Q.js → review-CSK4IYTO.js} +1 -1
  313. package/dist/review-XLJEUH5K.cjs +9 -0
  314. package/dist/{rpc-S3DGW6KV.js → rpc-3DLQBDWU.js} +301 -130
  315. package/dist/{rpc-NPS3PU4O.cjs → rpc-O36WUU3L.cjs} +399 -228
  316. package/dist/search-DSX2CY4A.cjs +22 -0
  317. package/dist/search-I3QUDUQL.js +22 -0
  318. package/dist/sessionBranching-DVNOUWJT.cjs +19 -0
  319. package/dist/sessionBranching-FKV4CR36.js +19 -0
  320. package/dist/sessions-3JUOT3ED.cjs +10 -0
  321. package/dist/{sessions-IYAXMK23.js → sessions-VWMDIPOS.js} +2 -2
  322. package/dist/settings-FT2LZZUV.js +45 -0
  323. package/dist/settings-RL4KNWHB.cjs +45 -0
  324. package/dist/setup-HQEJVOYT.js +32 -0
  325. package/dist/setup-MN54LKOL.cjs +32 -0
  326. package/dist/share-BUAFZNBX.cjs +17 -0
  327. package/dist/share-CGB6MAVJ.js +17 -0
  328. package/dist/skills/builtin/code-reviewer/SKILL.md +64 -0
  329. package/dist/skills/builtin/goal-writer/SKILL.md +124 -0
  330. package/dist/{skills-VWOMV3CR.js → skills-7DKR3HRZ.js} +8 -8
  331. package/dist/{skills-MVIZNHT4.js → skills-BBBENOEY.js} +9 -9
  332. package/dist/skills-OQM7IHAF.cjs +29 -0
  333. package/dist/{skills-GGMZOVIE.cjs → skills-RA2PKL63.cjs} +10 -10
  334. package/dist/{skills-install-VTAMCNNY.cjs → skills-install-D7K476SL.cjs} +16 -16
  335. package/dist/{skills-install-QBA5RCV6.js → skills-install-T4SOKJSL.js} +9 -9
  336. package/dist/skills-new-S33NGEU3.js +18 -0
  337. package/dist/skills-new-UVYH53MD.cjs +18 -0
  338. package/dist/slashCommands-MWOUDSQP.js +111 -0
  339. package/dist/slashCommands-XASURUTV.cjs +111 -0
  340. package/dist/squad-PIIYDFVH.cjs +15 -0
  341. package/dist/squad-VHYOVEJP.js +15 -0
  342. package/dist/status-GHFTXQBL.js +25 -0
  343. package/dist/status-WXMIJIU3.cjs +25 -0
  344. package/dist/statusline-2K7AC6ZQ.js +21 -0
  345. package/dist/statusline-GROI4HOC.cjs +21 -0
  346. package/dist/sync-254WF6JI.cjs +42 -0
  347. package/dist/sync-2DIZN4EH.cjs +24 -0
  348. package/dist/{sync-7BILIQHP.js → sync-J6I2ZUKQ.js} +6 -4
  349. package/dist/{sync-7OKF6636.js → sync-Z3LVSEEV.js} +8 -5
  350. package/dist/{teammate-J6PHGL23.cjs → teammate-EXR76PEQ.cjs} +9 -8
  351. package/dist/{teammate-GZQSCIMS.js → teammate-K4DAOFEQ.js} +8 -7
  352. package/dist/templates-ARG2VRWW.cjs +11 -0
  353. package/dist/templates-UGVZV3KJ.js +11 -0
  354. package/dist/theme-MVQDSU47.js +23 -0
  355. package/dist/theme-QAKEYWJG.cjs +23 -0
  356. package/dist/ui/questionModal.cjs +6 -6
  357. package/dist/ui/questionModal.js +5 -5
  358. package/dist/{undo-SZEHLX7X.js → undo-5AU47JHF.js} +2 -2
  359. package/dist/undo-ME6WKUXZ.cjs +10 -0
  360. package/dist/usage-QTKO2YMD.js +25 -0
  361. package/dist/usage-TYNJKVER.cjs +25 -0
  362. package/package.json +10 -4
  363. package/dist/AgentRegistry-EGBDIUAK.cjs +0 -10
  364. package/dist/AgentRegistry-XPWSVO3Q.js +0 -10
  365. package/dist/CommunitySkillsCache-2OIUV227.cjs +0 -8
  366. package/dist/LearnAdvisor-46FG2XIP.js +0 -9
  367. package/dist/LearnAdvisor-XBRDNAGH.cjs +0 -9
  368. package/dist/MemoryManager-34L4YOKA.cjs +0 -8
  369. package/dist/MemoryManager-WJMLPWGU.js +0 -8
  370. package/dist/NVIDIAProvider-MVTL62PR.cjs +0 -14
  371. package/dist/PermissionManager-5OOJ7FAT.cjs +0 -11
  372. package/dist/ProviderFactory-C3YPXTDD.cjs +0 -11
  373. package/dist/SessionManager-WAPTFMDO.cjs +0 -10
  374. package/dist/SkillsRegistry-7AJP74GJ.cjs +0 -9
  375. package/dist/SubAgent-FDIH3DXB.js +0 -11
  376. package/dist/SubAgent-HVL2ICVZ.cjs +0 -11
  377. package/dist/SyncApiClient-VMBOLQ6H.cjs +0 -11
  378. package/dist/about-FCAX37YC.cjs +0 -14
  379. package/dist/actionExecutor-33I47NZS.js +0 -24
  380. package/dist/actionExecutor-4YBMR3YH.cjs +0 -24
  381. package/dist/add-dir-7SS6KSH5.cjs +0 -11
  382. package/dist/agent-DMRUFU4M.cjs +0 -116
  383. package/dist/agent-WCJEYQJT.js +0 -116
  384. package/dist/agents-CHROO3VU.cjs +0 -17
  385. package/dist/agents-UVDUL65K.js +0 -17
  386. package/dist/agents-new-AUBWSOXP.js +0 -17
  387. package/dist/agents-new-Y562WC47.cjs +0 -17
  388. package/dist/autoSkill-YOLLFTP2.cjs +0 -20
  389. package/dist/automode-DBLKTTKD.cjs +0 -10
  390. package/dist/chrome-ATC4OO5I.cjs +0 -20
  391. package/dist/chrome-O62WXV7F.js +0 -20
  392. package/dist/chrome-XHJLCO4M.cjs +0 -50
  393. package/dist/chunk-6XVVIY54.cjs +0 -256
  394. package/dist/chunk-AU6JAGZJ.cjs +0 -231
  395. package/dist/chunk-N6O3XUZ2.cjs +0 -23
  396. package/dist/chunk-VDWJMWDF.js +0 -256
  397. package/dist/clear-33TWQ2ES.cjs +0 -12
  398. package/dist/communityInstaller-TWMGPSYM.cjs +0 -22
  399. package/dist/completion-IIZMHXYP.cjs +0 -17
  400. package/dist/config-KL6WU7R2.cjs +0 -20
  401. package/dist/constants-RLMJ5D5P.cjs +0 -21
  402. package/dist/export-WLGNWEMJ.cjs +0 -15
  403. package/dist/feedback-G635NCLJ.js +0 -18
  404. package/dist/feedback-LLMK3TZH.cjs +0 -18
  405. package/dist/help-BAXLP2M2.cjs +0 -12
  406. package/dist/history-6HOJSEMT.cjs +0 -14
  407. package/dist/hooks-XVFU67T2.cjs +0 -18
  408. package/dist/i18n-MUJMKTFM.cjs +0 -33
  409. package/dist/ide-CCQ33PGC.cjs +0 -15
  410. package/dist/ide-VLVFBZ5F.js +0 -15
  411. package/dist/import-J46F54JY.cjs +0 -10
  412. package/dist/init-EE5Y7RBL.cjs +0 -10
  413. package/dist/inputPrompt-IIFKCX5Q.cjs +0 -90
  414. package/dist/language-CVLPB7OV.js +0 -21
  415. package/dist/language-ZTWFHUSV.cjs +0 -21
  416. package/dist/learn-PON7I5QS.js +0 -23
  417. package/dist/learn-XLRSVNA3.cjs +0 -23
  418. package/dist/login-223QTGBG.cjs +0 -26
  419. package/dist/login-6IKTBUBY.js +0 -26
  420. package/dist/logout-RN2AG6SI.js +0 -23
  421. package/dist/logout-U3M4FFX7.cjs +0 -23
  422. package/dist/mcp-NUQ76QQB.cjs +0 -20
  423. package/dist/memory-CYMDQ2YC.cjs +0 -10
  424. package/dist/model-IDRCKDML.cjs +0 -10
  425. package/dist/new-7LEWOUF2.cjs +0 -12
  426. package/dist/onboarding-FXX7YHSJ.cjs +0 -35
  427. package/dist/onboarding-JYNMK6NI.js +0 -35
  428. package/dist/permissions-YBNSANIA.cjs +0 -10
  429. package/dist/plan-XEJMOT55.cjs +0 -13
  430. package/dist/quit-B43SJ6E4.cjs +0 -10
  431. package/dist/quit-GWTNHQSP.js +0 -10
  432. package/dist/resume-DYVOQN5L.cjs +0 -16
  433. package/dist/resume-M25UQKOX.js +0 -16
  434. package/dist/review-UWHWQHCB.cjs +0 -9
  435. package/dist/search-CPX4PWHP.js +0 -20
  436. package/dist/search-VUF3M4N3.cjs +0 -20
  437. package/dist/sessions-JODKER5D.cjs +0 -10
  438. package/dist/settings-55BNW6BF.js +0 -33
  439. package/dist/settings-BKTS7OMC.cjs +0 -33
  440. package/dist/setup-IRC5HQG2.js +0 -29
  441. package/dist/setup-MMQ7TWOP.cjs +0 -29
  442. package/dist/share-6JRQECAH.cjs +0 -17
  443. package/dist/share-YM5MJKMO.js +0 -17
  444. package/dist/skills-LWSOKOSH.cjs +0 -29
  445. package/dist/skills-new-GPL46YV2.js +0 -18
  446. package/dist/skills-new-L5BEZN5V.cjs +0 -18
  447. package/dist/slashCommands-FBPCIWM5.cjs +0 -95
  448. package/dist/slashCommands-FCWY5DXW.js +0 -95
  449. package/dist/status-3B5SDZPL.js +0 -17
  450. package/dist/status-TTGRF6NC.cjs +0 -17
  451. package/dist/sync-77CXVVTK.cjs +0 -21
  452. package/dist/sync-EH4K5U3N.cjs +0 -40
  453. package/dist/theme-64BYGJ57.cjs +0 -21
  454. package/dist/theme-YJE6HEON.js +0 -21
  455. package/dist/undo-PRTEGL2J.cjs +0 -10
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-CBFH2J3O.js";
3
+ } from "./chunk-SJQU2ZFR.js";
4
4
 
5
5
  // src/commands/init.ts
6
6
  async function init(ctx) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  showModal
3
- } from "./chunk-DLP436GI.js";
3
+ } from "./chunk-LOSXLH7P.js";
4
4
 
5
5
  // src/ui/questionModal.tsx
6
6
  async function showQuestionModal(options) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PROJECT_DIR_NAME
3
- } from "./chunk-TWQDAUZU.js";
3
+ } from "./chunk-PG2JIU5M.js";
4
4
 
5
5
  // src/skills/autoSkill.ts
6
6
  import fs from "fs-extra";
@@ -440,8 +440,8 @@ async function runAutoSkillGeneration(workspaceRoot, llm) {
440
440
  console.log(chalk.gray(`Detected: ${detected}`));
441
441
  console.log(chalk.gray(`Platform: ${analysis.platform}`));
442
442
  console.log(chalk.cyan("Generating targeted skill via LearnAdvisor..."));
443
- const { LearnAdvisor } = await import("./LearnAdvisor-46FG2XIP.js");
444
- const { computeProjectHash, injectGeneratedMetadata } = await import("./communityInstaller-COB2KTOW.js");
443
+ const { LearnAdvisor } = await import("./LearnAdvisor-RFOBXFG7.js");
444
+ const { computeProjectHash, injectGeneratedMetadata } = await import("./communityInstaller-OLKEUGMX.js");
445
445
  const advisor = new LearnAdvisor(llm);
446
446
  const generated = await advisor.generateSkill(analysis, null, []);
447
447
  if (!generated) {
@@ -1,6 +1,3 @@
1
- import {
2
- CommunitySkillsCache
3
- } from "./chunk-5F6ZKSHO.js";
4
1
  import {
5
2
  GitHubRegistryFetcher
6
3
  } from "./chunk-YVQI26H4.js";
@@ -8,14 +5,17 @@ import {
8
5
  LearnClient,
9
6
  fetchRegistryWithFallback,
10
7
  installSkillWithSecurity
11
- } from "./chunk-DMRXF5DU.js";
8
+ } from "./chunk-HTPY5ESD.js";
9
+ import {
10
+ CommunitySkillsCache
11
+ } from "./chunk-S2L3Y677.js";
12
12
  import {
13
13
  showConfirm,
14
14
  showModal
15
- } from "./chunk-DLP436GI.js";
15
+ } from "./chunk-LOSXLH7P.js";
16
16
  import {
17
17
  t
18
- } from "./chunk-CBFH2J3O.js";
18
+ } from "./chunk-SJQU2ZFR.js";
19
19
 
20
20
  // src/commands/skills.ts
21
21
  import path from "path";
@@ -109,6 +109,8 @@ function generateSkillSuggestion(skillName, description) {
109
109
  }
110
110
  function getSkillSourceLabel(source) {
111
111
  switch (source) {
112
+ case "builtin":
113
+ return "Built-in";
112
114
  case "autohand-user":
113
115
  return "Autohand User";
114
116
  case "autohand-project":
@@ -204,6 +206,7 @@ function listSkills(registry) {
204
206
  bySource.set(skill.source, existing);
205
207
  }
206
208
  const sourceLabels = {
209
+ "builtin": "Built-in Skills",
207
210
  "codex-user": "\u{1F4C1} Codex User Skills",
208
211
  "claude-user": "\u{1F4C1} Claude User Skills",
209
212
  "claude-project": "\u{1F4C1} Project Skills",
@@ -338,7 +341,7 @@ async function handleSkillsInstall(ctx, skillName) {
338
341
  if (!workspaceRoot) {
339
342
  return "Workspace root not available.";
340
343
  }
341
- const { skillsInstall } = await import("./skills-install-QBA5RCV6.js");
344
+ const { skillsInstall } = await import("./skills-install-T4SOKJSL.js");
342
345
  const result = await skillsInstall(
343
346
  {
344
347
  skillsRegistry,
@@ -461,7 +464,7 @@ function handleSkillsFeedback(slug, rating, _comment) {
461
464
  }
462
465
  var metadata = {
463
466
  command: "/skills",
464
- description: t("commands.skills.description"),
467
+ description: "discover and install skills for your project",
465
468
  implemented: true,
466
469
  subcommands: [
467
470
  { name: "use", description: "Activate a skill" },
@@ -3,6 +3,36 @@
3
3
 
4
4
  var _chunk3OF56EMAcjs = require('./chunk-3OF56EMA.cjs');
5
5
 
6
+ // src/providers/usage.ts
7
+ function readTokenCount(record, keys) {
8
+ for (const key of keys) {
9
+ const value = record[key];
10
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
11
+ return Math.floor(value);
12
+ }
13
+ }
14
+ return void 0;
15
+ }
16
+ function normalizeLLMUsage(rawUsage) {
17
+ if (!rawUsage || typeof rawUsage !== "object" || Array.isArray(rawUsage)) {
18
+ return void 0;
19
+ }
20
+ const usage = rawUsage;
21
+ const promptTokens = readTokenCount(usage, ["prompt_tokens", "input_tokens", "promptTokens", "inputTokens"]);
22
+ const completionTokens = readTokenCount(usage, ["completion_tokens", "output_tokens", "completionTokens", "outputTokens"]);
23
+ const reportedTotal = readTokenCount(usage, ["total_tokens", "totalTokens"]);
24
+ const hasAnyActualCount = promptTokens !== void 0 || completionTokens !== void 0 || reportedTotal !== void 0;
25
+ if (!hasAnyActualCount) {
26
+ return void 0;
27
+ }
28
+ const totalTokens = _nullishCoalesce(reportedTotal, () => ( (_nullishCoalesce(promptTokens, () => ( 0))) + (_nullishCoalesce(completionTokens, () => ( 0)))));
29
+ return {
30
+ promptTokens: _nullishCoalesce(promptTokens, () => ( 0)),
31
+ completionTokens: _nullishCoalesce(completionTokens, () => ( 0)),
32
+ totalTokens
33
+ };
34
+ }
35
+
6
36
  // src/providers/NVIDIAClient.ts
7
37
  function sanitizeMessages(messages) {
8
38
  return messages.map((msg) => {
@@ -183,14 +213,7 @@ var NVIDIAClient = class {
183
213
  }
184
214
  }));
185
215
  }
186
- let usage;
187
- if (_optionalChain([json, 'optionalAccess', _19 => _19.usage])) {
188
- usage = {
189
- promptTokens: _nullishCoalesce(json.usage.prompt_tokens, () => ( 0)),
190
- completionTokens: _nullishCoalesce(json.usage.completion_tokens, () => ( 0)),
191
- totalTokens: _nullishCoalesce(json.usage.total_tokens, () => ( 0))
192
- };
193
- }
216
+ const usage = normalizeLLMUsage(_optionalChain([json, 'optionalAccess', _19 => _19.usage]));
194
217
  return {
195
218
  id: _nullishCoalesce(json.id, () => ( "nvidia-response")),
196
219
  created: _nullishCoalesce(json.created, () => ( Date.now())),
@@ -385,6 +408,9 @@ var NVIDIAProvider = class {
385
408
  getName() {
386
409
  return "nvidia";
387
410
  }
411
+ getCapabilities() {
412
+ return { nativeToolCalling: true };
413
+ }
388
414
  setModel(model) {
389
415
  this.model = model;
390
416
  this.client.setDefaultModel(model);
@@ -412,7 +438,8 @@ var NVIDIAProvider = class {
412
438
 
413
439
 
414
440
 
415
- exports.NVIDIA_DEFAULT_BASE_URL = NVIDIA_DEFAULT_BASE_URL2; exports.NVIDIA_MODELS = NVIDIA_MODELS; exports.NVIDIA_DEFAULT_MODEL = NVIDIA_DEFAULT_MODEL; exports.NVIDIAProvider = NVIDIAProvider;
441
+
442
+ exports.normalizeLLMUsage = normalizeLLMUsage; exports.NVIDIA_DEFAULT_BASE_URL = NVIDIA_DEFAULT_BASE_URL2; exports.NVIDIA_MODELS = NVIDIA_MODELS; exports.NVIDIA_DEFAULT_MODEL = NVIDIA_DEFAULT_MODEL; exports.NVIDIAProvider = NVIDIAProvider;
416
443
  /**
417
444
  * @license
418
445
  * Copyright 2025 Autohand AI LLC
@@ -1,6 +1,6 @@
1
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
2
 
3
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
3
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
4
4
 
5
5
  // src/commands/permissions.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
@@ -31,9 +31,9 @@ function renderSection(title, section) {
31
31
  async function permissions(ctx) {
32
32
  const snapshot = ctx.permissionManager.getPermissionSnapshot(_nullishCoalesce(ctx.configPath, () => ( "(user config unknown)")));
33
33
  console.log();
34
- console.log(_chalk2.default.bold.cyan(_chunkCHI52KFRcjs.t.call(void 0, "commands.permissions.title")));
34
+ console.log(_chalk2.default.bold.cyan(_chunkRJCZLFHEcjs.t.call(void 0, "commands.permissions.title")));
35
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" })));
36
+ console.log(_chalk2.default.gray(_chunkRJCZLFHEcjs.t.call(void 0, "commands.permissions.mode", { mode: snapshot.mode || "interactive" })));
37
37
  console.log(_chalk2.default.gray(`Remember session decisions: ${snapshot.rememberSession ? "Yes" : "No"}`));
38
38
  console.log();
39
39
  renderSection("Session", snapshot.session);
@@ -44,7 +44,7 @@ async function permissions(ctx) {
44
44
  }
45
45
  var metadata = {
46
46
  command: "/permissions",
47
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.permissions.description"),
47
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.permissions.description"),
48
48
  implemented: true
49
49
  };
50
50
 
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSkillGenerationPrompt
3
- } from "./chunk-MX75JYIY.js";
3
+ } from "./chunk-FSJ2MNOC.js";
4
4
 
5
5
  // src/skills/learnPrompts.ts
6
6
  function buildLearnSystemPrompt() {
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
6
+ var _chunkDMM2BKSVcjs = require('./chunk-DMM2BKSV.cjs');
7
7
 
8
8
  // src/utils/prompt.ts
9
9
  async function safePrompt(questions) {
@@ -17,7 +17,7 @@ async function safePrompt(questions) {
17
17
  label: choice.message,
18
18
  value: choice.name
19
19
  }));
20
- const result = await _chunkCH2J4PVEcjs.showModal.call(void 0, {
20
+ const result = await _chunkDMM2BKSVcjs.showModal.call(void 0, {
21
21
  title: selectConfig.message,
22
22
  options,
23
23
  initialIndex: selectConfig.initial
@@ -25,19 +25,19 @@ async function safePrompt(questions) {
25
25
  value = _optionalChain([result, 'optionalAccess', _ => _.value]);
26
26
  } else if (question.type === "confirm") {
27
27
  const confirmConfig = question;
28
- value = await _chunkCH2J4PVEcjs.showConfirm.call(void 0, {
28
+ value = await _chunkDMM2BKSVcjs.showConfirm.call(void 0, {
29
29
  title: confirmConfig.message,
30
30
  defaultValue: confirmConfig.initial
31
31
  });
32
32
  } else if (question.type === "password") {
33
33
  const inputConfig = question;
34
- value = await _chunkCH2J4PVEcjs.showPassword.call(void 0, {
34
+ value = await _chunkDMM2BKSVcjs.showPassword.call(void 0, {
35
35
  title: inputConfig.message,
36
36
  validate: inputConfig.validate
37
37
  });
38
38
  } else if (question.type === "input") {
39
39
  const inputConfig = question;
40
- value = await _chunkCH2J4PVEcjs.showInput.call(void 0, {
40
+ value = await _chunkDMM2BKSVcjs.showInput.call(void 0, {
41
41
  title: inputConfig.message,
42
42
  defaultValue: inputConfig.initial,
43
43
  validate: inputConfig.validate
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
3
+ var _chunkRJCZLFHEcjs = require('./chunk-RJCZLFHE.cjs');
4
4
 
5
5
  // src/commands/sessions.ts
6
6
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
7
7
  var metadata = {
8
8
  command: "/sessions",
9
- description: _chunkCHI52KFRcjs.t.call(void 0, "commands.sessions.description"),
9
+ description: _chunkRJCZLFHEcjs.t.call(void 0, "commands.sessions.description"),
10
10
  implemented: true
11
11
  };
12
12
  async function sessions(ctx) {
@@ -16,7 +16,7 @@ async function sessions(ctx) {
16
16
  projectFilter ? { project: projectFilter } : void 0
17
17
  );
18
18
  if (allSessions.length === 0) {
19
- console.log(_chalk2.default.gray(_chunkCHI52KFRcjs.t.call(void 0, "commands.sessions.noSessions")));
19
+ console.log(_chalk2.default.gray(_chunkRJCZLFHEcjs.t.call(void 0, "commands.sessions.noSessions")));
20
20
  return null;
21
21
  }
22
22
  console.log(_chalk2.default.cyan(`
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AUTOHAND_HOME
3
- } from "./chunk-TWQDAUZU.js";
3
+ } from "./chunk-PG2JIU5M.js";
4
4
  import {
5
5
  getSyncApiClient
6
- } from "./chunk-Z4LIPMPM.js";
6
+ } from "./chunk-L6OH44HL.js";
7
7
 
8
8
  // src/sync/types.ts
9
9
  var DEFAULT_SYNC_CONFIG = {
@@ -36,6 +36,9 @@ var SYNC_INCLUDE_DEFAULT = [
36
36
  "share/",
37
37
  "skills/"
38
38
  ];
39
+ function isMemorySyncPath(filePath) {
40
+ return filePath === "memory" || filePath.startsWith("memory/");
41
+ }
39
42
 
40
43
  // src/sync/encryption.ts
41
44
  import crypto from "crypto";
@@ -137,7 +140,7 @@ function decryptConfig(config, authToken) {
137
140
  try {
138
141
  result[key] = decrypt(value, authToken);
139
142
  } catch {
140
- result[key] = value;
143
+ continue;
141
144
  }
142
145
  } else {
143
146
  result[key] = value;
@@ -160,6 +163,32 @@ var MANIFEST_VERSION = 1;
160
163
  var SYNC_STATE_FILE = ".sync-state.json";
161
164
  var SYNC_LOCK_FILE = ".sync-lock";
162
165
  var MAX_TOTAL_SIZE = 100 * 1024 * 1024;
166
+ function isJsonObject(value) {
167
+ return typeof value === "object" && value !== null && !Array.isArray(value);
168
+ }
169
+ function stripUnsyncedConfigFields(config) {
170
+ const rest = { ...config };
171
+ delete rest.auth;
172
+ return rest;
173
+ }
174
+ function mergeDownloadedConfig(downloaded, local) {
175
+ const sanitizedDownloaded = stripUnsyncedConfigFields(downloaded);
176
+ if (local && Object.prototype.hasOwnProperty.call(local, "auth")) {
177
+ return {
178
+ ...sanitizedDownloaded,
179
+ auth: local.auth
180
+ };
181
+ }
182
+ return sanitizedDownloaded;
183
+ }
184
+ function isRemoteNewer(localFile, remoteFile) {
185
+ const localTime = Date.parse(localFile.modifiedAt);
186
+ const remoteTime = Date.parse(remoteFile.modifiedAt);
187
+ if (Number.isNaN(localTime) || Number.isNaN(remoteTime)) {
188
+ return true;
189
+ }
190
+ return remoteTime > localTime;
191
+ }
163
192
  var SyncService = class {
164
193
  authToken;
165
194
  userId;
@@ -275,13 +304,21 @@ var SyncService = class {
275
304
  const url = downloadUrls[file.path];
276
305
  if (!url) continue;
277
306
  try {
278
- const content = await this.client.downloadFile(url);
307
+ const content = await this.client.downloadFile(url, this.authToken);
279
308
  const localPath = path.join(this.basePath, file.path);
280
309
  if (file.path === "config.json") {
281
310
  const config = JSON.parse(content.toString("utf8"));
282
- const decrypted = decryptConfig(config, this.authToken);
311
+ const localConfig = await fs.readJson(localPath).catch(() => null);
312
+ const decrypted = decryptConfig(
313
+ isJsonObject(config) ? config : {},
314
+ this.authToken
315
+ );
316
+ const merged = mergeDownloadedConfig(
317
+ decrypted,
318
+ isJsonObject(localConfig) ? localConfig : null
319
+ );
283
320
  await fs.ensureDir(path.dirname(localPath));
284
- await fs.writeJson(localPath, decrypted, { spaces: 2 });
321
+ await fs.writeJson(localPath, merged, { spaces: 2 });
285
322
  } else {
286
323
  await fs.ensureDir(path.dirname(localPath));
287
324
  await fs.writeFile(localPath, content);
@@ -319,12 +356,13 @@ var SyncService = class {
319
356
  let content;
320
357
  if (file.path === "config.json") {
321
358
  const config = await fs.readJson(localPath);
322
- const encrypted = encryptConfig(config, this.authToken);
359
+ const syncedConfig = stripUnsyncedConfigFields(isJsonObject(config) ? config : {});
360
+ const encrypted = encryptConfig(syncedConfig, this.authToken);
323
361
  content = Buffer.from(JSON.stringify(encrypted, null, 2), "utf8");
324
362
  } else {
325
363
  content = await fs.readFile(localPath);
326
364
  }
327
- await this.client.uploadFile(url, content);
365
+ await this.client.uploadFile(url, content, this.authToken);
328
366
  uploaded++;
329
367
  this.onEvent({ type: "file_uploaded", path: file.path, size: content.length });
330
368
  } catch (error) {
@@ -408,11 +446,11 @@ var SyncService = class {
408
446
  if (await fs.pathExists(fullPath)) {
409
447
  const stat = await fs.stat(fullPath);
410
448
  if (stat.isFile()) {
411
- const content = await fs.readFile(fullPath);
449
+ const content = await this.readManifestContent(relativePath, fullPath);
412
450
  files.push({
413
451
  path: relativePath,
414
452
  hash: computeHash(content),
415
- size: stat.size,
453
+ size: content.length,
416
454
  modifiedAt: stat.mtime.toISOString(),
417
455
  encrypted: relativePath === "config.json"
418
456
  });
@@ -471,11 +509,11 @@ var SyncService = class {
471
509
  if (entry.isFile()) {
472
510
  try {
473
511
  const stat = await fs.stat(fullPath);
474
- const content = await fs.readFile(fullPath);
512
+ const content = await this.readManifestContent(relativePath, fullPath);
475
513
  files.push({
476
514
  path: relativePath,
477
515
  hash: computeHash(content),
478
- size: stat.size,
516
+ size: content.length,
479
517
  modifiedAt: stat.mtime.toISOString()
480
518
  });
481
519
  } catch {
@@ -488,6 +526,14 @@ var SyncService = class {
488
526
  }
489
527
  return files;
490
528
  }
529
+ async readManifestContent(relativePath, fullPath) {
530
+ if (relativePath !== "config.json") {
531
+ return fs.readFile(fullPath);
532
+ }
533
+ const config = await fs.readJson(fullPath).catch(() => null);
534
+ const syncedConfig = stripUnsyncedConfigFields(isJsonObject(config) ? config : {});
535
+ return Buffer.from(JSON.stringify(syncedConfig, null, 2), "utf8");
536
+ }
491
537
  /**
492
538
  * Check if a path matches any exclude pattern
493
539
  */
@@ -526,7 +572,11 @@ var SyncService = class {
526
572
  if (!remoteFile) {
527
573
  actions.uploads.push(localFile);
528
574
  } else if (localFile.hash !== remoteFile.hash) {
529
- actions.conflicts.push(remoteFile);
575
+ if (isRemoteNewer(localFile, remoteFile)) {
576
+ actions.conflicts.push(remoteFile);
577
+ } else {
578
+ actions.uploads.push(localFile);
579
+ }
530
580
  }
531
581
  }
532
582
  for (const [filePath, remoteFile] of remoteFiles) {
@@ -550,14 +600,49 @@ var SyncService = class {
550
600
  error: "No remote data to download"
551
601
  };
552
602
  }
603
+ return this.forceDownloadFiles(remoteManifest.files);
604
+ }
605
+ /**
606
+ * Force download a subset of cloud files by path.
607
+ */
608
+ async forceDownloadPaths(paths) {
609
+ const remoteManifest = await this.client.getRemoteManifest(this.authToken);
610
+ if (!remoteManifest) {
611
+ return {
612
+ success: false,
613
+ uploaded: 0,
614
+ downloaded: 0,
615
+ conflicts: 0,
616
+ error: "No remote data to download"
617
+ };
618
+ }
619
+ const requestedPaths = new Set(paths);
620
+ const files = remoteManifest.files.filter((file) => requestedPaths.has(file.path));
621
+ return this.forceDownloadFiles(files);
622
+ }
623
+ async forceDownloadFiles(files) {
624
+ if (files.length === 0) {
625
+ return {
626
+ success: true,
627
+ uploaded: 0,
628
+ downloaded: 0,
629
+ conflicts: 0
630
+ };
631
+ }
553
632
  const actions = {
554
633
  uploads: [],
555
- downloads: remoteManifest.files,
634
+ downloads: files,
556
635
  conflicts: [],
557
636
  localDeletes: [],
558
637
  remoteDeletes: []
559
638
  };
560
- return this.performSyncActions(actions, remoteManifest);
639
+ return this.performSyncActions(actions, {
640
+ version: MANIFEST_VERSION,
641
+ userId: this.userId,
642
+ lastModified: (/* @__PURE__ */ new Date()).toISOString(),
643
+ files,
644
+ checksum: computeHash(JSON.stringify(files))
645
+ });
561
646
  }
562
647
  /**
563
648
  * Force a full upload (overwrite cloud with local)
@@ -590,13 +675,21 @@ var SyncService = class {
590
675
  const url = downloadUrls[file.path];
591
676
  if (!url) continue;
592
677
  try {
593
- const content = await this.client.downloadFile(url);
678
+ const content = await this.client.downloadFile(url, this.authToken);
594
679
  const localPath = path.join(this.basePath, file.path);
595
680
  if (file.path === "config.json") {
596
681
  const config = JSON.parse(content.toString("utf8"));
597
- const decrypted = decryptConfig(config, this.authToken);
682
+ const localConfig = await fs.readJson(localPath).catch(() => null);
683
+ const decrypted = decryptConfig(
684
+ isJsonObject(config) ? config : {},
685
+ this.authToken
686
+ );
687
+ const merged = mergeDownloadedConfig(
688
+ decrypted,
689
+ isJsonObject(localConfig) ? localConfig : null
690
+ );
598
691
  await fs.ensureDir(path.dirname(localPath));
599
- await fs.writeJson(localPath, decrypted, { spaces: 2 });
692
+ await fs.writeJson(localPath, merged, { spaces: 2 });
600
693
  } else {
601
694
  await fs.ensureDir(path.dirname(localPath));
602
695
  await fs.writeFile(localPath, content);
@@ -620,12 +713,13 @@ var SyncService = class {
620
713
  let content;
621
714
  if (file.path === "config.json") {
622
715
  const config = await fs.readJson(localPath);
623
- const encrypted = encryptConfig(config, this.authToken);
716
+ const syncedConfig = stripUnsyncedConfigFields(isJsonObject(config) ? config : {});
717
+ const encrypted = encryptConfig(syncedConfig, this.authToken);
624
718
  content = Buffer.from(JSON.stringify(encrypted, null, 2), "utf8");
625
719
  } else {
626
720
  content = await fs.readFile(localPath);
627
721
  }
628
- await this.client.uploadFile(url, content);
722
+ await this.client.uploadFile(url, content, this.authToken);
629
723
  uploaded++;
630
724
  } catch {
631
725
  }
@@ -680,6 +774,7 @@ export {
680
774
  SYNC_EXCLUDE_ALWAYS,
681
775
  SYNC_CONSENT_REQUIRED,
682
776
  SYNC_INCLUDE_DEFAULT,
777
+ isMemorySyncPath,
683
778
  deriveKey,
684
779
  encrypt,
685
780
  decrypt,