@coinbase/agentkit 0.0.0-nightly-20250328174338

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 (292) hide show
  1. package/README.md +827 -0
  2. package/dist/action-providers/across/acrossActionProvider.d.ts +50 -0
  3. package/dist/action-providers/across/acrossActionProvider.js +333 -0
  4. package/dist/action-providers/across/acrossActionProvider.test.d.ts +1 -0
  5. package/dist/action-providers/across/acrossActionProvider.test.js +391 -0
  6. package/dist/action-providers/across/constants.d.ts +1 -0
  7. package/dist/action-providers/across/constants.js +2 -0
  8. package/dist/action-providers/across/index.d.ts +1 -0
  9. package/dist/action-providers/across/index.js +17 -0
  10. package/dist/action-providers/across/schemas.d.ts +36 -0
  11. package/dist/action-providers/across/schemas.js +46 -0
  12. package/dist/action-providers/across/utils.d.ts +7 -0
  13. package/dist/action-providers/across/utils.js +25 -0
  14. package/dist/action-providers/actionDecorator.d.ts +69 -0
  15. package/dist/action-providers/actionDecorator.js +96 -0
  16. package/dist/action-providers/actionProvider.d.ts +48 -0
  17. package/dist/action-providers/actionProvider.js +62 -0
  18. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.d.ts +55 -0
  19. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.js +173 -0
  20. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.d.ts +1 -0
  21. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.js +131 -0
  22. package/dist/action-providers/alchemy/index.d.ts +2 -0
  23. package/dist/action-providers/alchemy/index.js +18 -0
  24. package/dist/action-providers/alchemy/schemas.d.ts +41 -0
  25. package/dist/action-providers/alchemy/schemas.js +34 -0
  26. package/dist/action-providers/allora/alloraActionProvider.d.ts +44 -0
  27. package/dist/action-providers/allora/alloraActionProvider.js +195 -0
  28. package/dist/action-providers/allora/alloraActionProvider.test.d.ts +1 -0
  29. package/dist/action-providers/allora/alloraActionProvider.test.js +109 -0
  30. package/dist/action-providers/allora/index.d.ts +2 -0
  31. package/dist/action-providers/allora/index.js +18 -0
  32. package/dist/action-providers/allora/schemas.d.ts +28 -0
  33. package/dist/action-providers/allora/schemas.js +30 -0
  34. package/dist/action-providers/basename/basenameActionProvider.d.ts +30 -0
  35. package/dist/action-providers/basename/basenameActionProvider.js +109 -0
  36. package/dist/action-providers/basename/basenameActionProvider.test.d.ts +1 -0
  37. package/dist/action-providers/basename/basenameActionProvider.test.js +146 -0
  38. package/dist/action-providers/basename/constants.d.ts +52 -0
  39. package/dist/action-providers/basename/constants.js +81 -0
  40. package/dist/action-providers/basename/index.d.ts +2 -0
  41. package/dist/action-providers/basename/index.js +18 -0
  42. package/dist/action-providers/basename/schemas.d.ts +14 -0
  43. package/dist/action-providers/basename/schemas.js +14 -0
  44. package/dist/action-providers/cdp/cdpApiActionProvider.d.ts +43 -0
  45. package/dist/action-providers/cdp/cdpApiActionProvider.js +128 -0
  46. package/dist/action-providers/cdp/cdpApiActionProvider.test.d.ts +1 -0
  47. package/dist/action-providers/cdp/cdpApiActionProvider.test.js +146 -0
  48. package/dist/action-providers/cdp/cdpWalletActionProvider.d.ts +58 -0
  49. package/dist/action-providers/cdp/cdpWalletActionProvider.js +224 -0
  50. package/dist/action-providers/cdp/cdpWalletActionProvider.test.d.ts +1 -0
  51. package/dist/action-providers/cdp/cdpWalletActionProvider.test.js +267 -0
  52. package/dist/action-providers/cdp/constants.d.ts +31 -0
  53. package/dist/action-providers/cdp/constants.js +34 -0
  54. package/dist/action-providers/cdp/index.d.ts +3 -0
  55. package/dist/action-providers/cdp/index.js +19 -0
  56. package/dist/action-providers/cdp/schemas.d.ts +91 -0
  57. package/dist/action-providers/cdp/schemas.js +77 -0
  58. package/dist/action-providers/compound/compoundActionProvider.d.ts +67 -0
  59. package/dist/action-providers/compound/compoundActionProvider.js +365 -0
  60. package/dist/action-providers/compound/compoundActionProvider.test.d.ts +1 -0
  61. package/dist/action-providers/compound/compoundActionProvider.test.js +353 -0
  62. package/dist/action-providers/compound/constants.d.ts +180 -0
  63. package/dist/action-providers/compound/constants.js +129 -0
  64. package/dist/action-providers/compound/index.d.ts +1 -0
  65. package/dist/action-providers/compound/index.js +17 -0
  66. package/dist/action-providers/compound/schemas.d.ts +57 -0
  67. package/dist/action-providers/compound/schemas.js +58 -0
  68. package/dist/action-providers/compound/utils.d.ts +95 -0
  69. package/dist/action-providers/compound/utils.js +353 -0
  70. package/dist/action-providers/customActionProvider.d.ts +30 -0
  71. package/dist/action-providers/customActionProvider.js +66 -0
  72. package/dist/action-providers/defillama/constants.d.ts +8 -0
  73. package/dist/action-providers/defillama/constants.js +11 -0
  74. package/dist/action-providers/defillama/defillamaActionProvider.d.ts +54 -0
  75. package/dist/action-providers/defillama/defillamaActionProvider.js +180 -0
  76. package/dist/action-providers/defillama/defillamaActionProvider.test.d.ts +1 -0
  77. package/dist/action-providers/defillama/defillamaActionProvider.test.js +114 -0
  78. package/dist/action-providers/defillama/index.d.ts +1 -0
  79. package/dist/action-providers/defillama/index.js +17 -0
  80. package/dist/action-providers/defillama/schemas.d.ts +34 -0
  81. package/dist/action-providers/defillama/schemas.js +34 -0
  82. package/dist/action-providers/defillama/types.d.ts +73 -0
  83. package/dist/action-providers/defillama/types.js +2 -0
  84. package/dist/action-providers/defillama/utils.d.ts +10 -0
  85. package/dist/action-providers/defillama/utils.js +87 -0
  86. package/dist/action-providers/defillama/utils.test.d.ts +1 -0
  87. package/dist/action-providers/defillama/utils.test.js +124 -0
  88. package/dist/action-providers/erc20/constants.d.ts +137 -0
  89. package/dist/action-providers/erc20/constants.js +202 -0
  90. package/dist/action-providers/erc20/erc20ActionProvider.d.ts +38 -0
  91. package/dist/action-providers/erc20/erc20ActionProvider.js +142 -0
  92. package/dist/action-providers/erc20/erc20ActionProvider.test.d.ts +1 -0
  93. package/dist/action-providers/erc20/erc20ActionProvider.test.js +131 -0
  94. package/dist/action-providers/erc20/index.d.ts +1 -0
  95. package/dist/action-providers/erc20/index.js +17 -0
  96. package/dist/action-providers/erc20/schemas.d.ts +27 -0
  97. package/dist/action-providers/erc20/schemas.js +26 -0
  98. package/dist/action-providers/erc721/constants.d.ts +232 -0
  99. package/dist/action-providers/erc721/constants.js +298 -0
  100. package/dist/action-providers/erc721/erc721ActionProvider.d.ts +46 -0
  101. package/dist/action-providers/erc721/erc721ActionProvider.js +164 -0
  102. package/dist/action-providers/erc721/erc721ActionProvider.test.d.ts +1 -0
  103. package/dist/action-providers/erc721/erc721ActionProvider.test.js +137 -0
  104. package/dist/action-providers/erc721/index.d.ts +1 -0
  105. package/dist/action-providers/erc721/index.js +17 -0
  106. package/dist/action-providers/erc721/schemas.d.ts +46 -0
  107. package/dist/action-providers/erc721/schemas.js +44 -0
  108. package/dist/action-providers/farcaster/farcasterActionProvider.d.ts +57 -0
  109. package/dist/action-providers/farcaster/farcasterActionProvider.js +142 -0
  110. package/dist/action-providers/farcaster/farcasterActionProvider.test.d.ts +1 -0
  111. package/dist/action-providers/farcaster/farcasterActionProvider.test.js +151 -0
  112. package/dist/action-providers/farcaster/index.d.ts +2 -0
  113. package/dist/action-providers/farcaster/index.js +18 -0
  114. package/dist/action-providers/farcaster/schemas.d.ts +15 -0
  115. package/dist/action-providers/farcaster/schemas.js +20 -0
  116. package/dist/action-providers/index.d.ts +24 -0
  117. package/dist/action-providers/index.js +40 -0
  118. package/dist/action-providers/jupiter/index.d.ts +1 -0
  119. package/dist/action-providers/jupiter/index.js +17 -0
  120. package/dist/action-providers/jupiter/jupiterActionProvider.d.ts +36 -0
  121. package/dist/action-providers/jupiter/jupiterActionProvider.js +115 -0
  122. package/dist/action-providers/jupiter/jupiterActionProvider.test.d.ts +1 -0
  123. package/dist/action-providers/jupiter/jupiterActionProvider.test.js +146 -0
  124. package/dist/action-providers/jupiter/schemas.d.ts +20 -0
  125. package/dist/action-providers/jupiter/schemas.js +20 -0
  126. package/dist/action-providers/messari/constants.d.ts +17 -0
  127. package/dist/action-providers/messari/constants.js +20 -0
  128. package/dist/action-providers/messari/index.d.ts +5 -0
  129. package/dist/action-providers/messari/index.js +21 -0
  130. package/dist/action-providers/messari/messariActionProvider.d.ts +42 -0
  131. package/dist/action-providers/messari/messariActionProvider.js +128 -0
  132. package/dist/action-providers/messari/messariActionProvider.test.d.ts +1 -0
  133. package/dist/action-providers/messari/messariActionProvider.test.js +152 -0
  134. package/dist/action-providers/messari/schemas.d.ts +11 -0
  135. package/dist/action-providers/messari/schemas.js +16 -0
  136. package/dist/action-providers/messari/types.d.ts +40 -0
  137. package/dist/action-providers/messari/types.js +2 -0
  138. package/dist/action-providers/messari/utils.d.ts +22 -0
  139. package/dist/action-providers/messari/utils.js +65 -0
  140. package/dist/action-providers/moonwell/constants.d.ts +78 -0
  141. package/dist/action-providers/moonwell/constants.js +111 -0
  142. package/dist/action-providers/moonwell/index.d.ts +1 -0
  143. package/dist/action-providers/moonwell/index.js +5 -0
  144. package/dist/action-providers/moonwell/moonwellActionProvider.d.ts +39 -0
  145. package/dist/action-providers/moonwell/moonwellActionProvider.js +249 -0
  146. package/dist/action-providers/moonwell/moonwellActionProvider.test.d.ts +1 -0
  147. package/dist/action-providers/moonwell/moonwellActionProvider.test.js +455 -0
  148. package/dist/action-providers/moonwell/schemas.d.ts +30 -0
  149. package/dist/action-providers/moonwell/schemas.js +39 -0
  150. package/dist/action-providers/morpho/constants.d.ts +16 -0
  151. package/dist/action-providers/morpho/constants.js +27 -0
  152. package/dist/action-providers/morpho/index.d.ts +2 -0
  153. package/dist/action-providers/morpho/index.js +18 -0
  154. package/dist/action-providers/morpho/morphoActionProvider.d.ts +39 -0
  155. package/dist/action-providers/morpho/morphoActionProvider.js +154 -0
  156. package/dist/action-providers/morpho/morphoActionProvider.test.d.ts +1 -0
  157. package/dist/action-providers/morpho/morphoActionProvider.test.js +128 -0
  158. package/dist/action-providers/morpho/schemas.d.ts +36 -0
  159. package/dist/action-providers/morpho/schemas.js +47 -0
  160. package/dist/action-providers/opensea/index.d.ts +1 -0
  161. package/dist/action-providers/opensea/index.js +17 -0
  162. package/dist/action-providers/opensea/openseaActionProvider.d.ts +59 -0
  163. package/dist/action-providers/opensea/openseaActionProvider.js +146 -0
  164. package/dist/action-providers/opensea/openseaActionProvider.test.d.ts +1 -0
  165. package/dist/action-providers/opensea/openseaActionProvider.test.js +201 -0
  166. package/dist/action-providers/opensea/schemas.d.ts +30 -0
  167. package/dist/action-providers/opensea/schemas.js +33 -0
  168. package/dist/action-providers/opensea/utils.d.ts +12 -0
  169. package/dist/action-providers/opensea/utils.js +47 -0
  170. package/dist/action-providers/pyth/index.d.ts +2 -0
  171. package/dist/action-providers/pyth/index.js +18 -0
  172. package/dist/action-providers/pyth/pythActionProvider.d.ts +33 -0
  173. package/dist/action-providers/pyth/pythActionProvider.js +121 -0
  174. package/dist/action-providers/pyth/pythActionProvider.test.d.ts +1 -0
  175. package/dist/action-providers/pyth/pythActionProvider.test.js +113 -0
  176. package/dist/action-providers/pyth/schemas.d.ts +21 -0
  177. package/dist/action-providers/pyth/schemas.js +20 -0
  178. package/dist/action-providers/spl/index.d.ts +1 -0
  179. package/dist/action-providers/spl/index.js +17 -0
  180. package/dist/action-providers/spl/schemas.d.ts +30 -0
  181. package/dist/action-providers/spl/schemas.js +26 -0
  182. package/dist/action-providers/spl/splActionProvider.d.ts +45 -0
  183. package/dist/action-providers/spl/splActionProvider.js +173 -0
  184. package/dist/action-providers/spl/splActionProvider.test.d.ts +1 -0
  185. package/dist/action-providers/spl/splActionProvider.test.js +300 -0
  186. package/dist/action-providers/twitter/index.d.ts +2 -0
  187. package/dist/action-providers/twitter/index.js +18 -0
  188. package/dist/action-providers/twitter/schemas.d.ts +38 -0
  189. package/dist/action-providers/twitter/schemas.js +44 -0
  190. package/dist/action-providers/twitter/twitterActionProvider.d.ts +82 -0
  191. package/dist/action-providers/twitter/twitterActionProvider.js +204 -0
  192. package/dist/action-providers/twitter/twitterActionProvider.test.d.ts +1 -0
  193. package/dist/action-providers/twitter/twitterActionProvider.test.js +185 -0
  194. package/dist/action-providers/wallet/index.d.ts +1 -0
  195. package/dist/action-providers/wallet/index.js +17 -0
  196. package/dist/action-providers/wallet/schemas.d.ts +19 -0
  197. package/dist/action-providers/wallet/schemas.js +19 -0
  198. package/dist/action-providers/wallet/walletActionProvider.d.ts +44 -0
  199. package/dist/action-providers/wallet/walletActionProvider.js +140 -0
  200. package/dist/action-providers/wallet/walletActionProvider.test.d.ts +1 -0
  201. package/dist/action-providers/wallet/walletActionProvider.test.js +194 -0
  202. package/dist/action-providers/weth/constants.d.ts +19 -0
  203. package/dist/action-providers/weth/constants.js +29 -0
  204. package/dist/action-providers/weth/index.d.ts +1 -0
  205. package/dist/action-providers/weth/index.js +17 -0
  206. package/dist/action-providers/weth/schemas.d.ts +8 -0
  207. package/dist/action-providers/weth/schemas.js +10 -0
  208. package/dist/action-providers/weth/wethActionProvider.d.ts +30 -0
  209. package/dist/action-providers/weth/wethActionProvider.js +89 -0
  210. package/dist/action-providers/weth/wethActionProvider.test.d.ts +1 -0
  211. package/dist/action-providers/weth/wethActionProvider.test.js +92 -0
  212. package/dist/action-providers/wow/constants.d.ts +15 -0
  213. package/dist/action-providers/wow/constants.js +844 -0
  214. package/dist/action-providers/wow/index.d.ts +2 -0
  215. package/dist/action-providers/wow/index.js +18 -0
  216. package/dist/action-providers/wow/schemas.d.ts +43 -0
  217. package/dist/action-providers/wow/schemas.js +47 -0
  218. package/dist/action-providers/wow/uniswap/constants.d.ts +3 -0
  219. package/dist/action-providers/wow/uniswap/constants.js +100 -0
  220. package/dist/action-providers/wow/uniswap/utils.d.ts +82 -0
  221. package/dist/action-providers/wow/uniswap/utils.js +226 -0
  222. package/dist/action-providers/wow/utils.d.ts +27 -0
  223. package/dist/action-providers/wow/utils.js +63 -0
  224. package/dist/action-providers/wow/wowActionProvider.d.ts +46 -0
  225. package/dist/action-providers/wow/wowActionProvider.js +223 -0
  226. package/dist/action-providers/wow/wowActionProvider.test.d.ts +1 -0
  227. package/dist/action-providers/wow/wowActionProvider.test.js +291 -0
  228. package/dist/agentkit.d.ts +44 -0
  229. package/dist/agentkit.js +68 -0
  230. package/dist/analytics/index.d.ts +1 -0
  231. package/dist/analytics/index.js +17 -0
  232. package/dist/analytics/sendAnalyticsEvent.d.ts +31 -0
  233. package/dist/analytics/sendAnalyticsEvent.js +52 -0
  234. package/dist/index.d.ts +4 -0
  235. package/dist/index.js +20 -0
  236. package/dist/network/index.d.ts +3 -0
  237. package/dist/network/index.js +19 -0
  238. package/dist/network/network.d.ts +20 -0
  239. package/dist/network/network.js +86 -0
  240. package/dist/network/svm.d.ts +15 -0
  241. package/dist/network/svm.js +38 -0
  242. package/dist/network/types.d.ts +17 -0
  243. package/dist/network/types.js +2 -0
  244. package/dist/utils.d.ts +22 -0
  245. package/dist/utils.js +57 -0
  246. package/dist/utils.test.d.ts +1 -0
  247. package/dist/utils.test.js +50 -0
  248. package/dist/wallet-providers/cdpWalletProvider.d.ts +246 -0
  249. package/dist/wallet-providers/cdpWalletProvider.js +421 -0
  250. package/dist/wallet-providers/cdpWalletProvider.test.d.ts +1 -0
  251. package/dist/wallet-providers/cdpWalletProvider.test.js +701 -0
  252. package/dist/wallet-providers/evmWalletProvider.d.ts +51 -0
  253. package/dist/wallet-providers/evmWalletProvider.js +14 -0
  254. package/dist/wallet-providers/evmWalletProvider.test.d.ts +1 -0
  255. package/dist/wallet-providers/evmWalletProvider.test.js +56 -0
  256. package/dist/wallet-providers/index.d.ts +10 -0
  257. package/dist/wallet-providers/index.js +26 -0
  258. package/dist/wallet-providers/privyEvmWalletProvider.d.ts +55 -0
  259. package/dist/wallet-providers/privyEvmWalletProvider.js +140 -0
  260. package/dist/wallet-providers/privyEvmWalletProvider.test.d.ts +1 -0
  261. package/dist/wallet-providers/privyEvmWalletProvider.test.js +331 -0
  262. package/dist/wallet-providers/privyShared.d.ts +40 -0
  263. package/dist/wallet-providers/privyShared.js +49 -0
  264. package/dist/wallet-providers/privySvmWalletProvider.d.ts +128 -0
  265. package/dist/wallet-providers/privySvmWalletProvider.js +212 -0
  266. package/dist/wallet-providers/privySvmWalletProvider.test.d.ts +1 -0
  267. package/dist/wallet-providers/privySvmWalletProvider.test.js +310 -0
  268. package/dist/wallet-providers/privyWalletProvider.d.ts +35 -0
  269. package/dist/wallet-providers/privyWalletProvider.js +39 -0
  270. package/dist/wallet-providers/privyWalletProvider.test.d.ts +1 -0
  271. package/dist/wallet-providers/privyWalletProvider.test.js +124 -0
  272. package/dist/wallet-providers/smartWalletProvider.d.ts +177 -0
  273. package/dist/wallet-providers/smartWalletProvider.js +303 -0
  274. package/dist/wallet-providers/smartWalletProvider.test.d.ts +1 -0
  275. package/dist/wallet-providers/smartWalletProvider.test.js +388 -0
  276. package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +143 -0
  277. package/dist/wallet-providers/solanaKeypairWalletProvider.js +280 -0
  278. package/dist/wallet-providers/solanaKeypairWalletProvider.test.d.ts +1 -0
  279. package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +218 -0
  280. package/dist/wallet-providers/svmWalletProvider.d.ts +56 -0
  281. package/dist/wallet-providers/svmWalletProvider.js +13 -0
  282. package/dist/wallet-providers/svmWalletProvider.test.d.ts +1 -0
  283. package/dist/wallet-providers/svmWalletProvider.test.js +55 -0
  284. package/dist/wallet-providers/viemWalletProvider.d.ts +103 -0
  285. package/dist/wallet-providers/viemWalletProvider.js +206 -0
  286. package/dist/wallet-providers/viemWalletProvider.test.d.ts +1 -0
  287. package/dist/wallet-providers/viemWalletProvider.test.js +338 -0
  288. package/dist/wallet-providers/walletProvider.d.ts +48 -0
  289. package/dist/wallet-providers/walletProvider.js +41 -0
  290. package/dist/wallet-providers/walletProvider.test.d.ts +1 -0
  291. package/dist/wallet-providers/walletProvider.test.js +103 -0
  292. package/package.json +83 -0
@@ -0,0 +1,46 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Input schema for get NFT (ERC721) balance action.
4
+ */
5
+ export declare const GetBalanceSchema: z.ZodObject<{
6
+ contractAddress: z.ZodString;
7
+ address: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ contractAddress: string;
10
+ address?: string | undefined;
11
+ }, {
12
+ contractAddress: string;
13
+ address?: string | undefined;
14
+ }>;
15
+ /**
16
+ * Input schema for mint NFT (ERC721) action.
17
+ */
18
+ export declare const MintSchema: z.ZodObject<{
19
+ contractAddress: z.ZodString;
20
+ destination: z.ZodString;
21
+ }, "strip", z.ZodTypeAny, {
22
+ contractAddress: string;
23
+ destination: string;
24
+ }, {
25
+ contractAddress: string;
26
+ destination: string;
27
+ }>;
28
+ /**
29
+ * Input schema for NFT (ERC721) transfer action.
30
+ */
31
+ export declare const TransferSchema: z.ZodObject<{
32
+ contractAddress: z.ZodString;
33
+ tokenId: z.ZodString;
34
+ destination: z.ZodString;
35
+ fromAddress: z.ZodOptional<z.ZodString>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ contractAddress: string;
38
+ destination: string;
39
+ tokenId: string;
40
+ fromAddress?: string | undefined;
41
+ }, {
42
+ contractAddress: string;
43
+ destination: string;
44
+ tokenId: string;
45
+ fromAddress?: string | undefined;
46
+ }>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferSchema = exports.MintSchema = exports.GetBalanceSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Input schema for get NFT (ERC721) balance action.
7
+ */
8
+ exports.GetBalanceSchema = zod_1.z
9
+ .object({
10
+ contractAddress: zod_1.z.string().describe("The NFT contract address to check balance for"),
11
+ address: zod_1.z
12
+ .string()
13
+ .optional()
14
+ .describe("The address to check NFT balance for. If not provided, uses the wallet's default address"),
15
+ })
16
+ .strip()
17
+ .describe("Instructions for getting NFT balance");
18
+ /**
19
+ * Input schema for mint NFT (ERC721) action.
20
+ */
21
+ exports.MintSchema = zod_1.z
22
+ .object({
23
+ contractAddress: zod_1.z.string().describe("The contract address of the NFT to mint"),
24
+ destination: zod_1.z.string().describe("The onchain destination address that will receive the NFT"),
25
+ })
26
+ .strip()
27
+ .describe("Instructions for minting an NFT");
28
+ /**
29
+ * Input schema for NFT (ERC721) transfer action.
30
+ */
31
+ exports.TransferSchema = zod_1.z
32
+ .object({
33
+ contractAddress: zod_1.z.string().describe("The NFT contract address to interact with"),
34
+ tokenId: zod_1.z.string().describe("The ID of the NFT to transfer"),
35
+ destination: zod_1.z
36
+ .string()
37
+ .describe("The destination to transfer the NFT, e.g. `0x58dBecc0894Ab4C24F98a0e684c989eD07e4e027`, `example.eth`, `example.base.eth`"),
38
+ fromAddress: zod_1.z
39
+ .string()
40
+ .optional()
41
+ .describe("The address to transfer from. If not provided, defaults to the wallet's default address"),
42
+ })
43
+ .strip()
44
+ .describe("Input schema for transferring an NFT");
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import { ActionProvider } from "../actionProvider";
3
+ import { Network } from "../../network";
4
+ import { FarcasterAccountDetailsSchema, FarcasterPostCastSchema } from "./schemas";
5
+ /**
6
+ * Configuration options for the FarcasterActionProvider.
7
+ */
8
+ export interface FarcasterActionProviderConfig {
9
+ /**
10
+ * Neynar API Key.
11
+ */
12
+ neynarApiKey?: string;
13
+ /**
14
+ * Neynar managed signer UUID.
15
+ */
16
+ signerUuid?: string;
17
+ /**
18
+ * Agent FID.
19
+ */
20
+ agentFid?: string;
21
+ }
22
+ /**
23
+ * FarcasterActionProvider is an action provider for Farcaster.
24
+ */
25
+ export declare class FarcasterActionProvider extends ActionProvider {
26
+ private readonly neynarApiKey;
27
+ private readonly signerUuid;
28
+ private readonly agentFid;
29
+ /**
30
+ * Constructor for the FarcasterActionProvider class.
31
+ *
32
+ * @param config - The configuration options for the FarcasterActionProvider.
33
+ */
34
+ constructor(config?: FarcasterActionProviderConfig);
35
+ /**
36
+ * Retrieves agent's Farcaster account details.
37
+ *
38
+ * @param _ - The input arguments for the action.
39
+ * @returns A message containing account details for the agent's Farcaster account.
40
+ */
41
+ accountDetails(_: z.infer<typeof FarcasterAccountDetailsSchema>): Promise<string>;
42
+ /**
43
+ * Posts a cast on Farcaster.
44
+ *
45
+ * @param args - The input arguments for the action.
46
+ * @returns A message indicating the success or failure of the cast posting.
47
+ */
48
+ postCast(args: z.infer<typeof FarcasterPostCastSchema>): Promise<string>;
49
+ /**
50
+ * Checks if the Farcaster action provider supports the given network.
51
+ *
52
+ * @param network - The network to check.
53
+ * @returns True if the Farcaster action provider supports the network, false otherwise.
54
+ */
55
+ supportsNetwork: (network: Network) => boolean;
56
+ }
57
+ export declare const farcasterActionProvider: (config?: FarcasterActionProviderConfig) => FarcasterActionProvider;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.farcasterActionProvider = exports.FarcasterActionProvider = void 0;
13
+ const zod_1 = require("zod");
14
+ const actionProvider_1 = require("../actionProvider");
15
+ const actionDecorator_1 = require("../actionDecorator");
16
+ const schemas_1 = require("./schemas");
17
+ /**
18
+ * FarcasterActionProvider is an action provider for Farcaster.
19
+ */
20
+ class FarcasterActionProvider extends actionProvider_1.ActionProvider {
21
+ /**
22
+ * Constructor for the FarcasterActionProvider class.
23
+ *
24
+ * @param config - The configuration options for the FarcasterActionProvider.
25
+ */
26
+ constructor(config = {}) {
27
+ super("farcaster", []);
28
+ /**
29
+ * Checks if the Farcaster action provider supports the given network.
30
+ *
31
+ * @param network - The network to check.
32
+ * @returns True if the Farcaster action provider supports the network, false otherwise.
33
+ */
34
+ this.supportsNetwork = (network) => network.protocolFamily === "evm";
35
+ const neynarApiKey = config.neynarApiKey || process.env.NEYNAR_API_KEY;
36
+ const signerUuid = config.signerUuid || process.env.NEYNAR_MANAGER_SIGNER;
37
+ const agentFid = config.agentFid || process.env.AGENT_FID;
38
+ if (!neynarApiKey) {
39
+ throw new Error("NEYNAR_API_KEY is not configured.");
40
+ }
41
+ if (!signerUuid) {
42
+ throw new Error("NEYNAR_MANAGER_SIGNER is not configured.");
43
+ }
44
+ if (!agentFid) {
45
+ throw new Error("AGENT_FID is not configured.");
46
+ }
47
+ this.neynarApiKey = neynarApiKey;
48
+ this.signerUuid = signerUuid;
49
+ this.agentFid = agentFid;
50
+ }
51
+ /**
52
+ * Retrieves agent's Farcaster account details.
53
+ *
54
+ * @param _ - The input arguments for the action.
55
+ * @returns A message containing account details for the agent's Farcaster account.
56
+ */
57
+ async accountDetails(_) {
58
+ try {
59
+ const headers = {
60
+ accept: "application/json",
61
+ "x-api-key": this.neynarApiKey,
62
+ "x-neynar-experimental": "true",
63
+ };
64
+ const response = await fetch(`https://api.neynar.com/v2/farcaster/user/bulk?fids=${this.agentFid}`, {
65
+ method: "GET",
66
+ headers,
67
+ });
68
+ const { users } = await response.json();
69
+ return `Successfully retrieved Farcaster account details:\n${JSON.stringify(users[0])}`;
70
+ }
71
+ catch (error) {
72
+ return `Error retrieving Farcaster account details:\n${error}`;
73
+ }
74
+ }
75
+ /**
76
+ * Posts a cast on Farcaster.
77
+ *
78
+ * @param args - The input arguments for the action.
79
+ * @returns A message indicating the success or failure of the cast posting.
80
+ */
81
+ async postCast(args) {
82
+ try {
83
+ const headers = {
84
+ api_key: this.neynarApiKey,
85
+ "Content-Type": "application/json",
86
+ };
87
+ const response = await fetch("https://api.neynar.com/v2/farcaster/cast", {
88
+ method: "POST",
89
+ headers,
90
+ body: JSON.stringify({
91
+ signer_uuid: this.signerUuid,
92
+ text: args.castText,
93
+ }),
94
+ });
95
+ const data = await response.json();
96
+ return `Successfully posted cast to Farcaster:\n${JSON.stringify(data)}`;
97
+ }
98
+ catch (error) {
99
+ return `Error posting to Farcaster:\n${error}`;
100
+ }
101
+ }
102
+ }
103
+ exports.FarcasterActionProvider = FarcasterActionProvider;
104
+ __decorate([
105
+ (0, actionDecorator_1.CreateAction)({
106
+ name: "account_details",
107
+ description: `
108
+ This tool will retrieve the account details for the agent's Farcaster account.
109
+ The tool takes the FID of the agent's account.
110
+
111
+ A successful response will return a message with the API response as a JSON payload:
112
+ { "object": "user", "fid": 193," username": "derek", "display_name": "Derek", ... }
113
+
114
+ A failure response will return a message with the Farcaster API request error:
115
+ Unable to retrieve account details.
116
+ `,
117
+ schema: schemas_1.FarcasterAccountDetailsSchema,
118
+ }),
119
+ __metadata("design:type", Function),
120
+ __metadata("design:paramtypes", [void 0]),
121
+ __metadata("design:returntype", Promise)
122
+ ], FarcasterActionProvider.prototype, "accountDetails", null);
123
+ __decorate([
124
+ (0, actionDecorator_1.CreateAction)({
125
+ name: "post_cast",
126
+ description: `
127
+ This tool will post a cast to Farcaster. The tool takes the text of the cast as input. Casts can be maximum 280 characters.
128
+
129
+ A successful response will return a message with the API response as a JSON payload:
130
+ {}
131
+
132
+ A failure response will return a message with the Farcaster API request error:
133
+ You are not allowed to post a cast with duplicate content.
134
+ `,
135
+ schema: schemas_1.FarcasterPostCastSchema,
136
+ }),
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", [void 0]),
139
+ __metadata("design:returntype", Promise)
140
+ ], FarcasterActionProvider.prototype, "postCast", null);
141
+ const farcasterActionProvider = (config = {}) => new FarcasterActionProvider(config);
142
+ exports.farcasterActionProvider = farcasterActionProvider;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const farcasterActionProvider_1 = require("./farcasterActionProvider");
4
+ const schemas_1 = require("./schemas");
5
+ // Mock fetch globally
6
+ const mockFetch = jest.fn();
7
+ global.fetch = mockFetch;
8
+ describe("Farcaster Action Provider Input Schemas", () => {
9
+ describe("Account Details Schema", () => {
10
+ it("should successfully parse empty input", () => {
11
+ const validInput = {};
12
+ const result = schemas_1.FarcasterAccountDetailsSchema.safeParse(validInput);
13
+ expect(result.success).toBe(true);
14
+ expect(result.data).toEqual(validInput);
15
+ });
16
+ });
17
+ describe("Post Cast Schema", () => {
18
+ it("should successfully parse valid cast text", () => {
19
+ const validInput = {
20
+ castText: "Hello, Farcaster!",
21
+ };
22
+ const result = schemas_1.FarcasterPostCastSchema.safeParse(validInput);
23
+ expect(result.success).toBe(true);
24
+ expect(result.data).toEqual(validInput);
25
+ });
26
+ it("should fail parsing cast text over 280 characters", () => {
27
+ const invalidInput = {
28
+ castText: "a".repeat(281),
29
+ };
30
+ const result = schemas_1.FarcasterPostCastSchema.safeParse(invalidInput);
31
+ expect(result.success).toBe(false);
32
+ });
33
+ });
34
+ });
35
+ describe("Farcaster Action Provider", () => {
36
+ const mockConfig = {
37
+ neynarApiKey: "test-api-key",
38
+ signerUuid: "test-signer-uuid",
39
+ agentFid: "193",
40
+ };
41
+ let actionProvider;
42
+ beforeEach(() => {
43
+ jest.clearAllMocks();
44
+ actionProvider = new farcasterActionProvider_1.FarcasterActionProvider(mockConfig);
45
+ });
46
+ describe("accountDetails", () => {
47
+ const mockUserResponse = {
48
+ users: [
49
+ {
50
+ object: "user",
51
+ fid: 193,
52
+ username: "derek",
53
+ display_name: "Derek",
54
+ },
55
+ ],
56
+ };
57
+ it("should successfully retrieve Farcaster account details", async () => {
58
+ mockFetch.mockResolvedValueOnce({
59
+ json: () => Promise.resolve(mockUserResponse),
60
+ });
61
+ const result = await actionProvider.accountDetails({});
62
+ expect(mockFetch).toHaveBeenCalledWith(`https://api.neynar.com/v2/farcaster/user/bulk?fids=${mockConfig.agentFid}`, {
63
+ method: "GET",
64
+ headers: {
65
+ accept: "application/json",
66
+ "x-api-key": mockConfig.neynarApiKey,
67
+ "x-neynar-experimental": "true",
68
+ },
69
+ });
70
+ expect(mockFetch).toHaveBeenCalledTimes(1);
71
+ expect(result).toContain("Successfully retrieved Farcaster account details");
72
+ expect(result).toContain(JSON.stringify(mockUserResponse.users[0]));
73
+ });
74
+ it("should handle errors when retrieving account details", async () => {
75
+ const error = new Error("API request failed");
76
+ mockFetch.mockRejectedValueOnce(error);
77
+ const result = await actionProvider.accountDetails({});
78
+ expect(mockFetch).toHaveBeenCalledTimes(1);
79
+ expect(result).toBe(`Error retrieving Farcaster account details:\n${error}`);
80
+ });
81
+ });
82
+ describe("postCast", () => {
83
+ const mockCastResponse = {
84
+ hash: "0x123",
85
+ };
86
+ it("should successfully post a cast", async () => {
87
+ mockFetch.mockResolvedValueOnce({
88
+ json: () => Promise.resolve(mockCastResponse),
89
+ });
90
+ const args = {
91
+ castText: "Hello, Farcaster!",
92
+ };
93
+ const result = await actionProvider.postCast(args);
94
+ expect(mockFetch).toHaveBeenCalledWith("https://api.neynar.com/v2/farcaster/cast", {
95
+ method: "POST",
96
+ headers: {
97
+ api_key: mockConfig.neynarApiKey,
98
+ "Content-Type": "application/json",
99
+ },
100
+ body: JSON.stringify({
101
+ signer_uuid: mockConfig.signerUuid,
102
+ text: args.castText,
103
+ }),
104
+ });
105
+ expect(mockFetch).toHaveBeenCalledTimes(1);
106
+ expect(result).toContain("Successfully posted cast to Farcaster");
107
+ expect(result).toContain(JSON.stringify(mockCastResponse));
108
+ });
109
+ it("should handle errors when posting cast", async () => {
110
+ const error = new Error("Failed to post cast");
111
+ mockFetch.mockRejectedValueOnce(error);
112
+ const args = {
113
+ castText: "Hello, Farcaster!",
114
+ };
115
+ const result = await actionProvider.postCast(args);
116
+ expect(mockFetch).toHaveBeenCalledTimes(1);
117
+ expect(result).toBe(`Error posting to Farcaster:\n${error}`);
118
+ });
119
+ });
120
+ describe("constructor", () => {
121
+ it("should use environment variables when config is not provided", () => {
122
+ const originalEnv = process.env;
123
+ process.env = {
124
+ ...originalEnv,
125
+ NEYNAR_API_KEY: "env-api-key",
126
+ NEYNAR_MANAGER_SIGNER: "env-signer-uuid",
127
+ AGENT_FID: "env-agent-fid",
128
+ };
129
+ const provider = new farcasterActionProvider_1.FarcasterActionProvider();
130
+ expect(provider).toBeDefined();
131
+ process.env = originalEnv;
132
+ });
133
+ it("should throw error when required config is missing", () => {
134
+ const originalEnv = process.env;
135
+ process.env = { ...originalEnv };
136
+ delete process.env.NEYNAR_API_KEY;
137
+ delete process.env.NEYNAR_MANAGER_SIGNER;
138
+ delete process.env.AGENT_FID;
139
+ expect(() => new farcasterActionProvider_1.FarcasterActionProvider()).toThrow();
140
+ process.env = originalEnv;
141
+ });
142
+ });
143
+ describe("supportsNetwork", () => {
144
+ it("should return true when protocolFamily is evm", () => {
145
+ expect(actionProvider.supportsNetwork({ protocolFamily: "evm" })).toBe(true);
146
+ });
147
+ it("should return false when protocolFamily is not evm", () => {
148
+ expect(actionProvider.supportsNetwork({ protocolFamily: "solana" })).toBe(false);
149
+ });
150
+ });
151
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./schemas";
2
+ export * from "./farcasterActionProvider";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./schemas"), exports);
18
+ __exportStar(require("./farcasterActionProvider"), exports);
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Input argument schema for the account_details action.
4
+ */
5
+ export declare const FarcasterAccountDetailsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
6
+ /**
7
+ * Input argument schema for the post cast action.
8
+ */
9
+ export declare const FarcasterPostCastSchema: z.ZodObject<{
10
+ castText: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ castText: string;
13
+ }, {
14
+ castText: string;
15
+ }>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FarcasterPostCastSchema = exports.FarcasterAccountDetailsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Input argument schema for the account_details action.
7
+ */
8
+ exports.FarcasterAccountDetailsSchema = zod_1.z
9
+ .object({})
10
+ .strip()
11
+ .describe("Input schema for retrieving account details");
12
+ /**
13
+ * Input argument schema for the post cast action.
14
+ */
15
+ exports.FarcasterPostCastSchema = zod_1.z
16
+ .object({
17
+ castText: zod_1.z.string().max(280, "Cast text must be a maximum of 280 characters."),
18
+ })
19
+ .strip()
20
+ .describe("Input schema for posting a text-based cast");
@@ -0,0 +1,24 @@
1
+ export * from "./actionDecorator";
2
+ export * from "./actionProvider";
3
+ export * from "./customActionProvider";
4
+ export * from "./across";
5
+ export * from "./alchemy";
6
+ export * from "./basename";
7
+ export * from "./cdp";
8
+ export * from "./compound";
9
+ export * from "./defillama";
10
+ export * from "./erc20";
11
+ export * from "./erc721";
12
+ export * from "./farcaster";
13
+ export * from "./jupiter";
14
+ export * from "./messari";
15
+ export * from "./pyth";
16
+ export * from "./moonwell";
17
+ export * from "./morpho";
18
+ export * from "./opensea";
19
+ export * from "./spl";
20
+ export * from "./twitter";
21
+ export * from "./wallet";
22
+ export * from "./weth";
23
+ export * from "./wow";
24
+ export * from "./allora";
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./actionDecorator"), exports);
18
+ __exportStar(require("./actionProvider"), exports);
19
+ __exportStar(require("./customActionProvider"), exports);
20
+ __exportStar(require("./across"), exports);
21
+ __exportStar(require("./alchemy"), exports);
22
+ __exportStar(require("./basename"), exports);
23
+ __exportStar(require("./cdp"), exports);
24
+ __exportStar(require("./compound"), exports);
25
+ __exportStar(require("./defillama"), exports);
26
+ __exportStar(require("./erc20"), exports);
27
+ __exportStar(require("./erc721"), exports);
28
+ __exportStar(require("./farcaster"), exports);
29
+ __exportStar(require("./jupiter"), exports);
30
+ __exportStar(require("./messari"), exports);
31
+ __exportStar(require("./pyth"), exports);
32
+ __exportStar(require("./moonwell"), exports);
33
+ __exportStar(require("./morpho"), exports);
34
+ __exportStar(require("./opensea"), exports);
35
+ __exportStar(require("./spl"), exports);
36
+ __exportStar(require("./twitter"), exports);
37
+ __exportStar(require("./wallet"), exports);
38
+ __exportStar(require("./weth"), exports);
39
+ __exportStar(require("./wow"), exports);
40
+ __exportStar(require("./allora"), exports);
@@ -0,0 +1 @@
1
+ export * from "./jupiterActionProvider";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./jupiterActionProvider"), exports);
@@ -0,0 +1,36 @@
1
+ import { ActionProvider } from "../actionProvider";
2
+ import { Network } from "../../network";
3
+ import { SvmWalletProvider } from "../../wallet-providers/svmWalletProvider";
4
+ import { z } from "zod";
5
+ import { SwapTokenSchema } from "./schemas";
6
+ /**
7
+ * JupiterActionProvider handles token swaps using Jupiter's API.
8
+ */
9
+ export declare class JupiterActionProvider extends ActionProvider<SvmWalletProvider> {
10
+ /**
11
+ * Initializes Jupiter API client.
12
+ */
13
+ constructor();
14
+ /**
15
+ * Swaps tokens using Jupiter's API.
16
+ *
17
+ * @param walletProvider - The wallet provider to use for the swap
18
+ * @param args - Swap parameters including input token, output token, and amount
19
+ * @returns A message indicating success or failure with transaction details
20
+ */
21
+ swap(walletProvider: SvmWalletProvider, args: z.infer<typeof SwapTokenSchema>): Promise<string>;
22
+ /**
23
+ * Checks if the action provider supports the given network.
24
+ * Only supports Solana networks.
25
+ *
26
+ * @param network - The network to check support for
27
+ * @returns True if the network is a Solana network
28
+ */
29
+ supportsNetwork(network: Network): boolean;
30
+ }
31
+ /**
32
+ * Factory function to create a new JupiterActionProvider instance.
33
+ *
34
+ * @returns A new JupiterActionProvider instance
35
+ */
36
+ export declare const jupiterActionProvider: () => JupiterActionProvider;