httpcat-cli 0.3.0 → 0.3.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +107 -0
  4. package/.github/workflows/sync-version.yml +40 -2
  5. package/README.md +128 -1685
  6. package/additions.txt +3 -0
  7. package/brand-assets/png/expressions/compact-160-dark.png +0 -0
  8. package/brand-assets/png/expressions/compact-160-light.png +0 -0
  9. package/brand-assets/png/expressions/compact-320-dark.png +0 -0
  10. package/brand-assets/png/expressions/compact-320-light.png +0 -0
  11. package/brand-assets/png/expressions/default-160-dark.png +0 -0
  12. package/brand-assets/png/expressions/default-160-light.png +0 -0
  13. package/brand-assets/png/expressions/default-320-dark.png +0 -0
  14. package/brand-assets/png/expressions/default-320-light.png +0 -0
  15. package/brand-assets/png/expressions/minimal-160-dark.png +0 -0
  16. package/brand-assets/png/expressions/minimal-160-light.png +0 -0
  17. package/brand-assets/png/expressions/minimal-320-dark.png +0 -0
  18. package/brand-assets/png/expressions/minimal-320-light.png +0 -0
  19. package/brand-assets/png/expressions/pointy-160-dark.png +0 -0
  20. package/brand-assets/png/expressions/pointy-160-light.png +0 -0
  21. package/brand-assets/png/expressions/pointy-320-dark.png +0 -0
  22. package/brand-assets/png/expressions/pointy-320-light.png +0 -0
  23. package/brand-assets/png/expressions/simplified-160-dark.png +0 -0
  24. package/brand-assets/png/expressions/simplified-160-light.png +0 -0
  25. package/brand-assets/png/expressions/simplified-320-dark.png +0 -0
  26. package/brand-assets/png/expressions/simplified-320-light.png +0 -0
  27. package/brand-assets/png/expressions/winking-160-dark.png +0 -0
  28. package/brand-assets/png/expressions/winking-160-light.png +0 -0
  29. package/brand-assets/png/expressions/winking-320-dark.png +0 -0
  30. package/brand-assets/png/expressions/winking-320-light.png +0 -0
  31. package/brand-assets/png/favicon/apple-touch-180-dark.png +0 -0
  32. package/brand-assets/png/favicon/apple-touch-180-light.png +0 -0
  33. package/brand-assets/png/favicon/favicon-16-dark.png +0 -0
  34. package/brand-assets/png/favicon/favicon-16-light.png +0 -0
  35. package/brand-assets/png/favicon/favicon-180-dark.png +0 -0
  36. package/brand-assets/png/favicon/favicon-180-light.png +0 -0
  37. package/brand-assets/png/favicon/favicon-32-dark.png +0 -0
  38. package/brand-assets/png/favicon/favicon-32-light.png +0 -0
  39. package/brand-assets/png/favicon/favicon-48-dark.png +0 -0
  40. package/brand-assets/png/favicon/favicon-48-light.png +0 -0
  41. package/brand-assets/png/favicon/v6-minimal-32-dark.png +0 -0
  42. package/brand-assets/png/favicon/v6-minimal-32-light.png +0 -0
  43. package/brand-assets/png/mark/v11-pointy-400-dark.png +0 -0
  44. package/brand-assets/png/mark/v11-pointy-400-light.png +0 -0
  45. package/brand-assets/png/mark/v12-ears-only-160-dark.png +0 -0
  46. package/brand-assets/png/mark/v12-ears-only-160-light.png +0 -0
  47. package/brand-assets/png/mark/v12-ears-only-320-dark.png +0 -0
  48. package/brand-assets/png/mark/v12-ears-only-320-light.png +0 -0
  49. package/brand-assets/png/mark/v12-ears-only-400-dark.png +0 -0
  50. package/brand-assets/png/mark/v12-ears-only-400-light.png +0 -0
  51. package/brand-assets/png/mark/v12-ears-only-80-dark.png +0 -0
  52. package/brand-assets/png/mark/v12-ears-only-80-light.png +0 -0
  53. package/brand-assets/png/mark/v5-ears-400-dark.png +0 -0
  54. package/brand-assets/png/mark/v5-ears-400-light.png +0 -0
  55. package/brand-assets/png/mark/v8-minimal-400-dark.png +0 -0
  56. package/brand-assets/png/mark/v8-minimal-400-light.png +0 -0
  57. package/brand-assets/png/og-1200x630-v2-dark.png +0 -0
  58. package/brand-assets/png/og-feral-a.png +0 -0
  59. package/brand-assets/png/og-feral-b.png +0 -0
  60. package/brand-assets/png/og-feral-c.png +0 -0
  61. package/brand-assets/png/og-feral-d.png +0 -0
  62. package/brand-assets/png/og-v2-variation-a.png +0 -0
  63. package/brand-assets/png/og-v2-variation-b.png +0 -0
  64. package/brand-assets/png/og-v2-variation-c.png +0 -0
  65. package/brand-assets/png/social/banner-cat-ticker-1500x500-dark.png +0 -0
  66. package/brand-assets/png/social/banner-cat-ticker-1500x500-light.png +0 -0
  67. package/brand-assets/png/social/og-v11-pointy-1200x630-dark.png +0 -0
  68. package/brand-assets/png/social/og-v11-pointy-1200x630-light.png +0 -0
  69. package/brand-assets/png/social/og-v12-ears-1200x630-dark.png +0 -0
  70. package/brand-assets/png/social/og-v12-ears-1200x630-light.png +0 -0
  71. package/brand-assets/png/social/og-v12-ears-1280x320-dark.png +0 -0
  72. package/brand-assets/png/social/og-v12-ticker-1200x630-dark.png +0 -0
  73. package/brand-assets/png/social/og-v12-ticker-1200x630-light.png +0 -0
  74. package/brand-assets/png/social/pfp-ears-400-dark.png +0 -0
  75. package/brand-assets/png/social/pfp-ears-400-light.png +0 -0
  76. package/brand-assets/png/social/twitter-banner-v11-1500x500-dark.png +0 -0
  77. package/brand-assets/png/social/twitter-pfp-400-dark.png +0 -0
  78. package/brand-assets/png/social/twitter-pfp-400-light.png +0 -0
  79. package/brand-assets/png/social/twitter-pfp-v11-400-dark.png +0 -0
  80. package/brand-assets/png/v12-ears-only-1000-dark.png +0 -0
  81. package/brand-assets/svg/Archive/402cat-banner-1200x400-dark.svg +13 -0
  82. package/brand-assets/svg/Archive/402cat-banner-1200x400-light.svg +13 -0
  83. package/brand-assets/svg/Archive/402cat-default-160-dark.svg +12 -0
  84. package/brand-assets/svg/Archive/402cat-default-160-light.svg +12 -0
  85. package/brand-assets/svg/Archive/402cat-excited-160-dark.svg +12 -0
  86. package/brand-assets/svg/Archive/402cat-excited-160-light.svg +12 -0
  87. package/brand-assets/svg/Archive/402cat-facilitator-160-dark.svg +12 -0
  88. package/brand-assets/svg/Archive/402cat-facilitator-160-light.svg +12 -0
  89. package/brand-assets/svg/Archive/402cat-facilitator-320-dark.svg +12 -0
  90. package/brand-assets/svg/Archive/402cat-facilitator-320-light.svg +12 -0
  91. package/brand-assets/svg/Archive/402cat-facilitator-80-dark.svg +12 -0
  92. package/brand-assets/svg/Archive/402cat-facilitator-80-light.svg +12 -0
  93. package/brand-assets/svg/Archive/402cat-favicon-16-dark.svg +10 -0
  94. package/brand-assets/svg/Archive/402cat-favicon-16-light.svg +10 -0
  95. package/brand-assets/svg/Archive/402cat-favicon-32-dark.svg +10 -0
  96. package/brand-assets/svg/Archive/402cat-favicon-32-light.svg +10 -0
  97. package/brand-assets/svg/Archive/402cat-og-1200x630-dark.svg +14 -0
  98. package/brand-assets/svg/Archive/402cat-og-1200x630-light.svg +14 -0
  99. package/brand-assets/svg/Archive/402cat-server-40-dark.svg +11 -0
  100. package/brand-assets/svg/Archive/402cat-server-40-light.svg +11 -0
  101. package/brand-assets/svg/Archive/402cat-server-80-dark.svg +11 -0
  102. package/brand-assets/svg/Archive/402cat-server-80-light.svg +11 -0
  103. package/brand-assets/svg/Archive/402cat-sleeping-160-dark.svg +13 -0
  104. package/brand-assets/svg/Archive/402cat-sleeping-160-light.svg +13 -0
  105. package/brand-assets/svg/Archive/402cat-twitter-pfp-dark.svg +12 -0
  106. package/brand-assets/svg/Archive/402cat-twitter-pfp-light.svg +12 -0
  107. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-dark.svg +8 -0
  108. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-light.svg +8 -0
  109. package/brand-assets/svg/Archive/mark/neko1-right-80-dark.svg +8 -0
  110. package/brand-assets/svg/Archive/mark/neko1-right-80-light.svg +8 -0
  111. package/brand-assets/svg/Archive/mark/neko10-pointy-80-dark.svg +8 -0
  112. package/brand-assets/svg/Archive/mark/neko10-pointy-80-light.svg +8 -0
  113. package/brand-assets/svg/Archive/mark/neko2-clean-80-dark.svg +8 -0
  114. package/brand-assets/svg/Archive/mark/neko2-clean-80-light.svg +8 -0
  115. package/brand-assets/svg/Archive/mark/neko2-left-80-dark.svg +8 -0
  116. package/brand-assets/svg/Archive/mark/neko2-left-80-light.svg +8 -0
  117. package/brand-assets/svg/Archive/mark/neko3-both-80-dark.svg +8 -0
  118. package/brand-assets/svg/Archive/mark/neko3-both-80-light.svg +8 -0
  119. package/brand-assets/svg/Archive/mark/neko3-money-80-dark.svg +8 -0
  120. package/brand-assets/svg/Archive/mark/neko3-money-80-light.svg +8 -0
  121. package/brand-assets/svg/Archive/mark/neko4-beckon-80-dark.svg +8 -0
  122. package/brand-assets/svg/Archive/mark/neko4-beckon-80-light.svg +8 -0
  123. package/brand-assets/svg/Archive/mark/neko4-coin-80-dark.svg +8 -0
  124. package/brand-assets/svg/Archive/mark/neko4-coin-80-light.svg +8 -0
  125. package/brand-assets/svg/Archive/mark/neko5-compact-80-dark.svg +8 -0
  126. package/brand-assets/svg/Archive/mark/neko5-compact-80-light.svg +8 -0
  127. package/brand-assets/svg/Archive/mark/neko5-mini-80-dark.svg +8 -0
  128. package/brand-assets/svg/Archive/mark/neko5-mini-80-light.svg +8 -0
  129. package/brand-assets/svg/Archive/mark/neko6-coin-80-dark.svg +8 -0
  130. package/brand-assets/svg/Archive/mark/neko6-coin-80-light.svg +8 -0
  131. package/brand-assets/svg/Archive/mark/neko6-money-80-dark.svg +8 -0
  132. package/brand-assets/svg/Archive/mark/neko6-money-80-light.svg +8 -0
  133. package/brand-assets/svg/Archive/mark/neko7-lucky-80-dark.svg +8 -0
  134. package/brand-assets/svg/Archive/mark/neko7-lucky-80-light.svg +8 -0
  135. package/brand-assets/svg/Archive/mark/neko7-simple-80-dark.svg +8 -0
  136. package/brand-assets/svg/Archive/mark/neko7-simple-80-light.svg +8 -0
  137. package/brand-assets/svg/Archive/mark/neko8-classic-80-dark.svg +8 -0
  138. package/brand-assets/svg/Archive/mark/neko8-classic-80-light.svg +8 -0
  139. package/brand-assets/svg/Archive/mark/neko8-mini-80-dark.svg +8 -0
  140. package/brand-assets/svg/Archive/mark/neko8-mini-80-light.svg +8 -0
  141. package/brand-assets/svg/Archive/mark/neko9-box-80-dark.svg +8 -0
  142. package/brand-assets/svg/Archive/mark/neko9-box-80-light.svg +8 -0
  143. package/brand-assets/svg/Archive/mark/v1-simplified-80-dark.svg +8 -0
  144. package/brand-assets/svg/Archive/mark/v1-simplified-80-light.svg +8 -0
  145. package/brand-assets/svg/Archive/mark/v10-bracket-80-dark.svg +8 -0
  146. package/brand-assets/svg/Archive/mark/v10-bracket-80-light.svg +8 -0
  147. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-dark.svg +8 -0
  148. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-light.svg +8 -0
  149. package/brand-assets/svg/Archive/mark/v12-face-80-dark.svg +7 -0
  150. package/brand-assets/svg/Archive/mark/v12-face-80-light.svg +7 -0
  151. package/brand-assets/svg/Archive/mark/v2-full-80-dark.svg +9 -0
  152. package/brand-assets/svg/Archive/mark/v2-full-80-light.svg +9 -0
  153. package/brand-assets/svg/Archive/mark/v3-compact-80-dark.svg +8 -0
  154. package/brand-assets/svg/Archive/mark/v3-compact-80-light.svg +8 -0
  155. package/brand-assets/svg/Archive/mark/v4-default-80-dark.svg +9 -0
  156. package/brand-assets/svg/Archive/mark/v4-default-80-light.svg +9 -0
  157. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-dark.svg +7 -0
  158. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-light.svg +7 -0
  159. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-dark.svg +7 -0
  160. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-light.svg +7 -0
  161. package/brand-assets/svg/Archive/mark/v9-box-80-dark.svg +8 -0
  162. package/brand-assets/svg/Archive/mark/v9-box-80-light.svg +8 -0
  163. package/brand-assets/svg/Archive.zip +0 -0
  164. package/brand-assets/svg/expressions/box-cat-160-dark.svg +8 -0
  165. package/brand-assets/svg/expressions/box-cat-160-light.svg +8 -0
  166. package/brand-assets/svg/expressions/bracket-160-dark.svg +8 -0
  167. package/brand-assets/svg/expressions/bracket-160-light.svg +8 -0
  168. package/brand-assets/svg/expressions/compact-160-dark.svg +8 -0
  169. package/brand-assets/svg/expressions/compact-160-light.svg +8 -0
  170. package/brand-assets/svg/expressions/default-160-dark.svg +9 -0
  171. package/brand-assets/svg/expressions/default-160-light.svg +9 -0
  172. package/brand-assets/svg/expressions/ears-bold-160-dark.svg +7 -0
  173. package/brand-assets/svg/expressions/ears-bold-160-light.svg +7 -0
  174. package/brand-assets/svg/expressions/ears-only-160-dark.svg +7 -0
  175. package/brand-assets/svg/expressions/ears-only-160-light.svg +7 -0
  176. package/brand-assets/svg/expressions/ears-wide-160-dark.svg +7 -0
  177. package/brand-assets/svg/expressions/ears-wide-160-light.svg +7 -0
  178. package/brand-assets/svg/expressions/excited-160-dark.svg +9 -0
  179. package/brand-assets/svg/expressions/excited-160-light.svg +9 -0
  180. package/brand-assets/svg/expressions/face-only-160-dark.svg +7 -0
  181. package/brand-assets/svg/expressions/face-only-160-light.svg +7 -0
  182. package/brand-assets/svg/expressions/minimal-160-dark.svg +8 -0
  183. package/brand-assets/svg/expressions/minimal-160-light.svg +8 -0
  184. package/brand-assets/svg/expressions/pointy-160-dark.svg +8 -0
  185. package/brand-assets/svg/expressions/pointy-160-light.svg +8 -0
  186. package/brand-assets/svg/expressions/simplified-160-dark.svg +8 -0
  187. package/brand-assets/svg/expressions/simplified-160-light.svg +8 -0
  188. package/brand-assets/svg/expressions/sleeping-160-dark.svg +10 -0
  189. package/brand-assets/svg/expressions/sleeping-160-light.svg +10 -0
  190. package/brand-assets/svg/expressions/winking-160-dark.svg +9 -0
  191. package/brand-assets/svg/expressions/winking-160-light.svg +9 -0
  192. package/brand-assets/svg/expressions-paths/compact-160-dark.svg +42 -0
  193. package/brand-assets/svg/expressions-paths/compact-160-light.svg +42 -0
  194. package/brand-assets/svg/expressions-paths/default-160-dark.svg +47 -0
  195. package/brand-assets/svg/expressions-paths/default-160-light.svg +47 -0
  196. package/brand-assets/svg/expressions-paths/minimal-160-dark.svg +42 -0
  197. package/brand-assets/svg/expressions-paths/minimal-160-light.svg +42 -0
  198. package/brand-assets/svg/expressions-paths/pointy-160-dark.svg +42 -0
  199. package/brand-assets/svg/expressions-paths/pointy-160-light.svg +42 -0
  200. package/brand-assets/svg/expressions-paths/simplified-160-dark.svg +42 -0
  201. package/brand-assets/svg/expressions-paths/simplified-160-light.svg +42 -0
  202. package/brand-assets/svg/expressions-paths/winking-160-dark.svg +47 -0
  203. package/brand-assets/svg/expressions-paths/winking-160-light.svg +47 -0
  204. package/brand-assets/svg/favicon/apple-touch-180-dark.svg +8 -0
  205. package/brand-assets/svg/favicon/apple-touch-180-light.svg +8 -0
  206. package/brand-assets/svg/favicon/favicon-16-dark.svg +8 -0
  207. package/brand-assets/svg/favicon/favicon-16-light.svg +8 -0
  208. package/brand-assets/svg/favicon/favicon-32-dark.svg +11 -0
  209. package/brand-assets/svg/favicon/favicon-32-light.svg +11 -0
  210. package/brand-assets/svg/favicon/favicon-48-dark.svg +8 -0
  211. package/brand-assets/svg/favicon/favicon-48-light.svg +8 -0
  212. package/brand-assets/svg/favicon/v11-pointy-path-16-dark.svg +18 -0
  213. package/brand-assets/svg/favicon/v11-pointy-path-32-dark.svg +19 -0
  214. package/brand-assets/svg/favicon/v4-ears-32-dark.svg +7 -0
  215. package/brand-assets/svg/favicon/v4-ears-32-light.svg +7 -0
  216. package/brand-assets/svg/favicon/v5-pointy-32-dark.svg +8 -0
  217. package/brand-assets/svg/favicon/v5-pointy-32-light.svg +8 -0
  218. package/brand-assets/svg/favicon/v6-minimal-32-dark.svg +8 -0
  219. package/brand-assets/svg/favicon/v6-minimal-32-light.svg +8 -0
  220. package/brand-assets/svg/favicon/v7-ears-only-32-dark.svg +5 -0
  221. package/brand-assets/svg/favicon/v7-ears-only-32-light.svg +5 -0
  222. package/brand-assets/svg/favicon-paths/v12-ears-only-16-dark.svg +4 -0
  223. package/brand-assets/svg/favicon-paths/v12-ears-only-16-light.svg +4 -0
  224. package/brand-assets/svg/favicon-paths/v12-ears-only-48-dark.svg +4 -0
  225. package/brand-assets/svg/favicon-paths/v12-ears-only-48-light.svg +4 -0
  226. package/brand-assets/svg/favicon-paths/v12-ears-only-96-dark.svg +4 -0
  227. package/brand-assets/svg/favicon-paths/v12-ears-only-96-light.svg +4 -0
  228. package/brand-assets/svg/favicon-paths/v6-minimal-32-dark.svg +42 -0
  229. package/brand-assets/svg/favicon-paths/v6-minimal-32-light.svg +42 -0
  230. package/brand-assets/svg/favicon-paths/v7-ears-only-32-dark.svg +34 -0
  231. package/brand-assets/svg/favicon-paths/v7-ears-only-32-light.svg +34 -0
  232. package/brand-assets/svg/mark/facilitator-160-dark.svg +11 -0
  233. package/brand-assets/svg/mark/facilitator-160-light.svg +11 -0
  234. package/brand-assets/svg/mark/facilitator-320-dark.svg +12 -0
  235. package/brand-assets/svg/mark/facilitator-320-light.svg +12 -0
  236. package/brand-assets/svg/mark/facilitator-40-dark.svg +11 -0
  237. package/brand-assets/svg/mark/facilitator-40-light.svg +11 -0
  238. package/brand-assets/svg/mark/facilitator-44-dark.svg +8 -0
  239. package/brand-assets/svg/mark/facilitator-44-light.svg +8 -0
  240. package/brand-assets/svg/mark/facilitator-72-dark.svg +8 -0
  241. package/brand-assets/svg/mark/facilitator-72-light.svg +8 -0
  242. package/brand-assets/svg/mark/facilitator-80-dark.svg +11 -0
  243. package/brand-assets/svg/mark/facilitator-80-light.svg +11 -0
  244. package/brand-assets/svg/mark/facilitator-ears-44-dark.svg +7 -0
  245. package/brand-assets/svg/mark/facilitator-ears-44-light.svg +7 -0
  246. package/brand-assets/svg/mark/facilitator-ears-72-dark.svg +7 -0
  247. package/brand-assets/svg/mark/facilitator-ears-72-light.svg +7 -0
  248. package/brand-assets/svg/mark/facilitator-pointy-44-dark.svg +8 -0
  249. package/brand-assets/svg/mark/facilitator-pointy-44-light.svg +8 -0
  250. package/brand-assets/svg/mark/facilitator-pointy-72-dark.svg +8 -0
  251. package/brand-assets/svg/mark/facilitator-pointy-72-light.svg +8 -0
  252. package/brand-assets/svg/mark/v11-pointy-80-dark.svg +8 -0
  253. package/brand-assets/svg/mark/v11-pointy-80-light.svg +8 -0
  254. package/brand-assets/svg/mark/v11-pointy-path-160-dark.svg +13 -0
  255. package/brand-assets/svg/mark/v11-pointy-path-180-dark.svg +13 -0
  256. package/brand-assets/svg/mark/v11-pointy-path-320-dark.svg +13 -0
  257. package/brand-assets/svg/mark/v11-pointy-path-40-dark.svg +13 -0
  258. package/brand-assets/svg/mark/v11-pointy-path-80-dark.svg +26 -0
  259. package/brand-assets/svg/mark/v11-pointy-path-80-light.svg +26 -0
  260. package/brand-assets/svg/mark/v11-pointy-path-transparent.svg +25 -0
  261. package/brand-assets/svg/mark/v12-ears-only-1000-dark.svg +7 -0
  262. package/brand-assets/svg/mark/v12-ears-only-80-dark.svg +7 -0
  263. package/brand-assets/svg/mark/v12-ears-only-80-light.svg +7 -0
  264. package/brand-assets/svg/mark/v5-ears-80-dark.svg +7 -0
  265. package/brand-assets/svg/mark/v5-ears-80-light.svg +7 -0
  266. package/brand-assets/svg/mark/v8-minimal-80-dark.svg +8 -0
  267. package/brand-assets/svg/mark/v8-minimal-80-light.svg +8 -0
  268. package/brand-assets/svg/mark-paths/facilitator-80-dark.svg +46 -0
  269. package/brand-assets/svg/mark-paths/v12-ears-only-160-dark.svg +4 -0
  270. package/brand-assets/svg/mark-paths/v12-ears-only-160-light.svg +4 -0
  271. package/brand-assets/svg/mark-paths/v12-ears-only-180-dark.svg +4 -0
  272. package/brand-assets/svg/mark-paths/v12-ears-only-180-light.svg +4 -0
  273. package/brand-assets/svg/mark-paths/v12-ears-only-320-dark.svg +4 -0
  274. package/brand-assets/svg/mark-paths/v12-ears-only-320-light.svg +4 -0
  275. package/brand-assets/svg/mark-paths/v12-ears-only-40-dark.svg +4 -0
  276. package/brand-assets/svg/mark-paths/v12-ears-only-40-light.svg +4 -0
  277. package/brand-assets/svg/mark-paths/v12-ears-only-80-dark.svg +37 -0
  278. package/brand-assets/svg/mark-paths/v12-ears-only-80-light.svg +37 -0
  279. package/brand-assets/svg/mark-paths/v12-ears-only-transparent.svg +4 -0
  280. package/brand-assets/svg/server/icon-40-dark.svg +8 -0
  281. package/brand-assets/svg/server/icon-40-light.svg +8 -0
  282. package/brand-assets/svg/server/icon-80-dark.svg +8 -0
  283. package/brand-assets/svg/server/icon-80-light.svg +8 -0
  284. package/brand-assets/svg/social/banner-1200x400-dark.svg +14 -0
  285. package/brand-assets/svg/social/banner-1200x400-light.svg +14 -0
  286. package/brand-assets/svg/social/banner-cat-ticker-1500x500-dark.svg +7 -0
  287. package/brand-assets/svg/social/banner-cat-ticker-1500x500-light.svg +7 -0
  288. package/brand-assets/svg/social/banner-cat1-left-dark.svg +10 -0
  289. package/brand-assets/svg/social/banner-cat1-left-light.svg +10 -0
  290. package/brand-assets/svg/social/banner-cat2-right-dark.svg +10 -0
  291. package/brand-assets/svg/social/banner-cat2-right-light.svg +10 -0
  292. package/brand-assets/svg/social/banner-cat3-stacked-dark.svg +9 -0
  293. package/brand-assets/svg/social/banner-cat3-stacked-light.svg +9 -0
  294. package/brand-assets/svg/social/banner-cat4-wordmark-dark.svg +8 -0
  295. package/brand-assets/svg/social/banner-cat4-wordmark-light.svg +8 -0
  296. package/brand-assets/svg/social/banner-cc1-left-dark.svg +10 -0
  297. package/brand-assets/svg/social/banner-cc1-left-light.svg +10 -0
  298. package/brand-assets/svg/social/banner-cc2-right-dark.svg +10 -0
  299. package/brand-assets/svg/social/banner-cc2-right-light.svg +10 -0
  300. package/brand-assets/svg/social/banner-cc3-stacked-dark.svg +9 -0
  301. package/brand-assets/svg/social/banner-cc3-stacked-light.svg +9 -0
  302. package/brand-assets/svg/social/banner-cc4-centered-dark.svg +9 -0
  303. package/brand-assets/svg/social/banner-cc4-centered-light.svg +9 -0
  304. package/brand-assets/svg/social/banner-cc5-right-big-dark.svg +9 -0
  305. package/brand-assets/svg/social/banner-cc5-right-big-light.svg +9 -0
  306. package/brand-assets/svg/social/banner-cc6-ears-right-dark.svg +8 -0
  307. package/brand-assets/svg/social/banner-cc6-ears-right-light.svg +8 -0
  308. package/brand-assets/svg/social/banner-cc7-wordmark-dark.svg +8 -0
  309. package/brand-assets/svg/social/banner-cc7-wordmark-light.svg +8 -0
  310. package/brand-assets/svg/social/banner-cc8-minimal-dark.svg +9 -0
  311. package/brand-assets/svg/social/banner-cc8-minimal-light.svg +9 -0
  312. package/brand-assets/svg/social/banner-cc9-dramatic-dark.svg +9 -0
  313. package/brand-assets/svg/social/banner-cc9-dramatic-light.svg +9 -0
  314. package/brand-assets/svg/social/banner-ccat1-left-dark.svg +10 -0
  315. package/brand-assets/svg/social/banner-ccat1-left-light.svg +10 -0
  316. package/brand-assets/svg/social/banner-ccat2-right-dark.svg +10 -0
  317. package/brand-assets/svg/social/banner-ccat2-right-light.svg +10 -0
  318. package/brand-assets/svg/social/banner-ccat3-stacked-dark.svg +9 -0
  319. package/brand-assets/svg/social/banner-ccat3-stacked-light.svg +9 -0
  320. package/brand-assets/svg/social/banner-ccat4-wordmark-dark.svg +8 -0
  321. package/brand-assets/svg/social/banner-ccat4-wordmark-light.svg +8 -0
  322. package/brand-assets/svg/social/banner-sn1-snuggle-dark.svg +10 -0
  323. package/brand-assets/svg/social/banner-sn1-snuggle-light.svg +10 -0
  324. package/brand-assets/svg/social/banner-sn2-snuggle-big-dark.svg +9 -0
  325. package/brand-assets/svg/social/banner-sn2-snuggle-big-light.svg +9 -0
  326. package/brand-assets/svg/social/banner-sn3-snuggle-centered-dark.svg +10 -0
  327. package/brand-assets/svg/social/banner-sn3-snuggle-centered-light.svg +10 -0
  328. package/brand-assets/svg/social/banner-sn4-snuggle-simple-dark.svg +9 -0
  329. package/brand-assets/svg/social/banner-sn4-snuggle-simple-light.svg +9 -0
  330. package/brand-assets/svg/social/banner-sn5-snuggle-compact-dark.svg +9 -0
  331. package/brand-assets/svg/social/banner-sn5-snuggle-compact-light.svg +9 -0
  332. package/brand-assets/svg/social/banner-v1-left-dark.svg +10 -0
  333. package/brand-assets/svg/social/banner-v1-left-light.svg +10 -0
  334. package/brand-assets/svg/social/banner-v10-dramatic-dark.svg +9 -0
  335. package/brand-assets/svg/social/banner-v10-dramatic-light.svg +9 -0
  336. package/brand-assets/svg/social/banner-v11-bold-right-dark.svg +8 -0
  337. package/brand-assets/svg/social/banner-v11-bold-right-light.svg +8 -0
  338. package/brand-assets/svg/social/banner-v12-pointy-right-dark.svg +9 -0
  339. package/brand-assets/svg/social/banner-v12-pointy-right-light.svg +9 -0
  340. package/brand-assets/svg/social/banner-v13-ears-twitter-dark.svg +8 -0
  341. package/brand-assets/svg/social/banner-v13-ears-twitter-light.svg +8 -0
  342. package/brand-assets/svg/social/banner-v14-bold-twitter-dark.svg +8 -0
  343. package/brand-assets/svg/social/banner-v14-bold-twitter-light.svg +8 -0
  344. package/brand-assets/svg/social/banner-v15-pointy-twitter-dark.svg +9 -0
  345. package/brand-assets/svg/social/banner-v15-pointy-twitter-light.svg +9 -0
  346. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-dark.svg +9 -0
  347. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-light.svg +9 -0
  348. package/brand-assets/svg/social/banner-v17-bold-twitter-big-dark.svg +8 -0
  349. package/brand-assets/svg/social/banner-v17-bold-twitter-big-light.svg +8 -0
  350. package/brand-assets/svg/social/banner-v2-right-dark.svg +10 -0
  351. package/brand-assets/svg/social/banner-v2-right-light.svg +10 -0
  352. package/brand-assets/svg/social/banner-v3-stacked-dark.svg +9 -0
  353. package/brand-assets/svg/social/banner-v3-stacked-light.svg +9 -0
  354. package/brand-assets/svg/social/banner-v4-minimal-dark.svg +9 -0
  355. package/brand-assets/svg/social/banner-v4-minimal-light.svg +9 -0
  356. package/brand-assets/svg/social/banner-v5-right-far-dark.svg +10 -0
  357. package/brand-assets/svg/social/banner-v5-right-far-light.svg +10 -0
  358. package/brand-assets/svg/social/banner-v6-right-big-dark.svg +9 -0
  359. package/brand-assets/svg/social/banner-v6-right-big-light.svg +9 -0
  360. package/brand-assets/svg/social/banner-v7-centered-dark.svg +9 -0
  361. package/brand-assets/svg/social/banner-v7-centered-light.svg +9 -0
  362. package/brand-assets/svg/social/banner-v8-wordmark-dark.svg +8 -0
  363. package/brand-assets/svg/social/banner-v8-wordmark-light.svg +8 -0
  364. package/brand-assets/svg/social/banner-v9-ears-right-dark.svg +8 -0
  365. package/brand-assets/svg/social/banner-v9-ears-right-light.svg +8 -0
  366. package/brand-assets/svg/social/og-1200x630-dark.svg +16 -0
  367. package/brand-assets/svg/social/og-1200x630-light.svg +16 -0
  368. package/brand-assets/svg/social/og-1200x630-v2-dark.svg +73 -0
  369. package/brand-assets/svg/social/og-box-centered-dark.svg +10 -0
  370. package/brand-assets/svg/social/og-box-centered-light.svg +10 -0
  371. package/brand-assets/svg/social/og-cat1-centered-dark.svg +10 -0
  372. package/brand-assets/svg/social/og-cat1-centered-light.svg +10 -0
  373. package/brand-assets/svg/social/og-cat2-hero-dark.svg +11 -0
  374. package/brand-assets/svg/social/og-cat2-hero-light.svg +11 -0
  375. package/brand-assets/svg/social/og-cat3-minimal-dark.svg +10 -0
  376. package/brand-assets/svg/social/og-cat3-minimal-light.svg +10 -0
  377. package/brand-assets/svg/social/og-cc1-centered-dark.svg +11 -0
  378. package/brand-assets/svg/social/og-cc1-centered-light.svg +11 -0
  379. package/brand-assets/svg/social/og-cc2-hero-dark.svg +10 -0
  380. package/brand-assets/svg/social/og-cc2-hero-light.svg +10 -0
  381. package/brand-assets/svg/social/og-cc3-minimal-dark.svg +10 -0
  382. package/brand-assets/svg/social/og-cc3-minimal-light.svg +10 -0
  383. package/brand-assets/svg/social/og-cc4-split-dark.svg +11 -0
  384. package/brand-assets/svg/social/og-cc4-split-light.svg +11 -0
  385. package/brand-assets/svg/social/og-feral-a.svg +68 -0
  386. package/brand-assets/svg/social/og-feral-b.svg +80 -0
  387. package/brand-assets/svg/social/og-feral-c.svg +73 -0
  388. package/brand-assets/svg/social/og-feral-d.svg +63 -0
  389. package/brand-assets/svg/social/og-minimal-centered-dark.svg +10 -0
  390. package/brand-assets/svg/social/og-minimal-centered-light.svg +10 -0
  391. package/brand-assets/svg/social/og-neko1-kawaii-dark.svg +10 -0
  392. package/brand-assets/svg/social/og-neko1-kawaii-light.svg +10 -0
  393. package/brand-assets/svg/social/og-neko2-money-dark.svg +10 -0
  394. package/brand-assets/svg/social/og-neko2-money-light.svg +10 -0
  395. package/brand-assets/svg/social/og-neko3-lucky-dark.svg +10 -0
  396. package/brand-assets/svg/social/og-neko3-lucky-light.svg +10 -0
  397. package/brand-assets/svg/social/og-neko4-clean-dark.svg +10 -0
  398. package/brand-assets/svg/social/og-neko4-clean-light.svg +10 -0
  399. package/brand-assets/svg/social/og-pointy-hero-dark.svg +10 -0
  400. package/brand-assets/svg/social/og-pointy-hero-light.svg +10 -0
  401. package/brand-assets/svg/social/og-v1-centered-dark.svg +11 -0
  402. package/brand-assets/svg/social/og-v1-centered-light.svg +11 -0
  403. package/brand-assets/svg/social/og-v11-pointy-1200x630-dark.svg +38 -0
  404. package/brand-assets/svg/social/og-v11-pointy-1200x630-light.svg +38 -0
  405. package/brand-assets/svg/social/og-v12-ears-1200x630-dark.svg +5 -0
  406. package/brand-assets/svg/social/og-v12-ears-1200x630-light.svg +5 -0
  407. package/brand-assets/svg/social/og-v12-ticker-1200x630-dark.svg +6 -0
  408. package/brand-assets/svg/social/og-v12-ticker-1200x630-light.svg +6 -0
  409. package/brand-assets/svg/social/og-v2-split-dark.svg +11 -0
  410. package/brand-assets/svg/social/og-v2-split-light.svg +11 -0
  411. package/brand-assets/svg/social/og-v2-variation-a.svg +74 -0
  412. package/brand-assets/svg/social/og-v2-variation-b.svg +63 -0
  413. package/brand-assets/svg/social/og-v2-variation-c.svg +71 -0
  414. package/brand-assets/svg/social/og-v3-hero-dark.svg +11 -0
  415. package/brand-assets/svg/social/og-v3-hero-light.svg +11 -0
  416. package/brand-assets/svg/social/og-v4-minimal-dark.svg +10 -0
  417. package/brand-assets/svg/social/og-v4-minimal-light.svg +10 -0
  418. package/brand-assets/svg/social/pfp-ears-400-dark.svg +5 -0
  419. package/brand-assets/svg/social/pfp-ears-400-light.svg +5 -0
  420. package/brand-assets/svg/social/pfp-v5-pointy-dark.svg +8 -0
  421. package/brand-assets/svg/social/pfp-v5-pointy-light.svg +8 -0
  422. package/brand-assets/svg/social/twitter-banner-v11-1500x500-dark.svg +35 -0
  423. package/brand-assets/svg/social/twitter-pfp-400-dark.svg +12 -0
  424. package/brand-assets/svg/social/twitter-pfp-400-light.svg +12 -0
  425. package/brand-assets/svg/social/twitter-pfp-v11-400-dark.svg +20 -0
  426. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-dark.svg +44 -0
  427. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-light.svg +44 -0
  428. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-dark.svg +34 -0
  429. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-light.svg +34 -0
  430. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-dark.svg +39 -0
  431. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-light.svg +39 -0
  432. package/brand-assets/svg/social-paths/pfp-ears-400-dark.svg +35 -0
  433. package/brand-assets/svg/social-paths/pfp-ears-400-light.svg +35 -0
  434. package/brand-assets/svg/social-paths/twitter-pfp-400-dark.svg +51 -0
  435. package/brand-assets/svg/social-paths/twitter-pfp-400-light.svg +51 -0
  436. package/brand-assets/svg/web/apple-touch-icon-180.svg +4 -0
  437. package/brand-assets/svg/web/favicon-32-dark.svg +4 -0
  438. package/brand-assets/svg/web/favicon-32-light.svg +4 -0
  439. package/brand-assets/svg/web/mark-80-alert.svg +4 -0
  440. package/brand-assets/svg/web/mark-80-dark.svg +4 -0
  441. package/brand-assets/svg/web/mark-80-light.svg +4 -0
  442. package/brand-assets/svg/web/mark-80-success.svg +4 -0
  443. package/brand-assets/svg/web/mark-80-wink.svg +4 -0
  444. package/brand-assets/svg/web/og-image-1200x630.svg +13 -0
  445. package/bun.lock +260 -25
  446. package/dist/agent/autonomous-trader.d.ts.map +1 -0
  447. package/dist/agent/autonomous-trader.js +362 -0
  448. package/dist/agent/autonomous-trader.js.map +1 -0
  449. package/dist/agent/ax-agent.d.ts.map +1 -1
  450. package/dist/agent/ax-agent.js +356 -18
  451. package/dist/agent/ax-agent.js.map +1 -1
  452. package/dist/agent/event-client.d.ts.map +1 -0
  453. package/dist/agent/event-client.js +82 -0
  454. package/dist/agent/event-client.js.map +1 -0
  455. package/dist/agent/log-stream.d.ts.map +1 -0
  456. package/dist/agent/log-stream.js +95 -0
  457. package/dist/agent/log-stream.js.map +1 -0
  458. package/dist/agent/memory/conversation-session.d.ts.map +1 -0
  459. package/dist/agent/memory/conversation-session.js +232 -0
  460. package/dist/agent/memory/conversation-session.js.map +1 -0
  461. package/dist/agent/memory/conversation-store.d.ts.map +1 -0
  462. package/dist/agent/memory/conversation-store.js +214 -0
  463. package/dist/agent/memory/conversation-store.js.map +1 -0
  464. package/dist/agent/memory/database-schema.d.ts.map +1 -0
  465. package/dist/agent/memory/database-schema.js +355 -0
  466. package/dist/agent/memory/database-schema.js.map +1 -0
  467. package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
  468. package/dist/agent/memory/decision-tracker.js +274 -0
  469. package/dist/agent/memory/decision-tracker.js.map +1 -0
  470. package/dist/agent/memory/memory-manager.d.ts.map +1 -0
  471. package/dist/agent/memory/memory-manager.js +187 -0
  472. package/dist/agent/memory/memory-manager.js.map +1 -0
  473. package/dist/agent/memory/types.d.ts.map +1 -0
  474. package/dist/agent/memory/types.js +5 -0
  475. package/dist/agent/memory/types.js.map +1 -0
  476. package/dist/agent/message-formatter.d.ts.map +1 -0
  477. package/dist/agent/message-formatter.js +76 -0
  478. package/dist/agent/message-formatter.js.map +1 -0
  479. package/dist/agent/position-db.d.ts.map +1 -0
  480. package/dist/agent/position-db.js +154 -0
  481. package/dist/agent/position-db.js.map +1 -0
  482. package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
  483. package/dist/agent/simple-chat-ui-static.js +129 -0
  484. package/dist/agent/simple-chat-ui-static.js.map +1 -0
  485. package/dist/agent/simple-chat-ui.d.ts.map +1 -0
  486. package/dist/agent/simple-chat-ui.js +90 -0
  487. package/dist/agent/simple-chat-ui.js.map +1 -0
  488. package/dist/agent/tools.d.ts.map +1 -1
  489. package/dist/agent/tools.js +297 -4
  490. package/dist/agent/tools.js.map +1 -1
  491. package/dist/agent/ui.d.ts.map +1 -0
  492. package/dist/agent/ui.js +84 -0
  493. package/dist/agent/ui.js.map +1 -0
  494. package/dist/agent/unified-runtime.d.ts.map +1 -0
  495. package/dist/agent/unified-runtime.js +397 -0
  496. package/dist/agent/unified-runtime.js.map +1 -0
  497. package/dist/client.d.ts.map +1 -1
  498. package/dist/client.js +274 -21
  499. package/dist/client.js.map +1 -1
  500. package/dist/commands/account.d.ts.map +1 -1
  501. package/dist/commands/account.js +187 -33
  502. package/dist/commands/account.js.map +1 -1
  503. package/dist/commands/agent.d.ts.map +1 -0
  504. package/dist/commands/agent.js +125 -0
  505. package/dist/commands/agent.js.map +1 -0
  506. package/dist/commands/approve.d.ts.map +1 -0
  507. package/dist/commands/approve.js +505 -0
  508. package/dist/commands/approve.js.map +1 -0
  509. package/dist/commands/automation.d.ts.map +1 -0
  510. package/dist/commands/automation.js +346 -0
  511. package/dist/commands/automation.js.map +1 -0
  512. package/dist/commands/balances.d.ts.map +1 -1
  513. package/dist/commands/balances.js +226 -73
  514. package/dist/commands/balances.js.map +1 -1
  515. package/dist/commands/buy.d.ts.map +1 -1
  516. package/dist/commands/buy.js +149 -146
  517. package/dist/commands/buy.js.map +1 -1
  518. package/dist/commands/call.d.ts.map +1 -0
  519. package/dist/commands/call.js +51 -0
  520. package/dist/commands/call.js.map +1 -0
  521. package/dist/commands/cex.d.ts.map +1 -0
  522. package/dist/commands/cex.js +958 -0
  523. package/dist/commands/cex.js.map +1 -0
  524. package/dist/commands/chat.d.ts.map +1 -1
  525. package/dist/commands/chat.js +169 -411
  526. package/dist/commands/chat.js.map +1 -1
  527. package/dist/commands/claim.d.ts.map +1 -1
  528. package/dist/commands/claim.js +313 -29
  529. package/dist/commands/claim.js.map +1 -1
  530. package/dist/commands/create.d.ts.map +1 -1
  531. package/dist/commands/create.js +151 -43
  532. package/dist/commands/create.js.map +1 -1
  533. package/dist/commands/gasless-swap.d.ts.map +1 -0
  534. package/dist/commands/gasless-swap.js +232 -0
  535. package/dist/commands/gasless-swap.js.map +1 -0
  536. package/dist/commands/health.d.ts.map +1 -1
  537. package/dist/commands/health.js +63 -7
  538. package/dist/commands/health.js.map +1 -1
  539. package/dist/commands/info.d.ts.map +1 -1
  540. package/dist/commands/info.js +131 -47
  541. package/dist/commands/info.js.map +1 -1
  542. package/dist/commands/launchpad.d.ts.map +1 -0
  543. package/dist/commands/launchpad.js +708 -0
  544. package/dist/commands/launchpad.js.map +1 -0
  545. package/dist/commands/list.d.ts.map +1 -1
  546. package/dist/commands/list.js +57 -23
  547. package/dist/commands/list.js.map +1 -1
  548. package/dist/commands/market.d.ts.map +1 -0
  549. package/dist/commands/market.js +960 -0
  550. package/dist/commands/market.js.map +1 -0
  551. package/dist/commands/mcp-install.d.ts.map +1 -0
  552. package/dist/commands/mcp-install.js +387 -0
  553. package/dist/commands/mcp-install.js.map +1 -0
  554. package/dist/commands/opps.d.ts.map +1 -0
  555. package/dist/commands/opps.js +409 -0
  556. package/dist/commands/opps.js.map +1 -0
  557. package/dist/commands/perps.d.ts.map +1 -0
  558. package/dist/commands/perps.js +248 -0
  559. package/dist/commands/perps.js.map +1 -0
  560. package/dist/commands/portfolio.d.ts.map +1 -0
  561. package/dist/commands/portfolio.js +679 -0
  562. package/dist/commands/portfolio.js.map +1 -0
  563. package/dist/commands/positions.d.ts.map +1 -1
  564. package/dist/commands/positions.js +76 -47
  565. package/dist/commands/positions.js.map +1 -1
  566. package/dist/commands/predict.d.ts.map +1 -0
  567. package/dist/commands/predict.js +280 -0
  568. package/dist/commands/predict.js.map +1 -0
  569. package/dist/commands/predictions.d.ts.map +1 -0
  570. package/dist/commands/predictions.js +486 -0
  571. package/dist/commands/predictions.js.map +1 -0
  572. package/dist/commands/risk.d.ts.map +1 -0
  573. package/dist/commands/risk.js +225 -0
  574. package/dist/commands/risk.js.map +1 -0
  575. package/dist/commands/security.d.ts.map +1 -0
  576. package/dist/commands/security.js +244 -0
  577. package/dist/commands/security.js.map +1 -0
  578. package/dist/commands/sell.d.ts.map +1 -1
  579. package/dist/commands/sell.js +67 -34
  580. package/dist/commands/sell.js.map +1 -1
  581. package/dist/commands/send.d.ts.map +1 -0
  582. package/dist/commands/send.js +733 -0
  583. package/dist/commands/send.js.map +1 -0
  584. package/dist/commands/sign.d.ts.map +1 -0
  585. package/dist/commands/sign.js +1048 -0
  586. package/dist/commands/sign.js.map +1 -0
  587. package/dist/commands/swap.d.ts.map +1 -0
  588. package/dist/commands/swap.js +744 -0
  589. package/dist/commands/swap.js.map +1 -0
  590. package/dist/commands/system.d.ts.map +1 -0
  591. package/dist/commands/system.js +417 -0
  592. package/dist/commands/system.js.map +1 -0
  593. package/dist/commands/tools/index.d.ts.map +1 -0
  594. package/dist/commands/tools/index.js +2040 -0
  595. package/dist/commands/tools/index.js.map +1 -0
  596. package/dist/commands/trade.d.ts.map +1 -0
  597. package/dist/commands/trade.js +237 -0
  598. package/dist/commands/trade.js.map +1 -0
  599. package/dist/commands/transactions.d.ts.map +1 -1
  600. package/dist/commands/transactions.js +29 -17
  601. package/dist/commands/transactions.js.map +1 -1
  602. package/dist/commands/update.d.ts.map +1 -0
  603. package/dist/commands/update.js +429 -0
  604. package/dist/commands/update.js.map +1 -0
  605. package/dist/config.d.ts.map +1 -1
  606. package/dist/config.js +351 -40
  607. package/dist/config.js.map +1 -1
  608. package/dist/index.js +4525 -924
  609. package/dist/index.js.map +1 -1
  610. package/dist/interactive/art.d.ts.map +1 -1
  611. package/dist/interactive/art.js +33 -1
  612. package/dist/interactive/art.js.map +1 -1
  613. package/dist/interactive/shell.d.ts.map +1 -1
  614. package/dist/interactive/shell.js +467 -2652
  615. package/dist/interactive/shell.js.map +1 -1
  616. package/dist/mcp/context.d.ts.map +1 -0
  617. package/dist/mcp/context.js +211 -0
  618. package/dist/mcp/context.js.map +1 -0
  619. package/dist/mcp/onboarding.d.ts.map +1 -0
  620. package/dist/mcp/onboarding.js +266 -0
  621. package/dist/mcp/onboarding.js.map +1 -0
  622. package/dist/mcp/resources.d.ts.map +1 -0
  623. package/dist/mcp/resources.js +222 -0
  624. package/dist/mcp/resources.js.map +1 -0
  625. package/dist/mcp/server.d.ts.map +1 -1
  626. package/dist/mcp/server.js +51 -1
  627. package/dist/mcp/server.js.map +1 -1
  628. package/dist/mcp/tools.d.ts.map +1 -1
  629. package/dist/mcp/tools.js +4119 -169
  630. package/dist/mcp/tools.js.map +1 -1
  631. package/dist/mcp/types.d.ts.map +1 -1
  632. package/dist/types/agent-info.d.ts.map +1 -0
  633. package/dist/types/agent-info.js +11 -0
  634. package/dist/types/agent-info.js.map +1 -0
  635. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  636. package/dist/ui/components/ScrollableList.js +72 -0
  637. package/dist/ui/components/ScrollableList.js.map +1 -0
  638. package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
  639. package/dist/ui/components/ThemeProvider.js +87 -0
  640. package/dist/ui/components/ThemeProvider.js.map +1 -0
  641. package/dist/ui/components/ThemedBox.d.ts.map +1 -0
  642. package/dist/ui/components/ThemedBox.js +24 -0
  643. package/dist/ui/components/ThemedBox.js.map +1 -0
  644. package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
  645. package/dist/ui/components/agent/ChatHeader.js +39 -0
  646. package/dist/ui/components/agent/ChatHeader.js.map +1 -0
  647. package/dist/ui/components/agent/Header.d.ts.map +1 -0
  648. package/dist/ui/components/agent/Header.js +14 -0
  649. package/dist/ui/components/agent/Header.js.map +1 -0
  650. package/dist/ui/components/agent/Input.d.ts.map +1 -0
  651. package/dist/ui/components/agent/Input.js +23 -0
  652. package/dist/ui/components/agent/Input.js.map +1 -0
  653. package/dist/ui/components/agent/Output.d.ts.map +1 -0
  654. package/dist/ui/components/agent/Output.js +23 -0
  655. package/dist/ui/components/agent/Output.js.map +1 -0
  656. package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
  657. package/dist/ui/components/chat/TokenChatUI.js +133 -0
  658. package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
  659. package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
  660. package/dist/ui/components/shell/ShellHeader.js +31 -0
  661. package/dist/ui/components/shell/ShellHeader.js.map +1 -0
  662. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
  663. package/dist/ui/components/shell/ShellInput.js +151 -0
  664. package/dist/ui/components/shell/ShellInput.js.map +1 -0
  665. package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
  666. package/dist/ui/components/shell/ShellOutput.js +8 -0
  667. package/dist/ui/components/shell/ShellOutput.js.map +1 -0
  668. package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
  669. package/dist/ui/hooks/useChatWebSocket.js +76 -0
  670. package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
  671. package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
  672. package/dist/ui/hooks/useCommandHistory.js +70 -0
  673. package/dist/ui/hooks/useCommandHistory.js.map +1 -0
  674. package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
  675. package/dist/ui/hooks/useDebounce.js +17 -0
  676. package/dist/ui/hooks/useDebounce.js.map +1 -0
  677. package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
  678. package/dist/ui/hooks/useLogStream.js +20 -0
  679. package/dist/ui/hooks/useLogStream.js.map +1 -0
  680. package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
  681. package/dist/ui/hooks/useVirtualScroll.js +70 -0
  682. package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
  683. package/dist/utils/admin.d.ts.map +1 -0
  684. package/dist/utils/admin.js +144 -0
  685. package/dist/utils/admin.js.map +1 -0
  686. package/dist/utils/autoSetup.d.ts.map +1 -0
  687. package/dist/utils/autoSetup.js +252 -0
  688. package/dist/utils/autoSetup.js.map +1 -0
  689. package/dist/utils/build-constants.d.ts.map +1 -0
  690. package/dist/utils/build-constants.js +10 -0
  691. package/dist/utils/build-constants.js.map +1 -0
  692. package/dist/utils/constants.d.ts.map +1 -1
  693. package/dist/utils/errors.d.ts.map +1 -1
  694. package/dist/utils/errors.js +10 -1
  695. package/dist/utils/errors.js.map +1 -1
  696. package/dist/utils/formatting.d.ts.map +1 -1
  697. package/dist/utils/formatting.js +46 -9
  698. package/dist/utils/formatting.js.map +1 -1
  699. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  700. package/dist/utils/llm-cli-config.js +963 -0
  701. package/dist/utils/llm-cli-config.js.map +1 -0
  702. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  703. package/dist/utils/llm-cli-detector.js +202 -0
  704. package/dist/utils/llm-cli-detector.js.map +1 -0
  705. package/dist/utils/loading.d.ts.map +1 -1
  706. package/dist/utils/loading.js +25 -3
  707. package/dist/utils/loading.js.map +1 -1
  708. package/dist/utils/maintenance.d.ts.map +1 -0
  709. package/dist/utils/maintenance.js +17 -0
  710. package/dist/utils/maintenance.js.map +1 -0
  711. package/dist/utils/mcp-config.d.ts.map +1 -0
  712. package/dist/utils/mcp-config.js +77 -0
  713. package/dist/utils/mcp-config.js.map +1 -0
  714. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  715. package/dist/utils/privateKeyPrompt.js +308 -129
  716. package/dist/utils/privateKeyPrompt.js.map +1 -1
  717. package/dist/utils/process-cleanup.d.ts.map +1 -0
  718. package/dist/utils/process-cleanup.js +136 -0
  719. package/dist/utils/process-cleanup.js.map +1 -0
  720. package/dist/utils/retry.d.ts.map +1 -0
  721. package/dist/utils/retry.js +56 -0
  722. package/dist/utils/retry.js.map +1 -0
  723. package/dist/utils/rpc-helpers.d.ts.map +1 -0
  724. package/dist/utils/rpc-helpers.js +70 -0
  725. package/dist/utils/rpc-helpers.js.map +1 -0
  726. package/dist/utils/rpc-transport.d.ts.map +1 -0
  727. package/dist/utils/rpc-transport.js +87 -0
  728. package/dist/utils/rpc-transport.js.map +1 -0
  729. package/dist/utils/shell-setup.d.ts.map +1 -0
  730. package/dist/utils/shell-setup.js +531 -0
  731. package/dist/utils/shell-setup.js.map +1 -0
  732. package/dist/utils/status.d.ts.map +1 -1
  733. package/dist/utils/status.js +34 -5
  734. package/dist/utils/status.js.map +1 -1
  735. package/dist/utils/token-resolver.d.ts.map +1 -1
  736. package/dist/utils/token-resolver.js +51 -8
  737. package/dist/utils/token-resolver.js.map +1 -1
  738. package/dist/utils/x402-caller.d.ts.map +1 -0
  739. package/dist/utils/x402-caller.js +17 -0
  740. package/dist/utils/x402-caller.js.map +1 -0
  741. package/docs/README.md +28 -0
  742. package/docs/agent/README.md +18 -0
  743. package/docs/api/README.md +41 -0
  744. package/docs/cli/README.md +42 -0
  745. package/docs/guides/README.md +26 -0
  746. package/docs/implementation/README.md +18 -0
  747. package/docs/planning/README.md +19 -0
  748. package/docs/testing/README.md +15 -0
  749. package/docs/ux/README.md +16 -0
  750. package/issues.txt +2 -0
  751. package/package.json +24 -9
  752. package/scripts/cat-spin.sh +417 -0
  753. package/scripts/deprecate-rc-versions.js +58 -0
  754. package/scripts/inject-build-constants.js +43 -0
  755. package/scripts/monitor-foobar.js +117 -0
  756. package/swap.logs +61 -0
  757. package/swapping.txt +108 -0
  758. package/test.txt +12 -0
  759. package/tests/fixtures/test-data.json +16 -0
  760. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
@@ -0,0 +1,505 @@
1
+ import chalk from "chalk";
2
+ import { printBox, formatAddress, } from "../utils/formatting.js";
3
+ import { printSuccess } from "../interactive/art.js";
4
+ import { resolveTokenId } from "../utils/token-resolver.js";
5
+ import { createPublicClient, createWalletClient, parseAbi, formatUnits, parseUnits, formatEther, isAddress, getAddress, encodeFunctionData, } from "viem";
6
+ import { privateKeyToAccount } from "viem/accounts";
7
+ import { config } from "../config.js";
8
+ import { createRpcTransport } from "../utils/rpc-transport.js";
9
+ import { getNetworkConfig } from "../utils/constants.js";
10
+ import inquirer from "inquirer";
11
+ // ERC20 ABI for token operations
12
+ const ERC20_ABI = parseAbi([
13
+ "function approve(address spender, uint256 amount) returns (bool)",
14
+ "function allowance(address owner, address spender) view returns (uint256)",
15
+ "function balanceOf(address owner) view returns (uint256)",
16
+ "function decimals() view returns (uint8)",
17
+ "function symbol() view returns (string)",
18
+ "function name() view returns (string)",
19
+ ]);
20
+ // Permit2 address (Uniswap Universal Router)
21
+ const PERMIT2_ADDRESS = "0x000000000022D473030F116dDEE9F6B43aC78BA3";
22
+ // Permit2 ABI
23
+ const PERMIT2_ABI = parseAbi([
24
+ "function allowance(address owner, address token, address spender) view returns (uint160 amount, uint48 expiration, uint48 nonce)",
25
+ "function approve(address token, address spender, uint160 amount, uint48 expiration)",
26
+ ]);
27
+ /**
28
+ * Validate and checksum an Ethereum address
29
+ */
30
+ function validateAddress(address) {
31
+ if (!isAddress(address)) {
32
+ throw new Error(`Invalid address format: ${address}`);
33
+ }
34
+ return getAddress(address);
35
+ }
36
+ /**
37
+ * Resolve recipient (account index or address) - helper
38
+ */
39
+ function resolveRecipient(to) {
40
+ // Check if it's a number (account index)
41
+ const accountIndex = parseInt(to, 10);
42
+ if (!isNaN(accountIndex) && to.trim() === accountIndex.toString()) {
43
+ // It's a number - try to resolve to account address
44
+ const accounts = config.getAllAccounts();
45
+ const account = accounts.find((acc) => acc.index === accountIndex);
46
+ if (!account) {
47
+ throw new Error(`Account at index ${accountIndex} not found. Use "httpcat account list" to see available accounts.`);
48
+ }
49
+ return account.address;
50
+ }
51
+ // Not a number - treat as address
52
+ return to;
53
+ }
54
+ /**
55
+ * Get gas configuration
56
+ */
57
+ async function getGasConfig(publicClient, options) {
58
+ const gasConfig = {};
59
+ if (options.gasPrice) {
60
+ gasConfig.gasPrice = BigInt(parseFloat(options.gasPrice) * 1e9);
61
+ }
62
+ if (options.maxFeePerGas) {
63
+ gasConfig.maxFeePerGas = BigInt(parseFloat(options.maxFeePerGas) * 1e9);
64
+ }
65
+ if (options.maxPriorityFeePerGas) {
66
+ gasConfig.maxPriorityFeePerGas = BigInt(parseFloat(options.maxPriorityFeePerGas) * 1e9);
67
+ }
68
+ if (options.gasLimit) {
69
+ gasConfig.gas = options.gasLimit;
70
+ }
71
+ // If no gas config provided, try to get from network
72
+ if (!gasConfig.gasPrice && !gasConfig.maxFeePerGas) {
73
+ try {
74
+ const feeData = await publicClient.estimateFeesPerGas();
75
+ if (feeData) {
76
+ gasConfig.maxFeePerGas = feeData.maxFeePerGas;
77
+ gasConfig.maxPriorityFeePerGas =
78
+ feeData.maxPriorityFeePerGas || feeData.maxFeePerGas / 2n;
79
+ }
80
+ }
81
+ catch {
82
+ // Fallback to default if estimation fails
83
+ }
84
+ }
85
+ return gasConfig;
86
+ }
87
+ /**
88
+ * Prompt for confirmation
89
+ */
90
+ async function promptConfirmation(summary, options) {
91
+ if (options.noConfirm) {
92
+ return true;
93
+ }
94
+ if (options.confirm || !options.silent) {
95
+ const message = options.permit2
96
+ ? `Approve ${summary.tokenSymbol || summary.token} to Permit2 (${summary.spender})?\n Amount: ${summary.amountFormatted}`
97
+ : `Approve ${summary.amountFormatted} ${summary.tokenSymbol || summary.token} to ${summary.spender}?`;
98
+ const answers = await inquirer.prompt([
99
+ {
100
+ type: "confirm",
101
+ name: "confirm",
102
+ message,
103
+ default: false,
104
+ },
105
+ ]);
106
+ return answers.confirm;
107
+ }
108
+ // Default: show summary but don't require confirmation in non-interactive mode
109
+ return true;
110
+ }
111
+ /**
112
+ * Approve ERC20 token
113
+ */
114
+ export async function approveToken(client, tokenIdentifier, spender, amount, privateKey, options = {}) {
115
+ const account = privateKeyToAccount(privateKey);
116
+ const from = account.address;
117
+ const network = client.getNetwork();
118
+ const { chain } = await getNetworkConfig(network);
119
+ const publicClient = createPublicClient({
120
+ chain,
121
+ transport: createRpcTransport({
122
+ chainId: chain.id,
123
+ httpcatClient: client,
124
+ }),
125
+ });
126
+ const walletClient = createWalletClient({
127
+ account,
128
+ chain,
129
+ transport: createRpcTransport({
130
+ chainId: chain.id,
131
+ httpcatClient: client,
132
+ }),
133
+ });
134
+ // Resolve spender (account index or address)
135
+ const spenderAddress = validateAddress(resolveRecipient(spender));
136
+ // Resolve token identifier to address
137
+ let tokenAddress;
138
+ try {
139
+ const resolved = await resolveTokenId(tokenIdentifier, client, options.silent);
140
+ tokenAddress = validateAddress(resolved);
141
+ }
142
+ catch (error) {
143
+ // If resolution fails, try treating it as an address directly
144
+ if (isAddress(tokenIdentifier)) {
145
+ tokenAddress = getAddress(tokenIdentifier);
146
+ }
147
+ else {
148
+ throw new Error(`Failed to resolve token "${tokenIdentifier}": ${error instanceof Error ? error.message : "Unknown error"}`);
149
+ }
150
+ }
151
+ // Get token metadata
152
+ let tokenDecimals = options.decimals;
153
+ let tokenSymbol = "TOKEN";
154
+ let tokenName = "Token";
155
+ try {
156
+ if (!tokenDecimals) {
157
+ tokenDecimals = (await publicClient.readContract({
158
+ address: tokenAddress,
159
+ abi: ERC20_ABI,
160
+ functionName: "decimals",
161
+ }));
162
+ }
163
+ tokenSymbol = (await publicClient.readContract({
164
+ address: tokenAddress,
165
+ abi: ERC20_ABI,
166
+ functionName: "symbol",
167
+ }));
168
+ tokenName = (await publicClient.readContract({
169
+ address: tokenAddress,
170
+ abi: ERC20_ABI,
171
+ functionName: "name",
172
+ }));
173
+ }
174
+ catch (error) {
175
+ if (!tokenDecimals) {
176
+ throw new Error(`Failed to get token decimals. Use --decimals flag or ensure token contract is valid. ${error instanceof Error ? error.message : ""}`);
177
+ }
178
+ }
179
+ // Check current allowance
180
+ const currentAllowance = (await publicClient.readContract({
181
+ address: tokenAddress,
182
+ abi: ERC20_ABI,
183
+ functionName: "allowance",
184
+ args: [from, spenderAddress],
185
+ }));
186
+ const currentAllowanceFormatted = formatUnits(currentAllowance, tokenDecimals || 18);
187
+ // Determine approval amount
188
+ let approvalAmount;
189
+ let amountFormatted;
190
+ if (amount === "unlimited" || amount === "max") {
191
+ approvalAmount =
192
+ BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
193
+ amountFormatted = "Unlimited";
194
+ }
195
+ else if (amount === "revoke" || amount === "0") {
196
+ approvalAmount = 0n;
197
+ amountFormatted = "0";
198
+ }
199
+ else {
200
+ approvalAmount = parseUnits(amount, tokenDecimals || 18);
201
+ amountFormatted = amount;
202
+ }
203
+ // Show summary
204
+ if (!options.silent) {
205
+ console.log(chalk.cyan(`\n🔐 Token Approval`));
206
+ console.log(chalk.dim(`Token: ${tokenName} (${tokenSymbol})`));
207
+ console.log(chalk.dim(`Token Address: ${formatAddress(tokenAddress)}`));
208
+ console.log(chalk.dim(`Spender: ${formatAddress(spenderAddress)}`));
209
+ console.log(chalk.dim(`Current Allowance: ${currentAllowanceFormatted} ${tokenSymbol}`));
210
+ console.log(chalk.dim(`New Allowance: ${amountFormatted} ${tokenSymbol}`));
211
+ }
212
+ // Prompt for confirmation
213
+ const confirmed = await promptConfirmation({
214
+ token: tokenAddress,
215
+ tokenSymbol,
216
+ spender: spenderAddress,
217
+ amount: approvalAmount.toString(),
218
+ amountFormatted,
219
+ currentAllowance: currentAllowance.toString(),
220
+ currentAllowanceFormatted,
221
+ type: options.permit2 ? "permit2" : "erc20",
222
+ }, options);
223
+ if (!confirmed) {
224
+ throw new Error("Approval cancelled by user");
225
+ }
226
+ // Dry run mode
227
+ if (options.dryRun) {
228
+ if (!options.silent) {
229
+ console.log(chalk.yellow("\n🔍 Dry Run Mode - Transaction not broadcast\n"));
230
+ }
231
+ return {
232
+ success: true,
233
+ type: options.permit2 ? "permit2" : "erc20",
234
+ tokenAddress,
235
+ tokenSymbol,
236
+ spender: spenderAddress,
237
+ amount: approvalAmount.toString(),
238
+ amountFormatted,
239
+ currentAllowance: currentAllowance.toString(),
240
+ currentAllowanceFormatted,
241
+ };
242
+ }
243
+ // Get gas configuration
244
+ const gasConfig = await getGasConfig(publicClient, options);
245
+ // Estimate gas
246
+ let estimatedGas;
247
+ try {
248
+ if (options.permit2) {
249
+ // Permit2 approval - estimate via Permit2 contract
250
+ const expiration = Math.floor(Date.now() / 1000) + 365 * 24 * 60 * 60; // 1 year expiration (uint48)
251
+ estimatedGas = await publicClient.estimateGas({
252
+ account: from,
253
+ to: PERMIT2_ADDRESS,
254
+ data: encodeFunctionData({
255
+ abi: PERMIT2_ABI,
256
+ functionName: "approve",
257
+ args: [
258
+ tokenAddress,
259
+ spenderAddress,
260
+ approvalAmount ===
261
+ BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
262
+ ? (BigInt(2 ** 160) - 1n) // MAX_UINT160 for Permit2
263
+ : approvalAmount,
264
+ expiration,
265
+ ],
266
+ }),
267
+ });
268
+ }
269
+ else {
270
+ // Direct ERC20 approval
271
+ estimatedGas = await publicClient.estimateGas({
272
+ account: from,
273
+ to: tokenAddress,
274
+ data: encodeFunctionData({
275
+ abi: ERC20_ABI,
276
+ functionName: "approve",
277
+ args: [spenderAddress, approvalAmount],
278
+ }),
279
+ });
280
+ }
281
+ }
282
+ catch (error) {
283
+ throw new Error(`Failed to estimate gas: ${error instanceof Error ? error.message : "Unknown error"}`);
284
+ }
285
+ // Check ETH balance for gas
286
+ const ethBalance = await publicClient.getBalance({ address: from });
287
+ const estimatedGasCost = (gasConfig.gas || estimatedGas) *
288
+ (gasConfig.gasPrice || gasConfig.maxFeePerGas || 0n);
289
+ if (ethBalance < estimatedGasCost) {
290
+ throw new Error(`Insufficient ETH for gas. Need ${formatEther(estimatedGasCost)} ETH`);
291
+ }
292
+ // Build transaction
293
+ let txHash;
294
+ if (options.permit2) {
295
+ // Permit2 approval
296
+ if (!options.silent) {
297
+ console.log(chalk.cyan(`\n📤 Approving via Permit2 to ${spenderAddress}...`));
298
+ }
299
+ const maxUint160 = BigInt(2 ** 160) - 1n;
300
+ const expiration = Math.floor(Date.now() / 1000) + 365 * 24 * 60 * 60; // 1 year expiration (uint48)
301
+ const permit2TxRequest = {
302
+ address: PERMIT2_ADDRESS,
303
+ abi: PERMIT2_ABI,
304
+ functionName: "approve",
305
+ args: [
306
+ tokenAddress,
307
+ spenderAddress,
308
+ approvalAmount ===
309
+ BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
310
+ ? maxUint160
311
+ : approvalAmount,
312
+ expiration,
313
+ ],
314
+ gas: gasConfig.gas || estimatedGas,
315
+ };
316
+ // Only include gas config fields if they're defined
317
+ if (gasConfig.maxFeePerGas)
318
+ permit2TxRequest.maxFeePerGas = gasConfig.maxFeePerGas;
319
+ if (gasConfig.maxPriorityFeePerGas)
320
+ permit2TxRequest.maxPriorityFeePerGas = gasConfig.maxPriorityFeePerGas;
321
+ if (gasConfig.gasPrice)
322
+ permit2TxRequest.gasPrice = gasConfig.gasPrice;
323
+ txHash = await walletClient.writeContract(permit2TxRequest);
324
+ }
325
+ else {
326
+ // Direct ERC20 approval
327
+ if (!options.silent) {
328
+ console.log(chalk.cyan(`\n📤 Approving ${amountFormatted} ${tokenSymbol}...`));
329
+ }
330
+ const erc20TxRequest = {
331
+ address: tokenAddress,
332
+ abi: ERC20_ABI,
333
+ functionName: "approve",
334
+ args: [spenderAddress, approvalAmount],
335
+ gas: gasConfig.gas || estimatedGas,
336
+ };
337
+ // Only include gas config fields if they're defined
338
+ if (gasConfig.maxFeePerGas)
339
+ erc20TxRequest.maxFeePerGas = gasConfig.maxFeePerGas;
340
+ if (gasConfig.maxPriorityFeePerGas)
341
+ erc20TxRequest.maxPriorityFeePerGas = gasConfig.maxPriorityFeePerGas;
342
+ if (gasConfig.gasPrice)
343
+ erc20TxRequest.gasPrice = gasConfig.gasPrice;
344
+ txHash = await walletClient.writeContract(erc20TxRequest);
345
+ }
346
+ let result = {
347
+ success: true,
348
+ type: options.permit2 ? "permit2" : "erc20",
349
+ txHash,
350
+ tokenAddress,
351
+ tokenSymbol,
352
+ spender: spenderAddress,
353
+ amount: approvalAmount.toString(),
354
+ amountFormatted,
355
+ currentAllowance: currentAllowance.toString(),
356
+ currentAllowanceFormatted,
357
+ };
358
+ // Wait for confirmation if requested
359
+ if (options.wait) {
360
+ if (!options.silent) {
361
+ console.log(chalk.cyan(`⏳ Waiting for confirmation...`));
362
+ }
363
+ const receipt = await publicClient.waitForTransactionReceipt({
364
+ hash: txHash,
365
+ timeout: (options.timeout || 300) * 1000,
366
+ });
367
+ result.gasUsed = receipt.gasUsed;
368
+ result.blockNumber = receipt.blockNumber;
369
+ if (!options.silent) {
370
+ console.log(chalk.green(`✅ Approval confirmed in block ${receipt.blockNumber.toString()}`));
371
+ }
372
+ }
373
+ return result;
374
+ }
375
+ /**
376
+ * Check current allowance
377
+ */
378
+ export async function checkAllowance(client, tokenIdentifier, spender, privateKey, options = {}) {
379
+ const account = privateKeyToAccount(privateKey);
380
+ const from = account.address;
381
+ const network = client.getNetwork();
382
+ const { chain } = await getNetworkConfig(network);
383
+ const publicClient = createPublicClient({
384
+ chain,
385
+ transport: createRpcTransport({
386
+ chainId: chain.id,
387
+ httpcatClient: client,
388
+ }),
389
+ });
390
+ // Resolve spender (account index or address)
391
+ const spenderAddress = validateAddress(resolveRecipient(spender));
392
+ // Resolve token identifier to address
393
+ let tokenAddress;
394
+ try {
395
+ const resolved = await resolveTokenId(tokenIdentifier, client, options.silent);
396
+ tokenAddress = validateAddress(resolved);
397
+ }
398
+ catch (error) {
399
+ // If resolution fails, try treating it as an address directly
400
+ if (isAddress(tokenIdentifier)) {
401
+ tokenAddress = getAddress(tokenIdentifier);
402
+ }
403
+ else {
404
+ throw new Error(`Failed to resolve token "${tokenIdentifier}": ${error instanceof Error ? error.message : "Unknown error"}`);
405
+ }
406
+ }
407
+ // Get token metadata
408
+ let tokenDecimals = options.decimals;
409
+ let tokenSymbol = "TOKEN";
410
+ try {
411
+ if (!tokenDecimals) {
412
+ tokenDecimals = (await publicClient.readContract({
413
+ address: tokenAddress,
414
+ abi: ERC20_ABI,
415
+ functionName: "decimals",
416
+ }));
417
+ }
418
+ tokenSymbol = (await publicClient.readContract({
419
+ address: tokenAddress,
420
+ abi: ERC20_ABI,
421
+ functionName: "symbol",
422
+ }));
423
+ }
424
+ catch (error) {
425
+ if (!tokenDecimals) {
426
+ throw new Error(`Failed to get token decimals. Use --decimals flag or ensure token contract is valid. ${error instanceof Error ? error.message : ""}`);
427
+ }
428
+ }
429
+ // Check allowance
430
+ let allowance;
431
+ if (options.permit2) {
432
+ // Check Permit2 allowance
433
+ const permit2Allowance = await publicClient.readContract({
434
+ address: PERMIT2_ADDRESS,
435
+ abi: PERMIT2_ABI,
436
+ functionName: "allowance",
437
+ args: [from, tokenAddress, spenderAddress],
438
+ });
439
+ // Permit2 returns [amount: bigint, expiration: bigint, nonce: bigint]
440
+ allowance = permit2Allowance[0]; // amount
441
+ }
442
+ else {
443
+ // Check direct ERC20 allowance
444
+ allowance = (await publicClient.readContract({
445
+ address: tokenAddress,
446
+ abi: ERC20_ABI,
447
+ functionName: "allowance",
448
+ args: [from, spenderAddress],
449
+ }));
450
+ }
451
+ const allowanceFormatted = formatUnits(allowance, tokenDecimals || 18);
452
+ return {
453
+ tokenAddress,
454
+ tokenSymbol,
455
+ spender: spenderAddress,
456
+ allowance: allowance.toString(),
457
+ allowanceFormatted,
458
+ type: options.permit2 ? "permit2" : "erc20",
459
+ };
460
+ }
461
+ /**
462
+ * Display approve result for interactive mode
463
+ */
464
+ export function displayApproveResult(result) {
465
+ console.log();
466
+ printSuccess(result.success ? "Approval successful!" : "Approval failed");
467
+ const boxData = {
468
+ Type: chalk.cyan(result.type.toUpperCase()),
469
+ Token: formatAddress(result.tokenAddress) + (result.tokenSymbol ? ` (${result.tokenSymbol})` : ""),
470
+ Spender: formatAddress(result.spender),
471
+ "New Allowance": chalk.green(result.amountFormatted + (result.tokenSymbol ? ` ${result.tokenSymbol}` : "")),
472
+ };
473
+ if (result.currentAllowanceFormatted) {
474
+ boxData["Previous Allowance"] = chalk.dim(result.currentAllowanceFormatted + (result.tokenSymbol ? ` ${result.tokenSymbol}` : ""));
475
+ }
476
+ if (result.txHash) {
477
+ boxData["Transaction"] = chalk.blue(result.txHash);
478
+ }
479
+ if (result.gasUsed) {
480
+ boxData["Gas Used"] = result.gasUsed.toString();
481
+ }
482
+ if (result.blockNumber) {
483
+ boxData["Block"] = result.blockNumber.toString();
484
+ }
485
+ if (result.error) {
486
+ boxData["Error"] = chalk.red(result.error);
487
+ }
488
+ printBox("Approval Result", boxData);
489
+ console.log();
490
+ }
491
+ /**
492
+ * Display allowance check result
493
+ */
494
+ export function displayAllowanceResult(result) {
495
+ console.log();
496
+ const boxData = {
497
+ Type: chalk.cyan(result.type.toUpperCase()),
498
+ Token: formatAddress(result.tokenAddress) + (result.tokenSymbol ? ` (${result.tokenSymbol})` : ""),
499
+ Spender: formatAddress(result.spender),
500
+ Allowance: chalk.green(result.allowanceFormatted + (result.tokenSymbol ? ` ${result.tokenSymbol}` : "")),
501
+ };
502
+ printBox("Current Allowance", boxData);
503
+ console.log();
504
+ }
505
+ //# sourceMappingURL=approve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../../src/commands/approve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../src/commands/automation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,wBAAgB,uBAAuB,IAAI,OAAO,CA2SjD"}