intentkit 0.5.0__py3-none-any.whl → 0.5.2__py3-none-any.whl

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.

Potentially problematic release.


This version of intentkit might be problematic. Click here for more details.

Files changed (366) hide show
  1. intentkit/__init__.py +17 -0
  2. intentkit/abstracts/__init__.py +0 -0
  3. intentkit/abstracts/agent.py +60 -0
  4. intentkit/abstracts/api.py +4 -0
  5. intentkit/abstracts/engine.py +38 -0
  6. intentkit/abstracts/exception.py +9 -0
  7. intentkit/abstracts/graph.py +25 -0
  8. intentkit/abstracts/skill.py +129 -0
  9. intentkit/abstracts/twitter.py +54 -0
  10. intentkit/clients/__init__.py +14 -0
  11. intentkit/clients/cdp.py +53 -0
  12. intentkit/clients/twitter.py +445 -0
  13. intentkit/config/__init__.py +0 -0
  14. intentkit/config/config.py +164 -0
  15. intentkit/core/__init__.py +0 -0
  16. intentkit/core/agent.py +191 -0
  17. intentkit/core/api.py +40 -0
  18. intentkit/core/client.py +45 -0
  19. intentkit/core/credit.py +1767 -0
  20. intentkit/core/engine.py +1018 -0
  21. intentkit/core/node.py +223 -0
  22. intentkit/core/prompt.py +58 -0
  23. intentkit/core/skill.py +124 -0
  24. intentkit/models/agent.py +1689 -0
  25. intentkit/models/agent_data.py +810 -0
  26. intentkit/models/agent_schema.json +733 -0
  27. intentkit/models/app_setting.py +156 -0
  28. intentkit/models/base.py +9 -0
  29. intentkit/models/chat.py +581 -0
  30. intentkit/models/conversation.py +286 -0
  31. intentkit/models/credit.py +1406 -0
  32. intentkit/models/db.py +120 -0
  33. intentkit/models/db_mig.py +102 -0
  34. intentkit/models/generator.py +347 -0
  35. intentkit/models/llm.py +746 -0
  36. intentkit/models/redis.py +132 -0
  37. intentkit/models/skill.py +466 -0
  38. intentkit/models/user.py +243 -0
  39. intentkit/skills/__init__.py +12 -0
  40. intentkit/skills/acolyt/__init__.py +83 -0
  41. intentkit/skills/acolyt/acolyt.jpg +0 -0
  42. intentkit/skills/acolyt/ask.py +128 -0
  43. intentkit/skills/acolyt/base.py +28 -0
  44. intentkit/skills/acolyt/schema.json +89 -0
  45. intentkit/skills/aixbt/README.md +71 -0
  46. intentkit/skills/aixbt/__init__.py +73 -0
  47. intentkit/skills/aixbt/aixbt.jpg +0 -0
  48. intentkit/skills/aixbt/base.py +21 -0
  49. intentkit/skills/aixbt/projects.py +153 -0
  50. intentkit/skills/aixbt/schema.json +99 -0
  51. intentkit/skills/allora/__init__.py +83 -0
  52. intentkit/skills/allora/allora.jpeg +0 -0
  53. intentkit/skills/allora/base.py +28 -0
  54. intentkit/skills/allora/price.py +130 -0
  55. intentkit/skills/allora/schema.json +89 -0
  56. intentkit/skills/base.py +174 -0
  57. intentkit/skills/carv/README.md +95 -0
  58. intentkit/skills/carv/__init__.py +121 -0
  59. intentkit/skills/carv/base.py +183 -0
  60. intentkit/skills/carv/carv.webp +0 -0
  61. intentkit/skills/carv/fetch_news.py +92 -0
  62. intentkit/skills/carv/onchain_query.py +164 -0
  63. intentkit/skills/carv/schema.json +137 -0
  64. intentkit/skills/carv/token_info_and_price.py +110 -0
  65. intentkit/skills/cdp/__init__.py +137 -0
  66. intentkit/skills/cdp/base.py +21 -0
  67. intentkit/skills/cdp/cdp.png +0 -0
  68. intentkit/skills/cdp/get_balance.py +81 -0
  69. intentkit/skills/cdp/schema.json +473 -0
  70. intentkit/skills/chainlist/README.md +38 -0
  71. intentkit/skills/chainlist/__init__.py +54 -0
  72. intentkit/skills/chainlist/base.py +21 -0
  73. intentkit/skills/chainlist/chain_lookup.py +208 -0
  74. intentkit/skills/chainlist/chainlist.png +0 -0
  75. intentkit/skills/chainlist/schema.json +47 -0
  76. intentkit/skills/common/__init__.py +82 -0
  77. intentkit/skills/common/base.py +21 -0
  78. intentkit/skills/common/common.jpg +0 -0
  79. intentkit/skills/common/current_time.py +84 -0
  80. intentkit/skills/common/schema.json +57 -0
  81. intentkit/skills/cookiefun/README.md +121 -0
  82. intentkit/skills/cookiefun/__init__.py +78 -0
  83. intentkit/skills/cookiefun/base.py +41 -0
  84. intentkit/skills/cookiefun/constants.py +18 -0
  85. intentkit/skills/cookiefun/cookiefun.png +0 -0
  86. intentkit/skills/cookiefun/get_account_details.py +171 -0
  87. intentkit/skills/cookiefun/get_account_feed.py +282 -0
  88. intentkit/skills/cookiefun/get_account_smart_followers.py +181 -0
  89. intentkit/skills/cookiefun/get_sectors.py +128 -0
  90. intentkit/skills/cookiefun/schema.json +155 -0
  91. intentkit/skills/cookiefun/search_accounts.py +225 -0
  92. intentkit/skills/cryptocompare/__init__.py +130 -0
  93. intentkit/skills/cryptocompare/api.py +159 -0
  94. intentkit/skills/cryptocompare/base.py +303 -0
  95. intentkit/skills/cryptocompare/cryptocompare.png +0 -0
  96. intentkit/skills/cryptocompare/fetch_news.py +96 -0
  97. intentkit/skills/cryptocompare/fetch_price.py +99 -0
  98. intentkit/skills/cryptocompare/fetch_top_exchanges.py +113 -0
  99. intentkit/skills/cryptocompare/fetch_top_market_cap.py +109 -0
  100. intentkit/skills/cryptocompare/fetch_top_volume.py +108 -0
  101. intentkit/skills/cryptocompare/fetch_trading_signals.py +107 -0
  102. intentkit/skills/cryptocompare/schema.json +168 -0
  103. intentkit/skills/cryptopanic/__init__.py +108 -0
  104. intentkit/skills/cryptopanic/base.py +51 -0
  105. intentkit/skills/cryptopanic/cryptopanic.png +0 -0
  106. intentkit/skills/cryptopanic/fetch_crypto_news.py +153 -0
  107. intentkit/skills/cryptopanic/fetch_crypto_sentiment.py +136 -0
  108. intentkit/skills/cryptopanic/schema.json +103 -0
  109. intentkit/skills/dapplooker/README.md +92 -0
  110. intentkit/skills/dapplooker/__init__.py +83 -0
  111. intentkit/skills/dapplooker/base.py +26 -0
  112. intentkit/skills/dapplooker/dapplooker.jpg +0 -0
  113. intentkit/skills/dapplooker/dapplooker_token_data.py +476 -0
  114. intentkit/skills/dapplooker/schema.json +91 -0
  115. intentkit/skills/defillama/__init__.py +323 -0
  116. intentkit/skills/defillama/api.py +315 -0
  117. intentkit/skills/defillama/base.py +135 -0
  118. intentkit/skills/defillama/coins/__init__.py +0 -0
  119. intentkit/skills/defillama/coins/fetch_batch_historical_prices.py +116 -0
  120. intentkit/skills/defillama/coins/fetch_block.py +98 -0
  121. intentkit/skills/defillama/coins/fetch_current_prices.py +105 -0
  122. intentkit/skills/defillama/coins/fetch_first_price.py +100 -0
  123. intentkit/skills/defillama/coins/fetch_historical_prices.py +110 -0
  124. intentkit/skills/defillama/coins/fetch_price_chart.py +109 -0
  125. intentkit/skills/defillama/coins/fetch_price_percentage.py +93 -0
  126. intentkit/skills/defillama/config/__init__.py +0 -0
  127. intentkit/skills/defillama/config/chains.py +433 -0
  128. intentkit/skills/defillama/defillama.jpeg +0 -0
  129. intentkit/skills/defillama/fees/__init__.py +0 -0
  130. intentkit/skills/defillama/fees/fetch_fees_overview.py +130 -0
  131. intentkit/skills/defillama/schema.json +383 -0
  132. intentkit/skills/defillama/stablecoins/__init__.py +0 -0
  133. intentkit/skills/defillama/stablecoins/fetch_stablecoin_chains.py +100 -0
  134. intentkit/skills/defillama/stablecoins/fetch_stablecoin_charts.py +129 -0
  135. intentkit/skills/defillama/stablecoins/fetch_stablecoin_prices.py +83 -0
  136. intentkit/skills/defillama/stablecoins/fetch_stablecoins.py +126 -0
  137. intentkit/skills/defillama/tests/__init__.py +0 -0
  138. intentkit/skills/defillama/tests/api_integration.test.py +192 -0
  139. intentkit/skills/defillama/tests/api_unit.test.py +583 -0
  140. intentkit/skills/defillama/tvl/__init__.py +0 -0
  141. intentkit/skills/defillama/tvl/fetch_chain_historical_tvl.py +106 -0
  142. intentkit/skills/defillama/tvl/fetch_chains.py +107 -0
  143. intentkit/skills/defillama/tvl/fetch_historical_tvl.py +91 -0
  144. intentkit/skills/defillama/tvl/fetch_protocol.py +207 -0
  145. intentkit/skills/defillama/tvl/fetch_protocol_current_tvl.py +93 -0
  146. intentkit/skills/defillama/tvl/fetch_protocols.py +196 -0
  147. intentkit/skills/defillama/volumes/__init__.py +0 -0
  148. intentkit/skills/defillama/volumes/fetch_dex_overview.py +157 -0
  149. intentkit/skills/defillama/volumes/fetch_dex_summary.py +123 -0
  150. intentkit/skills/defillama/volumes/fetch_options_overview.py +131 -0
  151. intentkit/skills/defillama/yields/__init__.py +0 -0
  152. intentkit/skills/defillama/yields/fetch_pool_chart.py +100 -0
  153. intentkit/skills/defillama/yields/fetch_pools.py +126 -0
  154. intentkit/skills/dexscreener/__init__.py +93 -0
  155. intentkit/skills/dexscreener/base.py +133 -0
  156. intentkit/skills/dexscreener/dexscreener.png +0 -0
  157. intentkit/skills/dexscreener/model/__init__.py +0 -0
  158. intentkit/skills/dexscreener/model/search_token_response.py +82 -0
  159. intentkit/skills/dexscreener/schema.json +48 -0
  160. intentkit/skills/dexscreener/search_token.py +321 -0
  161. intentkit/skills/dune_analytics/__init__.py +103 -0
  162. intentkit/skills/dune_analytics/base.py +46 -0
  163. intentkit/skills/dune_analytics/dune.png +0 -0
  164. intentkit/skills/dune_analytics/fetch_kol_buys.py +128 -0
  165. intentkit/skills/dune_analytics/fetch_nation_metrics.py +237 -0
  166. intentkit/skills/dune_analytics/schema.json +99 -0
  167. intentkit/skills/elfa/README.md +100 -0
  168. intentkit/skills/elfa/__init__.py +123 -0
  169. intentkit/skills/elfa/base.py +28 -0
  170. intentkit/skills/elfa/elfa.jpg +0 -0
  171. intentkit/skills/elfa/mention.py +504 -0
  172. intentkit/skills/elfa/schema.json +153 -0
  173. intentkit/skills/elfa/stats.py +118 -0
  174. intentkit/skills/elfa/tokens.py +126 -0
  175. intentkit/skills/enso/README.md +75 -0
  176. intentkit/skills/enso/__init__.py +114 -0
  177. intentkit/skills/enso/abi/__init__.py +0 -0
  178. intentkit/skills/enso/abi/approval.py +279 -0
  179. intentkit/skills/enso/abi/erc20.py +14 -0
  180. intentkit/skills/enso/abi/route.py +129 -0
  181. intentkit/skills/enso/base.py +44 -0
  182. intentkit/skills/enso/best_yield.py +286 -0
  183. intentkit/skills/enso/enso.jpg +0 -0
  184. intentkit/skills/enso/networks.py +105 -0
  185. intentkit/skills/enso/prices.py +93 -0
  186. intentkit/skills/enso/route.py +300 -0
  187. intentkit/skills/enso/schema.json +212 -0
  188. intentkit/skills/enso/tokens.py +223 -0
  189. intentkit/skills/enso/wallet.py +381 -0
  190. intentkit/skills/github/README.md +63 -0
  191. intentkit/skills/github/__init__.py +54 -0
  192. intentkit/skills/github/base.py +21 -0
  193. intentkit/skills/github/github.jpg +0 -0
  194. intentkit/skills/github/github_search.py +183 -0
  195. intentkit/skills/github/schema.json +59 -0
  196. intentkit/skills/heurist/__init__.py +143 -0
  197. intentkit/skills/heurist/base.py +26 -0
  198. intentkit/skills/heurist/heurist.png +0 -0
  199. intentkit/skills/heurist/image_generation_animagine_xl.py +162 -0
  200. intentkit/skills/heurist/image_generation_arthemy_comics.py +162 -0
  201. intentkit/skills/heurist/image_generation_arthemy_real.py +162 -0
  202. intentkit/skills/heurist/image_generation_braindance.py +162 -0
  203. intentkit/skills/heurist/image_generation_cyber_realistic_xl.py +162 -0
  204. intentkit/skills/heurist/image_generation_flux_1_dev.py +162 -0
  205. intentkit/skills/heurist/image_generation_sdxl.py +161 -0
  206. intentkit/skills/heurist/schema.json +196 -0
  207. intentkit/skills/lifi/README.md +294 -0
  208. intentkit/skills/lifi/__init__.py +141 -0
  209. intentkit/skills/lifi/base.py +21 -0
  210. intentkit/skills/lifi/lifi.png +0 -0
  211. intentkit/skills/lifi/schema.json +89 -0
  212. intentkit/skills/lifi/token_execute.py +472 -0
  213. intentkit/skills/lifi/token_quote.py +190 -0
  214. intentkit/skills/lifi/utils.py +656 -0
  215. intentkit/skills/moralis/README.md +490 -0
  216. intentkit/skills/moralis/__init__.py +110 -0
  217. intentkit/skills/moralis/api.py +281 -0
  218. intentkit/skills/moralis/base.py +55 -0
  219. intentkit/skills/moralis/fetch_chain_portfolio.py +191 -0
  220. intentkit/skills/moralis/fetch_nft_portfolio.py +284 -0
  221. intentkit/skills/moralis/fetch_solana_portfolio.py +331 -0
  222. intentkit/skills/moralis/fetch_wallet_portfolio.py +301 -0
  223. intentkit/skills/moralis/moralis.png +0 -0
  224. intentkit/skills/moralis/schema.json +156 -0
  225. intentkit/skills/moralis/tests/__init__.py +0 -0
  226. intentkit/skills/moralis/tests/test_wallet.py +511 -0
  227. intentkit/skills/nation/__init__.py +62 -0
  228. intentkit/skills/nation/base.py +31 -0
  229. intentkit/skills/nation/nation.png +0 -0
  230. intentkit/skills/nation/nft_check.py +106 -0
  231. intentkit/skills/nation/schema.json +58 -0
  232. intentkit/skills/openai/__init__.py +107 -0
  233. intentkit/skills/openai/base.py +32 -0
  234. intentkit/skills/openai/dalle_image_generation.py +128 -0
  235. intentkit/skills/openai/gpt_image_generation.py +152 -0
  236. intentkit/skills/openai/gpt_image_to_image.py +186 -0
  237. intentkit/skills/openai/image_to_text.py +126 -0
  238. intentkit/skills/openai/openai.png +0 -0
  239. intentkit/skills/openai/schema.json +139 -0
  240. intentkit/skills/portfolio/README.md +55 -0
  241. intentkit/skills/portfolio/__init__.py +151 -0
  242. intentkit/skills/portfolio/base.py +107 -0
  243. intentkit/skills/portfolio/constants.py +9 -0
  244. intentkit/skills/portfolio/moralis.png +0 -0
  245. intentkit/skills/portfolio/schema.json +237 -0
  246. intentkit/skills/portfolio/token_balances.py +155 -0
  247. intentkit/skills/portfolio/wallet_approvals.py +102 -0
  248. intentkit/skills/portfolio/wallet_defi_positions.py +80 -0
  249. intentkit/skills/portfolio/wallet_history.py +155 -0
  250. intentkit/skills/portfolio/wallet_net_worth.py +112 -0
  251. intentkit/skills/portfolio/wallet_nfts.py +139 -0
  252. intentkit/skills/portfolio/wallet_profitability.py +101 -0
  253. intentkit/skills/portfolio/wallet_profitability_summary.py +91 -0
  254. intentkit/skills/portfolio/wallet_stats.py +79 -0
  255. intentkit/skills/portfolio/wallet_swaps.py +147 -0
  256. intentkit/skills/skills.toml +103 -0
  257. intentkit/skills/slack/__init__.py +98 -0
  258. intentkit/skills/slack/base.py +55 -0
  259. intentkit/skills/slack/get_channel.py +109 -0
  260. intentkit/skills/slack/get_message.py +136 -0
  261. intentkit/skills/slack/schedule_message.py +92 -0
  262. intentkit/skills/slack/schema.json +135 -0
  263. intentkit/skills/slack/send_message.py +81 -0
  264. intentkit/skills/slack/slack.jpg +0 -0
  265. intentkit/skills/system/__init__.py +90 -0
  266. intentkit/skills/system/base.py +22 -0
  267. intentkit/skills/system/read_agent_api_key.py +87 -0
  268. intentkit/skills/system/regenerate_agent_api_key.py +77 -0
  269. intentkit/skills/system/schema.json +53 -0
  270. intentkit/skills/system/system.svg +76 -0
  271. intentkit/skills/tavily/README.md +86 -0
  272. intentkit/skills/tavily/__init__.py +91 -0
  273. intentkit/skills/tavily/base.py +27 -0
  274. intentkit/skills/tavily/schema.json +119 -0
  275. intentkit/skills/tavily/tavily.jpg +0 -0
  276. intentkit/skills/tavily/tavily_extract.py +147 -0
  277. intentkit/skills/tavily/tavily_search.py +139 -0
  278. intentkit/skills/token/README.md +89 -0
  279. intentkit/skills/token/__init__.py +107 -0
  280. intentkit/skills/token/base.py +154 -0
  281. intentkit/skills/token/constants.py +9 -0
  282. intentkit/skills/token/erc20_transfers.py +145 -0
  283. intentkit/skills/token/moralis.png +0 -0
  284. intentkit/skills/token/schema.json +141 -0
  285. intentkit/skills/token/token_analytics.py +81 -0
  286. intentkit/skills/token/token_price.py +132 -0
  287. intentkit/skills/token/token_search.py +121 -0
  288. intentkit/skills/twitter/__init__.py +146 -0
  289. intentkit/skills/twitter/base.py +68 -0
  290. intentkit/skills/twitter/follow_user.py +69 -0
  291. intentkit/skills/twitter/get_mentions.py +124 -0
  292. intentkit/skills/twitter/get_timeline.py +111 -0
  293. intentkit/skills/twitter/get_user_by_username.py +84 -0
  294. intentkit/skills/twitter/get_user_tweets.py +123 -0
  295. intentkit/skills/twitter/like_tweet.py +65 -0
  296. intentkit/skills/twitter/post_tweet.py +90 -0
  297. intentkit/skills/twitter/reply_tweet.py +98 -0
  298. intentkit/skills/twitter/retweet.py +76 -0
  299. intentkit/skills/twitter/schema.json +258 -0
  300. intentkit/skills/twitter/search_tweets.py +115 -0
  301. intentkit/skills/twitter/twitter.png +0 -0
  302. intentkit/skills/unrealspeech/__init__.py +55 -0
  303. intentkit/skills/unrealspeech/base.py +21 -0
  304. intentkit/skills/unrealspeech/schema.json +100 -0
  305. intentkit/skills/unrealspeech/text_to_speech.py +177 -0
  306. intentkit/skills/unrealspeech/unrealspeech.jpg +0 -0
  307. intentkit/skills/venice_audio/__init__.py +106 -0
  308. intentkit/skills/venice_audio/base.py +119 -0
  309. intentkit/skills/venice_audio/input.py +41 -0
  310. intentkit/skills/venice_audio/schema.json +152 -0
  311. intentkit/skills/venice_audio/venice_audio.py +240 -0
  312. intentkit/skills/venice_audio/venice_logo.jpg +0 -0
  313. intentkit/skills/venice_image/README.md +119 -0
  314. intentkit/skills/venice_image/__init__.py +154 -0
  315. intentkit/skills/venice_image/api.py +138 -0
  316. intentkit/skills/venice_image/base.py +188 -0
  317. intentkit/skills/venice_image/config.py +35 -0
  318. intentkit/skills/venice_image/image_enhance/README.md +119 -0
  319. intentkit/skills/venice_image/image_enhance/__init__.py +0 -0
  320. intentkit/skills/venice_image/image_enhance/image_enhance.py +80 -0
  321. intentkit/skills/venice_image/image_enhance/image_enhance_base.py +23 -0
  322. intentkit/skills/venice_image/image_enhance/image_enhance_input.py +40 -0
  323. intentkit/skills/venice_image/image_generation/README.md +144 -0
  324. intentkit/skills/venice_image/image_generation/__init__.py +0 -0
  325. intentkit/skills/venice_image/image_generation/image_generation_base.py +117 -0
  326. intentkit/skills/venice_image/image_generation/image_generation_fluently_xl.py +26 -0
  327. intentkit/skills/venice_image/image_generation/image_generation_flux_dev.py +27 -0
  328. intentkit/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +26 -0
  329. intentkit/skills/venice_image/image_generation/image_generation_input.py +158 -0
  330. intentkit/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +26 -0
  331. intentkit/skills/venice_image/image_generation/image_generation_pony_realism.py +26 -0
  332. intentkit/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +28 -0
  333. intentkit/skills/venice_image/image_generation/image_generation_venice_sd35.py +28 -0
  334. intentkit/skills/venice_image/image_upscale/README.md +111 -0
  335. intentkit/skills/venice_image/image_upscale/__init__.py +0 -0
  336. intentkit/skills/venice_image/image_upscale/image_upscale.py +90 -0
  337. intentkit/skills/venice_image/image_upscale/image_upscale_base.py +23 -0
  338. intentkit/skills/venice_image/image_upscale/image_upscale_input.py +22 -0
  339. intentkit/skills/venice_image/image_vision/README.md +112 -0
  340. intentkit/skills/venice_image/image_vision/__init__.py +0 -0
  341. intentkit/skills/venice_image/image_vision/image_vision.py +100 -0
  342. intentkit/skills/venice_image/image_vision/image_vision_base.py +17 -0
  343. intentkit/skills/venice_image/image_vision/image_vision_input.py +9 -0
  344. intentkit/skills/venice_image/schema.json +267 -0
  345. intentkit/skills/venice_image/utils.py +78 -0
  346. intentkit/skills/venice_image/venice_image.jpg +0 -0
  347. intentkit/skills/web_scraper/README.md +82 -0
  348. intentkit/skills/web_scraper/__init__.py +92 -0
  349. intentkit/skills/web_scraper/base.py +21 -0
  350. intentkit/skills/web_scraper/langchain.png +0 -0
  351. intentkit/skills/web_scraper/schema.json +115 -0
  352. intentkit/skills/web_scraper/scrape_and_index.py +327 -0
  353. intentkit/utils/__init__.py +1 -0
  354. intentkit/utils/chain.py +436 -0
  355. intentkit/utils/error.py +134 -0
  356. intentkit/utils/logging.py +70 -0
  357. intentkit/utils/middleware.py +61 -0
  358. intentkit/utils/random.py +16 -0
  359. intentkit/utils/s3.py +267 -0
  360. intentkit/utils/slack_alert.py +79 -0
  361. intentkit/utils/tx.py +37 -0
  362. {intentkit-0.5.0.dist-info → intentkit-0.5.2.dist-info}/METADATA +1 -1
  363. intentkit-0.5.2.dist-info/RECORD +365 -0
  364. intentkit-0.5.0.dist-info/RECORD +0 -4
  365. {intentkit-0.5.0.dist-info → intentkit-0.5.2.dist-info}/WHEEL +0 -0
  366. {intentkit-0.5.0.dist-info → intentkit-0.5.2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,279 @@
1
+ ABI_APPROVAL = [
2
+ {
3
+ "inputs": [
4
+ {"internalType": "address", "name": "owner_", "type": "address"},
5
+ {"internalType": "address", "name": "executor_", "type": "address"},
6
+ ],
7
+ "stateMutability": "nonpayable",
8
+ "type": "constructor",
9
+ },
10
+ {
11
+ "inputs": [
12
+ {"internalType": "uint256", "name": "command_index", "type": "uint256"},
13
+ {"internalType": "address", "name": "target", "type": "address"},
14
+ {"internalType": "string", "name": "message", "type": "string"},
15
+ ],
16
+ "name": "ExecutionFailed",
17
+ "type": "error",
18
+ },
19
+ {"inputs": [], "name": "InvalidAccount", "type": "error"},
20
+ {"inputs": [], "name": "InvalidArrayLength", "type": "error"},
21
+ {"inputs": [], "name": "NotPermitted", "type": "error"},
22
+ {"inputs": [], "name": "UnsafeSetting", "type": "error"},
23
+ {"inputs": [], "name": "WithdrawFailed", "type": "error"},
24
+ {
25
+ "anonymous": False,
26
+ "inputs": [
27
+ {
28
+ "indexed": False,
29
+ "internalType": "bytes32",
30
+ "name": "role",
31
+ "type": "bytes32",
32
+ },
33
+ {
34
+ "indexed": False,
35
+ "internalType": "address",
36
+ "name": "account",
37
+ "type": "address",
38
+ },
39
+ {
40
+ "indexed": False,
41
+ "internalType": "bool",
42
+ "name": "permission",
43
+ "type": "bool",
44
+ },
45
+ ],
46
+ "name": "PermissionSet",
47
+ "type": "event",
48
+ },
49
+ {
50
+ "inputs": [],
51
+ "name": "EXECUTOR_ROLE",
52
+ "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}],
53
+ "stateMutability": "view",
54
+ "type": "function",
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "MODULE_ROLE",
59
+ "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}],
60
+ "stateMutability": "view",
61
+ "type": "function",
62
+ },
63
+ {
64
+ "inputs": [],
65
+ "name": "OWNER_ROLE",
66
+ "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}],
67
+ "stateMutability": "view",
68
+ "type": "function",
69
+ },
70
+ {
71
+ "inputs": [
72
+ {"internalType": "bytes32[]", "name": "commands", "type": "bytes32[]"},
73
+ {"internalType": "bytes[]", "name": "state", "type": "bytes[]"},
74
+ ],
75
+ "name": "executeShortcut",
76
+ "outputs": [{"internalType": "bytes[]", "name": "", "type": "bytes[]"}],
77
+ "stateMutability": "payable",
78
+ "type": "function",
79
+ },
80
+ {
81
+ "inputs": [],
82
+ "name": "executor",
83
+ "outputs": [{"internalType": "address", "name": "", "type": "address"}],
84
+ "stateMutability": "view",
85
+ "type": "function",
86
+ },
87
+ {
88
+ "inputs": [
89
+ {"internalType": "bytes32", "name": "role", "type": "bytes32"},
90
+ {"internalType": "address", "name": "account", "type": "address"},
91
+ ],
92
+ "name": "getPermission",
93
+ "outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
94
+ "stateMutability": "view",
95
+ "type": "function",
96
+ },
97
+ {
98
+ "inputs": [
99
+ {"internalType": "address", "name": "", "type": "address"},
100
+ {"internalType": "address", "name": "", "type": "address"},
101
+ {"internalType": "uint256[]", "name": "", "type": "uint256[]"},
102
+ {"internalType": "uint256[]", "name": "", "type": "uint256[]"},
103
+ {"internalType": "bytes", "name": "", "type": "bytes"},
104
+ ],
105
+ "name": "onERC1155BatchReceived",
106
+ "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}],
107
+ "stateMutability": "nonpayable",
108
+ "type": "function",
109
+ },
110
+ {
111
+ "inputs": [
112
+ {"internalType": "address", "name": "", "type": "address"},
113
+ {"internalType": "address", "name": "", "type": "address"},
114
+ {"internalType": "uint256", "name": "", "type": "uint256"},
115
+ {"internalType": "uint256", "name": "", "type": "uint256"},
116
+ {"internalType": "bytes", "name": "", "type": "bytes"},
117
+ ],
118
+ "name": "onERC1155Received",
119
+ "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}],
120
+ "stateMutability": "nonpayable",
121
+ "type": "function",
122
+ },
123
+ {
124
+ "inputs": [
125
+ {"internalType": "address", "name": "", "type": "address"},
126
+ {"internalType": "address", "name": "", "type": "address"},
127
+ {"internalType": "uint256", "name": "", "type": "uint256"},
128
+ {"internalType": "bytes", "name": "", "type": "bytes"},
129
+ ],
130
+ "name": "onERC721Received",
131
+ "outputs": [{"internalType": "bytes4", "name": "", "type": "bytes4"}],
132
+ "stateMutability": "nonpayable",
133
+ "type": "function",
134
+ },
135
+ {
136
+ "inputs": [
137
+ {
138
+ "components": [
139
+ {
140
+ "internalType": "enum MinimalWallet.Protocol",
141
+ "name": "protocol",
142
+ "type": "uint8",
143
+ },
144
+ {"internalType": "address", "name": "token", "type": "address"},
145
+ {
146
+ "internalType": "address[]",
147
+ "name": "operators",
148
+ "type": "address[]",
149
+ },
150
+ ],
151
+ "internalType": "struct MinimalWallet.ApprovalNote[]",
152
+ "name": "notes",
153
+ "type": "tuple[]",
154
+ }
155
+ ],
156
+ "name": "revokeApprovals",
157
+ "outputs": [],
158
+ "stateMutability": "nonpayable",
159
+ "type": "function",
160
+ },
161
+ {
162
+ "inputs": [
163
+ {"internalType": "contract IERC1155", "name": "erc1155", "type": "address"},
164
+ {"internalType": "address[]", "name": "operators", "type": "address[]"},
165
+ ],
166
+ "name": "revokeERC1155Approvals",
167
+ "outputs": [],
168
+ "stateMutability": "nonpayable",
169
+ "type": "function",
170
+ },
171
+ {
172
+ "inputs": [
173
+ {"internalType": "contract IERC20", "name": "erc20", "type": "address"},
174
+ {"internalType": "address[]", "name": "operators", "type": "address[]"},
175
+ ],
176
+ "name": "revokeERC20Approvals",
177
+ "outputs": [],
178
+ "stateMutability": "nonpayable",
179
+ "type": "function",
180
+ },
181
+ {
182
+ "inputs": [
183
+ {"internalType": "contract IERC721", "name": "erc721", "type": "address"},
184
+ {"internalType": "address[]", "name": "operators", "type": "address[]"},
185
+ ],
186
+ "name": "revokeERC721Approvals",
187
+ "outputs": [],
188
+ "stateMutability": "nonpayable",
189
+ "type": "function",
190
+ },
191
+ {
192
+ "inputs": [
193
+ {"internalType": "bytes32", "name": "role", "type": "bytes32"},
194
+ {"internalType": "address", "name": "account", "type": "address"},
195
+ {"internalType": "bool", "name": "permission", "type": "bool"},
196
+ ],
197
+ "name": "setPermission",
198
+ "outputs": [],
199
+ "stateMutability": "nonpayable",
200
+ "type": "function",
201
+ },
202
+ {
203
+ "inputs": [{"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}],
204
+ "name": "supportsInterface",
205
+ "outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
206
+ "stateMutability": "view",
207
+ "type": "function",
208
+ },
209
+ {
210
+ "inputs": [
211
+ {
212
+ "components": [
213
+ {
214
+ "internalType": "enum MinimalWallet.Protocol",
215
+ "name": "protocol",
216
+ "type": "uint8",
217
+ },
218
+ {"internalType": "address", "name": "token", "type": "address"},
219
+ {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"},
220
+ {
221
+ "internalType": "uint256[]",
222
+ "name": "amounts",
223
+ "type": "uint256[]",
224
+ },
225
+ ],
226
+ "internalType": "struct MinimalWallet.TransferNote[]",
227
+ "name": "notes",
228
+ "type": "tuple[]",
229
+ }
230
+ ],
231
+ "name": "withdraw",
232
+ "outputs": [],
233
+ "stateMutability": "nonpayable",
234
+ "type": "function",
235
+ },
236
+ {
237
+ "inputs": [
238
+ {"internalType": "contract IERC1155", "name": "erc1155", "type": "address"},
239
+ {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"},
240
+ {"internalType": "uint256[]", "name": "amounts", "type": "uint256[]"},
241
+ ],
242
+ "name": "withdrawERC1155s",
243
+ "outputs": [],
244
+ "stateMutability": "nonpayable",
245
+ "type": "function",
246
+ },
247
+ {
248
+ "inputs": [
249
+ {
250
+ "internalType": "contract IERC20[]",
251
+ "name": "erc20s",
252
+ "type": "address[]",
253
+ },
254
+ {"internalType": "uint256[]", "name": "amounts", "type": "uint256[]"},
255
+ ],
256
+ "name": "withdrawERC20s",
257
+ "outputs": [],
258
+ "stateMutability": "nonpayable",
259
+ "type": "function",
260
+ },
261
+ {
262
+ "inputs": [
263
+ {"internalType": "contract IERC721", "name": "erc721", "type": "address"},
264
+ {"internalType": "uint256[]", "name": "ids", "type": "uint256[]"},
265
+ ],
266
+ "name": "withdrawERC721s",
267
+ "outputs": [],
268
+ "stateMutability": "nonpayable",
269
+ "type": "function",
270
+ },
271
+ {
272
+ "inputs": [{"internalType": "uint256", "name": "amount", "type": "uint256"}],
273
+ "name": "withdrawETH",
274
+ "outputs": [],
275
+ "stateMutability": "nonpayable",
276
+ "type": "function",
277
+ },
278
+ {"stateMutability": "payable", "type": "receive"},
279
+ ]
@@ -0,0 +1,14 @@
1
+ ABI_ERC20 = [
2
+ {
3
+ "constant": False,
4
+ "inputs": [
5
+ {"internalType": "address", "name": "spender", "type": "address"},
6
+ {"internalType": "uint256", "name": "value", "type": "uint256"},
7
+ ],
8
+ "name": "approve",
9
+ "outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
10
+ "payable": False,
11
+ "stateMutability": "nonpayable",
12
+ "type": "function",
13
+ }
14
+ ]
@@ -0,0 +1,129 @@
1
+ ABI_ROUTE = [
2
+ {
3
+ "inputs": [{"internalType": "address", "name": "owner_", "type": "address"}],
4
+ "stateMutability": "nonpayable",
5
+ "type": "constructor",
6
+ },
7
+ {
8
+ "inputs": [{"internalType": "address", "name": "token", "type": "address"}],
9
+ "name": "AmountTooLow",
10
+ "type": "error",
11
+ },
12
+ {
13
+ "inputs": [{"internalType": "address", "name": "token", "type": "address"}],
14
+ "name": "Duplicate",
15
+ "type": "error",
16
+ },
17
+ {
18
+ "inputs": [
19
+ {"internalType": "uint256", "name": "value", "type": "uint256"},
20
+ {"internalType": "uint256", "name": "amount", "type": "uint256"},
21
+ ],
22
+ "name": "WrongValue",
23
+ "type": "error",
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "enso",
28
+ "outputs": [
29
+ {"internalType": "contract EnsoShortcuts", "name": "", "type": "address"}
30
+ ],
31
+ "stateMutability": "view",
32
+ "type": "function",
33
+ },
34
+ {
35
+ "inputs": [
36
+ {
37
+ "components": [
38
+ {
39
+ "internalType": "contract IERC20",
40
+ "name": "token",
41
+ "type": "address",
42
+ },
43
+ {"internalType": "uint256", "name": "amount", "type": "uint256"},
44
+ ],
45
+ "internalType": "struct Token[]",
46
+ "name": "tokensIn",
47
+ "type": "tuple[]",
48
+ },
49
+ {"internalType": "bytes32[]", "name": "commands", "type": "bytes32[]"},
50
+ {"internalType": "bytes[]", "name": "state", "type": "bytes[]"},
51
+ ],
52
+ "name": "routeMulti",
53
+ "outputs": [
54
+ {"internalType": "bytes[]", "name": "returnData", "type": "bytes[]"}
55
+ ],
56
+ "stateMutability": "payable",
57
+ "type": "function",
58
+ },
59
+ {
60
+ "inputs": [
61
+ {"internalType": "contract IERC20", "name": "tokenIn", "type": "address"},
62
+ {"internalType": "uint256", "name": "amountIn", "type": "uint256"},
63
+ {"internalType": "bytes32[]", "name": "commands", "type": "bytes32[]"},
64
+ {"internalType": "bytes[]", "name": "state", "type": "bytes[]"},
65
+ ],
66
+ "name": "routeSingle",
67
+ "outputs": [
68
+ {"internalType": "bytes[]", "name": "returnData", "type": "bytes[]"}
69
+ ],
70
+ "stateMutability": "payable",
71
+ "type": "function",
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "components": [
77
+ {
78
+ "internalType": "contract IERC20",
79
+ "name": "token",
80
+ "type": "address",
81
+ },
82
+ {"internalType": "uint256", "name": "amount", "type": "uint256"},
83
+ ],
84
+ "internalType": "struct Token[]",
85
+ "name": "tokensIn",
86
+ "type": "tuple[]",
87
+ },
88
+ {
89
+ "components": [
90
+ {
91
+ "internalType": "contract IERC20",
92
+ "name": "token",
93
+ "type": "address",
94
+ },
95
+ {"internalType": "uint256", "name": "amount", "type": "uint256"},
96
+ ],
97
+ "internalType": "struct Token[]",
98
+ "name": "tokensOut",
99
+ "type": "tuple[]",
100
+ },
101
+ {"internalType": "address", "name": "receiver", "type": "address"},
102
+ {"internalType": "bytes32[]", "name": "commands", "type": "bytes32[]"},
103
+ {"internalType": "bytes[]", "name": "state", "type": "bytes[]"},
104
+ ],
105
+ "name": "safeRouteMulti",
106
+ "outputs": [
107
+ {"internalType": "bytes[]", "name": "returnData", "type": "bytes[]"}
108
+ ],
109
+ "stateMutability": "payable",
110
+ "type": "function",
111
+ },
112
+ {
113
+ "inputs": [
114
+ {"internalType": "contract IERC20", "name": "tokenIn", "type": "address"},
115
+ {"internalType": "contract IERC20", "name": "tokenOut", "type": "address"},
116
+ {"internalType": "uint256", "name": "amountIn", "type": "uint256"},
117
+ {"internalType": "uint256", "name": "minAmountOut", "type": "uint256"},
118
+ {"internalType": "address", "name": "receiver", "type": "address"},
119
+ {"internalType": "bytes32[]", "name": "commands", "type": "bytes32[]"},
120
+ {"internalType": "bytes[]", "name": "state", "type": "bytes[]"},
121
+ ],
122
+ "name": "safeRouteSingle",
123
+ "outputs": [
124
+ {"internalType": "bytes[]", "name": "returnData", "type": "bytes[]"}
125
+ ],
126
+ "stateMutability": "payable",
127
+ "type": "function",
128
+ },
129
+ ]
@@ -0,0 +1,44 @@
1
+ from typing import Optional, Type
2
+
3
+ from cdp import Wallet
4
+ from pydantic import BaseModel, Field
5
+
6
+ from intentkit.abstracts.skill import SkillStoreABC
7
+ from intentkit.clients import CdpClient, get_cdp_client
8
+ from intentkit.skills.base import IntentKitSkill, SkillContext
9
+ from intentkit.utils.chain import ChainProvider, NetworkId
10
+
11
+ base_url = "https://api.enso.finance"
12
+ default_chain_id = int(NetworkId.BaseMainnet)
13
+
14
+
15
+ class EnsoBaseTool(IntentKitSkill):
16
+ """Base class for Enso tools."""
17
+
18
+ name: str = Field(description="The name of the tool")
19
+ description: str = Field(description="A description of what the tool does")
20
+ args_schema: Type[BaseModel]
21
+ skill_store: SkillStoreABC = Field(
22
+ description="The skill store for persisting data"
23
+ )
24
+
25
+ async def get_wallet(self, context: SkillContext) -> Optional[Wallet]:
26
+ client: CdpClient = await get_cdp_client(context.agent.id, self.skill_store)
27
+ return await client.get_wallet()
28
+
29
+ def get_chain_provider(self, context: SkillContext) -> Optional[ChainProvider]:
30
+ return self.skill_store.get_system_config("chain_provider")
31
+
32
+ def get_main_tokens(self, context: SkillContext) -> list[str]:
33
+ if "main_tokens" in context.config and context.config["main_tokens"]:
34
+ return context.config["main_tokens"]
35
+ return []
36
+
37
+ def get_api_token(self, context: SkillContext) -> Optional[str]:
38
+ if "api_token" in context.config and context.config["api_token"]:
39
+ return context.config["api_token"]
40
+ return self.skill_store.get_system_config("enso_api_token")
41
+
42
+ @property
43
+ def category(self) -> str:
44
+ return "enso"