keyring-agent-core 0.2.1 → 0.2.3

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 (417) hide show
  1. package/dist/index.d.ts +6692 -27
  2. package/dist/index.js +877 -70
  3. package/package.json +6 -4
  4. package/dist/agent/AgentCore.d.ts +0 -256
  5. package/dist/agent/AgentCore.d.ts.map +0 -1
  6. package/dist/agent/AgentCore.js +0 -1093
  7. package/dist/agent/AgentCore.js.map +0 -1
  8. package/dist/agent/QueryRewriter.d.ts +0 -84
  9. package/dist/agent/QueryRewriter.d.ts.map +0 -1
  10. package/dist/agent/QueryRewriter.js +0 -306
  11. package/dist/agent/QueryRewriter.js.map +0 -1
  12. package/dist/agent/Router.d.ts +0 -33
  13. package/dist/agent/Router.d.ts.map +0 -1
  14. package/dist/agent/Router.js +0 -229
  15. package/dist/agent/Router.js.map +0 -1
  16. package/dist/agent/Subagent.d.ts +0 -80
  17. package/dist/agent/Subagent.d.ts.map +0 -1
  18. package/dist/agent/Subagent.js +0 -272
  19. package/dist/agent/Subagent.js.map +0 -1
  20. package/dist/agent/Synthesizer.d.ts +0 -11
  21. package/dist/agent/Synthesizer.d.ts.map +0 -1
  22. package/dist/agent/Synthesizer.js +0 -86
  23. package/dist/agent/Synthesizer.js.map +0 -1
  24. package/dist/agent/chatGraph.d.ts +0 -364
  25. package/dist/agent/chatGraph.d.ts.map +0 -1
  26. package/dist/agent/chatGraph.js +0 -184
  27. package/dist/agent/chatGraph.js.map +0 -1
  28. package/dist/agent/index.d.ts +0 -10
  29. package/dist/agent/index.d.ts.map +0 -1
  30. package/dist/agent/index.js +0 -24
  31. package/dist/agent/index.js.map +0 -1
  32. package/dist/agent/subagents/AiAgent.d.ts +0 -6
  33. package/dist/agent/subagents/AiAgent.d.ts.map +0 -1
  34. package/dist/agent/subagents/AiAgent.js +0 -52
  35. package/dist/agent/subagents/AiAgent.js.map +0 -1
  36. package/dist/agent/subagents/NftAgent.d.ts +0 -6
  37. package/dist/agent/subagents/NftAgent.d.ts.map +0 -1
  38. package/dist/agent/subagents/NftAgent.js +0 -79
  39. package/dist/agent/subagents/NftAgent.js.map +0 -1
  40. package/dist/agent/subagents/PoolAgent.d.ts +0 -6
  41. package/dist/agent/subagents/PoolAgent.d.ts.map +0 -1
  42. package/dist/agent/subagents/PoolAgent.js +0 -184
  43. package/dist/agent/subagents/PoolAgent.js.map +0 -1
  44. package/dist/agent/subagents/PoolSubgraphAgent.d.ts +0 -6
  45. package/dist/agent/subagents/PoolSubgraphAgent.d.ts.map +0 -1
  46. package/dist/agent/subagents/PoolSubgraphAgent.js +0 -117
  47. package/dist/agent/subagents/PoolSubgraphAgent.js.map +0 -1
  48. package/dist/agent/subagents/TokenAgent.d.ts +0 -6
  49. package/dist/agent/subagents/TokenAgent.d.ts.map +0 -1
  50. package/dist/agent/subagents/TokenAgent.js +0 -76
  51. package/dist/agent/subagents/TokenAgent.js.map +0 -1
  52. package/dist/agent/subagents/WalletActionAgent.d.ts +0 -6
  53. package/dist/agent/subagents/WalletActionAgent.d.ts.map +0 -1
  54. package/dist/agent/subagents/WalletActionAgent.js +0 -55
  55. package/dist/agent/subagents/WalletActionAgent.js.map +0 -1
  56. package/dist/agent/subagents/WalletAgent.d.ts +0 -6
  57. package/dist/agent/subagents/WalletAgent.d.ts.map +0 -1
  58. package/dist/agent/subagents/WalletAgent.js +0 -93
  59. package/dist/agent/subagents/WalletAgent.js.map +0 -1
  60. package/dist/agent/subagents/index.d.ts +0 -34
  61. package/dist/agent/subagents/index.d.ts.map +0 -1
  62. package/dist/agent/subagents/index.js +0 -69
  63. package/dist/agent/subagents/index.js.map +0 -1
  64. package/dist/constants/abi.d.ts +0 -551
  65. package/dist/constants/abi.d.ts.map +0 -1
  66. package/dist/constants/abi.js +0 -690
  67. package/dist/constants/abi.js.map +0 -1
  68. package/dist/functions/pool.d.ts +0 -25
  69. package/dist/functions/pool.d.ts.map +0 -1
  70. package/dist/functions/pool.js +0 -151
  71. package/dist/functions/pool.js.map +0 -1
  72. package/dist/functions/web3.d.ts +0 -31
  73. package/dist/functions/web3.d.ts.map +0 -1
  74. package/dist/functions/web3.js +0 -232
  75. package/dist/functions/web3.js.map +0 -1
  76. package/dist/index.d.ts.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/llm/GeminiProvider.d.ts +0 -16
  79. package/dist/llm/GeminiProvider.d.ts.map +0 -1
  80. package/dist/llm/GeminiProvider.js +0 -329
  81. package/dist/llm/GeminiProvider.js.map +0 -1
  82. package/dist/llm/index.d.ts +0 -2
  83. package/dist/llm/index.d.ts.map +0 -1
  84. package/dist/llm/index.js +0 -6
  85. package/dist/llm/index.js.map +0 -1
  86. package/dist/memory/ChatHistory.d.ts +0 -83
  87. package/dist/memory/ChatHistory.d.ts.map +0 -1
  88. package/dist/memory/ChatHistory.js +0 -143
  89. package/dist/memory/ChatHistory.js.map +0 -1
  90. package/dist/memory/KnowledgeBase.d.ts +0 -38
  91. package/dist/memory/KnowledgeBase.d.ts.map +0 -1
  92. package/dist/memory/KnowledgeBase.js +0 -139
  93. package/dist/memory/KnowledgeBase.js.map +0 -1
  94. package/dist/memory/Summarizer.d.ts +0 -12
  95. package/dist/memory/Summarizer.d.ts.map +0 -1
  96. package/dist/memory/Summarizer.js +0 -39
  97. package/dist/memory/Summarizer.js.map +0 -1
  98. package/dist/memory/UpstashKnowledgeBase.d.ts +0 -124
  99. package/dist/memory/UpstashKnowledgeBase.d.ts.map +0 -1
  100. package/dist/memory/UpstashKnowledgeBase.js +0 -152
  101. package/dist/memory/UpstashKnowledgeBase.js.map +0 -1
  102. package/dist/memory/historyUtils.d.ts +0 -58
  103. package/dist/memory/historyUtils.d.ts.map +0 -1
  104. package/dist/memory/historyUtils.js +0 -190
  105. package/dist/memory/historyUtils.js.map +0 -1
  106. package/dist/memory/index.d.ts +0 -7
  107. package/dist/memory/index.d.ts.map +0 -1
  108. package/dist/memory/index.js +0 -12
  109. package/dist/memory/index.js.map +0 -1
  110. package/dist/memory/ingestKnowledgeBase.d.ts +0 -17
  111. package/dist/memory/ingestKnowledgeBase.d.ts.map +0 -1
  112. package/dist/memory/ingestKnowledgeBase.js +0 -35
  113. package/dist/memory/ingestKnowledgeBase.js.map +0 -1
  114. package/dist/services/MoralisService.d.ts +0 -1328
  115. package/dist/services/MoralisService.d.ts.map +0 -1
  116. package/dist/services/MoralisService.js +0 -1239
  117. package/dist/services/MoralisService.js.map +0 -1
  118. package/dist/services/PantographService.d.ts +0 -98
  119. package/dist/services/PantographService.d.ts.map +0 -1
  120. package/dist/services/PantographService.js +0 -451
  121. package/dist/services/PantographService.js.map +0 -1
  122. package/dist/services/PoolService.d.ts +0 -238
  123. package/dist/services/PoolService.d.ts.map +0 -1
  124. package/dist/services/PoolService.js +0 -485
  125. package/dist/services/PoolService.js.map +0 -1
  126. package/dist/services/UniswapService.d.ts +0 -289
  127. package/dist/services/UniswapService.d.ts.map +0 -1
  128. package/dist/services/UniswapService.js +0 -585
  129. package/dist/services/UniswapService.js.map +0 -1
  130. package/dist/services/UniswapSubgraphService.d.ts +0 -144
  131. package/dist/services/UniswapSubgraphService.d.ts.map +0 -1
  132. package/dist/services/UniswapSubgraphService.js +0 -606
  133. package/dist/services/UniswapSubgraphService.js.map +0 -1
  134. package/dist/services/rpc.d.ts +0 -35
  135. package/dist/services/rpc.d.ts.map +0 -1
  136. package/dist/services/rpc.js +0 -110
  137. package/dist/services/rpc.js.map +0 -1
  138. package/dist/services/swap/BaseSwapService.d.ts +0 -17
  139. package/dist/services/swap/BaseSwapService.d.ts.map +0 -1
  140. package/dist/services/swap/BaseSwapService.js +0 -19
  141. package/dist/services/swap/BaseSwapService.js.map +0 -1
  142. package/dist/services/swap/DebridgeAdapter.d.ts +0 -37
  143. package/dist/services/swap/DebridgeAdapter.d.ts.map +0 -1
  144. package/dist/services/swap/DebridgeAdapter.js +0 -243
  145. package/dist/services/swap/DebridgeAdapter.js.map +0 -1
  146. package/dist/services/swap/RelayAdapter.d.ts +0 -19
  147. package/dist/services/swap/RelayAdapter.d.ts.map +0 -1
  148. package/dist/services/swap/RelayAdapter.js +0 -189
  149. package/dist/services/swap/RelayAdapter.js.map +0 -1
  150. package/dist/services/swap/SwapServiceFactory.d.ts +0 -25
  151. package/dist/services/swap/SwapServiceFactory.d.ts.map +0 -1
  152. package/dist/services/swap/SwapServiceFactory.js +0 -79
  153. package/dist/services/swap/SwapServiceFactory.js.map +0 -1
  154. package/dist/services/swap/addresses.d.ts +0 -3
  155. package/dist/services/swap/addresses.d.ts.map +0 -1
  156. package/dist/services/swap/addresses.js +0 -68
  157. package/dist/services/swap/addresses.js.map +0 -1
  158. package/dist/services/swap/affiliate.d.ts +0 -17
  159. package/dist/services/swap/affiliate.d.ts.map +0 -1
  160. package/dist/services/swap/affiliate.js +0 -126
  161. package/dist/services/swap/affiliate.js.map +0 -1
  162. package/dist/services/swap/config.d.ts +0 -9
  163. package/dist/services/swap/config.d.ts.map +0 -1
  164. package/dist/services/swap/config.js +0 -19
  165. package/dist/services/swap/config.js.map +0 -1
  166. package/dist/services/swap/index.d.ts +0 -10
  167. package/dist/services/swap/index.d.ts.map +0 -1
  168. package/dist/services/swap/index.js +0 -22
  169. package/dist/services/swap/index.js.map +0 -1
  170. package/dist/services/swap/types.d.ts +0 -89
  171. package/dist/services/swap/types.d.ts.map +0 -1
  172. package/dist/services/swap/types.js +0 -6
  173. package/dist/services/swap/types.js.map +0 -1
  174. package/dist/tools/BaseTool.d.ts +0 -15
  175. package/dist/tools/BaseTool.d.ts.map +0 -1
  176. package/dist/tools/BaseTool.js +0 -35
  177. package/dist/tools/BaseTool.js.map +0 -1
  178. package/dist/tools/ToolRegistry.d.ts +0 -27
  179. package/dist/tools/ToolRegistry.d.ts.map +0 -1
  180. package/dist/tools/ToolRegistry.js +0 -80
  181. package/dist/tools/ToolRegistry.js.map +0 -1
  182. package/dist/tools/builtin/ai/GeminiSearchAiTool.d.ts +0 -36
  183. package/dist/tools/builtin/ai/GeminiSearchAiTool.d.ts.map +0 -1
  184. package/dist/tools/builtin/ai/GeminiSearchAiTool.js +0 -91
  185. package/dist/tools/builtin/ai/GeminiSearchAiTool.js.map +0 -1
  186. package/dist/tools/builtin/ai/index.d.ts +0 -3
  187. package/dist/tools/builtin/ai/index.d.ts.map +0 -1
  188. package/dist/tools/builtin/ai/index.js +0 -6
  189. package/dist/tools/builtin/ai/index.js.map +0 -1
  190. package/dist/tools/builtin/index.d.ts +0 -8
  191. package/dist/tools/builtin/index.d.ts.map +0 -1
  192. package/dist/tools/builtin/index.js +0 -24
  193. package/dist/tools/builtin/index.js.map +0 -1
  194. package/dist/tools/builtin/nft/BaseNftMessageTool.d.ts +0 -35
  195. package/dist/tools/builtin/nft/BaseNftMessageTool.d.ts.map +0 -1
  196. package/dist/tools/builtin/nft/BaseNftMessageTool.js +0 -45
  197. package/dist/tools/builtin/nft/BaseNftMessageTool.js.map +0 -1
  198. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts +0 -15
  199. package/dist/tools/builtin/nft/NFTContractInfoTool.d.ts.map +0 -1
  200. package/dist/tools/builtin/nft/NFTContractInfoTool.js +0 -19
  201. package/dist/tools/builtin/nft/NFTContractInfoTool.js.map +0 -1
  202. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts +0 -15
  203. package/dist/tools/builtin/nft/NFTMetadataTool.d.ts.map +0 -1
  204. package/dist/tools/builtin/nft/NFTMetadataTool.js +0 -20
  205. package/dist/tools/builtin/nft/NFTMetadataTool.js.map +0 -1
  206. package/dist/tools/builtin/nft/SendNftTool.d.ts +0 -14
  207. package/dist/tools/builtin/nft/SendNftTool.d.ts.map +0 -1
  208. package/dist/tools/builtin/nft/SendNftTool.js +0 -20
  209. package/dist/tools/builtin/nft/SendNftTool.js.map +0 -1
  210. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts +0 -15
  211. package/dist/tools/builtin/nft/WalletNFTsTool.d.ts.map +0 -1
  212. package/dist/tools/builtin/nft/WalletNFTsTool.js +0 -20
  213. package/dist/tools/builtin/nft/WalletNFTsTool.js.map +0 -1
  214. package/dist/tools/builtin/nft/index.d.ts +0 -7
  215. package/dist/tools/builtin/nft/index.d.ts.map +0 -1
  216. package/dist/tools/builtin/nft/index.js +0 -10
  217. package/dist/tools/builtin/nft/index.js.map +0 -1
  218. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts +0 -124
  219. package/dist/tools/builtin/pool/EstimatePoolYieldTool.d.ts.map +0 -1
  220. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js +0 -236
  221. package/dist/tools/builtin/pool/EstimatePoolYieldTool.js.map +0 -1
  222. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts +0 -128
  223. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.d.ts.map +0 -1
  224. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js +0 -520
  225. package/dist/tools/builtin/pool/OpenAddLiquidityFormTool.js.map +0 -1
  226. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts +0 -127
  227. package/dist/tools/builtin/pool/PoolByAddressTool.d.ts.map +0 -1
  228. package/dist/tools/builtin/pool/PoolByAddressTool.js +0 -238
  229. package/dist/tools/builtin/pool/PoolByAddressTool.js.map +0 -1
  230. package/dist/tools/builtin/pool/PoolDetailTool.d.ts +0 -127
  231. package/dist/tools/builtin/pool/PoolDetailTool.d.ts.map +0 -1
  232. package/dist/tools/builtin/pool/PoolDetailTool.js +0 -273
  233. package/dist/tools/builtin/pool/PoolDetailTool.js.map +0 -1
  234. package/dist/tools/builtin/pool/PoolSearchTool.d.ts +0 -50
  235. package/dist/tools/builtin/pool/PoolSearchTool.d.ts.map +0 -1
  236. package/dist/tools/builtin/pool/PoolSearchTool.js +0 -160
  237. package/dist/tools/builtin/pool/PoolSearchTool.js.map +0 -1
  238. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts +0 -124
  239. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.d.ts.map +0 -1
  240. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js +0 -382
  241. package/dist/tools/builtin/pool/PreviewAddLiquidityTool.js.map +0 -1
  242. package/dist/tools/builtin/pool/TopPoolsTool.d.ts +0 -68
  243. package/dist/tools/builtin/pool/TopPoolsTool.d.ts.map +0 -1
  244. package/dist/tools/builtin/pool/TopPoolsTool.js +0 -159
  245. package/dist/tools/builtin/pool/TopPoolsTool.js.map +0 -1
  246. package/dist/tools/builtin/pool/index.d.ts +0 -15
  247. package/dist/tools/builtin/pool/index.d.ts.map +0 -1
  248. package/dist/tools/builtin/pool/index.js +0 -18
  249. package/dist/tools/builtin/pool/index.js.map +0 -1
  250. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.d.ts +0 -54
  251. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.d.ts.map +0 -1
  252. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.js +0 -98
  253. package/dist/tools/builtin/pool-subgraph/SubgraphCoinPoolPairsTool.js.map +0 -1
  254. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.d.ts +0 -63
  255. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.d.ts.map +0 -1
  256. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.js +0 -82
  257. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByAddressTool.js.map +0 -1
  258. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.d.ts +0 -79
  259. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.d.ts.map +0 -1
  260. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.js +0 -97
  261. package/dist/tools/builtin/pool-subgraph/SubgraphPoolByPositionIdTool.js.map +0 -1
  262. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.d.ts +0 -77
  263. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.d.ts.map +0 -1
  264. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.js +0 -190
  265. package/dist/tools/builtin/pool-subgraph/SubgraphPoolSearchTool.js.map +0 -1
  266. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.d.ts +0 -107
  267. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.d.ts.map +0 -1
  268. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.js +0 -92
  269. package/dist/tools/builtin/pool-subgraph/SubgraphPositionDetailTool.js.map +0 -1
  270. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.d.ts +0 -56
  271. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.d.ts.map +0 -1
  272. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.js +0 -94
  273. package/dist/tools/builtin/pool-subgraph/SubgraphTrendingPoolsTool.js.map +0 -1
  274. package/dist/tools/builtin/pool-subgraph/index.d.ts +0 -13
  275. package/dist/tools/builtin/pool-subgraph/index.d.ts.map +0 -1
  276. package/dist/tools/builtin/pool-subgraph/index.js +0 -18
  277. package/dist/tools/builtin/pool-subgraph/index.js.map +0 -1
  278. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts +0 -71
  279. package/dist/tools/builtin/token/TokenAnalyticsTool.d.ts.map +0 -1
  280. package/dist/tools/builtin/token/TokenAnalyticsTool.js +0 -147
  281. package/dist/tools/builtin/token/TokenAnalyticsTool.js.map +0 -1
  282. package/dist/tools/builtin/token/TokenHoldersTool.d.ts +0 -81
  283. package/dist/tools/builtin/token/TokenHoldersTool.d.ts.map +0 -1
  284. package/dist/tools/builtin/token/TokenHoldersTool.js +0 -139
  285. package/dist/tools/builtin/token/TokenHoldersTool.js.map +0 -1
  286. package/dist/tools/builtin/token/TokenInfoTool.d.ts +0 -40
  287. package/dist/tools/builtin/token/TokenInfoTool.d.ts.map +0 -1
  288. package/dist/tools/builtin/token/TokenInfoTool.js +0 -221
  289. package/dist/tools/builtin/token/TokenInfoTool.js.map +0 -1
  290. package/dist/tools/builtin/token/TokenScoreTool.d.ts +0 -63
  291. package/dist/tools/builtin/token/TokenScoreTool.d.ts.map +0 -1
  292. package/dist/tools/builtin/token/TokenScoreTool.js +0 -148
  293. package/dist/tools/builtin/token/TokenScoreTool.js.map +0 -1
  294. package/dist/tools/builtin/token/TopGainersTool.d.ts +0 -37
  295. package/dist/tools/builtin/token/TopGainersTool.d.ts.map +0 -1
  296. package/dist/tools/builtin/token/TopGainersTool.js +0 -100
  297. package/dist/tools/builtin/token/TopGainersTool.js.map +0 -1
  298. package/dist/tools/builtin/token/TopLosersTool.d.ts +0 -66
  299. package/dist/tools/builtin/token/TopLosersTool.d.ts.map +0 -1
  300. package/dist/tools/builtin/token/TopLosersTool.js +0 -129
  301. package/dist/tools/builtin/token/TopLosersTool.js.map +0 -1
  302. package/dist/tools/builtin/token/TrendingTokensTool.d.ts +0 -39
  303. package/dist/tools/builtin/token/TrendingTokensTool.d.ts.map +0 -1
  304. package/dist/tools/builtin/token/TrendingTokensTool.js +0 -83
  305. package/dist/tools/builtin/token/TrendingTokensTool.js.map +0 -1
  306. package/dist/tools/builtin/token/index.d.ts +0 -13
  307. package/dist/tools/builtin/token/index.d.ts.map +0 -1
  308. package/dist/tools/builtin/token/index.js +0 -16
  309. package/dist/tools/builtin/token/index.js.map +0 -1
  310. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts +0 -70
  311. package/dist/tools/builtin/wallet/TransactionByHashTool.d.ts.map +0 -1
  312. package/dist/tools/builtin/wallet/TransactionByHashTool.js +0 -111
  313. package/dist/tools/builtin/wallet/TransactionByHashTool.js.map +0 -1
  314. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts +0 -107
  315. package/dist/tools/builtin/wallet/WalletApprovalsTool.d.ts.map +0 -1
  316. package/dist/tools/builtin/wallet/WalletApprovalsTool.js +0 -164
  317. package/dist/tools/builtin/wallet/WalletApprovalsTool.js.map +0 -1
  318. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts +0 -61
  319. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.d.ts.map +0 -1
  320. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js +0 -100
  321. package/dist/tools/builtin/wallet/WalletDefiPositionsTool.js.map +0 -1
  322. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts +0 -68
  323. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.d.ts.map +0 -1
  324. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js +0 -115
  325. package/dist/tools/builtin/wallet/WalletDefiProtocolPositionsTool.js.map +0 -1
  326. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts +0 -50
  327. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.d.ts.map +0 -1
  328. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js +0 -80
  329. package/dist/tools/builtin/wallet/WalletDefiSummaryTool.js.map +0 -1
  330. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts +0 -31
  331. package/dist/tools/builtin/wallet/WalletHistoryTool.d.ts.map +0 -1
  332. package/dist/tools/builtin/wallet/WalletHistoryTool.js +0 -154
  333. package/dist/tools/builtin/wallet/WalletHistoryTool.js.map +0 -1
  334. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts +0 -44
  335. package/dist/tools/builtin/wallet/WalletNetWorthTool.d.ts.map +0 -1
  336. package/dist/tools/builtin/wallet/WalletNetWorthTool.js +0 -122
  337. package/dist/tools/builtin/wallet/WalletNetWorthTool.js.map +0 -1
  338. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts +0 -86
  339. package/dist/tools/builtin/wallet/WalletNftTransfersTool.d.ts.map +0 -1
  340. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js +0 -265
  341. package/dist/tools/builtin/wallet/WalletNftTransfersTool.js.map +0 -1
  342. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts +0 -43
  343. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.d.ts.map +0 -1
  344. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js +0 -89
  345. package/dist/tools/builtin/wallet/WalletPnlSummaryTool.js.map +0 -1
  346. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts +0 -43
  347. package/dist/tools/builtin/wallet/WalletPnlTool.d.ts.map +0 -1
  348. package/dist/tools/builtin/wallet/WalletPnlTool.js +0 -175
  349. package/dist/tools/builtin/wallet/WalletPnlTool.js.map +0 -1
  350. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts +0 -35
  351. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.d.ts.map +0 -1
  352. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js +0 -68
  353. package/dist/tools/builtin/wallet/WalletTokenBalancesTool.js.map +0 -1
  354. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts +0 -109
  355. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.d.ts.map +0 -1
  356. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js +0 -354
  357. package/dist/tools/builtin/wallet/WalletTokenTransfersTool.js.map +0 -1
  358. package/dist/tools/builtin/wallet/index.d.ts +0 -28
  359. package/dist/tools/builtin/wallet/index.d.ts.map +0 -1
  360. package/dist/tools/builtin/wallet/index.js +0 -32
  361. package/dist/tools/builtin/wallet/index.js.map +0 -1
  362. package/dist/tools/builtin/wallet-action/ApproveTokenTool.d.ts +0 -25
  363. package/dist/tools/builtin/wallet-action/ApproveTokenTool.d.ts.map +0 -1
  364. package/dist/tools/builtin/wallet-action/ApproveTokenTool.js +0 -98
  365. package/dist/tools/builtin/wallet-action/ApproveTokenTool.js.map +0 -1
  366. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.d.ts +0 -211
  367. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.d.ts.map +0 -1
  368. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.js +0 -499
  369. package/dist/tools/builtin/wallet-action/BaseWalletActionTool.js.map +0 -1
  370. package/dist/tools/builtin/wallet-action/BuyTokenTool.d.ts +0 -240
  371. package/dist/tools/builtin/wallet-action/BuyTokenTool.d.ts.map +0 -1
  372. package/dist/tools/builtin/wallet-action/BuyTokenTool.js +0 -1257
  373. package/dist/tools/builtin/wallet-action/BuyTokenTool.js.map +0 -1
  374. package/dist/tools/builtin/wallet-action/SendNativeTool.d.ts +0 -41
  375. package/dist/tools/builtin/wallet-action/SendNativeTool.d.ts.map +0 -1
  376. package/dist/tools/builtin/wallet-action/SendNativeTool.js +0 -127
  377. package/dist/tools/builtin/wallet-action/SendNativeTool.js.map +0 -1
  378. package/dist/tools/builtin/wallet-action/SendTokenTool.d.ts +0 -63
  379. package/dist/tools/builtin/wallet-action/SendTokenTool.d.ts.map +0 -1
  380. package/dist/tools/builtin/wallet-action/SendTokenTool.js +0 -294
  381. package/dist/tools/builtin/wallet-action/SendTokenTool.js.map +0 -1
  382. package/dist/tools/builtin/wallet-action/SwapTokenTool.d.ts +0 -247
  383. package/dist/tools/builtin/wallet-action/SwapTokenTool.d.ts.map +0 -1
  384. package/dist/tools/builtin/wallet-action/SwapTokenTool.js +0 -1258
  385. package/dist/tools/builtin/wallet-action/SwapTokenTool.js.map +0 -1
  386. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.d.ts +0 -20
  387. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.d.ts.map +0 -1
  388. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.js +0 -36
  389. package/dist/tools/builtin/wallet-action/UnwrapNativeTool.js.map +0 -1
  390. package/dist/tools/builtin/wallet-action/WrapNativeTool.d.ts +0 -23
  391. package/dist/tools/builtin/wallet-action/WrapNativeTool.d.ts.map +0 -1
  392. package/dist/tools/builtin/wallet-action/WrapNativeTool.js +0 -54
  393. package/dist/tools/builtin/wallet-action/WrapNativeTool.js.map +0 -1
  394. package/dist/tools/builtin/wallet-action/amountSpec.d.ts +0 -62
  395. package/dist/tools/builtin/wallet-action/amountSpec.d.ts.map +0 -1
  396. package/dist/tools/builtin/wallet-action/amountSpec.js +0 -93
  397. package/dist/tools/builtin/wallet-action/amountSpec.js.map +0 -1
  398. package/dist/tools/builtin/wallet-action/gasReserve.d.ts +0 -42
  399. package/dist/tools/builtin/wallet-action/gasReserve.d.ts.map +0 -1
  400. package/dist/tools/builtin/wallet-action/gasReserve.js +0 -103
  401. package/dist/tools/builtin/wallet-action/gasReserve.js.map +0 -1
  402. package/dist/tools/builtin/wallet-action/index.d.ts +0 -9
  403. package/dist/tools/builtin/wallet-action/index.d.ts.map +0 -1
  404. package/dist/tools/builtin/wallet-action/index.js +0 -20
  405. package/dist/tools/builtin/wallet-action/index.js.map +0 -1
  406. package/dist/tools/chainResolver.d.ts +0 -98
  407. package/dist/tools/chainResolver.d.ts.map +0 -1
  408. package/dist/tools/chainResolver.js +0 -302
  409. package/dist/tools/chainResolver.js.map +0 -1
  410. package/dist/tools/index.d.ts +0 -4
  411. package/dist/tools/index.d.ts.map +0 -1
  412. package/dist/tools/index.js +0 -23
  413. package/dist/tools/index.js.map +0 -1
  414. package/dist/types/index.d.ts +0 -777
  415. package/dist/types/index.d.ts.map +0 -1
  416. package/dist/types/index.js +0 -6
  417. package/dist/types/index.js.map +0 -1
@@ -1,15 +0,0 @@
1
- import { BaseNftMessageTool, type NftMessageToolConfig } from './BaseNftMessageTool';
2
- export type NFTMetadataToolConfig = NftMessageToolConfig;
3
- /**
4
- * Tool: get-nft-metadata
5
- *
6
- * Points the user to the NFT website instead of returning a single NFT's
7
- * metadata. Emits a fixed NFT website notice; "this website" links to the
8
- * configured `nftLink` URL when set, otherwise it stays plain text.
9
- */
10
- export declare class NFTMetadataTool extends BaseNftMessageTool {
11
- name: string;
12
- description: string;
13
- protected readonly template = "Please view your NFT collection on {link} for more details";
14
- }
15
- //# sourceMappingURL=NFTMetadataTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NFTMetadataTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/NFTMetadataTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;IACrD,IAAI,SAAsB;IAC1B,WAAW,SAGuE;IAElF,SAAS,CAAC,QAAQ,CAAC,QAAQ,gEAAgE;CAC5F"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NFTMetadataTool = void 0;
4
- const BaseNftMessageTool_1 = require("./BaseNftMessageTool");
5
- /**
6
- * Tool: get-nft-metadata
7
- *
8
- * Points the user to the NFT website instead of returning a single NFT's
9
- * metadata. Emits a fixed NFT website notice; "this website" links to the
10
- * configured `nftLink` URL when set, otherwise it stays plain text.
11
- */
12
- class NFTMetadataTool extends BaseNftMessageTool_1.BaseNftMessageTool {
13
- name = 'get-nft-metadata';
14
- description = 'Use when the user asks about a specific NFT — its details, traits, image, or floor price ' +
15
- '("show NFT #1234 of collection X", "traits of this NFT", "floor price of this NFT"). ' +
16
- 'Returns a fixed notice directing them to the NFT website. Takes no arguments.';
17
- template = 'Please view your NFT collection on {link} for more details';
18
- }
19
- exports.NFTMetadataTool = NFTMetadataTool;
20
- //# sourceMappingURL=NFTMetadataTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NFTMetadataTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/NFTMetadataTool.ts"],"names":[],"mappings":";;;AAAA,6DAAqF;AAIrF;;;;;;GAMG;AACH,MAAa,eAAgB,SAAQ,uCAAkB;IACrD,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GACT,2FAA2F;QAC3F,uFAAuF;QACvF,+EAA+E,CAAC;IAE/D,QAAQ,GAAG,4DAA4D,CAAC;CAC5F;AARD,0CAQC"}
@@ -1,14 +0,0 @@
1
- import { BaseNftMessageTool } from './BaseNftMessageTool';
2
- /**
3
- * Tool: send-nft
4
- *
5
- * Points the user to the website to send/transfer an NFT. Emits a fixed
6
- * message; "this website" links to the configured `nftLink` URL when one is
7
- * set, otherwise it stays plain text.
8
- */
9
- export declare class SendNftTool extends BaseNftMessageTool {
10
- name: string;
11
- description: string;
12
- protected readonly template = "Please select the NFT you would like to send from the list and proceed via {link}.";
13
- }
14
- //# sourceMappingURL=SendNftTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendNftTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/SendNftTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,IAAI,SAAc;IAClB,WAAW,SAGsB;IAEjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,wFAAwF;CACpH"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SendNftTool = void 0;
4
- const BaseNftMessageTool_1 = require("./BaseNftMessageTool");
5
- /**
6
- * Tool: send-nft
7
- *
8
- * Points the user to the website to send/transfer an NFT. Emits a fixed
9
- * message; "this website" links to the configured `nftLink` URL when one is
10
- * set, otherwise it stays plain text.
11
- */
12
- class SendNftTool extends BaseNftMessageTool_1.BaseNftMessageTool {
13
- name = 'send-nft';
14
- description = 'Use when the user wants to SEND / transfer an NFT ("send my NFT", "transfer an NFT", ' +
15
- '"gửi NFT"). Returns a fixed message directing them to select and send the NFT on the ' +
16
- 'website. Takes no arguments.';
17
- template = 'Please select the NFT you would like to send from the list and proceed via {link}.';
18
- }
19
- exports.SendNftTool = SendNftTool;
20
- //# sourceMappingURL=SendNftTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendNftTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/SendNftTool.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAE1D;;;;;;GAMG;AACH,MAAa,WAAY,SAAQ,uCAAkB;IACjD,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GACT,uFAAuF;QACvF,uFAAuF;QACvF,8BAA8B,CAAC;IAEd,QAAQ,GAAG,oFAAoF,CAAC;CACpH;AARD,kCAQC"}
@@ -1,15 +0,0 @@
1
- import { BaseNftMessageTool, type NftMessageToolConfig } from './BaseNftMessageTool';
2
- export type WalletNFTsToolConfig = NftMessageToolConfig;
3
- /**
4
- * Tool: get-wallet-nfts
5
- *
6
- * Points the user to the NFT website instead of returning on-chain holdings.
7
- * Emits a fixed NFT website notice; "this website" links to the configured
8
- * `nftLink` URL when set, otherwise it stays plain text.
9
- */
10
- export declare class WalletNFTsTool extends BaseNftMessageTool {
11
- name: string;
12
- description: string;
13
- protected readonly template = "Please view your NFT collection on {link} for more details";
14
- }
15
- //# sourceMappingURL=WalletNFTsTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletNFTsTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/WalletNFTsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAExD;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,IAAI,SAAqB;IACzB,WAAW,SAGsC;IAEjD,SAAS,CAAC,QAAQ,CAAC,QAAQ,gEAAgE;CAC5F"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletNFTsTool = void 0;
4
- const BaseNftMessageTool_1 = require("./BaseNftMessageTool");
5
- /**
6
- * Tool: get-wallet-nfts
7
- *
8
- * Points the user to the NFT website instead of returning on-chain holdings.
9
- * Emits a fixed NFT website notice; "this website" links to the configured
10
- * `nftLink` URL when set, otherwise it stays plain text.
11
- */
12
- class WalletNFTsTool extends BaseNftMessageTool_1.BaseNftMessageTool {
13
- name = 'get-wallet-nfts';
14
- description = 'Use when the user wants to view their NFTs / NFT collection / holdings ("my NFTs", ' +
15
- '"show my NFTs", "what NFTs do I own", "NFT collection"). Returns a fixed notice directing ' +
16
- 'them to the NFT website. Takes no arguments.';
17
- template = 'Please view your NFT collection on {link} for more details';
18
- }
19
- exports.WalletNFTsTool = WalletNFTsTool;
20
- //# sourceMappingURL=WalletNFTsTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletNFTsTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/WalletNFTsTool.ts"],"names":[],"mappings":";;;AAAA,6DAAqF;AAIrF;;;;;;GAMG;AACH,MAAa,cAAe,SAAQ,uCAAkB;IACpD,IAAI,GAAG,iBAAiB,CAAC;IACzB,WAAW,GACT,qFAAqF;QACrF,4FAA4F;QAC5F,8CAA8C,CAAC;IAE9B,QAAQ,GAAG,4DAA4D,CAAC;CAC5F;AARD,wCAQC"}
@@ -1,7 +0,0 @@
1
- export { WalletNFTsTool } from './WalletNFTsTool';
2
- export type { WalletNFTsToolConfig } from './WalletNFTsTool';
3
- export { NFTContractInfoTool } from './NFTContractInfoTool';
4
- export type { NFTContractInfoToolConfig } from './NFTContractInfoTool';
5
- export { NFTMetadataTool } from './NFTMetadataTool';
6
- export type { NFTMetadataToolConfig } from './NFTMetadataTool';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NFTMetadataTool = exports.NFTContractInfoTool = exports.WalletNFTsTool = void 0;
4
- var WalletNFTsTool_1 = require("./WalletNFTsTool");
5
- Object.defineProperty(exports, "WalletNFTsTool", { enumerable: true, get: function () { return WalletNFTsTool_1.WalletNFTsTool; } });
6
- var NFTContractInfoTool_1 = require("./NFTContractInfoTool");
7
- Object.defineProperty(exports, "NFTContractInfoTool", { enumerable: true, get: function () { return NFTContractInfoTool_1.NFTContractInfoTool; } });
8
- var NFTMetadataTool_1 = require("./NFTMetadataTool");
9
- Object.defineProperty(exports, "NFTMetadataTool", { enumerable: true, get: function () { return NFTMetadataTool_1.NFTMetadataTool; } });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/builtin/nft/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAE5B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -1,124 +0,0 @@
1
- import { BaseTool } from '../../BaseTool';
2
- import type { ToolParameter, UserContext } from '../../../types';
3
- import { type UniswapServiceConfig } from '../../../services/UniswapService';
4
- export type EstimatePoolYieldToolConfig = UniswapServiceConfig;
5
- /**
6
- * Yield formula (matches Uniswap UI's "estimated APR"):
7
- * fees24h = volume24h × feeTier_decimal
8
- * APR = (fees24h / TVL) × 365
9
- * yield = deposit × APR / period
10
- *
11
- * Note: assumes full-range liquidity. Concentrated positions earn more when in
12
- * range, zero when out of range. Does not account for impermanent loss.
13
- */
14
- interface YieldEstimate {
15
- depositUsd: number;
16
- aprPercent: number;
17
- dailyUsd: number;
18
- weeklyUsd: number;
19
- monthlyUsd: number;
20
- yearlyUsd: number;
21
- }
22
- export declare class EstimatePoolYieldTool extends BaseTool {
23
- name: string;
24
- description: string;
25
- category: string;
26
- parameters: ToolParameter[];
27
- private service;
28
- constructor(config?: EstimatePoolYieldToolConfig);
29
- protected run(args: Record<string, unknown>, userContext?: UserContext): Promise<{
30
- error: string;
31
- _instructions?: undefined;
32
- reason?: undefined;
33
- missing?: undefined;
34
- candidates?: undefined;
35
- pool?: undefined;
36
- autoPickedReason?: undefined;
37
- aprUnavailableReason?: undefined;
38
- estimate?: undefined;
39
- depositMode?: undefined;
40
- disclaimer?: undefined;
41
- } | {
42
- _instructions: string;
43
- reason: string;
44
- missing: string[];
45
- candidates: {
46
- pair: string | undefined;
47
- feeTierBps: number | undefined;
48
- feeTierPercent: number | undefined;
49
- volume24hUsd: number | undefined;
50
- address: string | undefined;
51
- }[];
52
- error?: undefined;
53
- pool?: undefined;
54
- autoPickedReason?: undefined;
55
- aprUnavailableReason?: undefined;
56
- estimate?: undefined;
57
- depositMode?: undefined;
58
- disclaimer?: undefined;
59
- } | {
60
- _instructions: string;
61
- pool: {
62
- address: string | undefined;
63
- pair: string | undefined;
64
- feeTierBps: number | undefined;
65
- feeTierPercent: number | undefined;
66
- tvlUsd: number | undefined;
67
- volume24hUsd: number | undefined;
68
- fees24hUsd: number | undefined;
69
- aprPercent: number | undefined;
70
- chain: string;
71
- token0: {
72
- symbol: string | undefined;
73
- } | undefined;
74
- token1: {
75
- symbol: string | undefined;
76
- } | undefined;
77
- };
78
- autoPickedReason: string | undefined;
79
- aprUnavailableReason: string;
80
- error?: undefined;
81
- reason?: undefined;
82
- missing?: undefined;
83
- candidates?: undefined;
84
- estimate?: undefined;
85
- depositMode?: undefined;
86
- disclaimer?: undefined;
87
- } | {
88
- _instructions: string;
89
- pool: {
90
- address: string | undefined;
91
- pair: string | undefined;
92
- feeTierBps: number | undefined;
93
- feeTierPercent: number | undefined;
94
- tvlUsd: number | undefined;
95
- volume24hUsd: number | undefined;
96
- fees24hUsd: number | undefined;
97
- aprPercent: number | undefined;
98
- chain: string;
99
- token0: {
100
- symbol: string | undefined;
101
- } | undefined;
102
- token1: {
103
- symbol: string | undefined;
104
- } | undefined;
105
- };
106
- estimate: YieldEstimate;
107
- depositMode: string;
108
- autoPickedReason: string | undefined;
109
- disclaimer: string;
110
- error?: undefined;
111
- reason?: undefined;
112
- missing?: undefined;
113
- candidates?: undefined;
114
- aprUnavailableReason?: undefined;
115
- }>;
116
- private filterPools;
117
- private sym;
118
- private rankByVolume;
119
- /** Keep the highest-volume pool per fee tier — useful when the same pair has duplicates across protocols. */
120
- private dedupeByFeeTier;
121
- private describeQuery;
122
- }
123
- export {};
124
- //# sourceMappingURL=EstimatePoolYieldTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EstimatePoolYieldTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/builtin/pool/EstimatePoolYieldTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAkB,KAAK,oBAAoB,EAAyB,MAAM,kCAAkC,CAAC;AAEpH,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAM/D;;;;;;;;GAQG;AAEH,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,IAAI,SAAyB;IAC7B,WAAW,SAauE;IAElF,QAAQ,SAAqB;IAE7B,UAAU,EAAE,aAAa,EAAE,CAsCzB;IAEF,OAAO,CAAC,OAAO,CAAiB;gBAEpB,MAAM,CAAC,EAAE,2BAA2B;cAKhC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4I5E,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,YAAY;IAIpB,6GAA6G;IAC7G,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;CAItB"}
@@ -1,236 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EstimatePoolYieldTool = void 0;
4
- const BaseTool_1 = require("../../BaseTool");
5
- const chainResolver_1 = require("../../chainResolver");
6
- const UniswapService_1 = require("../../../services/UniswapService");
7
- const DAYS_PER_YEAR = 365;
8
- const DEFAULT_DEPOSIT_USD = 1000;
9
- const EVM_ADDRESS_RE = /^0x[a-fA-F0-9]{40}$/;
10
- function computeYield(depositUsd, aprDecimal) {
11
- return {
12
- depositUsd,
13
- aprPercent: aprDecimal * 100,
14
- dailyUsd: (depositUsd * aprDecimal) / DAYS_PER_YEAR,
15
- weeklyUsd: (depositUsd * aprDecimal) / 52,
16
- monthlyUsd: (depositUsd * aprDecimal) / 12,
17
- yearlyUsd: depositUsd * aprDecimal,
18
- };
19
- }
20
- class EstimatePoolYieldTool extends BaseTool_1.BaseTool {
21
- name = 'estimate_pool_yield';
22
- description = 'Estimate daily / weekly / monthly / yearly fee yield for a USD deposit into a Uniswap V3 pool. ' +
23
- 'Answers questions like: "If I put $1000 into the USDC/WETH 0.05% pool, how much per day?", ' +
24
- '"bỏ 500$ vào pool ETH/USDC 0.3% mỗi ngày lời bao nhiêu?", "APR of WBTC/ETH 0.3% on Arbitrum". ' +
25
- 'BEHAVIOR (designed to minimize back-and-forth with the user):\n' +
26
- ' • If only ONE token symbol is given → auto-pick the highest-volume V3 pool containing that token and compute yield. ' +
27
- 'Do NOT ask the user for the other token.\n' +
28
- ' • If BOTH tokens are given but fee tier is missing AND multiple fee tiers exist → return candidates (one per fee tier) ' +
29
- 'so the agent can ask the user to pick.\n' +
30
- ' • If depositUsd is missing → default to $1000 and clearly mark the result as a per-$1000 example. ' +
31
- 'Do NOT ask the user for the deposit amount.\n' +
32
- ' • If chain is missing → default to userContext.chain or "0x1" (Ethereum).\n' +
33
- 'Source: Uniswap ExploreStats (live 24h data). ' +
34
- 'Supports: Ethereum, Optimism, BSC, Polygon, Base, Arbitrum, Avalanche, Linea.';
35
- category = 'blockchain-data';
36
- parameters = [
37
- {
38
- name: 'token0Symbol',
39
- type: 'string',
40
- description: 'Symbol of one of the pool tokens (e.g. "USDC"). Pair order does not matter.',
41
- required: true,
42
- },
43
- {
44
- name: 'token1Symbol',
45
- type: 'string',
46
- description: 'Symbol of the other pool token (e.g. "WETH"). ' +
47
- 'Optional — if omitted, the tool auto-picks the highest-volume pool containing token0Symbol.',
48
- required: false,
49
- },
50
- {
51
- name: 'feeTier',
52
- type: 'number',
53
- description: 'Fee tier in basis points: 100 = 0.01%, 500 = 0.05%, 3000 = 0.30%, 10000 = 1.00%. ' +
54
- 'Optional — if omitted and the pair has multiple fee tiers, the tool returns candidates.',
55
- required: false,
56
- },
57
- {
58
- name: 'depositUsd',
59
- type: 'number',
60
- description: 'USD amount to deposit. Optional — defaults to 1000 and the response is marked as a per-$1000 example.',
61
- required: false,
62
- },
63
- {
64
- name: 'chain',
65
- type: 'string',
66
- description: 'Hex chain ID: "0x1" Ethereum, "0xa" Optimism, "0x38" BSC, "0x89" Polygon, "0x2105" Base, ' +
67
- '"0xa4b1" Arbitrum, "0xa86a" Avalanche, "0xe708" Linea. ONLY set this when the user EXPLICITLY names a chain; otherwise OMIT it so the connected wallet chain is used.',
68
- required: false,
69
- },
70
- ];
71
- service;
72
- constructor(config) {
73
- super();
74
- this.service = new UniswapService_1.UniswapService(config);
75
- }
76
- async run(args, userContext) {
77
- const chain = (0, chainResolver_1.resolveChain)(args.chain, userContext);
78
- const token0Symbol = typeof args.token0Symbol === 'string' ? args.token0Symbol.trim() : '';
79
- const token1Symbol = typeof args.token1Symbol === 'string' ? args.token1Symbol.trim() : '';
80
- const feeTier = typeof args.feeTier === 'number' && Number.isFinite(args.feeTier) ? Math.floor(args.feeTier) : undefined;
81
- const userProvidedDeposit = typeof args.depositUsd === 'number' && Number.isFinite(args.depositUsd) && args.depositUsd > 0;
82
- const depositUsd = userProvidedDeposit ? args.depositUsd : DEFAULT_DEPOSIT_USD;
83
- if (!token0Symbol) {
84
- return { error: 'token0Symbol is required. Ask the user which pool / token they want to estimate yield for.' };
85
- }
86
- const searchQuery = token1Symbol ? `${token0Symbol} ${token1Symbol}` : token0Symbol;
87
- const search = await this.service.searchPools({
88
- query: searchQuery,
89
- chain,
90
- page: 1,
91
- size: 50,
92
- protocolVersion: 'V3',
93
- });
94
- if (!search.success)
95
- return { error: search.error || 'Pool search failed' };
96
- const all = search.data ?? [];
97
- const matched = this.filterPools(all, token0Symbol, token1Symbol, feeTier);
98
- if (matched.length === 0) {
99
- return {
100
- error: `No V3 pool found for ${this.describeQuery(token0Symbol, token1Symbol, feeTier)} on chain ${chain}. ` +
101
- 'Verify the token symbols with the user.',
102
- };
103
- }
104
- const ranked = this.rankByVolume(matched);
105
- // Disambiguation: ONLY when BOTH symbols are given but feeTier is missing
106
- // AND there are multiple distinct fee tiers. In every other case we pick
107
- // the top pool automatically — this is what makes the UX feel natural.
108
- if (token1Symbol && feeTier == null) {
109
- const distinctFeeTiers = new Set(ranked.map((p) => p.feeTier).filter((f) => typeof f === 'number'));
110
- if (distinctFeeTiers.size > 1) {
111
- const candidates = this.dedupeByFeeTier(ranked).slice(0, 5);
112
- return {
113
- _instructions: 'The pair has multiple fee tiers. Present them as a short numbered list (fee tier %, 24h volume). ' +
114
- 'Ask which fee tier the user wants, then re-call with the same token symbols + chosen feeTier. ' +
115
- 'If the user already mentioned a deposit amount, pass it along as depositUsd. ' +
116
- 'Do NOT mention tool names. Format numbers human-readably (e.g. $12.5M, 0.05%).',
117
- reason: `${token0Symbol}/${token1Symbol} exists across multiple fee tiers — user choice required.`,
118
- missing: ['feeTier'],
119
- candidates: candidates.map((p) => ({
120
- pair: p.token0?.symbol && p.token1?.symbol ? `${p.token0.symbol}/${p.token1.symbol}` : undefined,
121
- feeTierBps: p.feeTier,
122
- feeTierPercent: typeof p.feeTier === 'number' ? p.feeTier / 10_000 : undefined,
123
- volume24hUsd: p.volumeUsd24hr,
124
- address: p.id,
125
- })),
126
- };
127
- }
128
- }
129
- // Auto-pick: highest-volume pool from the filtered set.
130
- const chosen = ranked[0];
131
- if (!chosen.id || !EVM_ADDRESS_RE.test(chosen.id)) {
132
- return { error: 'Resolved pool has no valid address.' };
133
- }
134
- const detail = await this.service.getV3PoolDetail({ address: chosen.id, chain });
135
- if (!detail.success || !detail.data) {
136
- return { error: detail.error || 'Failed to fetch pool detail.' };
137
- }
138
- const pool = detail.data;
139
- const tvlUsd = pool.totalLiquidity?.value;
140
- const volume24hUsd = pool.volume24h?.value;
141
- const feeTierBps = pool.feeTier;
142
- const feeTierPercent = typeof feeTierBps === 'number' ? feeTierBps / 10_000 : undefined;
143
- const fees24hUsd = typeof volume24hUsd === 'number' && typeof feeTierPercent === 'number'
144
- ? (volume24hUsd * feeTierPercent) / 100
145
- : undefined;
146
- const aprDecimal = typeof fees24hUsd === 'number' && typeof tvlUsd === 'number' && tvlUsd > 0
147
- ? (fees24hUsd / tvlUsd) * DAYS_PER_YEAR
148
- : undefined;
149
- const poolSummary = {
150
- address: pool.address,
151
- pair: pool.token0?.symbol && pool.token1?.symbol ? `${pool.token0.symbol}/${pool.token1.symbol}` : undefined,
152
- feeTierBps,
153
- feeTierPercent,
154
- tvlUsd,
155
- volume24hUsd,
156
- fees24hUsd,
157
- aprPercent: typeof aprDecimal === 'number' ? aprDecimal * 100 : undefined,
158
- chain,
159
- token0: pool.token0 ? { symbol: pool.token0.symbol } : undefined,
160
- token1: pool.token1 ? { symbol: pool.token1.symbol } : undefined,
161
- };
162
- const autoPickedReason = !token1Symbol
163
- ? `User only provided ${token0Symbol}; auto-picked the highest-volume V3 pool containing it.`
164
- : undefined;
165
- if (aprDecimal == null) {
166
- return {
167
- _instructions: 'Pool APR could not be computed (TVL or volume data unavailable). Inform the user briefly and show TVL/volume if present. ' +
168
- 'Do NOT mention tool names.',
169
- pool: poolSummary,
170
- autoPickedReason,
171
- aprUnavailableReason: !tvlUsd ? 'TVL is zero or unavailable' : 'Volume data unavailable',
172
- };
173
- }
174
- const estimate = computeYield(depositUsd, aprDecimal);
175
- return {
176
- _instructions: "Present the yield estimate naturally in the user's language. " +
177
- (userProvidedDeposit
178
- ? "Lead with: pool (pair + fee %), chain, APR %. Then show projected earnings for the user's deposit — daily, weekly, monthly, yearly. "
179
- : 'IMPORTANT: depositUsd was NOT specified by the user — the result is a per-$1000 EXAMPLE. ' +
180
- 'Lead with: pool (pair + fee %), chain, APR %. Then say "for every $1000 deposited you would earn approximately:" and list daily / weekly / monthly / yearly. ' +
181
- 'End with a short note that the user can multiply these numbers by (their deposit / 1000) for a custom amount. ') +
182
- (autoPickedReason
183
- ? 'Mention briefly that you picked the highest-volume pool for this token (do NOT say "auto-picked"). '
184
- : '') +
185
- 'Add a one-line disclaimer about impermanent loss. ' +
186
- 'Format USD numbers with 2 decimal places (e.g. $3.45/day). Do NOT mention tool names.',
187
- pool: poolSummary,
188
- estimate,
189
- depositMode: userProvidedDeposit ? 'user-specified' : 'default-1000-example',
190
- autoPickedReason,
191
- disclaimer: "Fee yield is based on the pool's 24h volume snapshot and assumes full-range liquidity. Actual returns vary with price movement, volume changes, and impermanent loss.",
192
- };
193
- }
194
- filterPools(pools, sym0, sym1, fee) {
195
- const x = sym0.toLowerCase();
196
- const y = sym1 ? sym1.toLowerCase() : '';
197
- return pools.filter((p) => {
198
- if (fee != null && p.feeTier !== fee)
199
- return false;
200
- const a = (p.token0?.symbol ?? '').toLowerCase();
201
- const b = (p.token1?.symbol ?? '').toLowerCase();
202
- if (y) {
203
- return (this.sym(a, x) && this.sym(b, y)) || (this.sym(a, y) && this.sym(b, x));
204
- }
205
- return this.sym(a, x) || this.sym(b, x);
206
- });
207
- }
208
- sym(poolSym, userSym) {
209
- if (!poolSym || !userSym)
210
- return false;
211
- return poolSym.includes(userSym) || userSym.includes(poolSym);
212
- }
213
- rankByVolume(pools) {
214
- return [...pools].sort((a, b) => (b.volumeUsd24hr ?? 0) - (a.volumeUsd24hr ?? 0));
215
- }
216
- /** Keep the highest-volume pool per fee tier — useful when the same pair has duplicates across protocols. */
217
- dedupeByFeeTier(pools) {
218
- const seen = new Set();
219
- const out = [];
220
- for (const p of pools) {
221
- if (typeof p.feeTier !== 'number')
222
- continue;
223
- if (seen.has(p.feeTier))
224
- continue;
225
- seen.add(p.feeTier);
226
- out.push(p);
227
- }
228
- return out;
229
- }
230
- describeQuery(sym0, sym1, fee) {
231
- const pair = sym1 ? `${sym0}/${sym1}` : sym0;
232
- return fee != null ? `${pair} at ${fee} bps` : pair;
233
- }
234
- }
235
- exports.EstimatePoolYieldTool = EstimatePoolYieldTool;
236
- //# sourceMappingURL=EstimatePoolYieldTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EstimatePoolYieldTool.js","sourceRoot":"","sources":["../../../../src/tools/builtin/pool/EstimatePoolYieldTool.ts"],"names":[],"mappings":"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"}