autohand-cli 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/README.md +173 -74
  2. package/dist/AgentRegistry-EGBDIUAK.cjs +10 -0
  3. package/dist/{AgentRegistry-7LDL5HJH.js → AgentRegistry-XPWSVO3Q.js} +3 -3
  4. package/dist/{AutomodeManager-MWLKGPZK.js → AutomodeManager-APLLPEYJ.js} +32 -18
  5. package/dist/{AutomodeManager-NYIZNODK.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-2OIUV227.cjs +8 -0
  7. package/dist/CommunitySkillsCache-ZEQWP6YM.js +8 -0
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-6JQ5JEDZ.js → GitHubRegistryFetcher-J2BWPXJF.js} +2 -2
  10. package/dist/HookManager-CWLTFKWO.js +7 -0
  11. package/dist/HookManager-TMAJQU4S.cjs +7 -0
  12. package/dist/{ImportWizard-35YBJ4AM.cjs → ImportWizard-MQXEED2U.cjs} +41 -17
  13. package/dist/{ImportWizard-XH7CINCH.js → ImportWizard-QBKQEXDW.js} +35 -11
  14. package/dist/LearnAdvisor-46FG2XIP.js +9 -0
  15. package/dist/LearnAdvisor-XBRDNAGH.cjs +9 -0
  16. package/dist/McpClientManager-BNSKLHIN.cjs +8 -0
  17. package/dist/{McpClientManager-7RM6YT35.js → McpClientManager-SL35BR24.js} +2 -2
  18. package/dist/MemoryManager-34L4YOKA.cjs +8 -0
  19. package/dist/MemoryManager-WJMLPWGU.js +8 -0
  20. package/dist/NVIDIAProvider-2HR737UE.js +14 -0
  21. package/dist/NVIDIAProvider-MVTL62PR.cjs +14 -0
  22. package/dist/PermissionManager-5OOJ7FAT.cjs +11 -0
  23. package/dist/{PermissionManager-ATUV34LQ.js → PermissionManager-KMYILJ4Z.js} +4 -4
  24. package/dist/{ProjectProfiler-ZDWR2ODG.cjs → ProjectProfiler-CDAE7ECW.cjs} +2 -1
  25. package/dist/{ProjectProfiler-UMJJSOCE.js → ProjectProfiler-NZTJDRHD.js} +2 -1
  26. package/dist/ProviderFactory-C3YPXTDD.cjs +11 -0
  27. package/dist/ProviderFactory-HFPRVQ25.js +11 -0
  28. package/dist/SessionManager-PNBTJJTQ.js +10 -0
  29. package/dist/SessionManager-WAPTFMDO.cjs +10 -0
  30. package/dist/SkillsRegistry-4RRD5GMX.js +9 -0
  31. package/dist/SkillsRegistry-7AJP74GJ.cjs +9 -0
  32. package/dist/SubAgent-FDIH3DXB.js +11 -0
  33. package/dist/SubAgent-HVL2ICVZ.cjs +11 -0
  34. package/dist/{SyncApiClient-LVIO4C2S.js → SyncApiClient-LRPFNCKJ.js} +2 -2
  35. package/dist/SyncApiClient-VMBOLQ6H.cjs +11 -0
  36. package/dist/about-BW3PDZUU.js +14 -0
  37. package/dist/about-FCAX37YC.cjs +14 -0
  38. package/dist/acp-EOETGAHC.cjs +1517 -0
  39. package/dist/acp-VHEL7BOW.js +1517 -0
  40. package/dist/actionExecutor-33I47NZS.js +24 -0
  41. package/dist/actionExecutor-4YBMR3YH.cjs +24 -0
  42. package/dist/add-dir-7SS6KSH5.cjs +11 -0
  43. package/dist/add-dir-VFX7QT4E.js +11 -0
  44. package/dist/agent-DMRUFU4M.cjs +116 -0
  45. package/dist/agent-WCJEYQJT.js +116 -0
  46. package/dist/agents/builtin/code-cleaner.md +1 -1
  47. package/dist/agents/builtin/docs-writer.md +1 -1
  48. package/dist/agents/builtin/researcher.md +2 -2
  49. package/dist/agents/builtin/reviewer.md +1 -1
  50. package/dist/agents/builtin/tester.md +1 -1
  51. package/dist/agents/builtin/todo-resolver.md +1 -1
  52. package/dist/agents-CHROO3VU.cjs +17 -0
  53. package/dist/agents-UVDUL65K.js +17 -0
  54. package/dist/agents-new-AUBWSOXP.js +17 -0
  55. package/dist/agents-new-Y562WC47.cjs +17 -0
  56. package/dist/{autoSkill-6TGBTEQD.js → autoSkill-EFMK6WU6.js} +3 -3
  57. package/dist/autoSkill-YOLLFTP2.cjs +20 -0
  58. package/dist/automode-BMYSRM34.js +10 -0
  59. package/dist/automode-DBLKTTKD.cjs +10 -0
  60. package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
  61. package/dist/browserToolBridge-F5N66PE7.js +58 -0
  62. package/dist/{cc-7LEIJ3KF.js → cc-AYEP2CA3.js} +1 -1
  63. package/dist/{cc-Q5MM4AWC.cjs → cc-S2QLQFBR.cjs} +1 -1
  64. package/dist/chrome-ATC4OO5I.cjs +20 -0
  65. package/dist/chrome-NHJ44WUN.js +50 -0
  66. package/dist/chrome-O62WXV7F.js +20 -0
  67. package/dist/chrome-XHJLCO4M.cjs +50 -0
  68. package/dist/chromeSkill-53TH55PM.js +105 -0
  69. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  70. package/dist/{chunk-HOAHWIQ5.cjs → chunk-2CGE7ZV3.cjs} +26 -26
  71. package/dist/chunk-2H5O745H.js +63 -0
  72. package/dist/chunk-2HOLOHVK.js +2219 -0
  73. package/dist/{chunk-3PDTTAKJ.js → chunk-2QL6MNXG.js} +15 -8
  74. package/dist/{chunk-PGRH5Q77.cjs → chunk-2VHB43IX.cjs} +35 -6
  75. package/dist/{chunk-VG34MG2U.js → chunk-37M5UM6I.js} +9 -6
  76. package/dist/{chunk-6HYLHBQG.cjs → chunk-3DDL2E55.cjs} +20 -16
  77. package/dist/chunk-3EDDDZS2.cjs +5 -0
  78. package/dist/{chunk-6OYHF6MF.js → chunk-3GUEUCZK.js} +28 -4
  79. package/dist/{chunk-N254NRHT.cjs → chunk-3HT76LNN.cjs} +9 -2
  80. package/dist/{chunk-DVUHHH3B.cjs → chunk-3KLSNNRW.cjs} +4 -4
  81. package/dist/chunk-3LJJG5YY.cjs +387 -0
  82. package/dist/chunk-3OF56EMA.cjs +197 -0
  83. package/dist/chunk-3PXKRVCW.js +108 -0
  84. package/dist/{chunk-IKGWDOGU.cjs → chunk-3S563FNF.cjs} +160 -79
  85. package/dist/chunk-3UT7R3XV.js +663 -0
  86. package/dist/chunk-4256YRCO.cjs +80 -0
  87. package/dist/chunk-46C73ZKK.cjs +663 -0
  88. package/dist/chunk-46MTALKD.js +44 -0
  89. package/dist/{chunk-AEJH23FO.cjs → chunk-47PHDKNW.cjs} +6 -6
  90. package/dist/chunk-4LMUDS2K.js +124 -0
  91. package/dist/{chunk-HLHTG5ZU.cjs → chunk-5CMYEM3R.cjs} +14 -12
  92. package/dist/{chunk-MBBY4ZIK.js → chunk-5F6ZKSHO.js} +4 -1
  93. package/dist/chunk-5JFTY3VU.js +74 -0
  94. package/dist/chunk-5JTTM5SC.js +59 -0
  95. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  96. package/dist/{chunk-GJH7XMSK.js → chunk-5VHP6HDQ.js} +8 -6
  97. package/dist/{chunk-6ZCULLCA.js → chunk-62RTC3XX.js} +1 -1
  98. package/dist/{chunk-MSED7RH2.cjs → chunk-6GUODJKM.cjs} +112 -41
  99. package/dist/{chunk-47CKWKEX.cjs → chunk-6HH236FV.cjs} +9 -4
  100. package/dist/{chunk-WHE2SWHU.js → chunk-6NVAK6CK.js} +2 -2
  101. package/dist/chunk-6R25D2H5.js +121 -0
  102. package/dist/{chunk-3PCTTUNW.cjs → chunk-6XVVIY54.cjs} +55 -25
  103. package/dist/{chunk-3L53OA4E.cjs → chunk-75EDROHL.cjs} +10 -10
  104. package/dist/{chunk-G4CAKI3V.js → chunk-7HPWMALN.js} +7 -2
  105. package/dist/chunk-7JLT2VNW.cjs +18963 -0
  106. package/dist/chunk-7LWQCE4Y.cjs +987 -0
  107. package/dist/{chunk-OLSBBZW6.cjs → chunk-7MU7LWF3.cjs} +5 -5
  108. package/dist/{chunk-HLQV64Y5.js → chunk-7RFJB75Y.js} +140 -59
  109. package/dist/{chunk-X2MSVKDV.js → chunk-A7HHCIDQ.js} +2 -2
  110. package/dist/{chunk-SKYG33B2.cjs → chunk-AC7DZ6SK.cjs} +3 -3
  111. package/dist/{chunk-XX2ZO7DS.js → chunk-ACDQGA4Z.js} +90 -16
  112. package/dist/{chunk-CZXGCVTR.cjs → chunk-AOKCI722.cjs} +2 -2
  113. package/dist/chunk-ARBEHFCG.js +715 -0
  114. package/dist/{chunk-OOKY3HPZ.js → chunk-AT7OWLY5.js} +50 -9
  115. package/dist/chunk-AU6JAGZJ.cjs +231 -0
  116. package/dist/chunk-AUFNACED.js +18963 -0
  117. package/dist/{chunk-CDBPBM2K.cjs → chunk-AUYSIEVV.cjs} +3 -3
  118. package/dist/chunk-B4HSNOIH.cjs +354 -0
  119. package/dist/{chunk-EGMZDTSL.js → chunk-B5CGDNMR.js} +10 -2
  120. package/dist/{chunk-34M3HWLR.js → chunk-BFQDQRDE.js} +2 -2
  121. package/dist/{chunk-2AA5MFES.js → chunk-BL2UC7HC.js} +8 -5
  122. package/dist/{chunk-LNMYK2F5.cjs → chunk-BQ22N3TX.cjs} +56 -41
  123. package/dist/chunk-BQU3HAE7.js +21 -0
  124. package/dist/chunk-BWF4VDYE.js +3897 -0
  125. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  126. package/dist/{chunk-APIXPPMT.js → chunk-CBFH2J3O.js} +855 -33
  127. package/dist/chunk-CCVMREXI.js +420 -0
  128. package/dist/chunk-CFAWTLSC.js +13 -0
  129. package/dist/{chunk-G27PQQFD.js → chunk-CFFE4VA3.js} +1 -1
  130. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CH2J4PVE.cjs} +212 -70
  131. package/dist/{chunk-7BTSG4ME.cjs → chunk-CHI52KFR.cjs} +855 -33
  132. package/dist/{chunk-DJDE4DTT.cjs → chunk-CWINVFRI.cjs} +25 -19
  133. package/dist/{chunk-HXGBSJL5.cjs → chunk-D2OSPLYC.cjs} +2 -2
  134. package/dist/{chunk-GBHDROGL.js → chunk-D6GZBSOX.js} +16 -4
  135. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  136. package/dist/chunk-DEQVRSV5.cjs +866 -0
  137. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  138. package/dist/{chunk-WM5PAOTQ.cjs → chunk-DIZTWFVR.cjs} +1649 -484
  139. package/dist/{chunk-YZXUDM5X.js → chunk-DLP436GI.js} +204 -62
  140. package/dist/{chunk-OHUZKDGX.js → chunk-DMRXF5DU.js} +3 -3
  141. package/dist/{chunk-U46VYPLR.cjs → chunk-DPSIGY6L.cjs} +9 -9
  142. package/dist/{chunk-DN573ME7.cjs → chunk-DRWDEHE5.cjs} +4 -4
  143. package/dist/{chunk-SEKD5FH3.cjs → chunk-E26KKI46.cjs} +5 -2
  144. package/dist/{chunk-J4Q7XR3G.js → chunk-E46DJH5S.js} +3 -3
  145. package/dist/{chunk-Q7XSCYND.cjs → chunk-E6GFD7VR.cjs} +49 -26
  146. package/dist/chunk-ES2HJQ4N.js +37 -0
  147. package/dist/chunk-EZJHLOWP.js +80 -0
  148. package/dist/chunk-FFBDRUO5.cjs +59 -0
  149. package/dist/{chunk-AYSFIUFW.js → chunk-FGT6KK6T.js} +38 -15
  150. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  151. package/dist/{chunk-DSPQEHDT.js → chunk-FQAVGSPW.js} +2 -2
  152. package/dist/chunk-FQVG6ZHF.js +197 -0
  153. package/dist/chunk-GBMDFWJX.cjs +152 -0
  154. package/dist/{chunk-DRE2RXBZ.js → chunk-GGLKUENP.js} +1605 -440
  155. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  156. package/dist/{chunk-MYISNQH4.js → chunk-GWO66KBI.js} +1 -1
  157. package/dist/chunk-GWY26SUD.cjs +63 -0
  158. package/dist/{chunk-YGN4CQIP.js → chunk-GZ6DV2UG.js} +1 -1
  159. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  160. package/dist/chunk-HDK2EHVH.cjs +570 -0
  161. package/dist/chunk-HJIXWGQZ.js +139 -0
  162. package/dist/{chunk-6RF7UKUS.js → chunk-HKYZSUQ5.js} +48 -47
  163. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  164. package/dist/{chunk-HTLINWX6.cjs → chunk-HQWQZML5.cjs} +16 -13
  165. package/dist/{chunk-DVZOENQ7.cjs → chunk-HS4USDND.cjs} +9 -4
  166. package/dist/chunk-HSCUPEA4.cjs +3897 -0
  167. package/dist/{chunk-JCLYQ2JC.js → chunk-HXJEGMGB.js} +12 -6
  168. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  169. package/dist/{chunk-SCXX4LW5.js → chunk-I24CWKKK.js} +15 -8
  170. package/dist/chunk-IAGCRVJ3.js +355 -0
  171. package/dist/chunk-IEXKKKOF.cjs +92 -0
  172. package/dist/{chunk-5IXII4HX.cjs → chunk-IGMPWJ2I.cjs} +19 -12
  173. package/dist/chunk-IKUMVBCW.cjs +33 -0
  174. package/dist/{chunk-XTB6VJVQ.cjs → chunk-J2K57QM7.cjs} +6 -6
  175. package/dist/{chunk-O4IF4NJT.cjs → chunk-J5ADZN6V.cjs} +57 -56
  176. package/dist/chunk-J5HE6CUM.cjs +124 -0
  177. package/dist/{chunk-JS7IPR7P.js → chunk-JAQO6XDB.js} +31 -2
  178. package/dist/chunk-JIMSII7R.js +987 -0
  179. package/dist/chunk-JJ4KA7HK.cjs +2219 -0
  180. package/dist/chunk-JMN3GZU6.js +570 -0
  181. package/dist/{chunk-X5VSP65C.cjs → chunk-JP3YHTQ2.cjs} +4 -4
  182. package/dist/{chunk-SKV2F3NM.js → chunk-JYKPWK5O.js} +1 -1
  183. package/dist/{chunk-NNPAM4HC.cjs → chunk-KNTUI4TZ.cjs} +12 -6
  184. package/dist/{chunk-HIVRCQS2.js → chunk-L4F7SUYL.js} +56 -25
  185. package/dist/{chunk-C5IJIM2V.cjs → chunk-LDJQ5QHG.cjs} +68 -37
  186. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  187. package/dist/chunk-LJD7KR3L.cjs +44 -0
  188. package/dist/chunk-LN7D3EJZ.js +387 -0
  189. package/dist/{chunk-643VRA5S.cjs → chunk-LQBONA55.cjs} +32 -8
  190. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  191. package/dist/chunk-M4KNC5BQ.js +78 -0
  192. package/dist/chunk-MO4KP6XS.cjs +229 -0
  193. package/dist/{chunk-BVKXEQVG.cjs → chunk-MOJ7ADW4.cjs} +22 -10
  194. package/dist/chunk-MPULXVC4.cjs +715 -0
  195. package/dist/{chunk-X5YJ34FZ.cjs → chunk-MQESBFBZ.cjs} +46 -23
  196. package/dist/chunk-MUNUUFU7.cjs +21 -0
  197. package/dist/{chunk-X3WS5LDG.js → chunk-MX75JYIY.js} +7 -5
  198. package/dist/chunk-MXVIDIC6.cjs +139 -0
  199. package/dist/{chunk-3K2ESU53.cjs → chunk-N6O3XUZ2.cjs} +2 -2
  200. package/dist/{chunk-IVM5F2AE.js → chunk-NBGOIFKP.js} +265 -18
  201. package/dist/{chunk-SLQAYV3W.js → chunk-NMQ47RCG.js} +8 -2
  202. package/dist/{chunk-JYTDYJVW.js → chunk-O64I2GYI.js} +1 -1
  203. package/dist/{chunk-IFFXSTOM.cjs → chunk-O6TQP7U7.cjs} +3 -3
  204. package/dist/{chunk-AYS2ASM7.js → chunk-OHWMWKJQ.js} +1 -1
  205. package/dist/{chunk-N23UAW4I.js → chunk-OM24WXEE.js} +7 -2
  206. package/dist/{chunk-MAKMSQMQ.cjs → chunk-OPNI6O7F.cjs} +8 -6
  207. package/dist/chunk-OR67YXQK.cjs +13 -0
  208. package/dist/{chunk-QOXPOR5D.js → chunk-OV3PVUYN.js} +115 -44
  209. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  210. package/dist/chunk-PCM3N3CL.cjs +37 -0
  211. package/dist/{chunk-A4IJHHV7.cjs → chunk-PDHT7LQS.cjs} +52 -11
  212. package/dist/{chunk-LA7H35XM.cjs → chunk-PHJO5YAL.cjs} +9 -9
  213. package/dist/{chunk-KPELYZ6L.js → chunk-PQLKJCIE.js} +2 -2
  214. package/dist/chunk-PUD76XQT.cjs +78 -0
  215. package/dist/chunk-Q2IL4DDI.cjs +355 -0
  216. package/dist/{chunk-WPVWQSL7.cjs → chunk-Q6AC3PHY.cjs} +16 -13
  217. package/dist/{chunk-XRZEUWKF.js → chunk-QCHIDZBA.js} +1 -1
  218. package/dist/{chunk-IQ5RXU6O.js → chunk-QEGOB6QV.js} +1 -1
  219. package/dist/{chunk-JSBRDJBE.js → chunk-QGM4M3NI.js} +8 -1
  220. package/dist/chunk-QKP772OZ.js +4291 -0
  221. package/dist/chunk-QQ7PANOP.js +59 -0
  222. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  223. package/dist/chunk-RAKO7UN7.js +114 -0
  224. package/dist/chunk-RBHANOYY.js +33 -0
  225. package/dist/chunk-RBZ7AFX7.cjs +29 -0
  226. package/dist/{chunk-TXSDBGKX.cjs → chunk-REMGR23V.cjs} +46 -49
  227. package/dist/chunk-ROLA6EFO.cjs +85 -0
  228. package/dist/{chunk-TBEGGJNC.cjs → chunk-SOLBYSLY.cjs} +33 -16
  229. package/dist/{chunk-FKSDEWDH.js → chunk-SWCQM52V.js} +68 -25
  230. package/dist/{chunk-H5SWOLG6.js → chunk-TBOLJDUG.js} +39 -24
  231. package/dist/chunk-TH26BQJG.js +101 -0
  232. package/dist/{chunk-245KJE5Y.cjs → chunk-TJNBASFD.cjs} +14 -6
  233. package/dist/chunk-TKKN34TV.js +229 -0
  234. package/dist/chunk-TQ33WBY5.cjs +74 -0
  235. package/dist/{chunk-EGFT4PGW.js → chunk-TWQDAUZU.js} +5 -2
  236. package/dist/{chunk-OGV4WJ5L.cjs → chunk-TXPSTCG7.cjs} +74 -59
  237. package/dist/{chunk-CAMZTXV6.js → chunk-U4C3HW6P.js} +67 -52
  238. package/dist/{chunk-5P2NXKP3.js → chunk-UEIXJG45.js} +104 -76
  239. package/dist/{chunk-22D2CNTP.cjs → chunk-UGFVM77J.cjs} +5 -2
  240. package/dist/chunk-UOQECODR.js +34 -0
  241. package/dist/chunk-UR27UDTB.js +354 -0
  242. package/dist/chunk-UWFG2R2I.cjs +420 -0
  243. package/dist/{chunk-Y72HH2TF.cjs → chunk-UXLW45ZE.cjs} +102 -28
  244. package/dist/{chunk-FPHU2ES6.cjs → chunk-VBOFPU5M.cjs} +6 -0
  245. package/dist/{chunk-JX3DFKBI.js → chunk-VDWJMWDF.js} +54 -24
  246. package/dist/{chunk-LENHP55G.cjs → chunk-VGEV44V2.cjs} +1076 -158
  247. package/dist/{chunk-33RSHBDH.js → chunk-VKBIE6I6.js} +38 -7
  248. package/dist/{chunk-CWMZKFTT.js → chunk-VRMZO6TB.js} +31 -8
  249. package/dist/chunk-VUGOOGHB.js +400 -0
  250. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  251. package/dist/chunk-WGLBC5AY.cjs +59 -0
  252. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  253. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  254. package/dist/chunk-WRTXCQ3V.cjs +4291 -0
  255. package/dist/chunk-WTB7AFL6.cjs +101 -0
  256. package/dist/{chunk-NDMIPTV4.js → chunk-WZV6UVPY.js} +8 -3
  257. package/dist/chunk-XF2WIKHR.cjs +34 -0
  258. package/dist/{chunk-L3WAH3EM.cjs → chunk-XGMI6IYB.cjs} +46 -15
  259. package/dist/{chunk-FW774QXH.js → chunk-XIVFAD2L.js} +1048 -130
  260. package/dist/chunk-XV2HXRHX.js +85 -0
  261. package/dist/{chunk-72FKPBT5.js → chunk-Y3M2DABP.js} +16 -12
  262. package/dist/{chunk-QNGEW5TC.js → chunk-YV63VW4K.js} +1 -1
  263. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  264. package/dist/{chunk-RD5XAJR2.cjs → chunk-YWTIXHU6.cjs} +266 -19
  265. package/dist/chunk-YZWE7XSM.js +5 -0
  266. package/dist/{chunk-I5IW3T2Y.js → chunk-Z3XSSF7B.js} +32 -15
  267. package/dist/{chunk-6UJMCWRY.js → chunk-Z4LIPMPM.js} +6 -0
  268. package/dist/chunk-ZASDSY7P.cjs +114 -0
  269. package/dist/{chunk-R33VKSH5.cjs → chunk-ZHJ7JGME.cjs} +11 -11
  270. package/dist/chunk-ZPD2AO3U.js +866 -0
  271. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  272. package/dist/chunk-ZR46OJNZ.js +152 -0
  273. package/dist/{chunk-G3V4SFET.cjs → chunk-ZZ63NW7A.cjs} +78 -35
  274. package/dist/clear-33TWQ2ES.cjs +12 -0
  275. package/dist/clear-OFLFQ3MR.js +12 -0
  276. package/dist/{communityInstaller-6KCFN7YZ.js → communityInstaller-COB2KTOW.js} +9 -6
  277. package/dist/communityInstaller-TWMGPSYM.cjs +22 -0
  278. package/dist/completion-IIZMHXYP.cjs +17 -0
  279. package/dist/completion-PT4VM2H2.js +17 -0
  280. package/dist/config-KL6WU7R2.cjs +20 -0
  281. package/dist/{config-ZN66VXPS.js → config-R4O7GBTY.js} +7 -5
  282. package/dist/{constants-UFM5B232.js → constants-HVCHVQAF.js} +2 -2
  283. package/dist/constants-RLMJ5D5P.cjs +21 -0
  284. package/dist/{defaultHooks-RCXPHF4M.cjs → defaultHooks-2V2CQL63.cjs} +26 -11
  285. package/dist/{defaultHooks-RDRMER3Z.js → defaultHooks-TMHDU3FS.js} +26 -11
  286. package/dist/export-3PK3VFCE.js +15 -0
  287. package/dist/export-WLGNWEMJ.cjs +15 -0
  288. package/dist/{extractSessionMemories-V7K42ZHW.js → extractSessionMemories-A2JX5WJ2.js} +1 -1
  289. package/dist/{extractSessionMemories-SDW2MVBQ.cjs → extractSessionMemories-XL3MS37F.cjs} +1 -1
  290. package/dist/feedback-G635NCLJ.js +18 -0
  291. package/dist/feedback-LLMK3TZH.cjs +18 -0
  292. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  293. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  294. package/dist/filesystem-L6DQKGWK.js +11 -0
  295. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  296. package/dist/{formatters-6K7QVWQL.cjs → formatters-53XTCNGQ.cjs} +1 -1
  297. package/dist/{formatters-DQHO5I36.js → formatters-T6KV4BPP.js} +1 -1
  298. package/dist/help-BAXLP2M2.cjs +12 -0
  299. package/dist/{help-2BLR7L43.js → help-X3OAZ3CY.js} +3 -3
  300. package/dist/history-6HOJSEMT.cjs +14 -0
  301. package/dist/{history-5FZ3M2AK.js → history-YKFPHBJN.js} +3 -3
  302. package/dist/hooks-7TA4PIIB.js +18 -0
  303. package/dist/hooks-XVFU67T2.cjs +18 -0
  304. package/dist/{i18n-K7QOWIBH.js → i18n-2KBUU7XL.js} +2 -2
  305. package/dist/i18n-MUJMKTFM.cjs +33 -0
  306. package/dist/ide-CCQ33PGC.cjs +15 -0
  307. package/dist/ide-VLVFBZ5F.js +15 -0
  308. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  309. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  310. package/dist/{import-UXM3VK7B.js → import-4CHYLS4K.js} +4 -4
  311. package/dist/{import-QEME3E4T.cjs → import-I7T4ZHYL.cjs} +4 -4
  312. package/dist/import-J46F54JY.cjs +10 -0
  313. package/dist/import-JWPYKXCZ.js +10 -0
  314. package/dist/index.cjs +747 -22356
  315. package/dist/index.d.cts +93 -0
  316. package/dist/index.d.ts +93 -0
  317. package/dist/index.js +786 -22395
  318. package/dist/init-262MWZV4.js +10 -0
  319. package/dist/init-EE5Y7RBL.cjs +10 -0
  320. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  321. package/dist/inkMode-WBNFOSAT.js +7 -0
  322. package/dist/inputPrompt-IIFKCX5Q.cjs +90 -0
  323. package/dist/inputPrompt-YGBHDUEP.js +90 -0
  324. package/dist/language-CVLPB7OV.js +21 -0
  325. package/dist/language-ZTWFHUSV.cjs +21 -0
  326. package/dist/learn-PON7I5QS.js +23 -0
  327. package/dist/learn-XLRSVNA3.cjs +23 -0
  328. package/dist/{lint-D5UOJWIK.cjs → lint-4NDGCSCL.cjs} +1 -1
  329. package/dist/{lint-NJPZWVN2.js → lint-FZ7ZJUB3.js} +1 -1
  330. package/dist/login-223QTGBG.cjs +26 -0
  331. package/dist/login-6IKTBUBY.js +26 -0
  332. package/dist/logout-RN2AG6SI.js +23 -0
  333. package/dist/logout-U3M4FFX7.cjs +23 -0
  334. package/dist/mcp-5O6PUL4G.js +20 -0
  335. package/dist/mcp-NUQ76QQB.cjs +20 -0
  336. package/dist/{mcp-install-VESN42PI.js → mcp-install-6XWXLFVY.js} +18 -11
  337. package/dist/{mcp-install-G27HSS3Z.cjs → mcp-install-P6DHES7V.cjs} +22 -15
  338. package/dist/memory-CYMDQ2YC.cjs +10 -0
  339. package/dist/memory-Q54CESNM.js +10 -0
  340. package/dist/{message-ZJ5AYAMT.cjs → message-4OKO775J.cjs} +1 -1
  341. package/dist/{message-JUBOK2VU.js → message-X3LOAAM7.js} +1 -1
  342. package/dist/model-6AJ77PJG.js +10 -0
  343. package/dist/model-IDRCKDML.cjs +10 -0
  344. package/dist/new-7LEWOUF2.cjs +12 -0
  345. package/dist/new-ZXHEWC2S.js +12 -0
  346. package/dist/onboarding-FXX7YHSJ.cjs +35 -0
  347. package/dist/onboarding-JYNMK6NI.js +35 -0
  348. package/dist/{patch-MOD7QC3D.cjs → patch-DJ2GPFST.cjs} +1 -1
  349. package/dist/{patch-5F6VBIT3.js → patch-NIJWIRHS.js} +1 -1
  350. package/dist/permissions-YBNSANIA.cjs +10 -0
  351. package/dist/permissions-YHJMVA6L.js +10 -0
  352. package/dist/plan-XEJMOT55.cjs +13 -0
  353. package/dist/plan-YYUAXPTL.js +13 -0
  354. package/dist/pr-review-CW6J7P62.cjs +9 -0
  355. package/dist/pr-review-YZSBQVT2.js +9 -0
  356. package/dist/quit-B43SJ6E4.cjs +10 -0
  357. package/dist/quit-GWTNHQSP.js +10 -0
  358. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  359. package/dist/rawMode-GFNLXQPU.js +7 -0
  360. package/dist/{registry-KWZGYJC2.js → registry-34GL6BNJ.js} +30 -45
  361. package/dist/{registry-YN4FQPOO.cjs → registry-V24W7YK6.cjs} +66 -81
  362. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  363. package/dist/repeat-RALE6AUO.js +17 -0
  364. package/dist/resume-DYVOQN5L.cjs +16 -0
  365. package/dist/resume-M25UQKOX.js +16 -0
  366. package/dist/review-QHP2KP4Q.js +9 -0
  367. package/dist/review-UWHWQHCB.cjs +9 -0
  368. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  369. package/dist/ripgrep-VHJQQ55W.js +9 -0
  370. package/dist/rpc-NPS3PU4O.cjs +3730 -0
  371. package/dist/rpc-S3DGW6KV.js +3730 -0
  372. package/dist/search-CPX4PWHP.js +20 -0
  373. package/dist/search-VUF3M4N3.cjs +20 -0
  374. package/dist/{session-BSU2L5UI.cjs → session-LXKC4X5Q.cjs} +1 -1
  375. package/dist/{session-SZMRN5KG.js → session-NMMO4QOL.js} +1 -1
  376. package/dist/sessions-IYAXMK23.js +10 -0
  377. package/dist/sessions-JODKER5D.cjs +10 -0
  378. package/dist/settings-55BNW6BF.js +33 -0
  379. package/dist/settings-BKTS7OMC.cjs +33 -0
  380. package/dist/setup-IRC5HQG2.js +29 -0
  381. package/dist/setup-MMQ7TWOP.cjs +29 -0
  382. package/dist/share-6JRQECAH.cjs +17 -0
  383. package/dist/share-YM5MJKMO.js +17 -0
  384. package/dist/{skills-FYY6F2WV.cjs → skills-GGMZOVIE.cjs} +14 -11
  385. package/dist/skills-LWSOKOSH.cjs +29 -0
  386. package/dist/{skills-6OL4OSGA.js → skills-MVIZNHT4.js} +13 -10
  387. package/dist/skills-VWOMV3CR.js +29 -0
  388. package/dist/{skills-install-6CSWC24P.js → skills-install-QBA5RCV6.js} +22 -71
  389. package/dist/{skills-install-O3LZ2ETC.cjs → skills-install-VTAMCNNY.cjs} +35 -84
  390. package/dist/skills-new-GPL46YV2.js +18 -0
  391. package/dist/skills-new-L5BEZN5V.cjs +18 -0
  392. package/dist/slashCommands-FBPCIWM5.cjs +95 -0
  393. package/dist/slashCommands-FCWY5DXW.js +95 -0
  394. package/dist/status-3B5SDZPL.js +17 -0
  395. package/dist/status-TTGRF6NC.cjs +17 -0
  396. package/dist/summarizer-DGPHE5IQ.js +17 -0
  397. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  398. package/dist/sync-77CXVVTK.cjs +21 -0
  399. package/dist/{sync-KWX67OUN.js → sync-7BILIQHP.js} +4 -4
  400. package/dist/sync-7OKF6636.js +21 -0
  401. package/dist/sync-EH4K5U3N.cjs +40 -0
  402. package/dist/{tasks-5FPBIFLC.js → tasks-R5MBGAQ6.js} +1 -1
  403. package/dist/{tasks-TXGKGNH6.cjs → tasks-V4WB3MFR.cjs} +1 -1
  404. package/dist/{team-5YXP3JGR.js → team-JESCHGWB.js} +1 -1
  405. package/dist/{team-IIWEZKNR.cjs → team-VQQKWGZB.cjs} +1 -1
  406. package/dist/{teammate-L6EZQ3I2.js → teammate-GZQSCIMS.js} +29 -8
  407. package/dist/{teammate-2KMKJXAM.cjs → teammate-J6PHGL23.cjs} +30 -9
  408. package/dist/theme-64BYGJ57.cjs +21 -0
  409. package/dist/theme-YJE6HEON.js +21 -0
  410. package/dist/tools-3PPTTKFV.js +9 -0
  411. package/dist/tools-THIQA7WC.cjs +9 -0
  412. package/dist/ui/questionModal.cjs +9 -6
  413. package/dist/ui/questionModal.js +8 -5
  414. package/dist/undo-PRTEGL2J.cjs +10 -0
  415. package/dist/undo-SZEHLX7X.js +10 -0
  416. package/dist/{update-TVAJMMBC.js → update-53WMKYVS.js} +1 -1
  417. package/dist/{update-Z6BIIQDC.cjs → update-NV6QRYY7.cjs} +1 -1
  418. package/dist/web-3BA2WV37.cjs +37 -0
  419. package/dist/web-6FYGBX5K.js +37 -0
  420. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  421. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  422. package/dist/yolo-GF2YD7ZI.js +9 -0
  423. package/dist/yolo-OGDA7HNC.cjs +9 -0
  424. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  425. package/dist/yoloMode-4JOOSU26.js +17 -0
  426. package/package.json +46 -49
  427. package/dist/AgentRegistry-NQCLWABO.cjs +0 -10
  428. package/dist/CommunitySkillsCache-6QPRMTJO.js +0 -8
  429. package/dist/CommunitySkillsCache-GTQMOCCO.cjs +0 -8
  430. package/dist/GitHubRegistryFetcher-S7QFUEKV.cjs +0 -7
  431. package/dist/HookManager-Q2KYMCP4.cjs +0 -7
  432. package/dist/HookManager-TTP4Y6DC.js +0 -7
  433. package/dist/LearnAdvisor-A4Q5PPBI.js +0 -9
  434. package/dist/LearnAdvisor-GASQD7HT.cjs +0 -9
  435. package/dist/McpClientManager-RKD7C6OY.cjs +0 -8
  436. package/dist/MemoryManager-GUNLRP5S.js +0 -8
  437. package/dist/MemoryManager-TNSGKDKX.cjs +0 -8
  438. package/dist/PermissionManager-KMN53FJP.cjs +0 -11
  439. package/dist/ProviderFactory-MR5B23QJ.js +0 -9
  440. package/dist/ProviderFactory-VFGCJJX6.cjs +0 -9
  441. package/dist/SessionManager-FEUAU3ZJ.cjs +0 -10
  442. package/dist/SessionManager-IKWAK2PI.js +0 -10
  443. package/dist/SkillsRegistry-KPQFTRIT.cjs +0 -9
  444. package/dist/SkillsRegistry-XJSKPDF2.js +0 -9
  445. package/dist/SubAgent-NYH6GWQ3.js +0 -11
  446. package/dist/SubAgent-PZKBDUBA.cjs +0 -11
  447. package/dist/SyncApiClient-ZNYMT36M.cjs +0 -11
  448. package/dist/about-HHTF2YFL.js +0 -12
  449. package/dist/about-JGRVNNQC.cjs +0 -12
  450. package/dist/actionExecutor-U6IBN2TU.cjs +0 -19
  451. package/dist/actionExecutor-XT5FW3W6.js +0 -19
  452. package/dist/add-dir-247K3XRY.js +0 -10
  453. package/dist/add-dir-GS4DXKKH.cjs +0 -10
  454. package/dist/agents-R6ZEFTVR.cjs +0 -12
  455. package/dist/agents-WJPQWQF2.js +0 -12
  456. package/dist/agents-new-HKVEIBDJ.js +0 -14
  457. package/dist/agents-new-X6GTHIO6.cjs +0 -14
  458. package/dist/autoSkill-H4T6VVDA.cjs +0 -20
  459. package/dist/automode-BC6NVECO.js +0 -10
  460. package/dist/automode-WN2RSOGW.cjs +0 -10
  461. package/dist/chunk-33A755XB.cjs +0 -168
  462. package/dist/chunk-3OTU3RS3.cjs +0 -1607
  463. package/dist/chunk-4PKF7WPD.js +0 -100
  464. package/dist/chunk-ALYU6VTM.js +0 -105
  465. package/dist/chunk-AS6RTLN7.cjs +0 -203
  466. package/dist/chunk-BWN2CLLM.cjs +0 -298
  467. package/dist/chunk-HQ7YZKXE.js +0 -168
  468. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  469. package/dist/chunk-J6QET7EF.cjs +0 -454
  470. package/dist/chunk-LWUJFGOZ.js +0 -115
  471. package/dist/chunk-P47WPOXN.js +0 -298
  472. package/dist/chunk-PRRCJFU3.cjs +0 -85
  473. package/dist/chunk-RO6WYEWH.js +0 -454
  474. package/dist/chunk-SYVYLZZF.cjs +0 -24
  475. package/dist/chunk-T73IDKDF.js +0 -111
  476. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  477. package/dist/chunk-ZQE72E6W.cjs +0 -100
  478. package/dist/chunk-ZVY2XD6T.js +0 -1607
  479. package/dist/clear-UO4MNWZW.cjs +0 -12
  480. package/dist/clear-ZJ5NYP6E.js +0 -12
  481. package/dist/communityInstaller-PVSOFDZD.cjs +0 -19
  482. package/dist/completion-MMF2PN2H.js +0 -14
  483. package/dist/completion-UI5WKHXI.cjs +0 -14
  484. package/dist/config-E7RINK4R.cjs +0 -18
  485. package/dist/constants-6CPCJ3DY.cjs +0 -21
  486. package/dist/export-N4XIVDSL.cjs +0 -12
  487. package/dist/export-W22L4D5C.js +0 -12
  488. package/dist/feedback-DR6ADSNE.cjs +0 -15
  489. package/dist/feedback-FEEAP4QW.js +0 -15
  490. package/dist/filesystem-3SGCW2BF.js +0 -10
  491. package/dist/filesystem-MCFXJQ6R.cjs +0 -10
  492. package/dist/help-AQHGTS7P.cjs +0 -12
  493. package/dist/history-NIUDRMKA.cjs +0 -14
  494. package/dist/hooks-2EY4IPKV.js +0 -13
  495. package/dist/hooks-LJVORRIG.cjs +0 -13
  496. package/dist/i18n-ARDG2SMC.cjs +0 -33
  497. package/dist/ide-GFW6IJHD.js +0 -12
  498. package/dist/ide-N2ZNSSB3.cjs +0 -12
  499. package/dist/import-DFVN3KNZ.js +0 -10
  500. package/dist/import-ZS6DPGU5.cjs +0 -10
  501. package/dist/init-PY75HA3S.cjs +0 -10
  502. package/dist/init-QNMWLAVY.js +0 -10
  503. package/dist/language-5UE4G2BT.cjs +0 -18
  504. package/dist/language-UXMHEZUJ.js +0 -18
  505. package/dist/learn-HJ3FLNZC.cjs +0 -20
  506. package/dist/learn-MVYS3RU5.js +0 -20
  507. package/dist/localProjectPermissions-N77HA3XK.js +0 -18
  508. package/dist/localProjectPermissions-UFSMNTBJ.cjs +0 -18
  509. package/dist/login-DSE7H63A.js +0 -20
  510. package/dist/login-V3MEWPKN.cjs +0 -20
  511. package/dist/logout-BMVCLKKW.js +0 -18
  512. package/dist/logout-XEG7FHOZ.cjs +0 -18
  513. package/dist/mcp-PYUR4PHO.js +0 -18
  514. package/dist/mcp-SG6JFLGC.cjs +0 -18
  515. package/dist/memory-4ZMMEZ2Z.js +0 -10
  516. package/dist/memory-QSGMVVGH.cjs +0 -10
  517. package/dist/model-NANLBZ4Z.cjs +0 -10
  518. package/dist/model-ZXNV4AF7.js +0 -10
  519. package/dist/new-5QJY5JP2.js +0 -12
  520. package/dist/new-PMMG55UX.cjs +0 -12
  521. package/dist/permissions-LECTCJ4H.cjs +0 -13
  522. package/dist/permissions-VP5VGIBL.js +0 -13
  523. package/dist/plan-G5CEKJI4.js +0 -11
  524. package/dist/plan-QKOHE3LH.cjs +0 -11
  525. package/dist/quit-BKOOPHU5.cjs +0 -10
  526. package/dist/quit-FVFNYACP.js +0 -10
  527. package/dist/resume-EXFQSQPH.js +0 -13
  528. package/dist/resume-PP2IQM5S.cjs +0 -13
  529. package/dist/search-C56FBN67.cjs +0 -17
  530. package/dist/search-XGZDYBF4.js +0 -17
  531. package/dist/sessions-54KI3F2Q.js +0 -10
  532. package/dist/sessions-DDTSPNVW.cjs +0 -10
  533. package/dist/settings-BDO37TTO.cjs +0 -30
  534. package/dist/settings-FHRDFPLK.js +0 -30
  535. package/dist/share-IERCTBGN.cjs +0 -14
  536. package/dist/share-TGROUE6R.js +0 -14
  537. package/dist/skills-OM4IGBAA.cjs +0 -26
  538. package/dist/skills-S3GRN323.js +0 -26
  539. package/dist/skills-new-ALD2PTHN.js +0 -15
  540. package/dist/skills-new-PWLKK7GW.cjs +0 -15
  541. package/dist/slashCommands-L4ZD33LJ.js +0 -75
  542. package/dist/slashCommands-YY2VUUDF.cjs +0 -75
  543. package/dist/status-3PC5XWSS.cjs +0 -11
  544. package/dist/status-KCLVOYPD.js +0 -11
  545. package/dist/sync-6SDWG5RK.js +0 -18
  546. package/dist/sync-7JMZVEQD.cjs +0 -40
  547. package/dist/sync-WHURZL3U.cjs +0 -18
  548. package/dist/theme-BE5A4FPN.cjs +0 -18
  549. package/dist/theme-YMFCQP7J.js +0 -18
  550. package/dist/undo-KZHUUZTD.cjs +0 -10
  551. package/dist/undo-NEIEHQVX.js +0 -10
@@ -0,0 +1,420 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+ var _chunk3OF56EMAcjs = require('./chunk-3OF56EMA.cjs');
5
+
6
+ // src/providers/NVIDIAClient.ts
7
+ function sanitizeMessages(messages) {
8
+ return messages.map((msg) => {
9
+ const sanitized = {
10
+ role: msg.role,
11
+ content: msg.content
12
+ };
13
+ if (msg.role === "tool" && msg.tool_call_id) {
14
+ sanitized.tool_call_id = msg.tool_call_id;
15
+ }
16
+ if (msg.role === "assistant" && _optionalChain([msg, 'access', _ => _.tool_calls, 'optionalAccess', _2 => _2.length])) {
17
+ sanitized.tool_calls = msg.tool_calls;
18
+ }
19
+ if (msg.name) {
20
+ sanitized.name = msg.name;
21
+ }
22
+ return sanitized;
23
+ });
24
+ }
25
+ var NVIDIA_DEFAULT_BASE_URL = "https://integrate.api.nvidia.com/v1";
26
+ var DEFAULT_MAX_RETRIES = 3;
27
+ var MAX_ALLOWED_RETRIES = 5;
28
+ var DEFAULT_RETRY_DELAY = 1e3;
29
+ var DEFAULT_TIMEOUT = 3e4;
30
+ var FRIENDLY_ERRORS = {
31
+ 400: "The request was malformed. This often happens when the context is too long. Try /undo to remove recent turns or /new to start fresh.",
32
+ 401: "Authentication failed. Please verify your NVIDIA API key in ~/.autohand/config.json.",
33
+ 402: "Payment required. Please check your NVIDIA account balance or billing settings.",
34
+ 403: "Access denied. Your API key may not have permission for this model.",
35
+ 404: "The requested model was not found. Use /model to select a different one.",
36
+ 429: "Rate limit exceeded. Please wait a moment and try again, or choose a different model.",
37
+ 500: "The NVIDIA service encountered an internal error. Please try again later.",
38
+ 502: "The NVIDIA service is temporarily unavailable. Please try again in a few moments.",
39
+ 503: "The NVIDIA service is currently overloaded. Please try again later.",
40
+ 504: "The request timed out. The service may be experiencing high load."
41
+ };
42
+ var NVIDIAClient = class {
43
+
44
+
45
+
46
+
47
+
48
+
49
+ constructor(settings, networkSettings) {
50
+ this.apiKey = _nullishCoalesce(settings.apiKey, () => ( ""));
51
+ this.baseUrl = _nullishCoalesce(settings.baseUrl, () => ( NVIDIA_DEFAULT_BASE_URL));
52
+ this.defaultModel = settings.model;
53
+ const configuredRetries = _nullishCoalesce(_optionalChain([networkSettings, 'optionalAccess', _3 => _3.maxRetries]), () => ( DEFAULT_MAX_RETRIES));
54
+ this.maxRetries = Math.min(Math.max(0, configuredRetries), MAX_ALLOWED_RETRIES);
55
+ this.retryDelay = _nullishCoalesce(_optionalChain([networkSettings, 'optionalAccess', _4 => _4.retryDelay]), () => ( DEFAULT_RETRY_DELAY));
56
+ this.timeout = _nullishCoalesce(_optionalChain([networkSettings, 'optionalAccess', _5 => _5.timeout]), () => ( DEFAULT_TIMEOUT));
57
+ }
58
+ setDefaultModel(model) {
59
+ this.defaultModel = model;
60
+ }
61
+ async complete(request) {
62
+ const payload = this.buildPayload(request);
63
+ if (request.tools && request.tools.length > 0) {
64
+ payload.tools = request.tools.map((tool) => ({
65
+ type: "function",
66
+ function: {
67
+ name: tool.name,
68
+ description: tool.description,
69
+ parameters: _nullishCoalesce(tool.parameters, () => ( { type: "object", properties: {} }))
70
+ }
71
+ }));
72
+ if (request.toolChoice) {
73
+ payload.tool_choice = request.toolChoice;
74
+ }
75
+ }
76
+ if (request.chatTemplateKwargs) {
77
+ payload.extra_body = {
78
+ chat_template_kwargs: this.buildChatTemplateKwargs(request.chatTemplateKwargs)
79
+ };
80
+ }
81
+ const headers = {
82
+ "Content-Type": "application/json",
83
+ "x-source": "Autohand Code CLI"
84
+ };
85
+ if (this.apiKey) {
86
+ headers.Authorization = `Bearer ${this.apiKey}`;
87
+ }
88
+ const payloadJson = JSON.stringify(payload);
89
+ const payloadSizeBytes = payloadJson.length;
90
+ const maxPayloadSize = 5 * 1024 * 1024;
91
+ if (payloadSizeBytes > maxPayloadSize) {
92
+ const sizeMB = (payloadSizeBytes / (1024 * 1024)).toFixed(2);
93
+ throw new Error(
94
+ `Request payload too large (${sizeMB}MB). This usually happens when the conversation history grows too long. Try using /undo to remove recent turns or /new to start fresh.`
95
+ );
96
+ }
97
+ let lastError = null;
98
+ for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
99
+ try {
100
+ const response = await this.makeRequest(
101
+ payload,
102
+ headers,
103
+ request.signal,
104
+ payloadJson,
105
+ _nullishCoalesce(request.stream, () => ( false))
106
+ );
107
+ return response;
108
+ } catch (error) {
109
+ lastError = error;
110
+ if (this.isNonRetryableError(error)) {
111
+ throw error;
112
+ }
113
+ if (attempt < this.maxRetries) {
114
+ const delay = this.retryDelay * Math.pow(2, attempt);
115
+ await this.sleep(delay);
116
+ }
117
+ }
118
+ }
119
+ throw _nullishCoalesce(lastError, () => ( new Error("Failed to communicate with NVIDIA API. Please try again.")));
120
+ }
121
+ buildPayload(request) {
122
+ const payload = {
123
+ model: _nullishCoalesce(request.model, () => ( this.defaultModel)),
124
+ messages: sanitizeMessages(request.messages),
125
+ temperature: _nullishCoalesce(request.temperature, () => ( 0.2)),
126
+ max_tokens: _nullishCoalesce(request.maxTokens, () => ( 16e3)),
127
+ stream: _nullishCoalesce(request.stream, () => ( false))
128
+ };
129
+ return payload;
130
+ }
131
+ buildChatTemplateKwargs(kwargs) {
132
+ const result = {};
133
+ if (kwargs.thinking !== void 0) result.thinking = kwargs.thinking;
134
+ if (kwargs.enable_thinking !== void 0) result.enable_thinking = kwargs.enable_thinking;
135
+ if (kwargs.reasoning_effort !== void 0) result.reasoning_effort = kwargs.reasoning_effort;
136
+ if (kwargs.clear_thinking !== void 0) result.clear_thinking = kwargs.clear_thinking;
137
+ return result;
138
+ }
139
+ async makeRequest(payload, headers, signal, preSerializedBody, isStreaming = false) {
140
+ let response;
141
+ try {
142
+ const timeoutController = new AbortController();
143
+ const timeoutId = setTimeout(() => timeoutController.abort(), this.timeout);
144
+ const combinedSignal = signal ? this.combineSignals(signal, timeoutController.signal) : timeoutController.signal;
145
+ try {
146
+ response = await fetch(`${this.baseUrl}/chat/completions`, {
147
+ method: "POST",
148
+ headers,
149
+ body: _nullishCoalesce(preSerializedBody, () => ( JSON.stringify(payload))),
150
+ signal: combinedSignal
151
+ });
152
+ } finally {
153
+ clearTimeout(timeoutId);
154
+ }
155
+ } catch (error) {
156
+ const err = error;
157
+ if (err.name === "AbortError" && _optionalChain([signal, 'optionalAccess', _6 => _6.aborted])) {
158
+ throw new Error("Request cancelled.");
159
+ }
160
+ if (err.name === "AbortError") {
161
+ throw new Error("Request timed out. The NVIDIA service may be experiencing high load.");
162
+ }
163
+ throw new Error("Unable to connect to NVIDIA API. Please check your internet connection.");
164
+ }
165
+ if (!response.ok) {
166
+ throw await this.buildFriendlyError(response);
167
+ }
168
+ if (isStreaming) {
169
+ return this.handleStreamingResponse(response);
170
+ }
171
+ const json = await response.json();
172
+ const message = _optionalChain([json, 'optionalAccess', _7 => _7.choices, 'optionalAccess', _8 => _8[0], 'optionalAccess', _9 => _9.message]);
173
+ const text = _nullishCoalesce(_optionalChain([message, 'optionalAccess', _10 => _10.content]), () => ( ""));
174
+ const finishReason = _optionalChain([json, 'optionalAccess', _11 => _11.choices, 'optionalAccess', _12 => _12[0], 'optionalAccess', _13 => _13.finish_reason]);
175
+ let toolCalls;
176
+ if (_optionalChain([message, 'optionalAccess', _14 => _14.tool_calls]) && Array.isArray(message.tool_calls)) {
177
+ toolCalls = message.tool_calls.map((tc) => ({
178
+ id: tc.id,
179
+ type: "function",
180
+ function: {
181
+ name: _nullishCoalesce(_optionalChain([tc, 'access', _15 => _15.function, 'optionalAccess', _16 => _16.name]), () => ( "")),
182
+ arguments: _nullishCoalesce(_optionalChain([tc, 'access', _17 => _17.function, 'optionalAccess', _18 => _18.arguments]), () => ( "{}"))
183
+ }
184
+ }));
185
+ }
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
+ }
194
+ return {
195
+ id: _nullishCoalesce(json.id, () => ( "nvidia-response")),
196
+ created: _nullishCoalesce(json.created, () => ( Date.now())),
197
+ content: text,
198
+ toolCalls,
199
+ finishReason,
200
+ usage,
201
+ raw: json
202
+ };
203
+ }
204
+ async handleStreamingResponse(response) {
205
+ const reader = _optionalChain([response, 'access', _20 => _20.body, 'optionalAccess', _21 => _21.getReader, 'call', _22 => _22()]);
206
+ if (!reader) {
207
+ throw new Error("No response body for streaming");
208
+ }
209
+ const decoder = new TextDecoder();
210
+ let fullContent = "";
211
+ let fullReasoning = "";
212
+ let lastChunk = null;
213
+ let finishReason = "stop";
214
+ try {
215
+ while (true) {
216
+ const { done, value } = await reader.read();
217
+ if (done) break;
218
+ const chunk = decoder.decode(value, { stream: true });
219
+ const lines = chunk.split("\n").filter((line) => line.trim());
220
+ for (const line of lines) {
221
+ if (line.startsWith("data: ")) {
222
+ const dataStr = line.slice(6).trim();
223
+ if (dataStr === "[DONE]") continue;
224
+ try {
225
+ const data = JSON.parse(dataStr);
226
+ lastChunk = data;
227
+ const delta = _optionalChain([data, 'access', _23 => _23.choices, 'optionalAccess', _24 => _24[0], 'optionalAccess', _25 => _25.delta]);
228
+ if (!delta) continue;
229
+ const reasoning = delta.reasoning || delta.reasoning_content;
230
+ if (reasoning) {
231
+ fullReasoning += reasoning;
232
+ }
233
+ if (delta.content) {
234
+ fullContent += delta.content;
235
+ }
236
+ if (_optionalChain([data, 'access', _26 => _26.choices, 'optionalAccess', _27 => _27[0], 'optionalAccess', _28 => _28.finish_reason])) {
237
+ finishReason = data.choices[0].finish_reason;
238
+ }
239
+ } catch (e) {
240
+ }
241
+ }
242
+ }
243
+ }
244
+ } finally {
245
+ reader.releaseLock();
246
+ }
247
+ const finalContent = fullReasoning ? `<thinking>${fullReasoning}</thinking>
248
+
249
+ ${fullContent}` : fullContent;
250
+ return {
251
+ id: _nullishCoalesce(_optionalChain([lastChunk, 'optionalAccess', _29 => _29.id]), () => ( `nvidia-stream-${Date.now()}`)),
252
+ created: _nullishCoalesce(_optionalChain([lastChunk, 'optionalAccess', _30 => _30.created]), () => ( Math.floor(Date.now() / 1e3))),
253
+ content: finalContent,
254
+ finishReason,
255
+ raw: { content: fullContent, reasoning: fullReasoning, chunks: lastChunk }
256
+ };
257
+ }
258
+ async buildFriendlyError(response) {
259
+ const status = response.status;
260
+ let errorDetail = "";
261
+ try {
262
+ const body = await response.json();
263
+ errorDetail = _optionalChain([body, 'optionalAccess', _31 => _31.error, 'optionalAccess', _32 => _32.message]) || _optionalChain([body, 'optionalAccess', _33 => _33.error]) || _optionalChain([body, 'optionalAccess', _34 => _34.message]) || "";
264
+ if (typeof errorDetail === "object") {
265
+ errorDetail = JSON.stringify(errorDetail);
266
+ }
267
+ } catch (e2) {
268
+ try {
269
+ errorDetail = await response.text();
270
+ } catch (e3) {
271
+ }
272
+ }
273
+ const friendlyMessage = FRIENDLY_ERRORS[status];
274
+ const classified = _chunk3OF56EMAcjs.classifyApiError.call(void 0, status, errorDetail, response.headers);
275
+ if (friendlyMessage) {
276
+ return new (0, _chunk3OF56EMAcjs.ApiError)(
277
+ errorDetail ? `${friendlyMessage}
278
+ ${errorDetail}` : friendlyMessage,
279
+ classified.code,
280
+ classified.httpStatus,
281
+ classified.retryable,
282
+ classified.retryAfterMs,
283
+ errorDetail
284
+ );
285
+ }
286
+ if (status >= 500) {
287
+ const base = "The NVIDIA service is temporarily unavailable. Please try again later.";
288
+ return new (0, _chunk3OF56EMAcjs.ApiError)(
289
+ errorDetail ? `${base}
290
+ (${status}: ${errorDetail})` : base,
291
+ classified.code,
292
+ classified.httpStatus,
293
+ classified.retryable,
294
+ classified.retryAfterMs,
295
+ errorDetail
296
+ );
297
+ }
298
+ if (status >= 400) {
299
+ const base = "The request could not be processed.";
300
+ const message2 = errorDetail ? `${base} (${status}: ${errorDetail})` : `${base} (HTTP ${status}) Please try again or adjust your prompt.`;
301
+ return new (0, _chunk3OF56EMAcjs.ApiError)(
302
+ message2,
303
+ classified.code,
304
+ classified.httpStatus,
305
+ classified.retryable,
306
+ classified.retryAfterMs,
307
+ errorDetail
308
+ );
309
+ }
310
+ const message = errorDetail ? `An unexpected error occurred: ${errorDetail}` : "An unexpected error occurred. Please try again.";
311
+ return new (0, _chunk3OF56EMAcjs.ApiError)(
312
+ message,
313
+ classified.code,
314
+ classified.httpStatus,
315
+ classified.retryable,
316
+ classified.retryAfterMs,
317
+ errorDetail
318
+ );
319
+ }
320
+ isNonRetryableError(error) {
321
+ if (error instanceof _chunk3OF56EMAcjs.ApiError) {
322
+ return !error.retryable;
323
+ }
324
+ const message = error.message.toLowerCase();
325
+ if (message.includes("cancelled") || message.includes("aborted")) {
326
+ return true;
327
+ }
328
+ if (message.includes("authentication") || message.includes("api key")) {
329
+ return true;
330
+ }
331
+ if (message.includes("payment") || message.includes("access denied")) {
332
+ return true;
333
+ }
334
+ if (message.includes("not found")) {
335
+ return true;
336
+ }
337
+ return false;
338
+ }
339
+ combineSignals(signal1, signal2) {
340
+ const controller = new AbortController();
341
+ const abort = () => controller.abort();
342
+ signal1.addEventListener("abort", abort);
343
+ signal2.addEventListener("abort", abort);
344
+ if (signal1.aborted || signal2.aborted) {
345
+ controller.abort();
346
+ }
347
+ return controller.signal;
348
+ }
349
+ sleep(ms) {
350
+ return new Promise((resolve) => setTimeout(resolve, ms));
351
+ }
352
+ };
353
+
354
+ // src/providers/NVIDIAProvider.ts
355
+ var NVIDIA_DEFAULT_BASE_URL2 = "https://integrate.api.nvidia.com/v1";
356
+ var NVIDIA_MODELS = [
357
+ "deepseek-ai/deepseek-v4-pro",
358
+ "z-ai/glm-5.1",
359
+ "z-ai/glm-4.7",
360
+ "qwen/qwen3.5-122b-a10b",
361
+ "nvidia/usdcode",
362
+ "moonshotai/kimi-k2.5",
363
+ "minimaxai/minimax-m2.7",
364
+ "microsoft/phi-4-mini-instruct",
365
+ "mistralai/mistral-small-4-119b-2603",
366
+ "mistralai/mixtral-8x7b-instruct-v0.1",
367
+ "mistralai/mixtral-8x22b-instruct-v0.1",
368
+ "mistralai/mamba-codestral-7b-v0.1",
369
+ "nvidia/mistral-nemo-minitron-8b-base",
370
+ "google/gemma-4-31b-it",
371
+ "bigcode/starcoder2-7b"
372
+ ];
373
+ var NVIDIA_DEFAULT_MODEL = "z-ai/glm-5.1";
374
+ var NVIDIAProvider = class {
375
+
376
+
377
+
378
+
379
+ constructor(config, networkSettings) {
380
+ this.client = new NVIDIAClient(config, networkSettings);
381
+ this.model = config.model;
382
+ this.chatTemplateKwargs = config.chatTemplateKwargs;
383
+ this.stream = _nullishCoalesce(config.stream, () => ( false));
384
+ }
385
+ getName() {
386
+ return "nvidia";
387
+ }
388
+ setModel(model) {
389
+ this.model = model;
390
+ this.client.setDefaultModel(model);
391
+ }
392
+ async listModels() {
393
+ return [...NVIDIA_MODELS];
394
+ }
395
+ async isAvailable() {
396
+ return true;
397
+ }
398
+ async complete(request) {
399
+ const enhancedRequest = {
400
+ ...request,
401
+ // Use request stream if set, otherwise fall back to provider default
402
+ stream: _nullishCoalesce(request.stream, () => ( this.stream)),
403
+ // Merge chatTemplateKwargs: request-level takes precedence
404
+ chatTemplateKwargs: _nullishCoalesce(request.chatTemplateKwargs, () => ( this.chatTemplateKwargs))
405
+ };
406
+ return this.client.complete(enhancedRequest);
407
+ }
408
+ };
409
+
410
+
411
+
412
+
413
+
414
+
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;
416
+ /**
417
+ * @license
418
+ * Copyright 2025 Autohand AI LLC
419
+ * SPDX-License-Identifier: Apache-2.0
420
+ */
@@ -1,20 +1,83 @@
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; }
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(); } } 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 _chunkZYQMLKOKcjs = require('./chunk-ZYQMLKOK.cjs');
3
+ var _chunkCH2J4PVEcjs = require('./chunk-CH2J4PVE.cjs');
4
4
 
5
5
 
6
- var _chunkSEKD5FH3cjs = require('./chunk-SEKD5FH3.cjs');
6
+ var _chunkE26KKI46cjs = require('./chunk-E26KKI46.cjs');
7
7
 
8
8
 
9
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
9
+ var _chunkCHI52KFRcjs = require('./chunk-CHI52KFR.cjs');
10
10
 
11
11
  // src/commands/resume.ts
12
12
  var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
13
13
  var _fsextra = require('fs-extra'); var _fsextra2 = _interopRequireDefault(_fsextra);
14
14
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
15
+
16
+ // src/session/chatLog.ts
17
+ function decodeJsonStringLiteral(value) {
18
+ try {
19
+ return JSON.parse(`"${value}"`);
20
+ } catch (e) {
21
+ return value;
22
+ }
23
+ }
24
+ function extractJsonStringField(raw, field) {
25
+ const match = raw.match(new RegExp(`"${field}"\\s*:\\s*"((?:\\\\.|[^"\\\\])*)"`, "s"));
26
+ return _optionalChain([match, 'optionalAccess', _ => _[1]]) ? decodeJsonStringLiteral(match[1]) : null;
27
+ }
28
+ function getAssistantChatLogContent(content) {
29
+ const trimmed = content.trim();
30
+ if (!trimmed) {
31
+ return null;
32
+ }
33
+ try {
34
+ const parsed = JSON.parse(trimmed);
35
+ for (const field of ["finalResponse", "response", "content", "message"]) {
36
+ const value = parsed[field];
37
+ if (typeof value === "string" && value.trim()) {
38
+ return value.trim();
39
+ }
40
+ }
41
+ return null;
42
+ } catch (e2) {
43
+ const finalResponse = _nullishCoalesce(extractJsonStringField(trimmed, "finalResponse"), () => ( extractJsonStringField(trimmed, "response")));
44
+ if (_optionalChain([finalResponse, 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()])) {
45
+ return finalResponse.trim();
46
+ }
47
+ if (trimmed.startsWith("{") || trimmed.includes('"thought"')) {
48
+ return null;
49
+ }
50
+ return trimmed;
51
+ }
52
+ }
53
+ function buildSessionChatLog(messages) {
54
+ const chatMessages = [];
55
+ for (const message of messages) {
56
+ if (message.role === "user") {
57
+ const content = message.content.trim();
58
+ if (content) {
59
+ chatMessages.push({ role: "user", content });
60
+ }
61
+ continue;
62
+ }
63
+ if (message.role === "assistant") {
64
+ const content = getAssistantChatLogContent(message.content);
65
+ if (content) {
66
+ chatMessages.push({ role: "assistant", content });
67
+ }
68
+ }
69
+ }
70
+ return chatMessages;
71
+ }
72
+ function formatChatLogPreview(content, maxLength = 100) {
73
+ const singleLine = content.replace(/\n/g, " ").replace(/\s+/g, " ").trim();
74
+ return singleLine.length > maxLength ? `${singleLine.slice(0, maxLength)}...` : singleLine;
75
+ }
76
+
77
+ // src/commands/resume.ts
15
78
  var metadata = {
16
79
  command: "/resume",
17
- description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.description"),
80
+ description: _chunkCHI52KFRcjs.t.call(void 0, "commands.resume.description"),
18
81
  implemented: true
19
82
  };
20
83
  async function getSessionTitle(sessionMeta) {
@@ -22,7 +85,7 @@ async function getSessionTitle(sessionMeta) {
22
85
  return sessionMeta.summary.slice(0, 60);
23
86
  }
24
87
  try {
25
- const conversationPath = _path2.default.join(_chunkSEKD5FH3cjs.AUTOHAND_PATHS.sessions, sessionMeta.sessionId, "conversation.jsonl");
88
+ const conversationPath = _path2.default.join(_chunkE26KKI46cjs.AUTOHAND_PATHS.sessions, sessionMeta.sessionId, "conversation.jsonl");
26
89
  if (await _fsextra2.default.pathExists(conversationPath)) {
27
90
  const content = await _fsextra2.default.readFile(conversationPath, "utf-8");
28
91
  const lines = content.trim().split("\n").filter((line) => line);
@@ -33,11 +96,11 @@ async function getSessionTitle(sessionMeta) {
33
96
  const cleanContent = msg.content.replace(/\n/g, " ").replace(/\s+/g, " ").trim();
34
97
  return cleanContent.slice(0, 60) + (cleanContent.length > 60 ? "..." : "");
35
98
  }
36
- } catch (e) {
99
+ } catch (e3) {
37
100
  }
38
101
  }
39
102
  }
40
- } catch (e2) {
103
+ } catch (e4) {
41
104
  }
42
105
  return _chalk2.default.gray("(no title)");
43
106
  }
@@ -66,7 +129,7 @@ function getTimeAgo(date) {
66
129
  async function resume(ctx) {
67
130
  const sessionId = ctx.args[0];
68
131
  if (sessionId) {
69
- return resumeSession(ctx.sessionManager, sessionId);
132
+ return resumeSession(ctx.sessionManager, sessionId, ctx.restoreSession);
70
133
  }
71
134
  try {
72
135
  const projectFilter = ctx.workspaceRoot ? { project: ctx.workspaceRoot } : void 0;
@@ -79,13 +142,13 @@ No sessions found for project "${projectName}".`));
79
142
  console.log(_chalk2.default.gray("Use /sessions to see all sessions across projects.\n"));
80
143
  } else {
81
144
  console.log(_chalk2.default.gray(`
82
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.sessions.noSessions")}`));
145
+ ${_chunkCHI52KFRcjs.t.call(void 0, "commands.sessions.noSessions")}`));
83
146
  console.log(_chalk2.default.gray("Start a new conversation to create a session.\n"));
84
147
  }
85
148
  return null;
86
149
  }
87
150
  console.log(_chalk2.default.cyan(`
88
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.sessions.selectPrompt")}
151
+ ${_chunkCHI52KFRcjs.t.call(void 0, "commands.sessions.selectPrompt")}
89
152
  `));
90
153
  const choices = [];
91
154
  const recentSessions = allSessions.slice(0, 20);
@@ -105,10 +168,17 @@ ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.sessions.selectPrompt")}
105
168
  value: choice.name,
106
169
  description: choice.hint
107
170
  }));
108
- const result = await _chunkZYQMLKOKcjs.showModal.call(void 0, {
109
- title: "Choose a session",
110
- options
111
- });
171
+ await _optionalChain([ctx, 'access', _4 => _4.onBeforeModal, 'optionalCall', _5 => _5()]);
172
+ const result = await (async () => {
173
+ try {
174
+ return await _chunkCH2J4PVEcjs.showModal.call(void 0, {
175
+ title: "Choose a session",
176
+ options
177
+ });
178
+ } finally {
179
+ await _optionalChain([ctx, 'access', _6 => _6.onAfterModal, 'optionalCall', _7 => _7()]);
180
+ }
181
+ })();
112
182
  if (!result) {
113
183
  console.log(_chalk2.default.gray("\nResume cancelled."));
114
184
  return null;
@@ -117,20 +187,20 @@ ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.sessions.selectPrompt")}
117
187
  console.log(_chalk2.default.gray("\nUse /sessions to see all sessions, then /resume <id>"));
118
188
  return null;
119
189
  }
120
- return resumeSession(ctx.sessionManager, result.value);
190
+ return resumeSession(ctx.sessionManager, result.value, ctx.restoreSession);
121
191
  } catch (error) {
122
- console.error(_chalk2.default.red(_chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
192
+ console.error(_chalk2.default.red(_chunkCHI52KFRcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
123
193
  return null;
124
194
  }
125
195
  }
126
- async function resumeSession(sessionManager, sessionId) {
196
+ async function resumeSession(sessionManager, sessionId, restoreSession) {
127
197
  try {
128
198
  const session = await sessionManager.loadSession(sessionId);
129
199
  const messages = session.getMessages();
130
200
  const firstUserMessage = messages.find((m) => m.role === "user");
131
- const title = session.metadata.summary || _optionalChain([firstUserMessage, 'optionalAccess', _ => _.content, 'access', _2 => _2.slice, 'call', _3 => _3(0, 50)]) || "Untitled session";
201
+ const title = session.metadata.summary || _optionalChain([firstUserMessage, 'optionalAccess', _8 => _8.content, 'access', _9 => _9.slice, 'call', _10 => _10(0, 50)]) || "Untitled session";
132
202
  console.log(_chalk2.default.cyan(`
133
- ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`));
203
+ ${_chunkCHI52KFRcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`));
134
204
  console.log(_chalk2.default.gray(` Project: ${session.metadata.projectPath}`));
135
205
  console.log(_chalk2.default.gray(` Started: ${new Date(session.metadata.createdAt).toLocaleString()}`));
136
206
  console.log(_chalk2.default.gray(` Messages: ${messages.length}`));
@@ -138,21 +208,19 @@ ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`)
138
208
  if (messages.length > 0) {
139
209
  console.log(_chalk2.default.cyan("Recent conversation:"));
140
210
  console.log(_chalk2.default.gray("\u2500".repeat(60)));
141
- const recentMessages = messages.slice(-5);
211
+ const recentMessages = buildSessionChatLog(messages).slice(-5);
142
212
  for (const msg of recentMessages) {
143
- const role = msg.role === "user" ? _chalk2.default.green("You") : msg.role === "assistant" ? _chalk2.default.blue("Assistant") : _chalk2.default.gray(msg.role);
144
- if (msg.role === "tool") continue;
145
- const preview = msg.content.replace(/\n/g, " ").replace(/\s+/g, " ").slice(0, 100);
146
- const truncated = msg.content.length > 100 ? "..." : "";
147
- console.log(`${role}: ${_chalk2.default.white(preview)}${truncated}`);
213
+ const role = msg.role === "user" ? _chalk2.default.green("You") : _chalk2.default.blue("Assistant");
214
+ console.log(`${role}: ${_chalk2.default.white(formatChatLogPreview(msg.content))}`);
148
215
  }
149
216
  console.log(_chalk2.default.gray("\u2500".repeat(60)));
150
217
  console.log();
151
218
  }
219
+ await _optionalChain([restoreSession, 'optionalCall', _11 => _11(sessionId)]);
152
220
  console.log(_chalk2.default.green("Session resumed. Continue typing to chat.\n"));
153
221
  return null;
154
222
  } catch (error) {
155
- console.error(_chalk2.default.red(_chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
223
+ console.error(_chalk2.default.red(_chunkCHI52KFRcjs.t.call(void 0, "commands.resume.failed", { error: error.message })));
156
224
  return null;
157
225
  }
158
226
  }
@@ -160,7 +228,13 @@ ${_chunk7BTSG4MEcjs.t.call(void 0, "commands.resume.resuming", { id: title })}`)
160
228
 
161
229
 
162
230
 
163
- exports.metadata = metadata; exports.resume = resume;
231
+
232
+ exports.buildSessionChatLog = buildSessionChatLog; exports.metadata = metadata; exports.resume = resume;
233
+ /**
234
+ * @license
235
+ * Copyright 2026 Autohand AI LLC
236
+ * SPDX-License-Identifier: Apache-2.0
237
+ */
164
238
  /**
165
239
  * @license
166
240
  * Copyright 2025 Autohand AI LLC
@@ -7,6 +7,12 @@ var DEFAULT_MAX_RETRIES = 3;
7
7
  var DEFAULT_RETRY_DELAY = 1e3;
8
8
  var MAX_FILES_PER_REQUEST = 100;
9
9
  var SyncApiClient = class {
10
+
11
+
12
+
13
+
14
+
15
+
10
16
  constructor(config) {
11
17
  this.baseUrl = _optionalChain([config, 'optionalAccess', _ => _.baseUrl]) || DEFAULT_BASE_URL;
12
18
  this.timeout = _optionalChain([config, 'optionalAccess', _2 => _2.timeout]) || DEFAULT_TIMEOUT;