intentkit 0.5.0__tar.gz → 0.5.1__tar.gz

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 (367) hide show
  1. intentkit-0.5.1/MANIFEST.in +15 -0
  2. {intentkit-0.5.0 → intentkit-0.5.1}/PKG-INFO +1 -1
  3. intentkit-0.5.1/__init__.py +17 -0
  4. intentkit-0.5.1/abstracts/__init__.py +0 -0
  5. intentkit-0.5.1/abstracts/agent.py +60 -0
  6. intentkit-0.5.1/abstracts/api.py +4 -0
  7. intentkit-0.5.1/abstracts/engine.py +38 -0
  8. intentkit-0.5.1/abstracts/exception.py +9 -0
  9. intentkit-0.5.1/abstracts/graph.py +25 -0
  10. intentkit-0.5.1/abstracts/skill.py +129 -0
  11. intentkit-0.5.1/abstracts/twitter.py +54 -0
  12. intentkit-0.5.1/clients/__init__.py +14 -0
  13. intentkit-0.5.1/clients/cdp.py +53 -0
  14. intentkit-0.5.1/clients/twitter.py +445 -0
  15. intentkit-0.5.1/config/__init__.py +0 -0
  16. intentkit-0.5.1/config/config.py +164 -0
  17. intentkit-0.5.1/core/__init__.py +0 -0
  18. intentkit-0.5.1/core/agent.py +191 -0
  19. intentkit-0.5.1/core/api.py +40 -0
  20. intentkit-0.5.1/core/client.py +45 -0
  21. intentkit-0.5.1/core/credit.py +1767 -0
  22. intentkit-0.5.1/core/engine.py +1018 -0
  23. intentkit-0.5.1/core/node.py +223 -0
  24. intentkit-0.5.1/core/prompt.py +58 -0
  25. intentkit-0.5.1/core/skill.py +124 -0
  26. intentkit-0.5.1/models/agent.py +1689 -0
  27. intentkit-0.5.1/models/agent_data.py +810 -0
  28. intentkit-0.5.1/models/agent_schema.json +733 -0
  29. intentkit-0.5.1/models/app_setting.py +156 -0
  30. intentkit-0.5.1/models/base.py +9 -0
  31. intentkit-0.5.1/models/chat.py +581 -0
  32. intentkit-0.5.1/models/conversation.py +286 -0
  33. intentkit-0.5.1/models/credit.py +1406 -0
  34. intentkit-0.5.1/models/db.py +120 -0
  35. intentkit-0.5.1/models/db_mig.py +102 -0
  36. intentkit-0.5.1/models/generator.py +347 -0
  37. intentkit-0.5.1/models/llm.py +746 -0
  38. intentkit-0.5.1/models/redis.py +132 -0
  39. intentkit-0.5.1/models/skill.py +466 -0
  40. intentkit-0.5.1/models/user.py +243 -0
  41. {intentkit-0.5.0 → intentkit-0.5.1}/pyproject.toml +21 -5
  42. intentkit-0.5.1/skills/__init__.py +12 -0
  43. intentkit-0.5.1/skills/acolyt/__init__.py +83 -0
  44. intentkit-0.5.1/skills/acolyt/acolyt.jpg +0 -0
  45. intentkit-0.5.1/skills/acolyt/ask.py +128 -0
  46. intentkit-0.5.1/skills/acolyt/base.py +28 -0
  47. intentkit-0.5.1/skills/acolyt/schema.json +89 -0
  48. intentkit-0.5.1/skills/aixbt/__init__.py +73 -0
  49. intentkit-0.5.1/skills/aixbt/aixbt.jpg +0 -0
  50. intentkit-0.5.1/skills/aixbt/base.py +21 -0
  51. intentkit-0.5.1/skills/aixbt/projects.py +153 -0
  52. intentkit-0.5.1/skills/aixbt/schema.json +99 -0
  53. intentkit-0.5.1/skills/allora/__init__.py +83 -0
  54. intentkit-0.5.1/skills/allora/allora.jpeg +0 -0
  55. intentkit-0.5.1/skills/allora/base.py +28 -0
  56. intentkit-0.5.1/skills/allora/price.py +130 -0
  57. intentkit-0.5.1/skills/allora/schema.json +89 -0
  58. intentkit-0.5.1/skills/base.py +174 -0
  59. intentkit-0.5.1/skills/carv/__init__.py +121 -0
  60. intentkit-0.5.1/skills/carv/base.py +183 -0
  61. intentkit-0.5.1/skills/carv/carv.webp +0 -0
  62. intentkit-0.5.1/skills/carv/fetch_news.py +92 -0
  63. intentkit-0.5.1/skills/carv/onchain_query.py +164 -0
  64. intentkit-0.5.1/skills/carv/schema.json +137 -0
  65. intentkit-0.5.1/skills/carv/token_info_and_price.py +110 -0
  66. intentkit-0.5.1/skills/cdp/__init__.py +137 -0
  67. intentkit-0.5.1/skills/cdp/base.py +21 -0
  68. intentkit-0.5.1/skills/cdp/cdp.png +0 -0
  69. intentkit-0.5.1/skills/cdp/get_balance.py +81 -0
  70. intentkit-0.5.1/skills/cdp/schema.json +473 -0
  71. intentkit-0.5.1/skills/chainlist/__init__.py +54 -0
  72. intentkit-0.5.1/skills/chainlist/base.py +21 -0
  73. intentkit-0.5.1/skills/chainlist/chain_lookup.py +208 -0
  74. intentkit-0.5.1/skills/chainlist/chainlist.png +0 -0
  75. intentkit-0.5.1/skills/chainlist/schema.json +47 -0
  76. intentkit-0.5.1/skills/common/__init__.py +82 -0
  77. intentkit-0.5.1/skills/common/base.py +21 -0
  78. intentkit-0.5.1/skills/common/common.jpg +0 -0
  79. intentkit-0.5.1/skills/common/current_time.py +84 -0
  80. intentkit-0.5.1/skills/common/schema.json +57 -0
  81. intentkit-0.5.1/skills/cookiefun/__init__.py +78 -0
  82. intentkit-0.5.1/skills/cookiefun/base.py +41 -0
  83. intentkit-0.5.1/skills/cookiefun/constants.py +18 -0
  84. intentkit-0.5.1/skills/cookiefun/cookiefun.png +0 -0
  85. intentkit-0.5.1/skills/cookiefun/get_account_details.py +171 -0
  86. intentkit-0.5.1/skills/cookiefun/get_account_feed.py +282 -0
  87. intentkit-0.5.1/skills/cookiefun/get_account_smart_followers.py +181 -0
  88. intentkit-0.5.1/skills/cookiefun/get_sectors.py +128 -0
  89. intentkit-0.5.1/skills/cookiefun/schema.json +155 -0
  90. intentkit-0.5.1/skills/cookiefun/search_accounts.py +225 -0
  91. intentkit-0.5.1/skills/cryptocompare/__init__.py +130 -0
  92. intentkit-0.5.1/skills/cryptocompare/api.py +159 -0
  93. intentkit-0.5.1/skills/cryptocompare/base.py +303 -0
  94. intentkit-0.5.1/skills/cryptocompare/cryptocompare.png +0 -0
  95. intentkit-0.5.1/skills/cryptocompare/fetch_news.py +96 -0
  96. intentkit-0.5.1/skills/cryptocompare/fetch_price.py +99 -0
  97. intentkit-0.5.1/skills/cryptocompare/fetch_top_exchanges.py +113 -0
  98. intentkit-0.5.1/skills/cryptocompare/fetch_top_market_cap.py +109 -0
  99. intentkit-0.5.1/skills/cryptocompare/fetch_top_volume.py +108 -0
  100. intentkit-0.5.1/skills/cryptocompare/fetch_trading_signals.py +107 -0
  101. intentkit-0.5.1/skills/cryptocompare/schema.json +168 -0
  102. intentkit-0.5.1/skills/cryptopanic/__init__.py +108 -0
  103. intentkit-0.5.1/skills/cryptopanic/base.py +51 -0
  104. intentkit-0.5.1/skills/cryptopanic/cryptopanic.png +0 -0
  105. intentkit-0.5.1/skills/cryptopanic/fetch_crypto_news.py +153 -0
  106. intentkit-0.5.1/skills/cryptopanic/fetch_crypto_sentiment.py +136 -0
  107. intentkit-0.5.1/skills/cryptopanic/schema.json +103 -0
  108. intentkit-0.5.1/skills/dapplooker/__init__.py +83 -0
  109. intentkit-0.5.1/skills/dapplooker/base.py +26 -0
  110. intentkit-0.5.1/skills/dapplooker/dapplooker.jpg +0 -0
  111. intentkit-0.5.1/skills/dapplooker/dapplooker_token_data.py +476 -0
  112. intentkit-0.5.1/skills/dapplooker/schema.json +91 -0
  113. intentkit-0.5.1/skills/defillama/__init__.py +323 -0
  114. intentkit-0.5.1/skills/defillama/api.py +315 -0
  115. intentkit-0.5.1/skills/defillama/base.py +135 -0
  116. intentkit-0.5.1/skills/defillama/coins/__init__.py +0 -0
  117. intentkit-0.5.1/skills/defillama/coins/fetch_batch_historical_prices.py +116 -0
  118. intentkit-0.5.1/skills/defillama/coins/fetch_block.py +98 -0
  119. intentkit-0.5.1/skills/defillama/coins/fetch_current_prices.py +105 -0
  120. intentkit-0.5.1/skills/defillama/coins/fetch_first_price.py +100 -0
  121. intentkit-0.5.1/skills/defillama/coins/fetch_historical_prices.py +110 -0
  122. intentkit-0.5.1/skills/defillama/coins/fetch_price_chart.py +109 -0
  123. intentkit-0.5.1/skills/defillama/coins/fetch_price_percentage.py +93 -0
  124. intentkit-0.5.1/skills/defillama/config/__init__.py +0 -0
  125. intentkit-0.5.1/skills/defillama/config/chains.py +433 -0
  126. intentkit-0.5.1/skills/defillama/defillama.jpeg +0 -0
  127. intentkit-0.5.1/skills/defillama/fees/__init__.py +0 -0
  128. intentkit-0.5.1/skills/defillama/fees/fetch_fees_overview.py +130 -0
  129. intentkit-0.5.1/skills/defillama/schema.json +383 -0
  130. intentkit-0.5.1/skills/defillama/stablecoins/__init__.py +0 -0
  131. intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_chains.py +100 -0
  132. intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_charts.py +129 -0
  133. intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoin_prices.py +83 -0
  134. intentkit-0.5.1/skills/defillama/stablecoins/fetch_stablecoins.py +126 -0
  135. intentkit-0.5.1/skills/defillama/tests/__init__.py +0 -0
  136. intentkit-0.5.1/skills/defillama/tests/api_integration.test.py +192 -0
  137. intentkit-0.5.1/skills/defillama/tests/api_unit.test.py +583 -0
  138. intentkit-0.5.1/skills/defillama/tvl/__init__.py +0 -0
  139. intentkit-0.5.1/skills/defillama/tvl/fetch_chain_historical_tvl.py +106 -0
  140. intentkit-0.5.1/skills/defillama/tvl/fetch_chains.py +107 -0
  141. intentkit-0.5.1/skills/defillama/tvl/fetch_historical_tvl.py +91 -0
  142. intentkit-0.5.1/skills/defillama/tvl/fetch_protocol.py +207 -0
  143. intentkit-0.5.1/skills/defillama/tvl/fetch_protocol_current_tvl.py +93 -0
  144. intentkit-0.5.1/skills/defillama/tvl/fetch_protocols.py +196 -0
  145. intentkit-0.5.1/skills/defillama/volumes/__init__.py +0 -0
  146. intentkit-0.5.1/skills/defillama/volumes/fetch_dex_overview.py +157 -0
  147. intentkit-0.5.1/skills/defillama/volumes/fetch_dex_summary.py +123 -0
  148. intentkit-0.5.1/skills/defillama/volumes/fetch_options_overview.py +131 -0
  149. intentkit-0.5.1/skills/defillama/yields/__init__.py +0 -0
  150. intentkit-0.5.1/skills/defillama/yields/fetch_pool_chart.py +100 -0
  151. intentkit-0.5.1/skills/defillama/yields/fetch_pools.py +126 -0
  152. intentkit-0.5.1/skills/dexscreener/__init__.py +93 -0
  153. intentkit-0.5.1/skills/dexscreener/base.py +133 -0
  154. intentkit-0.5.1/skills/dexscreener/dexscreener.png +0 -0
  155. intentkit-0.5.1/skills/dexscreener/model/__init__.py +0 -0
  156. intentkit-0.5.1/skills/dexscreener/model/search_token_response.py +82 -0
  157. intentkit-0.5.1/skills/dexscreener/schema.json +48 -0
  158. intentkit-0.5.1/skills/dexscreener/search_token.py +321 -0
  159. intentkit-0.5.1/skills/dune_analytics/__init__.py +103 -0
  160. intentkit-0.5.1/skills/dune_analytics/base.py +46 -0
  161. intentkit-0.5.1/skills/dune_analytics/dune.png +0 -0
  162. intentkit-0.5.1/skills/dune_analytics/fetch_kol_buys.py +128 -0
  163. intentkit-0.5.1/skills/dune_analytics/fetch_nation_metrics.py +237 -0
  164. intentkit-0.5.1/skills/dune_analytics/schema.json +99 -0
  165. intentkit-0.5.1/skills/elfa/__init__.py +123 -0
  166. intentkit-0.5.1/skills/elfa/base.py +28 -0
  167. intentkit-0.5.1/skills/elfa/elfa.jpg +0 -0
  168. intentkit-0.5.1/skills/elfa/mention.py +504 -0
  169. intentkit-0.5.1/skills/elfa/schema.json +153 -0
  170. intentkit-0.5.1/skills/elfa/stats.py +118 -0
  171. intentkit-0.5.1/skills/elfa/tokens.py +126 -0
  172. intentkit-0.5.1/skills/enso/__init__.py +114 -0
  173. intentkit-0.5.1/skills/enso/abi/__init__.py +0 -0
  174. intentkit-0.5.1/skills/enso/abi/approval.py +279 -0
  175. intentkit-0.5.1/skills/enso/abi/erc20.py +14 -0
  176. intentkit-0.5.1/skills/enso/abi/route.py +129 -0
  177. intentkit-0.5.1/skills/enso/base.py +44 -0
  178. intentkit-0.5.1/skills/enso/best_yield.py +286 -0
  179. intentkit-0.5.1/skills/enso/enso.jpg +0 -0
  180. intentkit-0.5.1/skills/enso/networks.py +105 -0
  181. intentkit-0.5.1/skills/enso/prices.py +93 -0
  182. intentkit-0.5.1/skills/enso/route.py +300 -0
  183. intentkit-0.5.1/skills/enso/schema.json +212 -0
  184. intentkit-0.5.1/skills/enso/tokens.py +223 -0
  185. intentkit-0.5.1/skills/enso/wallet.py +381 -0
  186. intentkit-0.5.1/skills/github/__init__.py +54 -0
  187. intentkit-0.5.1/skills/github/base.py +21 -0
  188. intentkit-0.5.1/skills/github/github.jpg +0 -0
  189. intentkit-0.5.1/skills/github/github_search.py +183 -0
  190. intentkit-0.5.1/skills/github/schema.json +59 -0
  191. intentkit-0.5.1/skills/heurist/__init__.py +143 -0
  192. intentkit-0.5.1/skills/heurist/base.py +26 -0
  193. intentkit-0.5.1/skills/heurist/heurist.png +0 -0
  194. intentkit-0.5.1/skills/heurist/image_generation_animagine_xl.py +162 -0
  195. intentkit-0.5.1/skills/heurist/image_generation_arthemy_comics.py +162 -0
  196. intentkit-0.5.1/skills/heurist/image_generation_arthemy_real.py +162 -0
  197. intentkit-0.5.1/skills/heurist/image_generation_braindance.py +162 -0
  198. intentkit-0.5.1/skills/heurist/image_generation_cyber_realistic_xl.py +162 -0
  199. intentkit-0.5.1/skills/heurist/image_generation_flux_1_dev.py +162 -0
  200. intentkit-0.5.1/skills/heurist/image_generation_sdxl.py +161 -0
  201. intentkit-0.5.1/skills/heurist/schema.json +196 -0
  202. intentkit-0.5.1/skills/lifi/__init__.py +141 -0
  203. intentkit-0.5.1/skills/lifi/base.py +21 -0
  204. intentkit-0.5.1/skills/lifi/lifi.png +0 -0
  205. intentkit-0.5.1/skills/lifi/schema.json +89 -0
  206. intentkit-0.5.1/skills/lifi/token_execute.py +472 -0
  207. intentkit-0.5.1/skills/lifi/token_quote.py +190 -0
  208. intentkit-0.5.1/skills/lifi/utils.py +656 -0
  209. intentkit-0.5.1/skills/moralis/__init__.py +110 -0
  210. intentkit-0.5.1/skills/moralis/api.py +281 -0
  211. intentkit-0.5.1/skills/moralis/base.py +55 -0
  212. intentkit-0.5.1/skills/moralis/fetch_chain_portfolio.py +191 -0
  213. intentkit-0.5.1/skills/moralis/fetch_nft_portfolio.py +284 -0
  214. intentkit-0.5.1/skills/moralis/fetch_solana_portfolio.py +331 -0
  215. intentkit-0.5.1/skills/moralis/fetch_wallet_portfolio.py +301 -0
  216. intentkit-0.5.1/skills/moralis/moralis.png +0 -0
  217. intentkit-0.5.1/skills/moralis/schema.json +156 -0
  218. intentkit-0.5.1/skills/moralis/tests/__init__.py +0 -0
  219. intentkit-0.5.1/skills/moralis/tests/test_wallet.py +511 -0
  220. intentkit-0.5.1/skills/nation/__init__.py +62 -0
  221. intentkit-0.5.1/skills/nation/base.py +31 -0
  222. intentkit-0.5.1/skills/nation/nation.png +0 -0
  223. intentkit-0.5.1/skills/nation/nft_check.py +106 -0
  224. intentkit-0.5.1/skills/nation/schema.json +58 -0
  225. intentkit-0.5.1/skills/openai/__init__.py +107 -0
  226. intentkit-0.5.1/skills/openai/base.py +32 -0
  227. intentkit-0.5.1/skills/openai/dalle_image_generation.py +128 -0
  228. intentkit-0.5.1/skills/openai/gpt_image_generation.py +152 -0
  229. intentkit-0.5.1/skills/openai/gpt_image_to_image.py +186 -0
  230. intentkit-0.5.1/skills/openai/image_to_text.py +126 -0
  231. intentkit-0.5.1/skills/openai/openai.png +0 -0
  232. intentkit-0.5.1/skills/openai/schema.json +139 -0
  233. intentkit-0.5.1/skills/portfolio/__init__.py +151 -0
  234. intentkit-0.5.1/skills/portfolio/base.py +107 -0
  235. intentkit-0.5.1/skills/portfolio/constants.py +9 -0
  236. intentkit-0.5.1/skills/portfolio/moralis.png +0 -0
  237. intentkit-0.5.1/skills/portfolio/schema.json +237 -0
  238. intentkit-0.5.1/skills/portfolio/token_balances.py +155 -0
  239. intentkit-0.5.1/skills/portfolio/wallet_approvals.py +102 -0
  240. intentkit-0.5.1/skills/portfolio/wallet_defi_positions.py +80 -0
  241. intentkit-0.5.1/skills/portfolio/wallet_history.py +155 -0
  242. intentkit-0.5.1/skills/portfolio/wallet_net_worth.py +112 -0
  243. intentkit-0.5.1/skills/portfolio/wallet_nfts.py +139 -0
  244. intentkit-0.5.1/skills/portfolio/wallet_profitability.py +101 -0
  245. intentkit-0.5.1/skills/portfolio/wallet_profitability_summary.py +91 -0
  246. intentkit-0.5.1/skills/portfolio/wallet_stats.py +79 -0
  247. intentkit-0.5.1/skills/portfolio/wallet_swaps.py +147 -0
  248. intentkit-0.5.1/skills/skills.toml +103 -0
  249. intentkit-0.5.1/skills/slack/__init__.py +98 -0
  250. intentkit-0.5.1/skills/slack/base.py +55 -0
  251. intentkit-0.5.1/skills/slack/get_channel.py +109 -0
  252. intentkit-0.5.1/skills/slack/get_message.py +136 -0
  253. intentkit-0.5.1/skills/slack/schedule_message.py +92 -0
  254. intentkit-0.5.1/skills/slack/schema.json +135 -0
  255. intentkit-0.5.1/skills/slack/send_message.py +81 -0
  256. intentkit-0.5.1/skills/slack/slack.jpg +0 -0
  257. intentkit-0.5.1/skills/system/__init__.py +90 -0
  258. intentkit-0.5.1/skills/system/base.py +22 -0
  259. intentkit-0.5.1/skills/system/read_agent_api_key.py +87 -0
  260. intentkit-0.5.1/skills/system/regenerate_agent_api_key.py +77 -0
  261. intentkit-0.5.1/skills/system/schema.json +53 -0
  262. intentkit-0.5.1/skills/system/system.svg +76 -0
  263. intentkit-0.5.1/skills/tavily/__init__.py +91 -0
  264. intentkit-0.5.1/skills/tavily/base.py +27 -0
  265. intentkit-0.5.1/skills/tavily/schema.json +119 -0
  266. intentkit-0.5.1/skills/tavily/tavily.jpg +0 -0
  267. intentkit-0.5.1/skills/tavily/tavily_extract.py +147 -0
  268. intentkit-0.5.1/skills/tavily/tavily_search.py +139 -0
  269. intentkit-0.5.1/skills/token/__init__.py +107 -0
  270. intentkit-0.5.1/skills/token/base.py +154 -0
  271. intentkit-0.5.1/skills/token/constants.py +9 -0
  272. intentkit-0.5.1/skills/token/erc20_transfers.py +145 -0
  273. intentkit-0.5.1/skills/token/moralis.png +0 -0
  274. intentkit-0.5.1/skills/token/schema.json +141 -0
  275. intentkit-0.5.1/skills/token/token_analytics.py +81 -0
  276. intentkit-0.5.1/skills/token/token_price.py +132 -0
  277. intentkit-0.5.1/skills/token/token_search.py +121 -0
  278. intentkit-0.5.1/skills/twitter/__init__.py +146 -0
  279. intentkit-0.5.1/skills/twitter/base.py +68 -0
  280. intentkit-0.5.1/skills/twitter/follow_user.py +69 -0
  281. intentkit-0.5.1/skills/twitter/get_mentions.py +124 -0
  282. intentkit-0.5.1/skills/twitter/get_timeline.py +111 -0
  283. intentkit-0.5.1/skills/twitter/get_user_by_username.py +84 -0
  284. intentkit-0.5.1/skills/twitter/get_user_tweets.py +123 -0
  285. intentkit-0.5.1/skills/twitter/like_tweet.py +65 -0
  286. intentkit-0.5.1/skills/twitter/post_tweet.py +90 -0
  287. intentkit-0.5.1/skills/twitter/reply_tweet.py +98 -0
  288. intentkit-0.5.1/skills/twitter/retweet.py +76 -0
  289. intentkit-0.5.1/skills/twitter/schema.json +258 -0
  290. intentkit-0.5.1/skills/twitter/search_tweets.py +115 -0
  291. intentkit-0.5.1/skills/twitter/twitter.png +0 -0
  292. intentkit-0.5.1/skills/unrealspeech/__init__.py +55 -0
  293. intentkit-0.5.1/skills/unrealspeech/base.py +21 -0
  294. intentkit-0.5.1/skills/unrealspeech/schema.json +100 -0
  295. intentkit-0.5.1/skills/unrealspeech/text_to_speech.py +177 -0
  296. intentkit-0.5.1/skills/unrealspeech/unrealspeech.jpg +0 -0
  297. intentkit-0.5.1/skills/venice_audio/__init__.py +106 -0
  298. intentkit-0.5.1/skills/venice_audio/base.py +119 -0
  299. intentkit-0.5.1/skills/venice_audio/input.py +41 -0
  300. intentkit-0.5.1/skills/venice_audio/schema.json +152 -0
  301. intentkit-0.5.1/skills/venice_audio/venice_audio.py +240 -0
  302. intentkit-0.5.1/skills/venice_audio/venice_logo.jpg +0 -0
  303. intentkit-0.5.1/skills/venice_image/__init__.py +154 -0
  304. intentkit-0.5.1/skills/venice_image/api.py +138 -0
  305. intentkit-0.5.1/skills/venice_image/base.py +188 -0
  306. intentkit-0.5.1/skills/venice_image/config.py +35 -0
  307. intentkit-0.5.1/skills/venice_image/image_enhance/__init__.py +0 -0
  308. intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance.py +80 -0
  309. intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance_base.py +23 -0
  310. intentkit-0.5.1/skills/venice_image/image_enhance/image_enhance_input.py +40 -0
  311. intentkit-0.5.1/skills/venice_image/image_generation/__init__.py +0 -0
  312. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_base.py +117 -0
  313. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_fluently_xl.py +26 -0
  314. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_flux_dev.py +27 -0
  315. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +26 -0
  316. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_input.py +158 -0
  317. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +26 -0
  318. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_pony_realism.py +26 -0
  319. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +28 -0
  320. intentkit-0.5.1/skills/venice_image/image_generation/image_generation_venice_sd35.py +28 -0
  321. intentkit-0.5.1/skills/venice_image/image_upscale/__init__.py +0 -0
  322. intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale.py +90 -0
  323. intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale_base.py +23 -0
  324. intentkit-0.5.1/skills/venice_image/image_upscale/image_upscale_input.py +22 -0
  325. intentkit-0.5.1/skills/venice_image/image_vision/__init__.py +0 -0
  326. intentkit-0.5.1/skills/venice_image/image_vision/image_vision.py +100 -0
  327. intentkit-0.5.1/skills/venice_image/image_vision/image_vision_base.py +17 -0
  328. intentkit-0.5.1/skills/venice_image/image_vision/image_vision_input.py +9 -0
  329. intentkit-0.5.1/skills/venice_image/schema.json +267 -0
  330. intentkit-0.5.1/skills/venice_image/utils.py +78 -0
  331. intentkit-0.5.1/skills/venice_image/venice_image.jpg +0 -0
  332. intentkit-0.5.1/skills/web_scraper/__init__.py +92 -0
  333. intentkit-0.5.1/skills/web_scraper/base.py +21 -0
  334. intentkit-0.5.1/skills/web_scraper/langchain.png +0 -0
  335. intentkit-0.5.1/skills/web_scraper/schema.json +115 -0
  336. intentkit-0.5.1/skills/web_scraper/scrape_and_index.py +327 -0
  337. intentkit-0.5.1/utils/__init__.py +1 -0
  338. intentkit-0.5.1/utils/chain.py +436 -0
  339. intentkit-0.5.1/utils/error.py +134 -0
  340. intentkit-0.5.1/utils/logging.py +70 -0
  341. intentkit-0.5.1/utils/middleware.py +61 -0
  342. intentkit-0.5.1/utils/random.py +16 -0
  343. intentkit-0.5.1/utils/s3.py +267 -0
  344. intentkit-0.5.1/utils/slack_alert.py +79 -0
  345. intentkit-0.5.1/utils/tx.py +37 -0
  346. {intentkit-0.5.0 → intentkit-0.5.1}/.gitignore +0 -0
  347. {intentkit-0.5.0 → intentkit-0.5.1}/LICENSE +0 -0
  348. {intentkit-0.5.0 → intentkit-0.5.1}/README.md +0 -0
  349. {intentkit-0.5.0 → intentkit-0.5.1}/skills/aixbt/README.md +0 -0
  350. {intentkit-0.5.0 → intentkit-0.5.1}/skills/carv/README.md +0 -0
  351. {intentkit-0.5.0 → intentkit-0.5.1}/skills/chainlist/README.md +0 -0
  352. {intentkit-0.5.0 → intentkit-0.5.1}/skills/cookiefun/README.md +0 -0
  353. {intentkit-0.5.0 → intentkit-0.5.1}/skills/dapplooker/README.md +0 -0
  354. {intentkit-0.5.0 → intentkit-0.5.1}/skills/elfa/README.md +0 -0
  355. {intentkit-0.5.0 → intentkit-0.5.1}/skills/enso/README.md +0 -0
  356. {intentkit-0.5.0 → intentkit-0.5.1}/skills/github/README.md +0 -0
  357. {intentkit-0.5.0 → intentkit-0.5.1}/skills/lifi/README.md +0 -0
  358. {intentkit-0.5.0 → intentkit-0.5.1}/skills/moralis/README.md +0 -0
  359. {intentkit-0.5.0 → intentkit-0.5.1}/skills/portfolio/README.md +0 -0
  360. {intentkit-0.5.0 → intentkit-0.5.1}/skills/tavily/README.md +0 -0
  361. {intentkit-0.5.0 → intentkit-0.5.1}/skills/token/README.md +0 -0
  362. {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/README.md +0 -0
  363. {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_enhance/README.md +0 -0
  364. {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_generation/README.md +0 -0
  365. {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_upscale/README.md +0 -0
  366. {intentkit-0.5.0 → intentkit-0.5.1}/skills/venice_image/image_vision/README.md +0 -0
  367. {intentkit-0.5.0 → intentkit-0.5.1}/skills/web_scraper/README.md +0 -0
@@ -0,0 +1,15 @@
1
+ include README.md
2
+ include LICENSE
3
+ include pyproject.toml
4
+ recursive-include abstracts *.py
5
+ recursive-include clients *.py
6
+ recursive-include config *.py
7
+ recursive-include core *.py
8
+ recursive-include models *.py *.json
9
+ recursive-include skills *.py *.toml *.md
10
+ recursive-include utils *.py
11
+ recursive-exclude * __pycache__
12
+ recursive-exclude * *.pyc
13
+ recursive-exclude * *.pyo
14
+ recursive-exclude * .DS_Store
15
+ recursive-exclude * .ruff_cache
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: Intent-based AI Agent Platform - Core Package
5
5
  Project-URL: Homepage, https://github.com/crestal-network/intentkit
6
6
  Project-URL: Repository, https://github.com/crestal-network/intentkit
@@ -0,0 +1,17 @@
1
+ """IntentKit - Intent-based AI Agent Platform.
2
+
3
+ A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
+ """
5
+
6
+ __version__ = "0.5.1"
7
+ __author__ = "hyacinthus"
8
+ __email__ = "hyacinthus@gmail.com"
9
+
10
+ # Core components
11
+ # Abstract base classes
12
+ from .core.engine import create_agent, stream_agent
13
+
14
+ __all__ = [
15
+ "create_agent",
16
+ "stream_agent",
17
+ ]
File without changes
@@ -0,0 +1,60 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Dict, Optional
3
+
4
+ from intentkit.models.agent import Agent
5
+ from intentkit.models.agent_data import AgentData, AgentQuota
6
+
7
+
8
+ class AgentStoreABC(ABC):
9
+ """Abstract base class for agent data storage operations.
10
+
11
+ This class defines the interface for interacting with agent-related data,
12
+ including configuration, additional data, and quotas.
13
+
14
+ Attributes:
15
+ agent_id: ID of the agent to store/retrieve data for
16
+ """
17
+
18
+ def __init__(self, agent_id: str) -> None:
19
+ """Initialize the agent store.
20
+
21
+ Args:
22
+ agent_id: ID of the agent
23
+ """
24
+ self.agent_id = agent_id
25
+
26
+ @abstractmethod
27
+ async def get_config(self) -> Optional[Agent]:
28
+ """Get agent configuration.
29
+
30
+ Returns:
31
+ Agent configuration if found, None otherwise
32
+ """
33
+ pass
34
+
35
+ @abstractmethod
36
+ async def get_data(self) -> Optional[AgentData]:
37
+ """Get additional agent data.
38
+
39
+ Returns:
40
+ Agent data if found, None otherwise
41
+ """
42
+ pass
43
+
44
+ @abstractmethod
45
+ async def set_data(self, data: Dict) -> None:
46
+ """Update agent data.
47
+
48
+ Args:
49
+ data: Dictionary containing fields to update
50
+ """
51
+ pass
52
+
53
+ @abstractmethod
54
+ async def get_quota(self) -> Optional[AgentQuota]:
55
+ """Get agent quota information.
56
+
57
+ Returns:
58
+ Agent quota if found, None otherwise
59
+ """
60
+ pass
@@ -0,0 +1,4 @@
1
+ ResponseHeadersPagination = {
2
+ "X-Next-Cursor": {"description": "Cursor for next page"},
3
+ "X-Has-More": {"description": "Indicates if there are more items"},
4
+ }
@@ -0,0 +1,38 @@
1
+ from typing import Callable, List
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class AgentMessageInput(BaseModel):
7
+ """Input message model for AI agent interactions.
8
+
9
+ This class represents the structured input that can be sent to an AI agent,
10
+ supporting both text-based queries and image-based inputs for multimodal
11
+ interactions.
12
+
13
+ Attributes:
14
+ text (str): The main text content of the message or query
15
+ images (List[str]): List of image references/URLs to be processed by the agent.
16
+ Empty list if no images are provided.
17
+ """
18
+
19
+ text: str # required
20
+ """The main text content or query to be processed by the agent"""
21
+
22
+ images: List[str] = [] # optional, defaults to empty list
23
+ """List of image references or URLs for multimodal processing"""
24
+
25
+
26
+ # Define a type hint for the callback that takes three strings and returns a list of strings
27
+ AgentExecutionCallback = Callable[[str, AgentMessageInput, str], List[str]]
28
+ """Callback function type for agent execution.
29
+
30
+ Args:
31
+ aid (str): The agent ID that uniquely identifies the AI agent
32
+ message (AgentMessageInput): The input message containing text and optional images
33
+ thread_id (str): The thread ID for tracking the conversation context
34
+
35
+ Returns:
36
+ List[str]: A list of formatted response lines from the agent execution. Each line
37
+ typically contains input/output markers, agent responses, and timing information.
38
+ """
@@ -0,0 +1,9 @@
1
+ from typing import Optional
2
+
3
+
4
+ class RateLimitExceeded(Exception):
5
+ """Rate limit exceeded"""
6
+
7
+ def __init__(self, message: Optional[str] = "Rate limit exceeded"):
8
+ self.message = message
9
+ super().__init__(self.message)
@@ -0,0 +1,25 @@
1
+ from enum import Enum
2
+ from typing import Any, Callable, Dict, NotRequired
3
+
4
+ from langgraph.prebuilt.chat_agent_executor import AgentState as BaseAgentState
5
+
6
+
7
+ class AgentError(str, Enum):
8
+ """The error types that can be raised by the agent."""
9
+
10
+ INSUFFICIENT_CREDITS = "insufficient_credits"
11
+
12
+
13
+ # We create the AgentState that we will pass around
14
+ # This simply involves a list of messages
15
+ # We want steps to return messages to append to the list
16
+ # So we annotate the messages attribute with operator.add
17
+ class AgentState(BaseAgentState):
18
+ """The state of the agent."""
19
+
20
+ context: dict[str, Any]
21
+ error: NotRequired[AgentError]
22
+ __extra__: NotRequired[Dict[str, Any]]
23
+
24
+
25
+ MemoryManager = Callable[[AgentState], AgentState]
@@ -0,0 +1,129 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Any, Dict, Optional
3
+
4
+ from intentkit.models.agent import Agent
5
+ from intentkit.models.agent_data import AgentData, AgentQuota
6
+
7
+
8
+ class SkillStoreABC(ABC):
9
+ """Abstract base class for skill data storage operations.
10
+
11
+ This class defines the interface for interacting with skill-related data
12
+ for both agents and threads.
13
+ """
14
+
15
+ @staticmethod
16
+ @abstractmethod
17
+ def get_system_config(key: str) -> Any:
18
+ """Get system configuration value by key."""
19
+ pass
20
+
21
+ @staticmethod
22
+ @abstractmethod
23
+ async def get_agent_config(agent_id: str) -> Optional[Agent]:
24
+ """Get agent configuration.
25
+
26
+ Returns:
27
+ Agent configuration if found, None otherwise
28
+ """
29
+ pass
30
+
31
+ @staticmethod
32
+ @abstractmethod
33
+ async def get_agent_data(agent_id: str) -> Optional[AgentData]:
34
+ """Get additional agent data.
35
+
36
+ Returns:
37
+ Agent data if found, None otherwise
38
+ """
39
+ pass
40
+
41
+ @staticmethod
42
+ @abstractmethod
43
+ async def set_agent_data(agent_id: str, data: Dict) -> None:
44
+ """Update agent data.
45
+
46
+ Args:
47
+ agent_id: ID of the agent
48
+ data: Dictionary containing fields to update
49
+ """
50
+ pass
51
+
52
+ @staticmethod
53
+ @abstractmethod
54
+ async def get_agent_quota(agent_id: str) -> Optional[AgentQuota]:
55
+ """Get agent quota information.
56
+
57
+ Returns:
58
+ Agent quota if found, None otherwise
59
+ """
60
+ pass
61
+
62
+ @staticmethod
63
+ @abstractmethod
64
+ async def get_agent_skill_data(
65
+ agent_id: str, skill: str, key: str
66
+ ) -> Optional[Dict[str, Any]]:
67
+ """Get skill data for an agent.
68
+
69
+ Args:
70
+ agent_id: ID of the agent
71
+ skill: Name of the skill
72
+ key: Data key
73
+
74
+ Returns:
75
+ Dictionary containing the skill data if found, None otherwise
76
+ """
77
+ pass
78
+
79
+ @staticmethod
80
+ @abstractmethod
81
+ async def save_agent_skill_data(
82
+ agent_id: str, skill: str, key: str, data: Dict[str, Any]
83
+ ) -> None:
84
+ """Save or update skill data for an agent.
85
+
86
+ Args:
87
+ agent_id: ID of the agent
88
+ skill: Name of the skill
89
+ key: Data key
90
+ data: JSON data to store
91
+ """
92
+ pass
93
+
94
+ @staticmethod
95
+ @abstractmethod
96
+ async def get_thread_skill_data(
97
+ thread_id: str, skill: str, key: str
98
+ ) -> Optional[Dict[str, Any]]:
99
+ """Get skill data for a thread.
100
+
101
+ Args:
102
+ thread_id: ID of the thread
103
+ skill: Name of the skill
104
+ key: Data key
105
+
106
+ Returns:
107
+ Dictionary containing the skill data if found, None otherwise
108
+ """
109
+ pass
110
+
111
+ @staticmethod
112
+ @abstractmethod
113
+ async def save_thread_skill_data(
114
+ thread_id: str,
115
+ agent_id: str,
116
+ skill: str,
117
+ key: str,
118
+ data: Dict[str, Any],
119
+ ) -> None:
120
+ """Save or update skill data for a thread.
121
+
122
+ Args:
123
+ thread_id: ID of the thread
124
+ agent_id: ID of the agent that owns this thread
125
+ skill: Name of the skill
126
+ key: Data key
127
+ data: JSON data to store
128
+ """
129
+ pass
@@ -0,0 +1,54 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Optional
3
+
4
+ from tweepy.asynchronous import AsyncClient
5
+
6
+
7
+ class TwitterABC(ABC):
8
+ """Abstract base class for Twitter operations.
9
+
10
+ This class defines the interface for interacting with Twitter's API
11
+ through a Tweepy client.
12
+ """
13
+
14
+ agent_id: str
15
+ use_key = False
16
+
17
+ @abstractmethod
18
+ async def get_client(self) -> Optional[AsyncClient]:
19
+ """Get a configured Tweepy client.
20
+
21
+ Returns:
22
+ A configured Tweepy client if credentials are valid, None otherwise
23
+ """
24
+ pass
25
+
26
+ @property
27
+ @abstractmethod
28
+ def self_id(self) -> Optional[str]:
29
+ """Get the Twitter user ID.
30
+
31
+ Returns:
32
+ The Twitter user ID if available, None otherwise
33
+ """
34
+ pass
35
+
36
+ @property
37
+ @abstractmethod
38
+ def self_username(self) -> Optional[str]:
39
+ """Get the Twitter username.
40
+
41
+ Returns:
42
+ The Twitter username (without @ symbol) if available, None otherwise
43
+ """
44
+ pass
45
+
46
+ @property
47
+ @abstractmethod
48
+ def self_name(self) -> Optional[str]:
49
+ """Get the Twitter display name.
50
+
51
+ Returns:
52
+ The Twitter display name if available, None otherwise
53
+ """
54
+ pass
@@ -0,0 +1,14 @@
1
+ from intentkit.clients.cdp import CdpClient, get_cdp_client
2
+ from intentkit.clients.twitter import (
3
+ TwitterClient,
4
+ TwitterClientConfig,
5
+ get_twitter_client,
6
+ )
7
+
8
+ __all__ = [
9
+ "TwitterClient",
10
+ "TwitterClientConfig",
11
+ "get_twitter_client",
12
+ "CdpClient",
13
+ "get_cdp_client",
14
+ ]
@@ -0,0 +1,53 @@
1
+ from typing import Dict, Optional
2
+
3
+ from cdp import Wallet
4
+ from coinbase_agentkit import (
5
+ CdpWalletProvider,
6
+ CdpWalletProviderConfig,
7
+ )
8
+
9
+ from intentkit.abstracts.skill import SkillStoreABC
10
+ from intentkit.models.agent import Agent
11
+ from intentkit.models.agent_data import AgentData
12
+
13
+ _clients: Dict[str, "CdpClient"] = {}
14
+
15
+
16
+ class CdpClient:
17
+ def __init__(self, agent_id: str, skill_store: SkillStoreABC) -> None:
18
+ self._agent_id = agent_id
19
+ self._skill_store = skill_store
20
+ self._wallet_provider: Optional[CdpWalletProvider] = None
21
+ self._wallet_provider_config: Optional[CdpWalletProviderConfig] = None
22
+
23
+ async def get_wallet_provider(self) -> CdpWalletProvider:
24
+ if self._wallet_provider:
25
+ return self._wallet_provider
26
+ agent: Agent = await self._skill_store.get_agent_config(self._agent_id)
27
+ agent_data: AgentData = await self._skill_store.get_agent_data(self._agent_id)
28
+ network_id = agent.network_id or agent.cdp_network_id
29
+ self._wallet_provider_config = CdpWalletProviderConfig(
30
+ api_key_name=self._skill_store.get_system_config("cdp_api_key_name"),
31
+ api_key_private_key=self._skill_store.get_system_config(
32
+ "cdp_api_key_private_key"
33
+ ),
34
+ network_id=network_id,
35
+ wallet_data=agent_data.cdp_wallet_data,
36
+ )
37
+ self._wallet_provider = CdpWalletProvider(self._wallet_provider_config)
38
+ return self._wallet_provider
39
+
40
+ async def get_wallet(self) -> Wallet:
41
+ wallet_provider = await self.get_wallet_provider()
42
+ return wallet_provider._wallet
43
+
44
+ async def get_provider_config(self) -> CdpWalletProviderConfig:
45
+ if not self._wallet_provider_config:
46
+ await self.get_wallet_provider()
47
+ return self._wallet_provider_config
48
+
49
+
50
+ async def get_cdp_client(agent_id: str, skill_store: SkillStoreABC) -> "CdpClient":
51
+ if agent_id not in _clients:
52
+ _clients[agent_id] = CdpClient(agent_id, skill_store)
53
+ return _clients[agent_id]