intentkit 0.8.12rc0__tar.gz → 0.8.13__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 (468) hide show
  1. {intentkit-0.8.12rc0 → intentkit-0.8.13}/PKG-INFO +1 -1
  2. {intentkit-0.8.12rc0 → intentkit-0.8.13}/__init__.py +1 -1
  3. intentkit-0.8.13/abstracts/skill.py +60 -0
  4. {intentkit-0.8.12rc0 → intentkit-0.8.13}/clients/__init__.py +3 -2
  5. {intentkit-0.8.12rc0 → intentkit-0.8.13}/clients/cdp.py +63 -44
  6. {intentkit-0.8.12rc0 → intentkit-0.8.13}/clients/twitter.py +35 -28
  7. {intentkit-0.8.12rc0 → intentkit-0.8.13}/config/config.py +1 -0
  8. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/agent.py +2 -279
  9. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/asset.py +63 -16
  10. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/engine.py +9 -5
  11. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/scheduler.py +8 -8
  12. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/agent.py +138 -94
  13. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/agent_schema.json +6 -9
  14. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/chat.py +1 -0
  15. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/llm.csv +15 -12
  16. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/skills.csv +5 -4
  17. {intentkit-0.8.12rc0 → intentkit-0.8.13}/pyproject.toml +1 -1
  18. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/acolyt/__init__.py +2 -9
  19. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/acolyt/base.py +2 -5
  20. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/__init__.py +2 -13
  21. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/base.py +0 -4
  22. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/projects.py +1 -2
  23. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/allora/__init__.py +2 -9
  24. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/allora/base.py +2 -5
  25. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/base.py +101 -37
  26. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/basename/__init__.py +1 -3
  27. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/__init__.py +116 -121
  28. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/base.py +184 -185
  29. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/__init__.py +4 -15
  30. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/base.py +0 -4
  31. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/deck_draw.py +1 -2
  32. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/deck_shuffle.py +1 -2
  33. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/dice_roll.py +1 -2
  34. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cdp/__init__.py +0 -5
  35. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cdp/base.py +0 -4
  36. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cdp/schema.json +1 -17
  37. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/__init__.py +2 -7
  38. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/base.py +0 -4
  39. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/common/__init__.py +2 -9
  40. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/common/base.py +0 -4
  41. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/__init__.py +6 -9
  42. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/base.py +0 -4
  43. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/__init__.py +7 -24
  44. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/base.py +0 -5
  45. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/__init__.py +3 -6
  46. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/base.py +53 -55
  47. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/fetch_crypto_news.py +0 -2
  48. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/fetch_crypto_sentiment.py +1 -3
  49. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/__init__.py +2 -9
  50. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/base.py +2 -5
  51. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/__init__.py +24 -74
  52. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/base.py +0 -4
  53. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_batch_historical_prices.py +2 -2
  54. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_block.py +2 -2
  55. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_current_prices.py +2 -2
  56. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_first_price.py +2 -2
  57. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_historical_prices.py +2 -2
  58. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_price_chart.py +2 -2
  59. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/fetch_price_percentage.py +2 -2
  60. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/fees/fetch_fees_overview.py +2 -2
  61. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/stablecoins/fetch_stablecoin_chains.py +2 -2
  62. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/stablecoins/fetch_stablecoin_charts.py +2 -2
  63. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/stablecoins/fetch_stablecoin_prices.py +2 -2
  64. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/stablecoins/fetch_stablecoins.py +2 -2
  65. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_chain_historical_tvl.py +2 -2
  66. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_chains.py +2 -2
  67. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_historical_tvl.py +2 -2
  68. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_protocol.py +2 -2
  69. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_protocol_current_tvl.py +2 -2
  70. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/fetch_protocols.py +2 -2
  71. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/volumes/fetch_dex_overview.py +2 -2
  72. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/volumes/fetch_dex_summary.py +2 -2
  73. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/volumes/fetch_options_overview.py +2 -2
  74. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/yields/fetch_pool_chart.py +2 -2
  75. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/yields/fetch_pools.py +2 -2
  76. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/__init__.py +97 -102
  77. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/base.py +125 -130
  78. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/get_pair_info.py +2 -3
  79. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/get_token_pairs.py +2 -3
  80. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/get_tokens_info.py +2 -3
  81. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/search_token.py +2 -4
  82. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/__init__.py +4 -6
  83. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/base.py +50 -52
  84. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/fetch_kol_buys.py +0 -2
  85. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/fetch_nation_metrics.py +0 -2
  86. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/__init__.py +5 -18
  87. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/base.py +8 -10
  88. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/__init__.py +9 -29
  89. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/base.py +3 -6
  90. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/route.py +1 -3
  91. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc20/__init__.py +1 -5
  92. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc721/__init__.py +1 -3
  93. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/__init__.py +5 -18
  94. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/base.py +2 -5
  95. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/crawl.py +10 -9
  96. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/query.py +3 -1
  97. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/scrape.py +8 -10
  98. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/utils.py +25 -26
  99. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/__init__.py +2 -7
  100. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/base.py +0 -4
  101. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/__init__.py +8 -27
  102. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/base.py +2 -5
  103. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_animagine_xl.py +5 -5
  104. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_arthemy_comics.py +5 -5
  105. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_arthemy_real.py +5 -5
  106. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_braindance.py +5 -5
  107. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_cyber_realistic_xl.py +5 -5
  108. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_flux_1_dev.py +5 -5
  109. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/image_generation_sdxl.py +5 -5
  110. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/__init__.py +4 -15
  111. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/base.py +0 -4
  112. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/__init__.py +1 -6
  113. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/base.py +0 -4
  114. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/token_execute.py +1 -4
  115. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/token_quote.py +1 -3
  116. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/__init__.py +3 -7
  117. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/base.py +2 -5
  118. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/morpho/__init__.py +1 -3
  119. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/nation/__init__.py +2 -7
  120. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/nation/base.py +4 -7
  121. intentkit-0.8.13/skills/onchain.py +27 -0
  122. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/__init__.py +5 -18
  123. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/base.py +8 -10
  124. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/dalle_image_generation.py +2 -5
  125. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/gpt_image_generation.py +2 -5
  126. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/gpt_image_to_image.py +2 -5
  127. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/image_to_text.py +2 -5
  128. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/__init__.py +11 -35
  129. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/base.py +2 -5
  130. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/pyth/__init__.py +1 -5
  131. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/skills.toml +4 -0
  132. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/__init__.py +5 -17
  133. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/base.py +0 -4
  134. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/__init__.py +7 -23
  135. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/base.py +0 -4
  136. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/superfluid/__init__.py +1 -3
  137. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/__init__.py +7 -24
  138. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/add_autonomous_task.py +2 -2
  139. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/delete_autonomous_task.py +2 -2
  140. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/edit_autonomous_task.py +2 -4
  141. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/list_autonomous_tasks.py +2 -2
  142. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/read_agent_api_key.py +6 -4
  143. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/regenerate_agent_api_key.py +6 -4
  144. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/__init__.py +3 -12
  145. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/base.py +2 -5
  146. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/tavily_extract.py +1 -2
  147. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/tavily_search.py +3 -3
  148. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/__init__.py +5 -10
  149. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/base.py +2 -6
  150. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/__init__.py +11 -35
  151. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/base.py +14 -16
  152. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/follow_user.py +0 -1
  153. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/get_mentions.py +0 -1
  154. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/get_timeline.py +0 -1
  155. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/get_user_by_username.py +0 -1
  156. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/get_user_tweets.py +0 -1
  157. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/like_tweet.py +0 -1
  158. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/post_tweet.py +2 -2
  159. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/reply_tweet.py +2 -2
  160. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/retweet.py +0 -1
  161. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/search_tweets.py +0 -1
  162. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/unrealspeech/__init__.py +2 -7
  163. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/unrealspeech/base.py +0 -4
  164. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/__init__.py +99 -106
  165. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/base.py +118 -121
  166. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/venice_audio.py +1 -5
  167. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/__init__.py +147 -154
  168. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/base.py +185 -192
  169. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/__init__.py +5 -18
  170. intentkit-0.8.13/skills/web_scraper/base.py +37 -0
  171. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/document_indexer.py +6 -4
  172. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/scrape_and_index.py +11 -8
  173. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/utils.py +31 -27
  174. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/website_indexer.py +7 -8
  175. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/weth/__init__.py +1 -5
  176. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/wow/__init__.py +1 -5
  177. intentkit-0.8.13/skills/x402/__init__.py +53 -0
  178. intentkit-0.8.13/skills/x402/ask_agent.py +141 -0
  179. intentkit-0.8.13/skills/x402/base.py +9 -0
  180. intentkit-0.8.13/skills/x402/schema.json +40 -0
  181. intentkit-0.8.13/skills/x402/x402.png +0 -0
  182. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/__init__.py +4 -15
  183. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/base.py +2 -2
  184. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/price.py +3 -3
  185. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/swap.py +4 -4
  186. intentkit-0.8.13/utils/schema.py +100 -0
  187. intentkit-0.8.12rc0/abstracts/skill.py +0 -117
  188. intentkit-0.8.12rc0/skills/web_scraper/base.py +0 -21
  189. {intentkit-0.8.12rc0 → intentkit-0.8.13}/.gitignore +0 -0
  190. {intentkit-0.8.12rc0 → intentkit-0.8.13}/LICENSE +0 -0
  191. {intentkit-0.8.12rc0 → intentkit-0.8.13}/MANIFEST.in +0 -0
  192. {intentkit-0.8.12rc0 → intentkit-0.8.13}/README.md +0 -0
  193. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/__init__.py +0 -0
  194. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/agent.py +0 -0
  195. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/api.py +0 -0
  196. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/engine.py +0 -0
  197. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/graph.py +0 -0
  198. {intentkit-0.8.12rc0 → intentkit-0.8.13}/abstracts/twitter.py +0 -0
  199. {intentkit-0.8.12rc0 → intentkit-0.8.13}/clients/web3.py +0 -0
  200. {intentkit-0.8.12rc0 → intentkit-0.8.13}/config/__init__.py +0 -0
  201. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/__init__.py +0 -0
  202. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/api.py +0 -0
  203. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/chat.py +0 -0
  204. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/client.py +0 -0
  205. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/credit.py +0 -0
  206. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/node.py +0 -0
  207. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/prompt.py +0 -0
  208. {intentkit-0.8.12rc0 → intentkit-0.8.13}/core/statistics.py +0 -0
  209. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/agent_data.py +0 -0
  210. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/agent_public.json +0 -0
  211. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/app_setting.py +0 -0
  212. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/base.py +0 -0
  213. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/conversation.py +0 -0
  214. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/credit.py +0 -0
  215. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/db.py +0 -0
  216. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/db_mig.py +0 -0
  217. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/generator.py +0 -0
  218. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/llm.py +0 -0
  219. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/redis.py +0 -0
  220. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/skill.py +0 -0
  221. {intentkit-0.8.12rc0 → intentkit-0.8.13}/models/user.py +0 -0
  222. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/__init__.py +0 -0
  223. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/acolyt/acolyt.jpg +0 -0
  224. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/acolyt/ask.py +0 -0
  225. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/acolyt/schema.json +0 -0
  226. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/README.md +0 -0
  227. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/aixbt.jpg +0 -0
  228. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/aixbt/schema.json +0 -0
  229. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/allora/allora.jpeg +0 -0
  230. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/allora/price.py +0 -0
  231. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/allora/schema.json +0 -0
  232. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/basename/base.py +0 -0
  233. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/basename/basename.svg +0 -0
  234. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/basename/schema.json +0 -0
  235. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/README.md +0 -0
  236. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/carv.webp +0 -0
  237. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/fetch_news.py +0 -0
  238. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/onchain_query.py +0 -0
  239. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/schema.json +0 -0
  240. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/carv/token_info_and_price.py +0 -0
  241. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/README.md +0 -0
  242. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/casino.png +0 -0
  243. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/schema.json +0 -0
  244. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/casino/utils.py +0 -0
  245. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cdp/cdp.png +0 -0
  246. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/README.md +0 -0
  247. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/chain_lookup.py +0 -0
  248. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/chainlist.png +0 -0
  249. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/chainlist/schema.json +0 -0
  250. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/common/common.jpg +0 -0
  251. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/common/current_time.py +0 -0
  252. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/common/schema.json +0 -0
  253. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/README.md +0 -0
  254. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/constants.py +0 -0
  255. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/cookiefun.png +0 -0
  256. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/get_account_details.py +0 -0
  257. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/get_account_feed.py +0 -0
  258. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/get_account_smart_followers.py +0 -0
  259. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/get_sectors.py +0 -0
  260. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/schema.json +0 -0
  261. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cookiefun/search_accounts.py +0 -0
  262. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/api.py +0 -0
  263. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/cryptocompare.png +0 -0
  264. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_news.py +0 -0
  265. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_price.py +0 -0
  266. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_top_exchanges.py +0 -0
  267. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_top_market_cap.py +0 -0
  268. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_top_volume.py +0 -0
  269. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/fetch_trading_signals.py +0 -0
  270. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptocompare/schema.json +0 -0
  271. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/cryptopanic.png +0 -0
  272. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/cryptopanic/schema.json +0 -0
  273. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/README.md +0 -0
  274. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/dapplooker.jpg +0 -0
  275. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/dapplooker_token_data.py +0 -0
  276. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dapplooker/schema.json +0 -0
  277. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/api.py +0 -0
  278. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/coins/__init__.py +0 -0
  279. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/config/__init__.py +0 -0
  280. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/config/chains.py +0 -0
  281. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/defillama.jpeg +0 -0
  282. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/fees/__init__.py +0 -0
  283. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/schema.json +0 -0
  284. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/stablecoins/__init__.py +0 -0
  285. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tests/__init__.py +0 -0
  286. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tests/api_integration.test.py +0 -0
  287. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tests/api_unit.test.py +0 -0
  288. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/tvl/__init__.py +0 -0
  289. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/volumes/__init__.py +0 -0
  290. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/defillama/yields/__init__.py +0 -0
  291. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/README.md +0 -0
  292. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/dexscreener.png +0 -0
  293. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/model/__init__.py +0 -0
  294. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/model/search_token_response.py +0 -0
  295. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/schema.json +0 -0
  296. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dexscreener/utils.py +0 -0
  297. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/dune.png +0 -0
  298. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/dune_analytics/schema.json +0 -0
  299. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/README.md +0 -0
  300. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/elfa.jpg +0 -0
  301. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/mention.py +0 -0
  302. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/schema.json +0 -0
  303. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/stats.py +0 -0
  304. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/tokens.py +0 -0
  305. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/elfa/utils.py +0 -0
  306. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/README.md +0 -0
  307. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/abi/__init__.py +0 -0
  308. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/abi/approval.py +0 -0
  309. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/abi/erc20.py +0 -0
  310. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/abi/route.py +0 -0
  311. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/best_yield.py +0 -0
  312. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/enso.jpg +0 -0
  313. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/networks.py +0 -0
  314. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/prices.py +0 -0
  315. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/schema.json +0 -0
  316. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/tokens.py +0 -0
  317. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/enso/wallet.py +0 -0
  318. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc20/base.py +0 -0
  319. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc20/erc20.svg +0 -0
  320. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc20/schema.json +0 -0
  321. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc721/base.py +0 -0
  322. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc721/erc721.svg +0 -0
  323. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/erc721/schema.json +0 -0
  324. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/README.md +0 -0
  325. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/clear.py +0 -0
  326. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/firecrawl.png +0 -0
  327. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/firecrawl/schema.json +0 -0
  328. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/README.md +0 -0
  329. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/github.jpg +0 -0
  330. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/github_search.py +0 -0
  331. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/github/schema.json +0 -0
  332. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/heurist.png +0 -0
  333. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/heurist/schema.json +0 -0
  334. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/README.md +0 -0
  335. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/get.py +0 -0
  336. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/http.svg +0 -0
  337. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/post.py +0 -0
  338. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/put.py +0 -0
  339. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/http/schema.json +0 -0
  340. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/README.md +0 -0
  341. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/lifi.png +0 -0
  342. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/schema.json +0 -0
  343. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/lifi/utils.py +0 -0
  344. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/README.md +0 -0
  345. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/api.py +0 -0
  346. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/fetch_chain_portfolio.py +0 -0
  347. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/fetch_nft_portfolio.py +0 -0
  348. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/fetch_solana_portfolio.py +0 -0
  349. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/fetch_wallet_portfolio.py +0 -0
  350. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/moralis.png +0 -0
  351. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/moralis/schema.json +0 -0
  352. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/morpho/base.py +0 -0
  353. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/morpho/morpho.svg +0 -0
  354. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/morpho/schema.json +0 -0
  355. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/nation/nation.png +0 -0
  356. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/nation/nft_check.py +0 -0
  357. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/nation/schema.json +0 -0
  358. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/openai.png +0 -0
  359. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/openai/schema.json +0 -0
  360. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/README.md +0 -0
  361. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/constants.py +0 -0
  362. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/moralis.png +0 -0
  363. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/schema.json +0 -0
  364. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/token_balances.py +0 -0
  365. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_approvals.py +0 -0
  366. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_defi_positions.py +0 -0
  367. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_history.py +0 -0
  368. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_net_worth.py +0 -0
  369. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_nfts.py +0 -0
  370. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_profitability.py +0 -0
  371. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_profitability_summary.py +0 -0
  372. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_stats.py +0 -0
  373. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/portfolio/wallet_swaps.py +0 -0
  374. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/pyth/base.py +0 -0
  375. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/pyth/pyth.svg +0 -0
  376. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/pyth/schema.json +0 -0
  377. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/get_channel.py +0 -0
  378. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/get_message.py +0 -0
  379. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/schedule_message.py +0 -0
  380. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/schema.json +0 -0
  381. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/send_message.py +0 -0
  382. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/slack/slack.jpg +0 -0
  383. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/delete_data.py +0 -0
  384. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/fetch_data.py +0 -0
  385. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/insert_data.py +0 -0
  386. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/invoke_function.py +0 -0
  387. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/schema.json +0 -0
  388. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/supabase.svg +0 -0
  389. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/update_data.py +0 -0
  390. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/supabase/upsert_data.py +0 -0
  391. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/superfluid/base.py +0 -0
  392. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/superfluid/schema.json +0 -0
  393. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/superfluid/superfluid.svg +0 -0
  394. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/base.py +0 -0
  395. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/schema.json +0 -0
  396. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/system/system.svg +0 -0
  397. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/README.md +0 -0
  398. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/schema.json +0 -0
  399. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/tavily/tavily.jpg +0 -0
  400. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/README.md +0 -0
  401. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/constants.py +0 -0
  402. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/erc20_transfers.py +0 -0
  403. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/moralis.png +0 -0
  404. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/schema.json +0 -0
  405. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/token_analytics.py +0 -0
  406. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/token_price.py +0 -0
  407. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/token/token_search.py +0 -0
  408. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/schema.json +0 -0
  409. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/twitter/twitter.png +0 -0
  410. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/unrealspeech/schema.json +0 -0
  411. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/unrealspeech/text_to_speech.py +0 -0
  412. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/unrealspeech/unrealspeech.jpg +0 -0
  413. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/input.py +0 -0
  414. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/schema.json +0 -0
  415. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_audio/venice_logo.jpg +0 -0
  416. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/README.md +0 -0
  417. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/api.py +0 -0
  418. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/config.py +0 -0
  419. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_enhance/README.md +0 -0
  420. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_enhance/__init__.py +0 -0
  421. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_enhance/image_enhance.py +0 -0
  422. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_enhance/image_enhance_base.py +0 -0
  423. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_enhance/image_enhance_input.py +0 -0
  424. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/README.md +0 -0
  425. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/__init__.py +0 -0
  426. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_base.py +0 -0
  427. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_fluently_xl.py +0 -0
  428. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_flux_dev.py +0 -0
  429. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_flux_dev_uncensored.py +0 -0
  430. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_input.py +0 -0
  431. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_lustify_sdxl.py +0 -0
  432. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_pony_realism.py +0 -0
  433. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_stable_diffusion_3_5.py +0 -0
  434. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_generation/image_generation_venice_sd35.py +0 -0
  435. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_upscale/README.md +0 -0
  436. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_upscale/__init__.py +0 -0
  437. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_upscale/image_upscale.py +0 -0
  438. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_upscale/image_upscale_base.py +0 -0
  439. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_upscale/image_upscale_input.py +0 -0
  440. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_vision/README.md +0 -0
  441. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_vision/__init__.py +0 -0
  442. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_vision/image_vision.py +0 -0
  443. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_vision/image_vision_base.py +0 -0
  444. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/image_vision/image_vision_input.py +0 -0
  445. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/schema.json +0 -0
  446. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/utils.py +0 -0
  447. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/venice_image/venice_image.jpg +0 -0
  448. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/README.md +0 -0
  449. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/langchain.png +0 -0
  450. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/web_scraper/schema.json +0 -0
  451. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/weth/base.py +0 -0
  452. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/weth/schema.json +0 -0
  453. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/weth/weth.svg +0 -0
  454. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/wow/base.py +0 -0
  455. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/wow/schema.json +0 -0
  456. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/wow/wow.svg +0 -0
  457. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/README.md +0 -0
  458. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/schema.json +0 -0
  459. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/transfer.py +0 -0
  460. {intentkit-0.8.12rc0 → intentkit-0.8.13}/skills/xmtp/xmtp.png +0 -0
  461. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/__init__.py +0 -0
  462. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/chain.py +0 -0
  463. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/error.py +0 -0
  464. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/logging.py +0 -0
  465. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/random.py +0 -0
  466. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/s3.py +0 -0
  467. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/slack_alert.py +0 -0
  468. {intentkit-0.8.12rc0 → intentkit-0.8.13}/utils/tx.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: intentkit
3
- Version: 0.8.12rc0
3
+ Version: 0.8.13
4
4
  Summary: Intent-based AI Agent Platform - Core Package
5
5
  Project-URL: Homepage, https://github.com/crestalnetwork/intentkit
6
6
  Project-URL: Repository, https://github.com/crestalnetwork/intentkit
@@ -3,7 +3,7 @@
3
3
  A powerful platform for building AI agents with blockchain and cryptocurrency capabilities.
4
4
  """
5
5
 
6
- __version__ = "0.8.12-rc.0"
6
+ __version__ = "0.8.13"
7
7
  __author__ = "hyacinthus"
8
8
  __email__ = "hyacinthus@gmail.com"
9
9
 
@@ -0,0 +1,60 @@
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
@@ -1,4 +1,4 @@
1
- from intentkit.clients.cdp import get_origin_cdp_client, get_wallet_provider
1
+ from intentkit.clients.cdp import get_cdp_client, get_evm_account, get_wallet_provider
2
2
  from intentkit.clients.twitter import (
3
3
  TwitterClient,
4
4
  TwitterClientConfig,
@@ -10,7 +10,8 @@ __all__ = [
10
10
  "TwitterClient",
11
11
  "TwitterClientConfig",
12
12
  "get_twitter_client",
13
- "get_origin_cdp_client",
13
+ "get_evm_account",
14
+ "get_cdp_client",
14
15
  "get_wallet_provider",
15
16
  "get_web3_client",
16
17
  ]
@@ -4,7 +4,7 @@ import logging
4
4
  from typing import Dict, Optional, Tuple
5
5
 
6
6
  from bip32 import BIP32
7
- from cdp import CdpClient as OriginCdpClient # noqa: E402
7
+ from cdp import CdpClient, EvmServerAccount # noqa: E402
8
8
  from coinbase_agentkit import ( # noqa: E402
9
9
  CdpEvmWalletProvider,
10
10
  CdpEvmWalletProviderConfig,
@@ -19,7 +19,7 @@ from intentkit.models.db import get_session
19
19
  from intentkit.utils.error import IntentKitAPIError # noqa: E402
20
20
 
21
21
  _wallet_providers: Dict[str, Tuple[str, str, CdpEvmWalletProvider]] = {}
22
- _origin_cdp_client: Optional[OriginCdpClient] = None
22
+ _cdp_client: Optional[CdpClient] = None
23
23
 
24
24
  logger = logging.getLogger(__name__)
25
25
 
@@ -59,25 +59,25 @@ def bip39_seed_to_eth_keys(seed_hex: str) -> Dict[str, str]:
59
59
  }
60
60
 
61
61
 
62
- def get_origin_cdp_client() -> OriginCdpClient:
63
- global _origin_cdp_client
64
- if _origin_cdp_client:
65
- return _origin_cdp_client
62
+ def get_cdp_client() -> CdpClient:
63
+ global _cdp_client
64
+ if _cdp_client:
65
+ return _cdp_client
66
66
 
67
67
  # Get credentials from global configuration
68
68
  api_key_id = config.cdp_api_key_id
69
69
  api_key_secret = config.cdp_api_key_secret
70
70
  wallet_secret = config.cdp_wallet_secret
71
71
 
72
- _origin_cdp_client = OriginCdpClient(
72
+ _cdp_client = CdpClient(
73
73
  api_key_id=api_key_id,
74
74
  api_key_secret=api_key_secret,
75
75
  wallet_secret=wallet_secret,
76
76
  )
77
- return _origin_cdp_client
77
+ return _cdp_client
78
78
 
79
79
 
80
- async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
80
+ def _assert_cdp_wallet_provider(agent: Agent) -> None:
81
81
  if agent.wallet_provider != "cdp":
82
82
  raise IntentKitAPIError(
83
83
  400,
@@ -85,74 +85,93 @@ async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
85
85
  "Your agent wallet provider is not cdp but you selected a skill that requires a cdp wallet.",
86
86
  )
87
87
 
88
- if not agent.network_id:
89
- raise IntentKitAPIError(
90
- 400,
91
- "BadNetworkID",
92
- "Your agent network ID is not set. Please set it in the agent config.",
93
- )
94
88
 
95
- agent_data = await AgentData.get(agent.id)
89
+ async def _ensure_evm_account(
90
+ agent: Agent, agent_data: AgentData | None = None
91
+ ) -> Tuple[EvmServerAccount, AgentData]:
92
+ cdp_client = get_cdp_client()
93
+ agent_data = agent_data or await AgentData.get(agent.id)
96
94
  address = agent_data.evm_wallet_address
95
+ account: Optional[EvmServerAccount] = None
97
96
 
98
- cache_entry = _wallet_providers.get(agent.id)
99
- if cache_entry:
100
- cached_network_id, cached_address, provider = cache_entry
101
- if cached_network_id == agent.network_id:
102
- if not address:
103
- address = cached_address or provider.get_address()
104
- if cached_address == address:
105
- return provider
106
-
107
- # Get credentials from global config
108
- api_key_id = config.cdp_api_key_id
109
- api_key_secret = config.cdp_api_key_secret
110
- wallet_secret = config.cdp_wallet_secret
111
-
112
- network_id = agent.network_id
113
-
114
- # new agent or address not migrated yet
115
97
  if not address:
116
- cdp_client = get_origin_cdp_client()
117
- # try migrating from v1 cdp_wallet_data
118
98
  if agent_data.cdp_wallet_data:
119
99
  wallet_data = json.loads(agent_data.cdp_wallet_data)
120
100
  if not isinstance(wallet_data, dict):
121
101
  raise ValueError("Invalid wallet data format")
122
102
  if wallet_data.get("default_address_id") and wallet_data.get("seed"):
123
- # verify seed and convert to pk
124
103
  keys = bip39_seed_to_eth_keys(wallet_data["seed"])
125
104
  if keys["address"] != wallet_data["default_address_id"]:
126
105
  raise ValueError(
127
106
  "Bad wallet data, seed does not match default_address_id"
128
107
  )
129
- # try to import wallet to v2
130
108
  logger.info("Migrating wallet data to v2...")
131
- await cdp_client.evm.import_account(
109
+ account = await cdp_client.evm.import_account(
132
110
  name=agent.id,
133
111
  private_key=keys["private_key"],
134
112
  )
135
- address = keys["address"]
113
+ address = account.address
136
114
  logger.info("Migrated wallet data to v2 successfully: %s", address)
137
- # still not address
138
115
  if not address:
139
116
  logger.info("Creating new wallet...")
140
- new_account = await cdp_client.evm.create_account(
117
+ account = await cdp_client.evm.create_account(
141
118
  name=agent.id,
142
119
  )
143
- address = new_account.address
120
+ address = account.address
144
121
  logger.info("Created new wallet: %s", address)
145
122
 
146
123
  agent_data.evm_wallet_address = address
147
124
  await agent_data.save()
148
- # Update agent slug with evm_wallet_address if slug is null or empty
149
125
  if not agent.slug:
150
126
  async with get_session() as db:
151
127
  db_agent = await db.get(AgentTable, agent.id)
152
- if db_agent:
128
+ if db_agent and not db_agent.slug:
153
129
  db_agent.slug = agent_data.evm_wallet_address
154
130
  await db.commit()
155
131
 
132
+ if account is None:
133
+ account = await cdp_client.evm.get_account(address=address)
134
+
135
+ return account, agent_data
136
+
137
+
138
+ async def get_evm_account(agent: Agent) -> EvmServerAccount:
139
+ _assert_cdp_wallet_provider(agent)
140
+ account, _ = await _ensure_evm_account(agent)
141
+ return account
142
+
143
+
144
+ async def get_wallet_provider(agent: Agent) -> CdpEvmWalletProvider:
145
+ _assert_cdp_wallet_provider(agent)
146
+ if not agent.network_id:
147
+ raise IntentKitAPIError(
148
+ 400,
149
+ "BadNetworkID",
150
+ "Your agent network ID is not set. Please set it in the agent config.",
151
+ )
152
+
153
+ agent_data = await AgentData.get(agent.id)
154
+ address = agent_data.evm_wallet_address
155
+
156
+ cache_entry = _wallet_providers.get(agent.id)
157
+ if cache_entry:
158
+ cached_network_id, cached_address, provider = cache_entry
159
+ if cached_network_id == agent.network_id:
160
+ if not address:
161
+ address = cached_address or provider.get_address()
162
+ if cached_address == address:
163
+ return provider
164
+
165
+ account, agent_data = await _ensure_evm_account(agent, agent_data)
166
+ address = account.address
167
+
168
+ # Get credentials from global config
169
+ api_key_id = config.cdp_api_key_id
170
+ api_key_secret = config.cdp_api_key_secret
171
+ wallet_secret = config.cdp_wallet_secret
172
+
173
+ network_id = agent.network_id
174
+
156
175
  wallet_provider_config = CdpEvmWalletProviderConfig(
157
176
  api_key_id=api_key_id,
158
177
  api_key_secret=api_key_secret,
@@ -11,7 +11,6 @@ from requests.auth import HTTPBasicAuth
11
11
  from requests_oauthlib import OAuth2Session
12
12
  from tweepy.asynchronous import AsyncClient
13
13
 
14
- from intentkit.abstracts.skill import SkillStoreABC
15
14
  from intentkit.abstracts.twitter import TwitterABC
16
15
  from intentkit.models.agent_data import AgentData
17
16
  from intentkit.models.redis import get_redis
@@ -80,33 +79,44 @@ class TwitterClient(TwitterABC):
80
79
 
81
80
  Args:
82
81
  agent_id: The ID of the agent
83
- skill_store: The skill store for retrieving data
84
82
  config: Configuration dictionary that may contain API keys
85
83
  """
86
84
 
87
- def __init__(self, agent_id: str, skill_store: SkillStoreABC, config: Dict) -> None:
85
+ def __init__(self, agent_id: str, config: Dict) -> None:
88
86
  """Initialize the Twitter client.
89
87
 
90
88
  Args:
91
89
  agent_id: The ID of the agent
92
- skill_store: The skill store for retrieving data
93
90
  config: Configuration dictionary that may contain API keys
94
91
  """
95
92
  self.agent_id = agent_id
96
93
  self._client: Optional[AsyncClient] = None
97
- self._skill_store = skill_store
98
94
  self._agent_data: Optional[AgentData] = None
99
95
  self.use_key = _is_self_key(config)
100
96
  self._config = config
101
97
 
98
+ async def _get_agent_data(self) -> AgentData:
99
+ """Retrieve cached agent data, loading from the database if needed."""
100
+
101
+ if not self._agent_data:
102
+ self._agent_data = await AgentData.get(self.agent_id)
103
+ return self._agent_data
104
+
105
+ async def _refresh_agent_data(self) -> AgentData:
106
+ """Reload agent data from the database."""
107
+
108
+ self._agent_data = await AgentData.get(self.agent_id)
109
+ return self._agent_data
110
+
102
111
  async def get_client(self) -> AsyncClient:
103
112
  """Get the initialized Twitter client.
104
113
 
105
114
  Returns:
106
115
  AsyncClient: The Twitter client if initialized
107
116
  """
108
- if not self._agent_data:
109
- self._agent_data = await self._skill_store.get_agent_data(self.agent_id)
117
+
118
+ agent_data = await self._get_agent_data()
119
+
110
120
  if not self._client:
111
121
  # Check if we have API keys in config
112
122
  if self.use_key:
@@ -118,8 +128,8 @@ class TwitterClient(TwitterABC):
118
128
  return_type=dict,
119
129
  )
120
130
  # refresh userinfo if needed
121
- if not self._agent_data.twitter_self_key_refreshed_at or (
122
- self._agent_data.twitter_self_key_refreshed_at
131
+ if not agent_data.twitter_self_key_refreshed_at or (
132
+ agent_data.twitter_self_key_refreshed_at
123
133
  < datetime.now(tz=timezone.utc) - timedelta(days=1)
124
134
  ):
125
135
  me = await self._client.get_me(
@@ -127,7 +137,7 @@ class TwitterClient(TwitterABC):
127
137
  user_fields="id,username,name,verified",
128
138
  )
129
139
  if me and "data" in me and "id" in me["data"]:
130
- await self._skill_store.set_agent_data(
140
+ await AgentData.patch(
131
141
  self.agent_id,
132
142
  {
133
143
  "twitter_id": me["data"]["id"],
@@ -139,9 +149,7 @@ class TwitterClient(TwitterABC):
139
149
  ),
140
150
  },
141
151
  )
142
- self._agent_data = await self._skill_store.get_agent_data(
143
- self.agent_id
144
- )
152
+ agent_data = await self._refresh_agent_data()
145
153
  logger.info(
146
154
  f"Twitter self key client initialized. "
147
155
  f"Use API key: {self.use_key}, "
@@ -152,39 +160,40 @@ class TwitterClient(TwitterABC):
152
160
  )
153
161
  return self._client
154
162
  # Otherwise try to get OAuth2 tokens from agent data
155
- if not self._agent_data.twitter_access_token:
163
+ if not agent_data.twitter_access_token:
156
164
  raise Exception(f"[{self.agent_id}] Twitter access token not found")
157
- if not self._agent_data.twitter_access_token_expires_at:
165
+ if not agent_data.twitter_access_token_expires_at:
158
166
  raise Exception(
159
167
  f"[{self.agent_id}] Twitter access token expiration not found"
160
168
  )
161
- if self._agent_data.twitter_access_token_expires_at <= datetime.now(
169
+ if agent_data.twitter_access_token_expires_at <= datetime.now(
162
170
  tz=timezone.utc
163
171
  ):
164
172
  raise Exception(f"[{self.agent_id}] Twitter access token has expired")
165
173
  self._client = AsyncClient(
166
- bearer_token=self._agent_data.twitter_access_token,
174
+ bearer_token=agent_data.twitter_access_token,
167
175
  return_type=dict,
168
176
  )
169
177
  return self._client
178
+
170
179
  if not self.use_key:
171
180
  # check if access token has expired
172
- if self._agent_data.twitter_access_token_expires_at <= datetime.now(
181
+ if agent_data.twitter_access_token_expires_at <= datetime.now(
173
182
  tz=timezone.utc
174
183
  ):
175
- self._agent_data = await self._skill_store.get_agent_data(self.agent_id)
176
- # check again
177
- if self._agent_data.twitter_access_token_expires_at <= datetime.now(
184
+ agent_data = await self._refresh_agent_data()
185
+ if agent_data.twitter_access_token_expires_at <= datetime.now(
178
186
  tz=timezone.utc
179
187
  ):
180
188
  raise Exception(
181
189
  f"[{self.agent_id}] Twitter access token has expired"
182
190
  )
183
191
  self._client = AsyncClient(
184
- bearer_token=self._agent_data.twitter_access_token,
192
+ bearer_token=agent_data.twitter_access_token,
185
193
  return_type=dict,
186
194
  )
187
195
  return self._client
196
+
188
197
  return self._client
189
198
 
190
199
  @property
@@ -352,7 +361,7 @@ class TwitterClient(TwitterABC):
352
361
  ValueError: If there's an error uploading the media.
353
362
  """
354
363
  # Get agent data to access the token
355
- agent_data = await self._skill_store.get_agent_data(agent_id)
364
+ agent_data = await AgentData.get(agent_id)
356
365
  if not agent_data.twitter_access_token:
357
366
  raise ValueError("Only linked X account can post media")
358
367
 
@@ -423,15 +432,13 @@ def _is_self_key(config: Dict) -> bool:
423
432
  return config.get("api_key_provider") == "agent_owner"
424
433
 
425
434
 
426
- def get_twitter_client(
427
- agent_id: str, skill_store: SkillStoreABC, config: Dict
428
- ) -> "TwitterClient":
435
+ def get_twitter_client(agent_id: str, config: Dict) -> "TwitterClient":
429
436
  if _is_self_key(config):
430
437
  if agent_id not in _clients_self_key:
431
- _clients_self_key[agent_id] = TwitterClient(agent_id, skill_store, config)
438
+ _clients_self_key[agent_id] = TwitterClient(agent_id, config)
432
439
  return _clients_self_key[agent_id]
433
440
  if agent_id not in _clients_linked:
434
- _clients_linked[agent_id] = TwitterClient(agent_id, skill_store, config)
441
+ _clients_linked[agent_id] = TwitterClient(agent_id, config)
435
442
  return _clients_linked[agent_id]
436
443
 
437
444
 
@@ -79,6 +79,7 @@ class Config:
79
79
  self.debug_password = self.load("DEBUG_PASSWORD")
80
80
  # Payment
81
81
  self.payment_enabled = self.load("PAYMENT_ENABLED", "false") == "true"
82
+ self.x402_fee_address = self.load("X402_FEE_ADDRESS")
82
83
  # Open API for agent
83
84
  self.open_api_base_url = self.load("OPEN_API_BASE_URL", "http://localhost:8000")
84
85
  # CDP - AgentKit 0.7.x Configuration