autohand-cli 0.8.3 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/README.md +191 -74
  2. package/dist/{AgentRegistry-ODDXPAFR.js → AgentRegistry-GOV7FN2O.js} +2 -2
  3. package/dist/AgentRegistry-J2C6JBZ3.cjs +10 -0
  4. package/dist/{AutomodeManager-EOVHGRPP.js → AutomodeManager-APLLPEYJ.js} +31 -17
  5. package/dist/{AutomodeManager-6ATBE7Q5.cjs → AutomodeManager-MPSXT2RH.cjs} +38 -24
  6. package/dist/CommunitySkillsCache-22BB3J6H.cjs +8 -0
  7. package/dist/{CommunitySkillsCache-QLE57BN5.js → CommunitySkillsCache-ZACDPD4J.js} +2 -2
  8. package/dist/GitHubRegistryFetcher-CYJLF2XL.cjs +7 -0
  9. package/dist/{GitHubRegistryFetcher-NT5GFZXS.js → GitHubRegistryFetcher-J2BWPXJF.js} +1 -1
  10. package/dist/{HookManager-B2F35M27.js → HookManager-2S6AHOC3.js} +1 -1
  11. package/dist/{HookManager-PFAFE3FK.cjs → HookManager-TVEQI5ZU.cjs} +2 -2
  12. package/dist/{ImportWizard-OHRKBANZ.js → ImportWizard-AEBMAKXE.js} +33 -9
  13. package/dist/{ImportWizard-CJRZPPHL.cjs → ImportWizard-AF2XL6DS.cjs} +37 -13
  14. package/dist/LearnAdvisor-KKEQ5QCV.js +9 -0
  15. package/dist/LearnAdvisor-Q7RAYLPF.cjs +9 -0
  16. package/dist/{McpClientManager-NQ3EW2IF.cjs → McpClientManager-BNSKLHIN.cjs} +2 -2
  17. package/dist/{McpClientManager-VBIMGKXU.js → McpClientManager-SL35BR24.js} +1 -1
  18. package/dist/MemoryManager-PMNAEZMB.cjs +8 -0
  19. package/dist/{MemoryManager-2LAT7IHS.js → MemoryManager-QZRLTUB5.js} +2 -2
  20. package/dist/NVIDIAProvider-C3FWQOBZ.cjs +14 -0
  21. package/dist/NVIDIAProvider-SJPY3ONR.js +14 -0
  22. package/dist/{PermissionManager-7NQHRCHY.js → PermissionManager-MT7KBNNR.js} +3 -3
  23. package/dist/PermissionManager-URCNP5EC.cjs +11 -0
  24. package/dist/{ProjectProfiler-UG42W6WD.cjs → ProjectProfiler-CDAE7ECW.cjs} +1 -0
  25. package/dist/{ProjectProfiler-P4QJQWWA.js → ProjectProfiler-NZTJDRHD.js} +1 -0
  26. package/dist/ProviderFactory-56N3ECE4.cjs +12 -0
  27. package/dist/{ProviderFactory-2IYJ5OPW.js → ProviderFactory-RB4RVAF6.js} +4 -1
  28. package/dist/SessionManager-2IZGWASQ.cjs +10 -0
  29. package/dist/{SessionManager-4U4JFQ3C.js → SessionManager-554PHVPC.js} +2 -2
  30. package/dist/SkillsRegistry-GMRVONOQ.cjs +9 -0
  31. package/dist/{SkillsRegistry-RFEINXRT.js → SkillsRegistry-NHHMIUYJ.js} +2 -2
  32. package/dist/SubAgent-4GOR2FIJ.js +13 -0
  33. package/dist/SubAgent-ZJMDH4FI.cjs +13 -0
  34. package/dist/{SyncApiClient-B5RT2ECG.js → SyncApiClient-G3FM65IV.js} +1 -1
  35. package/dist/SyncApiClient-ODBDECOG.cjs +11 -0
  36. package/dist/about-3USFSGOH.js +15 -0
  37. package/dist/about-QR52U5DD.cjs +15 -0
  38. package/dist/acp-5Y2W6OZP.js +1556 -0
  39. package/dist/acp-GSYE75OB.cjs +1556 -0
  40. package/dist/actionExecutor-KHUU3Z3Q.cjs +28 -0
  41. package/dist/actionExecutor-PLQJZLZV.js +28 -0
  42. package/dist/add-dir-BTAD5OZS.cjs +11 -0
  43. package/dist/{add-dir-TUJM3PG5.js → add-dir-HCERJDBR.js} +3 -2
  44. package/dist/agent-B3EVT7NN.cjs +126 -0
  45. package/dist/agent-SATQ3WZ3.js +126 -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-44CRJGM7.cjs +18 -0
  53. package/dist/agents-NN4ZAJ7R.js +18 -0
  54. package/dist/agents-new-6D6G4QS6.cjs +17 -0
  55. package/dist/agents-new-7GAQ25EK.js +17 -0
  56. package/dist/{autoSkill-LQEVQFIH.js → autoSkill-66PKCYTW.js} +2 -2
  57. package/dist/autoSkill-VQLGBELN.cjs +20 -0
  58. package/dist/automode-45DWV4TN.cjs +10 -0
  59. package/dist/{automode-R6P3VHLS.js → automode-BUF3VGXU.js} +2 -2
  60. package/dist/browserToolBridge-BXRQB4B4.cjs +58 -0
  61. package/dist/browserToolBridge-F5N66PE7.js +58 -0
  62. package/dist/chrome-Q2U73HZB.cjs +50 -0
  63. package/dist/chrome-Q54OALOK.cjs +21 -0
  64. package/dist/chrome-Y3T7EIHG.js +50 -0
  65. package/dist/chrome-ZNJ46OYW.js +21 -0
  66. package/dist/chromeSkill-53TH55PM.js +105 -0
  67. package/dist/chromeSkill-THW7N4IY.cjs +105 -0
  68. package/dist/{chunk-HXGBSJL5.cjs → chunk-22SCR3EV.cjs} +2 -2
  69. package/dist/chunk-26G7YGOW.js +367 -0
  70. package/dist/{chunk-3L53OA4E.cjs → chunk-2ESQR35E.cjs} +10 -10
  71. package/dist/chunk-2H5O745H.js +63 -0
  72. package/dist/{chunk-ULDM2SNB.js → chunk-2IW5YFJ4.js} +48 -47
  73. package/dist/{chunk-U55TWFJI.cjs → chunk-2VHB43IX.cjs} +24 -6
  74. package/dist/chunk-3EDDDZS2.cjs +5 -0
  75. package/dist/{chunk-X5VSP65C.cjs → chunk-3ICORF7M.cjs} +4 -4
  76. package/dist/chunk-3OF56EMA.cjs +197 -0
  77. package/dist/chunk-3UC6DMFI.cjs +93 -0
  78. package/dist/{chunk-64H4FRM3.cjs → chunk-3UHRCHKB.cjs} +32 -34
  79. package/dist/{chunk-JCLYQ2JC.js → chunk-3ZOOH44N.js} +12 -6
  80. package/dist/{chunk-TUD3Z3BD.js → chunk-44ZWOBTI.js} +136 -55
  81. package/dist/chunk-4567QNRB.js +444 -0
  82. package/dist/chunk-45CHNQM6.cjs +517 -0
  83. package/dist/chunk-46MTALKD.js +44 -0
  84. package/dist/{chunk-WHE2SWHU.js → chunk-4E7SHPNQ.js} +2 -2
  85. package/dist/chunk-4LMUDS2K.js +124 -0
  86. package/dist/{chunk-W7RYQJLO.cjs → chunk-4XFHP2SN.cjs} +46 -15
  87. package/dist/chunk-4XVLNOFA.js +360 -0
  88. package/dist/{chunk-GBHDROGL.js → chunk-575PXZX7.js} +16 -4
  89. package/dist/chunk-5A7ZL64N.js +139 -0
  90. package/dist/chunk-5GCQ5UMV.cjs +85 -0
  91. package/dist/chunk-5JTTM5SC.js +59 -0
  92. package/dist/{chunk-IETRBBMP.cjs → chunk-5K3CDSWZ.cjs} +108 -31
  93. package/dist/{chunk-KLWJIPU2.cjs → chunk-5SFV2NCY.cjs} +20 -16
  94. package/dist/chunk-5ZNYX4VH.cjs +71 -0
  95. package/dist/{chunk-A4IJHHV7.cjs → chunk-63ANVAOJ.cjs} +52 -11
  96. package/dist/{chunk-MYISNQH4.js → chunk-65LRPW5W.js} +1 -1
  97. package/dist/chunk-6AYJCDTA.js +360 -0
  98. package/dist/{chunk-X2MSVKDV.js → chunk-6HF6XSCC.js} +2 -2
  99. package/dist/{chunk-AEJH23FO.cjs → chunk-6JWCGQJU.cjs} +6 -6
  100. package/dist/chunk-6OECOAK5.cjs +360 -0
  101. package/dist/chunk-6R25D2H5.js +121 -0
  102. package/dist/chunk-7DJJGKM6.js +77 -0
  103. package/dist/{chunk-VG34MG2U.js → chunk-7IRQ7JEH.js} +9 -6
  104. package/dist/chunk-7MY4JHER.js +27 -0
  105. package/dist/chunk-7PJKTSRN.js +152 -0
  106. package/dist/{chunk-SKYG33B2.cjs → chunk-7PT646AL.cjs} +3 -3
  107. package/dist/chunk-7WAUCLLQ.js +229 -0
  108. package/dist/{chunk-U46VYPLR.cjs → chunk-7XTUL7ZD.cjs} +9 -9
  109. package/dist/chunk-AE2ILW25.cjs +152 -0
  110. package/dist/{chunk-T2M64VHA.cjs → chunk-AOKXYGBQ.cjs} +61 -41
  111. package/dist/chunk-AQ5PVHOC.cjs +113 -0
  112. package/dist/{chunk-N2BLVUPM.cjs → chunk-AZ47LKD5.cjs} +3 -3
  113. package/dist/chunk-B4HSNOIH.cjs +354 -0
  114. package/dist/chunk-B76FJKEJ.cjs +184 -0
  115. package/dist/chunk-BP37FVBM.js +85 -0
  116. package/dist/chunk-BQU3HAE7.js +21 -0
  117. package/dist/chunk-BYE7RQFZ.cjs +121 -0
  118. package/dist/chunk-C46B72VK.js +1034 -0
  119. package/dist/{chunk-HIVRCQS2.js → chunk-C5QIQQ37.js} +56 -25
  120. package/dist/chunk-CCIDL4SA.js +19931 -0
  121. package/dist/{chunk-XVUHNWMX.js → chunk-CECH6QQP.js} +17 -19
  122. package/dist/chunk-CFAWTLSC.js +13 -0
  123. package/dist/{chunk-ZYQMLKOK.cjs → chunk-CK4HAHVY.cjs} +212 -70
  124. package/dist/chunk-CO2AADYU.cjs +360 -0
  125. package/dist/chunk-CRTCZ4WL.cjs +19931 -0
  126. package/dist/chunk-CSTUTDTH.js +75 -0
  127. package/dist/{chunk-K2C56QGS.cjs → chunk-D546G7DA.cjs} +1650 -479
  128. package/dist/{chunk-CNBKZEX5.cjs → chunk-DA7NBAJK.cjs} +49 -17
  129. package/dist/{chunk-G4CAKI3V.js → chunk-DGBPWODD.js} +7 -2
  130. package/dist/chunk-DHUQZ53B.cjs +29 -0
  131. package/dist/{chunk-RGR6ME5J.cjs → chunk-DI57A4BX.cjs} +25 -28
  132. package/dist/{chunk-5K6NGAVM.js → chunk-DNSD7DVJ.js} +67 -52
  133. package/dist/{chunk-RDF37HKB.cjs → chunk-DSSCERHI.cjs} +3 -2
  134. package/dist/{chunk-NAJ4IZKD.cjs → chunk-EA2MS25U.cjs} +8 -6
  135. package/dist/{chunk-SJAVBCOA.js → chunk-EEHWALXA.js} +94 -3
  136. package/dist/chunk-ES2HJQ4N.js +37 -0
  137. package/dist/{chunk-G27PQQFD.js → chunk-EYHKL4QC.js} +1 -1
  138. package/dist/{chunk-SV2WA57F.js → chunk-FBQJZKFX.js} +38 -15
  139. package/dist/chunk-FFBDRUO5.cjs +59 -0
  140. package/dist/{chunk-N7LI55V4.js → chunk-FFHSCM5M.js} +15 -8
  141. package/dist/{chunk-SAHBLB3E.js → chunk-FP46B4X3.js} +208 -3
  142. package/dist/chunk-FQVG6ZHF.js +197 -0
  143. package/dist/{chunk-J2GSFVUV.cjs → chunk-GAOPJ5S3.cjs} +74 -59
  144. package/dist/{chunk-S52YW5ZQ.js → chunk-GNBBIAMD.js} +16 -19
  145. package/dist/chunk-GSDV75A5.js +715 -0
  146. package/dist/chunk-GWY26SUD.cjs +63 -0
  147. package/dist/{chunk-TUAITHWL.js → chunk-H426KOGY.js} +2 -1
  148. package/dist/{chunk-EZMINVLU.js → chunk-H4D2Q2AL.js} +5 -2
  149. package/dist/chunk-HC2Q6A3E.cjs +4967 -0
  150. package/dist/{chunk-3WVJEL7K.cjs → chunk-HDK2EHVH.cjs} +3 -1
  151. package/dist/{chunk-5IXII4HX.cjs → chunk-HG3ZASBH.cjs} +23 -16
  152. package/dist/chunk-HK5A54AV.cjs +280 -0
  153. package/dist/{chunk-LQGVEP3E.js → chunk-HQUSEWT4.js} +45 -13
  154. package/dist/chunk-HSWWM6AM.js +2340 -0
  155. package/dist/chunk-HTU4W3GB.js +183 -0
  156. package/dist/{chunk-HLHTG5ZU.cjs → chunk-HVCIB4SW.cjs} +14 -12
  157. package/dist/chunk-HXHE2KAO.js +385 -0
  158. package/dist/{chunk-LJFUXC56.cjs → chunk-HXQREVTA.cjs} +9 -6
  159. package/dist/{chunk-SLQAYV3W.js → chunk-HZWU6IO3.js} +11 -2
  160. package/dist/chunk-I2ZK3AOD.js +866 -0
  161. package/dist/chunk-IEPLQ47J.js +719 -0
  162. package/dist/chunk-J5HE6CUM.cjs +124 -0
  163. package/dist/{chunk-LIEXWM2M.js → chunk-JAQO6XDB.js} +19 -1
  164. package/dist/chunk-JB3JCYBJ.js +113 -0
  165. package/dist/chunk-JCUHCH37.cjs +247 -0
  166. package/dist/{chunk-FPHU2ES6.cjs → chunk-JM3ZTQUK.cjs} +19 -9
  167. package/dist/{chunk-NDMIPTV4.js → chunk-JMJRFSNJ.js} +8 -3
  168. package/dist/{chunk-ZLSGXMGQ.js → chunk-JMN3GZU6.js} +2 -0
  169. package/dist/chunk-JPFRI4L4.js +4967 -0
  170. package/dist/{chunk-BVKXEQVG.cjs → chunk-JV5HVCHU.cjs} +22 -10
  171. package/dist/chunk-KA2U6MY2.js +388 -0
  172. package/dist/{chunk-SEKD5FH3.cjs → chunk-KASXKDF2.cjs} +8 -3
  173. package/dist/chunk-KJ26T7GM.cjs +367 -0
  174. package/dist/chunk-KM7R5YPS.cjs +385 -0
  175. package/dist/{chunk-MBBY4ZIK.js → chunk-KMP6Y3LJ.js} +4 -1
  176. package/dist/chunk-KWXGDSYT.js +184 -0
  177. package/dist/{chunk-C5IJIM2V.cjs → chunk-L46OUKW5.cjs} +68 -37
  178. package/dist/{chunk-6UJMCWRY.js → chunk-L6OH44HL.js} +19 -9
  179. package/dist/chunk-LANGD5CO.js +280 -0
  180. package/dist/{chunk-APIXPPMT.js → chunk-LEZEWKPA.js} +1004 -39
  181. package/dist/{chunk-ULQ6MDSJ.cjs → chunk-LFDPTJYF.cjs} +43 -35
  182. package/dist/chunk-LJD7KR3L.cjs +44 -0
  183. package/dist/{chunk-NCC6ETZS.js → chunk-LUMV3DB2.js} +41 -33
  184. package/dist/{chunk-QXH5RCFI.js → chunk-M5DK524Z.js} +2 -2
  185. package/dist/chunk-M7B7RRBK.cjs +1034 -0
  186. package/dist/chunk-MANJ67D3.js +3897 -0
  187. package/dist/{chunk-HPHJ73GU.cjs → chunk-MGNXABSU.cjs} +9 -9
  188. package/dist/{chunk-6ZCULLCA.js → chunk-MMKZSJUN.js} +1 -1
  189. package/dist/{chunk-DVUHHH3B.cjs → chunk-MQQH4XQH.cjs} +4 -4
  190. package/dist/chunk-MUNUUFU7.cjs +21 -0
  191. package/dist/{chunk-DVZOENQ7.cjs → chunk-MZN6JBRZ.cjs} +9 -4
  192. package/dist/{chunk-OOKY3HPZ.js → chunk-NB6M6ESM.js} +50 -9
  193. package/dist/{chunk-BYONM7UM.js → chunk-NBGOIFKP.js} +265 -18
  194. package/dist/chunk-NHWHEW7M.cjs +75 -0
  195. package/dist/chunk-NQZH5CR2.cjs +468 -0
  196. package/dist/{chunk-EGPXJERY.cjs → chunk-NV6LCD2I.cjs} +119 -28
  197. package/dist/chunk-NVATU4V6.cjs +44 -0
  198. package/dist/{chunk-YZXUDM5X.js → chunk-NZ3ZWLUW.js} +204 -62
  199. package/dist/chunk-NZ7GCK7Y.cjs +92 -0
  200. package/dist/{chunk-VEKDGU2Q.cjs → chunk-NZQFKXM3.cjs} +49 -25
  201. package/dist/chunk-O5GI6SR3.js +59 -0
  202. package/dist/{chunk-56SWIDEL.cjs → chunk-OCATAKXV.cjs} +57 -56
  203. package/dist/{chunk-SKV2F3NM.js → chunk-OIGYWOL6.js} +1 -1
  204. package/dist/{chunk-IFFXSTOM.cjs → chunk-ONVYXTUT.cjs} +3 -3
  205. package/dist/chunk-OR67YXQK.cjs +13 -0
  206. package/dist/chunk-OV3T5MUH.cjs +715 -0
  207. package/dist/{chunk-OHUZKDGX.js → chunk-P4FUTSVK.js} +3 -3
  208. package/dist/chunk-P6SLT2F4.cjs +139 -0
  209. package/dist/{chunk-TNZRZQ7Q.js → chunk-PB7W7R72.js} +3 -78
  210. package/dist/chunk-PCM3N3CL.cjs +37 -0
  211. package/dist/{chunk-2AA5MFES.js → chunk-PGFLPURU.js} +8 -5
  212. package/dist/{chunk-DJDE4DTT.cjs → chunk-PIXQ2AVM.cjs} +25 -19
  213. package/dist/chunk-PNIAIOMZ.cjs +229 -0
  214. package/dist/{chunk-HTLINWX6.cjs → chunk-PQBYFEBL.cjs} +16 -13
  215. package/dist/{chunk-22D2CNTP.cjs → chunk-PSAH4ZQB.cjs} +5 -2
  216. package/dist/{chunk-3VTAFAL2.js → chunk-PTTZI4QZ.js} +16 -12
  217. package/dist/{chunk-WPVWQSL7.cjs → chunk-PY73W5MQ.cjs} +16 -13
  218. package/dist/{chunk-EGMZDTSL.js → chunk-PZZMIYII.js} +10 -2
  219. package/dist/{chunk-HBZU3RBZ.js → chunk-Q3BS6FPM.js} +34 -10
  220. package/dist/chunk-QBYGMMDD.js +517 -0
  221. package/dist/chunk-QLZOMZO5.cjs +388 -0
  222. package/dist/{chunk-ADUFCS4Q.cjs → chunk-QQ64HEHP.cjs} +160 -79
  223. package/dist/{chunk-L3TWPROA.js → chunk-QRQF3556.js} +44 -24
  224. package/dist/{chunk-YHD6TUIR.cjs → chunk-QW2RW2GY.cjs} +2 -0
  225. package/dist/chunk-RAKO7UN7.js +114 -0
  226. package/dist/{chunk-7TQH3CL4.cjs → chunk-RBXBH6EB.cjs} +78 -35
  227. package/dist/chunk-RFUKZIJF.cjs +78 -0
  228. package/dist/chunk-RS2E32YB.js +71 -0
  229. package/dist/{chunk-OLSBBZW6.cjs → chunk-S5JNQIGL.cjs} +5 -5
  230. package/dist/{chunk-FTYY5JJD.js → chunk-S5QKRA2V.js} +2 -2
  231. package/dist/chunk-SD3NTC7D.cjs +77 -0
  232. package/dist/{chunk-KPELYZ6L.js → chunk-SDLY4X3G.js} +2 -2
  233. package/dist/{chunk-IDFF5J2E.js → chunk-SFFEKZGC.js} +38 -7
  234. package/dist/{chunk-EGFT4PGW.js → chunk-SHRLFX6F.js} +8 -3
  235. package/dist/{chunk-3WICOC33.js → chunk-SNDDZG5H.js} +124 -84
  236. package/dist/{chunk-CZXGCVTR.cjs → chunk-SOVR7S3T.cjs} +2 -2
  237. package/dist/chunk-SPQ7QIQ6.js +78 -0
  238. package/dist/{chunk-XRZEUWKF.js → chunk-SRMGWMQO.js} +1 -1
  239. package/dist/{chunk-R33VKSH5.cjs → chunk-SVVP4UUZ.cjs} +11 -11
  240. package/dist/{chunk-7BTSG4ME.cjs → chunk-SY2P3Z5W.cjs} +1004 -39
  241. package/dist/chunk-SZD45IDG.js +468 -0
  242. package/dist/{chunk-3O3MOK5C.cjs → chunk-TE4SYTWR.cjs} +1114 -142
  243. package/dist/chunk-TH26BQJG.js +101 -0
  244. package/dist/{chunk-QNGEW5TC.js → chunk-TR6NECEZ.js} +1 -1
  245. package/dist/{chunk-YGN4CQIP.js → chunk-TYBPTKFT.js} +1 -1
  246. package/dist/{chunk-GJH7XMSK.js → chunk-U2QUMKCB.js} +8 -6
  247. package/dist/{chunk-47CKWKEX.cjs → chunk-U6PLSPMD.cjs} +9 -4
  248. package/dist/chunk-UOQECODR.js +34 -0
  249. package/dist/chunk-UR27UDTB.js +354 -0
  250. package/dist/chunk-UWZ4G3SQ.js +93 -0
  251. package/dist/{chunk-Y72HH2TF.cjs → chunk-V3SZLWEQ.cjs} +33 -24
  252. package/dist/chunk-V4HGZSKQ.cjs +183 -0
  253. package/dist/{chunk-3PDTTAKJ.js → chunk-V5ELP2XE.js} +19 -12
  254. package/dist/{chunk-3K2ESU53.cjs → chunk-VKOXFT4L.cjs} +2 -2
  255. package/dist/{chunk-XTB6VJVQ.cjs → chunk-VLGGMQUN.cjs} +6 -6
  256. package/dist/chunk-VQHSYAPZ.cjs +3897 -0
  257. package/dist/chunk-VUGOOGHB.js +400 -0
  258. package/dist/chunk-W5QLA6WP.cjs +866 -0
  259. package/dist/chunk-WBU4Q4GS.cjs +400 -0
  260. package/dist/{chunk-KWXVKLQ5.cjs → chunk-WGNMOVMT.cjs} +7 -82
  261. package/dist/chunk-WJYFLQ7G.cjs +27 -0
  262. package/dist/{chunk-RKJTGGMU.cjs → chunk-WKRDBCP2.cjs} +221 -16
  263. package/dist/{chunk-ZSPXQYG2.js → chunk-WNJXIACY.js} +7 -5
  264. package/dist/{chunk-AYS2ASM7.js → chunk-WPE2XHVX.js} +1 -1
  265. package/dist/chunk-WTB7AFL6.cjs +101 -0
  266. package/dist/{chunk-JYTDYJVW.js → chunk-X3TI5TJJ.js} +1 -1
  267. package/dist/chunk-X5P6QQOB.cjs +719 -0
  268. package/dist/{chunk-245KJE5Y.cjs → chunk-X7XMITIL.cjs} +14 -6
  269. package/dist/chunk-XF2WIKHR.cjs +34 -0
  270. package/dist/{chunk-DV2ZHK7B.cjs → chunk-XNIMSVS6.cjs} +49 -26
  271. package/dist/chunk-XW3XCK4E.cjs +59 -0
  272. package/dist/{chunk-N23UAW4I.js → chunk-XZVDYC5U.js} +7 -2
  273. package/dist/chunk-Y5BDE24P.cjs +444 -0
  274. package/dist/{chunk-NAGQ2PDC.js → chunk-YC5OBZQU.js} +1604 -433
  275. package/dist/chunk-YISPVAXO.cjs +2340 -0
  276. package/dist/{chunk-KQGPTCQJ.js → chunk-YQDI753V.js} +68 -25
  277. package/dist/{chunk-UJ2JSM6H.js → chunk-YVQI26H4.js} +2 -0
  278. package/dist/{chunk-NNPAM4HC.cjs → chunk-YWH55BWK.cjs} +15 -6
  279. package/dist/{chunk-X2YOZQIP.cjs → chunk-YWTIXHU6.cjs} +266 -19
  280. package/dist/{chunk-XX2ZO7DS.js → chunk-YXM6SA7P.js} +25 -16
  281. package/dist/chunk-YZWE7XSM.js +5 -0
  282. package/dist/chunk-ZASDSY7P.cjs +114 -0
  283. package/dist/{chunk-2UC22DJU.js → chunk-ZNGRLCFQ.js} +30 -4
  284. package/dist/{chunk-KANW6OYC.cjs → chunk-ZNYZB7XY.cjs} +34 -8
  285. package/dist/{chunk-NA6WQDYW.js → chunk-ZPLCAXJW.js} +1088 -116
  286. package/dist/{chunk-7UOUW76C.js → chunk-ZQAT5VT5.js} +101 -24
  287. package/dist/chunk-ZUYYHKQA.js +44 -0
  288. package/dist/clear-QJXU25IF.cjs +12 -0
  289. package/dist/{clear-A3N4GK2S.js → clear-Y5TO3RZA.js} +3 -3
  290. package/dist/communityInstaller-LXMVKVAV.cjs +22 -0
  291. package/dist/{communityInstaller-LOP2EDH5.js → communityInstaller-RVL4STPS.js} +8 -5
  292. package/dist/completion-JX4T2ONW.cjs +17 -0
  293. package/dist/completion-SE3XYG74.js +17 -0
  294. package/dist/config-3224PRW4.cjs +21 -0
  295. package/dist/{config-HPJPKTO6.js → config-7KPHKFTP.js} +7 -4
  296. package/dist/{constants-LISJW3DD.js → constants-EJFAWJQI.js} +1 -1
  297. package/dist/constants-MCCGUU5F.cjs +21 -0
  298. package/dist/{defaultHooks-IHSJR2AX.cjs → defaultHooks-2V2CQL63.cjs} +25 -10
  299. package/dist/{defaultHooks-KUKHK3AG.js → defaultHooks-TMHDU3FS.js} +25 -10
  300. package/dist/export-BJVIDZC4.js +15 -0
  301. package/dist/export-KU4557HK.cjs +15 -0
  302. package/dist/feature-K3LG5IJP.cjs +14 -0
  303. package/dist/feature-V4JF5TNJ.js +14 -0
  304. package/dist/features-5OJTLKS7.js +23 -0
  305. package/dist/features-VCBJQXCX.cjs +23 -0
  306. package/dist/feedback-D4437VE4.js +18 -0
  307. package/dist/feedback-VZPEHGFY.cjs +18 -0
  308. package/dist/fffSearchProvider-2YCNKOYD.js +412 -0
  309. package/dist/fffSearchProvider-W6627E2V.cjs +412 -0
  310. package/dist/{filesystem-Z7BWAWMZ.js → filesystem-L6DQKGWK.js} +3 -2
  311. package/dist/filesystem-PGUPCMVK.cjs +11 -0
  312. package/dist/go-X4E6BCD6.js +12 -0
  313. package/dist/go-XREVFS5I.cjs +12 -0
  314. package/dist/goal-4M3J6JS2.cjs +16 -0
  315. package/dist/goal-EI66BV7W.js +16 -0
  316. package/dist/help-GGFS7WHY.cjs +12 -0
  317. package/dist/{help-GFQXNZOK.js → help-MLIROWKM.js} +2 -2
  318. package/dist/{history-E3N6BJP7.js → history-GQJ6RZD6.js} +2 -2
  319. package/dist/history-J4LUIOSI.cjs +14 -0
  320. package/dist/hooks-FSRIUS6A.cjs +18 -0
  321. package/dist/hooks-PPFHCF7T.js +18 -0
  322. package/dist/i18n-CI6VFXL5.cjs +33 -0
  323. package/dist/{i18n-SY7QRM22.js → i18n-Q7UZJRPL.js} +1 -1
  324. package/dist/ide-BUSVE54P.js +15 -0
  325. package/dist/ide-YR27BPGM.cjs +15 -0
  326. package/dist/immediateCommandRouter-MTEHZXQX.js +15 -0
  327. package/dist/immediateCommandRouter-ROXU3MWT.cjs +15 -0
  328. package/dist/{import-W7SVLSTC.js → import-3VBKI6BN.js} +3 -3
  329. package/dist/{import-ADI37ZUR.cjs → import-C7S6UJMW.cjs} +3 -3
  330. package/dist/import-DBK4OCDF.cjs +10 -0
  331. package/dist/{import-KGKKZ3B7.js → import-U47DXCA7.js} +2 -2
  332. package/dist/index.cjs +837 -23011
  333. package/dist/index.d.cts +95 -0
  334. package/dist/index.d.ts +95 -0
  335. package/dist/index.js +864 -23038
  336. package/dist/init-OXTYS72D.cjs +10 -0
  337. package/dist/{init-7MFK626E.js → init-Q2O4R42R.js} +2 -2
  338. package/dist/inkMode-VUE6ZDLD.cjs +7 -0
  339. package/dist/inkMode-WBNFOSAT.js +7 -0
  340. package/dist/inputPrompt-3CFZDUBH.js +90 -0
  341. package/dist/inputPrompt-JMACL4EB.cjs +90 -0
  342. package/dist/language-EK3M6UBV.cjs +22 -0
  343. package/dist/language-Q3RUGGOW.js +22 -0
  344. package/dist/learn-3DSX7DYG.cjs +23 -0
  345. package/dist/learn-OPOH5L43.js +23 -0
  346. package/dist/login-GST7MWXJ.cjs +27 -0
  347. package/dist/login-Q7DZKAX4.js +27 -0
  348. package/dist/logout-2G7OUK7I.cjs +24 -0
  349. package/dist/logout-FNBBL2UI.js +24 -0
  350. package/dist/mcp-AH3MMUBU.js +21 -0
  351. package/dist/mcp-DW7R63IB.cjs +21 -0
  352. package/dist/{mcp-install-2FEROZTL.js → mcp-install-222PCKSW.js} +18 -10
  353. package/dist/{mcp-install-WM6BQRI5.cjs → mcp-install-IA4ZS2SV.cjs} +22 -14
  354. package/dist/memory-6NX3DAIY.cjs +10 -0
  355. package/dist/{memory-J73WZH2I.js → memory-VB46T5H3.js} +2 -2
  356. package/dist/model-64NAELFS.cjs +10 -0
  357. package/dist/{model-AES267IN.js → model-SJJG64AM.js} +2 -2
  358. package/dist/new-DU5SOOOY.cjs +12 -0
  359. package/dist/{new-5CLF3MKH.js → new-ERZ5C6CN.js} +3 -3
  360. package/dist/onboarding-2U2BV2KE.cjs +36 -0
  361. package/dist/onboarding-ZQXMPSMJ.js +36 -0
  362. package/dist/permissions-7ACNFK7A.js +10 -0
  363. package/dist/permissions-GSNNV7RJ.cjs +10 -0
  364. package/dist/plan-XEJMOT55.cjs +13 -0
  365. package/dist/{plan-65HMS5HQ.js → plan-YYUAXPTL.js} +3 -1
  366. package/dist/pr-review-CW6J7P62.cjs +9 -0
  367. package/dist/pr-review-YZSBQVT2.js +9 -0
  368. package/dist/{quit-XDZYRSPU.js → quit-WY6T267G.js} +2 -2
  369. package/dist/quit-XIRE2KRE.cjs +10 -0
  370. package/dist/rawMode-6W5AXAKI.cjs +7 -0
  371. package/dist/rawMode-GFNLXQPU.js +7 -0
  372. package/dist/{registry-PTHWERKC.js → registry-4DXUDKJN.js} +29 -44
  373. package/dist/{registry-IVT4G2RT.cjs → registry-UEO3ETZ7.cjs} +65 -80
  374. package/dist/repeat-P4FAPE3Y.cjs +17 -0
  375. package/dist/{repeat-EVCWUL6Z.js → repeat-RALE6AUO.js} +7 -3
  376. package/dist/resume-RQZ3WXBP.cjs +17 -0
  377. package/dist/resume-XSXZMDMD.js +17 -0
  378. package/dist/review-QHP2KP4Q.js +9 -0
  379. package/dist/review-UWHWQHCB.cjs +9 -0
  380. package/dist/ripgrep-67SCU2BA.cjs +9 -0
  381. package/dist/ripgrep-VHJQQ55W.js +9 -0
  382. package/dist/rpc-XH7QLN4H.js +3874 -0
  383. package/dist/rpc-YF54T7JU.cjs +3874 -0
  384. package/dist/search-VXXFGZWU.cjs +21 -0
  385. package/dist/search-YAWGX7P7.js +21 -0
  386. package/dist/{sessions-6GWEBMKS.js → sessions-NJYHJOEL.js} +2 -2
  387. package/dist/sessions-OSG3UJEZ.cjs +10 -0
  388. package/dist/settings-SO2UIGWV.cjs +42 -0
  389. package/dist/settings-ZXUQH3DO.js +42 -0
  390. package/dist/setup-KG7EGKF5.js +30 -0
  391. package/dist/setup-RSOPCQ57.cjs +30 -0
  392. package/dist/share-WFAGZ5PY.js +17 -0
  393. package/dist/share-ZU3SGACF.cjs +17 -0
  394. package/dist/skills-KBVAQAD2.cjs +29 -0
  395. package/dist/skills-NBTNDVAY.js +29 -0
  396. package/dist/{skills-ZZCIAS7C.js → skills-OB6RDW7D.js} +10 -7
  397. package/dist/{skills-PG542VEB.cjs → skills-ZROBG3RZ.cjs} +13 -10
  398. package/dist/{skills-install-SRC3Z2MS.js → skills-install-BHTIEMKH.js} +21 -70
  399. package/dist/{skills-install-67DOBPJC.cjs → skills-install-ILX6QVEF.cjs} +34 -83
  400. package/dist/skills-new-B45VQ2PP.cjs +18 -0
  401. package/dist/skills-new-YMRP2HNO.js +18 -0
  402. package/dist/slashCommands-53VYIBJU.js +105 -0
  403. package/dist/slashCommands-BG2RGGZ6.cjs +105 -0
  404. package/dist/status-CQ2IUOVK.cjs +24 -0
  405. package/dist/status-E7IGNVPC.js +24 -0
  406. package/dist/summarizer-DGPHE5IQ.js +17 -0
  407. package/dist/summarizer-JNXLUAQG.cjs +17 -0
  408. package/dist/sync-7C25MOT2.js +22 -0
  409. package/dist/{sync-VU2NSJ4O.js → sync-OCJN4ZSO.js} +3 -3
  410. package/dist/sync-XRP46IVG.cjs +40 -0
  411. package/dist/sync-ZMFVE7T4.cjs +22 -0
  412. package/dist/{teammate-SXRVXNQV.cjs → teammate-D77B6QRT.cjs} +31 -9
  413. package/dist/{teammate-SD26GR37.js → teammate-EZCMHOIL.js} +30 -8
  414. package/dist/templates-ARG2VRWW.cjs +11 -0
  415. package/dist/templates-UGVZV3KJ.js +11 -0
  416. package/dist/theme-KKRDE6P7.cjs +22 -0
  417. package/dist/theme-XF7XIWBQ.js +22 -0
  418. package/dist/tools-3PPTTKFV.js +9 -0
  419. package/dist/tools-THIQA7WC.cjs +9 -0
  420. package/dist/ui/questionModal.cjs +8 -5
  421. package/dist/ui/questionModal.js +7 -4
  422. package/dist/{undo-OL2EDBRY.js → undo-GNUTFXCW.js} +2 -2
  423. package/dist/undo-U4KN7QQM.cjs +10 -0
  424. package/dist/usage-QSTNSDAO.js +24 -0
  425. package/dist/usage-YDEMQBNQ.cjs +24 -0
  426. package/dist/web-3BA2WV37.cjs +37 -0
  427. package/dist/web-6FYGBX5K.js +37 -0
  428. package/dist/workspaceSafety-MDJGHK6D.cjs +9 -0
  429. package/dist/workspaceSafety-XOUMUBVB.js +9 -0
  430. package/dist/yolo-GF2YD7ZI.js +9 -0
  431. package/dist/yolo-OGDA7HNC.cjs +9 -0
  432. package/dist/yoloMode-3DJDA75U.cjs +17 -0
  433. package/dist/yoloMode-4JOOSU26.js +17 -0
  434. package/package.json +51 -49
  435. package/dist/AgentRegistry-HRPN6ZOF.cjs +0 -10
  436. package/dist/CommunitySkillsCache-KE435RAR.cjs +0 -8
  437. package/dist/GitHubRegistryFetcher-I45SESIL.cjs +0 -7
  438. package/dist/LearnAdvisor-FLBA6FDD.js +0 -9
  439. package/dist/LearnAdvisor-GG3CXQF3.cjs +0 -9
  440. package/dist/MemoryManager-2LQPIYVE.cjs +0 -8
  441. package/dist/PermissionManager-X57BXHJ6.cjs +0 -11
  442. package/dist/ProviderFactory-KPJOGQWF.cjs +0 -9
  443. package/dist/SessionManager-YBJAZXNO.cjs +0 -10
  444. package/dist/SkillsRegistry-7O72A6TZ.cjs +0 -9
  445. package/dist/SubAgent-JT4HZHN7.js +0 -11
  446. package/dist/SubAgent-VPNYDWAU.cjs +0 -11
  447. package/dist/SyncApiClient-HQXJL5BT.cjs +0 -11
  448. package/dist/about-4DB5KTHW.js +0 -12
  449. package/dist/about-LXAOXZFT.cjs +0 -12
  450. package/dist/actionExecutor-23JB2WUC.js +0 -19
  451. package/dist/actionExecutor-X5UEZSKH.cjs +0 -19
  452. package/dist/add-dir-YC37DMSF.cjs +0 -10
  453. package/dist/agents-YF3BSUU5.js +0 -12
  454. package/dist/agents-ZOUHPMYR.cjs +0 -12
  455. package/dist/agents-new-HSH4GQPG.js +0 -14
  456. package/dist/agents-new-VYUDOCE7.cjs +0 -14
  457. package/dist/autoSkill-X5W52WOE.cjs +0 -20
  458. package/dist/automode-SJGM7VEI.cjs +0 -10
  459. package/dist/chunk-ALYU6VTM.js +0 -105
  460. package/dist/chunk-B53A2NM2.js +0 -2030
  461. package/dist/chunk-BJXSNT46.js +0 -100
  462. package/dist/chunk-CB4E2T5N.cjs +0 -312
  463. package/dist/chunk-DNUOXBHL.js +0 -539
  464. package/dist/chunk-EFX2QSZX.cjs +0 -33
  465. package/dist/chunk-GCXYXLRA.cjs +0 -111
  466. package/dist/chunk-H2ZRHQQV.js +0 -33
  467. package/dist/chunk-HNRPK5MY.cjs +0 -85
  468. package/dist/chunk-HVKOZ2VP.cjs +0 -115
  469. package/dist/chunk-JJLYWH5Y.cjs +0 -100
  470. package/dist/chunk-LWUJFGOZ.js +0 -115
  471. package/dist/chunk-MERYP6AM.cjs +0 -539
  472. package/dist/chunk-MZAPWNAC.cjs +0 -207
  473. package/dist/chunk-NTSDP2WB.js +0 -226
  474. package/dist/chunk-OUZQXMHL.cjs +0 -226
  475. package/dist/chunk-PGESAU2W.cjs +0 -2030
  476. package/dist/chunk-SYVYLZZF.cjs +0 -24
  477. package/dist/chunk-SZOLA6FR.js +0 -111
  478. package/dist/chunk-VWDHR4HV.js +0 -168
  479. package/dist/chunk-Y45G6ZO5.cjs +0 -168
  480. package/dist/chunk-YRLYSQEQ.cjs +0 -105
  481. package/dist/chunk-ZYVS43MU.js +0 -312
  482. package/dist/clear-GK4IEUUS.cjs +0 -12
  483. package/dist/communityInstaller-XXC7RLE4.cjs +0 -19
  484. package/dist/completion-HWABSAEL.js +0 -14
  485. package/dist/completion-IUUVQG4D.cjs +0 -14
  486. package/dist/config-HF7WOLZF.cjs +0 -18
  487. package/dist/constants-PEO3P2SJ.cjs +0 -21
  488. package/dist/export-QJAV2FCZ.js +0 -12
  489. package/dist/export-XSRFXGWU.cjs +0 -12
  490. package/dist/feedback-4TCIL3ML.cjs +0 -15
  491. package/dist/feedback-SJ6VVEY3.js +0 -15
  492. package/dist/filesystem-W56QZUJF.cjs +0 -10
  493. package/dist/help-ISBVQL3S.cjs +0 -12
  494. package/dist/history-XQ4GTSFU.cjs +0 -14
  495. package/dist/hooks-CJNKJ5PF.js +0 -13
  496. package/dist/hooks-UTMBTAXT.cjs +0 -13
  497. package/dist/i18n-N7QQ7A5M.cjs +0 -33
  498. package/dist/ide-RTA4UJV4.js +0 -12
  499. package/dist/ide-VWVOLIFF.cjs +0 -12
  500. package/dist/immediateCommandRouter-BW34JNXL.js +0 -9
  501. package/dist/immediateCommandRouter-SHOVNB5X.cjs +0 -9
  502. package/dist/import-ZLJVONXH.cjs +0 -10
  503. package/dist/init-TBKAB4LZ.cjs +0 -10
  504. package/dist/language-MDSHEXHB.cjs +0 -18
  505. package/dist/language-PXTQSHIG.js +0 -18
  506. package/dist/learn-623TW5EK.cjs +0 -20
  507. package/dist/learn-BCPV7GM2.js +0 -20
  508. package/dist/localProjectPermissions-BHQXEWZJ.cjs +0 -18
  509. package/dist/localProjectPermissions-GMOUYQM6.js +0 -18
  510. package/dist/login-QMVEETWJ.js +0 -20
  511. package/dist/login-QYMXAL3K.cjs +0 -20
  512. package/dist/logout-2CMTDAOJ.js +0 -18
  513. package/dist/logout-ZOHVZAUK.cjs +0 -18
  514. package/dist/mcp-IUVKK65S.js +0 -18
  515. package/dist/mcp-TXC7PYG3.cjs +0 -18
  516. package/dist/memory-WRIHDEPK.cjs +0 -10
  517. package/dist/model-RLP75SF5.cjs +0 -10
  518. package/dist/new-HLSFL6A4.cjs +0 -12
  519. package/dist/permissions-GP6FTGZ2.js +0 -13
  520. package/dist/permissions-O6EKKPOG.cjs +0 -13
  521. package/dist/plan-MCAXDIM2.cjs +0 -11
  522. package/dist/quit-TQX6GXA5.cjs +0 -10
  523. package/dist/repeat-BSPS5TWD.cjs +0 -13
  524. package/dist/resume-2GOPDLL4.cjs +0 -13
  525. package/dist/resume-37IUVDA6.js +0 -13
  526. package/dist/search-7KUSHIBL.cjs +0 -17
  527. package/dist/search-OJGDRIMA.js +0 -17
  528. package/dist/sessions-CYYCHSQG.cjs +0 -10
  529. package/dist/settings-2D7CAO66.cjs +0 -30
  530. package/dist/settings-BXR6SBJP.js +0 -30
  531. package/dist/share-BXQY5IQU.js +0 -14
  532. package/dist/share-OSFXZBGS.cjs +0 -14
  533. package/dist/skills-FL6O6AOM.cjs +0 -26
  534. package/dist/skills-PNKQZRNK.js +0 -26
  535. package/dist/skills-new-XFMEHHIF.cjs +0 -15
  536. package/dist/skills-new-ZNZPHUKS.js +0 -15
  537. package/dist/slashCommands-LLCNPK3X.js +0 -76
  538. package/dist/slashCommands-RXZZS6RE.cjs +0 -76
  539. package/dist/status-BCECUJXT.cjs +0 -11
  540. package/dist/status-EFO7MQU3.js +0 -11
  541. package/dist/sync-IJYJ6KKM.js +0 -18
  542. package/dist/sync-LFT6SBPF.cjs +0 -18
  543. package/dist/sync-U7SDPBNZ.cjs +0 -40
  544. package/dist/theme-AWBHSG7J.cjs +0 -18
  545. package/dist/theme-TQLBPJ2E.js +0 -18
  546. package/dist/undo-IBBGP7A2.cjs +0 -10
@@ -0,0 +1,197 @@
1
+ // src/providers/errors.ts
2
+ var ApiError = class extends Error {
3
+ code;
4
+ httpStatus;
5
+ retryable;
6
+ retryAfterMs;
7
+ rawDetail;
8
+ constructor(message, code, httpStatus, retryable, retryAfterMs, rawDetail) {
9
+ super(message);
10
+ this.name = "ApiError";
11
+ this.code = code;
12
+ this.httpStatus = httpStatus;
13
+ this.retryable = retryable;
14
+ this.retryAfterMs = retryAfterMs;
15
+ this.rawDetail = rawDetail;
16
+ }
17
+ };
18
+ var FRIENDLY_MESSAGES = {
19
+ context_overflow: "The conversation is too long for this model. Try /undo to remove recent turns or /new to start fresh.",
20
+ model_not_found: "The requested model was not found. Use /model to select a different one.",
21
+ invalid_request: "The request was malformed and could not be processed.",
22
+ auth_failed: "Authentication failed. Please verify your API key in ~/.autohand/config.json.",
23
+ payment_required: "Payment required. Please check your account balance or billing settings.",
24
+ access_denied: "Access denied. Your API key may not have permission for this model.",
25
+ rate_limited: "Rate limit exceeded. Please wait a moment and try again, or choose a different model.",
26
+ server_error: "The AI service encountered an error. Please try again later.",
27
+ network_error: "Unable to connect to the AI service. Please check your internet connection.",
28
+ timeout: "The request timed out. The AI service may be experiencing high load.",
29
+ cancelled: "Request cancelled.",
30
+ unknown: "An unexpected error occurred. Please try again."
31
+ };
32
+ var MODEL_NOT_FOUND_PATTERNS = [
33
+ "invalid model",
34
+ "model does not exist",
35
+ "model not found",
36
+ "no endpoints found for model",
37
+ "does not exist or you do not have access",
38
+ // OpenRouter returns "X is not a valid model ID" for bad model names
39
+ "is not a valid model",
40
+ // Catch "model 'xyz' not found" where 'not found' is separate from 'model'
41
+ "' not found",
42
+ '" not found'
43
+ ];
44
+ var CONTEXT_OVERFLOW_PATTERNS = [
45
+ "maximum context length",
46
+ "context length exceeded",
47
+ "context is too long",
48
+ "prompt is too long",
49
+ "reduce the length",
50
+ "payload too large",
51
+ "context window",
52
+ "token limit",
53
+ "tokens exceeds",
54
+ "too many tokens"
55
+ ];
56
+ var CANCEL_PATTERNS = [
57
+ "cancelled",
58
+ "canceled",
59
+ "aborted",
60
+ "user force closed"
61
+ ];
62
+ var NETWORK_PATTERNS = [
63
+ "econnrefused",
64
+ "econnreset",
65
+ "enotfound",
66
+ "etimedout",
67
+ "fetch failed",
68
+ "network",
69
+ "unable to connect"
70
+ ];
71
+ var TIMEOUT_PATTERNS = [
72
+ "timed out",
73
+ "timeout"
74
+ ];
75
+ function classifyApiError(httpStatus, errorBody, headers) {
76
+ const lower = errorBody.toLowerCase();
77
+ if (httpStatus === 401) {
78
+ return makeError("auth_failed", httpStatus, false, errorBody, headers);
79
+ }
80
+ if (httpStatus === 402) {
81
+ return makeError("payment_required", httpStatus, false, errorBody, headers);
82
+ }
83
+ if (httpStatus === 403) {
84
+ return makeError("access_denied", httpStatus, false, errorBody, headers);
85
+ }
86
+ if (httpStatus === 404) {
87
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
88
+ }
89
+ if (httpStatus === 429) {
90
+ return makeError("rate_limited", httpStatus, true, errorBody, headers);
91
+ }
92
+ if (httpStatus === 504) {
93
+ return makeError("timeout", httpStatus, true, errorBody, headers);
94
+ }
95
+ if (httpStatus >= 500) {
96
+ return makeError("server_error", httpStatus, true, errorBody, headers);
97
+ }
98
+ if (httpStatus === 400) {
99
+ if (matchesAny(lower, MODEL_NOT_FOUND_PATTERNS)) {
100
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
101
+ }
102
+ if (matchesAny(lower, CONTEXT_OVERFLOW_PATTERNS)) {
103
+ return makeError("context_overflow", httpStatus, true, errorBody, headers);
104
+ }
105
+ return makeError("invalid_request", httpStatus, false, errorBody, headers);
106
+ }
107
+ if (matchesAny(lower, CANCEL_PATTERNS)) {
108
+ return makeError("cancelled", httpStatus, false, errorBody, headers);
109
+ }
110
+ if (matchesAny(lower, TIMEOUT_PATTERNS)) {
111
+ return makeError("timeout", httpStatus, true, errorBody, headers);
112
+ }
113
+ if (matchesAny(lower, NETWORK_PATTERNS)) {
114
+ return makeError("network_error", httpStatus, true, errorBody, headers);
115
+ }
116
+ if (httpStatus === 0 || httpStatus === void 0) {
117
+ if (matchesAny(lower, MODEL_NOT_FOUND_PATTERNS)) {
118
+ return makeError("model_not_found", httpStatus, false, errorBody, headers);
119
+ }
120
+ if (matchesAny(lower, CONTEXT_OVERFLOW_PATTERNS)) {
121
+ return makeError("context_overflow", httpStatus, true, errorBody, headers);
122
+ }
123
+ }
124
+ return makeError("unknown", httpStatus, true, errorBody, headers);
125
+ }
126
+ function matchesAny(lower, patterns) {
127
+ return patterns.some((p) => lower.includes(p));
128
+ }
129
+ function stripHtmlFromBody(body) {
130
+ if (!/<[a-z/][\s\S]*>/i.test(body)) {
131
+ return body;
132
+ }
133
+ return body.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
134
+ }
135
+ function makeError(code, httpStatus, retryable, rawBody, headers) {
136
+ const friendlyMessage = FRIENDLY_MESSAGES[code];
137
+ const displayBody = rawBody ? stripHtmlFromBody(rawBody) : "";
138
+ const message = displayBody ? `${friendlyMessage}
139
+ ${displayBody}` : friendlyMessage;
140
+ const retryAfterMs = parseRetryAfter(headers) ?? inferRetryAfterFromBody(code, rawBody);
141
+ return new ApiError(message, code, httpStatus, retryable, retryAfterMs, rawBody);
142
+ }
143
+ function inferRetryAfterFromBody(code, rawBody) {
144
+ if (code !== "rate_limited") {
145
+ return void 0;
146
+ }
147
+ const rpmMatch = rawBody.match(/limited to\s+(\d+)\s+requests?\s+per\s+minute/i);
148
+ if (rpmMatch) {
149
+ const rpm = Number(rpmMatch[1]);
150
+ if (Number.isFinite(rpm) && rpm > 0) {
151
+ return Math.ceil(6e4 / rpm);
152
+ }
153
+ }
154
+ const secondsMatch = rawBody.match(/retry (?:after|in)\s+(\d+)\s+seconds?/i);
155
+ if (secondsMatch) {
156
+ const seconds = Number(secondsMatch[1]);
157
+ if (Number.isFinite(seconds) && seconds > 0) {
158
+ return seconds * 1e3;
159
+ }
160
+ }
161
+ return void 0;
162
+ }
163
+ function sanitizeModelId(raw) {
164
+ return raw.replace(/\x1b\[20[01]~/g, "").replace(/\[20[01]~/g, "").replace(/[\x00-\x1f\x7f]/g, "").trim();
165
+ }
166
+ function parseRetryAfter(headers) {
167
+ if (!headers) return void 0;
168
+ const value = headers.get("retry-after");
169
+ if (!value) return void 0;
170
+ const seconds = Number(value);
171
+ if (!Number.isNaN(seconds) && seconds > 0) {
172
+ return seconds * 1e3;
173
+ }
174
+ const dateMs = Date.parse(value);
175
+ if (!Number.isNaN(dateMs)) {
176
+ const delayMs = dateMs - Date.now();
177
+ return delayMs > 0 ? delayMs : void 0;
178
+ }
179
+ return void 0;
180
+ }
181
+
182
+ export {
183
+ ApiError,
184
+ classifyApiError,
185
+ sanitizeModelId
186
+ };
187
+ /**
188
+ * @license
189
+ * Copyright 2025 Autohand AI LLC
190
+ * SPDX-License-Identifier: Apache-2.0
191
+ *
192
+ * Centralized API error classification.
193
+ *
194
+ * Every provider (OpenRouter, Azure, MLX, Ollama, LLMGateway) and every
195
+ * consumer (agent.ts, RPC adapter, ACP adapter) delegates to this module
196
+ * so error handling logic lives in one place.
197
+ */
@@ -1,17 +1,19 @@
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(); } } 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 _chunkLJD7KR3Lcjs = require('./chunk-LJD7KR3L.cjs');
3
4
 
4
- var _chunkCB4E2T5Ncjs = require('./chunk-CB4E2T5N.cjs');
5
5
 
6
6
 
7
- var _chunk7BTSG4MEcjs = require('./chunk-7BTSG4ME.cjs');
7
+ var _chunkX5P6QQOBcjs = require('./chunk-X5P6QQOB.cjs');
8
+
9
+
10
+ var _chunkSY2P3Z5Wcjs = require('./chunk-SY2P3Z5W.cjs');
8
11
 
9
12
  // src/commands/sync.ts
10
- var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
11
13
  var _readline = require('readline'); var _readline2 = _interopRequireDefault(_readline);
12
14
  var metadata = {
13
15
  command: "/sync",
14
- description: _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.description"),
16
+ description: _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.sync.description"),
15
17
  implemented: true
16
18
  };
17
19
  var globalSyncService = null;
@@ -22,11 +24,12 @@ function getSyncService() {
22
24
  return globalSyncService;
23
25
  }
24
26
  async function sync(ctx) {
25
- const config = await _chunkCB4E2T5Ncjs.loadConfig.call(void 0, );
27
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, );
26
28
  const isLoggedIn = Boolean(_optionalChain([config, 'access', _ => _.auth, 'optionalAccess', _2 => _2.token]) && _optionalChain([config, 'access', _3 => _3.auth, 'optionalAccess', _4 => _4.user]));
27
29
  if (!isLoggedIn) {
28
- console.log(_chalk2.default.yellow("\nSettings sync requires authentication."));
29
- console.log(_chalk2.default.gray("Run /login to sign in and enable cloud sync.\n"));
30
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
31
+ console.log(theme.warning("\nSettings sync requires authentication."));
32
+ console.log(theme.muted("Run /login to sign in and enable cloud sync.\n"));
30
33
  return null;
31
34
  }
32
35
  const data = await gatherSyncData(ctx, config);
@@ -75,17 +78,21 @@ function renderSyncUI(data, ctx) {
75
78
  if (isTTY) {
76
79
  _readline2.default.emitKeypressEvents(input);
77
80
  if (!wasRaw && typeof input.setRawMode === "function") {
78
- input.setRawMode(true);
81
+ try {
82
+ input.setRawMode(true);
83
+ } catch (e2) {
84
+ }
79
85
  }
80
86
  if (typeof input.setEncoding === "function") {
81
87
  input.setEncoding("utf8");
82
88
  }
83
89
  }
84
90
  const render = () => {
91
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
85
92
  process.stdout.write("\x1B[2J\x1B[H");
86
93
  renderTabHeader(tabs, currentTab);
87
94
  renderTabContent(tabs[currentTab], data);
88
- console.log(_chalk2.default.gray("\nEsc to exit | Tab to cycle | s: sync now | e: toggle enabled"));
95
+ console.log(theme.muted("\nEsc to exit | Tab to cycle | s: sync now | e: toggle enabled"));
89
96
  };
90
97
  const handler = async (_str, key) => {
91
98
  const char = (_str || "").toLowerCase();
@@ -111,18 +118,19 @@ function renderSyncUI(data, ctx) {
111
118
  }
112
119
  if (char === "s") {
113
120
  if (data.syncService) {
114
- console.log(_chalk2.default.cyan("\nSyncing..."));
121
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
122
+ console.log(theme.accent("\nSyncing..."));
115
123
  try {
116
124
  const result = await data.syncService.sync();
117
125
  if (result.success) {
118
- console.log(_chalk2.default.green(`Sync complete! Uploaded: ${result.uploaded}, Downloaded: ${result.downloaded}`));
126
+ console.log(theme.success(`Sync complete! Uploaded: ${result.uploaded}, Downloaded: ${result.downloaded}`));
119
127
  } else {
120
- console.log(_chalk2.default.red(`Sync failed: ${result.error}`));
128
+ console.log(theme.error(`Sync failed: ${result.error}`));
121
129
  }
122
- const config = await _chunkCB4E2T5Ncjs.loadConfig.call(void 0, );
130
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, );
123
131
  Object.assign(data, await gatherSyncData(ctx, config));
124
132
  } catch (err) {
125
- console.log(_chalk2.default.red(`Sync error: ${err}`));
133
+ console.log(theme.error(`Sync error: ${err}`));
126
134
  }
127
135
  await sleep(1500);
128
136
  render();
@@ -131,17 +139,17 @@ function renderSyncUI(data, ctx) {
131
139
  }
132
140
  if (char === "e") {
133
141
  try {
134
- const config = await _chunkCB4E2T5Ncjs.loadConfig.call(void 0, );
142
+ const config = await _chunkX5P6QQOBcjs.loadConfig.call(void 0, );
135
143
  const newEnabled = _optionalChain([config, 'access', _16 => _16.sync, 'optionalAccess', _17 => _17.enabled]) === false;
136
144
  config.sync = { ...config.sync, enabled: newEnabled };
137
- await _chunkCB4E2T5Ncjs.saveConfig.call(void 0, config);
145
+ await _chunkX5P6QQOBcjs.saveConfig.call(void 0, config);
138
146
  data.enabled = newEnabled;
139
- console.log(_chalk2.default.cyan(`
140
- ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.disabled")}`));
147
+ console.log(_chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, ).accent(`
148
+ ${newEnabled ? _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.sync.enabled") : _chunkSY2P3Z5Wcjs.t.call(void 0, "commands.sync.disabled")}`));
141
149
  await sleep(1e3);
142
150
  render();
143
151
  } catch (err) {
144
- console.log(_chalk2.default.red(`Error toggling sync: ${err}`));
152
+ console.log(_chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, ).error(`Error toggling sync: ${err}`));
145
153
  }
146
154
  return;
147
155
  }
@@ -149,7 +157,10 @@ ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chun
149
157
  const cleanup = () => {
150
158
  input.off("keypress", handler);
151
159
  if (isTTY && !wasRaw && typeof input.setRawMode === "function") {
152
- input.setRawMode(false);
160
+ try {
161
+ input.setRawMode(false);
162
+ } catch (e3) {
163
+ }
153
164
  }
154
165
  if (wasPaused && typeof input.pause === "function") {
155
166
  input.pause();
@@ -161,10 +172,11 @@ ${newEnabled ? _chunk7BTSG4MEcjs.t.call(void 0, "commands.sync.enabled") : _chun
161
172
  });
162
173
  }
163
174
  function renderTabHeader(tabs, currentIndex) {
175
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
164
176
  const header = tabs.map((tab, i) => {
165
- return i === currentIndex ? _chalk2.default.bgWhite.black(` ${tab} `) : _chalk2.default.gray(` ${tab} `);
177
+ return i === currentIndex ? theme.selectedTab(tab) : theme.tab(tab);
166
178
  }).join(" ");
167
- console.log(`Settings Sync: ${header} ${_chalk2.default.gray("(tab to cycle)")}
179
+ console.log(`Settings Sync: ${header} ${theme.muted("(tab to cycle)")}
168
180
  `);
169
181
  }
170
182
  function renderTabContent(tab, data) {
@@ -181,49 +193,52 @@ function renderTabContent(tab, data) {
181
193
  }
182
194
  }
183
195
  function renderStatusTab(data) {
184
- console.log(_chalk2.default.bold("Sync Status\n"));
185
- const statusIcon = data.enabled ? _chalk2.default.green("\u2713") : _chalk2.default.red("\u2717");
186
- const runningIcon = data.isRunning ? _chalk2.default.green("\u2713") : _chalk2.default.yellow("\u25CB");
187
- console.log(` ${_chalk2.default.cyan("Enabled".padEnd(20))} ${statusIcon} ${data.enabled ? "Yes" : "No"}`);
188
- console.log(` ${_chalk2.default.cyan("Service Running".padEnd(20))} ${runningIcon} ${data.isRunning ? "Yes" : "No"}`);
189
- console.log(` ${_chalk2.default.cyan("Last Sync".padEnd(20))} ${data.lastSync ? formatDate(data.lastSync) : _chalk2.default.gray("Never")}`);
190
- console.log(` ${_chalk2.default.cyan("Files Tracked".padEnd(20))} ${data.fileCount}`);
191
- console.log(` ${_chalk2.default.cyan("Total Size".padEnd(20))} ${formatSize(data.totalSize)}`);
192
- console.log(` ${_chalk2.default.cyan("Sync Interval".padEnd(20))} ${formatInterval(data.interval)}`);
196
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
197
+ console.log(theme.bold("Sync Status\n"));
198
+ const statusIcon = data.enabled ? theme.success("\u2713") : theme.error("\u2717");
199
+ const runningIcon = data.isRunning ? theme.success("\u2713") : theme.warning("\u25CB");
200
+ console.log(` ${theme.accent("Enabled".padEnd(20))} ${statusIcon} ${data.enabled ? "Yes" : "No"}`);
201
+ console.log(` ${theme.accent("Service Running".padEnd(20))} ${runningIcon} ${data.isRunning ? "Yes" : "No"}`);
202
+ console.log(` ${theme.accent("Last Sync".padEnd(20))} ${data.lastSync ? formatDate(data.lastSync) : theme.muted("Never")}`);
203
+ console.log(` ${theme.accent("Files Tracked".padEnd(20))} ${data.fileCount}`);
204
+ console.log(` ${theme.accent("Total Size".padEnd(20))} ${formatSize(data.totalSize)}`);
205
+ console.log(` ${theme.accent("Sync Interval".padEnd(20))} ${formatInterval(data.interval)}`);
193
206
  }
194
207
  function renderSettingsTab(data) {
195
- console.log(_chalk2.default.bold("Sync Settings\n"));
196
- console.log(` ${_chalk2.default.cyan("Enabled".padEnd(25))} ${data.enabled ? _chalk2.default.green("true") : _chalk2.default.gray("false")}`);
197
- console.log(` ${_chalk2.default.cyan("Interval".padEnd(25))} ${formatInterval(data.interval)}`);
198
- console.log(` ${_chalk2.default.cyan("Include Telemetry".padEnd(25))} ${data.includeTelemetry ? _chalk2.default.green("true") : _chalk2.default.gray("false")}`);
199
- console.log(` ${_chalk2.default.cyan("Include Feedback".padEnd(25))} ${data.includeFeedback ? _chalk2.default.green("true") : _chalk2.default.gray("false")}`);
200
- console.log(_chalk2.default.bold("\nWhat Gets Synced\n"));
201
- console.log(_chalk2.default.gray(" \u2713 config.json (API keys encrypted)"));
202
- console.log(_chalk2.default.gray(" \u2713 agents/ (custom agents)"));
203
- console.log(_chalk2.default.gray(" \u2713 skills/ (custom skills)"));
204
- console.log(_chalk2.default.gray(" \u2713 hooks/ (user hooks)"));
205
- console.log(_chalk2.default.gray(" \u2713 memory/ (user memory)"));
206
- console.log(_chalk2.default.gray(" \u2713 sessions/ (session history)"));
207
- console.log(_chalk2.default.gray(" \u2713 projects/ (project knowledge)"));
208
- console.log(_chalk2.default.bold("\nNot Synced\n"));
209
- console.log(_chalk2.default.gray(" \u2717 device-id (unique per device)"));
210
- console.log(_chalk2.default.gray(" \u2717 error.log (local only)"));
211
- console.log(_chalk2.default.gray(" \u2717 version-*.json (cache files)"));
208
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
209
+ console.log(theme.bold("Sync Settings\n"));
210
+ console.log(` ${theme.accent("Enabled".padEnd(25))} ${data.enabled ? theme.success("true") : theme.muted("false")}`);
211
+ console.log(` ${theme.accent("Interval".padEnd(25))} ${formatInterval(data.interval)}`);
212
+ console.log(` ${theme.accent("Include Telemetry".padEnd(25))} ${data.includeTelemetry ? theme.success("true") : theme.muted("false")}`);
213
+ console.log(` ${theme.accent("Include Feedback".padEnd(25))} ${data.includeFeedback ? theme.success("true") : theme.muted("false")}`);
214
+ console.log(theme.bold("\nWhat Gets Synced\n"));
215
+ console.log(theme.muted(" \u2713 config.json (API keys encrypted)"));
216
+ console.log(theme.muted(" \u2713 agents/ (custom agents)"));
217
+ console.log(theme.muted(" \u2713 skills/ (custom skills)"));
218
+ console.log(theme.muted(" \u2713 hooks/ (user hooks)"));
219
+ console.log(theme.muted(" \u2713 memory/ (user memory)"));
220
+ console.log(theme.muted(" \u2713 sessions/ (session history)"));
221
+ console.log(theme.muted(" \u2713 projects/ (project knowledge)"));
222
+ console.log(theme.bold("\nNot Synced\n"));
223
+ console.log(theme.muted(" \u2717 device-id (unique per device)"));
224
+ console.log(theme.muted(" \u2717 error.log (local only)"));
225
+ console.log(theme.muted(" \u2717 version-*.json (cache files)"));
212
226
  }
213
227
  function renderActivityTab(data) {
214
- console.log(_chalk2.default.bold("Recent Sync Activity\n"));
228
+ const theme = _chunkLJD7KR3Lcjs.createCommandTheme.call(void 0, );
229
+ console.log(theme.bold("Recent Sync Activity\n"));
215
230
  if (!data.lastSync) {
216
- console.log(_chalk2.default.gray(" No sync activity yet."));
217
- console.log(_chalk2.default.gray(' Press "s" to trigger a manual sync.'));
231
+ console.log(theme.muted(" No sync activity yet."));
232
+ console.log(theme.muted(' Press "s" to trigger a manual sync.'));
218
233
  return;
219
234
  }
220
- console.log(` ${_chalk2.default.cyan("Last successful sync:")} ${formatDate(data.lastSync)}`);
221
- console.log(` ${_chalk2.default.cyan("Files synced:")} ${data.fileCount}`);
222
- console.log(` ${_chalk2.default.cyan("Data transferred:")} ${formatSize(data.totalSize)}`);
223
- console.log(_chalk2.default.bold("\nTips\n"));
224
- console.log(_chalk2.default.gray(" - Sync runs automatically every 5 minutes"));
225
- console.log(_chalk2.default.gray(' - Press "s" anytime to trigger a manual sync'));
226
- console.log(_chalk2.default.gray(" - Cloud data takes priority on conflicts"));
235
+ console.log(` ${theme.accent("Last successful sync:")} ${formatDate(data.lastSync)}`);
236
+ console.log(` ${theme.accent("Files synced:")} ${data.fileCount}`);
237
+ console.log(` ${theme.accent("Data transferred:")} ${formatSize(data.totalSize)}`);
238
+ console.log(theme.bold("\nTips\n"));
239
+ console.log(theme.muted(" - Sync runs automatically every 5 minutes"));
240
+ console.log(theme.muted(' - Press "s" anytime to trigger a manual sync'));
241
+ console.log(theme.muted(" - Cloud data takes priority on conflicts"));
227
242
  }
228
243
  function formatDate(isoString) {
229
244
  try {
@@ -241,7 +256,7 @@ function formatDate(isoString) {
241
256
  } else {
242
257
  return date.toLocaleDateString() + " " + date.toLocaleTimeString();
243
258
  }
244
- } catch (e2) {
259
+ } catch (e4) {
245
260
  return isoString;
246
261
  }
247
262
  }
@@ -55,16 +55,16 @@ var McpStdioConnection = class _McpStdioConnection extends EventEmitter {
55
55
  super();
56
56
  this.config = config;
57
57
  this.framing = framing;
58
- this.process = null;
59
- this.lineBuffer = "";
60
- this.frameBuffer = Buffer.alloc(0);
61
- this.nextId = 1;
62
- this.pendingRequests = /* @__PURE__ */ new Map();
63
- }
64
- static {
65
- /** Default timeout for RPC requests in milliseconds */
66
- this.REQUEST_TIMEOUT_MS = 3e4;
67
58
  }
59
+ config;
60
+ framing;
61
+ process = null;
62
+ lineBuffer = "";
63
+ frameBuffer = Buffer.alloc(0);
64
+ nextId = 1;
65
+ pendingRequests = /* @__PURE__ */ new Map();
66
+ /** Default timeout for RPC requests in milliseconds */
67
+ static REQUEST_TIMEOUT_MS = 3e4;
68
68
  /**
69
69
  * Spawns the server process and sets up communication channels.
70
70
  */
@@ -319,13 +319,12 @@ var McpHttpConnection = class _McpHttpConnection extends EventEmitter {
319
319
  constructor(config) {
320
320
  super();
321
321
  this.config = config;
322
- this.nextId = 1;
323
- this.sessionId = null;
324
- }
325
- static {
326
- /** Default timeout for HTTP requests in milliseconds */
327
- this.REQUEST_TIMEOUT_MS = 3e4;
328
322
  }
323
+ config;
324
+ nextId = 1;
325
+ sessionId = null;
326
+ /** Default timeout for HTTP requests in milliseconds */
327
+ static REQUEST_TIMEOUT_MS = 3e4;
329
328
  /**
330
329
  * No-op for HTTP transport (no persistent process to start).
331
330
  */
@@ -452,10 +451,8 @@ var McpHttpConnection = class _McpHttpConnection extends EventEmitter {
452
451
  }
453
452
  };
454
453
  var McpClientManager = class {
455
- constructor() {
456
- this.servers = /* @__PURE__ */ new Map();
457
- this.connections = /* @__PURE__ */ new Map();
458
- }
454
+ servers = /* @__PURE__ */ new Map();
455
+ connections = /* @__PURE__ */ new Map();
459
456
  // ============================================================================
460
457
  // Static Helper Methods
461
458
  // ============================================================================